@coinbase/cds-mobile 9.0.0-rc.3 β†’ 9.0.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.
package/CHANGELOG.md CHANGED
@@ -8,23 +8,47 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
- ## 9.0.0-rc.3 ((5/15/2026, 01:54 PM PST))
11
+ ## 9.0.1 (5/22/2026 PST)
12
+
13
+ #### 🐞 Fixes
14
+
15
+ - Fix: update tray drag position live on iOS during swipe. [[#718](https://github.com/coinbase/cds/pull/718)]
16
+
17
+ ## 9.0.0 (5/20/2026 PST)
18
+
19
+ CDS 9 is here!!
20
+
21
+ For more details and to help upgrading from CDS 8 using our automated migration tool, see our official [upgrade guide](https://cds.coinbase.com/guides/v9-upgrade-guide)!
22
+
23
+ #### πŸ’₯ Breaking
24
+
25
+ - Peer dependency range updated: React 19 & React Native 0.81.5 (Expo SDK 54)
26
+ - Removed remaining instances of fixed height/width values across all components which may cause subtle layout shifts in your app.
27
+ - Some component props’ types have narrowed in response to React 19 upgrade.
28
+ - Read our upgrade guilde for more details!
12
29
 
13
30
  #### πŸš€ Updates
14
31
 
15
- - Feat: support illustration theming. [[#689](https://github.com/coinbase/cds/pull/689)]
32
+ - Migrated full set of components from mobile-visualization package to new `visualizations/chart` and `visualizations/sparkline` sub-paths.
33
+ - Read our upgrade guilde for more details!
16
34
 
17
- ## 9.0.0-rc.2 (4/30/2026 PST)
35
+ ## 8.75.2 ((5/19/2026, 01:13 PM PST))
18
36
 
19
- #### 🐞 Fixes
37
+ This is an artificial version bump with no new change.
20
38
 
21
- - Fix: bar chart animation regression. [[#655](https://github.com/coinbase/cds/pull/655)]
39
+ ## 8.75.1 ((5/19/2026, 07:30 AM PST))
22
40
 
23
- ## 9.0.0-rc.1 (4/28/2026 PST)
41
+ This is an artificial version bump with no new change.
24
42
 
25
- #### πŸ’₯ Breaking
43
+ ## 8.75.0 (5/15/2026 PST)
44
+
45
+ #### πŸš€ Updates
46
+
47
+ - Feat: support selectionColor on Inputs. [[#688](https://github.com/coinbase/cds/pull/688)]
48
+
49
+ #### 🐞 Fixes
26
50
 
27
- - Feat: CDS 9 release candidate 1.
51
+ - Fix: set proper height for TextInput for inside labelVariant. [[#688](https://github.com/coinbase/cds/pull/688)]
28
52
 
29
53
  ## 8.74.3 ((5/14/2026, 05:35 PM PST))
30
54
 
package/README.md CHANGED
@@ -6,9 +6,9 @@ Components for React Native.
6
6
 
7
7
  Add the relative path to the CDS icon font to your react-native.config.js. If your project lives in the monorepo this lives in the root `react-native.config.js` file. There is an example for CDS playground in there.
8
8
 
9
- In this monorepo, run the `test-expo` targets from the repo root:
9
+ In this monorepo, run the `expo-app` targets from the repo root:
10
10
 
11
- - `yarn nx run test-expo:launch:ios-debug` or `yarn nx run test-expo:launch:android-debug` for local debug launch
11
+ - `yarn nx run expo-app:launch:ios-debug` or `yarn nx run expo-app:launch:android-debug` for local debug launch
12
12
 
13
13
  ### Outside monorepo
14
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/buttons/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,EAA+C,KAAK,IAAI,EAAE,MAAM,cAAc,CAAC;AAEtF,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EAER,wBAAwB,EACxB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAMzE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;CAcjB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,WAAW,GACvC,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,GACpD,kBAAkB,GAAG;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,yBAAyB;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,iDAAiD;IACjD,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEJ,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AAE1C,eAAO,MAAM,MAAM;;;;;;;;;IAnDf;;;OAGG;cACO,aAAa;IACvB,mCAAmC;eACxB,OAAO;IAClB,wDAAwD;cAC9C,OAAO;IACjB;;OAEG;yBACkB,MAAM;IAC3B,2EAA2E;kBAC7D,OAAO;IACrB,0DAA0D;YAClD,OAAO;IACf,yDAAyD;cAC/C,OAAO;IACjB,4CAA4C;cAClC,KAAK,CAAC,SAAS;IACzB,yBAAyB;YACjB,KAAK,CAAC,SAAS;IACvB,iDAAiD;gBACrC,QAAQ;IACpB,uCAAuC;sBACrB,OAAO;IACzB,uBAAuB;UACjB,KAAK,CAAC,SAAS;IACrB,+CAA+C;cACrC,QAAQ;IAClB,qCAAqC;oBACrB,OAAO;IACvB;;;OAGG;YACK,OAAO,GAAG,KAAK;IACvB,kDAAkD;WAC3C,MAAM;IACb,oCAAoC;qBACnB,OAAO;IACxB;;;OAGG;oBACa,MAAM;8BA2KzB,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/buttons/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,EAA+C,KAAK,IAAI,EAAE,MAAM,cAAc,CAAC;AAEtF,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EAER,wBAAwB,EACxB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAMzE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;CAcjB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,WAAW,GACvC,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,GACpD,kBAAkB,GAAG;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,yBAAyB;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,iDAAiD;IACjD,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEJ,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AAE1C,eAAO,MAAM,MAAM;;;;;;;;;IAnDf;;;OAGG;cACO,aAAa;IACvB,mCAAmC;eACxB,OAAO;IAClB,wDAAwD;cAC9C,OAAO;IACjB;;OAEG;yBACkB,MAAM;IAC3B,2EAA2E;kBAC7D,OAAO;IACrB,0DAA0D;YAClD,OAAO;IACf,yDAAyD;cAC/C,OAAO;IACjB,4CAA4C;cAClC,KAAK,CAAC,SAAS;IACzB,yBAAyB;YACjB,KAAK,CAAC,SAAS;IACvB,iDAAiD;gBACrC,QAAQ;IACpB,uCAAuC;sBACrB,OAAO;IACzB,uBAAuB;UACjB,KAAK,CAAC,SAAS;IACrB,+CAA+C;cACrC,QAAQ;IAClB,qCAAqC;oBACrB,OAAO;IACvB;;;OAGG;YACK,OAAO,GAAG,KAAK;IACvB,kDAAkD;WAC3C,MAAM;IACb,oCAAoC;qBACnB,OAAO;IACxB;;;OAGG;oBACa,MAAM;8BA2KzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/buttons/IconButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzF,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EAER,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAC3C,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GACpC,IAAI,CACF,eAAe,EACf,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,oBAAoB,CACpF,GAAG;IACF,6CAA6C;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,wEAAwE;IACxE,MAAM,CAAC,EAAE;QACP,6BAA6B;QAC7B,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,oCAAoC;QACpC,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,sCAAsC;QACtC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KACvC,CAAC;CACH,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,eAAO,MAAM,UAAU;IA3BnB,6CAA6C;UACvC,QAAQ;IACd;;;OAGG;eACQ,QAAQ;IACnB,iCAAiC;aACxB,OAAO;IAChB;;;OAGG;cACO,iBAAiB;IAC3B,wEAAwE;aAC/D;QACP,6BAA6B;QAC7B,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,oCAAoC;QACpC,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,sCAAsC;QACtC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KACvC;wCAsFJ,CAAC"}
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/buttons/IconButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzF,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EAER,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAC3C,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GACpC,IAAI,CACF,eAAe,EACf,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,oBAAoB,CACpF,GAAG;IACF,6CAA6C;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,wEAAwE;IACxE,MAAM,CAAC,EAAE;QACP,6BAA6B;QAC7B,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,oCAAoC;QACpC,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,sCAAsC;QACtC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KACvC,CAAC;CACH,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,eAAO,MAAM,UAAU;IA3BnB,6CAA6C;UACvC,QAAQ;IACd;;;OAGG;eACQ,QAAQ;IACnB,iCAAiC;aACxB,OAAO;IAChB;;;OAGG;cACO,iBAAiB;IAC3B,wEAAwE;aAC/D;QACP,6BAA6B;QAC7B,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,oCAAoC;QACpC,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,sCAAsC;QACtC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KACvC;wCAuFJ,CAAC"}
@@ -30,13 +30,18 @@ export type NativeInputProps = {
30
30
  * @default body
31
31
  */
32
32
  font?: ThemeVars.Font;
33
+ /**
34
+ * Color of the selection (including caret).
35
+ * @default fgPrimary
36
+ */
37
+ selectionColor?: ThemeVars.Color;
33
38
  } & SharedProps &
34
39
  Pick<TextInputBaseProps, 'compact'> &
35
40
  Pick<
36
41
  SharedAccessibilityProps,
37
42
  'accessibilityLabel' | 'accessibilityLabelledBy' | 'accessibilityHint'
38
43
  > &
39
- Omit<TextInputProps, 'textAlign'>;
44
+ Omit<TextInputProps, 'textAlign' | 'selectionColor'>;
40
45
  export declare const NativeInput: React.NamedExoticComponent<
41
46
  {
42
47
  /**
@@ -62,13 +67,18 @@ export declare const NativeInput: React.NamedExoticComponent<
62
67
  * @default body
63
68
  */
64
69
  font?: ThemeVars.Font;
70
+ /**
71
+ * Color of the selection (including caret).
72
+ * @default fgPrimary
73
+ */
74
+ selectionColor?: ThemeVars.Color;
65
75
  } & SharedProps &
66
76
  Pick<TextInputBaseProps, 'compact'> &
67
77
  Pick<
68
78
  SharedAccessibilityProps,
69
79
  'accessibilityLabel' | 'accessibilityHint' | 'accessibilityLabelledBy'
70
80
  > &
71
- Omit<TextInputProps, 'textAlign'> &
81
+ Omit<TextInputProps, 'textAlign' | 'selectionColor'> &
72
82
  React.RefAttributes<TextInput>
73
83
  >;
74
84
  //# sourceMappingURL=NativeInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NativeInput.d.ts","sourceRoot":"","sources":["../../src/controls/NativeInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAa,cAAc,EAAa,SAAS,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAIpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;SAGK;IACL,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACzC;;;SAGK;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;IAClD;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;CACvB,GAAG,WAAW,GACb,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,GACnC,IAAI,CACF,wBAAwB,EACxB,oBAAoB,GAAG,yBAAyB,GAAG,mBAAmB,CACvE,GACD,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AAEpC,eAAO,MAAM,WAAW;IA/BtB;;;SAGK;YACG,aAAa,CAAC,OAAO,CAAC;IAC9B,gFAAgF;uBAC7D,SAAS,GAAG,SAAS;IACxC;;;SAGK;eACM,OAAO;IAClB;;;;OAIG;gBACS,cAAc,CAAC,WAAW,CAAC,GAAG,OAAO;IACjD;;;OAGG;WACI,SAAS,CAAC,IAAI;oOAmGtB,CAAC"}
1
+ {"version":3,"file":"NativeInput.d.ts","sourceRoot":"","sources":["../../src/controls/NativeInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAa,cAAc,EAAa,SAAS,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAIpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;SAGK;IACL,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACzC;;;SAGK;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;IAClD;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;CAClC,GAAG,WAAW,GACb,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,GACnC,IAAI,CACF,wBAAwB,EACxB,oBAAoB,GAAG,yBAAyB,GAAG,mBAAmB,CACvE,GACD,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,gBAAgB,CAAC,CAAC;AAEvD,eAAO,MAAM,WAAW;IApCtB;;;SAGK;YACG,aAAa,CAAC,OAAO,CAAC;IAC9B,gFAAgF;uBAC7D,SAAS,GAAG,SAAS;IACxC;;;SAGK;eACM,OAAO;IAClB;;;;OAIG;gBACS,cAAc,CAAC,WAAW,CAAC,GAAG,OAAO;IACjD;;;OAGG;WACI,SAAS,CAAC,IAAI;IACrB;;;OAGG;qBACc,SAAS,CAAC,KAAK;uPAqGjC,CAAC"}
@@ -167,7 +167,7 @@ export declare const SearchInput: React.NamedExoticComponent<
167
167
  bordered?: boolean;
168
168
  } & Omit<
169
169
  import('react-native').TextInputProps,
170
- 'value' | 'textAlign' | 'onChange' | 'onChangeText'
170
+ 'value' | 'textAlign' | 'selectionColor' | 'onChange' | 'onChangeText'
171
171
  > & {
172
172
  value?: import('react-native').TextInputProps['value'];
173
173
  onChange?: import('react-native').TextInputProps['onChange'];
@@ -75,7 +75,7 @@ export type TextInputBaseProps = SharedProps &
75
75
  bordered?: boolean;
76
76
  };
77
77
  export type TextInputProps = TextInputBaseProps &
78
- Omit<RNTextInputProps, 'value' | 'onChange' | 'onChangeText' | 'textAlign'> & {
78
+ Omit<RNTextInputProps, 'value' | 'onChange' | 'onChangeText' | 'textAlign' | 'selectionColor'> & {
79
79
  value?: RNTextInputProps['value'];
80
80
  onChange?: RNTextInputProps['onChange'];
81
81
  onChangeText?: RNTextInputProps['onChangeText'];
@@ -152,7 +152,10 @@ export declare const TextInput: React.NamedExoticComponent<
152
152
  * @default true
153
153
  */
154
154
  bordered?: boolean;
155
- } & Omit<RNTextInputProps, 'value' | 'textAlign' | 'onChange' | 'onChangeText'> & {
155
+ } & Omit<
156
+ RNTextInputProps,
157
+ 'value' | 'textAlign' | 'selectionColor' | 'onChange' | 'onChangeText'
158
+ > & {
156
159
  value?: RNTextInputProps['value'];
157
160
  onChange?: RNTextInputProps['onChange'];
158
161
  onChangeText?: RNTextInputProps['onChangeText'];
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../src/controls/TextInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../src/controls/TextInput.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawerPanResponder.d.ts","sourceRoot":"","sources":["../../../src/overlays/drawer/useDrawerPanResponder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAmD,MAAM,cAAc,CAAC;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAgB7D,KAAK,2BAA2B,GAAG;IACjC,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC;IAChC,eAAe,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAC7C,GAAG,EAAE,gBAAgB,CAAC;IACtB,iCAAiC,EAAE,OAAO,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC;IACjC,8BAA8B,EAAE,MAAM,CAAC;CACxC,CAAC;AASF,eAAO,MAAM,qBAAqB,GAAI,6JASnC,2BAA2B,gDAiN7B,CAAC"}
1
+ {"version":3,"file":"useDrawerPanResponder.d.ts","sourceRoot":"","sources":["../../../src/overlays/drawer/useDrawerPanResponder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAmD,MAAM,cAAc,CAAC;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAgB7D,KAAK,2BAA2B,GAAG;IACjC,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC;IAChC,eAAe,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAC7C,GAAG,EAAE,gBAAgB,CAAC;IACtB,iCAAiC,EAAE,OAAO,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC;IACjC,8BAA8B,EAAE,MAAM,CAAC;CACxC,CAAC;AASF,eAAO,MAAM,qBAAqB,GAAI,6JASnC,2BAA2B,gDA4N7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Gradient.d.ts","sourceRoot":"","sources":["../../../../src/visualizations/chart/gradient/Gradient.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAyD,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAClG,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,kBAAkB,CAAC;IAC7B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG;IAC9C;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,qDA6IpB,CAAC"}
1
+ {"version":3,"file":"Gradient.d.ts","sourceRoot":"","sources":["../../../../src/visualizations/chart/gradient/Gradient.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAyD,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAClG,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,kBAAkB,CAAC;IAC7B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG;IAC9C;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,qDAyJpB,CAAC"}
@@ -1,4 +1,4 @@
1
- const _excluded = ["name", "active", "variant", "transparent", "compact", "background", "color", "borderColor", "iconSize", "borderWidth", "borderRadius", "feedback", "flush", "padding", "loading", "progressCircleSize", "style", "styles", "accessibilityHint", "accessibilityLabel"];
1
+ const _excluded = ["name", "active", "variant", "alignSelf", "transparent", "compact", "background", "color", "borderColor", "iconSize", "borderWidth", "borderRadius", "feedback", "flush", "padding", "loading", "progressCircleSize", "style", "styles", "accessibilityHint", "accessibilityLabel"];
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
4
  import { forwardRef, memo } from 'react';
@@ -15,6 +15,8 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref
15
15
  name,
16
16
  active,
17
17
  variant = 'secondary',
18
+ alignSelf = 'flex-start',
19
+ // prevents stretching when placed in a flex container
18
20
  transparent,
19
21
  compact = true,
20
22
  background,
@@ -47,7 +49,7 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref
47
49
  accessibilityHint: accessibilityHint,
48
50
  accessibilityLabel: loading ? (accessibilityLabel != null ? accessibilityLabel : '') + ", loading" : accessibilityLabel,
49
51
  alignItems: "center",
50
- alignSelf: "flex-start",
52
+ alignSelf: alignSelf,
51
53
  background: backgroundValue,
52
54
  borderColor: borderColorValue,
53
55
  borderRadius: borderRadius,
@@ -1,4 +1,4 @@
1
- const _excluded = ["containerSpacing", "testID", "align", "disabled", "textAlign", "font", "accessibilityLabel", "compact", "style"];
1
+ const _excluded = ["containerSpacing", "testID", "align", "disabled", "textAlign", "font", "accessibilityLabel", "compact", "selectionColor", "style"];
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
4
  import React, { forwardRef, memo, useMemo } from 'react';
@@ -16,6 +16,7 @@ export const NativeInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
16
16
  font = 'body',
17
17
  accessibilityLabel,
18
18
  compact,
19
+ selectionColor = 'fgPrimary',
19
20
  style
20
21
  } = _ref,
21
22
  editableInputAddonProps = _objectWithoutPropertiesLoose(_ref, _excluded);
@@ -57,6 +58,7 @@ export const NativeInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
57
58
  editable: !disabled,
58
59
  keyboardAppearance: theme.activeColorScheme,
59
60
  placeholderTextColor: theme.color.fgMuted,
61
+ selectionColor: theme.color[selectionColor],
60
62
  style: inputRootStyles,
61
63
  testID: testID,
62
64
  textAlign: textAlign !== 'unset' ? textAlign : undefined
@@ -27,7 +27,7 @@ const variantColorMap = {
27
27
  secondary: 'bgSecondary'
28
28
  };
29
29
  export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) => {
30
- var _testIDMap$end, _testIDMap$helperText, _testIDMap$label;
30
+ var _testIDMap$end, _testIDMap$helperText, _testIDMap$label, _testIDMap$label2;
31
31
  const mergedProps = useComponentConfig('TextInput', _props);
32
32
  const {
33
33
  label,
@@ -166,29 +166,33 @@ export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref)
166
166
  containerSpacing: containerSpacing,
167
167
  disabled: disabled,
168
168
  font: font,
169
+ selectionColor: variantColorMap[focusedVariant],
169
170
  testID: testID
170
171
  }, editableInputAddonProps)),
171
172
  labelNode: !compact && (labelNode && labelVariant !== 'inside' ? labelNode : hasLabel && /*#__PURE__*/_jsx(Pressable, {
172
173
  accessibilityRole: "button",
173
174
  disabled: disabled,
174
175
  onPress: handleNodePress,
175
- children: /*#__PURE__*/_jsx(Box, _extends({}, labelVariant === 'inside' && {
176
- paddingTop: 1,
176
+ children: labelVariant === 'inside' && labelNode ? /*#__PURE__*/_jsx(Box, {
177
+ background: readOnlyInputBackground,
178
+ paddingEnd: 2,
177
179
  paddingStart: start ? 0.5 : 2,
180
+ children: labelNode
181
+ }) : labelVariant === 'inside' ? /*#__PURE__*/_jsx(InputLabel, {
182
+ background: readOnlyInputBackground,
183
+ color: labelColor,
184
+ font: labelFont,
178
185
  paddingEnd: 2,
179
- background: readOnlyInputBackground
180
- }, {
181
- children: labelNode ? labelNode : /*#__PURE__*/_jsx(InputLabel, _extends({
182
- color: labelColor,
183
- font: labelFont,
184
- testID: (_testIDMap$label = testIDMap == null ? void 0 : testIDMap.label) != null ? _testIDMap$label : ''
185
- }, labelVariant === 'inside' && {
186
- paddingTop: 0,
187
- paddingBottom: 0
188
- }, {
189
- children: label
190
- }))
191
- }))
186
+ paddingStart: start ? 0.5 : 2,
187
+ paddingY: 0,
188
+ testID: (_testIDMap$label = testIDMap == null ? void 0 : testIDMap.label) != null ? _testIDMap$label : '',
189
+ children: label
190
+ }) : /*#__PURE__*/_jsx(InputLabel, {
191
+ color: labelColor,
192
+ font: labelFont,
193
+ testID: (_testIDMap$label2 = testIDMap == null ? void 0 : testIDMap.label) != null ? _testIDMap$label2 : '',
194
+ children: label
195
+ })
192
196
  })),
193
197
  labelVariant: labelVariant,
194
198
  startNode: (compact && hasLabel || !!start) && /*#__PURE__*/_jsx(Box, {
@@ -131,13 +131,6 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=6967
131
131
  name: "apothecary"
132
132
  }, props))
133
133
  });
134
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-13936', {
135
- imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
136
- props,
137
- example: props => /*#__PURE__*/_jsx(Icon, _extends({
138
- name: "appSwitcher"
139
- }, props))
140
- });
141
134
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-956', {
142
135
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
143
136
  props,
@@ -159,6 +152,13 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
159
152
  name: "application"
160
153
  }, props))
161
154
  });
155
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-13936', {
156
+ imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
157
+ props,
158
+ example: props => /*#__PURE__*/_jsx(Icon, _extends({
159
+ name: "appSwitcher"
160
+ }, props))
161
+ });
162
162
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-12805', {
163
163
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
164
164
  props,
