@stokr/components-library 2.3.65-beta.9 → 2.3.65

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 (254) hide show
  1. package/dist/components/2FA/login-with-otp-flow.js +1 -1
  2. package/dist/components/2FA/main-flow.js +40 -12
  3. package/dist/components/Chips/Chip.js +1 -2
  4. package/dist/components/Chips/Chip.styles.js +3 -2
  5. package/dist/components/ConfirmModal/ConfirmModal.js +240 -0
  6. package/dist/components/ConfirmModal/ConfirmModal.styles.js +26 -0
  7. package/dist/components/CryptoAddress/CryptoAddress.js +10 -4
  8. package/dist/components/CryptoAddress/CryptoAddress.styles.js +1 -1
  9. package/dist/components/Footer/FooterLayout.js +13 -4
  10. package/dist/components/Footer/FooterMenu.js +19 -3
  11. package/dist/components/Footer/FooterMenu.styles.js +14 -2
  12. package/dist/components/Header/Header.styles.js +1 -1
  13. package/dist/components/Input/DatePickerInput.js +134 -30
  14. package/dist/components/Input/DatePickerInput.styles.js +16 -3
  15. package/dist/components/Input/MultiSelect.js +10 -8
  16. package/dist/components/Input/TableFilterDropdown.js +228 -0
  17. package/dist/components/Input/Textarea.js +59 -0
  18. package/dist/components/Input/Textarea.styles.js +18 -0
  19. package/dist/components/Modal/Modal.js +39 -6
  20. package/dist/components/Modal/Modal.styles.js +2 -2
  21. package/dist/components/Modal/SideModal.js +44 -2
  22. package/dist/components/Modal/SuccessModal/SuccessModal.js +173 -0
  23. package/dist/components/Modal/SuccessModal/SuccessModal.styles.js +29 -0
  24. package/dist/components/Modal/SuccessModal/index.js +37 -0
  25. package/dist/components/Payment/PaymentDetailsCard.js +14 -11
  26. package/dist/components/Payment/PaymentDisplay.js +2 -12
  27. package/dist/components/Snackbar/Snackbar.js +3 -0
  28. package/dist/components/Snackbar/Snackbar.styles.js +18 -9
  29. package/dist/components/StatusTag/StatusTag.js +38 -71
  30. package/dist/components/StatusTag/StatusTag.styles.js +4 -16
  31. package/dist/components/Timeline/Timeline.styles.js +1 -1
  32. package/dist/components/Timeline/TimelineStep.js +0 -1
  33. package/dist/favicon.ico +0 -0
  34. package/dist/index.css +1 -0
  35. package/dist/index.js +44 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/index.umd.cjs +10371 -0
  38. package/dist/index.umd.cjs.map +1 -0
  39. package/dist/logo192.png +0 -0
  40. package/dist/logo512.png +0 -0
  41. package/dist/manifest.json +25 -0
  42. package/dist/robots.txt +3 -0
  43. package/dist/static/animations/checked.lottie +0 -0
  44. package/dist/static/animations/progress.lottie +0 -0
  45. package/dist/static/images/add-folder-icon.svg +5 -0
  46. package/dist/static/images/background3.png +0 -0
  47. package/dist/static/images/bmn2-logo.svg +9 -9
  48. package/dist/static/images/checkmark-circle-icon.svg +4 -0
  49. package/dist/static/images/close-circle-icon.svg +3 -0
  50. package/dist/static/images/doc-icon.svg +4 -0
  51. package/dist/static/images/filter-icon.svg +6 -0
  52. package/dist/styles/colors.js +2 -1
  53. package/dist/styles/global.js +1 -1
  54. package/dist/utils/customHooks.js +24 -2
  55. package/dist/utils/formatCurrencyValue.js +9 -2
  56. package/package.json +4 -2
  57. package/dist/components/2FA/EnterCode.stories.js +0 -35
  58. package/dist/components/2FA/disable-2fa-flow.stories.js +0 -31
  59. package/dist/components/2FA/enable-2fa-flow.stories.js +0 -31
  60. package/dist/components/2FA/login-with-otp-flow.stories.js +0 -31
  61. package/dist/components/2FA/main-flow.stories.js +0 -162
  62. package/dist/components/AccountBalance/AccountBalance.stories.js +0 -83
  63. package/dist/components/AdminDashboard/Table/ReactTable.stories.js +0 -913
  64. package/dist/components/AgreementItem/AgreementItem.stories.js +0 -105
  65. package/dist/components/AnalyticGraphs/Analytic.js +0 -541
  66. package/dist/components/AnalyticGraphs/Analytic.styles.js +0 -25
  67. package/dist/components/BackButton/BackButton.stories.js +0 -32
  68. package/dist/components/Background/Background.stories.js +0 -75
  69. package/dist/components/BarChart/BarChart.js +0 -263
  70. package/dist/components/BarChart/BarChart.stories.js +0 -66
  71. package/dist/components/BarChart/BarChart.styles.js +0 -26
  72. package/dist/components/BarChartLegend/BarChartLegend.js +0 -79
  73. package/dist/components/BarChartLegend/BarChartLegend.styles.js +0 -21
  74. package/dist/components/BasicTable/BasicTable.stories.js +0 -59
  75. package/dist/components/BlogPost/BlogPost.stories.js +0 -160
  76. package/dist/components/Button/Button.stories.js +0 -146
  77. package/dist/components/Button/GlareButton.stories.js +0 -132
  78. package/dist/components/CapitalRaisedSummary/CapitalRaisedSummery.stories.js +0 -42
  79. package/dist/components/ChartBox/ChartBox.js +0 -41
  80. package/dist/components/ChartBox/ChartBox.stories.js +0 -17
  81. package/dist/components/ChartBox/ChartBox.styles.js +0 -27
  82. package/dist/components/ChartBox/ChartBoxDistribution.js +0 -27
  83. package/dist/components/ChartBox/ChartBoxDistribution.stories.js +0 -18
  84. package/dist/components/ChartLegend/ChartLegend.stories.js +0 -90
  85. package/dist/components/Checkbox/Checkbox.stories.js +0 -88
  86. package/dist/components/Checklist/ChecklistCard.stories.js +0 -102
  87. package/dist/components/Checklist/UserChecklist.js +0 -184
  88. package/dist/components/Checklist/UserChecklist.stories.js +0 -317
  89. package/dist/components/Chips/Chip.stories.js +0 -36
  90. package/dist/components/Chips/ChipsWrapper.stories.js +0 -47
  91. package/dist/components/ComponentScroll/ComponentScroll.stories.js +0 -111
  92. package/dist/components/CryptoAddress/CryptoAddress.stories.js +0 -205
  93. package/dist/components/CryptoAddressDetails/CryptoAddressDetails.stories.js +0 -70
  94. package/dist/components/DonutChart/DonutChart.stories.js +0 -54
  95. package/dist/components/FAQ/FAQ.stories.js +0 -76
  96. package/dist/components/Footer/Footer.stories.js +0 -49
  97. package/dist/components/Footer/FooterLayout.stories.js +0 -26
  98. package/dist/components/Footer/FooterMenu.stories.js +0 -113
  99. package/dist/components/Footer/mangopay.png +0 -0
  100. package/dist/components/Footer/mangopay.svg +0 -20
  101. package/dist/components/ForgotPasswordModal/ForgotPasswordModal.stories.js +0 -69
  102. package/dist/components/Form/Form.stories.js +0 -32
  103. package/dist/components/FullscreenCard/FullscreenCard.styles.js +0 -27
  104. package/dist/components/Header/Header.stories.js +0 -192
  105. package/dist/components/Icon/Icon.stories.js +0 -108
  106. package/dist/components/InfoIcon/InfoIcon.stories.js +0 -299
  107. package/dist/components/InfoPanel/InfoPanel.js +0 -124
  108. package/dist/components/Input/DatePickerInput.stories.js +0 -87
  109. package/dist/components/Input/Input.stories.js +0 -217
  110. package/dist/components/Input/InputPassword.stories.js +0 -80
  111. package/dist/components/Input/InputWithButton.stories.js +0 -75
  112. package/dist/components/Input/MultiSelect.stories.js +0 -264
  113. package/dist/components/Input/OtpInput.stories.js +0 -57
  114. package/dist/components/Input/RangeInput.stories.js +0 -58
  115. package/dist/components/Input/SearchInput.stories.js +0 -366
  116. package/dist/components/Input/Select.stories.js +0 -478
  117. package/dist/components/InvestCalculator/InvestCalculator.stories.js +0 -135
  118. package/dist/components/InvestmentStat/InvestmentStat.stories.js +0 -52
  119. package/dist/components/KYCFlow/BasicInfo.js +0 -448
  120. package/dist/components/KYCFlow/Confirmation.js +0 -46
  121. package/dist/components/KYCFlow/DocumentFileUpload.js +0 -263
  122. package/dist/components/KYCFlow/DocumentScan.js +0 -75
  123. package/dist/components/KYCFlow/DocumentScanUpload.js +0 -251
  124. package/dist/components/KYCFlow/DocumentSelect.js +0 -118
  125. package/dist/components/KYCFlow/DocumentSuccess.js +0 -63
  126. package/dist/components/KYCFlow/DocumentUpload.js +0 -53
  127. package/dist/components/KYCFlow/DocumentVerificationType.js +0 -131
  128. package/dist/components/KYCFlow/FaceScan.js +0 -54
  129. package/dist/components/KYCFlow/FaceScanRecognition.js +0 -61
  130. package/dist/components/KYCFlow/FaceScanSuccess.js +0 -56
  131. package/dist/components/KYCFlow/Terms.js +0 -119
  132. package/dist/components/KYCFlow/_styles.js +0 -111
  133. package/dist/components/KYCFlow/index.js +0 -97
  134. package/dist/components/KYCSelectBox/KYCSelectBox.styles.js +0 -29
  135. package/dist/components/LatestUpdate/LatestUpdate.stories.js +0 -58
  136. package/dist/components/Layout/Layout.stories.js +0 -60
  137. package/dist/components/LearnMoreCarousel/LearnMoreCarousel.stories.js +0 -66
  138. package/dist/components/LearnMorePage/LearnMore.stories.js +0 -48
  139. package/dist/components/LearnMorePage/LearnMoreItem.stories.js +0 -62
  140. package/dist/components/LearnMoreSection/LearnMore.stories.js +0 -30
  141. package/dist/components/LearnMoreSection/LearnMoreItem.stories.js +0 -59
  142. package/dist/components/LoginModal/LoginModal.stories.js +0 -74
  143. package/dist/components/MatomoConnect/Matomo.js +0 -228
  144. package/dist/components/MatomoConnect/Matomo_fuckup.js +0 -387
  145. package/dist/components/Modal/Modal.stories.js +0 -75
  146. package/dist/components/Modal/NewVentureModal/NewVentureModal.stories.js +0 -150
  147. package/dist/components/Modal/PaymentModal.stories.js +0 -57
  148. package/dist/components/Modal/SideModal.stories.js +0 -342
  149. package/dist/components/MultiProgressBar/MultiProgressBar.stories.js +0 -67
  150. package/dist/components/Newsletter/Newsletter.stories.js +0 -16
  151. package/dist/components/NotificationContext/NotificationContext.js +0 -141
  152. package/dist/components/Number/Number.stories.js +0 -92
  153. package/dist/components/Pagination/Pagination.stories.js +0 -83
  154. package/dist/components/Pagination/PaginationControls.stories.js +0 -112
  155. package/dist/components/Payment/PaymentDetailsCard.stories.js +0 -198
  156. package/dist/components/Payment/PaymentDisplay.stories.js +0 -302
  157. package/dist/components/Payment/TimerComponent.stories.js +0 -236
  158. package/dist/components/Process/Process.stories.js +0 -42
  159. package/dist/components/ProfileBadge/ProfileBadge.stories.js +0 -45
  160. package/dist/components/ProfileBox/ProfileBox.stories.js +0 -35
  161. package/dist/components/ProfileHeader/ProfileHeader.js +0 -252
  162. package/dist/components/ProfileHeader/ProfileHeader.styles.js +0 -65
  163. package/dist/components/ProfileStat/ProfileStat.stories.js +0 -66
  164. package/dist/components/ProofOfAddress/ProofOfAddress.styles.js +0 -53
  165. package/dist/components/QRCode/QRCode.stories.js +0 -104
  166. package/dist/components/Radio/Radio.stories.js +0 -73
  167. package/dist/components/RefreshButton/RefreshButton.stories.js +0 -38
  168. package/dist/components/RegisterAlgorand/AlgoAddressName.js +0 -138
  169. package/dist/components/RegisterAlgorand/AlgoAdressSelect.js +0 -443
  170. package/dist/components/RegisterAlgorand/AlgoConnectWallet.js +0 -47
  171. package/dist/components/RegisterAlgorand/AlgoSuccess.js +0 -38
  172. package/dist/components/RegisterAlgorand/Algorand.stories.js +0 -80
  173. package/dist/components/RegisterAlgorand/ChooseWallet.js +0 -97
  174. package/dist/components/RegisterAlgorand/SelectProject.js +0 -89
  175. package/dist/components/RegisterAlgorand/_styles.js +0 -28
  176. package/dist/components/RegisterAlgorand/flow.js +0 -409
  177. package/dist/components/RegisterAlgorand/flowWithMemo.js +0 -410
  178. package/dist/components/RegisterAlgorand/index.js +0 -48
  179. package/dist/components/RegisterConfirmModal/RegisterConfirmModal.stories.js +0 -41
  180. package/dist/components/RegisterEthereum/EthAddressLedger.js +0 -226
  181. package/dist/components/RegisterEthereum/EthAddressMetamask.js +0 -204
  182. package/dist/components/RegisterEthereum/EthAddressName.js +0 -135
  183. package/dist/components/RegisterEthereum/EthConnectLedger.js +0 -194
  184. package/dist/components/RegisterEthereum/EthConnectMetamask.js +0 -35
  185. package/dist/components/RegisterEthereum/EthFinish.js +0 -41
  186. package/dist/components/RegisterEthereum/EthIntro.js +0 -95
  187. package/dist/components/RegisterEthereum/_styles.js +0 -28
  188. package/dist/components/RegisterEthereum/index.js +0 -68
  189. package/dist/components/RegisterModal/RegisterModal.stories.js +0 -49
  190. package/dist/components/RequestDataBox/RequestDataBox.stories.js +0 -37
  191. package/dist/components/RiskQuestionnaire/RiskQuestionnaireContext.js +0 -185
  192. package/dist/components/RiskQuestionnaire/_styles.js +0 -15
  193. package/dist/components/SEO/SEO.stories.js +0 -60
  194. package/dist/components/SideLine/SideLine.stories.js +0 -28
  195. package/dist/components/SigningSubflow/SignSubAddressMetamask.js +0 -137
  196. package/dist/components/SigningSubflow/SignSubConnectLedger.js +0 -150
  197. package/dist/components/SigningSubflow/SignSubConnectMetamask.js +0 -137
  198. package/dist/components/SigningSubflow/SignSubIntro.js +0 -55
  199. package/dist/components/SigningSubflow/SignSubSendLedger.js +0 -150
  200. package/dist/components/SigningSubflow/SignSubSendMetamask.js +0 -62
  201. package/dist/components/SigningSubflow/SignSubTransactionLedger.js +0 -161
  202. package/dist/components/SigningSubflow/SignSubTransactionMetamask.js +0 -166
  203. package/dist/components/SigningSubflow/_styles.js +0 -34
  204. package/dist/components/SigningSubflow/index.js +0 -32
  205. package/dist/components/Slider/Slider.stories.js +0 -68
  206. package/dist/components/Snackbar/Snackbar.stories.js +0 -292
  207. package/dist/components/StatusTag/StatusTag.stories.js +0 -262
  208. package/dist/components/StepController/StepController.stories.js +0 -60
  209. package/dist/components/StepController/StepControllerProgress.stories.js +0 -49
  210. package/dist/components/StepsProgress/StepIndicator.stories.js +0 -153
  211. package/dist/components/StepsProgress/StepsProgress.stories.js +0 -49
  212. package/dist/components/Switch/Switch.stories.js +0 -81
  213. package/dist/components/Tabs/Tabs.stories.js +0 -36
  214. package/dist/components/TabsNav/TabNav.stories.js +0 -40
  215. package/dist/components/TabsNav/TabsNav.stories.js +0 -37
  216. package/dist/components/TeamOverview/TeamOverview.stories.js +0 -76
  217. package/dist/components/TermsModal/TermsModal.stories.js +0 -31
  218. package/dist/components/Text/Headline.stories.js +0 -48
  219. package/dist/components/Text/Text.stories.js +0 -70
  220. package/dist/components/TextLink/TextLink.stories.js +0 -35
  221. package/dist/components/Timeline/Timeline.stories.js +0 -393
  222. package/dist/components/ToDoList/ToDoList.stories.js +0 -133
  223. package/dist/components/ToDoList/ToDoListTask.stories.js +0 -70
  224. package/dist/components/TransactionDetails/TransactionDetails.stories.js +0 -55
  225. package/dist/components/TransactionDetails/TransactionDetailsTable.stories.js +0 -305
  226. package/dist/components/TransactionInfo/TransactionInfo.stories.js +0 -61
  227. package/dist/components/TwoFactorModal/TwoFactorModal.js +0 -100
  228. package/dist/components/VerifyEmailModal/VerifyEmailModal.stories.js +0 -59
  229. package/dist/components/headerHo/HeaderHo.stories.js +0 -35
  230. package/dist/components/icons/Arrow.stories.js +0 -42
  231. package/dist/components/icons/ArrowSimple.stories.js +0 -48
  232. package/dist/components/icons/Check.stories.js +0 -22
  233. package/dist/components/icons/Facebook.stories.js +0 -21
  234. package/dist/components/icons/Facebook_Logo.png +0 -0
  235. package/dist/components/icons/Info.stories.js +0 -16
  236. package/dist/components/icons/Instagram.stories.js +0 -21
  237. package/dist/components/icons/LI-In-Bug.png +0 -0
  238. package/dist/components/icons/LinkIcon.stories.js +0 -21
  239. package/dist/components/icons/LinkedIn.stories.js +0 -16
  240. package/dist/components/icons/Medium.stories.js +0 -16
  241. package/dist/components/icons/Reddit.stories.js +0 -21
  242. package/dist/components/icons/Share.stories.js +0 -16
  243. package/dist/components/icons/Telegram-Logo.png +0 -0
  244. package/dist/components/icons/Telegram.stories.js +0 -16
  245. package/dist/components/icons/Twitter.stories.js +0 -21
  246. package/dist/components/icons/X-logo-black.png +0 -0
  247. package/dist/components/icons/X.stories.js +0 -16
  248. package/dist/components/icons/Youtube.stories.js +0 -21
  249. package/dist/components/icons/youtube_social_circle_red.png +0 -0
  250. package/dist/components/logo/Logo.stories.js +0 -260
  251. package/dist/components/taxId/TaxId.stories.js +0 -50
  252. package/dist/components/video/Video.stories.js +0 -52
  253. package/dist/static/images/document-icon.svg +0 -3
  254. package/dist/static/images/sent-icon.svg +0 -10
