@credenza3/passport-sui 0.1.13 → 0.1.14

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 (78) hide show
  1. package/README.md +3 -2
  2. package/dist/{App-CaddcD88.js → App-BKyBjIVo.js} +72 -71
  3. package/dist/App-BKyBjIVo.js.map +1 -0
  4. package/dist/{Button-COof5JSt.js → Button-OKLjtAEN.js} +4 -4
  5. package/dist/{Button-COof5JSt.js.map → Button-OKLjtAEN.js.map} +1 -1
  6. package/dist/{ButtonBack-orBN-97H.js → ButtonBack-DWZ_gwYG.js} +4 -4
  7. package/dist/{ButtonBack-orBN-97H.js.map → ButtonBack-DWZ_gwYG.js.map} +1 -1
  8. package/dist/{ButtonLink-DUHUUS0x.js → ButtonLink-2KCcfVcM.js} +3 -3
  9. package/dist/{ButtonLink-DUHUUS0x.js.map → ButtonLink-2KCcfVcM.js.map} +1 -1
  10. package/dist/{ConfirmAccount-DRY7Uy7u.js → ConfirmAccount-CwwO-2j9.js} +9 -9
  11. package/dist/{ConfirmAccount-DRY7Uy7u.js.map → ConfirmAccount-CwwO-2j9.js.map} +1 -1
  12. package/dist/{ContentHeader-CpcYh3OR.js → ContentHeader-DCqDL72M.js} +3 -3
  13. package/dist/{ContentHeader-CpcYh3OR.js.map → ContentHeader-DCqDL72M.js.map} +1 -1
  14. package/dist/{Error-yudQF0DH.js → Error-C6JY6JrT.js} +5 -5
  15. package/dist/{Error-yudQF0DH.js.map → Error-C6JY6JrT.js.map} +1 -1
  16. package/dist/{Input-D5Y3ACHa.js → Input-BvAeOrPO.js} +4 -4
  17. package/dist/{Input-D5Y3ACHa.js.map → Input-BvAeOrPO.js.map} +1 -1
  18. package/dist/{Label-D5UVPByT.js → Label-CzSO15sn.js} +3 -3
  19. package/dist/{Label-D5UVPByT.js.map → Label-CzSO15sn.js.map} +1 -1
  20. package/dist/{Loader-DmctFU_e.js → Loader-BhRkZ5TL.js} +3 -3
  21. package/dist/{Loader-DmctFU_e.js.map → Loader-BhRkZ5TL.js.map} +1 -1
  22. package/dist/{Login-haJgDdLI.js → Login-DrFeJOgk.js} +9 -9
  23. package/dist/{Login-haJgDdLI.js.map → Login-DrFeJOgk.js.map} +1 -1
  24. package/dist/{Logout-BsfbQTT-.js → Logout-TRcHJsFr.js} +6 -6
  25. package/dist/{Logout-BsfbQTT-.js.map → Logout-TRcHJsFr.js.map} +1 -1
  26. package/dist/{Nav-Bgvw9VN_.js → Nav-B9KQpjol.js} +5 -5
  27. package/dist/{Nav-Bgvw9VN_.js.map → Nav-B9KQpjol.js.map} +1 -1
  28. package/dist/{PassportId-GUxvBj33.js → PassportId-cpY0NSja.js} +7 -7
  29. package/dist/{PassportId-GUxvBj33.js.map → PassportId-cpY0NSja.js.map} +1 -1
  30. package/dist/{Payment-DxXt2gsw.js → Payment-BbLNfRkR.js} +326 -323
  31. package/dist/Payment-BbLNfRkR.js.map +1 -0
  32. package/dist/{PaymentResult-5fBTwwti.js → PaymentResult-Bys8XKUZ.js} +4 -4
  33. package/dist/{PaymentResult-5fBTwwti.js.map → PaymentResult-Bys8XKUZ.js.map} +1 -1
  34. package/dist/{Profile-BzRFt6n6.js → Profile-DnyN-Ntn.js} +7 -7
  35. package/dist/{Profile-BzRFt6n6.js.map → Profile-DnyN-Ntn.js.map} +1 -1
  36. package/dist/{ProgressVideo-JLOnQIEk.js → ProgressVideo-Depxrvw6.js} +10 -10
  37. package/dist/{ProgressVideo-JLOnQIEk.js.map → ProgressVideo-Depxrvw6.js.map} +1 -1
  38. package/dist/{ProgressVideo.service-BAMbskbr.js → ProgressVideo.service-Cc97Axao.js} +2 -2
  39. package/dist/{ProgressVideo.service-BAMbskbr.js.map → ProgressVideo.service-Cc97Axao.js.map} +1 -1
  40. package/dist/RichAlert-Bvn0-9HK.js +119 -0
  41. package/dist/RichAlert-Bvn0-9HK.js.map +1 -0
  42. package/dist/{Scanner-B1OSac9k.js → Scanner-D_3wT5II.js} +42 -42
  43. package/dist/{Scanner-B1OSac9k.js.map → Scanner-D_3wT5II.js.map} +1 -1
  44. package/dist/{SendTokens-BUuuNiOk.js → SendTokens-DR48g5hU.js} +7 -7
  45. package/dist/{SendTokens-BUuuNiOk.js.map → SendTokens-DR48g5hU.js.map} +1 -1
  46. package/dist/{Sign-ClJs_BJT.js → Sign-Bff9o5wN.js} +7 -7
  47. package/dist/{Sign-ClJs_BJT.js.map → Sign-Bff9o5wN.js.map} +1 -1
  48. package/dist/{Stripe.service-C8AvLhF7.js → Stripe.service-DjI263ge.js} +3 -3
  49. package/dist/{Stripe.service-C8AvLhF7.js.map → Stripe.service-DjI263ge.js.map} +1 -1
  50. package/dist/{UpdateProfile-CeIYamjD.js → UpdateProfile-CIvPRRTB.js} +10 -10
  51. package/dist/{UpdateProfile-CeIYamjD.js.map → UpdateProfile-CIvPRRTB.js.map} +1 -1
  52. package/dist/{UserInfo-BVkoTnVB.js → UserInfo-BreVGLFR.js} +4 -4
  53. package/dist/{UserInfo-BVkoTnVB.js.map → UserInfo-BreVGLFR.js.map} +1 -1
  54. package/dist/{Wallet-Ct-JpJxy.js → Wallet-D5bqT0uM.js} +8 -8
  55. package/dist/{Wallet-Ct-JpJxy.js.map → Wallet-D5bqT0uM.js.map} +1 -1
  56. package/dist/{each-xBf1TDPG.js → each-ElOFEout.js} +23 -23
  57. package/dist/{each-xBf1TDPG.js.map → each-ElOFEout.js.map} +1 -1
  58. package/dist/{html-CbdoaFSM.js → html-DUwXJ20_.js} +3 -3
  59. package/dist/{html-CbdoaFSM.js.map → html-DUwXJ20_.js.map} +1 -1
  60. package/dist/{index-zh1hyaFY.js → index-Bke4gumR.js} +4369 -4364
  61. package/dist/index-Bke4gumR.js.map +1 -0
  62. package/dist/{index-client-HMJuh4UU.js → index-client-D8UolkeW.js} +2 -2
  63. package/dist/{index-client-HMJuh4UU.js.map → index-client-D8UolkeW.js.map} +1 -1
  64. package/dist/{input-UQdEnh_Z.js → input-qDelY_9m.js} +3 -3
  65. package/dist/{input-UQdEnh_Z.js.map → input-qDelY_9m.js.map} +1 -1
  66. package/dist/{legacy-ClulkM_J.js → legacy-DxW2lxU5.js} +4 -3
  67. package/dist/{legacy-ClulkM_J.js.map → legacy-DxW2lxU5.js.map} +1 -1
  68. package/dist/passport.es.js +2 -2
  69. package/dist/passport.umd.js +106 -105
  70. package/dist/passport.umd.js.map +1 -1
  71. package/dist/{socket-io-C_YIoQOg.js → socket-io-B4mPGqpb.js} +2 -2
  72. package/dist/{socket-io-C_YIoQOg.js.map → socket-io-B4mPGqpb.js.map} +1 -1
  73. package/package.json +1 -1
  74. package/dist/App-CaddcD88.js.map +0 -1
  75. package/dist/Payment-DxXt2gsw.js.map +0 -1
  76. package/dist/RichAlert-BsOTbx1L.js +0 -139
  77. package/dist/RichAlert-BsOTbx1L.js.map +0 -1
  78. package/dist/index-zh1hyaFY.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@credenza3/passport-sui",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "type": "module",
5
5
  "description": "Credenza Passport",
