@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,103 @@
1
+ import React, { PureComponent } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { Formik } from 'formik';
4
+ import * as Yup from 'yup';
5
+ import Text from 'components/Text/Text.styles';
6
+ import Button from 'components/Button/Button.styles';
7
+ import Form, { FormField, FormError } from 'components/Form/Form';
8
+ import Input from 'components/Input/Input';
9
+ import FAQ from 'components/FAQ/FAQ';
10
+ import SectionTitle from 'components/SectionTitle/SectionTitle.styles';
11
+ import ComponentWrapper from 'components/ComponentWrapper/ComponentWrapper.styles';
12
+ import ComponentScroll from 'components/ComponentScroll/ComponentScroll';
13
+ import { ModalWrapper } from 'components/Modal/Modal.styles';
14
+ class AlgoAdressName extends PureComponent {
15
+ initialValues = {
16
+ name: ''
17
+ };
18
+ componentDidMount() {
19
+ const {
20
+ registeredAddress,
21
+ changeStep
22
+ } = this.props;
23
+ if (registeredAddress) {
24
+ changeStep();
25
+ }
26
+ }
27
+ validationSchema = Yup.object().shape({
28
+ name: Yup.string().required('Address name is required')
29
+ });
30
+ onSubmit = () => {
31
+ const {
32
+ changeStep
33
+ } = this.props;
34
+ changeStep();
35
+ };
36
+ render() {
37
+ const {
38
+ error,
39
+ isUpdatingUser
40
+ } = this.props;
41
+ return /*#__PURE__*/React.createElement(ModalWrapper, null, /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(SectionTitle, null, "Register Algorand address")), /*#__PURE__*/React.createElement(ComponentScroll, null, /*#__PURE__*/React.createElement(ComponentWrapper, {
42
+ noPaddingVertical: true
43
+ }, /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement("h3", null, "Name your Algorand address"), /*#__PURE__*/React.createElement("p", null, "Give your address a name that reflects what it will store. Remember Satoshi's recommendation to spread your crypto investments over different addresses. "))), /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(Formik, {
44
+ initialValues: this.initialValues,
45
+ validationSchema: this.validationSchema,
46
+ onSubmit: this.onSubmit
47
+ }, ({
48
+ values,
49
+ errors,
50
+ touched,
51
+ handleBlur,
52
+ setFieldValue,
53
+ setFieldTouched
54
+ }) => {
55
+ const onChangeWithTouch = e => {
56
+ const {
57
+ setNameToRegister
58
+ } = this.props;
59
+ const field = e.target;
60
+ setFieldValue(field.name, field.value, false);
61
+ setFieldTouched(field.name);
62
+ setNameToRegister(field.value);
63
+ };
64
+ const submitDisabled = !touched.name || !!errors.name || isUpdatingUser;
65
+ return /*#__PURE__*/React.createElement(Form, null, /*#__PURE__*/React.createElement(ComponentWrapper, {
66
+ noPadding: true
67
+ }, /*#__PURE__*/React.createElement(FormField, null, /*#__PURE__*/React.createElement(Input, {
68
+ id: "register-algo-name",
69
+ name: "name",
70
+ label: "Address name",
71
+ value: values.name,
72
+ onChange: onChangeWithTouch,
73
+ onBlur: handleBlur,
74
+ error: !!errors.name,
75
+ touched: !!touched.name
76
+ }), /*#__PURE__*/React.createElement(FormError, {
77
+ show: errors.name && touched.name
78
+ }, errors.name))), /*#__PURE__*/React.createElement(ComponentWrapper, {
79
+ noPaddingHorizontal: true,
80
+ noPaddingBottom: true,
81
+ center: true
82
+ }, /*#__PURE__*/React.createElement(Button, {
83
+ type: "submit",
84
+ minWidth: "240px",
85
+ disabled: submitDisabled
86
+ }, "Use this name"), /*#__PURE__*/React.createElement(FormError, {
87
+ withTopSpacing: true,
88
+ show: error
89
+ }, error)));
90
+ })), /*#__PURE__*/React.createElement(ComponentWrapper, {
91
+ noPaddingBottom: true
92
+ }, /*#__PURE__*/React.createElement(SectionTitle, null, "Frequently Asked Questions")), /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(FAQ, {
93
+ items: [{
94
+ title: 'Why should I name my Algorand address?',
95
+ content: "If you're following best practice and spreading your crypto investments over different addresses, a name makes it easier to manage your portfolio."
96
+ }]
97
+ }))));
98
+ }
99
+ }
100
+ AlgoAdressName.propTypes = {
101
+ changeStep: PropTypes.func.isRequired
102
+ };
103
+ export default AlgoAdressName;
@@ -0,0 +1,274 @@
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, { useEffect, useState } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { EthInfo } from 'components/RegisterEthereum';
5
+ import Text from 'components/Text/Text.styles';
6
+ import Button from 'components/Button/Button.styles';
7
+ import RefreshButton from 'components/RefreshButton/RefreshButton';
8
+ import CryptoAddress, { MemoCryptoAddress } from 'components/CryptoAddress/CryptoAddress';
9
+ import CryptoAddressWrapper from 'components/CryptoAddressWrapper/CryptoAddressWrapper';
10
+ import FAQ from 'components/FAQ/FAQ';
11
+ import SectionTitle from 'components/SectionTitle/SectionTitle.styles';
12
+ import ComponentWrapper from 'components/ComponentWrapper/ComponentWrapper.styles';
13
+ import ComponentScroll from 'components/ComponentScroll/ComponentScroll';
14
+ import { ModalWrapper } from 'components/Modal/Modal.styles';
15
+ import { isAlgoSignerInstalled, getAlgoSignerAddress, getMyAlgoWalletAddress } from 'api/StokrWeb3';
16
+ import fetchData from 'api/fetchData';
17
+ import StyledText from 'components/Text/StyledText';
18
+ import { FailedIcon } from 'components/CryptoAddressWrapper/CryptoAddressWrapper.styles';
19
+ import { AllDoneIcon } from 'components/ToDoList/ToDoList.styles';
20
+ import fetchDataPublic from 'api/fetchDataPublic';
21
+ export const Dots = props => /*#__PURE__*/React.createElement(StyledText, _extends({
22
+ style: {
23
+ fontSize: 40
24
+ }
25
+ }, props), /*#__PURE__*/React.createElement("span", {
26
+ "data-order": "0"
27
+ }, "."), /*#__PURE__*/React.createElement("span", {
28
+ "data-order": "1"
29
+ }, "."), /*#__PURE__*/React.createElement("span", {
30
+ "data-order": "2"
31
+ }, "."));
32
+ const AlgoAdressSelect = props => {
33
+ const [correct, setcorrect] = useState(false);
34
+ const [refresh, setrefresh] = useState(false);
35
+ const [failed, setfailed] = useState(false);
36
+ const [selectedAdress, setselectedAdress] = useState({});
37
+ const [address, setaddress] = useState([{
38
+ address: '0x0000000000000000000000000000000000000000',
39
+ balance: 0
40
+ }]);
41
+ useEffect(() => {
42
+ async function initWallet() {
43
+ if (props.wallet === 'algosigner') {
44
+ await initAlgoSigner();
45
+ }
46
+ if (props.wallet === 'myalgo') {
47
+ await initMyAlgoWallet();
48
+ }
49
+ }
50
+ initWallet();
51
+ }, []);
52
+ useEffect(() => {
53
+ if (refresh) {
54
+ setStateDelayed(false, 2000);
55
+ }
56
+ }, [refresh]);
57
+ useEffect(() => {
58
+ if (props.verifiedAddress) {
59
+ props.changeStep();
60
+ }
61
+ }, [props.verifiedAddress]);
62
+
63
+ //get balance for each user address
64
+ const getBalanceData = async addresses => {
65
+ let addressArr = [];
66
+ addresses.forEach(address => {
67
+ addressArr.push(address.address);
68
+ });
69
+
70
+ //if algo balances fail
71
+ let data = null;
72
+ try {
73
+ data = await fetchData('user/algoBalances', {
74
+ accounts: addressArr
75
+ });
76
+ } catch (error) {
77
+ console.log('🚀 ~ error in algoBalances', error);
78
+ }
79
+ const optInStatus = await fetchData('user/algoOptinStatus', {
80
+ accounts: addressArr,
81
+ assetId: props.projectAssetId
82
+ });
83
+
84
+ //if algoprice fails
85
+ let algoPrice;
86
+ try {
87
+ algoPrice = await fetchData('investment/algoprice');
88
+ } catch (error) {
89
+ console.log('🚀 ~ error in algoPrice', error);
90
+ }
91
+ if (data && algoPrice) {
92
+ data.forEach((account, index) => {
93
+ addresses[index].balance = account.balance;
94
+ addresses[index].currentAlgoPrice = algoPrice.EUR; //-- in euros
95
+ addresses[index].eqUnit = '€';
96
+ addresses[index].optedIn = optInStatus[account.account];
97
+ });
98
+ } else {
99
+ addressArr && addressArr.forEach((account, index) => {
100
+ addresses[index].optedIn = optInStatus[account];
101
+ });
102
+ }
103
+ checkforExistingAddress(addresses);
104
+ };
105
+
106
+ //check if user has already registered some address
107
+ //add the address title if exist
108
+ const checkforExistingAddress = addresses => {
109
+ addresses.forEach(address => {
110
+ props.userAddresses && props.userAddresses.forEach(userAdd => {
111
+ if (address.address === userAdd.address) {
112
+ address.title = userAdd.name;
113
+ }
114
+ });
115
+ });
116
+ };
117
+ const onAddressChange = account => {
118
+ setselectedAdress(account);
119
+ props.setRegisteredAddress(account.title ? true : false);
120
+ };
121
+ const initAlgoSigner = async () => {
122
+ if (isAlgoSignerInstalled()) {
123
+ try {
124
+ const address = await getAlgoSignerAddress(props.network);
125
+ console.log('address: ', address);
126
+ if (address) {
127
+ await getBalanceData(address);
128
+ setfailed(false);
129
+ setcorrect(true);
130
+ setaddress(address);
131
+ }
132
+ } catch (error) {
133
+ console.log('eroor: ', error);
134
+ setfailed(true);
135
+ setcorrect(false);
136
+ }
137
+ }
138
+ };
139
+ const getAdressArr = addressArr => {
140
+ let newArr = [];
141
+ addressArr && addressArr.forEach(element => {
142
+ newArr.push({
143
+ address: element
144
+ });
145
+ });
146
+ return newArr;
147
+ };
148
+ const initMyAlgoWallet = async () => {
149
+ try {
150
+ const address = await getMyAlgoWalletAddress();
151
+ if (address && !address.includes('Error')) {
152
+ let addressArr = getAdressArr(address);
153
+ await getBalanceData(addressArr);
154
+ setaddress(addressArr);
155
+ setfailed(false);
156
+ setcorrect(true);
157
+ }
158
+ } catch (error) {
159
+ console.log('eroor: ', error);
160
+ setfailed(true);
161
+ setcorrect(false);
162
+ }
163
+ };
164
+ const setStateDelayed = (newState, time) => {
165
+ setTimeout(() => {
166
+ setrefresh(newState);
167
+ }, time);
168
+ };
169
+ const onRefreshClick = async () => {
170
+ setrefresh(true);
171
+ props.wallet === 'algosigner' ? await initAlgoSigner() : await initMyAlgoWallet();
172
+ };
173
+ return /*#__PURE__*/React.createElement(ModalWrapper, null, /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(SectionTitle, null, "Register Algorand address")), /*#__PURE__*/React.createElement(ComponentScroll, null, /*#__PURE__*/React.createElement(ComponentWrapper, {
174
+ noPaddingVertical: true
175
+ }, /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement("h3", null, "Select an Algorand address"), /*#__PURE__*/React.createElement("p", null, `In order for the tokens to go to the right address, you need to choose the opted-in address for the tokens to be properly assigned to you.`))), /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(SectionTitle, null, "YOUR CURRENT ADDRESS")), /*#__PURE__*/React.createElement(ComponentWrapper, null, correct ? /*#__PURE__*/React.createElement(CryptoAddressWrapper, {
176
+ refresh: refresh ? 'Refreshing' : '',
177
+ failed: failed ? `NO DICE. PLEASE CHECK ${props.wallet === 'algosigner' ? 'Algosigner' : 'My Algo Wallet'} IS CONNECTED, THEN HIT REFRESH.` : ''
178
+ }, address.map((account, i) => /*#__PURE__*/React.createElement(MemoCryptoAddress, {
179
+ key: account + i,
180
+ title: account.title || 'Not yet registered',
181
+ address: account.address,
182
+ data: {
183
+ value: account.balance?.toFixed(4),
184
+ unit: 'ALGO',
185
+ eqValue: account.balance ? (account.balance * account.currentAlgoPrice).toFixed(2) : null,
186
+ eqUnit: '€'
187
+ },
188
+ wrapped: true,
189
+ borderTop: true,
190
+ borderBottom: true,
191
+ sideOptions: props.isUpdatingUser && !props.error && selectedAdress.address === account.address ? /*#__PURE__*/React.createElement(Dots, null) : props.error && selectedAdress.address === account.address ? /*#__PURE__*/React.createElement(FailedIcon, {
192
+ red: true,
193
+ flex: true
194
+ }) : account.title && (props.verifiedAddress && !props.error && selectedAdress.address === account.address || account.optedIn) ? /*#__PURE__*/React.createElement(AllDoneIcon, {
195
+ green: true
196
+ }) : /*#__PURE__*/React.createElement(Button, {
197
+ secondary: selectedAdress.address === account.address ? false : true,
198
+ disabled: account.optedIn && account.title,
199
+ style: {
200
+ minWidth: 'max-content'
201
+ },
202
+ onClick: () => {
203
+ //continue to naming step if already opted in address
204
+ props.setAddressToRegister(account.address);
205
+ if (!account.optedIn) {
206
+ props.handleOptIn(account.address, account.title);
207
+ }
208
+ onAddressChange(account);
209
+ if (account.optedIn && !account.title) {
210
+ props.setverifiedAddress(true);
211
+ }
212
+ }
213
+ }, "Select")
214
+ }))) : /*#__PURE__*/React.createElement(CryptoAddressWrapper, {
215
+ refresh: !correct && !failed ? `We're fetching your registered address from your ${props.wallet === 'algosigner' ? 'Algosigner' : 'My Algo Wallet'}.` : '',
216
+ failed: failed ? `Our interface couldn't connect to ${props.wallet === 'algosigner' ? 'Algosigner' : 'My Algo Wallet'} because you need to give permission to do so. Try again?` : ''
217
+ }, address.map((account, i) => /*#__PURE__*/React.createElement(MemoCryptoAddress, {
218
+ key: account + i,
219
+ title: account.title || 'Not yet registered',
220
+ address: account.address,
221
+ data: {
222
+ value: account.balance?.toFixed(4),
223
+ unit: 'ALGO',
224
+ eqValue: account.balance ? (account.balance * account.currentAlgoPrice).toFixed(2) : null,
225
+ eqUnit: '€'
226
+ },
227
+ wrapped: true,
228
+ borderTop: true,
229
+ borderBottom: true,
230
+ sideOptions: props.isUpdatingUser && !props.error && selectedAdress.address === account.address ? /*#__PURE__*/React.createElement(Dots, null) : props.error && selectedAdress.address === account.address ? /*#__PURE__*/React.createElement(FailedIcon, {
231
+ red: true,
232
+ flex: true
233
+ }) : account.title && (props.verifiedAddress && !props.error && selectedAdress.address === account.address || account.optedIn) ? /*#__PURE__*/React.createElement(AllDoneIcon, {
234
+ green: true
235
+ }) : /*#__PURE__*/React.createElement(Button, {
236
+ secondary: selectedAdress.address === account.address ? false : true,
237
+ disabled: account.optedIn && account.title,
238
+ style: {
239
+ minWidth: 'max-content'
240
+ },
241
+ onClick: () => {
242
+ //continue to naming step if already opted in address
243
+ props.setAddressToRegister(account.address);
244
+ if (!account.optedIn) {
245
+ props.handleOptIn(account.address, account.title);
246
+ }
247
+ onAddressChange(account);
248
+ if (account.optedIn && !account.title) {
249
+ props.setverifiedAddress(true);
250
+ }
251
+ }
252
+ }, "Select")
253
+ })))), /*#__PURE__*/React.createElement(ComponentWrapper, {
254
+ noPaddingBottom: true
255
+ }, /*#__PURE__*/React.createElement(EthInfo, {
256
+ center: true
257
+ }, `To use a different ${props.wallet === 'algosigner' ? 'Algosigner' : 'My Algo Wallet'} address, select one from the ${props.wallet === 'algosigner' ? 'Algosigner' : 'My Algo Wallet'} extension on your browser and press the "TRY AGAIN" button below.`)), /*#__PURE__*/React.createElement(ComponentWrapper, {
258
+ center: true
259
+ }, /*#__PURE__*/React.createElement(RefreshButton, {
260
+ onClick: onRefreshClick
261
+ }, "TRY AGAIN")), /*#__PURE__*/React.createElement(ComponentWrapper, {
262
+ noPaddingBottom: true
263
+ }, /*#__PURE__*/React.createElement(SectionTitle, null, "Frequently Asked Questions")), /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(FAQ, {
264
+ items: [{
265
+ title: 'Which address should I choose?',
266
+ content: "If you're planning to use the address to purchase tokens, choose one with sufficient funds or that you plan to top up. For your security and privacy, it's considered best practice to use more than one address for your crypto investments."
267
+ }]
268
+ }))));
269
+ };
270
+ AlgoAdressSelect.propTypes = {
271
+ changeStep: PropTypes.func.isRequired
272
+ };
273
+ export const MemoAlgoAddressSelect = /*#__PURE__*/React.memo(AlgoAdressSelect);
274
+ export default AlgoAdressSelect;
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Text from 'components/Text/Text.styles';
4
+ import Button from 'components/Button/Button.styles';
5
+ // import FAQ from "components/FAQ/FAQ";
6
+ import SectionTitle from 'components/SectionTitle/SectionTitle.styles';
7
+ import ComponentWrapper from 'components/ComponentWrapper/ComponentWrapper.styles';
8
+ import ComponentScroll from 'components/ComponentScroll/ComponentScroll';
9
+ import { ModalWrapper } from 'components/Modal/Modal.styles';
10
+ import { isAlgoSignerInstalled } from 'api/StokrWeb3';
11
+ import FAQ from 'components/FAQ/FAQ';
12
+ const AlgoConnectWallet = ({
13
+ changeStep,
14
+ wallet,
15
+ setWallet
16
+ }) => /*#__PURE__*/React.createElement(ModalWrapper, null, /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(SectionTitle, null, "Register Algorand address")), /*#__PURE__*/React.createElement(ComponentScroll, null, /*#__PURE__*/React.createElement(ComponentWrapper, {
17
+ noPaddingVertical: true
18
+ }, /*#__PURE__*/React.createElement(Text, null, wallet === 'algosigner' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h3", null, "CONNECT AN ALGOSIGNER WALLET"), /*#__PURE__*/React.createElement("p", null, "Please click on the 'CONNECT' button below. If you don't already have an Algosigner wallet, the link will take you through the registration process. Just follow the prompts when you are taken to the page. Once you finish creating the wallet, you can come back to this page and connect it."), /*#__PURE__*/React.createElement("p", null, "If you already have an Algosigner wallet, please make sure the extension is enabled on your browser. There will be a pop-up that is presented asking for STOKR's permission to view your current wallet address.")), wallet === 'myalgo' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h3", null, "CONNECT A MY ALGO WALLET"), /*#__PURE__*/React.createElement("p", null, "Please click on the 'CONNECT' button below. If you don't already have an My Algo wallet, the link will take you to a pop-up to create a wallet. Just follow the prompts. Once you finish creating the wallet, you can come back to this page and connect it."), /*#__PURE__*/React.createElement("p", null, 'If you already have a My Algo wallet, you may need to log into it. If so, there will be a prompt for this.')))), /*#__PURE__*/React.createElement(ComponentWrapper, {
19
+ center: true
20
+ }, wallet === 'algosigner' && /*#__PURE__*/React.createElement(Button, {
21
+ minWidth: "240px",
22
+ onClick: () => {
23
+ setWallet('algosigner');
24
+ changeStep();
25
+ },
26
+ disabled: !isAlgoSignerInstalled()
27
+ }, "Connect"), wallet === 'myalgo' && /*#__PURE__*/React.createElement(Button, {
28
+ minWidth: "240px",
29
+ onClick: () => {
30
+ setWallet('myalgo');
31
+ changeStep();
32
+ }
33
+ }, "Connect"))));
34
+ AlgoConnectWallet.propTypes = {
35
+ changeStep: PropTypes.func.isRequired
36
+ };
37
+ export default AlgoConnectWallet;
@@ -0,0 +1,28 @@
1
+ import React, { useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Text from 'components/Text/Text.styles';
4
+ import Button from 'components/Button/Button.styles';
5
+ import SectionTitle from 'components/SectionTitle/SectionTitle.styles';
6
+ import ComponentWrapper from 'components/ComponentWrapper/ComponentWrapper.styles';
7
+ import ComponentScroll from 'components/ComponentScroll/ComponentScroll';
8
+ import { ModalWrapper } from 'components/Modal/Modal.styles';
9
+ const AlgoSuccess = ({
10
+ onClick
11
+ }) => {
12
+ return /*#__PURE__*/React.createElement(ModalWrapper, null, /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(SectionTitle, null, "Register Algorand address")), /*#__PURE__*/React.createElement(ComponentScroll, null, /*#__PURE__*/React.createElement(ComponentWrapper, {
13
+ noPaddingVertical: true
14
+ }, /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement("h3", null, "YOU successfully opted in your address"), /*#__PURE__*/React.createElement("p", null, "All Algorand addresses are checked to prevent money laundering on STOKR. We'll let you know as soon as yours is on the whitelist."))), /*#__PURE__*/React.createElement(ComponentWrapper, {
15
+ noPaddingHorizontal: true,
16
+ center: true
17
+ }, /*#__PURE__*/React.createElement(Button, {
18
+ minWidth: "240px",
19
+ onClick: () => {
20
+ // deleteRedirectCookieAndNavigate()
21
+ onClick();
22
+ }
23
+ }, "Continue"))));
24
+ };
25
+ AlgoSuccess.propTypes = {
26
+ changeStep: PropTypes.func.isRequired
27
+ };
28
+ export default AlgoSuccess;
@@ -0,0 +1,61 @@
1
+ import React from 'react';
2
+ import AlgoAddressFlowPage from './flow';
3
+ import AlgoFlowMemo from './flowWithMemo';
4
+ import { AuthProvider } from 'components/context/AuthContext';
5
+ export default {
6
+ title: 'Components Library/Algorand',
7
+ component: AlgoAddressFlowPage,
8
+ argTypes: {
9
+ showFlow: {
10
+ type: 'boolean',
11
+ defaultValue: true
12
+ },
13
+ setShowFlow: {},
14
+ setShowPending: {},
15
+ withSuccessPage: {
16
+ type: 'boolean',
17
+ defaultValue: false
18
+ },
19
+ project: {},
20
+ wallet: {}
21
+ }
22
+ };
23
+ const Template = args => /*#__PURE__*/React.createElement(AuthProvider, null, /*#__PURE__*/React.createElement(AlgoAddressFlowPage, args));
24
+ export const algoFlowWithoutProject = () => /*#__PURE__*/React.createElement(AuthProvider, null, /*#__PURE__*/React.createElement(AlgoAddressFlowPage, {
25
+ showFlow: {
26
+ type: 'boolean',
27
+ defaultValue: true
28
+ },
29
+ setShowFlow: () => {},
30
+ withSuccessPage: true
31
+ // project={{ title: 'Algorand Test', primaryAssetId: '20918100' }}
32
+ }));
33
+
34
+ export const AlgoFlowWithMemo = () => /*#__PURE__*/React.createElement(AuthProvider, null, /*#__PURE__*/React.createElement(AlgoFlowMemo, {
35
+ showFlow: true,
36
+ setShowFlow: {}
37
+ }));
38
+ // export const headerUserWithoutAvatar = () => <Header user={{}} />
39
+
40
+ export const AlgoFlowProject = Template.bind({});
41
+ AlgoFlowProject.args = {
42
+ project: {
43
+ title: 'Algorand Test',
44
+ name: 'Algorand',
45
+ primaryAssetId: '20918100'
46
+ }
47
+ };
48
+ export const AlgoFlowWallet = Template.bind({});
49
+ AlgoFlowWallet.args = {
50
+ project: {
51
+ title: 'Algorand Test',
52
+ name: 'Algorand',
53
+ primaryAssetId: '20918100'
54
+ },
55
+ wallet: {
56
+ setverifiedAddress: true
57
+ }
58
+ };
59
+ algoFlowWithoutProject.story = {
60
+ //decorators: [withKnobs],
61
+ };
@@ -0,0 +1,77 @@
1
+ import React, { useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Text from 'components/Text/Text.styles';
4
+ import Button from 'components/Button/Button.styles';
5
+ import FAQ from 'components/FAQ/FAQ';
6
+ import SectionTitle from 'components/SectionTitle/SectionTitle.styles';
7
+ import ComponentWrapper from 'components/ComponentWrapper/ComponentWrapper.styles';
8
+ import ComponentScroll from 'components/ComponentScroll/ComponentScroll';
9
+ import DoubleButton from 'components/DoubleButton/DoubleButton.styles';
10
+ import { ModalWrapper } from 'components/Modal/Modal.styles';
11
+ import { supportsU2F, isAlgoSignerInstalled } from 'api/StokrWeb3';
12
+ import { Tooltip } from 'react-tippy';
13
+ const ChooseWallet = ({
14
+ setWallet,
15
+ changeStep
16
+ }) => {
17
+ const [showRefreshButton, setShowRefreshButton] = useState(false);
18
+ return /*#__PURE__*/React.createElement(ModalWrapper, null, /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(SectionTitle, null, "Register Algorand address")), /*#__PURE__*/React.createElement(ComponentScroll, null, /*#__PURE__*/React.createElement(ComponentWrapper, {
19
+ noPaddingVertical: true
20
+ }, /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement("h3", null, "Choose your wallet"), /*#__PURE__*/React.createElement("p", null, 'Please choose the wallet you either already have or would like to signup with.'), /*#__PURE__*/React.createElement("p", null, 'Before chosing your wallet please make sure you are using the right browser and have the right plug-ins installed.'))), /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(DoubleButton, null, /*#__PURE__*/React.createElement(Button, {
21
+ onClick: () => {
22
+ setWallet('myalgo');
23
+ changeStep();
24
+ }
25
+ // minWidth="240px"
26
+ ,
27
+ fluid: true
28
+ }, "My Algo Wallet"), showRefreshButton ? /*#__PURE__*/React.createElement(Button, {
29
+ onClick: () => {
30
+ setWallet('algosigner');
31
+
32
+ //changeStep()
33
+ },
34
+
35
+ fluid: true
36
+ }, "Refresh") : !supportsU2F() ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tooltip, {
37
+ title: "A chrome-based browser is required to connect with an Algosigner wallet.",
38
+ position: 'top',
39
+ theme: "light",
40
+ arrow: true,
41
+ duration: 200,
42
+ style: {
43
+ display: 'inline-flex',
44
+ width: '50%'
45
+ }
46
+ }, /*#__PURE__*/React.createElement(Button, {
47
+ disabled: !supportsU2F()
48
+ }, 'AlgoSigner'))) : /*#__PURE__*/React.createElement(Button, {
49
+ onClick: () => {
50
+ if (isAlgoSignerInstalled()) {
51
+ setWallet('algosigner');
52
+ changeStep();
53
+ } else {
54
+ window.open('https://www.purestake.com/technology/algosigner/', '_blank');
55
+ setShowRefreshButton(true);
56
+ }
57
+ },
58
+ disabled: !supportsU2F(),
59
+ fluid: true
60
+ }, isAlgoSignerInstalled() ? 'AlgoSigner' : 'Get AlgoSigner'))), /*#__PURE__*/React.createElement(ComponentWrapper, {
61
+ noPaddingBottom: true
62
+ }, /*#__PURE__*/React.createElement(SectionTitle, null, "Frequently Asked Questions")), /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(FAQ, {
63
+ items: [{
64
+ title: 'What is a crypto wallet?',
65
+ content: 'A crypto wallet is a hardware device or browser interface to manage and protect your private key and as a result the transactions you are making on the blockchain.'
66
+ }, {
67
+ title: 'Which Algorand wallet should I use?',
68
+ content: 'Both wallets perform the exact same function and both are quite easy to download and use. The key difference is that MyAlgo is a more popular choice amongst Algorand holders for its range of functionality. Algosigner might be a good choice if you are just looking for something basic and hold your assets obtained from the STOKR platform.'
69
+ }]
70
+ }))));
71
+ };
72
+ ChooseWallet.propTypes = {
73
+ setWallet: PropTypes.func.isRequired,
74
+ changeStep: PropTypes.func.isRequired
75
+ };
76
+ export const MemoChooseWallet = /*#__PURE__*/React.memo(ChooseWallet);
77
+ export default ChooseWallet;
@@ -0,0 +1,77 @@
1
+ import React, { useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Text from 'components/Text/Text.styles';
4
+ import Button from 'components/Button/Button.styles';
5
+ import FAQ from 'components/FAQ/FAQ';
6
+ import SectionTitle from 'components/SectionTitle/SectionTitle.styles';
7
+ import ComponentWrapper from 'components/ComponentWrapper/ComponentWrapper.styles';
8
+ import ComponentScroll from 'components/ComponentScroll/ComponentScroll';
9
+ import { ModalWrapper } from 'components/Modal/Modal.styles';
10
+ import CryptoAddress, { MemoCryptoAddress } from 'components/CryptoAddress/CryptoAddress';
11
+ import CryptoAddressWrapper from 'components/CryptoAddressWrapper/CryptoAddressWrapper';
12
+ import { Dots } from './AlgoAdressSelect';
13
+ const SelectProject = ({
14
+ changeStep,
15
+ projects,
16
+ setselectedProject,
17
+ selectedProject,
18
+ isLoading
19
+ }) => {
20
+ //if we use modal from project-specific pages
21
+ React.useEffect(() => {
22
+ if (selectedProject.primaryAssetId) {
23
+ changeStep();
24
+ }
25
+ }, []);
26
+ return /*#__PURE__*/React.createElement(ModalWrapper, null, /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(SectionTitle, null, "Register Algorand address")), /*#__PURE__*/React.createElement(ComponentScroll, null, /*#__PURE__*/React.createElement(ComponentWrapper, {
27
+ noPaddingVertical: true
28
+ }, /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement("h3", null, "Select a project"), /*#__PURE__*/React.createElement("p", null, 'Some projects on Algorand are only available for eligible investors. Click “Opt-In” next to the projects you are already elgible to invest in. Otherwise click "Learn More".'))), /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(React.Fragment, null, isLoading ? /*#__PURE__*/React.createElement(ComponentWrapper, {
29
+ center: true,
30
+ noPadding: true
31
+ }, /*#__PURE__*/React.createElement(Dots, {
32
+ style: {
33
+ fontSize: 60
34
+ }
35
+ })) : /*#__PURE__*/React.createElement(CryptoAddressWrapper, null, projects.map((project, i) => /*#__PURE__*/React.createElement(React.Fragment, {
36
+ key: project.name
37
+ }, /*#__PURE__*/React.createElement(MemoCryptoAddress, {
38
+ key: project.name,
39
+ title: project.title || 'No project name',
40
+ src: project.logourl,
41
+ sideOptions: /*#__PURE__*/React.createElement(Button, {
42
+ secondary: true
43
+ // style={{ minWidth: 'max-content' }}
44
+ ,
45
+ minWidth: '165px',
46
+ onClick: () => {
47
+ if (project.isInvestorAllowed) {
48
+ setselectedProject(project);
49
+ changeStep();
50
+ } else {
51
+ console.log('🚀 ~ process.env', process.env);
52
+ window.location.href = `https://${process.env.REACT_APP_WEBSITE_DOMAIN}/${project.name}`;
53
+ }
54
+ }
55
+ }, project.isInvestorAllowed ? 'Opt in' : 'Learn More'),
56
+ wrapped: true,
57
+ flexHead: true,
58
+ borderTop: true,
59
+ borderBottom: true
60
+ })))))), /*#__PURE__*/React.createElement(ComponentWrapper, {
61
+ noPaddingBottom: true
62
+ }, /*#__PURE__*/React.createElement(SectionTitle, null, "Frequently Asked Questions")), /*#__PURE__*/React.createElement(ComponentWrapper, null, /*#__PURE__*/React.createElement(FAQ, {
63
+ items: [{
64
+ title: 'What is a crypto wallet?',
65
+ content: 'A crypto wallet is a hardware device or browser interface to manage and protect your private key and as a result the transactions you are making on the blockchain.'
66
+ }, {
67
+ title: 'Which Algorand wallet should I use?',
68
+ content: 'Both wallets perform the exact same function and both are quite easy to download and use. The key difference is that MyAlgo is a more popular choice amongst Algorand holders for its range of functionality. Algosigner might be a good choice if you are just looking for something basic and hold your assets obtained from the STOKR platform.'
69
+ }]
70
+ }))));
71
+ };
72
+ SelectProject.propTypes = {
73
+ setWallet: PropTypes.func.isRequired,
74
+ changeStep: PropTypes.func.isRequired
75
+ };
76
+ export const MemoSelectProject = /*#__PURE__*/React.memo(SelectProject);
77
+ export default SelectProject;