@@ -80,15 +80,44 @@ const Modal = _ref => {
80
80
  isRegisterEntity,
81
81
  background,
82
82
  maxHeight,
83
- boxStyles
83
+ boxStyles,
84
+ maxWidth
84
85
  } = _ref;
85
86
  (0, _react.useEffect)(() => {
86
- //if modal open, disable scroll on the background
87
87
  if (isOpen) {
88
+ // Store current scroll position and body width BEFORE any changes
89
+ const scrollY = window.scrollY;
90
+ const bodyWidth = document.body.offsetWidth;
91
+
92
+ // Calculate scrollbar width
93
+ const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
94
+
95
+ // Set CSS variable for fixed elements (like header) to compensate
96
+ document.documentElement.style.setProperty('--scrollbar-compensation', "".concat(scrollbarWidth, "px"));
97
+
98
+ // Lock the body width to prevent any recalculation
99
+ document.body.style.width = "".concat(bodyWidth, "px");
100
+ document.body.style.position = 'fixed';
101
+ document.body.style.top = "-".concat(scrollY, "px");
102
+ document.body.style.left = '0';
88
103
  document.body.style.overflow = 'hidden';
89
104
  }
90
105
  return () => {
91
- document.body.style.overflow = 'unset';
106
+ if (isOpen) {
107
+ // Get scroll position from body's top offset
108
+ const scrollY = Math.abs(parseInt(document.body.style.top || '0', 10));
109
+
110
+ // Reset all styles
111
+ document.documentElement.style.setProperty('--scrollbar-compensation', '0px');
112
+ document.body.style.width = '';
113
+ document.body.style.position = '';
114
+ document.body.style.top = '';
115
+ document.body.style.left = '';
116
+ document.body.style.overflow = '';
117
+
118
+ // Restore scroll position
119
+ window.scrollTo(0, scrollY);
120
+ }
92
121
  };
93
122
  }, [isOpen]);