@@ -180,13 +180,6 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
180
180
  name: "arrowRight"
181
181
  }, props))
182
182
  });
183
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-12740', {
184
- imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
185
- props,
186
- example: props => /*#__PURE__*/_jsx(Icon, _extends({
187
- name: "arrowUp"
188
- }, props))
189
- });
190
183
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-12766', {
191
184
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
192
185
  props,
@@ -208,6 +201,13 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
208
201
  name: "arrowsVertical"
209
202
  }, props))
210
203
  });
204
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-12740', {
205
+ imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
206
+ props,
207
+ example: props => /*#__PURE__*/_jsx(Icon, _extends({
208
+ name: "arrowUp"
209
+ }, props))
210
+ });
211
211
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15106', {
212
212
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
213
213
  props,
@@ -236,18 +236,18 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
236
236
  name: "astronautHelmet"
237
237
  }, props))
238
238
  });
239
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-1178', {
239
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-670', {
240
240
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
241
241
  props,
242
242
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
243
- name: "atSign"
243
+ name: "atomScience"
244
244
  }, props))
245
245
  });
246
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-670', {
246
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-1178', {
247
247
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
248
248
  props,
249
249
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
250
- name: "atomScience"
250
+ name: "atSign"
251
251
  }, props))
252
252
  });
