@seams/wallet 0.15.6 → 0.18.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 +15 -8
- package/THIRD_PARTY_NOTICES.md +102 -1
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/SeamsWeb.js +20 -1
- package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +73 -0
- package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +22 -0
- package/dist/esm/SeamsWeb/publicApi/capabilitySelection.js +2 -1
- package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +26 -1
- package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-controller.js +71 -69
- package/dist/esm/SeamsWeb/walletIframe/client/preferenceState.js +6 -8
- package/dist/esm/SeamsWeb/walletIframe/client/preferences.js +7 -5
- package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +2 -1
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +116 -108
- package/dist/esm/SeamsWeb/walletIframe/client/surface/transactionSurfaceQueue.js +11 -7
- package/dist/esm/SeamsWeb/walletIframe/client/transactionReviewReservation.js +3 -2
- package/dist/esm/SeamsWeb/walletIframe/client/transport/IframeTransport.js +53 -49
- package/dist/esm/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.js +6 -2
- package/dist/esm/SeamsWeb/walletIframe/coordinator.js +18 -13
- package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +14 -13
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +6 -8
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +387 -535
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +13 -8
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.js +116 -0
- package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.js +60 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +2 -0
- package/dist/esm/core/config/configBuilder.js +3 -1
- package/dist/esm/core/config/defaultConfigs.js +1 -0
- package/dist/esm/core/indexedDB/accountSignerLifecycle.js +2 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +1 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +6 -5
- package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +2 -0
- package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +2 -2
- package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +6 -3
- package/dist/esm/core/rpcClients/near/NearRpcError.js +7 -0
- package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +3 -0
- package/dist/esm/core/rpcClients/relayer/walletRegistration.js +6 -2
- package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +5 -4
- package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +2 -1
- package/dist/esm/core/signingEngine/chains/tempo/tempoAdapter.js +2 -1
- package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +5 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.js +1 -1
- package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +3 -2
- package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.js +5 -7
- package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +2 -0
- package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +68 -10
- package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +2 -2
- package/dist/esm/core/signingEngine/session/operationState/authorizationAdmission.js +2 -0
- package/dist/esm/core/signingEngine/stepUpConfirmation/methodSelection.js +2 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +36 -32
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.js +10 -6
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +12 -12
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +29 -29
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +141 -141
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +21 -21
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +45 -40
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +19 -21
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/HaloBorder.js +21 -24
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +16 -16
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.js +9 -5
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +128 -125
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +72 -74
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +51 -26
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +65 -53
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +44 -40
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +122 -122
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/WalletLocale.js +24 -0
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/email-otp-session.js +81 -80
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +47 -41
- package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +17 -11
- package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +4 -21
- package/dist/esm/core/types/actionBuilders.js +16 -2
- package/dist/esm/core/types/amounts.js +83 -0
- package/dist/esm/core/types/linkDevice.js +1 -1
- package/dist/esm/core/ui/locale.js +10 -0
- package/dist/esm/core/ui/messages.js +694 -0
- package/dist/esm/externalEvm/controller.js +49 -48
- package/dist/esm/index.js +3 -1
- package/dist/esm/react/boundWallet.js +56 -0
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +7 -3
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +6 -3
- 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.js +4 -3
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +13 -2
- 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.js +8 -4
- package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +112 -108
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +74 -73
- 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/HostedSeamsAuthMenu/shell.js +17 -6
- package/dist/esm/react/components/QRCodeScanner.js +28 -23
- package/dist/esm/react/components/ShowQRCode.css +13 -2
- 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 +38 -6
- package/dist/esm/react/context/useSeamsWithSdkFlow.js +1 -1
- package/dist/esm/react/externalEvm.js +22 -25
- package/dist/esm/react/index.js +4 -4
- package/dist/esm/react/styles/styles.css +13 -2
- package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -6
- package/dist/esm/react/transactionReview/boundCalls.js +1 -1
- package/dist/esm/react/transactionReview/controller.js +121 -119
- package/dist/esm/sdk/ConfirmationDrawer-mu3iThxX.js +1 -0
- package/dist/esm/sdk/NonceCoordinator-Dq-FZpBz.js +1 -0
- package/dist/{public/sdk/accountLifecycle-CBOkr0vU.js → esm/sdk/accountLifecycle-fLNUdjct.js} +1 -1
- package/dist/esm/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-BpbnpU9s.js} +1 -1
- package/dist/esm/sdk/adapters-u7LVXthY.js +2 -0
- package/dist/esm/sdk/appearance-token-vars-CzBVbO39.js +2 -0
- package/dist/esm/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
- package/dist/esm/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BMP5yILS.js} +1 -1
- package/dist/esm/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
- package/dist/esm/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
- package/dist/esm/sdk/challengeDelivery-CG2J5Qxs.js +1 -0
- package/dist/esm/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
- package/dist/esm/sdk/{commitQueue-DYEgzoLA.js → commitQueue-BW7BpYyA.js} +1 -1
- package/dist/esm/sdk/configBuilder-BMNShuOu.js +1 -0
- package/dist/esm/sdk/{configHelpers-B-hs0mTO.js → configHelpers-D50F_Txb.js} +1 -1
- package/dist/esm/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-aC4dSf_x.js} +1 -1
- package/dist/esm/sdk/{display-DsfJkAra.js → display-WtILOPQR.js} +1 -1
- package/dist/esm/sdk/domainIds-C3fUa33Q.js +1 -0
- package/dist/esm/sdk/ecdsaCapabilityManifest-DRc423SV.js +1 -0
- package/dist/esm/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js +1 -0
- package/dist/{public/sdk/ecdsaDerivationExport-DOGzq0qC.js → esm/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
- package/dist/esm/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
- package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → esm/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
- package/dist/esm/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
- package/dist/esm/sdk/export-viewer-host-ivf9LlBo.js +1 -0
- package/dist/{public/sdk/exportKeypairOperation-DzbjKbnk.js → esm/sdk/exportKeypairOperation-Gw7L5Htj.js} +1 -1
- package/dist/esm/sdk/{helpers-B9fpZNAP.js → helpers-DS0bksx9.js} +1 -1
- package/dist/esm/sdk/{host-DfWylEiw.js → host-B-2QXolt.js} +1 -1
- package/dist/esm/sdk/{intentDigest-P_-CM7lS.js → intentDigest-Rh5Mg8X7.js} +1 -1
- package/dist/esm/sdk/{lanes-5kcTFbPx.js → lanes-BzU7cv2T.js} +1 -1
- package/dist/esm/sdk/localOnly-BKpUHtHa.js +1 -0
- package/dist/esm/sdk/mountExportPrivateKeySurface-C8pUK6PQ.js +1 -0
- package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DUudF89t.js +2 -0
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js +1 -0
- package/dist/{public/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → esm/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
- package/dist/esm/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
- package/dist/esm/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
- package/dist/esm/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-C4VX-0NI.js} +1 -1
- package/dist/esm/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-Ba-NQ_4C.js} +1 -1
- package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-7tBjuSe7.js} +1 -1
- package/dist/esm/sdk/presignaturePool-BHoxnbOA.js +1 -0
- package/dist/esm/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
- package/dist/esm/sdk/{primitives-CqrjmIAH.js → primitives-CTmDwMNc.js} +1 -1
- package/dist/{public/sdk/recovery-entrypoint-BULjaFBM.js → esm/sdk/recovery-entrypoint-DWghFZrZ.js} +1 -1
- package/dist/esm/sdk/{registration-CyF7nOXs.js → registration-CWpOVwhj.js} +1 -1
- package/dist/esm/sdk/registration-D2OEgY7O.js +1 -0
- package/dist/esm/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
- package/dist/esm/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
- package/dist/esm/sdk/{registrationIds-BaK3jUS6.js → registrationIds-B1OpqRAt.js} +1 -1
- package/dist/esm/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-D4YDjf2U.js} +1 -1
- package/dist/{public/sdk/registrationSignerPlan-CPzHavPM.js → esm/sdk/registrationSignerPlan-BHkqlian.js} +1 -1
- package/dist/{public/sdk/requireStepUpAuth-BCY5ZStI.js → esm/sdk/requireStepUpAuth-CnSCFSOZ.js} +1 -1
- package/dist/esm/sdk/routerAbNormalSigning-BV1t27aB.js +1 -0
- package/dist/esm/sdk/runtime-auth-jtyQAuxZ.js +1 -0
- package/dist/esm/sdk/runtime-device-link-vhRhB-wS.js +1 -0
- package/dist/esm/sdk/runtime-ecdsa-tempo-BXWgFVBa.js +1 -0
- package/dist/esm/sdk/runtime-email-otp-BlAaSKtk.js +1 -0
- package/dist/esm/sdk/runtime-export-B4FuHhcH.js +1 -0
- package/dist/esm/sdk/runtime-near-BnWOpEpA.js +1 -0
- package/dist/esm/sdk/runtime-preferences-COm-LTiu.js +1 -0
- package/dist/esm/sdk/runtime-recovery-BJTo5Idi.js +1 -0
- package/dist/esm/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-CEOjdUHV.js} +1 -1
- package/dist/esm/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
- package/dist/esm/sdk/secp256k1-wOOHtPcK.js +1 -0
- 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-BKPGtAps.js +6 -0
- package/dist/{public/sdk/signEvmFamily-Cpm3e6Zs.js → esm/sdk/signEvmFamily-DT34Vtpa.js} +1 -1
- package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js +1 -0
- package/dist/esm/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
- package/dist/esm/sdk/signNear-B000QxBd.js +1 -0
- package/dist/esm/sdk/signatureUses-B_nN17i7.js +1 -0
- package/dist/esm/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
- package/dist/esm/sdk/{signingFlow-VAnM8L5C.js → signingFlow-gl85GOW4.js} +2 -2
- package/dist/esm/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-gW7wmOuL.js} +1 -1
- package/dist/{public/sdk/singletons-BXhnsqeY.js → esm/sdk/singletons-CAsc9LvA.js} +1 -1
- package/dist/esm/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
- package/dist/{public/sdk/thresholdEcdsa-CneSKcRt.js → esm/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
- package/dist/esm/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
- package/dist/{public/sdk/transaction-activity-Cccvec2J.js → esm/sdk/transaction-activity-C0nCSW6c.js} +1 -1
- package/dist/esm/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
- package/dist/{public/sdk/transactionState-Day-1x7Y.js → esm/sdk/transactionState-lB2qpkOm.js} +1 -1
- package/dist/esm/sdk/tx-confirm-ui.js +2502 -1174
- package/dist/esm/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.js} +1 -1
- 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/{public/sdk/wallet-recovery-Bfhfk52N.js → esm/sdk/wallet-recovery-DFaS3geI.js} +1 -1
- package/dist/esm/sdk/wallet-ui.css +1 -1
- package/dist/{public/sdk/walletAuthMethodRecord-LniOQQmj.js → esm/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
- package/dist/{public/sdk/walletAuthority-CAiGuWW2.js → esm/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js +1 -0
- package/dist/esm/sdk/{walletDbName-DtRewci9.js → walletDbName-BxWApBQF.js} +1 -1
- package/dist/esm/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-DSGfjuV2.js} +1 -1
- package/dist/esm/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
- package/dist/esm/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-zvQThn37.js} +1 -1
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js +1 -0
- package/dist/esm/sdk/walletSessionAuthorizationStore-DnUMtkev.js +1 -0
- package/dist/esm/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
- package/dist/esm/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
- package/dist/esm/sdk/webauthnP256-_ajaNl90.js +1 -0
- package/dist/esm/sdk/webauthnPromptCoordinator-9bVeHcTZ.js +1 -0
- package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
- package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +6 -0
- package/dist/esm/shared-ts/src/near/nearClient.js +6 -0
- package/dist/esm/shared-ts/src/threshold/participants.js +2 -1
- package/dist/esm/shared-ts/src/threshold/secp256k1.js +6 -0
- package/dist/esm/shared-ts/src/utils/domainIds.js +7 -0
- package/dist/esm/shared-ts/src/utils/index.js +1 -1
- package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +14 -1
- package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +5 -4
- package/dist/esm/utils/qrScanner.js +10 -8
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/ConfirmationDrawer-mu3iThxX.js +1 -0
- package/dist/public/sdk/NonceCoordinator-Dq-FZpBz.js +1 -0
- package/dist/{esm/sdk/accountLifecycle-CBOkr0vU.js → public/sdk/accountLifecycle-fLNUdjct.js} +1 -1
- package/dist/public/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-BpbnpU9s.js} +1 -1
- package/dist/public/sdk/adapters-u7LVXthY.js +2 -0
- package/dist/public/sdk/appearance-token-vars-CzBVbO39.js +2 -0
- package/dist/public/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
- package/dist/public/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BMP5yILS.js} +1 -1
- package/dist/public/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
- package/dist/public/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
- package/dist/public/sdk/challengeDelivery-CG2J5Qxs.js +1 -0
- package/dist/public/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
- package/dist/public/sdk/{commitQueue-DYEgzoLA.js → commitQueue-BW7BpYyA.js} +1 -1
- package/dist/public/sdk/configBuilder-BMNShuOu.js +1 -0
- package/dist/public/sdk/{configHelpers-B-hs0mTO.js → configHelpers-D50F_Txb.js} +1 -1
- package/dist/public/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-aC4dSf_x.js} +1 -1
- package/dist/public/sdk/{display-DsfJkAra.js → display-WtILOPQR.js} +1 -1
- package/dist/public/sdk/domainIds-C3fUa33Q.js +1 -0
- package/dist/public/sdk/ecdsaCapabilityManifest-DRc423SV.js +1 -0
- package/dist/public/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js +1 -0
- package/dist/{esm/sdk/ecdsaDerivationExport-DOGzq0qC.js → public/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
- package/dist/public/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
- package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → public/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
- package/dist/public/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
- package/dist/public/sdk/export-viewer-host-ivf9LlBo.js +1 -0
- package/dist/{esm/sdk/exportKeypairOperation-DzbjKbnk.js → public/sdk/exportKeypairOperation-Gw7L5Htj.js} +1 -1
- package/dist/public/sdk/{helpers-B9fpZNAP.js → helpers-DS0bksx9.js} +1 -1
- package/dist/public/sdk/{host-DfWylEiw.js → host-B-2QXolt.js} +1 -1
- package/dist/public/sdk/{intentDigest-P_-CM7lS.js → intentDigest-Rh5Mg8X7.js} +1 -1
- package/dist/public/sdk/{lanes-5kcTFbPx.js → lanes-BzU7cv2T.js} +1 -1
- package/dist/public/sdk/localOnly-BKpUHtHa.js +1 -0
- package/dist/public/sdk/mountExportPrivateKeySurface-C8pUK6PQ.js +1 -0
- package/dist/public/sdk/mountRecoveryCodeBackupSurface-DUudF89t.js +2 -0
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js +1 -0
- package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → public/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
- package/dist/public/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
- package/dist/public/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
- package/dist/public/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-C4VX-0NI.js} +1 -1
- package/dist/public/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-Ba-NQ_4C.js} +1 -1
- package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-7tBjuSe7.js} +1 -1
- package/dist/public/sdk/presignaturePool-BHoxnbOA.js +1 -0
- package/dist/public/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
- package/dist/public/sdk/{primitives-CqrjmIAH.js → primitives-CTmDwMNc.js} +1 -1
- package/dist/{esm/sdk/recovery-entrypoint-BULjaFBM.js → public/sdk/recovery-entrypoint-DWghFZrZ.js} +1 -1
- package/dist/public/sdk/{registration-CyF7nOXs.js → registration-CWpOVwhj.js} +1 -1
- package/dist/public/sdk/registration-D2OEgY7O.js +1 -0
- package/dist/public/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
- package/dist/public/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
- package/dist/public/sdk/{registrationIds-BaK3jUS6.js → registrationIds-B1OpqRAt.js} +1 -1
- package/dist/public/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-D4YDjf2U.js} +1 -1
- package/dist/{esm/sdk/registrationSignerPlan-CPzHavPM.js → public/sdk/registrationSignerPlan-BHkqlian.js} +1 -1
- package/dist/{esm/sdk/requireStepUpAuth-BCY5ZStI.js → public/sdk/requireStepUpAuth-CnSCFSOZ.js} +1 -1
- package/dist/public/sdk/routerAbNormalSigning-BV1t27aB.js +1 -0
- package/dist/public/sdk/runtime-auth-jtyQAuxZ.js +1 -0
- package/dist/public/sdk/runtime-device-link-vhRhB-wS.js +1 -0
- package/dist/public/sdk/runtime-ecdsa-tempo-BXWgFVBa.js +1 -0
- package/dist/public/sdk/runtime-email-otp-BlAaSKtk.js +1 -0
- package/dist/public/sdk/runtime-export-B4FuHhcH.js +1 -0
- package/dist/public/sdk/runtime-near-BnWOpEpA.js +1 -0
- package/dist/public/sdk/runtime-preferences-COm-LTiu.js +1 -0
- package/dist/public/sdk/runtime-recovery-BJTo5Idi.js +1 -0
- package/dist/public/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-CEOjdUHV.js} +1 -1
- package/dist/public/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
- package/dist/public/sdk/secp256k1-wOOHtPcK.js +1 -0
- 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-BKPGtAps.js +6 -0
- package/dist/{esm/sdk/signEvmFamily-Cpm3e6Zs.js → public/sdk/signEvmFamily-DT34Vtpa.js} +1 -1
- package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js +1 -0
- package/dist/public/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
- package/dist/public/sdk/signNear-B000QxBd.js +1 -0
- package/dist/public/sdk/signatureUses-B_nN17i7.js +1 -0
- package/dist/public/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
- package/dist/public/sdk/{signingFlow-VAnM8L5C.js → signingFlow-gl85GOW4.js} +2 -2
- package/dist/public/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-gW7wmOuL.js} +1 -1
- package/dist/{esm/sdk/singletons-BXhnsqeY.js → public/sdk/singletons-CAsc9LvA.js} +1 -1
- package/dist/public/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
- package/dist/{esm/sdk/thresholdEcdsa-CneSKcRt.js → public/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
- package/dist/public/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
- package/dist/{esm/sdk/transaction-activity-Cccvec2J.js → public/sdk/transaction-activity-C0nCSW6c.js} +1 -1
- package/dist/public/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
- package/dist/{esm/sdk/transactionState-Day-1x7Y.js → public/sdk/transactionState-lB2qpkOm.js} +1 -1
- package/dist/public/sdk/tx-confirm-ui.js +2502 -1174
- package/dist/public/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.js} +1 -1
- 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/{esm/sdk/wallet-recovery-Bfhfk52N.js → public/sdk/wallet-recovery-DFaS3geI.js} +1 -1
- package/dist/public/sdk/wallet-ui.css +1 -1
- package/dist/{esm/sdk/walletAuthMethodRecord-LniOQQmj.js → public/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
- package/dist/{esm/sdk/walletAuthority-CAiGuWW2.js → public/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
- package/dist/public/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js +1 -0
- package/dist/public/sdk/{walletDbName-DtRewci9.js → walletDbName-BxWApBQF.js} +1 -1
- package/dist/public/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-DSGfjuV2.js} +1 -1
- package/dist/public/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
- package/dist/public/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-zvQThn37.js} +1 -1
- package/dist/public/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js +1 -0
- package/dist/public/sdk/walletSessionAuthorizationStore-DnUMtkev.js +1 -0
- package/dist/public/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
- package/dist/public/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
- package/dist/public/sdk/webauthnP256-_ajaNl90.js +1 -0
- package/dist/public/sdk/webauthnPromptCoordinator-9bVeHcTZ.js +1 -0
- package/dist/public/sdk/workers/device-linking-key.worker.js +12 -11
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +146 -48
- package/dist/public/sdk/workers/ecdsa-online-client.worker.js +7 -6
- package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +7 -6
- package/dist/public/sdk/workers/email-otp.worker.js +17 -3
- package/dist/public/sdk/workers/passkey-mpc-export.worker.js +10 -0
- package/dist/public/sdk/workers/passkey-mpc-session.worker.js +2 -1
- package/dist/public/wallet-assets.manifest.json +228 -228
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +14 -14
- package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +1 -1
- package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +1 -1
- package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +1 -1
- package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +5 -5
- package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +3 -3
- package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +1 -1
- package/dist/types/shared-ts/src/tenant-root/tenantRootIdentity.d.ts +1 -1
- package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/base64.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +1 -1
- package/dist/types/shared-ts/src/utils/digests.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +16 -16
- package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +1 -1
- package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +10 -10
- package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +12 -11
- package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +3 -3
- package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +1 -1
- package/dist/types/shared-ts/src/utils/signerDomain.d.ts +15 -15
- package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +11 -11
- package/dist/types/shared-ts/src/utils/walletSessionFailure.d.ts +8 -8
- package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/wireSchema.d.ts +1 -1
- package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +1 -1
- package/dist/types/wallet/build-paths.d.ts +73 -73
- package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
- package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingResume.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceTargetActivation.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +3 -3
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +4 -3
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +5 -0
- package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -2
- package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +10 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +4 -2
- package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +4 -4
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +3 -2
- 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 +4 -6
- 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/SeamsWeb/walletIframe/shared/messages.d.ts +3 -3
- package/dist/types/wallet/src/config.d.ts +8 -8
- package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +1 -1
- package/dist/types/wallet/src/core/indexedDB/linkedAuthoritySignerMaterial.d.ts +3 -3
- package/dist/types/wallet/src/core/indexedDB/pendingWalletRecoveryCommit.d.ts +1 -1
- package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +181 -181
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +8 -8
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +4 -4
- package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +1 -1
- package/dist/types/wallet/src/core/indexedDB/walletCustodyEd25519MaterialRecord.d.ts +2 -2
- package/dist/types/wallet/src/core/indexedDB/walletDbName.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/chains/evm/evmAdapter.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/chains/evm/evmSigning.types.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoAdapter.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +27 -27
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +17 -17
- package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +40 -40
- package/dist/types/wallet/src/core/signingEngine/session/material/walletSigningStateFailure.d.ts +4 -4
- package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +8 -8
- package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmCommon.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +4 -4
- package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/threshold/sessionPolicy.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.d.ts +1 -1
- 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 +2 -3
- 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/CopyStatusIcon.d.ts +1 -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/PadlockIcon.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyHaloLoading.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 +1 -2
- 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/SeamsWordmark.d.ts +1 -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/signingEngine/webauthnAuth/credentials/helpers.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingPorts.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/validation.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +1 -0
- package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ecdsaTargetShareHpke.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ordinaryMaterialState.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +3 -3
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/materialParsing.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +2 -2
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +1 -1
- package/dist/types/wallet/src/core/signingEngine/workerManager/workers/workerErrorPayload.d.ts +2 -2
- package/dist/types/wallet/src/core/types/actionBuilders.d.ts +16 -2
- package/dist/types/wallet/src/core/types/amounts.d.ts +75 -0
- package/dist/types/wallet/src/core/types/amounts.typecheck.d.ts +2 -0
- package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +5 -5
- package/dist/types/wallet/src/core/types/seams.d.ts +3 -0
- package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +1 -1
- package/dist/types/wallet/src/core/types/signer-worker.d.ts +7 -7
- 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/externalEvm/types.d.ts +1 -0
- package/dist/types/wallet/src/index.d.ts +5 -1
- package/dist/types/wallet/src/react/{hooks/useWallet.d.ts → boundWallet.d.ts} +8 -48
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +1 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountsSection.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/ExportKeysSection.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/ProfileDropdown.d.ts +0 -1
- 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 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockKeyholeIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/PlusIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/icons/TouchIcon.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +0 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +8 -8
- package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.d.ts +2 -1
- package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +0 -1
- package/dist/types/wallet/src/react/components/VoiceAssistantCard.d.ts +0 -1
- package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +1 -0
- package/dist/types/wallet/src/react/context/WalletLocale.d.ts +16 -0
- package/dist/types/wallet/src/react/context/index.d.ts +2 -1
- package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
- package/dist/types/wallet/src/react/index.d.ts +3 -2
- package/dist/types/wallet/src/react/styles.d.ts +2 -0
- package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +57 -57
- package/dist/types/wallet/src/react/types.d.ts +14 -1
- package/dist/types/wallet/src/theme/base-styles.d.ts +4 -4
- package/dist/workers/device-linking-key.worker.js +12 -11
- package/dist/workers/ecdsa-derivation-client.worker.js +146 -48
- package/dist/workers/ecdsa-online-client.worker.js +7 -6
- package/dist/workers/ecdsa-presign-client.worker.js +7 -6
- package/dist/workers/email-otp.worker.js +17 -3
- package/dist/workers/passkey-mpc-export.worker.js +10 -0
- package/dist/workers/passkey-mpc-session.worker.js +2 -1
- package/package.json +8 -6
- package/dist/esm/react/hooks/useWallet.js +0 -108
- package/dist/esm/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
- package/dist/esm/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
- package/dist/esm/sdk/adapters-DsAaBNNY.js +0 -2
- package/dist/esm/sdk/authorizationAdmission-CGinGhXH.js +0 -1
- package/dist/esm/sdk/challengeDelivery-CATQ4u6P.js +0 -1
- package/dist/esm/sdk/configBuilder-BMawmNpz.js +0 -1
- package/dist/esm/sdk/domainIds-BzkGsRqO.js +0 -1
- package/dist/esm/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
- package/dist/esm/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
- package/dist/esm/sdk/export-viewer-host-CV-lSsQF.js +0 -1
- package/dist/esm/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
- package/dist/esm/sdk/localOnly-C5mSXb_D.js +0 -1
- package/dist/esm/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
- package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
- package/dist/esm/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
- package/dist/esm/sdk/presignaturePool-V10fZpG3.js +0 -1
- package/dist/esm/sdk/registration-yoF0o52H.js +0 -1
- package/dist/esm/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
- package/dist/esm/sdk/runtime-auth--i_j8PP7.js +0 -1
- package/dist/esm/sdk/runtime-device-link-fpvaxYyR.js +0 -1
- package/dist/esm/sdk/runtime-ecdsa-tempo-AE5QTaXu.js +0 -1
- package/dist/esm/sdk/runtime-email-otp-Dl03QI-O.js +0 -1
- package/dist/esm/sdk/runtime-export-F9s12UcT.js +0 -1
- package/dist/esm/sdk/runtime-near-Bjrz1KYf.js +0 -1
- package/dist/esm/sdk/runtime-preferences-oLRSEqmz.js +0 -1
- package/dist/esm/sdk/runtime-recovery-DBBKvIIg.js +0 -1
- package/dist/esm/sdk/secp256k1-CKq7_HD-.js +0 -1
- package/dist/esm/sdk/sessionObservationRevision-CnEOLDbl.js +0 -1
- package/dist/esm/sdk/shared-D893jckQ.js +0 -6
- package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
- package/dist/esm/sdk/signNear-XGZBxc_g.js +0 -1
- package/dist/esm/sdk/signatureUses-BKAoDbQd.js +0 -1
- package/dist/esm/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
- package/dist/esm/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
- package/dist/esm/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
- package/dist/esm/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
- package/dist/esm/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
- package/dist/esm/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
- package/dist/esm/sdk/walletSessionFailure-YuhraC3P.js +0 -1
- package/dist/esm/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
- package/dist/esm/sdk/webauthnP256-BwgxtG5N.js +0 -1
- package/dist/esm/sdk/webauthnPromptCoordinator-CwJeKiYq.js +0 -1
- package/dist/public/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
- package/dist/public/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
- package/dist/public/sdk/adapters-DsAaBNNY.js +0 -2
- package/dist/public/sdk/authorizationAdmission-CGinGhXH.js +0 -1
- package/dist/public/sdk/challengeDelivery-CATQ4u6P.js +0 -1
- package/dist/public/sdk/configBuilder-BMawmNpz.js +0 -1
- package/dist/public/sdk/domainIds-BzkGsRqO.js +0 -1
- package/dist/public/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
- package/dist/public/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
- package/dist/public/sdk/export-viewer-host-CV-lSsQF.js +0 -1
- package/dist/public/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
- package/dist/public/sdk/localOnly-C5mSXb_D.js +0 -1
- package/dist/public/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
- package/dist/public/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
- package/dist/public/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
- package/dist/public/sdk/presignaturePool-V10fZpG3.js +0 -1
- package/dist/public/sdk/registration-yoF0o52H.js +0 -1
- package/dist/public/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
- package/dist/public/sdk/runtime-auth--i_j8PP7.js +0 -1
- package/dist/public/sdk/runtime-device-link-fpvaxYyR.js +0 -1
- package/dist/public/sdk/runtime-ecdsa-tempo-AE5QTaXu.js +0 -1
- package/dist/public/sdk/runtime-email-otp-Dl03QI-O.js +0 -1
- package/dist/public/sdk/runtime-export-F9s12UcT.js +0 -1
- package/dist/public/sdk/runtime-near-Bjrz1KYf.js +0 -1
- package/dist/public/sdk/runtime-preferences-oLRSEqmz.js +0 -1
- package/dist/public/sdk/runtime-recovery-DBBKvIIg.js +0 -1
- package/dist/public/sdk/secp256k1-CKq7_HD-.js +0 -1
- package/dist/public/sdk/sessionObservationRevision-CnEOLDbl.js +0 -1
- package/dist/public/sdk/shared-D893jckQ.js +0 -6
- package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
- package/dist/public/sdk/signNear-XGZBxc_g.js +0 -1
- package/dist/public/sdk/signatureUses-BKAoDbQd.js +0 -1
- package/dist/public/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
- package/dist/public/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
- package/dist/public/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
- package/dist/public/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
- package/dist/public/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
- package/dist/public/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
- package/dist/public/sdk/walletSessionFailure-YuhraC3P.js +0 -1
- package/dist/public/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
- package/dist/public/sdk/webauthnP256-BwgxtG5N.js +0 -1
- package/dist/public/sdk/webauthnPromptCoordinator-CwJeKiYq.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,3 +1,5 @@
|
|
|
1
|
+
import { walletDisplayText, walletText } from "../../../../ui/messages.js";
|
|
2
|
+
import { WalletLocaleContext, WalletText } from "./WalletLocale.js";
|
|
1
3
|
import { drawerDragTranslate, shouldDismissDrawerDrag } from "../drawer-gesture.js";
|
|
2
4
|
import { Component, createRef } from "preact";
|
|
3
5
|
import { jsx, jsxs } from "preact/jsx-runtime";
|
|
@@ -8,143 +10,20 @@ function ConfirmationDrawer(props) {
|
|
|
8
10
|
return /* @__PURE__ */ jsx(DrawerShell, { ...props }, props.context);
|
|
9
11
|
}
|
|
10
12
|
var DrawerShell = class extends Component {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this.suppressPointerClick = false;
|
|
26
|
-
this.openAfterLayout = () => {
|
|
27
|
-
this.frame = null;
|
|
28
|
-
this.setState({ settled: true });
|
|
29
|
-
};
|
|
30
|
-
this.scheduleMeasure = () => {
|
|
31
|
-
if (this.lifetime === "disposed" || this.frame !== null) return;
|
|
32
|
-
this.frame = this.sheet.current.ownerDocument.defaultView.requestAnimationFrame(this.measureFrame);
|
|
33
|
-
};
|
|
34
|
-
this.measureFrame = () => {
|
|
35
|
-
this.frame = null;
|
|
36
|
-
this.measure();
|
|
37
|
-
};
|
|
38
|
-
this.measureContent = () => {
|
|
39
|
-
if (this.lifetime === "active") this.measure();
|
|
40
|
-
};
|
|
41
|
-
this.reportClosed = () => {
|
|
42
|
-
this.clearCloseTimer();
|
|
43
|
-
if (this.lifetime === "disposed" || this.closeReported || this.props.state.kind !== "closing") return;
|
|
44
|
-
this.closeReported = true;
|
|
45
|
-
this.props.state.onClosed();
|
|
46
|
-
};
|
|
47
|
-
this.transitionEnd = (event) => {
|
|
48
|
-
if (event.target === this.sheet.current && event.propertyName === "transform") this.reportClosed();
|
|
49
|
-
};
|
|
50
|
-
this.cancel = (event) => {
|
|
51
|
-
event.preventDefault();
|
|
52
|
-
event.stopPropagation();
|
|
53
|
-
if (this.props.state.kind === "open") this.props.onCancel();
|
|
54
|
-
};
|
|
55
|
-
this.backdropClick = (event) => {
|
|
56
|
-
if (this.props.dismissOnBackdrop !== false && event.target === this.dialog.current && this.canDrag()) this.cancel(event);
|
|
57
|
-
};
|
|
58
|
-
this.keyDown = (event) => {
|
|
59
|
-
if (!event.defaultPrevented && event.key === "Escape") this.cancel(event);
|
|
60
|
-
};
|
|
61
|
-
this.pointerDown = (event) => {
|
|
62
|
-
this.clearClickSuppression();
|
|
63
|
-
if (!this.canDrag() || this.gesture.kind !== "idle" || !event.isPrimary || event.button !== 0) return;
|
|
64
|
-
const target = event.target;
|
|
65
|
-
if (target instanceof Element && target.closest("a, input, textarea, select, summary, button:not(.seams-drawer-handle), [data-seams-drawer-no-drag]")) return;
|
|
66
|
-
this.gesture = {
|
|
67
|
-
kind: "pending",
|
|
68
|
-
pointerId: event.pointerId,
|
|
69
|
-
startY: event.clientY
|
|
70
|
-
};
|
|
71
|
-
const doc = this.sheet.current.ownerDocument;
|
|
72
|
-
doc.addEventListener("pointermove", this.pointerMove, { passive: false });
|
|
73
|
-
doc.addEventListener("pointerup", this.pointerUp);
|
|
74
|
-
doc.addEventListener("pointercancel", this.pointerCancel);
|
|
75
|
-
};
|
|
76
|
-
this.pointerMove = (event) => {
|
|
77
|
-
let gesture = this.gesture;
|
|
78
|
-
if (gesture.kind === "idle" || gesture.pointerId !== event.pointerId) return;
|
|
79
|
-
const sheet = this.sheet.current;
|
|
80
|
-
if (gesture.kind === "pending") {
|
|
81
|
-
if (Math.abs(event.clientY - gesture.startY) < 8 || this.body.current.scrollTop > 0) return;
|
|
82
|
-
const win = sheet.ownerDocument.defaultView;
|
|
83
|
-
const rest = new DOMMatrixReadOnly(win.getComputedStyle(sheet).transform).m42;
|
|
84
|
-
gesture = {
|
|
85
|
-
kind: "dragging",
|
|
86
|
-
pointerId: gesture.pointerId,
|
|
87
|
-
startY: gesture.startY,
|
|
88
|
-
lastY: gesture.startY,
|
|
89
|
-
startedAt: event.timeStamp,
|
|
90
|
-
lastTime: event.timeStamp,
|
|
91
|
-
velocity: 0,
|
|
92
|
-
rest,
|
|
93
|
-
translate: rest,
|
|
94
|
-
height: sheet.offsetHeight
|
|
95
|
-
};
|
|
96
|
-
this.gesture = gesture;
|
|
97
|
-
sheet.setPointerCapture(event.pointerId);
|
|
98
|
-
sheet.classList.add("is-dragging");
|
|
99
|
-
}
|
|
100
|
-
const elapsed = event.timeStamp - gesture.lastTime;
|
|
101
|
-
if (elapsed > 0) gesture.velocity = (event.clientY - gesture.lastY) / elapsed;
|
|
102
|
-
gesture.lastY = event.clientY;
|
|
103
|
-
gesture.lastTime = event.timeStamp;
|
|
104
|
-
gesture.translate = drawerDragTranslate({
|
|
105
|
-
startTranslatePx: gesture.rest,
|
|
106
|
-
deltaPx: event.clientY - gesture.startY,
|
|
107
|
-
restTranslatePx: gesture.rest,
|
|
108
|
-
sheetHeightPx: gesture.height,
|
|
109
|
-
viewportHeightPx: sheet.ownerDocument.defaultView.innerHeight,
|
|
110
|
-
minimumOverpullPx: 160
|
|
111
|
-
});
|
|
112
|
-
this.props.styles.setDynamicDeclarations(`${this.id}-drag`, `#${this.id}`, { "--seams-drawer-drag": `${gesture.translate}px` });
|
|
113
|
-
event.preventDefault();
|
|
114
|
-
};
|
|
115
|
-
this.pointerUp = (event) => {
|
|
116
|
-
const gesture = this.gesture;
|
|
117
|
-
if (gesture.kind === "idle" || gesture.pointerId !== event.pointerId) return;
|
|
118
|
-
const dismiss = gesture.kind === "dragging" && shouldDismissDrawerDrag({
|
|
119
|
-
velocityPxPerMs: gesture.velocity,
|
|
120
|
-
totalDeltaPx: gesture.lastY - gesture.startY,
|
|
121
|
-
durationMs: event.timeStamp - gesture.startedAt,
|
|
122
|
-
translatePx: gesture.translate,
|
|
123
|
-
sheetHeightPx: gesture.height
|
|
124
|
-
});
|
|
125
|
-
if (gesture.kind === "dragging") {
|
|
126
|
-
this.suppressPointerClick = true;
|
|
127
|
-
event.preventDefault();
|
|
128
|
-
}
|
|
129
|
-
this.resetGesture();
|
|
130
|
-
if (dismiss && this.props.state.kind === "open") this.props.onCancel();
|
|
131
|
-
};
|
|
132
|
-
this.pointerCancel = (event) => {
|
|
133
|
-
if (this.gesture.kind !== "idle" && this.gesture.pointerId === event.pointerId) {
|
|
134
|
-
if (this.gesture.kind === "dragging") this.suppressPointerClick = true;
|
|
135
|
-
this.resetGesture();
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
this.clearClickSuppression = () => {
|
|
139
|
-
this.suppressPointerClick = false;
|
|
140
|
-
};
|
|
141
|
-
this.suppressDragClick = (event) => {
|
|
142
|
-
if (!this.suppressPointerClick || event.detail === 0) return;
|
|
143
|
-
this.suppressPointerClick = false;
|
|
144
|
-
event.preventDefault();
|
|
145
|
-
event.stopPropagation();
|
|
146
|
-
};
|
|
147
|
-
}
|
|
13
|
+
static contextType = WalletLocaleContext;
|
|
14
|
+
state = { settled: false };
|
|
15
|
+
id = `seams-confirmation-drawer-${++nextDrawerId}`;
|
|
16
|
+
dialog = createRef();
|
|
17
|
+
sheet = createRef();
|
|
18
|
+
body = createRef();
|
|
19
|
+
content = createRef();
|
|
20
|
+
observer = null;
|
|
21
|
+
frame = null;
|
|
22
|
+
closeTimer = null;
|
|
23
|
+
gesture = { kind: "idle" };
|
|
24
|
+
lifetime = "active";
|
|
25
|
+
closeReported = false;
|
|
26
|
+
suppressPointerClick = false;
|
|
148
27
|
componentDidMount() {
|
|
149
28
|
const sheet = this.sheet.current;
|
|
150
29
|
const win = sheet.ownerDocument.defaultView;
|
|
@@ -159,6 +38,10 @@ var DrawerShell = class extends Component {
|
|
|
159
38
|
this.frame = win.requestAnimationFrame(this.openAfterLayout);
|
|
160
39
|
if (this.props.state.kind === "closing") this.startClose();
|
|
161
40
|
}
|
|
41
|
+
openAfterLayout = () => {
|
|
42
|
+
this.frame = null;
|
|
43
|
+
this.setState({ settled: true });
|
|
44
|
+
};
|
|
162
45
|
componentDidUpdate(previous) {
|
|
163
46
|
if (previous.styles !== this.props.styles) {
|
|
164
47
|
previous.styles.deleteDynamicRule(this.id);
|
|
@@ -185,6 +68,17 @@ var DrawerShell = class extends Component {
|
|
|
185
68
|
this.props.styles.deleteDynamicRule(this.id);
|
|
186
69
|
this.dialog.current?.close();
|
|
187
70
|
}
|
|
71
|
+
scheduleMeasure = () => {
|
|
72
|
+
if (this.lifetime === "disposed" || this.frame !== null) return;
|
|
73
|
+
this.frame = this.sheet.current.ownerDocument.defaultView.requestAnimationFrame(this.measureFrame);
|
|
74
|
+
};
|
|
75
|
+
measureFrame = () => {
|
|
76
|
+
this.frame = null;
|
|
77
|
+
this.measure();
|
|
78
|
+
};
|
|
79
|
+
measureContent = () => {
|
|
80
|
+
if (this.lifetime === "active") this.measure();
|
|
81
|
+
};
|
|
188
82
|
measure() {
|
|
189
83
|
if (this.gesture.kind !== "idle") return;
|
|
190
84
|
const sheet = this.sheet.current;
|
|
@@ -206,9 +100,115 @@ var DrawerShell = class extends Component {
|
|
|
206
100
|
this.closeTimer = null;
|
|
207
101
|
}
|
|
208
102
|
}
|
|
103
|
+
reportClosed = () => {
|
|
104
|
+
this.clearCloseTimer();
|
|
105
|
+
if (this.lifetime === "disposed" || this.closeReported || this.props.state.kind !== "closing") return;
|
|
106
|
+
this.closeReported = true;
|
|
107
|
+
this.props.state.onClosed();
|
|
108
|
+
};
|
|
109
|
+
transitionEnd = (event) => {
|
|
110
|
+
if (event.target === this.sheet.current && event.propertyName === "transform") this.reportClosed();
|
|
111
|
+
};
|
|
112
|
+
cancel = (event) => {
|
|
113
|
+
event.preventDefault();
|
|
114
|
+
event.stopPropagation();
|
|
115
|
+
if (this.props.state.kind === "open") this.props.onCancel();
|
|
116
|
+
};
|
|
117
|
+
backdropClick = (event) => {
|
|
118
|
+
if (this.props.dismissOnBackdrop !== false && event.target === this.dialog.current && this.canDrag()) this.cancel(event);
|
|
119
|
+
};
|
|
120
|
+
keyDown = (event) => {
|
|
121
|
+
if (!event.defaultPrevented && event.key === "Escape") this.cancel(event);
|
|
122
|
+
};
|
|
209
123
|
canDrag() {
|
|
210
124
|
return this.props.state.kind === "open" && this.props.state.interaction === "ready";
|
|
211
125
|
}
|
|
126
|
+
pointerDown = (event) => {
|
|
127
|
+
this.clearClickSuppression();
|
|
128
|
+
if (!this.canDrag() || this.gesture.kind !== "idle" || !event.isPrimary || event.button !== 0) return;
|
|
129
|
+
const target = event.target;
|
|
130
|
+
if (target instanceof Element && target.closest("a, input, textarea, select, summary, button:not(.seams-drawer-handle), [data-seams-drawer-no-drag]")) return;
|
|
131
|
+
this.gesture = {
|
|
132
|
+
kind: "pending",
|
|
133
|
+
pointerId: event.pointerId,
|
|
134
|
+
startY: event.clientY
|
|
135
|
+
};
|
|
136
|
+
const doc = this.sheet.current.ownerDocument;
|
|
137
|
+
doc.addEventListener("pointermove", this.pointerMove, { passive: false });
|
|
138
|
+
doc.addEventListener("pointerup", this.pointerUp);
|
|
139
|
+
doc.addEventListener("pointercancel", this.pointerCancel);
|
|
140
|
+
};
|
|
141
|
+
pointerMove = (event) => {
|
|
142
|
+
let gesture = this.gesture;
|
|
143
|
+
if (gesture.kind === "idle" || gesture.pointerId !== event.pointerId) return;
|
|
144
|
+
const sheet = this.sheet.current;
|
|
145
|
+
if (gesture.kind === "pending") {
|
|
146
|
+
if (Math.abs(event.clientY - gesture.startY) < 8 || this.body.current.scrollTop > 0) return;
|
|
147
|
+
const win = sheet.ownerDocument.defaultView;
|
|
148
|
+
const rest = new DOMMatrixReadOnly(win.getComputedStyle(sheet).transform).m42;
|
|
149
|
+
gesture = {
|
|
150
|
+
kind: "dragging",
|
|
151
|
+
pointerId: gesture.pointerId,
|
|
152
|
+
startY: gesture.startY,
|
|
153
|
+
lastY: gesture.startY,
|
|
154
|
+
startedAt: event.timeStamp,
|
|
155
|
+
lastTime: event.timeStamp,
|
|
156
|
+
velocity: 0,
|
|
157
|
+
rest,
|
|
158
|
+
translate: rest,
|
|
159
|
+
height: sheet.offsetHeight
|
|
160
|
+
};
|
|
161
|
+
this.gesture = gesture;
|
|
162
|
+
sheet.setPointerCapture(event.pointerId);
|
|
163
|
+
sheet.classList.add("is-dragging");
|
|
164
|
+
}
|
|
165
|
+
const elapsed = event.timeStamp - gesture.lastTime;
|
|
166
|
+
if (elapsed > 0) gesture.velocity = (event.clientY - gesture.lastY) / elapsed;
|
|
167
|
+
gesture.lastY = event.clientY;
|
|
168
|
+
gesture.lastTime = event.timeStamp;
|
|
169
|
+
gesture.translate = drawerDragTranslate({
|
|
170
|
+
startTranslatePx: gesture.rest,
|
|
171
|
+
deltaPx: event.clientY - gesture.startY,
|
|
172
|
+
restTranslatePx: gesture.rest,
|
|
173
|
+
sheetHeightPx: gesture.height,
|
|
174
|
+
viewportHeightPx: sheet.ownerDocument.defaultView.innerHeight,
|
|
175
|
+
minimumOverpullPx: 160
|
|
176
|
+
});
|
|
177
|
+
this.props.styles.setDynamicDeclarations(`${this.id}-drag`, `#${this.id}`, { "--seams-drawer-drag": `${gesture.translate}px` });
|
|
178
|
+
event.preventDefault();
|
|
179
|
+
};
|
|
180
|
+
pointerUp = (event) => {
|
|
181
|
+
const gesture = this.gesture;
|
|
182
|
+
if (gesture.kind === "idle" || gesture.pointerId !== event.pointerId) return;
|
|
183
|
+
const dismiss = gesture.kind === "dragging" && shouldDismissDrawerDrag({
|
|
184
|
+
velocityPxPerMs: gesture.velocity,
|
|
185
|
+
totalDeltaPx: gesture.lastY - gesture.startY,
|
|
186
|
+
durationMs: event.timeStamp - gesture.startedAt,
|
|
187
|
+
translatePx: gesture.translate,
|
|
188
|
+
sheetHeightPx: gesture.height
|
|
189
|
+
});
|
|
190
|
+
if (gesture.kind === "dragging") {
|
|
191
|
+
this.suppressPointerClick = true;
|
|
192
|
+
event.preventDefault();
|
|
193
|
+
}
|
|
194
|
+
this.resetGesture();
|
|
195
|
+
if (dismiss && this.props.state.kind === "open") this.props.onCancel();
|
|
196
|
+
};
|
|
197
|
+
pointerCancel = (event) => {
|
|
198
|
+
if (this.gesture.kind !== "idle" && this.gesture.pointerId === event.pointerId) {
|
|
199
|
+
if (this.gesture.kind === "dragging") this.suppressPointerClick = true;
|
|
200
|
+
this.resetGesture();
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
clearClickSuppression = () => {
|
|
204
|
+
this.suppressPointerClick = false;
|
|
205
|
+
};
|
|
206
|
+
suppressDragClick = (event) => {
|
|
207
|
+
if (!this.suppressPointerClick || event.detail === 0) return;
|
|
208
|
+
this.suppressPointerClick = false;
|
|
209
|
+
event.preventDefault();
|
|
210
|
+
event.stopPropagation();
|
|
211
|
+
};
|
|
212
212
|
resetGesture() {
|
|
213
213
|
const sheet = this.sheet.current;
|
|
214
214
|
const previous = this.gesture;
|
|
@@ -248,7 +248,7 @@ var DrawerShell = class extends Component {
|
|
|
248
248
|
/* @__PURE__ */ jsx("button", {
|
|
249
249
|
type: "button",
|
|
250
250
|
class: "seams-drawer-handle",
|
|
251
|
-
"aria-label": "Dismiss confirmation",
|
|
251
|
+
"aria-label": walletText(this.context, "Dismiss confirmation"),
|
|
252
252
|
disabled: !this.canDrag(),
|
|
253
253
|
onClick: this.cancel,
|
|
254
254
|
children: /* @__PURE__ */ jsx("span", {})
|
|
@@ -256,7 +256,7 @@ var DrawerShell = class extends Component {
|
|
|
256
256
|
/* @__PURE__ */ jsx("button", {
|
|
257
257
|
type: "button",
|
|
258
258
|
class: "seams-drawer-close",
|
|
259
|
-
"aria-label": "Close",
|
|
259
|
+
"aria-label": walletText(this.context, "Close"),
|
|
260
260
|
disabled: !this.canDrag(),
|
|
261
261
|
onClick: this.cancel,
|
|
262
262
|
children: "×"
|
|
@@ -267,7 +267,7 @@ var DrawerShell = class extends Component {
|
|
|
267
267
|
ref: this.body,
|
|
268
268
|
children: [this.props.errorMessage && /* @__PURE__ */ jsx("div", {
|
|
269
269
|
class: "error",
|
|
270
|
-
children: this.props.errorMessage
|
|
270
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: this.props.errorMessage })
|
|
271
271
|
}), /* @__PURE__ */ jsx("div", {
|
|
272
272
|
class: "seams-drawer-content",
|
|
273
273
|
ref: this.content,
|
|
@@ -279,7 +279,7 @@ var DrawerShell = class extends Component {
|
|
|
279
279
|
return /* @__PURE__ */ jsx("dialog", {
|
|
280
280
|
class: "seams-drawer-dialog",
|
|
281
281
|
ref: this.dialog,
|
|
282
|
-
"aria-label": this.props.label,
|
|
282
|
+
"aria-label": walletDisplayText(this.context, this.props.label),
|
|
283
283
|
onCancel: this.cancel,
|
|
284
284
|
onClick: this.backdropClick,
|
|
285
285
|
onClickCapture: this.suppressDragClick,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { walletDisplayText } from "../../../../ui/messages.js";
|
|
2
|
+
import { WalletLocaleContext } from "./WalletLocale.js";
|
|
1
3
|
import { Component, createRef } from "preact";
|
|
2
4
|
import { jsx } from "preact/jsx-runtime";
|
|
3
5
|
//#region src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.tsx
|
|
@@ -7,26 +9,10 @@ function ConfirmationModal(props) {
|
|
|
7
9
|
return /* @__PURE__ */ jsx(ModalShell, { ...props }, props.context);
|
|
8
10
|
}
|
|
9
11
|
var ModalShell = class extends Component {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.containerId = `seams-confirmation-modal-${++nextModalId}`;
|
|
15
|
-
this.cancel = (event) => {
|
|
16
|
-
event.preventDefault();
|
|
17
|
-
event.stopPropagation();
|
|
18
|
-
this.props.onCancel();
|
|
19
|
-
};
|
|
20
|
-
this.backdropClick = (event) => {
|
|
21
|
-
const dialog = this.dialog.current;
|
|
22
|
-
if (!dialog || event.target !== dialog) return;
|
|
23
|
-
const bounds = dialog.getBoundingClientRect();
|
|
24
|
-
if (event.clientX < bounds.left || event.clientX > bounds.right || event.clientY < bounds.top || event.clientY > bounds.bottom) this.cancel(event);
|
|
25
|
-
};
|
|
26
|
-
this.hostedKeyDown = (event) => {
|
|
27
|
-
if (!event.defaultPrevented && event.key === "Escape") this.cancel(event);
|
|
28
|
-
};
|
|
29
|
-
}
|
|
12
|
+
static contextType = WalletLocaleContext;
|
|
13
|
+
dialog = createRef();
|
|
14
|
+
hosted = createRef();
|
|
15
|
+
containerId = `seams-confirmation-modal-${++nextModalId}`;
|
|
30
16
|
componentDidMount() {
|
|
31
17
|
if (this.props.context === "standalone") this.dialog.current?.showModal();
|
|
32
18
|
else this.hosted.current?.focus({ preventScroll: true });
|
|
@@ -34,11 +20,25 @@ var ModalShell = class extends Component {
|
|
|
34
20
|
componentWillUnmount() {
|
|
35
21
|
this.dialog.current?.close();
|
|
36
22
|
}
|
|
23
|
+
cancel = (event) => {
|
|
24
|
+
event.preventDefault();
|
|
25
|
+
event.stopPropagation();
|
|
26
|
+
this.props.onCancel();
|
|
27
|
+
};
|
|
28
|
+
backdropClick = (event) => {
|
|
29
|
+
const dialog = this.dialog.current;
|
|
30
|
+
if (!dialog || event.target !== dialog) return;
|
|
31
|
+
const bounds = dialog.getBoundingClientRect();
|
|
32
|
+
if (event.clientX < bounds.left || event.clientX > bounds.right || event.clientY < bounds.top || event.clientY > bounds.bottom) this.cancel(event);
|
|
33
|
+
};
|
|
34
|
+
hostedKeyDown = (event) => {
|
|
35
|
+
if (!event.defaultPrevented && event.key === "Escape") this.cancel(event);
|
|
36
|
+
};
|
|
37
37
|
render() {
|
|
38
38
|
if (this.props.context === "standalone") return /* @__PURE__ */ jsx("dialog", {
|
|
39
39
|
ref: this.dialog,
|
|
40
40
|
class: "seams-confirmation-modal",
|
|
41
|
-
"aria-label": this.props.label,
|
|
41
|
+
"aria-label": walletDisplayText(this.context, this.props.label),
|
|
42
42
|
onCancel: this.cancel,
|
|
43
43
|
onClick: this.backdropClick,
|
|
44
44
|
children: /* @__PURE__ */ jsx("div", {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { walletDisplayText } from "../../../../ui/messages.js";
|
|
2
|
+
import { WalletLocaleContext } from "./WalletLocale.js";
|
|
1
3
|
import { formatEmailOtpSentText } from "../../../stepUpConfirmation/otpPrompt/promptText.js";
|
|
2
4
|
import { EmailOtpInput } from "./EmailOtpInput.js";
|
|
3
5
|
import { EmailOtpSession } from "./email-otp-session.js";
|
|
@@ -9,47 +11,12 @@ function EmailOtpContent(props) {
|
|
|
9
11
|
return /* @__PURE__ */ jsx(EmailOtpSessionView, { ...props }, props.prompt.challengeId);
|
|
10
12
|
}
|
|
11
13
|
var EmailOtpSessionView = class extends Component {
|
|
14
|
+
static contextType = WalletLocaleContext;
|
|
15
|
+
session;
|
|
16
|
+
form = createRef();
|
|
17
|
+
lifetime;
|
|
12
18
|
constructor(props) {
|
|
13
19
|
super(props);
|
|
14
|
-
this.form = createRef();
|
|
15
|
-
this.submit = (code) => {
|
|
16
|
-
if (this.lifetime.kind === "active") this.props.onSubmit(code, this.lifetime.challengeId);
|
|
17
|
-
};
|
|
18
|
-
this.send = async () => {
|
|
19
|
-
const callback = this.props.prompt.onResend;
|
|
20
|
-
if (!callback) return {
|
|
21
|
-
kind: "failed",
|
|
22
|
-
message: "Could not send code."
|
|
23
|
-
};
|
|
24
|
-
try {
|
|
25
|
-
const result = await callback();
|
|
26
|
-
if (this.lifetime.kind === "disposed") return { kind: "sent" };
|
|
27
|
-
const challengeId = String(result?.challengeId || "").trim();
|
|
28
|
-
const emailHint = String(result?.emailHint || "").trim();
|
|
29
|
-
if (challengeId) this.lifetime = {
|
|
30
|
-
kind: "active",
|
|
31
|
-
challengeId,
|
|
32
|
-
emailHint: emailHint || this.lifetime.emailHint
|
|
33
|
-
};
|
|
34
|
-
return { kind: "sent" };
|
|
35
|
-
} catch (error) {
|
|
36
|
-
return {
|
|
37
|
-
kind: "failed",
|
|
38
|
-
message: formatResendError(error)
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
this.change = (snapshot) => {
|
|
43
|
-
this.setState(snapshot);
|
|
44
|
-
};
|
|
45
|
-
this.confirm = (event) => {
|
|
46
|
-
event.preventDefault();
|
|
47
|
-
event.stopPropagation();
|
|
48
|
-
if (this.session.confirm() === "invalid") this.setState({}, this.focusCode);
|
|
49
|
-
};
|
|
50
|
-
this.focusCode = () => {
|
|
51
|
-
this.form.current?.querySelector("input")?.focus({ preventScroll: true });
|
|
52
|
-
};
|
|
53
20
|
this.lifetime = {
|
|
54
21
|
kind: "active",
|
|
55
22
|
challengeId: props.prompt.challengeId,
|
|
@@ -73,6 +40,44 @@ var EmailOtpSessionView = class extends Component {
|
|
|
73
40
|
} : null
|
|
74
41
|
});
|
|
75
42
|
}
|
|
43
|
+
submit = (code) => {
|
|
44
|
+
if (this.lifetime.kind === "active") this.props.onSubmit(code, this.lifetime.challengeId);
|
|
45
|
+
};
|
|
46
|
+
send = async () => {
|
|
47
|
+
const callback = this.props.prompt.onResend;
|
|
48
|
+
if (!callback) return {
|
|
49
|
+
kind: "failed",
|
|
50
|
+
message: "Could not send code."
|
|
51
|
+
};
|
|
52
|
+
try {
|
|
53
|
+
const result = await callback();
|
|
54
|
+
if (this.lifetime.kind === "disposed") return { kind: "sent" };
|
|
55
|
+
const challengeId = String(result?.challengeId || "").trim();
|
|
56
|
+
const emailHint = String(result?.emailHint || "").trim();
|
|
57
|
+
if (challengeId) this.lifetime = {
|
|
58
|
+
kind: "active",
|
|
59
|
+
challengeId,
|
|
60
|
+
emailHint: emailHint || this.lifetime.emailHint
|
|
61
|
+
};
|
|
62
|
+
return { kind: "sent" };
|
|
63
|
+
} catch (error) {
|
|
64
|
+
return {
|
|
65
|
+
kind: "failed",
|
|
66
|
+
message: formatResendError(error)
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
change = (snapshot) => {
|
|
71
|
+
this.setState(snapshot);
|
|
72
|
+
};
|
|
73
|
+
confirm = (event) => {
|
|
74
|
+
event.preventDefault();
|
|
75
|
+
event.stopPropagation();
|
|
76
|
+
if (this.session.confirm() === "invalid") this.setState({}, this.focusCode);
|
|
77
|
+
};
|
|
78
|
+
focusCode = () => {
|
|
79
|
+
this.form.current?.querySelector("input")?.focus({ preventScroll: true });
|
|
80
|
+
};
|
|
76
81
|
componentDidMount() {
|
|
77
82
|
this.session.setVerification(this.props.verification);
|
|
78
83
|
}
|
|
@@ -116,7 +121,7 @@ var EmailOtpSessionView = class extends Component {
|
|
|
116
121
|
challengeId: this.lifetime.kind === "active" ? this.lifetime.challengeId : "",
|
|
117
122
|
code: this.state.code,
|
|
118
123
|
helperText: this.props.prompt.helperText?.trim() || formatEmailOtpSentText(this.lifetime.kind === "active" ? this.lifetime.emailHint : ""),
|
|
119
|
-
errorMessage: this.state.error || void 0,
|
|
124
|
+
errorMessage: walletDisplayText(this.context, this.state.error || void 0),
|
|
120
125
|
state: this.inputState(),
|
|
121
126
|
resend: this.resendAction()
|
|
122
127
|
})
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
+
import { WalletText } from "./WalletLocale.js";
|
|
1
2
|
import { Component } from "preact";
|
|
2
3
|
import { jsx, jsxs } from "preact/jsx-runtime";
|
|
3
4
|
//#region src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.tsx
|
|
4
5
|
/** @jsxImportSource preact */
|
|
5
6
|
let nextInputId = 0;
|
|
6
7
|
var EmailOtpInput = class extends Component {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
this.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}, index);
|
|
22
|
-
};
|
|
23
|
-
}
|
|
8
|
+
id = `seams-email-code-${++nextInputId}`;
|
|
9
|
+
input = (event) => {
|
|
10
|
+
if (this.props.state.kind === "editing") this.props.state.onInput(event.currentTarget.value);
|
|
11
|
+
};
|
|
12
|
+
resend = () => {
|
|
13
|
+
if (this.props.resend?.kind === "available") this.props.resend.onResend();
|
|
14
|
+
};
|
|
15
|
+
renderDigit = (index) => {
|
|
16
|
+
const digit = this.props.code[index] || "";
|
|
17
|
+
return /* @__PURE__ */ jsx("span", {
|
|
18
|
+
class: `email-otp-confirm__slot${digit ? " is-filled" : ""}`,
|
|
19
|
+
children: digit
|
|
20
|
+
}, index);
|
|
21
|
+
};
|
|
24
22
|
render() {
|
|
25
23
|
const disabled = this.props.state.kind !== "editing";
|
|
26
24
|
const helperId = `${this.id}-helper`;
|
|
@@ -31,7 +29,7 @@ var EmailOtpInput = class extends Component {
|
|
|
31
29
|
/* @__PURE__ */ jsx("label", {
|
|
32
30
|
class: "email-otp-confirm__label",
|
|
33
31
|
for: this.id,
|
|
34
|
-
children: "Email code"
|
|
32
|
+
children: /* @__PURE__ */ jsx(WalletText, { message: "Email code" })
|
|
35
33
|
}),
|
|
36
34
|
/* @__PURE__ */ jsxs("div", {
|
|
37
35
|
class: "email-otp-confirm__code-field",
|
|
@@ -68,19 +66,19 @@ var EmailOtpInput = class extends Component {
|
|
|
68
66
|
/* @__PURE__ */ jsx("div", {
|
|
69
67
|
id: helperId,
|
|
70
68
|
class: "email-otp-confirm__helper",
|
|
71
|
-
children: this.props.helperText
|
|
69
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: this.props.helperText })
|
|
72
70
|
}),
|
|
73
71
|
this.props.errorMessage && /* @__PURE__ */ jsx("div", {
|
|
74
72
|
id: errorId,
|
|
75
73
|
class: "email-otp-confirm__error",
|
|
76
|
-
children: this.props.errorMessage
|
|
74
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: this.props.errorMessage })
|
|
77
75
|
}),
|
|
78
76
|
this.props.resend && /* @__PURE__ */ jsx("button", {
|
|
79
77
|
type: "button",
|
|
80
78
|
class: "email-otp-confirm__resend",
|
|
81
79
|
disabled: this.props.resend.kind === "unavailable",
|
|
82
80
|
onClick: this.resend,
|
|
83
|
-
children: this.props.resend.label
|
|
81
|
+
children: /* @__PURE__ */ jsx(WalletText, { copy: this.props.resend.label })
|
|
84
82
|
})
|
|
85
83
|
]
|
|
86
84
|
});
|
|
@@ -4,30 +4,12 @@ import { jsx, jsxs } from "preact/jsx-runtime";
|
|
|
4
4
|
/** @jsxImportSource preact */
|
|
5
5
|
let nextHaloId = 0;
|
|
6
6
|
var HaloBorder = class extends Component {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
this.startedAt = null;
|
|
14
|
-
this.angle = null;
|
|
15
|
-
this.updateAnimation = () => {
|
|
16
|
-
this.cancelFrame();
|
|
17
|
-
this.angle = null;
|
|
18
|
-
this.syncDynamicStyles();
|
|
19
|
-
if (this.props.animated && this.motion?.matches) this.frame = this.element.current.ownerDocument.defaultView.requestAnimationFrame(this.tick);
|
|
20
|
-
};
|
|
21
|
-
this.tick = (timestamp) => {
|
|
22
|
-
if (!this.element.current || !this.props.animated || !this.motion?.matches) return;
|
|
23
|
-
this.startedAt ??= timestamp;
|
|
24
|
-
const configuredDuration = this.props.durationMs;
|
|
25
|
-
const duration = configuredDuration && Number.isFinite(configuredDuration) && configuredDuration > 0 ? configuredDuration : 1150;
|
|
26
|
-
this.angle = `${(timestamp - this.startedAt) % duration / duration * 360}deg`;
|
|
27
|
-
this.syncDynamicStyles();
|
|
28
|
-
this.frame = this.element.current.ownerDocument.defaultView.requestAnimationFrame(this.tick);
|
|
29
|
-
};
|
|
30
|
-
}
|
|
7
|
+
id = `seams-halo-${++nextHaloId}`;
|
|
8
|
+
element = createRef();
|
|
9
|
+
motion = null;
|
|
10
|
+
frame = null;
|
|
11
|
+
startedAt = null;
|
|
12
|
+
angle = null;
|
|
31
13
|
componentDidMount() {
|
|
32
14
|
this.motion = this.element.current.ownerDocument.defaultView.matchMedia("(prefers-reduced-motion: no-preference)");
|
|
33
15
|
this.motion.addEventListener("change", this.updateAnimation);
|
|
@@ -51,6 +33,21 @@ var HaloBorder = class extends Component {
|
|
|
51
33
|
this.frame = null;
|
|
52
34
|
this.startedAt = null;
|
|
53
35
|
}
|
|
36
|
+
updateAnimation = () => {
|
|
37
|
+
this.cancelFrame();
|
|
38
|
+
this.angle = null;
|
|
39
|
+
this.syncDynamicStyles();
|
|
40
|
+
if (this.props.animated && this.motion?.matches) this.frame = this.element.current.ownerDocument.defaultView.requestAnimationFrame(this.tick);
|
|
41
|
+
};
|
|
42
|
+
tick = (timestamp) => {
|
|
43
|
+
if (!this.element.current || !this.props.animated || !this.motion?.matches) return;
|
|
44
|
+
this.startedAt ??= timestamp;
|
|
45
|
+
const configuredDuration = this.props.durationMs;
|
|
46
|
+
const duration = configuredDuration && Number.isFinite(configuredDuration) && configuredDuration > 0 ? configuredDuration : 1150;
|
|
47
|
+
this.angle = `${(timestamp - this.startedAt) % duration / duration * 360}deg`;
|
|
48
|
+
this.syncDynamicStyles();
|
|
49
|
+
this.frame = this.element.current.ownerDocument.defaultView.requestAnimationFrame(this.tick);
|
|
50
|
+
};
|
|
54
51
|
syncDynamicStyles() {
|
|
55
52
|
const declarations = {};
|
|
56
53
|
if (this.props.innerPadding) declarations["--inner-padding"] = this.props.innerPadding;
|