@rango-dev/ui 0.29.1-next.9 → 0.30.1-next.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 (153) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/index.js +6 -6
  3. package/dist/index.js.map +4 -4
  4. package/dist/translations/de.d.ts +2 -0
  5. package/dist/translations/de.d.ts.map +1 -0
  6. package/dist/translations/el.d.ts +2 -0
  7. package/dist/translations/el.d.ts.map +1 -0
  8. package/dist/translations/en.d.ts.map +1 -1
  9. package/dist/translations/es.d.ts.map +1 -1
  10. package/dist/translations/fi.d.ts +2 -0
  11. package/dist/translations/fi.d.ts.map +1 -0
  12. package/dist/translations/fr.d.ts.map +1 -1
  13. package/dist/translations/it.d.ts +2 -0
  14. package/dist/translations/it.d.ts.map +1 -0
  15. package/dist/translations/ja.d.ts.map +1 -1
  16. package/dist/translations/nl.d.ts +2 -0
  17. package/dist/translations/nl.d.ts.map +1 -0
  18. package/dist/translations/pl.d.ts +2 -0
  19. package/dist/translations/pl.d.ts.map +1 -0
  20. package/dist/translations/pt.d.ts.map +1 -1
  21. package/dist/translations/ru.d.ts +2 -0
  22. package/dist/translations/ru.d.ts.map +1 -0
  23. package/dist/translations/sv.d.ts +2 -0
  24. package/dist/translations/sv.d.ts.map +1 -0
  25. package/dist/translations/uk.d.ts +2 -0
  26. package/dist/translations/uk.d.ts.map +1 -0
  27. package/dist/translations/zh.d.ts +2 -0
  28. package/dist/translations/zh.d.ts.map +1 -0
  29. package/dist/widget/ui/src/components/Alert/Alert.d.ts.map +1 -1
  30. package/dist/widget/ui/src/components/ChainToken/ChainToken.constants.d.ts.map +1 -1
  31. package/dist/widget/ui/src/components/ChainToken/ChainToken.styles.d.ts +1 -1
  32. package/dist/widget/ui/src/components/ChainToken/ChainToken.styles.d.ts.map +1 -1
  33. package/dist/widget/ui/src/components/Divider/Divider.styles.d.ts +1 -1
  34. package/dist/widget/ui/src/components/Divider/Divider.styles.d.ts.map +1 -1
  35. package/dist/widget/ui/src/components/Flags/Bengali.d.ts +4 -0
  36. package/dist/widget/ui/src/components/Flags/Bengali.d.ts.map +1 -0
  37. package/dist/widget/ui/src/components/Flags/Chinese.d.ts +4 -0
  38. package/dist/widget/ui/src/components/Flags/Chinese.d.ts.map +1 -0
  39. package/dist/widget/ui/src/components/Flags/Finland.d.ts +4 -0
  40. package/dist/widget/ui/src/components/Flags/Finland.d.ts.map +1 -0
  41. package/dist/widget/ui/src/components/Flags/German.d.ts +4 -0
  42. package/dist/widget/ui/src/components/Flags/German.d.ts.map +1 -0
  43. package/dist/widget/ui/src/components/Flags/Greece.d.ts +4 -0
  44. package/dist/widget/ui/src/components/Flags/Greece.d.ts.map +1 -0
  45. package/dist/widget/ui/src/components/Flags/Hindi.d.ts +4 -0
  46. package/dist/widget/ui/src/components/Flags/Hindi.d.ts.map +1 -0
  47. package/dist/widget/ui/src/components/Flags/Indonesian.d.ts +4 -0
  48. package/dist/widget/ui/src/components/Flags/Indonesian.d.ts.map +1 -0
  49. package/dist/widget/ui/src/components/Flags/Italian.d.ts +4 -0
  50. package/dist/widget/ui/src/components/Flags/Italian.d.ts.map +1 -0
  51. package/dist/widget/ui/src/components/Flags/Malay.d.ts +4 -0
  52. package/dist/widget/ui/src/components/Flags/Malay.d.ts.map +1 -0
  53. package/dist/widget/ui/src/components/Flags/Netherlands.d.ts +4 -0
  54. package/dist/widget/ui/src/components/Flags/Netherlands.d.ts.map +1 -0
  55. package/dist/widget/ui/src/components/Flags/Poland.d.ts +4 -0
  56. package/dist/widget/ui/src/components/Flags/Poland.d.ts.map +1 -0
  57. package/dist/widget/ui/src/components/Flags/Russian.d.ts +4 -0
  58. package/dist/widget/ui/src/components/Flags/Russian.d.ts.map +1 -0
  59. package/dist/widget/ui/src/components/Flags/Swedish.d.ts +4 -0
  60. package/dist/widget/ui/src/components/Flags/Swedish.d.ts.map +1 -0
  61. package/dist/widget/ui/src/components/Flags/Thai.d.ts +4 -0
  62. package/dist/widget/ui/src/components/Flags/Thai.d.ts.map +1 -0
  63. package/dist/widget/ui/src/components/Flags/Turkish.d.ts +4 -0
  64. package/dist/widget/ui/src/components/Flags/Turkish.d.ts.map +1 -0
  65. package/dist/widget/ui/src/components/Flags/Ukrainian.d.ts +4 -0
  66. package/dist/widget/ui/src/components/Flags/Ukrainian.d.ts.map +1 -0
  67. package/dist/widget/ui/src/components/Flags/Vietnamese.d.ts +4 -0
  68. package/dist/widget/ui/src/components/Flags/Vietnamese.d.ts.map +1 -0
  69. package/dist/widget/ui/src/components/Flags/index.d.ts +18 -1
  70. package/dist/widget/ui/src/components/Flags/index.d.ts.map +1 -1
  71. package/dist/widget/ui/src/components/FullExpandedQuote/FullExpandedQuote.Skeletons.d.ts.map +1 -1
  72. package/dist/widget/ui/src/components/FullExpandedQuote/FullExpandedQuote.d.ts.map +1 -1
  73. package/dist/widget/ui/src/components/FullExpandedQuote/FullExpandedQuote.styles.d.ts +162 -0
  74. package/dist/widget/ui/src/components/FullExpandedQuote/FullExpandedQuote.styles.d.ts.map +1 -1
  75. package/dist/widget/ui/src/components/FullExpandedQuote/FullExpandedQuote.types.d.ts +1 -0
  76. package/dist/widget/ui/src/components/FullExpandedQuote/FullExpandedQuote.types.d.ts.map +1 -1
  77. package/dist/widget/ui/src/components/I18nManager/I18nManager.d.ts +10 -0
  78. package/dist/widget/ui/src/components/I18nManager/I18nManager.d.ts.map +1 -1
  79. package/dist/widget/ui/src/components/ListItem/ListItem.types.d.ts +2 -0
  80. package/dist/widget/ui/src/components/ListItem/ListItem.types.d.ts.map +1 -1
  81. package/dist/widget/ui/src/components/ListItemButton/ListItemButton.d.ts.map +1 -1
  82. package/dist/widget/ui/src/components/ListItemButton/ListItemButton.styles.d.ts +2 -2
  83. package/dist/widget/ui/src/components/ListItemButton/ListItemButton.styles.d.ts.map +1 -1
  84. package/dist/widget/ui/src/components/ListItemButton/ListItemButton.types.d.ts +0 -1
  85. package/dist/widget/ui/src/components/ListItemButton/ListItemButton.types.d.ts.map +1 -1
  86. package/dist/widget/ui/src/components/Popover/Popover.styles.d.ts.map +1 -1
  87. package/dist/widget/ui/src/components/PriceImpact/PriceImpact.d.ts.map +1 -1
  88. package/dist/widget/ui/src/components/PriceImpact/PriceImpact.types.d.ts +1 -0
  89. package/dist/widget/ui/src/components/PriceImpact/PriceImpact.types.d.ts.map +1 -1
  90. package/dist/widget/ui/src/components/Select/Select.d.ts +1 -1
  91. package/dist/widget/ui/src/components/Select/Select.d.ts.map +1 -1
  92. package/dist/widget/ui/src/components/Select/Select.types.d.ts +8 -6
  93. package/dist/widget/ui/src/components/Select/Select.types.d.ts.map +1 -1
  94. package/dist/widget/ui/src/components/Select/select.styles.d.ts +1 -0
  95. package/dist/widget/ui/src/components/Select/select.styles.d.ts.map +1 -1
  96. package/dist/widget/ui/src/components/Tooltip/Tooltip.styles.d.ts.map +1 -1
  97. package/dist/widget/ui/src/containers/SwapInput/SwapInput.styles.d.ts.map +1 -1
  98. package/dist/widget/ui/src/icons/BorderRadius.d.ts.map +1 -1
  99. package/dist/widget/ui/src/icons/Font.d.ts.map +1 -1
  100. package/dist/widget/ui/src/icons/Language.d.ts.map +1 -1
  101. package/dist/widget/ui/src/icons/Widget.d.ts +5 -0
  102. package/dist/widget/ui/src/icons/Widget.d.ts.map +1 -0
  103. package/dist/widget/ui/src/icons/index.d.ts +1 -0
  104. package/dist/widget/ui/src/icons/index.d.ts.map +1 -1
  105. package/package.json +2 -2
  106. package/src/components/Alert/Alert.tsx +6 -1
  107. package/src/components/ChainToken/ChainToken.constants.ts +1 -0
  108. package/src/components/ChainToken/ChainToken.styles.ts +4 -0
  109. package/src/components/Divider/Divider.styles.ts +8 -0
  110. package/src/components/Flags/Bengali.tsx +25 -0
  111. package/src/components/Flags/Chinese.tsx +28 -0
  112. package/src/components/Flags/Finland.tsx +31 -0
  113. package/src/components/Flags/German.tsx +26 -0
  114. package/src/components/Flags/Greece.tsx +31 -0
  115. package/src/components/Flags/Hindi.tsx +29 -0
  116. package/src/components/Flags/Indonesian.tsx +25 -0
  117. package/src/components/Flags/Italian.tsx +26 -0
  118. package/src/components/Flags/Malay.tsx +29 -0
  119. package/src/components/Flags/Netherlands.tsx +29 -0
  120. package/src/components/Flags/Poland.tsx +25 -0
  121. package/src/components/Flags/Russian.tsx +26 -0
  122. package/src/components/Flags/Swedish.tsx +31 -0
  123. package/src/components/Flags/Thai.tsx +32 -0
  124. package/src/components/Flags/Turkish.tsx +28 -0
  125. package/src/components/Flags/Ukrainian.tsx +25 -0
  126. package/src/components/Flags/Vietnamese.tsx +28 -0
  127. package/src/components/Flags/index.ts +41 -1
  128. package/src/components/FullExpandedQuote/FullExpandedQuote.Skeletons.tsx +5 -12
  129. package/src/components/FullExpandedQuote/FullExpandedQuote.styles.ts +22 -9
  130. package/src/components/FullExpandedQuote/FullExpandedQuote.tsx +12 -7
  131. package/src/components/FullExpandedQuote/FullExpandedQuote.types.ts +1 -0
  132. package/src/components/Header/Header.styles.ts +1 -1
  133. package/src/components/I18nManager/I18nManager.tsx +20 -0
  134. package/src/components/ListItem/ListItem.types.ts +2 -0
  135. package/src/components/ListItemButton/ListItemButton.styles.ts +14 -30
  136. package/src/components/ListItemButton/ListItemButton.tsx +10 -8
  137. package/src/components/ListItemButton/ListItemButton.types.ts +0 -1
  138. package/src/components/Popover/Popover.styles.ts +7 -1
  139. package/src/components/PriceImpact/PriceImpact.tsx +5 -1
  140. package/src/components/PriceImpact/PriceImpact.types.ts +1 -0
  141. package/src/components/Select/Select.tsx +10 -7
  142. package/src/components/Select/Select.types.ts +10 -6
  143. package/src/components/Select/select.styles.ts +33 -13
  144. package/src/components/StepDetails/StepDetails.styles.ts +1 -1
  145. package/src/components/Tooltip/Tooltip.styles.ts +6 -4
  146. package/src/containers/SwapInput/SwapInput.styles.ts +6 -0
  147. package/src/containers/SwapInput/SwapInput.tsx +1 -1
  148. package/src/containers/SwapInput/TokenSection.styles.ts +1 -1
  149. package/src/icons/BorderRadius.tsx +10 -7
  150. package/src/icons/Font.tsx +17 -13
  151. package/src/icons/Language.tsx +44 -40
  152. package/src/icons/Widget.tsx +24 -0
  153. package/src/icons/index.ts +1 -0
