@coinbase/cds-mobile 8.59.0 → 8.60.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/buttons/Button.d.ts +8 -0
- package/dts/buttons/Button.d.ts.map +1 -1
- package/dts/buttons/DefaultSlideButtonHandle.d.ts.map +1 -1
- package/dts/buttons/IconButton.d.ts +12 -7
- package/dts/buttons/IconButton.d.ts.map +1 -1
- package/dts/controls/InputIconButton.d.ts +1 -1
- package/dts/loaders/Spinner.d.ts +4 -0
- package/dts/loaders/Spinner.d.ts.map +1 -1
- package/dts/visualizations/ProgressBar.d.ts +2 -2
- package/dts/visualizations/ProgressBar.d.ts.map +1 -1
- package/dts/visualizations/ProgressBarWithFloatLabel.d.ts.map +1 -1
- package/dts/visualizations/ProgressCircle.d.ts +9 -1
- package/dts/visualizations/ProgressCircle.d.ts.map +1 -1
- package/esm/alpha/select/__stories__/AlphaSelect.stories.js +13 -9
- package/esm/buttons/Button.js +10 -5
- package/esm/buttons/DefaultSlideButtonHandle.js +7 -6
- package/esm/buttons/IconButton.js +18 -8
- package/esm/buttons/__stories__/Button.stories.js +28 -0
- package/esm/buttons/__stories__/IconButton.stories.js +116 -1
- package/esm/loaders/Spinner.js +5 -0
- package/esm/overlays/__stories__/AlertBasic.stories.js +2 -2
- package/esm/overlays/__stories__/AlertLongTitle.stories.js +2 -2
- package/esm/overlays/__stories__/AlertOverModal.stories.js +2 -10
- package/esm/overlays/__stories__/AlertPortal.stories.js +2 -6
- package/esm/overlays/__stories__/AlertSingleAction.stories.js +2 -2
- package/esm/overlays/__stories__/AlertVerticalActions.stories.js +2 -2
- package/esm/overlays/__stories__/DrawerFallback.stories.js +20 -13
- package/esm/overlays/__stories__/DrawerScrollable.stories.js +8 -1
- package/esm/overlays/__stories__/Drawers.js +4 -4
- package/esm/overlays/__stories__/ModalBackButton.stories.js +2 -2
- package/esm/overlays/__stories__/ModalBasic.stories.js +2 -2
- package/esm/overlays/__stories__/ModalCustomPadding.stories.js +2 -2
- package/esm/overlays/__stories__/ModalLong.stories.js +2 -2
- package/esm/overlays/__stories__/ModalPortal.stories.js +2 -6
- package/esm/overlays/__stories__/Overlay.stories.js +2 -6
- package/esm/overlays/__stories__/TrayNavigation.stories.js +6 -2
- package/esm/overlays/__stories__/Trays.js +20 -11
- package/esm/sticky-footer/__stories__/StickyFooter.stories.js +2 -2
- package/esm/sticky-footer/__stories__/StickyFooterWithTray.stories.js +3 -3
- package/esm/visualizations/DefaultProgressCircleContent.js +1 -1
- package/esm/visualizations/ProgressBar.js +3 -3
- package/esm/visualizations/ProgressBarWithFloatLabel.js +19 -28
- package/esm/visualizations/ProgressCircle.js +80 -60
- package/esm/visualizations/__stories__/ProgressCircle.stories.js +63 -11
- 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.60.0 (3/29/2026 PST)
|
|
12
|
+
|
|
13
|
+
#### 🚀 Updates
|
|
14
|
+
|
|
15
|
+
- Add indeterminate ProgressCircle. [[#501](https://github.com/coinbase/cds/pull/501)]
|
|
16
|
+
|
|
11
17
|
## 8.59.0 (3/27/2026 PST)
|
|
12
18
|
|
|
13
19
|
#### 🚀 Updates
|
package/dts/buttons/Button.d.ts
CHANGED
|
@@ -35,6 +35,10 @@ export type ButtonBaseProps = SharedProps &
|
|
|
35
35
|
disabled?: boolean;
|
|
36
36
|
/** Mark the button as loading and display a spinner. */
|
|
37
37
|
loading?: boolean;
|
|
38
|
+
/** Size of the loading progress circle in px.
|
|
39
|
+
* @default 24
|
|
40
|
+
*/
|
|
41
|
+
progressCircleSize?: number;
|
|
38
42
|
/** Mark the background and border as transparent until interacted with. */
|
|
39
43
|
transparent?: boolean;
|
|
40
44
|
/** Change to block and expand to 100% of parent width. */
|
|
@@ -96,6 +100,10 @@ export declare const Button: React.MemoExoticComponent<
|
|
|
96
100
|
disabled?: boolean;
|
|
97
101
|
/** Mark the button as loading and display a spinner. */
|
|
98
102
|
loading?: boolean;
|
|
103
|
+
/** Size of the loading progress circle in px.
|
|
104
|
+
* @default 24
|
|
105
|
+
*/
|
|
106
|
+
progressCircleSize?: number;
|
|
99
107
|
/** Mark the background and border as transparent until interacted with. */
|
|
100
108
|
transparent?: boolean;
|
|
101
109
|
/** Change to block and expand to 100% of parent width. */
|
|
@@ -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,EAIL,KAAK,IAAI,EACV,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,wBAAwB,EACxB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/buttons/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,EAIL,KAAK,IAAI,EACV,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,wBAAwB,EACxB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAMzE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CAejB,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;+BAsKzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultSlideButtonHandle.d.ts","sourceRoot":"","sources":["../../src/buttons/DefaultSlideButtonHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"DefaultSlideButtonHandle.d.ts","sourceRoot":"","sources":["../../src/buttons/DefaultSlideButtonHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAgBzC,OAAO,KAAK,EAAE,oBAAoB,EAA0B,MAAM,eAAe,CAAC;AAElF,eAAO,MAAM,eAAe;;;CAAgE,CAAC;AAI7F,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG;IAC9F,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,CAC9C,KAAK,EAAE,6BAA6B,KACjC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/B,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG;IAChG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,CAChD,KAAK,EAAE,+BAA+B,KACnC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;CAgBjB,CAAC;AAEH,eAAO,MAAM,wBAAwB,sDACT,6BAA6B,6CAyBxD,CAAC;AAEF,eAAO,MAAM,0BAA0B,iDAChB,+BAA+B,6CAgBrD,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;+BAuFpC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { type View } from 'react-native';
|
|
3
2
|
import type {
|
|
4
3
|
IconButtonVariant,
|
|
@@ -7,10 +6,13 @@ import type {
|
|
|
7
6
|
SharedProps,
|
|
8
7
|
} from '@coinbase/cds-common/types';
|
|
9
8
|
import { type PressableBaseProps } from '../system/Pressable';
|
|
10
|
-
import type
|
|
9
|
+
import { type ButtonBaseProps } from './Button';
|
|
11
10
|
export type IconButtonBaseProps = SharedProps &
|
|
12
11
|
Omit<PressableBaseProps, 'children'> &
|
|
13
|
-
Pick<
|
|
12
|
+
Pick<
|
|
13
|
+
ButtonBaseProps,
|
|
14
|
+
'disabled' | 'transparent' | 'compact' | 'flush' | 'loading' | 'progressCircleSize'
|
|
15
|
+
> & {
|
|
14
16
|
/** Name of the icon, as defined in Figma. */
|
|
15
17
|
name: IconName;
|
|
16
18
|
/**
|
|
@@ -27,11 +29,14 @@ export type IconButtonBaseProps = SharedProps &
|
|
|
27
29
|
variant?: IconButtonVariant;
|
|
28
30
|
};
|
|
29
31
|
export type IconButtonProps = IconButtonBaseProps;
|
|
30
|
-
export declare const IconButton:
|
|
31
|
-
|
|
32
|
+
export declare const IconButton: import('react').MemoExoticComponent<
|
|
33
|
+
import('react').ForwardRefExoticComponent<
|
|
32
34
|
SharedProps &
|
|
33
35
|
Omit<PressableBaseProps, 'children'> &
|
|
34
|
-
Pick<
|
|
36
|
+
Pick<
|
|
37
|
+
ButtonBaseProps,
|
|
38
|
+
'transparent' | 'disabled' | 'loading' | 'progressCircleSize' | 'compact' | 'flush'
|
|
39
|
+
> & {
|
|
35
40
|
/** Name of the icon, as defined in Figma. */
|
|
36
41
|
name: IconName;
|
|
37
42
|
/**
|
|
@@ -46,7 +51,7 @@ export declare const IconButton: React.MemoExoticComponent<
|
|
|
46
51
|
* @default primary
|
|
47
52
|
*/
|
|
48
53
|
variant?: IconButtonVariant;
|
|
49
|
-
} &
|
|
54
|
+
} & import('react').RefAttributes<View>
|
|
50
55
|
>
|
|
51
56
|
>;
|
|
52
57
|
//# sourceMappingURL=IconButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/buttons/IconButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/buttons/IconButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,IAAI,EAAkB,MAAM,cAAc,CAAC;AAG1F,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,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;CAC7B,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,eAAO,MAAM,UAAU;IAlBnB,6CAA6C;UACvC,QAAQ;IACd;;;OAGG;eACQ,QAAQ;IACnB,iCAAiC;aACxB,OAAO;IAChB;;;OAGG;cACO,iBAAiB;yCAsG9B,CAAC"}
|
|
@@ -16,7 +16,7 @@ export declare const InputIconButton: React.MemoExoticComponent<
|
|
|
16
16
|
Omit<import('../system').PressableBaseProps, 'children'> &
|
|
17
17
|
Pick<
|
|
18
18
|
import('../buttons').ButtonBaseProps,
|
|
19
|
-
'transparent' | 'disabled' | 'loading' | 'compact' | 'flush'
|
|
19
|
+
'transparent' | 'disabled' | 'loading' | 'progressCircleSize' | 'compact' | 'flush'
|
|
20
20
|
> & {
|
|
21
21
|
name: import('@coinbase/cds-common').IconName;
|
|
22
22
|
iconSize?: import('@coinbase/cds-common').IconSize;
|
package/dts/loaders/Spinner.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ActivityIndicatorProps } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use indeterminate ProgressCircle or ActivityIndicator component instead. This will be removed in a future major release.
|
|
5
|
+
* @deprecationExpectedRemoval v10
|
|
6
|
+
*/
|
|
3
7
|
export declare const Spinner: React.NamedExoticComponent<ActivityIndicatorProps>;
|
|
4
8
|
//# sourceMappingURL=Spinner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../src/loaders/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAI3D,eAAO,MAAM,OAAO,oDAoBlB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../src/loaders/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAI3D;;;GAGG;AACH,eAAO,MAAM,OAAO,oDAoBlB,CAAC"}
|
|
@@ -7,7 +7,7 @@ export type ProgressBaseProps = SharedProps &
|
|
|
7
7
|
Pick<HintMotionBaseProps, 'disableAnimateOnMount'> &
|
|
8
8
|
Pick<SharedAccessibilityProps, 'accessibilityLabel'> & {
|
|
9
9
|
/** Number between 0-1 representing the progress percentage */
|
|
10
|
-
progress
|
|
10
|
+
progress?: number;
|
|
11
11
|
/** Toggle used to change thickness of progress visualization
|
|
12
12
|
* @default normal
|
|
13
13
|
* */
|
|
@@ -46,7 +46,7 @@ export declare const ProgressBar: React.MemoExoticComponent<
|
|
|
46
46
|
Pick<HintMotionBaseProps, 'disableAnimateOnMount'> &
|
|
47
47
|
Pick<SharedAccessibilityProps, 'accessibilityLabel'> & {
|
|
48
48
|
/** Number between 0-1 representing the progress percentage */
|
|
49
|
-
progress
|
|
49
|
+
progress?: number;
|
|
50
50
|
/** Toggle used to change thickness of progress visualization
|
|
51
51
|
* @default normal
|
|
52
52
|
* */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8E,MAAM,OAAO,CAAC;AACnG,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8E,MAAM,OAAO,CAAC;AACnG,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAMhG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG,WAAW,GACzC,IAAI,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,GAClD,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,GAAG;IACrD,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;SAEK;IACL,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,yEAAyE;IACzE,MAAM,CAAC,EAAE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,WAAW;IApCpB,8DAA8D;eACnD,MAAM;IACjB;;SAEK;aACI,MAAM;IACf;;OAEG;eACQ,OAAO;IAClB;;;OAGG;YACK,SAAS,CAAC,KAAK;IACvB;;OAEG;qBACc,MAAM,IAAI;IAC3B;;OAEG;uBACgB,MAAM,IAAI;;YAIvB,SAAS,CAAC,SAAS,CAAC;IAC5B,yEAAyE;aAChE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,4BAA4B;QAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KACjC;+BAiHF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBarWithFloatLabel.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressBarWithFloatLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ProgressBarWithFloatLabel.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressBarWithFloatLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkE,MAAM,OAAO,CAAC;AACvF,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAM5D,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAQvD,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,8BAA8B,EAC9B,OAAO,GAAG,UAAU,GAAG,uBAAuB,GAAG,UAAU,GAAG,gBAAgB,GAAG,QAAQ,CAC1F,CAAC;AAuFF,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,iBAAiB,EACjB,UAAU,GAAG,uBAAuB,GAAG,UAAU,GAAG,QAAQ,CAC7D,GAAG;IACF,yHAAyH;IACzH,KAAK,EAAE,gBAAgB,CAAC;IACxB;;;SAGK;IACL,cAAc,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,uFAAuF;IACvF,MAAM,CAAC,EAAE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,8BAA8B;QAC9B,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACtC,oBAAoB;QACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C,KAAK,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,CAkCxD,CAAC"}
|
|
@@ -26,6 +26,10 @@ export type ProgressCircleBaseProps = ProgressBaseProps & {
|
|
|
26
26
|
* Optional component to override the default content rendered inside the circle.
|
|
27
27
|
*/
|
|
28
28
|
contentNode?: React.ReactNode;
|
|
29
|
+
/**
|
|
30
|
+
* Toggle used to show an indeterminate progress circle.
|
|
31
|
+
*/
|
|
32
|
+
indeterminate?: boolean;
|
|
29
33
|
};
|
|
30
34
|
export type ProgressCircleProps = ProgressCircleBaseProps & {
|
|
31
35
|
style?: StyleProp<ViewStyle>;
|
|
@@ -61,7 +65,7 @@ export declare const ProgressCircle: React.MemoExoticComponent<
|
|
|
61
65
|
SharedProps &
|
|
62
66
|
Pick<import('../motion/types').HintMotionBaseProps, 'disableAnimateOnMount'> &
|
|
63
67
|
Pick<import('@coinbase/cds-common').SharedAccessibilityProps, 'accessibilityLabel'> & {
|
|
64
|
-
progress
|
|
68
|
+
progress?: number;
|
|
65
69
|
weight?: import('@coinbase/cds-common').Weight;
|
|
66
70
|
disabled?: boolean;
|
|
67
71
|
color?: ThemeVars.Color;
|
|
@@ -89,6 +93,10 @@ export declare const ProgressCircle: React.MemoExoticComponent<
|
|
|
89
93
|
* Optional component to override the default content rendered inside the circle.
|
|
90
94
|
*/
|
|
91
95
|
contentNode?: React.ReactNode;
|
|
96
|
+
/**
|
|
97
|
+
* Toggle used to show an indeterminate progress circle.
|
|
98
|
+
*/
|
|
99
|
+
indeterminate?: boolean;
|
|
92
100
|
} & {
|
|
93
101
|
style?: StyleProp<ViewStyle>;
|
|
94
102
|
/** Custom styles for individual elements of the ProgressCircle component */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressCircle.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressCircle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAY,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"ProgressCircle.d.ts","sourceRoot":"","sources":["../../src/visualizations/ProgressCircle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAY,KAAK,SAAS,EAAc,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AASnE,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAUvD,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG;IACxD;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,4EAA4E;IAC5E,MAAM,CAAC,EAAE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,4BAA4B;QAC5B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,kBAAkB;QAClB,GAAG,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3B,6BAA6B;QAC7B,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,yCAAyC;QACzC,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAChC,gCAAgC;QAChC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,uBAAuB,EACvB,UAAU,GAAG,uBAAuB,GAAG,UAAU,CAClD,GACC,QAAQ,GAAG;IACT;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;CACzB,CAAC;AAoEJ,eAAO,MAAM,cAAc;;;;;;;;IA5HzB;;OAEG;kBACW,OAAO;IACrB;;;;OAIG;eACQ,OAAO;IAClB;;;;;OAKG;WACI,MAAM;IACb;;OAEG;kBACW,KAAK,CAAC,SAAS;IAC7B;;OAEG;oBACa,OAAO;;YAIf,SAAS,CAAC,SAAS,CAAC;IAC5B,4EAA4E;aACnE;QACP,mBAAmB;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,4BAA4B;QAC5B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,kBAAkB;QAClB,GAAG,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3B,6BAA6B;QAC7B,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,yCAAyC;QACzC,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAChC,gCAAgC;QAChC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;KAC/B;+BA2OF,CAAC"}
|
|
@@ -5,9 +5,9 @@ import { Example, ExampleScreen } from '../../../examples/ExampleScreen';
|
|
|
5
5
|
import { Icon } from '../../../icons';
|
|
6
6
|
import { HStack } from '../../../layout/HStack';
|
|
7
7
|
import { VStack } from '../../../layout/VStack';
|
|
8
|
-
import { Spinner } from '../../../loaders';
|
|
9
8
|
import { Pressable } from '../../../system';
|
|
10
9
|
import { Text } from '../../../typography/Text';
|
|
10
|
+
import { ProgressCircle } from '../../../visualizations/ProgressCircle';
|
|
11
11
|
import { Select } from '../Select';
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
13
|
const exampleOptions = [{
|
|
@@ -680,14 +680,16 @@ const MixedDefaultAndCustomComponentOptions = () => {
|
|
|
680
680
|
} = _ref;
|
|
681
681
|
return /*#__PURE__*/_jsxs(HStack, {
|
|
682
682
|
justifyContent: "center",
|
|
683
|
-
children: [/*#__PURE__*/_jsx(
|
|
684
|
-
|
|
683
|
+
children: [/*#__PURE__*/_jsx(ProgressCircle, {
|
|
684
|
+
indeterminate: true,
|
|
685
|
+
size: 20
|
|
685
686
|
}), /*#__PURE__*/_jsx(Button, {
|
|
686
687
|
transparent: true,
|
|
687
688
|
onPress: () => onPress == null ? void 0 : onPress(value),
|
|
688
689
|
children: value != null ? value : 'Empty value'
|
|
689
|
-
}), /*#__PURE__*/_jsx(
|
|
690
|
-
|
|
690
|
+
}), /*#__PURE__*/_jsx(ProgressCircle, {
|
|
691
|
+
indeterminate: true,
|
|
692
|
+
size: 20
|
|
691
693
|
})]
|
|
692
694
|
});
|
|
693
695
|
};
|
|
@@ -748,16 +750,18 @@ const CustomOptionComponent = () => {
|
|
|
748
750
|
} = _ref3;
|
|
749
751
|
return /*#__PURE__*/_jsxs(HStack, {
|
|
750
752
|
justifyContent: "center",
|
|
751
|
-
children: [/*#__PURE__*/_jsx(
|
|
752
|
-
|
|
753
|
+
children: [/*#__PURE__*/_jsx(ProgressCircle, {
|
|
754
|
+
indeterminate: true,
|
|
755
|
+
size: 20
|
|
753
756
|
}), /*#__PURE__*/_jsx(Button, {
|
|
754
757
|
transparent: true,
|
|
755
758
|
onPress: () => onPress == null ? void 0 : onPress(value),
|
|
756
759
|
children: /*#__PURE__*/_jsx(Text, {
|
|
757
760
|
children: value != null ? value : 'Empty value'
|
|
758
761
|
})
|
|
759
|
-
}), /*#__PURE__*/_jsx(
|
|
760
|
-
|
|
762
|
+
}), /*#__PURE__*/_jsx(ProgressCircle, {
|
|
763
|
+
indeterminate: true,
|
|
764
|
+
size: 20
|
|
761
765
|
})]
|
|
762
766
|
});
|
|
763
767
|
};
|
package/esm/buttons/Button.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const _excluded = ["variant", "loading", "transparent", "block", "compact", "children", "start", "startIcon", "startIconActive", "end", "endIcon", "endIconActive", "flush", "noScaleOnPress", "numberOfLines", "font", "fontFamily", "fontSize", "fontWeight", "lineHeight", "background", "color", "style", "wrapperStyles", "feedback", "borderColor", "borderWidth", "borderRadius", "accessibilityLabel", "accessibilityHint"];
|
|
1
|
+
const _excluded = ["variant", "loading", "progressCircleSize", "transparent", "block", "compact", "children", "start", "startIcon", "startIconActive", "end", "endIcon", "endIconActive", "flush", "noScaleOnPress", "numberOfLines", "font", "fontFamily", "fontSize", "fontWeight", "lineHeight", "background", "color", "style", "wrapperStyles", "feedback", "borderColor", "borderWidth", "borderRadius", "accessibilityLabel", "accessibilityHint"];
|
|
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, isValidElement, memo, useCallback, useMemo } from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import { StyleSheet } from 'react-native';
|
|
6
6
|
import { transparentVariants, variants } from '@coinbase/cds-common/tokens/button';
|
|
7
7
|
import { interactableHeight } from '@coinbase/cds-common/tokens/interactableHeight';
|
|
8
8
|
import { getButtonSpacingProps } from '@coinbase/cds-common/utils/getButtonSpacingProps';
|
|
@@ -11,7 +11,9 @@ import { Icon } from '../icons/Icon';
|
|
|
11
11
|
import { HStack } from '../layout/HStack';
|
|
12
12
|
import { Pressable } from '../system/Pressable';
|
|
13
13
|
import { Text } from '../typography/Text';
|
|
14
|
+
import { ProgressCircle } from '../visualizations/ProgressCircle';
|
|
14
15
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
+
const defaultProgressCircleSize = 24;
|
|
15
17
|
export const styles = StyleSheet.create({
|
|
16
18
|
inline: {
|
|
17
19
|
width: 'auto',
|
|
@@ -32,6 +34,7 @@ export const Button = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Button(
|
|
|
32
34
|
let {
|
|
33
35
|
variant = 'primary',
|
|
34
36
|
loading,
|
|
37
|
+
progressCircleSize = defaultProgressCircleSize,
|
|
35
38
|
transparent,
|
|
36
39
|
block,
|
|
37
40
|
compact,
|
|
@@ -123,9 +126,11 @@ export const Button = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Button(
|
|
|
123
126
|
paddingX: paddingX,
|
|
124
127
|
paddingY: paddingY,
|
|
125
128
|
style: sizingStyle,
|
|
126
|
-
children: loading ? /*#__PURE__*/_jsx(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
+
children: loading ? /*#__PURE__*/_jsx(ProgressCircle, {
|
|
130
|
+
indeterminate: true,
|
|
131
|
+
color: colorValue,
|
|
132
|
+
size: progressCircleSize,
|
|
133
|
+
weight: "thin"
|
|
129
134
|
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
130
135
|
children: [start != null ? start : startIcon ? /*#__PURE__*/_jsx(Icon, {
|
|
131
136
|
active: startIconActive,
|
|
@@ -5,17 +5,17 @@ import React, { forwardRef, memo, useMemo } from 'react';
|
|
|
5
5
|
import { StyleSheet } from 'react-native';
|
|
6
6
|
import { variants } from '@coinbase/cds-common/tokens/button';
|
|
7
7
|
import { animated, useChain, useSpring, useSpringRef } from '@react-spring/native';
|
|
8
|
-
import { useTheme } from '../hooks/useTheme';
|
|
9
8
|
import { Icon } from '../icons/Icon';
|
|
10
9
|
import { Box } from '../layout/Box';
|
|
11
|
-
import { Spinner } from '../loaders/Spinner';
|
|
12
10
|
import { Pressable } from '../system/Pressable';
|
|
13
11
|
import { TextHeadline } from '../typography/TextHeadline';
|
|
12
|
+
import { ProgressCircle } from '../visualizations/ProgressCircle';
|
|
14
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
14
|
export const animationConfig = {
|
|
16
15
|
tension: 300,
|
|
17
16
|
clamp: true
|
|
18
17
|
};
|
|
18
|
+
const progressCircleSize = 24;
|
|
19
19
|
export const styles = StyleSheet.create({
|
|
20
20
|
base: {
|
|
21
21
|
width: '100%',
|
|
@@ -39,7 +39,6 @@ export const SlideButtonHandleChecked = /*#__PURE__*/memo(_ref => {
|
|
|
39
39
|
end,
|
|
40
40
|
compact
|
|
41
41
|
} = _ref;
|
|
42
|
-
const theme = useTheme();
|
|
43
42
|
const handleWidth = compact ? 40 : 56;
|
|
44
43
|
return /*#__PURE__*/_jsxs(Box, {
|
|
45
44
|
alignItems: "center",
|
|
@@ -55,9 +54,11 @@ export const SlideButtonHandleChecked = /*#__PURE__*/memo(_ref => {
|
|
|
55
54
|
justifyContent: "center",
|
|
56
55
|
pin: "right",
|
|
57
56
|
width: handleWidth,
|
|
58
|
-
children: end != null ? end : /*#__PURE__*/_jsx(
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
children: end != null ? end : /*#__PURE__*/_jsx(ProgressCircle, {
|
|
58
|
+
indeterminate: true,
|
|
59
|
+
color: "fgInverse",
|
|
60
|
+
size: progressCircleSize,
|
|
61
|
+
weight: "thin"
|
|
61
62
|
})
|
|
62
63
|
})]
|
|
63
64
|
});
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
const _excluded = ["name", "active", "variant", "transparent", "compact", "background", "color", "borderColor", "iconSize", "borderWidth", "borderRadius", "feedback", "flush", "loading", "style", "accessibilityHint", "accessibilityLabel"];
|
|
1
|
+
const _excluded = ["name", "active", "variant", "transparent", "compact", "background", "color", "borderColor", "iconSize", "borderWidth", "borderRadius", "feedback", "flush", "loading", "progressCircleSize", "style", "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
|
-
import
|
|
5
|
-
import { ActivityIndicator } from 'react-native';
|
|
4
|
+
import { forwardRef, memo, useCallback, useMemo } from 'react';
|
|
6
5
|
import { transparentVariants, variants } from '@coinbase/cds-common/tokens/button';
|
|
7
6
|
import { interactableHeight } from '@coinbase/cds-common/tokens/interactableHeight';
|
|
8
7
|
import { getButtonSpacingProps } from '@coinbase/cds-common/utils/getButtonSpacingProps';
|
|
9
8
|
import { useTheme } from '../hooks/useTheme';
|
|
10
9
|
import { Icon } from '../icons/Icon';
|
|
10
|
+
import { Box } from '../layout/Box';
|
|
11
11
|
import { Pressable } from '../system/Pressable';
|
|
12
|
+
import { ProgressCircle } from '../visualizations/ProgressCircle';
|
|
12
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
14
|
export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function IconButton(_ref, ref) {
|
|
14
15
|
let {
|
|
@@ -26,12 +27,14 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Ico
|
|
|
26
27
|
feedback = compact ? 'light' : 'normal',
|
|
27
28
|
flush,
|
|
28
29
|
loading,
|
|
30
|
+
progressCircleSize,
|
|
29
31
|
style,
|
|
30
32
|
accessibilityHint,
|
|
31
33
|
accessibilityLabel
|
|
32
34
|
} = _ref,
|
|
33
35
|
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
34
36
|
const theme = useTheme();
|
|
37
|
+
const iconSizeValue = theme.iconSize[iconSize];
|
|
35
38
|
const variantMap = transparent ? transparentVariants : variants;
|
|
36
39
|
const variantStyle = variantMap[variant];
|
|
37
40
|
const colorValue = color != null ? color : variantStyle.color;
|
|
@@ -68,11 +71,18 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Ico
|
|
|
68
71
|
style: pressableStyle,
|
|
69
72
|
transparentWhileInactive: transparent
|
|
70
73
|
}, props, {
|
|
71
|
-
children: loading ? /*#__PURE__*/_jsx(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
children: loading ? /*#__PURE__*/_jsx(Box, {
|
|
75
|
+
alignItems: "center",
|
|
76
|
+
height: minHeight,
|
|
77
|
+
justifyContent: "center",
|
|
78
|
+
width: minHeight,
|
|
79
|
+
children: /*#__PURE__*/_jsx(ProgressCircle, {
|
|
80
|
+
indeterminate: true,
|
|
81
|
+
color: colorValue,
|
|
82
|
+
size: progressCircleSize != null ? progressCircleSize : iconSizeValue,
|
|
83
|
+
testID: props.testID ? props.testID + "-progress-circle" : undefined,
|
|
84
|
+
weight: "thin"
|
|
85
|
+
})
|
|
76
86
|
}) :
|
|
77
87
|
/*#__PURE__*/
|
|
78
88
|
/* TO DO: test using currentColor like web does on Icon here */
|
|
@@ -44,6 +44,34 @@ const buttonStories = [{
|
|
|
44
44
|
}, {
|
|
45
45
|
loading: true,
|
|
46
46
|
compact: true
|
|
47
|
+
}, {
|
|
48
|
+
loading: true,
|
|
49
|
+
transparent: true
|
|
50
|
+
}, {
|
|
51
|
+
loading: true,
|
|
52
|
+
transparent: true,
|
|
53
|
+
compact: true
|
|
54
|
+
}, {
|
|
55
|
+
loading: true,
|
|
56
|
+
variant: 'secondary'
|
|
57
|
+
}, {
|
|
58
|
+
loading: true,
|
|
59
|
+
variant: 'secondary',
|
|
60
|
+
compact: true
|
|
61
|
+
}, {
|
|
62
|
+
loading: true,
|
|
63
|
+
variant: 'positive'
|
|
64
|
+
}, {
|
|
65
|
+
loading: true,
|
|
66
|
+
variant: 'positive',
|
|
67
|
+
compact: true
|
|
68
|
+
}, {
|
|
69
|
+
loading: true,
|
|
70
|
+
variant: 'negative'
|
|
71
|
+
}, {
|
|
72
|
+
loading: true,
|
|
73
|
+
variant: 'negative',
|
|
74
|
+
compact: true
|
|
47
75
|
}, {
|
|
48
76
|
startIcon: 'backArrow'
|
|
49
77
|
}, {
|
|
@@ -2,7 +2,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { names } from '@coinbase/cds-icons/names';
|
|
4
4
|
import { Example, ExampleScreen } from '../../examples/ExampleScreen';
|
|
5
|
-
import { HStack } from '../../layout';
|
|
5
|
+
import { HStack, VStack } from '../../layout';
|
|
6
6
|
import { Box } from '../../layout/Box';
|
|
7
7
|
import { Text } from '../../typography/Text';
|
|
8
8
|
import { IconButton } from '../IconButton';
|
|
@@ -123,6 +123,20 @@ const IconButtonScreen = () => {
|
|
|
123
123
|
font: "body",
|
|
124
124
|
children: "Disabled secondary"
|
|
125
125
|
})]
|
|
126
|
+
}), /*#__PURE__*/_jsxs(Box, {
|
|
127
|
+
alignItems: "center",
|
|
128
|
+
flexDirection: "row",
|
|
129
|
+
justifyContent: "space-between",
|
|
130
|
+
width: 350,
|
|
131
|
+
children: [/*#__PURE__*/_jsx(IconButton, {
|
|
132
|
+
loading: true,
|
|
133
|
+
accessibilityLabel: accessibilityLabel,
|
|
134
|
+
name: iconName,
|
|
135
|
+
variant: "primary"
|
|
136
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
137
|
+
font: "body",
|
|
138
|
+
children: "Loading primary"
|
|
139
|
+
})]
|
|
126
140
|
})]
|
|
127
141
|
}), /*#__PURE__*/_jsx(Example, {
|
|
128
142
|
inline: true,
|
|
@@ -168,6 +182,107 @@ const IconButtonScreen = () => {
|
|
|
168
182
|
})]
|
|
169
183
|
})
|
|
170
184
|
})
|
|
185
|
+
}), /*#__PURE__*/_jsx(Example, {
|
|
186
|
+
inline: true,
|
|
187
|
+
title: "Loading",
|
|
188
|
+
children: /*#__PURE__*/_jsxs(VStack, {
|
|
189
|
+
gap: 3,
|
|
190
|
+
children: [/*#__PURE__*/_jsxs(Box, {
|
|
191
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
192
|
+
font: "label2",
|
|
193
|
+
style: {
|
|
194
|
+
marginBottom: 8
|
|
195
|
+
},
|
|
196
|
+
children: "Loading by variant"
|
|
197
|
+
}), /*#__PURE__*/_jsxs(HStack, {
|
|
198
|
+
flexWrap: "wrap",
|
|
199
|
+
gap: 2,
|
|
200
|
+
children: [/*#__PURE__*/_jsx(IconButton, {
|
|
201
|
+
loading: true,
|
|
202
|
+
accessibilityLabel: "Loading",
|
|
203
|
+
name: iconName,
|
|
204
|
+
variant: "primary"
|
|
205
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
206
|
+
loading: true,
|
|
207
|
+
accessibilityLabel: "Loading",
|
|
208
|
+
name: iconName,
|
|
209
|
+
variant: "secondary"
|
|
210
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
211
|
+
loading: true,
|
|
212
|
+
accessibilityLabel: "Loading",
|
|
213
|
+
name: iconName,
|
|
214
|
+
variant: "foregroundMuted"
|
|
215
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
216
|
+
loading: true,
|
|
217
|
+
transparent: true,
|
|
218
|
+
accessibilityLabel: "Loading",
|
|
219
|
+
name: iconName,
|
|
220
|
+
variant: "primary"
|
|
221
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
222
|
+
loading: true,
|
|
223
|
+
transparent: true,
|
|
224
|
+
accessibilityLabel: "Loading",
|
|
225
|
+
name: iconName,
|
|
226
|
+
variant: "secondary"
|
|
227
|
+
})]
|
|
228
|
+
})]
|
|
229
|
+
}), /*#__PURE__*/_jsxs(Box, {
|
|
230
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
231
|
+
font: "label2",
|
|
232
|
+
style: {
|
|
233
|
+
marginBottom: 8
|
|
234
|
+
},
|
|
235
|
+
children: "Loading by icon size"
|
|
236
|
+
}), /*#__PURE__*/_jsxs(HStack, {
|
|
237
|
+
alignItems: "center",
|
|
238
|
+
gap: 2,
|
|
239
|
+
children: [/*#__PURE__*/_jsx(IconButton, {
|
|
240
|
+
loading: true,
|
|
241
|
+
accessibilityLabel: "Loading",
|
|
242
|
+
iconSize: "xs",
|
|
243
|
+
name: iconName
|
|
244
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
245
|
+
loading: true,
|
|
246
|
+
accessibilityLabel: "Loading",
|
|
247
|
+
iconSize: "s",
|
|
248
|
+
name: iconName
|
|
249
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
250
|
+
loading: true,
|
|
251
|
+
accessibilityLabel: "Loading",
|
|
252
|
+
iconSize: "m",
|
|
253
|
+
name: iconName
|
|
254
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
255
|
+
loading: true,
|
|
256
|
+
accessibilityLabel: "Loading",
|
|
257
|
+
compact: false,
|
|
258
|
+
iconSize: "l",
|
|
259
|
+
name: iconName
|
|
260
|
+
})]
|
|
261
|
+
})]
|
|
262
|
+
}), /*#__PURE__*/_jsxs(Box, {
|
|
263
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
264
|
+
font: "label2",
|
|
265
|
+
style: {
|
|
266
|
+
marginBottom: 8
|
|
267
|
+
},
|
|
268
|
+
children: "Loading compact vs regular"
|
|
269
|
+
}), /*#__PURE__*/_jsxs(HStack, {
|
|
270
|
+
alignItems: "center",
|
|
271
|
+
gap: 2,
|
|
272
|
+
children: [/*#__PURE__*/_jsx(IconButton, {
|
|
273
|
+
compact: true,
|
|
274
|
+
loading: true,
|
|
275
|
+
accessibilityLabel: "Loading",
|
|
276
|
+
name: iconName
|
|
277
|
+
}), /*#__PURE__*/_jsx(IconButton, {
|
|
278
|
+
loading: true,
|
|
279
|
+
accessibilityLabel: "Loading",
|
|
280
|
+
compact: false,
|
|
281
|
+
name: iconName
|
|
282
|
+
})]
|
|
283
|
+
})]
|
|
284
|
+
})]
|
|
285
|
+
})
|
|
171
286
|
}), /*#__PURE__*/_jsx(Example, {
|
|
172
287
|
title: "All",
|
|
173
288
|
children: names.map(name => {
|
package/esm/loaders/Spinner.js
CHANGED
|
@@ -4,6 +4,11 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
4
4
|
import React, { memo } from 'react';
|
|
5
5
|
import { ActivityIndicator } from 'react-native';
|
|
6
6
|
import { useTheme } from '../hooks/useTheme';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Use indeterminate ProgressCircle or ActivityIndicator component instead. This will be removed in a future major release.
|
|
10
|
+
* @deprecationExpectedRemoval v10
|
|
11
|
+
*/
|
|
7
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
13
|
export const Spinner = /*#__PURE__*/memo(function Spinner(_ref) {
|
|
9
14
|
let {
|
|
@@ -4,14 +4,14 @@ import { Example, ExampleScreen } from '../../examples/ExampleScreen';
|
|
|
4
4
|
import { Alert } from '../Alert';
|
|
5
5
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
6
|
const BasicAlert = () => {
|
|
7
|
-
const [visible, setVisible] = useState(
|
|
7
|
+
const [visible, setVisible] = useState(false);
|
|
8
8
|
const handleShow = useCallback(() => setVisible(true), []);
|
|
9
9
|
const handleClose = useCallback(() => setVisible(false), []);
|
|
10
10
|
const handleAction = useCallback(() => console.log('pressed'), []);
|
|
11
11
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
12
12
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
13
13
|
onPress: handleShow,
|
|
14
|
-
children: "
|
|
14
|
+
children: "Open"
|
|
15
15
|
}), /*#__PURE__*/_jsx(Alert, {
|
|
16
16
|
body: "Alert body type that can run over multiple lines, but should be kept short.",
|
|
17
17
|
dismissActionLabel: "Cancel",
|
|
@@ -4,14 +4,14 @@ import { Example, ExampleScreen } from '../../examples/ExampleScreen';
|
|
|
4
4
|
import { Alert } from '../Alert';
|
|
5
5
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
6
|
const LongTitleAlert = () => {
|
|
7
|
-
const [visible, setVisible] = useState(
|
|
7
|
+
const [visible, setVisible] = useState(false);
|
|
8
8
|
const handleShow = useCallback(() => setVisible(true), []);
|
|
9
9
|
const handleClose = useCallback(() => setVisible(false), []);
|
|
10
10
|
const handleAction = useCallback(() => console.log('pressed'), []);
|
|
11
11
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
12
12
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
13
13
|
onPress: handleShow,
|
|
14
|
-
children: "
|
|
14
|
+
children: "Open"
|
|
15
15
|
}), /*#__PURE__*/_jsx(Alert, {
|
|
16
16
|
body: "Alert body type that can run over multiple lines, but should be kept short.",
|
|
17
17
|
dismissActionLabel: "Cancel",
|