@seams/wallet 0.17.0 → 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 (311) hide show
  1. package/README.md +4 -5
  2. package/dist/.build-inputs.sha256 +1 -1
  3. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +5 -4
  4. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +89 -241
  5. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +4 -2
  6. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.js +116 -0
  7. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.js +60 -0
  8. package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +2 -0
  9. package/dist/esm/core/config/configBuilder.js +2 -0
  10. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +7 -4
  11. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.js +10 -6
  12. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +9 -6
  13. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +9 -6
  14. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +7 -4
  15. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +4 -1
  16. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +4 -1
  17. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +5 -4
  18. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +10 -7
  19. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.js +9 -5
  20. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +28 -22
  21. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +2 -1
  22. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +51 -26
  23. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +42 -27
  24. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +25 -18
  25. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +8 -5
  26. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/WalletLocale.js +24 -0
  27. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +6 -4
  28. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +4 -2
  29. package/dist/esm/core/ui/locale.js +10 -0
  30. package/dist/esm/core/ui/messages.js +694 -0
  31. package/dist/esm/index.js +2 -1
  32. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +7 -3
  33. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +6 -3
  34. package/dist/esm/react/components/AccountMenuButton/AccountMenuDeviceDetails.js +4 -3
  35. package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +5 -2
  36. package/dist/esm/react/components/AccountMenuButton/AccountMenuMockScreens.js +31 -27
  37. package/dist/esm/react/components/AccountMenuButton/AccountMenuScreen.js +6 -3
  38. package/dist/esm/react/components/AccountMenuButton/AccountsSection.js +6 -3
  39. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -4
  40. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +33 -27
  41. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsView.js +5 -2
  42. package/dist/esm/react/components/AccountMenuButton/ExportKeysScreen.js +5 -3
  43. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +4 -3
  44. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +50 -41
  45. package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +2 -1
  46. package/dist/esm/react/components/AccountMenuButton/MenuItem.js +3 -2
  47. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +8 -4
  48. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeAcknowledgement.js +3 -2
  49. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeActions.js +4 -3
  50. package/dist/esm/react/components/AccountMenuButton/SegmentedControl.js +2 -1
  51. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +11 -10
  52. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +8 -4
  53. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +22 -15
  54. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +20 -16
  55. package/dist/esm/react/components/AccountMenuButton/index.js +18 -15
  56. package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +30 -26
  57. package/dist/esm/react/components/QRCodeScanner.js +28 -23
  58. package/dist/esm/react/components/ShowQRCode.js +39 -31
  59. package/dist/esm/react/components/theme/ThemeProvider.js +3 -0
  60. package/dist/esm/react/context/WalletLocale.js +15 -0
  61. package/dist/esm/react/context/index.js +8 -3
  62. package/dist/esm/sdk/ConfirmationDrawer-mu3iThxX.js +1 -0
  63. package/dist/{public/sdk/NonceCoordinator-DuDKN-B8.js → esm/sdk/NonceCoordinator-Dq-FZpBz.js} +1 -1
  64. package/dist/{public/sdk/accountLifecycle-D61FIpFS.js → esm/sdk/accountLifecycle-fLNUdjct.js} +1 -1
  65. package/dist/{public/sdk/activeWalletSession-Ba6X4CUN.js → esm/sdk/activeWalletSession-BpbnpU9s.js} +1 -1
  66. package/dist/esm/sdk/adapters-u7LVXthY.js +2 -0
  67. package/dist/esm/sdk/appearance-token-vars-CzBVbO39.js +2 -0
  68. package/dist/esm/sdk/{canonicalPrimitives-BOzRXzfv.js → canonicalPrimitives-BMP5yILS.js} +1 -1
  69. package/dist/esm/sdk/{challengeDelivery-FD9GHK1T.js → challengeDelivery-CG2J5Qxs.js} +1 -1
  70. package/dist/{public/sdk/clientSessionPersistenceState-BHRUSWMt.js → esm/sdk/clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
  71. package/dist/esm/sdk/{commitQueue-DOIaR0Hr.js → commitQueue-BW7BpYyA.js} +1 -1
  72. package/dist/esm/sdk/configBuilder-BMNShuOu.js +1 -0
  73. package/dist/esm/sdk/{configHelpers-BXdl5Mxs.js → configHelpers-D50F_Txb.js} +1 -1
  74. package/dist/esm/sdk/{digestEncoding-CbEFYvlJ.js → digestEncoding-aC4dSf_x.js} +1 -1
  75. package/dist/esm/sdk/{display-CY_aJEn6.js → display-WtILOPQR.js} +1 -1
  76. package/dist/{public/sdk/ecdsaCapabilityManifest-DzA996y9.js → esm/sdk/ecdsaCapabilityManifest-DRc423SV.js} +1 -1
  77. package/dist/{public/sdk/ecdsaDerivationClientWasm-DQlajPpE.js → esm/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js} +1 -1
  78. package/dist/{public/sdk/ecdsaDerivationExport-DyugdheE.js → esm/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
  79. package/dist/esm/sdk/{ecdsaWalletRecords-C_v74n5X.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
  80. package/dist/{public/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js → esm/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
  81. package/dist/esm/sdk/{export-viewer-host-DsRaS0UH.js → export-viewer-host-ivf9LlBo.js} +1 -1
  82. package/dist/{public/sdk/exportKeypairOperation-SJPysnE1.js → esm/sdk/exportKeypairOperation-Gw7L5Htj.js} +1 -1
  83. package/dist/esm/sdk/{helpers-D3CUEdHI.js → helpers-DS0bksx9.js} +1 -1
  84. package/dist/esm/sdk/{host-GPb_mSAQ.js → host-B-2QXolt.js} +1 -1
  85. package/dist/esm/sdk/{intentDigest-CGLrsMgj.js → intentDigest-Rh5Mg8X7.js} +1 -1
  86. package/dist/esm/sdk/{lanes-DJKIHJBm.js → lanes-BzU7cv2T.js} +1 -1
  87. package/dist/esm/sdk/localOnly-BKpUHtHa.js +1 -0
  88. package/dist/esm/sdk/mountExportPrivateKeySurface-C8pUK6PQ.js +1 -0
  89. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DUudF89t.js +2 -0
  90. package/dist/{public/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js → esm/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js} +1 -1
  91. package/dist/{public/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js → esm/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
  92. package/dist/esm/sdk/{nonceLaneKeys-D18nlLjh.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
  93. package/dist/esm/sdk/{operationFingerprint-Boa9DQ51.js → operationFingerprint-C4VX-0NI.js} +1 -1
  94. package/dist/{public/sdk/passkey-custody-CBSal3E9.js → esm/sdk/passkey-custody-Ba-NQ_4C.js} +1 -1
  95. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-CvsrXbzn.js → pendingWalletRecoveryCodeBackup-7tBjuSe7.js} +1 -1
  96. package/dist/{public/sdk/presignaturePool-CQNt13kE.js → esm/sdk/presignaturePool-BHoxnbOA.js} +1 -1
  97. package/dist/esm/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
  98. package/dist/esm/sdk/{primitives-cC0a9GRC.js → primitives-CTmDwMNc.js} +1 -1
  99. package/dist/esm/sdk/{recovery-entrypoint-nj7Zo3CR.js → recovery-entrypoint-DWghFZrZ.js} +1 -1
  100. package/dist/esm/sdk/{registration-49OGU_GZ.js → registration-CWpOVwhj.js} +1 -1
  101. package/dist/esm/sdk/{registration-C7tywPXF.js → registration-D2OEgY7O.js} +1 -1
  102. package/dist/esm/sdk/{registrationAccounts-9GFI0Ger.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
  103. package/dist/esm/sdk/{registrationIds-Br-zI4_5.js → registrationIds-B1OpqRAt.js} +1 -1
  104. package/dist/{public/sdk/registrationIntent-PqmcTEE3.js → esm/sdk/registrationIntent-D4YDjf2U.js} +1 -1
  105. package/dist/esm/sdk/{requireStepUpAuth-C4PGTly-.js → requireStepUpAuth-CnSCFSOZ.js} +1 -1
  106. package/dist/{public/sdk/routerAbNormalSigning-xxATTIh5.js → esm/sdk/routerAbNormalSigning-BV1t27aB.js} +1 -1
  107. package/dist/esm/sdk/runtime-auth-jtyQAuxZ.js +1 -0
  108. package/dist/esm/sdk/runtime-device-link-vhRhB-wS.js +1 -0
  109. package/dist/esm/sdk/runtime-ecdsa-tempo-BXWgFVBa.js +1 -0
  110. package/dist/esm/sdk/runtime-email-otp-BlAaSKtk.js +1 -0
  111. package/dist/esm/sdk/runtime-export-B4FuHhcH.js +1 -0
  112. package/dist/esm/sdk/runtime-near-BnWOpEpA.js +1 -0
  113. package/dist/esm/sdk/runtime-preferences-COm-LTiu.js +1 -0
  114. package/dist/esm/sdk/runtime-recovery-BJTo5Idi.js +1 -0
  115. package/dist/esm/sdk/{runtime-recovery-codes-LR4mg7-k.js → runtime-recovery-codes-CEOjdUHV.js} +1 -1
  116. package/dist/esm/sdk/{secp256k1-BldUPNQI.js → secp256k1-wOOHtPcK.js} +1 -1
  117. package/dist/esm/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
  118. package/dist/esm/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
  119. package/dist/esm/sdk/shared-BKPGtAps.js +6 -0
  120. package/dist/esm/sdk/{signEvmFamily-C_RvEnDB.js → signEvmFamily-DT34Vtpa.js} +1 -1
  121. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js → signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js} +1 -1
  122. package/dist/esm/sdk/{signEvmWithUiConfirm-CxXzcvj2.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
  123. package/dist/{public/sdk/signNear-Dno7NsP_.js → esm/sdk/signNear-B000QxBd.js} +1 -1
  124. package/dist/{public/sdk/signingFlow-DtugI_2z.js → esm/sdk/signingFlow-gl85GOW4.js} +1 -1
  125. package/dist/esm/sdk/{signingQueue-C1Pb07gm.js → signingQueue-gW7wmOuL.js} +1 -1
  126. package/dist/esm/sdk/{singletons-DxIyVhNb.js → singletons-CAsc9LvA.js} +1 -1
  127. package/dist/{public/sdk/thresholdEcdsa-murTq-xz.js → esm/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
  128. package/dist/{public/sdk/transactionState-XbZm9Zon.js → esm/sdk/transactionState-lB2qpkOm.js} +1 -1
  129. package/dist/esm/sdk/tx-confirm-ui.js +1795 -432
  130. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  131. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  132. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  133. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  134. package/dist/esm/sdk/{wallet-recovery-CVUalZ3p.js → wallet-recovery-DFaS3geI.js} +1 -1
  135. package/dist/{public/sdk/walletAuthMethodRecord-Bv68Vq-g.js → esm/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
  136. package/dist/{public/sdk/walletAuthority-v5wvv3IB.js → esm/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
  137. package/dist/{public/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js → esm/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js} +1 -1
  138. package/dist/esm/sdk/{walletDbName-DRzPv5Ir.js → walletDbName-BxWApBQF.js} +1 -1
  139. package/dist/{public/sdk/walletOwnershipGeneration-pMmmJ6XA.js → esm/sdk/walletOwnershipGeneration-DSGfjuV2.js} +1 -1
  140. package/dist/esm/sdk/{walletRecoveryCommit-DvC6WlGz.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
  141. package/dist/esm/sdk/{walletRecoveryRotate-Dd3prJpr.js → walletRecoveryRotate-zvQThn37.js} +1 -1
  142. package/dist/esm/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
  143. package/dist/{public/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js → esm/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js} +1 -1
  144. package/dist/{public/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js → esm/sdk/walletSessionAuthorizationStore-DnUMtkev.js} +1 -1
  145. package/dist/esm/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
  146. package/dist/{public/sdk/webauthnP256-XgYu-Y6E.js → esm/sdk/webauthnP256-_ajaNl90.js} +1 -1
  147. package/dist/esm/sdk/{webauthnPromptCoordinator-D5sP8Q7e.js → webauthnPromptCoordinator-9bVeHcTZ.js} +1 -1
  148. package/dist/public/headers.manifest.json +1 -1
  149. package/dist/public/sdk/ConfirmationDrawer-mu3iThxX.js +1 -0
  150. package/dist/{esm/sdk/NonceCoordinator-DuDKN-B8.js → public/sdk/NonceCoordinator-Dq-FZpBz.js} +1 -1
  151. package/dist/{esm/sdk/accountLifecycle-D61FIpFS.js → public/sdk/accountLifecycle-fLNUdjct.js} +1 -1
  152. package/dist/{esm/sdk/activeWalletSession-Ba6X4CUN.js → public/sdk/activeWalletSession-BpbnpU9s.js} +1 -1
  153. package/dist/public/sdk/adapters-u7LVXthY.js +2 -0
  154. package/dist/public/sdk/appearance-token-vars-CzBVbO39.js +2 -0
  155. package/dist/public/sdk/{canonicalPrimitives-BOzRXzfv.js → canonicalPrimitives-BMP5yILS.js} +1 -1
  156. package/dist/public/sdk/{challengeDelivery-FD9GHK1T.js → challengeDelivery-CG2J5Qxs.js} +1 -1
  157. package/dist/{esm/sdk/clientSessionPersistenceState-BHRUSWMt.js → public/sdk/clientSessionPersistenceState-BgO4P6CZ.js} +1 -1
  158. package/dist/public/sdk/{commitQueue-DOIaR0Hr.js → commitQueue-BW7BpYyA.js} +1 -1
  159. package/dist/public/sdk/configBuilder-BMNShuOu.js +1 -0
  160. package/dist/public/sdk/{configHelpers-BXdl5Mxs.js → configHelpers-D50F_Txb.js} +1 -1
  161. package/dist/public/sdk/{digestEncoding-CbEFYvlJ.js → digestEncoding-aC4dSf_x.js} +1 -1
  162. package/dist/public/sdk/{display-CY_aJEn6.js → display-WtILOPQR.js} +1 -1
  163. package/dist/{esm/sdk/ecdsaCapabilityManifest-DzA996y9.js → public/sdk/ecdsaCapabilityManifest-DRc423SV.js} +1 -1
  164. package/dist/{esm/sdk/ecdsaDerivationClientWasm-DQlajPpE.js → public/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js} +1 -1
  165. package/dist/{esm/sdk/ecdsaDerivationExport-DyugdheE.js → public/sdk/ecdsaDerivationExport-DX89rq_u.js} +1 -1
  166. package/dist/public/sdk/{ecdsaWalletRecords-C_v74n5X.js → ecdsaWalletRecords-CxxUt3fS.js} +1 -1
  167. package/dist/{esm/sdk/emailOtpEcdsaDerivationIdentity-BDVjvnmO.js → public/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js} +1 -1
  168. package/dist/public/sdk/{export-viewer-host-DsRaS0UH.js → export-viewer-host-ivf9LlBo.js} +1 -1
  169. package/dist/{esm/sdk/exportKeypairOperation-SJPysnE1.js → public/sdk/exportKeypairOperation-Gw7L5Htj.js} +1 -1
  170. package/dist/public/sdk/{helpers-D3CUEdHI.js → helpers-DS0bksx9.js} +1 -1
  171. package/dist/public/sdk/{host-GPb_mSAQ.js → host-B-2QXolt.js} +1 -1
  172. package/dist/public/sdk/{intentDigest-CGLrsMgj.js → intentDigest-Rh5Mg8X7.js} +1 -1
  173. package/dist/public/sdk/{lanes-DJKIHJBm.js → lanes-BzU7cv2T.js} +1 -1
  174. package/dist/public/sdk/localOnly-BKpUHtHa.js +1 -0
  175. package/dist/public/sdk/mountExportPrivateKeySurface-C8pUK6PQ.js +1 -0
  176. package/dist/public/sdk/mountRecoveryCodeBackupSurface-DUudF89t.js +2 -0
  177. package/dist/{esm/sdk/nearEd25519YaoMaterialActivation-J6EHFScV.js → public/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js} +1 -1
  178. package/dist/{esm/sdk/nearEd25519YaoSigningPreparation-CqBNMG87.js → public/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js} +1 -1
  179. package/dist/public/sdk/{nonceLaneKeys-D18nlLjh.js → nonceLaneKeys-BzMBVxMU.js} +1 -1
  180. package/dist/public/sdk/{operationFingerprint-Boa9DQ51.js → operationFingerprint-C4VX-0NI.js} +1 -1
  181. package/dist/{esm/sdk/passkey-custody-CBSal3E9.js → public/sdk/passkey-custody-Ba-NQ_4C.js} +1 -1
  182. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-CvsrXbzn.js → pendingWalletRecoveryCodeBackup-7tBjuSe7.js} +1 -1
  183. package/dist/{esm/sdk/presignaturePool-CQNt13kE.js → public/sdk/presignaturePool-BHoxnbOA.js} +1 -1
  184. package/dist/public/sdk/{prfCache-DJ93rtDv.js → prfCache-BAFh1skJ.js} +1 -1
  185. package/dist/public/sdk/{primitives-cC0a9GRC.js → primitives-CTmDwMNc.js} +1 -1
  186. package/dist/public/sdk/{recovery-entrypoint-nj7Zo3CR.js → recovery-entrypoint-DWghFZrZ.js} +1 -1
  187. package/dist/public/sdk/{registration-49OGU_GZ.js → registration-CWpOVwhj.js} +1 -1
  188. package/dist/public/sdk/{registration-C7tywPXF.js → registration-D2OEgY7O.js} +1 -1
  189. package/dist/public/sdk/{registrationAccounts-9GFI0Ger.js → registrationAccounts-CD1u1ZqZ.js} +1 -1
  190. package/dist/public/sdk/{registrationIds-Br-zI4_5.js → registrationIds-B1OpqRAt.js} +1 -1
  191. package/dist/{esm/sdk/registrationIntent-PqmcTEE3.js → public/sdk/registrationIntent-D4YDjf2U.js} +1 -1
  192. package/dist/public/sdk/{requireStepUpAuth-C4PGTly-.js → requireStepUpAuth-CnSCFSOZ.js} +1 -1
  193. package/dist/{esm/sdk/routerAbNormalSigning-xxATTIh5.js → public/sdk/routerAbNormalSigning-BV1t27aB.js} +1 -1
  194. package/dist/public/sdk/runtime-auth-jtyQAuxZ.js +1 -0
  195. package/dist/public/sdk/runtime-device-link-vhRhB-wS.js +1 -0
  196. package/dist/public/sdk/runtime-ecdsa-tempo-BXWgFVBa.js +1 -0
  197. package/dist/public/sdk/runtime-email-otp-BlAaSKtk.js +1 -0
  198. package/dist/public/sdk/runtime-export-B4FuHhcH.js +1 -0
  199. package/dist/public/sdk/runtime-near-BnWOpEpA.js +1 -0
  200. package/dist/public/sdk/runtime-preferences-COm-LTiu.js +1 -0
  201. package/dist/public/sdk/runtime-recovery-BJTo5Idi.js +1 -0
  202. package/dist/public/sdk/{runtime-recovery-codes-LR4mg7-k.js → runtime-recovery-codes-CEOjdUHV.js} +1 -1
  203. package/dist/public/sdk/{secp256k1-BldUPNQI.js → secp256k1-wOOHtPcK.js} +1 -1
  204. package/dist/public/sdk/{secureRandomId-LwBFx84B.js → secureRandomId-8LSc91aN.js} +1 -1
  205. package/dist/public/sdk/sessionObservationRevision-C7v-wN8_.js +1 -0
  206. package/dist/public/sdk/shared-BKPGtAps.js +6 -0
  207. package/dist/public/sdk/{signEvmFamily-C_RvEnDB.js → signEvmFamily-DT34Vtpa.js} +1 -1
  208. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CUKdq5dE.js → signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js} +1 -1
  209. package/dist/public/sdk/{signEvmWithUiConfirm-CxXzcvj2.js → signEvmWithUiConfirm-D6nmJr_L.js} +1 -1
  210. package/dist/{esm/sdk/signNear-Dno7NsP_.js → public/sdk/signNear-B000QxBd.js} +1 -1
  211. package/dist/{esm/sdk/signingFlow-DtugI_2z.js → public/sdk/signingFlow-gl85GOW4.js} +1 -1
  212. package/dist/public/sdk/{signingQueue-C1Pb07gm.js → signingQueue-gW7wmOuL.js} +1 -1
  213. package/dist/public/sdk/{singletons-DxIyVhNb.js → singletons-CAsc9LvA.js} +1 -1
  214. package/dist/{esm/sdk/thresholdEcdsa-murTq-xz.js → public/sdk/thresholdEcdsa-Ci7yz395.js} +1 -1
  215. package/dist/{esm/sdk/transactionState-XbZm9Zon.js → public/sdk/transactionState-lB2qpkOm.js} +1 -1
  216. package/dist/public/sdk/tx-confirm-ui.js +1795 -432
  217. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  218. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  219. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  220. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  221. package/dist/public/sdk/{wallet-recovery-CVUalZ3p.js → wallet-recovery-DFaS3geI.js} +1 -1
  222. package/dist/{esm/sdk/walletAuthMethodRecord-Bv68Vq-g.js → public/sdk/walletAuthMethodRecord-CWdqdY_s.js} +1 -1
  223. package/dist/{esm/sdk/walletAuthority-v5wvv3IB.js → public/sdk/walletAuthority-BY3kyKQ-.js} +1 -1
  224. package/dist/{esm/sdk/walletCustodyEcdsaContinuity-rRHExT_R.js → public/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js} +1 -1
  225. package/dist/public/sdk/{walletDbName-DRzPv5Ir.js → walletDbName-BxWApBQF.js} +1 -1
  226. package/dist/{esm/sdk/walletOwnershipGeneration-pMmmJ6XA.js → public/sdk/walletOwnershipGeneration-DSGfjuV2.js} +1 -1
  227. package/dist/public/sdk/{walletRecoveryCommit-DvC6WlGz.js → walletRecoveryCommit-DQA_wveK.js} +1 -1
  228. package/dist/public/sdk/{walletRecoveryRotate-Dd3prJpr.js → walletRecoveryRotate-zvQThn37.js} +1 -1
  229. package/dist/public/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +1 -0
  230. package/dist/{esm/sdk/walletSessionAuthorizationStatus-DVV3xkAx.js → public/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js} +1 -1
  231. package/dist/{esm/sdk/walletSessionAuthorizationStore-D-MhJ0PC.js → public/sdk/walletSessionAuthorizationStore-DnUMtkev.js} +1 -1
  232. package/dist/public/sdk/warmSessionHydration-D8Vdro9n.js +1 -0
  233. package/dist/{esm/sdk/webauthnP256-XgYu-Y6E.js → public/sdk/webauthnP256-_ajaNl90.js} +1 -1
  234. package/dist/public/sdk/{webauthnPromptCoordinator-D5sP8Q7e.js → webauthnPromptCoordinator-9bVeHcTZ.js} +1 -1
  235. package/dist/public/wallet-assets.manifest.json +192 -192
  236. package/dist/public/wallet-service/index.html +4 -4
  237. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.d.ts +0 -1
  238. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +4 -6
  239. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/presentation.d.ts +35 -0
  240. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/recovery-code-input.d.ts +17 -0
  241. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.d.ts +3 -1
  242. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.d.ts +0 -1
  243. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.d.ts +3 -1
  244. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.d.ts +3 -1
  245. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.d.ts +0 -1
  246. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.d.ts +0 -1
  247. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.d.ts +0 -1
  248. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +1 -1
  249. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.d.ts +3 -1
  250. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.d.ts +0 -1
  251. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.d.ts +3 -1
  252. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +0 -1
  253. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.d.ts +0 -1
  254. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.d.ts +3 -1
  255. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionReview.d.ts +3 -1
  256. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/TransactionTree.d.ts +0 -1
  257. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/WalletLocale.d.ts +18 -0
  258. package/dist/types/wallet/src/core/types/seams.d.ts +3 -0
  259. package/dist/types/wallet/src/core/ui/locale.d.ts +5 -0
  260. package/dist/types/wallet/src/core/ui/messages.d.ts +8 -0
  261. package/dist/types/wallet/src/index.d.ts +3 -1
  262. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +1 -0
  263. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +3 -0
  264. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +4 -1
  265. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.d.ts +2 -1
  266. package/dist/types/wallet/src/react/context/WalletLocale.d.ts +16 -0
  267. package/package.json +1 -1
  268. package/dist/esm/sdk/ConfirmationDrawer-CXVNmfTy.js +0 -1
  269. package/dist/esm/sdk/adapters-CTlDBRJy.js +0 -2
  270. package/dist/esm/sdk/configBuilder-BMawmNpz.js +0 -1
  271. package/dist/esm/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
  272. package/dist/esm/sdk/localOnly-CPmpw381.js +0 -1
  273. package/dist/esm/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +0 -1
  274. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +0 -2
  275. package/dist/esm/sdk/runtime-auth-CpjGW90U.js +0 -1
  276. package/dist/esm/sdk/runtime-device-link-CKgfGi7D.js +0 -1
  277. package/dist/esm/sdk/runtime-ecdsa-tempo-5VV9xSEh.js +0 -1
  278. package/dist/esm/sdk/runtime-email-otp-D1hYZNn6.js +0 -1
  279. package/dist/esm/sdk/runtime-export-B92wQD25.js +0 -1
  280. package/dist/esm/sdk/runtime-near-CUuKg38M.js +0 -1
  281. package/dist/esm/sdk/runtime-preferences-EdL3G_MO.js +0 -1
  282. package/dist/esm/sdk/runtime-recovery-uyw8sywI.js +0 -1
  283. package/dist/esm/sdk/sessionObservationRevision-DmmNV25w.js +0 -1
  284. package/dist/esm/sdk/shared-ha31XIdc.js +0 -6
  285. package/dist/esm/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +0 -1
  286. package/dist/esm/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
  287. package/dist/public/sdk/ConfirmationDrawer-CXVNmfTy.js +0 -1
  288. package/dist/public/sdk/adapters-CTlDBRJy.js +0 -2
  289. package/dist/public/sdk/configBuilder-BMawmNpz.js +0 -1
  290. package/dist/public/sdk/jsxRuntime.module-DKsgiFjd.js +0 -2
  291. package/dist/public/sdk/localOnly-CPmpw381.js +0 -1
  292. package/dist/public/sdk/mountExportPrivateKeySurface-C8_tpDHF.js +0 -1
  293. package/dist/public/sdk/mountRecoveryCodeBackupSurface-BtNFtmSj.js +0 -2
  294. package/dist/public/sdk/runtime-auth-CpjGW90U.js +0 -1
  295. package/dist/public/sdk/runtime-device-link-CKgfGi7D.js +0 -1
  296. package/dist/public/sdk/runtime-ecdsa-tempo-5VV9xSEh.js +0 -1
  297. package/dist/public/sdk/runtime-email-otp-D1hYZNn6.js +0 -1
  298. package/dist/public/sdk/runtime-export-B92wQD25.js +0 -1
  299. package/dist/public/sdk/runtime-near-CUuKg38M.js +0 -1
  300. package/dist/public/sdk/runtime-preferences-EdL3G_MO.js +0 -1
  301. package/dist/public/sdk/runtime-recovery-uyw8sywI.js +0 -1
  302. package/dist/public/sdk/sessionObservationRevision-DmmNV25w.js +0 -1
  303. package/dist/public/sdk/shared-ha31XIdc.js +0 -6
  304. package/dist/public/sdk/walletRegistrationSetupPrewarm-DcbhVNMQ.js +0 -1
  305. package/dist/public/sdk/warmSessionHydration-CsQpQVuy.js +0 -1
  306. /package/dist/esm/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
  307. /package/dist/esm/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
  308. /package/dist/esm/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
  309. /package/dist/public/sdk/{base64-DW79QA0h.js → base64-BmKR3UqU.js} +0 -0
  310. /package/dist/public/sdk/{signingSessionSeal-DX41aXUL.js → signingSessionSeal-DqbjG8c8.js} +0 -0
  311. /package/dist/public/sdk/{theme-BKaFqCAj.js → theme-os0Salmo.js} +0 -0
@@ -1,8 +1,10 @@
1
1
  import { isLinkedDeviceTargetEmailAddressV1 } from "../../../../../core/types/linkDevice.js";
2
- import { EMAIL_OTP_RECOVERY_KEY_ALPHABET } from "../../../../../shared-ts/src/utils/emailOtpRecoveryKey.js";
3
2
  import "../../../../../shared-ts/src/wallet-recovery/recoveryCodes.js";
4
- import { demoEmailOtpCodeFromDelivery } from "../../../../../core/signingEngine/session/emailOtp/challengeDelivery.js";
5
- import { AUTH_MENU_WAITING_PROMPTS, isAuthMenuActionReady, isAuthMenuGoogleActionReady, isAuthMenuLoadingStatus, isAuthMenuReady, resolveAuthMenuLoginAccount } from "../../auth-menu/domain.js";
3
+ import { walletDisplayText, walletText } from "../../../../../core/ui/messages.js";
4
+ import { WalletLocaleContext, WalletText } from "../../../../../core/signingEngine/uiConfirm/ui/preact/WalletLocale.js";
5
+ import { recoveryInputCharacters, rejectedRecoveryCharacters, renderRecoveryCodeGroups } from "./recovery-code-input.js";
6
+ import { AUTH_MENU_WAITING_PROMPTS, isAuthMenuActionReady, isAuthMenuGoogleActionReady, isAuthMenuLoadingStatus, isAuthMenuReady } from "../../auth-menu/domain.js";
7
+ import { AUTH_MENU_ACCOUNT_LIST_ID, AUTH_MENU_TITLE_ID, accountGroups, accountSecondaryText, authViewKey, menuNotice, modeLabel, modeSwitchCopy, otpCodeDigits, passkeyButtonLabel, recoveryAnnouncement, recoveryBackLabel, recoveryCaretAtPoint, recoveryNavigationLocked, renderDemoEmailCode, renderOtpCodeDigit, savedAccountsTriggerLabel, selectedAccountPrimaryText, selectedLoginAccount } from "./presentation.js";
6
8
  import { PadlockIcon } from "../../../../../core/signingEngine/uiConfirm/ui/preact/PadlockIcon.js";
7
9
  import { blinkMenuItem } from "../../../../../utils/menuItemBlink.js";
8
10
  import { accountDropdownIcon, backIcon, chevronIcon, fingerprintIcon, googleIcon, linkDeviceIcon, linkFailedIcon, mailIcon, passkeyRingIcon, recoveryIcon, rerollIcon } from "./icons.js";
@@ -12,163 +14,9 @@ import { Component, Fragment } from "preact";
12
14
  import { Fragment as Fragment$1, jsx, jsxs } from "preact/jsx-runtime";
13
15
  //#region src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.tsx
14
16
  /** @jsxImportSource preact */
15
- function renderDemoEmailCode(delivery) {
16
- const code = demoEmailOtpCodeFromDelivery(delivery);
17
- if (code === null) return null;
18
- return /* @__PURE__ */ jsxs("p", {
19
- class: "seams-otp-description",
20
- children: ["Demo email code: ", /* @__PURE__ */ jsx("code", { children: code })]
21
- });
22
- }
23
- const AUTH_MENU_TITLE_ID = "seams-auth-menu-title";
24
- const AUTH_MENU_ACCOUNT_LIST_ID = "seams-auth-menu-account-list";
25
- function otpCodeDigits(code, length = 6) {
26
- return code.padEnd(length, " ").slice(0, length).split("");
27
- }
28
- const RECOVERY_CODE_CHARACTERS = new Set(EMAIL_OTP_RECOVERY_KEY_ALPHABET);
29
- function recoveryInputCharacters(code) {
30
- let characters = "";
31
- for (const character of code.toUpperCase()) {
32
- const read = character === "O" ? "0" : character === "I" || character === "L" ? "1" : character;
33
- if (RECOVERY_CODE_CHARACTERS.has(read)) characters += read;
34
- }
35
- return characters;
36
- }
37
- const RECOVERY_CODE_SEPARATOR = /[\s\-\u2010-\u2015\u2212]/;
38
- /** Characters the input dropped because no recovery code contains them, such as U. */
39
- function rejectedRecoveryCharacters(input) {
40
- const rejected = /* @__PURE__ */ new Set();
41
- for (const character of input.toUpperCase()) {
42
- if (RECOVERY_CODE_SEPARATOR.test(character)) continue;
43
- if (recoveryInputCharacters(character)) continue;
44
- rejected.add(character);
45
- }
46
- return Array.from(rejected).slice(0, 3);
47
- }
48
- function renderRecoveryCodeGroups(code, selection, arrival) {
49
- const caret = selection && selection.start === selection.end ? selection.start : null;
50
- const lastIndex = 31;
51
- const focusIndex = selection === null ? null : Math.min(selection.start, lastIndex);
52
- const groups = [];
53
- for (let start = 0; start < 32; start += 4) {
54
- const end = start + 4;
55
- const slots = [];
56
- for (let index = start; index < end; index += 1) {
57
- const character = code[index] ?? "";
58
- const classes = ["seams-otp-slot"];
59
- if (character) classes.push("is-filled");
60
- if (index === caret) classes.push("is-caret");
61
- if (caret === 32 && index === lastIndex) classes.push("is-caret-after");
62
- if (selection && index >= selection.start && index < selection.end) classes.push("is-selected");
63
- if (arrival && index >= arrival.start && index < arrival.end) classes.push("is-new");
64
- slots.push(/* @__PURE__ */ jsx("span", {
65
- class: classes.join(" "),
66
- "data-recovery-slot": index,
67
- children: character
68
- }, index));
69
- }
70
- const groupClasses = ["seams-recovery-code-group"];
71
- if (focusIndex !== null && focusIndex >= start && focusIndex < end) groupClasses.push("is-active");
72
- if (code.length >= end) groupClasses.push("is-complete");
73
- groups.push(/* @__PURE__ */ jsx("div", {
74
- class: groupClasses.join(" "),
75
- children: slots
76
- }, start));
77
- }
78
- return groups;
79
- }
80
- function recoveryCaretAtPoint(root, clientX, clientY, codeLength) {
81
- let nearest = null;
82
- for (const slot of root.querySelectorAll("[data-recovery-slot]")) {
83
- const index = Number(slot.dataset.recoverySlot);
84
- const box = slot.getBoundingClientRect();
85
- const dx = clientX < box.left ? box.left - clientX : Math.max(0, clientX - box.right);
86
- const dy = clientY < box.top ? box.top - clientY : Math.max(0, clientY - box.bottom);
87
- const distance = dx * dx + dy * dy;
88
- if (nearest === null || distance < nearest.distance) nearest = {
89
- index,
90
- distance,
91
- after: clientX > box.left + box.width / 2
92
- };
93
- }
94
- if (nearest === null) return null;
95
- return Math.min(nearest.after ? nearest.index + 1 : nearest.index, codeLength);
96
- }
97
- function renderOtpCodeDigit(digit) {
98
- return /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("span", {
99
- class: `seams-otp-slot ${digit.trim() ? "is-filled" : ""}`,
100
- children: digit
101
- }) });
102
- }
103
- function authViewKey(viewModel) {
104
- const stage = viewModel.kind === "recovery" ? `:${viewModel.stage}` : "";
105
- return `${viewModel.kind}:${viewModel.mode}:${viewModel.status.kind}${stage}`;
106
- }
107
- function recoveryAnnouncement(viewModel) {
108
- if (viewModel.status.kind === "busy") return viewModel.status.headline;
109
- if (viewModel.status.kind === "recoverable") return viewModel.status.message;
110
- if (viewModel.stage === "passkey_ready") return "Recovery code accepted.";
111
- if (viewModel.stage === "sign_in_ready") return "Wallet recovered. Unlock it to continue.";
112
- return "";
113
- }
114
- function recoveryBackLabel(viewModel) {
115
- if (viewModel.kind !== "recovery") return "Back";
116
- return viewModel.stage === "choose_method" ? "Back to recovery code" : "Back to unlock wallet";
117
- }
118
- function recoveryNavigationLocked(viewModel) {
119
- return viewModel.kind === "recovery" && viewModel.stage === "finalizing";
120
- }
121
- function modeSwitchCopy(mode) {
122
- return mode === "register" ? {
123
- prompt: "Already have a wallet?",
124
- action: "Unlock wallet",
125
- nextMode: "login"
126
- } : {
127
- prompt: "Don't have a wallet?",
128
- action: "Create a wallet",
129
- nextMode: "register"
130
- };
131
- }
132
- function modeLabel(mode) {
133
- return mode === "register" ? "Create a wallet" : "Unlock wallet";
134
- }
135
- function passkeyButtonLabel(mode) {
136
- return mode === "register" ? "Create wallet with passkey" : "Unlock with passkey";
137
- }
138
- /** The failure the footer strip reports. Only the menu itself reports there. */
139
- function menuNotice(viewModel) {
140
- if (viewModel.kind === "google_otp_login" || viewModel.kind === "google_registration") return viewModel.error || null;
141
- return viewModel.kind === "passkey" && viewModel.status.kind === "recoverable" && viewModel.status.reason === "error" ? viewModel.status.message : null;
142
- }
143
- function selectedLoginAccount(viewModel) {
144
- return resolveAuthMenuLoginAccount(viewModel.accountOptions, viewModel.selectedAccount).selectedAccount;
145
- }
146
- function selectedAccountPrimaryText(account) {
147
- return account.walletId;
148
- }
149
- function accountSecondaryText(account) {
150
- return account.authMethod === "email_otp" ? account.emailAddress : null;
151
- }
152
- function savedAccountsTriggerLabel(account) {
153
- if (!account) return "Saved wallets";
154
- const emailAddress = accountSecondaryText(account);
155
- return emailAddress ? `Saved wallets. Selected wallet ID ${account.walletId}, email ${emailAddress}` : `Saved wallets. Selected ${account.walletId}`;
156
- }
157
- function accountGroups(options) {
158
- const passkeyAccounts = options.filter((option) => option.authMethod === "passkey");
159
- const emailOtpAccounts = options.filter((option) => option.authMethod === "email_otp");
160
- return [{
161
- authMethod: "passkey",
162
- label: "Passkey",
163
- accounts: passkeyAccounts
164
- }, {
165
- authMethod: "email_otp",
166
- label: "Email OTP",
167
- accounts: emailOtpAccounts
168
- }].filter((group) => group.accounts.length > 0);
169
- }
170
17
  const ACCOUNT_MENU_EXIT_MS = 160;
171
18
  var AuthMenuSurface = class extends Component {
19
+ static contextType = WalletLocaleContext;
172
20
  state = {
173
21
  accountMenu: "closed",
174
22
  recoverySelection: null,
@@ -650,7 +498,7 @@ var AuthMenuSurface = class extends Component {
650
498
  /* @__PURE__ */ jsx("button", {
651
499
  class: `seams-back-button ${loading || linkDevice || otpPrompt || registrationPrompt || recovery ? "is-visible" : ""}`,
652
500
  type: "button",
653
- "aria-label": recoveryBackLabel(viewModel),
501
+ "aria-label": walletDisplayText(this.context, recoveryBackLabel(viewModel)),
654
502
  "data-auth-menu-close": true,
655
503
  disabled: recoveryNavigationLocked(viewModel),
656
504
  onClick: this.onBackClick,
@@ -661,7 +509,7 @@ var AuthMenuSurface = class extends Component {
661
509
  role: "status",
662
510
  "aria-live": "polite",
663
511
  "aria-atomic": "true",
664
- children: recoveryAnnouncement(viewModel)
512
+ children: /* @__PURE__ */ jsx(WalletText, { copy: recoveryAnnouncement(viewModel) })
665
513
  }) : null,
666
514
  /* @__PURE__ */ jsx("div", {
667
515
  class: "seams-content-area",
@@ -704,16 +552,16 @@ var AuthMenuSurface = class extends Component {
704
552
  children: [
705
553
  eyebrow === viewModel.heading ? null : /* @__PURE__ */ jsx("div", {
706
554
  class: "seams-menu-eyebrow",
707
- children: eyebrow
555
+ children: /* @__PURE__ */ jsx(WalletText, { copy: eyebrow })
708
556
  }),
709
557
  /* @__PURE__ */ jsx("div", {
710
558
  class: "seams-title",
711
559
  id: AUTH_MENU_TITLE_ID,
712
- children: viewModel.heading
560
+ children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.heading })
713
561
  }),
714
562
  viewModel.subtitle ? /* @__PURE__ */ jsx("div", {
715
563
  class: "seams-subhead",
716
- children: viewModel.subtitle
564
+ children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.subtitle })
717
565
  }) : null
718
566
  ]
719
567
  });
@@ -724,10 +572,10 @@ var AuthMenuSurface = class extends Component {
724
572
  children: /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
725
573
  class: "seams-title",
726
574
  id: AUTH_MENU_TITLE_ID,
727
- children: viewModel.heading
575
+ children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.heading })
728
576
  }), /* @__PURE__ */ jsx("div", {
729
577
  class: "seams-subhead",
730
- children: viewModel.subtitle
578
+ children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.subtitle })
731
579
  })] })
