@rabbitio/ui-kit 1.0.0-beta.85 → 1.0.0-beta.87

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 (195) hide show
  1. package/coverage/clover.xml +270 -20
  2. package/coverage/coverage-final.json +9 -7
  3. package/coverage/index.html +28 -28
  4. package/coverage/rabbit-ui-kit/index.html +1 -1
  5. package/coverage/rabbit-ui-kit/index.js.html +1 -1
  6. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +1 -1
  7. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/index.html +20 -5
  8. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/metrikaAdapter.js.html +169 -0
  9. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +1 -1
  10. package/coverage/rabbit-ui-kit/src/common-apis/adapters/axiosAdapter.js.html +1 -1
  11. package/coverage/rabbit-ui-kit/src/common-apis/adapters/index.html +1 -1
  12. package/coverage/rabbit-ui-kit/src/common-apis/adapters/qrUtils.js.html +1 -1
  13. package/coverage/rabbit-ui-kit/src/common-apis/amountUtils.js.html +1 -1
  14. package/coverage/rabbit-ui-kit/src/common-apis/errorUtils.js.html +1 -1
  15. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/apiGroups.js.html +1 -1
  16. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/index.html +1 -1
  17. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/ipAddressProviders.js.html +1 -1
  18. package/coverage/rabbit-ui-kit/src/common-apis/fiatCurrenciesService.js.html +1 -1
  19. package/coverage/rabbit-ui-kit/src/common-apis/globalConstants.jsx.html +1 -1
  20. package/coverage/rabbit-ui-kit/src/common-apis/index.html +1 -1
  21. package/coverage/rabbit-ui-kit/src/common-apis/models/blockchain.js.html +1 -1
  22. package/coverage/rabbit-ui-kit/src/common-apis/models/coin.js.html +1 -1
  23. package/coverage/rabbit-ui-kit/src/common-apis/models/index.html +1 -1
  24. package/coverage/rabbit-ui-kit/src/common-apis/models/protocol.js.html +1 -1
  25. package/coverage/rabbit-ui-kit/src/common-apis/utils/cache.js.html +1 -1
  26. package/coverage/rabbit-ui-kit/src/common-apis/utils/emailAPI.js.html +1 -1
  27. package/coverage/rabbit-ui-kit/src/common-apis/utils/index.html +1 -1
  28. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/index.html +1 -1
  29. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logger.js.html +1 -1
  30. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logsStorage.js.html +1 -1
  31. package/coverage/rabbit-ui-kit/src/common-apis/utils/postponeExecution.js.html +1 -1
  32. package/coverage/rabbit-ui-kit/src/common-apis/utils/safeStringify.js.html +1 -1
  33. package/coverage/rabbit-ui-kit/src/index.html +5 -5
  34. package/coverage/rabbit-ui-kit/src/index.js.html +7 -4
  35. package/coverage/rabbit-ui-kit/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +1 -1
  36. package/coverage/rabbit-ui-kit/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +1 -1
  37. package/coverage/rabbit-ui-kit/src/robust-api-caller/cancelProcessing.js.html +1 -1
  38. package/coverage/rabbit-ui-kit/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +1 -1
  39. package/coverage/rabbit-ui-kit/src/robust-api-caller/externalApiProvider.js.html +1 -1
  40. package/coverage/rabbit-ui-kit/src/robust-api-caller/externalServicesStatsCollector.js.html +1 -1
  41. package/coverage/rabbit-ui-kit/src/robust-api-caller/index.html +1 -1
  42. package/coverage/rabbit-ui-kit/src/robust-api-caller/robustExternalAPICallerService.js.html +1 -1
  43. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/index.html +8 -8
  44. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +4 -7
  45. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +1 -1
  46. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +15 -12
  47. package/coverage/rabbit-ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +1 -1
  48. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwap.js.html +1 -1
  49. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +1 -1
  50. package/coverage/rabbit-ui-kit/src/swaps-lib/models/index.html +12 -12
  51. package/coverage/rabbit-ui-kit/src/swaps-lib/models/partner.js.html +8 -11
  52. package/coverage/rabbit-ui-kit/src/swaps-lib/models/swapProviderCoinInfo.js.html +1 -1
  53. package/coverage/rabbit-ui-kit/src/swaps-lib/services/index.html +1 -1
  54. package/coverage/rabbit-ui-kit/src/swaps-lib/services/publicSwapService.js.html +1 -1
  55. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/index.html +1 -1
  56. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/swapUtils.js.html +1 -1
  57. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +1 -1
  58. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +1 -1
  59. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +1 -1
  60. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +1 -1
  61. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +1 -1
  62. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +1 -1
  63. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/index.html +1 -1
  64. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +1 -1
  65. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/messageIcon.jsx.html +1 -1
  66. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +1 -1
  67. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +1 -1
  68. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/supportDialogImage.jsx.html +1 -1
  69. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +1 -1
  70. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +1 -1
  71. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/index.html +1 -1
  72. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +1 -1
  73. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/index.html +1 -1
  74. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +1 -1
  75. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/index.html +1 -1
  76. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +1 -1
  77. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/index.html +1 -1
  78. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/Input.jsx.html +1 -1
  79. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/index.html +1 -1
  80. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +1 -1
  81. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/index.html +1 -1
  82. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +1 -1
  83. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/index.html +1 -1
  84. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +1 -1
  85. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/index.html +1 -1
  86. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +1 -1
  87. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/index.html +1 -1
  88. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +1 -1
  89. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/index.html +1 -1
  90. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +1 -1
  91. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/index.html +1 -1
  92. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +1 -1
  93. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/index.html +1 -1
  94. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +1 -1
  95. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/index.html +1 -1
  96. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +1 -1
  97. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/index.html +1 -1
  98. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/Validation.jsx.html +1 -1
  99. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/index.html +1 -1
  100. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +1 -1
  101. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +1 -1
  102. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +1 -1
  103. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/index.html +1 -1
  104. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +1 -1
  105. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/index.html +1 -1
  106. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +1 -1
  107. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +1 -1
  108. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +350 -5
  109. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/index.html +5 -5
  110. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +1 -1
  111. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/index.html +1 -1
  112. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/ColoredNotice.jsx.html +1 -1
  113. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/index.html +1 -1
  114. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +1 -1
  115. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/index.html +1 -1
  116. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/LogoCarousel.jsx.html +31 -7
  117. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/index.html +5 -5
  118. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/SearchableCoinsList.jsx.html +1 -1
  119. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/index.html +1 -1
  120. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +1 -1
  121. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +1 -1
  122. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +1 -1
  123. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +1 -1
  124. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +1 -1
  125. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +1 -1
  126. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +1 -1
  127. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +1 -1
  128. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +1 -1
  129. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/index.html +1 -1
  130. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +1 -1
  131. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/index.html +1 -1
  132. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/WaitlistSubscription.jsx.html +1 -1
  133. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/index.html +1 -1
  134. package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +1 -1
  135. package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +1 -1
  136. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/index.html +1 -1
  137. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useCallHandlingErrors.js.html +1 -1
  138. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useIsHydrated.js.html +1 -1
  139. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useReferredState.js.html +1 -1
  140. package/coverage/rabbit-ui-kit/src/ui-kit/utils/index.html +1 -1
  141. package/coverage/rabbit-ui-kit/src/ui-kit/utils/inputValueProviders.js.html +1 -1
  142. package/coverage/rabbit-ui-kit/src/ui-kit/utils/textUtils.js.html +1 -1
  143. package/coverage/rabbit-ui-kit/src/ui-kit/utils/uiUtils.js.html +1 -1
  144. package/coverage/rabbit-ui-kit/src/ui-kit/utils/urlQueryUtils.js.html +1 -1
  145. package/coverage/rabbit-ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +1 -1
  146. package/coverage/rabbit-ui-kit/stories/atoms/LinesOfText.stories.jsx.html +1 -1
  147. package/coverage/rabbit-ui-kit/stories/atoms/LoadingDots.stories.jsx.html +1 -1
  148. package/coverage/rabbit-ui-kit/stories/atoms/QrCode.stories.jsx.html +1 -1
  149. package/coverage/rabbit-ui-kit/stories/atoms/RateSelector.stories.jsx.html +1 -1
  150. package/coverage/rabbit-ui-kit/stories/atoms/Validation.stories.jsx.html +1 -1
  151. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Button.stories.jsx.html +1 -1
  152. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Close.stories.jsx.html +1 -1
  153. package/coverage/rabbit-ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +1 -1
  154. package/coverage/rabbit-ui-kit/stories/atoms/buttons/index.html +1 -1
  155. package/coverage/rabbit-ui-kit/stories/atoms/index.html +1 -1
  156. package/coverage/rabbit-ui-kit/stories/molecules/AmountInput.stories.jsx.html +289 -0
  157. package/coverage/rabbit-ui-kit/stories/molecules/CoinPicker.stories.jsx.html +1 -1
  158. package/coverage/rabbit-ui-kit/stories/molecules/ColoredNotice.stories.jsx.html +1 -1
  159. package/coverage/rabbit-ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +1 -1
  160. package/coverage/rabbit-ui-kit/stories/molecules/LogoCarousel.stories.jsx.html +81 -6
  161. package/coverage/rabbit-ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +1 -1
  162. package/coverage/rabbit-ui-kit/stories/molecules/index.html +22 -7
  163. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +1 -1
  164. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +1 -1
  165. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/index.html +1 -1
  166. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +1 -1
  167. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/index.html +1 -1
  168. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/index.html +1 -1
  169. package/coverage/rabbit-ui-kit/stories/organisms/WaitlistSubscription.stories.jsx.html +1 -1
  170. package/coverage/rabbit-ui-kit/stories/organisms/index.html +1 -1
  171. package/coverage/rabbit-ui-kit/stories/stubs/coins.jsx.html +1 -1
  172. package/coverage/rabbit-ui-kit/stories/stubs/exampleContent.jsx.html +1 -1
  173. package/coverage/rabbit-ui-kit/stories/stubs/index.html +1 -1
  174. package/coverage/rabbit-ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +1 -1
  175. package/coverage/rabbit-ui-kit/stories/templates/index.html +1 -1
  176. package/dist/index.cjs +182 -28
  177. package/dist/index.cjs.map +1 -1
  178. package/dist/index.css +17 -1
  179. package/dist/index.css.map +1 -1
  180. package/dist/index.modern.js +159 -14
  181. package/dist/index.modern.js.map +1 -1
  182. package/dist/index.module.js +182 -29
  183. package/dist/index.module.js.map +1 -1
  184. package/dist/index.umd.js +182 -28
  185. package/dist/index.umd.js.map +1 -1
  186. package/package.json +1 -1
  187. package/raw +1000 -0
  188. package/src/common-apis/adapters/analyticsAdapters/metrikaAdapter.js +28 -0
  189. package/src/index.js +1 -0
  190. package/src/swaps-lib/external-apis/letsExchangeSwapProvider.js +0 -1
  191. package/src/swaps-lib/external-apis/swapspaceSwapProvider.js +7 -6
  192. package/src/swaps-lib/models/partner.js +1 -2
  193. package/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx +116 -1
  194. package/src/ui-kit/components/molecules/LogoCarousel/LogoCarousel.jsx +11 -3
  195. package/src/ui-kit/components/molecules/LogoCarousel/logo-carousel.module.scss +20 -1
