@seams/wallet 0.20.0 → 0.22.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 (409) hide show
  1. package/dist/.build-inputs.sha256 +1 -1
  2. package/dist/esm/SeamsWeb/SeamsWeb.js +2 -2
  3. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.js +25 -5
  4. package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +4 -2
  5. package/dist/esm/SeamsWeb/walletIframe/client/router.js +5 -2
  6. package/dist/esm/core/rpcClients/evm/EvmClient.js +11 -9
  7. package/dist/esm/core/signingEngine/flows/signEvmFamily/thresholdAdmission.js +1 -1
  8. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +20 -9
  9. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +107 -43
  10. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +1 -1
  11. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-receipt.js +36 -6
  12. package/dist/esm/core/ui/messages.js +9 -14
  13. package/dist/esm/plugins/SeamsWeb/walletIframe/sanitization.js +18 -0
  14. package/dist/esm/plugins/plugin-utils.js +5 -2
  15. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +3 -9
  16. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +2 -2
  17. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +23 -9
  18. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +376 -84
  19. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +87 -167
  20. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +11 -9
  21. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.css +76 -74
  22. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +23 -22
  23. package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +1 -5
  24. package/dist/esm/react/components/AccountMenuButton/icons/MapPinIcon.js +12 -0
  25. package/dist/esm/react/components/AccountMenuButton/index.js +13 -2
  26. package/dist/esm/react/styles/styles.css +452 -162
  27. package/dist/esm/sdk/{ConfirmationDrawer-DCw0m-Iv.js → ConfirmationDrawer-Ck33ZmU-.js} +1 -1
  28. package/dist/esm/sdk/{NonceCoordinator-Dq-FZpBz.js → NonceCoordinator-Do23iTzQ.js} +1 -1
  29. package/dist/esm/sdk/accountLifecycle-CXTlwnAS.js +1 -0
  30. package/dist/esm/sdk/activeWalletSession-BtEHhe99.js +1 -0
  31. package/dist/esm/sdk/adapters-CgJpSAxH.js +2 -0
  32. package/dist/esm/sdk/appearance-token-vars-BA3KQyEE.js +2 -0
  33. package/dist/esm/sdk/challengeDelivery-C88JNwKf.js +1 -0
  34. package/dist/esm/sdk/clientSessionPersistenceState-DFGHXoKK.js +1 -0
  35. package/dist/esm/sdk/collectAuthenticationCredentialForChallengeB64u-CSwy9csE.js +1 -0
  36. package/dist/esm/sdk/{commitQueue-BW7BpYyA.js → commitQueue-BQPOhyGl.js} +1 -1
  37. package/dist/esm/sdk/{display-WtILOPQR.js → display-Dtugjeya.js} +1 -1
  38. package/dist/esm/sdk/ecdsaCapabilityManifest-B3u6J5gn.js +1 -0
  39. package/dist/{public/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js → esm/sdk/ecdsaDerivationClientWasm-D1HzwUgV.js} +1 -1
  40. package/dist/esm/sdk/ecdsaDerivationExport-DrFESeRP.js +1 -0
  41. package/dist/esm/sdk/ecdsaWalletRecords-BmhuJF1y.js +1 -0
  42. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-DreNrM6n.js +1 -0
  43. package/dist/esm/sdk/{enrichDisplayModelWithAbi-DSj4NAlY.js → enrichDisplayModelWithAbi-D0o0IL7_.js} +1 -1
  44. package/dist/esm/sdk/{evmCryptoWasm-DeobzyP-.js → evmCryptoWasm-S2gL5ht4.js} +1 -1
  45. package/dist/esm/sdk/{export-viewer-host-DsdzagKK.js → export-viewer-host-C9n-62Pi.js} +1 -1
  46. package/dist/esm/sdk/exportKeypairOperation-Du9HKB8f.js +1 -0
  47. package/dist/esm/sdk/host-DoftJdVQ.js +1 -0
  48. package/dist/esm/sdk/keyMaterialEnvelope-B3v6HLtz.js +1 -0
  49. package/dist/esm/sdk/{lanes-BzU7cv2T.js → lanes-l274pbT5.js} +1 -1
  50. package/dist/esm/sdk/localOnly-CvFSZFUy.js +1 -0
  51. package/dist/esm/sdk/{mountExportPrivateKeySurface-DQzFzhNu.js → mountExportPrivateKeySurface-DdJHWwqY.js} +1 -1
  52. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-D3QFgMGE.js +2 -0
  53. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BK8_DxHs.js +1 -0
  54. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-BgCxoh9S.js +1 -0
  55. package/dist/esm/sdk/{nonceLaneKeys-BzMBVxMU.js → nonceLaneKeys-CR2XEvnk.js} +1 -1
  56. package/dist/esm/sdk/{normalization-Ct9-AY13.js → normalization-Ctkj80dW.js} +1 -1
  57. package/dist/esm/sdk/{operationFingerprint-C4VX-0NI.js → operationFingerprint-DRPONhBD.js} +1 -1
  58. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-LbstFwcY.js +1 -0
  59. package/dist/esm/sdk/presignaturePool-DNiA3sgr.js +1 -0
  60. package/dist/esm/sdk/{singletons-CAsc9LvA.js → presignatures-DGLNs29C.js} +1 -1
  61. package/dist/esm/sdk/recovery-entrypoint-CNVjXz6A.js +1 -0
  62. package/dist/esm/sdk/recoveryAuthorization-BplZWc-N.js +1 -0
  63. package/dist/esm/sdk/{registration-DknFwoqn.js → registration-CIxJvbTo.js} +1 -1
  64. package/dist/esm/sdk/registration-CeOmKyCG.js +1 -0
  65. package/dist/esm/sdk/registrationAccounts-BfO6Ztye.js +1 -0
  66. package/dist/esm/sdk/registrationIntent-DW_kKWlx.js +1 -0
  67. package/dist/esm/sdk/{registrationSignerPlan-BHkqlian.js → registrationSignerPlan-B66FjqIp.js} +1 -1
  68. package/dist/esm/sdk/{requireStepUpAuth-CnSCFSOZ.js → requireStepUpAuth-DsNLml1i.js} +1 -1
  69. package/dist/esm/sdk/routerAbNormalSigning-DSAfCcND.js +1 -0
  70. package/dist/esm/sdk/runtime-auth-C0V-5znH.js +1 -0
  71. package/dist/{public/sdk/runtime-device-link-Dn_5hPCq.js → esm/sdk/runtime-device-link-B1jpHQSF.js} +1 -1
  72. package/dist/{public/sdk/runtime-ecdsa-tempo-lTFTb9Rh.js → esm/sdk/runtime-ecdsa-tempo-CDSZ3pxS.js} +1 -1
  73. package/dist/esm/sdk/runtime-email-otp-DXuxFOjL.js +1 -0
  74. package/dist/esm/sdk/{runtime-export-Brz53_oi.js → runtime-export-Ba12ChDI.js} +1 -1
  75. package/dist/{public/sdk/runtime-near-Da_xFUXx.js → esm/sdk/runtime-near-DRrdWzmr.js} +1 -1
  76. package/dist/esm/sdk/runtime-preferences-BWyhRaBA.js +1 -0
  77. package/dist/esm/sdk/runtime-recovery-DlJlaZlf.js +1 -0
  78. package/dist/esm/sdk/runtime-recovery-codes-CuqYWqK7.js +1 -0
  79. package/dist/esm/sdk/secp256k1-CYu8ENjP.js +1 -0
  80. package/dist/esm/sdk/sessionObservationRevision-abErAhd6.js +1 -0
  81. package/dist/esm/sdk/shared-B95wnpoD.js +6 -0
  82. package/dist/esm/sdk/signEvmFamily-C4XMiSue.js +1 -0
  83. package/dist/{public/sdk/signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js → esm/sdk/signEvmFamilyWithUiConfirmForTempo-4A3D9nKv.js} +1 -1
  84. package/dist/esm/sdk/{signEvmWithUiConfirm-D6nmJr_L.js → signEvmWithUiConfirm-lZyPfrGe.js} +1 -1
  85. package/dist/esm/sdk/signNear-B_UcqMRf.js +1 -0
  86. package/dist/esm/sdk/{signatureUses-B_nN17i7.js → signatureUses-CY4U-X6V.js} +1 -1
  87. package/dist/esm/sdk/{registrationIds-B1OpqRAt.js → signerSlot-CpyIfl3J.js} +1 -1
  88. package/dist/esm/sdk/signingFlow-Co_QtuHK.js +2 -0
  89. package/dist/esm/sdk/signingQueue-Cj9sCJLj.js +1 -0
  90. package/dist/esm/sdk/thresholdEcdsa-LvkD6z8-.js +1 -0
  91. package/dist/esm/sdk/{trace-CsRMlSh1.js → trace-CWTzEALZ.js} +1 -1
  92. package/dist/esm/sdk/transaction-activity-CpDMkSPm.js +1 -0
  93. package/dist/{public/sdk/transactionState-lB2qpkOm.js → esm/sdk/transactionState-BaFSiA9t.js} +1 -1
  94. package/dist/esm/sdk/tx-confirm-ui.js +186 -71
  95. package/dist/esm/sdk/{types-CQTWmtqu.js → types-BrEW276O.js} +1 -1
  96. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  97. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  98. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  99. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  100. package/dist/esm/sdk/wallet-recovery-BEui57xM.js +1 -0
  101. package/dist/esm/sdk/wallet-ui.css +1 -1
  102. package/dist/esm/sdk/{walletAuthMethodRecord-CWdqdY_s.js → walletAuthMethodRecord-Cv_MYpxt.js} +1 -1
  103. package/dist/esm/sdk/walletCapabilityBindings-CKOK39sP.js +1 -0
  104. package/dist/esm/sdk/walletCustodyEcdsaContinuity-5XsLsT8D.js +1 -0
  105. package/dist/esm/sdk/walletCustodyOperation-BO_tSfGY.js +1 -0
  106. package/dist/esm/sdk/walletDbName-BVZhb4xF.js +1 -0
  107. package/dist/esm/sdk/walletOwnershipGeneration-CQzaodhB.js +1 -0
  108. package/dist/esm/sdk/walletRecoveryAdminProof-CtH8_lph.js +1 -0
  109. package/dist/esm/sdk/walletRecoveryCommit-B_e4k5Pa.js +1 -0
  110. package/dist/esm/sdk/walletRegistrationSetupPrewarm-CQow9u8m.js +1 -0
  111. package/dist/esm/sdk/walletSessionAuthorizationStatus-_KtCVFYW.js +1 -0
  112. package/dist/esm/sdk/walletSessionAuthorizationStore-DYRMCkiT.js +1 -0
  113. package/dist/esm/sdk/warmSessionHydration-CY9ofEGr.js +1 -0
  114. package/dist/{public/sdk/webauthnP256-_ajaNl90.js → esm/sdk/webauthnP256-unqBoZCk.js} +1 -1
  115. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +2 -3
  116. package/dist/esm/shared-ts/src/utils/evmRpcResults.js +5 -3
  117. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +2 -1
  118. package/dist/public/headers.manifest.json +1 -1
  119. package/dist/public/sdk/{ConfirmationDrawer-DCw0m-Iv.js → ConfirmationDrawer-Ck33ZmU-.js} +1 -1
  120. package/dist/public/sdk/{NonceCoordinator-Dq-FZpBz.js → NonceCoordinator-Do23iTzQ.js} +1 -1
  121. package/dist/public/sdk/accountLifecycle-CXTlwnAS.js +1 -0
  122. package/dist/public/sdk/activeWalletSession-BtEHhe99.js +1 -0
  123. package/dist/public/sdk/adapters-CgJpSAxH.js +2 -0
  124. package/dist/public/sdk/appearance-token-vars-BA3KQyEE.js +2 -0
  125. package/dist/public/sdk/challengeDelivery-C88JNwKf.js +1 -0
  126. package/dist/public/sdk/clientSessionPersistenceState-DFGHXoKK.js +1 -0
  127. package/dist/public/sdk/collectAuthenticationCredentialForChallengeB64u-CSwy9csE.js +1 -0
  128. package/dist/public/sdk/{commitQueue-BW7BpYyA.js → commitQueue-BQPOhyGl.js} +1 -1
  129. package/dist/public/sdk/{display-WtILOPQR.js → display-Dtugjeya.js} +1 -1
  130. package/dist/public/sdk/ecdsaCapabilityManifest-B3u6J5gn.js +1 -0
  131. package/dist/{esm/sdk/ecdsaDerivationClientWasm-DmwKWUEb.js → public/sdk/ecdsaDerivationClientWasm-D1HzwUgV.js} +1 -1
  132. package/dist/public/sdk/ecdsaDerivationExport-DrFESeRP.js +1 -0
  133. package/dist/public/sdk/ecdsaWalletRecords-BmhuJF1y.js +1 -0
  134. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-DreNrM6n.js +1 -0
  135. package/dist/public/sdk/{enrichDisplayModelWithAbi-DSj4NAlY.js → enrichDisplayModelWithAbi-D0o0IL7_.js} +1 -1
  136. package/dist/public/sdk/{evmCryptoWasm-DeobzyP-.js → evmCryptoWasm-S2gL5ht4.js} +1 -1
  137. package/dist/public/sdk/{export-viewer-host-DsdzagKK.js → export-viewer-host-C9n-62Pi.js} +1 -1
  138. package/dist/public/sdk/exportKeypairOperation-Du9HKB8f.js +1 -0
  139. package/dist/public/sdk/host-DoftJdVQ.js +1 -0
  140. package/dist/public/sdk/keyMaterialEnvelope-B3v6HLtz.js +1 -0
  141. package/dist/public/sdk/{lanes-BzU7cv2T.js → lanes-l274pbT5.js} +1 -1
  142. package/dist/public/sdk/localOnly-CvFSZFUy.js +1 -0
  143. package/dist/public/sdk/{mountExportPrivateKeySurface-DQzFzhNu.js → mountExportPrivateKeySurface-DdJHWwqY.js} +1 -1
  144. package/dist/public/sdk/mountRecoveryCodeBackupSurface-D3QFgMGE.js +2 -0
  145. package/dist/public/sdk/nearEd25519YaoMaterialActivation-BK8_DxHs.js +1 -0
  146. package/dist/public/sdk/nearEd25519YaoSigningPreparation-BgCxoh9S.js +1 -0
  147. package/dist/public/sdk/{nonceLaneKeys-BzMBVxMU.js → nonceLaneKeys-CR2XEvnk.js} +1 -1
  148. package/dist/public/sdk/{normalization-Ct9-AY13.js → normalization-Ctkj80dW.js} +1 -1
  149. package/dist/public/sdk/{operationFingerprint-C4VX-0NI.js → operationFingerprint-DRPONhBD.js} +1 -1
  150. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-LbstFwcY.js +1 -0
  151. package/dist/public/sdk/presignaturePool-DNiA3sgr.js +1 -0
  152. package/dist/public/sdk/{singletons-CAsc9LvA.js → presignatures-DGLNs29C.js} +1 -1
  153. package/dist/public/sdk/recovery-entrypoint-CNVjXz6A.js +1 -0
  154. package/dist/public/sdk/recoveryAuthorization-BplZWc-N.js +1 -0
  155. package/dist/public/sdk/{registration-DknFwoqn.js → registration-CIxJvbTo.js} +1 -1
  156. package/dist/public/sdk/registration-CeOmKyCG.js +1 -0
  157. package/dist/public/sdk/registrationAccounts-BfO6Ztye.js +1 -0
  158. package/dist/public/sdk/registrationIntent-DW_kKWlx.js +1 -0
  159. package/dist/public/sdk/{registrationSignerPlan-BHkqlian.js → registrationSignerPlan-B66FjqIp.js} +1 -1
  160. package/dist/public/sdk/{requireStepUpAuth-CnSCFSOZ.js → requireStepUpAuth-DsNLml1i.js} +1 -1
  161. package/dist/public/sdk/routerAbNormalSigning-DSAfCcND.js +1 -0
  162. package/dist/public/sdk/runtime-auth-C0V-5znH.js +1 -0
  163. package/dist/{esm/sdk/runtime-device-link-Dn_5hPCq.js → public/sdk/runtime-device-link-B1jpHQSF.js} +1 -1
  164. package/dist/{esm/sdk/runtime-ecdsa-tempo-lTFTb9Rh.js → public/sdk/runtime-ecdsa-tempo-CDSZ3pxS.js} +1 -1
  165. package/dist/public/sdk/runtime-email-otp-DXuxFOjL.js +1 -0
  166. package/dist/public/sdk/{runtime-export-Brz53_oi.js → runtime-export-Ba12ChDI.js} +1 -1
  167. package/dist/{esm/sdk/runtime-near-Da_xFUXx.js → public/sdk/runtime-near-DRrdWzmr.js} +1 -1
  168. package/dist/public/sdk/runtime-preferences-BWyhRaBA.js +1 -0
  169. package/dist/public/sdk/runtime-recovery-DlJlaZlf.js +1 -0
  170. package/dist/public/sdk/runtime-recovery-codes-CuqYWqK7.js +1 -0
  171. package/dist/public/sdk/secp256k1-CYu8ENjP.js +1 -0
  172. package/dist/public/sdk/sessionObservationRevision-abErAhd6.js +1 -0
  173. package/dist/public/sdk/shared-B95wnpoD.js +6 -0
  174. package/dist/public/sdk/signEvmFamily-C4XMiSue.js +1 -0
  175. package/dist/{esm/sdk/signEvmFamilyWithUiConfirmForTempo-NYCFU6Li.js → public/sdk/signEvmFamilyWithUiConfirmForTempo-4A3D9nKv.js} +1 -1
  176. package/dist/public/sdk/{signEvmWithUiConfirm-D6nmJr_L.js → signEvmWithUiConfirm-lZyPfrGe.js} +1 -1
  177. package/dist/public/sdk/signNear-B_UcqMRf.js +1 -0
  178. package/dist/public/sdk/{signatureUses-B_nN17i7.js → signatureUses-CY4U-X6V.js} +1 -1
  179. package/dist/public/sdk/{registrationIds-B1OpqRAt.js → signerSlot-CpyIfl3J.js} +1 -1
  180. package/dist/public/sdk/signingFlow-Co_QtuHK.js +2 -0
  181. package/dist/public/sdk/signingQueue-Cj9sCJLj.js +1 -0
  182. package/dist/public/sdk/thresholdEcdsa-LvkD6z8-.js +1 -0
  183. package/dist/public/sdk/{trace-CsRMlSh1.js → trace-CWTzEALZ.js} +1 -1
  184. package/dist/public/sdk/transaction-activity-CpDMkSPm.js +1 -0
  185. package/dist/{esm/sdk/transactionState-lB2qpkOm.js → public/sdk/transactionState-BaFSiA9t.js} +1 -1
  186. package/dist/public/sdk/tx-confirm-ui.js +186 -71
  187. package/dist/public/sdk/{types-CQTWmtqu.js → types-BrEW276O.js} +1 -1
  188. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  189. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  190. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  191. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  192. package/dist/public/sdk/wallet-recovery-BEui57xM.js +1 -0
  193. package/dist/public/sdk/wallet-ui.css +1 -1
  194. package/dist/public/sdk/{walletAuthMethodRecord-CWdqdY_s.js → walletAuthMethodRecord-Cv_MYpxt.js} +1 -1
  195. package/dist/public/sdk/walletCapabilityBindings-CKOK39sP.js +1 -0
  196. package/dist/public/sdk/walletCustodyEcdsaContinuity-5XsLsT8D.js +1 -0
  197. package/dist/public/sdk/walletCustodyOperation-BO_tSfGY.js +1 -0
  198. package/dist/public/sdk/walletDbName-BVZhb4xF.js +1 -0
  199. package/dist/public/sdk/walletOwnershipGeneration-CQzaodhB.js +1 -0
  200. package/dist/public/sdk/walletRecoveryAdminProof-CtH8_lph.js +1 -0
  201. package/dist/public/sdk/walletRecoveryCommit-B_e4k5Pa.js +1 -0
  202. package/dist/public/sdk/walletRegistrationSetupPrewarm-CQow9u8m.js +1 -0
  203. package/dist/public/sdk/walletSessionAuthorizationStatus-_KtCVFYW.js +1 -0
  204. package/dist/public/sdk/walletSessionAuthorizationStore-DYRMCkiT.js +1 -0
  205. package/dist/public/sdk/warmSessionHydration-CY9ofEGr.js +1 -0
  206. package/dist/{esm/sdk/webauthnP256-_ajaNl90.js → public/sdk/webauthnP256-unqBoZCk.js} +1 -1
  207. package/dist/public/sdk/workers/email-otp.worker.js +6 -1
  208. package/dist/public/wallet-assets.manifest.json +253 -276
  209. package/dist/public/wallet-service/index.html +4 -4
  210. package/dist/types/shared-ts/src/authorization/walletCustodyOperation.d.ts +1 -1
  211. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +1 -7
  212. package/dist/types/shared-ts/src/passkey-custody/ceremonyCommitPayload.d.ts +5 -0
  213. package/dist/types/shared-ts/src/utils/evmRpcResults.d.ts +3 -3
  214. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +1 -1
  215. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryAdminProof.d.ts +46 -0
  216. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.d.ts +4 -1
  217. package/dist/types/wallet/src/SeamsWeb/operations/recovery/walletRecoveryRotation.d.ts +11 -7
  218. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +9 -1
  219. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +4 -3
  220. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +6 -4
  221. package/dist/types/wallet/src/SeamsWeb/signingSurface/types.d.ts +2 -2
  222. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -6
  223. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +1 -0
  224. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -0
  225. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestWalletMove.d.ts +1 -1
  226. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +5 -1
  227. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/recoveryAuthorization.d.ts +6 -0
  228. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.d.ts +14 -3
  229. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryRotate.d.ts +8 -0
  230. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.d.ts +1 -0
  231. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-activity.d.ts +2 -2
  232. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-receipt.d.ts +25 -6
  233. package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRecoveryRotation.d.ts +22 -3
  234. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +1 -0
  235. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +1 -0
  236. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +8 -2
  237. package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
  238. package/dist/types/wallet/src/plugins/plugin-utils.d.ts +1 -1
  239. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MapPinIcon.d.ts +2 -0
  240. package/dist/workers/email-otp.worker.js +6 -1
  241. package/package.json +1 -1
  242. package/dist/esm/react/components/AccountMenuButton/SegmentedControl.js +0 -77
  243. package/dist/esm/sdk/accountLifecycle-fLNUdjct.js +0 -1
  244. package/dist/esm/sdk/activeWalletSession-BpbnpU9s.js +0 -1
  245. package/dist/esm/sdk/adapters-BNmcyf9K.js +0 -2
  246. package/dist/esm/sdk/appearance-token-vars-DxBm_cKA.js +0 -2
  247. package/dist/esm/sdk/challengeDelivery-CG2J5Qxs.js +0 -1
  248. package/dist/esm/sdk/clientSessionPersistenceState-BgO4P6CZ.js +0 -1
  249. package/dist/esm/sdk/digestEncoding-aC4dSf_x.js +0 -1
  250. package/dist/esm/sdk/ecdsaCapabilityManifest-DRc423SV.js +0 -1
  251. package/dist/esm/sdk/ecdsaDerivationExport-DX89rq_u.js +0 -1
  252. package/dist/esm/sdk/ecdsaWalletRecords-CxxUt3fS.js +0 -1
  253. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js +0 -1
  254. package/dist/esm/sdk/exportKeypairOperation-BwW_E4Lt.js +0 -1
  255. package/dist/esm/sdk/host-DMR4KDy9.js +0 -1
  256. package/dist/esm/sdk/localOnly-DO191vDh.js +0 -1
  257. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-B1D0ovqx.js +0 -2
  258. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js +0 -1
  259. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js +0 -1
  260. package/dist/esm/sdk/passkey-custody-Ba-NQ_4C.js +0 -1
  261. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-DOeIn_Qj.js +0 -1
  262. package/dist/esm/sdk/presignaturePool-BHoxnbOA.js +0 -1
  263. package/dist/esm/sdk/presignatures-K-yuzOE0.js +0 -1
  264. package/dist/esm/sdk/primitives-CTmDwMNc.js +0 -1
  265. package/dist/esm/sdk/recovery-entrypoint-DWghFZrZ.js +0 -1
  266. package/dist/esm/sdk/registration-sQndIWRF.js +0 -1
  267. package/dist/esm/sdk/registrationAccounts-CD1u1ZqZ.js +0 -1
  268. package/dist/esm/sdk/registrationIntent-D4YDjf2U.js +0 -1
  269. package/dist/esm/sdk/routerAbNormalSigning-BV1t27aB.js +0 -1
  270. package/dist/esm/sdk/runtime-auth-BxG-J-BB.js +0 -1
  271. package/dist/esm/sdk/runtime-email-otp-CPqTCH8Q.js +0 -1
  272. package/dist/esm/sdk/runtime-preferences-riUZGaTs.js +0 -1
  273. package/dist/esm/sdk/runtime-recovery-CTj4nDAM.js +0 -1
  274. package/dist/esm/sdk/runtime-recovery-codes-D8T9LQ7-.js +0 -1
  275. package/dist/esm/sdk/secp256k1-wOOHtPcK.js +0 -1
  276. package/dist/esm/sdk/sessionObservationRevision-C7v-wN8_.js +0 -1
  277. package/dist/esm/sdk/shared-hx7KVyeq.js +0 -6
  278. package/dist/esm/sdk/signEvmFamily-DT34Vtpa.js +0 -1
  279. package/dist/esm/sdk/signNear-B000QxBd.js +0 -1
  280. package/dist/esm/sdk/signerSlot-FJAGOhmg.js +0 -1
  281. package/dist/esm/sdk/signingFlow-gl85GOW4.js +0 -2
  282. package/dist/esm/sdk/signingQueue-gW7wmOuL.js +0 -1
  283. package/dist/esm/sdk/thresholdEcdsa-Ci7yz395.js +0 -1
  284. package/dist/esm/sdk/transaction-activity-C0nCSW6c.js +0 -1
  285. package/dist/esm/sdk/wallet-recovery-DFaS3geI.js +0 -1
  286. package/dist/esm/sdk/walletAuthority-BY3kyKQ-.js +0 -1
  287. package/dist/esm/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js +0 -1
  288. package/dist/esm/sdk/walletDbName-BxWApBQF.js +0 -1
  289. package/dist/esm/sdk/walletOwnershipGeneration-DSGfjuV2.js +0 -1
  290. package/dist/esm/sdk/walletRecoveryCommit-DQA_wveK.js +0 -1
  291. package/dist/esm/sdk/walletRecoveryRotate-zvQThn37.js +0 -1
  292. package/dist/esm/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +0 -1
  293. package/dist/esm/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js +0 -1
  294. package/dist/esm/sdk/walletSessionAuthorizationStore-DnUMtkev.js +0 -1
  295. package/dist/esm/sdk/warmSessionHydration-D8Vdro9n.js +0 -1
  296. package/dist/public/sdk/accountLifecycle-fLNUdjct.js +0 -1
  297. package/dist/public/sdk/activeWalletSession-BpbnpU9s.js +0 -1
  298. package/dist/public/sdk/adapters-BNmcyf9K.js +0 -2
  299. package/dist/public/sdk/appearance-token-vars-DxBm_cKA.js +0 -2
  300. package/dist/public/sdk/challengeDelivery-CG2J5Qxs.js +0 -1
  301. package/dist/public/sdk/clientSessionPersistenceState-BgO4P6CZ.js +0 -1
  302. package/dist/public/sdk/digestEncoding-aC4dSf_x.js +0 -1
  303. package/dist/public/sdk/ecdsaCapabilityManifest-DRc423SV.js +0 -1
  304. package/dist/public/sdk/ecdsaDerivationExport-DX89rq_u.js +0 -1
  305. package/dist/public/sdk/ecdsaWalletRecords-CxxUt3fS.js +0 -1
  306. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-CupWCKNg.js +0 -1
  307. package/dist/public/sdk/exportKeypairOperation-BwW_E4Lt.js +0 -1
  308. package/dist/public/sdk/host-DMR4KDy9.js +0 -1
  309. package/dist/public/sdk/localOnly-DO191vDh.js +0 -1
  310. package/dist/public/sdk/mountRecoveryCodeBackupSurface-B1D0ovqx.js +0 -2
  311. package/dist/public/sdk/nearEd25519YaoMaterialActivation-DgWDGRI_.js +0 -1
  312. package/dist/public/sdk/nearEd25519YaoSigningPreparation-yKDLQXBS.js +0 -1
  313. package/dist/public/sdk/passkey-custody-Ba-NQ_4C.js +0 -1
  314. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-DOeIn_Qj.js +0 -1
  315. package/dist/public/sdk/presignaturePool-BHoxnbOA.js +0 -1
  316. package/dist/public/sdk/presignatures-K-yuzOE0.js +0 -1
  317. package/dist/public/sdk/primitives-CTmDwMNc.js +0 -1
  318. package/dist/public/sdk/recovery-entrypoint-DWghFZrZ.js +0 -1
  319. package/dist/public/sdk/registration-sQndIWRF.js +0 -1
  320. package/dist/public/sdk/registrationAccounts-CD1u1ZqZ.js +0 -1
  321. package/dist/public/sdk/registrationIntent-D4YDjf2U.js +0 -1
  322. package/dist/public/sdk/routerAbNormalSigning-BV1t27aB.js +0 -1
  323. package/dist/public/sdk/runtime-auth-BxG-J-BB.js +0 -1
  324. package/dist/public/sdk/runtime-email-otp-CPqTCH8Q.js +0 -1
  325. package/dist/public/sdk/runtime-preferences-riUZGaTs.js +0 -1
  326. package/dist/public/sdk/runtime-recovery-CTj4nDAM.js +0 -1
  327. package/dist/public/sdk/runtime-recovery-codes-D8T9LQ7-.js +0 -1
  328. package/dist/public/sdk/secp256k1-wOOHtPcK.js +0 -1
  329. package/dist/public/sdk/sessionObservationRevision-C7v-wN8_.js +0 -1
  330. package/dist/public/sdk/shared-hx7KVyeq.js +0 -6
  331. package/dist/public/sdk/signEvmFamily-DT34Vtpa.js +0 -1
  332. package/dist/public/sdk/signNear-B000QxBd.js +0 -1
  333. package/dist/public/sdk/signerSlot-FJAGOhmg.js +0 -1
  334. package/dist/public/sdk/signingFlow-gl85GOW4.js +0 -2
  335. package/dist/public/sdk/signingQueue-gW7wmOuL.js +0 -1
  336. package/dist/public/sdk/thresholdEcdsa-Ci7yz395.js +0 -1
  337. package/dist/public/sdk/transaction-activity-C0nCSW6c.js +0 -1
  338. package/dist/public/sdk/wallet-recovery-DFaS3geI.js +0 -1
  339. package/dist/public/sdk/walletAuthority-BY3kyKQ-.js +0 -1
  340. package/dist/public/sdk/walletCustodyEcdsaContinuity-mGh1Ysko.js +0 -1
  341. package/dist/public/sdk/walletDbName-BxWApBQF.js +0 -1
  342. package/dist/public/sdk/walletOwnershipGeneration-DSGfjuV2.js +0 -1
  343. package/dist/public/sdk/walletRecoveryCommit-DQA_wveK.js +0 -1
  344. package/dist/public/sdk/walletRecoveryRotate-zvQThn37.js +0 -1
  345. package/dist/public/sdk/walletRegistrationSetupPrewarm-DdVpKccU.js +0 -1
  346. package/dist/public/sdk/walletSessionAuthorizationStatus-ONPRiEbK.js +0 -1
  347. package/dist/public/sdk/walletSessionAuthorizationStore-DnUMtkev.js +0 -1
  348. package/dist/public/sdk/warmSessionHydration-D8Vdro9n.js +0 -1
  349. package/dist/types/wallet/src/react/components/AccountMenuButton/SegmentedControl.d.ts +0 -25
  350. /package/dist/esm/sdk/{accountIds-Cpvlkvbe.js → accountIds-BzZs7YoX.js} +0 -0
  351. /package/dist/esm/sdk/{appearance-4DmzKUWf.js → appearance-ZGVLwA4N.js} +0 -0
  352. /package/dist/esm/sdk/{authenticatorOptions-2_XK8aXv.js → authenticatorOptions-BB_sU4uA.js} +0 -0
  353. /package/dist/esm/sdk/{authorizationAdmission-Dd23mTx7.js → authorizationAdmission-D7nx2n4d.js} +0 -0
  354. /package/dist/esm/sdk/{browser-n3IVr7qu.js → browser-DkCRXFkk.js} +0 -0
  355. /package/dist/esm/sdk/{bytes-DZRW2UDg.js → bytes-Cv07P0Pu.js} +0 -0
  356. /package/dist/esm/sdk/{canonicalPrimitives-BMP5yILS.js → canonicalPrimitives-D_1HyEuJ.js} +0 -0
  357. /package/dist/esm/sdk/{canonicalSignerErrorCode-Cz48v4oy.js → canonicalSignerErrorCode-CqHi6ji6.js} +0 -0
  358. /package/dist/esm/sdk/{capabilityKinds-D0Yrp9uf.js → capabilityKinds-CqHVzVsJ.js} +0 -0
  359. /package/dist/esm/sdk/{ecdsaChainTarget-DkOrgv4y.js → ecdsaChainTarget-svSlzhze.js} +0 -0
  360. /package/dist/esm/sdk/{errors-ADOZT8oV.js → errors-CI1xdN0d.js} +0 -0
  361. /package/dist/esm/sdk/{executeWorkerOperation-DKCRRq5E.js → executeWorkerOperation-S6glYwAs.js} +0 -0
  362. /package/dist/esm/sdk/{helpers-DS0bksx9.js → helpers-BXezXx19.js} +0 -0
  363. /package/dist/esm/sdk/{intentDigest-Rh5Mg8X7.js → intentDigest--FZ63NBy.js} +0 -0
  364. /package/dist/esm/sdk/{jsonRpc-BVDv1wfm.js → jsonRpc-B5zMY6lE.js} +0 -0
  365. /package/dist/esm/sdk/{keccak-mS0Mejjx.js → keccak-CaPOCznk.js} +0 -0
  366. /package/dist/esm/sdk/{normalization-C6fQN6mW.js → normalization-CpLZcL2f.js} +0 -0
  367. /package/dist/esm/sdk/{prfCache-BAFh1skJ.js → prfCache-D25ZCg5n.js} +0 -0
  368. /package/dist/esm/sdk/{profileAccountProjection-BNVJLOt2.js → profileAccountProjection-C1z9sKHa.js} +0 -0
  369. /package/dist/esm/sdk/{promptText-CnyrLxgj.js → promptText-D2f5Rg0h.js} +0 -0
  370. /package/dist/esm/sdk/{registrationAuthMethodInput-B23_HRil.js → registrationAuthMethodInput-DKz6Mgg4.js} +0 -0
  371. /package/dist/esm/sdk/{sdkSentEvents-DujYAPEM.js → sdkSentEvents-BzMVO1AR.js} +0 -0
  372. /package/dist/esm/sdk/{signer-worker-DlK58rEA.js → signer-worker-Bh_5foqX.js} +0 -0
  373. /package/dist/esm/sdk/{signerDomain-BFqRQ0Jl.js → signerDomain-YEHkugWX.js} +0 -0
  374. /package/dist/esm/sdk/{surface-measurement-reporter-BJhfiPw6.js → surface-measurement-reporter-F-fVB7d3.js} +0 -0
  375. /package/dist/esm/sdk/{types-Buoe6179.js → types-BNUuaUtl.js} +0 -0
  376. /package/dist/esm/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-DJ0KOBHg.js} +0 -0
  377. /package/dist/esm/sdk/{walletSessionAuthorizationProjection-DuU6w0FP.js → walletSessionAuthorizationProjection-UdGeS6x3.js} +0 -0
  378. /package/dist/esm/sdk/{walletSessionFailure-C6TAQTZn.js → walletSessionFailure-Ct412mDZ.js} +0 -0
  379. /package/dist/esm/sdk/{webauthnPromptCoordinator-9bVeHcTZ.js → webauthnPromptCoordinator-CBkTiMP0.js} +0 -0
  380. /package/dist/public/sdk/{accountIds-Cpvlkvbe.js → accountIds-BzZs7YoX.js} +0 -0
  381. /package/dist/public/sdk/{appearance-4DmzKUWf.js → appearance-ZGVLwA4N.js} +0 -0
  382. /package/dist/public/sdk/{authenticatorOptions-2_XK8aXv.js → authenticatorOptions-BB_sU4uA.js} +0 -0
  383. /package/dist/public/sdk/{authorizationAdmission-Dd23mTx7.js → authorizationAdmission-D7nx2n4d.js} +0 -0
  384. /package/dist/public/sdk/{browser-n3IVr7qu.js → browser-DkCRXFkk.js} +0 -0
  385. /package/dist/public/sdk/{bytes-DZRW2UDg.js → bytes-Cv07P0Pu.js} +0 -0
  386. /package/dist/public/sdk/{canonicalPrimitives-BMP5yILS.js → canonicalPrimitives-D_1HyEuJ.js} +0 -0
  387. /package/dist/public/sdk/{canonicalSignerErrorCode-Cz48v4oy.js → canonicalSignerErrorCode-CqHi6ji6.js} +0 -0
  388. /package/dist/public/sdk/{capabilityKinds-D0Yrp9uf.js → capabilityKinds-CqHVzVsJ.js} +0 -0
  389. /package/dist/public/sdk/{ecdsaChainTarget-DkOrgv4y.js → ecdsaChainTarget-svSlzhze.js} +0 -0
  390. /package/dist/public/sdk/{errors-ADOZT8oV.js → errors-CI1xdN0d.js} +0 -0
  391. /package/dist/public/sdk/{executeWorkerOperation-DKCRRq5E.js → executeWorkerOperation-S6glYwAs.js} +0 -0
  392. /package/dist/public/sdk/{helpers-DS0bksx9.js → helpers-BXezXx19.js} +0 -0
  393. /package/dist/public/sdk/{intentDigest-Rh5Mg8X7.js → intentDigest--FZ63NBy.js} +0 -0
  394. /package/dist/public/sdk/{jsonRpc-BVDv1wfm.js → jsonRpc-B5zMY6lE.js} +0 -0
  395. /package/dist/public/sdk/{keccak-mS0Mejjx.js → keccak-CaPOCznk.js} +0 -0
  396. /package/dist/public/sdk/{normalization-C6fQN6mW.js → normalization-CpLZcL2f.js} +0 -0
  397. /package/dist/public/sdk/{prfCache-BAFh1skJ.js → prfCache-D25ZCg5n.js} +0 -0
  398. /package/dist/public/sdk/{profileAccountProjection-BNVJLOt2.js → profileAccountProjection-C1z9sKHa.js} +0 -0
  399. /package/dist/public/sdk/{promptText-CnyrLxgj.js → promptText-D2f5Rg0h.js} +0 -0
  400. /package/dist/public/sdk/{registrationAuthMethodInput-B23_HRil.js → registrationAuthMethodInput-DKz6Mgg4.js} +0 -0
  401. /package/dist/public/sdk/{sdkSentEvents-DujYAPEM.js → sdkSentEvents-BzMVO1AR.js} +0 -0
  402. /package/dist/public/sdk/{signer-worker-DlK58rEA.js → signer-worker-Bh_5foqX.js} +0 -0
  403. /package/dist/public/sdk/{signerDomain-BFqRQ0Jl.js → signerDomain-YEHkugWX.js} +0 -0
  404. /package/dist/public/sdk/{surface-measurement-reporter-BJhfiPw6.js → surface-measurement-reporter-F-fVB7d3.js} +0 -0
  405. /package/dist/public/sdk/{types-Buoe6179.js → types-BNUuaUtl.js} +0 -0
  406. /package/dist/public/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-DJ0KOBHg.js} +0 -0
  407. /package/dist/public/sdk/{walletSessionAuthorizationProjection-DuU6w0FP.js → walletSessionAuthorizationProjection-UdGeS6x3.js} +0 -0
  408. /package/dist/public/sdk/{walletSessionFailure-C6TAQTZn.js → walletSessionFailure-Ct412mDZ.js} +0 -0
  409. /package/dist/public/sdk/{webauthnPromptCoordinator-9bVeHcTZ.js → webauthnPromptCoordinator-CBkTiMP0.js} +0 -0