732
580
  }) });
733
581
  }
@@ -762,7 +610,7 @@ var AuthMenuSurface = class extends Component {
762
610
  class: "seams-account-menu-trigger",
763
611
  type: "button",
764
612
  "data-auth-menu-input": true,
765
- "aria-label": savedAccountsTriggerLabel(selected),
613
+ "aria-label": walletDisplayText(this.context, savedAccountsTriggerLabel(selected)),
766
614
  "aria-haspopup": "listbox",
767
615
  "aria-expanded": this.accountMenuOpen ? "true" : "false",
768
616
  "aria-controls": AUTH_MENU_ACCOUNT_LIST_ID,
@@ -781,7 +629,7 @@ var AuthMenuSurface = class extends Component {
781
629
  children: [/* @__PURE__ */ jsx("div", {
782
630
  id: groupLabelId,
783
631
  class: "seams-account-menu-group-label",
784
- children: group.label
632
+ children: /* @__PURE__ */ jsx(WalletText, { copy: group.label })
785
633
  }), group.accounts.map((account) => {
786
634
  const isSelected = account.walletId === listSelected.walletId && account.authMethod === listSelected.authMethod;
787
635
  const isChosen = !isSelected && account.walletId === choice?.chosen.walletId && account.authMethod === choice.chosen.authMethod;
@@ -791,7 +639,7 @@ var AuthMenuSurface = class extends Component {
791
639
  type: "button",
792
640
  role: "option",
793
641
  "aria-selected": isSelected ? "true" : "false",
794
- title: secondaryText ? `${account.walletId} ${secondaryText}` : account.walletId,
642
+ title: walletDisplayText(this.context, secondaryText ? `${account.walletId} ${secondaryText}` : account.walletId),
795
643
  "data-wallet-id": account.walletId,
796
644
  "data-auth-method": account.authMethod,
797
645
  onClick: this.onLoginAccountSelect,
@@ -805,7 +653,7 @@ var AuthMenuSurface = class extends Component {
805
653
  children: account.walletId
806
654
  }), secondaryText ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("span", {
807
655
  class: "seams-account-menu-account-secondary",
808
- children: secondaryText
656
+ children: /* @__PURE__ */ jsx(WalletText, { copy: secondaryText })
809
657
  }) }) : null]
810
658
  })]
