@rabbitio/ui-kit 1.0.0-beta.8 → 1.0.0-beta.80

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 (398) hide show
  1. package/.gitlab-ci.yml +29 -0
  2. package/.husky/commit-msg +19 -0
  3. package/.husky/pre-push +1 -0
  4. package/CHANGELOG.md +0 -0
  5. package/README.md +27 -18
  6. package/coverage/base.css +224 -0
  7. package/coverage/block-navigation.js +87 -0
  8. package/coverage/clover.xml +16372 -0
  9. package/coverage/coverage-final.json +154 -0
  10. package/coverage/favicon.png +0 -0
  11. package/coverage/index.html +1151 -0
  12. package/coverage/prettify.css +1 -0
  13. package/coverage/prettify.js +2 -0
  14. package/coverage/sort-arrow-sprite.png +0 -0
  15. package/coverage/sorter.js +196 -0
  16. package/coverage/ui-kit/index.html +116 -0
  17. package/coverage/ui-kit/index.js.html +88 -0
  18. package/coverage/ui-kit/src/common-apis/adapters/axiosAdapter.js.html +190 -0
  19. package/coverage/ui-kit/src/common-apis/adapters/index.html +131 -0
  20. package/coverage/ui-kit/src/common-apis/adapters/qrUtils.js.html +139 -0
  21. package/coverage/ui-kit/src/common-apis/amountUtils.js.html +1162 -0
  22. package/coverage/ui-kit/src/common-apis/errorUtils.js.html +211 -0
  23. package/coverage/ui-kit/src/common-apis/external-apis/apiGroups.js.html +250 -0
  24. package/coverage/ui-kit/src/common-apis/external-apis/index.html +131 -0
  25. package/coverage/ui-kit/src/common-apis/external-apis/ipAddressProviders.js.html +352 -0
  26. package/coverage/ui-kit/src/common-apis/fiatCurrenciesService.js.html +544 -0
  27. package/coverage/ui-kit/src/common-apis/globalConstants.jsx.html +94 -0
  28. package/coverage/ui-kit/src/common-apis/index.html +161 -0
  29. package/coverage/ui-kit/src/common-apis/models/blockchain.js.html +115 -0
  30. package/coverage/ui-kit/src/common-apis/models/coin.js.html +544 -0
  31. package/coverage/ui-kit/src/common-apis/models/index.html +146 -0
  32. package/coverage/ui-kit/src/common-apis/models/protocol.js.html +100 -0
  33. package/coverage/ui-kit/src/common-apis/utils/cache.js.html +811 -0
  34. package/coverage/ui-kit/src/common-apis/utils/emailAPI.js.html +133 -0
  35. package/coverage/ui-kit/src/common-apis/utils/index.html +161 -0
  36. package/coverage/ui-kit/src/common-apis/utils/logging/index.html +131 -0
  37. package/coverage/ui-kit/src/common-apis/utils/logging/logger.js.html +208 -0
  38. package/coverage/ui-kit/src/common-apis/utils/logging/logsStorage.js.html +268 -0
  39. package/coverage/ui-kit/src/common-apis/utils/postponeExecution.js.html +118 -0
  40. package/coverage/ui-kit/src/common-apis/utils/safeStringify.js.html +235 -0
  41. package/coverage/ui-kit/src/index.html +116 -0
  42. package/coverage/ui-kit/src/index.js.html +337 -0
  43. package/coverage/ui-kit/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +1570 -0
  44. package/coverage/ui-kit/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +526 -0
  45. package/coverage/ui-kit/src/robust-api-caller/cancelProcessing.js.html +172 -0
  46. package/coverage/ui-kit/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +310 -0
  47. package/coverage/ui-kit/src/robust-api-caller/externalApiProvider.js.html +553 -0
  48. package/coverage/ui-kit/src/robust-api-caller/externalServicesStatsCollector.js.html +319 -0
  49. package/coverage/ui-kit/src/robust-api-caller/index.html +206 -0
  50. package/coverage/ui-kit/src/robust-api-caller/robustExternalAPICallerService.js.html +997 -0
  51. package/coverage/ui-kit/src/swaps-lib/external-apis/index.html +146 -0
  52. package/coverage/ui-kit/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +1513 -0
  53. package/coverage/ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +1558 -0
  54. package/coverage/ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +1735 -0
  55. package/coverage/ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +223 -0
  56. package/coverage/ui-kit/src/swaps-lib/models/existingSwap.js.html +304 -0
  57. package/coverage/ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +469 -0
  58. package/coverage/ui-kit/src/swaps-lib/models/index.html +146 -0
  59. package/coverage/ui-kit/src/swaps-lib/services/index.html +116 -0
  60. package/coverage/ui-kit/src/swaps-lib/services/publicSwapService.js.html +2098 -0
  61. package/coverage/ui-kit/src/swaps-lib/utils/index.html +116 -0
  62. package/coverage/ui-kit/src/swaps-lib/utils/swapUtils.js.html +670 -0
  63. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +124 -0
  64. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +127 -0
  65. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +127 -0
  66. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +106 -0
  67. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +439 -0
  68. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +202 -0
  69. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/index.html +251 -0
  70. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +133 -0
  71. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +247 -0
  72. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +163 -0
  73. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +151 -0
  74. package/coverage/ui-kit/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +256 -0
  75. package/coverage/ui-kit/src/ui-kit/components/atoms/AssetIcon/index.html +116 -0
  76. package/coverage/ui-kit/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +289 -0
  77. package/coverage/ui-kit/src/ui-kit/components/atoms/AssetSelection/index.html +116 -0
  78. package/coverage/ui-kit/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +187 -0
  79. package/coverage/ui-kit/src/ui-kit/components/atoms/BackgroundTitle/index.html +116 -0
  80. package/coverage/ui-kit/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +238 -0
  81. package/coverage/ui-kit/src/ui-kit/components/atoms/InformationMessage/index.html +116 -0
  82. package/coverage/ui-kit/src/ui-kit/components/atoms/Input/Input.jsx.html +634 -0
  83. package/coverage/ui-kit/src/ui-kit/components/atoms/Input/index.html +116 -0
  84. package/coverage/ui-kit/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +196 -0
  85. package/coverage/ui-kit/src/ui-kit/components/atoms/LoadingDots/index.html +116 -0
  86. package/coverage/ui-kit/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +277 -0
  87. package/coverage/ui-kit/src/ui-kit/components/atoms/NoticeIcon/index.html +116 -0
  88. package/coverage/ui-kit/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +235 -0
  89. package/coverage/ui-kit/src/ui-kit/components/atoms/QrCode/index.html +116 -0
  90. package/coverage/ui-kit/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +175 -0
  91. package/coverage/ui-kit/src/ui-kit/components/atoms/RateSelector/index.html +116 -0
  92. package/coverage/ui-kit/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +217 -0
  93. package/coverage/ui-kit/src/ui-kit/components/atoms/SupportChat/index.html +116 -0
  94. package/coverage/ui-kit/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +529 -0
  95. package/coverage/ui-kit/src/ui-kit/components/atoms/Textarea/index.html +116 -0
  96. package/coverage/ui-kit/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +508 -0
  97. package/coverage/ui-kit/src/ui-kit/components/atoms/TitleBox/index.html +116 -0
  98. package/coverage/ui-kit/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +316 -0
  99. package/coverage/ui-kit/src/ui-kit/components/atoms/Tooltip/index.html +116 -0
  100. package/coverage/ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +313 -0
  101. package/coverage/ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/index.html +116 -0
  102. package/coverage/ui-kit/src/ui-kit/components/atoms/Validation/Validation.jsx.html +208 -0
  103. package/coverage/ui-kit/src/ui-kit/components/atoms/Validation/index.html +116 -0
  104. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +712 -0
  105. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +116 -0
  106. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +259 -0
  107. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Close/index.html +116 -0
  108. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +421 -0
  109. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/index.html +116 -0
  110. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +415 -0
  111. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +116 -0
  112. package/coverage/ui-kit/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +1060 -0
  113. package/coverage/ui-kit/src/ui-kit/components/molecules/AmountInput/index.html +116 -0
  114. package/coverage/ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +1618 -0
  115. package/coverage/ui-kit/src/ui-kit/components/molecules/CoinPicker/index.html +116 -0
  116. package/coverage/ui-kit/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +190 -0
  117. package/coverage/ui-kit/src/ui-kit/components/molecules/LineWithIconLink/index.html +116 -0
  118. package/coverage/ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +181 -0
  119. package/coverage/ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +116 -0
  120. package/coverage/ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +283 -0
  121. package/coverage/ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +116 -0
  122. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +1567 -0
  123. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +451 -0
  124. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +116 -0
  125. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +1699 -0
  126. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +116 -0
  127. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/index.html +116 -0
  128. package/coverage/ui-kit/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +4075 -0
  129. package/coverage/ui-kit/src/ui-kit/components/organisms/SwapForm/index.html +116 -0
  130. package/coverage/ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +316 -0
  131. package/coverage/ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +116 -0
  132. package/coverage/ui-kit/src/ui-kit/hooks/index.html +146 -0
  133. package/coverage/ui-kit/src/ui-kit/hooks/useCallHandlingErrors.js.html +151 -0
  134. package/coverage/ui-kit/src/ui-kit/hooks/useIsHydrated.js.html +121 -0
  135. package/coverage/ui-kit/src/ui-kit/hooks/useReferredState.js.html +157 -0
  136. package/coverage/ui-kit/src/ui-kit/utils/index.html +161 -0
  137. package/coverage/ui-kit/src/ui-kit/utils/inputValueProviders.js.html +235 -0
  138. package/coverage/ui-kit/src/ui-kit/utils/textUtils.js.html +139 -0
  139. package/coverage/ui-kit/src/ui-kit/utils/uiUtils.js.html +121 -0
  140. package/coverage/ui-kit/src/ui-kit/utils/urlQueryUtils.js.html +271 -0
  141. package/coverage/ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +202 -0
  142. package/coverage/ui-kit/stories/atoms/LinesOfText.stories.jsx.html +283 -0
  143. package/coverage/ui-kit/stories/atoms/LoadingDots.stories.jsx.html +226 -0
  144. package/coverage/ui-kit/stories/atoms/QrCode.stories.jsx.html +175 -0
  145. package/coverage/ui-kit/stories/atoms/RateSelector.stories.jsx.html +136 -0
  146. package/coverage/ui-kit/stories/atoms/Validation.stories.jsx.html +178 -0
  147. package/coverage/ui-kit/stories/atoms/buttons/Button.stories.jsx.html +883 -0
  148. package/coverage/ui-kit/stories/atoms/buttons/Close.stories.jsx.html +211 -0
  149. package/coverage/ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +301 -0
  150. package/coverage/ui-kit/stories/atoms/buttons/index.html +146 -0
  151. package/coverage/ui-kit/stories/atoms/index.html +191 -0
  152. package/coverage/ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +154 -0
  153. package/coverage/ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +160 -0
  154. package/coverage/ui-kit/stories/molecules/index.html +131 -0
  155. package/coverage/ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +523 -0
  156. package/coverage/ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +328 -0
  157. package/coverage/ui-kit/stories/organisms/Dialog/DialogButtons/index.html +116 -0
  158. package/coverage/ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +337 -0
  159. package/coverage/ui-kit/stories/organisms/Dialog/DialogStep/index.html +116 -0
  160. package/coverage/ui-kit/stories/organisms/Dialog/index.html +116 -0
  161. package/coverage/ui-kit/stories/stubs/exampleContent.jsx.html +145 -0
  162. package/coverage/ui-kit/stories/stubs/index.html +116 -0
  163. package/coverage/ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +190 -0
  164. package/coverage/ui-kit/stories/templates/index.html +116 -0
  165. package/coverage/ui-kit/storybook-static/138.56b7edc4.iframe.bundle.js.html +85 -0
  166. package/coverage/ui-kit/storybook-static/312.6f62bbd9.iframe.bundle.js.html +85 -0
  167. package/coverage/ui-kit/storybook-static/341.57a15f57.iframe.bundle.js.html +85 -0
  168. package/coverage/ui-kit/storybook-static/595.2e40d981.iframe.bundle.js.html +85 -0
  169. package/coverage/ui-kit/storybook-static/607.3ea32459.iframe.bundle.js.html +85 -0
  170. package/coverage/ui-kit/storybook-static/609.949af3f6.iframe.bundle.js.html +85 -0
  171. package/coverage/ui-kit/storybook-static/693.1acf0184.iframe.bundle.js.html +85 -0
  172. package/coverage/ui-kit/storybook-static/797.c87cdf19.iframe.bundle.js.html +85 -0
  173. package/coverage/ui-kit/storybook-static/862.c15e3c9c.iframe.bundle.js.html +85 -0
  174. package/coverage/ui-kit/storybook-static/87.0a1bfeb1.iframe.bundle.js.html +85 -0
  175. package/coverage/ui-kit/storybook-static/893.e21210d8.iframe.bundle.js.html +85 -0
  176. package/coverage/ui-kit/storybook-static/996.10688684.iframe.bundle.js.html +85 -0
  177. package/coverage/ui-kit/storybook-static/atoms-BackgroundTitle-stories.1a5386a1.iframe.bundle.js.html +85 -0
  178. package/coverage/ui-kit/storybook-static/atoms-LinesOfText-stories.7043a48b.iframe.bundle.js.html +85 -0
  179. package/coverage/ui-kit/storybook-static/atoms-LoadingDots-stories.662d6a83.iframe.bundle.js.html +85 -0
  180. package/coverage/ui-kit/storybook-static/atoms-QrCode-stories.e10363b6.iframe.bundle.js.html +85 -0
  181. package/coverage/ui-kit/storybook-static/atoms-RateSelector-stories.da7b9f1f.iframe.bundle.js.html +85 -0
  182. package/coverage/ui-kit/storybook-static/atoms-Validation-stories.d561b311.iframe.bundle.js.html +85 -0
  183. package/coverage/ui-kit/storybook-static/atoms-buttons-Button-stories.d336c1a5.iframe.bundle.js.html +85 -0
  184. package/coverage/ui-kit/storybook-static/atoms-buttons-Close-stories.0a902a7c.iframe.bundle.js.html +85 -0
  185. package/coverage/ui-kit/storybook-static/atoms-buttons-LinkButton-stories.ca93ab6b.iframe.bundle.js.html +85 -0
  186. package/coverage/ui-kit/storybook-static/index.html +536 -0
  187. package/coverage/ui-kit/storybook-static/main.75ff1c31.iframe.bundle.js.html +85 -0
  188. package/coverage/ui-kit/storybook-static/molecules-LineWithIconLink-stories.2d2d5753.iframe.bundle.js.html +85 -0
  189. package/coverage/ui-kit/storybook-static/molecules-TitledLineWithIconLink-stories.1383fe3f.iframe.bundle.js.html +85 -0
  190. package/coverage/ui-kit/storybook-static/organisms-Dialog-Dialog-stories.4e6da717.iframe.bundle.js.html +85 -0
  191. package/coverage/ui-kit/storybook-static/organisms-Dialog-DialogButtons-DialogButtons-stories.b79c32a3.iframe.bundle.js.html +85 -0
  192. package/coverage/ui-kit/storybook-static/organisms-Dialog-DialogStep-DialogStep-stories.74896048.iframe.bundle.js.html +85 -0
  193. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/@storybook/addon-backgrounds/dist/index.html +116 -0
  194. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/@storybook/addon-backgrounds/dist/preview.js.html +118 -0
  195. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/@storybook/components/dist/formatter-SWP5E3XI.mjs.html +118 -0
  196. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/@storybook/components/dist/index.html +116 -0
  197. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/buffer/index.html +116 -0
  198. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/buffer/index.js.html +118 -0
  199. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/markdown-to-jsx/dist/index.html +116 -0
  200. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/markdown-to-jsx/dist/index.modern.js.html +118 -0
  201. package/coverage/ui-kit/storybook-static/runtime~main.b108a22d.iframe.bundle.js.html +85 -0
  202. package/coverage/ui-kit/storybook-static/sb-addons/actions-9/index.html +116 -0
  203. package/coverage/ui-kit/storybook-static/sb-addons/actions-9/manager-bundle.js.html +94 -0
  204. package/coverage/ui-kit/storybook-static/sb-addons/essentials-backgrounds-2/index.html +116 -0
  205. package/coverage/ui-kit/storybook-static/sb-addons/essentials-backgrounds-2/manager-bundle.js.html +121 -0
  206. package/coverage/ui-kit/storybook-static/sb-addons/essentials-controls-1/index.html +116 -0
  207. package/coverage/ui-kit/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js.html +274 -0
  208. package/coverage/ui-kit/storybook-static/sb-addons/essentials-measure-4/index.html +116 -0
  209. package/coverage/ui-kit/storybook-static/sb-addons/essentials-measure-4/manager-bundle.js.html +94 -0
  210. package/coverage/ui-kit/storybook-static/sb-addons/essentials-outline-5/index.html +116 -0
  211. package/coverage/ui-kit/storybook-static/sb-addons/essentials-outline-5/manager-bundle.js.html +94 -0
  212. package/coverage/ui-kit/storybook-static/sb-addons/essentials-toolbars-3/index.html +116 -0
  213. package/coverage/ui-kit/storybook-static/sb-addons/essentials-toolbars-3/manager-bundle.js.html +94 -0
  214. package/coverage/ui-kit/storybook-static/sb-addons/interactions-7/index.html +116 -0
  215. package/coverage/ui-kit/storybook-static/sb-addons/interactions-7/manager-bundle.js.html +121 -0
  216. package/coverage/ui-kit/storybook-static/sb-addons/links-0/index.html +116 -0
  217. package/coverage/ui-kit/storybook-static/sb-addons/links-0/manager-bundle.js.html +94 -0
  218. package/coverage/ui-kit/storybook-static/sb-addons/onboarding-6/index.html +116 -0
  219. package/coverage/ui-kit/storybook-static/sb-addons/onboarding-6/manager-bundle.js.html +1588 -0
  220. package/coverage/ui-kit/storybook-static/sb-addons/viewport-8/index.html +116 -0
  221. package/coverage/ui-kit/storybook-static/sb-addons/viewport-8/manager-bundle.js.html +94 -0
  222. package/coverage/ui-kit/storybook-static/sb-manager/WithTooltip-V3YHNWJZ-LVYLGZW2.js.html +88 -0
  223. package/coverage/ui-kit/storybook-static/sb-manager/chunk-2IXBUOFS.js.html +106 -0
  224. package/coverage/ui-kit/storybook-static/sb-manager/chunk-INSKDKQB.js.html +1129 -0
  225. package/coverage/ui-kit/storybook-static/sb-manager/chunk-NGTUFCUO.js.html +112 -0
  226. package/coverage/ui-kit/storybook-static/sb-manager/chunk-UUEAOBSN.js.html +1303 -0
  227. package/coverage/ui-kit/storybook-static/sb-manager/chunk-ZEU7PDD3.js.html +88 -0
  228. package/coverage/ui-kit/storybook-static/sb-manager/formatter-SWP5E3XI-7BGIK6BL.js.html +553 -0
  229. package/coverage/ui-kit/storybook-static/sb-manager/globals-module-info.js.html +88 -0
  230. package/coverage/ui-kit/storybook-static/sb-manager/globals.js.html +88 -0
  231. package/coverage/ui-kit/storybook-static/sb-manager/index.html +281 -0
  232. package/coverage/ui-kit/storybook-static/sb-manager/index.js.html +88 -0
  233. package/coverage/ui-kit/storybook-static/sb-manager/runtime.js.html +88 -0
  234. package/coverage/ui-kit/storybook-static/sb-manager/syntaxhighlighter-V7JZZA35-DXZCI2WR.js.html +88 -0
  235. package/coverage/ui-kit/storybook-static/sb-preview/globals.js.html +88 -0
  236. package/coverage/ui-kit/storybook-static/sb-preview/index.html +131 -0
  237. package/coverage/ui-kit/storybook-static/sb-preview/runtime.js.html +421 -0
  238. package/coverage/ui-kit/storybook-static/templates-DeterminedErrorDialogStep-stories.3cc14214.iframe.bundle.js.html +85 -0
  239. package/dist/global.css +197 -0
  240. package/dist/global.css.map +1 -0
  241. package/dist/index.cjs +10864 -21
  242. package/dist/index.cjs.map +1 -1
  243. package/dist/index.css +2212 -8491
  244. package/dist/index.css.map +1 -1
  245. package/dist/index.modern.js +8354 -22
  246. package/dist/index.modern.js.map +1 -1
  247. package/dist/index.module.js +10784 -23
  248. package/dist/index.module.js.map +1 -1
  249. package/dist/index.umd.js +10855 -25
  250. package/dist/index.umd.js.map +1 -1
  251. package/index.js +1 -1
  252. package/package.json +36 -9
  253. package/src/common-apis/adapters/axiosAdapter.js +35 -0
  254. package/src/common-apis/adapters/qrUtils.js +18 -0
  255. package/src/common-apis/amountUtils.js +359 -0
  256. package/src/common-apis/errorUtils.js +42 -0
  257. package/src/common-apis/external-apis/apiGroups.js +55 -0
  258. package/src/common-apis/external-apis/ipAddressProviders.js +89 -0
  259. package/src/common-apis/fiatCurrenciesService.js +153 -0
  260. package/src/common-apis/globalConstants.jsx +3 -0
  261. package/src/common-apis/models/blockchain.js +10 -0
  262. package/src/common-apis/models/coin.js +153 -0
  263. package/src/common-apis/models/protocol.js +5 -0
  264. package/src/common-apis/tests/amountUtils/composeRateText.test.js +152 -0
  265. package/src/common-apis/tests/integration/external-apis/ipAddressProviders/getClientIpAddress.test.js +12 -0
  266. package/src/common-apis/utils/cache.js +242 -0
  267. package/src/common-apis/utils/emailAPI.js +16 -0
  268. package/src/common-apis/utils/logging/logger.js +41 -0
  269. package/src/common-apis/utils/logging/logsStorage.js +61 -0
  270. package/src/common-apis/utils/postponeExecution.js +11 -0
  271. package/src/common-apis/utils/safeStringify.js +50 -0
  272. package/src/index.js +84 -0
  273. package/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js +495 -0
  274. package/src/robust-api-caller/cachedRobustExternalApiCallerService.js +147 -0
  275. package/src/robust-api-caller/cancelProcessing.js +29 -0
  276. package/src/robust-api-caller/concurrentCalculationsMetadataHolder.js +75 -0
  277. package/src/robust-api-caller/externalApiProvider.js +156 -0
  278. package/src/robust-api-caller/externalServicesStatsCollector.js +78 -0
  279. package/src/robust-api-caller/robustExternalAPICallerService.js +304 -0
  280. package/src/robust-api-caller/tests/robustExternalAPICallerService/robustExternalAPICallerService/callExternalAPI/_performCallAttempt.test.js +533 -0
  281. package/src/robust-api-caller/tests/robustExternalAPICallerService/robustExternalAPICallerService/callExternalAPI/callExternalAPI.test.js +532 -0
  282. package/src/robust-api-caller/tests/robustExternalAPICallerService/robustExternalAPICallerService/constructor.test.js +19 -0
  283. package/src/swaps-lib/external-apis/letsExchangeSwapProvider.js +476 -0
  284. package/src/swaps-lib/external-apis/swapProvider.js +491 -0
  285. package/src/swaps-lib/external-apis/swapspaceSwapProvider.js +550 -0
  286. package/src/swaps-lib/models/baseSwapCreationInfo.js +46 -0
  287. package/src/swaps-lib/models/existingSwap.js +73 -0
  288. package/src/swaps-lib/models/existingSwapWithFiatData.js +128 -0
  289. package/src/swaps-lib/services/publicSwapService.js +671 -0
  290. package/src/swaps-lib/test/external-apis/swapProvider/getAllSupportedCurrencies.test.js +63 -0
  291. package/src/swaps-lib/test/external-apis/swapProvider/getDepositCurrencies.test.js +73 -0
  292. package/src/swaps-lib/test/external-apis/swapProvider/getWithdrawalCurrencies.test.js +102 -0
  293. package/src/swaps-lib/test/external-apis/swapProvider/removeProtocolNameFromCoinName.test.js +152 -0
  294. package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/_fetchSupportedCurrenciesIfNeeded.test.js +538 -0
  295. package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/createSwap.test.js +1249 -0
  296. package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/getSwapInfo.test.js +1700 -0
  297. package/src/swaps-lib/test/utils/swapUtils/safeHandleRequestsLimitExceeding.test.js +80 -0
  298. package/src/swaps-lib/utils/swapUtils.js +195 -0
  299. package/{styles → src/ui-kit/assets/styles}/_functions.scss +5 -0
  300. package/{styles → src/ui-kit/assets/styles}/_mixins.scss +2 -2
  301. package/{styles → src/ui-kit/assets/styles}/_placeholder.scss +3 -3
  302. package/{styles → src/ui-kit/assets/styles}/_variables.scss +17 -15
  303. package/src/ui-kit/assets/styles/fonts/NunitoSans-Bold.ttf +0 -0
  304. package/src/ui-kit/assets/styles/fonts/NunitoSans-ExtraBold.ttf +0 -0
  305. package/src/ui-kit/assets/styles/fonts/NunitoSans-Light.ttf +0 -0
  306. package/src/ui-kit/assets/styles/fonts/NunitoSans-Regular.ttf +0 -0
  307. package/src/ui-kit/assets/styles/fonts/NunitoSans-SemiBold.ttf +0 -0
  308. package/src/ui-kit/assets/styles/global.scss +165 -0
  309. package/src/ui-kit/assets/styles/index.scss +10 -0
  310. package/src/ui-kit/assets/wrappedImages/arrowIcon.jsx +13 -0
  311. package/src/ui-kit/assets/wrappedImages/arrowTosca.jsx +14 -0
  312. package/src/ui-kit/assets/wrappedImages/arrowWhite.jsx +14 -0
  313. package/src/ui-kit/assets/wrappedImages/darkRectangle.jsx +7 -0
  314. package/src/ui-kit/assets/wrappedImages/determinedError.jsx +118 -0
  315. package/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx +39 -0
  316. package/src/ui-kit/assets/wrappedImages/infoIcon.jsx +16 -0
  317. package/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx +54 -0
  318. package/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx +26 -0
  319. package/src/ui-kit/assets/wrappedImages/walletIcon.jsx +22 -0
  320. package/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx +57 -0
  321. package/{stories → src/ui-kit/components}/atoms/AssetIcon/asset-icon.module.scss +1 -1
  322. package/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx +68 -0
  323. package/src/ui-kit/components/atoms/AssetSelection/asset-selection.module.scss +56 -0
  324. package/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx +34 -0
  325. package/src/ui-kit/components/atoms/BackgroundTitle/background-title.module.scss +52 -0
  326. package/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx +51 -0
  327. package/src/ui-kit/components/atoms/InformationMessage/information-message.module.scss +38 -0
  328. package/src/ui-kit/components/atoms/Input/Input.jsx +183 -0
  329. package/src/ui-kit/components/atoms/Input/input.module.scss +107 -0
  330. package/{stories → src/ui-kit/components}/atoms/LoadingDots/LoadingDots.jsx +8 -28
  331. package/{stories → src/ui-kit/components}/atoms/LoadingDots/LoadingDots.module.scss +3 -2
  332. package/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx +64 -0
  333. package/src/ui-kit/components/atoms/NoticeIcon/notice-icon.module.scss +14 -0
  334. package/src/ui-kit/components/atoms/QrCode/QrCode.jsx +50 -0
  335. package/src/ui-kit/components/atoms/QrCode/qr-code.module.scss +15 -0
  336. package/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx +30 -0
  337. package/src/ui-kit/components/atoms/RateSelector/rate-selector.module.scss +47 -0
  338. package/{stories → src/ui-kit/components}/atoms/SupportChat/SupportChat.jsx +5 -1
  339. package/src/ui-kit/components/atoms/Textarea/Textarea.jsx +148 -0
  340. package/src/ui-kit/components/atoms/Textarea/textarea.module.scss +71 -0
  341. package/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx +141 -0
  342. package/src/ui-kit/components/atoms/TitleBox/title-box.module.scss +32 -0
  343. package/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx +77 -0
  344. package/src/ui-kit/components/atoms/Tooltip/tooltip.module.scss +237 -0
  345. package/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx +76 -0
  346. package/src/ui-kit/components/atoms/TwoLinesOfText/lines-of-text.module.scss +65 -0
  347. package/src/ui-kit/components/atoms/Validation/Validation.jsx +41 -0
  348. package/src/ui-kit/components/atoms/Validation/validation.module.scss +15 -0
  349. package/{stories → src/ui-kit/components}/atoms/buttons/Button/Button.jsx +24 -50
  350. package/{stories → src/ui-kit/components}/atoms/buttons/Button/Button.module.scss +1 -1
  351. package/src/ui-kit/components/atoms/buttons/Close/Close.jsx +58 -0
  352. package/src/ui-kit/components/atoms/buttons/Close/close.module.scss +75 -0
  353. package/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx +112 -0
  354. package/src/ui-kit/components/atoms/buttons/LinkButton/link-button.module.scss +49 -0
  355. package/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx +110 -0
  356. package/src/ui-kit/components/atoms/buttons/RadioButtonWithText/radio-button-with-text.module.scss +86 -0
  357. package/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx +325 -0
  358. package/src/ui-kit/components/molecules/AmountInput/amount-input.module.scss +199 -0
  359. package/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx +511 -0
  360. package/src/ui-kit/components/molecules/CoinPicker/coin-picker.module.scss +207 -0
  361. package/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx +35 -0
  362. package/src/ui-kit/components/molecules/LineWithIconLink/line-with-icon-link.module.scss +25 -0
  363. package/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx +32 -0
  364. package/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx +66 -0
  365. package/src/ui-kit/components/organisms/Dialog/Dialog.jsx +494 -0
  366. package/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx +122 -0
  367. package/src/ui-kit/components/organisms/Dialog/DialogButtons/dialog-buttons.module.scss +25 -0
  368. package/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx +538 -0
  369. package/src/ui-kit/components/organisms/Dialog/DialogStep/dialog-step.module.scss +381 -0
  370. package/src/ui-kit/components/organisms/Dialog/dialog.module.scss +226 -0
  371. package/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx +1330 -0
  372. package/src/ui-kit/components/organisms/SwapForm/swap-form.module.scss +134 -0
  373. package/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx +77 -0
  374. package/src/ui-kit/hooks/useCallHandlingErrors.js +22 -0
  375. package/src/ui-kit/hooks/useIsHydrated.js +12 -0
  376. package/src/ui-kit/hooks/useReferredState.js +24 -0
  377. package/src/ui-kit/tests/utils/inputValueProviders/provideFormatOfFloatValueByInputString.test.js +132 -0
  378. package/src/ui-kit/tests/utils/urlQueryUtils/getQueryParameterValues.test.js +65 -0
  379. package/src/ui-kit/tests/utils/urlQueryUtils/saveQueryParameterAndValues.test.js +104 -0
  380. package/src/ui-kit/utils/inputValueProviders.js +50 -0
  381. package/src/ui-kit/utils/textUtils.js +18 -0
  382. package/src/ui-kit/utils/uiUtils.js +12 -0
  383. package/src/ui-kit/utils/urlQueryUtils.js +62 -0
  384. package/stories/stubs/exampleContent.jsx +20 -0
  385. package/stories/atoms/AssetIcon/AssetIcon.jsx +0 -55
  386. package/stories/index.js +0 -4
  387. package/styles/_global-classes.scss +0 -433
  388. package/styles/fonts/NunitoSans-Bold.ttf +0 -0
  389. package/styles/fonts/NunitoSans-ExtraBold.ttf +0 -0
  390. package/styles/fonts/NunitoSans-Light.ttf +0 -0
  391. package/styles/fonts/NunitoSans-Regular.ttf +0 -0
  392. package/styles/fonts/NunitoSans-SemiBold.ttf +0 -0
  393. package/styles/global-styles-index.scss +0 -74
  394. package/styles/index.scss +0 -33
  395. /package/{styles → src/ui-kit/assets/styles}/colors/_light-colors.scss +0 -0
  396. /package/{styles → src/ui-kit/assets/styles}/colors/_solid-colors.scss +0 -0
  397. /package/{styles → src/ui-kit/assets/styles}/size/_margin-size.scss +0 -0
  398. /package/{styles → src/ui-kit/assets/styles}/size/_padding-size.scss +0 -0
