@rango-dev/ui 0.1.10-next.90 → 0.1.10-next.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/components/Alert/Alert.d.ts +3 -2
  2. package/dist/components/Button/Button.d.ts +3 -3
  3. package/dist/components/Icon/ChevronRightIcon.d.ts +3 -0
  4. package/dist/components/Icon/DisconnectIcon.d.ts +3 -0
  5. package/dist/components/Icon/index.d.ts +2 -0
  6. package/dist/components/Icon/types.d.ts +1 -1
  7. package/dist/components/Spacer/Spacer.d.ts +1 -1
  8. package/dist/components/TextField/TextField.stories.d.ts +1 -1
  9. package/dist/components/Typography/Typography.d.ts +3 -2
  10. package/dist/containers/ConfirmWallets/ConfirmWallets.d.ts +3 -5
  11. package/dist/ui.cjs.development.js +643 -445
  12. package/dist/ui.cjs.development.js.map +1 -1
  13. package/dist/ui.cjs.production.min.js +1 -1
  14. package/dist/ui.cjs.production.min.js.map +1 -1
  15. package/dist/ui.esm.js +644 -448
  16. package/dist/ui.esm.js.map +1 -1
  17. package/package.json +2 -2
  18. package/src/components/Alert/Alert.tsx +40 -37
  19. package/src/components/BestRoute/BestRoute.tsx +28 -19
  20. package/src/components/BlockchainSelector/BlockchainSelector.tsx +1 -3
  21. package/src/components/Button/Button.stories.tsx +1 -1
  22. package/src/components/Button/Button.tsx +35 -23
  23. package/src/components/Chip/Chip.tsx +7 -4
  24. package/src/components/Icon/ChevronRightIcon.tsx +29 -0
  25. package/src/components/Icon/DisconnectIcon.tsx +31 -0
  26. package/src/components/Icon/HistoryIcon.tsx +12 -18
  27. package/src/components/Icon/RetryIcon.tsx +13 -13
  28. package/src/components/Icon/SettingIcon.tsx +6 -14
  29. package/src/components/Icon/index.ts +2 -0
  30. package/src/components/Icon/types.tsx +1 -1
  31. package/src/components/LiquiditySourceList/LiquiditySourceList.tsx +34 -10
  32. package/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.tsx +1 -1
  33. package/src/components/Radio/Radio.tsx +5 -4
  34. package/src/components/SelectableWalletList/SelectableWalletList.tsx +0 -1
  35. package/src/components/Settings/Settings.tsx +22 -6
  36. package/src/components/Spacer/Spacer.tsx +31 -1
  37. package/src/components/StepDetail/StepDetail.tsx +18 -7
  38. package/src/components/SwapContainer/SwapContainer.tsx +1 -1
  39. package/src/components/Switch/Switch.tsx +7 -5
  40. package/src/components/TextField/TextField.tsx +2 -1
  41. package/src/components/Typography/Typography.stories.tsx +4 -0
  42. package/src/components/Typography/Typography.tsx +20 -9
  43. package/src/components/Wallet/State.tsx +2 -3
  44. package/src/components/Wallet/Wallet.tsx +32 -5
  45. package/src/containers/ConfirmSwap/ConfirmSwap.tsx +0 -2
  46. package/src/containers/ConfirmWallets/ConfirmWallets.tsx +76 -51
  47. package/src/theme.ts +4 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/ui",
3
- "version": "0.1.10-next.90",
3
+ "version": "0.1.10-next.92",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -75,7 +75,7 @@
75
75
  "@rango-dev/wallets-shared": "^0.1.11-next.78",
76
76
  "@stitches/react": "^1.2.8",
77
77
  "@types/react-color": "^3.0.6",
78
- "rango-sdk": "^0.1.18",
78
+ "rango-sdk": "^0.1.19",
79
79
  "react-color": "^2.19.3",