@@ -0,0 +1,26 @@
1
+ import type { FlagPropTypes } from './Flags.types';
2
+
3
+ import React from 'react';
4
+
5
+ import { DEFAULT_SIZE } from './Flags.constants';
6
+
7
+ export default function Russian(props: FlagPropTypes) {
8
+ const { size = DEFAULT_SIZE } = props;
9
+
10
+ return (
11
+ <svg
12
+ width={size}
13
+ height={size}
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ viewBox="0 0 512 512">
16
+ <mask id="a">
17
+ <circle cx={256} cy={256} r={256} fill="#fff" />
18
+ </mask>
19
+ <g mask="url(#a)">
20
+ <path fill="#0052b4" d="M512 170v172l-256 32L0 342V170l256-32z" />
21
+ <path fill="#eee" d="M512 0v170H0V0Z" />
22
+ <path fill="#d80027" d="M512 342v170H0V342Z" />
23
+ </g>
24
+ </svg>
25
+ );
26
+ }
@@ -0,0 +1,31 @@
1
+ import type { FlagPropTypes } from './Flags.types';
2
+
3
+ import React from 'react';
4
+
5
+ import { DEFAULT_SIZE } from './Flags.constants';
6
+
7
+ export default function Swedish(props: FlagPropTypes) {
8
+ const { size = DEFAULT_SIZE } = props;
9
+
10
+ return (
11
+ <svg
12
+ width={size}
13
+ height={size}
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ viewBox="0 0 512 512">
16
+ <mask id="a">
17
+ <circle cx={256} cy={256} r={256} fill="#fff" />
18
+ </mask>
19
+ <g mask="url(#a)">
20
+ <path
21
+ fill="#0052b4"
22
+ d="M0 0h133.6l35.3 16.7L200.3 0H512v222.6l-22.6 31.7 22.6 35.1V512H200.3l-32-19.8-34.7 19.8H0V289.4l22.1-33.3L0 222.6z"
23
+ />
24
+ <path
25
+ fill="#ffda44"
26
+ d="M133.6 0v222.6H0v66.8h133.6V512h66.7V289.4H512v-66.8H200.3V0z"
27
+ />
28
+ </g>
29
+ </svg>
30
+ );
31
+ }
@@ -0,0 +1,32 @@
1
+ import type { FlagPropTypes } from './Flags.types';
2
+
3
+ import React from 'react';
4
+
5
+ import { DEFAULT_SIZE } from './Flags.constants';
6
+
7
+ export default function Thai(props: FlagPropTypes) {
8
+ const { size = DEFAULT_SIZE } = props;
9
+
10
+ return (
11
+ <svg
12
+ width={size}
13
+ height={size}
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ viewBox="0 0 512 512">
16
+ <mask id="a">
17
+ <circle cx={256} cy={256} r={256} fill="#fff" />
18
+ </mask>
19
+ <g mask="url(#a)">
20
+ <path
21
+ fill="#d80027"
22
+ d="M0 0h512v89l-79.2 163.7L512 423v89H0v-89l82.7-169.6L0 89z"
23
+ />
24
+ <path
25
+ fill="#eee"
26
+ d="M0 89h512v78l-42.6 91.2L512 345v78H0v-78l40-92.5L0 167z"
27
+ />
28
+ <path fill="#0052b4" d="M0 167h512v178H0z" />
29
+ </g>
30
+ </svg>
31
+ );
32
+ }
@@ -0,0 +1,28 @@
1
+ import type { FlagPropTypes } from './Flags.types';
2
+
3
+ import React from 'react';
4
+
5
+ import { DEFAULT_SIZE } from './Flags.constants';
6
+
7
+ export default function Turkish(props: FlagPropTypes) {
8
+ const { size = DEFAULT_SIZE } = props;
9
+
10
+ return (
11
+ <svg
12
+ width={size}
13
+ height={size}
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ viewBox="0 0 512 512">
16
+ <mask id="a">
17
+ <circle cx={256} cy={256} r={256} fill="#fff" />
18
+ </mask>
19
+ <g mask="url(#a)">
20
+ <path fill="#d80027" d="M0 0h512v512H0z" />
21
+ <g fill="#eee">
22
+ <path d="m245.5 209.2 21 29 34-11.1-21 29 21 28.9-34-11.1-21 29V267l-34-11.1 34-11z" />
23
+ <path d="M188.2 328.3a72.3 72.3 0 1 1 34.4-136 89 89 0 1 0 0 127.3 72 72 0 0 1-34.4 8.7z" />
24
+ </g>
25
+ </g>
26
+ </svg>
27
+ );
28
+ }
@@ -0,0 +1,25 @@
1
+ import type { FlagPropTypes } from './Flags.types';
2
+
3
+ import React from 'react';
4
+
5
+ import { DEFAULT_SIZE } from './Flags.constants';
6
+
7
+ export default function Ukrainian(props: FlagPropTypes) {
8
+ const { size = DEFAULT_SIZE } = props;
9
+
10
+ return (
11
+ <svg
12
+ width={size}
13
+ height={size}
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ viewBox="0 0 512 512">
16
+ <mask id="a">
17
+ <circle cx={256} cy={256} r={256} fill="#fff" />
18
+ </mask>
19
+ <g mask="url(#a)">
20
+ <path fill="#ffda44" d="m0 256 258-39.4L512 256v256H0z" />
21
+ <path fill="#338af3" d="M0 0h512v256H0z" />
22
+ </g>
23
+ </svg>
24
+ );
25
+ }
@@ -0,0 +1,28 @@
1
+ import type { FlagPropTypes } from './Flags.types';
2
+
3
+ import React from 'react';
4
+
5
+ import { DEFAULT_SIZE } from './Flags.constants';
6
+
7
+ export default function Vietnamese(props: FlagPropTypes) {
8
+ const { size = DEFAULT_SIZE } = props;
9
+
10
+ return (
11
+ <svg
12
+ width={size}
13
+ height={size}
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ viewBox="0 0 512 512">
16
+ <mask id="a">
17
+ <circle cx={256} cy={256} r={256} fill="#fff" />
18
+ </mask>
19
+ <g mask="url(#a)">
20
+ <path fill="#d80027" d="M0 0h512v512H0z" />
21
+ <path
22
+ fill="#ffda44"
23
+ d="m256 133.6 27.6 85H373L300.7 271l27.6 85-72.3-52.5-72.3 52.6 27.6-85-72.3-52.6h89.4z"
24
+ />
25
+ </g>
26
+ </svg>
27
+ );
28
+ }
@@ -1,9 +1,49 @@
1
+ import Bengali from './Bengali';
2
+ import Chinese from './Chinese';
1
3
  import English from './English';