@@ -0,0 +1,28 @@
1
+ import { Logger } from "../../utils/logging/logger.js";
2
+
3
+ export class MetrikaAdapter {
4
+ /**
5
+ * Sends reachGoal to Metrika
6
+ *
7
+ * @param METRIKA_ID {string}
8
+ * @param goalName {string}
9
+ * @param [usdPrice] {string|number}
10
+ */
11
+ static callMetrikaReachGoal(METRIKA_ID, goalName, usdPrice = null) {
12
+ try {
13
+ if (window.ym) {
14
+ console.log("Sending metrika goal reached: ", goalName, String(usdPrice));
15
+ window.ym(
16
+ METRIKA_ID,
17
+ "reachGoal",
18
+ goalName,
19
+ usdPrice != null ? { order_price: usdPrice, currency: "USD" } : {}
20
+ );
21
+ } else {
22
+ Logger.logError(null, "callMetrikaReachGoal", "No metrika found");
23
+ }
24
+ } catch (e) {
25
+ Logger.logError(e, "callMetrikaReachGoal", "Failed to call metrika: " + goalName + " " + usdPrice);
26
+ }
27
+ }
28
+ }
package/src/index.js CHANGED
@@ -69,6 +69,7 @@ export { IpAddressProvider } from "./common-apis/external-apis/ipAddressProvider
69
69
 