253
253
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16565', {
@@ -320,6 +320,13 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=5681
320
320
  name: "baseApps"
321
321
  }, props))
322
322
  });
323
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-110', {
324
+ imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
325
+ props,
326
+ example: props => /*#__PURE__*/_jsx(Icon, _extends({
327
+ name: "baseball"
328
+ }, props))
329
+ });
323
330
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=56816-81', {
324
331
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
325
332
  props,
@@ -362,13 +369,6 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=5681
362
369
  name: "baseWallet"
363
370
  }, props))
364
371
  });
365
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-110', {
366
- imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
367
- props,
368
- example: props => /*#__PURE__*/_jsx(Icon, _extends({
369
- name: "baseball"
370
- }, props))
371
- });
372
372
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-123', {
373
373
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
374
374
  props,
@@ -726,14 +726,14 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
726
726
  name: "cashSingaporeDollar"
727
727
  }, props))
728
728
  });
729
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=56411-1533', {
729
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-12051', {
730
730
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
731
731
  props,
732
732
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
733
733
  name: "cashSwissFranc"
734
734
  }, props))
735
735
  });
736
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-12051', {
736
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=56411-1533', {
737
737
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
738
738
  props,
739
739
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
@@ -754,18 +754,18 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
754
754
  name: "cashTurkishLira"
