@rango-dev/ui 0.22.1-next.8 → 0.23.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.
Files changed (122) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/dist/index.js +6 -6
  3. package/dist/index.js.map +4 -4
  4. package/dist/translations/en.d.ts.map +1 -1
  5. package/dist/translations/es.d.ts.map +1 -1
  6. package/dist/translations/fr.d.ts.map +1 -1
  7. package/dist/translations/ja.d.ts.map +1 -1
  8. package/dist/widget/ui/src/components/Alert/Alert.styles.d.ts +157 -0
  9. package/dist/widget/ui/src/components/Alert/Alert.styles.d.ts.map +1 -1
  10. package/dist/widget/ui/src/components/BlockchainsChip/BlockchainsChip.styles.d.ts.map +1 -1
  11. package/dist/widget/ui/src/components/Button/Button.d.ts +54 -54
  12. package/dist/widget/ui/src/components/Button/Button.styles.d.ts.map +1 -1
  13. package/dist/widget/ui/src/components/ListItem/ListItem.styles.d.ts.map +1 -1
  14. package/dist/widget/ui/src/components/ListItemButton/ListItemButton.styles.d.ts.map +1 -1
  15. package/dist/widget/ui/src/components/PriceImpact/PriceImpact.styles.d.ts +158 -0
  16. package/dist/widget/ui/src/components/PriceImpact/PriceImpact.styles.d.ts.map +1 -1
  17. package/dist/widget/ui/src/components/QuoteCost/QuoteCost.d.ts.map +1 -1
  18. package/dist/widget/ui/src/components/QuoteCost/QuoteCost.styles.d.ts +314 -0
  19. package/dist/widget/ui/src/components/QuoteCost/QuoteCost.styles.d.ts.map +1 -1
  20. package/dist/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.d.ts.map +1 -1
  21. package/dist/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.helpers.d.ts +16 -2
  22. package/dist/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.helpers.d.ts.map +1 -1
  23. package/dist/widget/ui/src/components/SelectableCategoryList/index.d.ts +1 -0
  24. package/dist/widget/ui/src/components/SelectableCategoryList/index.d.ts.map +1 -1
  25. package/dist/widget/ui/src/components/Skeleton/Skeleton.d.ts.map +1 -1
  26. package/dist/widget/ui/src/components/Skeleton/Skeleton.types.d.ts +1 -1
  27. package/dist/widget/ui/src/components/Skeleton/Skeleton.types.d.ts.map +1 -1
  28. package/dist/widget/ui/src/components/StepDetails/StepDetails.d.ts.map +1 -1
  29. package/dist/widget/ui/src/components/StepDetails/StepDetails.styles.d.ts +6 -0
  30. package/dist/widget/ui/src/components/StepDetails/StepDetails.styles.d.ts.map +1 -1
  31. package/dist/widget/ui/src/components/SwapListItem/mock.d.ts +1 -1
  32. package/dist/widget/ui/src/components/SwapListItem/mock.d.ts.map +1 -1
  33. package/dist/widget/ui/src/components/Switch/Switch.styles.d.ts.map +1 -1
  34. package/dist/widget/ui/src/components/TextField/TextField.d.ts.map +1 -1
  35. package/dist/widget/ui/src/components/TokenAmount/TokenAmount.d.ts.map +1 -1
  36. package/dist/widget/ui/src/components/TokenAmount/TokenAmount.styles.d.ts +471 -1
  37. package/dist/widget/ui/src/components/TokenAmount/TokenAmount.styles.d.ts.map +1 -1
  38. package/dist/widget/ui/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  39. package/dist/widget/ui/src/components/Tooltip/Tooltip.styles.d.ts +2 -2
  40. package/dist/widget/ui/src/components/Tooltip/Tooltip.styles.d.ts.map +1 -1
  41. package/dist/widget/ui/src/components/Wallet/Wallet.types.d.ts +3 -17
  42. package/dist/widget/ui/src/components/Wallet/Wallet.types.d.ts.map +1 -1
  43. package/dist/widget/ui/src/components/common/Image.d.ts +157 -0
  44. package/dist/widget/ui/src/components/common/Image.d.ts.map +1 -1
  45. package/dist/widget/ui/src/components/common/index.d.ts +1 -1
  46. package/dist/widget/ui/src/components/common/index.d.ts.map +1 -1
  47. package/dist/widget/ui/src/containers/SwapHistory/SwapHistory.d.ts +1 -1
  48. package/dist/widget/ui/src/containers/SwapHistory/SwapHistory.d.ts.map +1 -1
  49. package/dist/widget/ui/src/containers/SwapHistory/SwapHistory.stories.d.ts +2 -2
  50. package/dist/widget/ui/src/containers/SwapHistory/SwapHistory.stories.d.ts.map +1 -1
  51. package/dist/widget/ui/src/containers/SwapHistory/mock.d.ts +1 -1
  52. package/dist/widget/ui/src/containers/SwapHistory/mock.d.ts.map +1 -1
  53. package/dist/widget/ui/src/containers/SwapInput/SwapInput.d.ts.map +1 -1
  54. package/dist/widget/ui/src/containers/SwapInput/SwapInput.styles.d.ts +1154 -54
  55. package/dist/widget/ui/src/containers/SwapInput/SwapInput.styles.d.ts.map +1 -1
  56. package/dist/widget/ui/src/containers/SwapInput/SwapInput.types.d.ts +2 -0
  57. package/dist/widget/ui/src/containers/SwapInput/SwapInput.types.d.ts.map +1 -1
  58. package/dist/widget/ui/src/containers/SwapInput/TokenSection.d.ts.map +1 -1
  59. package/dist/widget/ui/src/containers/SwapInput/TokenSection.styles.d.ts +525 -54
  60. package/dist/widget/ui/src/containers/SwapInput/TokenSection.styles.d.ts.map +1 -1
  61. package/dist/widget/ui/src/icons/CosmosCategory.d.ts +5 -0
  62. package/dist/widget/ui/src/icons/CosmosCategory.d.ts.map +1 -0
  63. package/dist/widget/ui/src/icons/EvmCategory.d.ts +5 -0
  64. package/dist/widget/ui/src/icons/EvmCategory.d.ts.map +1 -0
  65. package/dist/widget/ui/src/icons/Icons.stories.d.ts +1 -1
  66. package/dist/widget/ui/src/icons/OtherCategory.d.ts +5 -0
  67. package/dist/widget/ui/src/icons/OtherCategory.d.ts.map +1 -0
  68. package/dist/widget/ui/src/icons/UtxoCategory.d.ts +5 -0
  69. package/dist/widget/ui/src/icons/UtxoCategory.d.ts.map +1 -0
  70. package/dist/widget/ui/src/icons/index.d.ts +4 -0
  71. package/dist/widget/ui/src/icons/index.d.ts.map +1 -1
  72. package/dist/widget/ui/src/types/index.d.ts +0 -1
  73. package/dist/widget/ui/src/types/index.d.ts.map +1 -1
  74. package/dist/widget/ui/src/types/swaps.d.ts +1 -27
  75. package/dist/widget/ui/src/types/swaps.d.ts.map +1 -1
  76. package/package.json +6 -5
  77. package/src/components/Alert/Alert.styles.ts +8 -7
  78. package/src/components/Alert/Alert.tsx +2 -2
  79. package/src/components/BlockchainsChip/BlockchainsChip.styles.ts +2 -1
  80. package/src/components/Button/Button.styles.tsx +1 -0
  81. package/src/components/ListItem/ListItem.styles.ts +2 -0
  82. package/src/components/ListItemButton/ListItemButton.styles.ts +1 -0
  83. package/src/components/PriceImpact/PriceImpact.styles.ts +9 -1
  84. package/src/components/PriceImpact/PriceImpact.tsx +3 -3
  85. package/src/components/QuoteCost/QuoteCost.styles.ts +14 -12
  86. package/src/components/QuoteCost/QuoteCost.tsx +12 -7
  87. package/src/components/SelectableCategoryList/SelectableCategoryList.helpers.ts +40 -13
  88. package/src/components/SelectableCategoryList/SelectableCategoryList.tsx +47 -46
  89. package/src/components/SelectableCategoryList/index.ts +1 -0
  90. package/src/components/Skeleton/Skeleton.tsx +3 -2
  91. package/src/components/Skeleton/Skeleton.types.ts +1 -1
  92. package/src/components/StepDetails/StepDetails.styles.ts +34 -26
  93. package/src/components/StepDetails/StepDetails.tsx +8 -4
  94. package/src/components/SwapListItem/mock.ts +21 -6
  95. package/src/components/Switch/Switch.styles.tsx +3 -5
  96. package/src/components/TextField/TextField.tsx +3 -5
  97. package/src/components/TokenAmount/TokenAmount.styles.ts +12 -10
  98. package/src/components/TokenAmount/TokenAmount.tsx +23 -17
  99. package/src/components/Tooltip/Tooltip.styles.ts +8 -5
  100. package/src/components/Tooltip/Tooltip.tsx +2 -3
  101. package/src/components/Wallet/Wallet.styles.ts +1 -1
  102. package/src/components/Wallet/Wallet.types.ts +3 -23
  103. package/src/components/common/Image.tsx +1 -2
  104. package/src/components/common/index.ts +1 -1
  105. package/src/containers/SwapHistory/SwapHistory.stories.tsx +5 -2
  106. package/src/containers/SwapHistory/SwapHistory.tsx +1 -1
  107. package/src/containers/SwapHistory/mock.ts +24 -8
  108. package/src/containers/SwapInput/SwapInput.styles.ts +48 -30
  109. package/src/containers/SwapInput/SwapInput.tsx +26 -15
  110. package/src/containers/SwapInput/SwapInput.types.ts +2 -0
  111. package/src/containers/SwapInput/TokenSection.styles.ts +22 -14
  112. package/src/containers/SwapInput/TokenSection.tsx +12 -6
  113. package/src/icons/CosmosCategory.tsx +137 -0
  114. package/src/icons/EvmCategory.tsx +74 -0
  115. package/src/icons/OtherCategory.tsx +72 -0
  116. package/src/icons/UtxoCategory.tsx +44 -0
  117. package/src/icons/index.ts +4 -0
  118. package/src/types/index.ts +0 -1
  119. package/src/types/swaps.ts +0 -38
  120. package/dist/widget/ui/src/containers/History/types.d.ts +0 -2
  121. package/dist/widget/ui/src/containers/History/types.d.ts.map +0 -1
  122. package/src/containers/History/types.tsx +0 -1
