@rango-dev/ui 0.26.0 → 0.26.1-next.1

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 (45) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/index.js +6 -6
  3. package/dist/index.js.map +3 -3
  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/PriceImpact/PriceImpact.d.ts.map +1 -1
  9. package/dist/widget/ui/src/components/PriceImpact/PriceImpact.types.d.ts +6 -0
  10. package/dist/widget/ui/src/components/PriceImpact/PriceImpact.types.d.ts.map +1 -1
  11. package/dist/widget/ui/src/components/StepDetails/StepDetails.d.ts.map +1 -1
  12. package/dist/widget/ui/src/components/StepDetails/StepDetails.types.d.ts +1 -0
  13. package/dist/widget/ui/src/components/StepDetails/StepDetails.types.d.ts.map +1 -1
  14. package/dist/widget/ui/src/components/SwapListItem/SwapListItem.d.ts.map +1 -1
  15. package/dist/widget/ui/src/components/SwapListItem/SwapListItem.types.d.ts +2 -1
  16. package/dist/widget/ui/src/components/SwapListItem/SwapListItem.types.d.ts.map +1 -1
  17. package/dist/widget/ui/src/components/SwapListItem/SwapToken.d.ts.map +1 -1
  18. package/dist/widget/ui/src/components/SwapListItem/SwapToken.types.d.ts +1 -0
  19. package/dist/widget/ui/src/components/SwapListItem/SwapToken.types.d.ts.map +1 -1
  20. package/dist/widget/ui/src/components/SwapListItem/mock.d.ts.map +1 -1
  21. package/dist/widget/ui/src/components/TokenAmount/TokenAmount.d.ts.map +1 -1
  22. package/dist/widget/ui/src/components/TokenAmount/TokenAmount.types.d.ts +1 -0
  23. package/dist/widget/ui/src/components/TokenAmount/TokenAmount.types.d.ts.map +1 -1
  24. package/dist/widget/ui/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  25. package/dist/widget/ui/src/components/Tooltip/Tooltip.types.d.ts +2 -0
  26. package/dist/widget/ui/src/components/Tooltip/Tooltip.types.d.ts.map +1 -1
  27. package/dist/widget/ui/src/containers/SwapInput/SwapInput.d.ts.map +1 -1
  28. package/dist/widget/ui/src/containers/SwapInput/SwapInput.types.d.ts +3 -0
  29. package/dist/widget/ui/src/containers/SwapInput/SwapInput.types.d.ts.map +1 -1
  30. package/package.json +3 -3
  31. package/src/components/PriceImpact/PriceImpact.tsx +26 -8
  32. package/src/components/PriceImpact/PriceImpact.types.ts +7 -0
  33. package/src/components/StepDetails/StepDetails.tsx +31 -15
  34. package/src/components/StepDetails/StepDetails.types.ts +1 -0
  35. package/src/components/SwapListItem/SwapListItem.tsx +6 -1
  36. package/src/components/SwapListItem/SwapListItem.types.ts +2 -1
  37. package/src/components/SwapListItem/SwapToken.tsx +14 -8
  38. package/src/components/SwapListItem/SwapToken.types.ts +1 -0
  39. package/src/components/SwapListItem/mock.ts +1 -0
  40. package/src/components/TokenAmount/TokenAmount.tsx +36 -20
  41. package/src/components/TokenAmount/TokenAmount.types.ts +1 -0
  42. package/src/components/Tooltip/Tooltip.tsx +2 -1
  43. package/src/components/Tooltip/Tooltip.types.ts +2 -0
  44. package/src/containers/SwapInput/SwapInput.tsx +53 -22
  45. package/src/containers/SwapInput/SwapInput.types.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../translations/en.ts"],"names":[],"mappings":"AAAkB,eAAO,MAAM,QAAQ,KAAqla,CAAC"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../translations/en.ts"],"names":[],"mappings":"AAAkB,eAAO,MAAM,QAAQ,KAAmxa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../../../translations/es.ts"],"names":[],"mappings":"AAAkB,eAAO,MAAM,QAAQ,KAAo3b,CAAC"}