755
755
  }, props))
756
756
  });
757
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-11999', {
757
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-12012', {
758
758
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
759
759
  props,
760
760
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
761
- name: "cashUSD"
761
+ name: "cashUaeDirham"
762
762
  }, props))
763
763
  });
764
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-12012', {
764
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-11999', {
765
765
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
766
766
  props,
767
767
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
768
- name: "cashUaeDirham"
768
+ name: "cashUSD"
769
769
  }, props))
770
770
  });
771
771
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-11986', {
@@ -1587,18 +1587,18 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
1587
1587
  name: "eye"
1588
1588
  }, props))
1589
1589
  });
1590
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-13000', {
1590
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-14365', {
1591
1591
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1592
1592
  props,
1593
1593
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
1594
- name: "faceScan"
1594
+ name: "faces"
1595
1595
  }, props))
1596
1596
  });
1597
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-14365', {
1597
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-13000', {
1598
1598
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1599
1599
  props,
1600
1600
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
1601
- name: "faces"
1601
+ name: "faceScan"
1602
1602
  }, props))
1603
1603
  });
1604
1604
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-644', {
@@ -1615,14 +1615,14 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
1615
1615
  name: "faucet"
1616
1616
  }, props))
1617
1617
  });
1618
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-13598', {
1618
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-13351', {
1619
1619
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1620
1620
  props,