94
123
  return /*#__PURE__*/_react.default.createElement(_reactPortal.Portal, {
@@ -105,7 +134,7 @@ const Modal = _ref => {
105
134
  }, status => /*#__PURE__*/_react.default.createElement(_Modal.ModalRoot, {
106
135
  className: className,
107
136
  style: getTransitionStyles[status]
108
- }, /*#__PURE__*/_react.default.createElement(_global.default, null), /*#__PURE__*/_react.default.createElement(_Modal.Dimmer, {
137
+ }, /*#__PURE__*/_react.default.createElement(_Modal.Dimmer, {
109
138
  background: background,
110
139
  open: isOpen,
111
140
  kyc: kyc,
@@ -117,7 +146,8 @@ const Modal = _ref => {
117
146
  thin: thin,
118
147
  isRegisterEntity: isRegisterEntity,
119
148
  style: boxStyles,
120
- maxHeight: maxHeight
149
+ maxHeight: maxHeight,
150
+ maxWidth: maxWidth
121
151
  }, /*#__PURE__*/_react.default.createElement(_Modal.ModalClose, {
122
152
  onClick: onClose
123
153
  }), children)))));
@@ -132,7 +162,10 @@ Modal.propTypes = {
132
162
  isOpen: _propTypes.default.bool.isRequired,
133
163
  onClose: _propTypes.default.func.isRequired,
134
164
  background: _propTypes.default.string,
135
- boxStyle: _propTypes.default.object
165
+ boxStyle: _propTypes.default.object,
166
+ maxHeight: _propTypes.default.string,
167
+ /** Max width limit in pixels (e.g., '1200px'). Uses min(percentage, maxWidth) */
168
+ maxWidth: _propTypes.default.string
136
169
  };
137
170
  Modal.defaultProps = {
138
171
  className: '',
@@ -24,12 +24,12 @@ const Dimmer = exports.Dimmer = _styledComponents.default.div.withConfig({
24
24
  const Box = exports.Box = _styledComponents.default.div.withConfig({
25
25
  displayName: "Modalstyles__Box",
26
26
  componentId: "sc-9hc271-2"
27
- })(["display:inline-block;vertical-align:middle;position:relative;left:0;top:0;width:100%;background-color:", ";font-size:10px;text-align:left;box-shadow:0 2px 20px 0 rgba(0,0,0,0.1);max-height:", ";", " ", " ", " ", " @media screen and (max-width:767px){min-height:100vh;}", ""], _colors.default.white, props => props.maxHeight || 'unset', props => props.fullscreen && "\n height: 90vh;\n ", props => props.kyc && "\n width: 100vw;\n height: 100vh;\n max-width: 1024px!important;\n max-height: 768px!important;\n ", _rwd.default.Medium(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n max-width: ", ";\n\n ", "\n "])), (0, _grid.default)(12), props => props.thin && "\n max-width: ".concat((0, _grid.default)(8), ";\n ")), _rwd.default.XLarge(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n //max-width: ", ";\n\n ", "\n "])), (0, _grid.default)(11), props => props.thin && "\n max-width: ".concat((0, _grid.default)(8), ";\n ")), _ref => {
27
+ })(["display:inline-block;vertical-align:middle;position:relative;left:0;top:0;width:100%;background-color:", ";font-size:10px;text-align:left;box-shadow:0 2px 20px 0 rgba(0,0,0,0.1);max-height:", ";", " ", " ", " ", " @media screen and (max-width:767px){min-height:100vh;}", " ", ""], _colors.default.white, props => props.maxHeight || 'unset', props => props.fullscreen && "\n height: 90vh;\n ", props => props.kyc && "\n width: 100vw;\n height: 100vh;\n max-width: 1024px!important;\n max-height: 768px!important;\n ", _rwd.default.Medium(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n max-width: min(", ", ", ");\n\n ", "\n "])), (0, _grid.default)(12), props => props.maxWidth || '1200px', props => props.thin && "\n max-width: min(".concat((0, _grid.default)(8), ", ").concat(props.maxWidth || '800px', ");\n ")), _rwd.default.XLarge(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n max-width: min(", ", ", ");\n\n ", "\n "])), (0, _grid.default)(12), props => props.maxWidth || '1500px', props => props.thin && "\n max-width: min(".concat((0, _grid.default)(8), ", ").concat(props.maxWidth || '800px', ");\n ")), _ref => {
28
28
  let {
29
29
  isRegisterEntity
30
30
  } = _ref;
31
31
  return isRegisterEntity && (0, _styledComponents.css)(["max-width:55% !important;height:65vh;"]);
32
- });
32
+ }, props => props.maxWidth && "\n max-width: ".concat(props.maxWidth, " !important;\n "));
33
33
  const ModalInnerSmartContractAddress = exports.ModalInnerSmartContractAddress = _styledComponents.default.input.withConfig({
34
34
  displayName: "Modalstyles__ModalInnerSmartContractAddress",
35
35
  componentId: "sc-9hc271-3"
@@ -30,15 +30,57 @@ const SideModal = _ref => {
30
30
  (0, _react.useEffect)(() => {
31
31
  // Disable scroll on background when modal is open
32
32
  if (isOpen) {
33
+ // Calculate scrollbar width before hiding it
34
+ const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
35
+
36
+ // Store current scroll position
37
+ const scrollY = window.scrollY;
38
+
39
+ // Apply styles to prevent layout shift
40
+ document.body.style.position = 'fixed';
41
+ document.body.style.top = "-".concat(scrollY, "px");
42
+ document.body.style.left = '0';
43
+ document.body.style.right = '0';
33
44
  document.body.style.overflow = 'hidden';
45
+ document.body.style.paddingRight = "".concat(scrollbarWidth, "px");
46
+
47
+ // Set CSS variable for fixed elements (like headers)
48
+ document.documentElement.style.setProperty('--scrollbar-compensation', "".concat(scrollbarWidth, "px"));
49
+
50
+ // Store scroll position for restoration
51
+ document.body.dataset.scrollY = scrollY;
52
+
34
53
  // Small delay to trigger animation
35
54
  setTimeout(() => setIsVisible(true), 10);
36
55
  } else {
37
- document.body.style.overflow = 'unset';
56
+ // Restore scroll position
57
+ const scrollY = document.body.dataset.scrollY || '0';
58
+
59
+ // Reset all body styles
60
+ document.body.style.position = '';
61
+ document.body.style.top = '';
62
+ document.body.style.left = '';
63
+ document.body.style.right = '';
64
+ document.body.style.overflow = '';
65
+ document.body.style.paddingRight = '';
66
+
67
+ // Reset CSS variable
68
+ document.documentElement.style.setProperty('--scrollbar-compensation', '0px');
69
+
70
+ // Restore scroll position
71
+ window.scrollTo(0, parseInt(scrollY));
38
72
  setIsVisible(false);
39
73
  }
40
74
  return () => {
41
- document.body.style.overflow = 'unset';
75
+ const scrollY = document.body.dataset.scrollY || '0';
76
+ document.body.style.position = '';
77
+ document.body.style.top = '';
78
+ document.body.style.left = '';
79
+ document.body.style.right = '';
80
+ document.body.style.overflow = '';
81
+ document.body.style.paddingRight = '';
82
+ document.documentElement.style.setProperty('--scrollbar-compensation', '0px');
83
+ window.scrollTo(0, parseInt(scrollY));
42
84
  };
43
85
  }, [isOpen]);
44
86
 
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.showSuccess = exports.showProgress = exports.default = exports.SuccessModalComponent = exports.SuccessModal = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _client = require("react-dom/client");
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _dotlottieReact = require("@lottiefiles/dotlottie-react");
11
+ var _Modal = require("../Modal");
12
+ var _SuccessModal = require("./SuccessModal.styles");
13
+ var _checked = _interopRequireDefault(require("../../../static/animations/checked.lottie"));
14
+ var _progress = _interopRequireDefault(require("../../../static/animations/progress.lottie"));
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
21
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
23
+ const variantConfig = {
24
+ success: {
25
+ animation: _checked.default,
26
+ segment: [0, 50],
27
+ loop: false
28
+ },
29
+ progress: {
30
+ animation: _progress.default,
31
+ segment: null,
32
+ loop: false
33
+ }
34
+ };
35
+ const SuccessModalComponent = _ref => {
36
+ let {
37
+ isOpen,
38
+ onClose,
39
+ variant = 'success',
40
+ title,
41
+ subtitle,
42
+ content,
43
+ animationSrc,
44
+ loop,
45
+ autoplay = true,
46
+ segment,
47
+ speed = 1,
48
+ modalProps = {},
49
+ maxWidth = '800px'
50
+ } = _ref;
51
+ const config = variantConfig[variant] || variantConfig.success;
52
+ const animationSource = animationSrc || config.animation;
53
+ const animationLoop = loop !== undefined ? loop : config.loop;
54
+ const animationSegment = segment || config.segment;
55
+ (0, _react.useEffect)(() => {
56
+ if (!isOpen) return;
57
+ const handleKeyDown = e => {
58
+ if (e.key === 'Escape') {
59
+ onClose === null || onClose === void 0 || onClose();
60
+ }
61
+ };
62
+ document.addEventListener('keydown', handleKeyDown);
63
+ return () => document.removeEventListener('keydown', handleKeyDown);
64
+ }, [isOpen, onClose]);
65
+ return /*#__PURE__*/_react.default.createElement(_Modal.Modal, _extends({
66
+ isOpen: isOpen,
67
+ onClose: onClose,
68
+ maxHeight: "90vh",
69
+ boxStyles: {
70
+ minHeight: 'unset'
71
+ },
72
+ maxWidth: maxWidth
73
+ }, modalProps), /*#__PURE__*/_react.default.createElement(_SuccessModal.SuccessModalContent, null, /*#__PURE__*/_react.default.createElement(_SuccessModal.AnimationContainer, null, /*#__PURE__*/_react.default.createElement(_dotlottieReact.DotLottieReact, {
74
+ src: animationSource,
75
+ loop: animationLoop,
76
+ autoplay: autoplay,
77
+ speed: speed,
78
+ segment: animationSegment,
79
+ style: {
80
+ width: '100%',
81
+ height: '100%'
82
+ }
83
+ })), title && /*#__PURE__*/_react.default.createElement(_SuccessModal.Title, null, title), subtitle && /*#__PURE__*/_react.default.createElement(_SuccessModal.Subtitle, null, subtitle), content && /*#__PURE__*/_react.default.createElement(_SuccessModal.ContentWrapper, null, content)));
84
+ };
85
+ exports.SuccessModal = exports.SuccessModalComponent = SuccessModalComponent;
86
+ SuccessModalComponent.propTypes = {
87
+ isOpen: _propTypes.default.bool.isRequired,
88
+ onClose: _propTypes.default.func.isRequired,
89
+ variant: _propTypes.default.oneOf(['success', 'progress']),
90
+ title: _propTypes.default.string,
91
+ subtitle: _propTypes.default.string,
92
+ content: _propTypes.default.node,
93
+ animationSrc: _propTypes.default.string,
94
+ loop: _propTypes.default.bool,
95
+ autoplay: _propTypes.default.bool,
96
+ segment: _propTypes.default.arrayOf(_propTypes.default.number),
97
+ speed: _propTypes.default.number,
98
+ modalProps: _propTypes.default.object,
99
+ maxWidth: _propTypes.default.string
100
+ };
101
+ let successContainer = null;
102
+ let successRoot = null;
103
+ const showSuccess = function () {
104
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
105
+ const {
106
+ variant = 'success',
107
+ title = '',
108
+ subtitle = '',
109
+ content = null,
110
+ animationSrc = null,
111
+ loop,
112
+ autoplay = true,
113
+ segment,
114
+ speed = 1,
115
+ autoClose = 0,
116
+ modalProps = {},
117
+ maxWidth = '800px'
118
+ } = options;
119
+ return new Promise(resolve => {
120
+ if (!successContainer) {
121
+ successContainer = document.createElement('div');
122
+ successContainer.id = 'success-modal-root';
123
+ document.body.appendChild(successContainer);
124
+ successRoot = (0, _client.createRoot)(successContainer);
125
+ }
126
+ let isClosed = false;
127
+ const handleClose = () => {
128
+ if (isClosed) return;
129
+ isClosed = true;
130
+ renderModal(false);
131
+ setTimeout(() => {
132
+ renderModal(null);
133
+ resolve();
134
+ }, 350);
135
+ };
136
+ const renderModal = isOpen => {
137
+ if (isOpen === null) {
138
+ successRoot.render(null);
139
+ return;
140
+ }
141
+ successRoot.render(/*#__PURE__*/_react.default.createElement(SuccessModalComponent, {
142
+ isOpen: isOpen,
143
+ onClose: handleClose,
144
+ variant: variant,
145
+ title: title,
146
+ subtitle: subtitle,
147
+ content: content,
148
+ animationSrc: animationSrc,
149
+ loop: loop,
150
+ autoplay: autoplay,
151
+ segment: segment,
152
+ speed: speed,
153
+ modalProps: modalProps,
154
+ maxWidth: maxWidth
155
+ }));
156
+ };
157
+ renderModal(true);
158
+ if (autoClose > 0) {
159
+ setTimeout(() => {
160
+ handleClose();
161
+ }, autoClose);
162
+ }
163
+ });
164
+ };
165
+ exports.showSuccess = showSuccess;
166
+ const showProgress = function () {
167
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
168
+ return showSuccess(_objectSpread(_objectSpread({}, options), {}, {
169
+ variant: 'progress'
170
+ }));
171
+ };
172
+ exports.showProgress = showProgress;
173
+ var _default = exports.default = showSuccess;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Title = exports.SuccessModalContent = exports.Subtitle = exports.ContentWrapper = exports.AnimationContainer = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _colors = _interopRequireDefault(require("../../../styles/colors"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ const SuccessModalContent = exports.SuccessModalContent = _styledComponents.default.div.withConfig({
11
+ displayName: "SuccessModalstyles__SuccessModalContent",
12
+ componentId: "sc-8cspgo-0"
13
+ })(["display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 24px;max-height:calc(90vh - 60px);overflow-y:auto;"]);
14
+ const AnimationContainer = exports.AnimationContainer = _styledComponents.default.div.withConfig({
15
+ displayName: "SuccessModalstyles__AnimationContainer",
16
+ componentId: "sc-8cspgo-1"
17
+ })(["width:80px;height:80px;min-height:80px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Open Sans';"]);
18
+ const Title = exports.Title = _styledComponents.default.h2.withConfig({
19
+ displayName: "SuccessModalstyles__Title",
20
+ componentId: "sc-8cspgo-2"
21
+ })(["margin:0 0 16px 0;font-size:22px;font-weight:800;color:", ";text-transform:uppercase;letter-spacing:0.8px;line-height:28px;flex-shrink:0;font-family:'Open Sans';"], _colors.default.black);
22
+ const Subtitle = exports.Subtitle = _styledComponents.default.p.withConfig({
23
+ displayName: "SuccessModalstyles__Subtitle",
24
+ componentId: "sc-8cspgo-3"
25
+ })(["margin:0 0 24px 0;font-size:16px;font-weight:300;line-height:24px;letter-spacing:0.6px;max-width:550px;flex-shrink:0;"]);
26
+ const ContentWrapper = exports.ContentWrapper = _styledComponents.default.div.withConfig({
27
+ displayName: "SuccessModalstyles__ContentWrapper",
28
+ componentId: "sc-8cspgo-4"
29
+ })(["width:100%;margin-top:8px;"]);
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "SuccessModal", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _SuccessModal.SuccessModal;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "SuccessModalComponent", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _SuccessModal.SuccessModalComponent;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "default", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _SuccessModal.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "showProgress", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _SuccessModal.showProgress;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "showSuccess", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _SuccessModal.showSuccess;
34
+ }
35
+ });
36
+ var _SuccessModal = _interopRequireWildcard(require("./SuccessModal"));
37
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -13,11 +13,11 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
13
13
  const CardContainer = _styledComponents.default.div.withConfig({
14
14
  displayName: "PaymentDetailsCard__CardContainer",
15
15
  componentId: "sc-e830fo-0"
16
- })(["background:", ";border-radius:15px;border:1px solid ", ";padding:20px 32px;"], _colors.default.white, _colors.default.lightGrey);
16
+ })(["background:", ";border-radius:10px;border:1px solid ", ";padding:20px 32px;"], _colors.default.white, _colors.default.lightGrey);
17
17
  const CardTitle = _styledComponents.default.div.withConfig({
18
18
  displayName: "PaymentDetailsCard__CardTitle",
19
19
  componentId: "sc-e830fo-1"
20
- })(["font-size:16px;font-weight:600;margin-bottom:20px;color:", ";"], _colors.default.black);
20
+ })(["font-size:12px;letter-spacing:0.6px;font-weight:600;color:", ";background:#f1f5f9;padding:12px 24px;margin:-20px -32px 20px -32px;border-radius:9px 9px 0 0;border-bottom:1px solid ", ";text-align:start;"], _colors.default.futureBlack, _colors.default.lightGrey);
21
21
  const AmountSection = _styledComponents.default.div.withConfig({
22
22
  displayName: "PaymentDetailsCard__AmountSection",
23
23
  componentId: "sc-e830fo-2"
@@ -25,7 +25,7 @@ const AmountSection = _styledComponents.default.div.withConfig({
25
25
  const AmountLabel = _styledComponents.default.div.withConfig({
26
26
  displayName: "PaymentDetailsCard__AmountLabel",
27
27
  componentId: "sc-e830fo-3"
28
- })(["font-size:14px;font-weight:300;line-height:20px;letter-spacing:0.08px;margin-bottom:12px;color:", ";"], _colors.default.grey2);
28
+ })(["font-size:11px;font-weight:400;line-height:20px;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;color:", ";text-align:start;"], _colors.default.futureBlack);
29
29
  const AmountDisplay = _styledComponents.default.div.withConfig({
30
30
  displayName: "PaymentDetailsCard__AmountDisplay",
31
31
  componentId: "sc-e830fo-4"
@@ -41,7 +41,7 @@ const CurrencyIcon = _styledComponents.default.img.withConfig({
41
41
  const AmountValue = _styledComponents.default.div.withConfig({
42
42
  displayName: "PaymentDetailsCard__AmountValue",
43
43
  componentId: "sc-e830fo-7"
44
- })(["font-size:34px;font-weight:800;text-transform:uppercase;line-height:40px;letter-spacing:1.5px;word-wrap:break-word;"]);
44
+ })(["font-size:34px;font-weight:600;text-transform:uppercase;line-height:40px;letter-spacing:1.5px;word-wrap:break-word;color:", ";"], _colors.default.futureBlack);
45
45
  const Separator = _styledComponents.default.hr.withConfig({
46
46
  displayName: "PaymentDetailsCard__Separator",
47
47
  componentId: "sc-e830fo-8"
@@ -53,19 +53,19 @@ const DetailsSection = _styledComponents.default.div.withConfig({
53
53
  const DetailRow = _styledComponents.default.div.withConfig({
54
54
  displayName: "PaymentDetailsCard__DetailRow",
55
55
  componentId: "sc-e830fo-10"
56
- })(["display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;&:last-child{margin-bottom:0;}"]);
56
+ })(["display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid #f1f5f9;&:first-child{padding-top:0;}&:last-child{padding:10px 0 0 0;border-bottom:none;}"]);
57
57
  const DetailLabel = _styledComponents.default.div.withConfig({
58
58
  displayName: "PaymentDetailsCard__DetailLabel",
59
59
  componentId: "sc-e830fo-11"
60
- })(["display:flex;align-items:center;gap:10px;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0.1px;"]);
60
+ })(["display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;line-height:20px;letter-spacing:0.5px;color:#56606f;i{font-size:14px;}"]);
61
61
  const DetailValue = _styledComponents.default.div.withConfig({
62
62
  displayName: "PaymentDetailsCard__DetailValue",
63
63
  componentId: "sc-e830fo-12"
64
- })(["font-size:16px;font-weight:700;line-height:24px;letter-spacing:0.1px;word-wrap:break-word;text-align:right;max-width:60%;color:", ";"], _colors.default.black);
64
+ })(["font-size:14px;font-weight:600;line-height:20px;letter-spacing:0.5px;word-wrap:break-word;text-align:right;max-width:60%;color:", ";"], _colors.default.black);
65
65
  const PlaceholderValue = _styledComponents.default.span.withConfig({
66
66
  displayName: "PaymentDetailsCard__PlaceholderValue",
67
67
  componentId: "sc-e830fo-13"
68
- })(["color:", ";font-weight:400;"], _colors.default.grey2);
68
+ })(["color:#62748e;font-weight:300;font-size:14px;letter-spacing:0.5px;"]);
69
69
  const InfoSectionContainer = _styledComponents.default.div.withConfig({
70
70
  displayName: "PaymentDetailsCard__InfoSectionContainer",
71
71
  componentId: "sc-e830fo-14"
@@ -123,7 +123,8 @@ const PaymentDetailsCard = _ref2 => {
123
123
  amountSection,
124
124
  details,
125
125
  infoSection,
126
- showSeparators = true
126
+ showSeparators = true,
127
+ containerStyle
127
128
  } = _ref2;
128
129
  // Render amount section
129
130
  const renderAmountSection = () => {
@@ -158,7 +159,7 @@ const PaymentDetailsCard = _ref2 => {
158
159
  }
159
160
  return /*#__PURE__*/_react.default.createElement(CurrencyLogo, {
160
161
  color: logoColor
161
- }, currency ? currency.charAt(0).toUpperCase() : '?');
162
+ }, currency ? currency.charAt(0).toUpperCase() : '');
162
163
  };