70
70
  export { GoogleAnalyticsAdapter } from "./common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js";
71
71
  export { MixpanelAdapter } from "./common-apis/adapters/analyticsAdapters/mixpanelAdapter.js";
72
+ export { MetrikaAdapter } from "./common-apis/adapters/analyticsAdapters/metrikaAdapter.js";
72
73
 
73
74
  // Robust data retriever service and related APIs (to be extracted later to dedicated lib)
74
75
  export { CacheAndConcurrentRequestsResolver } from "./robust-api-caller/cacheAndConcurrentRequestsResolver.js";
@@ -478,7 +478,6 @@ export class LetsExchangeSwapProvider extends SwapProvider {
478
478
  return [
479
479
  new Partner(
480
480
  "LetsExchange",
481
- "https://letsexchange.io/",
482
481
  "https://letsexchange.notion.site/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F02e45813-b375-49d8-b2b0-092ce1847fff%2F55ebbc3c-4ee6-4fa7-847b-f673e82594f3%2Flets-logo-basic__on-light.svg?table=block&id=bec5952a-2f9c-47fb-8cc0-86e1391a7f60&spaceId=02e45813-b375-49d8-b2b0-092ce1847fff&userId=&cache=v2"
483
482
  ),
484
483
  ];
@@ -555,16 +555,17 @@ export class SwapspaceSwapProvider extends SwapProvider {
555
555
  async getPartnersList() {
556
556
  try {
557
557
  await this._fetchPartnersListIfNeeded();
558
- return this._partners
558
+ const swapspacePartners = this._partners
559
559
  .filter(p => !BANNED_PARTNERS.find(banned => banned === p.path))
560
560
  .map(
561
561
  p =>
562
- new Partner(
563
- p.name,
564
- null, // No data in swapspace
565
- p?.image?.default ? "https://storage.swapspace.co" + p.image.default : null
566
- )
562
+ new Partner(p.name, p?.image?.default ? "https://storage.swapspace.co" + p.image.default : null)
567
563
  );
564
+ const swapspaceItself = new Partner(
565
+ "Swapspace",
566
+ "https://storage.swapspace.co/static/logo-vertical-black.svg"
567
+ );
568
+ return [swapspaceItself, ...swapspacePartners];
568
569
  } catch (e) {
569
570
  improveAndRethrow(e, "swapspace.getPartnersList");
570
571
  }
@@ -1,7 +1,6 @@
1
1
  export class Partner {
2
- constructor(name, url, logoUrl) {
2
+ constructor(name, logoUrl) {
3
3
  this.name = name;
4
- this.url = url;
5
4
  this.logoUrl = logoUrl;
6
5
  }
7
6
  }
@@ -1,6 +1,7 @@
1
1
  import React, { useEffect, useState } from "react";
2
2
  import { BigNumber } from "bignumber.js";
3
3
  import { CSSTransition } from "react-transition-group";
4
+ import PropTypes from "prop-types";
4
5
 
5
6
  import s from "./amount-input.module.scss";
6
7
  import WalletIcon from "../../../assets/wrappedImages/walletIcon.jsx";
@@ -14,7 +15,51 @@ import { AmountUtils } from "../../../../common-apis/amountUtils.js";
14
15
  import { AssetSelection } from "../../atoms/AssetSelection/AssetSelection.jsx";
15
16
  import { Validation } from "../../atoms/Validation/Validation.jsx";
16
17
 
17
- // TODO: [dev] add JSDoc
18
+ /**
19
+ * AmountInput component is used for inputting an amount in both cryptocurrency and fiat formats.
20
+ * It supports converting between the two based on the provided exchange rate.
21
+ *
22
+ * @component
23
+ * @param {Object} props
24
+ * @param {string} props.label - The label displayed above the input.
25
+ * @param {Function} props.handleCoinAmountChange - Callback function called when the coin amount changes.
26
+ * @param {Function} props.handleFiatAmountChange - Callback function called when the fiat amount changes.
27
+ * @param {Function} props.handleChangeAssetClick - Callback function called when the asset change button is clicked.
28
+ * @param {Function} props.handleBalanceValidationChange - Callback function called when balance validation changes.
29
+ * @param {boolean} props.disabled - Disables the input fields when true.
30
+ * @param {boolean} props.locked - Locks the input fields when true.
31
+ * @param {string} props.alertText - Text to be displayed as an alert below the input.
32
+ * @param {string} props.predefinedValue - Predefined value to be set in the input.
33
+ * @param {React.ReactNode} props.children - Any additional elements to be rendered inside the component.
34
+ * @param {string} props.ticker - The ticker code of the asset.
35
+ * @param {string} props.tickerPrintable - The printable version of the ticker code.
36
+ * @param {number} props.assetDecimalPlaces - The number of decimal places allowed for the asset.
37
+ * @param {Object} props.assetBalance - The balance of the asset in both fiat and crypto formats.
38
+ * @param {string} props.assetIconSrc - The source URL of the asset icon.
39
+ * @param {string} props.assetIconProtocolSrc - The source URL of the asset protocol icon.
40
+ * @param {string} props.fallbackAssetIconSrc - The source URL of the fallback asset icon.
41
+ * @param {boolean} props.isSendAll - Determines if the "Send All" button is shown.
42
+ * @param {Function} props.handleSendAllClick - Callback function called when the "Send All" button is clicked.
43
+ * @param {boolean} props.showBalance - Determines if the balance should be displayed.
44
+ * @param {boolean} props.showBalanceValidation - Determines if the balance validation should be shown.
45
+ * @param {boolean} props.showChangeAssetButton - Determines if the change asset button should be displayed.
46
+ * @param {string} props.changeAssetButtonProtocol - The protocol name to be displayed on the change asset button.
47
+ * @param {boolean} props.changeAssetButtonDisabled - Disables the change asset button when true.
48
+ * @param {boolean} props.upperFormPosition - Applies a style for the upper form position.
49
+ * @param {boolean} props.lowerFormPosition - Applies a style for the lower form position.
50
+ * @param {boolean} props.errorEncountered - Indicates if an error was encountered.
51
+ * @param {string} props.updateAssetInputTo - The value to update the asset input to.
52
+ * @param {boolean} props.estimateAmount - Indicates if the amount is estimated.
53
+ * @param {boolean} props.isLoading - Indicates if the component is in a loading state.
54
+ * @param {string} props.cryptoAssetToFiatRate - The conversion rate from crypto asset to fiat.
55
+ * @param {string} props.fiatCurrencyCode - The fiat currency code.
56
+ * @param {number} props.fiatCurrencyDecimals - The number of decimal places allowed for the fiat currency.
57
+ * @param {string} props.linkButtonActiveText - The text for the active state of the link button.
58
+ * @param {string} props.linkButtonInactiveText - The text for the inactive state of the link button.
59
+ * @param {string} props.balanceLoaderText - The text to display while the balance is loading.
60
+ * @param {string} props.fiatInputPlaceholderText - The placeholder text for the fiat input.
61
+ * @param {React.Ref} buttonForwardRef - A ref passed to the change asset button.
62
+ */
18
63
  export const AmountInput = React.forwardRef(
19
64
  (
20
65
  {
@@ -86,6 +131,7 @@ export const AmountInput = React.forwardRef(
86
131
  newAmountString,
87
132
  assetDecimalPlaces
88
133
  );
134
+ if (correctedAmount !== newAmountString) return;
89
135
  setCoinAmountValue(correctedAmount);
90
136
  if (handlerEnabled) handleCoinAmountChange(correctedAmount);
91
137
 
@@ -332,3 +378,72 @@ export const AmountInput = React.forwardRef(
332
378
  );
333
379
  }
334
380
  );
381
+
382
+ AmountInput.propTypes = {
383
+ label: PropTypes.string,
384
+ handleCoinAmountChange: PropTypes.func,
385
+ handleFiatAmountChange: PropTypes.func,
386
+ handleChangeAssetClick: PropTypes.func,
387
+ handleBalanceValidationChange: PropTypes.func,
388
+ disabled: PropTypes.bool,
389
+ locked: PropTypes.bool,
390
+ alertText: PropTypes.string,
391
+ predefinedValue: PropTypes.string,
392
+ children: PropTypes.node,
393
+ ticker: PropTypes.string,
394
+ tickerPrintable: PropTypes.string,
395
+ assetDecimalPlaces: PropTypes.number,
396
+ assetBalance: PropTypes.shape({
397
+ fiatAmount: PropTypes.string,
398
+ assetAmount: PropTypes.string,
399
+ }),
400
+ assetIconSrc: PropTypes.string,
401
+ assetIconProtocolSrc: PropTypes.string,
402
+ fallbackAssetIconSrc: PropTypes.string,
403
+ isSendAll: PropTypes.bool,
404
+ handleSendAllClick: PropTypes.func,
405
+ showBalance: PropTypes.bool,
406
+ showBalanceValidation: PropTypes.bool,
407
+ showChangeAssetButton: PropTypes.bool,
408
+ changeAssetButtonProtocol: PropTypes.string,
409
+ changeAssetButtonDisabled: PropTypes.bool,
410
+ upperFormPosition: PropTypes.bool,
411
+ lowerFormPosition: PropTypes.bool,
412
+ errorEncountered: PropTypes.bool,
413
+ updateAssetInputTo: PropTypes.string,
414
+ estimateAmount: PropTypes.bool,
415
+ isLoading: PropTypes.bool,
416
+ cryptoAssetToFiatRate: PropTypes.string,
417
+ fiatCurrencyCode: PropTypes.string,
418
+ fiatCurrencyDecimals: PropTypes.number,
419
+ linkButtonActiveText: PropTypes.string,
420
+ linkButtonInactiveText: PropTypes.string,
421
+ balanceLoaderText: PropTypes.string,
422
+ fiatInputPlaceholderText: PropTypes.string,
423
+ buttonForwardRef: PropTypes.object,
424
+ };
425
+
426
+ AmountInput.defaultProps = {
427
+ label: "",
428
+ handleCoinAmountChange: () => {},
429
+ handleFiatAmountChange: () => {},
430
+ handleChangeAssetClick: () => {},
431
+ handleBalanceValidationChange: () => {},
432
+ assetBalance: { fiatAmount: null, assetAmount: null },
433
+ isSendAll: null,
434
+ handleSendAllClick: () => {},
435
+ showBalance: false,
436
+ showBalanceValidation: false,
437
+ showChangeAssetButton: false,
438
+ changeAssetButtonDisabled: false,
439
+ updateAssetInputTo: null,
440
+ estimateAmount: false,
441
+ isLoading: false,
442
+ cryptoAssetToFiatRate: null,
443
+ fiatCurrencyCode: null,
444
+ fiatCurrencyDecimals: null,
445
+ linkButtonActiveText: null,
446
+ linkButtonInactiveText: null,
447
+ balanceLoaderText: null,
448
+ fiatInputPlaceholderText: null,
449
+ };
@@ -10,8 +10,9 @@ import s from "./logo-carousel.module.scss";
10
10
  *
11
11
  * @param {Object} props - The props object for this component.
12
12
  * @param {Array<{logo: string, url: string}>} props.logos - Array of objects representing logos and their corresponding URLs.
13
+ * @param {boolean} props.grayscale - Enable the grayscale mode for the logos.
13
14
  */
14
- export const LogoCarousel = ({ logos }) => {
15
+ export const LogoCarousel = ({ logos, grayscale = false }) => {
15
16
  const [multiplier, setMultiplier] = useState();
16
17
  const [width, setWidth] = useState(0);
17
18
 
@@ -42,7 +43,9 @@ export const LogoCarousel = ({ logos }) => {
42
43
  {logos.map((item, index) => (
43
44
  <a
44
45
  key={"logo-carousel-slide-" + i + "-" + index}
45
- className={item?.url ? s["clickable"] : null}
46
+ className={[item?.url ? s["clickable"] : null, grayscale ? s["grayscale"] : null].join(
47
+ " "
48
+ )}
46
49
  href={item?.url}
47
50
  target="_blank"
48
51
  >
@@ -60,7 +63,12 @@ LogoCarousel.propTypes = {
60
63
  logos: PropTypes.arrayOf(
61
64
  PropTypes.shape({
62
65
  logo: PropTypes.string.isRequired,
63
- url: PropTypes.string.isRequired,
66
+ url: PropTypes.string,
64
67
  })
65
68
  ).isRequired,
69
+ grayscale: PropTypes.bool,
70
+ };
71
+
72
+ LogoCarousel.defaultProps = {
73
+ grayscale: false,
66
74
  };
@@ -62,7 +62,7 @@
62
62
  align-items: center;
63
63
 
64
64
  &.clickable {
65
- transition: 0.1s $transitionEaseOut;
65
+ transition: 0.2s $transitionEaseOut;
66
66
  transform: scale(1);
67
67
 
68
68
  @media (hover: hover) {
@@ -77,6 +77,25 @@
77
77
  }
78
78
  }
79
79
 
80
+ &.grayscale {
81
+ transition: 0.2s all $transitionEaseOut;
82
+ filter: grayscale(1) brightness(1.5) contrast(0.1) sepia(1) hue-rotate(160deg) grayscale(0.5);
83
+ opacity: 0.3;
84
+
85
+ @media (hover: hover) {
86
+ &:hover {
87
+ filter: grayscale(0) contrast(1);
88
+ opacity: 1;
89
+ }
90
+ }
91
+
92
+ &:active {
93
+ transition: 0.02s $transitionEaseOut;
94
+ filter: grayscale(0) contrast(1);
95
+ opacity: 1;
96
+ }
97
+ }
98
+
80
99
  img {
81
100
  height: $height;
82
101
  animation: easeIn 1s $transitionEaseOut both;