@coinbase/cds-mobile 8.56.0 → 8.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,16 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
+ ## 8.57.0 (3/24/2026 PST)
12
+
13
+ #### 🚀 Updates
14
+
15
+ - Feat: support focusedBorderWidth on TextInput. [[#537](https://github.com/coinbase/cds/pull/537)]
16
+
17
+ ## 8.56.1 ((3/24/2026, 08:39 AM PST))
18
+
19
+ This is an artificial version bump with no new change.
20
+
11
21
  ## 8.56.0 (3/23/2026 PST)
12
22
 
13
23
  #### 🚀 Updates
@@ -11,9 +11,11 @@ export type SearchInputBaseProps = Pick<
11
11
  | 'accessibilityHint'
12
12
  | 'accessibilityLabel'
13
13
  | 'accessibilityLabelledBy'
14
+ | 'bordered'
14
15
  | 'compact'
15
16
  | 'disabled'
16
17
  | 'enableColorSurge'
18
+ | 'focusedBorderWidth'
17
19
  | 'helperTextErrorIconAccessibilityLabel'
18
20
  | 'placeholder'
19
21
  | 'testID'
@@ -83,10 +85,12 @@ export declare const SearchInput: React.MemoExoticComponent<
83
85
  | 'accessibilityLabel'
84
86
  | 'accessibilityHint'
85
87
  | 'accessibilityLabelledBy'
88
+ | 'bordered'
86
89
  | 'disabled'
87
90
  | 'placeholder'
88
91
  | 'compact'
89
92
  | 'enableColorSurge'
93
+ | 'focusedBorderWidth'
90
94
  | 'testIDMap'
91
95
  | 'helperTextErrorIconAccessibilityLabel'
92
96
  > & {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../src/controls/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAExF,OAAO,KAAK,EACV,qBAAqB,EAErB,SAAS,IAAI,WAAW,EAExB,cAAc,IAAI,gBAAgB,EACnC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAK3D,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,kBAAkB,EAChB,mBAAmB,GACnB,oBAAoB,GACpB,yBAAyB,GACzB,SAAS,GACT,UAAU,GACV,kBAAkB,GAClB,uCAAuC,GACvC,aAAa,GACb,QAAQ,GACR,WAAW,GACX,OAAO,CACV,GAAG;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;IACtD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GACjD,gBAAgB,GAAG;IACjB,uDAAuD;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACjD;;;SAGK;IACL,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChD;;;;SAIK;IACL,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;AAEjE,eAAO,MAAM,WAAW;IAxDtB;;;OAGG;eACQ,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;IAChC;;;OAGG;oBACa,OAAO;IACvB;;;;;;;OAOG;gBACS,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC;IACrD;;;OAGG;kBACW,OAAO;IACrB;;;OAGG;UACG,KAAK,CAAC,SAAS;IACrB;;OAEG;kCAC2B,MAAM,GAAG,SAAS;IAChD;;OAEG;kCAC2B,MAAM,GAAG,SAAS;;IAK9C,uDAAuD;cAC7C,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI;IAChD;;;SAGK;aACI,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI;IAC/C;;;;SAIK;uBACc,OAAO;mGAmI7B,CAAC"}
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../src/controls/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAExF,OAAO,KAAK,EACV,qBAAqB,EAErB,SAAS,IAAI,WAAW,EAExB,cAAc,IAAI,gBAAgB,EACnC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAK3D,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,kBAAkB,EAChB,mBAAmB,GACnB,oBAAoB,GACpB,yBAAyB,GACzB,UAAU,GACV,SAAS,GACT,UAAU,GACV,kBAAkB,GAClB,oBAAoB,GACpB,uCAAuC,GACvC,aAAa,GACb,QAAQ,GACR,WAAW,GACX,OAAO,CACV,GAAG;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;IACtD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GACjD,gBAAgB,GAAG;IACjB,uDAAuD;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACjD;;;SAGK;IACL,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChD;;;;SAIK;IACL,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;AAEjE,eAAO,MAAM,WAAW;IAxDtB;;;OAGG;eACQ,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;IAChC;;;OAGG;oBACa,OAAO;IACvB;;;;;;;OAOG;gBACS,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC;IACrD;;;OAGG;kBACW,OAAO;IACrB;;;OAGG;UACG,KAAK,CAAC,SAAS;IACrB;;OAEG;kCAC2B,MAAM,GAAG,SAAS;IAChD;;OAEG;kCAC2B,MAAM,GAAG,SAAS;;IAK9C,uDAAuD;cAC7C,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI;IAChD;;;SAGK;aACI,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI;IAC/C;;;;SAIK;uBACc,OAAO;mGAmI7B,CAAC"}
@@ -22,6 +22,7 @@ export type TextInputBaseProps = SharedProps &
22
22
  | 'disabled'
23
23
  | 'borderRadius'
24
24
  | 'enableColorSurge'
25
+ | 'focusedBorderWidth'
25
26
  | 'labelVariant'
26
27
  | 'inputBackground'
27
28
  > & {
@@ -57,6 +58,12 @@ export type TextInputBaseProps = SharedProps &
57
58
  * @note if both labelNode and label are provided, label will still be used as accessibility label for the input if no accessibilityLabel is provided.
58
59
  */
59
60
  labelNode?: React.ReactNode;
61
+ /**
62
+ * Determines if the input should have a border.
63
+ * When set to `false`, focus border styling is disabled by default.
64
+ * @default true
65
+ */
66
+ bordered?: boolean;
60
67
  };
61
68
  export type TextInputProps = TextInputBaseProps &
62
69
  Omit<RNTextInputProps, 'value' | 'onChange' | 'onChangeText' | 'textAlign'> & {
@@ -73,11 +80,6 @@ export type TextInputProps = TextInputBaseProps &
73
80
  * Use this to workaround the issue where long text does not ellipsis in TextInput
74
81
  */
75
82
  textAlign?: RNTextInputProps['textAlign'] | 'unset';
76
- /**
77
- * Determines if the input should have a border
78
- * @default true
79
- */
80
- bordered?: boolean;
81
83
  };
82
84
  export declare const TextInput: React.MemoExoticComponent<
83
85
  React.ForwardRefExoticComponent<
@@ -97,6 +99,7 @@ export declare const TextInput: React.MemoExoticComponent<
97
99
  | 'enableColorSurge'
98
100
  | 'labelVariant'
99
101
  | 'inputBackground'
102
+ | 'focusedBorderWidth'
100
103
  > & {
101
104
  /**
102
105
  * Aligns text inside input and helperText
@@ -130,6 +133,12 @@ export declare const TextInput: React.MemoExoticComponent<
130
133
  * @note if both labelNode and label are provided, label will still be used as accessibility label for the input if no accessibilityLabel is provided.
131
134
  */
132
135
  labelNode?: React.ReactNode;
136
+ /**
137
+ * Determines if the input should have a border.
138
+ * When set to `false`, focus border styling is disabled by default.
139
+ * @default true
140
+ */
141
+ bordered?: boolean;
133
142
  } & Omit<RNTextInputProps, 'value' | 'textAlign' | 'onChange' | 'onChangeText'> & {
134
143
  value?: RNTextInputProps['value'];
135
144
  onChange?: RNTextInputProps['onChange'];
@@ -144,11 +153,6 @@ export declare const TextInput: React.MemoExoticComponent<
144
153
  * Use this to workaround the issue where long text does not ellipsis in TextInput
145
154
  */
146
155
  textAlign?: RNTextInputProps['textAlign'] | 'unset';
147
- /**
148
- * Determines if the input should have a border
149
- * @default true
150
- */
151
- bordered?: boolean;
152
156
  } & React.RefAttributes<RNTextInput>
153
157
  >
154
158
  >;
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../src/controls/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAEV,SAAS,IAAI,WAAW,EAExB,cAAc,IAAI,gBAAgB,EAEnC,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAcjF,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGpE,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAC1C,IAAI,CACF,wBAAwB,EACxB,oBAAoB,GAAG,yBAAyB,GAAG,mBAAmB,CACvE,GACD,gBAAgB,GAChB,IAAI,CACF,mBAAmB,EACjB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,UAAU,GACV,cAAc,GACd,kBAAkB,GAClB,cAAc,GACd,iBAAiB,CACpB,GAAG;IACF;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uHAAuH;IACvH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,mHAAmH;IACnH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;;OAGG;IACH,qCAAqC,CAAC,EAAE,MAAM,CAAC;IAC/C;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,CAAC;AAEJ,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAC7C,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC,GAAG;IAC5E,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAChD;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAWJ,eAAO,MAAM,SAAS;IAjElB;;;OAGG;YACK,cAAc,CAAC,OAAO,CAAC;IAC/B;;OAEG;aACM,MAAM;IACf,uHAAuH;YAC/G,KAAK,CAAC,SAAS;IACvB,mHAAmH;UAC7G,KAAK,CAAC,SAAS;IACrB;;OAEG;gBACS;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IACD;;;OAGG;4CACqC,MAAM;IAC9C;;;OAGG;gBACS,KAAK,CAAC,SAAS;;YAKnB,gBAAgB,CAAC,OAAO,CAAC;eACtB,gBAAgB,CAAC,UAAU,CAAC;mBACxB,gBAAgB,CAAC,cAAc,CAAC;IAC/C;;;OAGG;gBACS,cAAc;IAC1B;;;OAGG;gBACS,gBAAgB,CAAC,WAAW,CAAC,GAAG,OAAO;IACnD;;;OAGG;eACQ,OAAO;sCA4PrB,CAAC"}
1
+ {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../src/controls/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAEV,SAAS,IAAI,WAAW,EAExB,cAAc,IAAI,gBAAgB,EAEnC,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAcjF,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGpE,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAC1C,IAAI,CACF,wBAAwB,EACxB,oBAAoB,GAAG,yBAAyB,GAAG,mBAAmB,CACvE,GACD,gBAAgB,GAChB,IAAI,CACF,mBAAmB,EACjB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,UAAU,GACV,cAAc,GACd,kBAAkB,GAClB,oBAAoB,GACpB,cAAc,GACd,iBAAiB,CACpB,GAAG;IACF;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uHAAuH;IACvH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,mHAAmH;IACnH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;;OAGG;IACH,qCAAqC,CAAC,EAAE,MAAM,CAAC;IAC/C;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAC7C,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC,GAAG;IAC5E,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAChD;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;CACrD,CAAC;AAWJ,eAAO,MAAM,SAAS;IAlElB;;;OAGG;YACK,cAAc,CAAC,OAAO,CAAC;IAC/B;;OAEG;aACM,MAAM;IACf,uHAAuH;YAC/G,KAAK,CAAC,SAAS;IACvB,mHAAmH;UAC7G,KAAK,CAAC,SAAS;IACrB;;OAEG;gBACS;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IACD;;;OAGG;4CACqC,MAAM;IAC9C;;;OAGG;gBACS,KAAK,CAAC,SAAS;IAC3B;;;;OAIG;eACQ,OAAO;;YAKV,gBAAgB,CAAC,OAAO,CAAC;eACtB,gBAAgB,CAAC,UAAU,CAAC;mBACxB,gBAAgB,CAAC,cAAc,CAAC;IAC/C;;;OAGG;gBACS,cAAc;IAC1B;;;OAGG;gBACS,gBAAgB,CAAC,WAAW,CAAC,GAAG,OAAO;sCAiQtD,CAAC"}
@@ -1,22 +1,25 @@
1
1
  import React from 'react';
2
2
  import { type StyleProp, type TextInput as NativeTextInput, type ViewStyle } from 'react-native';
3
3
  import { type DateInputOptions } from '@coinbase/cds-common/dates/useDateInput';
4
- import { type TextInputProps } from '../controls/TextInput';
5
- export type DateInputProps = {
6
- /** Date format separator character, e.g. the / in "MM/DD/YYYY". Defaults to forward slash (/). */
7
- separator?: string;
8
- style?: StyleProp<ViewStyle>;
9
- } & Omit<DateInputOptions, 'intlDateFormat'> &
10
- Omit<TextInputProps, 'inputNode' | 'value' | 'defaultValue' | 'style'>;
4
+ import { type TextInputBaseProps, type TextInputProps } from '../controls/TextInput';
5
+ export type DateInputBaseProps = Omit<DateInputOptions, 'intlDateFormat'> &
6
+ Omit<TextInputBaseProps, 'inputNode' | 'value' | 'defaultValue'> & {
7
+ /** Date format separator character, e.g. the / in "MM/DD/YYYY". Defaults to forward slash (/). */
8
+ separator?: string;
9
+ };
10
+ export type DateInputProps = DateInputBaseProps &
11
+ Omit<TextInputProps, 'inputNode' | 'value' | 'defaultValue' | 'style'> & {
12
+ style?: StyleProp<ViewStyle>;
13
+ };
11
14
  export declare const DateInput: React.MemoExoticComponent<
12
15
  React.ForwardRefExoticComponent<
13
- {
14
- /** Date format separator character, e.g. the / in "MM/DD/YYYY". Defaults to forward slash (/). */
15
- separator?: string;
16
- style?: StyleProp<ViewStyle>;
17
- } & Omit<DateInputOptions, 'intlDateFormat'> &
18
- Omit<TextInputProps, 'value' | 'style' | 'defaultValue' | 'inputNode'> &
19
- React.RefAttributes<NativeTextInput>
16
+ Omit<DateInputOptions, 'intlDateFormat'> &
17
+ Omit<TextInputBaseProps, 'value' | 'defaultValue' | 'inputNode'> & {
18
+ /** Date format separator character, e.g. the / in "MM/DD/YYYY". Defaults to forward slash (/). */
19
+ separator?: string;
20
+ } & Omit<TextInputProps, 'value' | 'style' | 'defaultValue' | 'inputNode'> & {
21
+ style?: StyleProp<ViewStyle>;
22
+ } & React.RefAttributes<NativeTextInput>
20
23
  >
21
24
  >;
22
25
  //# sourceMappingURL=DateInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../src/dates/DateInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAC9E,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,SAAS,IAAI,eAAe,EAIjC,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,gBAAgB,EAAgB,MAAM,yCAAyC,CAAC;AAG9F,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvE,MAAM,MAAM,cAAc,GAAG;IAC3B,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,GAAG,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAC1C,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC;AAEzE,eAAO,MAAM,SAAS;IANpB,kGAAkG;gBACtF,MAAM;YACV,SAAS,CAAC,SAAS,CAAC;8JAsH7B,CAAC"}
1
+ {"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../src/dates/DateInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAC9E,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,SAAS,IAAI,eAAe,EAIjC,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,gBAAgB,EAAgB,MAAM,yCAAyC,CAAC;AAG9F,OAAO,EAAa,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGhG,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GACvE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,OAAO,GAAG,cAAc,CAAC,GAAG;IACjE,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEJ,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAC7C,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,GAAG,cAAc,GAAG,OAAO,CAAC,GAAG;IACvE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEJ,eAAO,MAAM,SAAS;IATlB,kGAAkG;gBACtF,MAAM;;YAKV,SAAS,CAAC,SAAS,CAAC;0CAqH/B,CAAC"}
@@ -1,4 +1,4 @@
1
- const _excluded = ["label", "helperText", "variant", "testID", "testIDMap", "start", "end", "width", "disabled", "align", "compact", "suffix", "accessibilityLabel", "borderRadius", "enableColorSurge", "helperTextErrorIconAccessibilityLabel", "bordered", "labelVariant", "labelNode", "inputBackground"];
1
+ const _excluded = ["label", "helperText", "variant", "testID", "testIDMap", "start", "end", "width", "disabled", "align", "compact", "suffix", "accessibilityLabel", "borderRadius", "enableColorSurge", "helperTextErrorIconAccessibilityLabel", "bordered", "focusedBorderWidth", "labelVariant", "labelNode", "inputBackground"];
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, { cloneElement, forwardRef, isValidElement, memo, useCallback, useMemo, useRef, useState } from 'react';
@@ -45,6 +45,7 @@ export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =
45
45
  enableColorSurge = false,
46
46
  helperTextErrorIconAccessibilityLabel = 'error',
47
47
  bordered = true,
48
+ focusedBorderWidth,
48
49
  labelVariant = 'outside',
49
50
  labelNode,
50
51
  inputBackground
@@ -58,7 +59,7 @@ export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =
58
59
  const {
59
60
  borderFocusedStyle,
60
61
  borderUnfocusedStyle
61
- } = useInputBorderStyle(focused, variant, focusedVariant, bordered);
62
+ } = useInputBorderStyle(focused, variant, focusedVariant, bordered, bordered ? 100 : 0, focusedBorderWidth);
62
63
  const editableInputAddonProps = _extends({}, editableInputProps, {
63
64
  onFocus: e => {
64
65
  editableInputProps == null || editableInputProps.onFocus == null || editableInputProps.onFocus(e);
@@ -114,6 +115,7 @@ export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =
114
115
  borderFocusedStyle: borderFocusedStyle,
115
116
  borderRadius: borderRadius,
116
117
  borderStyle: borderUnfocusedStyle,
118
+ borderWidth: bordered ? 100 : 0,
117
119
  disabled: disabled,
118
120
  enableColorSurge: enableColorSurge,
119
121
  endNode: (suffix !== '' || !!end) && /*#__PURE__*/_jsx(HStack, {
@@ -140,6 +142,7 @@ export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) =
140
142
  })
141
143
  }),
142
144
  focused: focused,
145
+ focusedBorderWidth: focusedBorderWidth,
143
146
  helperTextNode: !!helperText && (typeof helperText === 'string' ? /*#__PURE__*/_jsx(HelperText, {
144
147
  align: align,
145
148
  color: variantColorMap[variant],
@@ -1,9 +1,10 @@
1
1
  import React, { useCallback, useRef, useState } from 'react';
2
2
  import { Example, ExampleScreen } from '../../examples/ExampleScreen';
3
+ import { VStack } from '../../layout/VStack';
3
4
  import { Text } from '../../typography/Text';
4
5
  import { InputIconButton } from '../InputIconButton';
5
6
  import { SearchInput } from '../SearchInput';
6
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
7
8
  const Basic = () => {
8
9
  const [text, setText] = useState('');
9
10
  return /*#__PURE__*/_jsx(SearchInput, {
@@ -21,6 +22,27 @@ const Compact = () => {
21
22
  value: text
22
23
  });
23
24
  };
25
+ const BorderlessVariants = () => {
26
+ const [defaultBorderlessText, setDefaultBorderlessText] = useState('');
27
+ const [focusBorderText, setFocusBorderText] = useState('');
28
+ return /*#__PURE__*/_jsxs(VStack, {
29
+ gap: 2,
30
+ children: [/*#__PURE__*/_jsx(SearchInput, {
31
+ bordered: false,
32
+ editable: __DEV__,
33
+ onChangeText: setDefaultBorderlessText,
34
+ placeholder: "Borderless (no focus border)",
35
+ value: defaultBorderlessText
36
+ }), /*#__PURE__*/_jsx(SearchInput, {
37
+ bordered: false,
38
+ editable: __DEV__,
39
+ focusedBorderWidth: 200,
40
+ onChangeText: setFocusBorderText,
41
+ placeholder: "Borderless (with focus border)",
42
+ value: focusBorderText
43
+ })]
44
+ });
45
+ };
24
46
  const HideStartIcon = () => {
25
47
  const [text, setText] = useState('');
26
48
  return /*#__PURE__*/_jsx(SearchInput, {
@@ -176,6 +198,9 @@ const SearchInputScreen = () => {
176
198
  }), /*#__PURE__*/_jsx(Example, {
177
199
  title: "Compact",
178
200
  children: /*#__PURE__*/_jsx(Compact, {})
201
+ }), /*#__PURE__*/_jsx(Example, {
202
+ title: "Borderless variants",
203
+ children: /*#__PURE__*/_jsx(BorderlessVariants, {})
179
204
  }), /*#__PURE__*/_jsx(Example, {
180
205
  title: "Custom Start Icon - Search",
181
206
  children: /*#__PURE__*/_jsx(SetCustomSearchStartIcon, {})
@@ -438,14 +438,21 @@ const InputScreen = () => {
438
438
  placeholder: "john.doe@coinbase.com",
439
439
  style: customStyle
440
440
  })
441
- }), /*#__PURE__*/_jsx(Example, {
441
+ }), /*#__PURE__*/_jsxs(Example, {
442
442
  inline: true,
443
- title: "TextInput without border",
444
- children: /*#__PURE__*/_jsx(MockTextInput, {
443
+ title: "TextInput borderless variants",
444
+ children: [/*#__PURE__*/_jsx(MockTextInput, {
445
445
  bordered: false,
446
+ helperText: "Default borderless behavior with no focus border.",
446
447
  label: "Username",
447
448
  placeholder: "john.doe@coinbase.com"
448
- })
449
+ }), /*#__PURE__*/_jsx(MockTextInput, {
450
+ bordered: false,
451
+ focusedBorderWidth: 200,
452
+ helperText: "Set focusedBorderWidth to opt into a focus border.",
453
+ label: "Username with focus border",
454
+ placeholder: "john.doe@coinbase.com"
455
+ })]
449
456
  }), /*#__PURE__*/_jsxs(Example, {
450
457
  inline: true,
451
458
  title: "Read-Only TextInput",
@@ -80,6 +80,11 @@ export const Examples = () => {
80
80
  })
81
81
  })), /*#__PURE__*/_jsx(DateInput, _extends({
82
82
  disabled: true
83
+ }, sharedProps, props)), /*#__PURE__*/_jsx(DateInput, _extends({
84
+ bordered: false
85
+ }, sharedProps, props)), /*#__PURE__*/_jsx(DateInput, _extends({
86
+ bordered: false,
87
+ focusedBorderWidth: 200
83
88
  }, sharedProps, props)), /*#__PURE__*/_jsx(DateInput, _extends({
84
89
  required: true
85
90
  }, sharedProps, props))]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-mobile",
3
- "version": "8.56.0",
3
+ "version": "8.57.0",
4
4
  "description": "Coinbase Design System - Mobile",
5
5
  "repository": {
6
6
  "type": "git",
@@ -197,7 +197,7 @@
197
197
  "react-native-svg": "^14.1.0"
198
198
  },
199
199
  "dependencies": {
200
- "@coinbase/cds-common": "^8.56.0",
200
+ "@coinbase/cds-common": "^8.57.0",
201
201
  "@coinbase/cds-icons": "^5.13.0",
202
202
  "@coinbase/cds-illustrations": "^4.35.0",
203
203
  "@coinbase/cds-lottie-files": "^3.3.4",