163
164
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(AmountSection, null, /*#__PURE__*/_react.default.createElement(AmountLabel, null, label), /*#__PURE__*/_react.default.createElement(AmountDisplay, null, renderCurrencyLogo(), /*#__PURE__*/_react.default.createElement(AmountValue, null, displayAmount))), showSeparators && /*#__PURE__*/_react.default.createElement(Separator, null));
164
165
  };
@@ -183,7 +184,9 @@ const PaymentDetailsCard = _ref2 => {
183
184
  if (!infoSection) return null;
184
185
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showSeparators && /*#__PURE__*/_react.default.createElement(Separator, null), /*#__PURE__*/_react.default.createElement(InfoSectionContainer, null, infoSection));
185
186
  };
186
- return /*#__PURE__*/_react.default.createElement(CardContainer, null, title && /*#__PURE__*/_react.default.createElement(CardTitle, null, title), renderAmountSection(), renderDetailsSection(), renderInfoSection());
187
+ return /*#__PURE__*/_react.default.createElement(CardContainer, {
188
+ style: containerStyle
189
+ }, title && /*#__PURE__*/_react.default.createElement(CardTitle, null, title), renderAmountSection(), renderDetailsSection(), renderInfoSection());
187
190
  };
188
191
  exports.PaymentDetailsCard = PaymentDetailsCard;