1621
1621
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
1622
1622
  name: "faucet"
1623
1623
  }, props))
1624
1624
  });
1625
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-13351', {
1625
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-13598', {
1626
1626
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1627
1627
  props,
1628
1628
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
@@ -1832,14 +1832,14 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
1832
1832
  name: "ghost"
1833
1833
  }, props))
1834
1834
  });
1835
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-14352', {
1835
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-14183', {
1836
1836
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1837
1837
  props,
1838
1838
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
1839
1839
  name: "ghost"
1840
1840
  }, props))
1841
1841
  });
1842
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-14183', {
1842
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-14352', {
1843
1843
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1844
1844
  props,
1845
1845
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
@@ -1853,14 +1853,14 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
1853
1853
  name: "gif"
1854
1854
  }, props))
1855
1855
  });
1856
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15275', {
1856
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15015', {
1857
1857
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1858
1858
  props,
1859
1859
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
1860
1860
  name: "giftBox"
1861
1861
  }, props))
1862
1862
  });
1863
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15015', {
1863
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15275', {
1864
1864
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1865
1865
  props,
1866
1866
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
@@ -1881,14 +1881,14 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
1881
1881
  name: "gitHubLogo"
1882
1882
  }, props))
1883
1883
  });
1884
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15262', {
1884
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16305', {
1885
1885
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1886
1886
  props,
1887
1887
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
1888
1888
  name: "globe"
1889
1889
  }, props))
1890
1890
  });
1891
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16305', {
1891
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15262', {
1892
1892
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1893
1893
  props,
1894
1894
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
@@ -1937,21 +1937,21 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
1937
1937
  name: "hamburger"
1938
1938
  }, props))
1939
1939
  });
1940
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16812', {
1940
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16825', {
1941
1941
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1942
1942
  props,
1943
1943
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
1944
1944
  name: "hammer"
1945
1945
  }, props))
1946
1946
  });
1947
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16825', {
1947
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16838', {
1948
1948
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1949
1949
  props,
1950
1950
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
1951
1951
  name: "hammer"
1952
1952
  }, props))
1953
1953
  });
1954
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16838', {
1954
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16812', {
1955
1955
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
1956
1956
  props,
1957
1957
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
@@ -2455,18 +2455,18 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
2455
2455
  name: "nftSale"
2456
2456
  }, props))
2457
2457
  });
2458
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16187', {
2458
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15549', {
2459
2459
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2460
2460
  props,
2461
2461
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
2462
- name: "noWifi"
2462
+ name: "nodeProduct"
2463
2463
  }, props))
2464
2464
  });
2465
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15549', {
2465
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16187', {
2466
2466
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2467
2467
  props,