6
6
  "types": "dist/types/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"App-CaddcD88.js","sources":["../../../node_modules/.pnpm/svelte@5.34.8/node_modules/svelte/src/internal/client/dom/blocks/await.js","../../ui/images/close-button.svg","../../ui/main/shared/Header.svelte","../../ui/images/credenza.svg","../../ui/main/shared/footer/Footer.svelte","../../ui/main/shared/Container.svelte","../../ui/main/Main.svelte","../src/app/images/sui-partner-logo.svg","../src/app/App.svelte"],"sourcesContent":["/** @import { Effect, Source, TemplateNode } from '#client' */\nimport { DEV } from 'esm-env';\nimport { is_promise } from '../../../shared/utils.js';\nimport { block, branch, pause_effect, resume_effect } from '../../reactivity/effects.js';\nimport { internal_set, mutable_source, source } from '../../reactivity/sources.js';\nimport { flushSync, set_active_effect, set_active_reaction } from '../../runtime.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tremove_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport { queue_micro_task } from '../task.js';\nimport { HYDRATION_START_ELSE, UNINITIALIZED } from '../../../../constants.js';\nimport {\n\tcomponent_context,\n\tis_runes,\n\tset_component_context,\n\tset_dev_current_component_function\n} from '../../context.js';\n\nconst PENDING = 0;\nconst THEN = 1;\nconst CATCH = 2;\n\n/**\n * @template V\n * @param {TemplateNode} node\n * @param {(() => Promise<V>)} get_input\n * @param {null | ((anchor: Node) => void)} pending_fn\n * @param {null | ((anchor: Node, value: Source<V>) => void)} then_fn\n * @param {null | ((anchor: Node, error: unknown) => void)} catch_fn\n * @returns {void}\n */\nexport function await_block(node, get_input, pending_fn, then_fn, catch_fn) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar anchor = node;\n\tvar runes = is_runes();\n\tvar active_component_context = component_context;\n\n\t/** @type {any} */\n\tvar component_function = DEV ? component_context?.function : null;\n\n\t/** @type {V | Promise<V> | typeof UNINITIALIZED} */\n\tvar input = UNINITIALIZED;\n\n\t/** @type {Effect | null} */\n\tvar pending_effect;\n\n\t/** @type {Effect | null} */\n\tvar then_effect;\n\n\t/** @type {Effect | null} */\n\tvar catch_effect;\n\n\tvar input_source = runes\n\t\t? source(/** @type {V} */ (undefined))\n\t\t: mutable_source(/** @type {V} */ (undefined), false, false);\n\tvar error_source = runes ? source(undefined) : mutable_source(undefined, false, false);\n\tvar resolved = false;\n\n\t/**\n\t * @param {PENDING | THEN | CATCH} state\n\t * @param {boolean} restore\n\t */\n\tfunction update(state, restore) {\n\t\tresolved = true;\n\n\t\tif (restore) {\n\t\t\tset_active_effect(effect);\n\t\t\tset_active_reaction(effect); // TODO do we need both?\n\t\t\tset_component_context(active_component_context);\n\t\t\tif (DEV) set_dev_current_component_function(component_function);\n\t\t}\n\n\t\ttry {\n\t\t\tif (state === PENDING && pending_fn) {\n\t\t\t\tif (pending_effect) resume_effect(pending_effect);\n\t\t\t\telse pending_effect = branch(() => pending_fn(anchor));\n\t\t\t}\n\n\t\t\tif (state === THEN && then_fn) {\n\t\t\t\tif (then_effect) resume_effect(then_effect);\n\t\t\t\telse then_effect = branch(() => then_fn(anchor, input_source));\n\t\t\t}\n\n\t\t\tif (state === CATCH && catch_fn) {\n\t\t\t\tif (catch_effect) resume_effect(catch_effect);\n\t\t\t\telse catch_effect = branch(() => catch_fn(anchor, error_source));\n\t\t\t}\n\n\t\t\tif (state !== PENDING && pending_effect) {\n\t\t\t\tpause_effect(pending_effect, () => (pending_effect = null));\n\t\t\t}\n\n\t\t\tif (state !== THEN && then_effect) {\n\t\t\t\tpause_effect(then_effect, () => (then_effect = null));\n\t\t\t}\n\n\t\t\tif (state !== CATCH && catch_effect) {\n\t\t\t\tpause_effect(catch_effect, () => (catch_effect = null));\n\t\t\t}\n\t\t} finally {\n\t\t\tif (restore) {\n\t\t\t\tif (DEV) set_dev_current_component_function(null);\n\t\t\t\tset_component_context(null);\n\t\t\t\tset_active_reaction(null);\n\t\t\t\tset_active_effect(null);\n\n\t\t\t\t// without this, the DOM does not update until two ticks after the promise\n\t\t\t\t// resolves, which is unexpected behaviour (and somewhat irksome to test)\n\t\t\t\tflushSync();\n\t\t\t}\n\t\t}\n\t}\n\n\tvar effect = block(() => {\n\t\tif (input === (input = get_input())) return;\n\n\t\t/** Whether or not there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\t// @ts-ignore coercing `anchor` to a `Comment` causes TypeScript and Prettier to fight\n\t\tlet mismatch = hydrating && is_promise(input) === (anchor.data === HYDRATION_START_ELSE);\n\n\t\tif (mismatch) {\n\t\t\t// Hydration mismatch: remove everything inside the anchor and start fresh\n\t\t\tanchor = remove_nodes();\n\n\t\t\tset_hydrate_node(anchor);\n\t\t\tset_hydrating(false);\n\t\t\tmismatch = true;\n\t\t}\n\n\t\tif (is_promise(input)) {\n\t\t\tvar promise = input;\n\n\t\t\tresolved = false;\n\n\t\t\tpromise.then(\n\t\t\t\t(value) => {\n\t\t\t\t\tif (promise !== input) return;\n\t\t\t\t\t// we technically could use `set` here since it's on the next microtick\n\t\t\t\t\t// but let's use internal_set for consistency and just to be safe\n\t\t\t\t\tinternal_set(input_source, value);\n\t\t\t\t\tupdate(THEN, true);\n\t\t\t\t},\n\t\t\t\t(error) => {\n\t\t\t\t\tif (promise !== input) return;\n\t\t\t\t\t// we technically could use `set` here since it's on the next microtick\n\t\t\t\t\t// but let's use internal_set for consistency and just to be safe\n\t\t\t\t\tinternal_set(error_source, error);\n\t\t\t\t\tupdate(CATCH, true);\n\t\t\t\t\tif (!catch_fn) {\n\t\t\t\t\t\t// Rethrow the error if no catch block exists\n\t\t\t\t\t\tthrow error_source.v;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (hydrating) {\n\t\t\t\tif (pending_fn) {\n\t\t\t\t\tpending_effect = branch(() => pending_fn(anchor));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Wait a microtask before checking if we should show the pending state as\n\t\t\t\t// the promise might have resolved by the next microtask.\n\t\t\t\tqueue_micro_task(() => {\n\t\t\t\t\tif (!resolved) update(PENDING, true);\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tinternal_set(input_source, input);\n\t\t\tupdate(THEN, false);\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\n\t\t// Set the input to something else, in order to disable the promise callbacks\n\t\treturn () => (input = UNINITIALIZED);\n\t});\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3ctitle%3eClose%3c/title%3e%3cpath%20fill='%23a6a6a6'%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.237%207.177a.75.75%200%2010-1.06%201.06L10.939%2012l-3.762%203.763a.75.75%200%20101.06%201.06L12%2013.061l3.763%203.762a.75.75%200%20101.06-1.06L13.061%2012l3.762-3.763a.75.75%200%2000-1.06-1.06L12%2010.939%208.237%207.177z'/%3e%3c/svg%3e\"","<script lang=\"ts\">\n import CloseIcon from \"../../images/close-button.svg\";\n\n export let onCloseClick: () => void;\n export let isHeaderShown: boolean;\n\n $: isHeaderShown = isHeaderShown;\n</script>\n\n{#if isHeaderShown}\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n <div\n class=\"crtw-float-right crtw-cursor-pointer crtw-h-8 crtw-w-8 crtw-absolute crtw-top-0 crtw-right-0 crtw-z-1000001 crtw-m-2 crtw-bg-white crtw-rounded-full sm:crtw-m-4\"\n on:click={onCloseClick}\n role=\"button\"\n tabindex={0}\n >\n <img\n src={CloseIcon}\n alt=\"close-icon\"\n class=\"crtw-fill-red-500 crtw-w-8 crtw-h-8\"\n />\n </div>\n{/if}\n","export default \"data:image/svg+xml,%3csvg%20id='Layer_1'%20width='100%25'%20xmlns='http://www.w3.org/2000/svg'%20height='100%25'%20viewBox='0%200%20939.84%20194'%20data-name='Layer%201'%3e%3cg%3e%3cg%3e%3cpath%20d='m181,0H13C5.82,0,0,5.82,0,13v168c0,7.18,5.82,13,13,13h154c-2.69-28.49-18.67-54.88-58.91-78.03-28.28-15.89-32.85-6.92-80.75,27.15,39.18-64.25,38.73-56.84-4-116.12,61.46,40.42,56.89,41.25,116.12-4-30.41,50.61-38.32,55.06-19.72,83.12,21.63,32.61,42.77,58.88,74.26,61.05V13c0-7.18-5.82-13-13-13Z'%20style='fill:%20%23262a2e;'%3e%3c/path%3e%3cpath%20d='m181,194h13v-13c0,7.18-5.82,13-13,13Z'%20style='fill:%20%23fff;'%3e%3c/path%3e%3cpath%20d='m119.74,106.12c-18.6-28.06-10.69-32.51,19.72-83.12-59.23,45.25-54.66,44.42-116.12,4,42.73,59.28,43.18,51.87,4,116.12,47.9-34.07,52.46-43.04,80.75-27.15,40.23,23.15,56.22,49.54,58.91,78.03h14c7.18,0,13-5.82,13-13v-13.83c-31.48-2.17-52.63-28.44-74.26-61.05Z'%20style='fill:%20%23fff;'%3e%3c/path%3e%3c/g%3e%3cpath%20d='m92,142.14c-22.75,17.3-20.76,16.82-44.5,1.67,16.41,22.55,16.66,20.1,1.67,44.5,23.94-17.03,19.64-17.39,44.5-1.67-17.03-23.94-16.86-19.2-1.67-44.5Z'%20style='fill:%20%23fff;'%3e%3c/path%3e%3cpath%20d='m180.28,76.84c-17.73,13.35-16.29,13.13-34.31,1.24,12.83,17.61,12.78,15.39,1.24,34.31,18.52-13.17,15.3-13.63,34.31-1.24-13.17-18.52-12.91-14.86-1.24-34.31Z'%20style='fill:%20%23fff;'%3e%3c/path%3e%3c/g%3e%3cg%20id='Credenza'%3e%3cpath%20d='m699.78,61.6c16.09,19.44,32.17,39.03,49.06,59.57v-58.61h5.58v71.37l-1.43.95c-16.41-19.27-32.17-39.03-49.22-59.42v58.62h-5.41V62.39c.51-.2.99-.47,1.43-.8h0Z'%20style='fill:%20%23262a2e;'%3e%3c/path%3e%3cpath%20d='m512.45,73.07h5.41v55.59c10.67-.16,21.19,1.6,31.22-1.91,13.22-4.62,20.71-18.64,18.32-33.93-2.07-14.33-13.38-24.37-28.19-24.85-8.92-.32-17.84,0-26.92,0v-5.58c13.7.63,27.71-2.23,40.94,3.35,14.33,6.21,22.14,21.5,19.91,38.55-2.07,15.61-13.7,27.88-29.47,29.31-10.2.95-20.71.16-31.38.16.16-20.07.16-40.3.16-60.69h0Z'%20style='fill:%20%23262a2e;'%3e%3c/path%3e%3cpath%20d='m336.59,101.59h17.68c5.26,0,10.52.16,15.93-.16,10.04-.48,15.93-7.01,15.61-17.21-.16-9.4-6.69-16.25-16.09-16.41-10.83-.16-21.82,0-33.14,0-.16-1.91-.16-3.51-.16-4.78,12.9,0,25.48-.95,37.91.32,10.99.95,17.84,10.67,17.84,21.98s-6.69,18.96-18.16,21.02c-1.28.32-2.55.48-4.62.95,8.29,9.08,16.25,17.52,24.53,26.6-4.46,1.12-7.33.48-10.04-2.71-6.37-7.33-12.9-14.33-19.75-21.34-1.63-1.48-3.7-2.38-5.89-2.55-5.1-.32-10.2-.16-15.77-.16v26.92c-2.07.16-3.66.16-5.58.32-.32-10.83-.32-21.5-.32-32.82v.03Z'%20style='fill:%20%23262a2e;'%3e%3c/path%3e%3cpath%20d='m834.23,67.65h-43.01v-5.1h53.52c-15.77,22.62-31.7,43.81-47.47,65.95h45.87c.16,2.07.32,3.51.32,5.41h-56.39c15.61-22.62,31.38-43.64,47.15-66.26h0Z'%20style='fill:%20%23262a2e;'%3e%3c/path%3e%3cpath%20d='m299.96,72.59c-1.28,1.12-2.39,2.07-3.35,3.03-17.04-11.95-35.84-11.47-46.83.95-10.35,11.79-10.35,32.17.32,43.81,10.99,12.1,29.94,12.43,46.99.32.8,1.12,1.75,2.39,2.71,3.66-12.9,13.86-38.39,14.5-52.25,1.43-14.65-13.7-14.98-39.35-.8-53.68,13.54-14.02,38.87-13.86,53.21.48h0Z'%20style='fill:%20%23262a2e;'%3e%3c/path%3e%3cpath%20d='m939.83,133.76c-4.14,1.6-6.06.16-7.64-3.35-8.29-19.11-16.88-37.91-25.33-56.87-.63-1.43-1.43-2.86-2.39-5.1-3.83,8.44-7.33,16.25-10.83,24.05-5.58,12.75-11.47,25.33-16.88,38.07-1.6,3.66-3.66,4.62-7.64,3.18l3.35-7.64c9.08-19.91,18-39.98,27.24-59.9.8-1.75,1.75-3.66,3.66-4.3,3.18-1.12,5.1,2.07,6.06,4.3,9.72,21.67,19.59,43.17,29.31,64.83.5.84.87,1.76,1.12,2.71h0Z'%20style='fill:%20%23262a2e;'%3e%3c/path%3e%3cpolygon%20style='fill:%20%23262a2e;'%20points='476.77%2095.85%20476.77%20100.62%20432.81%20100.62%20432.81%20128.82%20476.77%20128.82%20476.77%20134.08%20427.07%20134.08%20427.07%2095.85%20476.77%2095.85'%3e%3c/polygon%3e%3cpath%20d='m615.35,128.82h43.64v5.26h-49.38v-38.23h49.38c.16,1.28.32,2.71.48,4.62h-44.12v28.36h0Z'%20style='fill:%20%23262a2e;'%3e%3c/path%3e%3crect%20x='427.07'%20y='62.56'%20style='fill:%20%23262a2e;'%20width='49.7'%20height='4.94'%3e%3c/rect%3e%3cpath%20d='m659.32,67.65h-49.86v-5.1h49.54c.16,1.6.16,3.03.32,5.1h0Z'%20style='fill:%20%23262a2e;'%3e%3c/path%3e%3c/g%3e%3c/svg%3e\"","<script lang=\"ts\">\n import LogoLinkText from \"./LogoLinkText.svelte\";\n import CredenzaLogo from \"../../../images/credenza.svg\";\n\n export let additionalLogo: { img?: string, width: number} | undefined = undefined;\n</script>\n\n<section class=\"crtw-flex crtw-flex-col crtw-items-center crtw-pt-11\">\n <div class=\"crtw-flex crtw-items-center crtw-justify-center crtw-gap-4\">\n <img\n src={CredenzaLogo}\n alt=\"credenza-logo\"\n class=\"crtw-w-[110px]\"\n />\n {#if additionalLogo?.img}\n <img\n src={additionalLogo?.img}\n alt=\"additional-logo\"\n style={`width: ${additionalLogo?.width}px`}\n />\n {/if}\n </div>\n \n <div\n class=\"crtw-text-center crtw-text-textMain crtw-text-xs crtw-flex crtw-justify-center\n crtw-items-center crtw-pt-[3px] sm:crtw-pt-2\"\n >\n <a\n class=\"crtw-text-hightlightColor crtw-no-underline crtw-mr-1.5 crtw-text-[10px]\"\n href=\"https://www.credenza3.com\"\n target=\"_blank\"\n rel=\"noreferrer\">Credenza</a\n >\n <LogoLinkText>·</LogoLinkText>\n <LogoLinkText\n ><a\n class=\"crtw-text-hightlightColor crtw-no-underline\"\n href=\"https://www.credenza3.com/company/about\"\n target=\"_blank\"\n rel=\"noreferrer\">About</a\n ></LogoLinkText\n >\n\n <LogoLinkText>·</LogoLinkText>\n <LogoLinkText\n ><a\n class=\"crtw-text-hightlightColor crtw-no-underline\"\n href=\"mailto:info@credenza3.com\"\n >\n Contact</a\n ></LogoLinkText\n >\n <LogoLinkText>·</LogoLinkText>\n <LogoLinkText\n ><a\n class=\"crtw-text-hightlightColor crtw-no-underline\"\n href=\"https://www.credenza3.com/privacy-policy\"\n target=\"_blank\"\n rel=\"noreferrer\">Privacy & terms</a\n ></LogoLinkText\n >\n </div>\n</section>\n","<div class={$$props.class + \" crtw-w-full crtw-mx-auto crtw-my-0\"}>\n <slot />\n</div>\n","<script lang=\"ts\">\n import Header from \"./shared/Header.svelte\";\n import Footer from \"./shared/footer/Footer.svelte\";\n\n import Container from \"./shared/Container.svelte\";\n\n export let shouldBlurBackdrop: boolean;\n export let isHeaderShown: boolean;\n export let footerAdditionalLogo: { img?: string, width: number} | undefined = undefined;\n\n export let onCloseClick: () => void;\n</script>\n\n<div id=\"cpui\" class=\"crdz-ui\">\n <div\n class=\"crtw-font-['Poppins'] crtw-fixed crtw-z-[1050] crtw-top-0 crtw-left-0 crtw-min-w-screen crtw-w-full\n crtw-min-h-screen crtw-h-full crtw-flex crtw-justify-center crtw-items-center crtw-bg-black/70\n crtw-text-[#121e2b]\"\n class:crtw-backdrop-blur-md={shouldBlurBackdrop}\n >\n <div\n class=\"crtw-bg-white crtw-rounded-lg crtw-relative crtw-w-full crtw-overflow-y-scroll\n crtw-max-w-[380px] crtw-max-h-full sm-tall:crtw-max-h-[650px] sm:crtw-max-w-md\"\n >\n <Header {onCloseClick} {isHeaderShown} />\n <Container class=\"crtw-pt-11 crtw-pb-9 sm:crtw-pt-[50px] crtw-px-[22px]\">\n <div\n class=\"crtw-flex crtw-flex-col crtw-items-center crtw-justify-center crtw-bg-white crtw-rounded\n crtw-min-h-[155px] crtw-gap-6\"\n >\n <slot />\n </div>\n <Footer additionalLogo={footerAdditionalLogo}/>\n </Container>\n </div>\n </div>\n</div>\n\n<style>\n :global(body) {\n --w3m-z-index: 1000001;\n }\n</style>\n","export default \"data:image/svg+xml,%3csvg%20width='148'%20height='78'%20viewBox='0%200%20148%2078'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1340_2004)'%3e%3cpath%20d='M128.996%2048.5994C128.996%2050.7019%20128.532%2052.4518%20127.621%2053.8016C126.719%2055.1545%20125.585%2056.1708%20124.248%2056.8251C122.924%2057.4793%20121.602%2057.8128%20120.326%2057.8128C118.204%2057.8128%20116.432%2057.0823%20115.066%2055.6436C113.707%2054.1986%20113.021%2052.2263%20113.021%2049.7809V27.6797H107.031V50.1461C107.031%2053.1473%20107.53%2055.6754%20108.518%2057.6635C109.508%2059.6485%20110.896%2061.1602%20112.64%2062.1543C114.374%2063.1293%20116.381%2063.6247%20118.604%2063.6247C121.291%2063.6247%20123.552%2062.9864%20125.325%2061.7287C126.925%2060.579%20128.158%2059.1848%20128.996%2057.5809V63.1706H134.986V27.6797H128.996V48.6026V48.5994Z'%20fill='%23011829'/%3e%3cpath%20d='M98.0999%2040.7815C96.7216%2039.8033%2095.2543%2039.0188%2093.7394%2038.4504C92.2626%2037.8946%2090.9033%2037.4499%2089.6932%2037.1292L84.9484%2035.8524C84.0972%2035.6301%2083.1508%2035.3348%2082.1409%2034.9759C81.1373%2034.6075%2080.1623%2034.1343%2079.2508%2033.5753C78.3552%2033.01%2077.6088%2032.3019%2077.0308%2031.4667C76.4782%2030.6314%2076.1987%2029.6151%2076.1987%2028.4432C76.1987%2027.0362%2076.6052%2025.7627%2077.4087%2024.6606C78.2313%2023.5459%2079.3969%2022.6566%2080.8642%2022.0183C82.36%2021.3736%2084.1354%2021.0464%2086.1394%2021.0464C88.877%2021.0464%2091.2145%2021.6689%2093.0915%2022.9012C94.9367%2024.1112%2096.0038%2025.8357%2096.2642%2028.0271L96.296%2028.3066H102.352L102.34%2027.9795C102.264%2025.5785%20101.508%2023.403%20100.101%2021.5165C98.7129%2019.6363%2096.8073%2018.1373%2094.4412%2017.0607C92.0815%2015.9713%2089.3471%2015.4219%2086.3204%2015.4219C83.2937%2015.4219%2080.5688%2015.9808%2078.1329%2017.0829C75.7033%2018.1754%2073.7374%2019.7348%2072.2892%2021.7229C70.8473%2023.7047%2070.1168%2026.0581%2070.1168%2028.7163C70.1168%2031.9272%2071.222%2034.563%2073.3976%2036.5512C75.5413%2038.5107%2078.4854%2040.0383%2082.1472%2041.0927L87.8671%2042.7283C89.4773%2043.1761%2090.9985%2043.7065%2092.3864%2044.3036C93.7425%2044.888%2094.8509%2045.6534%2095.6799%2046.5839C96.4834%2047.4859%2096.8931%2048.6832%2096.8931%2050.1409C96.8931%2051.7543%2096.4135%2053.1835%2095.4639%2054.3903C94.5048%2055.5972%2093.1804%2056.5563%2091.5321%2057.2423C89.8711%2057.9188%2087.9624%2058.2618%2085.8662%2058.2618C84.0655%2058.2618%2082.3568%2057.9918%2080.7975%2057.4614C79.2667%2056.9215%2077.9804%2056.0958%2076.98%2055.0065C76.0018%2053.9139%2075.4333%2052.5102%2075.2904%2050.8333L75.265%2050.5443H68.8242L68.8496%2050.8841C69.0338%2053.4725%2069.8405%2055.7814%2071.2475%2057.7409C72.6671%2059.7005%2074.633%2061.2472%2077.0943%2062.3397C79.5589%2063.4258%2082.5125%2063.9784%2085.8694%2063.9784C89.4709%2063.9784%2092.5801%2063.3655%2095.105%2062.1555C97.6585%2060.9391%2099.6275%2059.2749%20100.952%2057.2074C102.295%2055.1367%20102.978%2052.7897%20102.978%2050.2267C102.978%2048.0004%20102.511%2046.0916%20101.593%2044.5513C100.682%2043.0205%2099.5068%2041.7533%2098.0999%2040.7783V40.7815Z'%20fill='%23011829'/%3e%3cpath%20d='M147.5%2018.5531C147.5%2017.467%20147.084%2016.5269%20146.267%2015.7583C145.467%2014.9929%20144.495%2014.6055%20143.371%2014.6055C142.247%2014.6055%20141.268%2014.9929%20140.452%2015.7615C139.649%2016.5301%20139.242%2017.4702%20139.242%2018.5563C139.242%2019.6425%20139.649%2020.5794%20140.455%2021.3511C141.268%2022.1165%20142.25%2022.504%20143.374%2022.504C144.498%2022.504%20145.378%2022.1515%20146.153%2021.4591L146.188%2021.4274C146.217%2021.402%20146.245%2021.3765%20146.274%2021.348L146.388%2021.2368C147.131%2020.4873%20147.506%2019.5853%20147.506%2018.5531H147.5Z'%20fill='%23011829'/%3e%3cpath%20d='M146.318%2027.6758H140.328V63.1669H146.318V27.6758Z'%20fill='%23011829'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M48.255%2032.8991C51.3992%2036.8468%2053.2793%2041.8393%2053.2793%2047.2701C53.2793%2052.701%2051.342%2057.846%2048.1153%2061.8159L47.8358%2062.1589L47.7627%2061.7238C47.6992%2061.3554%2047.6262%2060.9806%2047.5404%2060.6059C45.9239%2053.5045%2040.6582%2047.4162%2031.9911%2042.484C26.1379%2039.162%2022.7873%2035.1667%2021.9075%2030.6219C21.339%2027.6842%2021.7614%2024.7337%2022.5777%2022.2057C23.3939%2019.6809%2024.6071%2017.5625%2025.6393%2016.289L29.0121%2012.1666C29.6028%2011.4425%2030.7112%2011.4425%2031.3019%2012.1666L48.2582%2032.8991H48.255ZM53.5874%2028.7799L30.9875%201.14931C30.5556%200.622105%2029.7489%200.622105%2029.317%201.14931L6.72026%2028.7799L6.64721%2028.872C2.48993%2034.0329%200%2040.5912%200%2047.7307C0%2064.3566%2013.5009%2077.8353%2030.1522%2077.8353C46.8036%2077.8353%2060.3045%2064.3566%2060.3045%2047.7307C60.3045%2040.5912%2057.8146%2034.0329%2053.6573%2028.8752L53.5842%2028.7831L53.5874%2028.7799ZM12.1289%2032.8102L14.1487%2030.3361L14.2091%2030.7934C14.2567%2031.1555%2014.3171%2031.5175%2014.3869%2031.8828C15.6954%2038.746%2020.3672%2044.4658%2028.1768%2048.8962C34.9669%2052.7613%2038.921%2057.2044%2040.058%2062.0763C40.5343%2064.1089%2040.6169%2066.1097%2040.4105%2067.8597L40.3978%2067.9677L40.2993%2068.0153C37.2346%2069.5112%2033.7887%2070.3528%2030.1491%2070.3528C17.3787%2070.3528%207.02515%2060.0183%207.02515%2047.267C7.02515%2041.7917%208.93388%2036.7642%2012.1225%2032.8038L12.1289%2032.8102Z'%20fill='%23011829'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1340_2004'%3e%3crect%20width='147.681'%20height='77.175'%20fill='white'%20transform='translate(0%200.753906)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\"","<script lang=\"ts\">\n import { get } from 'svelte/store'\n import { fn, pageStore, pageOptsStore } from '@packages/stores'\n import { dispatch, PassportEvents } from '@lib/events/events'\n\n import { Pages } from '@packages/utils/enums'\n import { MainApp } from '@packages/ui'\n import { cloakStore, forcedPage } from '@src/stores/config'\n import SuiPartnerLogo from '@images/sui-partner-logo.svg'\n\n\n $: shouldBlurBackdrop = $cloakStore\n $: isHeaderShown = !$cloakStore\n const handleCloseClick = () => {\n const { close } = get(fn)\n\n dispatch(PassportEvents.UI_CLOSED, {\n page: <string>(get(forcedPage) || get(pageStore)),\n pageOpts: get(pageOptsStore),\n })\n close()\n }\n</script>\n\n\n<MainApp\n footerAdditionalLogo={{ img: SuiPartnerLogo, width: 40 }}\n bind:shouldBlurBackdrop\n bind:isHeaderShown\n onCloseClick={handleCloseClick}\n>\n {#if $forcedPage === Pages.LOGIN || $pageStore === Pages.LOGIN}\n {#await import('@pages/login/Login.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $pageStore === Pages.LOGOUT}\n {#await import('@pages/logout/Logout.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $forcedPage === Pages.CONFIRM_ACCOUNT || $pageStore === Pages.CONFIRM_ACCOUNT}\n {#await import('@pages/confirm-account/ConfirmAccount.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $forcedPage === Pages.UPDATE_PROFILE || $pageStore === Pages.UPDATE_PROFILE}\n {#await import('@pages/update-profile/UpdateProfile.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $pageStore === Pages.PASSPORT_ID}\n {#await import('@pages/passport-id/PassportId.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $pageStore === Pages.SIGN}\n {#await import('@pages/sign/Sign.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $pageStore === Pages.WALLET}\n {#await import('@pages/wallet/Wallet.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $pageStore === Pages.SEND_TOKENS}\n {#await import('@pages/send-tokens/SendTokens.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $pageStore === Pages.PAYMENT}\n {#await import('@pages/payment/Payment.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $pageStore === Pages.PAYMENT_RESULT}\n {#await import('@pages/payment-result/PaymentResult.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $pageStore === Pages.SCANNER}\n {#await import('@pages/scanner/Scanner.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $pageStore === Pages.ERROR}\n {#await import('@pages/error/Error.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $pageStore === Pages.RICH_ALERT}\n {#await import('@pages/rich-alert/RichAlert.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else if $pageStore === Pages.LOADER}\n {#await import('@components/progress/ProgressVideo.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {:else}\n {#await import('@pages/profile/Profile.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n {/if}\n</MainApp>\n"],"names":["PENDING","THEN","CATCH","await_block","node","get_input","pending_fn","then_fn","catch_fn","hydrating","hydrate_next","anchor","runes","is_runes","active_component_context","component_context","input","UNINITIALIZED","pending_effect","then_effect","catch_effect","input_source","source","mutable_source","error_source","resolved","update","state","restore","set_active_effect","effect","set_active_reaction","set_component_context","resume_effect","branch","pause_effect","flushSync","block","mismatch","is_promise","HYDRATION_START_ELSE","remove_nodes","set_hydrate_node","set_hydrating","promise","value","internal_set","error","queue_micro_task","hydrate_node","CloseIcon","onCloseClick","$.prop","$$props","isHeaderShown","_a","$$args","$$render","consequent","CredenzaLogo","additionalLogo","$.untrack","$$sanitized_props","shouldBlurBackdrop","footerAdditionalLogo","SuiPartnerLogo","handleCloseClick","close","get","fn","dispatch","PassportEvents","forcedPage","pageStore","pageOptsStore","$.set","$cloakStore","expression","$.derived_safe_equal","$.await","node_1","module","$.component","node_2","$.get","$$anchor","$$component","node_3","node_4","node_5","node_6","node_7","node_8","node_9","node_10","node_11","node_12","node_13","node_14","node_15","node_16","node_17","node_18","node_19","node_20","node_21","node_22","node_23","node_24","node_25","node_26","node_27","node_28","node_29","node_30","Pages","$pageStore","$forcedPage"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Payment-DxXt2gsw.js","sources":["../../ui/images/lock.svg","../../ui/main/payment/PaymentSwitchButton.svelte","../../ui/main/payment/Payment.svelte","../../ui/main/payment/Stripe.svelte","../../ui/main/payment/CredenzaBalance.svelte","../src/app/pages/payment/stripe/wallet-pay/WalletPay.svelte","../src/app/pages/payment/stripe/Stripe.styles.ts","../../utils/lib/scripts/scripts.ts","../../utils/lib/orders/index.ts","../src/app/pages/payment/Payment.service.ts","../src/app/pages/payment/stripe/Stripe.svelte","../src/app/pages/payment/credenza-balance/CredenzaBalance.svelte","../src/app/pages/payment/order.service.ts","../src/app/pages/payment/paystack/Paystack.svelte","../src/app/pages/payment/Payment.svelte"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='22'%20height='22'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='%23bbb'%20d='M17%209.761v-4.761c0-2.761-2.238-5-5-5-2.763%200-5%202.239-5%205v4.761c-1.827%201.466-3%203.714-3%206.239%200%204.418%203.582%208%208%208s8-3.582%208-8c0-2.525-1.173-4.773-3-6.239zm-8-4.761c0-1.654%201.346-3%203-3s3%201.346%203%203v3.587c-.927-.376-1.938-.587-3-.587s-2.073.211-3%20.587v-3.587zm4%2011.723v2.277h-2v-2.277c-.596-.347-1-.984-1-1.723%200-1.104.896-2%202-2s2%20.896%202%202c0%20.738-.404%201.376-1%201.723z'/%3e%3c/svg%3e\"","<style>\n .active {\n background-color: #ffff;\n font-weight: 500;\n color: #000;\n }\n .btn-disabled {\n pointer-events: none;\n background-color: #d0d2d5;\n }\n</style>\n\n<script lang=\"ts\">\n import Loader from '../shared/Loader.svelte'\n \n export let onClick: (...args: unknown[]) => unknown\n export let text: string\n export let disabled: boolean = false\n export let isLoading: boolean = false\n export let isActive: boolean = false\n</script>\n\n<button\n type=\"submit\"\n class=\"crtw-flex crtw-justify-center crtw-items-center crtw-w-full crtw-h-[50px] crtw-cursor-pointer crtw-border crtw-border-gray-300\n crtw-rounded crtw-font-['poppins'] crtw-text-gray-600\"\n class:btn-disabled={disabled || isLoading}\n class:active={isActive}\n on:click|preventDefault={onClick}\n>\n {#if isLoading}\n <Loader />\n {:else}\n {text}\n {/if}\n</button>","<script lang=\"ts\">\n import { PaymentViews } from '../../../utils/enums';\n import ButtonBack from '../shared/inputs/button-back/ButtonBack.svelte';\n import LockIcon from '../../images/lock.svg'\n import type { TUser } from '../../../utils/types';\n import PaymentSwitchButton from './PaymentSwitchButton.svelte';\n\n export let isLoading: boolean\n export let options: {\n user: TUser| null\n title: string\n subtitle?: string\n onBackClick: () => void\n isStripeDisabled: boolean\n isCredezaValueDisabled: boolean,\n isPriceLoading: boolean\n totalSumCents: number,\n currencySymbol?: string\n }\n\n \n let { user, title, subtitle, onBackClick, isStripeDisabled, currencySymbol = '$' } = options\n let activeTab = isStripeDisabled ? PaymentViews.CREDENZA_BALANCE : PaymentViews.CREDIT_CARD\n\n $: isPriceLoading = options.isPriceLoading\n $: totalSumCents = options.totalSumCents\n $: isCredezaValueDisabled = options.isCredezaValueDisabled\n</script>\n\n<div class=\"cpui-payment crtw-text-left crtw-w-full\" class:crtw-hidden={isLoading}>\n <div class=\"crtw-text-right crtw-text-[13px] crtw-text-gray-400 crtw-mb-6\">\n <div class=\"crtw-break-words\">{user?.email || user?.pending?.email || ''}</div>\n <div>{user?.phone || user?.pending?.phone || ''}</div>\n </div>\n <div class=\"crtw-font-bold crtw-text-xl\">{title}</div>\n <div class=\"crtw-flex crtw-justify-between crtw-mb-3 crtw-text-gray-600 crtw-font-bold\">\n {#if subtitle}\n <div>{subtitle}</div>\n {/if}\n {#if isPriceLoading}\n <div>Getting price...</div>\n {:else if totalSumCents}\n <div>{currencySymbol}{(+totalSumCents / 100).toFixed(2)}</div>\n {/if}\n </div>\n <div class=\"crtw-flex crtw-bg-gray-200 crtw-rounded-md crtw-p-px\">\n <PaymentSwitchButton\n text=\"Credit Card\"\n onClick={() => (activeTab = PaymentViews.CREDIT_CARD)}\n isActive={activeTab === PaymentViews.CREDIT_CARD}\n disabled={isStripeDisabled}\n />\n <PaymentSwitchButton\n text=\"Credenza Balance\"\n onClick={() => (activeTab = PaymentViews.CREDENZA_BALANCE)}\n isActive={activeTab === PaymentViews.CREDENZA_BALANCE}\n disabled={isCredezaValueDisabled}\n />\n </div>\n <hr class=\"crtw-block crtw-border-t-2 crtw-border-gray-200 crtw-w-1/2 crtw-mx-auto crtw-mt-3.5 crtw-mb-[30px]\" />\n {#if activeTab === PaymentViews.CREDIT_CARD}\n <slot name=\"credit-card\" />\n {:else if activeTab === PaymentViews.CREDENZA_BALANCE}\n <slot name=\"cred-balance\" />\n {/if}\n <div class=\"crtw-flex crtw-w-full crtw-justify-center crtw-items-center\">\n <img src={LockIcon} alt=\"\" /><span class=\"crtw-text-sm crtw-text-gray-400 crtw-ml-1\"\n >Payments are secure and encrypted</span\n >\n </div>\n <div class=\"crtw-mt-1.5\">\n <ButtonBack onClick={onBackClick} />\n </div>\n</div>\n","<script lang=\"ts\">\n import Button from \"../shared/inputs/button/Button.svelte\";\n\n export let options: {\n isCardFocused: boolean\n onPay: () => void\n currencySymbol?: string\n }\n export let isPaymentDisabled: boolean\n export let isLoading: boolean\n export let totalToPay: string\n\n let { isCardFocused, onPay, currencySymbol = '$' } = options\n</script>\n\n<div class=\"crtw-text-base crtw-mb-1.5\">Credit card details</div>\n<div\n id=\"cpui-card-element\"\n class=\"crtw-border crtw-border-gray-300 crtw-rounded crtw-px-2.5 crtw-py-4 crtw-mb-2.5 crtw-w-full\"\n style={isCardFocused ? 'border-color: #121e2b' : ''}\n/>\n<!-- Used to display Element errors. -->\n<div id=\"card-errors\" role=\"alert\" />\n<Button\n text={`Pay ${currencySymbol}${totalToPay}`}\n onClick={onPay}\n disabled={isPaymentDisabled}\n bind:isLoading\n/>","<script lang=\"ts\">\n import Button from \"../shared/inputs/button/Button.svelte\";\n\n export let options: {\n formattedBalance: string\n balance: number\n credAlias: string\n onPay: () => void\n onGetCred: () => void\n totalToPay: string\n isLoading: boolean\n isPaymentDisabled: boolean\n }\n\n let { credAlias, onPay, onGetCred } = options\n\n $: isLoading = options.isLoading\n $: isPaymentDisabled = options.isPaymentDisabled\n $: formattedBalance = options.formattedBalance\n $: totalToPay = options.totalToPay\n $: balance = options.balance\n</script>\n\n<div class=\"crtw-w-full crtw-text-center crtw-my-5\">\n <div class=\"crtw-text-3xl crtw-text-black crtw-font-bold\">\n {#if Number(totalToPay) > balance}\n INSUFFICIENT FUNDS\n {:else}\n {formattedBalance}\n {/if}\n \n </div>\n <div class=\"crtw-mb-5 crtw-text-gray-600\">\n {#if Number(totalToPay) > balance}\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n You do not have enough stored value to make this payment. \n <span\n class=\"crtw-text-black crtw-cursor-pointer\"\n role=\"button\"\n tabindex=\"0\"\n on:click={onGetCred}\n >\n Click to get some {credAlias}\n </span>\n {:else}\n Your balance after purchase\n {/if}\n </div>\n\n <Button\n text={`Pay ${totalToPay} ${credAlias}`}\n onClick={onPay}\n disabled={isPaymentDisabled}\n {isLoading}\n />\n</div>","<script lang=\"ts\">\n import { onMount } from 'svelte'\n import { dispatch, PassportEvents } from '@lib/events/events'\n\n export let doPayment: (stripeTokenId: string) => Promise<void>\n export let stripe: Window['Stripe']\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n export let stripeElements: any\n export let priceCents: number\n export let isLoading: boolean\n\n onMount(async () => {\n const paymentRequest = stripe.paymentRequest({\n country: 'US',\n currency: 'usd',\n total: {\n label: 'Apple/Google payment',\n amount: priceCents / 100,\n },\n requestPayerName: true,\n requestPayerEmail: true,\n })\n const canMakePayment = await paymentRequest.canMakePayment()\n if (!canMakePayment) return\n\n const walletPayElement = document.getElementById('ctui-wallet-pay')\n if (walletPayElement) walletPayElement.style.display = 'crtw-block'\n\n const prButton = stripeElements.create('paymentRequestButton', {\n paymentRequest: paymentRequest,\n style: {\n paymentRequestButton: {\n height: '48px',\n },\n },\n })\n prButton.mount('#ctui-payment-request-button')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n paymentRequest.on('token', async (event: any) => {\n isLoading = true\n try {\n await doPayment(event.token.id)\n await event.complete('success')\n } catch (err) {\n await event.complete('error')\n dispatch(PassportEvents.ERROR, { error: err })\n }\n isLoading = false\n })\n })\n</script>\n\n<div id=\"ctui-wallet-pay\" class=\"crtw-w-full crtw-my-4\" style=\"dispay: none;\">\n <div id=\"ctui-payment-request-button\"></div>\n</div>\n","export const stripeStyles = {\n base: {\n color: '#121e2b',\n fontSize: '12px',\n '::placeholder': {\n color: '#d9d9d9',\n },\n },\n invalid: {\n color: '#fa755a',\n },\n}\n","export const loadScript = (src: string) => {\n return new Promise((resolve, reject) => {\n const script = document.createElement('script')\n script.src = src\n document.body.appendChild(script)\n script.addEventListener('load', () => resolve(script))\n script.addEventListener('error', () => reject(script))\n })\n}\n","import { get } from \"svelte/store\";\nimport { accessTokenStore } from \"../../../stores\";\nimport type { TPaymentReturn } from \"@packages/utils/types\";\n\nexport const getOrderDetails = async (apiUrl: string, orderId: string): Promise<TPaymentReturn> => {\n const res = await fetch(`${apiUrl}/orders/${orderId}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: \"GET\",\n });\n if (!res.ok) throw new Error(\"Failed to get order details\");\n return await res.json();\n}\nexport const getCompmletedOrderDetails = async (\n apiUrl: string,\n orderId: string,\n maxRetries = 5\n) => {\n let attempts = 0;\n\n while (attempts < maxRetries) {\n const res = await fetch(`${apiUrl}/orders/completed/${orderId}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: \"GET\",\n });\n\n if (res.status === 204) {\n attempts++;\n if (attempts < maxRetries) {\n continue;\n } else {\n throw new Error(\"No content received after multiple attempts\");\n }\n }\n\n if (!res.ok) throw new Error(\"Failed to get order details\");\n return await res.json();\n }\n};\n\nexport const validateOrderItems = (\n txs: string[] | null[],\n orders: TPaymentReturn[\"items\"],\n): string => {\n const errorMessages = orders\n .filter((item) => item.error)\n .map(\n (item) =>\n `Name: ${item.metadata.name}, reason: ${item.error}`\n )\n .join(\"\\n\");\n if (txs.every((item) => item === null)) {\n throw new Error(`All transactions failed. \\n${errorMessages}`);\n } else if (orders?.every(item => item.status === \"ERROR\")) {\n throw new Error(`All transactions failed.}`);\n }\n return errorMessages;\n};\n","import { RecieptTarget } from '@packages/utils/enums'\nimport { accessTokenStore } from '@packages/stores'\nimport { get } from 'svelte/store'\nimport { configStore } from '@src/stores/config'\nimport { getClientConfigByClientId } from '@lib/clients'\nimport { initSuiClient } from '@src/libs/sui'\nimport type { TPaymentAsset } from './payment.constants'\nimport { pageOptsStore, pageStore, userStore } from '@packages/stores'\nimport { Pages } from '@packages/utils/enums'\nimport { analytics } from '@lib/mixpanel/mixpanel'\nimport { waitVideoEnded } from '@components/progress/ProgressVideo.service'\nimport { getAddress } from '@src/passport/blockchain'\nimport type { TPaymentReturn } from '@packages/utils/types'\nimport { validateOrderItems } from '@lib/orders'\n\n\nexport const requestSuiReceipt = async ({\n stripeChargeId,\n title,\n digest,\n subtitle,\n amount,\n currency,\n}: {\n stripeChargeId?: string\n digest?: string\n amount?: number\n currency?: string\n title: string\n subtitle: string\n}) => {\n const { credenza, recieptTarget, clientId } = get(configStore)\n\n const result = await fetch(`${credenza.suiApiUrl}/tokens/receipt`, {\n method: 'POST',\n body: JSON.stringify({\n ...(stripeChargeId ? { charge_id: stripeChargeId } : {}),\n ...(digest ? { digest } : {}),\n ...(amount ? { amount } : {}),\n ...(currency ? { currency } : {}),\n target: recieptTarget || RecieptTarget.EMAIL,\n title,\n subtitle,\n source: getClientConfigByClientId(clientId).name,\n }),\n headers: {\n Authorization: `Bearer ${get(accessTokenStore)}`,\n 'Content-Type': 'application/json',\n },\n })\n\n return result.ok\n}\n\nexport const afterPaymentProcess = async ({\n res,\n priceCents,\n purchaseConfig\n}: {\n res: TPaymentReturn\n priceCents: number,\n purchaseConfig: { assets: TPaymentAsset[], title: string, subtitle: string }\n}) => {\n const config = get(configStore)\n\n const { chain_txs, items } = res\n const failedOrdersMessage = validateOrderItems(chain_txs, items)\n \n const user = get(userStore)\n if (user) {\n analytics.track('cp_payment_fiat', {\n $email: user.email,\n $phone: user.phone,\n suiNetwork: config.suiNetwork,\n clientId: config.clientId,\n address: await getAddress(),\n location: window.location.href,\n assets: purchaseConfig?.assets,\n total: priceCents / 100,\n description: (purchaseConfig?.title ?? '') + `(${purchaseConfig?.subtitle ?? ''})`,\n })\n }\n\n await waitVideoEnded()\n\n if (failedOrdersMessage) {\n pageOptsStore.set({\n title: 'Done!',\n subtitle: 'Your payment was partly successful',\n orders: items,\n })\n }\n pageStore.set(Pages.PAYMENT_RESULT)\n}\n\nexport const enrichAssetsWithMetadata = async (\n items: TPaymentReturn['items'], \n) => {\n for (const item of items) {\n const client = await initSuiClient(item?.asset?.packageId as string)\n \n let metadata = null\n if (item?.asset?.assetId) {\n metadata = await client.CredenzaAssetCollection.getAssetMetadata(+item?.asset?.assetId)\n item.asset.metadata = metadata\n }\n }\n}\n","<script lang=\"ts\">\n import WalletPay from './wallet-pay/WalletPay.svelte'\n import { onMount } from 'svelte'\n import { get } from 'svelte/store'\n import { stripeStyles } from '@pages/payment/stripe/Stripe.styles'\n import { dispatch, PassportEvents } from '@lib/events/events'\n import { loadScript } from '@lib/scripts/scripts'\n import { pageOptsStore, pageStore, fn } from '@packages/stores'\n import { Pages } from '@packages/utils/enums'\n import { Stripe as StripeComponent } from '@packages/ui'\n\n import { configStore } from '@src/stores/config'\n import { getClientConfigByClientId } from '@lib/clients'\n import type { TPaymentAsset } from '../payment.constants'\n import { afterPaymentProcess } from '../Payment.service'\n\n export let priceCents: number\n export let isLoading: boolean\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n export let purchaseConfig: { assets: TPaymentAsset[], title: string, subtitle: string }\n export let isPriceLoading: boolean\n\n const { toastAlert } = get(fn)\n const config = get(configStore)\n\n let Stripe: Window['Stripe']\n let stripe: Window['Stripe']\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let stripeElements: any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let cardElement: any\n let isButtonActive: boolean\n\n let isCardFocused = false\n onMount(async () => {\n try {\n if (!Stripe) {\n if (!window.Stripe) {\n await loadScript('https://js.stripe.com/v3/')\n if (!window.Stripe) throw {}\n }\n Stripe = window.Stripe\n }\n } catch (err) {\n return console.log('Please include stripe to use payments.')\n }\n if (stripe) return\n const clientName = getClientConfigByClientId(config.clientId).name\n stripe = Stripe(config.stripe.pk[clientName] ?? config.stripe.pk.DEFAULT)\n stripeElements = stripe.elements()\n cardElement = stripeElements.create('card', { style: stripeStyles })\n cardElement.mount('#cpui-card-element')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n cardElement.on('change', (event: any) => {\n isButtonActive = event.complete && !event.error\n })\n cardElement.on('focus', () => (isCardFocused = true))\n cardElement.on('blur', () => (isCardFocused = false))\n })\n\n const handleSubmit = async () => {\n try {\n if (!isButtonActive) return\n isLoading = true\n const result = await stripe.createToken(cardElement)\n if (result.error) throw result.error\n await doPayment(result.token.id)\n } catch (err) {\n dispatch(PassportEvents.ERROR, { error: err })\n }\n isLoading = false\n }\n\n const doPayment = async (tokenId: string) => {\n try {\n const { processPayment } = await import('@pages/payment/stripe/Stripe.service')\n\n const { assets } = purchaseConfig\n if (!assets?.length) throw new Error('No purchase config assets found')\n\n const res = await processPayment(tokenId, assets)\n await afterPaymentProcess({res, priceCents, purchaseConfig})\n } catch (err) {\n toastAlert(`Payment error: ${err.message || err}`, 'failure')\n pageOptsStore.set({ errorMessage: err.message })\n pageStore.set(Pages.ERROR)\n dispatch(PassportEvents.ERROR, { error: err })\n }\n }\n\n $: isPaymentDisabled = !isButtonActive || isLoading || isPriceLoading\n $: totalToPay = (priceCents / 100).toFixed(2)\n</script>\n\n<StripeComponent\n bind:isPaymentDisabled\n bind:isLoading\n bind:totalToPay\n options={{\n isCardFocused,\n onPay: handleSubmit,\n currencySymbol: getClientConfigByClientId(config.clientId).currencySymbol,\n }}\n/>\n\n{#if stripe && stripeElements}\n <WalletPay {doPayment} {stripe} {stripeElements} {priceCents} bind:isLoading />\n{/if}\n","<script lang=\"ts\">\n import { onMount } from 'svelte'\n import { Pages } from '@packages/utils/enums'\n import { pageOptsStore, fn, pageStore, userStore, clientPublicStore } from '@packages/stores'\n import { dispatch, PassportEvents } from '@lib/events/events'\n import { CredenzaBalance } from '@packages/ui'\n import { get } from 'svelte/store'\n import { analytics } from '@lib/mixpanel/mixpanel'\n import { configStore } from '@src/stores/config'\n import { buyWithCred, getAddress, getBalance } from '@src/passport/blockchain'\n import { getCryptoCurrencySymbol } from '@lib/strings/strings'\n import { waitVideoEnded } from '@components/progress/ProgressVideo.service'\n import { requestSuiReceipt } from '../Payment.service'\n\n export let totalPriceToken: number\n export let purchaseConfig: {\n assets: { type: string; packageId: string; assetId?: number; amount?: number }[]\n title: string\n subtitle: string\n }\n export let isLoading: boolean\n export let isPriceLoading: boolean\n export let pricesByAsset: number[] = []\n\n const { toastAlert } = get(fn)\n const config = get(configStore)\n\n let balance = 0\n\n const processPaymentTx = async (\n asset: { type: string; packageId: string; assetId?: number; amount?: number },\n index: number,\n ) => {\n const { type, packageId, assetId, amount } = asset\n const paymentRes = await buyWithCred(type, packageId, { assetId, amount })\n const { title, subtitle } = purchaseConfig\n dispatch(PassportEvents.PAYMENT)\n dispatch(PassportEvents.RECHECK_BALANCE)\n await requestSuiReceipt({\n digest: paymentRes.digest,\n title,\n subtitle,\n amount: pricesByAsset[index],\n currency: 'CRED',\n })\n dispatch(PassportEvents.RECEIPT, { digest: paymentRes.digest })\n }\n\n const payWithCredenza = async () => {\n try {\n if (BigInt(totalPriceToken) > balance) return\n\n isLoading = true\n const { assets } = purchaseConfig\n\n for (const [index, asset] of assets.entries()) {\n await processPaymentTx(asset, index)\n\n await new Promise((resolve) => setTimeout(resolve, 1000))\n }\n\n const user = get(userStore)\n if (user) {\n analytics.track('cp_payment_stored_value', {\n $email: user.email,\n $phone: user.phone,\n suiNetwork: config.suiNetwork,\n clientId: config.clientId,\n location: window.location.href,\n address: await getAddress(),\n assets,\n total: totalPriceToken,\n description: (purchaseConfig?.title ?? '') + `(${purchaseConfig?.subtitle ?? ''})`,\n })\n }\n await waitVideoEnded()\n\n pageStore.set(Pages.PAYMENT_RESULT)\n } catch (err) {\n toastAlert(`Payment error: ${err.message || err}`, 'failure')\n pageOptsStore.set({ errorMessage: err.message })\n pageStore.set(Pages.ERROR)\n dispatch(PassportEvents.ERROR, { error: err })\n } finally {\n isLoading = false\n }\n }\n\n onMount(async () => {\n balance = Number(await getBalance())\n })\n\n $: formattedBalance = `${(balance - totalPriceToken).toFixed(2)} ${getCryptoCurrencySymbol('cred', 'cred')}`\n</script>\n\n<CredenzaBalance\n options={{\n formattedBalance,\n balance,\n credAlias:$clientPublicStore.ui_settings.cred_alias,\n onPay: payWithCredenza,\n onGetCred: () => pageStore.set(Pages.WALLET),\n totalToPay: String(totalPriceToken),\n isLoading,\n isPaymentDisabled: !Number(balance) || totalPriceToken > balance || isPriceLoading,\n }}\n/>\n","import { accessTokenStore, pageOptsStore } from \"@packages/stores\"\nimport type { TBasicPaymentData } from \"./oder.types\"\nimport { get } from \"svelte/store\"\nimport { configStore } from \"@src/stores/config\"\nimport type { TPaymentReturn } from \"@packages/utils/types\"\nimport { getCompmletedOrderDetails } from \"@lib/orders\"\nimport { enrichAssetsWithMetadata, requestSuiReceipt } from \"./Payment.service\"\nimport { dispatch, PassportEvents } from \"@lib/events/events\"\nimport type { TPaymentAsset } from \"./payment.constants\"\n\n\nexport const createOrder = async (paymentData: TBasicPaymentData): Promise<string> => {\n const { assets, ...rest } = paymentData\n const assetGroups = mapAssetsToGroups(assets)\n const res = await fetch(get(configStore).credenza.suiApiUrl + '/assets/buy', {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: 'POST',\n body: JSON.stringify({...rest, ...assetGroups}),\n })\n if (!res.ok) throw new Error('Failed to create order')\n const { _id }: { _id: string } = await res.json()\n return _id\n}\n\nexport const processOrder = async (orderId: string): Promise<TPaymentReturn> => {\n const config = get(configStore)\n const { title, subtitle } = get(pageOptsStore)\n const data = (await getCompmletedOrderDetails(config.credenza.generalApiUrl, orderId)) as TPaymentReturn\n if (data.items[0].error) throw new Error(data.items[0].error)\n\n if (data.payment_provider_tx) {\n await requestSuiReceipt({ stripeChargeId: data.payment_provider_tx, title, subtitle })\n dispatch(PassportEvents.RECEIPT, { stripeChargeId: data.payment_provider_tx })\n }\n await enrichAssetsWithMetadata(data.items)\n return data\n}\n\nconst mapAssetsToGroups = (assets: TPaymentAsset[]) => {\n const typeMap: { [key: string]: string } = {\n credenza_asset_collection: \"collection\",\n decom: \"decom\",\n cred: \"coin\",\n membership: \"membership\",\n };\n\n const result = assets.reduce((acc: { [key: string]: { asset_type: string; asset_id?: number; amount?: number }[] }, asset) => {\n const key = typeMap[asset.type];\n if (!key) return acc;\n\n const entry: { asset_type: string; asset_id?: number; amount?: number } = {\n asset_type: `${asset.packageId}::${asset.type}::${asset.type.toUpperCase()}`,\n };\n\n if (asset.assetId) {\n entry.asset_id = +asset.assetId\n }\n if (asset.amount) {\n entry.amount = asset.amount\n }\n\n acc[key] = acc[key] || [];\n acc[key].push(entry);\n\n return acc;\n }, { collection: [], decom: [], coin: [], membership: [] });\n\n return result;\n}","<script lang=\"ts\">\n import { dispatch, PassportEvents } from \"@lib/events/events\"\n import { loadScript } from \"@lib/scripts/scripts\"\n import { pageOptsStore, pageStore } from \"@packages/stores\"\n import { Pages } from \"@packages/utils/enums\"\n import { toastAlert } from \"@src/passport/ui\"\n import { onMount } from \"svelte\"\n import { createOrder, processOrder } from \"../order.service\"\n import { afterPaymentProcess } from \"../Payment.service\"\n import { get } from \"svelte/store\"\n import { configStore } from \"@src/stores/config\"\n import { getOrderDetails } from \"@lib/orders\"\n\n let { priceCents, purchaseConfig, isLoading = $bindable() } = $props()\n\n let Paystack: Window['PaystackPop']\n\n onMount(async () => {\n try {\n if (!Paystack) {\n if (!window.PaystackPop) {\n await loadScript('https://js.paystack.co/v2/inline.js')\n }\n Paystack = window.PaystackPop\n }\n\n await doPayment()\n } catch (err) {\n return console.log('Please include paystack to use payments.')\n }\n })\n\n const externalErrorHandler = (err: Error) => {\n isLoading = false\n toastAlert(`Payment error: ${err.message || err}`, 'failure')\n pageOptsStore.set({ errorMessage: err.message })\n pageStore.set(Pages.ERROR)\n dispatch(PassportEvents.ERROR, { error: err })\n };\n\n const doPayment = async () => {\n try {\n const { assets } = purchaseConfig\n const config = get(configStore)\n if (!assets?.length) throw new Error('No purchase config assets found')\n isLoading = true\n const orderId = await createOrder({assets, payment_provider: \"paystack\", client_id: get(configStore).clientId, currency: \"GHS\"})\n const res = await getOrderDetails(config.credenza.generalApiUrl, orderId)\n\n if (!res.payment_provider_data?.access_code) throw new Error('Payment is unavailable now')\n const popup = new Paystack()\n \n const result = popup.resumeTransaction(res.payment_provider_data?.access_code)\n result.onSuccess = async () => {\n try {\n const res = await processOrder(orderId);\n await afterPaymentProcess({\n res,\n priceCents,\n purchaseConfig\n });\n } catch (err) {\n externalErrorHandler(err)\n } finally {\n isLoading = false;\n }\n }\n\n result.onError = (err: unknown) => {\n isLoading = false\n throw err\n }\n } catch (err) {\n externalErrorHandler(err)\n }\n }\n</script>\n","<script lang=\"ts\">\n import { Pages } from '@packages/utils/enums'\n import { onDestroy } from 'svelte'\n\n import { pageOptsStore, userStore, pageStore } from '@packages/stores'\n import { dispatch, PassportEvents } from '@lib/events/events'\n import { Payment } from '@packages/ui'\n import Stripe from './stripe/Stripe.svelte'\n import { getSuiCredCoinType, getSellableConfigId, getSuiObject, getAssetPrice } from '@src/utils/blockchain'\n import type { TSuiPaymentItem } from '@app/types'\n import { toastAlert } from '@src/passport/ui'\n import CredenzaBalance from './credenza-balance/CredenzaBalance.svelte'\n import { SUI_CRED_DECIMALS } from '@src/constants/blockchain'\n import { AssetType } from './payment.constants'\n import { getClientConfigByClientId } from '@lib/clients'\n import { configStore } from '@src/stores/config'\n import { get } from 'svelte/store'\n import Paystack from './paystack/Paystack.svelte'\n\n let isPriceLoading: boolean = false\n let isLoading: boolean = false\n let pricesByAsset: number[] = []\n\n let totalSumCents: number = 0\n let totalSumCoins: number = 0\n\n const getTokenPrice = async (packageId: string, type: string, assetId?: string): Promise<[number, number]> => {\n if (assetId && type === AssetType.CREDENZA_ASSET_COLLECTION) {\n return await getAssetPrice(packageId, assetId)\n }\n\n const sellableConfigId = await getSellableConfigId(packageId, type)\n const sellableObj = await getSuiObject(sellableConfigId)\n\n const {\n content: {\n fields: { price_fiat, price_coin },\n },\n } = sellableObj\n return [+price_fiat, +price_coin]\n }\n\n const calculateTotalPrice = async (assets: TSuiPaymentItem[]): Promise<void> => {\n try {\n isPriceLoading = true\n\n for (const asset of assets) {\n const { packageId, type, amount, assetId } = asset\n const packageIdWCoinType = `${packageId}::${type}::${type.toUpperCase()}`\n if (packageIdWCoinType === getSuiCredCoinType() && amount) {\n totalSumCents += amount * 100\n } else {\n let [cents, coins] = await getTokenPrice(packageId, type, assetId)\n if (amount && amount !== 0) {\n cents *= amount\n coins *= amount\n }\n\n totalSumCents += cents\n totalSumCoins += coins / SUI_CRED_DECIMALS\n\n pricesByAsset.push(coins / SUI_CRED_DECIMALS)\n }\n }\n } catch (err) {\n console.log(err)\n toastAlert('Error calculating the price', 'failure')\n dispatch(PassportEvents.ERROR, err)\n } finally {\n isPriceLoading = false\n }\n }\n\n const unsub = pageOptsStore.subscribe(async (store) => {\n if (!store?.assets || !store.assets.length) return\n await calculateTotalPrice(store.assets)\n })\n\n onDestroy(unsub)\n</script>\n\n{#if isLoading}\n {#await import('@components/progress/ProgressVideo.svelte') then module}\n <svelte:component this={module.default} />\n {/await}\n{/if}\n\n<Payment\n bind:isLoading\n options={{\n user: $userStore,\n title: $pageOptsStore.title || `Order Summary`,\n subtitle: $pageOptsStore.subtitle,\n onBackClick: () => pageStore.set(Pages.WALLET),\n isStripeDisabled: $pageOptsStore.payments?.stripe?.disabled,\n isCredezaValueDisabled: !totalSumCents || $pageOptsStore.payments?.credenzaStoredValue?.disabled,\n isPriceLoading,\n totalSumCents: totalSumCents,\n currencySymbol: getClientConfigByClientId(get(configStore).clientId).currencySymbol,\n }}\n>\n <div slot=\"credit-card\">\n {#if getClientConfigByClientId(get(configStore).clientId).payment === 'paystack'}\n <Paystack priceCents={totalSumCents} purchaseConfig={$pageOptsStore} bind:isLoading/>\n {:else}\n <Stripe priceCents={totalSumCents} {isPriceLoading} purchaseConfig={$pageOptsStore} bind:isLoading />\n {/if}\n </div>\n <div slot=\"cred-balance\">\n <CredenzaBalance\n {pricesByAsset}\n totalPriceToken={totalSumCoins}\n {isPriceLoading}\n purchaseConfig={$pageOptsStore}\n bind:isLoading\n />\n </div>\n</Payment>\n"],"names":["LockIcon","onClick","$.prop","$$props","text","disabled","isLoading","isActive","$$render","consequent","alternate","_a","$$args","options","user","title","subtitle","onBackClick","isStripeDisabled","currencySymbol","activeTab","$.mutable_source","PaymentViews","isPriceLoading","totalSumCents","isCredezaValueDisabled","$0","$.untrack","$.get","consequent_2","consequent_1","isPaymentDisabled","totalToPay","isCardFocused","onPay","expression","$.derived_safe_equal","credAlias","onGetCred","formattedBalance","balance","__awaiter","thisArg","_arguments","P","generator","doPayment","stripe","stripeElements","priceCents","onMount","paymentRequest","walletPayElement","event","err","dispatch","PassportEvents","stripeStyles","loadScript","src","resolve","reject","script","getOrderDetails","apiUrl","orderId","res","get","accessTokenStore","getCompmletedOrderDetails","maxRetries","attempts","validateOrderItems","txs","orders","errorMessages","item","requestSuiReceipt","stripeChargeId","digest","amount","currency","credenza","recieptTarget","clientId","configStore","RecieptTarget","getClientConfigByClientId","afterPaymentProcess","purchaseConfig","config","chain_txs","items","failedOrdersMessage","userStore","analytics","getAddress","waitVideoEnded","pageOptsStore","pageStore","Pages","enrichAssetsWithMetadata","client","initSuiClient","metadata","_b","_c","toastAlert","fn","Stripe","cardElement","isButtonActive","clientName","$.set","handleSubmit","result","tokenId","processPayment","assets","totalPriceToken","pricesByAsset","processPaymentTx","asset","index","type","packageId","assetId","paymentRes","buyWithCred","payWithCredenza","getBalance","getCryptoCurrencySymbol","$clientPublicStore","createOrder","paymentData","rest","assetGroups","mapAssetsToGroups","_id","processOrder","data","typeMap","acc","key","entry","Paystack","externalErrorHandler","totalSumCoins","getTokenPrice","AssetType","getAssetPrice","sellableConfigId","getSellableConfigId","sellableObj","getSuiObject","price_fiat","price_coin","calculateTotalPrice","getSuiCredCoinType","cents","coins","SUI_CRED_DECIMALS","unsub","store","onDestroy","$.await","node_1","module","$.component","node_2","$$anchor","$$component","$userStore","$pageOptsStore","_d"],"mappings":"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"}