@@ -1,3 +1,5 @@
1
+ import { css } from '@stitches/react';
2
+
1
3
  import { darkTheme, styled } from '../../theme';
2
4
 
3
5
  export const Container = styled('div', {
@@ -31,40 +33,16 @@ export const Container = styled('div', {
31
33
  error: { borderColor: '$error500' },
32
34
  },
33
35
  },
34
- '& .swapper': {
35
- display: 'flex',
36
- alignItems: 'center',
37
- },
38
36
  '& .swapper__description': {
39
37
  fontWeight: '$medium',
40
38
  },
41
- '& .step-info': {
42
- display: 'flex',
43
- flex: '1',
44
- width: '100%',
45
- alignItems: 'start',
46
- variants: {
47
- tx: {
48
- true: {
49
- paddingLeft: '36px',
50
- },
51
- },
52
- },
53
- },
54
39
  '& div:nth-child(3)': { display: 'flex', flexDirection: 'column', flex: 1 },
55
- '& .tokens-container': { width: '100%' },
56
- '& .tokens': {
57
- display: 'flex',
58
- paddingTop: '$5',
59
- paddingBottom: '$10',
60
- alignItems: 'center',
61
- },
62
40
  });
63
41
 
64
42
  export const SwapperImage = styled('div', {
65
43
  borderRadius: '100%',
66
- width: 'max-content',
67
- height: 'max-content',
44
+ width: '24px',
45
+ height: '24px',
68
46
  overflow: 'hidden',
69
47
  border: '1.5px solid transparent',
70
48
  variants: {
@@ -131,3 +109,33 @@ export const StepSeparator = styled('div', {
131
109
  },
132
110
  },
133
111
  });
112
+
113
+ export const tokensContainerStyles = css({
114
+ width: '100%',
115
+ });
116
+
117
+ export const swapperStyles = css({
118
+ display: 'flex',
119
+ alignItems: 'center',
120
+ });
121
+
122
+ export const stepInfoStyles = css({
123
+ display: 'flex',
124
+ flex: '1',
125
+ width: '100%',
126
+ alignItems: 'start',
127
+ variants: {
128
+ tx: {
129
+ true: {
130
+ paddingLeft: '36px',
131
+ },
132
+ },
133
+ },
134
+ });
135
+
136
+ export const tokensStyles = css({
137
+ display: 'flex',
138
+ paddingTop: '$5',
139
+ paddingBottom: '$10',
140
+ alignItems: 'center',
141
+ });
@@ -13,8 +13,12 @@ import {
13
13
  Alerts,
14
14
  Container,
15
15
  DashedLine,
16
+ stepInfoStyles,
16
17
  StepSeparator,
17
18
  SwapperImage,
19
+ swapperStyles,
20
+ tokensContainerStyles,
21
+ tokensStyles,
18
22
  } from './StepDetails.styles';
19
23
 
20
24
  const StepDetailsComponent = forwardRef<HTMLDivElement, StepDetailsProps>(
@@ -39,7 +43,7 @@ const StepDetailsComponent = forwardRef<HTMLDivElement, StepDetailsProps>(
39
43
  state={state}
40
44
  ref={containerRef}
41
45
  tabIndex={tabIndex}>
42
- <div className="swapper">
46
+ <div className={swapperStyles()}>
43
47
  {type === 'swap-progress' && hasSeparator && (
44
48
  <StepSeparator state={state} />
45
49
  )}
@@ -60,10 +64,10 @@ const StepDetailsComponent = forwardRef<HTMLDivElement, StepDetailsProps>(
60
64
  })}
61
65
  </Typography>
62
66
  </div>
63
- <div className="step-info">
67
+ <div className={stepInfoStyles()}>
64
68
  <DashedLine invisible={!hasSeparator || type === 'swap-progress'} />
65
- <div className="tokens-container">
66
- <div className="tokens">
69
+ <div className={tokensContainerStyles()}>
70
+ <div className={tokensStyles()}>
67
71
  <ChainToken
68
72
  chainImage={step.from.chain.image}
69
73
  tokenImage={step.from.token.image}
@@ -1,11 +1,12 @@
1
1
  /* eslint-disable @typescript-eslint/no-magic-numbers */
2
- // TODO: fix ts errors
3
- // eslint-disable-next-line
4
- // @ts-nocheck
5
2
  import type { SwapTokenData } from './SwapListItem.types';
6
- import type { PendingSwap } from '../../containers/History/types';
3
+ import type { PendingSwap } from 'rango-types';
7
4
 
8
- import { RoutingResultType, TransactionType } from 'rango-sdk';
5
+ import {
6
+ MessageSeverity,
7
+ RoutingResultType,
8
+ TransactionType,
9
+ } from 'rango-types';
9
10
 
10
11
  export const swap: PendingSwap = {
11
12
  creationTime: '1673164511955',
@@ -21,7 +22,7 @@ export const swap: PendingSwap = {
21
22
  status: 'running',
22
23
  isPaused: false,
23
24
  extraMessage: null,
24
- extraMessageSeverity: 'info',
25
+ extraMessageSeverity: MessageSeverity.info,
25
26
  extraMessageDetail: '',
26
27
  extraMessageErrorCode: null,
27
28
  networkStatusExtraMessage: null,
@@ -75,6 +76,7 @@ export const swap: PendingSwap = {
75
76
  expenseType: 'FROM_SOURCE_WALLET',
76
77
  name: 'Network Fee',
77
78
  amount: '0',
79
+ price: null,
78
80
  },
79
81
  ],
80
82
  estimatedTimeInSeconds: 45,
@@ -150,6 +152,7 @@ export const swap: PendingSwap = {
150
152
  includesDestinationTx: false,
151
153
  maxRequiredSign: 1,
152
154
  warnings: [],
155
+ internalSwaps: null,
153
156
  },
154
157
  ],
155
158
  },