@@ -0,0 +1,538 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+ import PropTypes from "prop-types";
3
+
4
+ import { logErrorOrOutputToConsole } from "../../../../../common-apis/errorUtils.js";
5
+
6
+ import arrowTosca from "../../../../assets/wrappedImages/arrowTosca.jsx";
7
+ import arrowWhite from "../../../../assets/wrappedImages/arrowWhite.jsx";
8
+
9
+ import s from "./dialog-step.module.scss";
10
+ import { AssetIcon } from "../../../atoms/AssetIcon/AssetIcon.jsx";
11
+ import { ICON_ROTATE_OPTIONS, LinkButton } from "../../../atoms/buttons/LinkButton/LinkButton.jsx";
12
+ import { BackgroundTitle } from "../../../atoms/BackgroundTitle/BackgroundTitle.jsx";
13
+ import { DialogButtons } from "../DialogButtons/DialogButtons.jsx";
14
+ import { LoadingDots } from "../../../atoms/LoadingDots/LoadingDots.jsx";
15
+ import { DIALOG_TRANSITION_STEP_DURATION } from "../Dialog.jsx";
16
+
17
+ export const DIALOG_STEP_CLASS = "dialog-step";
18
+
19
+ /**
20
+ * Step component, part of the DialogWithSteps modal component. This component should be used inside the primary dialog component.
21
+ *
22
+ * @component
23
+ * @param {Object} props - The props object.
24
+ * @param {string} props.stepName - Step name, specified on the root dialog level, used as an ID for dialog navigation.
25
+ * @param {React.ReactNode} props.children - Content of the dialog step. Supports both raw content and components.
26
+ * @param {string} props.image - Illustration/icon at the top, path to an image.
27
+ * @param {React.ComponentType} props.ImageRaw - Illustration/icon at the top, the image component to be inserted.
28
+ * @param {string} props.title - Step title.
29
+ * @param {string} props.titleIcon - Icon next to the step title, path to an image.
30
+ * @param {Coin} props.titleIconCoin - Coin to be shown as an AssetIcon next to the step title.
31
+ * @param {function} props.coinToIconPaths - Function returning icon paths by Coin.
32
+ * @param {boolean} props.titleLoadingDots - Show loading dots next to the title or not.
33
+ * @param {string} props.subtitle - Step subtitle.
34
+ * @param {string} props.backButtonText - Secondary button title.
35
+ * @param {function} props.backButtonClick - Secondary button click handler.
36
+ * @param {string} props.backButtonTo - Secondary button link.
37
+ * @param {string} props.confirmButtonText - Primary button title.
38
+ * @param {function} props.confirmButtonClick - Primary button click handler.
39
+ * @param {string} props.confirmButtonLink - Primary button link.
40
+ * @param {boolean} props.primaryButtonLoader - Enable loader for the primary button.
41
+ * @param {boolean} props.fixedButtons - Enable fixed buttons in the bottom for mobile devices.
42
+ * @param {boolean} props.showCornerBackButton - Forcefully enable or disable blue corner back button.
43
+ * @param {string} props.cornerBackButtonTitle - Blue corner back button title.
44
+ * @param {function} props.cornerBackButtonClick - Blue corner back button click handler.
45
+ * @param {boolean} props.bigButtonMargins - Increase button margins.
46
+ * @param {boolean} props.noButtonMargins - Decrease button margins.
47
+ * @param {boolean} props.headerTitleLeft - Align header title to the left. Default: false.
48
+ * @param {boolean} props.subtitleSmallMargin - Reduce the margin under the subtitle.
49
+ * @param {boolean} props.subtitleNoMargin - Disable the margin under the subtitle.
50
+ * @param {boolean} props.showBackgroundTitle - Enable the semi-transparent secondary background title.
51
+ * @param {function} props.setClickTrigger - Function to set up an external trigger for the primary button.
52
+ * @param {boolean} props.breakSubtitleWords - Enable word-break for subtitles. Default: false.
53
+ * @param {string} props.contentAlign - Receives "left", "center", "right". Controls the step content container alignment.
54
+ * @param {Object} props.controls - Dialog-to-step connection object, required for multi-step dialog windows.
55
+ * @param {string} props.width - Width in pixels, formatted as "1000px" and passed as a string. Values should be used from constants.
56
+ * @param {string} props.height - Height in pixels, formatted as "1000px" and passed as a string. Values should be used from constants.
57
+ * @param {string} props.backgroundImage - Background image, path to an image.
58
+ * @param {string} props.backgroundImageMobile - Background image for mobiles, path to an image.
59
+ * @param {boolean} props.isSecondaryButtonBig - Changes the secondary button style from link to a secondary-button. Default: false.
60
+ * @returns {JSX.Element} React component
61
+ */
62
+ export const DialogStep = ({
63
+ stepName = "",
64
+ children = "",
65
+ image = "",
66
+ ImageRaw,
67
+ title = "",
68
+ titleIcon = "",
69
+ titleIconCoin,
70
+ coinToIconPaths = () => {},
71
+ titleLoadingDots = false,
72
+ subtitle = "",
73
+ backButtonText = "",
74
+ backButtonClick = () => {},
75
+ backButtonTo = "",
76
+ confirmButtonText = "",
77
+ confirmButtonClick = () => {},
78
+ confirmButtonLink = "",
79
+ primaryButtonLoader = false,
80
+ fixedButtons = false,
81
+ showCornerBackButton = null,
82
+ cornerBackButtonTitle = null,
83
+ cornerBackButtonClick = null,
84
+ bigButtonMargins = false,
85
+ noButtonMargins = false,
86
+ headerTitleLeft = false,
87
+ subtitleSmallMargin = false,
88
+ subtitleNoMargin = false,
89
+ showBackgroundTitle = true,
90
+ setClickTrigger = () => {},
91
+ breakSubtitleWords = false,
92
+ contentAlign = "left",
93
+ controls = {},
94
+ width = "",
95
+ height,
96
+ backgroundImage,
97
+ backgroundImageMobile,
98
+ isSecondaryButtonBig = false,
99
+ }) => {
100
+ const {
101
+ currentStep = null,
102
+ isCurrentStep = () => {},
103
+ previousStep,
104
+ getStepClass = () => {},
105
+ updateDialogConfiguration,
106
+ provideCurrentStepRef,
107
+ animationConfiguration,
108
+ disableAnimation,
109
+ showCornerButtonForStep,
110
+ scrollDialogToTop = () => {},
111
+ updateButtonsConfiguration = () => {},
112
+ clearButtonsConfiguration = () => {},
113
+ buttonControllingStep,
114
+ updateButtonControllingStep = () => {},
115
+ updateAnimationConfiguration = () => {},
116
+ inline,
117
+ } = controls;
118
+
119
+ const [isMultiStep, setIsMultiStep] = useState(false);
120
+ const [stepClass, setStepClass] = useState("");
121
+ const [wrapperDirectionSubclass, setWrapperDirectionSubclass] = useState("");
122
+ const [unmountOnAnimationEndTrigger, setUnmountOnAnimationEndTrigger] = useState(0);
123
+ const [stepMounted, setStepMounted] = useState(false);
124
+ const [isTopImagePassed, setIsTopImagePassed] = useState(false);
125
+
126
+ const currentStepRef = useRef();
127
+ // const { t } = useTranslation();
128
+
129
+ useEffect(() => setIsTopImagePassed(!!image || !!ImageRaw), [image, ImageRaw]);
130
+
131
+ useEffect(() => {
132
+ if (controls !== {} && stepName !== "") setIsMultiStep(true);
133
+ // eslint-disable-next-line react-hooks/exhaustive-deps
134
+ }, []);
135
+
136
+ const handleTransitionEnd = event => {
137
+ if (
138
+ isMultiStep &&
139
+ isCurrentStep(stepName) &&
140
+ event.propertyName === "opacity" &&
141
+ event.target.classList[0] === s[DIALOG_STEP_CLASS]
142
+ ) {
143
+ disableAnimation(animationConfiguration.animateHeightTransitionEnabled);
144
+ }
145
+
146
+ if (
147
+ isMultiStep &&
148
+ unmountOnAnimationEndTrigger &&
149
+ event.propertyName === "opacity" &&
150
+ event.target.classList[0] === s[DIALOG_STEP_CLASS]
151
+ ) {
152
+ clearButtonsConfiguration();
153
+ scrollDialogToTop();
154
+ setStepMounted(false);
155
+ setUnmountOnAnimationEndTrigger(0);
156
+ }
157
+ };
158
+
159
+ useEffect(() => {
160
+ var multiStep = false;
161
+ if (controls !== {} && stepName !== "") {
162
+ setIsMultiStep(true);
163
+ multiStep = true;
164
+ }
165
+
166
+ if (!multiStep && fixedButtons) {
167
+ logErrorOrOutputToConsole(
168
+ new Error(
169
+ "DialogStep parameter 'fixedButtons' works only with controls connected between the DialogWithSteps and DialogStep components. Unless the controls are configured the 'fixedButtons' parameter will be ignored."
170
+ )
171
+ );
172
+ }
173
+
174
+ if (multiStep) {
175
+ if (getStepClass(stepName) === "current") setStepMounted(true);
176
+
177
+ if (stepClass === "current" && getStepClass(stepName) !== "current")
178
+ setUnmountOnAnimationEndTrigger(prev => prev + 1);
179
+
180
+ setWrapperDirectionSubclass(
181
+ getStepClass(stepName) === "current" && animationConfiguration.currentStepAnimationEnabled
182
+ ? stepClass === "prev"
183
+ ? "appear-from-left"
184
+ : "appear-from-right"
185
+ : ""
186
+ );
187
+ } else {
188
+ if (width !== "")
189
+ logErrorOrOutputToConsole(
190
+ new Error(
191
+ "Single DialogStep does not support 'width' parameter, since it requires controls to be connected. Pass 'width' to the Dialog component to set the width of the modal window."
192
+ )
193
+ );
194
+ setStepMounted(true);
195
+ }
196
+
197
+ setStepClass(multiStep ? getStepClass(stepName) : "current");
198
+ if (multiStep && isCurrentStep(stepName)) {
199
+ setTimeout(
200
+ () => updateButtonControllingStep(stepName),
201
+ buttonControllingStep === "" ? 0 : DIALOG_TRANSITION_STEP_DURATION
202
+ );
203
+
204
+ setTimeout(() => {
205
+ updateButtonsConfiguration(
206
+ {
207
+ primaryButtonTitle: confirmButtonText,
208
+ primaryButtonOnClick: resetButtonLoader => confirmButtonClick(resetButtonLoader),
209
+ primaryButtonLoader: primaryButtonLoader,
210
+ primaryButtonTo: confirmButtonLink,
211
+ primaryButtonSetClickTrigger: setClickTrigger,
212
+ secondaryButtonTitle: backButtonText,
213
+ secondaryButtonOnClick: backButtonClick,
214
+ secondaryButtonTo: backButtonTo,
215
+ fixedButtonsEnabled: fixedButtons,
216
+ },
217
+ stepName
218
+ );
219
+
220
+ updateAnimationConfiguration(prev => {
221
+ return {
222
+ ...prev,
223
+ hideMobileBottomButtonSection: false,
224
+ };
225
+ });
226
+ }, DIALOG_TRANSITION_STEP_DURATION * 3);
227
+
228
+ updateDialogConfiguration(prev => {
229
+ return {
230
+ ...prev,
231
+ cornerBackButtonTitle: cornerBackButtonTitle,
232
+ customWidth: width,
233
+ };
234
+ });
235
+ provideCurrentStepRef(currentStepRef);
236
+ }
237
+ // eslint-disable-next-line react-hooks/exhaustive-deps
238
+ }, [currentStep]);
239
+
240
+ useEffect(() => {
241
+ if (isMultiStep && isCurrentStep(stepName) && fixedButtons && (confirmButtonText || backButtonText)) {
242
+ updateButtonsConfiguration(
243
+ {
244
+ primaryButtonTitle: confirmButtonText,
245
+ primaryButtonOnClick: resetButtonLoader => confirmButtonClick(resetButtonLoader),
246
+ primaryButtonLoader: primaryButtonLoader,
247
+ primaryButtonTo: confirmButtonLink,
248
+ primaryButtonSetClickTrigger: setClickTrigger,
249
+ secondaryButtonTitle: backButtonText,
250
+ secondaryButtonOnClick: backButtonClick,
251
+ secondaryButtonTo: backButtonTo,
252
+ fixedButtonsEnabled: fixedButtons,
253
+ },
254
+ stepName
255
+ );
256
+ }
257
+ // eslint-disable-next-line react-hooks/exhaustive-deps
258
+ }, [
259
+ confirmButtonText,
260
+ confirmButtonClick,
261
+ primaryButtonLoader,
262
+ confirmButtonLink,
263
+ setClickTrigger,
264
+ backButtonText,
265
+ backButtonClick,
266
+ backButtonTo,
267
+ currentStep,
268
+ ]);
269
+
270
+ const { assetIconSrc, assetIconProtocolSrc, fallbackSrc } =
271
+ titleIconCoin && coinToIconPaths ? coinToIconPaths(titleIconCoin) : {};
272
+
273
+ return (
274
+ <div
275
+ className={
276
+ s[DIALOG_STEP_CLASS] +
277
+ " " +
278
+ s[stepClass] +
279
+ (!isMultiStep || !animationConfiguration?.currentStepAnimationEnabled
280
+ ? " " + s["animation-disabled"]
281
+ : "") +
282
+ (!isMultiStep ? " " + s["single-step"] : "") +
283
+ (backgroundImage || backgroundImageMobile ? " " + s["with-background"] : "") +
284
+ (inline ? " " + s["inline"] : "")
285
+ }
286
+ ref={currentStepRef}
287
+ onTransitionEnd={handleTransitionEnd}
288
+ style={height ? { height: height } : null}
289
+ >
290
+ {stepMounted ? (
291
+ <>
292
+ {backgroundImage || backgroundImageMobile ? (
293
+ <div className={s["dialog-step-background-image"] + " " + s[stepClass]}>
294
+ {backgroundImage ? (
295
+ <img
296
+ src={backgroundImage}
297
+ className={
298
+ s["dialog-step-background-image-desktop"] +
299
+ " " +
300
+ stepClass +
301
+ (!backgroundImageMobile ? " " + s["primary"] : "")
302
+ }
303
+ alt={"dialog step background"}
304
+ loading="lazy"
305
+ />
306
+ ) : null}
307
+ {backgroundImageMobile ? (
308
+ <img
309
+ src={backgroundImageMobile}
310
+ className={
311
+ s["dialog-step-background-image-mobile"] +
312
+ " " +
313
+ stepClass +
314
+ (!backgroundImage ? " " + s["primary"] : "")
315
+ }
316
+ alt={"dialog step background"}
317
+ loading="lazy"
318
+ />
319
+ ) : null}
320
+ </div>
321
+ ) : null}
322
+ <div
323
+ className={
324
+ s["dialog-step-wrapper"] +
325
+ " " +
326
+ s[stepClass] +
327
+ " " +
328
+ s[wrapperDirectionSubclass] +
329
+ (inline ? " " + s["inline"] : "")
330
+ }
331
+ >
332
+ {isMultiStep && showCornerButtonForStep(stepName, showCornerBackButton) ? (
333
+ <div className={s["dialog-step-wrapper-back-button"]}>
334
+ <LinkButton
335
+ onClick={cornerBackButtonClick ? cornerBackButtonClick : previousStep}
336
+ content={
337
+ cornerBackButtonTitle
338
+ ? cornerBackButtonTitle
339
+ : // : t("organisms.DialogWithSteps.DialogStep.default-back-button-title")
340
+ "Back"
341
+ }
342
+ IconComponent={backgroundImage || backgroundImageMobile ? arrowWhite : arrowTosca}
343
+ iconRotate={ICON_ROTATE_OPTIONS.rotate90}
344
+ isColored={backgroundImage || backgroundImageMobile ? false : undefined}
345
+ />
346
+ </div>
347
+ ) : null}
348
+
349
+ <div
350
+ className={
351
+ s["dialog-step-wrapper-header"] +
352
+ (headerTitleLeft ? " " + s["text-left"] : "") +
353
+ (backgroundImage || backgroundImageMobile ? " " + s["with-background-image"] : "")
354
+ }
355
+ >
356
+ {image ? (
357
+ <img
358
+ src={image}
359
+ alt="dialog popup logo"
360
+ className={s["dialog-step-wrapper-header-logo"]}
361
+ loading="lazy"
362
+ />
363
+ ) : ImageRaw ? (
364
+ <div className={s["dialog-step-wrapper-header-logo"]}>
365
+ <ImageRaw />
366
+ </div>
367
+ ) : null}
368
+
369
+ <div
370
+ className={
371
+ s["dialog-step-wrapper-header-title"] +
372
+ (!isTopImagePassed ? " " + s["without-logo"] : "") +
373
+ (!isTopImagePassed && headerTitleLeft ? " " + s["close-button-padding"] : "") +
374
+ (inline ? " " + s["no-close-button-padding"] : "")
375
+ }
376
+ >
377
+ {titleIconCoin ? (
378
+ <div className={s["dialog-step-wrapper-header-title-coin-icon"]}>
379
+ <AssetIcon
380
+ assetIconSrc={assetIconSrc}
381
+ assetIconProtocolSrc={assetIconProtocolSrc}
382
+ fallbackSrc={fallbackSrc}
383
+ />
384
+ </div>
385
+ ) : titleIcon ? (
386
+ <div className={s["dialog-step-wrapper-header-title-icon"]}>
387
+ <img src={titleIcon} alt="coin icon to send" loading="lazy" />
388
+ </div>
389
+ ) : null}
390
+ {titleLoadingDots ? (
391
+ <div className={s["dialog-step-wrapper-header-title-loading"]}>
392
+ <LoadingDots isColored />
393
+ </div>
394
+ ) : (
395
+ ""
396
+ )}
397
+ <div className={s["dialog-step-wrapper-header-title-text"]}>
398
+ {!isTopImagePassed && showBackgroundTitle ? <BackgroundTitle text={title} /> : null}
399
+ <h5
400
+ className={
401
+ s["dialog-step-wrapper-header-title-text-content"] +
402
+ (!isTopImagePassed ? " " + s["without-logo"] : "") +
403
+ (backgroundImage || backgroundImageMobile ? " " + s["white"] : "")
404
+ }
405
+ >
406
+ {title}
407
+ </h5>
408
+ </div>
409
+ </div>
410
+
411
+ {subtitle ? (
412
+ <p
413
+ className={
414
+ s["dialog-step-wrapper-header-text"] +
415
+ ` ${!isTopImagePassed ? s["without-logo"] : ""} ${
416
+ subtitleSmallMargin ? s["small-margin"] : ""
417
+ }${subtitleNoMargin ? s["no-margin"] : ""} ${
418
+ headerTitleLeft ? s["text-left"] : ""
419
+ } ${breakSubtitleWords ? s["break-words"] : ""} ${
420
+ backgroundImage || backgroundImageMobile ? s["white"] : ""
421
+ }`
422
+ }
423
+ >
424
+ {subtitle}
425
+ </p>
426
+ ) : null}
427
+ </div>
428
+ <div className={s["dialog-step-wrapper-content"] + " " + s["align-" + contentAlign]}>
429
+ {children}
430
+ </div>
431
+
432
+ {backButtonText || confirmButtonText ? (
433
+ <div
434
+ className={
435
+ s["dialog-step-wrapper-buttons"] +
436
+ ` ${bigButtonMargins ? s["big-margin"] : ""} ${
437
+ noButtonMargins ? s["no-margin"] : ""
438
+ } ${isSecondaryButtonBig ? s["space-between-layout"] : ""}`
439
+ }
440
+ >
441
+ <DialogButtons
442
+ primaryButtonTitle={confirmButtonText}
443
+ primaryButtonOnClick={resetButtonLoader => confirmButtonClick(resetButtonLoader)}
444
+ primaryButtonLoader={primaryButtonLoader}
445
+ primaryButtonTo={confirmButtonLink}
446
+ primaryButtonSetClickTrigger={setClickTrigger}
447
+ secondaryButtonTitle={backButtonText}
448
+ secondaryButtonOnClick={backButtonClick}
449
+ secondaryButtonTo={backButtonTo}
450
+ secondaryButtonBig={isSecondaryButtonBig}
451
+ withBackgroundImage={!!backgroundImage || !!backgroundImageMobile}
452
+ hideOnMobiles={isMultiStep && fixedButtons && (backButtonText || confirmButtonText)}
453
+ />
454
+ </div>
455
+ ) : (
456
+ ""
457
+ )}
458
+ </div>
459
+ </>
460
+ ) : null}
461
+ </div>
462
+ );
463
+ };
464
+
465
+ DialogStep.propTypes = {
466
+ stepName: PropTypes.string,
467
+ children: PropTypes.node,
468
+ image: PropTypes.string,
469
+ title: PropTypes.string,
470
+ ImageRaw: PropTypes.func,
471
+ titleIcon: PropTypes.string,
472
+ titleIconCoin: PropTypes.object,
473
+ coinToIconPaths: PropTypes.func,
474
+ titleLoadingDots: PropTypes.bool,
475
+ subtitle: PropTypes.string,
476
+ backButtonText: PropTypes.string,
477
+ backButtonClick: PropTypes.func,
478
+ backButtonTo: PropTypes.string,
479
+ confirmButtonText: PropTypes.string,
480
+ confirmButtonClick: PropTypes.func,
481
+ confirmButtonLink: PropTypes.string,
482
+ primaryButtonLoader: PropTypes.bool,
483
+ fixedButtons: PropTypes.bool,
484
+ showCornerBackButton: PropTypes.bool,
485
+ cornerBackButtonTitle: PropTypes.string,
486
+ cornerBackButtonClick: PropTypes.func,
487
+ bigButtonMargins: PropTypes.bool,
488
+ noButtonMargins: PropTypes.bool,
489
+ headerTitleLeft: PropTypes.bool,
490
+ subtitleSmallMargin: PropTypes.bool,
491
+ subtitleNoMargin: PropTypes.bool,
492
+ showBackgroundTitle: PropTypes.bool,
493
+ setClickTrigger: PropTypes.func,
494
+ breakSubtitleWords: PropTypes.bool,
495
+ contentAlign: PropTypes.string,
496
+ controls: PropTypes.object,
497
+ width: PropTypes.oneOf(["550px", "600px", "700px", "750px", "800px", "1000px"]),
498
+ height: PropTypes.string,
499
+ backgroundImage: PropTypes.string,
500
+ backgroundImageMobile: PropTypes.string,
501
+ isSecondaryButtonBig: PropTypes.bool,
502
+ };
503
+
504
+ DialogStep.defaultProps = {
505
+ stepName: "",
506
+ children: null,
507
+ image: "",
508
+ title: "",
509
+ titleIcon: "",
510
+ coinToIconPaths: () => ({}),
511
+ titleLoadingDots: false,
512
+ subtitle: "",
513
+ backButtonText: "",
514
+ backButtonClick: () => {},
515
+ backButtonTo: "",
516
+ confirmButtonText: "",
517
+ confirmButtonClick: () => {},
518
+ confirmButtonLink: "",
519
+ primaryButtonLoader: false,
520
+ fixedButtons: false,
521
+ showCornerBackButton: null,
522
+ cornerBackButtonTitle: null,
523
+ cornerBackButtonClick: null,
524
+ bigButtonMargins: false,
525
+ noButtonMargins: false,
526
+ headerTitleLeft: false,
527
+ subtitleSmallMargin: false,
528
+ subtitleNoMargin: false,
529
+ showBackgroundTitle: true,
530
+ setClickTrigger: () => {},
531
+ breakSubtitleWords: false,
532
+ contentAlign: "left",
533
+ controls: {},
534
+ height: null,
535
+ backgroundImage: "",
536
+ backgroundImageMobile: "",
537
+ isSecondaryButtonBig: false,
538
+ };