@seams/wallet 0.17.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/index.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +1 -1
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +10 -4
- package/dist/esm/SeamsWeb/walletIframe/coordinator.js +23 -1
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +5 -4
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +121 -246
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/icons.js +37 -1
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +4 -2
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.js +117 -0
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.js +60 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +2 -0
- package/dist/esm/core/browser/walletIframe/events.js +6 -0
- package/dist/esm/core/config/configBuilder.js +2 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/appearance.js +27 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/export-private-key-reveal.js +155 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/export-viewer-host.js +209 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +7 -4
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.js +10 -6
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +9 -6
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +9 -6
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +7 -4
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +4 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +4 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +5 -4
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.js +319 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +10 -7
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.js +9 -5
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +28 -22
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +2 -1
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +51 -26
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +42 -27
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +25 -18
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +8 -5
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/WalletLocale.js +24 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +6 -4
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountExportPrivateKeySurface.js +92 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +4 -2
- package/dist/esm/core/signingEngine/uiConfirm/ui/surface-measurement-binding.js +12 -0
- package/dist/esm/core/ui/locale.js +10 -0
- package/dist/esm/core/ui/messages.js +698 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +7 -3
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +7 -4
- package/dist/esm/react/components/AccountMenuButton/AccountMenuDeviceDetails.js +4 -3
- package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +5 -2
- package/dist/esm/react/components/AccountMenuButton/AccountMenuMockScreens.js +31 -27
- package/dist/esm/react/components/AccountMenuButton/AccountMenuScreen.js +6 -3
- package/dist/esm/react/components/AccountMenuButton/AccountsSection.js +6 -3
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -4
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +33 -27
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsView.js +5 -2
- package/dist/esm/react/components/AccountMenuButton/ExportKeysScreen.js +5 -3
- package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.css +20 -0
- package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +4 -3
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +9 -3
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +50 -41
- package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +2 -1
- package/dist/esm/react/components/AccountMenuButton/MenuItem.js +3 -2
- package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +8 -4
- package/dist/esm/react/components/AccountMenuButton/RecoveryCodeAcknowledgement.js +3 -2
- package/dist/esm/react/components/AccountMenuButton/RecoveryCodeActions.js +4 -3
- package/dist/esm/react/components/AccountMenuButton/SegmentedControl.js +2 -1
- package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +11 -10
- package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +1 -0
- package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +8 -4
- package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +22 -15
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +20 -16
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +15 -0
- package/dist/esm/react/components/AccountMenuButton/index.js +18 -15
- package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +30 -26
- package/dist/esm/react/components/QRCodeScanner.js +28 -23
- package/dist/esm/react/components/ShowQRCode.js +39 -31
- package/dist/esm/react/components/theme/ThemeProvider.js +3 -0
- package/dist/esm/react/context/WalletLocale.js +15 -0
- package/dist/esm/react/context/index.js +8 -3
- package/dist/esm/react/styles/styles.css +36 -0
- package/dist/esm/sdk/ConfirmationDrawer-DCw0m-Iv.js +1 -0
- package/dist/{public/sdk/NonceCoordinator-DuDKN-B8.js → esm/sdk/NonceCoordinator-Dq-FZpBz.js} +1 -1
- package/dist/{public/sdk/accountLifecycle-D61FIpFS.js → esm/sdk/accountLifecycle-fLNUdjct.js} +1 -1
- package/dist/{public/sdk/activeWalletSession-Ba6X4CUN.js → esm/sdk/activeWalletSession-BpbnpU9s.js} +1 -1
- package/dist/esm/sdk/adapters-BNmcyf9K.js +2 -0
- package/dist/esm/sdk/appearance-token-vars-DxBm_cKA.js +2 -0
- package/dist/esm/sdk/{canonicalPrimitives-BOzRXzfv.js → canonicalPrimitives-BMP5yILS.js} +1 -1
- package/dist/esm/sdk/{challengeDelivery-FD9GHK1T.js → challengeDelivery-CG2J5Qxs.js} +1 -1
- package/dist/{public/sdk/clientSessionPersistenceState-BHRUSWMt.js → esm/sdk/clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
- package/dist/esm/sdk/{commitQueue-DOIaR0Hr.js → commitQueue-BW7BpYyA.js} +1 -1
- package/dist/esm/sdk/configBuilder-BMNShuOu.js +1 -0
- package/dist/esm/sdk/{configHelpers-BXdl5Mxs.js → configHelpers-D50F_Txb.js} +1 -1
- package/dist/esm/sdk/{digestEncoding-CbEFYvlJ.js → digestEncoding-aC4dSf_x.js} +1 -1
- package/dist/esm/sdk/{display-CY_aJEn6.js → display-WtILOPQR.js} +1 -1
- package/dist/{public/sdk/ecdsaCapabilityManifest-DzA996y9.js → esm/sdk/ecdsaCapabilityManifest-DRc423SV.js} +1 -1
- package/dist/{public/sdk/ecdsaDerivationClientWasm-DQlajPpE.js → esm/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js} +1 -1
- package/dist/{public/sdk/ecdsaDerivationExport-DyugdheE.js → esm/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
- package/dist/esm/sdk/{ecdsaWalletRecords-C_v74n5X.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
- package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js → esm/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
- package/dist/esm/sdk/{export-viewer-host-DsRaS0UH.js → export-viewer-host-DsdzagKK.js} +1 -1
- package/dist/{public/sdk/exportKeypairOperation-SJPysnE1.js → esm/sdk/exportKeypairOperation-BwW_E4Lt.js} +1 -1
- package/dist/esm/sdk/{helpers-D3CUEdHI.js → helpers-DS0bksx9.js} +1 -1
- package/dist/esm/sdk/{host-GPb_mSAQ.js → host-DMR4KDy9.js} +1 -1
- package/dist/esm/sdk/{intentDigest-CGLrsMgj.js → intentDigest-Rh5Mg8X7.js} +1 -1
- package/dist/esm/sdk/{lanes-DJKIHJBm.js → lanes-BzU7cv2T.js} +1 -1
- package/dist/esm/sdk/localOnly-DO191vDh.js +1 -0
- package/dist/esm/sdk/mountExportPrivateKeySurface-DQzFzhNu.js +1 -0
- package/dist/esm/sdk/mountRecoveryCodeBackupSurface-B1D0ovqx.js +2 -0
- package/dist/{public/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js → esm/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js} +1 -1
- package/dist/{public/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js → esm/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
- package/dist/esm/sdk/{nonceLaneKeys-D18nlLjh.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
- package/dist/esm/sdk/{operationFingerprint-Boa9DQ51.js → operationFingerprint-C4VX-0NI.js} +1 -1
- package/dist/{public/sdk/passkey-custody-CBSal3E9.js → esm/sdk/passkey-custody-Ba-NQ_4C.js} +1 -1
- package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-CvsrXbzn.js → pendingWalletRecoveryCodeBackup-DOeIn_Qj.js} +1 -1
- package/dist/{public/sdk/presignaturePool-CQNt13kE.js → esm/sdk/presignaturePool-BHoxnbOA.js} +1 -1
- package/dist/esm/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
- package/dist/esm/sdk/{primitives-cC0a9GRC.js → primitives-CTmDwMNc.js} +1 -1
- package/dist/esm/sdk/{recovery-entrypoint-nj7Zo3CR.js → recovery-entrypoint-DWghFZrZ.js} +1 -1
- package/dist/esm/sdk/{registration-49OGU_GZ.js → registration-DknFwoqn.js} +1 -1
- package/dist/esm/sdk/{registration-C7tywPXF.js → registration-sQndIWRF.js} +1 -1
- package/dist/esm/sdk/{registrationAccounts-9GFI0Ger.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
- package/dist/esm/sdk/{registrationIds-Br-zI4_5.js → registrationIds-B1OpqRAt.js} +1 -1
- package/dist/{public/sdk/registrationIntent-PqmcTEE3.js → esm/sdk/registrationIntent-D4YDjf2U.js} +1 -1
- package/dist/esm/sdk/{requireStepUpAuth-C4PGTly-.js → requireStepUpAuth-CnSCFSOZ.js} +1 -1
- package/dist/{public/sdk/routerAbNormalSigning-xxATTIh5.js → esm/sdk/routerAbNormalSigning-BV1t27aB.js} +1 -1
- package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/esm/sdk/runtime-auth-BxG-J-BB.js +1 -0
- package/dist/esm/sdk/runtime-device-link-Dn_5hPCq.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-lTFTb9Rh.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-CPqTCH8Q.js +1 -0
- package/dist/esm/sdk/runtime-export-Brz53_oi.js +1 -0
- package/dist/esm/sdk/runtime-near-Da_xFUXx.js +1 -0
- package/dist/esm/sdk/runtime-preferences-riUZGaTs.js +1 -0
- package/dist/esm/sdk/runtime-recovery-CTj4nDAM.js +1 -0
- package/dist/esm/sdk/{runtime-recovery-codes-LR4mg7-k.js → runtime-recovery-codes-D8T9LQ7-.js} +1 -1
- package/dist/esm/sdk/{secp256k1-BldUPNQI.js → secp256k1-wOOHtPcK.js} +1 -1
- package/dist/esm/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
- package/dist/esm/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
- package/dist/esm/sdk/shared-hx7KVyeq.js +6 -0
- package/dist/esm/sdk/{signEvmFamily-C_RvEnDB.js → signEvmFamily-DT34Vtpa.js} +1 -1
- package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js → signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js} +1 -1
- package/dist/esm/sdk/{signEvmWithUiConfirm-CxXzcvj2.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
- package/dist/{public/sdk/signNear-Dno7NsP_.js → esm/sdk/signNear-B000QxBd.js} +1 -1
- package/dist/{public/sdk/signingFlow-DtugI_2z.js → esm/sdk/signingFlow-gl85GOW4.js} +1 -1
- package/dist/esm/sdk/{signingQueue-C1Pb07gm.js → signingQueue-gW7wmOuL.js} +1 -1
- package/dist/esm/sdk/{singletons-DxIyVhNb.js → singletons-CAsc9LvA.js} +1 -1
- package/dist/{public/sdk/thresholdEcdsa-murTq-xz.js → esm/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
- package/dist/{public/sdk/transactionState-XbZm9Zon.js → esm/sdk/transactionState-lB2qpkOm.js} +1 -1
- package/dist/esm/sdk/tx-confirm-ui.js +1799 -432
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/esm/sdk/{wallet-recovery-CVUalZ3p.js → wallet-recovery-DFaS3geI.js} +1 -1
- package/dist/esm/sdk/wallet-ui.css +1 -1
- package/dist/{public/sdk/walletAuthMethodRecord-Bv68Vq-g.js → esm/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
- package/dist/{public/sdk/walletAuthority-v5wvv3IB.js → esm/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
- package/dist/{public/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js → esm/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js} +1 -1
- package/dist/esm/sdk/{walletDbName-DRzPv5Ir.js → walletDbName-BxWApBQF.js} +1 -1
- package/dist/{public/sdk/walletOwnershipGeneration-pMmmJ6XA.js → esm/sdk/walletOwnershipGeneration-DSGfjuV2.js} +1 -1
- package/dist/esm/sdk/{walletRecoveryCommit-DvC6WlGz.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
- package/dist/esm/sdk/{walletRecoveryRotate-Dd3prJpr.js → walletRecoveryRotate-zvQThn37.js} +1 -1
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
- package/dist/{public/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js → esm/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js} +1 -1
- package/dist/{public/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js → esm/sdk/walletSessionAuthorizationStore-DnUMtkev.js} +1 -1
- package/dist/esm/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
- package/dist/{public/sdk/webauthnP256-XgYu-Y6E.js → esm/sdk/webauthnP256-_ajaNl90.js} +1 -1
- package/dist/esm/sdk/{webauthnPromptCoordinator-D5sP8Q7e.js → webauthnPromptCoordinator-9bVeHcTZ.js} +1 -1
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/ConfirmationDrawer-DCw0m-Iv.js +1 -0
- package/dist/{esm/sdk/NonceCoordinator-DuDKN-B8.js → public/sdk/NonceCoordinator-Dq-FZpBz.js} +1 -1
- package/dist/{esm/sdk/accountLifecycle-D61FIpFS.js → public/sdk/accountLifecycle-fLNUdjct.js} +1 -1
- package/dist/{esm/sdk/activeWalletSession-Ba6X4CUN.js → public/sdk/activeWalletSession-BpbnpU9s.js} +1 -1
- package/dist/public/sdk/adapters-BNmcyf9K.js +2 -0
- package/dist/public/sdk/appearance-token-vars-DxBm_cKA.js +2 -0
- package/dist/public/sdk/{canonicalPrimitives-BOzRXzfv.js → canonicalPrimitives-BMP5yILS.js} +1 -1
- package/dist/public/sdk/{challengeDelivery-FD9GHK1T.js → challengeDelivery-CG2J5Qxs.js} +1 -1
- package/dist/{esm/sdk/clientSessionPersistenceState-BHRUSWMt.js → public/sdk/clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
- package/dist/public/sdk/{commitQueue-DOIaR0Hr.js → commitQueue-BW7BpYyA.js} +1 -1
- package/dist/public/sdk/configBuilder-BMNShuOu.js +1 -0
- package/dist/public/sdk/{configHelpers-BXdl5Mxs.js → configHelpers-D50F_Txb.js} +1 -1
- package/dist/public/sdk/{digestEncoding-CbEFYvlJ.js → digestEncoding-aC4dSf_x.js} +1 -1
- package/dist/public/sdk/{display-CY_aJEn6.js → display-WtILOPQR.js} +1 -1
- package/dist/{esm/sdk/ecdsaCapabilityManifest-DzA996y9.js → public/sdk/ecdsaCapabilityManifest-DRc423SV.js} +1 -1
- package/dist/{esm/sdk/ecdsaDerivationClientWasm-DQlajPpE.js → public/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js} +1 -1
- package/dist/{esm/sdk/ecdsaDerivationExport-DyugdheE.js → public/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
- package/dist/public/sdk/{ecdsaWalletRecords-C_v74n5X.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
- package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js → public/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
- package/dist/public/sdk/{export-viewer-host-DsRaS0UH.js → export-viewer-host-DsdzagKK.js} +1 -1
- package/dist/{esm/sdk/exportKeypairOperation-SJPysnE1.js → public/sdk/exportKeypairOperation-BwW_E4Lt.js} +1 -1
- package/dist/public/sdk/{helpers-D3CUEdHI.js → helpers-DS0bksx9.js} +1 -1
- package/dist/public/sdk/{host-GPb_mSAQ.js → host-DMR4KDy9.js} +1 -1
- package/dist/public/sdk/{intentDigest-CGLrsMgj.js → intentDigest-Rh5Mg8X7.js} +1 -1
- package/dist/public/sdk/{lanes-DJKIHJBm.js → lanes-BzU7cv2T.js} +1 -1
- package/dist/public/sdk/localOnly-DO191vDh.js +1 -0
- package/dist/public/sdk/mountExportPrivateKeySurface-DQzFzhNu.js +1 -0
- package/dist/public/sdk/mountRecoveryCodeBackupSurface-B1D0ovqx.js +2 -0
- package/dist/{esm/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js → public/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js} +1 -1
- package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js → public/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
- package/dist/public/sdk/{nonceLaneKeys-D18nlLjh.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
- package/dist/public/sdk/{operationFingerprint-Boa9DQ51.js → operationFingerprint-C4VX-0NI.js} +1 -1
- package/dist/{esm/sdk/passkey-custody-CBSal3E9.js → public/sdk/passkey-custody-Ba-NQ_4C.js} +1 -1
- package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-CvsrXbzn.js → pendingWalletRecoveryCodeBackup-DOeIn_Qj.js} +1 -1
- package/dist/{esm/sdk/presignaturePool-CQNt13kE.js → public/sdk/presignaturePool-BHoxnbOA.js} +1 -1
- package/dist/public/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
- package/dist/public/sdk/{primitives-cC0a9GRC.js → primitives-CTmDwMNc.js} +1 -1
- package/dist/public/sdk/{recovery-entrypoint-nj7Zo3CR.js → recovery-entrypoint-DWghFZrZ.js} +1 -1
- package/dist/public/sdk/{registration-49OGU_GZ.js → registration-DknFwoqn.js} +1 -1
- package/dist/public/sdk/{registration-C7tywPXF.js → registration-sQndIWRF.js} +1 -1
- package/dist/public/sdk/{registrationAccounts-9GFI0Ger.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
- package/dist/public/sdk/{registrationIds-Br-zI4_5.js → registrationIds-B1OpqRAt.js} +1 -1
- package/dist/{esm/sdk/registrationIntent-PqmcTEE3.js → public/sdk/registrationIntent-D4YDjf2U.js} +1 -1
- package/dist/public/sdk/{requireStepUpAuth-C4PGTly-.js → requireStepUpAuth-CnSCFSOZ.js} +1 -1
- package/dist/{esm/sdk/routerAbNormalSigning-xxATTIh5.js → public/sdk/routerAbNormalSigning-BV1t27aB.js} +1 -1
- package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/runtime-auth-BxG-J-BB.js +1 -0
- package/dist/public/sdk/runtime-device-link-Dn_5hPCq.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-lTFTb9Rh.js +1 -0
- package/dist/public/sdk/runtime-email-otp-CPqTCH8Q.js +1 -0
- package/dist/public/sdk/runtime-export-Brz53_oi.js +1 -0
- package/dist/public/sdk/runtime-near-Da_xFUXx.js +1 -0
- package/dist/public/sdk/runtime-preferences-riUZGaTs.js +1 -0
- package/dist/public/sdk/runtime-recovery-CTj4nDAM.js +1 -0
- package/dist/public/sdk/{runtime-recovery-codes-LR4mg7-k.js → runtime-recovery-codes-D8T9LQ7-.js} +1 -1
- package/dist/public/sdk/{secp256k1-BldUPNQI.js → secp256k1-wOOHtPcK.js} +1 -1
- package/dist/public/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
- package/dist/public/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
- package/dist/public/sdk/shared-hx7KVyeq.js +6 -0
- package/dist/public/sdk/{signEvmFamily-C_RvEnDB.js → signEvmFamily-DT34Vtpa.js} +1 -1
- package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js → signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js} +1 -1
- package/dist/public/sdk/{signEvmWithUiConfirm-CxXzcvj2.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
- package/dist/{esm/sdk/signNear-Dno7NsP_.js → public/sdk/signNear-B000QxBd.js} +1 -1
- package/dist/{esm/sdk/signingFlow-DtugI_2z.js → public/sdk/signingFlow-gl85GOW4.js} +1 -1
- package/dist/public/sdk/{signingQueue-C1Pb07gm.js → signingQueue-gW7wmOuL.js} +1 -1
- package/dist/public/sdk/{singletons-DxIyVhNb.js → singletons-CAsc9LvA.js} +1 -1
- package/dist/{esm/sdk/thresholdEcdsa-murTq-xz.js → public/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
- package/dist/{esm/sdk/transactionState-XbZm9Zon.js → public/sdk/transactionState-lB2qpkOm.js} +1 -1
- package/dist/public/sdk/tx-confirm-ui.js +1799 -432
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/public/sdk/{wallet-recovery-CVUalZ3p.js → wallet-recovery-DFaS3geI.js} +1 -1
- package/dist/public/sdk/wallet-ui.css +1 -1
- package/dist/{esm/sdk/walletAuthMethodRecord-Bv68Vq-g.js → public/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
- package/dist/{esm/sdk/walletAuthority-v5wvv3IB.js → public/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
- package/dist/{esm/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js → public/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js} +1 -1
- package/dist/public/sdk/{walletDbName-DRzPv5Ir.js → walletDbName-BxWApBQF.js} +1 -1
- package/dist/{esm/sdk/walletOwnershipGeneration-pMmmJ6XA.js → public/sdk/walletOwnershipGeneration-DSGfjuV2.js} +1 -1
- package/dist/public/sdk/{walletRecoveryCommit-DvC6WlGz.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
- package/dist/public/sdk/{walletRecoveryRotate-Dd3prJpr.js → walletRecoveryRotate-zvQThn37.js} +1 -1
- package/dist/public/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
- package/dist/{esm/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js → public/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js} +1 -1
- package/dist/{esm/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js → public/sdk/walletSessionAuthorizationStore-DnUMtkev.js} +1 -1
- package/dist/public/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
- package/dist/{esm/sdk/webauthnP256-XgYu-Y6E.js → public/sdk/webauthnP256-_ajaNl90.js} +1 -1
- package/dist/public/sdk/{webauthnPromptCoordinator-D5sP8Q7e.js → webauthnPromptCoordinator-9bVeHcTZ.js} +1 -1
- package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/public/wallet-assets.manifest.json +192 -192
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +20 -3
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +3 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.d.ts +0 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +5 -6
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/icons.d.ts +2 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.d.ts +35 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.d.ts +17 -0
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +3 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionTree.d.ts +0 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/WalletLocale.d.ts +18 -0
- package/dist/types/wallet/src/core/types/seams.d.ts +3 -0
- package/dist/types/wallet/src/core/ui/locale.d.ts +5 -0
- package/dist/types/wallet/src/core/ui/messages.d.ts +8 -0
- package/dist/types/wallet/src/index.d.ts +3 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +1 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +3 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +4 -1
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.d.ts +2 -1
- package/dist/types/wallet/src/react/context/WalletLocale.d.ts +16 -0
- package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/package.json +1 -1
- package/dist/esm/sdk/ConfirmationDrawer-CXVNmfTy.js +0 -1
- package/dist/esm/sdk/adapters-CTlDBRJy.js +0 -2
- package/dist/esm/sdk/configBuilder-BMawmNpz.js +0 -1
- package/dist/esm/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
- package/dist/esm/sdk/localOnly-CPmpw381.js +0 -1
- package/dist/esm/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +0 -1
- package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +0 -2
- package/dist/esm/sdk/runtime-auth-CpjGW90U.js +0 -1
- package/dist/esm/sdk/runtime-device-link-CKgfGi7D.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-5VV9xSEh.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-D1hYZNn6.js +0 -1
- package/dist/esm/sdk/runtime-export-B92wQD25.js +0 -1
- package/dist/esm/sdk/runtime-near-CUuKg38M.js +0 -1
- package/dist/esm/sdk/runtime-preferences-EdL3G_MO.js +0 -1
- package/dist/esm/sdk/runtime-recovery-uyw8sywI.js +0 -1
- package/dist/esm/sdk/sessionObservationRevision-DmmNV25w.js +0 -1
- package/dist/esm/sdk/shared-ha31XIdc.js +0 -6
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +0 -1
- package/dist/esm/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
- package/dist/public/sdk/ConfirmationDrawer-CXVNmfTy.js +0 -1
- package/dist/public/sdk/adapters-CTlDBRJy.js +0 -2
- package/dist/public/sdk/configBuilder-BMawmNpz.js +0 -1
- package/dist/public/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
- package/dist/public/sdk/localOnly-CPmpw381.js +0 -1
- package/dist/public/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +0 -1
- package/dist/public/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +0 -2
- package/dist/public/sdk/runtime-auth-CpjGW90U.js +0 -1
- package/dist/public/sdk/runtime-device-link-CKgfGi7D.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-5VV9xSEh.js +0 -1
- package/dist/public/sdk/runtime-email-otp-D1hYZNn6.js +0 -1
- package/dist/public/sdk/runtime-export-B92wQD25.js +0 -1
- package/dist/public/sdk/runtime-near-CUuKg38M.js +0 -1
- package/dist/public/sdk/runtime-preferences-EdL3G_MO.js +0 -1
- package/dist/public/sdk/runtime-recovery-uyw8sywI.js +0 -1
- package/dist/public/sdk/sessionObservationRevision-DmmNV25w.js +0 -1
- package/dist/public/sdk/shared-ha31XIdc.js +0 -6
- package/dist/public/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +0 -1
- package/dist/public/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
- /package/dist/esm/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
- /package/dist/esm/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
- /package/dist/esm/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
- /package/dist/public/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
- /package/dist/public/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
- /package/dist/public/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
|
@@ -1,174 +1,22 @@
|
|
|
1
1
|
import { isLinkedDeviceTargetEmailAddressV1 } from "../../../../../core/types/linkDevice.js";
|
|
2
|
-
import { EMAIL_OTP_RECOVERY_KEY_ALPHABET } from "../../../../../shared-ts/src/utils/emailOtpRecoveryKey.js";
|
|
3
2
|
import "../../../../../shared-ts/src/wallet-recovery/recoveryCodes.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { walletDisplayText, walletText } from "../../../../../core/ui/messages.js";
|
|
4
|
+
import { WalletLocaleContext, WalletText } from "../../../../../core/signingEngine/uiConfirm/ui/preact/WalletLocale.js";
|
|
5
|
+
import { recoveryInputCharacters, rejectedRecoveryCharacters, renderRecoveryCodeGroups } from "./recovery-code-input.js";
|
|
6
|
+
import { AUTH_MENU_WAITING_PROMPTS, isAuthMenuActionReady, isAuthMenuGoogleActionReady, isAuthMenuLoadingStatus, isAuthMenuReady } from "../../auth-menu/domain.js";
|
|
7
|
+
import { AUTH_MENU_ACCOUNT_LIST_ID, AUTH_MENU_TITLE_ID, accountGroups, accountSecondaryText, authViewKey, menuNotice, modeLabel, modeSwitchCopy, otpCodeDigits, passkeyButtonLabel, recoveryAnnouncement, recoveryBackLabel, recoveryCaretAtPoint, recoveryNavigationLocked, renderDemoEmailCode, renderOtpCodeDigit, savedAccountsTriggerLabel, selectedAccountPrimaryText, selectedLoginAccount } from "./presentation.js";
|
|
6
8
|
import { PadlockIcon } from "../../../../../core/signingEngine/uiConfirm/ui/preact/PadlockIcon.js";
|
|
7
9
|
import { blinkMenuItem } from "../../../../../utils/menuItemBlink.js";
|
|
8
|
-
import { accountDropdownIcon, backIcon, chevronIcon, fingerprintIcon, googleIcon, linkDeviceIcon, linkFailedIcon, mailIcon, passkeyRingIcon, recoveryIcon, rerollIcon } from "./icons.js";
|
|
10
|
+
import { accountDropdownIcon, backIcon, chevronIcon, fingerprintIcon, googleIcon, linkDeviceIcon, linkFailedIcon, mailIcon, passkeyRingIcon, passkeySuccessIcon, recoveryIcon, rerollIcon } from "./icons.js";
|
|
9
11
|
import { AuthMenuFooter } from "./AuthMenuFooter.js";
|
|
10
12
|
import { linkDeviceDotRing, linkDeviceEmailOtpPresentation } from "./linkDeviceBadge.js";
|
|
11
13
|
import { Component, Fragment } from "preact";
|
|
12
14
|
import { Fragment as Fragment$1, jsx, jsxs } from "preact/jsx-runtime";
|
|
13
15
|
//#region src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.tsx
|
|
14
16
|
/** @jsxImportSource preact */
|
|
15
|
-
function renderDemoEmailCode(delivery) {
|
|
16
|
-
const code = demoEmailOtpCodeFromDelivery(delivery);
|
|
17
|
-
if (code === null) return null;
|
|
18
|
-
return /* @__PURE__ */ jsxs("p", {
|
|
19
|
-
class: "seams-otp-description",
|
|
20
|
-
children: ["Demo email code: ", /* @__PURE__ */ jsx("code", { children: code })]
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
const AUTH_MENU_TITLE_ID = "seams-auth-menu-title";
|
|
24
|
-
const AUTH_MENU_ACCOUNT_LIST_ID = "seams-auth-menu-account-list";
|
|
25
|
-
function otpCodeDigits(code, length = 6) {
|
|
26
|
-
return code.padEnd(length, " ").slice(0, length).split("");
|
|
27
|
-
}
|
|
28
|
-
const RECOVERY_CODE_CHARACTERS = new Set(EMAIL_OTP_RECOVERY_KEY_ALPHABET);
|
|
29
|
-
function recoveryInputCharacters(code) {
|
|
30
|
-
let characters = "";
|
|
31
|
-
for (const character of code.toUpperCase()) {
|
|
32
|
-
const read = character === "O" ? "0" : character === "I" || character === "L" ? "1" : character;
|
|
33
|
-
if (RECOVERY_CODE_CHARACTERS.has(read)) characters += read;
|
|
34
|
-
}
|
|
35
|
-
return characters;
|
|
36
|
-
}
|
|
37
|
-
const RECOVERY_CODE_SEPARATOR = /[\s\-\u2010-\u2015\u2212]/;
|
|
38
|
-
/** Characters the input dropped because no recovery code contains them, such as U. */
|
|
39
|
-
function rejectedRecoveryCharacters(input) {
|
|
40
|
-
const rejected = /* @__PURE__ */ new Set();
|
|
41
|
-
for (const character of input.toUpperCase()) {
|
|
42
|
-
if (RECOVERY_CODE_SEPARATOR.test(character)) continue;
|
|
43
|
-
if (recoveryInputCharacters(character)) continue;
|
|
44
|
-
rejected.add(character);
|
|
45
|
-
}
|
|
46
|
-
return Array.from(rejected).slice(0, 3);
|
|
47
|
-
}
|
|
48
|
-
function renderRecoveryCodeGroups(code, selection, arrival) {
|
|
49
|
-
const caret = selection && selection.start === selection.end ? selection.start : null;
|
|
50
|
-
const lastIndex = 31;
|
|
51
|
-
const focusIndex = selection === null ? null : Math.min(selection.start, lastIndex);
|
|
52
|
-
const groups = [];
|
|
53
|
-
for (let start = 0; start < 32; start += 4) {
|
|
54
|
-
const end = start + 4;
|
|
55
|
-
const slots = [];
|
|
56
|
-
for (let index = start; index < end; index += 1) {
|
|
57
|
-
const character = code[index] ?? "";
|
|
58
|
-
const classes = ["seams-otp-slot"];
|
|
59
|
-
if (character) classes.push("is-filled");
|
|
60
|
-
if (index === caret) classes.push("is-caret");
|
|
61
|
-
if (caret === 32 && index === lastIndex) classes.push("is-caret-after");
|
|
62
|
-
if (selection && index >= selection.start && index < selection.end) classes.push("is-selected");
|
|
63
|
-
if (arrival && index >= arrival.start && index < arrival.end) classes.push("is-new");
|
|
64
|
-
slots.push(/* @__PURE__ */ jsx("span", {
|
|
65
|
-
class: classes.join(" "),
|
|
66
|
-
"data-recovery-slot": index,
|
|
67
|
-
children: character
|
|
68
|
-
}, index));
|
|
69
|
-
}
|
|
70
|
-
const groupClasses = ["seams-recovery-code-group"];
|
|
71
|
-
if (focusIndex !== null && focusIndex >= start && focusIndex < end) groupClasses.push("is-active");
|
|
72
|
-
if (code.length >= end) groupClasses.push("is-complete");
|
|
73
|
-
groups.push(/* @__PURE__ */ jsx("div", {
|
|
74
|
-
class: groupClasses.join(" "),
|
|
75
|
-
children: slots
|
|
76
|
-
}, start));
|
|
77
|
-
}
|
|
78
|
-
return groups;
|
|
79
|
-
}
|
|
80
|
-
function recoveryCaretAtPoint(root, clientX, clientY, codeLength) {
|
|
81
|
-
let nearest = null;
|
|
82
|
-
for (const slot of root.querySelectorAll("[data-recovery-slot]")) {
|
|
83
|
-
const index = Number(slot.dataset.recoverySlot);
|
|
84
|
-
const box = slot.getBoundingClientRect();
|
|
85
|
-
const dx = clientX < box.left ? box.left - clientX : Math.max(0, clientX - box.right);
|
|
86
|
-
const dy = clientY < box.top ? box.top - clientY : Math.max(0, clientY - box.bottom);
|
|
87
|
-
const distance = dx * dx + dy * dy;
|
|
88
|
-
if (nearest === null || distance < nearest.distance) nearest = {
|
|
89
|
-
index,
|
|
90
|
-
distance,
|
|
91
|
-
after: clientX > box.left + box.width / 2
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
if (nearest === null) return null;
|
|
95
|
-
return Math.min(nearest.after ? nearest.index + 1 : nearest.index, codeLength);
|
|
96
|
-
}
|
|
97
|
-
function renderOtpCodeDigit(digit) {
|
|
98
|
-
return /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("span", {
|
|
99
|
-
class: `seams-otp-slot ${digit.trim() ? "is-filled" : ""}`,
|
|
100
|
-
children: digit
|
|
101
|
-
}) });
|
|
102
|
-
}
|
|
103
|
-
function authViewKey(viewModel) {
|
|
104
|
-
const stage = viewModel.kind === "recovery" ? `:${viewModel.stage}` : "";
|
|
105
|
-
return `${viewModel.kind}:${viewModel.mode}:${viewModel.status.kind}${stage}`;
|
|
106
|
-
}
|
|
107
|
-
function recoveryAnnouncement(viewModel) {
|
|
108
|
-
if (viewModel.status.kind === "busy") return viewModel.status.headline;
|
|
109
|
-
if (viewModel.status.kind === "recoverable") return viewModel.status.message;
|
|
110
|
-
if (viewModel.stage === "passkey_ready") return "Recovery code accepted.";
|
|
111
|
-
if (viewModel.stage === "sign_in_ready") return "Wallet recovered. Unlock it to continue.";
|
|
112
|
-
return "";
|
|
113
|
-
}
|
|
114
|
-
function recoveryBackLabel(viewModel) {
|
|
115
|
-
if (viewModel.kind !== "recovery") return "Back";
|
|
116
|
-
return viewModel.stage === "choose_method" ? "Back to recovery code" : "Back to unlock wallet";
|
|
117
|
-
}
|
|
118
|
-
function recoveryNavigationLocked(viewModel) {
|
|
119
|
-
return viewModel.kind === "recovery" && viewModel.stage === "finalizing";
|
|
120
|
-
}
|
|
121
|
-
function modeSwitchCopy(mode) {
|
|
122
|
-
return mode === "register" ? {
|
|
123
|
-
prompt: "Already have a wallet?",
|
|
124
|
-
action: "Unlock wallet",
|
|
125
|
-
nextMode: "login"
|
|
126
|
-
} : {
|
|
127
|
-
prompt: "Don't have a wallet?",
|
|
128
|
-
action: "Create a wallet",
|
|
129
|
-
nextMode: "register"
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
function modeLabel(mode) {
|
|
133
|
-
return mode === "register" ? "Create a wallet" : "Unlock wallet";
|
|
134
|
-
}
|
|
135
|
-
function passkeyButtonLabel(mode) {
|
|
136
|
-
return mode === "register" ? "Create wallet with passkey" : "Unlock with passkey";
|
|
137
|
-
}
|
|
138
|
-
/** The failure the footer strip reports. Only the menu itself reports there. */
|
|
139
|
-
function menuNotice(viewModel) {
|
|
140
|
-
if (viewModel.kind === "google_otp_login" || viewModel.kind === "google_registration") return viewModel.error || null;
|
|
141
|
-
return viewModel.kind === "passkey" && viewModel.status.kind === "recoverable" && viewModel.status.reason === "error" ? viewModel.status.message : null;
|
|
142
|
-
}
|
|
143
|
-
function selectedLoginAccount(viewModel) {
|
|
144
|
-
return resolveAuthMenuLoginAccount(viewModel.accountOptions, viewModel.selectedAccount).selectedAccount;
|
|
145
|
-
}
|
|
146
|
-
function selectedAccountPrimaryText(account) {
|
|
147
|
-
return account.walletId;
|
|
148
|
-
}
|
|
149
|
-
function accountSecondaryText(account) {
|
|
150
|
-
return account.authMethod === "email_otp" ? account.emailAddress : null;
|
|
151
|
-
}
|
|
152
|
-
function savedAccountsTriggerLabel(account) {
|
|
153
|
-
if (!account) return "Saved wallets";
|
|
154
|
-
const emailAddress = accountSecondaryText(account);
|
|
155
|
-
return emailAddress ? `Saved wallets. Selected wallet ID ${account.walletId}, email ${emailAddress}` : `Saved wallets. Selected ${account.walletId}`;
|
|
156
|
-
}
|
|
157
|
-
function accountGroups(options) {
|
|
158
|
-
const passkeyAccounts = options.filter((option) => option.authMethod === "passkey");
|
|
159
|
-
const emailOtpAccounts = options.filter((option) => option.authMethod === "email_otp");
|
|
160
|
-
return [{
|
|
161
|
-
authMethod: "passkey",
|
|
162
|
-
label: "Passkey",
|
|
163
|
-
accounts: passkeyAccounts
|
|
164
|
-
}, {
|
|
165
|
-
authMethod: "email_otp",
|
|
166
|
-
label: "Email OTP",
|
|
167
|
-
accounts: emailOtpAccounts
|
|
168
|
-
}].filter((group) => group.accounts.length > 0);
|
|
169
|
-
}
|
|
170
17
|
const ACCOUNT_MENU_EXIT_MS = 160;
|
|
171
18
|
var AuthMenuSurface = class extends Component {
|
|
19
|
+
static contextType = WalletLocaleContext;
|
|
172
20
|
state = {
|
|
173
21
|
accountMenu: "closed",
|
|
174
22
|
recoverySelection: null,
|
|
@@ -619,6 +467,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
619
467
|
const viewModel = this.viewModel;
|
|
620
468
|
if (!viewModel) return /* @__PURE__ */ jsx(Fragment$1, {});
|
|
621
469
|
const loading = isAuthMenuLoadingStatus(viewModel.status);
|
|
470
|
+
const success = viewModel.status.kind === "succeeded" ? viewModel.status.phase : null;
|
|
622
471
|
const linkDevice = viewModel.kind === "link_device";
|
|
623
472
|
const otpPrompt = viewModel.kind === "google_otp_login";
|
|
624
473
|
const registrationPrompt = viewModel.kind === "google_registration";
|
|
@@ -626,7 +475,8 @@ var AuthMenuSurface = class extends Component {
|
|
|
626
475
|
return /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsxs("div", {
|
|
627
476
|
class: "seams-signup-menu-root auth-menu-root",
|
|
628
477
|
"data-mode": viewModel.mode,
|
|
629
|
-
"data-waiting": loading ? "true" : "false",
|
|
478
|
+
"data-waiting": loading || success ? "true" : "false",
|
|
479
|
+
"data-success": success ?? void 0,
|
|
630
480
|
"data-scan-device": linkDevice ? "true" : "false",
|
|
631
481
|
"data-otp-prompt": otpPrompt ? "true" : "false",
|
|
632
482
|
"data-registration-prompt": registrationPrompt ? "true" : "false",
|
|
@@ -648,11 +498,11 @@ var AuthMenuSurface = class extends Component {
|
|
|
648
498
|
class: "seams-content-switcher",
|
|
649
499
|
children: [
|
|
650
500
|
/* @__PURE__ */ jsx("button", {
|
|
651
|
-
class: `seams-back-button ${loading || linkDevice || otpPrompt || registrationPrompt || recovery ? "is-visible" : ""}`,
|
|
501
|
+
class: `seams-back-button ${!success && (loading || linkDevice || otpPrompt || registrationPrompt || recovery) ? "is-visible" : ""}`,
|
|
652
502
|
type: "button",
|
|
653
|
-
"aria-label": recoveryBackLabel(viewModel),
|
|
503
|
+
"aria-label": walletDisplayText(this.context, recoveryBackLabel(viewModel)),
|
|
654
504
|
"data-auth-menu-close": true,
|
|
655
|
-
disabled: recoveryNavigationLocked(viewModel),
|
|
505
|
+
disabled: success !== null || recoveryNavigationLocked(viewModel),
|
|
656
506
|
onClick: this.onBackClick,
|
|
657
507
|
children: backIcon()
|
|
658
508
|
}),
|
|
@@ -661,13 +511,13 @@ var AuthMenuSurface = class extends Component {
|
|
|
661
511
|
role: "status",
|
|
662
512
|
"aria-live": "polite",
|
|
663
513
|
"aria-atomic": "true",
|
|
664
|
-
children: recoveryAnnouncement(viewModel)
|
|
514
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: recoveryAnnouncement(viewModel) })
|
|
665
515
|
}) : null,
|
|
666
516
|
/* @__PURE__ */ jsx("div", {
|
|
667
517
|
class: "seams-content-area",
|
|
668
518
|
children: /* @__PURE__ */ jsx("div", {
|
|
669
519
|
class: "seams-content-sizer",
|
|
670
|
-
children: loading ? this.renderWaiting(viewModel) : /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("div", {
|
|
520
|
+
children: loading || success ? this.renderWaiting(viewModel) : /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("div", {
|
|
671
521
|
class: "seams-signin-menu",
|
|
672
522
|
children: /* @__PURE__ */ jsx(Fragment, { children: this.renderActiveView(viewModel) }, authViewKey(viewModel))
|
|
673
523
|
}) })
|
|
@@ -704,16 +554,16 @@ var AuthMenuSurface = class extends Component {
|
|
|
704
554
|
children: [
|
|
705
555
|
eyebrow === viewModel.heading ? null : /* @__PURE__ */ jsx("div", {
|
|
706
556
|
class: "seams-menu-eyebrow",
|
|
707
|
-
children: eyebrow
|
|
557
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: eyebrow })
|
|
708
558
|
}),
|
|
709
559
|
/* @__PURE__ */ jsx("div", {
|
|
710
560
|
class: "seams-title",
|
|
711
561
|
id: AUTH_MENU_TITLE_ID,
|
|
712
|
-
children: viewModel.heading
|
|
562
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.heading })
|
|
713
563
|
}),
|
|
714
564
|
viewModel.subtitle ? /* @__PURE__ */ jsx("div", {
|
|
715
565
|
class: "seams-subhead",
|
|
716
|
-
children: viewModel.subtitle
|
|
566
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.subtitle })
|
|
717
567
|
}) : null
|
|
718
568
|
]
|
|
719
569
|
});
|
|
@@ -724,10 +574,10 @@ var AuthMenuSurface = class extends Component {
|
|
|
724
574
|
children: /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
725
575
|
class: "seams-title",
|
|
726
576
|
id: AUTH_MENU_TITLE_ID,
|
|
727
|
-
children: viewModel.heading
|
|
577
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.heading })
|
|
728
578
|
}), /* @__PURE__ */ jsx("div", {
|
|
729
579
|
class: "seams-subhead",
|
|
730
|
-
children: viewModel.subtitle
|
|
580
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.subtitle })
|
|
731
581
|
})] })
|
|
732
582
|
}) });
|
|
733
583
|
}
|
|
@@ -762,7 +612,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
762
612
|
class: "seams-account-menu-trigger",
|
|
763
613
|
type: "button",
|
|
764
614
|
"data-auth-menu-input": true,
|
|
765
|
-
"aria-label": savedAccountsTriggerLabel(selected),
|
|
615
|
+
"aria-label": walletDisplayText(this.context, savedAccountsTriggerLabel(selected)),
|
|
766
616
|
"aria-haspopup": "listbox",
|
|
767
617
|
"aria-expanded": this.accountMenuOpen ? "true" : "false",
|
|
768
618
|
"aria-controls": AUTH_MENU_ACCOUNT_LIST_ID,
|
|
@@ -781,7 +631,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
781
631
|
children: [/* @__PURE__ */ jsx("div", {
|
|
782
632
|
id: groupLabelId,
|
|
783
633
|
class: "seams-account-menu-group-label",
|
|
784
|
-
children: group.label
|
|
634
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: group.label })
|
|
785
635
|
}), group.accounts.map((account) => {
|
|
786
636
|
const isSelected = account.walletId === listSelected.walletId && account.authMethod === listSelected.authMethod;
|
|
787
637
|
const isChosen = !isSelected && account.walletId === choice?.chosen.walletId && account.authMethod === choice.chosen.authMethod;
|
|
@@ -791,7 +641,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
791
641
|
type: "button",
|
|
792
642
|
role: "option",
|
|
793
643
|
"aria-selected": isSelected ? "true" : "false",
|
|
794
|
-
title: secondaryText ? `${account.walletId} ${secondaryText}` : account.walletId,
|
|
644
|
+
title: walletDisplayText(this.context, secondaryText ? `${account.walletId} ${secondaryText}` : account.walletId),
|
|
795
645
|
"data-wallet-id": account.walletId,
|
|
796
646
|
"data-auth-method": account.authMethod,
|
|
797
647
|
onClick: this.onLoginAccountSelect,
|
|
@@ -805,7 +655,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
805
655
|
children: account.walletId
|
|
806
656
|
}), secondaryText ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("span", {
|
|
807
657
|
class: "seams-account-menu-account-secondary",
|
|
808
|
-
children: secondaryText
|
|
658
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: secondaryText })
|
|
809
659
|
}) }) : null]
|
|
810
660
|
})]
|
|
811
661
|
}) });
|
|
@@ -830,7 +680,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
830
680
|
"data-auth-menu-input": true,
|
|
831
681
|
type: "text",
|
|
832
682
|
autocomplete: "nickname",
|
|
833
|
-
placeholder: viewModel.passkeyNameLabel,
|
|
683
|
+
placeholder: walletDisplayText(this.context, viewModel.passkeyNameLabel),
|
|
834
684
|
value: viewModel.passkeyName,
|
|
835
685
|
readonly: viewModel.passkeyNameReadOnly,
|
|
836
686
|
disabled: isAuthMenuLoadingStatus(viewModel.status),
|
|
@@ -839,8 +689,8 @@ var AuthMenuSurface = class extends Component {
|
|
|
839
689
|
}), viewModel.passkeyNameReadOnly ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("button", {
|
|
840
690
|
class: "seams-input-action-trigger auth-menu-registration-reroll",
|
|
841
691
|
type: "button",
|
|
842
|
-
title: "Generate another name",
|
|
843
|
-
"aria-label": "Generate another name",
|
|
692
|
+
title: walletText(this.context, "Generate another name"),
|
|
693
|
+
"aria-label": walletText(this.context, "Generate another name"),
|
|
844
694
|
onClick: this.onRegistrationReroll,
|
|
845
695
|
disabled: !isAuthMenuReady(viewModel),
|
|
846
696
|
children: rerollIcon()
|
|
@@ -858,21 +708,21 @@ var AuthMenuSurface = class extends Component {
|
|
|
858
708
|
"data-auth-menu-primary": true,
|
|
859
709
|
disabled: !isAuthMenuActionReady(viewModel),
|
|
860
710
|
onClick: this.onPrimaryClick,
|
|
861
|
-
children: [fingerprintIcon(), /* @__PURE__ */ jsx("span", { children: passkeyButtonLabel(viewModel.mode) })]
|
|
711
|
+
children: [fingerprintIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { copy: passkeyButtonLabel(viewModel.mode) }) })]
|
|
862
712
|
}), googleEnabled ? /* @__PURE__ */ jsxs("button", {
|
|
863
713
|
class: "seams-auth-method-btn",
|
|
864
714
|
type: "button",
|
|
865
715
|
"data-auth-menu-provider": "google",
|
|
866
716
|
disabled: !isAuthMenuGoogleActionReady(viewModel),
|
|
867
717
|
onClick: this.onGoogleClick,
|
|
868
|
-
children: [googleIcon(), /* @__PURE__ */ jsx("span", { children: "Continue with Google" })]
|
|
718
|
+
children: [googleIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { message: "Continue with Google" }) })]
|
|
869
719
|
}) : null]
|
|
870
720
|
}) });
|
|
871
721
|
}
|
|
872
722
|
renderOtherOptions() {
|
|
873
723
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", {
|
|
874
724
|
class: "seams-menu-options-label",
|
|
875
|
-
children: "Other options"
|
|
725
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Other options" })
|
|
876
726
|
}), /* @__PURE__ */ jsxs("div", {
|
|
877
727
|
class: "seams-menu-options",
|
|
878
728
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
@@ -886,7 +736,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
886
736
|
}),
|
|
887
737
|
/* @__PURE__ */ jsxs("span", {
|
|
888
738
|
class: "seams-menu-option-text",
|
|
889
|
-
children: ["Link this device
|
|
739
|
+
children: [/* @__PURE__ */ jsx(WalletText, { message: "Link this device" }), /* @__PURE__ */ jsx("small", { children: /* @__PURE__ */ jsx(WalletText, { message: "Scan a code with your other device" }) })]
|
|
890
740
|
}),
|
|
891
741
|
chevronIcon()
|
|
892
742
|
]
|
|
@@ -902,7 +752,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
902
752
|
}),
|
|
903
753
|
/* @__PURE__ */ jsxs("span", {
|
|
904
754
|
class: "seams-menu-option-text",
|
|
905
|
-
children: ["Recover wallet
|
|
755
|
+
children: [/* @__PURE__ */ jsx(WalletText, { message: "Recover wallet" }), /* @__PURE__ */ jsx("small", { children: /* @__PURE__ */ jsx(WalletText, { message: "Use your recovery code" }) })]
|
|
906
756
|
}),
|
|
907
757
|
chevronIcon()
|
|
908
758
|
]
|
|
@@ -924,7 +774,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
924
774
|
class: `seams-recovery-status ${feedbackIsError ? "seams-recovery-error" : ""}`,
|
|
925
775
|
"aria-hidden": feedbackIsError ? "false" : "true",
|
|
926
776
|
role: feedbackIsError ? "alert" : "status",
|
|
927
|
-
children: feedbackMessage
|
|
777
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: feedbackMessage })
|
|
928
778
|
}),
|
|
929
779
|
/* @__PURE__ */ jsxs("form", {
|
|
930
780
|
class: "seams-recovery-form",
|
|
@@ -938,7 +788,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
938
788
|
children: [/* @__PURE__ */ jsx("label", {
|
|
939
789
|
class: "seams-field-label",
|
|
940
790
|
for: "seams-recovery-code",
|
|
941
|
-
children: "Recovery code"
|
|
791
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Recovery code" })
|
|
942
792
|
}), /* @__PURE__ */ jsxs("span", {
|
|
943
793
|
id: "seams-recovery-code-count",
|
|
944
794
|
class: "seams-recovery-code-count",
|
|
@@ -981,7 +831,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
981
831
|
id: "seams-recovery-code-hint",
|
|
982
832
|
class: `seams-recovery-code-hint ${rejection ? "is-error" : ""}`,
|
|
983
833
|
"aria-live": "polite",
|
|
984
|
-
children: rejection ? `Recovery codes don’t use ${rejection.characters.join(", ")}.` : "You can paste the whole code."
|
|
834
|
+
children: rejection ? `Recovery codes don’t use ${rejection.characters.join(", ")}.` : /* @__PURE__ */ jsx(WalletText, { message: "You can paste the whole code." })
|
|
985
835
|
})
|
|
986
836
|
]
|
|
987
837
|
}), /* @__PURE__ */ jsx("button", {
|
|
@@ -989,7 +839,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
989
839
|
type: "submit",
|
|
990
840
|
"data-auth-menu-primary": true,
|
|
991
841
|
"data-recovery-continue": true,
|
|
992
|
-
children: "Continue"
|
|
842
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Continue" })
|
|
993
843
|
})]
|
|
994
844
|
})
|
|
995
845
|
] });
|
|
@@ -1003,7 +853,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1003
853
|
/* @__PURE__ */ jsx("p", {
|
|
1004
854
|
class: `seams-recovery-status ${viewModel.status.kind === "recoverable" ? "seams-recovery-error" : ""}`,
|
|
1005
855
|
"aria-hidden": "true",
|
|
1006
|
-
children: statusMessage
|
|
856
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: statusMessage })
|
|
1007
857
|
}),
|
|
1008
858
|
/* @__PURE__ */ jsxs("div", {
|
|
1009
859
|
class: "seams-auth-methods seams-recovery-methods",
|
|
@@ -1017,7 +867,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1017
867
|
children: [busyTarget === "passkey" ? /* @__PURE__ */ jsx("span", {
|
|
1018
868
|
class: "seams-spinner",
|
|
1019
869
|
"aria-hidden": "true"
|
|
1020
|
-
}) : fingerprintIcon(), /* @__PURE__ */ jsx("span", { children: "Create a passkey" })]
|
|
870
|
+
}) : fingerprintIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { message: "Create a passkey" }) })]
|
|
1021
871
|
}), googleEnabled ? /* @__PURE__ */ jsxs("button", {
|
|
1022
872
|
class: "seams-auth-method-btn",
|
|
1023
873
|
type: "button",
|
|
@@ -1027,12 +877,12 @@ var AuthMenuSurface = class extends Component {
|
|
|
1027
877
|
children: [busyTarget === "google_email_otp" ? /* @__PURE__ */ jsx("span", {
|
|
1028
878
|
class: "seams-spinner",
|
|
1029
879
|
"aria-hidden": "true"
|
|
1030
|
-
}) : googleIcon(), /* @__PURE__ */ jsx("span", { children: "Continue with Google" })]
|
|
880
|
+
}) : googleIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { message: "Continue with Google" }) })]
|
|
1031
881
|
}) : null]
|
|
1032
882
|
}),
|
|
1033
883
|
/* @__PURE__ */ jsx("p", {
|
|
1034
884
|
class: "seams-recovery-method-note",
|
|
1035
|
-
children: "This adds a new sign-in method to your wallet."
|
|
885
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "This adds a new sign-in method to your wallet." })
|
|
1036
886
|
})
|
|
1037
887
|
] });
|
|
1038
888
|
}
|
|
@@ -1046,13 +896,13 @@ var AuthMenuSurface = class extends Component {
|
|
|
1046
896
|
children: [
|
|
1047
897
|
/* @__PURE__ */ jsx("p", {
|
|
1048
898
|
class: "seams-otp-description",
|
|
1049
|
-
children: deliveryMessage
|
|
899
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: deliveryMessage })
|
|
1050
900
|
}),
|
|
1051
901
|
renderDemoEmailCode(viewModel.delivery),
|
|
1052
902
|
/* @__PURE__ */ jsx("label", {
|
|
1053
903
|
class: "seams-field-label",
|
|
1054
904
|
for: "seams-recovery-google-otp",
|
|
1055
|
-
children: "Email code"
|
|
905
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Email code" })
|
|
1056
906
|
}),
|
|
1057
907
|
/* @__PURE__ */ jsxs("div", {
|
|
1058
908
|
class: "seams-otp-code-field",
|
|
@@ -1086,7 +936,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1086
936
|
id: "seams-recovery-google-otp-error",
|
|
1087
937
|
class: "seams-recovery-status seams-recovery-error",
|
|
1088
938
|
role: "alert",
|
|
1089
|
-
children: viewModel.status.message
|
|
939
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.status.message })
|
|
1090
940
|
}) }) : null,
|
|
1091
941
|
/* @__PURE__ */ jsx("button", {
|
|
1092
942
|
class: "seams-link-device-btn seams-link-device-btn-primary",
|
|
@@ -1094,7 +944,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1094
944
|
"data-auth-menu-primary": true,
|
|
1095
945
|
disabled: !canSubmit,
|
|
1096
946
|
onClick: this.onRecoveryGoogleOtpSubmit,
|
|
1097
|
-
children: "Verify email code"
|
|
947
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Verify email code" })
|
|
1098
948
|
})
|
|
1099
949
|
]
|
|
1100
950
|
})] });
|
|
@@ -1108,13 +958,13 @@ var AuthMenuSurface = class extends Component {
|
|
|
1108
958
|
class: "seams-recovery-confirmation",
|
|
1109
959
|
children: [message === null ? null : /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("p", {
|
|
1110
960
|
class: "seams-recovery-status",
|
|
1111
|
-
children: message
|
|
961
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: message })
|
|
1112
962
|
}) }), /* @__PURE__ */ jsxs("button", {
|
|
1113
963
|
class: "seams-link-device-btn seams-link-device-btn-primary",
|
|
1114
964
|
type: "button",
|
|
1115
965
|
"data-auth-menu-primary": true,
|
|
1116
966
|
onClick: action,
|
|
1117
|
-
children: [googleTarget && !finalizationRetry ? googleIcon() : null, signIn ? googleTarget ? "Unlock with Google" : "Unlock with new passkey" : finalizationRetry ? "Retry finalization" : googleTarget ? "Continue with Google" : "Create new passkey"]
|
|
967
|
+
children: [googleTarget && !finalizationRetry ? googleIcon() : null, signIn ? googleTarget ? /* @__PURE__ */ jsx(WalletText, { message: "Unlock with Google" }) : /* @__PURE__ */ jsx(WalletText, { message: "Unlock with new passkey" }) : finalizationRetry ? /* @__PURE__ */ jsx(WalletText, { message: "Retry finalization" }) : googleTarget ? /* @__PURE__ */ jsx(WalletText, { message: "Continue with Google" }) : /* @__PURE__ */ jsx(WalletText, { message: "Create new passkey" })]
|
|
1118
968
|
})]
|
|
1119
969
|
})] });
|
|
1120
970
|
}
|
|
@@ -1122,16 +972,17 @@ var AuthMenuSurface = class extends Component {
|
|
|
1122
972
|
const copy = modeSwitchCopy(viewModel.mode);
|
|
1123
973
|
return /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsxs("div", {
|
|
1124
974
|
class: "seams-auth-intent-switch",
|
|
1125
|
-
children: [/* @__PURE__ */ jsx("span", { children: copy.prompt }), /* @__PURE__ */ jsx("button", {
|
|
975
|
+
children: [/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { copy: copy.prompt }) }), /* @__PURE__ */ jsx("button", {
|
|
1126
976
|
type: "button",
|
|
1127
977
|
"data-auth-menu-mode": copy.nextMode,
|
|
1128
978
|
onClick: this.onIntentSwitchClick,
|
|
1129
|
-
children: copy.action
|
|
979
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: copy.action })
|
|
1130
980
|
})]
|
|
1131
981
|
}) });
|
|
1132
982
|
}
|
|
1133
983
|
renderWaiting(viewModel) {
|
|
1134
984
|
const status = viewModel.status;
|
|
985
|
+
if (status.kind === "succeeded") return this.renderSuccess(status);
|
|
1135
986
|
if (status.kind !== "busy") return /* @__PURE__ */ jsx(Fragment$1, {});
|
|
1136
987
|
const waitingText = status.headline;
|
|
1137
988
|
const prompt = status.illustration ? AUTH_MENU_WAITING_PROMPTS[status.illustration] : null;
|
|
@@ -1143,7 +994,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1143
994
|
prompt ? /* @__PURE__ */ jsx("span", {
|
|
1144
995
|
class: "seams-passkey-prompt",
|
|
1145
996
|
role: "img",
|
|
1146
|
-
"aria-label": prompt.label,
|
|
997
|
+
"aria-label": walletDisplayText(this.context, prompt.label),
|
|
1147
998
|
children: passkeyRingIcon()
|
|
1148
999
|
}) : null,
|
|
1149
1000
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -1151,25 +1002,45 @@ var AuthMenuSurface = class extends Component {
|
|
|
1151
1002
|
children: [
|
|
1152
1003
|
/* @__PURE__ */ jsx("span", {
|
|
1153
1004
|
class: "seams-waiting-text",
|
|
1154
|
-
children: waitingText
|
|
1005
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: waitingText })
|
|
1155
1006
|
}),
|
|
1156
1007
|
prompt ? /* @__PURE__ */ jsx("span", {
|
|
1157
1008
|
class: "seams-passkey-instruction",
|
|
1158
|
-
children: prompt.instruction
|
|
1009
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: prompt.instruction })
|
|
1159
1010
|
}) : null,
|
|
1160
1011
|
viewModel.showProgress && status.detail && status.detail !== waitingText ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("span", {
|
|
1161
1012
|
class: "seams-waiting-sdk-events",
|
|
1162
|
-
children: status.detail
|
|
1013
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: status.detail })
|
|
1163
1014
|
}) }) : null
|
|
1164
1015
|
]
|
|
1165
1016
|
}),
|
|
1166
1017
|
prompt ? null : /* @__PURE__ */ jsx("div", {
|
|
1167
|
-
"aria-label": "Loading",
|
|
1018
|
+
"aria-label": walletText(this.context, "Loading"),
|
|
1168
1019
|
class: "seams-spinner"
|
|
1169
1020
|
})
|
|
1170
1021
|
]
|
|
1171
1022
|
}) });
|
|
1172
1023
|
}
|
|
1024
|
+
renderSuccess(status) {
|
|
1025
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
1026
|
+
class: "seams-waiting seams-success",
|
|
1027
|
+
role: "status",
|
|
1028
|
+
"aria-live": "polite",
|
|
1029
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
1030
|
+
class: "seams-passkey-prompt seams-success-prompt",
|
|
1031
|
+
children: passkeySuccessIcon()
|
|
1032
|
+
}, "success-prompt"), /* @__PURE__ */ jsxs("div", {
|
|
1033
|
+
class: "seams-waiting-message seams-success-message",
|
|
1034
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
1035
|
+
class: "seams-waiting-text",
|
|
1036
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: status.headline })
|
|
1037
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
1038
|
+
class: "seams-passkey-instruction",
|
|
1039
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: status.message })
|
|
1040
|
+
})]
|
|
1041
|
+
}, "success-message")]
|
|
1042
|
+
});
|
|
1043
|
+
}
|
|
1173
1044
|
renderLinkDevice(viewModel) {
|
|
1174
1045
|
const linkDevice = viewModel.linkDevice;
|
|
1175
1046
|
if (linkDevice.kind === "select_factor") return this.renderLinkDeviceFactorSelection(linkDevice);
|
|
@@ -1218,18 +1089,18 @@ var AuthMenuSurface = class extends Component {
|
|
|
1218
1089
|
children: /* @__PURE__ */ jsx("h2", {
|
|
1219
1090
|
class: "qr-title",
|
|
1220
1091
|
id: AUTH_MENU_TITLE_ID,
|
|
1221
|
-
children: viewModel.heading
|
|
1092
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.heading })
|
|
1222
1093
|
})
|
|
1223
1094
|
}),
|
|
1224
1095
|
/* @__PURE__ */ jsx("div", {
|
|
1225
1096
|
class: "qr-instruction",
|
|
1226
|
-
children: ready ? viewModel.subtitle : "Preparing a one-time code for your other device."
|
|
1097
|
+
children: ready ? /* @__PURE__ */ jsx(WalletText, { copy: viewModel.subtitle }) : /* @__PURE__ */ jsx(WalletText, { message: "Preparing a one-time code for your other device." })
|
|
1227
1098
|
}),
|
|
1228
1099
|
/* @__PURE__ */ jsxs("div", {
|
|
1229
1100
|
class: "qr-status",
|
|
1230
1101
|
role: "status",
|
|
1231
1102
|
"aria-live": "polite",
|
|
1232
|
-
children: [ready ? linkDevice.message : "Generating QR code", /* @__PURE__ */ jsx("span", { class: "animated-ellipsis" })]
|
|
1103
|
+
children: [ready ? /* @__PURE__ */ jsx(WalletText, { copy: linkDevice.message }) : /* @__PURE__ */ jsx(WalletText, { message: "Generating QR code" }), /* @__PURE__ */ jsx("span", { class: "animated-ellipsis" })]
|
|
1233
1104
|
})
|
|
1234
1105
|
]
|
|
1235
1106
|
})
|
|
@@ -1247,18 +1118,18 @@ var AuthMenuSurface = class extends Component {
|
|
|
1247
1118
|
/* @__PURE__ */ jsx("h2", {
|
|
1248
1119
|
class: "qr-title",
|
|
1249
1120
|
id: AUTH_MENU_TITLE_ID,
|
|
1250
|
-
children: "Match your other device"
|
|
1121
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Match your other device" })
|
|
1251
1122
|
}),
|
|
1252
1123
|
/* @__PURE__ */ jsx("p", {
|
|
1253
1124
|
class: "seams-link-device-confirmation-copy",
|
|
1254
|
-
children: "Choose the unlock method for Device 2. Email code sends a one-time code to the address you enter."
|
|
1125
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Choose the unlock method for Device 2. Email code sends a one-time code to the address you enter." })
|
|
1255
1126
|
}),
|
|
1256
1127
|
/* @__PURE__ */ jsxs("fieldset", {
|
|
1257
1128
|
class: "seams-link-device-factor-options",
|
|
1258
1129
|
children: [
|
|
1259
1130
|
/* @__PURE__ */ jsx("legend", {
|
|
1260
1131
|
class: "sr-only",
|
|
1261
|
-
children: "Wallet unlock method"
|
|
1132
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Wallet unlock method" })
|
|
1262
1133
|
}),
|
|
1263
1134
|
/* @__PURE__ */ jsxs("label", { children: [
|
|
1264
1135
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -1267,7 +1138,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1267
1138
|
}),
|
|
1268
1139
|
/* @__PURE__ */ jsx("span", {
|
|
1269
1140
|
class: "seams-auth-method-choice-label",
|
|
1270
|
-
children: "Passkey"
|
|
1141
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Passkey" })
|
|
1271
1142
|
}),
|
|
1272
1143
|
/* @__PURE__ */ jsx("input", {
|
|
1273
1144
|
type: "radio",
|
|
@@ -1284,7 +1155,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1284
1155
|
}),
|
|
1285
1156
|
/* @__PURE__ */ jsx("span", {
|
|
1286
1157
|
class: "seams-auth-method-choice-label",
|
|
1287
|
-
children: "Email code"
|
|
1158
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Email code" })
|
|
1288
1159
|
}),
|
|
1289
1160
|
/* @__PURE__ */ jsx("input", {
|
|
1290
1161
|
type: "radio",
|
|
@@ -1300,13 +1171,13 @@ var AuthMenuSurface = class extends Component {
|
|
|
1300
1171
|
class: "seams-link-device-target-email",
|
|
1301
1172
|
children: [/* @__PURE__ */ jsx("span", {
|
|
1302
1173
|
class: "seams-field-label",
|
|
1303
|
-
children: "Email address"
|
|
1174
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Email address" })
|
|
1304
1175
|
}), /* @__PURE__ */ jsx("input", {
|
|
1305
1176
|
type: "email",
|
|
1306
1177
|
name: "linked-device-target-email",
|
|
1307
1178
|
autocomplete: "email",
|
|
1308
1179
|
value: emailAddress,
|
|
1309
|
-
"aria-label": "Email address",
|
|
1180
|
+
"aria-label": walletText(this.context, "Email address"),
|
|
1310
1181
|
"aria-invalid": emailAddress.length > 0 && !canStart ? "true" : "false",
|
|
1311
1182
|
onInput: this.onLinkDeviceTargetEmailInput
|
|
1312
1183
|
})]
|
|
@@ -1314,7 +1185,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1314
1185
|
linkDevice.error ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("p", {
|
|
1315
1186
|
class: "seams-link-device-inline-error",
|
|
1316
1187
|
role: "alert",
|
|
1317
|
-
children: linkDevice.error
|
|
1188
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: linkDevice.error })
|
|
1318
1189
|
}) }) : null,
|
|
1319
1190
|
/* @__PURE__ */ jsx("button", {
|
|
1320
1191
|
class: "seams-link-device-btn seams-link-device-btn-primary",
|
|
@@ -1322,7 +1193,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1322
1193
|
"data-auth-menu-primary": true,
|
|
1323
1194
|
disabled: !canStart,
|
|
1324
1195
|
onClick: this.onLinkDeviceStart,
|
|
1325
|
-
children: "Continue"
|
|
1196
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Continue" })
|
|
1326
1197
|
})
|
|
1327
1198
|
]
|
|
1328
1199
|
}) });
|
|
@@ -1344,11 +1215,11 @@ var AuthMenuSurface = class extends Component {
|
|
|
1344
1215
|
/* @__PURE__ */ jsx("h2", {
|
|
1345
1216
|
class: "qr-title",
|
|
1346
1217
|
id: AUTH_MENU_TITLE_ID,
|
|
1347
|
-
children: view.heading
|
|
1218
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: view.heading })
|
|
1348
1219
|
}),
|
|
1349
1220
|
hint ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("div", {
|
|
1350
1221
|
class: "seams-link-device-email-chip",
|
|
1351
|
-
title: hint,
|
|
1222
|
+
title: walletDisplayText(this.context, hint),
|
|
1352
1223
|
children: /* @__PURE__ */ jsx("span", { children: hint })
|
|
1353
1224
|
}) }) : null,
|
|
1354
1225
|
/* @__PURE__ */ jsxs("p", {
|
|
@@ -1356,7 +1227,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1356
1227
|
id: "seams-linked-device-otp-status",
|
|
1357
1228
|
role: "status",
|
|
1358
1229
|
"aria-live": "polite",
|
|
1359
|
-
children: [view.status, view.pending ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("span", {
|
|
1230
|
+
children: [/* @__PURE__ */ jsx(WalletText, { copy: view.status }), view.pending ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("span", {
|
|
1360
1231
|
class: "animated-ellipsis",
|
|
1361
1232
|
"aria-hidden": "true"
|
|
1362
1233
|
}) }) : null]
|
|
@@ -1364,7 +1235,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1364
1235
|
showCodeField ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("label", {
|
|
1365
1236
|
class: "sr-only",
|
|
1366
1237
|
for: "seams-linked-device-email-otp",
|
|
1367
|
-
children: "Email code"
|
|
1238
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Email code" })
|
|
1368
1239
|
}), /* @__PURE__ */ jsxs("div", {
|
|
1369
1240
|
class: "seams-otp-code-field",
|
|
1370
1241
|
"data-disabled": busy ? "true" : "false",
|
|
@@ -1377,7 +1248,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1377
1248
|
autocomplete: "one-time-code",
|
|
1378
1249
|
pattern: "[0-9]*",
|
|
1379
1250
|
maxLength: 6,
|
|
1380
|
-
"aria-label": "Email verification code",
|
|
1251
|
+
"aria-label": walletText(this.context, "Email verification code"),
|
|
1381
1252
|
"aria-describedby": "seams-linked-device-otp-status",
|
|
1382
1253
|
"aria-invalid": activation.kind === "incorrect" ? "true" : "false",
|
|
1383
1254
|
value: linkDevice.otpCode,
|
|
@@ -1404,26 +1275,26 @@ var AuthMenuSurface = class extends Component {
|
|
|
1404
1275
|
type: "button",
|
|
1405
1276
|
"data-link-device-error-dismiss": true,
|
|
1406
1277
|
onClick: this.onBackClick,
|
|
1407
|
-
children: "Return to unlock wallet"
|
|
1278
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Return to unlock wallet" })
|
|
1408
1279
|
}) });
|
|
1409
1280
|
if (activation.kind === "expired") return /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("button", {
|
|
1410
1281
|
class: "seams-link-device-btn seams-link-device-btn-primary",
|
|
1411
1282
|
type: "button",
|
|
1412
1283
|
onClick: this.onLinkDeviceEmailOtpResend,
|
|
1413
|
-
children: "Send a new code"
|
|
1284
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Send a new code" })
|
|
1414
1285
|
}) });
|
|
1415
1286
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("button", {
|
|
1416
1287
|
class: "seams-link-device-btn seams-link-device-btn-primary",
|
|
1417
1288
|
type: "button",
|
|
1418
1289
|
disabled: !input.canSubmit,
|
|
1419
1290
|
onClick: this.onLinkDeviceEmailOtpSubmit,
|
|
1420
|
-
children: activation.kind === "submitting" ? "Verifying" : "Verify code"
|
|
1291
|
+
children: activation.kind === "submitting" ? /* @__PURE__ */ jsx(WalletText, { message: "Verifying" }) : /* @__PURE__ */ jsx(WalletText, { message: "Verify code" })
|
|
1421
1292
|
}), /* @__PURE__ */ jsx("button", {
|
|
1422
1293
|
class: "seams-otp-resend",
|
|
1423
1294
|
type: "button",
|
|
1424
1295
|
disabled: input.busy,
|
|
1425
1296
|
onClick: this.onLinkDeviceEmailOtpResend,
|
|
1426
|
-
children: "Send another code"
|
|
1297
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Send another code" })
|
|
1427
1298
|
})] });
|
|
1428
1299
|
}
|
|
1429
1300
|
renderLinkDeviceFailure(linkDevice) {
|
|
@@ -1431,7 +1302,11 @@ var AuthMenuSurface = class extends Component {
|
|
|
1431
1302
|
return this.renderLinkDeviceFailurePanel({
|
|
1432
1303
|
dismiss: "error",
|
|
1433
1304
|
title: activationFailed ? "Device linked" : "Couldn't link device",
|
|
1434
|
-
detail: activationFailed ? /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
1305
|
+
detail: activationFailed ? /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
1306
|
+
/* @__PURE__ */ jsx(WalletText, { message: "Unable to open the wallet. Go back and try again." }),
|
|
1307
|
+
" ",
|
|
1308
|
+
/* @__PURE__ */ jsx(WalletText, { copy: linkDevice.message })
|
|
1309
|
+
] }) : linkDevice.message,
|
|
1435
1310
|
action: "Return to unlock wallet"
|
|
1436
1311
|
});
|
|
1437
1312
|
}
|
|
@@ -1446,12 +1321,12 @@ var AuthMenuSurface = class extends Component {
|
|
|
1446
1321
|
/* @__PURE__ */ jsx("h2", {
|
|
1447
1322
|
class: "qr-title",
|
|
1448
1323
|
id: AUTH_MENU_TITLE_ID,
|
|
1449
|
-
children: panel.title
|
|
1324
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: panel.title })
|
|
1450
1325
|
}),
|
|
1451
1326
|
/* @__PURE__ */ jsx("p", {
|
|
1452
1327
|
class: "seams-link-device-failure-detail",
|
|
1453
1328
|
role: "alert",
|
|
1454
|
-
children: panel.detail
|
|
1329
|
+
children: typeof panel.detail === "string" ? /* @__PURE__ */ jsx(WalletText, { copy: panel.detail }) : panel.detail
|
|
1455
1330
|
}),
|
|
1456
1331
|
/* @__PURE__ */ jsx("button", {
|
|
1457
1332
|
class: "seams-link-device-btn",
|
|
@@ -1459,7 +1334,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1459
1334
|
"data-auth-menu-primary": true,
|
|
1460
1335
|
[`data-link-device-${panel.dismiss}-dismiss`]: true,
|
|
1461
1336
|
onClick: this.onBackClick,
|
|
1462
|
-
children: panel.action
|
|
1337
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: panel.action })
|
|
1463
1338
|
})
|
|
1464
1339
|
]
|
|
1465
1340
|
}) });
|
|
@@ -1475,13 +1350,13 @@ var AuthMenuSurface = class extends Component {
|
|
|
1475
1350
|
/* @__PURE__ */ jsx("h2", {
|
|
1476
1351
|
class: "qr-title",
|
|
1477
1352
|
id: AUTH_MENU_TITLE_ID,
|
|
1478
|
-
children: "Opening linked wallet"
|
|
1353
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Opening linked wallet" })
|
|
1479
1354
|
}),
|
|
1480
1355
|
/* @__PURE__ */ jsx("p", {
|
|
1481
1356
|
class: "seams-link-device-confirmation-copy",
|
|
1482
1357
|
role: "status",
|
|
1483
1358
|
"aria-live": "polite",
|
|
1484
|
-
children: linkDevice.message
|
|
1359
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: linkDevice.message })
|
|
1485
1360
|
})
|
|
1486
1361
|
]
|
|
1487
1362
|
}) });
|
|
@@ -1496,7 +1371,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1496
1371
|
class: "qr-title",
|
|
1497
1372
|
id: AUTH_MENU_TITLE_ID,
|
|
1498
1373
|
"aria-live": "polite",
|
|
1499
|
-
children: linkDevice.message
|
|
1374
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: linkDevice.message })
|
|
1500
1375
|
}),
|
|
1501
1376
|
/* @__PURE__ */ jsx("button", {
|
|
1502
1377
|
class: "seams-link-device-btn seams-link-device-btn-primary",
|
|
@@ -1505,7 +1380,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1505
1380
|
"data-link-device-passkey-action": true,
|
|
1506
1381
|
disabled: creating,
|
|
1507
1382
|
onClick: this.onLinkDeviceCreatePasskey,
|
|
1508
|
-
children: creating ? "Waiting for passkey" : "Create passkey"
|
|
1383
|
+
children: creating ? /* @__PURE__ */ jsx(WalletText, { message: "Waiting for passkey" }) : /* @__PURE__ */ jsx(WalletText, { message: "Create passkey" })
|
|
1509
1384
|
})
|
|
1510
1385
|
]
|
|
1511
1386
|
}) });
|
|
@@ -1523,19 +1398,19 @@ var AuthMenuSurface = class extends Component {
|
|
|
1523
1398
|
/* @__PURE__ */ jsx("div", {
|
|
1524
1399
|
class: "seams-otp-title",
|
|
1525
1400
|
id: AUTH_MENU_TITLE_ID,
|
|
1526
|
-
children: viewModel.heading
|
|
1401
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.heading })
|
|
1527
1402
|
}),
|
|
1528
1403
|
/* @__PURE__ */ jsx("p", {
|
|
1529
1404
|
class: "seams-otp-description",
|
|
1530
|
-
children: deliveryMessage
|
|
1405
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: deliveryMessage })
|
|
1531
1406
|
}),
|
|
1532
1407
|
renderDemoEmailCode(viewModel.delivery),
|
|
1533
1408
|
/* @__PURE__ */ jsxs("div", {
|
|
1534
1409
|
class: "seams-otp-account",
|
|
1535
|
-
title: viewModel.walletId,
|
|
1410
|
+
title: walletDisplayText(this.context, viewModel.walletId),
|
|
1536
1411
|
children: [/* @__PURE__ */ jsx("span", {
|
|
1537
1412
|
class: "seams-otp-account-label",
|
|
1538
|
-
children: "Wallet"
|
|
1413
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Wallet" })
|
|
1539
1414
|
}), /* @__PURE__ */ jsx("span", {
|
|
1540
1415
|
class: "seams-otp-account-value",
|
|
1541
1416
|
children: viewModel.walletId
|
|
@@ -1546,7 +1421,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1546
1421
|
/* @__PURE__ */ jsx("label", {
|
|
1547
1422
|
class: "seams-field-label",
|
|
1548
1423
|
for: "seams-auth-menu-google-otp",
|
|
1549
|
-
children: "Email code"
|
|
1424
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Email code" })
|
|
1550
1425
|
}),
|
|
1551
1426
|
/* @__PURE__ */ jsxs("div", {
|
|
1552
1427
|
class: "seams-otp-code-field",
|
|
@@ -1574,7 +1449,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1574
1449
|
}),
|
|
1575
1450
|
/* @__PURE__ */ jsx("p", {
|
|
1576
1451
|
class: "seams-otp-helper",
|
|
1577
|
-
children: viewModel.prompt.helperText ?? ""
|
|
1452
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.prompt.helperText ?? "" })
|
|
1578
1453
|
}),
|
|
1579
1454
|
/* @__PURE__ */ jsx("button", {
|
|
1580
1455
|
class: "seams-auth-method-btn seams-auth-method-btn-primary",
|
|
@@ -1582,14 +1457,14 @@ var AuthMenuSurface = class extends Component {
|
|
|
1582
1457
|
"data-auth-menu-primary": true,
|
|
1583
1458
|
disabled: !isAuthMenuActionReady(viewModel),
|
|
1584
1459
|
onClick: this.onPrimaryClick,
|
|
1585
|
-
children: viewModel.submitBusy ? "Unlocking…" : viewModel.ctaLabel
|
|
1460
|
+
children: viewModel.submitBusy ? /* @__PURE__ */ jsx(WalletText, { message: "Unlocking…" }) : /* @__PURE__ */ jsx(WalletText, { copy: viewModel.ctaLabel })
|
|
1586
1461
|
}),
|
|
1587
1462
|
/* @__PURE__ */ jsx("button", {
|
|
1588
1463
|
class: "seams-otp-resend auth-menu-google-resend",
|
|
1589
1464
|
type: "button",
|
|
1590
1465
|
disabled: viewModel.resendBusy || viewModel.submitBusy,
|
|
1591
1466
|
onClick: this.onGoogleOtpResend,
|
|
1592
|
-
children: viewModel.resendBusy ? "Sending…" : "Resend Code"
|
|
1467
|
+
children: viewModel.resendBusy ? /* @__PURE__ */ jsx(WalletText, { message: "Sending…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Resend Code" })
|
|
1593
1468
|
})
|
|
1594
1469
|
]
|
|
1595
1470
|
}) });
|
|
@@ -1604,18 +1479,18 @@ var AuthMenuSurface = class extends Component {
|
|
|
1604
1479
|
/* @__PURE__ */ jsx("div", {
|
|
1605
1480
|
class: "seams-otp-title",
|
|
1606
1481
|
id: AUTH_MENU_TITLE_ID,
|
|
1607
|
-
children: viewModel.heading
|
|
1482
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.heading })
|
|
1608
1483
|
}),
|
|
1609
1484
|
/* @__PURE__ */ jsx("p", {
|
|
1610
1485
|
class: "seams-otp-description",
|
|
1611
|
-
children: viewModel.subtitle
|
|
1486
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.subtitle })
|
|
1612
1487
|
}),
|
|
1613
1488
|
/* @__PURE__ */ jsxs("div", {
|
|
1614
1489
|
class: "seams-otp-account",
|
|
1615
|
-
title: viewModel.walletId,
|
|
1490
|
+
title: walletDisplayText(this.context, viewModel.walletId),
|
|
1616
1491
|
children: [/* @__PURE__ */ jsx("span", {
|
|
1617
1492
|
class: "seams-otp-account-label",
|
|
1618
|
-
children: "Wallet"
|
|
1493
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Wallet" })
|
|
1619
1494
|
}), /* @__PURE__ */ jsx("span", {
|
|
1620
1495
|
class: "seams-otp-account-value",
|
|
1621
1496
|
children: viewModel.walletId
|
|
@@ -1626,7 +1501,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1626
1501
|
type: "button",
|
|
1627
1502
|
disabled: viewModel.rerollBusy || viewModel.submitBusy,
|
|
1628
1503
|
onClick: this.onGoogleRegistrationReroll,
|
|
1629
|
-
children: viewModel.rerollBusy ? "Generating…" : "Generate another name"
|
|
1504
|
+
children: viewModel.rerollBusy ? /* @__PURE__ */ jsx(WalletText, { message: "Generating…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Generate another name" })
|
|
1630
1505
|
})
|
|
1631
1506
|
]
|
|
1632
1507
|
}), /* @__PURE__ */ jsx("button", {
|
|
@@ -1635,7 +1510,7 @@ var AuthMenuSurface = class extends Component {
|
|
|
1635
1510
|
"data-auth-menu-primary": true,
|
|
1636
1511
|
disabled: !isAuthMenuActionReady(viewModel),
|
|
1637
1512
|
onClick: this.onPrimaryClick,
|
|
1638
|
-
children: viewModel.submitBusy ? "Creating..." : viewModel.ctaLabel
|
|
1513
|
+
children: viewModel.submitBusy ? /* @__PURE__ */ jsx(WalletText, { message: "Creating..." }) : /* @__PURE__ */ jsx(WalletText, { copy: viewModel.ctaLabel })
|
|
1639
1514
|
})]
|
|
1640
1515
|
}) });
|
|
1641
1516
|
}
|