@@ -164,16 +167,20 @@ export const swap: PendingSwap = {
164
167
  'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed',
165
168
  fromDecimals: 6,
166
169
  fromAmountPrecision: null,
170
+ fromAmountRestrictionType: 'EXCLUSIVE',
171
+ estimatedTimeInSeconds: 5,
167
172
  fromAmountMinValue: null,
168
173
  fromAmountMaxValue: null,
169
174
  toBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png',
170
175
  fromBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png',
176
+ fromUsdPrice: null,
171
177
  toBlockchain: 'OSMOSIS',
172
178
  fromLogo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png',
173
179
  toSymbol: 'OSMO',
174
180
  toSymbolAddress: null,
175
181
  toDecimals: 6,
176
182
  toLogo: 'https://api.rango.exchange/i/mJQPS2',
183
+ toUsdPrice: null,
177
184
  startTransactionTime: 1673164519916,
178
185
  swapperId: 'Osmosis',
179
186
  swapperLogo: 'https://api.rango.exchange/swappers/osmosis.png',
@@ -189,6 +196,13 @@ export const swap: PendingSwap = {
189
196
  description: null,
190
197
  },
191
198
  ],
199
+ starknetApprovalTransaction: null,
200
+ starknetTransaction: null,
201
+ tronApprovalTransaction: null,
202
+ tonTransaction: null,
203
+ tronTransaction: null,
204
+ feeInUsd: null,
205
+ executedTransactionTime: null,
192
206
  cosmosTransaction: {
193
207
  type: TransactionType.COSMOS,
194
208
  fromWalletAddress: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl',
@@ -276,6 +290,7 @@ export const swap: PendingSwap = {
276
290
  transferTransaction: null,
277
291
  diagnosisUrl: null,
278
292
  internalSteps: null,
293
+ internalSwaps: null,
279
294
  },
280
295
  ],
