@stokr/components-library 0.5.4 → 0.5.6

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 (434) hide show
  1. package/build/asset-manifest.json +9 -0
  2. package/build/favicon.ico +0 -0
  3. package/build/index.html +1 -0
  4. package/build/logo192.png +0 -0
  5. package/build/logo512.png +0 -0
  6. package/build/manifest.json +25 -0
  7. package/build/robots.txt +3 -0
  8. package/build/static/js/main.31d6cfe0.js +0 -0
  9. package/dist/AccountBalance/AccountBalance.js +43 -0
  10. package/dist/AccountBalance/AccountBalance.stories.js +75 -0
  11. package/dist/AccountBalance/AccountBalance.styles.js +38 -0
  12. package/dist/AdminDashboard/Table/Table.js +120 -0
  13. package/dist/AdminDashboard/Table/Table.styles.js +111 -0
  14. package/dist/AgreementItem/AgreementItem.js +38 -0
  15. package/dist/AgreementItem/AgreementItem.stories.js +98 -0
  16. package/dist/AgreementItem/AgreementItem.styles.js +31 -0
  17. package/dist/AnalyticGraphs/Analytic.js +528 -0
  18. package/dist/AnalyticGraphs/Analytic.styles.js +49 -0
  19. package/dist/BackButton/BackButton.js +22 -0
  20. package/dist/BackButton/BackButton.stories.js +24 -0
  21. package/dist/BackButton/BackButton.styles.js +110 -0
  22. package/dist/Background/Background.js +34 -0
  23. package/dist/Background/Background.stories.js +50 -0
  24. package/dist/Background/Background.styles.js +113 -0
  25. package/dist/BarChart/BarChart.js +258 -0
  26. package/dist/BarChart/BarChart.stories.js +46 -0
  27. package/dist/BarChart/BarChart.styles.js +93 -0
  28. package/dist/BarChartLegend/BarChartLegend.js +74 -0
  29. package/dist/BarChartLegend/BarChartLegend.styles.js +26 -0
  30. package/dist/BasicTable/BasicTable.js +20 -0
  31. package/dist/BasicTable/BasicTable.stories.js +51 -0
  32. package/dist/BasicTable/BasicTable.styles.js +64 -0
  33. package/dist/Button/Button.stories.js +63 -0
  34. package/dist/Button/Button.styles.js +180 -0
  35. package/dist/ButtonContainer/ButtonContainer.styles.js +25 -0
  36. package/dist/CapitalRaisedSummary/CapitalRaisedSummery.stories.js +35 -0
  37. package/dist/CapitalRaisedSummary/CaptialRaisedSummary.js +23 -0
  38. package/dist/CapitalRaisedSummary/CaptialRaisedSummary.styles.js +36 -0
  39. package/dist/ChartBox/ChartBox.js +34 -0
  40. package/dist/ChartBox/ChartBox.stories.js +9 -0
  41. package/dist/ChartBox/ChartBox.styles.js +50 -0
  42. package/dist/ChartBox/ChartBoxDistribution.js +20 -0
  43. package/dist/ChartBox/ChartBoxDistribution.stories.js +10 -0
  44. package/dist/ChartLegend/ChartLegend.js +37 -0
  45. package/dist/ChartLegend/ChartLegend.stories.js +74 -0
  46. package/dist/ChartLegend/ChartLegend.styles.js +67 -0
  47. package/dist/Checkbox/Checkbox.js +108 -0
  48. package/dist/Checkbox/Checkbox.stories.js +82 -0
  49. package/dist/Checkbox/Checkbox.styles.js +123 -0
  50. package/dist/Checklist/UserChecklist.js +247 -0
  51. package/dist/Checklist/UserChecklist.stories.js +115 -0
  52. package/dist/ComponentScroll/ComponentScroll.js +99 -0
  53. package/dist/ComponentScroll/ComponentScroll.stories.js +92 -0
  54. package/dist/ComponentScroll/ComponentScroll.styles.js +104 -0
  55. package/dist/ComponentWrapper/ComponentWrapper.styles.js +128 -0
  56. package/dist/CryptoAddress/ComponentWrap.js +24 -0
  57. package/dist/CryptoAddress/CryptoAddress.js +124 -0
  58. package/dist/CryptoAddress/CryptoAddress.stories.js +163 -0
  59. package/dist/CryptoAddress/CryptoAddress.styles.js +399 -0
  60. package/dist/CryptoAddress/RadioWrap.js +36 -0
  61. package/dist/CryptoAddressDetails/CryptoAddressDetails.js +42 -0
  62. package/dist/CryptoAddressDetails/CryptoAddressDetails.stories.js +65 -0
  63. package/dist/CryptoAddressDetails/CryptoAddressDetails.styles.js +114 -0
  64. package/dist/CryptoAddressWrapper/CryptoAddressWrapper.js +30 -0
  65. package/dist/CryptoAddressWrapper/CryptoAddressWrapper.styles.js +98 -0
  66. package/dist/DonutChart/DonutChart.js +137 -0
  67. package/dist/DonutChart/DonutChart.stories.js +39 -0
  68. package/dist/DonutChart/DonutChart.styles.js +101 -0
  69. package/dist/DoubleButton/DoubleButton.styles.js +25 -0
  70. package/dist/ErrorMessage/ErrorMessage.styles.js +9 -0
  71. package/dist/FAQ/FAQ.js +40 -0
  72. package/dist/FAQ/FAQ.stories.js +63 -0
  73. package/dist/FAQ/FAQ.styles.js +69 -0
  74. package/dist/Footer/Footer.js +54 -0
  75. package/dist/Footer/Footer.stories.js +41 -0
  76. package/dist/Footer/Footer.styles.js +230 -0
  77. package/dist/Footer/FooterLayout.js +114 -0
  78. package/dist/Footer/FooterLayout.stories.js +20 -0
  79. package/dist/Footer/FooterMenu.js +83 -0
  80. package/dist/Footer/FooterMenu.stories.js +110 -0
  81. package/dist/Footer/FooterMenu.styles.js +274 -0
  82. package/dist/Footer/index.js +4 -0
  83. package/dist/{03f9f978feb2b015b6812ba10f689967.png → Footer/lemonway.png} +0 -0
  84. package/dist/Footer/sicos-logo.svg +1 -0
  85. package/dist/ForgotPasswordModal/ForgotPasswordModal.js +89 -0
  86. package/dist/ForgotPasswordModal/ForgotPasswordModal.stories.js +31 -0
  87. package/dist/Form/Form.js +38 -0
  88. package/dist/Form/Form.stories.js +23 -0
  89. package/dist/Form/Form.styles.js +66 -0
  90. package/dist/FullscreenCard/FullscreenCard.styles.js +36 -0
  91. package/dist/Grid/Grid.styles.js +109 -0
  92. package/dist/Header/Header.js +369 -0
  93. package/dist/Header/Header.stories.js +172 -0
  94. package/dist/Header/Header.styles.js +493 -0
  95. package/dist/Icon/Icon.style.js +75 -0
  96. package/dist/InfoIcon/InfoIcon.js +40 -0
  97. package/dist/InfoIcon/InfoIcon.stories.js +40 -0
  98. package/dist/InfoIcon/InfoIcon.styles.js +42 -0
  99. package/dist/InfoPanel/InfoPanel.js +115 -0
  100. package/dist/Input/DatePickerInput.js +64 -0
  101. package/dist/Input/DatePickerInput.stories.js +80 -0
  102. package/dist/Input/DatePickerInput.styles.js +67 -0
  103. package/dist/Input/Input.js +86 -0
  104. package/dist/Input/Input.stories.js +134 -0
  105. package/dist/Input/Input.styles.js +126 -0
  106. package/dist/Input/InputPassword.js +122 -0
  107. package/dist/Input/InputPassword.stories.js +72 -0
  108. package/dist/Input/InputPassword.styles.js +139 -0
  109. package/dist/Input/RangeInput.js +46 -0
  110. package/dist/Input/RangeInput.stories.js +48 -0
  111. package/dist/Input/RangeInput.styles.js +125 -0
  112. package/dist/Input/Select.js +130 -0
  113. package/dist/Input/Select.stories.js +129 -0
  114. package/dist/Input/Select.styles.js +143 -0
  115. package/dist/InvestCalculator/InvestCalculator.js +353 -0
  116. package/dist/InvestCalculator/InvestCalculator.stories.js +129 -0
  117. package/dist/InvestCalculator/InvestCalculator.styles.js +78 -0
  118. package/dist/InvestmentStat/InvestmentStat.js +33 -0
  119. package/dist/InvestmentStat/InvestmentStat.stories.js +44 -0
  120. package/dist/InvestmentStat/InvestmentStat.styles.js +53 -0
  121. package/dist/KYCFlow/BasicInfo.js +396 -0
  122. package/dist/KYCFlow/Confirmation.js +37 -0
  123. package/dist/KYCFlow/DocumentFileUpload.js +240 -0
  124. package/dist/KYCFlow/DocumentScan.js +66 -0
  125. package/dist/KYCFlow/DocumentScanUpload.js +228 -0
  126. package/dist/KYCFlow/DocumentSelect.js +101 -0
  127. package/dist/KYCFlow/DocumentSuccess.js +54 -0
  128. package/dist/KYCFlow/DocumentUpload.js +44 -0
  129. package/dist/KYCFlow/DocumentVerificationType.js +114 -0
  130. package/dist/KYCFlow/FaceScan.js +45 -0
  131. package/dist/KYCFlow/FaceScanRecognition.js +52 -0
  132. package/dist/KYCFlow/FaceScanSuccess.js +47 -0
  133. package/dist/KYCFlow/Terms.js +99 -0
  134. package/dist/KYCFlow/_styles.js +284 -0
  135. package/dist/KYCFlow/index.js +14 -0
  136. package/dist/KYCSelectBox/KYCSelectBox.styles.js +62 -0
  137. package/dist/LatestUpdate/LatestUpdate.js +35 -0
  138. package/dist/LatestUpdate/LatestUpdate.stories.js +51 -0
  139. package/dist/LatestUpdate/LatestUpdate.styles.js +77 -0
  140. package/dist/Layout/Layout-func-no-work.js +67 -0
  141. package/dist/Layout/Layout.js +68 -0
  142. package/dist/Layout/Layout.stories.js +55 -0
  143. package/dist/LearnMoreCarousel/LearnMoreCarousel.js +39 -0
  144. package/dist/LearnMoreCarousel/LearnMoreCarousel.stories.js +58 -0
  145. package/dist/LearnMoreCarousel/LearnMoreCarousel.styles.js +205 -0
  146. package/dist/LearnMorePage/LearnMore.js +199 -0
  147. package/dist/LearnMorePage/LearnMore.shared.styles.js +49 -0
  148. package/dist/LearnMorePage/LearnMore.stories.js +41 -0
  149. package/dist/LearnMorePage/LearnMore.styles.js +250 -0
  150. package/dist/LearnMorePage/LearnMoreExampleObject.js +102 -0
  151. package/dist/LearnMorePage/LearnMoreItem.js +73 -0
  152. package/dist/LearnMorePage/LearnMoreItem.stories.js +54 -0
  153. package/dist/LearnMorePage/LearnMoreItem.styles.js +218 -0
  154. package/dist/LearnMoreSection/LearnMore.js +158 -0
  155. package/dist/LearnMoreSection/LearnMore.stories.js +23 -0
  156. package/dist/LearnMoreSection/LearnMore.styles.js +134 -0
  157. package/dist/LearnMoreSection/LearnMoreItem.js +39 -0
  158. package/dist/LearnMoreSection/LearnMoreItem.stories.js +52 -0
  159. package/dist/LearnMoreSection/LearnMoreItem.styles.js +54 -0
  160. package/dist/LoginModal/LoginModal.js +125 -0
  161. package/dist/MainMenu/DynamicMainMenu.js +41 -0
  162. package/dist/MainMenu/MainMenu.js +207 -0
  163. package/dist/MainMenu/MainMenu.styles.js +361 -0
  164. package/dist/MatomoConnect/Matomo.js +221 -0
  165. package/dist/MatomoConnect/Matomo_fuckup.js +185 -0
  166. package/dist/MenuNav/MenuNav.styles.js +88 -0
  167. package/dist/Modal/Modal.js +71 -0
  168. package/dist/Modal/Modal.stories.js +67 -0
  169. package/dist/Modal/Modal.styles.js +407 -0
  170. package/dist/MultiProgressBar/MultiProgressBar.js +33 -0
  171. package/dist/MultiProgressBar/MultiProgressBar.stories.js +61 -0
  172. package/dist/MultiProgressBar/MultiProgressBar.styles.js +92 -0
  173. package/dist/Newsletter/Newsletter.js +106 -0
  174. package/dist/Newsletter/Newsletter.stories.js +8 -0
  175. package/dist/Newsletter/Newsletter.styles.js +173 -0
  176. package/dist/NotificationContext/NotificationContext.js +126 -0
  177. package/dist/NotificationContext/NotificationContext.stories.js +32 -0
  178. package/dist/NotificationCounter/NotificationCounter.styles.js +23 -0
  179. package/dist/Number/Number.js +25 -0
  180. package/dist/Number/Number.stories.js +18 -0
  181. package/dist/Number/Number.styles.js +21 -0
  182. package/dist/PageTransition/PageTransition.js +42 -0
  183. package/dist/Process/Process.stories.js +34 -0
  184. package/dist/Process/Process.styles.js +87 -0
  185. package/dist/ProfileBadge/ProfileBadge.js +46 -0
  186. package/dist/ProfileBadge/ProfileBadge.stories.js +37 -0
  187. package/dist/ProfileBadge/ProfileBadge.styles.js +47 -0
  188. package/dist/ProfileBox/ProfileBox.js +29 -0
  189. package/dist/ProfileBox/ProfileBox.stories.js +27 -0
  190. package/dist/ProfileBox/ProfileBox.styles.js +60 -0
  191. package/dist/ProfileHeader/ProfileHeader-CLb4.js +401 -0
  192. package/dist/ProfileHeader/ProfileHeader.js +268 -0
  193. package/dist/ProfileHeader/ProfileHeader.styles.js +114 -0
  194. package/dist/ProfileStat/ProfileStat.js +32 -0
  195. package/dist/ProfileStat/ProfileStat.stories.js +58 -0
  196. package/dist/ProfileStat/ProfileStat.styles.js +80 -0
  197. package/dist/ProofOfAddress/ProofOfAddress.styles.js +76 -0
  198. package/dist/ROI/ROI.js +261 -0
  199. package/dist/ROI/ROI.styles.js +71 -0
  200. package/dist/ROI/ROIChart.js +348 -0
  201. package/dist/ROI/ROIChart.styles.js +98 -0
  202. package/dist/ROI/ROIModal.js +74 -0
  203. package/dist/ROI/ROIScenarioBox.js +46 -0
  204. package/dist/ROI/ROIScenarioBox.styles.js +131 -0
  205. package/dist/Radio/Radio.js +58 -0
  206. package/dist/Radio/Radio.stories.js +65 -0
  207. package/dist/Radio/Radio.styles.js +93 -0
  208. package/dist/RefreshButton/RefreshButton.js +14 -0
  209. package/dist/RefreshButton/RefreshButton.stories.js +29 -0
  210. package/dist/RefreshButton/RefreshButton.styles.js +57 -0
  211. package/dist/RegisterAlgorand/AlgoAddressName.js +103 -0
  212. package/dist/RegisterAlgorand/AlgoAdressSelect.js +274 -0
  213. package/dist/RegisterAlgorand/AlgoConnectWallet.js +37 -0
  214. package/dist/RegisterAlgorand/AlgoSuccess.js +28 -0
  215. package/dist/RegisterAlgorand/Algorand.stories.js +61 -0
  216. package/dist/RegisterAlgorand/ChooseWallet.js +77 -0
  217. package/dist/RegisterAlgorand/SelectProject.js +77 -0
  218. package/dist/RegisterAlgorand/_styles.js +30 -0
  219. package/dist/RegisterAlgorand/flow.js +243 -0
  220. package/dist/RegisterAlgorand/flowWithMemo.js +244 -0
  221. package/dist/RegisterAlgorand/index.js +7 -0
  222. package/dist/RegisterConfirmModal/RegisterConfirmModal.js +30 -0
  223. package/dist/RegisterConfirmModal/RegisterConfirmModal.stories.js +22 -0
  224. package/dist/RegisterConfirmModal/RegisterConfirmModal.styles.js +19 -0
  225. package/dist/RegisterEthereum/EthAddressLedger.js +151 -0
  226. package/dist/RegisterEthereum/EthAddressMetamask.js +165 -0
  227. package/dist/RegisterEthereum/EthAddressName.js +101 -0
  228. package/dist/RegisterEthereum/EthConnectLedger.js +117 -0
  229. package/dist/RegisterEthereum/EthConnectMetamask.js +25 -0
  230. package/dist/RegisterEthereum/EthFinish.js +32 -0
  231. package/dist/RegisterEthereum/EthIntro.js +77 -0
  232. package/dist/RegisterEthereum/_styles.js +30 -0
  233. package/dist/RegisterEthereum/index.js +9 -0
  234. package/dist/RegisterLiquidSteps/RegisterLiquidSteps.js +75 -0
  235. package/dist/RegisterLiquidSteps/RegisterLiquidSteps.stories.js +65 -0
  236. package/dist/RegisterLiquidSteps/RegisterLiquidSteps.styles.js +69 -0
  237. package/dist/RegisterLiquidSteps/assets/nav_green.svg +31 -0
  238. package/dist/RegisterLiquidSteps/assets/video.mp4 +0 -0
  239. package/dist/RegisterLiquidSteps/assets/videothumbnail.jpg +0 -0
  240. package/dist/RegisterLiquidSteps/complete.js +29 -0
  241. package/dist/RegisterLiquidSteps/flow.js +141 -0
  242. package/dist/RegisterLiquidSteps/index.js +29 -0
  243. package/dist/RegisterLiquidSteps/register-liquid.js +197 -0
  244. package/dist/RegisterModal/RegisterModal.js +143 -0
  245. package/dist/RegisterModal/RegisterModal.stories.js +35 -0
  246. package/dist/RequestDataBox/RequestDataBox.js +21 -0
  247. package/dist/RequestDataBox/RequestDataBox.stories.js +29 -0
  248. package/dist/RequestDataBox/RequestDataBox.styles.js +40 -0
  249. package/dist/RiskQuestionnaire/RiskQuestionnaireContext.js +111 -0
  250. package/dist/RiskQuestionnaire/_styles.js +6 -0
  251. package/dist/SEO/SEO.js +63 -0
  252. package/dist/SEO/SEO.stories.js +53 -0
  253. package/dist/SectionTitle/SectionTitle.styles.js +23 -0
  254. package/dist/SideLine/SideLine.js +4 -0
  255. package/dist/SideLine/SideLine.stories.js +20 -0
  256. package/dist/SideLine/SideLine.styles.js +29 -0
  257. package/dist/SigningSubflow/SignSubAddressMetamask.js +105 -0
  258. package/dist/SigningSubflow/SignSubConnectLedger.js +114 -0
  259. package/dist/SigningSubflow/SignSubConnectMetamask.js +101 -0
  260. package/dist/SigningSubflow/SignSubIntro.js +45 -0
  261. package/dist/SigningSubflow/SignSubSendLedger.js +114 -0
  262. package/dist/SigningSubflow/SignSubSendMetamask.js +53 -0
  263. package/dist/SigningSubflow/SignSubTransactionLedger.js +125 -0
  264. package/dist/SigningSubflow/SignSubTransactionMetamask.js +130 -0
  265. package/dist/SigningSubflow/_styles.js +59 -0
  266. package/dist/SigningSubflow/index.js +9 -0
  267. package/dist/Slider/Slider.js +43 -0
  268. package/dist/Slider/Slider.stories.js +63 -0
  269. package/dist/Slider/Slider.styles.js +115 -0
  270. package/dist/SpanButton/SpanButton.styles.js +14 -0
  271. package/dist/StatusBadge/StatusBadge.styles.js +16 -0
  272. package/dist/StepController/StepController.js +73 -0
  273. package/dist/StepController/StepController.stories.js +52 -0
  274. package/dist/StepController/StepController.styles.js +27 -0
  275. package/dist/StepController/StepControllerContext.js +61 -0
  276. package/dist/StepController/StepControllerProgress.js +28 -0
  277. package/dist/StepController/StepControllerProgress.stories.js +41 -0
  278. package/dist/StepsProgress/StepsProgress.js +95 -0
  279. package/dist/StepsProgress/StepsProgress.stories.js +23 -0
  280. package/dist/StepsProgress/StepsProgress.styles.js +97 -0
  281. package/dist/StokrLoader/StokrLoader.js +60 -0
  282. package/dist/StokrLoader/media.js +22 -0
  283. package/dist/StokrLoader/stokr_loader_white_400x400.gif +0 -0
  284. package/dist/SvgIcons/AdminBadgeSvg.js +16 -0
  285. package/dist/SvgIcons/CameraSvg.js +26 -0
  286. package/dist/SvgIcons/CapsLockSvg.js +21 -0
  287. package/dist/SvgIcons/DocumentBackSvg.js +25 -0
  288. package/dist/SvgIcons/DocumentSmallSvg.js +51 -0
  289. package/dist/SvgIcons/DocumentSvg.js +28 -0
  290. package/dist/SvgIcons/Early.js +14 -0
  291. package/dist/SvgIcons/EthSvg.js +30 -0
  292. package/dist/SvgIcons/EurSvg.js +16 -0
  293. package/dist/SvgIcons/FaceScanIconSvg.js +21 -0
  294. package/dist/SvgIcons/FourSvg.js +11 -0
  295. package/dist/SvgIcons/Glassess.js +19 -0
  296. package/dist/SvgIcons/Icons_Badge.png +0 -0
  297. package/dist/SvgIcons/LogoSvg.js +14 -0
  298. package/dist/SvgIcons/OneSvg.js +13 -0
  299. package/dist/SvgIcons/PassportSvg.js +46 -0
  300. package/dist/SvgIcons/RefreshSvg.js +17 -0
  301. package/dist/SvgIcons/SocialFacebook.js +15 -0
  302. package/dist/SvgIcons/SocialInstagram.js +15 -0
  303. package/dist/SvgIcons/SocialLinkedIn.js +15 -0
  304. package/dist/SvgIcons/SocialMedium.js +15 -0
  305. package/dist/SvgIcons/SocialReddit.js +15 -0
  306. package/dist/SvgIcons/SocialTelegram.js +15 -0
  307. package/dist/SvgIcons/SocialTwitter.js +15 -0
  308. package/dist/SvgIcons/SocialYoutube.js +15 -0
  309. package/dist/SvgIcons/ThreeSvg.js +10 -0
  310. package/dist/SvgIcons/TwoSidedDocumentSvg.js +72 -0
  311. package/dist/SvgIcons/TwoSvg.js +13 -0
  312. package/dist/SvgIcons/UpdateDefaultSvg.js +19 -0
  313. package/dist/SvgIcons/UpdateHardSvg.js +15 -0
  314. package/dist/SvgIcons/UpdateSoftSvg.js +17 -0
  315. package/dist/SvgIcons/UploadSvg.js +24 -0
  316. package/dist/SvgIcons/VerifiedBadge.js +13 -0
  317. package/dist/SvgIcons/index.js +32 -0
  318. package/dist/Switch/Switch.js +45 -0
  319. package/dist/Switch/Switch.stories.js +73 -0
  320. package/dist/Switch/Switch.styles.js +105 -0
  321. package/dist/Tabs/Tabs.js +48 -0
  322. package/dist/Tabs/Tabs.stories.js +28 -0
  323. package/dist/Tabs/Tabs.styles.js +11 -0
  324. package/dist/TabsNav/TabNav.js +21 -0
  325. package/dist/TabsNav/TabNav.stories.js +32 -0
  326. package/dist/TabsNav/TabsNav.js +23 -0
  327. package/dist/TabsNav/TabsNav.stories.js +25 -0
  328. package/dist/TabsNav/TabsNav.styles.js +80 -0
  329. package/dist/TeamOverview/TeamOverview.js +69 -0
  330. package/dist/TeamOverview/TeamOverview.stories.js +68 -0
  331. package/dist/TeamOverview/TeamOverview.styles.js +152 -0
  332. package/dist/Text/Headline.js +34 -0
  333. package/dist/Text/Headline.stories.js +40 -0
  334. package/dist/Text/StyledText.js +30 -0
  335. package/dist/Text/Text.stories.js +59 -0
  336. package/dist/Text/Text.styles.js +166 -0
  337. package/dist/TextLink/TextLink.styles.js +50 -0
  338. package/dist/ToDoList/ToDoList.js +172 -0
  339. package/dist/ToDoList/ToDoList.stories.js +123 -0
  340. package/dist/ToDoList/ToDoList.styles.js +115 -0
  341. package/dist/ToDoList/ToDoListTask.js +96 -0
  342. package/dist/ToDoList/ToDoListTask.stories.js +60 -0
  343. package/dist/ToDoList/ToDoListTask.styles.js +104 -0
  344. package/dist/TransactionDetails/TransactionDetails.js +27 -0
  345. package/dist/TransactionDetails/TransactionDetails.stories.js +47 -0
  346. package/dist/TransactionDetails/TransactionDetails.styles.js +31 -0
  347. package/dist/TransactionInfo/TransactionInfo.js +48 -0
  348. package/dist/TransactionInfo/TransactionInfo.stories.js +53 -0
  349. package/dist/TransactionInfo/TransactionInfo.styles.js +64 -0
  350. package/dist/TwoFactorModal/TwoFactorModal.js +84 -0
  351. package/dist/breakdown/Breakdown.js +124 -0
  352. package/dist/breakdown/index.js +2 -0
  353. package/dist/context/Auth.js +133 -0
  354. package/dist/context/AuthContext.js +154 -0
  355. package/dist/icons/Arrow.js +62 -0
  356. package/dist/icons/Arrow.stories.js +37 -0
  357. package/dist/icons/ArrowSimple.js +51 -0
  358. package/dist/icons/ArrowSimple.stories.js +41 -0
  359. package/dist/icons/Check.js +29 -0
  360. package/dist/icons/Check.stories.js +14 -0
  361. package/dist/icons/Facebook.js +15 -0
  362. package/dist/icons/Facebook.stories.js +15 -0
  363. package/dist/icons/Info.js +41 -0
  364. package/dist/icons/Info.stories.js +8 -0
  365. package/dist/icons/Instagram.js +15 -0
  366. package/dist/icons/Instagram.stories.js +15 -0
  367. package/dist/icons/LinkIcon.js +23 -0
  368. package/dist/icons/LinkIcon.stories.js +15 -0
  369. package/dist/icons/LinkedIn.js +29 -0
  370. package/dist/icons/LinkedIn.stories.js +8 -0
  371. package/dist/icons/Medium.js +28 -0
  372. package/dist/icons/Medium.stories.js +8 -0
  373. package/dist/icons/Reddit.js +18 -0
  374. package/dist/icons/Reddit.stories.js +15 -0
  375. package/dist/icons/Share.js +48 -0
  376. package/dist/icons/Share.stories.js +8 -0
  377. package/dist/icons/Telegram.js +28 -0
  378. package/dist/icons/Telegram.stories.js +8 -0
  379. package/dist/icons/Twitter.js +15 -0
  380. package/dist/icons/Twitter.stories.js +15 -0
  381. package/dist/icons/X.js +15 -0
  382. package/dist/icons/X.stories.js +8 -0
  383. package/dist/icons/Youtube.js +15 -0
  384. package/dist/icons/Youtube.stories.js +15 -0
  385. package/dist/icons/index.js +15 -0
  386. package/dist/index.js +177 -1
  387. package/dist/renderToBody/index.js +2 -0
  388. package/dist/renderToBody/renderToBody.js +26 -0
  389. package/dist/taxId/TaxId.stories.js +29 -0
  390. package/dist/taxId/complete.js +21 -0
  391. package/dist/taxId/flow.js +31 -0
  392. package/dist/taxId/index.js +4 -0
  393. package/dist/taxId/register-taxid.js +156 -0
  394. package/dist/video/Video.js +274 -0
  395. package/dist/video/Video.stories.js +45 -0
  396. package/dist/video/img/play-btn.svg +1 -0
  397. package/dist/video/index.js +2 -0
  398. package/package.json +128 -133
  399. package/public/favicon.ico +0 -0
  400. package/public/index.html +43 -0
  401. package/public/logo192.png +0 -0
  402. package/public/logo512.png +0 -0
  403. package/public/manifest.json +25 -0
  404. package/public/robots.txt +3 -0
  405. package/react-scripts +0 -0
  406. package/dist/07233f511246c9825a0d58e5ab2641f3.svg +0 -47
  407. package/dist/08418fc6c324f51f7e56.svg +0 -1
  408. package/dist/14aa35d4e84aebef77cf00b421fc393a.gif +0 -0
  409. package/dist/179ef2df02cb0b68c9fd.woff2 +0 -0
  410. package/dist/21e493d43617de76dbc7.woff2 +0 -0
  411. package/dist/2640959b1f9381cde047.eot +0 -0
  412. package/dist/2ba2db4ff86a2663686a100e75b50ba9.png +0 -0
  413. package/dist/311956ded96d3fd2813d.woff2 +0 -0
  414. package/dist/39f5961b2d3eb4aa5bf5.woff +0 -0
  415. package/dist/3caa0d4f9b7d58668066.woff2 +0 -0
  416. package/dist/4a510354f2f82b59fced805a8e3fe2bf.svg +0 -1
  417. package/dist/4c3c428d0ce82f840710.woff +0 -0
  418. package/dist/4e528d6445ca1974c313.woff +0 -0
  419. package/dist/55053cc0a8e6482eca64.ttf +0 -0
  420. package/dist/643c37f102b41f7f90c3.woff2 +0 -0
  421. package/dist/76dd0ed9c3f137513fd4.svg +0 -1
  422. package/dist/81f3ef07b7952e249da1.woff +0 -0
  423. package/dist/98b7d3182f652f021bc3.ttf +0 -0
  424. package/dist/9bea22b57dc165ed4382.ttf +0 -0
  425. package/dist/9ec738fbb66068dc1ca7.woff +0 -0
  426. package/dist/a1d7666a48f976227722.ttf +0 -0
  427. package/dist/a750292d6a0b5a760679.woff +0 -0
  428. package/dist/b85a961d44cc55c58050cbf7c53dd505.png +0 -0
  429. package/dist/bcb6531cf820152b7538.ttf +0 -0
  430. package/dist/c6a4bc1bd034d6303053.woff +0 -0
  431. package/dist/cbfc24090ef8bacab132.woff2 +0 -0
  432. package/dist/d2b1865643b98c0e8b54.ttf +0 -0
  433. package/dist/d97d7385fe8771611848.ttf +0 -0
  434. package/dist/index.js.LICENSE.txt +0 -1