2468
2468
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
2469
- name: "nodeProduct"
2469
+ name: "noWifi"
2470
2470
  }, props))
2471
2471
  });
2472
2472
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-579', {
@@ -2518,13 +2518,6 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=8018
2518
2518
  name: "overPredictions"
2519
2519
  }, props))
2520
2520
  });
2521
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-12909', {
2522
- imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2523
- props,
2524
- example: props => /*#__PURE__*/_jsx(Icon, _extends({
2525
- name: "pFPS"
2526
- }, props))
2527
- });
2528
2521
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16161', {
2529
2522
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2530
2523
  props,
@@ -2574,13 +2567,6 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
2574
2567
  name: "pause"
2575
2568
  }, props))
2576
2569
  });
2577
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-11791', {
2578
- imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2579
- props,
2580
- example: props => /*#__PURE__*/_jsx(Icon, _extends({
2581
- name: "pay"
2582
- }, props))
2583
- });
2584
2570
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-11921', {
2585
2571
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2586
2572
  props,
@@ -2588,11 +2574,11 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
2588
2574
  name: "pay"
2589
2575
  }, props))
2590
2576
  });
2591
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15510', {
2577
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-11791', {
2592
2578
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2593
2579
  props,
2594
2580
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
2595
- name: "payProduct"
2581
+ name: "pay"
2596
2582
  }, props))
2597
2583
  });
2598
2584
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-11908', {
@@ -2616,6 +2602,13 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
2616
2602
  name: "paypal"
2617
2603
  }, props))
2618
2604
  });
2605
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15510', {
2606
+ imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2607
+ props,
2608
+ example: props => /*#__PURE__*/_jsx(Icon, _extends({
2609
+ name: "payProduct"
2610
+ }, props))
2611
+ });
2619
2612
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16122', {
2620
2613
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2621
2614
  props,
@@ -2665,6 +2658,13 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
2665
2658
  name: "perpetualSwap"
2666
2659
  }, props))
2667
2660
  });
2661
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-12909', {
2662
+ imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2663
+ props,
2664
+ example: props => /*#__PURE__*/_jsx(Icon, _extends({
2665
+ name: "pFPS"
2666
+ }, props))
2667
+ });
2668
2668
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-14924', {
2669
2669
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2670
2670
  props,
@@ -2679,6 +2679,13 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=6609
2679
2679
  name: "pieChartData"
2680
2680
  }, props))
2681
2681
  });
2682
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=76831-2', {
2683
+ imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2684
+ props,
2685
+ example: props => /*#__PURE__*/_jsx(Icon, _extends({
2686
+ name: "pieChartWithArrow"
2687
+ }, props))
2688
+ });
2682
2689
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-852', {
2683
2690
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2684
2691
  props,
@@ -2700,21 +2707,21 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
2700
2707
  name: "pin"
2701
2708
  }, props))
2702
2709
  });
2703
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16942', {
2710
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16955', {
2704
2711
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2705
2712
  props,
2706
2713
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
2707
2714
  name: "planet"
2708
2715
  }, props))
2709
2716
  });
2710
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16955', {
2717
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16968', {
2711
2718
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2712
2719
  props,
2713
2720
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
2714
2721
  name: "planet"
2715
2722
  }, props))
2716
2723
  });
2717
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16968', {
2724
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16942', {
2718
2725
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2719
2726
  props,
2720
2727
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
@@ -2819,18 +2826,18 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
2819
2826
  name: "privateClientProduct"
2820
2827
  }, props))
2821
2828
  });
2822
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15471', {
2829
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16083', {
2823
2830
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2824
2831
  props,
2825
2832
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
2826
- name: "proProduct"
2833
+ name: "profile"
2827
2834
  }, props))
2828
2835
  });
2829
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16083', {
2836
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15471', {
2830
2837
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
2831
2838
  props,
2832
2839
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
2833
- name: "profile"
2840
+ name: "proProduct"
2834
2841
  }, props))
2835
2842
  });
2836
2843
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16070', {
@@ -3050,14 +3057,14 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
3050
3057
  name: "royalty"
3051
3058
  }, props))
3052
3059
  });
3053
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15184', {
3060
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-14859', {
3054
3061
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
3055
3062
  props,
3056
3063
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
3057
3064
  name: "royalty"
3058
3065
  }, props))
3059
3066
  });
3060
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-14859', {
3067
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-15184', {
3061
3068
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
3062
3069
  props,
3063
3070
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
@@ -3204,25 +3211,25 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
3204
3211
  name: "signinProduct"
3205
3212
  }, props))
3206
3213
  });
3207
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=66093-54', {
3214
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-423', {
3208
3215
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
3209
3216
  props,
3210
3217
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
3211
- name: "singleCoin"
3218
+ name: "singlecloud"
3212
3219
  }, props))
3213
3220
  });
3214
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-227', {
3221
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=66093-54', {
3215
3222
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
3216
3223
  props,
3217
3224
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
3218
- name: "singleNote"
3225
+ name: "singleCoin"
3219
3226
  }, props))
3220
3227
  });
3221
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-423', {
3228
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=69679-227', {
3222
3229
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
3223
3230
  props,
3224
3231
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
3225
- name: "singlecloud"
3232
+ name: "singleNote"
3226
3233
  }, props))
3227
3234
  });
3228
3235
  figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-12896', {
@@ -3519,14 +3526,14 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
3519
3526
  name: "sun"
3520
3527
  }, props))
3521
3528
  });
3522
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16890', {
3529
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16916', {
3523
3530
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
3524
3531
  props,
3525
3532
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
3526
3533
  name: "support"
3527
3534
  }, props))
3528
3535
  });
3529
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16916', {
3536
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-16890', {
3530
3537
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
3531
3538
  props,
3532
3539
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
@@ -3547,14 +3554,14 @@ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=2945
3547
3554
  name: "taxes"
3548
3555
  }, props))
3549
3556
  });