1
+ {"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../../../translations/es.ts"],"names":[],"mappings":"AAAkB,eAAO,MAAM,QAAQ,KAAkjc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../../../translations/fr.ts"],"names":[],"mappings":"AAAkB,eAAO,MAAM,QAAQ,KAAgic,CAAC"}
1
+ {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../../../translations/fr.ts"],"names":[],"mappings":"AAAkB,eAAO,MAAM,QAAQ,KAA8tc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ja.d.ts","sourceRoot":"","sources":["../../../../translations/ja.ts"],"names":[],"mappings":"AAAkB,eAAO,MAAM,QAAQ,KAAs2W,CAAC"}
1
+ {"version":3,"file":"ja.d.ts","sourceRoot":"","sources":["../../../../translations/ja.ts"],"names":[],"mappings":"AAAkB,eAAO,MAAM,QAAQ,KAAoiX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PriceImpact.d.ts","sourceRoot":"","sources":["../../../../../../src/components/PriceImpact/PriceImpact.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,qBAuClD"}
1
+ {"version":3,"file":"PriceImpact.d.ts","sourceRoot":"","sources":["../../../../../../src/components/PriceImpact/PriceImpact.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,qBAyDlD"}
@@ -1,9 +1,15 @@
1
+ import type { PropTypes as TooltipPropTypes } from '../Tooltip/Tooltip.types';
1
2
  export type PriceImpactWarningLevel = 'low' | 'high' | undefined;
2
3
  export type PriceImpactProps = {
3
4
  size: 'small' | 'large';
4
5
  outputUsdValue?: string;
6
+ realOutputUsdValue?: string;
5
7
  error?: string;
6
8
  percentageChange?: string | null;
7
9
  warningLevel?: PriceImpactWarningLevel;
10
+ tooltipProps?: {
11
+ container?: TooltipPropTypes['container'];
12
+ side?: TooltipPropTypes['side'];
13
+ };
8
14
  };
9
15
  //# sourceMappingURL=PriceImpact.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PriceImpact.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/PriceImpact/PriceImpact.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,uBAAuB,CAAC;CACxC,CAAC"}
1
+ {"version":3,"file":"PriceImpact.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/PriceImpact/PriceImpact.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,YAAY,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;KACjC,CAAC;CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StepDetails.d.ts","sourceRoot":"","sources":["../../../../../../src/components/StepDetails/StepDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,OAAO,KAA8C,MAAM,OAAO,CAAC;AAyGnE,eAAO,MAAM,WAAW,oHAA6B,CAAC"}
1
+ {"version":3,"file":"StepDetails.d.ts","sourceRoot":"","sources":["../../../../../../src/components/StepDetails/StepDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,OAAO,KAA8C,MAAM,OAAO,CAAC;AAyHnE,eAAO,MAAM,WAAW,oHAA6B,CAAC"}
@@ -19,6 +19,7 @@ export type StepDetailsProps = {
19
19
  state?: 'default' | 'in-progress' | 'completed' | 'warning' | 'error';
20
20
  isFocused?: boolean;
21
21
  tabIndex?: number;
22
+ tooltipContainer?: HTMLElement;
22
23
  };
23
24
  export {};
24
25
  //# sourceMappingURL=StepDetails.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepDetails.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/StepDetails/StepDetails.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE/E,KAAK,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC;AAElE,MAAM,MAAM,IAAI,GAAG;IACjB,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC;IACxC,KAAK,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"StepDetails.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/StepDetails/StepDetails.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE/E,KAAK,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC;AAElE,MAAM,MAAM,IAAI,GAAG;IACjB,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC;IACxC,KAAK,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,WAAW,CAAC;CAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwapListItem.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SwapListItem/SwapListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,qBA2C/D"}
1
+ {"version":3,"file":"SwapListItem.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SwapListItem/SwapListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,qBAgD/D"}
@@ -6,6 +6,7 @@ export interface SwapListItemProps {
6
6
  onClick: (requestId: string) => void;
7
7
  swapTokenData: SwapTokenData;
8
8
  onlyShowTime?: boolean;
9
+ tooltipContainer?: HTMLElement;
9
10
  }
10
11
  export interface LoadingProps {
11
12
  isLoading: true;
@@ -36,7 +37,7 @@ export interface SwapTokenData {
36
37
  image: string;
37
38
  };
38
39
  amount: string;
39
- estimatedAmount?: string;
40
+ realAmount: string;
40
41
  };
41
42
  }
42
43
  //# sourceMappingURL=SwapListItem.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwapListItem.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SwapListItem/SwapListItem.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAEzD,eAAO,MAAM,YAAY;;;;CAIxB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,UAAU,EAAE;YACV,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,EAAE,EAAE;QACF,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,UAAU,EAAE;YACV,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH"}
1
+ {"version":3,"file":"SwapListItem.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SwapListItem/SwapListItem.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,WAAW,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAEzD,eAAO,MAAM,YAAY;;;;CAIxB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,UAAU,EAAE;YACV,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,EAAE,EAAE;QACF,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,UAAU,EAAE;YACV,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwapToken.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SwapListItem/SwapToken.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,qBA8HzC"}
1
+ {"version":3,"file":"SwapToken.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SwapListItem/SwapToken.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAoB1B,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,qBAmIzC"}
@@ -2,6 +2,7 @@ import type { LoadingProps, Status, SwapTokenData } from './SwapListItem.types';
2
2
  export interface SwapTokenProps {
3
3
  data: SwapTokenData;
4
4
  status: Status;
5
+ tooltipContainer?: HTMLElement;
5
6
  }
6
7
  export type PropTypes = SwapTokenProps | LoadingProps;
7
8
  //# sourceMappingURL=SwapToken.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwapToken.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SwapListItem/SwapToken.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"SwapToken.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SwapListItem/SwapToken.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,WAAW,CAAC;CAChC;AAED,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SwapListItem/mock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C,eAAO,MAAM,IAAI,EAAE,WA6RlB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAqB3B,CAAC"}
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SwapListItem/mock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C,eAAO,MAAM,IAAI,EAAE,WA6RlB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAsB3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TokenAmount.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TokenAmount/TokenAmount.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,qBAoD3C"}
1
+ {"version":3,"file":"TokenAmount.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TokenAmount/TokenAmount.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,qBAmE3C"}
@@ -5,6 +5,7 @@ type BaseProps = Pick<SwapInputProps, 'token' | 'price'> & {
5
5
  direction?: 'vertical' | 'horizontal';
6
6
  centerAlign?: boolean;
7
7
  label?: string;
8
+ tooltipContainer?: HTMLElement;
8
9
  };
9
10
  type InputAmountProps = {
10
11
  type: 'input';
@@ -1 +1 @@
1
- {"version":3,"file":"TokenAmount.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TokenAmount/TokenAmount.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,KAAK,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG;IACzD,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1C,KAAK,iBAAiB,GAAG,IAAI,CAC3B,gBAAgB,EAChB,kBAAkB,GAAG,cAAc,CACpC,GAAG;IACF,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"TokenAmount.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TokenAmount/TokenAmount.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,KAAK,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG;IACzD,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,WAAW,CAAC;CAChC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1C,KAAK,iBAAiB,GAAG,IAAI,CAC3B,gBAAgB,EAChB,kBAAkB,GAAG,cAAc,CACpC,GAAG;IACF,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,wBAAgB,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,qBA0B1D"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,wBAAgB,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,qBA2B1D"}
@@ -1,4 +1,5 @@
1
1
  import type * as RadixTooltip from '@radix-ui/react-tooltip';
2
+ import type { CSSProperties } from '@stitches/react';
2
3
  import type { ComponentProps, ReactNode } from 'react';
3
4
  type RadixTooltipContentProps = ComponentProps<typeof RadixTooltip.Content>;
4
5
  export interface PropTypes {
@@ -8,6 +9,7 @@ export interface PropTypes {
8
9
  sideOffset?: RadixTooltipContentProps['sideOffset'];
9
10
  container?: HTMLElement;
10
11
  open?: boolean;
12
+ style?: CSSProperties;
11
13
  }
12
14
  export {};
13
15
  //# sourceMappingURL=Tooltip.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tooltip/Tooltip.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,YAAY,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,KAAK,wBAAwB,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;AAE5E,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACpD,UAAU,CAAC,EAAE,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB"}
1
+ {"version":3,"file":"Tooltip.types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tooltip/Tooltip.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,YAAY,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,KAAK,wBAAwB,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;AAE5E,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACpD,UAAU,CAAC,EAAE,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwapInput.d.ts","sourceRoot":"","sources":["../../../../../../src/containers/SwapInput/SwapInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBA8F9C"}
1
+ {"version":3,"file":"SwapInput.d.ts","sourceRoot":"","sources":["../../../../../../src/containers/SwapInput/SwapInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAyB1B,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBAuH9C"}
@@ -11,6 +11,8 @@ export type BaseProps = {
11
11
  price: {
12
12
  value: string;
13
13
  usdValue?: string;
14
+ realValue?: string;
15
+ realUsdValue?: string;
14
16
  error?: string;
15
17
  };
16
18
  loading?: boolean;
@@ -19,6 +21,7 @@ export type BaseProps = {
19
21
  label: string;
20
22
  sharpBottomStyle?: boolean;
21
23
  onClickToken: () => void;
24
+ tooltipContainer?: HTMLElement;
22
25
  };
23
26
  type FromProps = {
24
27
  mode: 'From';
@@ -1 +1 @@
1
- {"version":3,"file":"SwapInput.types.d.ts","sourceRoot":"","sources":["../../../../../../src/containers/SwapInput/SwapInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAE9F,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,IAAI,CAAC;IACX,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,uBAAuB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"SwapInput.types.d.ts","sourceRoot":"","sources":["../../../../../../src/containers/SwapInput/SwapInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAE9F,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,WAAW,CAAC;CAChC,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,IAAI,CAAC;IACX,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,uBAAuB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/ui",
3
- "version": "0.26.0",
3
+ "version": "0.26.1-next.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/index.ts",
@@ -65,7 +65,7 @@
65
65
  "@radix-ui/react-radio-group": "^1.1.1",
66
66
  "@radix-ui/react-switch": "^1.0.1",
67
67
  "@radix-ui/react-tooltip": "^1.0.2",
68
- "@rango-dev/wallets-shared": "^0.25.0",
68
+ "@rango-dev/wallets-shared": "^0.25.1-next.0",
69
69
  "@stitches/react": "^1.2.8",
70
70
  "rango-sdk": "^0.1.44",
71
71
  "rango-types": "^0.1.57",
@@ -77,4 +77,4 @@
77
77
  "publishConfig": {
78
78
  "access": "public"
79
79
  }
80
- }
80
+ }
@@ -2,12 +2,20 @@ import type { PriceImpactProps } from './PriceImpact.types';
2
2
 
3
3
  import React from 'react';
4
4
 
5
- import { Typography } from '..';
5
+ import { Tooltip, Typography } from '..';
6
6
 
7
7
  import { Container, OutputUsdValue } from './PriceImpact.styles';
8
8
 
9
9
  export function PriceImpact(props: PriceImpactProps) {
10
- const { size, outputUsdValue, percentageChange, warningLevel, error } = props;
10
+ const {
11
+ size,
12
+ outputUsdValue,
13
+ realOutputUsdValue,
14
+ percentageChange,
15
+ warningLevel,
16
+ error,
17
+ tooltipProps,
18
+ } = props;
11
19
 
12
20
  let percentageChangeColor = '$neutral600';
13
21
  if (!outputUsdValue || warningLevel === 'low') {
@@ -19,12 +27,22 @@ export function PriceImpact(props: PriceImpactProps) {
19
27
  return (
20
28
  <Container>
21
29
  {outputUsdValue && (
22
- <OutputUsdValue
23
- size={size === 'small' ? 'small' : 'medium'}
24
- variant="body"
25
- color="$neutral600">
26
- {`~$${outputUsdValue}`}
27
- </OutputUsdValue>
30
+ <Tooltip
31
+ content={realOutputUsdValue}
32
+ container={tooltipProps?.container}
33
+ open={
34
+ !realOutputUsdValue || realOutputUsdValue === '0'
35
+ ? false
36
+ : undefined
37
+ }
38
+ side={tooltipProps?.side}>
39
+ <OutputUsdValue
40
+ size={size === 'small' ? 'small' : 'medium'}
41
+ variant="body"
42
+ color="$neutral600">
43
+ {`~$${outputUsdValue}`}
44
+ </OutputUsdValue>
45
+ </Tooltip>
28
46
  )}
29
47
  {((outputUsdValue && percentageChange) || !outputUsdValue) && (
30
48
  <Typography
@@ -1,9 +1,16 @@
1
+ import type { PropTypes as TooltipPropTypes } from '../Tooltip/Tooltip.types';
2
+
1
3
  export type PriceImpactWarningLevel = 'low' | 'high' | undefined;
2
4
 
3
5
  export type PriceImpactProps = {
4
6
  size: 'small' | 'large';
5
7
  outputUsdValue?: string;
8
+ realOutputUsdValue?: string;
6
9
  error?: string;
7
10
  percentageChange?: string | null;
8
11
  warningLevel?: PriceImpactWarningLevel;
12
+ tooltipProps?: {
13
+ container?: TooltipPropTypes['container'];
14
+ side?: TooltipPropTypes['side'];
15
+ };
9
16
  };
@@ -7,6 +7,7 @@ import { ChainToken } from '../../components/ChainToken/ChainToken';
7
7
  import { NextIcon } from '../../icons';
8
8
  import { Image } from '../common';
9
9
  import { Divider } from '../Divider';
10
+ import { Tooltip } from '../Tooltip';
10
11
  import { Typography } from '../Typography';
11
12
 
12
13
  import {
@@ -23,10 +24,17 @@ import {
23
24
 
24
25
  const StepDetailsComponent = forwardRef<HTMLDivElement, StepDetailsProps>(
25
26
  (props, parentRef) => {
26
- const { step, hasSeparator, type, state, isFocused, tabIndex } = props;
27
+ const {
28
+ step,
29
+ hasSeparator,
30
+ type,
31
+ state,
32
+ isFocused,
33
+ tabIndex,
34
+ tooltipContainer,
35
+ } = props;
27
36
  const containerRef = useRef<HTMLDivElement>(null);
28
37
  const isCompleted = state === 'completed' || state === 'error';
29
-
30
38
  useEffect(() => {
31
39
  const parentElement = (parentRef as React.RefObject<HTMLDivElement>)
32
40
  ?.current;
@@ -73,12 +81,16 @@ const StepDetailsComponent = forwardRef<HTMLDivElement, StepDetailsProps>(
73
81
  tokenImage={step.from.token.image}
74
82
  size="small"
75
83
  />
76
- <Typography
77
- ml={4}
78
- mr={4}
79
- size="small"
80
- color="$neutral700"
81
- variant="body">{`${step.from.price.value} ${step.from.token.displayName}`}</Typography>
84
+ <Tooltip
85
+ content={step.from.price.realValue}
86
+ container={tooltipContainer}>
87
+ <Typography
88
+ ml={4}
89
+ mr={4}
90
+ size="small"
91
+ color="$neutral700"
92
+ variant="body">{`${step.from.price.value} ${step.from.token.displayName}`}</Typography>
93
+ </Tooltip>
82
94
  <NextIcon color="gray" />
83
95
  <Divider size={4} direction="horizontal" />
84
96
  <ChainToken
@@ -86,13 +98,17 @@ const StepDetailsComponent = forwardRef<HTMLDivElement, StepDetailsProps>(
86
98
  tokenImage={step.to.token.image}
87
99
  size="small"
88
100
  />
89
- <Typography
90
- ml={4}
91
- size="small"
92
- color="$neutral700"
93
- variant="body">{`${isCompleted ? '' : '~'}${
94
- step.to.price.value
95
- } ${step.to.token.displayName}`}</Typography>
101
+ <Tooltip
102
+ content={step.to.price.realValue}
103
+ container={tooltipContainer}>
104
+ <Typography
105
+ ml={4}
106
+ size="small"
107
+ color="$neutral700"
108
+ variant="body">{`${isCompleted ? '' : '~'}${
109
+ step.to.price.value
110
+ } ${step.to.token.displayName}`}</Typography>
111
+ </Tooltip>
96
112
  </div>
97
113
  <Alerts pb={hasSeparator && type === 'quote-details'}>
98
114
  {step.alerts}
@@ -22,4 +22,5 @@ export type StepDetailsProps = {
22
22
  state?: 'default' | 'in-progress' | 'completed' | 'warning' | 'error';
23
23
  isFocused?: boolean;
24
24
  tabIndex?: number;
25
+ tooltipContainer?: HTMLElement;
25
26
  };
@@ -40,6 +40,7 @@ export function SwapListItem(props: PropsWithChildren<PropTypes>) {
40
40
  onlyShowTime,
41
41
  status,
42
42
  swapTokenData,
43
+ tooltipContainer,
43
44
  } = props;
44
45
  return (
45
46
  <Main onClick={onClick.bind(null, requestId)}>
@@ -57,7 +58,11 @@ export function SwapListItem(props: PropsWithChildren<PropTypes>) {
57
58
  {getStatus(status)}
58
59
  </Typography>
59
60
  </Header>
60
- <SwapToken data={swapTokenData} status={status} />
61
+ <SwapToken
62
+ data={swapTokenData}
63
+ status={status}
64
+ tooltipContainer={tooltipContainer}
65
+ />
61
66
  </Container>
62
67
  </Main>
63
68
  );
@@ -7,6 +7,7 @@ export interface SwapListItemProps {
7
7
  onClick: (requestId: string) => void;
8
8
  swapTokenData: SwapTokenData;
9
9
  onlyShowTime?: boolean;
10
+ tooltipContainer?: HTMLElement;
10
11
  }
11
12
 
12
13
  export interface LoadingProps {
@@ -42,6 +43,6 @@ export interface SwapTokenData {
42
43
  image: string;
43
44
  };
44
45
  amount: string;
45
- estimatedAmount?: string;
46
+ realAmount: string;
46
47
  };
47
48
  }
@@ -7,6 +7,7 @@ import { NextIcon } from '../../icons';
7
7
  import { ChainToken } from '../ChainToken';
8
8
  import { Divider } from '../Divider';
9
9
  import { Skeleton } from '../Skeleton';
10
+ import { Tooltip } from '../Tooltip';
10
11
  import { Typography } from '../Typography';
11
12
 
12
13
  import {
@@ -72,14 +73,16 @@ export function SwapToken(props: PropTypes) {
72
73
  blockchain: fromBlockchain,
73
74
  },
74
75
  to: {
75
- estimatedAmount,
76
76
  token: toToken,
77
77
  amount: toAmount,
78
78
  blockchain: toBlockchain,
79
+ realAmount,
79
80
  },
80
81
  },
81
82
  status,
83
+ tooltipContainer,
82
84
  } = props;
85
+
83
86
  return (
84
87
  <TokenContainer>
85
88
  <Images>
@@ -125,9 +128,11 @@ export function SwapToken(props: PropTypes) {
125
128
  {fromToken.displayName}
126
129
  </Typography>
127
130
  {!!fromAmount && (
128
- <Typography size="small" variant="body" color="neutral700">
129
- {fromAmount}
130
- </Typography>
131
+ <Tooltip content={fromAmount} container={tooltipContainer}>
132
+ <Typography size="small" variant="body" color="neutral700">
133
+ {fromAmount}
134
+ </Typography>
135
+ </Tooltip>
131
136
  )}
132
137
  </TokenInfo>
133
138
  <Icon>
@@ -137,10 +142,11 @@ export function SwapToken(props: PropTypes) {
137
142
  <Typography size="medium" variant="title">
138
143
  {toToken.displayName}
139
144
  </Typography>
140
-
141
- <Typography size="small" variant="body" color="neutral700">
142
- {toAmount || estimatedAmount}
143
- </Typography>
145
+ <Tooltip content={realAmount} container={tooltipContainer}>
146
+ <Typography size="small" variant="body" color="neutral700">
147
+ {toAmount}
148
+ </Typography>
149
+ </Tooltip>
144
150
  </TokenInfo>
145
151
  </Layout>
146
152
  )}
@@ -3,6 +3,7 @@ import type { LoadingProps, Status, SwapTokenData } from './SwapListItem.types';
3
3
  export interface SwapTokenProps {
4
4
  data: SwapTokenData;
5
5
  status: Status;
6
+ tooltipContainer?: HTMLElement;
6
7
  }
7
8
 
8
9
  export type PropTypes = SwapTokenProps | LoadingProps;
@@ -315,5 +315,6 @@ export const swapTokenData: SwapTokenData = {
315
315
  image: 'https://api.rango.exchange/swappers/osmosis.png',
316
316
  },
317
317
  amount: '0.7',
318
+ realAmount: '0.7',
318
319
  },
319
320
  };
@@ -4,6 +4,7 @@ import React from 'react';
4
4
 
5
5
  import { ChainToken } from '../ChainToken';
6
6
  import { PriceImpact } from '../PriceImpact/PriceImpact';
7
+ import { Tooltip } from '../Tooltip';
7
8
  import { Typography } from '../Typography';
8
9
 
9
10
  import {
@@ -27,37 +28,52 @@ export function TokenAmount(props: PropTypes) {
27
28
  {props.label}
28
29
  </Typography>
29
30
  )}
30
- <div title={`${props.price.value} ${props.token.displayName}`}>
31
- <Typography
32
- ml={4}
33
- size="medium"
34
- variant="title"
35
- style={{ fontWeight: 600 }}>
36
- {props.price.value}
37
- </Typography>
38
- <Typography
39
- ml={8}
40
- size="medium"
41
- variant="title"
42
- style={{ fontWeight: 400 }}>
43
- {props.token.displayName}
44
- </Typography>
31
+ <div>
32
+ <Tooltip
33
+ content={props.price.realValue}
34
+ open={!props.price.realValue ? false : undefined}
35
+ container={props.tooltipContainer}>
36
+ <Typography
37
+ ml={4}
38
+ size="medium"
39
+ variant="title"
40
+ style={{ fontWeight: 600 }}>
41
+ {props.price.value}
42
+ </Typography>
43
+ <Typography
44
+ ml={8}
45
+ size="medium"
46
+ variant="title"
47
+ style={{ fontWeight: 400 }}>
48
+ {props.token.displayName}
49
+ </Typography>
50
+ </Tooltip>
45
51
  </div>
46
52
  </div>
47
53
  </div>
48
54
  {props.price.usdValue && props.price.usdValue !== '0' && (
49
55
  <div className={usdValueStyles()}>
50
- {props.type === 'input' && (
51
- <Typography mr={4} size="small" variant="body" color="$neutral700">
52
- {`~$${props.price.usdValue}`}
53
- </Typography>
54
- )}
56
+ <Tooltip
57
+ content={props.price.realUsdValue}
58
+ container={props.tooltipContainer}>
59
+ {props.type === 'input' && (
60
+ <Typography
61
+ mr={4}
62
+ size="small"
63
+ variant="body"
64
+ color="$neutral700">
65
+ {`~$${props.price.usdValue}`}
66
+ </Typography>
67
+ )}
68
+ </Tooltip>
55
69
  {props.type === 'output' && (
56
70
  <PriceImpact
57
71
  size="small"
72
+ tooltipProps={{ container: props.tooltipContainer, side: 'top' }}
58
73
  outputUsdValue={props.price.usdValue}
59
74
  percentageChange={props.percentageChange}
60
75
  warningLevel={props.warningLevel}
76
+ realOutputUsdValue={props.price.realUsdValue}
61
77
  />
62
78
  )}
63
79
  </div>
@@ -6,6 +6,7 @@ type BaseProps = Pick<SwapInputProps, 'token' | 'price'> & {
6
6
  direction?: 'vertical' | 'horizontal';
7
7
  centerAlign?: boolean;
8
8
  label?: string;
9
+ tooltipContainer?: HTMLElement;
9
10
  };
10
11
 
11
12
  type InputAmountProps = { type: 'input' };
@@ -19,11 +19,12 @@ export function Tooltip(props: PropsWithChildren<PropTypes>) {
19
19
  container,
20
20
  open,
21
21
  side = 'top',
22
+ style,
22
23
  } = props;
23
24
  return (
24
25
  <RadixTooltip.Provider delayDuration={0}>
25
26
  <RadixTooltip.Root open={open}>
26
- <RadixTooltip.Trigger asChild>
27
+ <RadixTooltip.Trigger asChild style={style}>
27
28
  <TriggerContent>{children}</TriggerContent>
28
29
  </RadixTooltip.Trigger>
29
30
  <RadixTooltip.Portal container={container}>
@@ -1,4 +1,5 @@
1
1
  import type * as RadixTooltip from '@radix-ui/react-tooltip';
2
+ import type { CSSProperties } from '@stitches/react';
2
3
  import type { ComponentProps, ReactNode } from 'react';
3
4
 
4
5
  type RadixTooltipContentProps = ComponentProps<typeof RadixTooltip.Content>;
@@ -10,4 +11,5 @@ export interface PropTypes {
10
11
  sideOffset?: RadixTooltipContentProps['sideOffset'];
11
12
  container?: HTMLElement;
12
13
  open?: boolean;
14
+ style?: CSSProperties;
13
15
  }