@credenza3/passport-evm 0.4.19 → 0.4.21
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.
- package/dist/{App-CCka7bvf.js → App-BpcMpO5f.js} +20 -20
- package/dist/{App-CCka7bvf.js.map → App-BpcMpO5f.js.map} +1 -1
- package/dist/{AssetItem-BVGmfew7.js → AssetItem-B0ofIyW5.js} +2 -2
- package/dist/{AssetItem-BVGmfew7.js.map → AssetItem-B0ofIyW5.js.map} +1 -1
- package/dist/{Assets-CTJqRwep.js → Assets-CwjAN6_1.js} +7 -7
- package/dist/{Assets-CTJqRwep.js.map → Assets-CwjAN6_1.js.map} +1 -1
- package/dist/{Button-CzWaMxun.js → Button-C5AEb9bs.js} +4 -4
- package/dist/{Button-CzWaMxun.js.map → Button-C5AEb9bs.js.map} +1 -1
- package/dist/{ButtonBack-fKeoK-J-.js → ButtonBack-D4Bthq_E.js} +4 -4
- package/dist/{ButtonBack-fKeoK-J-.js.map → ButtonBack-D4Bthq_E.js.map} +1 -1
- package/dist/{ButtonLink-zdZ_ohGL.js → ButtonLink-BusrA_-2.js} +3 -3
- package/dist/{ButtonLink-zdZ_ohGL.js.map → ButtonLink-BusrA_-2.js.map} +1 -1
- package/dist/{ConfirmAccount-BoRQ46O_.js → ConfirmAccount-G6yysOF4.js} +9 -9
- package/dist/{ConfirmAccount-BoRQ46O_.js.map → ConfirmAccount-G6yysOF4.js.map} +1 -1
- package/dist/{ContentHeader-CQQGzbtf.js → ContentHeader-C3SULqmh.js} +3 -3
- package/dist/{ContentHeader-CQQGzbtf.js.map → ContentHeader-C3SULqmh.js.map} +1 -1
- package/dist/{Error-Dp5Bbq9m.js → Error-DtODKu46.js} +5 -5
- package/dist/{Error-Dp5Bbq9m.js.map → Error-DtODKu46.js.map} +1 -1
- package/dist/{Input-DRrg5WgV.js → Input-CclKLI1x.js} +4 -4
- package/dist/{Input-DRrg5WgV.js.map → Input-CclKLI1x.js.map} +1 -1
- package/dist/{Label-tFM7m1oh.js → Label-CB-N5t4A.js} +3 -3
- package/dist/{Label-tFM7m1oh.js.map → Label-CB-N5t4A.js.map} +1 -1
- package/dist/{Loader-QrH_wPtu.js → Loader-D-g5k50_.js} +3 -3
- package/dist/{Loader-QrH_wPtu.js.map → Loader-D-g5k50_.js.map} +1 -1
- package/dist/{Login-jPUaL3ZO.js → Login-xe6wzj-g.js} +10 -10
- package/dist/{Login-jPUaL3ZO.js.map → Login-xe6wzj-g.js.map} +1 -1
- package/dist/{Logout-D3qfTcLm.js → Logout-DlYT-b-N.js} +6 -6
- package/dist/{Logout-D3qfTcLm.js.map → Logout-DlYT-b-N.js.map} +1 -1
- package/dist/{Nav-Bk1gpFd3.js → Nav-CDhcD10P.js} +6 -6
- package/dist/{Nav-Bk1gpFd3.js.map → Nav-CDhcD10P.js.map} +1 -1
- package/dist/{NavMenu-vwznDLpU.js → NavMenu-DivcSnc8.js} +5 -5
- package/dist/{NavMenu-vwznDLpU.js.map → NavMenu-DivcSnc8.js.map} +1 -1
- package/dist/{PassportId-D1RPlRNy.js → PassportId-BGafLUDX.js} +6 -6
- package/dist/{PassportId-D1RPlRNy.js.map → PassportId-BGafLUDX.js.map} +1 -1
- package/dist/{Payment-Chii8zia.js → Payment-BnfOGIJ0.js} +305 -295
- package/dist/Payment-BnfOGIJ0.js.map +1 -0
- package/dist/{PaymentResult-a0CNr4Q7.js → PaymentResult-DTIhqxfm.js} +4 -4
- package/dist/{PaymentResult-a0CNr4Q7.js.map → PaymentResult-DTIhqxfm.js.map} +1 -1
- package/dist/{Profile-B5oKxCxw.js → Profile-CKEg_wd-.js} +7 -7
- package/dist/{Profile-B5oKxCxw.js.map → Profile-CKEg_wd-.js.map} +1 -1
- package/dist/{ProgressVideo-BIs9zEk5.js → ProgressVideo-CNf0dRso.js} +5 -5
- package/dist/{ProgressVideo-BIs9zEk5.js.map → ProgressVideo-CNf0dRso.js.map} +1 -1
- package/dist/{RichAlert-CNFbej9U.js → RichAlert-BdXiH4K4.js} +5 -5
- package/dist/{RichAlert-CNFbej9U.js.map → RichAlert-BdXiH4K4.js.map} +1 -1
- package/dist/{Scanner-DtGlH54f.js → Scanner-CV93i6n6.js} +6 -6
- package/dist/{Scanner-DtGlH54f.js.map → Scanner-CV93i6n6.js.map} +1 -1
- package/dist/{SendTokens-zXxJ5exz.js → SendTokens-bzAePhXK.js} +7 -7
- package/dist/{SendTokens-zXxJ5exz.js.map → SendTokens-bzAePhXK.js.map} +1 -1
- package/dist/{Sign-O3jqS4TA.js → Sign-CeE8qZYP.js} +6 -6
- package/dist/{Sign-O3jqS4TA.js.map → Sign-CeE8qZYP.js.map} +1 -1
- package/dist/Stripe.service-Cgbvw9E4.js +70 -0
- package/dist/Stripe.service-Cgbvw9E4.js.map +1 -0
- package/dist/{UpdateProfile-njurlcQa.js → UpdateProfile-C065ZqNX.js} +10 -10
- package/dist/{UpdateProfile-njurlcQa.js.map → UpdateProfile-C065ZqNX.js.map} +1 -1
- package/dist/{UserInfo-6y19OWlb.js → UserInfo-D5-aNsTW.js} +4 -4
- package/dist/{UserInfo-6y19OWlb.js.map → UserInfo-D5-aNsTW.js.map} +1 -1
- package/dist/{Wallet-FJKpjckb.js → Wallet-Ba-n0eZO.js} +7 -7
- package/dist/{Wallet-FJKpjckb.js.map → Wallet-Ba-n0eZO.js.map} +1 -1
- package/dist/{authMethods.helper-DDiKEAOo.js → authMethods.helper-CJVll3mq.js} +2 -2
- package/dist/{authMethods.helper-DDiKEAOo.js.map → authMethods.helper-CJVll3mq.js.map} +1 -1
- package/dist/{each-Dl7pjKg9.js → each-eR_yXHEA.js} +2 -2
- package/dist/{each-Dl7pjKg9.js.map → each-eR_yXHEA.js.map} +1 -1
- package/dist/{html-CydxUFkc.js → html-q56JXOcz.js} +3 -3
- package/dist/{html-CydxUFkc.js.map → html-q56JXOcz.js.map} +1 -1
- package/dist/{index-KgIkuXHN.js → index-B7xlI3d8.js} +5 -5
- package/dist/{index-KgIkuXHN.js.map → index-B7xlI3d8.js.map} +1 -1
- package/dist/{index-client-BhgvmLpc.js → index-client-kg_uoj70.js} +2 -2
- package/dist/{index-client-BhgvmLpc.js.map → index-client-kg_uoj70.js.map} +1 -1
- package/dist/{input-7WowfM3i.js → input-Bgl67y8N.js} +2 -2
- package/dist/{input-7WowfM3i.js.map → input-Bgl67y8N.js.map} +1 -1
- package/dist/passport.es.js +1 -1
- package/dist/passport.umd.js +56 -56
- package/dist/passport.umd.js.map +1 -1
- package/package.json +1 -1
- package/dist/Payment-Chii8zia.js.map +0 -1
- package/dist/Stripe.service-BTgFJ5vs.js +0 -74
- package/dist/Stripe.service-BTgFJ5vs.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SendTokens-zXxJ5exz.js","sources":["../../ui/main/send-tokens/SendTokens.svelte","../src/app/pages/send-tokens/SendTokens.svelte"],"sourcesContent":["<script lang=\"ts\">\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import ButtonBack from \"../shared/inputs/button-back/ButtonBack.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import Input from \"../shared/inputs/input/Input.svelte\";\n import ScanIcon from \"../../images/scanner.svg\";\n import { clientPublicStore } from \"../../../stores\";\n\n export let recipientAddress: string;\n export let amount: number | undefined;\n\n export let options: {\n title: string;\n isScannerHidden: boolean;\n balance: string;\n chainId?: string;\n isRecipientAddressValid: boolean;\n onScannerClicked: () => void;\n onSendTokens: () => void;\n onBackClicked: () => void;\n onChangeCurrency: () => void;\n onSetMaxAmount: () => void;\n isLoading: boolean;\n isSubmitDisabled: boolean;\n credAlias: string;\n activeCurrency: string;\n symbol: string;\n nativeSymbol: string;\n nativeBalance: string;\n isNativeCurrecyTransferAllowed?: boolean;\n };\n\n let {\n onChangeCurrency,\n onSetMaxAmount,\n onBackClicked,\n onSendTokens,\n title,\n chainId,\n onScannerClicked,\n isNativeCurrecyTransferAllowed = true\n } = options;\n\n $: balance = options.balance;\n $: isLoading = options.isLoading;\n $: isSubmitDisabled = options.isSubmitDisabled;\n $: isRecipientAddressValid = options.isRecipientAddressValid;\n $: isScannerHidden = options.isScannerHidden;\n $: activeCurrency = options.activeCurrency;\n $: nativeSymbol = options.nativeSymbol;\n $: nativeBalance = options.nativeBalance;\n\n const round = (num: number) => Math.floor(num * 100) / 100\n</script>\n\n<ContentHeader\n text={title}\n description={isScannerHidden\n ? ``\n : \"Scan Passport Id\"}\n/>\n<div class=\"crtw-w-full crtw-p-0 crtw-relative\">\n <div\n id=\"cpuiCredScanner\"\n class=\"crtw-absolute crtw-overflow-hidden crtw-top-0 crtw-bottom-0 crtw-left-0 crtw-right-0 crtw-z-10 crtw-border crtw-border-gray-300 crtw-rounded-lg crtw-backdrop-blur-lg\"\n class:crtw-hidden={isScannerHidden}\n class:crtw-z-[-1]={isScannerHidden}\n ></div>\n {#if chainId}\n <div>ChainId: <span class=\"crtw-font-bold\">{chainId}</span></div>\n {/if}\n <div>\n Your balance: \n <span class=\"crtw-font-bold\">\n {#if isNativeCurrecyTransferAllowed}\n {round(+nativeBalance)} {nativeSymbol} / \n {/if}\n\n {round(+balance)} ${$clientPublicStore?.ui_settings.cred_alias || 'cred'}\n </span>\n </div>\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <div class=\"crtw-flex crtw-flex-col crtw-w-full\">\n <Input\n name=\"recipientAddress\"\n type=\"text\"\n placeholder=\"Address 0x...\"\n bind:value={recipientAddress}\n />\n {#if recipientAddress && !isRecipientAddressValid}\n <label\n class=\"crtw-text-[10px] crtw-text-warningTextColor cpui-send-tokens-validation-message\"\n for=\"recipientAddress\">Provided address is not valid.</label\n >\n {/if}\n </div>\n\n <div class=\"crtw-ml-2.5 crtw-cursor-pointer\">\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->\n <img\n src={ScanIcon}\n on:click={onScannerClicked}\n width=\"53px\"\n alt=\"\"\n class=\"crtw-h-[53px]\"\n />\n </div>\n </div>\n\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <Input\n type=\"number\"\n min=\"0\"\n step=\"0.001\"\n placeholder={`${activeCurrency} amount`}\n bind:value={amount}\n />\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button onClick={onSetMaxAmount} text={`MAX`} disabled={+balance <= 0} />\n </div>\n\n {#if isNativeCurrecyTransferAllowed}\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button\n onClick={onChangeCurrency}\n text={activeCurrency}\n disabled={!activeCurrency}\n />\n </div>\n {/if}\n </div>\n <Button\n onClick={onSendTokens}\n text={`Send ${amount || \"\"} ${activeCurrency}`}\n {isLoading}\n disabled={isSubmitDisabled}\n />\n</div>\n<div class=\"crtw-mt-0.5 crtw-mb-3 crtw-w-full\">\n <ButtonBack onClick={onBackClicked} />\n</div>\n","<script lang=\"ts\">\n import { ethers } from '@credenza3/core-web-evm-ext'\n import { get } from 'svelte/store'\n\n import { clientPublicStore, fn, pageOptsStore, pageStore } from '@packages/stores'\n import { dispatch, once, PassportEvents } from '@lib/events/events'\n import { Pages } from '@packages/utils/enums'\n import { getTxScanAddress } from '@src/lib/tx/tx'\n import {\n CRED_SCANNER_TARGET_ID,\n createScanner,\n getScannerErrorMessage,\n setupScanner,\n type ScannerLib,\n } from '@lib/scanner'\n import { SendTokens} from '@packages/ui'\n import { getAddress } from '@src/passport/blockchain'\n import { configStore } from '@src/stores/config'\n import type { TEvmContract } from '@packages/utils/types'\n import { providerStore } from '@src/stores'\n import { getUserAddressBySub } from '@src/Passport.service'\n import { NOT_VALID_PASSPORT_QR_CODE_MESSAGE } from '@packages/utils/constants'\n\n const config = get(configStore)\n const { sendTokens, getCREDContract, toastAlert } = get(fn)\n\n let userAddress = ''\n let recipientAddress = ''\n let amount: number | undefined\n\n let activeCurrency = ''\n\n let decimals = 18\n let symbol = '-'\n let balance = ''\n\n let nativeDecimals = 18\n let nativeSymbol = '-'\n let nativeBalance = ''\n\n let isScannerHidden = true\n let isLoading = false\n\n let contract: ethers.Contract\n let signer: ethers.JsonRpcSigner\n let scanner: ScannerLib\n\n const onScannerClicked = async () => {\n const { scanner: scannerInstance, events } = await createScanner(CRED_SCANNER_TARGET_ID)\n scanner = scannerInstance\n once(PassportEvents.UI_CLOSED, scanner.close)\n setupScanner<{ sub: string }>(scanner, events, {\n onCapture: async ({ sub }) => {\n if (!sub) {\n toastAlert(NOT_VALID_PASSPORT_QR_CODE_MESSAGE(), 'failure')\n return scanner.close()\n }\n const { address } = await getUserAddressBySub(sub)\n recipientAddress = address\n scanner.close()\n },\n onCancel: () => (isScannerHidden = true),\n onError: (err) => {\n const message = getScannerErrorMessage(err)\n if (message?.includes('Permission'))\n alert('In order to scan please allow the current page to access your camera and try again.')\n isScannerHidden = true\n },\n })\n isScannerHidden = false\n await scanner.scan()\n }\n\n const sendTokensToRecipient = async () => {\n const isTCRED = activeCurrency === symbol\n isLoading = true\n try {\n const weiBn = ethers.parseUnits(String(amount), isTCRED ? decimals : nativeDecimals)\n const result = (await sendTokens({\n address: recipientAddress,\n amount: weiBn,\n instance: isTCRED ? contract : undefined,\n })) as { hash: string; wait: () => Promise<void> }\n toastAlert(\n `<a href=\"${getTxScanAddress(result.hash)}\" target=\"_blank\">Send TX</a> was created`,\n )\n recipientAddress = ''\n amount = undefined\n\n const [weiBalance, weiNativeBalance] = await Promise.all([\n contract.balanceOf(userAddress),\n signer.provider.getBalance(userAddress),\n ])\n\n balance = ethers.formatUnits(weiBalance, decimals)\n nativeBalance = parseFloat(ethers.formatUnits(weiNativeBalance, nativeDecimals)).toFixed(4)\n dispatch(PassportEvents.RECHECK_BALANCE, [result.hash])\n } catch (err) {\n toastAlert(err?.message || err || 'An error occurred while sending tokens', 'failure')\n dispatch(PassportEvents.ERROR, { error: err })\n }\n isLoading = false\n }\n\n const init = async () => {\n const pageOpts = get(pageOptsStore)\n recipientAddress = pageOpts?.to || ''\n amount = pageOpts?.amount || undefined\n const { decimals: contractDecimals, contract: credContract } = (await getCREDContract()) as TEvmContract\n decimals = contractDecimals\n contract = credContract\n const provider = get(providerStore)\n if(!provider) return\n signer = await provider.getSigner()\n userAddress = await getAddress()\n const results = await Promise.all([\n contract.symbol(),\n contract.balanceOf(userAddress),\n provider.getBalance(userAddress),\n fetch('https://chainid.network/chains.json')\n .then((result) => result.json())\n .then((networks) =>\n networks.find((network: { chainId: number }) => String(network.chainId) === config.chainId),\n ),\n ])\n symbol = results[0]\n balance = ethers.formatUnits(results[1], decimals)\n nativeDecimals = results[3]?.nativeCurrency?.decimals ?? 18\n nativeBalance = parseFloat(ethers.formatUnits(results[2], nativeDecimals)).toFixed(4)\n nativeSymbol = results[3]?.nativeCurrency?.symbol ?? 'ETH'\n activeCurrency = symbol\n }\n\n $: $configStore.chainId && $providerStore && init()\n $: isRecipientAddressValid = !!ethers.isAddress(recipientAddress)\n $: isSubmitDisabled =\n isLoading ||\n !amount ||\n !isRecipientAddressValid ||\n (activeCurrency === symbol && amount > +balance) ||\n (activeCurrency === nativeSymbol && amount > +nativeBalance)\n</script>\n\n<SendTokens\n bind:recipientAddress\n bind:amount\n options={{\n title: `Send stored value`,\n isNativeCurrecyTransferAllowed: $configStore.transferTokens?.nativeCurrency !== false,\n isScannerHidden,\n balance,\n chainId: config.chainId,\n isRecipientAddressValid,\n onScannerClicked,\n onSendTokens: sendTokensToRecipient,\n onBackClicked: () => pageStore.set(Pages.WALLET),\n onChangeCurrency: () => (activeCurrency === symbol ? (activeCurrency = nativeSymbol) : (activeCurrency = symbol)),\n onSetMaxAmount: () => (activeCurrency === symbol ? (amount = +balance) : (amount = +nativeBalance)),\n isLoading,\n isSubmitDisabled,\n credAlias: $clientPublicStore?.ui_settings.cred_alias,\n activeCurrency,\n symbol,\n nativeSymbol,\n nativeBalance,\n }}\n/>\n"],"names":["recipientAddress","$.prop","$$props","options","onChangeCurrency","onSetMaxAmount","onBackClicked","onSendTokens","title","chainId","onScannerClicked","isNativeCurrecyTransferAllowed","round","num","isLoading","isSubmitDisabled","isRecipientAddressValid","isScannerHidden","activeCurrency","nativeSymbol","nativeBalance","$0","$.derived_safe_equal","$.get","ContentHeader","node","div","$.sibling","div_1","$.child","node_1","div_2","root_1","span","$$render","consequent","div_3","span_1","$.untrack","consequent_1","div_4","div_5","Input","node_3","$$value","label","root_3","$.append","$$anchor","div_6","img","$.reset","classes","$.set_class","$clientPublicStore","$.set_attribute","ScanIcon","balance","$.event","__awaiter","thisArg","_arguments","P","generator","config","get","configStore","sendTokens","getCREDContract","toastAlert","fn","userAddress","amount","$.mutable_source","decimals","symbol","nativeDecimals","contract","signer","scannerInstance","events","createScanner","CRED_SCANNER_TARGET_ID","once","PassportEvents","scanner","_a","sub","NOT_VALID_PASSPORT_QR_CODE_MESSAGE","address","$.set","err","message","getScannerErrorMessage","sendTokensToRecipient","isTCRED","weiBn","ethers","result","getTxScanAddress","weiBalance","weiNativeBalance","dispatch","init","pageOpts","pageOptsStore","contractDecimals","credContract","provider","providerStore","getAddress","results","networks","network","_c","_b","_f","_e","_d","$configStore","$providerStore","SendTokens"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SendTokens-bzAePhXK.js","sources":["../../ui/main/send-tokens/SendTokens.svelte","../src/app/pages/send-tokens/SendTokens.svelte"],"sourcesContent":["<script lang=\"ts\">\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import ButtonBack from \"../shared/inputs/button-back/ButtonBack.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import Input from \"../shared/inputs/input/Input.svelte\";\n import ScanIcon from \"../../images/scanner.svg\";\n import { clientPublicStore } from \"../../../stores\";\n\n export let recipientAddress: string;\n export let amount: number | undefined;\n\n export let options: {\n title: string;\n isScannerHidden: boolean;\n balance: string;\n chainId?: string;\n isRecipientAddressValid: boolean;\n onScannerClicked: () => void;\n onSendTokens: () => void;\n onBackClicked: () => void;\n onChangeCurrency: () => void;\n onSetMaxAmount: () => void;\n isLoading: boolean;\n isSubmitDisabled: boolean;\n credAlias: string;\n activeCurrency: string;\n symbol: string;\n nativeSymbol: string;\n nativeBalance: string;\n isNativeCurrecyTransferAllowed?: boolean;\n };\n\n let {\n onChangeCurrency,\n onSetMaxAmount,\n onBackClicked,\n onSendTokens,\n title,\n chainId,\n onScannerClicked,\n isNativeCurrecyTransferAllowed = true\n } = options;\n\n $: balance = options.balance;\n $: isLoading = options.isLoading;\n $: isSubmitDisabled = options.isSubmitDisabled;\n $: isRecipientAddressValid = options.isRecipientAddressValid;\n $: isScannerHidden = options.isScannerHidden;\n $: activeCurrency = options.activeCurrency;\n $: nativeSymbol = options.nativeSymbol;\n $: nativeBalance = options.nativeBalance;\n\n const round = (num: number) => Math.floor(num * 100) / 100\n</script>\n\n<ContentHeader\n text={title}\n description={isScannerHidden\n ? ``\n : \"Scan Passport Id\"}\n/>\n<div class=\"crtw-w-full crtw-p-0 crtw-relative\">\n <div\n id=\"cpuiCredScanner\"\n class=\"crtw-absolute crtw-overflow-hidden crtw-top-0 crtw-bottom-0 crtw-left-0 crtw-right-0 crtw-z-10 crtw-border crtw-border-gray-300 crtw-rounded-lg crtw-backdrop-blur-lg\"\n class:crtw-hidden={isScannerHidden}\n class:crtw-z-[-1]={isScannerHidden}\n ></div>\n {#if chainId}\n <div>ChainId: <span class=\"crtw-font-bold\">{chainId}</span></div>\n {/if}\n <div>\n Your balance: \n <span class=\"crtw-font-bold\">\n {#if isNativeCurrecyTransferAllowed}\n {round(+nativeBalance)} {nativeSymbol} / \n {/if}\n\n {round(+balance)} ${$clientPublicStore?.ui_settings.cred_alias || 'cred'}\n </span>\n </div>\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <div class=\"crtw-flex crtw-flex-col crtw-w-full\">\n <Input\n name=\"recipientAddress\"\n type=\"text\"\n placeholder=\"Address 0x...\"\n bind:value={recipientAddress}\n />\n {#if recipientAddress && !isRecipientAddressValid}\n <label\n class=\"crtw-text-[10px] crtw-text-warningTextColor cpui-send-tokens-validation-message\"\n for=\"recipientAddress\">Provided address is not valid.</label\n >\n {/if}\n </div>\n\n <div class=\"crtw-ml-2.5 crtw-cursor-pointer\">\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->\n <img\n src={ScanIcon}\n on:click={onScannerClicked}\n width=\"53px\"\n alt=\"\"\n class=\"crtw-h-[53px]\"\n />\n </div>\n </div>\n\n <div\n class=\"crtw-mb-2.5 crtw-flex crtw-items-start crtw-justify-between crtw-w-full\"\n >\n <Input\n type=\"number\"\n min=\"0\"\n step=\"0.001\"\n placeholder={`${activeCurrency} amount`}\n bind:value={amount}\n />\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button onClick={onSetMaxAmount} text={`MAX`} disabled={+balance <= 0} />\n </div>\n\n {#if isNativeCurrecyTransferAllowed}\n <div class=\"crtw-ml-2.5 crtw-w-16 crtw-min-w-16\">\n <Button\n onClick={onChangeCurrency}\n text={activeCurrency}\n disabled={!activeCurrency}\n />\n </div>\n {/if}\n </div>\n <Button\n onClick={onSendTokens}\n text={`Send ${amount || \"\"} ${activeCurrency}`}\n {isLoading}\n disabled={isSubmitDisabled}\n />\n</div>\n<div class=\"crtw-mt-0.5 crtw-mb-3 crtw-w-full\">\n <ButtonBack onClick={onBackClicked} />\n</div>\n","<script lang=\"ts\">\n import { ethers } from '@credenza3/core-web-evm-ext'\n import { get } from 'svelte/store'\n\n import { clientPublicStore, fn, pageOptsStore, pageStore } from '@packages/stores'\n import { dispatch, once, PassportEvents } from '@lib/events/events'\n import { Pages } from '@packages/utils/enums'\n import { getTxScanAddress } from '@src/lib/tx/tx'\n import {\n CRED_SCANNER_TARGET_ID,\n createScanner,\n getScannerErrorMessage,\n setupScanner,\n type ScannerLib,\n } from '@lib/scanner'\n import { SendTokens} from '@packages/ui'\n import { getAddress } from '@src/passport/blockchain'\n import { configStore } from '@src/stores/config'\n import type { TEvmContract } from '@packages/utils/types'\n import { providerStore } from '@src/stores'\n import { getUserAddressBySub } from '@src/Passport.service'\n import { NOT_VALID_PASSPORT_QR_CODE_MESSAGE } from '@packages/utils/constants'\n\n const config = get(configStore)\n const { sendTokens, getCREDContract, toastAlert } = get(fn)\n\n let userAddress = ''\n let recipientAddress = ''\n let amount: number | undefined\n\n let activeCurrency = ''\n\n let decimals = 18\n let symbol = '-'\n let balance = ''\n\n let nativeDecimals = 18\n let nativeSymbol = '-'\n let nativeBalance = ''\n\n let isScannerHidden = true\n let isLoading = false\n\n let contract: ethers.Contract\n let signer: ethers.JsonRpcSigner\n let scanner: ScannerLib\n\n const onScannerClicked = async () => {\n const { scanner: scannerInstance, events } = await createScanner(CRED_SCANNER_TARGET_ID)\n scanner = scannerInstance\n once(PassportEvents.UI_CLOSED, scanner.close)\n setupScanner<{ sub: string }>(scanner, events, {\n onCapture: async ({ sub }) => {\n if (!sub) {\n toastAlert(NOT_VALID_PASSPORT_QR_CODE_MESSAGE(), 'failure')\n return scanner.close()\n }\n const { address } = await getUserAddressBySub(sub)\n recipientAddress = address\n scanner.close()\n },\n onCancel: () => (isScannerHidden = true),\n onError: (err) => {\n const message = getScannerErrorMessage(err)\n if (message?.includes('Permission'))\n alert('In order to scan please allow the current page to access your camera and try again.')\n isScannerHidden = true\n },\n })\n isScannerHidden = false\n await scanner.scan()\n }\n\n const sendTokensToRecipient = async () => {\n const isTCRED = activeCurrency === symbol\n isLoading = true\n try {\n const weiBn = ethers.parseUnits(String(amount), isTCRED ? decimals : nativeDecimals)\n const result = (await sendTokens({\n address: recipientAddress,\n amount: weiBn,\n instance: isTCRED ? contract : undefined,\n })) as { hash: string; wait: () => Promise<void> }\n toastAlert(\n `<a href=\"${getTxScanAddress(result.hash)}\" target=\"_blank\">Send TX</a> was created`,\n )\n recipientAddress = ''\n amount = undefined\n\n const [weiBalance, weiNativeBalance] = await Promise.all([\n contract.balanceOf(userAddress),\n signer.provider.getBalance(userAddress),\n ])\n\n balance = ethers.formatUnits(weiBalance, decimals)\n nativeBalance = parseFloat(ethers.formatUnits(weiNativeBalance, nativeDecimals)).toFixed(4)\n dispatch(PassportEvents.RECHECK_BALANCE, [result.hash])\n } catch (err) {\n toastAlert(err?.message || err || 'An error occurred while sending tokens', 'failure')\n dispatch(PassportEvents.ERROR, { error: err })\n }\n isLoading = false\n }\n\n const init = async () => {\n const pageOpts = get(pageOptsStore)\n recipientAddress = pageOpts?.to || ''\n amount = pageOpts?.amount || undefined\n const { decimals: contractDecimals, contract: credContract } = (await getCREDContract()) as TEvmContract\n decimals = contractDecimals\n contract = credContract\n const provider = get(providerStore)\n if(!provider) return\n signer = await provider.getSigner()\n userAddress = await getAddress()\n const results = await Promise.all([\n contract.symbol(),\n contract.balanceOf(userAddress),\n provider.getBalance(userAddress),\n fetch('https://chainid.network/chains.json')\n .then((result) => result.json())\n .then((networks) =>\n networks.find((network: { chainId: number }) => String(network.chainId) === config.chainId),\n ),\n ])\n symbol = results[0]\n balance = ethers.formatUnits(results[1], decimals)\n nativeDecimals = results[3]?.nativeCurrency?.decimals ?? 18\n nativeBalance = parseFloat(ethers.formatUnits(results[2], nativeDecimals)).toFixed(4)\n nativeSymbol = results[3]?.nativeCurrency?.symbol ?? 'ETH'\n activeCurrency = symbol\n }\n\n $: $configStore.chainId && $providerStore && init()\n $: isRecipientAddressValid = !!ethers.isAddress(recipientAddress)\n $: isSubmitDisabled =\n isLoading ||\n !amount ||\n !isRecipientAddressValid ||\n (activeCurrency === symbol && amount > +balance) ||\n (activeCurrency === nativeSymbol && amount > +nativeBalance)\n</script>\n\n<SendTokens\n bind:recipientAddress\n bind:amount\n options={{\n title: `Send stored value`,\n isNativeCurrecyTransferAllowed: $configStore.transferTokens?.nativeCurrency !== false,\n isScannerHidden,\n balance,\n chainId: config.chainId,\n isRecipientAddressValid,\n onScannerClicked,\n onSendTokens: sendTokensToRecipient,\n onBackClicked: () => pageStore.set(Pages.WALLET),\n onChangeCurrency: () => (activeCurrency === symbol ? (activeCurrency = nativeSymbol) : (activeCurrency = symbol)),\n onSetMaxAmount: () => (activeCurrency === symbol ? (amount = +balance) : (amount = +nativeBalance)),\n isLoading,\n isSubmitDisabled,\n credAlias: $clientPublicStore?.ui_settings.cred_alias,\n activeCurrency,\n symbol,\n nativeSymbol,\n nativeBalance,\n }}\n/>\n"],"names":["recipientAddress","$.prop","$$props","options","onChangeCurrency","onSetMaxAmount","onBackClicked","onSendTokens","title","chainId","onScannerClicked","isNativeCurrecyTransferAllowed","round","num","isLoading","isSubmitDisabled","isRecipientAddressValid","isScannerHidden","activeCurrency","nativeSymbol","nativeBalance","$0","$.derived_safe_equal","$.get","ContentHeader","node","div","$.sibling","div_1","$.child","node_1","div_2","root_1","span","$$render","consequent","div_3","span_1","$.untrack","consequent_1","div_4","div_5","Input","node_3","$$value","label","root_3","$.append","$$anchor","div_6","img","$.reset","classes","$.set_class","$clientPublicStore","$.set_attribute","ScanIcon","balance","$.event","__awaiter","thisArg","_arguments","P","generator","config","get","configStore","sendTokens","getCREDContract","toastAlert","fn","userAddress","amount","$.mutable_source","decimals","symbol","nativeDecimals","contract","signer","scannerInstance","events","createScanner","CRED_SCANNER_TARGET_ID","once","PassportEvents","scanner","_a","sub","NOT_VALID_PASSPORT_QR_CODE_MESSAGE","address","$.set","err","message","getScannerErrorMessage","sendTokensToRecipient","isTCRED","weiBn","ethers","result","getTxScanAddress","weiBalance","weiNativeBalance","dispatch","init","pageOpts","pageOptsStore","contractDecimals","credContract","provider","providerStore","getAddress","results","networks","network","_c","_b","_f","_e","_d","$configStore","$providerStore","SendTokens"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as E, p as j, f as q, b as C, d as O, u as z, h as A, n as F, o as w } from "./AssetItem-
|
|
2
|
-
import { t as B, p as x, z as y, r as D, l as I, J as b, L as J, E as L, V as R, Z as U, bx as V, M as W, I as Z } from "./index-
|
|
3
|
-
import { C as G } from "./App-
|
|
4
|
-
import { C as K } from "./ContentHeader-
|
|
5
|
-
import { B as k } from "./Button-
|
|
1
|
+
import { c as E, p as j, f as q, b as C, d as O, u as z, h as A, n as F, o as w } from "./AssetItem-B0ofIyW5.js";
|
|
2
|
+
import { t as B, p as x, z as y, r as D, l as I, J as b, L as J, E as L, V as R, Z as U, bx as V, M as W, I as Z } from "./index-B7xlI3d8.js";
|
|
3
|
+
import { C as G } from "./App-BpcMpO5f.js";
|
|
4
|
+
import { C as K } from "./ContentHeader-C3SULqmh.js";
|
|
5
|
+
import { B as k } from "./Button-C5AEb9bs.js";
|
|
6
6
|
var N = q("<!> <!>", 1), P = q("<!> <!>", 1);
|
|
7
7
|
function H(i, r) {
|
|
8
8
|
if (new.target) return E({ component: H, ...i });
|
|
@@ -109,4 +109,4 @@ function Q(i, r) {
|
|
|
109
109
|
export {
|
|
110
110
|
Q as default
|
|
111
111
|
};
|
|
112
|
-
//# sourceMappingURL=Sign-
|
|
112
|
+
//# sourceMappingURL=Sign-CeE8qZYP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sign-
|
|
1
|
+
{"version":3,"file":"Sign-CeE8qZYP.js","sources":["../../ui/main/passport-id/Sign.svelte","../src/app/pages/sign/Sign.svelte"],"sourcesContent":["<script lang=\"ts\">\n import Container from \"../shared/Container.svelte\";\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n\n export let options: {\n title: string;\n description: string;\n onConfirm: () => Promise<void>;\n onCancel: () => void;\n };\n\n let { title, description, onConfirm, onCancel } = options;\n</script>\n\n<ContentHeader text={title} {description} />\n\n<Container class=\"crtw-flex crtw-justify-between crtw-gap-10\">\n <Button text=\"Cancel\" onClick={onCancel}></Button>\n <Button text=\"Sign the message\" onClick={onConfirm} />\n</Container>\n","<script lang=\"ts\">\n import { get } from 'svelte/store'\n import { fn } from '@packages/stores'\n import { Sign } from '@packages/ui'\n import { pageOptsStore } from '@packages/stores'\n import { providerStore, configStore } from '@src/stores'\n import socketFn from '@lib/ws/socket-io'\n\n const { close } = get(fn)\n\n const handleSignTransaction = async () => {\n const provider = get(providerStore)\n if(!provider) return\n const signer = await provider.getSigner()\n const signature = await signer.signMessage($pageOptsStore.message)\n socketFn.signDataAndEmitEvent($configStore.credenza.generalWssUrl, signature, $pageOptsStore.socketEventDataHeaders)\n close()\n }\n</script>\n\n<Sign\n options={{\n title: 'Sign Transaction Request',\n description: 'Please sign the requested transaction.',\n onCancel: close,\n onConfirm: handleSignTransaction,\n }}\n/>\n"],"names":["options","$.prop","$$props","title","description","onConfirm","onCancel","__awaiter","thisArg","_arguments","P","generator","handleSignTransaction","provider","get","providerStore","signature","$pageOptsStore","socketFn","$configStore","close","Sign","$$anchor"],"mappings":";;;;;;iBAAA;;;MAaQA,IAKLC,EAAAC,GAAA,WAAA,EAAA,GAED,EAAA,OAAAC,GAAS,aAAAC,GAAA,WAAAC,GAAA,UAAAC,EAAA,IAAAN,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBCpBX;;;;AAAiB,MAAAO,IAAA,QAAA,KAAA,aAAA,SAAAC,GAAAC,GAAAC,GAAAC,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAERC,IAAY,MAAkBL,EAAA,QAAA,QAAA,QAAA,aAAA;UAC5BM,IAAYC,EAAAC,CAAc;SAC5BF,EAAE;AAEF,UAAAG,WADE,MAAeH,EAAA,UAAmB,GACrB,YAAmBI,EAAA,EAAA,OAAA;AAEzC,IAAAC,EAAa,qBAAYC,IAAA,SAAA,eAAAH,GAAAC,EAAA,EAAA,sBAAA,GAEzBG,EAAM;AAAA,EACJ,CAAA;;;;;;;;MAIA,OAAA;AAAA,MACA,aAAO;AAAA,MACR,UAAAA;AAAA,MACD,WAAMR;AAAA;AALJ,IAAAS,EAAAC,GAAA;AAAA;;;;;;;AADG;"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { J as s, M as g, bA as b, a1 as f, I as h, by as u, K as k, P, cb as w, bu as O, _ as S, bN as C } from "./index-B7xlI3d8.js";
|
|
2
|
+
import { g as I, r as v } from "./Payment-BnfOGIJ0.js";
|
|
3
|
+
const A = async (o) => {
|
|
4
|
+
const t = s(g), n = t.licenses?.map(
|
|
5
|
+
({
|
|
6
|
+
contentTokenId: a,
|
|
7
|
+
licenseContractAddress: r,
|
|
8
|
+
licenseType: i
|
|
9
|
+
}) => ({
|
|
10
|
+
contract_address: r,
|
|
11
|
+
content_token_id: +a,
|
|
12
|
+
license_type: +i
|
|
13
|
+
})
|
|
14
|
+
) || [], e = s(b).erc20Cred.address, c = s(f).client_payment_configuration?.token_fee, d = t.tokens?.map(
|
|
15
|
+
({ contractAddress: a, tokenId: r, amount: i }) => (e === a && c && (i = +i + +i * c), {
|
|
16
|
+
contract_address: a,
|
|
17
|
+
token_id: +r,
|
|
18
|
+
amount: i
|
|
19
|
+
})
|
|
20
|
+
) || [], m = t.memberships?.map(
|
|
21
|
+
({ contractAddress: a, membershipTokenId: r }) => ({
|
|
22
|
+
contract_address: a,
|
|
23
|
+
...r ? { token_id: r } : {}
|
|
24
|
+
})
|
|
25
|
+
) || [], l = {
|
|
26
|
+
...o,
|
|
27
|
+
tokens: d,
|
|
28
|
+
memberships: m,
|
|
29
|
+
licenses: n
|
|
30
|
+
}, p = s(h), y = await fetch(p.credenza.evmApiUrl + "/contracts/buy-assets", {
|
|
31
|
+
headers: {
|
|
32
|
+
"Content-Type": "application/json",
|
|
33
|
+
Authorization: `Bearer ${s(u)}`
|
|
34
|
+
},
|
|
35
|
+
method: "POST",
|
|
36
|
+
body: JSON.stringify(l)
|
|
37
|
+
});
|
|
38
|
+
if (!y.ok) throw new Error("Failed to create order");
|
|
39
|
+
const { _id: _ } = await y.json();
|
|
40
|
+
return _;
|
|
41
|
+
}, D = async (o) => {
|
|
42
|
+
const t = s(h), n = s(g), e = await I(t.credenza.generalApiUrl, o);
|
|
43
|
+
return e.payment_provider_tx && (await v({
|
|
44
|
+
stripeChargeId: e.payment_provider_tx,
|
|
45
|
+
title: n.title,
|
|
46
|
+
subtitle: n.subtitle
|
|
47
|
+
}), k(P.RECEIPT, { stripeChargeId: e.payment_provider_tx })), await w(e.items), e;
|
|
48
|
+
}, T = async (o) => {
|
|
49
|
+
const t = s(h), n = s(g), e = s(O), c = await S(), d = e?.email || e?.pending?.email, m = e?.phone || e?.pending?.phone, l = `Passport Payment: (${JSON.stringify({
|
|
50
|
+
...n.tokens,
|
|
51
|
+
...n.memberships,
|
|
52
|
+
...n.licenses,
|
|
53
|
+
userAddress: c,
|
|
54
|
+
chainId: t.chainId,
|
|
55
|
+
email: d,
|
|
56
|
+
phone: m
|
|
57
|
+
})})`, p = C(t.clientId).name, _ = {
|
|
58
|
+
card_token: (t.stripe.pk[p] ?? t.stripe.pk.DEFAULT).includes("pk_live") ? o : "tok_visa",
|
|
59
|
+
client: p,
|
|
60
|
+
description: l,
|
|
61
|
+
address: c,
|
|
62
|
+
chain_id: Number(t.chainId),
|
|
63
|
+
currency: "USD"
|
|
64
|
+
}, a = await A(_);
|
|
65
|
+
return await D(a);
|
|
66
|
+
};
|
|
67
|
+
export {
|
|
68
|
+
T as processPayment
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=Stripe.service-Cgbvw9E4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stripe.service-Cgbvw9E4.js","sources":["../src/app/pages/payment/order.service.ts","../src/app/pages/payment/stripe/Stripe.service.ts"],"sourcesContent":["import { get } from 'svelte/store'\nimport { pageOptsStore, accessTokenStore, clientPublicStore } from '@packages/stores'\nimport { requestReceipt } from './Payment.service'\nimport { attachMetadataToItems } from '@src/passport/blockchain'\nimport { configStore } from '@src/stores/config'\nimport { PassportEvents, dispatch } from '@lib/events/events'\nimport { getCompmletedOrderDetails } from '@lib/orders'\nimport { type TPaymentReturn } from '@packages/utils/types'\nimport type { TMembershipPaymentData, TBasicPaymentData, TTokenPaymentData, TLicensePaymentData } from './oders.types'\nimport { contractsStore } from '@src/stores'\n\nexport const createOrder = async (body: TBasicPaymentData): Promise<string> => {\n const paymentOpts = get(pageOptsStore)\n\n const licensesPaymentData: TLicensePaymentData[] =\n paymentOpts.licenses?.map(\n ({\n contentTokenId,\n licenseContractAddress,\n licenseType,\n }: {\n contentTokenId: number\n licenseContractAddress: string\n licenseType: number\n }) => ({\n contract_address: licenseContractAddress,\n content_token_id: +contentTokenId,\n license_type: +licenseType,\n }),\n ) || []\n\n const credAddress = get(contractsStore).erc20Cred.address\n const clientFee = get(clientPublicStore).client_payment_configuration?.token_fee\n const tokensPaymentData: TTokenPaymentData[] =\n paymentOpts.tokens?.map(\n ({ contractAddress, tokenId, amount }: { contractAddress: string; tokenId: number; amount: string | number }) => {\n if (credAddress === contractAddress && clientFee) {\n amount = +amount + +amount * clientFee\n }\n\n return {\n contract_address: contractAddress,\n token_id: +tokenId,\n amount,\n }\n },\n ) || []\n\n const membershipsPaymentData: TMembershipPaymentData[] =\n paymentOpts.memberships?.map(\n ({ contractAddress, membershipTokenId }: { contractAddress: string; membershipTokenId?: string }) => ({\n contract_address: contractAddress,\n ...(membershipTokenId ? { token_id: membershipTokenId } : {}),\n }),\n ) || []\n\n const payload = {\n ...body,\n tokens: tokensPaymentData,\n memberships: membershipsPaymentData,\n licenses: licensesPaymentData,\n }\n\n const config = get(configStore)\n const res = await fetch(config.credenza.evmApiUrl + '/contracts/buy-assets', {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${get(accessTokenStore)}`,\n },\n method: 'POST',\n body: JSON.stringify(payload),\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 paymentOpts = get(pageOptsStore)\n\n const data = (await getCompmletedOrderDetails(config.credenza.generalApiUrl, orderId)) as TPaymentReturn\n\n if (data.payment_provider_tx) {\n await requestReceipt({\n stripeChargeId: data.payment_provider_tx,\n title: paymentOpts.title,\n subtitle: paymentOpts.subtitle,\n })\n dispatch(PassportEvents.RECEIPT, { stripeChargeId: data.payment_provider_tx })\n }\n\n await attachMetadataToItems(data.items)\n return data\n}\n","import { get } from 'svelte/store'\nimport { userStore, pageOptsStore } from '@packages/stores'\nimport { getAddress } from '@src/passport/blockchain'\nimport { configStore } from '@src/stores/config'\nimport { getClientConfigByClientId } from '@lib/clients'\nimport { processOrder, createOrder } from '../order.service'\nimport type { TBasicPaymentData } from '../oders.types'\n\n\nexport const processPayment = async (stripeTokenId: string) => {\n const config = get(configStore)\n const paymentOpts = get(pageOptsStore)\n const user = get(userStore)\n const userAddress = await getAddress()\n\n const email = user?.email || user?.pending?.email\n const phone = user?.phone || user?.pending?.phone\n const description =\n 'Passport Payment: ' +\n `(${JSON.stringify({\n ...paymentOpts.tokens,\n ...paymentOpts.memberships,\n ...paymentOpts.licenses,\n userAddress,\n chainId: config.chainId,\n email,\n phone,\n })})`\n\n const clientName = getClientConfigByClientId(config.clientId).name\n const stripePK = config.stripe.pk[clientName] ?? config.stripe.pk.DEFAULT\n const basicPaymentData: TBasicPaymentData = {\n card_token: stripePK.includes('pk_live') ? stripeTokenId : 'tok_visa',\n client: clientName,\n description,\n address: userAddress,\n chain_id: Number(config.chainId),\n currency: 'USD',\n }\n\n const order = await createOrder(basicPaymentData)\n return await processOrder(order)\n}\n"],"names":["createOrder","body","paymentOpts","get","pageOptsStore","licensesPaymentData","contentTokenId","licenseContractAddress","licenseType","credAddress","contractsStore","clientFee","clientPublicStore","tokensPaymentData","contractAddress","tokenId","amount","membershipsPaymentData","membershipTokenId","payload","config","configStore","res","accessTokenStore","_id","processOrder","orderId","data","getCompmletedOrderDetails","requestReceipt","dispatch","PassportEvents","attachMetadataToItems","processPayment","stripeTokenId","user","userStore","userAddress","getAddress","email","phone","description","clientName","getClientConfigByClientId","basicPaymentData","order"],"mappings":";;AAWO,MAAMA,IAAc,OAAOC,MAA6C;AAC7E,QAAMC,IAAcC,EAAIC,CAAa,GAE/BC,IACJH,EAAY,UAAU;AAAA,IACpB,CAAC;AAAA,MACC,gBAAAI;AAAA,MACA,wBAAAC;AAAA,MACA,aAAAC;AAAA,IAAA,OAKK;AAAA,MACL,kBAAkBD;AAAA,MAClB,kBAAkB,CAACD;AAAA,MACnB,cAAc,CAACE;AAAA,IAAA;AAAA,EACjB,KACG,CAAA,GAEDC,IAAcN,EAAIO,CAAc,EAAE,UAAU,SAC5CC,IAAYR,EAAIS,CAAiB,EAAE,8BAA8B,WACjEC,IACJX,EAAY,QAAQ;AAAA,IAClB,CAAC,EAAE,iBAAAY,GAAiB,SAAAC,GAAS,QAAAC,SACvBP,MAAgBK,KAAmBH,MACrCK,IAAS,CAACA,IAAS,CAACA,IAASL,IAGxB;AAAA,MACL,kBAAkBG;AAAA,MAClB,UAAU,CAACC;AAAA,MACX,QAAAC;AAAA,IAAA;AAAA,EAEJ,KACG,CAAA,GAEDC,IACJf,EAAY,aAAa;AAAA,IACvB,CAAC,EAAE,iBAAAY,GAAiB,mBAAAI,SAAkF;AAAA,MACpG,kBAAkBJ;AAAA,MAClB,GAAII,IAAoB,EAAE,UAAUA,MAAsB,CAAA;AAAA,IAAC;AAAA,EAC7D,KACG,CAAA,GAEDC,IAAU;AAAA,IACd,GAAGlB;AAAA,IACH,QAAQY;AAAA,IACR,aAAaI;AAAA,IACb,UAAUZ;AAAA,EAAA,GAGNe,IAASjB,EAAIkB,CAAW,GACxBC,IAAM,MAAM,MAAMF,EAAO,SAAS,YAAY,yBAAyB;AAAA,IAC3E,SAAS;AAAA,MACP,gBAAgB;AAAA,MAChB,eAAe,UAAUjB,EAAIoB,CAAgB,CAAC;AAAA,IAAA;AAAA,IAEhD,QAAQ;AAAA,IACR,MAAM,KAAK,UAAUJ,CAAO;AAAA,EAAA,CAC7B;AACD,MAAI,CAACG,EAAI,GAAI,OAAM,IAAI,MAAM,wBAAwB;AACrD,QAAM,EAAE,KAAAE,EAAA,IAAyB,MAAMF,EAAI,KAAA;AAC3C,SAAOE;AACT,GAEaC,IAAe,OAAOC,MAA6C;AAC9E,QAAMN,IAASjB,EAAIkB,CAAW,GACxBnB,IAAcC,EAAIC,CAAa,GAE/BuB,IAAQ,MAAMC,EAA0BR,EAAO,SAAS,eAAeM,CAAO;AAEpF,SAAIC,EAAK,wBACP,MAAME,EAAe;AAAA,IACnB,gBAAgBF,EAAK;AAAA,IACrB,OAAOzB,EAAY;AAAA,IACnB,UAAUA,EAAY;AAAA,EAAA,CACvB,GACD4B,EAASC,EAAe,SAAS,EAAE,gBAAgBJ,EAAK,qBAAqB,IAG/E,MAAMK,EAAsBL,EAAK,KAAK,GAC/BA;AACT,GCrFaM,IAAiB,OAAOC,MAA0B;AAC7D,QAAMd,IAASjB,EAAIkB,CAAW,GACxBnB,IAAcC,EAAIC,CAAa,GAC/B+B,IAAOhC,EAAIiC,CAAS,GACpBC,IAAc,MAAMC,EAAA,GAEpBC,IAAQJ,GAAM,SAASA,GAAM,SAAS,OACtCK,IAAQL,GAAM,SAASA,GAAM,SAAS,OACtCM,IACJ,sBACI,KAAK,UAAU;AAAA,IACjB,GAAGvC,EAAY;AAAA,IACf,GAAGA,EAAY;AAAA,IACf,GAAGA,EAAY;AAAA,IACf,aAAAmC;AAAA,IACA,SAASjB,EAAO;AAAA,IAChB,OAAAmB;AAAA,IACA,OAAAC;AAAA,EAAA,CACD,CAAC,KAEEE,IAAaC,EAA0BvB,EAAO,QAAQ,EAAE,MAExDwB,IAAsC;AAAA,IAC1C,aAFexB,EAAO,OAAO,GAAGsB,CAAU,KAAKtB,EAAO,OAAO,GAAG,SAE3C,SAAS,SAAS,IAAIc,IAAgB;AAAA,IAC3D,QAAQQ;AAAA,IACR,aAAAD;AAAA,IACA,SAASJ;AAAA,IACT,UAAU,OAAOjB,EAAO,OAAO;AAAA,IAC/B,UAAU;AAAA,EAAA,GAGNyB,IAAQ,MAAM7C,EAAY4C,CAAgB;AAChD,SAAO,MAAMnB,EAAaoB,CAAK;AACjC;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { c as ee, m as Pe, p as _, h as me, f as j, i as J, k as Ce, e as Se, b as S, d as te, u as ae, r as Y, s as De, w as pe, t as Ie, o as ge, n as Ve } from "./AssetItem-
|
|
2
|
-
import { o as ke } from "./index-client-
|
|
3
|
-
import { t as re, w as $, z as C, x as B, y as M, r as ne, l as b, C as W, v as Z, E as e, D as i, m as y, n as be, o as he, p as ie, A as oe, J as _e, L as Ue, bu as $e, bt as Q, bv as de, V as Be, I as je, Q as ue, O as Ae } from "./index-
|
|
1
|
+
import { c as ee, m as Pe, p as _, h as me, f as j, i as J, k as Ce, e as Se, b as S, d as te, u as ae, r as Y, s as De, w as pe, t as Ie, o as ge, n as Ve } from "./AssetItem-B0ofIyW5.js";
|
|
2
|
+
import { o as ke } from "./index-client-kg_uoj70.js";
|
|
3
|
+
import { t as re, w as $, z as C, x as B, y as M, r as ne, l as b, C as W, v as Z, E as e, D as i, m as y, n as be, o as he, p as ie, A as oe, J as _e, L as Ue, bu as $e, bt as Q, bv as de, V as Be, I as je, Q as ue, O as Ae } from "./index-B7xlI3d8.js";
|
|
4
4
|
import { v as we, P as Oe } from "./validation-DaZvZUPL.js";
|
|
5
|
-
import { C as Re } from "./App-
|
|
6
|
-
import { L as ce } from "./Label-
|
|
7
|
-
import { I as fe } from "./Input-
|
|
8
|
-
import { B as Le } from "./ButtonBack-
|
|
9
|
-
import { B as Ne } from "./Button-
|
|
10
|
-
import { e as Fe, i as Te } from "./each-
|
|
5
|
+
import { C as Re } from "./App-BpcMpO5f.js";
|
|
6
|
+
import { L as ce } from "./Label-CB-N5t4A.js";
|
|
7
|
+
import { I as fe } from "./Input-CclKLI1x.js";
|
|
8
|
+
import { B as Le } from "./ButtonBack-D4Bthq_E.js";
|
|
9
|
+
import { B as Ne } from "./Button-C5AEb9bs.js";
|
|
10
|
+
import { e as Fe, i as Te } from "./each-eR_yXHEA.js";
|
|
11
11
|
var ze = j('<label class="crtw-font-medium" for="credenzaSelect"> </label>'), qe = j("<option> </option>"), He = j("<option> </option>"), Ge = j('<div><!> <select name="credenzaSelect"><!><!></select></div>');
|
|
12
12
|
const Je = {
|
|
13
13
|
hash: "svelte-1bj3sm8",
|
|
@@ -526,4 +526,4 @@ function tt(D, r) {
|
|
|
526
526
|
export {
|
|
527
527
|
tt as default
|
|
528
528
|
};
|
|
529
|
-
//# sourceMappingURL=UpdateProfile-
|
|
529
|
+
//# sourceMappingURL=UpdateProfile-C065ZqNX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateProfile-njurlcQa.js","sources":["../../ui/main/shared/inputs/select/Select.svelte","../../ui/main/shared/inputs/phone/PhoneInput.constants.ts","../../ui/main/shared/inputs/phone/PhoneInput.svelte","../../ui/main/update-profile/UpdateProfile.svelte","../src/app/pages/update-profile/UpdateProfile.svelte"],"sourcesContent":["<style>\n .simple {\n background-image: none;\n padding: 0 10px;\n text-align: center; \n }\n .simple:focus {\n background-image: none;\n }\n</style>\n\n<script lang=\"ts\">\n export let options: { value: string; name?: string }[]\n export let placeholder: string | undefined = undefined\n export let label: string | undefined = undefined\n export let selected: string | undefined = undefined\n export let onChange: undefined | ((...args: unknown[]) => unknown) = undefined\n export let simple: boolean = false\n export let disabled: boolean = false\n\n const handleChange = (e: Event) => {\n const target = e.target as HTMLSelectElement\n if (selected !== undefined) selected = target.value\n if (onChange) onChange(e)\n }\n</script>\n\n<div>\n {#if label}\n <label class=\"crtw-font-medium\" for=\"credenzaSelect\">{label}</label>\n {/if}\n <select\n class=\"crtw-w-full crtw-h-[53px] crtw-px-5 crtw-appearance-none crtw-text-base crtw-rounded crtw-border crtw-border-gray-300\n crtw-cursor-pointer crtw-text-gray-500 focus:crtw-outline-none focus:crtw-border-blue-900 focus:crtw-text-blue-900\n {simple ? 'simple' : ''}\"\n name=\"credenzaSelect\"\n on:change={handleChange}\n {disabled}\n >\n {#if placeholder}\n <option disabled={true} selected={!selected} hidden={true}>{placeholder}</option>\n {/if}\n {#each options as item}\n <option value={item.value} selected={selected === item.value}> {item.name ?? item.value} </option>\n {/each}\n </select>\n</div>\n","export const countryCodes = [\n { value: '+1', name: 'US/CA +1' },\n { value: '+49', name: 'DE +49' },\n { value: '+33', name: 'FR +33' },\n { value: '+44', name: 'UK +44' },\n { value: '+380', name: 'UA +380' },\n { value: '+48', name: 'PL +48' },\n { value: '+233', name: 'GH +233' },\n]\n","<script lang=\"ts\">\n import Select from '../select/Select.svelte'\n import Input from '../input/Input.svelte'\n import { PHONE_PATTERN, validate } from '../../../../../utils/lib/validation/validation'\n import { countryCodes } from './PhoneInput.constants'\n\n export let phone: string\n export let isValid: boolean = true\n export let disabled: boolean = false\n\n let selectedCountryCode: string = countryCodes[0].value\n let number: number | null\n\n if (phone) {\n for (const countryCode of countryCodes) {\n if (phone.indexOf(countryCode.value) === 0) {\n number = parseInt(phone.slice(countryCode.value.length))\n selectedCountryCode = countryCode.value\n break\n }\n }\n }\n\n $: {\n isValid = !number || validate(String(number), PHONE_PATTERN)\n isValid && selectedCountryCode && number ? (phone = selectedCountryCode + String(number).trim()) : ''\n }\n</script>\n\n<div class=\"crtw-flex crtw-justify-center crtw-flex-row\">\n <div class=\"crtw-w-40 crtw-mr-0.5\">\n <Select options={countryCodes} simple bind:selected={selectedCountryCode} {disabled} />\n </div>\n <Input\n type=\"number\"\n min=\"0\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n placeholder=\"Phone Number\"\n bind:value={number}\n name=\"phone\"\n {disabled}\n />\n</div>\n","<script lang=\"ts\">\n import Container from \"../shared/Container.svelte\";\n import Label from \"../shared/inputs/input/Label.svelte\";\n import Input from \"../shared/inputs/input/Input.svelte\";\n import ButtonBack from \"../shared/inputs/button-back/ButtonBack.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import PhoneInput from \"../shared/inputs/phone/PhoneInput.svelte\";\n\n export let name: string;\n export let email: string;\n export let phone: string;\n export let isSubmitDisabled: boolean;\n export let error: string | null;\n export let isEmailInputValid: boolean;\n export let options: {\n isExtendedRegistration: boolean | undefined;\n onProfileUpdate: () => void;\n onBackClick: () => void;\n shouldShowBackButton: boolean;\n isEmailChangeDisabled: boolean;\n isPhoneChangeDisabled: boolean;\n };\n\n let {\n isExtendedRegistration,\n onProfileUpdate,\n onBackClick,\n shouldShowBackButton,\n isEmailChangeDisabled,\n isPhoneChangeDisabled,\n } = options;\n</script>\n\n<Container class=\"crtw-flex crtw-justify-center crtw-flex-col crtw-gap-2.5\">\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"NameInput\"\n >First and last name\n {#if isExtendedRegistration}\n <span class=\"crtw-text-red-500\">*</span>\n {/if}\n </Label>\n <Input\n id=\"NameInput\"\n type=\"text\"\n placeholder=\"First and last name\"\n bind:value={name}\n name=\"name\"\n required={isExtendedRegistration}\n />\n </div>\n\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"EmailInput\"\n >Email address\n {#if isExtendedRegistration}\n <span class=\"crtw-text-red-500\">*</span>\n {/if}\n </Label>\n <Input\n id=\"EmailInput\"\n type=\"email\"\n bind:isValid={isEmailInputValid}\n placeholder=\"Email address\"\n bind:value={email}\n name=\"email\"\n disabled={isEmailChangeDisabled}\n />\n </div>\n\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"PhoneInput\">Phone number</Label>\n <PhoneInput bind:phone disabled={isPhoneChangeDisabled} />\n </div>\n\n <Button\n text=\"Update profile\"\n onClick={onProfileUpdate}\n disabled={isSubmitDisabled}\n />\n\n {#if error}\n <div class=\"crtw-text-xs crtw-text-[#990008]\">\n - {error}\n </div>\n {/if}\n\n {#if shouldShowBackButton}\n <div class=\"crtw-text-left crtw-mt-2.5 crtw-w-full\">\n <ButtonBack onClick={onBackClick} />\n </div>\n {/if}\n</Container>\n","<script lang=\"ts\">\n import { onDestroy } from 'svelte'\n import { get } from 'svelte/store'\n import { validate } from '@lib/validation/validation'\n import { fn, userStore, pageStore, forcedPageStore } from '@packages/stores'\n import { Pages } from '@packages/utils/enums'\n import { UpdateProfile } from '@packages/ui'\n import { type TUser } from '@packages/utils/types'\n import { configStore } from '@src/stores/config'\n\n const { updateProfile, close, toastAlert } = get(fn)\n\n let email: string\n let name: string\n let phone: string\n\n let currentUser: TUser\n\n let isEmailChangeDisabled: boolean\n let isPhoneChangeDisabled: boolean\n let isSubmitDisabled: boolean\n\n const unsubscribeUserStore = userStore.subscribe((user) => {\n if (!user) {\n forcedPageStore.set(null)\n close()\n return\n }\n\n name = user.name || ''\n email = user.email || ''\n phone = user.phone || ''\n currentUser = user\n\n isEmailChangeDisabled = !!user.pending?.email\n isPhoneChangeDisabled = !!user.pending?.phone\n })\n\n let isLoading = false\n let isEmailValid: boolean = false\n let isEmailInputValid: boolean = true\n let isNameValid: boolean = true\n let error: string = ''\n\n const executeProfileUpdate = async () => {\n error = ''\n isLoading = true\n try {\n const newData = {\n ...(currentUser.email !== email ? { email } : {}),\n ...(currentUser.name !== name ? { name } : {}),\n ...(currentUser.phone !== phone ? { phone } : {}),\n }\n const updatedUser = await updateProfile(newData)\n forcedPageStore.set(null)\n\n toastAlert(\n 'Account has been updated successfully. Email or phone should be confirmed by entering one-time code.',\n 'success',\n )\n const page = get(pageStore)\n if (!updatedUser?.pending?.phone && !updatedUser?.pending?.email && (!page || page === Pages.UPDATE_PROFILE))\n close()\n } catch (err) {\n const errorText = err?.message || 'Error while updating your account details.'\n toastAlert(errorText, 'failure')\n error = errorText\n }\n isLoading = false\n }\n\n $: {\n isEmailValid = validate(email)\n isEmailInputValid = !email || isEmailValid\n\n $configStore.auth?.extendedRegistration && (isNameValid = !!name)\n\n isSubmitDisabled = isLoading || !isEmailInputValid || !isNameValid\n }\n\n onDestroy(unsubscribeUserStore)\n</script>\n\n<UpdateProfile\n bind:error\n bind:name\n bind:email\n bind:phone\n bind:isSubmitDisabled\n bind:isEmailInputValid\n options={{\n isExtendedRegistration: $configStore.auth?.extendedRegistration,\n onProfileUpdate: executeProfileUpdate,\n onBackClick: () => forcedPageStore.set(null),\n shouldShowBackButton: $forcedPageStore === Pages.UPDATE_PROFILE,\n isEmailChangeDisabled,\n isPhoneChangeDisabled,\n }}\n/>\n"],"names":["options","$.prop","$$props","placeholder","label","selected","onChange","simple","disabled","handleChange","e","target","div","root","label_1","root_1","$$render","consequent","select","$.sibling","node","node_1","$.child","option","root_2","$.set_attribute","$.set_selected","consequent_1","$.each","node_2","item","option_1","root_3","$.get","$.untrack","$.reset","$.event","countryCodes","phone","selectedCountryCode","$.mutable_source","countryCode","number","isValid","validate","PHONE_PATTERN","div_1","Select","$$value","Input","name","email","isSubmitDisabled","error","isEmailInputValid","isExtendedRegistration","onProfileUpdate","onBackClick","shouldShowBackButton","isEmailChangeDisabled","isPhoneChangeDisabled","$.first_child","fragment_1","Label","span","node_3","span_1","root_5","node_5","div_2","node_6","PhoneInput","Button","node_8","__awaiter","thisArg","_arguments","P","generator","updateProfile","close","toastAlert","get","fn","currentUser","unsubscribeUserStore","userStore","user","forcedPageStore","$.set","_a","_b","isLoading","isEmailValid","isNameValid","executeProfileUpdate","newData","updatedUser","page","pageStore","Pages","err","errorText","onDestroy","$.safe_get","UpdateProfile","$$anchor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UpdateProfile-C065ZqNX.js","sources":["../../ui/main/shared/inputs/select/Select.svelte","../../ui/main/shared/inputs/phone/PhoneInput.constants.ts","../../ui/main/shared/inputs/phone/PhoneInput.svelte","../../ui/main/update-profile/UpdateProfile.svelte","../src/app/pages/update-profile/UpdateProfile.svelte"],"sourcesContent":["<style>\n .simple {\n background-image: none;\n padding: 0 10px;\n text-align: center; \n }\n .simple:focus {\n background-image: none;\n }\n</style>\n\n<script lang=\"ts\">\n export let options: { value: string; name?: string }[]\n export let placeholder: string | undefined = undefined\n export let label: string | undefined = undefined\n export let selected: string | undefined = undefined\n export let onChange: undefined | ((...args: unknown[]) => unknown) = undefined\n export let simple: boolean = false\n export let disabled: boolean = false\n\n const handleChange = (e: Event) => {\n const target = e.target as HTMLSelectElement\n if (selected !== undefined) selected = target.value\n if (onChange) onChange(e)\n }\n</script>\n\n<div>\n {#if label}\n <label class=\"crtw-font-medium\" for=\"credenzaSelect\">{label}</label>\n {/if}\n <select\n class=\"crtw-w-full crtw-h-[53px] crtw-px-5 crtw-appearance-none crtw-text-base crtw-rounded crtw-border crtw-border-gray-300\n crtw-cursor-pointer crtw-text-gray-500 focus:crtw-outline-none focus:crtw-border-blue-900 focus:crtw-text-blue-900\n {simple ? 'simple' : ''}\"\n name=\"credenzaSelect\"\n on:change={handleChange}\n {disabled}\n >\n {#if placeholder}\n <option disabled={true} selected={!selected} hidden={true}>{placeholder}</option>\n {/if}\n {#each options as item}\n <option value={item.value} selected={selected === item.value}> {item.name ?? item.value} </option>\n {/each}\n </select>\n</div>\n","export const countryCodes = [\n { value: '+1', name: 'US/CA +1' },\n { value: '+49', name: 'DE +49' },\n { value: '+33', name: 'FR +33' },\n { value: '+44', name: 'UK +44' },\n { value: '+380', name: 'UA +380' },\n { value: '+48', name: 'PL +48' },\n { value: '+233', name: 'GH +233' },\n]\n","<script lang=\"ts\">\n import Select from '../select/Select.svelte'\n import Input from '../input/Input.svelte'\n import { PHONE_PATTERN, validate } from '../../../../../utils/lib/validation/validation'\n import { countryCodes } from './PhoneInput.constants'\n\n export let phone: string\n export let isValid: boolean = true\n export let disabled: boolean = false\n\n let selectedCountryCode: string = countryCodes[0].value\n let number: number | null\n\n if (phone) {\n for (const countryCode of countryCodes) {\n if (phone.indexOf(countryCode.value) === 0) {\n number = parseInt(phone.slice(countryCode.value.length))\n selectedCountryCode = countryCode.value\n break\n }\n }\n }\n\n $: {\n isValid = !number || validate(String(number), PHONE_PATTERN)\n isValid && selectedCountryCode && number ? (phone = selectedCountryCode + String(number).trim()) : ''\n }\n</script>\n\n<div class=\"crtw-flex crtw-justify-center crtw-flex-row\">\n <div class=\"crtw-w-40 crtw-mr-0.5\">\n <Select options={countryCodes} simple bind:selected={selectedCountryCode} {disabled} />\n </div>\n <Input\n type=\"number\"\n min=\"0\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n placeholder=\"Phone Number\"\n bind:value={number}\n name=\"phone\"\n {disabled}\n />\n</div>\n","<script lang=\"ts\">\n import Container from \"../shared/Container.svelte\";\n import Label from \"../shared/inputs/input/Label.svelte\";\n import Input from \"../shared/inputs/input/Input.svelte\";\n import ButtonBack from \"../shared/inputs/button-back/ButtonBack.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import PhoneInput from \"../shared/inputs/phone/PhoneInput.svelte\";\n\n export let name: string;\n export let email: string;\n export let phone: string;\n export let isSubmitDisabled: boolean;\n export let error: string | null;\n export let isEmailInputValid: boolean;\n export let options: {\n isExtendedRegistration: boolean | undefined;\n onProfileUpdate: () => void;\n onBackClick: () => void;\n shouldShowBackButton: boolean;\n isEmailChangeDisabled: boolean;\n isPhoneChangeDisabled: boolean;\n };\n\n let {\n isExtendedRegistration,\n onProfileUpdate,\n onBackClick,\n shouldShowBackButton,\n isEmailChangeDisabled,\n isPhoneChangeDisabled,\n } = options;\n</script>\n\n<Container class=\"crtw-flex crtw-justify-center crtw-flex-col crtw-gap-2.5\">\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"NameInput\"\n >First and last name\n {#if isExtendedRegistration}\n <span class=\"crtw-text-red-500\">*</span>\n {/if}\n </Label>\n <Input\n id=\"NameInput\"\n type=\"text\"\n placeholder=\"First and last name\"\n bind:value={name}\n name=\"name\"\n required={isExtendedRegistration}\n />\n </div>\n\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"EmailInput\"\n >Email address\n {#if isExtendedRegistration}\n <span class=\"crtw-text-red-500\">*</span>\n {/if}\n </Label>\n <Input\n id=\"EmailInput\"\n type=\"email\"\n bind:isValid={isEmailInputValid}\n placeholder=\"Email address\"\n bind:value={email}\n name=\"email\"\n disabled={isEmailChangeDisabled}\n />\n </div>\n\n <div class=\"crtw-flex crtw-flex-col\">\n <Label for=\"PhoneInput\">Phone number</Label>\n <PhoneInput bind:phone disabled={isPhoneChangeDisabled} />\n </div>\n\n <Button\n text=\"Update profile\"\n onClick={onProfileUpdate}\n disabled={isSubmitDisabled}\n />\n\n {#if error}\n <div class=\"crtw-text-xs crtw-text-[#990008]\">\n - {error}\n </div>\n {/if}\n\n {#if shouldShowBackButton}\n <div class=\"crtw-text-left crtw-mt-2.5 crtw-w-full\">\n <ButtonBack onClick={onBackClick} />\n </div>\n {/if}\n</Container>\n","<script lang=\"ts\">\n import { onDestroy } from 'svelte'\n import { get } from 'svelte/store'\n import { validate } from '@lib/validation/validation'\n import { fn, userStore, pageStore, forcedPageStore } from '@packages/stores'\n import { Pages } from '@packages/utils/enums'\n import { UpdateProfile } from '@packages/ui'\n import { type TUser } from '@packages/utils/types'\n import { configStore } from '@src/stores/config'\n\n const { updateProfile, close, toastAlert } = get(fn)\n\n let email: string\n let name: string\n let phone: string\n\n let currentUser: TUser\n\n let isEmailChangeDisabled: boolean\n let isPhoneChangeDisabled: boolean\n let isSubmitDisabled: boolean\n\n const unsubscribeUserStore = userStore.subscribe((user) => {\n if (!user) {\n forcedPageStore.set(null)\n close()\n return\n }\n\n name = user.name || ''\n email = user.email || ''\n phone = user.phone || ''\n currentUser = user\n\n isEmailChangeDisabled = !!user.pending?.email\n isPhoneChangeDisabled = !!user.pending?.phone\n })\n\n let isLoading = false\n let isEmailValid: boolean = false\n let isEmailInputValid: boolean = true\n let isNameValid: boolean = true\n let error: string = ''\n\n const executeProfileUpdate = async () => {\n error = ''\n isLoading = true\n try {\n const newData = {\n ...(currentUser.email !== email ? { email } : {}),\n ...(currentUser.name !== name ? { name } : {}),\n ...(currentUser.phone !== phone ? { phone } : {}),\n }\n const updatedUser = await updateProfile(newData)\n forcedPageStore.set(null)\n\n toastAlert(\n 'Account has been updated successfully. Email or phone should be confirmed by entering one-time code.',\n 'success',\n )\n const page = get(pageStore)\n if (!updatedUser?.pending?.phone && !updatedUser?.pending?.email && (!page || page === Pages.UPDATE_PROFILE))\n close()\n } catch (err) {\n const errorText = err?.message || 'Error while updating your account details.'\n toastAlert(errorText, 'failure')\n error = errorText\n }\n isLoading = false\n }\n\n $: {\n isEmailValid = validate(email)\n isEmailInputValid = !email || isEmailValid\n\n $configStore.auth?.extendedRegistration && (isNameValid = !!name)\n\n isSubmitDisabled = isLoading || !isEmailInputValid || !isNameValid\n }\n\n onDestroy(unsubscribeUserStore)\n</script>\n\n<UpdateProfile\n bind:error\n bind:name\n bind:email\n bind:phone\n bind:isSubmitDisabled\n bind:isEmailInputValid\n options={{\n isExtendedRegistration: $configStore.auth?.extendedRegistration,\n onProfileUpdate: executeProfileUpdate,\n onBackClick: () => forcedPageStore.set(null),\n shouldShowBackButton: $forcedPageStore === Pages.UPDATE_PROFILE,\n isEmailChangeDisabled,\n isPhoneChangeDisabled,\n }}\n/>\n"],"names":["options","$.prop","$$props","placeholder","label","selected","onChange","simple","disabled","handleChange","e","target","div","root","label_1","root_1","$$render","consequent","select","$.sibling","node","node_1","$.child","option","root_2","$.set_attribute","$.set_selected","consequent_1","$.each","node_2","item","option_1","root_3","$.get","$.untrack","$.reset","$.event","countryCodes","phone","selectedCountryCode","$.mutable_source","countryCode","number","isValid","validate","PHONE_PATTERN","div_1","Select","$$value","Input","name","email","isSubmitDisabled","error","isEmailInputValid","isExtendedRegistration","onProfileUpdate","onBackClick","shouldShowBackButton","isEmailChangeDisabled","isPhoneChangeDisabled","$.first_child","fragment_1","Label","span","node_3","span_1","root_5","node_5","div_2","node_6","PhoneInput","Button","node_8","__awaiter","thisArg","_arguments","P","generator","updateProfile","close","toastAlert","get","fn","currentUser","unsubscribeUserStore","userStore","user","forcedPageStore","$.set","_a","_b","isLoading","isEmailValid","isNameValid","executeProfileUpdate","newData","updatedUser","page","pageStore","Pages","err","errorText","onDestroy","$.safe_get","UpdateProfile","$$anchor"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as J, p as K, h as M, f as x, i as u, r as m, b as v, d as N, u as O, t as b } from "./AssetItem-
|
|
2
|
-
import { t as Q, n as j, D as z, m as I, v as L, o as R, w as i, E as a, C as c, z as d, x as n, y as w, r as T, l as W } from "./index-
|
|
3
|
-
import { a as X } from "./App-
|
|
1
|
+
import { c as J, p as K, h as M, f as x, i as u, r as m, b as v, d as N, u as O, t as b } from "./AssetItem-B0ofIyW5.js";
|
|
2
|
+
import { t as Q, n as j, D as z, m as I, v as L, o as R, w as i, E as a, C as c, z as d, x as n, y as w, r as T, l as W } from "./index-B7xlI3d8.js";
|
|
3
|
+
import { a as X } from "./App-BpcMpO5f.js";
|
|
4
4
|
var Y = x('<div class="crtw-w-full crtw-break-all"><p class="crtw-font-medium">User name:</p> <p class="crtw-text-sm"> </p></div>'), Z = x('<div class="crtw-w-full crtw-break-all"><p class="crtw-font-medium">Email address:</p> <p class="crtw-text-sm"><!></p></div>'), $ = x('<div class="crtw-w-full crtw-break-all"><p class="crtw-font-medium">Phone number:</p> <p class="crtw-text-sm"><!></p></div>'), aa = x('<div class="crtw-w-full crtw-break-all"><p class="crtw-font-medium">Logged in address:</p> <p class="crtw-text-sm"> </p></div>'), ea = x('<div class="crtw-w-full crtw-break-all"><p class="crtw-font-medium"> </p> <p class="crtw-text-sm"> </p></div>'), ta = x('<div class="crtw-flex crtw-justify-center crtw-flex-col crtw-items-start crtw-gap-[22px] crtw-w-full crtw-px-2.5 crtw-py-0"><!> <!> <!> <!> <!></div>');
|
|
5
5
|
function ra(U, h) {
|
|
6
6
|
if (new.target) return J({ component: ra, ...U });
|
|
@@ -101,4 +101,4 @@ function ra(U, h) {
|
|
|
101
101
|
export {
|
|
102
102
|
ra as U
|
|
103
103
|
};
|
|
104
|
-
//# sourceMappingURL=UserInfo-
|
|
104
|
+
//# sourceMappingURL=UserInfo-D5-aNsTW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserInfo-
|
|
1
|
+
{"version":3,"file":"UserInfo-D5-aNsTW.js","sources":["../../ui/main/shared/UserInfo.svelte"],"sourcesContent":["<script lang=\"ts\">\n import { TUser } from \"../../../utils/types\";\n\n export let options: {\n storedValueAlias: string;\n balance?: string | null;\n userData: TUser | null;\n userAddress: Promise<string>;\n };\n\n let { storedValueAlias, userAddress } = options;\n $: balance = options.balance\n $: userData = options.userData\n</script>\n\n<div\n class=\"crtw-flex crtw-justify-center crtw-flex-col crtw-items-start crtw-gap-[22px] crtw-w-full crtw-px-2.5 crtw-py-0\"\n>\n {#if userData?.name}\n <div class=\"crtw-w-full crtw-break-all\">\n <p class=\"crtw-font-medium\">User name:</p>\n <p class=\"crtw-text-sm\">\n {userData.name}\n </p>\n </div>\n {/if}\n {#if userData?.email || userData?.pending?.email}\n <div class=\"crtw-w-full crtw-break-all\">\n <p class=\"crtw-font-medium\">Email address:</p>\n <p class=\"crtw-text-sm\">\n {#if userData?.email}\n {userData.email}\n {:else if userData?.pending?.email}\n {userData.pending?.email} (Unconfirmed)\n {/if}\n </p>\n </div>\n {/if}\n\n {#if userData?.phone || userData?.pending?.phone}\n <div class=\"crtw-w-full crtw-break-all\">\n <p class=\"crtw-font-medium\">Phone number:</p>\n <p class=\"crtw-text-sm\">\n {#if userData?.phone}\n {userData.phone}\n {:else if userData?.pending?.phone}\n {userData.pending?.phone} (Unconfirmed)\n {/if}\n </p>\n </div>\n {/if}\n\n {#await userAddress then address}\n <div class=\"crtw-w-full crtw-break-all\">\n <p class=\"crtw-font-medium\">Logged in address:</p>\n <p class=\"crtw-text-sm\">\n {address}\n </p>\n </div>\n {/await}\n \n\n {#if balance}\n <div class=\"crtw-w-full crtw-break-all\">\n <p class=\"crtw-font-medium\">{storedValueAlias} available:</p>\n <p class=\"crtw-text-sm\">{balance}</p>\n </div>\n {/if}\n</div>\n"],"names":["options","$.prop","$$props","storedValueAlias","userAddress","balance","userData","div","root","node","$.child","div_1","root_1","p","$$render","consequent","div_2","root_2","p_1","$.untrack","$.get","div_3","root_5","p_2","$.await","node_5","address","p_3","$.reset","$.append","$$anchor"],"mappings":";;;;kBAAA;;;;MAWeA,IAKbC,EAAAC,GAAA,WAAA,EAAA,KAEK,kBAAAC,GAAc,aAAAC,EAAA,IAAAJ,EAAA;;MAChBK,GAAUL,EAAO,EAAC,OAAK;AAAA;MAC5BM,GAAgBN,EAAK,EAAA,QAAW;AAAA;;;;;;;;;;;;AAGhC,MAAAO,IAAAC,GAAA,GAAAC,IAAAC,EAAAH,CAAA;;;UAIKI,IAAGC,EAAA,GAEDC,QAFFF,CAAG,GAAA,CAAA,SAEDE,GAAC,EAAA;QAADA,CAAC,KAFHF,CAAG,mBAPRL,cAUSA,CAAI,EAAA,IAAS,EAAA,CAAA,QAHjBK,CAAG;AAAA;;QAPRL,cAMOA,CAAQ,GAAE,IAAA,KAAAQ,EAAAC,CAAA;AAAA;;;;;UASjBC,IAAQC,EAAA,GAEFC,QAFNF,CAAQ,GAAA,CAAA,SAEFE,CAAA;;;;0BAjBNZ,cAmBOA,CAAU,EAAA,KAAQ,EAAA,CAAA;;;4BAnBzBA,iBAqBoB,SAAM,KAAQ;;;YArBlCA,qCAAAA,cAoBgBA,IAAY,SAAK,KAAS;;;QAHpCY,CAAA,KAFNF,CAAQ,QAARA,CAAQ;AAAA;;QAfRV,IAcAa,EAAA,MAAAC,EAAAd,CAAY,GAAA,SAAAc,EAAAd,CAAA,GAAA,SAAA,KAAA;;;;;;UAcZe,IAAQC,EAAA,GAEFC,QAFNF,CAAQ,GAAA,CAAA,SAEFE,CAAA;;;;0BA9BNjB,sBAgCsB,EAAA,CAAA;;;4BAhCtBA,cAkCSA,CAAO,EAAI,cAAc;;;YAlClCA,qCAAAA,cAiCgBA,IAAY,SAAK,KAAS;;;QAHpCiB,CAAA,KAFNF,CAAQ,QAARA,CAAQ;AAAA;;QA5BRf,IA2BAa,EAAA,MAAAC,EAAAd,CAAY,GAAA,SAAAc,EAAAd,CAAA,GAAA,SAAA,KAAA;;;;AAaZkB,EAAAA,EAAAC,GAAA,MAAArB,aAAAsB,MAAA;kBAGKC,sBAAAA,GAAG,EAAA;MAAHA,CAAG,wBACCD,CAAO,CAAA,CAAA;;;;;;;;;;;;;;;;AAzChBE,SAAAA,EAAArB,CAAA,GAAAsB,EAAAC,GAAAvB,CAAA;AAFQ;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as N, p as B, h as U, f as I, i as J, b as k, d as W, u as q, v as re, e as K, k as ae, r as L, o as A, n as se } from "./AssetItem-
|
|
2
|
-
import { t as G, m as E, w as $, z as T, x as y, E as n, r as H, l as D, p as ne, y as Q, C as oe, D as S, n as F, v as ce, o as R, V as X, J as le, L as ue, I as ie, Z as de, O as Y, Q as Z, M as ve, bA as fe } from "./index-
|
|
3
|
-
import { C as me } from "./ContentHeader-
|
|
4
|
-
import { B as j } from "./Button-
|
|
5
|
-
import { e as pe, i as ge } from "./each-
|
|
6
|
-
import { b as we } from "./input-
|
|
1
|
+
import { c as N, p as B, h as U, f as I, i as J, b as k, d as W, u as q, v as re, e as K, k as ae, r as L, o as A, n as se } from "./AssetItem-B0ofIyW5.js";
|
|
2
|
+
import { t as G, m as E, w as $, z as T, x as y, E as n, r as H, l as D, p as ne, y as Q, C as oe, D as S, n as F, v as ce, o as R, V as X, J as le, L as ue, I as ie, Z as de, O as Y, Q as Z, M as ve, bA as fe } from "./index-B7xlI3d8.js";
|
|
3
|
+
import { C as me } from "./ContentHeader-C3SULqmh.js";
|
|
4
|
+
import { B as j } from "./Button-C5AEb9bs.js";
|
|
5
|
+
import { e as pe, i as ge } from "./each-eR_yXHEA.js";
|
|
6
|
+
import { b as we } from "./input-Bgl67y8N.js";
|
|
7
7
|
var _e = I("<button> </button>"), he = I('<div class="crtw-text-xs crtw-text-gray-400 crtw-mt-1"> </div>'), Se = I('<input class="crtw-appearance-none focus:crtw-outline-0 crtw-w-full crtw-h-9 crtw-mt-4 crtw-px-5 crtw-text-base crtw-border crtw-border-gray-300 crtw-rounded focus:crtw-border-blue-800 hover:crtw-bg-gray-100" type="number" min="1" max="100"/> <!>', 1), xe = I('<div><div class="crtw-flex crtw-flex-col">Select amount <div class="crtw-inline-flex crtw-w-full" role="group"></div> <!></div></div>');
|
|
8
8
|
function ee(f, o) {
|
|
9
9
|
if (new.target) return N({ component: ee, ...f });
|
|
@@ -260,4 +260,4 @@ function ye(f, o) {
|
|
|
260
260
|
export {
|
|
261
261
|
ye as default
|
|
262
262
|
};
|
|
263
|
-
//# sourceMappingURL=Wallet-
|
|
263
|
+
//# sourceMappingURL=Wallet-Ba-n0eZO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wallet-
|
|
1
|
+
{"version":3,"file":"Wallet-Ba-n0eZO.js","sources":["../../ui/main/wallet/ButtonGroup.svelte","../../ui/main/wallet/Wallet.svelte","../src/app/pages/wallet/Wallet.svelte"],"sourcesContent":["<script lang=\"ts\">\n export let selected: string | undefined = undefined\n export let minStoredValueToPurchase: number = 0\n export let maxStoredValueToPurchase: number = 100\n\n let isInputShown = false\n let active = selected\n\n const selectItems = [\n { value: '10', name: '10' },\n { value: '25', name: '25' },\n { value: '50', name: '50' },\n { value: 'CUSTOM', name: 'Custom' },\n ]\n const handleChangeButton = (value: string) => {\n active = value\n if (value === 'CUSTOM') {\n isInputShown = true\n selected = ''\n return\n }\n isInputShown = false\n selected = value\n }\n const handleChangeInput = (e: Event) => {\n const target = e.target as HTMLSelectElement | HTMLInputElement\n target.value = target.value.replace(/[,.-]/g, '')\n if (+target.value > maxStoredValueToPurchase) {\n selected = maxStoredValueToPurchase.toString()\n return\n }\n selected = target.value\n }\n</script>\n\n<div>\n <div class=\"crtw-flex crtw-flex-col\">\n Select amount\n <div class=\"crtw-inline-flex crtw-w-full\" role=\"group\">\n {#each selectItems as item}\n <button\n on:click={() => handleChangeButton(item.value)}\n class=\"crtw-w-full crtw-h-[30px] crtw-text-sm crtw-border hover:crtw-bg-gray-100 hover:crtw-text-blue-800 first:crtw-rounded-l last:crtw-rounded-r\"\n class:crtw-border-blue-800={item.value === active}\n class:crtw-z-10={item.value === active}\n >\n {item.name}\n </button>\n {/each}\n </div>\n {#if isInputShown}\n <input\n class=\"crtw-appearance-none focus:crtw-outline-0 crtw-w-full crtw-h-9 crtw-mt-4 crtw-px-5 crtw-text-base crtw-border crtw-border-gray-300 crtw-rounded focus:crtw-border-blue-800 hover:crtw-bg-gray-100\"\n type=\"number\"\n min=\"1\"\n max=\"100\"\n bind:value={selected}\n on:input={handleChangeInput}\n />\n {#if minStoredValueToPurchase}\n <div class=\"crtw-text-xs crtw-text-gray-400 crtw-mt-1\">\n Minimum purchase amount is {minStoredValueToPurchase}\n </div>\n {/if}\n {/if}\n </div>\n</div>\n","<script lang=\"ts\">\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import ButtonGroup from \"./ButtonGroup.svelte\";\n\n export let selected: string;\n export let options: {\n title: string;\n description: string;\n onSendClick: () => void;\n sendValueButtonText: string;\n isSendValueDisabled: boolean;\n onPaymentClick: () => void;\n minStoredValueToPurchase?: number;\n maxStoredValueToPurchase?: number;\n };\n\n let { title, description, onSendClick, sendValueButtonText, onPaymentClick, minStoredValueToPurchase = 0, maxStoredValueToPurchase = 100 } =\n options;\n\n $: isSendValueDisabled = options.isSendValueDisabled;\n</script>\n\n<div class=\"crtw-w-full crtw-px-2.5\">\n <ContentHeader text={title} {description} />\n <ButtonGroup bind:selected {minStoredValueToPurchase} {maxStoredValueToPurchase}/>\n <div class=\"crtw-h-4\" />\n <Button\n text=\"Confirm purchase\"\n disabled={!selected || (!!minStoredValueToPurchase && +selected < minStoredValueToPurchase)}\n onClick={onPaymentClick}\n />\n <div class=\"crtw-m-3.5\" />\n <Button\n onClick={onSendClick}\n text={sendValueButtonText}\n disabled={isSendValueDisabled}\n />\n</div>\n","<script lang=\"ts\">\n import { get } from 'svelte/store'\n\n import {\n pageStore,\n fn,\n pageOptsStore,\n } from '@packages/stores'\n import { Pages } from '@packages/utils/enums'\n import { Wallet } from '@packages/ui'\n import { configStore, providerStore, contractsStore } from '@src/stores'\n\n const { getBalance: getEvmBalance } = get(fn)\n let balance: string = ''\n\n const getBalance = async () => {\n try {\n balance = await getEvmBalance()\n } catch {\n balance = '0'\n }\n }\n\n $: $configStore.chainId && $providerStore && getBalance()\n\n let selected: string = '10'\n\n const goToPayment = () => {\n pageOptsStore.set({\n title: `Purchase stored value`,\n payments: {\n credenzaStoredValue: {\n disabled: true,\n },\n },\n tokens: [\n {\n contractAddress: $contractsStore.erc20Cred.address,\n amount: +selected,\n },\n ],\n })\n pageStore.set(Pages.PAYMENT)\n }\n</script>\n\n<Wallet\n bind:selected\n options={{\n title: `buy stored value`,\n description: `Buy/Send stored value for purchases throughout this website.`,\n onSendClick: () => pageStore.set(Pages.SEND_TOKENS),\n sendValueButtonText: `Send stored value`,\n isSendValueDisabled: !balance,\n onPaymentClick: goToPayment,\n }}\n/>\n"],"names":["selected","minStoredValueToPurchase","maxStoredValueToPurchase","isInputShown","active","handleChangeButton","value","$.set","handleChangeInput","target","div","root","div_1","div_2","selectItems","$.index","$$anchor","item","button","root_1","text","$.child","$.reset","classes","$.set_class","$.get","$.untrack","$.event","$.append","input","$.first_child","fragment","$.remove_input_defaults","node_1","$.sibling","div_3","root_3","$$render","consequent","$.bind_value","consequent_1","$.prop","$$props","options","title","description","onSendClick","sendValueButtonText","onPaymentClick","isSendValueDisabled","ContentHeader","node","__awaiter","thisArg","_arguments","P","generator","getEvmBalance","get","fn","balance","getBalance","goToPayment","pageOptsStore","$contractsStore","pageStore","Pages","$configStore","$providerStore","Wallet","$$value"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { J as s, a1 as r, bs as a, a2 as n } from "./index-
|
|
1
|
+
import { J as s, a1 as r, bs as a, a2 as n } from "./index-B7xlI3d8.js";
|
|
2
2
|
const d = (e) => {
|
|
3
3
|
const i = a.evm.isEvmProvider();
|
|
4
4
|
return {
|
|
@@ -22,4 +22,4 @@ const d = (e) => {
|
|
|
22
22
|
export {
|
|
23
23
|
c as g
|
|
24
24
|
};
|
|
25
|
-
//# sourceMappingURL=authMethods.helper-
|
|
25
|
+
//# sourceMappingURL=authMethods.helper-CJVll3mq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authMethods.helper-
|
|
1
|
+
{"version":3,"file":"authMethods.helper-CJVll3mq.js","sources":["../src/app/pages/login/authMethods.helper.ts"],"sourcesContent":["import { AUTH_PROVIDERS } from '@packages/utils/enums'\nimport { sdk } from '@lib/sdk/sdk'\nimport type { TAvailableLoginMethod } from '@packages/utils/types'\nimport { clientPublicStore } from '@packages/stores'\nimport { get } from 'svelte/store'\n\nexport const getAuthMethodsConfigs = (availableMethods: string[]) => {\n const isEvmCustomProvider = sdk.evm.isEvmProvider()\n return {\n oauth: {\n provider: AUTH_PROVIDERS.OAUTH,\n text: 'credenza auth',\n condition: availableMethods.some((method) => method !== 'evm'),\n },\n evm: {\n provider: AUTH_PROVIDERS.EVM,\n text: 'EVM',\n condition: availableMethods.includes('evm') && isEvmCustomProvider,\n },\n }\n}\n\nexport const getAvailableLoginMethods = (): TAvailableLoginMethod[] => {\n const methodConfigs = getAuthMethodsConfigs(get(clientPublicStore).available_login_types)\n const availableLoginMethods = Object.entries(methodConfigs)\n .filter(([_, config]) => (config.condition !== undefined ? config.condition : true))\n .map(([_, config]) => ({\n ...config,\n }))\n\n return availableLoginMethods\n}\n"],"names":["getAuthMethodsConfigs","availableMethods","isEvmCustomProvider","sdk","AUTH_PROVIDERS","method","getAvailableLoginMethods","methodConfigs","get","clientPublicStore","_","config"],"mappings":";AAMO,MAAMA,IAAwB,CAACC,MAA+B;AACnE,QAAMC,IAAsBC,EAAI,IAAI,cAAA;AACpC,SAAO;AAAA,IACL,OAAO;AAAA,MACL,UAAUC,EAAe;AAAA,MACzB,MAAM;AAAA,MACN,WAAWH,EAAiB,KAAK,CAACI,MAAWA,MAAW,KAAK;AAAA,IAAA;AAAA,IAE/D,KAAK;AAAA,MACH,UAAUD,EAAe;AAAA,MACzB,MAAM;AAAA,MACN,WAAWH,EAAiB,SAAS,KAAK,KAAKC;AAAA,IAAA;AAAA,EACjD;AAEJ,GAEaI,IAA2B,MAA+B;AACrE,QAAMC,IAAgBP,EAAsBQ,EAAIC,CAAiB,EAAE,qBAAqB;AAOxF,SAN8B,OAAO,QAAQF,CAAa,EACvD,OAAO,CAAC,CAACG,GAAGC,CAAM,MAAOA,EAAO,cAAc,SAAYA,EAAO,YAAY,EAAK,EAClF,IAAI,CAAC,CAACD,GAAGC,CAAM,OAAO;AAAA,IACrB,GAAGA;AAAA,EAAA,EACH;AAGN;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as D, h as R, ay as W, ab as O, a as Z, b as $, E as B, V as j, aS as ee, H as re, d as Y, e as F, a6 as k, a8 as ne, aN as ae, f as K, aP as fe, a9 as L, c0 as ie, aR as le, c1 as U, aL as q, aV as ue, g as P, m as se, c2 as oe, c3 as te, c4 as ve, c5 as m, aQ as X, aa as y, c6 as z, q as de, aH as ce, c7 as pe, c8 as _e, aK as he, ao as ge } from "./index-
|
|
1
|
+
import { s as D, h as R, ay as W, ab as O, a as Z, b as $, E as B, V as j, aS as ee, H as re, d as Y, e as F, a6 as k, a8 as ne, aN as ae, f as K, aP as fe, a9 as L, c0 as ie, aR as le, c1 as U, aL as q, aV as ue, g as P, m as se, c2 as oe, c3 as te, c4 as ve, c5 as m, aQ as X, aa as y, c6 as z, q as de, aH as ce, c7 as pe, c8 as _e, aK as he, ao as ge } from "./index-B7xlI3d8.js";
|
|
2
2
|
function Ce(e, i) {
|
|
3
3
|
return i;
|
|
4
4
|
}
|
|
@@ -213,4 +213,4 @@ export {
|
|
|
213
213
|
Ne as e,
|
|
214
214
|
Ce as i
|
|
215
215
|
};
|
|
216
|
-
//# sourceMappingURL=each-
|
|
216
|
+
//# sourceMappingURL=each-eR_yXHEA.js.map
|