3550
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-11726', {
3557
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-11739', {
3551
3558
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
3552
3559
  props,
3553
3560
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
3554
3561
  name: "taxesReceipt"
3555
3562
  }, props))
3556
3563
  });
3557
- figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-11739', {
3564
+ figma.connect(Icon, 'https://figma.com/file/k5CtyJccNQUGMI5bI4lJ2g/?node-id=29452-11726', {
3558
3565
  imports: ["import { Icon } from '@coinbase/cds-mobile/icons/Icon'"],
3559
3566
  props,
3560
3567
  example: props => /*#__PURE__*/_jsx(Icon, _extends({
@@ -127,11 +127,20 @@ export const useDrawerPanResponder = _ref => {
127
127
  }
128
128
  return false;
129
129
  }, [isTryingToDismiss, parseGestureState, isFlingToDismiss, isSwipeToDismiss]);
130
+ const initializeDragAnimation = useCallback(() => {
131
+ // On iOS, setOffset during pan move does not flush to native; capture the current
132
+ // position as offset via extractOffset() so setValue in onPanResponderMove updates the UI.
133
+ drawerAnimation.stopAnimation();
134
+ opacityAnimation.stopAnimation();
135
+ drawerAnimation.extractOffset();
136
+ opacityAnimation.extractOffset();
137
+ }, [drawerAnimation, opacityAnimation]);
130
138
  const panGestureHandlers = useMemo(() => {
131
139
  return PanResponder.create({
132
140
  onStartShouldSetPanResponder: () => true,
133
141
  onMoveShouldSetPanResponder: shouldCaptureGestures,
134
142
  onMoveShouldSetPanResponderCapture: shouldCaptureGestures,
143
+ onPanResponderGrant: initializeDragAnimation,
135
144
  onPanResponderMove: (_, gestureState) => {
136
145
  const {
137
146
  isDragging,
@@ -148,20 +157,20 @@ export const useDrawerPanResponder = _ref => {
148
157
  outputRange: [0, 0.1],
149
158
  clamp: true
150
159
  });
151
- drawerAnimation.setOffset(calculateDragOffset(normalizedDistance));
160
+ drawerAnimation.setValue(calculateDragOffset(normalizedDistance));
152
161
  } else {
153
162
  const normalizedDrawerTransition = modulate(distance, {
154
163
  inputRange: [0, isHorizontalDrawer ? horizontalDrawerMaxPanDistance : verticalDrawerMaxPanDistance],
155
164
  outputRange: [0, normalizeDrawerPanDistanceMultiplier],
156
165
  clamp: false
157
166
  });
158
- drawerAnimation.setOffset(normalizedDrawerTransition);
167
+ drawerAnimation.setValue(normalizedDrawerTransition);
159
168
  const normalizedOpacityTransition = modulate(distance, {
160
169
  inputRange: [0, isHorizontalDrawer ? horizontalDrawerMaxPanDistance : verticalDrawerMaxPanDistance],
161
170
  outputRange: [0, 1],
162
171
  clamp: false
163
172
  });
164
- opacityAnimation.setOffset(normalizedOpacityTransition);
173
+ opacityAnimation.setValue(normalizedOpacityTransition);
165
174
  }
166
175
  }
167
176
  },
@@ -176,6 +185,6 @@ export const useDrawerPanResponder = _ref => {
176
185
  }
177
186
  }
178
187
  });
179
- }, [drawerAnimation, animateSnapBack, parseGestureState, shouldCaptureGestures, shouldDismiss, drawerWidth, drawerHeight, pin, isHorizontalDrawer, onBlur, handleSwipeToClose, opacityAnimation]);
188
+ }, [drawerAnimation, animateSnapBack, initializeDragAnimation, parseGestureState, shouldCaptureGestures, shouldDismiss, drawerWidth, drawerHeight, pin, isHorizontalDrawer, onBlur, handleSwipeToClose, opacityAnimation]);
180
189
  return panGestureHandlers;
181
190
  };
@@ -1,9 +1,10 @@
1
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 { memo, useCallback } from 'react';
2
+ import { memo, useCallback, useState } from 'react';
3
3
  import { candles as btcCandles } from '@coinbase/cds-common/internal/data/candles';
4
+ import { Button } from '../../../../buttons/Button';
4
5
  import { Example, ExampleScreen } from '../../../../examples/ExampleScreen';
5
6
  import { useTheme } from '../../../../hooks/useTheme';
6
- import { VStack } from '../../../../layout';
7
+ import { Box, VStack } from '../../../../layout';
7
8
  import { DefaultReferenceLineLabel, DottedLine, ReferenceLine } from '../../line';
8
9
  import { Scrubber } from '../../scrubber/Scrubber';
9
10
  import { AreaChart } from '..';
@@ -211,6 +212,44 @@ const AxisBaselineThresholdExample = () => {
211
212
  })]
212
213
  });
213
214
  };