80
80
  "react-virtualized-auto-sizer": "^1.0.7",
81
81
  "react-window": "^1.8.8",
@@ -1,52 +1,53 @@
1
- import React, { PropsWithChildren } from 'react';
1
+ import React, { PropsWithChildren, ReactNode } from 'react';
2
2
  import { CheckCircleIcon, InfoCircleIcon, WarningIcon } from '../Icon';
3
3
  import { Typography } from '../Typography';
4
- import { darkTheme, styled } from '../../theme';
4
+ import { styled } from '../../theme';
5
+ import { Spacer } from '../Spacer';
5
6
 
6
7
  const MainContainer = styled('div', {
7
- display: 'flex',
8
8
  width: '100%',
9
- alignItems: 'center',
10
9
  padding: '$16',
11
10
  borderRadius: '$5',
11
+ backgroundColor: '$neutrals300',
12
+ color: '$neutrals800',
13
+
14
+ '.main': {
15
+ display: 'flex',
16
+ alignItems: 'center',
17
+ },
18
+
19
+ '.footer': {
20
+ paddingTop: '$8',
21
+ },
22
+ '&.hasIcon .footer': {
23
+ paddingLeft: '$32',
24
+ },
25
+
12
26
  variants: {
13
27
  type: {
14
28
  primary: {
15
- backgroundColor: '$primary200',
29
+ color: '$primary200',
16
30
  },
17
31
  secondary: {
18
- backgroundColor: '$neutrals400',
32
+ color: '$secondary',
19
33
  },
20
34
  success: {
21
- backgroundColor: '$success300',
35
+ color: '$success300',
22
36
  },
23
37
  warning: {
24
- backgroundColor: '$warning500',
38
+ color: '$warning500',
25
39
  },
26
40
  error: {
27
- backgroundColor: '$error300',
41
+ color: '$error300',
28
42
  },
29
43
  },
30
44
  },
31
45
  });
32
46
 
33
- const ContentContainer = styled('div', {});
34
-
35
- const TitleContainer = styled('div', {
36
- marginBottom: '$8',
37
- });
38
-
39
- const IconContainer = styled('div', {
40
- marginRight: '$24',
41
- });
42
-
43
- const StyledTypography = styled(Typography, {
44
- color: darkTheme.colors.foreground.value,
45
- });
46
-
47
47
  export interface PropTypes {
48
- type: 'primary' | 'secondary' | 'success' | 'warning' | 'error';
48
+ type?: 'primary' | 'secondary' | 'success' | 'warning' | 'error';
49
49
  title?: string;
50
+ footer?: ReactNode;
50
51
  }
51
52
 
52
53
  export function Alert(props: PropsWithChildren<PropTypes>) {
@@ -57,22 +58,24 @@ export function Alert(props: PropsWithChildren<PropTypes>) {
57
58
  ).includes(type);
58
59
 
59
60
  return (
60
- <MainContainer type={type}>
61
- {showIcon && (
62
- <IconContainer>
63
- {type === 'success' && <CheckCircleIcon color="success" size={28} />}
64
- {type === 'warning' && <WarningIcon color="white" size={28} />}
65
- {type === 'error' && <InfoCircleIcon color="error" size={28} />}
66
- </IconContainer>
67
- )}
68
- <ContentContainer>
61
+ <MainContainer type={type} className={showIcon ? 'hasIcon' : ''}>
62
+ <div className="main">
63
+ {showIcon && (
64
+ <>
65
+ {type === 'success' && <CheckCircleIcon color={type} size={24} />}
66
+ {type === 'warning' && <WarningIcon color={type} size={24} />}
67
+ {type === 'error' && <InfoCircleIcon color={type} size={24} />}
68
+ <Spacer size={8} />
69
+ </>
70
+ )}
69
71
  {title && (
70
- <TitleContainer>
71
- <StyledTypography variant="h6">{title}</StyledTypography>
72
- </TitleContainer>
72
+ <Typography variant="h6" color={type}>
73
+ {title}
74
+ </Typography>
73
75
  )}
74
76
  {children}
75
- </ContentContainer>
77
+ </div>
78
+ {props.footer ? <div className="footer">{props.footer}</div> : null}
76
79
  </MainContainer>
77
80
  );
78
81
  }
