@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.
Files changed (605) hide show
  1. package/README.md +15 -8
  2. package/THIRD_PARTY_NOTICES.md +102 -1
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/SeamsWeb/SeamsWeb.js +20 -1
  5. package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +73 -0
  6. package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +22 -0
  7. package/dist/esm/SeamsWeb/publicApi/capabilitySelection.js +2 -1
  8. package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +26 -1
  9. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-controller.js +71 -69
  10. package/dist/esm/SeamsWeb/walletIframe/client/preferenceState.js +6 -8
  11. package/dist/esm/SeamsWeb/walletIframe/client/preferences.js +7 -5
  12. package/dist/esm/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +2 -1
  13. package/dist/esm/SeamsWeb/walletIframe/client/router.js +116 -108
  14. package/dist/esm/SeamsWeb/walletIframe/client/surface/transactionSurfaceQueue.js +11 -7
  15. package/dist/esm/SeamsWeb/walletIframe/client/transactionReviewReservation.js +3 -2
  16. package/dist/esm/SeamsWeb/walletIframe/client/transport/IframeTransport.js +53 -49
  17. package/dist/esm/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.js +6 -2
  18. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +18 -13
  19. package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +14 -13
  20. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +6 -8
  21. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +387 -535
  22. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +13 -8
  23. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.js +116 -0
  24. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.js +60 -0
  25. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +1 -0
  26. package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +2 -0
  27. package/dist/esm/core/config/configBuilder.js +3 -1
  28. package/dist/esm/core/config/defaultConfigs.js +1 -0
  29. package/dist/esm/core/indexedDB/accountSignerLifecycle.js +2 -0
  30. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +1 -0
  31. package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +6 -5
  32. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +2 -0
  33. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +2 -2
  34. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +6 -3
  35. package/dist/esm/core/rpcClients/near/NearRpcError.js +7 -0
  36. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +3 -0
  37. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +6 -2
  38. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +5 -4
  39. package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +2 -1
  40. package/dist/esm/core/signingEngine/chains/tempo/tempoAdapter.js +2 -1
  41. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +1 -1
  42. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +5 -1
  43. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.js +1 -1
  44. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +3 -2
  45. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.js +5 -7
  46. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +2 -0
  47. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +68 -10
  48. package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +2 -2
  49. package/dist/esm/core/signingEngine/session/operationState/authorizationAdmission.js +2 -0
  50. package/dist/esm/core/signingEngine/stepUpConfirmation/methodSelection.js +2 -0
  51. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +36 -32
  52. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.js +10 -6
  53. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +12 -12
  54. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +29 -29
  55. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +141 -141
  56. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +21 -21
  57. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +45 -40
  58. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +19 -21
  59. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/HaloBorder.js +21 -24
  60. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +16 -16
  61. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.js +9 -5
  62. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +128 -125
  63. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +72 -74
  64. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +51 -26
  65. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +65 -53
  66. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +44 -40
  67. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +122 -122
  68. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/WalletLocale.js +24 -0
  69. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/email-otp-session.js +81 -80
  70. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +47 -41
  71. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +17 -11
  72. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +4 -21
  73. package/dist/esm/core/types/actionBuilders.js +16 -2
  74. package/dist/esm/core/types/amounts.js +83 -0
  75. package/dist/esm/core/types/linkDevice.js +1 -1
  76. package/dist/esm/core/ui/locale.js +10 -0
  77. package/dist/esm/core/ui/messages.js +694 -0
  78. package/dist/esm/externalEvm/controller.js +49 -48
  79. package/dist/esm/index.js +3 -1
  80. package/dist/esm/react/boundWallet.js +56 -0
  81. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +7 -3
  82. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +6 -3
  83. package/dist/esm/react/components/AccountMenuButton/AccountMenuDeviceDetails.js +4 -3
  84. package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +5 -2
  85. package/dist/esm/react/components/AccountMenuButton/AccountMenuMockScreens.js +31 -27
  86. package/dist/esm/react/components/AccountMenuButton/AccountMenuScreen.js +6 -3
  87. package/dist/esm/react/components/AccountMenuButton/AccountsSection.js +6 -3
  88. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -4
  89. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +33 -27
  90. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsView.js +5 -2
  91. package/dist/esm/react/components/AccountMenuButton/ExportKeysScreen.js +5 -3
  92. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +4 -3
  93. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +13 -2
  94. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +50 -41
  95. package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +2 -1
  96. package/dist/esm/react/components/AccountMenuButton/MenuItem.js +3 -2
  97. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +8 -4
  98. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeAcknowledgement.js +3 -2
  99. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeActions.js +4 -3
  100. package/dist/esm/react/components/AccountMenuButton/SegmentedControl.js +2 -1
  101. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +11 -10
  102. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +8 -4
  103. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +112 -108
  104. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +74 -73
  105. package/dist/esm/react/components/AccountMenuButton/index.js +18 -15
  106. package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +30 -26
  107. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +17 -6
  108. package/dist/esm/react/components/QRCodeScanner.js +28 -23
  109. package/dist/esm/react/components/ShowQRCode.css +13 -2
  110. package/dist/esm/react/components/ShowQRCode.js +39 -31
  111. package/dist/esm/react/components/theme/ThemeProvider.js +3 -0
  112. package/dist/esm/react/context/WalletLocale.js +15 -0
  113. package/dist/esm/react/context/index.js +38 -6
  114. package/dist/esm/react/context/useSeamsWithSdkFlow.js +1 -1
  115. package/dist/esm/react/externalEvm.js +22 -25
  116. package/dist/esm/react/index.js +4 -4
  117. package/dist/esm/react/styles/styles.css +13 -2
  118. package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -6
  119. package/dist/esm/react/transactionReview/boundCalls.js +1 -1
  120. package/dist/esm/react/transactionReview/controller.js +121 -119
  121. package/dist/esm/sdk/ConfirmationDrawer-mu3iThxX.js +1 -0
  122. package/dist/esm/sdk/NonceCoordinator-Dq-FZpBz.js +1 -0
  123. package/dist/{public/sdk/accountLifecycle-CBOkr0vU.js → esm/sdk/accountLifecycle-fLNUdjct.js} +1 -1
  124. package/dist/esm/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-BpbnpU9s.js} +1 -1
  125. package/dist/esm/sdk/adapters-u7LVXthY.js +2 -0
  126. package/dist/esm/sdk/appearance-token-vars-CzBVbO39.js +2 -0
  127. package/dist/esm/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
  128. package/dist/esm/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BMP5yILS.js} +1 -1
  129. package/dist/esm/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
  130. package/dist/esm/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
  131. package/dist/esm/sdk/challengeDelivery-CG2J5Qxs.js +1 -0
  132. package/dist/esm/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
  133. package/dist/esm/sdk/{commitQueue-DYEgzoLA.js → commitQueue-BW7BpYyA.js} +1 -1
  134. package/dist/esm/sdk/configBuilder-BMNShuOu.js +1 -0
  135. package/dist/esm/sdk/{configHelpers-B-hs0mTO.js → configHelpers-D50F_Txb.js} +1 -1
  136. package/dist/esm/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-aC4dSf_x.js} +1 -1
  137. package/dist/esm/sdk/{display-DsfJkAra.js → display-WtILOPQR.js} +1 -1
  138. package/dist/esm/sdk/domainIds-C3fUa33Q.js +1 -0
  139. package/dist/esm/sdk/ecdsaCapabilityManifest-DRc423SV.js +1 -0
  140. package/dist/esm/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
  141. package/dist/esm/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js +1 -0
  142. package/dist/{public/sdk/ecdsaDerivationExport-DOGzq0qC.js → esm/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
  143. package/dist/esm/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
  144. package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → esm/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
  145. package/dist/esm/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
  146. package/dist/esm/sdk/export-viewer-host-ivf9LlBo.js +1 -0
  147. package/dist/{public/sdk/exportKeypairOperation-DzbjKbnk.js → esm/sdk/exportKeypairOperation-Gw7L5Htj.js} +1 -1
  148. package/dist/esm/sdk/{helpers-B9fpZNAP.js → helpers-DS0bksx9.js} +1 -1
  149. package/dist/esm/sdk/{host-DfWylEiw.js → host-B-2QXolt.js} +1 -1
  150. package/dist/esm/sdk/{intentDigest-P_-CM7lS.js → intentDigest-Rh5Mg8X7.js} +1 -1
  151. package/dist/esm/sdk/{lanes-5kcTFbPx.js → lanes-BzU7cv2T.js} +1 -1
  152. package/dist/esm/sdk/localOnly-BKpUHtHa.js +1 -0
  153. package/dist/esm/sdk/mountExportPrivateKeySurface-C8pUK6PQ.js +1 -0
  154. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DUudF89t.js +2 -0
  155. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js +1 -0
  156. package/dist/{public/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → esm/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
  157. package/dist/esm/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
  158. package/dist/esm/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
  159. package/dist/esm/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-C4VX-0NI.js} +1 -1
  160. package/dist/esm/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-Ba-NQ_4C.js} +1 -1
  161. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-7tBjuSe7.js} +1 -1
  162. package/dist/esm/sdk/presignaturePool-BHoxnbOA.js +1 -0
  163. package/dist/esm/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
  164. package/dist/esm/sdk/{primitives-CqrjmIAH.js → primitives-CTmDwMNc.js} +1 -1
  165. package/dist/{public/sdk/recovery-entrypoint-BULjaFBM.js → esm/sdk/recovery-entrypoint-DWghFZrZ.js} +1 -1
  166. package/dist/esm/sdk/{registration-CyF7nOXs.js → registration-CWpOVwhj.js} +1 -1
  167. package/dist/esm/sdk/registration-D2OEgY7O.js +1 -0
  168. package/dist/esm/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
  169. package/dist/esm/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
  170. package/dist/esm/sdk/{registrationIds-BaK3jUS6.js → registrationIds-B1OpqRAt.js} +1 -1
  171. package/dist/esm/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-D4YDjf2U.js} +1 -1
  172. package/dist/{public/sdk/registrationSignerPlan-CPzHavPM.js → esm/sdk/registrationSignerPlan-BHkqlian.js} +1 -1
  173. package/dist/{public/sdk/requireStepUpAuth-BCY5ZStI.js → esm/sdk/requireStepUpAuth-CnSCFSOZ.js} +1 -1
  174. package/dist/esm/sdk/routerAbNormalSigning-BV1t27aB.js +1 -0
  175. package/dist/esm/sdk/runtime-auth-jtyQAuxZ.js +1 -0
  176. package/dist/esm/sdk/runtime-device-link-vhRhB-wS.js +1 -0
  177. package/dist/esm/sdk/runtime-ecdsa-tempo-BXWgFVBa.js +1 -0
  178. package/dist/esm/sdk/runtime-email-otp-BlAaSKtk.js +1 -0
  179. package/dist/esm/sdk/runtime-export-B4FuHhcH.js +1 -0
  180. package/dist/esm/sdk/runtime-near-BnWOpEpA.js +1 -0
  181. package/dist/esm/sdk/runtime-preferences-COm-LTiu.js +1 -0
  182. package/dist/esm/sdk/runtime-recovery-BJTo5Idi.js +1 -0
  183. package/dist/esm/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-CEOjdUHV.js} +1 -1
  184. package/dist/esm/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
  185. package/dist/esm/sdk/secp256k1-wOOHtPcK.js +1 -0
  186. package/dist/esm/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
  187. package/dist/esm/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
  188. package/dist/esm/sdk/shared-BKPGtAps.js +6 -0
  189. package/dist/{public/sdk/signEvmFamily-Cpm3e6Zs.js → esm/sdk/signEvmFamily-DT34Vtpa.js} +1 -1
  190. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js +1 -0
  191. package/dist/esm/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
  192. package/dist/esm/sdk/signNear-B000QxBd.js +1 -0
  193. package/dist/esm/sdk/signatureUses-B_nN17i7.js +1 -0
  194. package/dist/esm/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
  195. package/dist/esm/sdk/{signingFlow-VAnM8L5C.js → signingFlow-gl85GOW4.js} +2 -2
  196. package/dist/esm/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-gW7wmOuL.js} +1 -1
  197. package/dist/{public/sdk/singletons-BXhnsqeY.js → esm/sdk/singletons-CAsc9LvA.js} +1 -1
  198. package/dist/esm/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
  199. package/dist/{public/sdk/thresholdEcdsa-CneSKcRt.js → esm/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
  200. package/dist/esm/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
  201. package/dist/{public/sdk/transaction-activity-Cccvec2J.js → esm/sdk/transaction-activity-C0nCSW6c.js} +1 -1
  202. package/dist/esm/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
  203. package/dist/{public/sdk/transactionState-Day-1x7Y.js → esm/sdk/transactionState-lB2qpkOm.js} +1 -1
  204. package/dist/esm/sdk/tx-confirm-ui.js +2502 -1174
  205. package/dist/esm/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.js} +1 -1
  206. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  207. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  208. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  209. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  210. package/dist/{public/sdk/wallet-recovery-Bfhfk52N.js → esm/sdk/wallet-recovery-DFaS3geI.js} +1 -1
  211. package/dist/esm/sdk/wallet-ui.css +1 -1
  212. package/dist/{public/sdk/walletAuthMethodRecord-LniOQQmj.js → esm/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
  213. package/dist/{public/sdk/walletAuthority-CAiGuWW2.js → esm/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
  214. package/dist/esm/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js +1 -0
  215. package/dist/esm/sdk/{walletDbName-DtRewci9.js → walletDbName-BxWApBQF.js} +1 -1
  216. package/dist/esm/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-DSGfjuV2.js} +1 -1
  217. package/dist/esm/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
  218. package/dist/esm/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-zvQThn37.js} +1 -1
  219. package/dist/esm/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
  220. package/dist/esm/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js +1 -0
  221. package/dist/esm/sdk/walletSessionAuthorizationStore-DnUMtkev.js +1 -0
  222. package/dist/esm/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
  223. package/dist/esm/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
  224. package/dist/esm/sdk/webauthnP256-_ajaNl90.js +1 -0
  225. package/dist/esm/sdk/webauthnPromptCoordinator-9bVeHcTZ.js +1 -0
  226. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
  227. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +6 -0
  228. package/dist/esm/shared-ts/src/near/nearClient.js +6 -0
  229. package/dist/esm/shared-ts/src/threshold/participants.js +2 -1
  230. package/dist/esm/shared-ts/src/threshold/secp256k1.js +6 -0
  231. package/dist/esm/shared-ts/src/utils/domainIds.js +7 -0
  232. package/dist/esm/shared-ts/src/utils/index.js +1 -1
  233. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +14 -1
  234. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +5 -4
  235. package/dist/esm/utils/qrScanner.js +10 -8
  236. package/dist/public/headers.manifest.json +1 -1
  237. package/dist/public/sdk/ConfirmationDrawer-mu3iThxX.js +1 -0
  238. package/dist/public/sdk/NonceCoordinator-Dq-FZpBz.js +1 -0
  239. package/dist/{esm/sdk/accountLifecycle-CBOkr0vU.js → public/sdk/accountLifecycle-fLNUdjct.js} +1 -1
  240. package/dist/public/sdk/{activeWalletSession-WdZkhtBB.js → activeWalletSession-BpbnpU9s.js} +1 -1
  241. package/dist/public/sdk/adapters-u7LVXthY.js +2 -0
  242. package/dist/public/sdk/appearance-token-vars-CzBVbO39.js +2 -0
  243. package/dist/public/sdk/authorizationAdmission-Dd23mTx7.js +1 -0
  244. package/dist/public/sdk/{canonicalPrimitives-Dsbsxgxc.js → canonicalPrimitives-BMP5yILS.js} +1 -1
  245. package/dist/public/sdk/{capabilityKinds-N8xo_IEh.js → capabilityKinds-D0Yrp9uf.js} +1 -1
  246. package/dist/public/sdk/{chains-C_X_fNuS.js → chains-CPmd4s9f.js} +1 -1
  247. package/dist/public/sdk/challengeDelivery-CG2J5Qxs.js +1 -0
  248. package/dist/public/sdk/{clientSessionPersistenceState-CBylL1Ul.js → clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
  249. package/dist/public/sdk/{commitQueue-DYEgzoLA.js → commitQueue-BW7BpYyA.js} +1 -1
  250. package/dist/public/sdk/configBuilder-BMNShuOu.js +1 -0
  251. package/dist/public/sdk/{configHelpers-B-hs0mTO.js → configHelpers-D50F_Txb.js} +1 -1
  252. package/dist/public/sdk/{digestEncoding-BX3VW9eF.js → digestEncoding-aC4dSf_x.js} +1 -1
  253. package/dist/public/sdk/{display-DsfJkAra.js → display-WtILOPQR.js} +1 -1
  254. package/dist/public/sdk/domainIds-C3fUa33Q.js +1 -0
  255. package/dist/public/sdk/ecdsaCapabilityManifest-DRc423SV.js +1 -0
  256. package/dist/public/sdk/{ecdsaChainTarget-Bfatk3oP.js → ecdsaChainTarget-DkOrgv4y.js} +1 -1
  257. package/dist/public/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js +1 -0
  258. package/dist/{esm/sdk/ecdsaDerivationExport-DOGzq0qC.js → public/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
  259. package/dist/public/sdk/{ecdsaWalletRecords-CHfrYvKr.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
  260. package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-Bik0N8v9.js → public/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
  261. package/dist/public/sdk/{errors-DIWY1KR9.js → errors-ADOZT8oV.js} +1 -1
  262. package/dist/public/sdk/export-viewer-host-ivf9LlBo.js +1 -0
  263. package/dist/{esm/sdk/exportKeypairOperation-DzbjKbnk.js → public/sdk/exportKeypairOperation-Gw7L5Htj.js} +1 -1
  264. package/dist/public/sdk/{helpers-B9fpZNAP.js → helpers-DS0bksx9.js} +1 -1
  265. package/dist/public/sdk/{host-DfWylEiw.js → host-B-2QXolt.js} +1 -1
  266. package/dist/public/sdk/{intentDigest-P_-CM7lS.js → intentDigest-Rh5Mg8X7.js} +1 -1
  267. package/dist/public/sdk/{lanes-5kcTFbPx.js → lanes-BzU7cv2T.js} +1 -1
  268. package/dist/public/sdk/localOnly-BKpUHtHa.js +1 -0
  269. package/dist/public/sdk/mountExportPrivateKeySurface-C8pUK6PQ.js +1 -0
  270. package/dist/public/sdk/mountRecoveryCodeBackupSurface-DUudF89t.js +2 -0
  271. package/dist/public/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js +1 -0
  272. package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-RIfkYN0d.js → public/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
  273. package/dist/public/sdk/{nonceLaneKeys-BCYfl1wv.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
  274. package/dist/public/sdk/{normalization-n503J-BI.js → normalization-Ct9-AY13.js} +1 -1
  275. package/dist/public/sdk/{operationFingerprint-BHNYryLY.js → operationFingerprint-C4VX-0NI.js} +1 -1
  276. package/dist/public/sdk/{passkey-custody-DpTM-eNJ.js → passkey-custody-Ba-NQ_4C.js} +1 -1
  277. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-C60sZMj5.js → pendingWalletRecoveryCodeBackup-7tBjuSe7.js} +1 -1
  278. package/dist/public/sdk/presignaturePool-BHoxnbOA.js +1 -0
  279. package/dist/public/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
  280. package/dist/public/sdk/{primitives-CqrjmIAH.js → primitives-CTmDwMNc.js} +1 -1
  281. package/dist/{esm/sdk/recovery-entrypoint-BULjaFBM.js → public/sdk/recovery-entrypoint-DWghFZrZ.js} +1 -1
  282. package/dist/public/sdk/{registration-CyF7nOXs.js → registration-CWpOVwhj.js} +1 -1
  283. package/dist/public/sdk/registration-D2OEgY7O.js +1 -0
  284. package/dist/public/sdk/{registrationAccounts-BQMUusdD.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
  285. package/dist/public/sdk/{registrationAuthMethodInput-RbSR7R1G.js → registrationAuthMethodInput-B23_HRil.js} +1 -1
  286. package/dist/public/sdk/{registrationIds-BaK3jUS6.js → registrationIds-B1OpqRAt.js} +1 -1
  287. package/dist/public/sdk/{registrationIntent-090Zj7Iu.js → registrationIntent-D4YDjf2U.js} +1 -1
  288. package/dist/{esm/sdk/registrationSignerPlan-CPzHavPM.js → public/sdk/registrationSignerPlan-BHkqlian.js} +1 -1
  289. package/dist/{esm/sdk/requireStepUpAuth-BCY5ZStI.js → public/sdk/requireStepUpAuth-CnSCFSOZ.js} +1 -1
  290. package/dist/public/sdk/routerAbNormalSigning-BV1t27aB.js +1 -0
  291. package/dist/public/sdk/runtime-auth-jtyQAuxZ.js +1 -0
  292. package/dist/public/sdk/runtime-device-link-vhRhB-wS.js +1 -0
  293. package/dist/public/sdk/runtime-ecdsa-tempo-BXWgFVBa.js +1 -0
  294. package/dist/public/sdk/runtime-email-otp-BlAaSKtk.js +1 -0
  295. package/dist/public/sdk/runtime-export-B4FuHhcH.js +1 -0
  296. package/dist/public/sdk/runtime-near-BnWOpEpA.js +1 -0
  297. package/dist/public/sdk/runtime-preferences-COm-LTiu.js +1 -0
  298. package/dist/public/sdk/runtime-recovery-BJTo5Idi.js +1 -0
  299. package/dist/public/sdk/{runtime-recovery-codes-GOytzExh.js → runtime-recovery-codes-CEOjdUHV.js} +1 -1
  300. package/dist/public/sdk/{sdkSentEvents-D4KtK7_I.js → sdkSentEvents-DujYAPEM.js} +1 -1
  301. package/dist/public/sdk/secp256k1-wOOHtPcK.js +1 -0
  302. package/dist/public/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
  303. package/dist/public/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
  304. package/dist/public/sdk/shared-BKPGtAps.js +6 -0
  305. package/dist/{esm/sdk/signEvmFamily-Cpm3e6Zs.js → public/sdk/signEvmFamily-DT34Vtpa.js} +1 -1
  306. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js +1 -0
  307. package/dist/public/sdk/{signEvmWithUiConfirm-BRmdLgmm.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
  308. package/dist/public/sdk/signNear-B000QxBd.js +1 -0
  309. package/dist/public/sdk/signatureUses-B_nN17i7.js +1 -0
  310. package/dist/public/sdk/{signerDomain-Dp7BhfmZ.js → signerDomain-BFqRQ0Jl.js} +1 -1
  311. package/dist/public/sdk/{signingFlow-VAnM8L5C.js → signingFlow-gl85GOW4.js} +2 -2
  312. package/dist/public/sdk/{signingQueue-D_Ebmzcn.js → signingQueue-gW7wmOuL.js} +1 -1
  313. package/dist/{esm/sdk/singletons-BXhnsqeY.js → public/sdk/singletons-CAsc9LvA.js} +1 -1
  314. package/dist/public/sdk/surface-measurement-reporter-BJhfiPw6.js +1 -0
  315. package/dist/{esm/sdk/thresholdEcdsa-CneSKcRt.js → public/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
  316. package/dist/public/sdk/{trace-BBux0jtr.js → trace-CsRMlSh1.js} +1 -1
  317. package/dist/{esm/sdk/transaction-activity-Cccvec2J.js → public/sdk/transaction-activity-C0nCSW6c.js} +1 -1
  318. package/dist/public/sdk/transactionReviewAdmission-CNNho8IG.js +1 -0
  319. package/dist/{esm/sdk/transactionState-Day-1x7Y.js → public/sdk/transactionState-lB2qpkOm.js} +1 -1
  320. package/dist/public/sdk/tx-confirm-ui.js +2502 -1174
  321. package/dist/public/sdk/{types-hKLqDUhR.js → types-CQTWmtqu.js} +1 -1
  322. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  323. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  324. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  325. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  326. package/dist/{esm/sdk/wallet-recovery-Bfhfk52N.js → public/sdk/wallet-recovery-DFaS3geI.js} +1 -1
  327. package/dist/public/sdk/wallet-ui.css +1 -1
  328. package/dist/{esm/sdk/walletAuthMethodRecord-LniOQQmj.js → public/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
  329. package/dist/{esm/sdk/walletAuthority-CAiGuWW2.js → public/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
  330. package/dist/public/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js +1 -0
  331. package/dist/public/sdk/{walletDbName-DtRewci9.js → walletDbName-BxWApBQF.js} +1 -1
  332. package/dist/public/sdk/{walletOwnershipGeneration-B6HyR2rE.js → walletOwnershipGeneration-DSGfjuV2.js} +1 -1
  333. package/dist/public/sdk/{walletRecoveryCommit-C6HF84_U.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
  334. package/dist/public/sdk/{walletRecoveryRotate-BN3H8byw.js → walletRecoveryRotate-zvQThn37.js} +1 -1
  335. package/dist/public/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
  336. package/dist/public/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js +1 -0
  337. package/dist/public/sdk/walletSessionAuthorizationStore-DnUMtkev.js +1 -0
  338. package/dist/public/sdk/walletSessionFailure-C6TAQTZn.js +1 -0
  339. package/dist/public/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
  340. package/dist/public/sdk/webauthnP256-_ajaNl90.js +1 -0
  341. package/dist/public/sdk/webauthnPromptCoordinator-9bVeHcTZ.js +1 -0
  342. package/dist/public/sdk/workers/device-linking-key.worker.js +12 -11
  343. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +146 -48
  344. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +7 -6
  345. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +7 -6
  346. package/dist/public/sdk/workers/email-otp.worker.js +17 -3
  347. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +10 -0
  348. package/dist/public/sdk/workers/passkey-mpc-session.worker.js +2 -1
  349. package/dist/public/wallet-assets.manifest.json +228 -228
  350. package/dist/public/wallet-service/index.html +4 -4
  351. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +14 -14
  352. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +1 -1
  353. package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +1 -1
  354. package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +1 -1
  355. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +5 -5
  356. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +3 -3
  357. package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +1 -1
  358. package/dist/types/shared-ts/src/tenant-root/tenantRootIdentity.d.ts +1 -1
  359. package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -2
  360. package/dist/types/shared-ts/src/utils/base64.d.ts +2 -2
  361. package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +1 -1
  362. package/dist/types/shared-ts/src/utils/digests.d.ts +2 -2
  363. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +16 -16
  364. package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +1 -1
  365. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +10 -10
  366. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +12 -11
  367. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +3 -3
  368. package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +1 -1
  369. package/dist/types/shared-ts/src/utils/signerDomain.d.ts +15 -15
  370. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +11 -11
  371. package/dist/types/shared-ts/src/utils/walletSessionFailure.d.ts +8 -8
  372. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +2 -2
  373. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +1 -1
  374. package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +1 -1
  375. package/dist/types/wallet/build-paths.d.ts +73 -73
  376. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
  377. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingResume.d.ts +2 -2
  378. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceTargetActivation.d.ts +1 -1
  379. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +3 -3
  380. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +4 -3
  381. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +5 -0
  382. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -2
  383. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +10 -1
  384. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +4 -2
  385. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +1 -0
  386. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +1 -0
  387. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -1
  388. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +4 -4
  389. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +3 -2
  390. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.d.ts +0 -1
  391. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +4 -6
  392. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.d.ts +35 -0
  393. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.d.ts +17 -0
  394. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +3 -3
  395. package/dist/types/wallet/src/config.d.ts +8 -8
  396. package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +1 -1
  397. package/dist/types/wallet/src/core/indexedDB/linkedAuthoritySignerMaterial.d.ts +3 -3
  398. package/dist/types/wallet/src/core/indexedDB/pendingWalletRecoveryCommit.d.ts +1 -1
  399. package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +181 -181
  400. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +8 -8
  401. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +4 -4
  402. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +1 -1
  403. package/dist/types/wallet/src/core/indexedDB/walletCustodyEd25519MaterialRecord.d.ts +2 -2
  404. package/dist/types/wallet/src/core/indexedDB/walletDbName.d.ts +1 -1
  405. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmAdapter.d.ts +1 -1
  406. package/dist/types/wallet/src/core/signingEngine/chains/evm/evmSigning.types.d.ts +1 -0
  407. package/dist/types/wallet/src/core/signingEngine/chains/tempo/tempoAdapter.d.ts +1 -1
  408. package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +27 -27
  409. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +1 -1
  410. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.d.ts +1 -1
  411. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +17 -17
  412. package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +40 -40
  413. package/dist/types/wallet/src/core/signingEngine/session/material/walletSigningStateFailure.d.ts +4 -4
  414. package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +8 -8
  415. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +1 -1
  416. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +1 -1
  417. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmCommon.d.ts +3 -3
  418. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +4 -4
  419. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +1 -1
  420. package/dist/types/wallet/src/core/signingEngine/threshold/sessionPolicy.d.ts +1 -1
  421. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.d.ts +1 -1
  422. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.d.ts +3 -1
  423. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.d.ts +2 -3
  424. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.d.ts +3 -1
  425. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.d.ts +3 -1
  426. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.d.ts +0 -1
  427. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.d.ts +0 -1
  428. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/CopyStatusIcon.d.ts +1 -1
  429. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.d.ts +0 -1
  430. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +1 -1
  431. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.d.ts +1 -1
  432. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyHaloLoading.d.ts +1 -1
  433. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.d.ts +3 -1
  434. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.d.ts +1 -2
  435. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.d.ts +3 -1
  436. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +0 -1
  437. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/SeamsWordmark.d.ts +1 -1
  438. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.d.ts +0 -1
  439. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.d.ts +3 -1
  440. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +3 -1
  441. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionTree.d.ts +0 -1
  442. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/WalletLocale.d.ts +18 -0
  443. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/credentials/helpers.d.ts +2 -2
  444. package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +1 -0
  445. package/dist/types/wallet/src/core/signingEngine/workerManager/deviceLinkingPorts.d.ts +1 -1
  446. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +3 -3
  447. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +1 -1
  448. package/dist/types/wallet/src/core/signingEngine/workerManager/validation.d.ts +1 -1
  449. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +1 -0
  450. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +1 -1
  451. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ecdsaTargetShareHpke.d.ts +3 -3
  452. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/ordinaryMaterialState.d.ts +1 -1
  453. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +3 -3
  454. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/materialParsing.d.ts +1 -1
  455. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +2 -2
  456. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +1 -1
  457. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/workerErrorPayload.d.ts +2 -2
  458. package/dist/types/wallet/src/core/types/actionBuilders.d.ts +16 -2
  459. package/dist/types/wallet/src/core/types/amounts.d.ts +75 -0
  460. package/dist/types/wallet/src/core/types/amounts.typecheck.d.ts +2 -0
  461. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +5 -5
  462. package/dist/types/wallet/src/core/types/seams.d.ts +3 -0
  463. package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +1 -1
  464. package/dist/types/wallet/src/core/types/signer-worker.d.ts +7 -7
  465. package/dist/types/wallet/src/core/ui/locale.d.ts +5 -0
  466. package/dist/types/wallet/src/core/ui/messages.d.ts +8 -0
  467. package/dist/types/wallet/src/externalEvm/types.d.ts +1 -0
  468. package/dist/types/wallet/src/index.d.ts +5 -1
  469. package/dist/types/wallet/src/react/{hooks/useWallet.d.ts → boundWallet.d.ts} +8 -48
  470. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +1 -0
  471. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +0 -1
  472. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountsSection.d.ts +0 -1
  473. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +0 -1
  474. package/dist/types/wallet/src/react/components/AccountMenuButton/ExportKeysSection.d.ts +0 -1
  475. package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +0 -1
  476. package/dist/types/wallet/src/react/components/AccountMenuButton/ProfileDropdown.d.ts +0 -1
  477. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +3 -0
  478. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +4 -2
  479. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -1
  480. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +0 -1
  481. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -1
  482. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -1
  483. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -1
  484. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -1
  485. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockKeyholeIcon.d.ts +1 -1
  486. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -1
  487. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/PlusIcon.d.ts +1 -1
  488. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -1
  489. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -1
  490. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -1
  491. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -1
  492. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/TouchIcon.d.ts +0 -1
  493. package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +0 -1
  494. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +8 -8
  495. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.d.ts +2 -1
  496. package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +0 -1
  497. package/dist/types/wallet/src/react/components/VoiceAssistantCard.d.ts +0 -1
  498. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +1 -0
  499. package/dist/types/wallet/src/react/context/WalletLocale.d.ts +16 -0
  500. package/dist/types/wallet/src/react/context/index.d.ts +2 -1
  501. package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
  502. package/dist/types/wallet/src/react/index.d.ts +3 -2
  503. package/dist/types/wallet/src/react/styles.d.ts +2 -0
  504. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +57 -57
  505. package/dist/types/wallet/src/react/types.d.ts +14 -1
  506. package/dist/types/wallet/src/theme/base-styles.d.ts +4 -4
  507. package/dist/workers/device-linking-key.worker.js +12 -11
  508. package/dist/workers/ecdsa-derivation-client.worker.js +146 -48
  509. package/dist/workers/ecdsa-online-client.worker.js +7 -6
  510. package/dist/workers/ecdsa-presign-client.worker.js +7 -6
  511. package/dist/workers/email-otp.worker.js +17 -3
  512. package/dist/workers/passkey-mpc-export.worker.js +10 -0
  513. package/dist/workers/passkey-mpc-session.worker.js +2 -1
  514. package/package.json +8 -6
  515. package/dist/esm/react/hooks/useWallet.js +0 -108
  516. package/dist/esm/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
  517. package/dist/esm/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
  518. package/dist/esm/sdk/adapters-DsAaBNNY.js +0 -2
  519. package/dist/esm/sdk/authorizationAdmission-CGinGhXH.js +0 -1
  520. package/dist/esm/sdk/challengeDelivery-CATQ4u6P.js +0 -1
  521. package/dist/esm/sdk/configBuilder-BMawmNpz.js +0 -1
  522. package/dist/esm/sdk/domainIds-BzkGsRqO.js +0 -1
  523. package/dist/esm/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
  524. package/dist/esm/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
  525. package/dist/esm/sdk/export-viewer-host-CV-lSsQF.js +0 -1
  526. package/dist/esm/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
  527. package/dist/esm/sdk/localOnly-C5mSXb_D.js +0 -1
  528. package/dist/esm/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
  529. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
  530. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
  531. package/dist/esm/sdk/presignaturePool-V10fZpG3.js +0 -1
  532. package/dist/esm/sdk/registration-yoF0o52H.js +0 -1
  533. package/dist/esm/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
  534. package/dist/esm/sdk/runtime-auth--i_j8PP7.js +0 -1
  535. package/dist/esm/sdk/runtime-device-link-fpvaxYyR.js +0 -1
  536. package/dist/esm/sdk/runtime-ecdsa-tempo-AE5QTaXu.js +0 -1
  537. package/dist/esm/sdk/runtime-email-otp-Dl03QI-O.js +0 -1
  538. package/dist/esm/sdk/runtime-export-F9s12UcT.js +0 -1
  539. package/dist/esm/sdk/runtime-near-Bjrz1KYf.js +0 -1
  540. package/dist/esm/sdk/runtime-preferences-oLRSEqmz.js +0 -1
  541. package/dist/esm/sdk/runtime-recovery-DBBKvIIg.js +0 -1
  542. package/dist/esm/sdk/secp256k1-CKq7_HD-.js +0 -1
  543. package/dist/esm/sdk/sessionObservationRevision-CnEOLDbl.js +0 -1
  544. package/dist/esm/sdk/shared-D893jckQ.js +0 -6
  545. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
  546. package/dist/esm/sdk/signNear-XGZBxc_g.js +0 -1
  547. package/dist/esm/sdk/signatureUses-BKAoDbQd.js +0 -1
  548. package/dist/esm/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
  549. package/dist/esm/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
  550. package/dist/esm/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
  551. package/dist/esm/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
  552. package/dist/esm/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
  553. package/dist/esm/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
  554. package/dist/esm/sdk/walletSessionFailure-YuhraC3P.js +0 -1
  555. package/dist/esm/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
  556. package/dist/esm/sdk/webauthnP256-BwgxtG5N.js +0 -1
  557. package/dist/esm/sdk/webauthnPromptCoordinator-CwJeKiYq.js +0 -1
  558. package/dist/public/sdk/ConfirmationDrawer-BFzQjd1P.js +0 -1
  559. package/dist/public/sdk/NonceCoordinator-CDGnEgfI.js +0 -1
  560. package/dist/public/sdk/adapters-DsAaBNNY.js +0 -2
  561. package/dist/public/sdk/authorizationAdmission-CGinGhXH.js +0 -1
  562. package/dist/public/sdk/challengeDelivery-CATQ4u6P.js +0 -1
  563. package/dist/public/sdk/configBuilder-BMawmNpz.js +0 -1
  564. package/dist/public/sdk/domainIds-BzkGsRqO.js +0 -1
  565. package/dist/public/sdk/ecdsaCapabilityManifest-DX6TflEz.js +0 -1
  566. package/dist/public/sdk/ecdsaDerivationClientWasm-CpjnN4aK.js +0 -1
  567. package/dist/public/sdk/export-viewer-host-CV-lSsQF.js +0 -1
  568. package/dist/public/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
  569. package/dist/public/sdk/localOnly-C5mSXb_D.js +0 -1
  570. package/dist/public/sdk/mountExportPrivateKeySurface-CatAhYoG.js +0 -1
  571. package/dist/public/sdk/mountRecoveryCodeBackupSurface-DlEb3uD7.js +0 -2
  572. package/dist/public/sdk/nearEd25519YaoMaterialActivation-Bo3IOTS-.js +0 -1
  573. package/dist/public/sdk/presignaturePool-V10fZpG3.js +0 -1
  574. package/dist/public/sdk/registration-yoF0o52H.js +0 -1
  575. package/dist/public/sdk/routerAbNormalSigning-C4P2tDU-.js +0 -1
  576. package/dist/public/sdk/runtime-auth--i_j8PP7.js +0 -1
  577. package/dist/public/sdk/runtime-device-link-fpvaxYyR.js +0 -1
  578. package/dist/public/sdk/runtime-ecdsa-tempo-AE5QTaXu.js +0 -1
  579. package/dist/public/sdk/runtime-email-otp-Dl03QI-O.js +0 -1
  580. package/dist/public/sdk/runtime-export-F9s12UcT.js +0 -1
  581. package/dist/public/sdk/runtime-near-Bjrz1KYf.js +0 -1
  582. package/dist/public/sdk/runtime-preferences-oLRSEqmz.js +0 -1
  583. package/dist/public/sdk/runtime-recovery-DBBKvIIg.js +0 -1
  584. package/dist/public/sdk/secp256k1-CKq7_HD-.js +0 -1
  585. package/dist/public/sdk/sessionObservationRevision-CnEOLDbl.js +0 -1
  586. package/dist/public/sdk/shared-D893jckQ.js +0 -6
  587. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-DGWmm9n7.js +0 -1
  588. package/dist/public/sdk/signNear-XGZBxc_g.js +0 -1
  589. package/dist/public/sdk/signatureUses-BKAoDbQd.js +0 -1
  590. package/dist/public/sdk/surface-measurement-reporter-DvVHPu_O.js +0 -1
  591. package/dist/public/sdk/transactionReviewAdmission-CIvR4W5_.js +0 -1
  592. package/dist/public/sdk/walletCustodyEcdsaContinuity-B4fTDL10.js +0 -1
  593. package/dist/public/sdk/walletRegistrationSetupPrewarm-B9kpnrbK.js +0 -1
  594. package/dist/public/sdk/walletSessionAuthorizationStatus-BL7j2TeM.js +0 -1
  595. package/dist/public/sdk/walletSessionAuthorizationStore-DmYe-cDR.js +0 -1
  596. package/dist/public/sdk/walletSessionFailure-YuhraC3P.js +0 -1
  597. package/dist/public/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
  598. package/dist/public/sdk/webauthnP256-BwgxtG5N.js +0 -1
  599. package/dist/public/sdk/webauthnPromptCoordinator-CwJeKiYq.js +0 -1
  600. /package/dist/esm/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
  601. /package/dist/esm/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
  602. /package/dist/esm/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
  603. /package/dist/public/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
  604. /package/dist/public/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
  605. /package/dist/public/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
@@ -1,3 +1,5 @@
1
+ import { walletDisplayText, walletText } from "../../../core/ui/messages.js";
2
+ import { WalletText, useWalletLocale } from "../../context/WalletLocale.js";
1
3
  import { useSeams } from "../../context/index.js";
2
4
  import { AccountMenuDialogFrame } from "./AccountMenuDialog.js";
3
5
  import { AuthenticationMethodRow } from "./AuthenticationMethodRow.js";
@@ -113,6 +115,7 @@ function inventoryStatus(state) {
113
115
  }
114
116
  }
115
117
  const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation }) => {
118
+ const locale = useWalletLocale();
116
119
  const { seams, loginState, refreshSession } = useSeams();
117
120
  const [loadState, setLoadState] = React.useState({ kind: "idle" });
118
121
  const [actionState, setActionState] = React.useState({ kind: "idle" });
@@ -298,7 +301,7 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
298
301
  dialogRef,
299
302
  contentClassName: "seams-auth-methods-modal-content",
300
303
  titleId: "seams-auth-methods-modal-title",
301
- title: "Authentication methods",
304
+ title: walletText(locale, "Authentication methods"),
302
305
  children: /* @__PURE__ */ jsx(AuthenticationMethodsView, {
303
306
  walletLabel: walletId ?? "Wallet",
304
307
  status: inventoryStatus(loadState),
@@ -309,21 +312,25 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
309
312
  loadState.kind === "idle" ? /* @__PURE__ */ jsx("div", {
310
313
  className: "seams-linked-devices-modal-placeholder",
311
314
  role: "status",
312
- children: "Checking authentication methods…"
315
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Checking authentication methods…" })
313
316
  }) : null,
314
317
  loadState.kind === "error" ? /* @__PURE__ */ jsxs("div", {
315
318
  className: "seams-linked-devices-modal-placeholder",
316
319
  role: "alert",
317
- children: [/* @__PURE__ */ jsxs("span", { children: ["Unable to load authentication methods: ", loadState.message] }), /* @__PURE__ */ jsx("button", {
320
+ children: [/* @__PURE__ */ jsxs("span", { children: [
321
+ /* @__PURE__ */ jsx(WalletText, { message: "Unable to load authentication methods:" }),
322
+ " ",
323
+ /* @__PURE__ */ jsx(WalletText, { copy: loadState.message })
324
+ ] }), /* @__PURE__ */ jsx("button", {
318
325
  type: "button",
319
326
  className: "seams-linked-devices-modal-secondary",
320
327
  onClick: () => void loadInventory(),
321
- children: "Try again"
328
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Try again" })
322
329
  })]
323
330
  }) : null,
324
331
  inventory ? /* @__PURE__ */ jsx("section", {
325
332
  className: "seams-account-menu-section",
326
- "aria-label": "Active authentication methods",
333
+ "aria-label": walletText(locale, "Active authentication methods"),
327
334
  children: /* @__PURE__ */ jsx("ul", {
328
335
  className: "seams-account-method-tiles",
329
336
  children: methods.map((method) => {
@@ -331,42 +338,41 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
331
338
  const revoking = actionState.kind === "revoking" && actionState.method.walletAuthMethodId === method.walletAuthMethodId;
332
339
  return /* @__PURE__ */ jsx(AuthenticationMethodRow, {
333
340
  kind: method.kind,
334
- title: methodTitle(method),
335
- description: methodDescription(method),
341
+ title: walletDisplayText(locale, methodTitle(method)),
342
+ description: walletDisplayText(locale, methodDescription(method)),
336
343
  action: !confirming && canManageMethods && methods.length > 1 ? /* @__PURE__ */ jsx("button", {
337
344
  type: "button",
338
345
  className: "seams-linked-devices-modal-secondary seams-linked-devices-modal-remove",
339
346
  disabled: actionInProgress,
340
- "aria-label": `Remove ${methodTitle(method)}`,
347
+ "aria-label": walletDisplayText(locale, `Remove ${methodTitle(method)}`),
341
348
  onClick: () => setActionState({
342
349
  kind: "confirming_revoke",
343
350
  method
344
351
  }),
345
- children: revoking ? "Removing…" : "Remove"
352
+ children: revoking ? /* @__PURE__ */ jsx(WalletText, { message: "Removing…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Remove" })
346
353
  }) : null,
347
354
  children: confirming ? /* @__PURE__ */ jsxs("div", {
348
355
  className: "seams-linked-devices-modal-confirm",
349
- children: [/* @__PURE__ */ jsxs("span", { children: [
350
- "Remove ",
351
- methodTitle(method),
352
- " from this device? You will need the other active method to unlock it."
353
- ] }), /* @__PURE__ */ jsxs("div", {
356
+ children: [/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, {
357
+ message: "Remove {value0} from this device? You will need the other active method to unlock it.",
358
+ values: { value0: walletDisplayText(locale, methodTitle(method)) }
359
+ }) }), /* @__PURE__ */ jsxs("div", {
354
360
  className: "seams-linked-devices-modal-confirm-actions",
355
361
  children: [/* @__PURE__ */ jsx("button", {
356
362
  type: "button",
357
363
  className: "seams-linked-devices-modal-secondary",
358
364
  onClick: () => setActionState({ kind: "idle" }),
359
- children: "Keep it"
365
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Keep it" })
360
366
  }), /* @__PURE__ */ jsx("button", {
361
367
  type: "button",
362
368
  className: "seams-linked-devices-modal-danger",
363
369
  onClick: () => void revokeMethod(),
364
- children: "Remove method"
370
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Remove method" })
365
371
  })]
366
372
  })]
367
373
  }) : methods.length > 1 ? null : /* @__PURE__ */ jsx("span", {
368
374
  className: "seams-linked-devices-modal-item-detail",
369
- children: "Add another method before removing this one."
375
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Add another method before removing this one." })
370
376
  })
371
377
  }, method.walletAuthMethodId);
372
378
  })
@@ -379,7 +385,7 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
379
385
  /* @__PURE__ */ jsx("h3", {
380
386
  id: "seams-auth-methods-add",
381
387
  className: "seams-account-menu-section-label",
382
- children: "Add a method"
388
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Add a method" })
383
389
  }),
384
390
  !hasPasskey ? /* @__PURE__ */ jsxs("div", {
385
391
  className: "seams-linked-devices-modal-add-method",
@@ -391,10 +397,10 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
391
397
  children: [/* @__PURE__ */ jsx(PlusIcon, {
392
398
  size: 18,
393
399
  strokeWidth: 1.75
394
- }), actionState.kind === "adding" && actionState.method === "passkey" ? "Adding…" : "Add passkey"]
400
+ }), actionState.kind === "adding" && actionState.method === "passkey" ? /* @__PURE__ */ jsx(WalletText, { message: "Adding…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Add passkey" })]
395
401
  }), /* @__PURE__ */ jsx("p", {
396
402
  className: "seams-linked-devices-modal-security-note",
397
- children: "Use a passkey from this device to unlock the wallet."
403
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Use a passkey from this device to unlock the wallet." })
398
404
  })]
399
405
  }) : null,
400
406
  !hasEmailOtp ? /* @__PURE__ */ jsx("div", {
@@ -408,7 +414,7 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
408
414
  children: [
409
415
  /* @__PURE__ */ jsx("label", {
410
416
  htmlFor: emailInputId,
411
- children: "Email address"
417
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Email address" })
412
418
  }),
413
419
  /* @__PURE__ */ jsx("input", {
414
420
  id: emailInputId,
@@ -427,7 +433,7 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
427
433
  type: "submit",
428
434
  className: "seams-linked-devices-modal-secondary",
429
435
  disabled: actionInProgress || !canManageMethods,
430
- children: actionState.kind === "adding" && actionState.method === "email_otp" ? "Adding…" : "Add Email OTP"
436
+ children: actionState.kind === "adding" && actionState.method === "email_otp" ? /* @__PURE__ */ jsx(WalletText, { message: "Adding…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Add Email OTP" })
431
437
  })
432
438
  ]
433
439
  })
@@ -437,30 +443,30 @@ const AuthenticationMethodsModal = ({ walletId, isOpen, onClose, presentation })
437
443
  loadState.kind === "loaded" && inventory?.kind === "local_selection" ? /* @__PURE__ */ jsxs("section", {
438
444
  className: "seams-linked-devices-modal-add-method",
439
445
  children: [
440
- /* @__PURE__ */ jsx("h3", { children: "Unlock to manage methods" }),
446
+ /* @__PURE__ */ jsx("h3", { children: /* @__PURE__ */ jsx(WalletText, { message: "Unlock to manage methods" }) }),
441
447
  /* @__PURE__ */ jsx("p", {
442
448
  className: "seams-linked-devices-modal-security-note",
443
- children: "Confirm your current authentication method to add or remove methods."
449
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Confirm your current authentication method to add or remove methods." })
444
450
  }),
445
451
  /* @__PURE__ */ jsx("button", {
446
452
  type: "button",
447
453
  className: "seams-linked-devices-modal-secondary seams-account-menu-wide-button",
448
454
  disabled: actionInProgress,
449
455
  onClick: () => void unlockOwnerSession(),
450
- children: actionState.kind === "unlocking" ? "Unlocking…" : "Unlock wallet"
456
+ children: actionState.kind === "unlocking" ? /* @__PURE__ */ jsx(WalletText, { message: "Unlocking…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Unlock wallet" })
451
457
  })
452
458
  ]
453
459
  }) : null,
454
460
  actionState.kind === "error" ? /* @__PURE__ */ jsx("div", {
455
461
  className: "seams-linked-devices-modal-error",
456
462
  role: "alert",
457
- children: actionState.message
463
+ children: /* @__PURE__ */ jsx(WalletText, { copy: actionState.message })
458
464
  }) : null,
459
465
  /* @__PURE__ */ jsx("div", {
460
466
  className: "seams-linked-devices-modal-live",
461
467
  role: "status",
462
468
  "aria-live": "polite",
463
- children: announcement
469
+ children: /* @__PURE__ */ jsx(WalletText, { copy: announcement })
464
470
  })
465
471
  ]
466
472
  })
@@ -1,12 +1,15 @@
1
+ import { walletDisplayText, walletText } from "../../../core/ui/messages.js";
2
+ import { useWalletLocale } from "../../context/WalletLocale.js";
1
3
  import { AccountMenuDeviceDetails } from "./AccountMenuDeviceDetails.js";
2
4
  import "react";
3
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
6
  //#region src/react/components/AccountMenuButton/AuthenticationMethodsView.tsx
5
7
  /** Shared presentation; callers own enrollment data and authenticated actions. */
6
8
  function AuthenticationMethodsView({ walletLabel, status, children }) {
9
+ const locale = useWalletLocale();
7
10
  return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(AccountMenuDeviceDetails, {
8
- title: walletLabel,
9
- description: "This wallet",
11
+ title: walletDisplayText(locale, walletLabel),
12
+ description: walletText(locale, "This wallet"),
10
13
  details: [{
11
14
  label: "Status",
12
15
  value: status
@@ -1,3 +1,5 @@
1
+ import { walletText } from "../../../core/ui/messages.js";
2
+ import { WalletText, useWalletLocale } from "../../context/WalletLocale.js";
1
3
  import { AccountMenuScreen } from "./AccountMenuScreen.js";
2
4
  import { ExportKeysSection } from "./ExportKeysSection.js";
3
5
  import "react";
@@ -6,12 +8,12 @@ import { jsx, jsxs } from "react/jsx-runtime";
6
8
  /** Shared key selection; the connected caller owns the authenticated export. */
7
9
  function ExportKeysScreen({ onBack, ...selection }) {
8
10
  return /* @__PURE__ */ jsxs(AccountMenuScreen, {
9
- title: "Export keys",
11
+ title: walletText(useWalletLocale(), "Export keys"),
10
12
  onBack,
11
13
  children: [
12
14
  /* @__PURE__ */ jsx("p", {
13
15
  className: "seams-account-description",
14
- children: "Choose the signing key to export. Your wallet will ask you to authenticate."
16
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Choose the signing key to export. Your wallet will ask you to authenticate." })
15
17
  }),
16
18
  /* @__PURE__ */ jsx(ExportKeysSection, {
17
19
  ...selection,
@@ -19,7 +21,7 @@ function ExportKeysScreen({ onBack, ...selection }) {
19
21
  }),
20
22
  /* @__PURE__ */ jsx("p", {
21
23
  className: "seams-account-note",
22
- children: "Keep exported keys private. Anyone with a signing key can control its accounts."
24
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Keep exported keys private. Anyone with a signing key can control its accounts." })
23
25
  })
24
26
  ]
25
27
  });
@@ -1,3 +1,4 @@
1
+ import { WalletText } from "../../context/WalletLocale.js";
1
2
  import { KeyIcon } from "./icons/KeyIcon.js";
2
3
  import SpinnerIcon from "./icons/SpinnerIcon.js";
3
4
  import "react";
@@ -48,15 +49,15 @@ const ExportKeysSection = ({ isOpen = false, presentation = "menu", loadingChain
48
49
  }) : null,
49
50
  /* @__PURE__ */ jsx("span", {
50
51
  className: "seams-export-keys-row-label",
51
- children: row.label
52
+ children: /* @__PURE__ */ jsx(WalletText, { copy: row.label })
52
53
  }),
53
54
  /* @__PURE__ */ jsx("span", {
54
55
  className: "seams-export-keys-row-description",
55
- children: row.description
56
+ children: /* @__PURE__ */ jsx(WalletText, { copy: row.description })
56
57
  }),
57
58
  presentation === "page" ? /* @__PURE__ */ jsxs("span", {
58
59
  className: "seams-export-keys-action",
59
- children: [loadingChain === row.chain ? "Preparing export…" : "Export key", /* @__PURE__ */ jsx("span", {
60
+ children: [loadingChain === row.chain ? /* @__PURE__ */ jsx(WalletText, { message: "Preparing export…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Export key" }), /* @__PURE__ */ jsx("span", {
60
61
  "aria-hidden": "true",
61
62
  children: "→"
62
63
  })]
@@ -375,8 +375,19 @@
375
375
  }
376
376
 
377
377
  .seams-linked-devices-modal-otp-input:focus-visible {
378
- outline: 2px solid var(--seams-colors-primary);
379
- outline-offset: 2px;
378
+ outline: none;
379
+ border-color: transparent;
380
+ background:
381
+ linear-gradient(var(--seams-colors-colorBackground), var(--seams-colors-colorBackground))
382
+ padding-box,
383
+ var(
384
+ --seams-colors-focusGradient,
385
+ linear-gradient(
386
+ var(--seams-colors-focus, var(--seams-colors-primary)),
387
+ var(--seams-colors-focus, var(--seams-colors-primary))
388
+ )
389
+ )
390
+ border-box;
380
391
  }
381
392
 
382
393
  .seams-linked-devices-modal-secondary,
@@ -1,3 +1,5 @@
1
+ import { walletDisplayText, walletText } from "../../../core/ui/messages.js";
2
+ import { WalletText, useWalletLocale } from "../../context/WalletLocale.js";
1
3
  import { useSeams } from "../../context/index.js";
2
4
  import { AccountMenuDeviceDetails } from "./AccountMenuDeviceDetails.js";
3
5
  import { AccountMenuDialogFrame } from "./AccountMenuDialog.js";
@@ -107,15 +109,15 @@ function deviceStateAttr(view) {
107
109
  return view.kind === "owner" ? "active" : view.device.state;
108
110
  }
109
111
  /** "today" / "yesterday" / a plain date — never a timestamp with seconds. */
110
- function friendlyDay(value, now) {
112
+ function friendlyDay(value, now, locale) {
111
113
  const then = new Date(value);
112
114
  const startOfToday = new Date(now);
113
115
  startOfToday.setHours(0, 0, 0, 0);
114
116
  const daysAgo = Math.floor((startOfToday.getTime() - then.setHours(0, 0, 0, 0)) / (1440 * 60 * 1e3));
115
- if (daysAgo <= 0) return "today";
116
- if (daysAgo === 1) return "yesterday";
117
- if (daysAgo < 7) return `${daysAgo} days ago`;
118
- return new Date(value).toLocaleDateString(void 0, {
117
+ if (daysAgo <= 0) return walletText(locale, "today");
118
+ if (daysAgo === 1) return walletText(locale, "yesterday");
119
+ if (daysAgo < 7) return walletText(locale, "{value0} days ago", { value0: daysAgo });
120
+ return new Date(value).toLocaleDateString(locale, {
119
121
  month: "short",
120
122
  day: "numeric",
121
123
  year: "numeric"
@@ -138,16 +140,16 @@ function credentialDescription(credential) {
138
140
  * row's title collides with another visible row, the created-at day is
139
141
  * appended as a second human disambiguator.
140
142
  */
141
- function deviceMetaLine(view, deviceNumber, titleCollides, now) {
143
+ function deviceMetaLine(view, deviceNumber, titleCollides, now, locale) {
142
144
  const credential = viewCredential(view);
143
- const parts = [`Device ${deviceNumber}`];
145
+ const parts = [walletText(locale, "Device {value0}", { value0: deviceNumber })];
144
146
  if (credential.kind === "passkey") {
145
- parts.push(credential.device.synced ? "Synced passkey" : "Passkey");
147
+ parts.push(walletText(locale, credential.device.synced ? "Synced passkey" : "Passkey"));
146
148
  const provider = credential.device.providerLabel ?? credential.device.provider;
147
149
  if (provider) parts.push(provider);
148
150
  } else parts.push(String(credential.email));
149
- if (titleCollides) parts.push(`Added ${friendlyDay(viewCreatedAtMs(view), now)}`);
150
- parts.push(`Last used ${friendlyDay(viewLastActivityAtMs(view), now)}`);
151
+ if (titleCollides) parts.push(walletText(locale, "Added {value0}", { value0: friendlyDay(viewCreatedAtMs(view), now, locale) }));
152
+ parts.push(walletText(locale, "Last used {value0}", { value0: friendlyDay(viewLastActivityAtMs(view), now, locale) }));
151
153
  return parts.join(" · ");
152
154
  }
153
155
  /** Icon for the row: what kind of thing holds this credential. */
@@ -165,18 +167,21 @@ function credentialIcon(credential) {
165
167
  });
166
168
  }
167
169
  /** "sign in with ___ first" — names the actual sibling instead of "the sibling method". */
168
- function siblingMethodName(siblings) {
170
+ function siblingMethodName(siblings, locale) {
169
171
  if (siblings.length === 1) {
170
172
  const credential = viewCredential(siblings[0]);
171
- return credential.kind === "email_otp" ? "your email code" : `your "${credential.device.label}" passkey`;
173
+ return credential.kind === "email_otp" ? walletText(locale, "your email code") : walletText(locale, "your \"{value0}\" passkey", { value0: credential.device.label });
172
174
  }
173
- if (siblings.every((view) => viewCredential(view).kind === "email_otp")) return "your email code";
174
- return "another sign-in method";
175
+ if (siblings.every((view) => viewCredential(view).kind === "email_otp")) return walletText(locale, "your email code");
176
+ return walletText(locale, "another sign-in method");
175
177
  }
176
- function selectedMethodRemovalHint(target, devices) {
178
+ function selectedMethodRemovalHint(target, devices, locale) {
177
179
  const targetMethodId = String(viewCredential(target).walletAuthMethodId);
178
180
  const siblings = devices.map(({ view }) => view).filter((view) => isActiveWalletMethod(view) && String(viewCredential(view).walletAuthMethodId) !== targetMethodId);
179
- return `You're signed in with ${viewCredential(target).kind === "email_otp" ? "your email code" : "this passkey"}. To remove it, sign in with ${siblingMethodName(siblings)} first.`;
181
+ return walletText(locale, "You're signed in with {value0}. To remove it, sign in with {value1} first.", {
182
+ value0: walletText(locale, viewCredential(target).kind === "email_otp" ? "your email code" : "this passkey"),
183
+ value1: siblingMethodName(siblings, locale)
184
+ });
180
185
  }
181
186
  function deviceDescription(view, deviceNumber) {
182
187
  return `Device ${deviceNumber}, ${credentialDescription(viewCredential(view))} (ID ${shortDisplayId(viewDisplayId(view))})`;
@@ -201,6 +206,7 @@ function withLinkedDevicesLoadTimeout(promise) {
201
206
  });
202
207
  }
203
208
  const LinkedDevicesModal = ({ walletId, isOpen, onClose, presentation }) => {
209
+ const locale = useWalletLocale();
204
210
  const { seams, loginState } = useSeams();
205
211
  const [loadState, setLoadState] = React.useState({ kind: "idle" });
206
212
  const [revokeState, setRevokeState] = React.useState({ kind: "idle" });
@@ -292,38 +298,42 @@ const LinkedDevicesModal = ({ walletId, isOpen, onClose, presentation }) => {
292
298
  dialogRef,
293
299
  contentClassName: "seams-linked-devices-inventory-content",
294
300
  titleId: "seams-linked-devices-modal-title",
295
- title: selectedDevice ? "Device details" : "Linked devices",
301
+ title: walletDisplayText(locale, selectedDevice ? "Device details" : "Linked devices"),
296
302
  children: [selectedDevice ? /* @__PURE__ */ jsx(AccountMenuDeviceDetails, {
297
- title: credentialDescription(viewCredential(selectedDevice.view)),
298
- description: deviceMetaLine(selectedDevice.view, selectedDevice.deviceNumber, false, Date.now()),
303
+ title: walletDisplayText(locale, credentialDescription(viewCredential(selectedDevice.view))),
304
+ description: walletDisplayText(locale, deviceMetaLine(selectedDevice.view, selectedDevice.deviceNumber, false, Date.now(), locale)),
299
305
  details: [{
300
306
  label: "Status",
301
307
  value: deviceStateAttr(selectedDevice.view)
302
308
  }]
303
309
  }) : /* @__PURE__ */ jsx("p", {
304
310
  className: "seams-linked-devices-modal-subtitle",
305
- children: "Anything listed here can unlock this wallet."
311
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Anything listed here can unlock this wallet." })
306
312
  }), /* @__PURE__ */ jsxs("div", {
307
313
  className: "seams-linked-devices-modal-body",
308
314
  children: [
309
315
  loadState.kind === "loading" || loadState.kind === "idle" ? /* @__PURE__ */ jsx("div", {
310
316
  className: "seams-linked-devices-modal-placeholder",
311
317
  role: "status",
312
- children: "Checking your devices…"
318
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Checking your devices…" })
313
319
  }) : null,
314
320
  loadState.kind === "error" ? /* @__PURE__ */ jsxs("div", {
315
321
  className: "seams-linked-devices-modal-placeholder",
316
322
  role: "alert",
317
- children: [/* @__PURE__ */ jsxs("span", { children: ["Unable to load your devices: ", loadState.message] }), /* @__PURE__ */ jsx("button", {
323
+ children: [/* @__PURE__ */ jsxs("span", { children: [
324
+ /* @__PURE__ */ jsx(WalletText, { message: "Unable to load your devices:" }),
325
+ " ",
326
+ /* @__PURE__ */ jsx(WalletText, { copy: loadState.message })
327
+ ] }), /* @__PURE__ */ jsx("button", {
318
328
  type: "button",
319
329
  className: "seams-linked-devices-modal-secondary",
320
330
  onClick: () => void loadDevices(),
321
- children: "Try again"
331
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Try again" })
322
332
  })]
323
333
  }) : null,
324
334
  showEmpty ? /* @__PURE__ */ jsx("div", {
325
335
  className: "seams-linked-devices-modal-placeholder",
326
- children: "No other devices are using this wallet."
336
+ children: /* @__PURE__ */ jsx(WalletText, { message: "No other devices are using this wallet." })
327
337
  }) : null,
328
338
  devices.length > 0 ? /* @__PURE__ */ jsx("ul", {
329
339
  className: "seams-linked-devices-modal-list seams-linked-devices-modal-list--grouped",
@@ -342,8 +352,8 @@ const LinkedDevicesModal = ({ walletId, isOpen, onClose, presentation }) => {
342
352
  if (presentation === "embedded" && !selectedDevice) return /* @__PURE__ */ jsx(AuthenticationMethodRow, {
343
353
  kind: viewCredential(view).kind,
344
354
  icon: credentialIcon(viewCredential(view)),
345
- title,
346
- description: deviceMetaLine(view, deviceNumber, titleCollides, Date.now()),
355
+ title: walletDisplayText(locale, title),
356
+ description: walletDisplayText(locale, deviceMetaLine(view, deviceNumber, titleCollides, Date.now(), locale)),
347
357
  onSelect: setSelectedDeviceId.bind(null, cardId)
348
358
  }, cardId);
349
359
  return /* @__PURE__ */ jsxs("li", {
@@ -364,41 +374,40 @@ const LinkedDevicesModal = ({ walletId, isOpen, onClose, presentation }) => {
364
374
  className: "seams-linked-devices-modal-item-main",
365
375
  children: [/* @__PURE__ */ jsx("span", {
366
376
  className: "seams-linked-devices-modal-item-name",
367
- children: title
377
+ children: /* @__PURE__ */ jsx(WalletText, { copy: title })
368
378
  }), chip ? /* @__PURE__ */ jsx("span", {
369
379
  className: `seams-linked-devices-modal-standing tone-${chip.tone}`,
370
- children: chip.label
380
+ children: /* @__PURE__ */ jsx(WalletText, { copy: chip.label })
371
381
  }) : null]
372
382
  }),
373
383
  /* @__PURE__ */ jsx("div", {
374
384
  className: "seams-linked-devices-modal-item-detail",
375
- children: deviceMetaLine(view, deviceNumber, titleCollides, Date.now())
385
+ children: /* @__PURE__ */ jsx(WalletText, { copy: deviceMetaLine(view, deviceNumber, titleCollides, Date.now(), locale) })
376
386
  }),
377
387
  isSelectedMethod && hasRemovableSibling ? /* @__PURE__ */ jsxs("div", {
378
388
  className: "seams-linked-devices-modal-hint",
379
389
  children: [/* @__PURE__ */ jsx(LockIcon, {
380
390
  size: 15,
381
391
  strokeWidth: 1.75
382
- }), /* @__PURE__ */ jsx("span", { children: selectedMethodRemovalHint(view, devices) })]
392
+ }), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { copy: selectedMethodRemovalHint(view, devices, locale) }) })]
383
393
  }) : null,
384
394
  confirming ? /* @__PURE__ */ jsxs("div", {
385
395
  className: "seams-linked-devices-modal-confirm",
386
- children: [/* @__PURE__ */ jsxs("span", { children: [
387
- "Remove ",
388
- title,
389
- "? It will lose access right away."
390
- ] }), /* @__PURE__ */ jsxs("div", {
396
+ children: [/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, {
397
+ message: "Remove {value0}? It will lose access right away.",
398
+ values: { value0: title }
399
+ }) }), /* @__PURE__ */ jsxs("div", {
391
400
  className: "seams-linked-devices-modal-confirm-actions",
392
401
  children: [/* @__PURE__ */ jsx("button", {
393
402
  type: "button",
394
403
  className: "seams-linked-devices-modal-secondary",
395
404
  onClick: () => setRevokeState({ kind: "idle" }),
396
- children: "Keep it"
405
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Keep it" })
397
406
  }), /* @__PURE__ */ jsx("button", {
398
407
  type: "button",
399
408
  className: "seams-linked-devices-modal-danger",
400
409
  onClick: () => void revokeMethod(view, deviceNumber),
401
- children: "Yes, remove"
410
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Yes, remove" })
402
411
  })]
403
412
  })]
404
413
  }) : null
@@ -408,12 +417,12 @@ const LinkedDevicesModal = ({ walletId, isOpen, onClose, presentation }) => {
408
417
  type: "button",
409
418
  className: "seams-linked-devices-modal-secondary seams-linked-devices-modal-remove",
410
419
  disabled: revocationInProgress,
411
- "aria-label": `Remove ${deviceDescription(view, deviceNumber)}`,
420
+ "aria-label": walletDisplayText(locale, `Remove ${deviceDescription(view, deviceNumber)}`),
412
421
  onClick: () => setRevokeState({
413
422
  kind: "confirming",
414
423
  walletAuthMethodId
415
424
  }),
416
- children: working ? "Removing…" : "Remove"
425
+ children: working ? /* @__PURE__ */ jsx(WalletText, { message: "Removing…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Remove" })
417
426
  }) : null
418
427
  ]
419
428
  }, cardId);
@@ -422,13 +431,13 @@ const LinkedDevicesModal = ({ walletId, isOpen, onClose, presentation }) => {
422
431
  revokeState.kind === "error" ? /* @__PURE__ */ jsx("div", {
423
432
  className: "seams-linked-devices-modal-error",
424
433
  role: "alert",
425
- children: revokeState.message
434
+ children: /* @__PURE__ */ jsx(WalletText, { copy: revokeState.message })
426
435
  }) : null,
427
436
  /* @__PURE__ */ jsx("div", {
428
437
  className: "seams-linked-devices-modal-live",
429
438
  role: "status",
430
439
  "aria-live": "polite",
431
- children: announcement
440
+ children: /* @__PURE__ */ jsx(WalletText, { copy: announcement })
432
441
  })
433
442
  ]
434
443
  })]
@@ -1,4 +1,5 @@
1
1
  import { blinkMenuItem } from "../../../utils/menuItemBlink.js";
2
+ import { WalletText } from "../../context/WalletLocale.js";
2
3
  import LogOutIcon from "./icons/LogOutIcon2.js";
3
4
  import { memo } from "react";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -18,7 +19,7 @@ const LockMenuItem = memo(({ onLock, className, style }) => {
18
19
  className: "seams-dropdown-menu-item-content",
19
20
  children: /* @__PURE__ */ jsx("div", {
20
21
  className: "seams-dropdown-menu-item-label",
21
- children: "Lock Wallet"
22
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Lock Wallet" })
22
23
  })
23
24
  })]
24
25
  });
@@ -1,3 +1,4 @@
1
+ import { WalletText } from "../../context/WalletLocale.js";
1
2
  import { HoverArrowIcon } from "./icons/HoverArrowIcon.js";
2
3
  import { forwardRef, memo } from "react";
3
4
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -30,10 +31,10 @@ const MenuItem = memo(forwardRef(({ item, onClose, className, style, isHighlight
30
31
  className: "seams-dropdown-menu-item-content",
31
32
  children: [/* @__PURE__ */ jsx("div", {
32
33
  className: "seams-dropdown-menu-item-label",
33
- children: item.label
34
+ children: /* @__PURE__ */ jsx(WalletText, { copy: item.label })
34
35
  }), /* @__PURE__ */ jsx("div", {
35
36
  className: "seams-dropdown-menu-item-description",
36
- children: item.description
37
+ children: /* @__PURE__ */ jsx(WalletText, { copy: item.description })
37
38
  })]
38
39
  }),
39
40
  !item.disabled ? /* @__PURE__ */ jsx(HoverArrowIcon, {}) : null
@@ -1,3 +1,5 @@
1
+ import { walletDisplayText, walletText } from "../../../core/ui/messages.js";
2
+ import { WalletText, useWalletLocale } from "../../context/WalletLocale.js";
1
3
  import { MenuItem } from "./MenuItem.js";
2
4
  import { LockMenuItem } from "./LockMenuItem.js";
3
5
  import "react";
@@ -23,10 +25,11 @@ function storeMenuRef(refs, index, element) {
23
25
  refs.current[index] = element;
24
26
  }
25
27
  function MenuGroup({ label, items, props }) {
28
+ const locale = useWalletLocale();
26
29
  return /* @__PURE__ */ jsxs("section", {
27
30
  className: "seams-account-menu-group",
28
- "aria-label": label,
29
- children: [/* @__PURE__ */ jsx("h3", { children: label }), items.map(renderItem.bind(null, props))]
31
+ "aria-label": walletDisplayText(locale, label),
32
+ children: [/* @__PURE__ */ jsx("h3", { children: /* @__PURE__ */ jsx(WalletText, { copy: label }) }), items.map(renderItem.bind(null, props))]
30
33
  });
31
34
  }
32
35
  function renderItem(props, item) {
@@ -39,17 +42,18 @@ function renderItem(props, item) {
39
42
  }, item.id);
40
43
  }
41
44
  function ProfileDropdown(props) {
45
+ const locale = useWalletLocale();
42
46
  props.menuItemsRef.current.length = props.menuItems.length;
43
47
  return /* @__PURE__ */ jsxs("div", {
44
48
  className: "seams-profile-dropdown-menu",
45
49
  children: [
46
50
  /* @__PURE__ */ jsx(MenuGroup, {
47
- label: "Addresses",
51
+ label: walletText(locale, "Addresses"),
48
52
  items: props.menuItems.filter(isAccountItem),
49
53
  props
50
54
  }),
51
55
  /* @__PURE__ */ jsx(MenuGroup, {
52
- label: "Security & devices",
56
+ label: walletText(locale, "Security & devices"),
53
57
  items: props.menuItems.filter(isSecurityItem).sort(compareSecurityItems),
54
58
  props
55
59
  }),
@@ -1,3 +1,4 @@
1
+ import { WalletText } from "../../context/WalletLocale.js";
1
2
  import { useState } from "react";
2
3
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
4
  //#region src/react/components/AccountMenuButton/RecoveryCodeAcknowledgement.tsx
@@ -12,13 +13,13 @@ function RecoveryCodeAcknowledgement({ onDone }) {
12
13
  type: "checkbox",
13
14
  checked: acknowledged,
14
15
  onChange: updateAcknowledgement.bind(null, setAcknowledged)
15
- }), /* @__PURE__ */ jsx("span", { children: "I’ve saved these codes. They won’t be shown again." })]
16
+ }), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { message: "I’ve saved these codes. They won’t be shown again." }) })]
16
17
  }), /* @__PURE__ */ jsx("button", {
17
18
  type: "button",
18
19
  className: "seams-account-action primary",
19
20
  disabled: !acknowledged,
20
21
  onClick: onDone,
21
- children: "Done"
22
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Done" })
22
23
  })] });
23
24
  }
24
25
  //#endregion
@@ -1,3 +1,4 @@
1
+ import { WalletText } from "../../context/WalletLocale.js";
1
2
  import { useState } from "react";
2
3
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
4
  //#region src/react/components/AccountMenuButton/RecoveryCodeActions.tsx
@@ -33,18 +34,18 @@ function RecoveryCodeActions({ codes }) {
33
34
  type: "button",
34
35
  className: "seams-account-action",
35
36
  onClick: copyCodes.bind(null, codes, setFeedback),
36
- children: "Copy all"
37
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Copy all" })
37
38
  }), /* @__PURE__ */ jsx("button", {
38
39
  type: "button",
39
40
  className: "seams-account-action",
40
41
  onClick: downloadCodes.bind(null, codes, setFeedback),
41
- children: "Download all"
42
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Download all" })
42
43
  })]
43
44
  }), /* @__PURE__ */ jsx("p", {
44
45
  className: "seams-recovery-code-action-status",
45
46
  role: "status",
46
47
  "aria-live": "polite",
47
- children: feedback
48
+ children: /* @__PURE__ */ jsx(WalletText, { copy: feedback })
48
49
  })] });
49
50
  }
50
51
  //#endregion