@@ -1,139 +0,0 @@
1
- import { c as E, p as et, h as G, f as m, i as x, r as j, b as w, d as I, u as J, s as rt } from "./legacy-ClulkM_J.js";
2
- import { o as st } from "./index-client-HMJuh4UU.js";
3
- import { v as K, L as at, N as ct, w as it, J as g, m as h, bp as ot, K as t, A as lt, x as nt, y as S, B as b, C as _, E as D, G as o, D as q, z as L, u as ft, O as dt, I as vt } from "./index-zh1hyaFY.js";
4
- import { e as pt, i as ut } from "./each-xBf1TDPG.js";
5
- import { B as z } from "./Button-COof5JSt.js";
6
- var wt = m(`<a class="crtw-flex crtw-justify-center crtw-items-center crtw-w-full crtw-h-[50px] crtw-cursor-pointer
7
- crtw-border-2 crtw-border-black crtw-rounded crtw-font-['Poppins'] crtw-text-base crtw-font-medium"> </a>`), _t = m('<div class="crtw-w-full crtw-border-b-2 crtw-border-gray-400"></div>'), mt = m("<!> <!>", 1), xt = m('<div class="crtw-flex crtw-flex-col crtw-gap-2.5 crtw-w-full crtw-items-center"></div>'), bt = m('<div class="crtw-flex crtw-flex-col crtw-justify-center crtw-items-center"><div class="crtw-text-2xl crtw-uppercase crtw-text-black crtw-font-bold"> </div> <div class="crtw-text-base crtw-text-black crtw-text-center crtw-mb-1"> </div></div> <!>', 1);
8
- function P(d, n) {
9
- if (new.target) return E({ component: P, ...d });
10
- K(n, !1);
11
- let s = et(n, "options", 12), v = h(), p = h(), a = h([]);
12
- const { close: k } = at(ct);
13
- it(
14
- () => (lt(s()), t(v), t(p), t(a)),
15
- () => {
16
- s() && ((e) => {
17
- g(v, e.title), g(p, e.description), g(a, ot(e.actions, () => [], !0));
18
- })(s());
19
- }
20
- ), nt(), G();
21
- var O = bt(), y = S(O), C = b(y), F = b(C, !0);
22
- _(C);
23
- var B = D(C, 2), H = b(B, !0);
24
- _(B), _(y);
25
- var M = D(y, 2);
26
- {
27
- var Q = (e) => {
28
- var i = xt();
29
- pt(i, 5, () => t(a) || [], ut, (U, r, V) => {
30
- var N = mt(), R = S(N);
31
- {
32
- var W = (c) => {
33
- z(c, {
34
- get text() {
35
- return t(r), o(() => t(r).text);
36
- },
37
- get onClick() {
38
- return t(r), o(() => t(r).onClick);
39
- }
40
- });
41
- }, X = (c, f) => {
42
- {
43
- var $ = (A) => {
44
- var l = wt(), tt = b(l, !0);
45
- _(l), q(() => {
46
- rt(l, "href", (t(r), o(() => {
47
- var u;
48
- return (u = t(r)) == null ? void 0 : u.link;
49
- }))), j(tt, (t(r), o(() => {
50
- var u;
51
- return (u = t(r)) == null ? void 0 : u.text;
52
- })));
53
- }), w(A, l);
54
- };
55
- x(
56
- c,
57
- (A) => {
58
- t(r), o(() => {
59
- var l;
60
- return (l = t(r)) == null ? void 0 : l.link;
61
- }) && A($);
62
- },
63
- f
64
- );
65
- }
66
- };
67
- x(R, (c) => {
68
- t(r), o(() => {
69
- var f;
70
- return (f = t(r)) == null ? void 0 : f.onClick;
71
- }) ? c(W) : c(X, !1);
72
- });
73
- }
74
- var Y = D(R, 2);
75
- {
76
- var Z = (c) => {
77
- var f = _t();
78
- w(c, f);
79
- };
80
- x(Y, (c) => {
81
- t(a), o(() => V !== t(a).length - 1) && c(Z);
82
- });
83
- }
84
- w(U, N);
85
- }), _(i), w(e, i);
86
- }, T = (e) => {
87
- z(e, {
88
- text: "Close",
89
- get onClick() {
90
- return k;
91
- }
92
- });
93
- };
94
- x(M, (e) => {
95
- t(a), o(() => {
96
- var i;
97
- return ((i = t(a)) == null ? void 0 : i.length) > 0;
98
- }) ? e(Q) : e(T, !1);
99
- });
100
- }
101
- return q(() => {
102
- j(F, t(v)), j(H, t(p));
103
- }), w(d, O), L({
104
- get options() {
105
- return s();
106
- },
107
- set options(e) {
108
- s(e), ft();
109
- },
110
- $set: J,
111
- $on: (e, i) => I(n, e, i)
112
- });
113
- }
114
- function gt(d, n) {
115
- if (new.target) return E({ component: gt, ...d });
116
- K(n, !1);
117
- let s = h();
118
- const v = dt.subscribe((a) => {
119
- g(s, Object.assign(Object.assign({}, t(s)), a.richAlertData));
120
- });
121
- st(v), G();
122
- const p = vt(() => ({
123
- title: t(s).title || "Notification",
124
- description: t(s).description || "Choose your next steps",
125
- actions: t(s).actions
126
- }));
127
- return P(d, {
128
- get options() {
129
- return t(p);
130
- }
131
- }), L({
132
- $set: J,
133
- $on: (a, k) => I(n, a, k)
134
- });
135
- }
136
- export {
137
- gt as default
138
- };
139
- //# sourceMappingURL=RichAlert-BsOTbx1L.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RichAlert-BsOTbx1L.js","sources":["../../ui/main/rich-alert/RichAlert.svelte","../src/app/pages/rich-alert/RichAlert.svelte"],"sourcesContent":["<script lang=\"ts\">\n import { fn } from \"../../../stores\";\n import type{ TRichAlertButtonConfig, TRichAlertOptions } from \"../../../utils/types\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import { get } from \"svelte/store\";\n\n export let options: TRichAlertOptions;\n\n let title: string | undefined;\n let description: string | undefined;\n let actions: TRichAlertButtonConfig[] = [];\n const { close } = get(fn);\n\n $: if (options) {\n ({ title, description, actions = [] } = options);\n }\n</script>\n\n<div class=\"crtw-flex crtw-flex-col crtw-justify-center crtw-items-center\">\n <div class=\"crtw-text-2xl crtw-uppercase crtw-text-black crtw-font-bold\">\n {title}\n </div>\n\n <div class=\"crtw-text-base crtw-text-black crtw-text-center crtw-mb-1\">\n {description}\n </div>\n</div>\n\n{#if actions?.length > 0}\n <div class=\"crtw-flex crtw-flex-col crtw-gap-2.5 crtw-w-full crtw-items-center\">\n {#each actions || [] as action, index}\n {#if action?.onClick}\n <Button text={action.text} onClick={action.onClick} />\n {:else if action?.link}\n <a\n href={action?.link}\n class=\"crtw-flex crtw-justify-center crtw-items-center crtw-w-full crtw-h-[50px] crtw-cursor-pointer\n crtw-border-2 crtw-border-black crtw-rounded crtw-font-['Poppins'] crtw-text-base crtw-font-medium\"\n >{action?.text}\n </a>\n {/if}\n {#if index !== actions.length - 1}\n <div class=\"crtw-w-full crtw-border-b-2 crtw-border-gray-400\"></div>\n {/if}\n {/each}\n </div>\n{:else}\n <Button text=\"Close\" onClick={close} />\n{/if}\n","<script lang=\"ts\">\n import RichAlert from '@packages/ui/main/rich-alert/RichAlert.svelte'\n import { pageOptsStore } from '@packages/stores'\n import { onDestroy } from 'svelte'\n import { TRichAlertButtonConfig } from '@packages/utils/types'\n\n let richAlertData: {\n description: string\n title: string\n actions?: TRichAlertButtonConfig[] | undefined\n }\n\n const unsub = pageOptsStore.subscribe((data) => {\n richAlertData = { ...richAlertData, ...data.richAlertData }\n })\n\n onDestroy(unsub)\n</script>\n\n<RichAlert\n options={{\n title: richAlertData.title || 'Notification',\n description: richAlertData.description || 'Choose your next steps',\n actions: richAlertData.actions,\n }}\n/>\n"],"names":["options","$.prop","$$props","title","$.mutable_source","description","actions","close","get","fn","$.set","$.each","div_3","$.get","action","index","$.untrack","richAlertData","unsub","pageOptsStore","data","onDestroy"],"mappings":";;;;;;;;;;MAMaA,IAA0BC,GAAAC,GAAA,WAAA,EAAA,GAEjCC,IAAyBC,EAAA,GACzBC,IAA+BD,EAAA,GAC/BE,IAAOF,EAAA,EAAA;UACH,OAAAG,EAAK,IAAKC,GAAIC,EAAE;;;;AAEjB,MAAAT,EAAO;AACTU,QAAAA,EAAAP,KAAA,KAAK,GAAEO,EAAAL,KAAA,WAAW,GAAEK,EAAAJ,QAAA,SAAO,MAAA,CAAA,GAAA,EAAA,CAAA;AAAA,SAAUN,EAAO,CAAA;AAAA;;;;;;;;;;AAgBxCW,MAAAA,GAAAC,GAAA,GAAA,MAAAC,EAAAP,CAAO,iBAAUQ,GAAMC,MAAA;;;;;;yBAAND,CAAM,GAEZE,EAAA,MAAAH,EAAAC,CAAM,EAAC,IAAI;AAAA;;yBAFLA,CAAM,GAEUE,EAAA,MAAAH,EAAAC,CAAM,EAAC,OAAO;AAAA;;;;;;;mCAF9BA,CAAM,GAKlBE,EAAA,MAAAH;;AAAAA,4BAAAA,IAAAA,EAAAC,CAAM,MAAND,gBAAAA,EAAQ;AAAA,mBAAI,cALAC,CAAM,GAQtBE,EAAA,MAAAH;;AAAAA,4BAAAA,IAAAA,EAAAC,CAAM,MAAND,gBAAAA,EAAQ;AAAA,mBAAI;;;;;;oBARIC,CAAM,GAGlBE,EAAA,MAAAH;;AAAAA,4BAAAA,IAAAA,EAAAC,CAAM,MAAND,gBAAAA,EAAQ;AAAA,mBAAI;;;;;;;cAHAC,CAAM,GACvBE,EAAA,MAAAH;;AAAAA,sBAAAA,IAAAA,EAAAC,CAAM,MAAND,gBAAAA,EAAQ;AAAA,aAAO;;;;;;;;;;cArBpBP,CAAO,GA+BFU,EAAA,MAAAD,MAAUF,EAAAP,CAAO,EAAC,SAAS,CAAC;;;;;;;;;iBAMPC;AAAA;;;;QArC1BD,CAAO;;uBAkBRA,CAAO,wBAAE,UAAS;AAAA,OAAC;;;;WARnBH,CAAK,CAAA,UAILE,CAAW,CAAA;AAAA;;;;;;;;;;;;;;MClBVY,IAIHb,EAAA;AAEK,QAAAc,IAAQC,GAAc,UAAS,CAAEC,MAAQ;AAC7CV,IAAAA,EAAAO,GAAqB,OAAA,OAAA,OAAA,OAAA,IAAAJ,EAAAI,CAAa,CAAK,GAAAG,EAAK,aAAa,CAAA;AAAA,GAC1D;AAED,EAAAC,GAAUH,CAAK;;IAKb,OAAOL,EAAAI,CAAa,EAAC,SAAS;AAAA,IAC9B,aAAaJ,EAAAI,CAAa,EAAC,eAAe;AAAA,IAC1C,SAAOJ,EAAEI,CAAa,EAAC;AAAA;;;;;;;;;;"}