811
659
  }) });
@@ -830,7 +678,7 @@ var AuthMenuSurface = class extends Component {
830
678
  "data-auth-menu-input": true,
831
679
  type: "text",
832
680
  autocomplete: "nickname",
833
- placeholder: viewModel.passkeyNameLabel,
681
+ placeholder: walletDisplayText(this.context, viewModel.passkeyNameLabel),
834
682
  value: viewModel.passkeyName,
835
683
  readonly: viewModel.passkeyNameReadOnly,
836
684
  disabled: isAuthMenuLoadingStatus(viewModel.status),
@@ -839,8 +687,8 @@ var AuthMenuSurface = class extends Component {
839
687
  }), viewModel.passkeyNameReadOnly ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("button", {
840
688
  class: "seams-input-action-trigger auth-menu-registration-reroll",
841
689
  type: "button",
842
- title: "Generate another name",
843
- "aria-label": "Generate another name",
690
+ title: walletText(this.context, "Generate another name"),
691
+ "aria-label": walletText(this.context, "Generate another name"),
844
692
  onClick: this.onRegistrationReroll,
845
693
  disabled: !isAuthMenuReady(viewModel),
846
694
  children: rerollIcon()
@@ -858,21 +706,21 @@ var AuthMenuSurface = class extends Component {
858
706
  "data-auth-menu-primary": true,
859
707
  disabled: !isAuthMenuActionReady(viewModel),
860
708
  onClick: this.onPrimaryClick,
861
- children: [fingerprintIcon(), /* @__PURE__ */ jsx("span", { children: passkeyButtonLabel(viewModel.mode) })]
709
+ children: [fingerprintIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { copy: passkeyButtonLabel(viewModel.mode) }) })]
862
710
  }), googleEnabled ? /* @__PURE__ */ jsxs("button", {
863
711
  class: "seams-auth-method-btn",
864
712
  type: "button",
865
713
  "data-auth-menu-provider": "google",
866
714
  disabled: !isAuthMenuGoogleActionReady(viewModel),
867
715
  onClick: this.onGoogleClick,
868
- children: [googleIcon(), /* @__PURE__ */ jsx("span", { children: "Continue with Google" })]
716
+ children: [googleIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { message: "Continue with Google" }) })]
869
717
  }) : null]