281
296
  };
@@ -5,7 +5,6 @@ import { darkTheme, styled } from '../../theme';
5
5
  export const StyledSwitchRoot = styled(RadixSwitch.Root, {
6
6
  boxSizing: 'border-box',
7
7
  boxShadow: 'none',
8
- borderStyle: 'solid',
9
8
  width: '24px',
10
9
  height: '16px',
11
10
  $$color: '$colors$neutral600',
@@ -13,9 +12,8 @@ export const StyledSwitchRoot = styled(RadixSwitch.Root, {
13
12
  $$color: '$colors$neutral700',
14
13
  },
15
14
  backgroundColor: '$$color',
16
- borderColor: '$$color',
15
+ border: 'none',
17
16
  borderRadius: '99999px',
18
- position: 'relative',
19
17
  padding: '0',
20
18
  cursor: 'pointer',
21
19
  transition: 'all 0.35s',
@@ -32,9 +30,9 @@ export const StyledSwitchRoot = styled(RadixSwitch.Root, {
32
30
  });
33
31
 
34
32
  export const StyledSwitchThumb = styled(RadixSwitch.Thumb, {
35
- position: 'absolute',
36
- top: '0',
37
33
  boxSizing: 'border-box',
34
+ position: 'relative',
35
+ left: '$2',
38
36
  display: 'block',
39
37
  width: '12px',
40
38
  height: '12px',
@@ -23,9 +23,7 @@ function TextFieldComponent(props: PropsWithChildren<PropTypes>, ref?: Ref) {
23
23
  <>
24
24
  {label && (
25
25
  <>
26
- <Label
27
- className="_text"
28
- {...(inputAttributes.id && { htmlFor: inputAttributes.id })}>
26
+ <Label {...(inputAttributes.id && { htmlFor: inputAttributes.id })}>
29
27
  <Typography variant="label" size="large">
30
28
  {label}
31
29
  </Typography>
@@ -39,10 +37,9 @@ function TextFieldComponent(props: PropsWithChildren<PropTypes>, ref?: Ref) {
39
37
  variant={variant}
40
38
  size={size}
41
39
  style={style}
42
- className="_text">
40
+ className="_text-field">
43
41
  {prefix || null}
44
42
  <Input
45
- className="_text"
46
43
  {...inputAttributes}
47
44
  spellCheck={false}
48
45
  suffix={!!suffix}
@@ -56,5 +53,6 @@ function TextFieldComponent(props: PropsWithChildren<PropTypes>, ref?: Ref) {
56
53
 
57
54
  const TextField = React.forwardRef(TextFieldComponent);
58
55
  TextField.displayName = 'TextField';
56
+ TextField.toString = () => '._text-field';
59
57
 
60
58
  export { TextField };
@@ -1,4 +1,4 @@
1
- import { styled } from '@stitches/react';
1
+ import { css, styled } from '../../theme';
2
2
 
3
3
  export const Container = styled('div', {
4
4
  display: 'flex',
@@ -15,13 +15,15 @@ export const Container = styled('div', {
15
15
  true: { alignItems: 'center', justifyContent: 'center' },
16
16
  },
17
17
  },
18
- '& .token-amount': {
19
- display: 'flex',
20
- justifyContent: 'center',
21
- alignItems: 'center',
22
- },
23
- '& .usd-value': {
24
- display: 'flex',
25
- paddingTop: '$5',
26
- },
18
+ });
19
+
20
+ export const tokenAmountStyles = css({
21
+ display: 'flex',
22
+ justifyContent: 'center',
23
+ alignItems: 'center',
24
+ });
25
+
26
+ export const usdValueStyles = css({
27
+ display: 'flex',
28
+ paddingTop: '$5',
27
29
  });
@@ -6,12 +6,16 @@ import { ChainToken } from '../ChainToken';
6
6
  import { PriceImpact } from '../PriceImpact/PriceImpact';
7
7
  import { Typography } from '../Typography';
8
8
 
9
- import { Container } from './TokenAmount.styles';
9
+ import {
10
+ Container,
11
+ tokenAmountStyles,
12
+ usdValueStyles,
13
+ } from './TokenAmount.styles';
10
14
 
11
15
  export function TokenAmount(props: PropTypes) {
12
16
  return (
13
17
  <Container direction={props.direction} centerAlign={props.centerAlign}>
14
- <div className="token-amount">
18
+ <div className={tokenAmountStyles()}>
15
19
  <ChainToken
16
20
  chainImage={props.chain.image}
17
21
  tokenImage={props.token.image}
@@ -41,21 +45,23 @@ export function TokenAmount(props: PropTypes) {
41
45
  </div>
42
46
  </div>
43
47
  </div>
44
- <div className="usd-value">
45
- {props.type === 'input' && (
46
- <Typography mr={4} size="small" variant="body" color="$neutral700">
47
- {`~$${props.price.usdValue}`}
48
- </Typography>
49
- )}
50
- {props.type === 'output' && (
51
- <PriceImpact
52
- size="small"
53
- outputUsdValue={props.price.usdValue}
54
- percentageChange={props.percentageChange}
55
- warningLevel={props.warningLevel}
56
- />
57
- )}
58
- </div>
48
+ {props.price.usdValue && props.price.usdValue !== '0' && (
49
+ <div className={usdValueStyles()}>
50
+ {props.type === 'input' && (
51
+ <Typography mr={4} size="small" variant="body" color="$neutral700">
52
+ {`~$${props.price.usdValue}`}
53
+ </Typography>
54
+ )}
55
+ {props.type === 'output' && (
56
+ <PriceImpact
57
+ size="small"
58
+ outputUsdValue={props.price.usdValue}
59
+ percentageChange={props.percentageChange}
60
+ warningLevel={props.warningLevel}
61
+ />
62
+ )}
63
+ </div>
64
+ )}
59
65
  </Container>
60
66
  );
61
67
  }
@@ -7,13 +7,16 @@ export const TooltipContent = styled(RadixTooltip.Content, {
7
7
  zIndex: '999999',
8
8
  });
9
9
 
10
- export const TooltipArrow = styled(RadixTooltip.Arrow, {
11
- fill: '$neutral100',
12
- });
13
-
14
10
  export const TooltipTypography = styled(Typography, {
15
11
  borderRadius: '$md',
16
12
  padding: '$5 $10',
17
- boxShadow: '5px 5px 10px 0px rgba(0, 0, 0, 0.10)',
13
+ boxShadow:
14
+ 'inset 0 0 0.5px 1px rgba(255, 255, 255, 0.075), 0 0 0 1px rgba(0, 0, 0, 0.05), 0 0.3px 0.4px rgba(0, 0, 0, 0.02), 0.9px 1.5px rgba(0, 0, 0, 0.045), 0 3.5px 6px rgba(0, 0, 0, 0.09)',
18
15
  backgroundColor: '$neutral100',
19
16
  });
17
+
18
+ export const TriggerContent = styled('div', {
19
+ display: 'flex',
20
+ justifyContent: 'center',
21
+ alignItems: 'center',
22
+ });
@@ -5,9 +5,9 @@ import * as RadixTooltip from '@radix-ui/react-tooltip';
5
5
  import React from 'react';
6
6
 
7
7
  import {
8
- TooltipArrow,
9
8
  TooltipContent,
10
9
  TooltipTypography,
10
+ TriggerContent,
11
11
  } from './Tooltip.styles';
12
12
 
13
13
  export function Tooltip(props: PropsWithChildren<PropTypes>) {
@@ -24,14 +24,13 @@ export function Tooltip(props: PropsWithChildren<PropTypes>) {
24
24
  <RadixTooltip.Provider delayDuration={0}>
25
25
  <RadixTooltip.Root open={open}>
26
26
  <RadixTooltip.Trigger asChild>
27
- <div>{children}</div>
27
+ <TriggerContent>{children}</TriggerContent>
28
28
  </RadixTooltip.Trigger>
29
29
  <RadixTooltip.Portal container={container}>
30
30
  <TooltipContent side={side} sideOffset={sideOffset}>
31
31
  <TooltipTypography variant="label" size="medium" color={color}>
32
32
  {content}
33
33
  </TooltipTypography>
34
- <TooltipArrow />
35
34
  </TooltipContent>
36
35
  </RadixTooltip.Portal>
37
36
  </RadixTooltip.Root>
@@ -30,7 +30,7 @@ export const WalletButton = styled('button', {
30
30
  backgroundColor: '$$color',
31
31
  alignItems: 'center',
32
32
  cursor: 'pointer',
33
- width: 110,
33
+ width: 100,
34
34
  position: 'relative',
35
35
  fontFamily: 'inherit',
36
36
  '&:hover': {
@@ -21,26 +21,6 @@ export interface Info {
21
21
  tooltipText: string;
22
22
  }
23
23
 
24
- interface StateConnected {
25
- state: WalletState.CONNECTED;
26
- }
27
- interface StateDisconnected {
28
- state: WalletState.DISCONNECTED;
29
- }
30
- interface StateConnecting {
31
- state: WalletState.CONNECTING;
32
- }
33
- interface StateNotInstalled {
34
- state: WalletState.NOT_INSTALLED;
35
- link: InstallObjects | string;
36
- }
37
-
38
- type State =
39
- | StateConnected
40
- | StateDisconnected
41
- | StateConnecting
42
- | StateNotInstalled;
43
-
44
24
  export interface ContentProps {
45
25
  image: string;
46
26
  title: string;
@@ -48,9 +28,11 @@ export interface ContentProps {
48
28
  descriptionColor?: string;
49
29
  }
50
30
 
51
- interface WalletProps {
31
+ export interface WalletPropTypes {
32
+ state: WalletState;
52
33
  title: string;
53
34
  image: string;
35
+ link: InstallObjects | string;
54
36
  type: WalletType;
55
37
  onClick: (type: WalletType) => void;
56
38
  selected?: boolean;
@@ -59,8 +41,6 @@ interface WalletProps {
59
41
  container?: HTMLElement;
60
42
  }
61
43
 
62
- export type WalletPropTypes = State & WalletProps;
63
-
64
44
  export type SelectablePropTypes = WalletPropTypes & {
65
45
  selected: boolean;
66
46
  };
@@ -2,7 +2,7 @@ import React from 'react';
2
2
 
3
3
  import { styled } from '../../theme';
4
4
 
5
- const ImageContainer = styled('div', {
5
+ export const ImageContainer = styled('div', {
6
6
  display: 'flex',
7
7
  justifyContent: 'center',
8
8
  alignItems: 'center',
@@ -37,7 +37,6 @@ export function Image(props: PropTypes) {
37
37
 
38
38
  return (
39
39
  <ImageContainer
40
- className="image-container"
41
40
  css={{
42
41
  width: size + 'px',
43
42
  height: size + 'px',
@@ -1,2 +1,2 @@
1
1
  export { FilledCircle } from './FilledCircle';
2
- export { Image } from './Image';
2
+ export { Image, ImageContainer } from './Image';
@@ -1,7 +1,10 @@
1
+ import type { PropTypes } from './SwapHistory';
2
+ import type { Meta } from '@storybook/react';
3
+
1
4
  import React from 'react';
2
- import { Meta } from '@storybook/react';
3
- import { PropTypes, SwapHistory } from './SwapHistory';
5
+
4
6
  import { pendingSwap } from './mock';
7
+ import { SwapHistory } from './SwapHistory';
5
8
 
6
9
  export default {
7
10
  title: 'Containers/Swap History',
@@ -1,5 +1,5 @@
1
1
  import type { PropTypes as SwapMessagesPropTypes } from './SwapMessages';
2
- import type { PendingSwap } from '../History/types';
2
+ import type { PendingSwap } from 'rango-types';
3
3
 
4
4
  import React, { useState } from 'react';
5
5
 
@@ -1,6 +1,8 @@
1
- // @ts-nocheck
1
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
2
+ import type { PendingSwap } from 'rango-types';
3
+
2
4
  import { RoutingResultType, TransactionType } from 'rango-sdk';
3
- import { PendingSwap } from '../History/types';
5
+ import { MessageSeverity } from 'rango-types';
4
6
 
5
7
  export const pendingSwap: PendingSwap = {
6
8
  creationTime: '1673164511955',
@@ -16,7 +18,7 @@ export const pendingSwap: PendingSwap = {
16
18
  status: 'running',
17
19
  isPaused: false,
18
20
  extraMessage: null,
19
- extraMessageSeverity: 'info',
21
+ extraMessageSeverity: MessageSeverity.info,
20
22
  extraMessageDetail: '',
21
23
  extraMessageErrorCode: null,
22
24
  networkStatusExtraMessage: null,
@@ -34,14 +36,14 @@ export const pendingSwap: PendingSwap = {
34
36
  {
35
37
  swapperId: 'Osmosis',
36
38
  swapperType: 'DEX',
37
- swapperLogo: 'https://api.rango.exchange/swappers/osmosis.png',
39
+ swapperLogo: '',
38
40
  from: {
39
41
  symbol: 'JUNO',
40
42
  logo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png',
41
43
  address:
42
44
  'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed',
43
45
  blockchain: 'OSMOSIS',
44
- blockchainLogo: '',
46
+ blockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png',
45
47
  decimals: 6,
46
48
  usdPrice: 1.1091996179668873,
47
49
  },
@@ -51,7 +53,7 @@ export const pendingSwap: PendingSwap = {
51
53
  address: null,
52
54
  blockchain: 'OSMOSIS',
53
55
  decimals: 6,
54
- blockchainLogo: '',
56
+ blockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png',
55
57
  usdPrice: 0.7192435454440882,
56
58
  },
57
59
  fromAmount: '1.000000',
@@ -68,8 +70,9 @@ export const pendingSwap: PendingSwap = {
68
70
  address: null,
69
71
  },
70
72
  expenseType: 'FROM_SOURCE_WALLET',
71
- amount: '0',
72
73
  name: 'Network Fee',
74
+ amount: '0',
75
+ price: null,
73
76
  },
74
77
  ],
75
78
  estimatedTimeInSeconds: 45,
@@ -145,6 +148,7 @@ export const pendingSwap: PendingSwap = {
145
148
  includesDestinationTx: false,
146
149
  maxRequiredSign: 1,
147
150
  warnings: [],
151
+ internalSwaps: null,
148
152
  },
149
153
  ],
150
154
  },
@@ -154,21 +158,25 @@ export const pendingSwap: PendingSwap = {
154
158
  id: 1,
155
159
  fromBlockchain: 'OSMOSIS',
156
160
  fromSymbol: 'JUNO',
161
+ swapperType: 'test',
157
162
  fromSymbolAddress:
158
163
  'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed',
159
164
  fromDecimals: 6,
160
165
  fromAmountPrecision: null,
166
+ fromAmountRestrictionType: 'EXCLUSIVE',
167
+ estimatedTimeInSeconds: 5,
161
168
  fromAmountMinValue: null,
162
169
  fromAmountMaxValue: null,
170
+ fromUsdPrice: null,
163
171
  toBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png',
164
172
  fromBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png',
165
173
  toBlockchain: 'OSMOSIS',
166
174
  fromLogo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png',
167
175
  toSymbol: 'OSMO',
168
176
  toSymbolAddress: null,
169
- swapperType: 'DEX',
170
177
  toDecimals: 6,
171
178
  toLogo: 'https://api.rango.exchange/i/mJQPS2',
179
+ toUsdPrice: null,
172
180
  startTransactionTime: 1673164519916,
173
181
  swapperId: 'Osmosis',
174
182
  swapperLogo: 'https://api.rango.exchange/swappers/osmosis.png',
@@ -184,6 +192,13 @@ export const pendingSwap: PendingSwap = {
184
192
  description: null,
185
193
  },
186
194
  ],
195
+ starknetApprovalTransaction: null,
196
+ starknetTransaction: null,
197
+ tronApprovalTransaction: null,
198
+ tonTransaction: null,
199
+ tronTransaction: null,
200
+ feeInUsd: null,
201
+ executedTransactionTime: null,
187
202
  cosmosTransaction: {
188
203
  type: TransactionType.COSMOS,
189
204
  fromWalletAddress: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl',
@@ -271,6 +286,7 @@ export const pendingSwap: PendingSwap = {
271
286
  transferTransaction: null,
272
287
  diagnosisUrl: null,
273
288
  internalSteps: null,
289
+ internalSwaps: null,
274
290
  },
275
291
  ],
276
292
  };