@coinbase/cds-mobile 8.56.1 → 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 +6 -0
- package/dts/controls/SearchInput.d.ts +4 -0
- package/dts/controls/SearchInput.d.ts.map +1 -1
- package/dts/controls/TextInput.d.ts +14 -10
- package/dts/controls/TextInput.d.ts.map +1 -1
- package/dts/dates/DateInput.d.ts +17 -14
- package/dts/dates/DateInput.d.ts.map +1 -1
- package/esm/controls/TextInput.js +5 -2
- package/esm/controls/__stories__/SearchInput.stories.js +26 -1
- package/esm/controls/__stories__/TextInput.stories.js +11 -4
- package/esm/dates/__stories__/DateInput.stories.js +5 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,12 @@ All notable changes to this project will be documented in this file.
|
|
|
8
8
|
|
|
9
9
|
<!-- template-start -->
|
|
10
10
|
|
|
11
|
+
## 8.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
|
+
|
|
11
17
|
## 8.56.1 ((3/24/2026, 08:39 AM PST))
|
|
12
18
|
|
|
13
19
|
This is an artificial version bump with no new change.
|
|
@@ -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;
|
|
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"}
|
package/dts/dates/DateInput.d.ts
CHANGED
|
@@ -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
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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;
|
|
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,
|
|
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__*/
|
|
441
|
+
}), /*#__PURE__*/_jsxs(Example, {
|
|
442
442
|
inline: true,
|
|
443
|
-
title: "TextInput
|
|
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.
|
|
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.
|
|
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",
|