870
718
  }) });
871
719
  }
872
720
  renderOtherOptions() {
873
721
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", {
874
722
  class: "seams-menu-options-label",
875
- children: "Other options"
723
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Other options" })
876
724
  }), /* @__PURE__ */ jsxs("div", {
877
725
  class: "seams-menu-options",
878
726
  children: [/* @__PURE__ */ jsxs("button", {
@@ -886,7 +734,7 @@ var AuthMenuSurface = class extends Component {
886
734
  }),
887
735
  /* @__PURE__ */ jsxs("span", {
888
736
  class: "seams-menu-option-text",
889
- children: ["Link this device ", /* @__PURE__ */ jsx("small", { children: "Scan a code with your other device" })]
737
+ children: [/* @__PURE__ */ jsx(WalletText, { message: "Link this device" }), /* @__PURE__ */ jsx("small", { children: /* @__PURE__ */ jsx(WalletText, { message: "Scan a code with your other device" }) })]
890
738
  }),
891
739
  chevronIcon()
892
740
  ]
@@ -902,7 +750,7 @@ var AuthMenuSurface = class extends Component {
902
750
  }),
903
751
  /* @__PURE__ */ jsxs("span", {
904
752
  class: "seams-menu-option-text",
905
- children: ["Recover wallet ", /* @__PURE__ */ jsx("small", { children: "Use your recovery code" })]
753
+ children: [/* @__PURE__ */ jsx(WalletText, { message: "Recover wallet" }), /* @__PURE__ */ jsx("small", { children: /* @__PURE__ */ jsx(WalletText, { message: "Use your recovery code" }) })]
906
754
  }),
907
755
  chevronIcon()
908
756
  ]
@@ -924,7 +772,7 @@ var AuthMenuSurface = class extends Component {
924
772
  class: `seams-recovery-status ${feedbackIsError ? "seams-recovery-error" : ""}`,
925
773
  "aria-hidden": feedbackIsError ? "false" : "true",
926
774
  role: feedbackIsError ? "alert" : "status",
927
- children: feedbackMessage
775
+ children: /* @__PURE__ */ jsx(WalletText, { copy: feedbackMessage })
928
776
  }),