@@ -6,6 +6,7 @@ import { keyframes, styled } from '../../theme';
6
6
  import { Skeleton } from '../Skeleton';
7
7
  import { Spinner } from '../Spinner';
8
8
  import { BestRouteResponse } from 'rango-sdk';
9
+ import { Tooltip } from '../Tooltip';
9
10
 
10
11
  const Container = styled('div', {
11
12
  borderRadius: '$5',
@@ -40,11 +41,13 @@ const Line = styled('div', {
40
41
  width: '$32',
41
42
  },
42
43
  });
44
+
43
45
  const HR = styled('hr', {
44
46
  width: '100%',
45
- background: '$neutrals200',
47
+ border: '1px solid $neutrals400',
46
48
  margin: '$8 0',
47
49
  });
50
+
48
51
  const SwapperLogo = styled('img', {
49
52
  width: '$16',
50
53
  height: '$16',
@@ -103,7 +106,7 @@ const GasContainer = styled('div', {
103
106
  },
104
107
  });
105
108
 
106
- const FeeContainer = styled('div', {
109
+ const CostContainer = styled('div', {
107
110
  display: 'flex',
108
111
  flexDirection: 'column',
109
112
  alignItems: 'center',
@@ -156,24 +159,30 @@ export function BestRoute(props: PropsWithChildren<PropTypes>) {
156
159
  </SkeletonContainer>
157
160
  ) : (
158
161
  <GasContainer>
159
- <FeeContainer warning={feeWarning}>
160
- <GasIcon size={20} color={feeWarning ? 'warning' : undefined} />
161
- <TotalFee
162
- mt={4}
163
- align="center"
164
- variant="caption"
165
- warning={feeWarning}
166
- >
167
- {error && '-'}
168
- {!!data && `$${totalFee}`}
169
- </TotalFee>
170
- </FeeContainer>
162
+ <Tooltip content="Transaction cost (fee)">
163
+ <CostContainer warning={feeWarning}>
164
+ <GasIcon size={20} color={feeWarning ? 'warning' : undefined} />
165
+ <TotalFee
166
+ mt={4}
167
+ align="center"
168
+ variant="caption"
169
+ warning={feeWarning}
170
+ >
171
+ {error && '-'}
172
+ {!!data && `$${totalFee}`}
173
+ </TotalFee>
174
+ </CostContainer>
175
+ </Tooltip>
171
176
  <HR />
172
- <TimeIcon size={20} />
173
- <Typography mt={4} align="center" variant="caption">
174
- {error && '-'}
175
- {!!data && `~${totalTime}m`}
176
- </Typography>
177
+ <Tooltip content="Time estimate">
178
+ <CostContainer warning={feeWarning}>
179
+ <TimeIcon size={20} />
180
+ <Typography mt={4} align="center" variant="caption">
181
+ {error && '-'}
182
+ {!!data && `~${totalTime}m`}
183
+ </Typography>
184
+ </CostContainer>
185
+ </Tooltip>
177
186
  </GasContainer>
178
187
  )}
179
188
  <BestRouteContainer>
@@ -87,9 +87,7 @@ export function BlockchainSelector(props: PropTypes) {
87
87
  onChange={onChange}
88
88
  />
89
89
  ) : (
90
- <Alert type="secondary">
91
- <Typography variant="body2">{`${searchedFor} not found`}</Typography>
92
- </Alert>
90
+ <Alert>{`${searchedFor} not found`}</Alert>
93
91
  )}
94
92
  </>
95
93
  )}
@@ -27,7 +27,7 @@ export default {
27
27
  size: {
28
28
  name: 'size',
29
29
  control: { type: 'radio' },
30
- options: ['small', 'medium', 'large'],
30
+ options: ['small', 'medium', 'large', 'compact'],
31
31
  defaultValue: 'medium',
32
32
  },
33
33
  disabled: {
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties } from '@stitches/react';
2
- import React, { PropsWithChildren } from 'react';
2
+ import React, { PropsWithChildren, HTMLAttributes } from 'react';
3
3
  import { darkTheme, styled } from '../../theme';
4
4
  import { Spinner } from '../Spinner';
5
5
  import { Typography } from '../Typography';
@@ -13,6 +13,12 @@ const ButtonContainer = styled('button', {
13
13
  display: 'flex',
14
14
  alignItems: 'center',
15
15
  justifyContent: 'center',
16
+ transition: 'all 0.35s',
17
+ border: '0',
18
+
19
+ '&:active': {
20
+ transform: 'scale(0.95)',
21
+ },
16
22
 
17
23
  variants: {
18
24
  align: {
@@ -26,6 +32,7 @@ const ButtonContainer = styled('button', {
26
32
  },
27
33
  },
28
34
  size: {
35
+ compact: {},
29
36
  small: {
30
37
  height: '$32',
31
38
  },
@@ -43,27 +50,28 @@ const ButtonContainer = styled('button', {
43
50
  border: 0,
44
51
  '&:hover': {
45
52
  backgroundColor: '$neutrals200',
46
- color: '$foreground',
47
53
  },
48
54
  '&:disabled': {
49
- background: '$neutrals400 !important',
55
+ background: '$neutrals400',
56
+ },
57
+ '&:disabled:hover': {
58
+ background: '$neutrals400',
59
+ transform: 'unset',
50
60
  },
51
61
  },
52
62
  outlined: {
53
- backgroundColor: '$background !important',
54
- borderColor: '$neutrals400 !important',
63
+ backgroundColor: '$background',
64
+ border: 1,
65
+ borderStyle: 'solid',
66
+ borderColor: '$neutrals400',
55
67
  color: '$foreground',
56
68
  '&:hover': {
57
- borderColor: '$neutrals600 !important',
58
- color: '$neutrals500 !important',
69
+ borderColor: '$neutrals600',
59
70
  },
60
71
  '&:disabled': {
61
- borderColor: '$neutrals300 !important',
62
- color: '$neutrals400 !important',
72
+ borderColor: '$neutrals300',
73
+ color: '$neutrals400',
63
74
  },
64
- background: 'transparent',
65
- border: 1,
66
- borderStyle: 'solid',
67
75
  },
68
76
  ghost: {
69
77
  color: '$foreground',
@@ -103,11 +111,7 @@ const ButtonContainer = styled('button', {
103
111
  variant: 'contained',
104
112
  css: {
105
113
  background: '$primary',
106
- $$color: '$colors$background',
107
- [`.${darkTheme} &`]: {
108
- $$color: '$colors$foreground',
109
- },
110
- color: '$$color !important',
114
+ color: '$white',
111
115
  '&:hover': {
112
116
  background: '$primary700',
113
117
  },
@@ -124,7 +128,7 @@ const ButtonContainer = styled('button', {
124
128
  variant: 'outlined',
125
129
  css: {
126
130
  color: '$primary !important',
127
- borderColor: '$primary !important',
131
+ borderColor: '$primary',
128
132
  '&:hover': {
129
133
  color: '$primary700 !important',
130
134
  borderColor: '$primary700 !important',
@@ -179,7 +183,7 @@ const ButtonContainer = styled('button', {
179
183
  variant: 'outlined',
180
184
  css: {
181
185
  color: '$error !important',
182
- borderColor: '$error !important',
186
+ borderColor: '$error',
183
187
  '&:hover': {
184
188
  color: '$error300 !important',
185
189
  borderColor: '$error300 !important',
@@ -236,7 +240,7 @@ const ButtonContainer = styled('button', {
236
240
  variant: 'outlined',
237
241
  css: {
238
242
  color: '$warning !important',
239
- borderColor: '$warning !important',
243
+ borderColor: '$warning',
240
244
  '&:hover': {
241
245
  color: '$warning300 !important',
242
246
  borderColor: '$warning300 !important',
@@ -293,7 +297,7 @@ const ButtonContainer = styled('button', {
293
297
  variant: 'outlined',
294
298
  css: {
295
299
  color: '$success !important',
296
- borderColor: '$success !important',
300
+ borderColor: '$success',
297
301
  '&:hover': {
298
302
  color: '$success300 !important',
299
303
  borderColor: '$success300 !important',
@@ -324,6 +328,13 @@ const ButtonContainer = styled('button', {
324
328
  },
325
329
  },
326
330
  },
331
+ {
332
+ size: 'compact',
333
+ css: {
334
+ padding: '$2 $4',
335
+ fontSize: '$12',
336
+ },
337
+ },
327
338
  ],
328
339
  defaultVariants: {
329
340
  size: 'medium',
@@ -361,9 +372,10 @@ const Content = styled('div', {
361
372
  },
362
373
  });
363
374
 
364
- export interface PropTypes {
375
+ export interface PropTypes
376
+ extends Omit<HTMLAttributes<HTMLButtonElement>, 'prefix'> {
365
377
  onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
366
- size?: 'small' | 'medium' | 'large';
378
+ size?: 'small' | 'medium' | 'large' | 'compact';
367
379
  variant?: 'contained' | 'outlined' | 'ghost';
368
380
  type?: 'primary' | 'error' | 'warning' | 'success';
369
381
  prefix?: React.ReactNode;
@@ -1,7 +1,6 @@
1
1
  import { CSSProperties } from '@stitches/react';
2
2
  import React from 'react';
3
3
  import { styled } from '../../theme';
4
- import { Typography } from '../Typography';
5
4
 
6
5
  const ChipCointainer = styled('div', {
7
6
  display: 'inline-flex',
@@ -12,12 +11,16 @@ const ChipCointainer = styled('div', {
12
11
  height: '32',
13
12
  fontSize: '$14',
14
13
  cursor: 'pointer',
14
+ transition: 'all 0.35s',
15
+ color: '$foreground',
16
+
15
17
  '&:hover': {
16
- backgroundColor: '$neutrals300',
18
+ backgroundColor: '$success700',
19
+ color: '$background',
17
20
  },
18
21
  variants: {
19
22
  selected: {
20
- true: { backgroundColor: '$neutrals400' },
23
+ true: { backgroundColor: '$success', color: '$background' },
21
24
  false: { backgroundColor: '$background' },
22
25
  },
23
26
  },
@@ -38,7 +41,7 @@ export function Chip(props: PropTypes) {
38
41
  return (
39
42
  <ChipCointainer selected={selected} onClick={onClick} style={style}>
40
43
  {prefix || null}
41
- <Typography variant="body2">{label}</Typography>
44
+ {label}
42
45
  {suffix || null}
43
46
  </ChipCointainer>
44
47
  );
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+ import { SvgWithStrokeColor } from './common';
3
+ import { IconProps } from './types';
4
+
5
+ export const ChevronRightIcon = React.forwardRef<SVGSVGElement, IconProps>(
6
+ ({ color = 'black', size = 16, ...props }, forwardedRef) => {
7
+ return (
8
+ <SvgWithStrokeColor
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ width={size}
11
+ height={size}
12
+ color={color}
13
+ viewBox={`0 0 24 24`}
14
+ fill="none"
15
+ stroke="currentColor"
16
+ stroke-width="2"
17
+ stroke-linecap="round"
18
+ stroke-linejoin="round"
19
+ className="_icon"
20
+ {...props}
21
+ ref={forwardedRef}
22
+ >
23
+ <polyline points="9 18 15 12 9 6"></polyline>
24
+ </SvgWithStrokeColor>
25
+ );
26
+ }
27
+ );
28
+
29
+ ChevronRightIcon.toString = () => '._icon';
@@ -0,0 +1,31 @@
1
+ import * as React from 'react';
2
+ import { SvgWithStrokeColor } from './common';
3
+ import { IconProps } from './types';
4
+
5
+ export const DisconnectIcon = React.forwardRef<SVGSVGElement, IconProps>(
6
+ ({ color = 'black', size = 16, ...props }, forwardedRef) => {
7
+ return (
8
+ <SvgWithStrokeColor
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ width={size}
11
+ height={size}
12
+ color={color}
13
+ viewBox={`0 0 24 24`}
14
+ fill="none"
15
+ stroke="currentColor"
16
+ stroke-width="2"
17
+ stroke-linecap="round"
18
+ stroke-linejoin="round"
19
+ className="_icon"
20
+ {...props}
21
+ ref={forwardedRef}
22
+ >
23
+ <path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path>
24
+ <polyline points="16 17 21 12 16 7"></polyline>
25
+ <line x1="21" y1="12" x2="9" y2="12"></line>
26
+ </SvgWithStrokeColor>
27
+ );
28
+ }
29
+ );
30
+
31
+ DisconnectIcon.toString = () => '._icon';
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { SvgWithFillColor } from './common';
2
+ import { SvgWithStrokeColor } from './common';
3
3
  import { IconProps } from './types';
4
4
 
5
5
  export const HistoryIcon: React.FC<IconProps> = ({
@@ -8,32 +8,26 @@ export const HistoryIcon: React.FC<IconProps> = ({
8
8
  ...props
9
9
  }) => {
10
10
  return (
11
- <SvgWithFillColor
11
+ <SvgWithStrokeColor
12
12
  width={size}
13
13
  height={size}
14
14
  viewBox="0 0 24 24"
15
15
  color={color}
16
16
  fill="none"
17
+ stroke="currentColor"
18
+ stroke-width="2"
19
+ stroke-linecap="round"
20
+ stroke-linejoin="round"
17
21
  xmlns="http://www.w3.org/2000/svg"
18
22
  className="_icon"
19
23
  {...props}
20
24
  >
21
- <path
22
- fillRule="evenodd"
23
- clipRule="evenodd"
24
- d="M16.767 1.5c-.7.002-1.267.57-1.267 1.26V9h2.67c.63 0 1.07-.196 1.352-.478C19.804 8.24 20 7.8 20 7.17V4.75c0-.89-.363-1.704-.952-2.301a3.27 3.27 0 0 0-2.281-.949ZM14 2.76C14 1.23 15.25 0 16.77 0h.007a4.77 4.77 0 0 1 3.333 1.39l.004.003A4.775 4.775 0 0 1 21.5 4.75v2.42c0 .95-.304 1.8-.917 2.413-.613.613-1.462.917-2.413.917h-3.42a.75.75 0 0 1-.75-.75V2.76Z"
25
- />
26
- <path
27
- fillRule="evenodd"
28
- clipRule="evenodd"
29
- d="M1.057 1.431C1.862.5 3.097 0 4.75 0h12a.75.75 0 0 1 0 1.5c-.686 0-1.25.564-1.25 1.25v17c0 1.442-1.646 2.256-2.797 1.402l-.002-.002-1.718-1.285a.242.242 0 0 0-.313.025l-1.68 1.68a1.758 1.758 0 0 1-2.48 0l-.002-.001L4.85 19.9a.258.258 0 0 0-.34-.03l-1.707 1.278-.002.001C1.643 22.024 0 21.193 0 19.75v-15c0-1.203.27-2.408 1.057-3.319Zm13.245.069H4.75c-1.346 0-2.112.396-2.557.911C1.73 2.948 1.5 3.743 1.5 4.75v15c0 .216.235.325.397.202l.004-.002 1.709-1.28a1.757 1.757 0 0 1 2.3.17l.002.001L7.57 20.51a.259.259 0 0 0 .36 0l1.68-1.68c.61-.61 1.59-.688 2.283-.158l1.704 1.276c.17.125.403 0 .403-.198v-17c0-.45.109-.875.302-1.25Z"
30
- />
31
- <path
32
- fillRule="evenodd"
33
- clipRule="evenodd"
34
- d="M4 7.75A.75.75 0 0 1 4.75 7h6a.75.75 0 0 1 0 1.5h-6A.75.75 0 0 1 4 7.75ZM4.75 11.75A.75.75 0 0 1 5.5 11H10a.75.75 0 0 1 0 1.5H5.5a.75.75 0 0 1-.75-.75Z"
35
- />
36
- </SvgWithFillColor>
25
+ <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
26
+ <polyline points="14 2 14 8 20 8"></polyline>
27
+ <line x1="16" y1="13" x2="8" y2="13"></line>
28
+ <line x1="16" y1="17" x2="8" y2="17"></line>
29
+ <polyline points="10 9 9 9 8 9"></polyline>
30
+ </SvgWithStrokeColor>
37
31
  );
38
32
  };
39
33
 
@@ -1,28 +1,28 @@
1
1
  import * as React from 'react';
2
- import { SvgWithFillColor } from './common';
2
+ import { SvgWithStrokeColor } from './common';
3
3
  import { IconProps } from './types';
4
4
 
5
5
  export const RetryIcon = React.forwardRef<SVGSVGElement, IconProps>(
6
- ({ color, size = 16, ...props }, forwardedRef) => {
6
+ ({ color = 'black', size = 16, ...props }, forwardedRef) => {
7
7
  return (
8
- <SvgWithFillColor
8
+ <SvgWithStrokeColor
9
+ xmlns="http://www.w3.org/2000/svg"
9
10
  width={size}
10
11
  height={size}
11
- fill="none"
12
- xmlns="http://www.w3.org/2000/svg"
13
- viewBox="0 0 24 24"
14
12
  color={color}
13
+ viewBox={`0 0 24 24`}
14
+ fill="none"
15
+ stroke="currentColor"
16
+ stroke-width="2"
17
+ stroke-linecap="round"
18
+ stroke-linejoin="round"
15
19
  className="_icon"
16
20
  {...props}
17
21
  ref={forwardedRef}
18
22
  >
19
- <path
20
- fillRule="evenodd"
21
- clipRule="evenodd"
22
- d="M17.016 13.45c.199-.384.002-.842-.397-1.005-.406-.166-.864.033-1.077.416A6.17 6.17 0 0 1 13 15.345a6.051 6.051 0 0 1-4.244.513 6.127 6.127 0 0 1-3.543-2.425 6.286 6.286 0 0 1 .73-8.095A6.089 6.089 0 0 1 9.86 3.604a6.07 6.07 0 0 1 4.083 1.286 6.196 6.196 0 0 1 1.65 1.97l-1.053.363a.302.302 0 0 0-.073.534l2.607 1.758a.3.3 0 0 0 .45-.155l1.01-3.007a.298.298 0 0 0-.38-.378l-1.057.365a7.79 7.79 0 0 0-2.194-2.713 7.627 7.627 0 0 0-5.13-1.615A7.65 7.65 0 0 0 4.852 4.19a7.898 7.898 0 0 0-.917 10.17 7.7 7.7 0 0 0 4.452 3.048 7.604 7.604 0 0 0 5.333-.644 7.757 7.757 0 0 0 3.297-3.315Z"
23
- fill={color}
24
- />
25
- </SvgWithFillColor>
23
+ <polyline points="23 4 23 10 17 10"></polyline>
24
+ <path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"></path>
25
+ </SvgWithStrokeColor>
26
26
  );
27
27
  }
28
28
  );
@@ -13,25 +13,17 @@ export const SettingsIcon: React.FC<IconProps> = ({
13
13
  height={size}
14
14
  viewBox="0 0 24 24"
15
15
  color={color}
16
+ stroke="currentColor"
17
+ stroke-width="2"
18
+ stroke-linecap="round"
19
+ stroke-linejoin="round"
16
20
  fill="none"
17
21
  xmlns="http://www.w3.org/2000/svg"
18
22
  className="_icon"
19
23
  {...props}
20
24
  >
21
- <path
22
- d="M12.5 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"
23
- strokeWidth={1.5}
24
- strokeMiterlimit={10}
25
- strokeLinecap="round"
26
- strokeLinejoin="round"
27
- />
28
- <path
29
- d="M2.5 12.88v-1.76c0-1.04.85-1.9 1.9-1.9 1.81 0 2.55-1.28 1.64-2.85-.52-.9-.21-2.07.7-2.59l1.73-.99c.79-.47 1.81-.19 2.28.6l.11.19c.9 1.57 2.38 1.57 3.29 0l.11-.19c.47-.79 1.49-1.07 2.28-.6l1.73.99c.91.52 1.22 1.69.7 2.59-.91 1.57-.17 2.85 1.64 2.85 1.04 0 1.9.85 1.9 1.9v1.76c0 1.04-.85 1.9-1.9 1.9-1.81 0-2.55 1.28-1.64 2.85.52.91.21 2.07-.7 2.59l-1.73.99c-.79.47-1.81.19-2.28-.6l-.11-.19c-.9-1.57-2.38-1.57-3.29 0l-.11.19c-.47.79-1.49 1.07-2.28.6l-1.73-.99a1.899 1.899 0 0 1-.7-2.59c.91-1.57.17-2.85-1.64-2.85-1.05 0-1.9-.86-1.9-1.9Z"
30
- strokeWidth={1.5}
31
- strokeMiterlimit={10}
32
- strokeLinecap="round"
33
- strokeLinejoin="round"
34
- />
25
+ <circle cx="12" cy="12" r="3"></circle>
26
+ <path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path>
35
27
  </SvgWithStrokeColor>
36
28
  );
37
29
  };
@@ -23,6 +23,7 @@ export { AngleUpIcon } from './AngleUpIcon';
23
23
  export { AngleDownIcon } from './AngleDownIcon';
24
24
  export { AngleLeftIcon } from './AngleLeftIcon';
25
25
  export { DownloadIcon } from './DownloadIcon';
26
+ export { ChevronRightIcon } from './ChevronRightIcon';
26
27
 
27
28
  export { RetryRightIcon } from './RetryRightIcon';
28
29
  export { RetryLeftIcon } from './RetryLeftIcon';
@@ -36,6 +37,7 @@ export { AddWalletIcon } from './AddWalletIcon';
36
37
  export { DeleteWalletIcon } from './DeleteWalletIcon';
37
38
  export { CheckWalletIcon } from './CheckWalletIcon';
38
39
  export { SwapWalletIcon } from './SwapWalletIcon';
40
+ export { DisconnectIcon } from './DisconnectIcon';
39
41
 
40
42
  export { BagIcon } from './BagIcon';
41
43
 
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
 
3
3
  export interface IconProps extends React.SVGAttributes<SVGElement> {
4
- size?: 16 | 18 | 20 | 24 | 28 | 32 | 36 | 40;
4
+ size?: 12 | 16 | 18 | 20 | 24 | 28 | 32 | 36 | 40;
5
5
  color?: 'primary' | 'error' | 'warning' | 'success' | 'black' | 'white';
6
6
  }
7
7