215
+
216
+ // Regression repro for CDS-2065. The default baseline is 0; alternating between
217
+ // an all-positive dataset (2 gradient stops) and a negative-crossing dataset
218
+ // (3 gradient stops) causes the Gradient component to swap stop counts between
219
+ // renders. Before the fix this crashed with `ReanimatedError: Positions array
220
+ // must have the same size as colors array`.
221
+ const positiveOnlyData = [10, 25, 15, 40, 30, 50, 35];
222
+ const crossesBaselineData = [-20, 25, -15, 40, -30, 50, 35];
223
+ const BaselineCrossingExample = () => {
224
+ const [crosses, setCrosses] = useState(false);
225
+ const data = crosses ? crossesBaselineData : positiveOnlyData;
226
+ return /*#__PURE__*/_jsxs(VStack, {
227
+ gap: 2,
228
+ children: [/*#__PURE__*/_jsx(AreaChart, {
229
+ showLines: true,
230
+ showYAxis: true,
231
+ accessibilityLabel: "Area chart toggling across the y-axis baseline",
232
+ height: 220,
233
+ series: [{
234
+ id: 'flow',
235
+ data
236
+ }],
237
+ type: "gradient",
238
+ yAxis: {
239
+ baseline: 0,
240
+ showGrid: true
241
+ }
242
+ }), /*#__PURE__*/_jsx(Box, {
243
+ paddingX: 2,
244
+ children: /*#__PURE__*/_jsx(Button, {
245
+ compact: true,
246
+ onPress: () => setCrosses(c => !c),
247
+ variant: "secondary",
248
+ children: "Toggle baseline crossing"
249
+ })
250
+ })]
251
+ });
252
+ };
214
253
  const AreaChartStories = () => {
215
254
  return /*#__PURE__*/_jsxs(ExampleScreen, {
216
255
  children: [/*#__PURE__*/_jsx(Example, {
@@ -238,6 +277,9 @@ const AreaChartStories = () => {
238
277
  },
239
278
  children: /*#__PURE__*/_jsx(Scrubber, {})
240
279
  })
280
+ }), /*#__PURE__*/_jsx(Example, {
281
+ title: "Baseline Crossing (CDS-2065 repro)",
282
+ children: /*#__PURE__*/_jsx(BaselineCrossingExample, {})
241
283
  }), /*#__PURE__*/_jsx(Example, {
242
284
  title: "Axis Baseline",
243
285
  children: /*#__PURE__*/_jsx(AreaChart, {
@@ -64,7 +64,7 @@ export const Gradient = /*#__PURE__*/memo(_ref => {
64
64
  };
65
65
 
66
66
  // Extract colors and positions for LinearGradient.
67
- const colors = useMemo(() => (stops != null ? stops : []).map(stop => {
67
+ const targetColors = useMemo(() => (stops != null ? stops : []).map(stop => {
68
68
  var _stop$opacity;
69
69
  return getColorWithOpacity(stop.color, (_stop$opacity = stop.opacity) != null ? _stop$opacity : 1);
70
70
  }), [stops]);
@@ -73,6 +73,11 @@ export const Gradient = /*#__PURE__*/memo(_ref => {
73
73
  const startY = useSharedValue(targetStart.y);
74
74
  const endX = useSharedValue(targetEnd.x);
75
75
  const endY = useSharedValue(targetEnd.y);
76
+
77
+ // colors lives on the worklet so it flips in lockstep with positions; updating
78
+ // it via useMemo on the JS thread races the worklet-driven positions and Skia
79
+ // can paint mismatched array sizes when the stop count changes.
80
+ const currentColors = useSharedValue(targetColors);
76
81
  const fromPositions = useSharedValue(targetPositions);
77
82
  const toPositions = useSharedValue(targetPositions);
78
83
  const positionsProgress = useSharedValue(1);
@@ -88,6 +93,7 @@ export const Gradient = /*#__PURE__*/memo(_ref => {
88
93
  startY.value = targetStart.y;
89
94
  endX.value = targetEnd.x;
90
95
  endY.value = targetEnd.y;
96
+ currentColors.value = targetColors;
91
97
  fromPositions.value = [...targetPositions];
92
98
  toPositions.value = [...targetPositions];
93
99
  positionsProgress.value = 1;
@@ -99,16 +105,18 @@ export const Gradient = /*#__PURE__*/memo(_ref => {
99
105
  endY.value = buildTransition(targetEnd.y, transition);
100
106
  const canAnimatePositions = toPositions.value.length === targetPositions.length;
101
107
  if (canAnimatePositions) {
108
+ currentColors.value = targetColors;
102
109
  fromPositions.value = [...toPositions.value];
103
110
  toPositions.value = [...targetPositions];
104
111
  positionsProgress.value = 0;
105
112
  positionsProgress.value = buildTransition(1, transition);
106
113
  } else {
114
+ currentColors.value = targetColors;
107
115
  fromPositions.value = [...targetPositions];
108
116
  toPositions.value = [...targetPositions];
109
117
  positionsProgress.value = 1;
110
118
  }
111
- }, [transition, targetStart.x, targetStart.y, targetEnd.x, targetEnd.y, targetPositions, startX, startY, endX, endY, fromPositions, toPositions, positionsProgress, shouldRender]);
119
+ }, [transition, targetStart.x, targetStart.y, targetEnd.x, targetEnd.y, targetColors, targetPositions, startX, startY, endX, endY, currentColors, fromPositions, toPositions, positionsProgress, shouldRender]);
112
120
  const start = useDerivedValue(() => {
113
121
  return {
114
122
  x: startX.value,
@@ -121,6 +129,7 @@ export const Gradient = /*#__PURE__*/memo(_ref => {
121
129
  y: endY.value
122
130
  };
123
131
  }, [endX, endY]);
132
+ const colors = useDerivedValue(() => currentColors.value, [currentColors]);
124
133
  const positions = useDerivedValue(() => {
125
134
  const from = fromPositions.value;
126
135
  const to = toPositions.value;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-mobile",
3
- "version": "9.0.0-rc.3",
3
+ "version": "9.0.1",
4
4
  "description": "Coinbase Design System - Mobile",
5
5
  "repository": {
6
6
  "type": "git",
@@ -202,8 +202,8 @@
202
202
  "react-native-worklets": "0.5.2"
203
203
  },
204
204
  "dependencies": {
205
- "@coinbase/cds-common": "^9.0.0-rc.3",
206
- "@coinbase/cds-icons": "^5.16.0",
205
+ "@coinbase/cds-common": "^9.0.1",
206
+ "@coinbase/cds-icons": "^5.17.0",
207
207
  "@coinbase/cds-illustrations": "^4.40.1",
208
208
  "@coinbase/cds-lottie-files": "^3.3.4",
209
209
  "@coinbase/cds-utils": "^2.3.5",