929
777
  /* @__PURE__ */ jsxs("form", {
930
778
  class: "seams-recovery-form",
@@ -938,7 +786,7 @@ var AuthMenuSurface = class extends Component {
938
786
  children: [/* @__PURE__ */ jsx("label", {
939
787
  class: "seams-field-label",
940
788
  for: "seams-recovery-code",
941
- children: "Recovery code"
789
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Recovery code" })
942
790
  }), /* @__PURE__ */ jsxs("span", {
943
791
  id: "seams-recovery-code-count",
944
792
  class: "seams-recovery-code-count",
@@ -981,7 +829,7 @@ var AuthMenuSurface = class extends Component {
981
829
  id: "seams-recovery-code-hint",
982
830
  class: `seams-recovery-code-hint ${rejection ? "is-error" : ""}`,
983
831
  "aria-live": "polite",
984
- children: rejection ? `Recovery codes don’t use ${rejection.characters.join(", ")}.` : "You can paste the whole code."
832
+ children: rejection ? `Recovery codes don’t use ${rejection.characters.join(", ")}.` : /* @__PURE__ */ jsx(WalletText, { message: "You can paste the whole code." })
985
833
  })
986
834
  ]
987
835
  }), /* @__PURE__ */ jsx("button", {
@@ -989,7 +837,7 @@ var AuthMenuSurface = class extends Component {
989
837
  type: "submit",
990
838
  "data-auth-menu-primary": true,
991
839
  "data-recovery-continue": true,
992
- children: "Continue"
840
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Continue" })
993
841
  })]
994
842
  })