4
+ import Finland from './Finland';
2
5
  import French from './French';
6
+ import German from './German';
7
+ import Greece from './Greece';
8
+ import Hindi from './Hindi';
9
+ import Indonesian from './Indonesian';
10
+ import Italian from './Italian';
3
11
  import Japanese from './Japanese';
12
+ import Malay from './Malay';
13
+ import Netherlands from './Netherlands';
14
+ import Poland from './Poland';
4
15
  import Portuguese from './Portuguese';
16
+ import Russian from './Russian';
5
17
  import Spanish from './Spanish';
18
+ import Swedish from './Swedish';
19
+ import Thai from './Thai';
20
+ import Turkish from './Turkish';
21
+ import Ukrainian from './Ukrainian';
22
+ import Vietnamese from './Vietnamese';
6
23
 
7
24
  export type { FlagPropTypes } from './Flags.types';
8
25
 
9
- export { English, Spanish, Japanese, French, Portuguese };
26
+ export {
27
+ English,
28
+ Spanish,
29
+ Japanese,
30
+ French,
31
+ Portuguese,
32
+ Hindi,
33
+ Chinese,
34
+ Bengali,
35
+ Russian,
36
+ Indonesian,
37
+ German,
38
+ Malay,
39
+ Swedish,
40
+ Thai,
41
+ Turkish,
42
+ Ukrainian,
43
+ Vietnamese,
44
+ Finland,
45
+ Netherlands,
46
+ Greece,
47
+ Italian,
48
+ Poland,
49
+ };
@@ -7,6 +7,7 @@ import {
7
7
  FlexCenter,
8
8
  OutputLoading,
9
9
  Separator,
10
+ SkeletonItemLeftContainer,
10
11
  VerticalLine,
11
12
  } from './FullExpandedQuote.styles';