189
192
  var _default = exports.default = PaymentDetailsCard;
@@ -16,9 +16,7 @@ var _SectionTitle = require("../SectionTitle/SectionTitle.styles");
16
16
  var _reactTippy = require("react-tippy");
17
17
  var _Grid = require("../Grid/Grid.styles");
18
18
  var _rwd = _interopRequireDefault(require("../../styles/rwd"));
19
- var _usdcLogo = _interopRequireDefault(require("../../static/images/usdc-logo.svg"));
20
- var _usdqLogo = _interopRequireDefault(require("../../static/images/usdq-logo.png"));
21
- var _bitcoinLogo = _interopRequireDefault(require("../../static/images/bitcoin-logo.svg"));
19
+ var _formatCurrencyValue = require("../../utils/formatCurrencyValue");
22
20
  var _templateObject, _templateObject2, _templateObject3;
23
21
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
24
22
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -105,14 +103,6 @@ const PaymentDisplay = _ref2 => {
105
103
  onAddressCopy,
106
104
  copyButtonStyle
107
105
  } = _ref2;
108
- const getCurrencyIcon = currency => {
109
- if (customCurrencyIcon) return customCurrencyIcon;
110
- if (!currency) return null;
111
- if (currency.toLowerCase().includes('btc')) return _bitcoinLogo.default;
112
- if (currency.toLowerCase().includes('usdc')) return _usdcLogo.default;
113
- if (currency.toLowerCase().includes('usdq')) return _usdqLogo.default;
114
- return null;
115
- };
116
106
  const defaultQRCodeStyle = {
117
107
  backgroundColor: '#000000',
118
108
  padding: 18,
@@ -131,7 +121,7 @@ const PaymentDisplay = _ref2 => {
131
121
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_SectionTitle.SectionTitle, null, amountTitle), /*#__PURE__*/_react.default.createElement(AmountSection, {
132
122
  style: amountSectionStyle
133
123
  }, /*#__PURE__*/_react.default.createElement(AmountIcon, {
134
- src: getCurrencyIcon(currency),
124
+ src: (0, _formatCurrencyValue.getCurrencyIcon)(currency, customCurrencyIcon),
135
125
  style: amountIconStyle,
136
126
  alt: currency
137
127
  }), /*#__PURE__*/_react.default.createElement(AmountText, {
@@ -123,10 +123,13 @@ const SnackbarItem = _ref => {
123
123
  }
124
124
  };
125
125
  const displayIcon = icon !== undefined ? icon : defaultIcons[variant];
126
+ const isPermanent = duration === 'permanent' || duration === 0;
126
127
  return /*#__PURE__*/_react.default.createElement(_Snackbar.SnackbarWrapper, {
127
128
  $variant: variant,
128
129
  $isExiting: isExiting,
129
130
  $hasClick: !!onClick,
131
+ $duration: duration,
132
+ $isPermanent: isPermanent,
130
133
  onClick: onClick ? handleClick : undefined
131
134
  }, displayIcon && /*#__PURE__*/_react.default.createElement(_Snackbar.IconWrapper, {
132
135
  $variant: variant
@@ -14,6 +14,9 @@ const slideInLeft = (0, _styledComponents.keyframes)(["from{opacity:0;transform:
14
14
  const slideInUp = (0, _styledComponents.keyframes)(["from{opacity:0;transform:translateY(100%);}to{opacity:1;transform:translateY(0);}"]);
15
15
  const slideInDown = (0, _styledComponents.keyframes)(["from{opacity:0;transform:translateY(-100%);}to{opacity:1;transform:translateY(0);}"]);
16
16
 
17
+ // Progress bar animation - shrinks from 100% to 0%
18
+ const progressExpire = (0, _styledComponents.keyframes)(["from{width:100%;}to{width:0%;}"]);
19
+
17
20
  // Variant configurations
18
21
  const variantStyles = exports.variantStyles = {
19
22
  info: {
@@ -60,31 +63,37 @@ const SnackbarContainer = exports.SnackbarContainer = _styledComponents.default.
60
63
  const SnackbarWrapper = exports.SnackbarWrapper = _styledComponents.default.div.withConfig({
61
64
  displayName: "Snackbarstyles__SnackbarWrapper",
62
65
  componentId: "sc-xf2wxi-1"
63
- })(["display:flex;align-items:center;gap:12px;min-width:320px;max-width:480px;padding:12px 16px;background-color:", ";box-shadow:0 1px 2px -1px rgba(0,0,0,0.12);border-radius:6px;border:1px solid ", ";border-bottom:3px solid ", ";pointer-events:auto;animation:", " 0.3s ease-out forwards;", ""], _colors.default.white, _colors.default.grey, _ref3 => {
64
- var _variantStyles$$varia;
66
+ })(["position:relative;display:flex;align-items:center;gap:12px;min-width:320px;max-width:480px;padding:12px 16px;background-color:", ";box-shadow:0 1px 2px -1px rgba(0,0,0,0.12);border-radius:6px;border:1px solid ", ";pointer-events:auto;overflow:hidden;animation:", " 0.3s ease-out forwards;&::after{content:'';position:absolute;bottom:0;left:0;height:3px;background-color:", ";border-radius:0 0 0 6px;", "}", ""], _colors.default.white, _colors.default.grey, _ref3 => {
65
67
  let {
66
- $variant
68
+ $isExiting
67
69
  } = _ref3;
68
- return ((_variantStyles$$varia = variantStyles[$variant]) === null || _variantStyles$$varia === void 0 ? void 0 : _variantStyles$$varia.borderColor) || _colors.default.blue;
70
+ return $isExiting ? slideOut : 'none';
69
71
  }, _ref4 => {
72
+ var _variantStyles$$varia;
70
73
  let {
71
- $isExiting
74
+ $variant
72
75
  } = _ref4;
73
- return $isExiting ? slideOut : 'none';
76
+ return ((_variantStyles$$varia = variantStyles[$variant]) === null || _variantStyles$$varia === void 0 ? void 0 : _variantStyles$$varia.borderColor) || _colors.default.blue;
74
77
  }, _ref5 => {
75
78
  let {
76
- $hasClick
79
+ $duration,
80
+ $isPermanent
77
81
  } = _ref5;
82
+ return $isPermanent ? (0, _styledComponents.css)(["width:100%;"]) : (0, _styledComponents.css)(["animation:", " ", "ms linear forwards;"], progressExpire, $duration);
83
+ }, _ref6 => {
84
+ let {
85
+ $hasClick
86
+ } = _ref6;
78
87
  return $hasClick && (0, _styledComponents.css)(["cursor:pointer;&:hover{box-shadow:0 4px 24px rgba(0,0,0,0.16);}"]);
79
88
  });
80
89
  const IconWrapper = exports.IconWrapper = _styledComponents.default.div.withConfig({
81
90
  displayName: "Snackbarstyles__IconWrapper",
82
91
  componentId: "sc-xf2wxi-2"
83
- })(["flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:", ";svg{width:100%;height:100%;}"], _ref6 => {
92
+ })(["flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:", ";svg{width:100%;height:100%;}"], _ref7 => {
84
93
  var _variantStyles$$varia2;
85
94
  let {
86
95
  $variant
87
- } = _ref6;
96
+ } = _ref7;
88
97
  return ((_variantStyles$$varia2 = variantStyles[$variant]) === null || _variantStyles$$varia2 === void 0 ? void 0 : _variantStyles$$varia2.iconColor) || _colors.default.blue;
89
98
  });
90
99
  const Message = exports.Message = _styledComponents.default.div.withConfig({