995
843
  ] });
@@ -1003,7 +851,7 @@ var AuthMenuSurface = class extends Component {
1003
851
  /* @__PURE__ */ jsx("p", {
1004
852
  class: `seams-recovery-status ${viewModel.status.kind === "recoverable" ? "seams-recovery-error" : ""}`,
1005
853
  "aria-hidden": "true",
1006
- children: statusMessage
854
+ children: /* @__PURE__ */ jsx(WalletText, { copy: statusMessage })
1007
855
  }),
1008
856
  /* @__PURE__ */ jsxs("div", {
1009
857
  class: "seams-auth-methods seams-recovery-methods",
@@ -1017,7 +865,7 @@ var AuthMenuSurface = class extends Component {
1017
865
  children: [busyTarget === "passkey" ? /* @__PURE__ */ jsx("span", {
1018
866
  class: "seams-spinner",
1019
867
  "aria-hidden": "true"
1020
- }) : fingerprintIcon(), /* @__PURE__ */ jsx("span", { children: "Create a passkey" })]
868
+ }) : fingerprintIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { message: "Create a passkey" }) })]
1021
869
  }), googleEnabled ? /* @__PURE__ */ jsxs("button", {
1022
870
  class: "seams-auth-method-btn",
1023
871
  type: "button",
@@ -1027,12 +875,12 @@ var AuthMenuSurface = class extends Component {
1027
875
  children: [busyTarget === "google_email_otp" ? /* @__PURE__ */ jsx("span", {
1028
876
  class: "seams-spinner",
1029
877
  "aria-hidden": "true"
1030
- }) : googleIcon(), /* @__PURE__ */ jsx("span", { children: "Continue with Google" })]
878
+ }) : googleIcon(), /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { message: "Continue with Google" }) })]
1031
879
  }) : null]
1032
880
  }),
1033
881
  /* @__PURE__ */ jsx("p", {
1034
882
  class: "seams-recovery-method-note",
1035
- children: "This adds a new sign-in method to your wallet."
883
+ children: /* @__PURE__ */ jsx(WalletText, { message: "This adds a new sign-in method to your wallet." })
1036
884
  })
1037
885
  ] });
1038
886
  }
@@ -1046,13 +894,13 @@ var AuthMenuSurface = class extends Component {
1046
894
  children: [
1047
895
  /* @__PURE__ */ jsx("p", {
1048
896
  class: "seams-otp-description",
1049
- children: deliveryMessage
897
+ children: /* @__PURE__ */ jsx(WalletText, { copy: deliveryMessage })
1050
898
  }),
1051
899
  renderDemoEmailCode(viewModel.delivery),
1052
900
  /* @__PURE__ */ jsx("label", {
1053
901
  class: "seams-field-label",
1054
902
  for: "seams-recovery-google-otp",
1055
- children: "Email code"
903
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Email code" })
1056
904
  }),
1057
905
  /* @__PURE__ */ jsxs("div", {
1058
906
  class: "seams-otp-code-field",
@@ -1086,7 +934,7 @@ var AuthMenuSurface = class extends Component {
1086
934
  id: "seams-recovery-google-otp-error",
1087
935
  class: "seams-recovery-status seams-recovery-error",
1088
936
  role: "alert",
1089
- children: viewModel.status.message
937
+ children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.status.message })
1090
938
  }) }) : null,
1091
939
  /* @__PURE__ */ jsx("button", {
1092
940
  class: "seams-link-device-btn seams-link-device-btn-primary",
@@ -1094,7 +942,7 @@ var AuthMenuSurface = class extends Component {
1094
942
  "data-auth-menu-primary": true,
1095
943
  disabled: !canSubmit,
1096
944
  onClick: this.onRecoveryGoogleOtpSubmit,
1097
- children: "Verify email code"
945
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Verify email code" })
1098
946
  })
1099
947
  ]
1100
948
  })] });
@@ -1108,13 +956,13 @@ var AuthMenuSurface = class extends Component {
1108
956
  class: "seams-recovery-confirmation",
1109
957
  children: [message === null ? null : /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("p", {
1110
958
  class: "seams-recovery-status",
1111
- children: message
959
+ children: /* @__PURE__ */ jsx(WalletText, { copy: message })
1112
960
  }) }), /* @__PURE__ */ jsxs("button", {
1113
961
  class: "seams-link-device-btn seams-link-device-btn-primary",
1114
962
  type: "button",
1115
963
  "data-auth-menu-primary": true,
1116
964
  onClick: action,
1117
- children: [googleTarget && !finalizationRetry ? googleIcon() : null, signIn ? googleTarget ? "Unlock with Google" : "Unlock with new passkey" : finalizationRetry ? "Retry finalization" : googleTarget ? "Continue with Google" : "Create new passkey"]
965
+ children: [googleTarget && !finalizationRetry ? googleIcon() : null, signIn ? googleTarget ? /* @__PURE__ */ jsx(WalletText, { message: "Unlock with Google" }) : /* @__PURE__ */ jsx(WalletText, { message: "Unlock with new passkey" }) : finalizationRetry ? /* @__PURE__ */ jsx(WalletText, { message: "Retry finalization" }) : googleTarget ? /* @__PURE__ */ jsx(WalletText, { message: "Continue with Google" }) : /* @__PURE__ */ jsx(WalletText, { message: "Create new passkey" })]
1118
966
  })]
1119
967
  })] });
1120
968
  }
@@ -1122,11 +970,11 @@ var AuthMenuSurface = class extends Component {
1122
970
  const copy = modeSwitchCopy(viewModel.mode);
1123
971
  return /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsxs("div", {
1124
972
  class: "seams-auth-intent-switch",
1125
- children: [/* @__PURE__ */ jsx("span", { children: copy.prompt }), /* @__PURE__ */ jsx("button", {
973
+ children: [/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(WalletText, { copy: copy.prompt }) }), /* @__PURE__ */ jsx("button", {
1126
974
  type: "button",
1127
975
  "data-auth-menu-mode": copy.nextMode,
1128
976
  onClick: this.onIntentSwitchClick,
1129
- children: copy.action
977
+ children: /* @__PURE__ */ jsx(WalletText, { copy: copy.action })
1130
978
  })]
1131
979
  }) });
1132
980
  }
@@ -1143,7 +991,7 @@ var AuthMenuSurface = class extends Component {
1143
991
  prompt ? /* @__PURE__ */ jsx("span", {
1144
992
  class: "seams-passkey-prompt",
1145
993
  role: "img",
1146
- "aria-label": prompt.label,
994
+ "aria-label": walletDisplayText(this.context, prompt.label),
1147
995
  children: passkeyRingIcon()
1148
996
  }) : null,
1149
997
  /* @__PURE__ */ jsxs("div", {
@@ -1151,20 +999,20 @@ var AuthMenuSurface = class extends Component {
1151
999
  children: [
1152
1000
  /* @__PURE__ */ jsx("span", {
1153
1001
  class: "seams-waiting-text",
1154
- children: waitingText
1002
+ children: /* @__PURE__ */ jsx(WalletText, { copy: waitingText })
1155
1003
  }),
1156
1004
  prompt ? /* @__PURE__ */ jsx("span", {
1157
1005
  class: "seams-passkey-instruction",
1158
- children: prompt.instruction
1006
+ children: /* @__PURE__ */ jsx(WalletText, { copy: prompt.instruction })
1159
1007
  }) : null,
1160
1008
  viewModel.showProgress && status.detail && status.detail !== waitingText ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("span", {
1161
1009
  class: "seams-waiting-sdk-events",
1162
- children: status.detail
1010
+ children: /* @__PURE__ */ jsx(WalletText, { copy: status.detail })
1163
1011
  }) }) : null
1164
1012
  ]
1165
1013
  }),
1166
1014
  prompt ? null : /* @__PURE__ */ jsx("div", {
1167
- "aria-label": "Loading",
1015
+ "aria-label": walletText(this.context, "Loading"),
1168
1016
  class: "seams-spinner"
1169
1017
  })
1170
1018
  ]
