@spare-technologies/spare-link 0.1.0-beta.0

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 (648) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/LICENSE +21 -0
  3. package/README.md +173 -0
  4. package/assets/fonts/MetroSans-Bold.otf +0 -0
  5. package/assets/fonts/MetroSans-Light.otf +0 -0
  6. package/assets/fonts/MetroSans-Medium.otf +0 -0
  7. package/assets/fonts/MetroSans-Regular.otf +0 -0
  8. package/assets/fonts/MetroSans-SemiBold.otf +0 -0
  9. package/assets/images/altareq_logo_mini.png +0 -0
  10. package/assets/images/altareq_logo_transparent_bg.png +0 -0
  11. package/assets/images/altareq_logo_white_bg.png +0 -0
  12. package/assets/images/spare_logo.png +0 -0
  13. package/lib/commonjs/core/client/link-api-client.js +297 -0
  14. package/lib/commonjs/core/client/link-api-client.js.map +1 -0
  15. package/lib/commonjs/core/errors/payment-api-error.js +35 -0
  16. package/lib/commonjs/core/errors/payment-api-error.js.map +1 -0
  17. package/lib/commonjs/core/models/index.js +2 -0
  18. package/lib/commonjs/core/models/index.js.map +1 -0
  19. package/lib/commonjs/core/models/link-session-status.js +14 -0
  20. package/lib/commonjs/core/models/link-session-status.js.map +1 -0
  21. package/lib/commonjs/core/models/payment-return-params.js +42 -0
  22. package/lib/commonjs/core/models/payment-return-params.js.map +1 -0
  23. package/lib/commonjs/core/models/payment-type.js +45 -0
  24. package/lib/commonjs/core/models/payment-type.js.map +1 -0
  25. package/lib/commonjs/core/models/wire-mappers.js +277 -0
  26. package/lib/commonjs/core/models/wire-mappers.js.map +1 -0
  27. package/lib/commonjs/core/services/consent-presenter.js +150 -0
  28. package/lib/commonjs/core/services/consent-presenter.js.map +1 -0
  29. package/lib/commonjs/core/services/execute-resume-if-needed.js +216 -0
  30. package/lib/commonjs/core/services/execute-resume-if-needed.js.map +1 -0
  31. package/lib/commonjs/core/services/multi-payment-rules-presenter.js +151 -0
  32. package/lib/commonjs/core/services/multi-payment-rules-presenter.js.map +1 -0
  33. package/lib/commonjs/core/services/payment-flow-controller.js +547 -0
  34. package/lib/commonjs/core/services/payment-flow-controller.js.map +1 -0
  35. package/lib/commonjs/core/services/payment-flow-state.js +110 -0
  36. package/lib/commonjs/core/services/payment-flow-state.js.map +1 -0
  37. package/lib/commonjs/core/services/payment-result-mapper.js +49 -0
  38. package/lib/commonjs/core/services/payment-result-mapper.js.map +1 -0
  39. package/lib/commonjs/core/services/pending-session-store.js +6 -0
  40. package/lib/commonjs/core/services/pending-session-store.js.map +1 -0
  41. package/lib/commonjs/core/services/presentation-utils.js +11 -0
  42. package/lib/commonjs/core/services/presentation-utils.js.map +1 -0
  43. package/lib/commonjs/core/services/redirect-buffer.js +40 -0
  44. package/lib/commonjs/core/services/redirect-buffer.js.map +1 -0
  45. package/lib/commonjs/core/services/user-friendly-messages.js +46 -0
  46. package/lib/commonjs/core/services/user-friendly-messages.js.map +1 -0
  47. package/lib/commonjs/index.js +294 -0
  48. package/lib/commonjs/index.js.map +1 -0
  49. package/lib/commonjs/internal/bank-redirect.js +53 -0
  50. package/lib/commonjs/internal/bank-redirect.js.map +1 -0
  51. package/lib/commonjs/internal/deep-link-listener.js +39 -0
  52. package/lib/commonjs/internal/deep-link-listener.js.map +1 -0
  53. package/lib/commonjs/internal/event-emitter.js +36 -0
  54. package/lib/commonjs/internal/event-emitter.js.map +1 -0
  55. package/lib/commonjs/internal/index.js +34 -0
  56. package/lib/commonjs/internal/index.js.map +1 -0
  57. package/lib/commonjs/internal/logger.js +67 -0
  58. package/lib/commonjs/internal/logger.js.map +1 -0
  59. package/lib/commonjs/internal/redact-uri.js +25 -0
  60. package/lib/commonjs/internal/redact-uri.js.map +1 -0
  61. package/lib/commonjs/internal/secure-store-pending-session-store.js +92 -0
  62. package/lib/commonjs/internal/secure-store-pending-session-store.js.map +1 -0
  63. package/lib/commonjs/internal/telemetry-collector.js +80 -0
  64. package/lib/commonjs/internal/telemetry-collector.js.map +1 -0
  65. package/lib/commonjs/package.json +1 -0
  66. package/lib/commonjs/public/constants.js +21 -0
  67. package/lib/commonjs/public/constants.js.map +1 -0
  68. package/lib/commonjs/public/index.js +152 -0
  69. package/lib/commonjs/public/index.js.map +1 -0
  70. package/lib/commonjs/public/payment-result.js +48 -0
  71. package/lib/commonjs/public/payment-result.js.map +1 -0
  72. package/lib/commonjs/public/recovery-result.js +40 -0
  73. package/lib/commonjs/public/recovery-result.js.map +1 -0
  74. package/lib/commonjs/public/spare-link-callbacks.js +6 -0
  75. package/lib/commonjs/public/spare-link-callbacks.js.map +1 -0
  76. package/lib/commonjs/public/spare-link-config.js +62 -0
  77. package/lib/commonjs/public/spare-link-config.js.map +1 -0
  78. package/lib/commonjs/public/spare-link-event.js +120 -0
  79. package/lib/commonjs/public/spare-link-event.js.map +1 -0
  80. package/lib/commonjs/public/spare-link-host-api.js +6 -0
  81. package/lib/commonjs/public/spare-link-host-api.js.map +1 -0
  82. package/lib/commonjs/public/spare-link-instance.js +285 -0
  83. package/lib/commonjs/public/spare-link-instance.js.map +1 -0
  84. package/lib/commonjs/public/spare-link-session.js +26 -0
  85. package/lib/commonjs/public/spare-link-session.js.map +1 -0
  86. package/lib/commonjs/public/spare-link.js +31 -0
  87. package/lib/commonjs/public/spare-link.js.map +1 -0
  88. package/lib/commonjs/ui/consent/charge-bearer-display.js +99 -0
  89. package/lib/commonjs/ui/consent/charge-bearer-display.js.map +1 -0
  90. package/lib/commonjs/ui/consent/consent-accordion.js +94 -0
  91. package/lib/commonjs/ui/consent/consent-accordion.js.map +1 -0
  92. package/lib/commonjs/ui/consent/consent-summary-section.js +27 -0
  93. package/lib/commonjs/ui/consent/consent-summary-section.js.map +1 -0
  94. package/lib/commonjs/ui/consent/cop-information.js +168 -0
  95. package/lib/commonjs/ui/consent/cop-information.js.map +1 -0
  96. package/lib/commonjs/ui/consent/international-payment-summary.js +98 -0
  97. package/lib/commonjs/ui/consent/international-payment-summary.js.map +1 -0
  98. package/lib/commonjs/ui/consent/label-value-rows.js +59 -0
  99. package/lib/commonjs/ui/consent/label-value-rows.js.map +1 -0
  100. package/lib/commonjs/ui/consent/multi-payment-rules-list.js +130 -0
  101. package/lib/commonjs/ui/consent/multi-payment-rules-list.js.map +1 -0
  102. package/lib/commonjs/ui/consent/multi-payment-summary.js +99 -0
  103. package/lib/commonjs/ui/consent/multi-payment-summary.js.map +1 -0
  104. package/lib/commonjs/ui/consent/single-payment-summary.js +158 -0
  105. package/lib/commonjs/ui/consent/single-payment-summary.js.map +1 -0
  106. package/lib/commonjs/ui/consent/terms-link.js +35 -0
  107. package/lib/commonjs/ui/consent/terms-link.js.map +1 -0
  108. package/lib/commonjs/ui/hooks/use-payment-flow-state.js +16 -0
  109. package/lib/commonjs/ui/hooks/use-payment-flow-state.js.map +1 -0
  110. package/lib/commonjs/ui/payment-flow-page.js +235 -0
  111. package/lib/commonjs/ui/payment-flow-page.js.map +1 -0
  112. package/lib/commonjs/ui/screens/bank-selection-screen.js +215 -0
  113. package/lib/commonjs/ui/screens/bank-selection-screen.js.map +1 -0
  114. package/lib/commonjs/ui/screens/consent-details-screen.js +124 -0
  115. package/lib/commonjs/ui/screens/consent-details-screen.js.map +1 -0
  116. package/lib/commonjs/ui/screens/index.js +48 -0
  117. package/lib/commonjs/ui/screens/index.js.map +1 -0
  118. package/lib/commonjs/ui/screens/mandate-setup-success-screen.js +79 -0
  119. package/lib/commonjs/ui/screens/mandate-setup-success-screen.js.map +1 -0
  120. package/lib/commonjs/ui/screens/redirect-handoff-screen.js +42 -0
  121. package/lib/commonjs/ui/screens/redirect-handoff-screen.js.map +1 -0
  122. package/lib/commonjs/ui/screens/result-screen.js +83 -0
  123. package/lib/commonjs/ui/screens/result-screen.js.map +1 -0
  124. package/lib/commonjs/ui/screens/resume-processing-screen.js +109 -0
  125. package/lib/commonjs/ui/screens/resume-processing-screen.js.map +1 -0
  126. package/lib/commonjs/ui/spare-link-host.js +354 -0
  127. package/lib/commonjs/ui/spare-link-host.js.map +1 -0
  128. package/lib/commonjs/ui/theme/assets.js +20 -0
  129. package/lib/commonjs/ui/theme/assets.js.map +1 -0
  130. package/lib/commonjs/ui/theme/colors.js +36 -0
  131. package/lib/commonjs/ui/theme/colors.js.map +1 -0
  132. package/lib/commonjs/ui/theme/fonts.js +29 -0
  133. package/lib/commonjs/ui/theme/fonts.js.map +1 -0
  134. package/lib/commonjs/ui/theme/index.js +53 -0
  135. package/lib/commonjs/ui/theme/index.js.map +1 -0
  136. package/lib/commonjs/ui/theme/typography.js +76 -0
  137. package/lib/commonjs/ui/theme/typography.js.map +1 -0
  138. package/lib/commonjs/ui/widgets/footer.js +144 -0
  139. package/lib/commonjs/ui/widgets/footer.js.map +1 -0
  140. package/lib/commonjs/ui/widgets/gradient-spinner.js +172 -0
  141. package/lib/commonjs/ui/widgets/gradient-spinner.js.map +1 -0
  142. package/lib/commonjs/ui/widgets/handoff-screen-layout.js +77 -0
  143. package/lib/commonjs/ui/widgets/handoff-screen-layout.js.map +1 -0
  144. package/lib/commonjs/ui/widgets/index.js +41 -0
  145. package/lib/commonjs/ui/widgets/index.js.map +1 -0
  146. package/lib/commonjs/ui/widgets/layout-w-header.js +106 -0
  147. package/lib/commonjs/ui/widgets/layout-w-header.js.map +1 -0
  148. package/lib/commonjs/ui/widgets/modal-dismiss-button.js +47 -0
  149. package/lib/commonjs/ui/widgets/modal-dismiss-button.js.map +1 -0
  150. package/lib/commonjs/ui/widgets/stepper.js +124 -0
  151. package/lib/commonjs/ui/widgets/stepper.js.map +1 -0
  152. package/lib/commonjs/version.js +14 -0
  153. package/lib/commonjs/version.js.map +1 -0
  154. package/lib/module/core/client/link-api-client.js +292 -0
  155. package/lib/module/core/client/link-api-client.js.map +1 -0
  156. package/lib/module/core/errors/payment-api-error.js +29 -0
  157. package/lib/module/core/errors/payment-api-error.js.map +1 -0
  158. package/lib/module/core/models/index.js +2 -0
  159. package/lib/module/core/models/index.js.map +1 -0
  160. package/lib/module/core/models/link-session-status.js +10 -0
  161. package/lib/module/core/models/link-session-status.js.map +1 -0
  162. package/lib/module/core/models/payment-return-params.js +37 -0
  163. package/lib/module/core/models/payment-return-params.js.map +1 -0
  164. package/lib/module/core/models/payment-type.js +36 -0
  165. package/lib/module/core/models/payment-type.js.map +1 -0
  166. package/lib/module/core/models/wire-mappers.js +263 -0
  167. package/lib/module/core/models/wire-mappers.js.map +1 -0
  168. package/lib/module/core/services/consent-presenter.js +140 -0
  169. package/lib/module/core/services/consent-presenter.js.map +1 -0
  170. package/lib/module/core/services/execute-resume-if-needed.js +211 -0
  171. package/lib/module/core/services/execute-resume-if-needed.js.map +1 -0
  172. package/lib/module/core/services/multi-payment-rules-presenter.js +146 -0
  173. package/lib/module/core/services/multi-payment-rules-presenter.js.map +1 -0
  174. package/lib/module/core/services/payment-flow-controller.js +544 -0
  175. package/lib/module/core/services/payment-flow-controller.js.map +1 -0
  176. package/lib/module/core/services/payment-flow-state.js +106 -0
  177. package/lib/module/core/services/payment-flow-state.js.map +1 -0
  178. package/lib/module/core/services/payment-result-mapper.js +45 -0
  179. package/lib/module/core/services/payment-result-mapper.js.map +1 -0
  180. package/lib/module/core/services/pending-session-store.js +4 -0
  181. package/lib/module/core/services/pending-session-store.js.map +1 -0
  182. package/lib/module/core/services/presentation-utils.js +7 -0
  183. package/lib/module/core/services/presentation-utils.js.map +1 -0
  184. package/lib/module/core/services/redirect-buffer.js +33 -0
  185. package/lib/module/core/services/redirect-buffer.js.map +1 -0
  186. package/lib/module/core/services/user-friendly-messages.js +42 -0
  187. package/lib/module/core/services/user-friendly-messages.js.map +1 -0
  188. package/lib/module/index.js +40 -0
  189. package/lib/module/index.js.map +1 -0
  190. package/lib/module/internal/bank-redirect.js +49 -0
  191. package/lib/module/internal/bank-redirect.js.map +1 -0
  192. package/lib/module/internal/deep-link-listener.js +34 -0
  193. package/lib/module/internal/deep-link-listener.js.map +1 -0
  194. package/lib/module/internal/event-emitter.js +32 -0
  195. package/lib/module/internal/event-emitter.js.map +1 -0
  196. package/lib/module/internal/index.js +7 -0
  197. package/lib/module/internal/index.js.map +1 -0
  198. package/lib/module/internal/logger.js +61 -0
  199. package/lib/module/internal/logger.js.map +1 -0
  200. package/lib/module/internal/redact-uri.js +21 -0
  201. package/lib/module/internal/redact-uri.js.map +1 -0
  202. package/lib/module/internal/secure-store-pending-session-store.js +88 -0
  203. package/lib/module/internal/secure-store-pending-session-store.js.map +1 -0
  204. package/lib/module/internal/telemetry-collector.js +75 -0
  205. package/lib/module/internal/telemetry-collector.js.map +1 -0
  206. package/lib/module/package.json +1 -0
  207. package/lib/module/public/constants.js +17 -0
  208. package/lib/module/public/constants.js.map +1 -0
  209. package/lib/module/public/index.js +11 -0
  210. package/lib/module/public/index.js.map +1 -0
  211. package/lib/module/public/payment-result.js +41 -0
  212. package/lib/module/public/payment-result.js.map +1 -0
  213. package/lib/module/public/recovery-result.js +34 -0
  214. package/lib/module/public/recovery-result.js.map +1 -0
  215. package/lib/module/public/spare-link-callbacks.js +4 -0
  216. package/lib/module/public/spare-link-callbacks.js.map +1 -0
  217. package/lib/module/public/spare-link-config.js +54 -0
  218. package/lib/module/public/spare-link-config.js.map +1 -0
  219. package/lib/module/public/spare-link-event.js +115 -0
  220. package/lib/module/public/spare-link-event.js.map +1 -0
  221. package/lib/module/public/spare-link-host-api.js +4 -0
  222. package/lib/module/public/spare-link-host-api.js.map +1 -0
  223. package/lib/module/public/spare-link-instance.js +273 -0
  224. package/lib/module/public/spare-link-instance.js.map +1 -0
  225. package/lib/module/public/spare-link-session.js +21 -0
  226. package/lib/module/public/spare-link-session.js.map +1 -0
  227. package/lib/module/public/spare-link.js +4 -0
  228. package/lib/module/public/spare-link.js.map +1 -0
  229. package/lib/module/ui/consent/charge-bearer-display.js +95 -0
  230. package/lib/module/ui/consent/charge-bearer-display.js.map +1 -0
  231. package/lib/module/ui/consent/consent-accordion.js +90 -0
  232. package/lib/module/ui/consent/consent-accordion.js.map +1 -0
  233. package/lib/module/ui/consent/consent-summary-section.js +23 -0
  234. package/lib/module/ui/consent/consent-summary-section.js.map +1 -0
  235. package/lib/module/ui/consent/cop-information.js +165 -0
  236. package/lib/module/ui/consent/cop-information.js.map +1 -0
  237. package/lib/module/ui/consent/international-payment-summary.js +94 -0
  238. package/lib/module/ui/consent/international-payment-summary.js.map +1 -0
  239. package/lib/module/ui/consent/label-value-rows.js +55 -0
  240. package/lib/module/ui/consent/label-value-rows.js.map +1 -0
  241. package/lib/module/ui/consent/multi-payment-rules-list.js +125 -0
  242. package/lib/module/ui/consent/multi-payment-rules-list.js.map +1 -0
  243. package/lib/module/ui/consent/multi-payment-summary.js +95 -0
  244. package/lib/module/ui/consent/multi-payment-summary.js.map +1 -0
  245. package/lib/module/ui/consent/single-payment-summary.js +154 -0
  246. package/lib/module/ui/consent/single-payment-summary.js.map +1 -0
  247. package/lib/module/ui/consent/terms-link.js +31 -0
  248. package/lib/module/ui/consent/terms-link.js.map +1 -0
  249. package/lib/module/ui/hooks/use-payment-flow-state.js +12 -0
  250. package/lib/module/ui/hooks/use-payment-flow-state.js.map +1 -0
  251. package/lib/module/ui/payment-flow-page.js +232 -0
  252. package/lib/module/ui/payment-flow-page.js.map +1 -0
  253. package/lib/module/ui/screens/bank-selection-screen.js +211 -0
  254. package/lib/module/ui/screens/bank-selection-screen.js.map +1 -0
  255. package/lib/module/ui/screens/consent-details-screen.js +120 -0
  256. package/lib/module/ui/screens/consent-details-screen.js.map +1 -0
  257. package/lib/module/ui/screens/index.js +9 -0
  258. package/lib/module/ui/screens/index.js.map +1 -0
  259. package/lib/module/ui/screens/mandate-setup-success-screen.js +75 -0
  260. package/lib/module/ui/screens/mandate-setup-success-screen.js.map +1 -0
  261. package/lib/module/ui/screens/redirect-handoff-screen.js +39 -0
  262. package/lib/module/ui/screens/redirect-handoff-screen.js.map +1 -0
  263. package/lib/module/ui/screens/result-screen.js +79 -0
  264. package/lib/module/ui/screens/result-screen.js.map +1 -0
  265. package/lib/module/ui/screens/resume-processing-screen.js +105 -0
  266. package/lib/module/ui/screens/resume-processing-screen.js.map +1 -0
  267. package/lib/module/ui/spare-link-host.js +350 -0
  268. package/lib/module/ui/spare-link-host.js.map +1 -0
  269. package/lib/module/ui/theme/assets.js +16 -0
  270. package/lib/module/ui/theme/assets.js.map +1 -0
  271. package/lib/module/ui/theme/colors.js +32 -0
  272. package/lib/module/ui/theme/colors.js.map +1 -0
  273. package/lib/module/ui/theme/fonts.js +23 -0
  274. package/lib/module/ui/theme/fonts.js.map +1 -0
  275. package/lib/module/ui/theme/index.js +13 -0
  276. package/lib/module/ui/theme/index.js.map +1 -0
  277. package/lib/module/ui/theme/typography.js +49 -0
  278. package/lib/module/ui/theme/typography.js.map +1 -0
  279. package/lib/module/ui/widgets/footer.js +140 -0
  280. package/lib/module/ui/widgets/footer.js.map +1 -0
  281. package/lib/module/ui/widgets/gradient-spinner.js +168 -0
  282. package/lib/module/ui/widgets/gradient-spinner.js.map +1 -0
  283. package/lib/module/ui/widgets/handoff-screen-layout.js +73 -0
  284. package/lib/module/ui/widgets/handoff-screen-layout.js.map +1 -0
  285. package/lib/module/ui/widgets/index.js +8 -0
  286. package/lib/module/ui/widgets/index.js.map +1 -0
  287. package/lib/module/ui/widgets/layout-w-header.js +102 -0
  288. package/lib/module/ui/widgets/layout-w-header.js.map +1 -0
  289. package/lib/module/ui/widgets/modal-dismiss-button.js +43 -0
  290. package/lib/module/ui/widgets/modal-dismiss-button.js.map +1 -0
  291. package/lib/module/ui/widgets/stepper.js +120 -0
  292. package/lib/module/ui/widgets/stepper.js.map +1 -0
  293. package/lib/module/version.js +10 -0
  294. package/lib/module/version.js.map +1 -0
  295. package/lib/typescript/commonjs/core/client/link-api-client.d.ts +70 -0
  296. package/lib/typescript/commonjs/core/client/link-api-client.d.ts.map +1 -0
  297. package/lib/typescript/commonjs/core/errors/payment-api-error.d.ts +15 -0
  298. package/lib/typescript/commonjs/core/errors/payment-api-error.d.ts.map +1 -0
  299. package/lib/typescript/commonjs/core/models/index.d.ts +124 -0
  300. package/lib/typescript/commonjs/core/models/index.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/core/models/link-session-status.d.ts +6 -0
  302. package/lib/typescript/commonjs/core/models/link-session-status.d.ts.map +1 -0
  303. package/lib/typescript/commonjs/core/models/payment-return-params.d.ts +15 -0
  304. package/lib/typescript/commonjs/core/models/payment-return-params.d.ts.map +1 -0
  305. package/lib/typescript/commonjs/core/models/payment-type.d.ts +18 -0
  306. package/lib/typescript/commonjs/core/models/payment-type.d.ts.map +1 -0
  307. package/lib/typescript/commonjs/core/models/wire-mappers.d.ts +19 -0
  308. package/lib/typescript/commonjs/core/models/wire-mappers.d.ts.map +1 -0
  309. package/lib/typescript/commonjs/core/services/consent-presenter.d.ts +67 -0
  310. package/lib/typescript/commonjs/core/services/consent-presenter.d.ts.map +1 -0
  311. package/lib/typescript/commonjs/core/services/execute-resume-if-needed.d.ts +32 -0
  312. package/lib/typescript/commonjs/core/services/execute-resume-if-needed.d.ts.map +1 -0
  313. package/lib/typescript/commonjs/core/services/multi-payment-rules-presenter.d.ts +9 -0
  314. package/lib/typescript/commonjs/core/services/multi-payment-rules-presenter.d.ts.map +1 -0
  315. package/lib/typescript/commonjs/core/services/payment-flow-controller.d.ts +146 -0
  316. package/lib/typescript/commonjs/core/services/payment-flow-controller.d.ts.map +1 -0
  317. package/lib/typescript/commonjs/core/services/payment-flow-state.d.ts +64 -0
  318. package/lib/typescript/commonjs/core/services/payment-flow-state.d.ts.map +1 -0
  319. package/lib/typescript/commonjs/core/services/payment-result-mapper.d.ts +5 -0
  320. package/lib/typescript/commonjs/core/services/payment-result-mapper.d.ts.map +1 -0
  321. package/lib/typescript/commonjs/core/services/pending-session-store.d.ts +12 -0
  322. package/lib/typescript/commonjs/core/services/pending-session-store.d.ts.map +1 -0
  323. package/lib/typescript/commonjs/core/services/presentation-utils.d.ts +5 -0
  324. package/lib/typescript/commonjs/core/services/presentation-utils.d.ts.map +1 -0
  325. package/lib/typescript/commonjs/core/services/redirect-buffer.d.ts +6 -0
  326. package/lib/typescript/commonjs/core/services/redirect-buffer.d.ts.map +1 -0
  327. package/lib/typescript/commonjs/core/services/user-friendly-messages.d.ts +6 -0
  328. package/lib/typescript/commonjs/core/services/user-friendly-messages.d.ts.map +1 -0
  329. package/lib/typescript/commonjs/index.d.ts +19 -0
  330. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  331. package/lib/typescript/commonjs/internal/bank-redirect.d.ts +6 -0
  332. package/lib/typescript/commonjs/internal/bank-redirect.d.ts.map +1 -0
  333. package/lib/typescript/commonjs/internal/deep-link-listener.d.ts +3 -0
  334. package/lib/typescript/commonjs/internal/deep-link-listener.d.ts.map +1 -0
  335. package/lib/typescript/commonjs/internal/event-emitter.d.ts +13 -0
  336. package/lib/typescript/commonjs/internal/event-emitter.d.ts.map +1 -0
  337. package/lib/typescript/commonjs/internal/index.d.ts +5 -0
  338. package/lib/typescript/commonjs/internal/index.d.ts.map +1 -0
  339. package/lib/typescript/commonjs/internal/logger.d.ts +23 -0
  340. package/lib/typescript/commonjs/internal/logger.d.ts.map +1 -0
  341. package/lib/typescript/commonjs/internal/redact-uri.d.ts +3 -0
  342. package/lib/typescript/commonjs/internal/redact-uri.d.ts.map +1 -0
  343. package/lib/typescript/commonjs/internal/secure-store-pending-session-store.d.ts +33 -0
  344. package/lib/typescript/commonjs/internal/secure-store-pending-session-store.d.ts.map +1 -0
  345. package/lib/typescript/commonjs/internal/telemetry-collector.d.ts +2 -0
  346. package/lib/typescript/commonjs/internal/telemetry-collector.d.ts.map +1 -0
  347. package/lib/typescript/commonjs/package.json +1 -0
  348. package/lib/typescript/commonjs/public/constants.d.ts +12 -0
  349. package/lib/typescript/commonjs/public/constants.d.ts.map +1 -0
  350. package/lib/typescript/commonjs/public/index.d.ts +11 -0
  351. package/lib/typescript/commonjs/public/index.d.ts.map +1 -0
  352. package/lib/typescript/commonjs/public/payment-result.d.ts +43 -0
  353. package/lib/typescript/commonjs/public/payment-result.d.ts.map +1 -0
  354. package/lib/typescript/commonjs/public/recovery-result.d.ts +36 -0
  355. package/lib/typescript/commonjs/public/recovery-result.d.ts.map +1 -0
  356. package/lib/typescript/commonjs/public/spare-link-callbacks.d.ts +14 -0
  357. package/lib/typescript/commonjs/public/spare-link-callbacks.d.ts.map +1 -0
  358. package/lib/typescript/commonjs/public/spare-link-config.d.ts +49 -0
  359. package/lib/typescript/commonjs/public/spare-link-config.d.ts.map +1 -0
  360. package/lib/typescript/commonjs/public/spare-link-event.d.ts +90 -0
  361. package/lib/typescript/commonjs/public/spare-link-event.d.ts.map +1 -0
  362. package/lib/typescript/commonjs/public/spare-link-host-api.d.ts +29 -0
  363. package/lib/typescript/commonjs/public/spare-link-host-api.d.ts.map +1 -0
  364. package/lib/typescript/commonjs/public/spare-link-instance.d.ts +89 -0
  365. package/lib/typescript/commonjs/public/spare-link-instance.d.ts.map +1 -0
  366. package/lib/typescript/commonjs/public/spare-link-session.d.ts +20 -0
  367. package/lib/typescript/commonjs/public/spare-link-session.d.ts.map +1 -0
  368. package/lib/typescript/commonjs/public/spare-link.d.ts +3 -0
  369. package/lib/typescript/commonjs/public/spare-link.d.ts.map +1 -0
  370. package/lib/typescript/commonjs/ui/consent/charge-bearer-display.d.ts +5 -0
  371. package/lib/typescript/commonjs/ui/consent/charge-bearer-display.d.ts.map +1 -0
  372. package/lib/typescript/commonjs/ui/consent/consent-accordion.d.ts +10 -0
  373. package/lib/typescript/commonjs/ui/consent/consent-accordion.d.ts.map +1 -0
  374. package/lib/typescript/commonjs/ui/consent/consent-summary-section.d.ts +6 -0
  375. package/lib/typescript/commonjs/ui/consent/consent-summary-section.d.ts.map +1 -0
  376. package/lib/typescript/commonjs/ui/consent/cop-information.d.ts +6 -0
  377. package/lib/typescript/commonjs/ui/consent/cop-information.d.ts.map +1 -0
  378. package/lib/typescript/commonjs/ui/consent/international-payment-summary.d.ts +6 -0
  379. package/lib/typescript/commonjs/ui/consent/international-payment-summary.d.ts.map +1 -0
  380. package/lib/typescript/commonjs/ui/consent/label-value-rows.d.ts +10 -0
  381. package/lib/typescript/commonjs/ui/consent/label-value-rows.d.ts.map +1 -0
  382. package/lib/typescript/commonjs/ui/consent/multi-payment-rules-list.d.ts +15 -0
  383. package/lib/typescript/commonjs/ui/consent/multi-payment-rules-list.d.ts.map +1 -0
  384. package/lib/typescript/commonjs/ui/consent/multi-payment-summary.d.ts +6 -0
  385. package/lib/typescript/commonjs/ui/consent/multi-payment-summary.d.ts.map +1 -0
  386. package/lib/typescript/commonjs/ui/consent/single-payment-summary.d.ts +6 -0
  387. package/lib/typescript/commonjs/ui/consent/single-payment-summary.d.ts.map +1 -0
  388. package/lib/typescript/commonjs/ui/consent/terms-link.d.ts +2 -0
  389. package/lib/typescript/commonjs/ui/consent/terms-link.d.ts.map +1 -0
  390. package/lib/typescript/commonjs/ui/hooks/use-payment-flow-state.d.ts +9 -0
  391. package/lib/typescript/commonjs/ui/hooks/use-payment-flow-state.d.ts.map +1 -0
  392. package/lib/typescript/commonjs/ui/payment-flow-page.d.ts +20 -0
  393. package/lib/typescript/commonjs/ui/payment-flow-page.d.ts.map +1 -0
  394. package/lib/typescript/commonjs/ui/screens/bank-selection-screen.d.ts +15 -0
  395. package/lib/typescript/commonjs/ui/screens/bank-selection-screen.d.ts.map +1 -0
  396. package/lib/typescript/commonjs/ui/screens/consent-details-screen.d.ts +13 -0
  397. package/lib/typescript/commonjs/ui/screens/consent-details-screen.d.ts.map +1 -0
  398. package/lib/typescript/commonjs/ui/screens/index.d.ts +7 -0
  399. package/lib/typescript/commonjs/ui/screens/index.d.ts.map +1 -0
  400. package/lib/typescript/commonjs/ui/screens/mandate-setup-success-screen.d.ts +10 -0
  401. package/lib/typescript/commonjs/ui/screens/mandate-setup-success-screen.d.ts.map +1 -0
  402. package/lib/typescript/commonjs/ui/screens/redirect-handoff-screen.d.ts +3 -0
  403. package/lib/typescript/commonjs/ui/screens/redirect-handoff-screen.d.ts.map +1 -0
  404. package/lib/typescript/commonjs/ui/screens/result-screen.d.ts +7 -0
  405. package/lib/typescript/commonjs/ui/screens/result-screen.d.ts.map +1 -0
  406. package/lib/typescript/commonjs/ui/screens/resume-processing-screen.d.ts +10 -0
  407. package/lib/typescript/commonjs/ui/screens/resume-processing-screen.d.ts.map +1 -0
  408. package/lib/typescript/commonjs/ui/spare-link-host.d.ts +23 -0
  409. package/lib/typescript/commonjs/ui/spare-link-host.d.ts.map +1 -0
  410. package/lib/typescript/commonjs/ui/theme/assets.d.ts +15 -0
  411. package/lib/typescript/commonjs/ui/theme/assets.d.ts.map +1 -0
  412. package/lib/typescript/commonjs/ui/theme/colors.d.ts +31 -0
  413. package/lib/typescript/commonjs/ui/theme/colors.d.ts.map +1 -0
  414. package/lib/typescript/commonjs/ui/theme/fonts.d.ts +12 -0
  415. package/lib/typescript/commonjs/ui/theme/fonts.d.ts.map +1 -0
  416. package/lib/typescript/commonjs/ui/theme/index.d.ts +11 -0
  417. package/lib/typescript/commonjs/ui/theme/index.d.ts.map +1 -0
  418. package/lib/typescript/commonjs/ui/theme/typography.d.ts +12 -0
  419. package/lib/typescript/commonjs/ui/theme/typography.d.ts.map +1 -0
  420. package/lib/typescript/commonjs/ui/widgets/footer.d.ts +23 -0
  421. package/lib/typescript/commonjs/ui/widgets/footer.d.ts.map +1 -0
  422. package/lib/typescript/commonjs/ui/widgets/gradient-spinner.d.ts +13 -0
  423. package/lib/typescript/commonjs/ui/widgets/gradient-spinner.d.ts.map +1 -0
  424. package/lib/typescript/commonjs/ui/widgets/handoff-screen-layout.d.ts +11 -0
  425. package/lib/typescript/commonjs/ui/widgets/handoff-screen-layout.d.ts.map +1 -0
  426. package/lib/typescript/commonjs/ui/widgets/index.d.ts +6 -0
  427. package/lib/typescript/commonjs/ui/widgets/index.d.ts.map +1 -0
  428. package/lib/typescript/commonjs/ui/widgets/layout-w-header.d.ts +20 -0
  429. package/lib/typescript/commonjs/ui/widgets/layout-w-header.d.ts.map +1 -0
  430. package/lib/typescript/commonjs/ui/widgets/modal-dismiss-button.d.ts +6 -0
  431. package/lib/typescript/commonjs/ui/widgets/modal-dismiss-button.d.ts.map +1 -0
  432. package/lib/typescript/commonjs/ui/widgets/stepper.d.ts +15 -0
  433. package/lib/typescript/commonjs/ui/widgets/stepper.d.ts.map +1 -0
  434. package/lib/typescript/commonjs/version.d.ts +8 -0
  435. package/lib/typescript/commonjs/version.d.ts.map +1 -0
  436. package/lib/typescript/module/core/client/link-api-client.d.ts +70 -0
  437. package/lib/typescript/module/core/client/link-api-client.d.ts.map +1 -0
  438. package/lib/typescript/module/core/errors/payment-api-error.d.ts +15 -0
  439. package/lib/typescript/module/core/errors/payment-api-error.d.ts.map +1 -0
  440. package/lib/typescript/module/core/models/index.d.ts +124 -0
  441. package/lib/typescript/module/core/models/index.d.ts.map +1 -0
  442. package/lib/typescript/module/core/models/link-session-status.d.ts +6 -0
  443. package/lib/typescript/module/core/models/link-session-status.d.ts.map +1 -0
  444. package/lib/typescript/module/core/models/payment-return-params.d.ts +15 -0
  445. package/lib/typescript/module/core/models/payment-return-params.d.ts.map +1 -0
  446. package/lib/typescript/module/core/models/payment-type.d.ts +18 -0
  447. package/lib/typescript/module/core/models/payment-type.d.ts.map +1 -0
  448. package/lib/typescript/module/core/models/wire-mappers.d.ts +19 -0
  449. package/lib/typescript/module/core/models/wire-mappers.d.ts.map +1 -0
  450. package/lib/typescript/module/core/services/consent-presenter.d.ts +67 -0
  451. package/lib/typescript/module/core/services/consent-presenter.d.ts.map +1 -0
  452. package/lib/typescript/module/core/services/execute-resume-if-needed.d.ts +32 -0
  453. package/lib/typescript/module/core/services/execute-resume-if-needed.d.ts.map +1 -0
  454. package/lib/typescript/module/core/services/multi-payment-rules-presenter.d.ts +9 -0
  455. package/lib/typescript/module/core/services/multi-payment-rules-presenter.d.ts.map +1 -0
  456. package/lib/typescript/module/core/services/payment-flow-controller.d.ts +146 -0
  457. package/lib/typescript/module/core/services/payment-flow-controller.d.ts.map +1 -0
  458. package/lib/typescript/module/core/services/payment-flow-state.d.ts +64 -0
  459. package/lib/typescript/module/core/services/payment-flow-state.d.ts.map +1 -0
  460. package/lib/typescript/module/core/services/payment-result-mapper.d.ts +5 -0
  461. package/lib/typescript/module/core/services/payment-result-mapper.d.ts.map +1 -0
  462. package/lib/typescript/module/core/services/pending-session-store.d.ts +12 -0
  463. package/lib/typescript/module/core/services/pending-session-store.d.ts.map +1 -0
  464. package/lib/typescript/module/core/services/presentation-utils.d.ts +5 -0
  465. package/lib/typescript/module/core/services/presentation-utils.d.ts.map +1 -0
  466. package/lib/typescript/module/core/services/redirect-buffer.d.ts +6 -0
  467. package/lib/typescript/module/core/services/redirect-buffer.d.ts.map +1 -0
  468. package/lib/typescript/module/core/services/user-friendly-messages.d.ts +6 -0
  469. package/lib/typescript/module/core/services/user-friendly-messages.d.ts.map +1 -0
  470. package/lib/typescript/module/index.d.ts +19 -0
  471. package/lib/typescript/module/index.d.ts.map +1 -0
  472. package/lib/typescript/module/internal/bank-redirect.d.ts +6 -0
  473. package/lib/typescript/module/internal/bank-redirect.d.ts.map +1 -0
  474. package/lib/typescript/module/internal/deep-link-listener.d.ts +3 -0
  475. package/lib/typescript/module/internal/deep-link-listener.d.ts.map +1 -0
  476. package/lib/typescript/module/internal/event-emitter.d.ts +13 -0
  477. package/lib/typescript/module/internal/event-emitter.d.ts.map +1 -0
  478. package/lib/typescript/module/internal/index.d.ts +5 -0
  479. package/lib/typescript/module/internal/index.d.ts.map +1 -0
  480. package/lib/typescript/module/internal/logger.d.ts +23 -0
  481. package/lib/typescript/module/internal/logger.d.ts.map +1 -0
  482. package/lib/typescript/module/internal/redact-uri.d.ts +3 -0
  483. package/lib/typescript/module/internal/redact-uri.d.ts.map +1 -0
  484. package/lib/typescript/module/internal/secure-store-pending-session-store.d.ts +33 -0
  485. package/lib/typescript/module/internal/secure-store-pending-session-store.d.ts.map +1 -0
  486. package/lib/typescript/module/internal/telemetry-collector.d.ts +2 -0
  487. package/lib/typescript/module/internal/telemetry-collector.d.ts.map +1 -0
  488. package/lib/typescript/module/package.json +1 -0
  489. package/lib/typescript/module/public/constants.d.ts +12 -0
  490. package/lib/typescript/module/public/constants.d.ts.map +1 -0
  491. package/lib/typescript/module/public/index.d.ts +11 -0
  492. package/lib/typescript/module/public/index.d.ts.map +1 -0
  493. package/lib/typescript/module/public/payment-result.d.ts +43 -0
  494. package/lib/typescript/module/public/payment-result.d.ts.map +1 -0
  495. package/lib/typescript/module/public/recovery-result.d.ts +36 -0
  496. package/lib/typescript/module/public/recovery-result.d.ts.map +1 -0
  497. package/lib/typescript/module/public/spare-link-callbacks.d.ts +14 -0
  498. package/lib/typescript/module/public/spare-link-callbacks.d.ts.map +1 -0
  499. package/lib/typescript/module/public/spare-link-config.d.ts +49 -0
  500. package/lib/typescript/module/public/spare-link-config.d.ts.map +1 -0
  501. package/lib/typescript/module/public/spare-link-event.d.ts +90 -0
  502. package/lib/typescript/module/public/spare-link-event.d.ts.map +1 -0
  503. package/lib/typescript/module/public/spare-link-host-api.d.ts +29 -0
  504. package/lib/typescript/module/public/spare-link-host-api.d.ts.map +1 -0
  505. package/lib/typescript/module/public/spare-link-instance.d.ts +89 -0
  506. package/lib/typescript/module/public/spare-link-instance.d.ts.map +1 -0
  507. package/lib/typescript/module/public/spare-link-session.d.ts +20 -0
  508. package/lib/typescript/module/public/spare-link-session.d.ts.map +1 -0
  509. package/lib/typescript/module/public/spare-link.d.ts +3 -0
  510. package/lib/typescript/module/public/spare-link.d.ts.map +1 -0
  511. package/lib/typescript/module/ui/consent/charge-bearer-display.d.ts +5 -0
  512. package/lib/typescript/module/ui/consent/charge-bearer-display.d.ts.map +1 -0
  513. package/lib/typescript/module/ui/consent/consent-accordion.d.ts +10 -0
  514. package/lib/typescript/module/ui/consent/consent-accordion.d.ts.map +1 -0
  515. package/lib/typescript/module/ui/consent/consent-summary-section.d.ts +6 -0
  516. package/lib/typescript/module/ui/consent/consent-summary-section.d.ts.map +1 -0
  517. package/lib/typescript/module/ui/consent/cop-information.d.ts +6 -0
  518. package/lib/typescript/module/ui/consent/cop-information.d.ts.map +1 -0
  519. package/lib/typescript/module/ui/consent/international-payment-summary.d.ts +6 -0
  520. package/lib/typescript/module/ui/consent/international-payment-summary.d.ts.map +1 -0
  521. package/lib/typescript/module/ui/consent/label-value-rows.d.ts +10 -0
  522. package/lib/typescript/module/ui/consent/label-value-rows.d.ts.map +1 -0
  523. package/lib/typescript/module/ui/consent/multi-payment-rules-list.d.ts +15 -0
  524. package/lib/typescript/module/ui/consent/multi-payment-rules-list.d.ts.map +1 -0
  525. package/lib/typescript/module/ui/consent/multi-payment-summary.d.ts +6 -0
  526. package/lib/typescript/module/ui/consent/multi-payment-summary.d.ts.map +1 -0
  527. package/lib/typescript/module/ui/consent/single-payment-summary.d.ts +6 -0
  528. package/lib/typescript/module/ui/consent/single-payment-summary.d.ts.map +1 -0
  529. package/lib/typescript/module/ui/consent/terms-link.d.ts +2 -0
  530. package/lib/typescript/module/ui/consent/terms-link.d.ts.map +1 -0
  531. package/lib/typescript/module/ui/hooks/use-payment-flow-state.d.ts +9 -0
  532. package/lib/typescript/module/ui/hooks/use-payment-flow-state.d.ts.map +1 -0
  533. package/lib/typescript/module/ui/payment-flow-page.d.ts +20 -0
  534. package/lib/typescript/module/ui/payment-flow-page.d.ts.map +1 -0
  535. package/lib/typescript/module/ui/screens/bank-selection-screen.d.ts +15 -0
  536. package/lib/typescript/module/ui/screens/bank-selection-screen.d.ts.map +1 -0
  537. package/lib/typescript/module/ui/screens/consent-details-screen.d.ts +13 -0
  538. package/lib/typescript/module/ui/screens/consent-details-screen.d.ts.map +1 -0
  539. package/lib/typescript/module/ui/screens/index.d.ts +7 -0
  540. package/lib/typescript/module/ui/screens/index.d.ts.map +1 -0
  541. package/lib/typescript/module/ui/screens/mandate-setup-success-screen.d.ts +10 -0
  542. package/lib/typescript/module/ui/screens/mandate-setup-success-screen.d.ts.map +1 -0
  543. package/lib/typescript/module/ui/screens/redirect-handoff-screen.d.ts +3 -0
  544. package/lib/typescript/module/ui/screens/redirect-handoff-screen.d.ts.map +1 -0
  545. package/lib/typescript/module/ui/screens/result-screen.d.ts +7 -0
  546. package/lib/typescript/module/ui/screens/result-screen.d.ts.map +1 -0
  547. package/lib/typescript/module/ui/screens/resume-processing-screen.d.ts +10 -0
  548. package/lib/typescript/module/ui/screens/resume-processing-screen.d.ts.map +1 -0
  549. package/lib/typescript/module/ui/spare-link-host.d.ts +23 -0
  550. package/lib/typescript/module/ui/spare-link-host.d.ts.map +1 -0
  551. package/lib/typescript/module/ui/theme/assets.d.ts +15 -0
  552. package/lib/typescript/module/ui/theme/assets.d.ts.map +1 -0
  553. package/lib/typescript/module/ui/theme/colors.d.ts +31 -0
  554. package/lib/typescript/module/ui/theme/colors.d.ts.map +1 -0
  555. package/lib/typescript/module/ui/theme/fonts.d.ts +12 -0
  556. package/lib/typescript/module/ui/theme/fonts.d.ts.map +1 -0
  557. package/lib/typescript/module/ui/theme/index.d.ts +11 -0
  558. package/lib/typescript/module/ui/theme/index.d.ts.map +1 -0
  559. package/lib/typescript/module/ui/theme/typography.d.ts +12 -0
  560. package/lib/typescript/module/ui/theme/typography.d.ts.map +1 -0
  561. package/lib/typescript/module/ui/widgets/footer.d.ts +23 -0
  562. package/lib/typescript/module/ui/widgets/footer.d.ts.map +1 -0
  563. package/lib/typescript/module/ui/widgets/gradient-spinner.d.ts +13 -0
  564. package/lib/typescript/module/ui/widgets/gradient-spinner.d.ts.map +1 -0
  565. package/lib/typescript/module/ui/widgets/handoff-screen-layout.d.ts +11 -0
  566. package/lib/typescript/module/ui/widgets/handoff-screen-layout.d.ts.map +1 -0
  567. package/lib/typescript/module/ui/widgets/index.d.ts +6 -0
  568. package/lib/typescript/module/ui/widgets/index.d.ts.map +1 -0
  569. package/lib/typescript/module/ui/widgets/layout-w-header.d.ts +20 -0
  570. package/lib/typescript/module/ui/widgets/layout-w-header.d.ts.map +1 -0
  571. package/lib/typescript/module/ui/widgets/modal-dismiss-button.d.ts +6 -0
  572. package/lib/typescript/module/ui/widgets/modal-dismiss-button.d.ts.map +1 -0
  573. package/lib/typescript/module/ui/widgets/stepper.d.ts +15 -0
  574. package/lib/typescript/module/ui/widgets/stepper.d.ts.map +1 -0
  575. package/lib/typescript/module/version.d.ts +8 -0
  576. package/lib/typescript/module/version.d.ts.map +1 -0
  577. package/package.json +124 -0
  578. package/plugins/with-spare-link.js +98 -0
  579. package/src/core/client/link-api-client.ts +414 -0
  580. package/src/core/errors/payment-api-error.ts +35 -0
  581. package/src/core/models/index.ts +139 -0
  582. package/src/core/models/link-session-status.ts +7 -0
  583. package/src/core/models/payment-return-params.ts +34 -0
  584. package/src/core/models/payment-type.ts +54 -0
  585. package/src/core/models/wire-mappers.ts +315 -0
  586. package/src/core/services/consent-presenter.ts +213 -0
  587. package/src/core/services/execute-resume-if-needed.ts +243 -0
  588. package/src/core/services/multi-payment-rules-presenter.ts +158 -0
  589. package/src/core/services/payment-flow-controller.ts +607 -0
  590. package/src/core/services/payment-flow-state.ts +124 -0
  591. package/src/core/services/payment-result-mapper.ts +41 -0
  592. package/src/core/services/pending-session-store.ts +12 -0
  593. package/src/core/services/presentation-utils.ts +4 -0
  594. package/src/core/services/redirect-buffer.ts +34 -0
  595. package/src/core/services/user-friendly-messages.ts +39 -0
  596. package/src/index.ts +115 -0
  597. package/src/internal/bank-redirect.ts +61 -0
  598. package/src/internal/deep-link-listener.ts +31 -0
  599. package/src/internal/event-emitter.ts +42 -0
  600. package/src/internal/index.ts +4 -0
  601. package/src/internal/logger.ts +81 -0
  602. package/src/internal/redact-uri.ts +18 -0
  603. package/src/internal/secure-store-pending-session-store.ts +131 -0
  604. package/src/internal/telemetry-collector.ts +90 -0
  605. package/src/public/constants.ts +14 -0
  606. package/src/public/index.ts +80 -0
  607. package/src/public/payment-result.ts +61 -0
  608. package/src/public/recovery-result.ts +49 -0
  609. package/src/public/spare-link-callbacks.ts +20 -0
  610. package/src/public/spare-link-config.ts +87 -0
  611. package/src/public/spare-link-event.ts +146 -0
  612. package/src/public/spare-link-host-api.ts +28 -0
  613. package/src/public/spare-link-instance.ts +289 -0
  614. package/src/public/spare-link-session.ts +28 -0
  615. package/src/public/spare-link.ts +2 -0
  616. package/src/ui/consent/charge-bearer-display.tsx +68 -0
  617. package/src/ui/consent/consent-accordion.tsx +89 -0
  618. package/src/ui/consent/consent-summary-section.tsx +19 -0
  619. package/src/ui/consent/cop-information.tsx +121 -0
  620. package/src/ui/consent/international-payment-summary.tsx +83 -0
  621. package/src/ui/consent/label-value-rows.tsx +50 -0
  622. package/src/ui/consent/multi-payment-rules-list.tsx +138 -0
  623. package/src/ui/consent/multi-payment-summary.tsx +82 -0
  624. package/src/ui/consent/single-payment-summary.tsx +123 -0
  625. package/src/ui/consent/terms-link.tsx +27 -0
  626. package/src/ui/hooks/use-payment-flow-state.ts +16 -0
  627. package/src/ui/payment-flow-page.tsx +254 -0
  628. package/src/ui/screens/bank-selection-screen.tsx +209 -0
  629. package/src/ui/screens/consent-details-screen.tsx +106 -0
  630. package/src/ui/screens/index.ts +12 -0
  631. package/src/ui/screens/mandate-setup-success-screen.tsx +72 -0
  632. package/src/ui/screens/redirect-handoff-screen.tsx +33 -0
  633. package/src/ui/screens/result-screen.tsx +71 -0
  634. package/src/ui/screens/resume-processing-screen.tsx +111 -0
  635. package/src/ui/spare-link-host.tsx +394 -0
  636. package/src/ui/theme/assets.ts +17 -0
  637. package/src/ui/theme/colors.ts +32 -0
  638. package/src/ui/theme/fonts.ts +25 -0
  639. package/src/ui/theme/index.ts +11 -0
  640. package/src/ui/theme/typography.ts +47 -0
  641. package/src/ui/widgets/footer.tsx +138 -0
  642. package/src/ui/widgets/gradient-spinner.tsx +156 -0
  643. package/src/ui/widgets/handoff-screen-layout.tsx +70 -0
  644. package/src/ui/widgets/index.ts +5 -0
  645. package/src/ui/widgets/layout-w-header.tsx +89 -0
  646. package/src/ui/widgets/modal-dismiss-button.tsx +44 -0
  647. package/src/ui/widgets/stepper.tsx +126 -0
  648. package/src/version.ts +7 -0
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ResumeProcessingScreen = ResumeProcessingScreen;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _fonts = require("../theme/fonts.js");
10
+ var _gradientSpinner = require("../widgets/gradient-spinner.js");
11
+ var _handoffScreenLayout = require("../widgets/handoff-screen-layout.js");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ const DEFAULT_CANCEL_DELAY_MS = 30_000;
14
+ function confirmCancel(onCancel) {
15
+ _reactNative.Alert.alert('Cancel payment?', 'Your payment may already be processing at the bank. Are you sure you want to cancel?', [{
16
+ text: 'Continue waiting',
17
+ style: 'cancel'
18
+ }, {
19
+ text: 'Cancel payment',
20
+ style: 'destructive',
21
+ onPress: onCancel
22
+ }]);
23
+ }
24
+ function ResumeProcessingScreen(props) {
25
+ const delay = props.cancelButtonDelayMs ?? DEFAULT_CANCEL_DELAY_MS;
26
+ const [showCancel, setShowCancel] = (0, _react.useState)(() => {
27
+ if (!props.awaitingCallbackStartedAtMs) return false;
28
+ return Date.now() - props.awaitingCallbackStartedAtMs >= delay;
29
+ });
30
+ (0, _react.useEffect)(() => {
31
+ if (showCancel) return;
32
+ const startedAt = props.awaitingCallbackStartedAtMs ?? Date.now();
33
+ const remaining = Math.max(0, delay - (Date.now() - startedAt));
34
+ const t = setTimeout(() => setShowCancel(true), remaining);
35
+ return () => clearTimeout(t);
36
+ }, [delay, props.awaitingCallbackStartedAtMs, showCancel]);
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_handoffScreenLayout.HandoffScreenLayout, {
38
+ testID: "resume-processing-screen",
39
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
40
+ style: styles.content,
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_gradientSpinner.GradientSpinner, {
42
+ testID: "resume-processing-spinner"
43
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
44
+ style: styles.copy,
45
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
46
+ style: styles.title,
47
+ testID: "resume-processing-message",
48
+ children: "Confirming your payment\u2026"
49
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
50
+ style: styles.subtitle,
51
+ children: "Please don't close the app."
52
+ })]
53
+ }), showCancel && props.onCancel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
54
+ onPress: () => {
55
+ const onCancel = props.onCancel;
56
+ if (onCancel) confirmCancel(onCancel);
57
+ },
58
+ accessibilityRole: "button",
59
+ testID: "resume-processing-cancel-btn",
60
+ style: styles.cancelButton,
61
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
62
+ style: styles.cancelLabel,
63
+ children: "Cancel payment"
64
+ })
65
+ }) : null]
66
+ })
67
+ });
68
+ }
69
+ const styles = _reactNative.StyleSheet.create({
70
+ content: {
71
+ alignItems: 'center'
72
+ },
73
+ copy: {
74
+ alignItems: 'center',
75
+ gap: 12,
76
+ marginTop: 32
77
+ },
78
+ title: {
79
+ fontFamily: (0, _fonts.linkFontFamilyForWeight)('600'),
80
+ fontSize: 20,
81
+ fontWeight: '600',
82
+ color: '#FFFFFF',
83
+ textAlign: 'center',
84
+ lineHeight: 26
85
+ },
86
+ subtitle: {
87
+ fontFamily: (0, _fonts.linkFontFamilyForWeight)('400'),
88
+ fontSize: 15,
89
+ fontWeight: '400',
90
+ color: 'rgba(255,255,255,0.7)',
91
+ textAlign: 'center',
92
+ lineHeight: 22
93
+ },
94
+ cancelButton: {
95
+ marginTop: 20,
96
+ paddingVertical: 12,
97
+ paddingHorizontal: 32,
98
+ borderRadius: 24,
99
+ borderWidth: 1,
100
+ borderColor: 'rgba(255,255,255,0.38)'
101
+ },
102
+ cancelLabel: {
103
+ fontFamily: (0, _fonts.linkFontFamilyForWeight)('500'),
104
+ fontSize: 15,
105
+ fontWeight: '500',
106
+ color: 'rgba(255,255,255,0.7)'
107
+ }
108
+ });
109
+ //# sourceMappingURL=resume-processing-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_fonts","_gradientSpinner","_handoffScreenLayout","_jsxRuntime","DEFAULT_CANCEL_DELAY_MS","confirmCancel","onCancel","Alert","alert","text","style","onPress","ResumeProcessingScreen","props","delay","cancelButtonDelayMs","showCancel","setShowCancel","useState","awaitingCallbackStartedAtMs","Date","now","useEffect","startedAt","remaining","Math","max","t","setTimeout","clearTimeout","jsx","HandoffScreenLayout","testID","children","jsxs","View","styles","content","GradientSpinner","copy","Text","title","subtitle","Pressable","accessibilityRole","cancelButton","cancelLabel","StyleSheet","create","alignItems","gap","marginTop","fontFamily","linkFontFamilyForWeight","fontSize","fontWeight","color","textAlign","lineHeight","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor"],"sourceRoot":"../../../../src","sources":["ui/screens/resume-processing-screen.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,354 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SpareLinkHost = SpareLinkHost;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeScreens = require("react-native-screens");
10
+ var _linkApiClient = require("../core/client/link-api-client.js");
11
+ var _paymentReturnParams = require("../core/models/payment-return-params.js");
12
+ var _executeResumeIfNeeded = require("../core/services/execute-resume-if-needed.js");
13
+ var _paymentFlowController = require("../core/services/payment-flow-controller.js");
14
+ var _redirectBuffer = require("../core/services/redirect-buffer.js");
15
+ var _userFriendlyMessages = require("../core/services/user-friendly-messages.js");
16
+ var _bankRedirect = require("../internal/bank-redirect.js");
17
+ var _logger = require("../internal/logger.js");
18
+ var _telemetryCollector = require("../internal/telemetry-collector.js");
19
+ var _paymentResult = require("../public/payment-result.js");
20
+ var _spareLinkConfig = require("../public/spare-link-config.js");
21
+ var _spareLinkEvent = require("../public/spare-link-event.js");
22
+ var _spareLinkInstance = require("../public/spare-link-instance.js");
23
+ var _paymentFlowPage = require("./payment-flow-page.js");
24
+ var _index = require("./theme/index.js");
25
+ var _fonts = require("./theme/fonts.js");
26
+ var _modalDismissButton = require("./widgets/modal-dismiss-button.js");
27
+ var _jsxRuntime = require("react/jsx-runtime");
28
+ (0, _reactNativeScreens.enableScreens)();
29
+ const log = (0, _logger.createLogger)('SpareLinkHost');
30
+ /**
31
+ * Host component that mounts the SDK modal and connects a {@link SpareLink}
32
+ * instance — Flutter-aligned integration (one instance, one host).
33
+ */
34
+ function SpareLinkHost(props) {
35
+ const {
36
+ spareLink,
37
+ showDismissButton = true,
38
+ launchBankRedirect
39
+ } = props;
40
+ const pendingSessionStore = props.pendingSessionStore ?? spareLink.pendingSessionStore;
41
+ const fontsLoaded = (0, _fonts.useLinkFonts)();
42
+ const [active, setActive] = (0, _react.useState)(null);
43
+ const activeRef = (0, _react.useRef)(null);
44
+ (0, _react.useEffect)(() => {
45
+ activeRef.current = active;
46
+ }, [active]);
47
+ const emitMappedEvent = (0, _react.useCallback)((linkToken, event, linkSessionId) => {
48
+ switch (event) {
49
+ case 'sessionLoaded':
50
+ spareLink.emitEvent(_spareLinkEvent.SpareLinkEvents.sessionLoaded(linkToken, linkSessionId));
51
+ break;
52
+ case 'consentStarted':
53
+ spareLink.emitEvent(_spareLinkEvent.SpareLinkEvents.consentStarted(linkToken));
54
+ break;
55
+ case 'redirectToBank':
56
+ spareLink.emitEvent(_spareLinkEvent.SpareLinkEvents.redirectToBank(linkToken));
57
+ break;
58
+ case 'bankCallbackReceived':
59
+ spareLink.emitEvent(_spareLinkEvent.SpareLinkEvents.bankCallbackReceived(linkToken));
60
+ break;
61
+ default:
62
+ break;
63
+ }
64
+ }, [spareLink]);
65
+ const close = (0, _react.useCallback)((flow, result) => {
66
+ void pendingSessionStore?.clear().catch(() => {
67
+ log.warning('close: pendingSessionStore.clear() failed — continuing');
68
+ });
69
+ flow.resolve(result);
70
+ flow.controller.dispose();
71
+ if (activeRef.current === flow) {
72
+ activeRef.current = null;
73
+ setActive(null);
74
+ }
75
+ }, [pendingSessionStore]);
76
+ const startFlow = (0, _react.useCallback)(args => {
77
+ if (activeRef.current) {
78
+ log.warning('start: a payment flow is already in progress — rejecting concurrent call');
79
+ args.resolve((0, _paymentResult.paymentFailed)({
80
+ linkToken: args.linkToken,
81
+ errorCode: 'concurrent_start',
82
+ message: 'A payment flow is already in progress.',
83
+ resolvedAtMs: Date.now()
84
+ }));
85
+ return;
86
+ }
87
+ log.info(`start: tenant=${spareLink.tenant}, environment=${spareLink.environment}`);
88
+ const controller = new _paymentFlowController.PaymentFlowController({
89
+ sessionToken: args.linkToken,
90
+ environment: spareLink.environment,
91
+ apiClient: new _linkApiClient.LinkApiClient({
92
+ baseUrl: spareLink.resolvedBaseUrl,
93
+ tenant: (0, _spareLinkConfig.tenantCountryCode)(spareLink.tenant),
94
+ ...(spareLink.fetch ? {
95
+ fetch: spareLink.fetch
96
+ } : {}),
97
+ ...(spareLink.requestTimeoutMs !== undefined ? {
98
+ requestTimeoutMs: spareLink.requestTimeoutMs
99
+ } : {})
100
+ }),
101
+ collectTelemetry: _telemetryCollector.collectTelemetry,
102
+ ...(pendingSessionStore ? {
103
+ pendingSessionStore
104
+ } : {}),
105
+ onEvent: event => {
106
+ emitMappedEvent(args.linkToken, event);
107
+ if (event === 'sessionLoaded') {
108
+ const linkSessionId = controller.state.linkSessionId;
109
+ if (linkSessionId) {
110
+ args.onSessionLoaded?.(linkSessionId);
111
+ }
112
+ }
113
+ }
114
+ });
115
+ const flow = {
116
+ controller,
117
+ linkToken: args.linkToken,
118
+ resolve: args.resolve,
119
+ ...(args.onSessionLoaded ? {
120
+ onSessionLoaded: args.onSessionLoaded
121
+ } : {})
122
+ };
123
+ activeRef.current = flow;
124
+ setActive(flow);
125
+ void controller.hydrate().catch(err => {
126
+ log.severe(`start: hydration failed — ${err instanceof Error ? err.message : String(err)}`);
127
+ close(flow, (0, _paymentResult.paymentFailed)({
128
+ linkToken: args.linkToken,
129
+ errorCode: 'hydration_error',
130
+ message: 'Unable to load payment session. Please try again.',
131
+ resolvedAtMs: Date.now()
132
+ }));
133
+ });
134
+ }, [spareLink, pendingSessionStore, emitMappedEvent, close]);
135
+ const handleRedirect = (0, _react.useCallback)(async uri => {
136
+ const current = activeRef.current;
137
+ const asString = typeof uri === 'string' ? uri : uri.toString();
138
+ if (!current) {
139
+ if (!(0, _paymentReturnParams.isPaymentReturnCallbackUri)(asString)) {
140
+ log.fine('handleRedirect: URI does not belong to payment flow — ignoring');
141
+ return false;
142
+ }
143
+ (0, _redirectBuffer.setBufferedRedirect)(asString);
144
+ log.info('handleRedirect: no active controller — buffering URI for recovery');
145
+ return true;
146
+ }
147
+ if (!(0, _paymentReturnParams.isPaymentReturnCallbackUri)(asString)) {
148
+ log.fine('handleRedirect: URI does not belong to payment flow — ignoring');
149
+ return false;
150
+ }
151
+ log.info('handleRedirect: forwarding to controller');
152
+ try {
153
+ current.controller.handleCallback(uri);
154
+ spareLink.emitEvent(_spareLinkEvent.SpareLinkEvents.bankCallbackReceived(current.linkToken));
155
+ return true;
156
+ } catch {
157
+ return false;
158
+ }
159
+ }, [spareLink]);
160
+ const openRecoveryFlow = (0, _react.useCallback)(args => {
161
+ if (activeRef.current) {
162
+ args.controller.dispose();
163
+ return;
164
+ }
165
+ const flow = {
166
+ controller: args.controller,
167
+ linkToken: args.linkToken,
168
+ resolve: args.resolve ?? (() => {
169
+ /* recovery UI only */
170
+ })
171
+ };
172
+ activeRef.current = flow;
173
+ setActive(flow);
174
+ spareLink.emitEvent(_spareLinkEvent.SpareLinkEvents.initialized(args.linkToken));
175
+ }, [spareLink]);
176
+ const resumeIfNeeded = (0, _react.useCallback)(async () => {
177
+ if (!pendingSessionStore) {
178
+ return (0, _spareLinkInstance.noRecovery)('persistenceUnavailable');
179
+ }
180
+ if (activeRef.current) {
181
+ return (0, _spareLinkInstance.noRecovery)('flowAlreadyActive');
182
+ }
183
+ let flowOpened = false;
184
+ let openedLinkToken;
185
+ const terminal = await (0, _executeResumeIfNeeded.executeResumeIfNeeded)({
186
+ config: {
187
+ environment: spareLink.environment,
188
+ tenant: spareLink.tenant,
189
+ ...(spareLink.baseUrl ? {
190
+ baseUrl: spareLink.baseUrl
191
+ } : {}),
192
+ ...(spareLink.fetch ? {
193
+ fetch: spareLink.fetch
194
+ } : {}),
195
+ ...(spareLink.requestTimeoutMs !== undefined ? {
196
+ requestTimeoutMs: spareLink.requestTimeoutMs
197
+ } : {})
198
+ }
199
+ }, {
200
+ pendingSessionStore,
201
+ isFlowActive: () => activeRef.current != null,
202
+ openRecoveryFlow: ({
203
+ controller,
204
+ config
205
+ }) => {
206
+ flowOpened = true;
207
+ openedLinkToken = config.linkToken;
208
+ openRecoveryFlow({
209
+ controller,
210
+ linkToken: config.linkToken,
211
+ resolve: result => {
212
+ spareLink.emitTerminal(result);
213
+ }
214
+ });
215
+ }
216
+ });
217
+ if (terminal) {
218
+ spareLink.emitTerminal(terminal);
219
+ return {
220
+ kind: 'recovered',
221
+ result: terminal
222
+ };
223
+ }
224
+ if (flowOpened && openedLinkToken) {
225
+ return (0, _spareLinkInstance.mapHostRecovery)({
226
+ kind: 'inProgress',
227
+ linkToken: openedLinkToken
228
+ });
229
+ }
230
+ return (0, _spareLinkInstance.noRecovery)('noPendingSession');
231
+ }, [pendingSessionStore, spareLink, openRecoveryFlow]);
232
+ (0, _react.useEffect)(() => {
233
+ const detach = spareLink._attachHost({
234
+ startFlow,
235
+ handleRedirect,
236
+ resumeIfNeeded,
237
+ isFlowActive: () => activeRef.current != null
238
+ });
239
+ return detach;
240
+ }, [spareLink, startFlow, handleRedirect, resumeIfNeeded]);
241
+ const onResolved = (0, _react.useCallback)(() => {
242
+ const current = activeRef.current;
243
+ if (!current) return;
244
+ const s = current.controller.state;
245
+ let result;
246
+ switch (s.phase) {
247
+ case 'succeeded':
248
+ result = (0, _paymentResult.paymentSuccess)({
249
+ linkToken: current.linkToken,
250
+ ...(s.exchangeCode ? {
251
+ exchangeCode: s.exchangeCode
252
+ } : {}),
253
+ ...(s.linkSessionId ? {
254
+ linkSessionId: s.linkSessionId
255
+ } : {}),
256
+ ...(s.merchantRef ? {
257
+ merchantRef: s.merchantRef
258
+ } : {}),
259
+ ...(s.selectedProvider ? {
260
+ bankId: s.selectedProvider.id
261
+ } : {}),
262
+ ...(s.session?.request?.type ? {
263
+ paymentType: s.session.request.type
264
+ } : {}),
265
+ resolvedAtMs: Date.now()
266
+ });
267
+ break;
268
+ case 'failed':
269
+ {
270
+ const errorCode = s.errorCode ?? 'unknown_error';
271
+ result = (0, _paymentResult.paymentFailed)({
272
+ linkToken: current.linkToken,
273
+ errorCode,
274
+ message: (0, _userFriendlyMessages.userFriendlyMessageFor)(errorCode),
275
+ resolvedAtMs: Date.now()
276
+ });
277
+ break;
278
+ }
279
+ case 'cancelled':
280
+ result = (0, _paymentResult.paymentCancelled)({
281
+ linkToken: current.linkToken,
282
+ resolvedAtMs: Date.now()
283
+ });
284
+ break;
285
+ default:
286
+ result = (0, _paymentResult.paymentAbandoned)({
287
+ linkToken: current.linkToken,
288
+ resolvedAtMs: Date.now()
289
+ });
290
+ break;
291
+ }
292
+ close(current, result);
293
+ }, [close]);
294
+ const onDismissPressed = (0, _react.useCallback)(() => {
295
+ const current = activeRef.current;
296
+ if (!current) {
297
+ onResolved();
298
+ return;
299
+ }
300
+ spareLink.emitEvent(_spareLinkEvent.SpareLinkEvents.abandoned((0, _paymentResult.paymentAbandoned)({
301
+ linkToken: current.linkToken,
302
+ resolvedAtMs: Date.now()
303
+ })));
304
+ void current.controller.cancel().finally(onResolved);
305
+ }, [onResolved, spareLink]);
306
+ const launcher = (0, _react.useMemo)(() => launchBankRedirect ?? _bankRedirect.launchBankRedirect, [launchBankRedirect]);
307
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
308
+ children: [props.children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
309
+ animationType: "slide",
310
+ visible: !!active,
311
+ onRequestClose: onDismissPressed,
312
+ presentationStyle: "overFullScreen",
313
+ testID: "spare-link-modal",
314
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.SafeAreaView, {
315
+ accessibilityViewIsModal: true,
316
+ accessibilityRole: "alert",
317
+ style: styles.modalRoot,
318
+ testID: "spare-link-modal-root",
319
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_modalDismissButton.ModalDismissButton, {
320
+ visible: showDismissButton,
321
+ onPress: onDismissPressed
322
+ }), active ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
323
+ style: styles.flowWrap,
324
+ children: fontsLoaded ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_paymentFlowPage.PaymentFlowPage, {
325
+ controller: active.controller,
326
+ onResolved: onResolved,
327
+ launchBankRedirect: launcher
328
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
329
+ style: styles.fontLoading,
330
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
331
+ size: "large",
332
+ color: _index.Colors.spareBlue
333
+ })
334
+ })
335
+ }) : null]
336
+ })
337
+ })]
338
+ });
339
+ }
340
+ const styles = _reactNative.StyleSheet.create({
341
+ modalRoot: {
342
+ flex: 1,
343
+ backgroundColor: _index.Colors.surfacePage
344
+ },
345
+ flowWrap: {
346
+ flex: 1
347
+ },
348
+ fontLoading: {
349
+ flex: 1,
350
+ alignItems: 'center',
351
+ justifyContent: 'center'
352
+ }
353
+ });
354
+ //# sourceMappingURL=spare-link-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeScreens","_linkApiClient","_paymentReturnParams","_executeResumeIfNeeded","_paymentFlowController","_redirectBuffer","_userFriendlyMessages","_bankRedirect","_logger","_telemetryCollector","_paymentResult","_spareLinkConfig","_spareLinkEvent","_spareLinkInstance","_paymentFlowPage","_index","_fonts","_modalDismissButton","_jsxRuntime","enableScreens","log","createLogger","SpareLinkHost","props","spareLink","showDismissButton","launchBankRedirect","pendingSessionStore","fontsLoaded","useLinkFonts","active","setActive","useState","activeRef","useRef","useEffect","current","emitMappedEvent","useCallback","linkToken","event","linkSessionId","emitEvent","SpareLinkEvents","sessionLoaded","consentStarted","redirectToBank","bankCallbackReceived","close","flow","result","clear","catch","warning","resolve","controller","dispose","startFlow","args","paymentFailed","errorCode","message","resolvedAtMs","Date","now","info","tenant","environment","PaymentFlowController","sessionToken","apiClient","LinkApiClient","baseUrl","resolvedBaseUrl","tenantCountryCode","fetch","requestTimeoutMs","undefined","collectTelemetry","onEvent","state","onSessionLoaded","hydrate","err","severe","Error","String","handleRedirect","uri","asString","toString","isPaymentReturnCallbackUri","fine","setBufferedRedirect","handleCallback","openRecoveryFlow","initialized","resumeIfNeeded","noRecovery","flowOpened","openedLinkToken","terminal","executeResumeIfNeeded","config","isFlowActive","emitTerminal","kind","mapHostRecovery","detach","_attachHost","onResolved","s","phase","paymentSuccess","exchangeCode","merchantRef","selectedProvider","bankId","id","session","request","type","paymentType","userFriendlyMessageFor","paymentCancelled","paymentAbandoned","onDismissPressed","abandoned","cancel","finally","launcher","useMemo","defaultLaunchBankRedirect","jsxs","Fragment","children","jsx","Modal","animationType","visible","onRequestClose","presentationStyle","testID","SafeAreaView","accessibilityViewIsModal","accessibilityRole","style","styles","modalRoot","ModalDismissButton","onPress","View","flowWrap","PaymentFlowPage","fontLoading","ActivityIndicator","size","color","Colors","spareBlue","StyleSheet","create","flex","backgroundColor","surfacePage","alignItems","justifyContent"],"sourceRoot":"../../../src","sources":["ui/spare-link-host.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Assets = void 0;
7
+ /**
8
+ * Bundled image assets for the Spare Link checkout UI. Mirrors Flutter's
9
+ * `ConsentAssets` (`lib/src/ui/theme/assets.dart`). The PNGs live in
10
+ * `packages/spare-link-rn/assets/images/` and are resolved by Metro at build
11
+ * time via `require`, so they ship with the SDK package (`files` includes
12
+ * `assets`).
13
+ */
14
+ const Assets = exports.Assets = {
15
+ spareLogo: require('../../../assets/images/spare_logo.png'),
16
+ altareqIconMini: require('../../../assets/images/altareq_logo_mini.png'),
17
+ altareqLogoWhiteBg: require('../../../assets/images/altareq_logo_white_bg.png'),
18
+ altareqLogoTransparentBg: require('../../../assets/images/altareq_logo_transparent_bg.png')
19
+ };
20
+ //# sourceMappingURL=assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Assets","exports","spareLogo","require","altareqIconMini","altareqLogoWhiteBg","altareqLogoTransparentBg"],"sourceRoot":"../../../../src","sources":["ui/theme/assets.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG;EACpBE,SAAS,EAAEC,OAAO,CAAC,uCAAuC,CAAwB;EAClFC,eAAe,EAAED,OAAO,CAAC,8CAA8C,CAAwB;EAC/FE,kBAAkB,EAChBF,OAAO,CAAC,kDAAkD,CAAwB;EACpFG,wBAAwB,EACtBH,OAAO,CAAC,wDAAwD;AACpE,CAAU","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.HandoffGradient = exports.Colors = void 0;
7
+ /** Color palette for the Spare Link checkout UI. */
8
+ const Colors = exports.Colors = {
9
+ textPrimary: '#000000',
10
+ textLabel: '#030732',
11
+ textMuted: '#868E96',
12
+ textSubtle: '#56575B',
13
+ surfaceCard: '#FFFFFF',
14
+ surfaceMuted: '#EDEDF0',
15
+ surfacePage: '#FFFFFF',
16
+ divider: '#D8D8D8',
17
+ spareBlue: '#2F5BFF',
18
+ errorRed: '#E5484D',
19
+ successGreen: '#30A46C',
20
+ gradientStart: '#28D0CF',
21
+ gradientMid: '#4F75FF',
22
+ gradientEnd: '#0B1E5E',
23
+ /** Redirect / awaiting-callback screens — matches Flutter handoff gradient. */
24
+ handoffGradientStart: '#00C8AF',
25
+ handoffGradientMid: '#0070D8',
26
+ handoffGradientEnd: '#001A6E',
27
+ buttonDisabled: '#C4C4C4',
28
+ cardMutedBg: '#F7F7F7'
29
+ };
30
+ /** Flutter `RedirectHandoffScreen` / `ResumeProcessingScreen` gradient stops. */
31
+ const HandoffGradient = exports.HandoffGradient = {
32
+ start: Colors.handoffGradientStart,
33
+ mid: Colors.handoffGradientMid,
34
+ end: Colors.handoffGradientEnd
35
+ };
36
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Colors","exports","textPrimary","textLabel","textMuted","textSubtle","surfaceCard","surfaceMuted","surfacePage","divider","spareBlue","errorRed","successGreen","gradientStart","gradientMid","gradientEnd","handoffGradientStart","handoffGradientMid","handoffGradientEnd","buttonDisabled","cardMutedBg","HandoffGradient","start","mid","end"],"sourceRoot":"../../../../src","sources":["ui/theme/colors.ts"],"mappings":";;;;;;AAAA;AACO,MAAMA,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG;EACpBE,WAAW,EAAE,SAAS;EACtBC,SAAS,EAAE,SAAS;EACpBC,SAAS,EAAE,SAAS;EACpBC,UAAU,EAAE,SAAS;EACrBC,WAAW,EAAE,SAAS;EACtBC,YAAY,EAAE,SAAS;EACvBC,WAAW,EAAE,SAAS;EACtBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,QAAQ,EAAE,SAAS;EACnBC,YAAY,EAAE,SAAS;EACvBC,aAAa,EAAE,SAAS;EACxBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EACtB;EACAC,oBAAoB,EAAE,SAAS;EAC/BC,kBAAkB,EAAE,SAAS;EAC7BC,kBAAkB,EAAE,SAAS;EAC7BC,cAAc,EAAE,SAAS;EACzBC,WAAW,EAAE;AACf,CAAU;AAIV;AACO,MAAMC,eAAe,GAAApB,OAAA,CAAAoB,eAAA,GAAG;EAC7BC,KAAK,EAAEtB,MAAM,CAACgB,oBAAoB;EAClCO,GAAG,EAAEvB,MAAM,CAACiB,kBAAkB;EAC9BO,GAAG,EAAExB,MAAM,CAACkB;AACd,CAAU","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LINK_FONT_MAP = exports.FONT_FAMILY = void 0;
7
+ exports.linkFontFamilyForWeight = linkFontFamilyForWeight;
8
+ exports.useLinkFonts = useLinkFonts;
9
+ var _expoFont = require("expo-font");
10
+ const FONT_FAMILY = exports.FONT_FAMILY = 'MetroSans-Regular';
11
+ const LINK_FONT_MAP = exports.LINK_FONT_MAP = {
12
+ 'MetroSans-Light': require('../../../assets/fonts/MetroSans-Light.otf'),
13
+ 'MetroSans-Regular': require('../../../assets/fonts/MetroSans-Regular.otf'),
14
+ 'MetroSans-Medium': require('../../../assets/fonts/MetroSans-Medium.otf'),
15
+ 'MetroSans-SemiBold': require('../../../assets/fonts/MetroSans-SemiBold.otf'),
16
+ 'MetroSans-Bold': require('../../../assets/fonts/MetroSans-Bold.otf')
17
+ };
18
+ function useLinkFonts() {
19
+ const [loaded] = (0, _expoFont.useFonts)(LINK_FONT_MAP);
20
+ return loaded;
21
+ }
22
+ function linkFontFamilyForWeight(weight) {
23
+ if (weight === '700' || weight === 'bold') return 'MetroSans-Bold';
24
+ if (weight === '600') return 'MetroSans-SemiBold';
25
+ if (weight === '500') return 'MetroSans-Medium';
26
+ if (weight === '300' || weight === '200' || weight === '100') return 'MetroSans-Light';
27
+ return 'MetroSans-Regular';
28
+ }
29
+ //# sourceMappingURL=fonts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_expoFont","require","FONT_FAMILY","exports","LINK_FONT_MAP","useLinkFonts","loaded","useFonts","linkFontFamilyForWeight","weight"],"sourceRoot":"../../../../src","sources":["ui/theme/fonts.ts"],"mappings":";;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAGO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,mBAAmB;AAEvC,MAAME,aAAa,GAAAD,OAAA,CAAAC,aAAA,GAAG;EAC3B,iBAAiB,EAAEH,OAAO,CAAC,2CAA2C,CAAC;EACvE,mBAAmB,EAAEA,OAAO,CAAC,6CAA6C,CAAC;EAC3E,kBAAkB,EAAEA,OAAO,CAAC,4CAA4C,CAAC;EACzE,oBAAoB,EAAEA,OAAO,CAAC,8CAA8C,CAAC;EAC7E,gBAAgB,EAAEA,OAAO,CAAC,0CAA0C;AACtE,CAAU;AAEH,SAASI,YAAYA,CAAA,EAAY;EACtC,MAAM,CAACC,MAAM,CAAC,GAAG,IAAAC,kBAAQ,EAACH,aAAa,CAAC;EACxC,OAAOE,MAAM;AACf;AAEO,SAASE,uBAAuBA,CAACC,MAA+B,EAAU;EAC/E,IAAIA,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,MAAM,EAAE,OAAO,gBAAgB;EAClE,IAAIA,MAAM,KAAK,KAAK,EAAE,OAAO,oBAAoB;EACjD,IAAIA,MAAM,KAAK,KAAK,EAAE,OAAO,kBAAkB;EAC/C,IAAIA,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,KAAK,EAAE,OAAO,iBAAiB;EACtF,OAAO,mBAAmB;AAC5B","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Colors", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _colors.Colors;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "FONT_FAMILY", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _typography.FONT_FAMILY;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "HandoffGradient", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _colors.HandoffGradient;
22
+ }
23
+ });
24
+ exports.Spacing = void 0;
25
+ Object.defineProperty(exports, "Typography", {
26
+ enumerable: true,
27
+ get: function () {
28
+ return _typography.Typography;
29
+ }
30
+ });
31
+ Object.defineProperty(exports, "linkFontFamilyForWeight", {
32
+ enumerable: true,
33
+ get: function () {
34
+ return _typography.linkFontFamilyForWeight;
35
+ }
36
+ });
37
+ Object.defineProperty(exports, "useLinkFonts", {
38
+ enumerable: true,
39
+ get: function () {
40
+ return _typography.useLinkFonts;
41
+ }
42
+ });
43
+ var _colors = require("./colors.js");
44
+ var _typography = require("./typography.js");
45
+ const Spacing = exports.Spacing = {
46
+ xs: 4,
47
+ sm: 8,
48
+ md: 12,
49
+ lg: 16,
50
+ xl: 24,
51
+ xxl: 32
52
+ };
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_colors","require","_typography","Spacing","exports","xs","sm","md","lg","xl","xxl"],"sourceRoot":"../../../../src","sources":["ui/theme/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEO,MAAME,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG;EACrBE,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,GAAG,EAAE;AACP,CAAU","ignoreList":[]}