12
13
 
@@ -24,11 +25,7 @@ export function SkeletonHeader() {
24
25
  css={{
25
26
  gap: '$5',
26
27
  }}>
27
- <Skeleton width={74} variant="text" size="large" />
28
- <Skeleton width={80} variant="text" size="large" />
29
- <Skeleton width={75} variant="text" size="large" />
30
- <Skeleton width={52} variant="text" size="large" />
31
- <Skeleton width={95} variant="text" size="large" />
28
+ <Skeleton width={153} variant="text" size="large" />
32
29
  </FlexCenter>
33
30
  </>
34
31
  );
@@ -39,7 +36,7 @@ export function SkeletonOutput() {
39
36
  <OutputLoading>
40
37
  <ChainToken
41
38
  useAsPlaceholder={true}
42
- size="medium"
39
+ size="large"
43
40
  chainImage=""
44
41
  tokenImage=""
45
42
  loading={true}
@@ -50,13 +47,9 @@ export function SkeletonOutput() {
50
47
  }
51
48
  export function SkeletonItemLeft() {
52
49
  return (
53
- <div
54
- style={{
55
- display: 'flex',
56
- alignItems: 'end',
57
- }}>
50
+ <SkeletonItemLeftContainer>
58
51
  <Skeleton variant="rounded" width={42} height={49} />
59
- </div>
52
+ </SkeletonItemLeftContainer>
60
53
  );
61
54
  }
62
55
 
@@ -20,6 +20,12 @@ export const RouteContainer = styled('div', {
20
20
  [`.${darkTheme} &`]: {
21
21
  backgroundColor: '$neutral500',
22
22
  },
23
+ '&:hover': {
24
+ backgroundColor: '$neutral300',
25
+ [`.${darkTheme} &`]: {
26
+ backgroundColor: '$neutral400',
27
+ },
28
+ },
23
29
  variants: {
24
30
  selected: {
25
31
  true: {
@@ -76,6 +82,7 @@ export const RightSection = styled('div', {
76
82
  borderColor: '$info300',
77
83
  display: 'flex',
78
84
  flexDirection: 'column',
85
+ justifyContent: 'flex-end',
79
86
  gap: '2px',
80
87
  [`.${darkTheme} &`]: {
81
88
  borderColor: '$secondary600',
@@ -109,8 +116,8 @@ export const SwapperContainer = styled(FlexCenter, {
109
116
  export const SwapperImage = styled(FlexCenter, {
110
117
  borderRadius: '$lg',
111
118
  position: 'relative',
112
- width: '$18',
113
- height: '$18',
119
+ width: '$24',
120
+ height: '$24',
114
121
  border: '1px solid transparent',
115
122
  variants: {
116
123
  state: {
@@ -127,10 +134,10 @@ export const SwapperImage = styled(FlexCenter, {
127
134
  export const IconHighlight = styled(FlexCenter, {
128
135
  borderRadius: '$lg',
129
136
  position: 'absolute',
130
- width: '$8',
131
- height: '$8',
132
- bottom: -2,
133
- right: -2,
137
+ width: '$10',
138
+ height: '$10',
139
+ bottom: -3,
140
+ right: -3,
134
141
  variants: {
135
142
  type: {
136
143
  warning: {
@@ -153,12 +160,12 @@ export const IconHighlight = styled(FlexCenter, {
153
160
 
154
161
  export const OutputSection = styled(FlexCenter, {
155
162
  flexDirection: 'column',
156
- paddingLeft: '$4',
163
+ paddingLeft: '$8',
157
164
  });
158
165
 
159
166
  export const VerticalLine = styled('div', {
160
167
  display: 'flex',
161
- width: '50%',
168
+ width: 'calc(50% + 1px)',
162
169
  borderRight: '1px dashed',
163
170
  height: '$10',
164
171
  borderColor: '$info300',
@@ -201,8 +208,14 @@ export const Separator = styled('div', {
201
208
  });
202
209
 
203
210
  export const OutputLoading = styled(FlexCenter, {
204
- padding: '0 $2',
211
+ padding: '$10 $2 0',
205
212
  height: '85px',
206
213
  gap: '$10',
207
214
  flexDirection: 'column',
208
215
  });
216
+
217
+ export const SkeletonItemLeftContainer = styled('div', {
218
+ display: 'flex',
219
+ alignItems: 'center',
220
+ paddingTop: '$25',
221
+ });
@@ -45,7 +45,8 @@ export function FullExpandedQuote(props: PropTypes) {
45
45
  warningLevel,
46
46
  tooltipContainer,
47
47
  onClick,
48
- selected,
48
+ feeWarning,
49
+ selected = false,
49
50
  } = props;
50
51
 
51
52
  const steps: DataLoadedProps['steps'] = loading
@@ -64,6 +65,7 @@ export function FullExpandedQuote(props: PropTypes) {
64
65
  fee={props.fee}
65
66
  time={props.time}
66
67
  steps={numberOfSteps}
68
+ feeWarning={feeWarning}
67
69
  />
68
70
  <TagsContainer>
69
71
  {props.tags.map((tag) => (
@@ -85,7 +87,7 @@ export function FullExpandedQuote(props: PropTypes) {
85
87
  ) : (
86
88
  <LeftSection>
87
89
  <ChainToken
88
- size="small"
90
+ size="xmedium"
89
91
  chainImage={step.from.chain.image}
90
92
  tokenImage={step.from.token.image}
91
93
  />
@@ -116,20 +118,21 @@ export function FullExpandedQuote(props: PropTypes) {
116
118
  <SwapperContainer>
117
119
  <SwapperImage state={step.state}>
118
120
  <Image
119
- size={15}
121
+ size={22}
120
122
  type="circular"
121
123
  src={step.swapper.image}
122
124
  />
123
125
  {step.state && (
124
126
  <IconHighlight type={step.state}>
125
127
  {step.state === 'error' ? (
126
- <ErrorIcon size={6} color="error" />
128
+ <ErrorIcon size={8} color="error" />
127
129
  ) : (
128
- <WarningIcon size={6} color="warning" />
130
+ <WarningIcon size={8} color="warning" />
129
131
  )}
130
132
  </IconHighlight>
131
133
  )}
132
134
  </SwapperImage>
135
+ <Divider size={2} />
133
136
  <Typography size="xsmall" variant="body" align="center">
134
137
  {step.swapper.displayName}
135
138
  </Typography>
@@ -149,6 +152,7 @@ export function FullExpandedQuote(props: PropTypes) {
149
152
  tokenImage={steps[numberOfSteps - 1].to.token.image}
150
153
  size="medium"
151
154
  />
155
+ <Divider size={4} />
152
156
  <div>
153
157
  <Tooltip
154
158
  content={props.outputPrice.realValue}
@@ -158,13 +162,14 @@ export function FullExpandedQuote(props: PropTypes) {
158
162
  {props.outputPrice.value}
159
163
  </Typography>
160
164
  <Divider size={4} direction="horizontal" />
161
- <Typography size="large" variant="body">
165
+ <Typography size="xmedium" variant="title">
162
166
  {steps[numberOfSteps - 1].to.token.displayName}
163
167
  </Typography>
164
168
  </Tooltip>
165
169
  </div>
166
170
  <StyledPriceImpact
167
- size="xsmall"
171
+ size="small"
172
+ outputColor="$neutral700"
168
173
  warningLevel={warningLevel}
169
174
  outputUsdValue={props.outputPrice.usdValue}
170
175
  realOutputUsdValue={props.outputPrice.realUsdValue}
@@ -10,6 +10,7 @@ type BaseProps = {
10
10
  tooltipContainer?: HTMLElement;
11
11
  onClick?: () => void;
12
12
  selected?: boolean;
13
+ feeWarning?: boolean;
13
14
  };
14
15
 
15
16
  export type DataLoadedProps = {
@@ -16,7 +16,7 @@ export const Container = styled('div', {
16
16
  display: 'flex',
17
17
  justifyContent: 'space-between',
18
18
  alignItems: 'center',
19
- padding: '$15 $20',
19
+ padding: '$20 $20 $15 $20',
20
20
  $$color: '$colors$neutral100',
21
21
  [`.${darkTheme} &`]: {
22
22
  $$color: '$colors$neutral300',
@@ -11,11 +11,21 @@ import React, { useEffect, useReducer } from 'react';
11
11
  * "translations/*": ["../../translations/*"]
12
12
  *}
13
13
  */
14
+ import { messages as deMessages } from '../../../../../translations/de';
15
+ import { messages as elMessages } from '../../../../../translations/el';
14
16
  import { messages as enMessages } from '../../../../../translations/en';
15
17
  import { messages as esMessages } from '../../../../../translations/es';
18
+ import { messages as fiMessages } from '../../../../../translations/fi';
16
19
  import { messages as frMessages } from '../../../../../translations/fr';
20
+ import { messages as itMessages } from '../../../../../translations/it';
17
21
  import { messages as jaMessages } from '../../../../../translations/ja';
22
+ import { messages as nlMessages } from '../../../../../translations/nl';
23
+ import { messages as plMessages } from '../../../../../translations/pl';
18
24
  import { messages as ptMessages } from '../../../../../translations/pt';
25
+ import { messages as ruMessages } from '../../../../../translations/ru';
26
+ import { messages as svMessages } from '../../../../../translations/sv';
27
+ import { messages as ukMessages } from '../../../../../translations/uk';
28
+ import { messages as zhMessages } from '../../../../../translations/zh';
19
29
 
20
30
  const messages = {
21
31
  en: enMessages,
@@ -23,6 +33,16 @@ const messages = {
23
33
  ja: jaMessages,
24
34
  fr: frMessages,
25
35
  pt: ptMessages,
36
+ zh: zhMessages,
37
+ ru: ruMessages,
38
+ de: deMessages,
39
+ uk: ukMessages,
40
+ sv: svMessages,
41
+ fi: fiMessages,
42
+ nl: nlMessages,
43
+ el: elMessages,
44
+ it: itMessages,
45
+ pl: plMessages,
26
46
  };
27
47
 
28
48
  i18n.load(messages);
@@ -5,5 +5,7 @@ export type ListItemProps = {
5
5
  end?: React.ReactNode;
6
6
  as?: 'div' | 'li';
7
7
  onClick?: () => void;
8
+ onKeyUp?: React.KeyboardEventHandler<HTMLLIElement>;
8
9
  hasDivider?: boolean;
10
+ tabIndex?: number;
9
11
  };
@@ -1,26 +1,10 @@
1
1
  import { darkTheme, styled } from '../../theme';
2
+ import { ListItem } from '../ListItem/ListItem';
2
3
 
3
- export const BaseListItemButton = styled('button', {
4
+ export const BaseListItemButton = styled(ListItem, {
4
5
  transition: 'all 0.35s',
5
- border: 0,
6
- width: '100%',
7
- backgroundColor: 'transparent',
8
- fontFamily: 'inherit',
9
- padding: 'unset',
10
- '&:focus-visible': {
11
- borderRadius: '$xs',
12
-
13
- outline: 0,
14
- $$color: '$colors$info100',
15
- [`.${darkTheme} &`]: {
16
- $$color: '$colors$info700',
17
- },
18
- backgroundColor: '$$color',
19
- },
20
6
  '&:hover': {
21
7
  $$color: '$colors$info100',
22
- borderRadius: '$xs',
23
-
24
8
  [`.${darkTheme} &`]: {
25
9
  $$color: '$colors$neutral100',
26
10
  },
@@ -30,19 +14,19 @@ export const BaseListItemButton = styled('button', {
30
14
  '&:active': {
31
15
  transform: 'scale(0.99)',
32
16
  },
33
- variants: {
34
- hasDivider: {
35
- true: {
36
- borderBottom: '1px solid',
37
- $$color: '$colors$neutral300',
38
- [`.${darkTheme} &`]: {
39
- $$color: '$colors$neutral400',
40
- },
41
- borderColor: '$$color',
42
- borderBottomRightRadius: 0,
43
- borderBottomLeftRadius: 0,
44
- },
17
+
18
+ '&:focus-visible': {
19
+ borderRadius: '$xs',
20
+
21
+ outline: 0,
22
+ $$color: '$colors$info100',
23
+ [`.${darkTheme} &`]: {
24
+ $$color: '$colors$info700',
45
25
  },
26
+ backgroundColor: '$$color',
27
+ },
28
+
29
+ variants: {
46
30
  selected: {
47
31
  true: { outline: '1px solid $secondary500' },
48
32
  false: { outline: 0 },
@@ -2,25 +2,27 @@ import type { ListItemButtonProps } from './ListItemButton.types';
2
2
 
3
3
  import React from 'react';
4
4
 
5
- import { ListItem } from '../ListItem/ListItem';
6
-
7
5
  import { BaseListItemButton } from './ListItemButton.styles';
8
6
 
9
7
  function ListItemButton(props: ListItemButtonProps) {
10
- const { onClick, id, style, hasDivider, selected, ...restProps } = props;
8
+ const { onClick, id, selected, ...restProps } = props;
11
9
  const onClickWithKey = () => {
12
10
  if (onClick) {
13
11
  onClick(id);
14
12
  }
15
13
  };
14
+
16
15
  return (
17
16
  <BaseListItemButton
18
- hasDivider={hasDivider}
19
- selected={selected}
20
17
  onClick={onClickWithKey}
21
- style={style}>
22
- <ListItem {...restProps} />
23
- </BaseListItemButton>
18
+ aria-label="button"
19
+ selected={selected}
20
+ onKeyUp={(e: { key: string }) => {
21
+ e.key === 'Enter' && onClickWithKey();
22
+ }}
23
+ tabIndex={0}
24
+ {...restProps}
25
+ />
24
26
  );
25
27
  }
26
28
 
@@ -5,6 +5,5 @@ export type ListItemButtonProps = Omit<ListItemProps, 'onClick'> & {
5
5
  id: string;
6
6
  onClick: (id: string) => void;
7
7
  style?: CSSProperties;
8
- hasDivider?: boolean;
9
8
  selected?: boolean;
10
9
  };
@@ -1,15 +1,21 @@
1
1
  import * as RadixPopover from '@radix-ui/react-popover';
2
2
 
3
- import { styled } from '../../theme';
3
+ import { darkTheme, styled } from '../../theme';
4
4
 
5
5
  export const PopoverContainer = styled(RadixPopover.Content, {
6
6
  borderRadius: '$sm',
7
7
  filter: 'drop-shadow(0px 5px 20px rgba(130, 130, 130, 0.20))',
8
8
  backgroundColor: '$neutral100',
9
+ [`.${darkTheme} &`]: {
10
+ backgroundColor: '$neutral300',
11
+ },
9
12
  });
10
13
 
11
14
  export const PopoverArrow = styled(RadixPopover.Arrow, {
12
15
  fill: '$neutral100',
16
+ [`.${darkTheme} &`]: {
17
+ fill: '$neutral300',
18
+ },
13
19
  width: '$16',
14
20
  height: '$8',
15
21
  });
@@ -10,6 +10,7 @@ export function PriceImpact(props: PriceImpactProps) {
10
10
  const {
11
11
  size = 'medium',
12
12
  outputUsdValue,
13
+ outputColor,
13
14
  realOutputUsdValue,
14
15
  percentageChange,
15
16
  warningLevel,
@@ -37,7 +38,10 @@ export function PriceImpact(props: PriceImpactProps) {
37
38
  : undefined
38
39
  }
39
40
  side={tooltipProps?.side}>
40
- <OutputUsdValue size={size} variant="body" color="$neutral600">
41
+ <OutputUsdValue
42
+ size={size}
43
+ variant="body"
44
+ color={outputColor || '$neutral600'}>
41
45
  {`~$${outputUsdValue}`}
42
46
  </OutputUsdValue>
43
47
  </Tooltip>
@@ -6,6 +6,7 @@ export type PriceImpactWarningLevel = 'low' | 'high' | undefined;
6
6
  export type PriceImpactProps = {
7
7
  size: TypographyPropTypes['size'];
8
8
  outputUsdValue?: string;
9
+ outputColor?: string;
9
10
  realOutputUsdValue?: string;
10
11
  error?: string;
11
12
  percentageChange?: string | null;