@@ -1218,18 +1066,18 @@ var AuthMenuSurface = class extends Component {
1218
1066
  children: /* @__PURE__ */ jsx("h2", {
1219
1067
  class: "qr-title",
1220
1068
  id: AUTH_MENU_TITLE_ID,
1221
- children: viewModel.heading
1069
+ children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.heading })
1222
1070
  })
1223
1071
  }),
1224
1072
  /* @__PURE__ */ jsx("div", {
1225
1073
  class: "qr-instruction",
1226
- children: ready ? viewModel.subtitle : "Preparing a one-time code for your other device."
1074
+ children: ready ? /* @__PURE__ */ jsx(WalletText, { copy: viewModel.subtitle }) : /* @__PURE__ */ jsx(WalletText, { message: "Preparing a one-time code for your other device." })
1227
1075
  }),
1228
1076
  /* @__PURE__ */ jsxs("div", {
1229
1077
  class: "qr-status",
1230
1078
  role: "status",
1231
1079
  "aria-live": "polite",
1232
- children: [ready ? linkDevice.message : "Generating QR code", /* @__PURE__ */ jsx("span", { class: "animated-ellipsis" })]
1080
+ children: [ready ? /* @__PURE__ */ jsx(WalletText, { copy: linkDevice.message }) : /* @__PURE__ */ jsx(WalletText, { message: "Generating QR code" }), /* @__PURE__ */ jsx("span", { class: "animated-ellipsis" })]
1233
1081
  })
1234
1082
  ]
1235
1083
  })
@@ -1247,18 +1095,18 @@ var AuthMenuSurface = class extends Component {
1247
1095
  /* @__PURE__ */ jsx("h2", {
1248
1096
  class: "qr-title",
1249
1097
  id: AUTH_MENU_TITLE_ID,
1250
- children: "Match your other device"
1098
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Match your other device" })
1251
1099
  }),
1252
1100
  /* @__PURE__ */ jsx("p", {
1253
1101
  class: "seams-link-device-confirmation-copy",
1254
- children: "Choose the unlock method for Device 2. Email code sends a one-time code to the address you enter."
1102
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Choose the unlock method for Device 2. Email code sends a one-time code to the address you enter." })
1255
1103
  }),
1256
1104
  /* @__PURE__ */ jsxs("fieldset", {
1257
1105
  class: "seams-link-device-factor-options",
1258
1106
  children: [
1259
1107
  /* @__PURE__ */ jsx("legend", {
1260
1108
  class: "sr-only",
1261
- children: "Wallet unlock method"
1109
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Wallet unlock method" })
1262
1110
  }),
1263
1111
  /* @__PURE__ */ jsxs("label", { children: [
1264
1112
  /* @__PURE__ */ jsx("span", {
@@ -1267,7 +1115,7 @@ var AuthMenuSurface = class extends Component {
1267
1115
  }),
1268
1116
  /* @__PURE__ */ jsx("span", {
1269
1117
  class: "seams-auth-method-choice-label",
1270
- children: "Passkey"
1118
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Passkey" })
1271
1119
  }),
1272
1120
  /* @__PURE__ */ jsx("input", {
1273
1121
  type: "radio",
@@ -1284,7 +1132,7 @@ var AuthMenuSurface = class extends Component {
1284
1132
  }),
1285
1133
  /* @__PURE__ */ jsx("span", {
1286
1134
  class: "seams-auth-method-choice-label",
1287
- children: "Email code"
1135
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Email code" })
1288
1136
  }),
1289
1137
  /* @__PURE__ */ jsx("input", {
1290
1138
  type: "radio",
@@ -1300,13 +1148,13 @@ var AuthMenuSurface = class extends Component {
1300
1148
  class: "seams-link-device-target-email",
1301
1149
  children: [/* @__PURE__ */ jsx("span", {
1302
1150
  class: "seams-field-label",
1303
- children: "Email address"
1151
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Email address" })
1304
1152
  }), /* @__PURE__ */ jsx("input", {
1305
1153
  type: "email",
1306
1154
  name: "linked-device-target-email",
1307
1155
  autocomplete: "email",
1308
1156
  value: emailAddress,
1309
- "aria-label": "Email address",
1157
+ "aria-label": walletText(this.context, "Email address"),
1310
1158
  "aria-invalid": emailAddress.length > 0 && !canStart ? "true" : "false",
1311
1159
  onInput: this.onLinkDeviceTargetEmailInput
1312
1160
  })]
@@ -1314,7 +1162,7 @@ var AuthMenuSurface = class extends Component {
1314
1162
  linkDevice.error ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("p", {
1315
1163
  class: "seams-link-device-inline-error",
1316
1164
  role: "alert",
1317
- children: linkDevice.error
1165
+ children: /* @__PURE__ */ jsx(WalletText, { copy: linkDevice.error })
1318
1166
  }) }) : null,
1319
1167
  /* @__PURE__ */ jsx("button", {
1320
1168
  class: "seams-link-device-btn seams-link-device-btn-primary",
@@ -1322,7 +1170,7 @@ var AuthMenuSurface = class extends Component {
1322
1170
  "data-auth-menu-primary": true,
1323
1171
  disabled: !canStart,
1324
1172
  onClick: this.onLinkDeviceStart,
1325
- children: "Continue"
1173
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Continue" })
1326
1174
  })
1327
1175
  ]
1328
1176
  }) });
@@ -1344,11 +1192,11 @@ var AuthMenuSurface = class extends Component {
1344
1192
  /* @__PURE__ */ jsx("h2", {
1345
1193
  class: "qr-title",
1346
1194
  id: AUTH_MENU_TITLE_ID,
1347
- children: view.heading
1195
+ children: /* @__PURE__ */ jsx(WalletText, { copy: view.heading })
1348
1196
  }),
1349
1197
  hint ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("div", {
1350
1198
  class: "seams-link-device-email-chip",
1351
- title: hint,
1199
+ title: walletDisplayText(this.context, hint),
1352
1200
  children: /* @__PURE__ */ jsx("span", { children: hint })
1353
1201
  }) }) : null,
1354
1202
  /* @__PURE__ */ jsxs("p", {
@@ -1356,7 +1204,7 @@ var AuthMenuSurface = class extends Component {
1356
1204
  id: "seams-linked-device-otp-status",
1357
1205
  role: "status",
1358
1206
  "aria-live": "polite",
1359
- children: [view.status, view.pending ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("span", {
1207
+ children: [/* @__PURE__ */ jsx(WalletText, { copy: view.status }), view.pending ? /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("span", {
1360
1208
  class: "animated-ellipsis",
1361
1209
  "aria-hidden": "true"
1362
1210
  }) }) : null]
@@ -1364,7 +1212,7 @@ var AuthMenuSurface = class extends Component {
1364
1212
  showCodeField ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("label", {
1365
1213
  class: "sr-only",
1366
1214
  for: "seams-linked-device-email-otp",
1367
- children: "Email code"
1215
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Email code" })
1368
1216
  }), /* @__PURE__ */ jsxs("div", {
1369
1217
  class: "seams-otp-code-field",
1370
1218
  "data-disabled": busy ? "true" : "false",
@@ -1377,7 +1225,7 @@ var AuthMenuSurface = class extends Component {
1377
1225
  autocomplete: "one-time-code",
1378
1226
  pattern: "[0-9]*",
1379
1227
  maxLength: 6,
1380
- "aria-label": "Email verification code",
1228
+ "aria-label": walletText(this.context, "Email verification code"),
1381
1229
  "aria-describedby": "seams-linked-device-otp-status",
1382
1230
  "aria-invalid": activation.kind === "incorrect" ? "true" : "false",
1383
1231
  value: linkDevice.otpCode,
@@ -1404,26 +1252,26 @@ var AuthMenuSurface = class extends Component {
1404
1252
  type: "button",
1405
1253
  "data-link-device-error-dismiss": true,
1406
1254
  onClick: this.onBackClick,
1407
- children: "Return to unlock wallet"
1255
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Return to unlock wallet" })
1408
1256
  }) });
1409
1257
  if (activation.kind === "expired") return /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("button", {
1410
1258
  class: "seams-link-device-btn seams-link-device-btn-primary",
1411
1259
  type: "button",
1412
1260
  onClick: this.onLinkDeviceEmailOtpResend,
1413
- children: "Send a new code"
1261
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Send a new code" })
1414
1262
  }) });
1415
1263
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("button", {
1416
1264
  class: "seams-link-device-btn seams-link-device-btn-primary",
1417
1265
  type: "button",
1418
1266
  disabled: !input.canSubmit,
1419
1267
  onClick: this.onLinkDeviceEmailOtpSubmit,
1420
- children: activation.kind === "submitting" ? "Verifying" : "Verify code"
1268
+ children: activation.kind === "submitting" ? /* @__PURE__ */ jsx(WalletText, { message: "Verifying" }) : /* @__PURE__ */ jsx(WalletText, { message: "Verify code" })
1421
1269
  }), /* @__PURE__ */ jsx("button", {
1422
1270
  class: "seams-otp-resend",
1423
1271
  type: "button",
1424
1272
  disabled: input.busy,
1425
1273
  onClick: this.onLinkDeviceEmailOtpResend,
1426
- children: "Send another code"
1274
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Send another code" })
1427
1275
  })] });
1428
1276
  }
1429
1277
  renderLinkDeviceFailure(linkDevice) {
@@ -1431,7 +1279,7 @@ var AuthMenuSurface = class extends Component {
1431
1279
  return this.renderLinkDeviceFailurePanel({
1432
1280
  dismiss: "error",
1433
1281
  title: activationFailed ? "Device linked" : "Couldn't link device",
1434
- detail: activationFailed ? /* @__PURE__ */ jsxs(Fragment$1, { children: ["Unable to open the wallet. Go back and try again. ", linkDevice.message] }) : linkDevice.message,
1282
+ detail: activationFailed ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(WalletText, { message: "Unable to open the wallet. Go back and try again." }), /* @__PURE__ */ jsx(WalletText, { copy: linkDevice.message })] }) : linkDevice.message,
1435
1283
  action: "Return to unlock wallet"
1436
1284
  });
1437
1285
  }
@@ -1446,12 +1294,12 @@ var AuthMenuSurface = class extends Component {
1446
1294
  /* @__PURE__ */ jsx("h2", {
1447
1295
  class: "qr-title",
1448
1296
  id: AUTH_MENU_TITLE_ID,
1449
- children: panel.title
1297
+ children: /* @__PURE__ */ jsx(WalletText, { copy: panel.title })
1450
1298
  }),
1451
1299
  /* @__PURE__ */ jsx("p", {
1452
1300
  class: "seams-link-device-failure-detail",
1453
1301
  role: "alert",
1454
- children: panel.detail
1302
+ children: typeof panel.detail === "string" ? /* @__PURE__ */ jsx(WalletText, { copy: panel.detail }) : panel.detail
1455
1303
  }),
1456
1304
  /* @__PURE__ */ jsx("button", {
1457
1305
  class: "seams-link-device-btn",
@@ -1459,7 +1307,7 @@ var AuthMenuSurface = class extends Component {
1459
1307
  "data-auth-menu-primary": true,
1460
1308
  [`data-link-device-${panel.dismiss}-dismiss`]: true,
1461
1309
  onClick: this.onBackClick,
1462
- children: panel.action
1310
+ children: /* @__PURE__ */ jsx(WalletText, { copy: panel.action })
1463
1311
  })
1464
1312
  ]
1465
1313
  }) });
