@seams/wallet 0.29.0 → 0.31.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 (264) hide show
  1. package/README.md +7 -7
  2. package/THIRD_PARTY_NOTICES.md +1 -127
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/SeamsWeb/SeamsWeb.js +2 -0
  5. package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +9 -0
  6. package/dist/esm/SeamsWeb/walletIframe/client/router.js +30 -0
  7. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +18 -0
  8. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +88 -47
  9. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/WalletAlternativesSection.js +67 -0
  10. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +13 -0
  11. package/dist/esm/SeamsWeb/walletIframe/host/walletMutationGuard.js +1 -0
  12. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +20 -6
  13. package/dist/esm/SeamsWeb/walletIframe/shared/walletAlternatives.js +109 -0
  14. package/dist/esm/core/config/configBuilder.js +1 -1
  15. package/dist/esm/core/config/defaultConfigs.js +9 -2
  16. package/dist/esm/core/ui/messages.js +3 -1
  17. package/dist/esm/core/ui/walletIcon.js +10 -0
  18. package/dist/esm/externalEvm/boundary.js +4 -2
  19. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +26 -6
  20. package/dist/esm/react/components/HostedSeamsAuthMenu/walletAlternatives.js +178 -0
  21. package/dist/esm/react/index.js +1 -2
  22. package/dist/esm/react/styles/styles.css +0 -183
  23. package/dist/esm/react/styles.css +0 -1
  24. package/dist/esm/sdk/{ConfirmationDrawer-BRnd5SEf.js → ConfirmationDrawer-fyl4IDRl.js} +1 -1
  25. package/dist/{public/sdk/NonceCoordinator-CNXYrOoy.js → esm/sdk/NonceCoordinator-C1lw03Ce.js} +1 -1
  26. package/dist/esm/sdk/{activeWalletSession-BJ4B-nJo.js → activeWalletSession-HAOgRKzn.js} +1 -1
  27. package/dist/esm/sdk/{adapters-B2k8y0MB.js → adapters-BY1wGpm5.js} +1 -1
  28. package/dist/esm/sdk/appearance-token-vars-CzlRDVQ7.js +1 -0
  29. package/dist/esm/sdk/{authorization-gVWwKwav.js → authorization-D_NueqAv.js} +1 -1
  30. package/dist/esm/sdk/{clientSessionPersistenceState-BxpITYM_.js → clientSessionPersistenceState-B3gU3515.js} +1 -1
  31. package/dist/esm/sdk/{commitQueue-C1wkey4q.js → commitQueue-CbyuhEW9.js} +1 -1
  32. package/dist/{public/sdk/confirm-ui-Dx6c4-Rk.js → esm/sdk/confirm-ui-DWFcGTsT.js} +1 -1
  33. package/dist/{public/sdk/device-linking-_o3_fgiG.js → esm/sdk/device-linking-BL2aDEUF.js} +1 -1
  34. package/dist/esm/sdk/{deviceLinkApproval-CObsEWBa.js → deviceLinkApproval-C4T8XAmi.js} +1 -1
  35. package/dist/esm/sdk/{digestEncoding-34kXJoJr.js → digestEncoding-Rx8Vjy4J.js} +1 -1
  36. package/dist/esm/sdk/{display-CUWg48tD.js → display-8NGPOhQT.js} +1 -1
  37. package/dist/{public/sdk/ecdsaCapabilityManifest--1Ztngfx.js → esm/sdk/ecdsaCapabilityManifest-BbPXL-qh.js} +1 -1
  38. package/dist/{public/sdk/ecdsaDerivationClientWasm-DJh2uN-q.js → esm/sdk/ecdsaDerivationClientWasm-GCt9yVsd.js} +1 -1
  39. package/dist/{public/sdk/ecdsaDerivationExport-BUUUGc6o.js → esm/sdk/ecdsaDerivationExport-jm2VBMz_.js} +1 -1
  40. package/dist/esm/sdk/{emailOtpEcdsaDerivationIdentity-Qd4pBwHv.js → emailOtpEcdsaDerivationIdentity-DJmMyqL-.js} +1 -1
  41. package/dist/esm/sdk/{export-viewer-host-O0OV1Oou.js → export-viewer-host-TzgdJQuZ.js} +1 -1
  42. package/dist/{public/sdk/exportKeypairOperation-DkqY9Bpf.js → esm/sdk/exportKeypairOperation-B9_ulzNz.js} +1 -1
  43. package/dist/esm/sdk/host-DltV2Oan.js +1 -0
  44. package/dist/esm/sdk/{indexedDB-CA4tGqkr.js → indexedDB-BqsYXybq.js} +1 -1
  45. package/dist/esm/sdk/{lanes-vBKm6yBJ.js → lanes-0WT2w1Xz.js} +1 -1
  46. package/dist/esm/sdk/{localOnly-U_MucUAe.js → localOnly-DFrtrfdO.js} +1 -1
  47. package/dist/esm/sdk/{mountExportPrivateKeySurface-C2-fnvP6.js → mountExportPrivateKeySurface-D8juRQJM.js} +1 -1
  48. package/dist/{public/sdk/mountRecoveryCodeBackupSurface-C_tJNPJX.js → esm/sdk/mountRecoveryCodeBackupSurface-CMtByh-L.js} +1 -1
  49. package/dist/esm/sdk/{nearEd25519YaoSigningPreparation-CnbgQfZc.js → nearEd25519YaoSigningPreparation-Cz2Gb95g.js} +1 -1
  50. package/dist/esm/sdk/{operationFingerprint-Bas59T7L.js → operationFingerprint-GKEY-X5I.js} +1 -1
  51. package/dist/esm/sdk/ownerNearOperation-DCxxHcwX.js +1 -0
  52. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-DXFrQmO5.js → pendingWalletRecoveryCodeBackup-8iMhQU-E.js} +1 -1
  53. package/dist/{public/sdk/presignaturePool-Dq4RhzXn.js → esm/sdk/presignaturePool-CaI45td2.js} +1 -1
  54. package/dist/esm/sdk/{presignatures-CkhuZ0YQ.js → presignatures-B9KnQyfE.js} +1 -1
  55. package/dist/esm/sdk/{recovery-entrypoint-s9OoKBcl.js → recovery-entrypoint-DA2FGLG6.js} +1 -1
  56. package/dist/esm/sdk/registration-Coh0_Nva.js +1 -0
  57. package/dist/esm/sdk/{registration-D3p7muCc.js → registration-XNyt1YRK.js} +1 -1
  58. package/dist/esm/sdk/{registrationIntent-C1-Kyx_-.js → registrationIntent-Cb3tggIM.js} +1 -1
  59. package/dist/{public/sdk/requireStepUpAuth-iVo6h_U-.js → esm/sdk/requireStepUpAuth-ByMTPBu4.js} +1 -1
  60. package/dist/esm/sdk/resealedEnvelopeResult-DKY5fVNY.js +1 -0
  61. package/dist/esm/sdk/routerAbNormalSigning-CPLDkttX.js +1 -0
  62. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  63. package/dist/esm/sdk/runtime-auth-CP6P681o.js +1 -0
  64. package/dist/esm/sdk/{runtime-device-link-qmYvGep9.js → runtime-device-link-CGDZQK-D.js} +1 -1
  65. package/dist/{public/sdk/runtime-ecdsa-tempo-Zh95TuLV.js → esm/sdk/runtime-ecdsa-tempo-BiJYKWK4.js} +1 -1
  66. package/dist/esm/sdk/{runtime-email-otp-CnLuW4H1.js → runtime-email-otp-B0XCNDRb.js} +1 -1
  67. package/dist/esm/sdk/{runtime-export-m8lvrXtw.js → runtime-export-CXxv6KIx.js} +1 -1
  68. package/dist/esm/sdk/{runtime-near-BiXzXXhH.js → runtime-near-CuyS57wu.js} +1 -1
  69. package/dist/esm/sdk/runtime-preferences-B2WBUZO7.js +1 -0
  70. package/dist/esm/sdk/runtime-recovery-KwVdSe94.js +1 -0
  71. package/dist/esm/sdk/{runtime-recovery-codes-B033ake_.js → runtime-recovery-codes-CFOWDVd9.js} +1 -1
  72. package/dist/esm/sdk/{runtimeContext-RNS2E5wy.js → runtimeContext-Iy1vecX0.js} +3 -3
  73. package/dist/esm/sdk/{secp256k1-DPeaOjM0.js → secp256k1-sDDAa4Ga.js} +1 -1
  74. package/dist/{public/sdk/signEvmFamily-Cksw3RpU.js → esm/sdk/signEvmFamily-CMrXkVsZ.js} +1 -1
  75. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-B7p9UVix.js → signEvmFamilyWithUiConfirmForTempo-CnRoo0e8.js} +1 -1
  76. package/dist/esm/sdk/{signEvmWithUiConfirm-B14zYdwE.js → signEvmWithUiConfirm-yITc3ZvP.js} +1 -1
  77. package/dist/esm/sdk/{signNear-D0rFEYP1.js → signNear-DyFk--I3.js} +1 -1
  78. package/dist/{public/sdk/signingFlow-Bd1X0e-1.js → esm/sdk/signingFlow-DTP4D19E.js} +1 -1
  79. package/dist/{public/sdk/signingQueue-DoUBeaCv.js → esm/sdk/signingQueue-Dy5mYMus.js} +1 -1
  80. package/dist/esm/sdk/{thresholdEcdsa-BxfOZmiR.js → thresholdEcdsa-CRfx6RP1.js} +1 -1
  81. package/dist/esm/sdk/{trace-BnhLKxcu.js → trace-BA8jya7O.js} +1 -1
  82. package/dist/{public/sdk/transactionState-G_FPe-U8.js → esm/sdk/transactionState-BCbaT2hO.js} +1 -1
  83. package/dist/esm/sdk/tx-confirm-ui.js +3 -1
  84. package/dist/esm/sdk/{types-A-w1cYlJ.js → types-D2Zk1W7I.js} +1 -1
  85. package/dist/{public/sdk/unlockedEd25519ExportRootCapability-5F1egCSv.js → esm/sdk/unlockedEd25519ExportRootCapability-BbGMlikr.js} +1 -1
  86. package/dist/esm/sdk/voiceid-host.js +1 -1
  87. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  88. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  89. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  90. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  91. package/dist/esm/sdk/{wallet-recovery-DXdm68_Q.js → wallet-recovery-Bfm-oUoP.js} +1 -1
  92. package/dist/esm/sdk/wallet-ui.css +1 -1
  93. package/dist/{public/sdk/walletAuthMethodRecord-BW-XV4fv.js → esm/sdk/walletAuthMethodRecord--fvGr8r1.js} +1 -1
  94. package/dist/{public/sdk/walletAuthority-DbGaSw7D.js → esm/sdk/walletAuthority-CU9nO0Ze.js} +1 -1
  95. package/dist/esm/sdk/{walletCustodyEcdsaContinuity-BnyL1Ryu.js → walletCustodyEcdsaContinuity-BUdDyRl_.js} +1 -1
  96. package/dist/esm/sdk/{walletDbName-Ca0rCq5r.js → walletDbName-B6-CV_Rq.js} +1 -1
  97. package/dist/esm/sdk/{walletOwnerOperation-CScYv2K6.js → walletOwnerOperation-BJPxzo-k.js} +1 -1
  98. package/dist/esm/sdk/{walletOwnershipGeneration-BZc6UKqX.js → walletOwnershipGeneration-B3uE9GRG.js} +1 -1
  99. package/dist/{public/sdk/walletRecoveryAdminProof-DdwikrW3.js → esm/sdk/walletRecoveryAdminProof-BmZaP0Q8.js} +1 -1
  100. package/dist/{public/sdk/walletRecoveryCommit-DbAoiJp5.js → esm/sdk/walletRecoveryCommit-CSYNbYNd.js} +1 -1
  101. package/dist/esm/sdk/{walletSessionAuthorizationStatus-GhcGvDCX.js → walletSessionAuthorizationStatus-CQ3qA9tI.js} +1 -1
  102. package/dist/{public/sdk/walletSessionAuthorizationStore-BivTUoKY.js → esm/sdk/walletSessionAuthorizationStore-CGt-s5fX.js} +1 -1
  103. package/dist/esm/shared-ts/src/utils/index.js +1 -1
  104. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  105. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  106. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.d.ts +212 -233
  107. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.js +675 -694
  108. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  109. package/dist/public/headers.manifest.json +1 -1
  110. package/dist/public/sdk/{ConfirmationDrawer-BRnd5SEf.js → ConfirmationDrawer-fyl4IDRl.js} +1 -1
  111. package/dist/{esm/sdk/NonceCoordinator-CNXYrOoy.js → public/sdk/NonceCoordinator-C1lw03Ce.js} +1 -1
  112. package/dist/public/sdk/{activeWalletSession-BJ4B-nJo.js → activeWalletSession-HAOgRKzn.js} +1 -1
  113. package/dist/public/sdk/{adapters-B2k8y0MB.js → adapters-BY1wGpm5.js} +1 -1
  114. package/dist/public/sdk/appearance-token-vars-CzlRDVQ7.js +1 -0
  115. package/dist/public/sdk/{authorization-gVWwKwav.js → authorization-D_NueqAv.js} +1 -1
  116. package/dist/public/sdk/{clientSessionPersistenceState-BxpITYM_.js → clientSessionPersistenceState-B3gU3515.js} +1 -1
  117. package/dist/public/sdk/{commitQueue-C1wkey4q.js → commitQueue-CbyuhEW9.js} +1 -1
  118. package/dist/{esm/sdk/confirm-ui-Dx6c4-Rk.js → public/sdk/confirm-ui-DWFcGTsT.js} +1 -1
  119. package/dist/{esm/sdk/device-linking-_o3_fgiG.js → public/sdk/device-linking-BL2aDEUF.js} +1 -1
  120. package/dist/public/sdk/{deviceLinkApproval-CObsEWBa.js → deviceLinkApproval-C4T8XAmi.js} +1 -1
  121. package/dist/public/sdk/{digestEncoding-34kXJoJr.js → digestEncoding-Rx8Vjy4J.js} +1 -1
  122. package/dist/public/sdk/{display-CUWg48tD.js → display-8NGPOhQT.js} +1 -1
  123. package/dist/{esm/sdk/ecdsaCapabilityManifest--1Ztngfx.js → public/sdk/ecdsaCapabilityManifest-BbPXL-qh.js} +1 -1
  124. package/dist/{esm/sdk/ecdsaDerivationClientWasm-DJh2uN-q.js → public/sdk/ecdsaDerivationClientWasm-GCt9yVsd.js} +1 -1
  125. package/dist/{esm/sdk/ecdsaDerivationExport-BUUUGc6o.js → public/sdk/ecdsaDerivationExport-jm2VBMz_.js} +1 -1
  126. package/dist/public/sdk/{emailOtpEcdsaDerivationIdentity-Qd4pBwHv.js → emailOtpEcdsaDerivationIdentity-DJmMyqL-.js} +1 -1
  127. package/dist/public/sdk/{export-viewer-host-O0OV1Oou.js → export-viewer-host-TzgdJQuZ.js} +1 -1
  128. package/dist/{esm/sdk/exportKeypairOperation-DkqY9Bpf.js → public/sdk/exportKeypairOperation-B9_ulzNz.js} +1 -1
  129. package/dist/public/sdk/host-DltV2Oan.js +1 -0
  130. package/dist/public/sdk/{indexedDB-CA4tGqkr.js → indexedDB-BqsYXybq.js} +1 -1
  131. package/dist/public/sdk/{lanes-vBKm6yBJ.js → lanes-0WT2w1Xz.js} +1 -1
  132. package/dist/public/sdk/{localOnly-U_MucUAe.js → localOnly-DFrtrfdO.js} +1 -1
  133. package/dist/public/sdk/{mountExportPrivateKeySurface-C2-fnvP6.js → mountExportPrivateKeySurface-D8juRQJM.js} +1 -1
  134. package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-C_tJNPJX.js → public/sdk/mountRecoveryCodeBackupSurface-CMtByh-L.js} +1 -1
  135. package/dist/public/sdk/{nearEd25519YaoSigningPreparation-CnbgQfZc.js → nearEd25519YaoSigningPreparation-Cz2Gb95g.js} +1 -1
  136. package/dist/public/sdk/{operationFingerprint-Bas59T7L.js → operationFingerprint-GKEY-X5I.js} +1 -1
  137. package/dist/public/sdk/ownerNearOperation-DCxxHcwX.js +1 -0
  138. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-DXFrQmO5.js → pendingWalletRecoveryCodeBackup-8iMhQU-E.js} +1 -1
  139. package/dist/{esm/sdk/presignaturePool-Dq4RhzXn.js → public/sdk/presignaturePool-CaI45td2.js} +1 -1
  140. package/dist/public/sdk/{presignatures-CkhuZ0YQ.js → presignatures-B9KnQyfE.js} +1 -1
  141. package/dist/public/sdk/{recovery-entrypoint-s9OoKBcl.js → recovery-entrypoint-DA2FGLG6.js} +1 -1
  142. package/dist/public/sdk/registration-Coh0_Nva.js +1 -0
  143. package/dist/public/sdk/{registration-D3p7muCc.js → registration-XNyt1YRK.js} +1 -1
  144. package/dist/public/sdk/{registrationIntent-C1-Kyx_-.js → registrationIntent-Cb3tggIM.js} +1 -1
  145. package/dist/{esm/sdk/requireStepUpAuth-iVo6h_U-.js → public/sdk/requireStepUpAuth-ByMTPBu4.js} +1 -1
  146. package/dist/public/sdk/resealedEnvelopeResult-DKY5fVNY.js +1 -0
  147. package/dist/public/sdk/routerAbNormalSigning-CPLDkttX.js +1 -0
  148. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  149. package/dist/public/sdk/runtime-auth-CP6P681o.js +1 -0
  150. package/dist/public/sdk/{runtime-device-link-qmYvGep9.js → runtime-device-link-CGDZQK-D.js} +1 -1
  151. package/dist/{esm/sdk/runtime-ecdsa-tempo-Zh95TuLV.js → public/sdk/runtime-ecdsa-tempo-BiJYKWK4.js} +1 -1
  152. package/dist/public/sdk/{runtime-email-otp-CnLuW4H1.js → runtime-email-otp-B0XCNDRb.js} +1 -1
  153. package/dist/public/sdk/{runtime-export-m8lvrXtw.js → runtime-export-CXxv6KIx.js} +1 -1
  154. package/dist/public/sdk/{runtime-near-BiXzXXhH.js → runtime-near-CuyS57wu.js} +1 -1
  155. package/dist/public/sdk/runtime-preferences-B2WBUZO7.js +1 -0
  156. package/dist/public/sdk/runtime-recovery-KwVdSe94.js +1 -0
  157. package/dist/public/sdk/{runtime-recovery-codes-B033ake_.js → runtime-recovery-codes-CFOWDVd9.js} +1 -1
  158. package/dist/public/sdk/{runtimeContext-RNS2E5wy.js → runtimeContext-Iy1vecX0.js} +3 -3
  159. package/dist/public/sdk/{secp256k1-DPeaOjM0.js → secp256k1-sDDAa4Ga.js} +1 -1
  160. package/dist/{esm/sdk/signEvmFamily-Cksw3RpU.js → public/sdk/signEvmFamily-CMrXkVsZ.js} +1 -1
  161. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-B7p9UVix.js → signEvmFamilyWithUiConfirmForTempo-CnRoo0e8.js} +1 -1
  162. package/dist/public/sdk/{signEvmWithUiConfirm-B14zYdwE.js → signEvmWithUiConfirm-yITc3ZvP.js} +1 -1
  163. package/dist/public/sdk/{signNear-D0rFEYP1.js → signNear-DyFk--I3.js} +1 -1
  164. package/dist/{esm/sdk/signingFlow-Bd1X0e-1.js → public/sdk/signingFlow-DTP4D19E.js} +1 -1
  165. package/dist/{esm/sdk/signingQueue-DoUBeaCv.js → public/sdk/signingQueue-Dy5mYMus.js} +1 -1
  166. package/dist/public/sdk/{thresholdEcdsa-BxfOZmiR.js → thresholdEcdsa-CRfx6RP1.js} +1 -1
  167. package/dist/public/sdk/{trace-BnhLKxcu.js → trace-BA8jya7O.js} +1 -1
  168. package/dist/{esm/sdk/transactionState-G_FPe-U8.js → public/sdk/transactionState-BCbaT2hO.js} +1 -1
  169. package/dist/public/sdk/tx-confirm-ui.js +3 -1
  170. package/dist/public/sdk/{types-A-w1cYlJ.js → types-D2Zk1W7I.js} +1 -1
  171. package/dist/{esm/sdk/unlockedEd25519ExportRootCapability-5F1egCSv.js → public/sdk/unlockedEd25519ExportRootCapability-BbGMlikr.js} +1 -1
  172. package/dist/public/sdk/voiceid-host.js +1 -1
  173. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  174. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  175. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  176. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  177. package/dist/public/sdk/{wallet-recovery-DXdm68_Q.js → wallet-recovery-Bfm-oUoP.js} +1 -1
  178. package/dist/public/sdk/wallet-ui.css +1 -1
  179. package/dist/{esm/sdk/walletAuthMethodRecord-BW-XV4fv.js → public/sdk/walletAuthMethodRecord--fvGr8r1.js} +1 -1
  180. package/dist/{esm/sdk/walletAuthority-DbGaSw7D.js → public/sdk/walletAuthority-CU9nO0Ze.js} +1 -1
  181. package/dist/public/sdk/{walletCustodyEcdsaContinuity-BnyL1Ryu.js → walletCustodyEcdsaContinuity-BUdDyRl_.js} +1 -1
  182. package/dist/public/sdk/{walletDbName-Ca0rCq5r.js → walletDbName-B6-CV_Rq.js} +1 -1
  183. package/dist/public/sdk/{walletOwnerOperation-CScYv2K6.js → walletOwnerOperation-BJPxzo-k.js} +1 -1
  184. package/dist/public/sdk/{walletOwnershipGeneration-BZc6UKqX.js → walletOwnershipGeneration-B3uE9GRG.js} +1 -1
  185. package/dist/{esm/sdk/walletRecoveryAdminProof-DdwikrW3.js → public/sdk/walletRecoveryAdminProof-BmZaP0Q8.js} +1 -1
  186. package/dist/{esm/sdk/walletRecoveryCommit-DbAoiJp5.js → public/sdk/walletRecoveryCommit-CSYNbYNd.js} +1 -1
  187. package/dist/public/sdk/{walletSessionAuthorizationStatus-GhcGvDCX.js → walletSessionAuthorizationStatus-CQ3qA9tI.js} +1 -1
  188. package/dist/{esm/sdk/walletSessionAuthorizationStore-BivTUoKY.js → public/sdk/walletSessionAuthorizationStore-CGt-s5fX.js} +1 -1
  189. package/dist/public/sdk/workers/device-linking-key.worker.js +454 -947
  190. package/dist/public/sdk/workers/email-otp.worker.js +588 -820
  191. package/dist/public/sdk/workers/email_otp_runtime_bg.wasm +0 -0
  192. package/dist/public/sdk/workers/evm_crypto_bg.wasm +0 -0
  193. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +572 -804
  194. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  195. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  196. package/dist/public/sdk/workers/shamir3pass_runtime_bg.wasm +0 -0
  197. package/dist/public/sdk/workers/tempo_signer_bg.wasm +0 -0
  198. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +524 -971
  199. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  200. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  201. package/dist/public/wallet-assets.manifest.json +153 -153
  202. package/dist/public/wallet-service/index.html +4 -4
  203. package/dist/types/wallet/src/SeamsWeb/index.d.ts +1 -0
  204. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +3 -0
  205. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/inboundMessages.d.ts +5 -0
  206. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +3 -0
  207. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +6 -0
  208. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -0
  209. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +3 -0
  210. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +4 -0
  211. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +1 -1
  212. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +5 -0
  213. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/WalletAlternativesSection.d.ts +13 -0
  214. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.d.ts +3 -0
  215. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +11 -4
  216. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/walletAlternatives.d.ts +52 -0
  217. package/dist/types/wallet/src/core/types/seams.d.ts +2 -2
  218. package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
  219. package/dist/types/wallet/src/core/ui/walletIcon.d.ts +3 -0
  220. package/dist/types/wallet/src/index.d.ts +1 -0
  221. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/public.d.ts +1 -0
  222. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +4 -0
  223. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/walletAlternatives.d.ts +48 -0
  224. package/dist/types/wallet/src/react/index.d.ts +1 -2
  225. package/dist/workers/device-linking-key.worker.js +454 -947
  226. package/dist/workers/email-otp.worker.js +588 -820
  227. package/dist/workers/email_otp_runtime_bg.wasm +0 -0
  228. package/dist/workers/evm_crypto_bg.wasm +0 -0
  229. package/dist/workers/passkey-mpc-export.worker.js +572 -804
  230. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  231. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  232. package/dist/workers/shamir3pass_runtime_bg.wasm +0 -0
  233. package/dist/workers/tempo_signer_bg.wasm +0 -0
  234. package/dist/workers/wallet-custody-ceremony.worker.js +524 -971
  235. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  236. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  237. package/package.json +17 -17
  238. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.css +0 -182
  239. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.js +0 -315
  240. package/dist/esm/sdk/appearance-token-vars-DkF3EBbF.js +0 -1
  241. package/dist/esm/sdk/host-BeE2dIU4.js +0 -1
  242. package/dist/esm/sdk/ownerNearOperation-DjNDxW3_.js +0 -1
  243. package/dist/esm/sdk/registration-CTtTocyo.js +0 -1
  244. package/dist/esm/sdk/resealedEnvelopeResult-DXDo-72P.js +0 -1
  245. package/dist/esm/sdk/routerAbNormalSigning-DVFFkNhJ.js +0 -1
  246. package/dist/esm/sdk/runtime-auth-Dsmw_dUA.js +0 -1
  247. package/dist/esm/sdk/runtime-preferences-DlKHDIjb.js +0 -1
  248. package/dist/esm/sdk/runtime-recovery-C6lS71Jp.js +0 -1
  249. package/dist/public/sdk/appearance-token-vars-DkF3EBbF.js +0 -1
  250. package/dist/public/sdk/host-BeE2dIU4.js +0 -1
  251. package/dist/public/sdk/ownerNearOperation-DjNDxW3_.js +0 -1
  252. package/dist/public/sdk/registration-CTtTocyo.js +0 -1
  253. package/dist/public/sdk/resealedEnvelopeResult-DXDo-72P.js +0 -1
  254. package/dist/public/sdk/routerAbNormalSigning-DVFFkNhJ.js +0 -1
  255. package/dist/public/sdk/runtime-auth-Dsmw_dUA.js +0 -1
  256. package/dist/public/sdk/runtime-preferences-DlKHDIjb.js +0 -1
  257. package/dist/public/sdk/runtime-recovery-C6lS71Jp.js +0 -1
  258. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.d.ts +0 -31
  259. /package/dist/esm/sdk/{canonicalPrimitives-Jd3i_Ngz.js → canonicalPrimitives-DKeS3M40.js} +0 -0
  260. /package/dist/esm/sdk/{capabilityKinds-DVlGMspk.js → capabilityKinds-Cafn86Y1.js} +0 -0
  261. /package/dist/esm/sdk/{walletIframeIdentity-CpgyEnKg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
  262. /package/dist/public/sdk/{canonicalPrimitives-Jd3i_Ngz.js → canonicalPrimitives-DKeS3M40.js} +0 -0
  263. /package/dist/public/sdk/{capabilityKinds-DVlGMspk.js → capabilityKinds-Cafn86Y1.js} +0 -0
  264. /package/dist/public/sdk/{walletIframeIdentity-CpgyEnKg.js → walletIframeIdentity-Cz82I_Uh.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seams/wallet",
3
- "version": "0.29.0",
3
+ "version": "0.31.0",
4
4
  "type": "module",
5
5
  "description": "Seams web and runtime TypeScript SDK for NEAR and EVM-family wallets",
6
6
  "main": "./dist/esm/index.js",
@@ -179,10 +179,10 @@
179
179
  },
180
180
  "homepage": "https://github.com/seams-tech/seams-wallet#readme",
181
181
  "peerDependencies": {
182
- "jsqr": ">=1.4.0",
183
- "qrcode": ">=1.3.0",
184
- "react": "^18.0.0 || ^19.0.0",
185
- "react-dom": "^18.0.0 || ^19.0.0"
182
+ "jsqr": "1.4.0",
183
+ "qrcode": "1.5.4",
184
+ "react": "19.1.1",
185
+ "react-dom": "19.1.1"
186
186
  },
187
187
  "peerDependenciesMeta": {
188
188
  "react": {
@@ -200,21 +200,21 @@
200
200
  },
201
201
  "dependencies": {
202
202
  "@levischuck/tiny-cbor": "0.2.11",
203
- "@near-js/types": "^2.4.0",
203
+ "@near-js/types": "2.4.0",
204
204
  "borsh": "1.0.0",
205
- "bs58": "^6.0.0",
206
- "idb": "^8.0.3",
205
+ "bs58": "6.0.0",
206
+ "idb": "8.0.3",
207
207
  "preact": "10.29.8",
208
- "viem": "^2.38.6"
208
+ "viem": "2.46.0"
209
209
  },
210
210
  "devDependencies": {
211
- "@simplewebauthn/server": "^13.2.2",
212
- "@types/node": "^20.19.9",
213
- "@types/qrcode": "^1.5.5",
214
- "@types/react": "^19.1.12",
215
- "@types/react-dom": "^19.1.9",
216
- "react": "^19.1.1",
217
- "react-dom": "^19.1.1",
218
- "rolldown": "^1.0.0-beta.27"
211
+ "@simplewebauthn/server": "13.2.2",
212
+ "@types/node": "20.19.13",
213
+ "@types/qrcode": "1.5.5",
214
+ "@types/react": "19.1.12",
215
+ "@types/react-dom": "19.1.9",
216
+ "react": "19.1.1",
217
+ "react-dom": "19.1.1",
218
+ "rolldown": "1.0.0-rc.9"
219
219
  }
220
220
  }
@@ -1,182 +0,0 @@
1
- :where([data-seams-root]) .seams-wallet-connector {
2
- box-sizing: border-box;
3
- position: relative;
4
- width: min(100%, 420px);
5
- border-radius: var(--seams-shape-card, 16px);
6
- background: var(--seams-colors-colorBackground);
7
- box-shadow: var(--seams-shadows-md);
8
- color: var(--seams-colors-textPrimary);
9
- font-family: var(--seams-font-family, system-ui, sans-serif);
10
- font-size: var(--seams-font-size-base, 1rem);
11
- line-height: 1.5;
12
- transition: height 200ms cubic-bezier(0.32, 0.72, 0, 1);
13
- }
14
-
15
- :where([data-seams-root]) .seams-wallet-connector[data-connector-view='auth'] {
16
- background: transparent;
17
- box-shadow: none;
18
- }
19
-
20
- :where([data-seams-root]) .seams-wallet-connector-content {
21
- width: 100%;
22
- min-width: 0;
23
- border-radius: inherit;
24
- }
25
-
26
- :where([data-seams-root])
27
- .seams-wallet-connector[data-connector-view='auth']
28
- .seams-wallet-connector-content {
29
- animation: seams-connector-enter 180ms cubic-bezier(0.22, 1, 0.36, 1);
30
- }
31
-
32
- :where([data-seams-root]) .seams-wallet-connector-choices {
33
- box-sizing: border-box;
34
- padding: calc(var(--seams-spacing-lg) + var(--seams-spacing-xs)) var(--seams-spacing-lg)
35
- var(--seams-spacing-lg);
36
- border: 1px solid var(--seams-colors-borderPrimary);
37
- border-radius: inherit;
38
- }
39
-
40
- :where([data-seams-root]) .seams-wallet-connector h2 {
41
- margin: 0 calc(var(--seams-spacing-lg) + var(--seams-spacing-xs))
42
- calc(var(--seams-spacing-sm) + var(--seams-spacing-xs)) 0;
43
- font-size: 1.375em;
44
- line-height: 1.25;
45
- font-weight: 500;
46
- letter-spacing: -0.04em;
47
- outline: none;
48
- }
49
-
50
- :where([data-seams-root]) .seams-wallet-connector p {
51
- margin: 0 0 var(--seams-spacing-lg);
52
- color: var(--seams-colors-textSecondary);
53
- font-size: 0.8125em;
54
- }
55
-
56
- :where([data-seams-root]) .seams-wallet-connector-options {
57
- display: grid;
58
- gap: var(--seams-spacing-sm);
59
- }
60
-
61
- :where([data-seams-root]) .seams-wallet-connector-option {
62
- display: flex;
63
- align-items: center;
64
- gap: var(--seams-spacing-md);
65
- width: 100%;
66
- min-width: 0;
67
- min-height: calc(var(--seams-shape-controlHeight, 44px) + 2 * var(--seams-spacing-md));
68
- padding: var(--seams-spacing-md);
69
- box-sizing: border-box;
70
- border: 1px solid var(--seams-colors-secondaryButtonBorder, var(--seams-colors-borderPrimary));
71
- border-radius: var(--seams-shape-control, 10px);
72
- background: var(--seams-colors-secondaryButtonBackground, var(--seams-colors-surface));
73
- color: var(--seams-colors-secondaryButtonText, var(--seams-colors-textPrimary));
74
- font: inherit;
75
- text-align: start;
76
- cursor: pointer;
77
- transition:
78
- background-color 160ms ease,
79
- border-color 160ms ease;
80
- }
81
-
82
- :where([data-seams-root]) .seams-wallet-connector-option:disabled {
83
- opacity: 0.55;
84
- cursor: default;
85
- }
86
-
87
- :where([data-seams-root]) .seams-wallet-connector-icon {
88
- display: grid;
89
- place-items: center;
90
- width: 34px;
91
- flex: none;
92
- }
93
- :where([data-seams-root]) .seams-wallet-connector-icon img {
94
- display: block;
95
- object-fit: contain;
96
- }
97
-
98
- :where([data-seams-root]) .seams-wallet-connector-label {
99
- display: grid;
100
- gap: var(--seams-spacing-xs);
101
- flex: 1;
102
- min-width: 0;
103
- overflow-wrap: anywhere;
104
- }
105
-
106
- :where([data-seams-root]) .seams-wallet-connector-label strong {
107
- font-size: 0.8125em;
108
- font-weight: 500;
109
- }
110
-
111
- :where([data-seams-root]) .seams-wallet-connector-label small {
112
- font-size: 0.75em;
113
- color: var(--seams-colors-textSecondary);
114
- }
115
-
116
- :where([data-seams-root]) .seams-wallet-connector-option > svg {
117
- flex: none;
118
- color: var(--seams-colors-textSecondary);
119
- }
120
-
121
- :where([data-seams-root]) .seams-wallet-connector-close,
122
- :where([data-seams-root]) .seams-wallet-connector-back {
123
- position: absolute;
124
- z-index: calc(var(--seams-wallet-inline-dialog-z, 0) + 1);
125
- inset: 12px 12px auto auto;
126
- display: grid;
127
- place-items: center;
128
- width: 32px;
129
- height: 32px;
130
- padding: 0;
131
- border: 0;
132
- border-radius: 50%;
133
- color: var(--seams-colors-textSecondary);
134
- background: transparent;
135
- cursor: pointer;
136
- }
137
-
138
- :where([data-seams-root]) .seams-wallet-connector-back:has(+ .seams-wallet-connector-close) {
139
- right: 52px;
140
- }
141
-
142
- :where([data-seams-root]) .seams-wallet-connector button:focus-visible {
143
- outline: 2px solid var(--seams-colors-focus, currentColor);
144
- outline-offset: 3px;
145
- }
146
-
147
- :where([data-seams-root]) .seams-wallet-connector p[role] {
148
- margin: var(--seams-spacing-md) 0 0;
149
- }
150
-
151
- :where([data-seams-root]) .seams-wallet-connector .seams-wallet-connector-error {
152
- color: var(--seams-colors-error);
153
- }
154
-
155
- @media (hover: hover) and (pointer: fine) {
156
- :where([data-seams-root]) .seams-wallet-connector-option:not(:disabled):hover {
157
- background: var(--seams-colors-secondaryButtonHoverBackground, var(--seams-colors-hover));
158
- border-color: var(--seams-colors-borderHover);
159
- }
160
- :where([data-seams-root]) .seams-wallet-connector-close:hover,
161
- :where([data-seams-root]) .seams-wallet-connector-back:hover {
162
- background: var(--seams-colors-hover);
163
- }
164
- }
165
-
166
- @keyframes seams-connector-enter {
167
- from {
168
- opacity: 0;
169
- }
170
- to {
171
- opacity: 1;
172
- }
173
- }
174
-
175
- @media (prefers-reduced-motion: reduce) {
176
- :where([data-seams-root]) .seams-wallet-connector {
177
- transition: none;
178
- }
179
- :where([data-seams-root]) .seams-wallet-connector-content {
180
- animation: none;
181
- }
182
- }
@@ -1,315 +0,0 @@
1
- import { nearWalletName } from "../../../externalNear/wallets.js";
2
- import { walletDisplayText } from "../../../core/ui/messages.js";
3
- import { SEAMS_STANDARD_WORDMARK_PATH } from "../../../core/signingEngine/uiConfirm/ui/seamsWordmarkPaths.js";
4
- import { WalletText, useWalletLocale } from "../../context/WalletLocale.js";
5
- import { useSeams } from "../../context/index.js";
6
- import { Theme, useTheme } from "../theme/ThemeProvider.js";
7
- import { HoverArrowIcon } from "../AccountMenuButton/icons/HoverArrowIcon.js";
8
- import HostedSeamsAuthMenu from "./shell.js";
9
- import { ExternalNearWalletIcon } from "../ExternalNearWalletIcon.js";
10
- import { Component, createRef } from "react";
11
- import { jsx, jsxs } from "react/jsx-runtime";
12
- import "./WalletConnectorMenu.css";
13
- //#region src/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.tsx
14
- /** Default wallet selection UI. Authentication stays on the isolated wallet origin. */
15
- function WalletConnectorMenu(props) {
16
- const { seams } = useSeams();
17
- const { theme, tokens } = useTheme();
18
- const locale = useWalletLocale();
19
- return /* @__PURE__ */ jsx(Theme, {
20
- tag: "div",
21
- theme,
22
- tokens: { [theme]: tokens },
23
- children: /* @__PURE__ */ jsx(ConnectorPanel, {
24
- ...props,
25
- locale,
26
- prepareAuthMenu: seams.authMenu.prepare
27
- })
28
- });
29
- }
30
- var ConnectorPanel = class extends Component {
31
- state = { view: {
32
- kind: "choices",
33
- error: null
34
- } };
35
- root = createRef();
36
- content = createRef();
37
- heading = createRef();
38
- observer = null;
39
- unsubscribe = null;
40
- pending = null;
41
- componentDidMount() {
42
- this.subscribe();
43
- this.observer = new ResizeObserver(this.measure);
44
- if (this.content.current) this.observer.observe(this.content.current);
45
- this.measure();
46
- }
47
- getSnapshotBeforeUpdate() {
48
- return this.root.current?.offsetHeight ?? 0;
49
- }
50
- componentDidUpdate(previous, previousState, previousHeight) {
51
- if (previous.externalNear?.controller !== this.props.externalNear?.controller) {
52
- this.unsubscribe?.();
53
- this.cancelPending();
54
- this.subscribe();
55
- }
56
- if (previousState.view.kind === "auth" && this.state.view.kind === "choices") {
57
- const root = this.root.current;
58
- if (root) {
59
- root.style.height = `${previousHeight}px`;
60
- root.getBoundingClientRect();
61
- }
62
- this.heading.current?.focus({ preventScroll: true });
63
- }
64
- this.measure();
65
- }
66
- componentWillUnmount() {
67
- this.observer?.disconnect();
68
- this.unsubscribe?.();
69
- this.cancelPending();
70
- }
71
- subscribe() {
72
- this.unsubscribe = this.props.externalNear?.controller.subscribe(this.refreshWallets) ?? null;
73
- }
74
- refreshWallets = () => {
75
- if (this.pending && !this.pending.controller.getSnapshot().wallets.includes(this.pending.wallet)) this.cancelPending();
76
- this.forceUpdate();
77
- };
78
- cancelPending() {
79
- const pending = this.pending;
80
- this.pending = null;
81
- pending?.controller.disconnect();
82
- }
83
- measure = () => {
84
- const root = this.root.current;
85
- const content = this.content.current;
86
- if (!root || !content) return;
87
- root.style.height = this.state.view.kind === "auth" ? "auto" : `${content.offsetHeight}px`;
88
- };
89
- prepare = () => {
90
- this.props.prepareAuthMenu();
91
- };
92
- openAuthMenu = () => {
93
- const root = this.root.current;
94
- if (this.pending || !root || this.state.view.kind !== "choices") return;
95
- this.setState({ view: {
96
- kind: "auth",
97
- initialHeightCssPx: root.offsetHeight
98
- } });
99
- };
100
- handleOutcome = (outcome) => {
101
- switch (outcome.kind) {
102
- case "cancelled":
103
- this.setState({ view: {
104
- kind: "choices",
105
- error: null
106
- } });
107
- this.props.onClose?.();
108
- break;
109
- case "failed":
110
- this.setState({ view: {
111
- kind: "choices",
112
- error: outcome.message
113
- } });
114
- break;
115
- case "authenticated":
116
- case "registered":
117
- case "account_synced": break;
118
- default: return assertNever(outcome);
119
- }
120
- this.props.onOutcome(outcome);
121
- };
122
- close = () => {
123
- this.cancelPending();
124
- if (this.state.view.kind === "auth") this.setState({ view: {
125
- kind: "choices",
126
- error: null
127
- } });
128
- this.props.onClose?.();
129
- };
130
- back = () => {
131
- this.setState({ view: {
132
- kind: "choices",
133
- error: null
134
- } });
135
- };
136
- connect = async (wallet) => {
137
- const external = this.props.externalNear;
138
- if (!external || this.pending) return;
139
- const pending = {
140
- controller: external.controller,
141
- wallet
142
- };
143
- this.pending = pending;
144
- this.setState({ view: {
145
- kind: "choices",
146
- error: null
147
- } });
148
- const result = await external.controller.connect(wallet);
149
- if (this.pending !== pending) return;
150
- this.pending = null;
151
- if (!result.ok) {
152
- this.setState({ view: {
153
- kind: "choices",
154
- error: result.message
155
- } });
156
- return;
157
- }
158
- this.props.externalNear?.onConnected(result.value);
159
- };
160
- renderChoices() {
161
- const { options, externalNear } = this.props;
162
- const snapshot = externalNear?.controller.getSnapshot();
163
- const busy = this.state.view.kind === "auth" || (snapshot?.busy ?? false);
164
- const seamsOption = options?.seams;
165
- const rows = [];
166
- for (const wallet of snapshot?.wallets ?? []) {
167
- const appearance = options?.[wallet];
168
- const unavailable = wallet === "hot" && externalNear?.controller.network !== "mainnet";
169
- rows.push(/* @__PURE__ */ jsx(ConnectorOption, {
170
- label: appearance?.label ?? `Connect ${nearWalletName(wallet)}`,
171
- description: unavailable ? "Mainnet only" : appearance?.description ?? "Use your existing wallet",
172
- icon: appearance?.icon ?? /* @__PURE__ */ jsx(ExternalNearWalletIcon, { wallet }),
173
- disabled: busy || unavailable,
174
- external: true,
175
- onClick: this.connect.bind(this, wallet)
176
- }, wallet));
177
- }
178
- return /* @__PURE__ */ jsxs("div", {
179
- className: "seams-wallet-connector-choices",
180
- children: [
181
- /* @__PURE__ */ jsx("h2", {
182
- ref: this.heading,
183
- tabIndex: -1,
184
- children: /* @__PURE__ */ jsx(WalletText, { copy: this.props.title ?? "Connect wallet" })
185
- }),
186
- /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(WalletText, { copy: this.props.description ?? "Choose how you’d like to get started." }) }),
187
- /* @__PURE__ */ jsxs("div", {
188
- className: "seams-wallet-connector-options",
189
- children: [/* @__PURE__ */ jsx(ConnectorOption, {
190
- label: seamsOption?.label ?? "Create a Seams Wallet",
191
- description: seamsOption?.description ?? "Get started with a passkey",
192
- icon: seamsOption?.icon ?? /* @__PURE__ */ jsx(SeamsConnectorIcon, {}),
193
- disabled: busy,
194
- external: false,
195
- onClick: this.openAuthMenu,
196
- onPrepare: this.prepare
197
- }), rows]
198
- }),
199
- snapshot?.busy && /* @__PURE__ */ jsx("p", {
200
- role: "status",
201
- children: /* @__PURE__ */ jsx(WalletText, { message: "Complete the request in your wallet." })
202
- }),
203
- this.state.view.kind === "choices" && this.state.view.error && /* @__PURE__ */ jsx("p", {
204
- className: "seams-wallet-connector-error",
205
- role: "alert",
206
- children: this.state.view.error
207
- })
208
- ]
209
- });
210
- }
211
- render() {
212
- let content;
213
- switch (this.state.view.kind) {
214
- case "choices":
215
- content = this.renderChoices();
216
- break;
217
- case "auth":
218
- content = /* @__PURE__ */ jsx(HostedSeamsAuthMenu, {
219
- ...this.props.authMenu,
220
- initialMode: this.props.authMenu?.initialMode ?? "register",
221
- initialHeightCssPx: this.state.view.initialHeightCssPx,
222
- placeholder: this.renderChoices(),
223
- onOutcome: this.handleOutcome
224
- });
225
- break;
226
- default: return assertNever(this.state.view);
227
- }
228
- return /* @__PURE__ */ jsxs("div", {
229
- ref: this.root,
230
- className: `seams-wallet-connector ${this.props.className ?? ""}`,
231
- style: this.props.style,
232
- "data-connector-view": this.state.view.kind,
233
- children: [
234
- this.state.view.kind === "auth" && /* @__PURE__ */ jsx("button", {
235
- type: "button",
236
- className: "seams-wallet-connector-back",
237
- "aria-label": walletDisplayText(this.props.locale, this.props.backLabel ?? "Back to wallet selection"),
238
- title: walletDisplayText(this.props.locale, this.props.backLabel ?? "Back to wallet selection"),
239
- onClick: this.back,
240
- children: /* @__PURE__ */ jsx(HoverArrowIcon, {
241
- size: 16,
242
- direction: "left"
243
- })
244
- }),
245
- this.props.onClose && /* @__PURE__ */ jsx("button", {
246
- type: "button",
247
- className: "seams-wallet-connector-close",
248
- "aria-label": walletDisplayText(this.props.locale, this.props.closeLabel ?? "Close"),
249
- onClick: this.close,
250
- children: /* @__PURE__ */ jsx(ConnectorCloseIcon, {})
251
- }),
252
- /* @__PURE__ */ jsx("div", {
253
- ref: this.content,
254
- className: "seams-wallet-connector-content",
255
- children: content
256
- })
257
- ]
258
- });
259
- }
260
- };
261
- function ConnectorOption(props) {
262
- return /* @__PURE__ */ jsxs("button", {
263
- type: "button",
264
- className: "seams-wallet-connector-option",
265
- disabled: props.disabled,
266
- onClick: props.onClick,
267
- onPointerEnter: props.onPrepare,
268
- onFocus: props.onPrepare,
269
- onTouchStart: props.onPrepare,
270
- children: [
271
- /* @__PURE__ */ jsx("span", {
272
- className: "seams-wallet-connector-icon",
273
- "aria-hidden": "true",
274
- children: props.icon
275
- }),
276
- /* @__PURE__ */ jsxs("span", {
277
- className: "seams-wallet-connector-label",
278
- children: [/* @__PURE__ */ jsx("strong", { children: /* @__PURE__ */ jsx(WalletText, { copy: props.label }) }), /* @__PURE__ */ jsx("small", { children: /* @__PURE__ */ jsx(WalletText, { copy: props.description }) })]
279
- }),
280
- /* @__PURE__ */ jsx(HoverArrowIcon, {
281
- size: 16,
282
- direction: props.external ? "up-right" : "right"
283
- })
284
- ]
285
- });
286
- }
287
- function ConnectorCloseIcon() {
288
- return /* @__PURE__ */ jsx("svg", {
289
- width: "20",
290
- height: "20",
291
- viewBox: "0 0 24 24",
292
- fill: "none",
293
- stroke: "currentColor",
294
- strokeWidth: "1.5",
295
- "aria-hidden": "true",
296
- children: /* @__PURE__ */ jsx("path", { d: "m6 6 12 12M6 18 18 6" })
297
- });
298
- }
299
- function SeamsConnectorIcon() {
300
- return /* @__PURE__ */ jsx("svg", {
301
- width: "36",
302
- height: "36",
303
- viewBox: "1130 0 300 282",
304
- "aria-hidden": "true",
305
- fill: "currentColor",
306
- children: /* @__PURE__ */ jsx("path", { d: SEAMS_STANDARD_WORDMARK_PATH })
307
- });
308
- }
309
- function assertNever(value) {
310
- throw new Error(`Unexpected wallet connector state: ${String(value)}`);
311
- }
312
- //#endregion
313
- export { WalletConnectorMenu };
314
-
315
- //# sourceMappingURL=WalletConnectorMenu.js.map