@@ -519,114 +519,406 @@
519
519
  }
520
520
  }
521
521
 
522
- /* Expander (TransactionSettingsSection) */
523
- .seams-dropdown-tx-settings-root {
524
- background-color: var(--seams-expander-surface, var(--seams-colors-surface));
525
- transform-origin: top;
522
+ /* Transaction settings: a review switch, then the review layout as cards
523
+ with a small drawing. The settings page and the account menu share these
524
+ rules; the menu adds a compact variant. */
525
+ .seams-transaction-page {
526
526
  display: grid;
527
- grid-template-rows: 0fr;
528
- transition: grid-template-rows 200ms cubic-bezier(0.22, 1, 0.36, 1);
527
+ gap: 40px;
529
528
  }
530
-
531
- .seams-dropdown-tx-settings-root.is-expanded {
529
+ .seams-transaction-group {
530
+ min-width: 0;
531
+ margin: 0;
532
+ padding: 0;
533
+ border: 0;
534
+ }
535
+ .seams-transaction-review + .seams-transaction-group {
536
+ padding-top: 40px;
532
537
  border-top: 1px solid var(--seams-colors-borderPrimary);
533
- /* border-bottom: 1px solid var(--seams-colors-borderPrimary); */
534
- background-color: var(--seams-expander-surface, var(--seams-colors-surface));
535
- grid-template-rows: 1fr;
536
538
  }
537
-
538
- .seams-dropdown-toggle-tx-settings {
539
- overflow: hidden;
540
- min-height: 0;
541
- min-width: 0;
539
+ .seams-transaction-group legend {
540
+ /* A floated legend leaves the fieldset border, so the divider above a
541
+ group runs above its title, not through it. */
542
+ float: inline-start;
543
+ width: 100%;
544
+ padding: 0;
545
+ font-size: 18px;
546
+ font-weight: 600;
542
547
  }
543
-
544
- .seams-dropdown-toggle-tx-settings-content {
548
+ .seams-transaction-group legend + * {
549
+ clear: both;
550
+ }
551
+ .seams-transaction-group > p {
552
+ margin: 6px 0 20px;
553
+ color: var(--seams-colors-textSecondary);
554
+ font-size: 14px;
555
+ line-height: 1.5;
556
+ }
557
+ .seams-transaction-choices {
558
+ display: grid;
559
+ grid-template-columns: repeat(3, minmax(0, 1fr));
560
+ gap: 16px;
561
+ }
562
+ .seams-transaction-choice {
545
563
  display: flex;
546
564
  flex-direction: column;
547
- align-items: flex-start;
548
- justify-content: space-between;
549
- padding: 16px;
565
+ gap: 14px;
566
+ padding: 12px 12px 16px;
567
+ border: 1px solid var(--seams-colors-borderPrimary);
568
+ border-radius: 16px;
569
+ background: var(--seams-colors-colorBackground);
570
+ color: var(--seams-colors-textPrimary);
571
+ font: inherit;
572
+ text-align: start;
573
+ cursor: pointer;
550
574
  transition:
551
- opacity 100ms ease,
552
- transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
553
- opacity: 0;
554
- transform: translateY(4px);
575
+ border-color 120ms ease,
576
+ background-color 120ms ease;
555
577
  }
556
-
557
- .seams-dropdown-tx-settings-root.is-expanded .seams-dropdown-toggle-tx-settings-content {
558
- opacity: 1;
559
- transform: translateY(0);
578
+ .seams-transaction-choice-text {
579
+ display: grid;
580
+ gap: 6px;
581
+ padding-inline: 4px;
560
582
  }
561
-
562
- .seams-confirmation-options {
563
- font-size: 12px;
564
- margin-bottom: 6px;
583
+ .seams-transaction-choice-head {
584
+ display: flex;
585
+ align-items: center;
586
+ justify-content: space-between;
587
+ gap: 12px;
565
588
  }
566
-
567
- .seams-account-seg {
589
+ .seams-transaction-choice strong {
590
+ font-size: 15px;
591
+ font-weight: 600;
592
+ }
593
+ .seams-transaction-choice-description {
594
+ color: var(--seams-colors-textSecondary);
595
+ font-size: 13px;
596
+ line-height: 1.5;
597
+ }
598
+ .seams-transaction-choice-indicator {
599
+ flex-shrink: 0;
600
+ width: 18px;
601
+ height: 18px;
568
602
  box-sizing: border-box;
569
- min-width: 0;
570
- position: relative;
571
- min-height: 54px;
572
- overflow: hidden;
573
- padding: 5px;
574
- border: none;
575
- background: color-mix(in srgb, var(--seams-colors-textPrimary) 6%, var(--seams-colors-surface2));
576
- border-radius: var(--seams-border-radius-xl);
603
+ border: 1.5px solid var(--seams-colors-borderPrimary);
604
+ border-radius: 50%;
577
605
  }
578
-
579
- .seams-account-seg-active {
580
- position: absolute;
581
- top: 5px;
582
- bottom: 5px;
583
- left: 5px;
584
- width: calc((100% - 10px) / var(--seams-account-seg-count));
585
- border-radius: inherit;
586
- background: var(--seams-account-seg-active-bg);
587
- transform: translateX(calc(var(--seams-account-seg-active-index) * 100%));
588
- transition:
589
- transform 220ms ease,
590
- opacity 150ms ease;
591
- pointer-events: none;
606
+ .seams-transaction-choice[aria-pressed='true'] {
607
+ border-color: var(--seams-colors-primary);
608
+ box-shadow: inset 0 0 0 1px var(--seams-colors-primary);
609
+ }
610
+ .seams-transaction-choice[aria-pressed='true'] .seams-transaction-choice-indicator {
611
+ border: 5px solid var(--seams-colors-primary);
612
+ }
613
+ .seams-transaction-choice:hover:not(:disabled):not([aria-pressed='true']) {
614
+ background: var(--seams-colors-surface);
615
+ }
616
+ .seams-transaction-choice:focus-visible {
617
+ outline: 2px solid var(--seams-colors-primary);
618
+ outline-offset: 4px;
619
+ }
620
+ .seams-transaction-choice:disabled {
621
+ opacity: 0.5;
622
+ cursor: not-allowed;
592
623
  }
593
624
 
594
- .seams-account-seg-grid {
595
- position: relative;
596
- z-index: 1;
625
+ /* The switch row uses the card grid, so its edge lines up with the cards. */
626
+ .seams-transaction-review {
597
627
  display: grid;
598
- grid-template-columns: repeat(var(--seams-account-seg-count), minmax(0, 1fr));
599
- gap: 4px;
600
- height: 100%;
628
+ grid-template-columns: repeat(3, minmax(0, 1fr));
629
+ gap: 10px 16px;
601
630
  }
602
-
603
- .seams-account-seg-btn {
604
- min-width: 0;
605
- min-height: 44px;
606
- padding: 0 14px;
607
- border: 0;
608
- border-radius: 1rem;
609
- background: transparent;
610
- color: color-mix(in srgb, var(--seams-colors-textSecondary), var(--seams-colors-textPrimary) 45%);
611
- cursor: pointer;
631
+ .seams-transaction-review > * {
632
+ grid-column: span 2;
633
+ }
634
+ .seams-transaction-review > p {
635
+ margin: 0;
636
+ padding-inline: 4px;
637
+ color: var(--seams-colors-textSecondary);
638
+ font-size: 13px;
639
+ line-height: 1.5;
640
+ }
641
+ .seams-transaction-review-row {
642
+ display: flex;
643
+ align-items: center;
644
+ justify-content: space-between;
645
+ gap: 20px;
646
+ padding: 20px;
647
+ border: 1px solid var(--seams-colors-borderPrimary);
648
+ border-radius: 16px;
649
+ background: var(--seams-colors-colorBackground);
650
+ }
651
+ .seams-transaction-review-text {
612
652
  display: grid;
613
- place-items: center;
614
- font-size: clamp(13px, 3.6vw, 15px);
653
+ gap: 6px;
654
+ }
655
+ .seams-transaction-review-text strong {
656
+ font-size: 16px;
615
657
  font-weight: 600;
616
- text-align: center;
617
- touch-action: manipulation;
618
- transition: color 160ms ease;
619
- white-space: normal;
620
- -webkit-tap-highlight-color: transparent;
658
+ }
659
+ .seams-transaction-review-text > span {
660
+ color: var(--seams-colors-textSecondary);
661
+ font-size: 14px;
662
+ line-height: 1.5;
663
+ }
664
+ .seams-transaction-switch {
665
+ position: relative;
666
+ flex-shrink: 0;
667
+ width: 44px;
668
+ height: 26px;
669
+ padding: 0;
670
+ border: 0;
671
+ border-radius: 13px;
672
+ background: var(--seams-colors-borderPrimary);
673
+ cursor: pointer;
674
+ transition: background-color 150ms ease;
675
+ }
676
+ .seams-transaction-switch > span {
677
+ position: absolute;
678
+ inset-block-start: 3px;
679
+ inset-inline-start: 3px;
680
+ width: 20px;
681
+ height: 20px;
682
+ border-radius: 50%;
683
+ background: var(--seams-colors-colorBackground);
684
+ box-shadow: 0 1px 3px rgb(0 0 0 / 0.25);
685
+ transition: transform 150ms ease;
686
+ }
687
+ .seams-transaction-switch[aria-checked='true'] {
688
+ background: var(--seams-colors-primary);
689
+ }
690
+ .seams-transaction-switch[aria-checked='true'] > span {
691
+ transform: translateX(18px);
692
+ }
693
+ [dir='rtl'] .seams-transaction-switch[aria-checked='true'] > span {
694
+ transform: translateX(-18px);
695
+ }
696
+ .seams-transaction-switch:focus-visible {
697
+ outline: 2px solid var(--seams-colors-primary);
698
+ outline-offset: 3px;
699
+ }
700
+ .seams-transaction-switch:disabled {
701
+ opacity: 0.5;
702
+ cursor: not-allowed;
703
+ }
704
+ @media (prefers-reduced-motion: reduce) {
705
+ .seams-transaction-switch,
706
+ .seams-transaction-switch > span {
707
+ transition: none;
708
+ }
621
709
  }
622
710
 
623
- .seams-account-seg-btn.is-active {
711
+ /* The preview draws a page with the review surface on top of it. */
712
+ .seams-transaction-preview {
713
+ position: relative;
714
+ display: block;
715
+ aspect-ratio: 16 / 9;
716
+ overflow: hidden;
717
+ border-radius: 10px;
718
+ background: var(--seams-colors-surface);
719
+ color: var(--seams-colors-textSecondary);
720
+ }
721
+ .seams-transaction-choice[aria-pressed='true'] .seams-transaction-preview {
624
722
  color: var(--seams-colors-textPrimary);
625
723
  }
724
+ .seams-tp-page {
725
+ position: absolute;
726
+ inset: 14% 12%;
727
+ display: grid;
728
+ align-content: start;
729
+ gap: 8%;
730
+ }
731
+ .seams-tp-page i,
732
+ .seams-tp-panel i {
733
+ display: block;
734
+ height: 6px;
735
+ border-radius: 3px;
736
+ background: currentColor;
737
+ opacity: 0.18;
738
+ }
739
+ .seams-tp-page i:nth-child(1) {
740
+ width: 38%;
741
+ height: 8px;
742
+ opacity: 0.28;
743
+ }
744
+ .seams-tp-page i:nth-child(3) {
745
+ width: 72%;
746
+ }
747
+ .seams-tp-scrim {
748
+ position: absolute;
749
+ inset: 0;
750
+ background: rgb(0 0 0 / 0.1);
751
+ }
752
+ .seams-tp-panel {
753
+ position: absolute;
754
+ display: flex;
755
+ flex-direction: column;
756
+ gap: 6px;
757
+ padding: 10px;
758
+ border: 1px solid var(--seams-colors-borderPrimary);
759
+ border-radius: 8px;
760
+ background: var(--seams-colors-colorBackground);
761
+ box-shadow: 0 6px 16px rgb(0 0 0 / 0.08);
762
+ }
763
+ .seams-tp-panel i:nth-child(1) {
764
+ width: 60%;
765
+ opacity: 0.32;
766
+ }
767
+ .seams-tp-panel b {
768
+ display: block;
769
+ align-self: flex-end;
770
+ width: 48%;
771
+ height: 10px;
772
+ margin-top: auto;
773
+ border-radius: 4px;
774
+ background: var(--seams-colors-primary);
775
+ }
776
+ [data-preview='modal'] .seams-tp-panel {
777
+ inset: 18% 26%;
778
+ }
779
+ [data-preview='drawer'] .seams-tp-panel {
780
+ inset-block: 0;
781
+ inset-inline: auto 0;
782
+ width: 40%;
783
+ padding-top: 14px;
784
+ border-block: 0;
785
+ border-inline-end: 0;
786
+ border-radius: 0;
787
+ }
626
788
 
627
- .seams-account-seg-btn:focus-visible {
628
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--seams-colors-focus), transparent 60%);
629
- outline: none;
789
+ @media (max-width: 600px) {
790
+ [data-presentation='page'] .seams-transaction-review > * {
791
+ grid-column: 1 / -1;
792
+ }
793
+ [data-presentation='page'] .seams-transaction-review-row {
794
+ padding: 16px;
795
+ }
796
+ [data-presentation='page'] .seams-transaction-choices {
797
+ grid-template-columns: minmax(0, 1fr);
798
+ gap: 12px;
799
+ }
800
+ [data-presentation='page'] .seams-transaction-choice {
801
+ flex-direction: row;
802
+ align-items: center;
803
+ gap: 14px;
804
+ padding: 10px 14px 10px 10px;
805
+ }
806
+ [data-presentation='page'] .seams-transaction-preview {
807
+ flex-shrink: 0;
808
+ width: 104px;
809
+ }
810
+ [data-presentation='page'] .seams-transaction-choice-text {
811
+ flex: 1;
812
+ min-width: 0;
813
+ padding-inline: 0;
814
+ }
815
+ [data-presentation='page'] .seams-tp-panel {
816
+ gap: 4px;
817
+ padding: 6px;
818
+ border-radius: 5px;
819
+ }
820
+ [data-presentation='page'] .seams-tp-page i,
821
+ [data-presentation='page'] .seams-tp-panel i {
822
+ height: 4px;
823
+ }
824
+ [data-presentation='page'] .seams-tp-page i:nth-child(1) {
825
+ height: 5px;
826
+ }
827
+ [data-presentation='page'] .seams-tp-panel b {
828
+ height: 6px;
829
+ border-radius: 2px;
830
+ }
831
+ }
832
+
833
+ /* The account menu is about 300px wide: three small cards per row, labels
834
+ only, and smaller drawings. */
835
+ .seams-transaction-page[data-presentation='menu'] {
836
+ gap: 16px;
837
+ padding-bottom: 4px;
838
+ }
839
+ [data-presentation='menu'] .seams-transaction-review + .seams-transaction-group {
840
+ padding-top: 16px;
841
+ }
842
+ [data-presentation='menu'] .seams-transaction-group legend {
843
+ font-size: 14px;
844
+ }
845
+ [data-presentation='menu'] .seams-transaction-group > p {
846
+ margin: 2px 0 10px;
847
+ font-size: 12px;
848
+ line-height: 1.4;
849
+ }
850
+ [data-presentation='menu'] .seams-transaction-choices {
851
+ gap: 8px;
852
+ }
853
+ [data-presentation='menu'] .seams-transaction-choice {
854
+ gap: 8px;
855
+ padding: 5px 5px 8px;
856
+ border-radius: 12px;
857
+ }
858
+ [data-presentation='menu'] .seams-transaction-choice-text {
859
+ padding-inline: 3px;
860
+ }
861
+ [data-presentation='menu'] .seams-transaction-choice {
862
+ position: relative;
863
+ }
864
+ [data-presentation='menu'] .seams-transaction-choice strong {
865
+ font-size: 12px;
866
+ font-weight: 500;
867
+ line-height: 1.3;
868
+ }
869
+ /* The dot sits on the drawing's corner, so a long label gets the full width. */
870
+ [data-presentation='menu'] .seams-transaction-choice-indicator {
871
+ position: absolute;
872
+ inset-block-start: 10px;
873
+ inset-inline-end: 10px;
874
+ width: 14px;
875
+ height: 14px;
876
+ background: var(--seams-colors-colorBackground);
877
+ }
878
+ [data-presentation='menu'] .seams-transaction-choice[aria-pressed='true'] .seams-transaction-choice-indicator {
879
+ border-width: 4px;
880
+ }
881
+ [data-presentation='menu'] .seams-transaction-preview {
882
+ border-radius: 8px;
883
+ }
884
+ [data-presentation='menu'] .seams-tp-panel {
885
+ gap: 3px;
886
+ padding: 5px;
887
+ border-radius: 4px;
888
+ }
889
+ [data-presentation='menu'] .seams-tp-page i,
890
+ [data-presentation='menu'] .seams-tp-panel i {
891
+ height: 3px;
892
+ border-radius: 2px;
893
+ }
894
+ [data-presentation='menu'] .seams-tp-page i:nth-child(1) {
895
+ height: 4px;
896
+ }
897
+ [data-presentation='menu'] .seams-tp-panel b {
898
+ height: 5px;
899
+ border-radius: 2px;
900
+ }
901
+ [data-presentation='menu'] [data-preview='drawer'] .seams-tp-panel {
902
+ padding-top: 7px;
903
+ }
904
+ [data-presentation='menu'] .seams-transaction-review > * {
905
+ grid-column: 1 / -1;
906
+ }
907
+ [data-presentation='menu'] .seams-transaction-review {
908
+ gap: 8px;
909
+ }
910
+ [data-presentation='menu'] .seams-transaction-review-row {
911
+ gap: 14px;
912
+ padding: 14px;
913
+ border-radius: 12px;
914
+ }
915
+ [data-presentation='menu'] .seams-transaction-review-text strong {
916
+ font-size: 14px;
917
+ }
918
+ [data-presentation='menu'] .seams-transaction-review-text > span,
919
+ [data-presentation='menu'] .seams-transaction-review > p {
920
+ font-size: 12px;
921
+ line-height: 1.4;
630
922
  }
631
923
 
632
924
  /* UserAccountButton Component Styles */
@@ -1267,11 +1559,7 @@
1267
1559
  .seams-account-identity:focus {
1268
1560
  outline: none;
1269
1561
  }
1270
- .seams-account-screen .seams-dropdown-tx-settings-root {
1271
- --seams-expander-surface: var(--seams-colors-colorBackground);
1272
- border: 0;
1273
- border-radius: 12px;
1274
- overflow: hidden;
1562
+ .seams-account-screen .seams-transaction-page {
1275
1563
  margin-top: 14px;
1276
1564
  }
1277
1565
 
@@ -1543,8 +1831,7 @@
1543
1831
  padding: 24px;
1544
1832
  }
1545
1833
  .seams-settings-content .seams-dropdown-accounts-root,
1546
- .seams-settings-content .seams-dropdown-export-keys-root,
1547
- .seams-settings-content .seams-dropdown-tx-settings-root {
1834
+ .seams-settings-content .seams-dropdown-export-keys-root {
1548
1835
  margin: 0;
1549
1836
  border: 1px solid var(--seams-colors-borderPrimary);
1550
1837
  border-radius: 16px;
@@ -1712,91 +1999,94 @@
1712
1999
  }
1713
2000
  }
1714
2001
 
1715
- .seams-transaction-page {
2002
+ .seams-region-field {
1716
2003
  display: grid;
1717
- gap: 36px;
1718
- }
1719
- .seams-transaction-group {
1720
- min-width: 0;
1721
- margin: 0;
1722
- padding: 0;
1723
- border: 0;
1724
- }
1725
- .seams-transaction-group legend {
1726
- padding: 0;
1727
- font-size: 20px;
1728
- font-weight: 600;
1729
- }
1730
- .seams-transaction-group > p {
1731
- margin: 8px 0 20px;
1732
- color: var(--seams-colors-textSecondary);
2004
+ gap: 8px;
2005
+ max-width: 360px;
2006
+ margin: 24px 0 16px;
1733
2007
  font-size: 14px;
1734
- line-height: 1.5;
2008
+ font-weight: 500;
1735
2009
  }
1736
- .seams-transaction-choices {
1737
- display: grid;
1738
- grid-template-columns: repeat(3, minmax(0, 1fr));
1739
- gap: 16px;
2010
+ /* The wrapper draws the chevron, so the closed control looks the same in
2011
+ every browser. */
2012
+ .seams-region-select {
2013
+ position: relative;
2014
+ display: block;
1740
2015
  }
1741
- .seams-transaction-choices--two {
1742
- grid-template-columns: repeat(2, minmax(0, 1fr));
2016
+ .seams-region-select::after {
2017
+ content: '';
2018
+ position: absolute;
2019
+ inset-block-start: 50%;
2020
+ inset-inline-end: 18px;
2021
+ width: 7px;
2022
+ height: 7px;
2023
+ border-inline-end: 1.5px solid var(--seams-colors-textSecondary);
2024
+ border-block-end: 1.5px solid var(--seams-colors-textSecondary);
2025
+ transform: translateY(-70%) rotate(45deg);
2026
+ pointer-events: none;
1743
2027
  }
1744
- .seams-transaction-choice {
1745
- display: flex;
1746
- flex-direction: column;
1747
- align-items: flex-start;
1748
- gap: 12px;
1749
- min-height: 188px;
1750
- padding: 24px;
2028
+ .seams-region-select select {
2029
+ appearance: none;
2030
+ width: 100%;
2031
+ min-height: 48px;
2032
+ padding-block: 12px;
2033
+ padding-inline: 14px 44px;
1751
2034
  border: 1px solid var(--seams-colors-borderPrimary);
1752
- border-radius: 16px;
2035
+ border-radius: 12px;
1753
2036
  background: var(--seams-colors-colorBackground);
1754
2037
  color: var(--seams-colors-textPrimary);
1755
2038
  font: inherit;
1756
- text-align: start;
2039
+ font-weight: 400;
1757
2040
  cursor: pointer;
1758
2041
  }
1759
- .seams-transaction-choice strong {
1760
- font-size: 16px;
1761
- }
1762
- .seams-transaction-choice > span:last-child {
1763
- color: var(--seams-colors-textSecondary);
1764
- font-size: 14px;
1765
- line-height: 1.5;
1766
- }
1767
- .seams-transaction-choice-indicator {
1768
- width: 20px;
1769
- height: 20px;
1770
- box-sizing: border-box;
1771
- border: 1px solid var(--seams-colors-borderPrimary);
1772
- border-radius: 50%;
1773
- }
1774
- .seams-transaction-choice[aria-pressed='true'] {
1775
- border-color: var(--seams-colors-primary);
1776
- box-shadow: inset 0 0 0 1px var(--seams-colors-primary);
1777
- background: var(--seams-colors-surface2);
1778
- }
1779
- .seams-transaction-choice[aria-pressed='true'] .seams-transaction-choice-indicator {
1780
- border: 6px solid var(--seams-colors-primary);
1781
- }
1782
- .seams-transaction-choice:hover:not(:disabled) {
1783
- background: var(--seams-colors-surface2);
1784
- }
1785
- .seams-transaction-choice:focus-visible {
1786
- outline: 2px solid var(--seams-colors-primary);
1787
- outline-offset: 4px;
2042
+ .seams-region-select select:hover {
2043
+ background: var(--seams-colors-surface);
1788
2044
  }
1789
- .seams-transaction-choice:disabled {
1790
- opacity: 0.55;
1791
- cursor: not-allowed;
2045
+ .seams-region-select select:focus-visible {
2046
+ outline: 2px solid var(--seams-colors-textPrimary);
2047
+ outline-offset: 2px;
1792
2048
  }
1793
- @media (max-width: 600px) {
1794
- .seams-transaction-choices {
1795
- grid-template-columns: minmax(0, 1fr);
2049
+ /* Browsers with customizable select also style the open list. Others keep
2050
+ the native list. */
2051
+ @supports (appearance: base-select) {
2052
+ .seams-region-select select,
2053
+ .seams-region-select ::picker(select) {
2054
+ appearance: base-select;
1796
2055
  }
1797
- .seams-transaction-choice {
1798
- min-height: 0;
1799
- padding: 20px;
2056
+ .seams-region-select select::picker-icon {
2057
+ display: none;
2058
+ }
2059
+ .seams-region-select ::picker(select) {
2060
+ margin-block: 6px;
2061
+ padding: 6px;
2062
+ border: 1px solid var(--seams-colors-borderPrimary);
2063
+ border-radius: 12px;
2064
+ background: var(--seams-colors-colorBackground);
2065
+ color: var(--seams-colors-textPrimary);
2066
+ box-shadow: 0 12px 32px rgb(0 0 0 / 0.14);
2067
+ }
2068
+ .seams-region-select option {
2069
+ display: flex;
2070
+ align-items: center;
2071
+ gap: 10px;
2072
+ min-height: 40px;
2073
+ padding: 8px 10px;
2074
+ border-radius: 8px;
2075
+ font: inherit;
2076
+ cursor: pointer;
2077
+ }
2078
+ .seams-region-select option:hover,
2079
+ .seams-region-select option:focus-visible {
2080
+ outline: none;
2081
+ background: var(--seams-colors-surface2);
2082
+ }
2083
+ .seams-region-select option:checked {
2084
+ font-weight: 500;
2085
+ }
2086
+ .seams-region-select option::checkmark {
2087
+ order: 1;
2088
+ margin-inline-start: auto;
2089
+ color: var(--seams-colors-textSecondary);
1800
2090
  }
1801
2091
  }
1802
2092