@@ -1475,13 +1323,13 @@ var AuthMenuSurface = class extends Component {
1475
1323
  /* @__PURE__ */ jsx("h2", {
1476
1324
  class: "qr-title",
1477
1325
  id: AUTH_MENU_TITLE_ID,
1478
- children: "Opening linked wallet"
1326
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Opening linked wallet" })
1479
1327
  }),
1480
1328
  /* @__PURE__ */ jsx("p", {
1481
1329
  class: "seams-link-device-confirmation-copy",
1482
1330
  role: "status",
1483
1331
  "aria-live": "polite",
1484
- children: linkDevice.message
1332
+ children: /* @__PURE__ */ jsx(WalletText, { copy: linkDevice.message })
1485
1333
  })
1486
1334
  ]
1487
1335
  }) });
@@ -1496,7 +1344,7 @@ var AuthMenuSurface = class extends Component {
1496
1344
  class: "qr-title",
1497
1345
  id: AUTH_MENU_TITLE_ID,
1498
1346
  "aria-live": "polite",
1499
- children: linkDevice.message
1347
+ children: /* @__PURE__ */ jsx(WalletText, { copy: linkDevice.message })
1500
1348
  }),
1501
1349
  /* @__PURE__ */ jsx("button", {
1502
1350
  class: "seams-link-device-btn seams-link-device-btn-primary",
@@ -1505,7 +1353,7 @@ var AuthMenuSurface = class extends Component {
1505
1353
  "data-link-device-passkey-action": true,
1506
1354
  disabled: creating,
1507
1355
  onClick: this.onLinkDeviceCreatePasskey,
1508
- children: creating ? "Waiting for passkey" : "Create passkey"
1356
+ children: creating ? /* @__PURE__ */ jsx(WalletText, { message: "Waiting for passkey" }) : /* @__PURE__ */ jsx(WalletText, { message: "Create passkey" })
1509
1357
  })
1510
1358
  ]
1511
1359
  }) });
@@ -1523,19 +1371,19 @@ var AuthMenuSurface = class extends Component {
1523
1371
  /* @__PURE__ */ jsx("div", {
1524
1372
  class: "seams-otp-title",
1525
1373
  id: AUTH_MENU_TITLE_ID,
1526
- children: viewModel.heading
1374
+ children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.heading })
1527
1375
  }),
1528
1376
  /* @__PURE__ */ jsx("p", {
1529
1377
  class: "seams-otp-description",
1530
- children: deliveryMessage
1378
+ children: /* @__PURE__ */ jsx(WalletText, { copy: deliveryMessage })
1531
1379
  }),
1532
1380
  renderDemoEmailCode(viewModel.delivery),
1533
1381
  /* @__PURE__ */ jsxs("div", {
1534
1382
  class: "seams-otp-account",
1535
- title: viewModel.walletId,
1383
+ title: walletDisplayText(this.context, viewModel.walletId),
1536
1384
  children: [/* @__PURE__ */ jsx("span", {
1537
1385
  class: "seams-otp-account-label",
1538
- children: "Wallet"
1386
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Wallet" })
1539
1387
  }), /* @__PURE__ */ jsx("span", {
1540
1388
  class: "seams-otp-account-value",
1541
1389
  children: viewModel.walletId
@@ -1546,7 +1394,7 @@ var AuthMenuSurface = class extends Component {
1546
1394
  /* @__PURE__ */ jsx("label", {
1547
1395
  class: "seams-field-label",
1548
1396
  for: "seams-auth-menu-google-otp",
1549
- children: "Email code"
1397
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Email code" })
1550
1398
  }),
1551
1399
  /* @__PURE__ */ jsxs("div", {
1552
1400
  class: "seams-otp-code-field",
@@ -1574,7 +1422,7 @@ var AuthMenuSurface = class extends Component {
1574
1422
  }),
1575
1423
  /* @__PURE__ */ jsx("p", {
1576
1424
  class: "seams-otp-helper",
1577
- children: viewModel.prompt.helperText ?? ""
1425
+ children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.prompt.helperText ?? "" })
1578
1426
  }),
1579
1427
  /* @__PURE__ */ jsx("button", {
1580
1428
  class: "seams-auth-method-btn seams-auth-method-btn-primary",
@@ -1582,14 +1430,14 @@ var AuthMenuSurface = class extends Component {
1582
1430
  "data-auth-menu-primary": true,
1583
1431
  disabled: !isAuthMenuActionReady(viewModel),
1584
1432
  onClick: this.onPrimaryClick,
1585
- children: viewModel.submitBusy ? "Unlocking…" : viewModel.ctaLabel
1433
+ children: viewModel.submitBusy ? /* @__PURE__ */ jsx(WalletText, { message: "Unlocking…" }) : /* @__PURE__ */ jsx(WalletText, { copy: viewModel.ctaLabel })
1586
1434
  }),
1587
1435
  /* @__PURE__ */ jsx("button", {
1588
1436
  class: "seams-otp-resend auth-menu-google-resend",
1589
1437
  type: "button",
1590
1438
  disabled: viewModel.resendBusy || viewModel.submitBusy,
1591
1439
  onClick: this.onGoogleOtpResend,
1592
- children: viewModel.resendBusy ? "Sending…" : "Resend Code"
1440
+ children: viewModel.resendBusy ? /* @__PURE__ */ jsx(WalletText, { message: "Sending…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Resend Code" })
1593
1441
  })
1594
1442
  ]
1595
1443
  }) });
@@ -1604,18 +1452,18 @@ var AuthMenuSurface = class extends Component {
1604
1452
  /* @__PURE__ */ jsx("div", {
1605
1453
  class: "seams-otp-title",
1606
1454
  id: AUTH_MENU_TITLE_ID,
1607
- children: viewModel.heading
1455
+ children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.heading })
1608
1456
  }),
1609
1457
  /* @__PURE__ */ jsx("p", {
1610
1458
  class: "seams-otp-description",
1611
- children: viewModel.subtitle
1459
+ children: /* @__PURE__ */ jsx(WalletText, { copy: viewModel.subtitle })
1612
1460
  }),
1613
1461
  /* @__PURE__ */ jsxs("div", {
1614
1462
  class: "seams-otp-account",
1615
- title: viewModel.walletId,
1463
+ title: walletDisplayText(this.context, viewModel.walletId),
1616
1464
  children: [/* @__PURE__ */ jsx("span", {
1617
1465
  class: "seams-otp-account-label",
1618
- children: "Wallet"
1466
+ children: /* @__PURE__ */ jsx(WalletText, { message: "Wallet" })
1619
1467
  }), /* @__PURE__ */ jsx("span", {
1620
1468
  class: "seams-otp-account-value",
1621
1469
  children: viewModel.walletId
@@ -1626,7 +1474,7 @@ var AuthMenuSurface = class extends Component {
1626
1474
  type: "button",
1627
1475
  disabled: viewModel.rerollBusy || viewModel.submitBusy,
1628
1476
  onClick: this.onGoogleRegistrationReroll,
1629
- children: viewModel.rerollBusy ? "Generating…" : "Generate another name"
1477
+ children: viewModel.rerollBusy ? /* @__PURE__ */ jsx(WalletText, { message: "Generating…" }) : /* @__PURE__ */ jsx(WalletText, { message: "Generate another name" })
1630
1478
  })
1631
1479
  ]
1632
1480
  }), /* @__PURE__ */ jsx("button", {
@@ -1635,7 +1483,7 @@ var AuthMenuSurface = class extends Component {
1635
1483
  "data-auth-menu-primary": true,
1636
1484
  disabled: !isAuthMenuActionReady(viewModel),
1637
1485
  onClick: this.onPrimaryClick,
1638
- children: viewModel.submitBusy ? "Creating..." : viewModel.ctaLabel
1486
+ children: viewModel.submitBusy ? /* @__PURE__ */ jsx(WalletText, { message: "Creating..." }) : /* @__PURE__ */ jsx(WalletText, { copy: viewModel.ctaLabel })
1639
1487
  })]
1640
1488
  }) });
1641
1489
  }