@@ -0,0 +1,396 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import React, { PureComponent, Fragment } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { connect, Field } from 'formik';
5
+ import { Tooltip } from 'react-tippy';
6
+ import { FormField, FormError, validate } from 'components/Form/Form';
7
+ import Input from 'components/Input/Input';
8
+ import Select from 'components/Input/Select';
9
+ import Button from 'components/Button/Button.styles';
10
+ import { Row, Column } from 'components/Grid/Grid.styles';
11
+ import ComponentWrapper from 'components/ComponentWrapper/ComponentWrapper.styles';
12
+ import SectionTitle from 'components/SectionTitle/SectionTitle.styles';
13
+ //import countriesList from 'utils/countries-list'
14
+ import Checkbox from 'components/Checkbox/Checkbox';
15
+ import { Wrapper, Header, Body, HeaderTitle, ColumnInner, FormBottomRow, FormBottomButtonWrap } from './_styles';
16
+ import countriesList from '../../utils/countries-list';
17
+ class BasicInfo extends PureComponent {
18
+ state = {
19
+ popupOpen: false,
20
+ hasErrors: true
21
+ };
22
+ fields = ['firstName', 'middleName', 'lastName', 'phonePrefix', 'phone', 'postalCode', 'city', 'street', 'country', 'occupation', 'occupationDetails', 'dataConfirmation'];
23
+ componentDidMount() {
24
+ const {
25
+ setPrevStep
26
+ } = this.props;
27
+ setPrevStep('kycFaceScanSuccess', 2);
28
+ }
29
+ handlePopup = async isOpen => {
30
+ const {
31
+ formik
32
+ } = this.props;
33
+ const {
34
+ validateForm,
35
+ errors,
36
+ setFieldTouched
37
+ } = formik;
38
+ this.fields.forEach(field => setFieldTouched(field));
39
+ await validateForm();
40
+ this.setState({
41
+ popupOpen: Object.keys(errors).length ? isOpen : false,
42
+ hasErrors: !!Object.keys(errors).length
43
+ });
44
+ };
45
+ render() {
46
+ const {
47
+ changeStep,
48
+ formik
49
+ } = this.props;
50
+ const {
51
+ errors,
52
+ setFieldValue,
53
+ setFieldTouched,
54
+ touched
55
+ } = formik;
56
+ const {
57
+ popupOpen,
58
+ hasErrors
59
+ } = this.state;
60
+ const handleChangeSelect = field => {
61
+ setFieldValue(field.name, field.value, false);
62
+ setFieldTouched(field.name);
63
+ };
64
+ const handleBlurSelect = field => {
65
+ setFieldTouched(field.name);
66
+ };
67
+ return /*#__PURE__*/React.createElement(Wrapper, null, /*#__PURE__*/React.createElement(Header, null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(SectionTitle, null, "Verify your identity"), /*#__PURE__*/React.createElement(HeaderTitle, {
68
+ withMargin: true
69
+ }, "Basic info"))), /*#__PURE__*/React.createElement(Body, {
70
+ form: true
71
+ }, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Column, {
72
+ part: 1,
73
+ full: 2
74
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
75
+ formInner: true
76
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
77
+ noPaddingTop: true,
78
+ noPaddingHorizontal: true,
79
+ fluid: true
80
+ }, /*#__PURE__*/React.createElement(Field, {
81
+ name: "firstName",
82
+ validation: () => validate('firstName', formik)
83
+ }, ({
84
+ field
85
+ }) => /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Input, _extends({
86
+ label: "First Name",
87
+ id: field.name,
88
+ error: !!errors[field.name],
89
+ touched: !!touched[field.name]
90
+ }, field)), /*#__PURE__*/React.createElement(FormError, {
91
+ show: touched[field.name] && errors[field.name]
92
+ }, errors[field.name])))))), /*#__PURE__*/React.createElement(Column, {
93
+ part: 1,
94
+ full: 2
95
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
96
+ formInner: true
97
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
98
+ noPaddingTop: true,
99
+ noPaddingHorizontal: true,
100
+ fluid: true
101
+ }, /*#__PURE__*/React.createElement(Field, {
102
+ name: "middleName",
103
+ validation: () => validate('middleName', formik)
104
+ }, ({
105
+ field
106
+ }) => /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Input, _extends({
107
+ label: "Middle Name",
108
+ id: field.name,
109
+ error: !!errors[field.name],
110
+ touched: !!touched[field.name]
111
+ }, field)), /*#__PURE__*/React.createElement(FormError, {
112
+ show: touched[field.name] && errors[field.name]
113
+ }, errors[field.name]))))))), /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Column, {
114
+ part: 1,
115
+ full: 2
116
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
117
+ formInner: true
118
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
119
+ noPaddingTop: true,
120
+ noPaddingHorizontal: true,
121
+ fluid: true
122
+ }, /*#__PURE__*/React.createElement(Field, {
123
+ name: "lastName",
124
+ validation: () => validate('lastName', formik)
125
+ }, ({
126
+ field
127
+ }) => /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Input, _extends({
128
+ label: "Last Name",
129
+ id: field.name,
130
+ error: !!errors[field.name],
131
+ touched: !!touched[field.name]
132
+ }, field)), /*#__PURE__*/React.createElement(FormError, {
133
+ show: touched[field.name] && errors[field.name]
134
+ }, errors[field.name])))))), /*#__PURE__*/React.createElement(Column, {
135
+ part: 1,
136
+ full: 2
137
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
138
+ formInner: true
139
+ }, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Column, {
140
+ part: 1,
141
+ full: 2
142
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
143
+ noPaddingTop: true,
144
+ noPaddingHorizontal: true,
145
+ fluid: true
146
+ }, /*#__PURE__*/React.createElement(Field, {
147
+ name: "phonePrefix",
148
+ validation: () => validate('phonePrefix', formik)
149
+ }, ({
150
+ field
151
+ }) => /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Select, {
152
+ options: [{
153
+ key: 1,
154
+ value: '+01',
155
+ label: '+01'
156
+ }, {
157
+ key: 2,
158
+ value: '+02',
159
+ label: '+02'
160
+ }, {
161
+ key: 3,
162
+ value: '+03',
163
+ label: '+03'
164
+ }, {
165
+ key: 4,
166
+ value: '+04',
167
+ label: '+04'
168
+ }, {
169
+ key: 5,
170
+ value: '+05',
171
+ label: '+05'
172
+ }, {
173
+ key: 6,
174
+ value: '+06',
175
+ label: '+06'
176
+ }],
177
+ label: "Prefix",
178
+ id: field.name,
179
+ name: field.name,
180
+ value: field.value,
181
+ error: !!errors[field.name],
182
+ touched: !!touched[field.name],
183
+ onChange: handleChangeSelect,
184
+ onBlur: handleBlurSelect
185
+ }), /*#__PURE__*/React.createElement(FormError, {
186
+ show: touched[field.name] && errors[field.name]
187
+ }, errors[field.name]))))), /*#__PURE__*/React.createElement(Column, {
188
+ part: 1,
189
+ full: 2
190
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
191
+ noPaddingTop: true,
192
+ noPaddingHorizontal: true,
193
+ fluid: true
194
+ }, /*#__PURE__*/React.createElement(Field, {
195
+ name: "phone",
196
+ validation: () => validate('phone', formik)
197
+ }, ({
198
+ field
199
+ }) => /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Input, _extends({
200
+ label: "Mobile phone",
201
+ id: field.name,
202
+ error: !!errors[field.name],
203
+ touched: !!touched[field.name]
204
+ }, field)), /*#__PURE__*/React.createElement(FormError, {
205
+ show: touched[field.name] && errors[field.name]
206
+ }, errors[field.name]))))))))), /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Column, {
207
+ part: 1,
208
+ full: 2
209
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
210
+ formInner: true
211
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
212
+ noPaddingTop: true,
213
+ noPaddingHorizontal: true,
214
+ fluid: true
215
+ }, /*#__PURE__*/React.createElement(Field, {
216
+ name: "country",
217
+ validation: () => validate('country', formik)
218
+ }, ({
219
+ field
220
+ }) => /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Select, {
221
+ options: countriesList.map(({
222
+ name
223
+ }) => ({
224
+ key: name,
225
+ value: name,
226
+ label: name
227
+ })),
228
+ label: "Country",
229
+ id: field.name,
230
+ name: field.name,
231
+ value: field.value,
232
+ error: !!errors[field.name],
233
+ touched: !!touched[field.name],
234
+ onChange: handleChangeSelect,
235
+ onBlur: handleBlurSelect,
236
+ search: true
237
+ }), /*#__PURE__*/React.createElement(FormError, {
238
+ show: touched[field.name] && errors[field.name]
239
+ }, errors[field.name])))))), /*#__PURE__*/React.createElement(Column, {
240
+ part: 1,
241
+ full: 2
242
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
243
+ formInner: true
244
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
245
+ noPaddingTop: true,
246
+ noPaddingHorizontal: true,
247
+ fluid: true
248
+ }, /*#__PURE__*/React.createElement(Field, {
249
+ name: "postalCode",
250
+ validation: () => validate('postalCode', formik)
251
+ }, ({
252
+ field
253
+ }) => /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Input, _extends({
254
+ label: "Postal Code",
255
+ id: field.name,
256
+ error: !!errors[field.name],
257
+ touched: !!touched[field.name]
258
+ }, field)), /*#__PURE__*/React.createElement(FormError, {
259
+ show: touched[field.name] && errors[field.name]
260
+ }, errors[field.name]))))))), /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Column, {
261
+ part: 1,
262
+ full: 2
263
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
264
+ formInner: true
265
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
266
+ noPaddingTop: true,
267
+ noPaddingHorizontal: true,
268
+ fluid: true
269
+ }, /*#__PURE__*/React.createElement(Field, {
270
+ name: "city",
271
+ validation: () => validate('city', formik)
272
+ }, ({
273
+ field
274
+ }) => /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Input, _extends({
275
+ label: "City",
276
+ id: field.name,
277
+ error: !!errors[field.name],
278
+ touched: !!touched[field.name]
279
+ }, field)), /*#__PURE__*/React.createElement(FormError, {
280
+ show: touched[field.name] && errors[field.name]
281
+ }, errors[field.name])))))), /*#__PURE__*/React.createElement(Column, {
282
+ part: 1,
283
+ full: 2
284
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
285
+ formInner: true
286
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
287
+ noPaddingTop: true,
288
+ noPaddingHorizontal: true,
289
+ fluid: true
290
+ }, /*#__PURE__*/React.createElement(Field, {
291
+ name: "street",
292
+ validation: () => validate('street', formik)
293
+ }, ({
294
+ field
295
+ }) => /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Input, _extends({
296
+ label: "Street",
297
+ id: field.name,
298
+ error: !!errors[field.name],
299
+ touched: !!touched[field.name]
300
+ }, field)), /*#__PURE__*/React.createElement(FormError, {
301
+ show: touched[field.name] && errors[field.name]
302
+ }, errors[field.name]))))))), /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Column, {
303
+ part: 1,
304
+ full: 2
305
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
306
+ formInner: true
307
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
308
+ noPaddingTop: true,
309
+ noPaddingHorizontal: true,
310
+ fluid: true
311
+ }, /*#__PURE__*/React.createElement(Field, {
312
+ name: "occupation",
313
+ validation: () => validate('occupation', formik)
314
+ }, ({
315
+ field
316
+ }) => /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Select, {
317
+ options: [{
318
+ key: 1,
319
+ value: 'student',
320
+ label: 'Student'
321
+ }, {
322
+ key: 2,
323
+ value: 'worker',
324
+ label: 'Worker'
325
+ }, {
326
+ key: 3,
327
+ value: 'other',
328
+ label: 'Other, precise:'
329
+ }],
330
+ label: "Occupation",
331
+ id: field.name,
332
+ name: field.name,
333
+ value: field.value,
334
+ error: !!errors[field.name],
335
+ touched: !!touched[field.name],
336
+ onChange: handleChangeSelect,
337
+ onBlur: handleBlurSelect
338
+ }), /*#__PURE__*/React.createElement(FormError, {
339
+ show: touched[field.name] && errors[field.name]
340
+ }, errors[field.name])))))), /*#__PURE__*/React.createElement(Column, {
341
+ part: 1,
342
+ full: 2
343
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
344
+ formInner: true
345
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
346
+ noPaddingTop: true,
347
+ noPaddingHorizontal: true,
348
+ fluid: true
349
+ }, /*#__PURE__*/React.createElement(Field, {
350
+ name: "occupationDetails",
351
+ validation: () => validate('occupationDetails', formik)
352
+ }, ({
353
+ field
354
+ }) => /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Input, _extends({
355
+ label: "",
356
+ id: field.name,
357
+ error: !!errors[field.name],
358
+ touched: !!touched[field.name]
359
+ }, field)), /*#__PURE__*/React.createElement(FormError, {
360
+ show: touched[field.name] && errors[field.name]
361
+ }, errors[field.name]))))))), /*#__PURE__*/React.createElement(FormBottomRow, null, /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Field, {
362
+ name: "dataConfirmation",
363
+ validate: () => validate('dataConfirmation', formik)
364
+ }, ({
365
+ field
366
+ }) => /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Checkbox, _extends({
367
+ id: "data-confirmation",
368
+ text: "I confirm that all information is correct",
369
+ checked: field.value,
370
+ error: !!errors[field.name]
371
+ }, field, {
372
+ value: "yes"
373
+ })), /*#__PURE__*/React.createElement(FormError, {
374
+ show: errors[field.name]
375
+ }, errors[field.name])))), /*#__PURE__*/React.createElement(FormBottomButtonWrap, null, /*#__PURE__*/React.createElement(Tooltip, {
376
+ open: popupOpen,
377
+ position: "bottom",
378
+ title: "Please fill all required fields",
379
+ theme: "light",
380
+ arrow: true,
381
+ duration: 200
382
+ }, /*#__PURE__*/React.createElement("span", {
383
+ onMouseEnter: () => this.handlePopup(true),
384
+ onMouseLeave: () => this.handlePopup(false)
385
+ }, /*#__PURE__*/React.createElement(Button, {
386
+ onClick: () => changeStep('kycConfirmation', 5, 3),
387
+ disabled: hasErrors
388
+ }, "Continue")))))));
389
+ }
390
+ }
391
+ BasicInfo.propTypes = {
392
+ changeStep: PropTypes.func.isRequired,
393
+ setPrevStep: PropTypes.func.isRequired,
394
+ formik: PropTypes.instanceOf(Object).isRequired
395
+ };
396
+ export default connect(BasicInfo);
@@ -0,0 +1,37 @@
1
+ import React, { useEffect } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { connect } from 'formik';
4
+ import Button from 'components/Button/Button.styles';
5
+ import { Row, Column } from 'components/Grid/Grid.styles';
6
+ import { Wrapper, Header, HeaderButtonWrapper, Body, HeaderTitle, BodyTitle, ColumnInner } from './_styles';
7
+ const Confirmation = ({
8
+ changeStep,
9
+ setPrevStep,
10
+ formik
11
+ }) => {
12
+ useEffect(() => {
13
+ setPrevStep('kycBasicInfo', 3);
14
+ }, []);
15
+ return /*#__PURE__*/React.createElement(Wrapper, null, /*#__PURE__*/React.createElement(Header, null, /*#__PURE__*/React.createElement(HeaderTitle, null, "Confirmation"), /*#__PURE__*/React.createElement(HeaderButtonWrapper, null, /*#__PURE__*/React.createElement(Button, {
16
+ secondary: true,
17
+ onClick: () => changeStep('kycBasicInfo', 3)
18
+ }, "Previous"), /*#__PURE__*/React.createElement(Button, {
19
+ onClick: () => formik.submitForm()
20
+ }, "Confirm"))), /*#__PURE__*/React.createElement(Body, null, /*#__PURE__*/React.createElement(Row, {
21
+ stretch: true
22
+ }, /*#__PURE__*/React.createElement(Column, {
23
+ part: 4
24
+ }), /*#__PURE__*/React.createElement(Column, {
25
+ part: 8
26
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
27
+ verticalPadding: true
28
+ }, /*#__PURE__*/React.createElement(BodyTitle, null, "THANK YOU FOR REGISTERING"))), /*#__PURE__*/React.createElement(Column, {
29
+ part: 4
30
+ }))));
31
+ };
32
+ Confirmation.propTypes = {
33
+ changeStep: PropTypes.func.isRequired,
34
+ setPrevStep: PropTypes.func.isRequired,
35
+ formik: PropTypes.instanceOf(Object).isRequired
36
+ };
37
+ export default connect(Confirmation);
@@ -0,0 +1,240 @@
1
+ import React, { PureComponent, Fragment } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { connect, Field } from 'formik';
4
+ import { Tooltip } from 'react-tippy';
5
+ import Text from 'components/Text/Text.styles';
6
+ import Button from 'components/Button/Button.styles';
7
+ import { Row, Column } from 'components/Grid/Grid.styles';
8
+ import { PassportSvg, DocumentSmallSvg, DocumentBackSvg } from 'components/SvgIcons';
9
+ import ComponentWrapper from 'components/ComponentWrapper/ComponentWrapper.styles';
10
+ import ComponentScroll from 'components/ComponentScroll/ComponentScroll';
11
+ import SectionTitle from 'components/SectionTitle/SectionTitle.styles';
12
+ import { Wrapper, Header, HeaderButtonWrapper, Body, HeaderTitle, BodyTitle, ColumnInner, FileInput, FileInputRemove, FileInputWrapper, FileInputList, FileInputItem } from './_styles';
13
+ import { DocumentSelectEnum } from './DocumentSelect';
14
+ class DocumentFileUpload extends PureComponent {
15
+ state = {
16
+ popupOpen: false
17
+ };
18
+ componentDidMount() {
19
+ const {
20
+ setPrevStep
21
+ } = this.props;
22
+ setPrevStep('kycDocumentVerificationType');
23
+ }
24
+ handlePopup = isOpen => {
25
+ const {
26
+ formik
27
+ } = this.props;
28
+ const {
29
+ values
30
+ } = formik;
31
+ const canGoNext = values.documentType === DocumentSelectEnum.PASSPORT ? !!values.passportPicture : !!values.cardFrontPicture && !!values.cardBackPicture;
32
+ this.validate();
33
+ this.setState({
34
+ popupOpen: !canGoNext ? isOpen : false
35
+ });
36
+ };
37
+ handleFileUpload = (e, fieldName) => {
38
+ const {
39
+ formik
40
+ } = this.props;
41
+ const {
42
+ setFieldValue
43
+ } = formik;
44
+ if (!e.target.files) {
45
+ return;
46
+ }
47
+ setFieldValue(fieldName, e.target.files[0]);
48
+ };
49
+ removeFile = fieldName => {
50
+ const {
51
+ formik
52
+ } = this.props;
53
+ const {
54
+ setFieldValue
55
+ } = formik;
56
+ setFieldValue(fieldName, '');
57
+ };
58
+ validate = () => {
59
+ const {
60
+ formik
61
+ } = this.props;
62
+ const {
63
+ validationSchema,
64
+ values,
65
+ setFieldError
66
+ } = formik;
67
+ const fieldNames = ['passportPicture', 'cardFrontPicture', 'cardBackPicture'];
68
+ try {
69
+ validationSchema.validateSync(values, {
70
+ abortEarly: false
71
+ });
72
+ } catch (validateError) {
73
+ const errors = validateError.inner.filter(error => fieldNames.includes(error.path));
74
+ errors.forEach(error => {
75
+ setFieldError(error.path, error.errors[0]);
76
+ });
77
+ }
78
+ };
79
+ render() {
80
+ const {
81
+ changeStep,
82
+ formik
83
+ } = this.props;
84
+ const {
85
+ values,
86
+ errors
87
+ } = formik;
88
+ const {
89
+ popupOpen
90
+ } = this.state;
91
+ const canGoNext = values.documentType === DocumentSelectEnum.PASSPORT ? !!values.passportPicture : !!values.cardFrontPicture && !!values.cardBackPicture;
92
+ return /*#__PURE__*/React.createElement(Wrapper, null, /*#__PURE__*/React.createElement(Header, null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(SectionTitle, null, "Verify your identity"), /*#__PURE__*/React.createElement(HeaderTitle, {
93
+ withMargin: true
94
+ }, "Upload Picture")), /*#__PURE__*/React.createElement(HeaderButtonWrapper, null, /*#__PURE__*/React.createElement(Tooltip, {
95
+ open: popupOpen,
96
+ position: "bottom",
97
+ title: values.documentType === DocumentSelectEnum.PASSPORT ? errors.passportPicture : errors.cardFrontPicture || errors.cardBackPicture,
98
+ theme: "light",
99
+ arrow: true,
100
+ duration: 200
101
+ }, /*#__PURE__*/React.createElement("span", {
102
+ onMouseEnter: () => this.handlePopup(true),
103
+ onMouseLeave: () => this.handlePopup(false)
104
+ }, /*#__PURE__*/React.createElement(Button, {
105
+ onClick: () => changeStep('kycDocumentSuccess'),
106
+ disabled: !canGoNext
107
+ }, "Next"))))), /*#__PURE__*/React.createElement(Body, {
108
+ noVerticalPadding: true
109
+ }, values.documentType === DocumentSelectEnum.PASSPORT && /*#__PURE__*/React.createElement(Row, {
110
+ stretch: true
111
+ }, /*#__PURE__*/React.createElement(Column, {
112
+ part: 8
113
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
114
+ verticalPadding: true,
115
+ verticalCenter: true
116
+ }, /*#__PURE__*/React.createElement(BodyTitle, null, "PASSPORT"), /*#__PURE__*/React.createElement(ComponentWrapper, {
117
+ center: true
118
+ }, /*#__PURE__*/React.createElement(PassportSvg, null)), /*#__PURE__*/React.createElement(ComponentWrapper, {
119
+ noPaddingTop: true,
120
+ center: true
121
+ }, /*#__PURE__*/React.createElement(Text, {
122
+ center: true
123
+ }, /*#__PURE__*/React.createElement("p", null, "Please use a JPG, PNG or PDF image below 2MB (we recommend a 2MP photo or 200-300 dpi scan)"))), /*#__PURE__*/React.createElement(ComponentWrapper, {
124
+ noPaddingTop: true,
125
+ center: true
126
+ }, /*#__PURE__*/React.createElement(Field, {
127
+ name: "passportPicture",
128
+ validate: this.validate
129
+ }, ({
130
+ field
131
+ }) => /*#__PURE__*/React.createElement(Fragment, null, field.value ? /*#__PURE__*/React.createElement(FileInputList, null, /*#__PURE__*/React.createElement(FileInputItem, null, /*#__PURE__*/React.createElement(Fragment, null, field.value.name, /*#__PURE__*/React.createElement(FileInputRemove, {
132
+ onClick: e => {
133
+ e.preventDefault();
134
+ e.stopPropagation();
135
+ this.removeFile(field.name);
136
+ }
137
+ })))) : /*#__PURE__*/React.createElement(FileInputWrapper, {
138
+ center: true,
139
+ minWidth: "188px"
140
+ }, "Select Passport", /*#__PURE__*/React.createElement(FileInput, {
141
+ name: field.name,
142
+ accept: "image/png,image/jpeg,application/pdf",
143
+ onChange: e => this.handleFileUpload(e, field.name)
144
+ }))))))), /*#__PURE__*/React.createElement(Column, {
145
+ part: 8
146
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
147
+ verticalPadding: true
148
+ }, /*#__PURE__*/React.createElement(ComponentScroll, {
149
+ noMobileScroll: true
150
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
151
+ noPaddingVertical: true
152
+ }, /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement("p", null, "Please select an image file showing the page of the document with your photo on it"), /*#__PURE__*/React.createElement("p", null, "Make sure that your personal information is readable. Also, nothing on the document should be covered or censored"), /*#__PURE__*/React.createElement("p", null, "Be careful that none of your fingers are covering the document, and that all of the document is visible and contrasted against the background."), /*#__PURE__*/React.createElement("p", null, "Ensure that the document is in focus. Avoid bad lighting conditions which can lead to motion blur and image noise."), /*#__PURE__*/React.createElement("p", null, "The surface of the background should be evenly lit. The ID document should not present perspective distortion."), /*#__PURE__*/React.createElement("p", null, "If your photo or scan is not of high enough quality, we will request a better copy."))))))), values.documentType === DocumentSelectEnum.TWO_SIDED_DOCUMENT && /*#__PURE__*/React.createElement(Row, {
153
+ stretch: true
154
+ }, /*#__PURE__*/React.createElement(Column, {
155
+ part: 8
156
+ }, /*#__PURE__*/React.createElement(ColumnInner, null, /*#__PURE__*/React.createElement(Row, {
157
+ stretch: true
158
+ }, /*#__PURE__*/React.createElement(Column, {
159
+ part: 8
160
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
161
+ verticalPadding: true,
162
+ verticalCenter: true
163
+ }, /*#__PURE__*/React.createElement(BodyTitle, null, "UPLOAD CARD FRONT"), /*#__PURE__*/React.createElement(ComponentWrapper, {
164
+ center: true
165
+ }, /*#__PURE__*/React.createElement(DocumentSmallSvg, null)), /*#__PURE__*/React.createElement(ComponentWrapper, {
166
+ noPaddingTop: true,
167
+ noPaddingHorizontal: true,
168
+ center: true
169
+ }, /*#__PURE__*/React.createElement(Text, {
170
+ center: true
171
+ }, /*#__PURE__*/React.createElement("p", null, "With your picture"))), /*#__PURE__*/React.createElement(ComponentWrapper, {
172
+ noPadding: true,
173
+ center: true
174
+ }, /*#__PURE__*/React.createElement(Field, {
175
+ name: "cardFrontPicture",
176
+ validate: this.validate
177
+ }, ({
178
+ field
179
+ }) => /*#__PURE__*/React.createElement(Fragment, null, field.value ? /*#__PURE__*/React.createElement(FileInputList, null, /*#__PURE__*/React.createElement(FileInputItem, null, /*#__PURE__*/React.createElement(Fragment, null, field.value.name, /*#__PURE__*/React.createElement(FileInputRemove, {
180
+ onClick: e => {
181
+ e.preventDefault();
182
+ e.stopPropagation();
183
+ this.removeFile(field.name);
184
+ }
185
+ })))) : /*#__PURE__*/React.createElement(FileInputWrapper, {
186
+ center: true
187
+ }, "Select", /*#__PURE__*/React.createElement(FileInput, {
188
+ name: field.name,
189
+ accept: "image/png,image/jpeg,application/pdf",
190
+ onChange: e => this.handleFileUpload(e, field.name)
191
+ }))))))), /*#__PURE__*/React.createElement(Column, {
192
+ part: 8
193
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
194
+ verticalPadding: true,
195
+ verticalCenter: true
196
+ }, /*#__PURE__*/React.createElement(BodyTitle, null, "UPLOAD CARD BACK"), /*#__PURE__*/React.createElement(ComponentWrapper, {
197
+ center: true
198
+ }, /*#__PURE__*/React.createElement(DocumentBackSvg, null)), /*#__PURE__*/React.createElement(ComponentWrapper, {
199
+ noPaddingTop: true,
200
+ noPaddingHorizontal: true,
201
+ center: true
202
+ }, /*#__PURE__*/React.createElement(Text, {
203
+ center: true
204
+ }, /*#__PURE__*/React.createElement("p", null, "The other one"))), /*#__PURE__*/React.createElement(ComponentWrapper, {
205
+ noPadding: true,
206
+ center: true
207
+ }, /*#__PURE__*/React.createElement(Field, {
208
+ name: "cardBackPicture",
209
+ validate: this.validate
210
+ }, ({
211
+ field
212
+ }) => /*#__PURE__*/React.createElement(Fragment, null, field.value ? /*#__PURE__*/React.createElement(FileInputList, null, /*#__PURE__*/React.createElement(FileInputItem, null, /*#__PURE__*/React.createElement(Fragment, null, field.value.name, /*#__PURE__*/React.createElement(FileInputRemove, {
213
+ onClick: e => {
214
+ e.preventDefault();
215
+ e.stopPropagation();
216
+ this.removeFile(field.name);
217
+ }
218
+ })))) : /*#__PURE__*/React.createElement(FileInputWrapper, {
219
+ center: true
220
+ }, "Select", /*#__PURE__*/React.createElement(FileInput, {
221
+ name: field.name,
222
+ accept: "image/png,image/jpeg,application/pdf",
223
+ onChange: e => this.handleFileUpload(e, field.name)
224
+ })))))))))), /*#__PURE__*/React.createElement(Column, {
225
+ part: 8
226
+ }, /*#__PURE__*/React.createElement(ColumnInner, {
227
+ verticalPadding: true
228
+ }, /*#__PURE__*/React.createElement(ComponentScroll, {
229
+ noMobileScroll: true
230
+ }, /*#__PURE__*/React.createElement(ComponentWrapper, {
231
+ noPaddingVertical: true
232
+ }, /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement("p", null, "Please use a JPG, PNG or PDF image below 2MB (we recommend a 2MP photo or 200-300 dpi scan)"), /*#__PURE__*/React.createElement("p", null, "Make sure that your personal information is readable. Also, nothing on the document should be covered or censored"), /*#__PURE__*/React.createElement("p", null, "Be careful that none of your fingers are covering the document, and that all of the document is visible and contrasted against the background."), /*#__PURE__*/React.createElement("p", null, "Ensure that the document is in focus. Avoid bad lighting conditions which can lead to motion blur and image noise."), /*#__PURE__*/React.createElement("p", null, "The surface of the background should be evenly lit. The ID document should not present perspective distortion."), /*#__PURE__*/React.createElement("p", null, "If your photo or scan is not of high enough quality, we will request a better copy.")))))))));
233
+ }
234
+ }
235
+ DocumentFileUpload.propTypes = {
236
+ changeStep: PropTypes.func.isRequired,
237
+ setPrevStep: PropTypes.func.isRequired,
238
+ formik: PropTypes.instanceOf(Object).isRequired
239
+ };
240
+ export default connect(DocumentFileUpload);