@seams/wallet 0.10.2 → 0.12.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 (176) hide show
  1. package/README.md +3 -3
  2. package/THIRD_PARTY_NOTICES.md +33 -1812
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.js +100 -0
  5. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +236 -97
  6. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +558 -0
  7. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +82 -0
  8. package/dist/esm/core/types/sdkSentEvents.js +9 -0
  9. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +189 -0
  10. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +137 -0
  11. package/dist/esm/react/components/AccountMenuButton/AccountMenuDeviceDetails.js +39 -0
  12. package/dist/esm/react/components/AccountMenuButton/AccountMenuDialog.js +39 -13
  13. package/dist/esm/react/components/AccountMenuButton/AccountMenuMockScreens.js +247 -0
  14. package/dist/esm/react/components/AccountMenuButton/AccountMenuScreen.js +41 -0
  15. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +79 -0
  16. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +168 -174
  17. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsView.js +19 -0
  18. package/dist/esm/react/components/AccountMenuButton/ExportKeysScreen.js +30 -0
  19. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +148 -87
  20. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +26 -5
  21. package/dist/esm/react/components/AccountMenuButton/MenuItem.js +28 -13
  22. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.css +73 -69
  23. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +56 -68
  24. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeAcknowledgement.js +27 -0
  25. package/dist/esm/react/components/AccountMenuButton/RecoveryCodeActions.js +53 -0
  26. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +3 -1
  27. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +2 -8
  28. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +1 -1
  29. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.js +6 -3
  30. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +4 -4
  31. package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +443 -12
  32. package/dist/esm/react/components/AccountMenuButton/hooks/useProfileState.js +1 -1
  33. package/dist/esm/react/components/AccountMenuButton/icons/LayersIcon.js +8 -0
  34. package/dist/esm/react/components/AccountMenuButton/icons/LockKeyholeIcon.js +22 -0
  35. package/dist/esm/react/components/AccountMenuButton/icons/PlusIcon.js +8 -0
  36. package/dist/esm/react/components/AccountMenuButton/icons/SunIcon.js +2 -2
  37. package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.css +0 -8
  38. package/dist/esm/react/components/AccountMenuButton/index.js +135 -115
  39. package/dist/esm/react/components/QRCodeScanner.js +64 -40
  40. package/dist/esm/react/components/QRCodeScannerCamera.js +16 -0
  41. package/dist/esm/react/components/ShowQRCode.js +2 -2
  42. package/dist/esm/react/externalEvm.js +2 -2
  43. package/dist/esm/react/index.js +2 -1
  44. package/dist/esm/react/styles/styles.css +520 -91
  45. package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -3
  46. package/dist/esm/sdk/{adapters-DYPu0nK9.js → adapters-CGvNLOfZ.js} +1 -1
  47. package/dist/{public/sdk/display-DjoWrSgE.js → esm/sdk/display-DTbGoX4e.js} +1 -1
  48. package/dist/{public/sdk/exportKeypairOperation-DYCzCbqL.js → esm/sdk/exportKeypairOperation-BHXMSA3v.js} +1 -1
  49. package/dist/{public/sdk/host-D5b19B_h.js → esm/sdk/host-CHQwi-Nm.js} +1 -1
  50. package/dist/esm/sdk/{localOnly-KvZeKkH5.js → localOnly-CUVRoMy2.js} +1 -1
  51. package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-BA2ttbTM.js → mountRecoveryCodeBackupSurface-D1G-iCPI.js} +2 -2
  52. package/dist/esm/sdk/{pendingWalletRecoveryCodeBackup-BkIrbd6Q.js → pendingWalletRecoveryCodeBackup-DMg5U0Fk.js} +1 -1
  53. package/dist/esm/sdk/{recovery-entrypoint-DoXswV9I.js → recovery-entrypoint-EHY_b7Z-.js} +1 -1
  54. package/dist/esm/sdk/registration-CQxxUt5s.js +1 -0
  55. package/dist/esm/sdk/{registration-BFHEYmgh.js → registration-Drtkzrlc.js} +1 -1
  56. package/dist/esm/sdk/{requireStepUpAuth-C67sluoC.js → requireStepUpAuth-FqZSU021.js} +1 -1
  57. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  58. package/dist/esm/sdk/runtime-auth-DtpRz88X.js +1 -0
  59. package/dist/esm/sdk/{runtime-device-link-pf-a_-3u.js → runtime-device-link-DXjabXJb.js} +1 -1
  60. package/dist/esm/sdk/{runtime-ecdsa-tempo-Ddnuti6f.js → runtime-ecdsa-tempo-DlKMIbyP.js} +1 -1
  61. package/dist/esm/sdk/{runtime-email-otp-BAG8ZC1J.js → runtime-email-otp-BBPghU2G.js} +1 -1
  62. package/dist/esm/sdk/{runtime-export-DxL99xfn.js → runtime-export-pw-xJL8o.js} +1 -1
  63. package/dist/esm/sdk/{runtime-near-BrWP4IxC.js → runtime-near-B-vYxGjl.js} +1 -1
  64. package/dist/esm/sdk/{runtime-preferences-BjVdHYL0.js → runtime-preferences-D-hY0RfC.js} +1 -1
  65. package/dist/esm/sdk/{runtime-recovery-BNd_GX5q.js → runtime-recovery-Vg1ND2nl.js} +1 -1
  66. package/dist/esm/sdk/{runtime-recovery-codes-Dn-NccpU.js → runtime-recovery-codes-rLR4Guy4.js} +1 -1
  67. package/dist/esm/sdk/sdkSentEvents-Dl8fOL50.js +1 -0
  68. package/dist/esm/sdk/shared-6bpRPbcM.js +6 -0
  69. package/dist/{public/sdk/signEvmFamily-DjD3tn8e.js → esm/sdk/signEvmFamily-M0trbeZe.js} +1 -1
  70. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-CwRFbaLM.js → signEvmFamilyWithUiConfirmForTempo-Bo25SwuV.js} +1 -1
  71. package/dist/esm/sdk/{signEvmWithUiConfirm-BHG0dwVG.js → signEvmWithUiConfirm-CFcqJRj3.js} +1 -1
  72. package/dist/{public/sdk/signNear-D0tlQXb9.js → esm/sdk/signNear-DGUQZ44s.js} +1 -1
  73. package/dist/esm/sdk/{signingFlow-Mym5j6aw.js → signingFlow-DZvV4AgG.js} +1 -1
  74. package/dist/esm/sdk/{transaction-activity-Cb2JyYKv.js → transaction-activity-xfeHKJoq.js} +1 -1
  75. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  76. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  77. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  78. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  79. package/dist/esm/sdk/{wallet-recovery-D7ywcIHw.js → wallet-recovery-LMtGiEL3.js} +1 -1
  80. package/dist/esm/sdk/wallet-ui.css +1 -1
  81. package/dist/{public/sdk/walletCustodyEcdsaContinuity-B8aO2NFb.js → esm/sdk/walletCustodyEcdsaContinuity-D-gYxv6e.js} +1 -1
  82. package/dist/{public/sdk/walletRecoveryCommit-C3EgMjo-.js → esm/sdk/walletRecoveryCommit-BYRC_2li.js} +1 -1
  83. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  84. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  85. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  86. package/dist/public/headers.manifest.json +1 -1
  87. package/dist/public/sdk/{adapters-DYPu0nK9.js → adapters-CGvNLOfZ.js} +1 -1
  88. package/dist/{esm/sdk/display-DjoWrSgE.js → public/sdk/display-DTbGoX4e.js} +1 -1
  89. package/dist/{esm/sdk/exportKeypairOperation-DYCzCbqL.js → public/sdk/exportKeypairOperation-BHXMSA3v.js} +1 -1
  90. package/dist/{esm/sdk/host-D5b19B_h.js → public/sdk/host-CHQwi-Nm.js} +1 -1
  91. package/dist/public/sdk/{localOnly-KvZeKkH5.js → localOnly-CUVRoMy2.js} +1 -1
  92. package/dist/public/sdk/{mountRecoveryCodeBackupSurface-BA2ttbTM.js → mountRecoveryCodeBackupSurface-D1G-iCPI.js} +2 -2
  93. package/dist/public/sdk/{pendingWalletRecoveryCodeBackup-BkIrbd6Q.js → pendingWalletRecoveryCodeBackup-DMg5U0Fk.js} +1 -1
  94. package/dist/public/sdk/{recovery-entrypoint-DoXswV9I.js → recovery-entrypoint-EHY_b7Z-.js} +1 -1
  95. package/dist/public/sdk/registration-CQxxUt5s.js +1 -0
  96. package/dist/public/sdk/{registration-BFHEYmgh.js → registration-Drtkzrlc.js} +1 -1
  97. package/dist/public/sdk/{requireStepUpAuth-C67sluoC.js → requireStepUpAuth-FqZSU021.js} +1 -1
  98. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  99. package/dist/public/sdk/runtime-auth-DtpRz88X.js +1 -0
  100. package/dist/public/sdk/{runtime-device-link-pf-a_-3u.js → runtime-device-link-DXjabXJb.js} +1 -1
  101. package/dist/public/sdk/{runtime-ecdsa-tempo-Ddnuti6f.js → runtime-ecdsa-tempo-DlKMIbyP.js} +1 -1
  102. package/dist/public/sdk/{runtime-email-otp-BAG8ZC1J.js → runtime-email-otp-BBPghU2G.js} +1 -1
  103. package/dist/public/sdk/{runtime-export-DxL99xfn.js → runtime-export-pw-xJL8o.js} +1 -1
  104. package/dist/public/sdk/{runtime-near-BrWP4IxC.js → runtime-near-B-vYxGjl.js} +1 -1
  105. package/dist/public/sdk/{runtime-preferences-BjVdHYL0.js → runtime-preferences-D-hY0RfC.js} +1 -1
  106. package/dist/public/sdk/{runtime-recovery-BNd_GX5q.js → runtime-recovery-Vg1ND2nl.js} +1 -1
  107. package/dist/public/sdk/{runtime-recovery-codes-Dn-NccpU.js → runtime-recovery-codes-rLR4Guy4.js} +1 -1
  108. package/dist/public/sdk/sdkSentEvents-Dl8fOL50.js +1 -0
  109. package/dist/public/sdk/shared-6bpRPbcM.js +6 -0
  110. package/dist/{esm/sdk/signEvmFamily-DjD3tn8e.js → public/sdk/signEvmFamily-M0trbeZe.js} +1 -1
  111. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-CwRFbaLM.js → signEvmFamilyWithUiConfirmForTempo-Bo25SwuV.js} +1 -1
  112. package/dist/public/sdk/{signEvmWithUiConfirm-BHG0dwVG.js → signEvmWithUiConfirm-CFcqJRj3.js} +1 -1
  113. package/dist/{esm/sdk/signNear-D0tlQXb9.js → public/sdk/signNear-DGUQZ44s.js} +1 -1
  114. package/dist/public/sdk/{signingFlow-Mym5j6aw.js → signingFlow-DZvV4AgG.js} +1 -1
  115. package/dist/public/sdk/{transaction-activity-Cb2JyYKv.js → transaction-activity-xfeHKJoq.js} +1 -1
  116. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  117. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  118. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  119. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  120. package/dist/public/sdk/{wallet-recovery-D7ywcIHw.js → wallet-recovery-LMtGiEL3.js} +1 -1
  121. package/dist/public/sdk/wallet-ui.css +1 -1
  122. package/dist/{esm/sdk/walletCustodyEcdsaContinuity-B8aO2NFb.js → public/sdk/walletCustodyEcdsaContinuity-D-gYxv6e.js} +1 -1
  123. package/dist/{esm/sdk/walletRecoveryCommit-C3EgMjo-.js → public/sdk/walletRecoveryCommit-BYRC_2li.js} +1 -1
  124. package/dist/public/sdk/workers/email_otp_runtime_bg.wasm +0 -0
  125. package/dist/public/sdk/workers/evm_crypto_bg.wasm +0 -0
  126. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  127. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  128. package/dist/public/sdk/workers/shamir3pass_runtime_bg.wasm +0 -0
  129. package/dist/public/sdk/workers/tempo_signer_bg.wasm +0 -0
  130. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  131. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  132. package/dist/public/wallet-assets.manifest.json +64 -64
  133. package/dist/public/wallet-service/index.html +4 -4
  134. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +9 -1
  135. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/session.d.ts +7 -3
  136. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +8 -5
  137. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +4 -0
  138. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +17 -0
  139. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +17 -0
  140. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuDeviceDetails.d.ts +13 -0
  141. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuDialog.d.ts +1 -1
  142. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuMockScreens.d.ts +43 -0
  143. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuScreen.d.ts +9 -0
  144. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodRow.d.ts +14 -0
  145. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +1 -1
  146. package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsView.d.ts +8 -0
  147. package/dist/types/wallet/src/react/components/AccountMenuButton/ExportKeysScreen.d.ts +7 -0
  148. package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +1 -1
  149. package/dist/types/wallet/src/react/components/AccountMenuButton/ProfileDropdown.d.ts +2 -14
  150. package/dist/types/wallet/src/react/components/AccountMenuButton/RecoveryCodeAcknowledgement.d.ts +5 -0
  151. package/dist/types/wallet/src/react/components/AccountMenuButton/RecoveryCodeActions.d.ts +5 -0
  152. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LayersIcon.d.ts +2 -0
  153. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockKeyholeIcon.d.ts +2 -0
  154. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/PlusIcon.d.ts +2 -0
  155. package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +2 -0
  156. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +1 -14
  157. package/dist/types/wallet/src/react/components/QRCodeScanner.d.ts +1 -0
  158. package/dist/types/wallet/src/react/components/QRCodeScannerCamera.d.ts +5 -0
  159. package/dist/types/wallet/src/react/index.d.ts +2 -1
  160. package/dist/workers/email_otp_runtime_bg.wasm +0 -0
  161. package/dist/workers/evm_crypto_bg.wasm +0 -0
  162. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  163. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  164. package/dist/workers/shamir3pass_runtime_bg.wasm +0 -0
  165. package/dist/workers/tempo_signer_bg.wasm +0 -0
  166. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  167. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  168. package/package.json +1 -3
  169. package/dist/esm/sdk/registration-Cx_f58rb.js +0 -1
  170. package/dist/esm/sdk/runtime-auth-CKUleRYA.js +0 -1
  171. package/dist/esm/sdk/sdkSentEvents-DiQ3YVlj.js +0 -1
  172. package/dist/esm/sdk/shared-CSfgTVcf.js +0 -6
  173. package/dist/public/sdk/registration-Cx_f58rb.js +0 -1
  174. package/dist/public/sdk/runtime-auth-CKUleRYA.js +0 -1
  175. package/dist/public/sdk/sdkSentEvents-DiQ3YVlj.js +0 -1
  176. package/dist/public/sdk/shared-CSfgTVcf.js +0 -6
@@ -1,23 +1,454 @@
1
- * {
2
- box-sizing: border-box;
3
- }
4
-
5
1
  .seams-profile-button-morphable {
2
+ box-sizing: border-box;
6
3
  position: relative;
7
- background-color: var(--seams-colors-colorBackground);
4
+ background: var(--seams-colors-colorBackground);
8
5
  border: 1px solid var(--seams-colors-borderPrimary);
9
- border-radius: 2rem;
10
- box-shadow: var(--seams-shadows-sm);
6
+ border-radius: 27px;
7
+ box-shadow:
8
+ 0 2px 3px rgb(0 0 0 / 0.02),
9
+ 0 16px 36px rgb(0 0 0 / 0.06);
11
10
  font-size: 14px;
12
- font-weight: 500;
11
+ font-weight: 400;
13
12
  color: var(--seams-colors-textPrimary);
13
+ width: fit-content;
14
+ max-width: 100%;
15
+ }
16
+ .seams-profile-button-morphable.open {
17
+ width: 420px;
18
+ overflow: hidden;
19
+ }
20
+ .seams-account-resize {
21
+ overflow: hidden;
22
+ }
23
+ .seams-account-panel-content {
24
+ width: 100%;
25
+ display: flow-root;
26
+ }
27
+ .seams-account-origin {
28
+ display: flex;
29
+ align-items: center;
30
+ gap: 9px;
31
+ padding: 16px 20px 0;
32
+ font-size: 13px;
33
+ color: var(--seams-colors-textSecondary);
34
+ }
35
+ .seams-account-origin > span {
36
+ overflow: hidden;
37
+ text-overflow: ellipsis;
38
+ white-space: nowrap;
39
+ }
40
+ .seams-account-origin > button {
41
+ margin-left: auto;
42
+ background: none;
43
+ border: 0;
44
+ color: inherit;
45
+ width: 24px;
46
+ height: 24px;
47
+ padding: 0;
48
+ display: grid;
49
+ place-items: center;
14
50
  cursor: pointer;
51
+ }
52
+ .seams-account-main {
53
+ padding: 16px 20px;
54
+ }
55
+ .seams-account-heading h2 {
56
+ font: inherit;
57
+ font-size: 24px;
58
+ font-weight: 600;
59
+ letter-spacing: -0.8px;
60
+ line-height: 1.15;
61
+ margin: 0;
62
+ color: var(--seams-colors-textPrimary);
63
+ }
64
+ .seams-account-heading {
65
+ display: flex;
66
+ align-items: center;
67
+ gap: 10px;
68
+ margin-bottom: 10px;
69
+ }
70
+ .seams-account-heading h2:focus {
15
71
  outline: none;
72
+ }
73
+ .seams-account-back {
74
+ width: 24px;
75
+ height: 30px;
76
+ padding: 0;
77
+ margin-left: -3px;
78
+ display: grid;
79
+ place-items: center;
80
+ border: 0;
81
+ background: none;
82
+ color: inherit;
83
+ cursor: pointer;
84
+ flex-shrink: 0;
85
+ }
86
+ .seams-account-identity {
87
+ display: flex;
88
+ align-items: center;
89
+ gap: 12px;
90
+ padding: 10px;
91
+ margin-top: 0;
92
+ border-radius: 12px;
93
+ background: var(--seams-colors-surface2);
94
+ }
95
+ .seams-account-avatar {
96
+ display: grid;
97
+ place-items: center;
98
+ width: 36px;
99
+ height: 36px;
100
+ border-radius: 10px;
101
+ background: color-mix(
102
+ in srgb,
103
+ var(--seams-colors-textSecondary) 10%,
104
+ var(--seams-colors-surface2)
105
+ );
106
+ color: var(--seams-colors-textSecondary);
107
+ flex-shrink: 0;
108
+ }
109
+ .seams-account-identity > div {
110
+ min-width: 0;
111
+ overflow-wrap: anywhere;
112
+ }
113
+ .seams-account-identity strong {
114
+ font-size: 15px;
115
+ font-weight: 500;
116
+ }
117
+ .seams-account-identity small {
118
+ display: block;
119
+ color: var(--seams-colors-textSecondary);
120
+ margin-top: 4px;
121
+ }
122
+ .seams-account-footer {
123
+ border-top: 1px solid var(--seams-colors-borderPrimary);
124
+ display: flex;
125
+ justify-content: center;
126
+ align-items: center;
127
+ gap: 8px;
128
+ height: 44px;
129
+ color: var(--seams-colors-textSecondary);
130
+ font-size: 12px;
131
+ }
132
+ .seams-account-wordmark {
133
+ width: 70px;
134
+ height: 18px;
135
+ color: var(--seams-colors-textPrimary);
136
+ }
137
+ .seams-account-description {
138
+ font-size: 14px;
139
+ line-height: 1.5;
140
+ color: var(--seams-colors-textSecondary);
141
+ margin: 0 0 16px;
142
+ }
143
+ .seams-account-action {
144
+ display: flex;
145
+ width: 100%;
146
+ align-items: center;
147
+ justify-content: center;
148
+ gap: 9px;
149
+ min-height: 40px;
150
+ padding: 8px 12px;
151
+ border: 1px solid var(--seams-colors-borderPrimary);
152
+ border-radius: 11px;
153
+ font: inherit;
154
+ font-weight: 500;
155
+ background: var(--seams-colors-colorBackground);
156
+ color: inherit;
157
+ cursor: pointer;
158
+ margin-top: 14px;
159
+ }
160
+ .seams-account-action.primary {
161
+ background: var(--seams-colors-textPrimary);
162
+ color: var(--seams-colors-colorBackground);
163
+ border-color: transparent;
164
+ }
165
+ .seams-account-action:disabled {
166
+ opacity: 0.5;
167
+ cursor: default;
168
+ }
169
+ .seams-account-note {
170
+ color: var(--seams-colors-textSecondary);
171
+ font-size: 12px;
172
+ line-height: 1.5;
173
+ margin: 10px 0 0;
174
+ }
175
+ .seams-account-inset {
176
+ padding: 10px 12px;
177
+ background: var(--seams-colors-surface2);
178
+ border-radius: 12px;
179
+ font-size: 13px;
180
+ line-height: 1.5;
181
+ }
182
+ .seams-account-detail-row {
183
+ display: flex;
184
+ justify-content: space-between;
185
+ gap: 12px;
186
+ padding: 6px 0;
187
+ }
188
+ .seams-account-detail-row dt {
189
+ color: var(--seams-colors-textSecondary);
190
+ }
191
+ .seams-account-detail-row dd {
192
+ margin: 0;
193
+ text-align: right;
194
+ overflow-wrap: anywhere;
195
+ }
196
+ .seams-account-device-hero {
197
+ text-align: center;
198
+ padding: 8px 0 12px;
199
+ }
200
+ .seams-account-device-hero .seams-account-avatar {
201
+ width: 44px;
202
+ height: 44px;
203
+ border-radius: 12px;
204
+ margin: 0 auto 8px;
205
+ }
206
+ .seams-account-device-hero h3 {
207
+ font-size: 24px;
208
+ font-weight: 500;
209
+ letter-spacing: -0.6px;
210
+ margin: 0 0 6px;
211
+ }
212
+ .seams-account-device-hero p {
213
+ color: var(--seams-colors-textSecondary);
214
+ font-size: 13px;
215
+ margin: 0;
216
+ }
217
+ .seams-account-method-button {
218
+ display: flex;
219
+ width: 100%;
220
+ align-items: center;
221
+ gap: 12px;
222
+ text-align: left;
223
+ padding: 12px 0;
224
+ border: 0;
225
+ border-bottom: 1px solid var(--seams-colors-borderPrimary);
226
+ background: none;
227
+ color: inherit;
228
+ cursor: pointer;
229
+ font: inherit;
230
+ }
231
+ .seams-account-method-button > div {
232
+ flex: 1;
233
+ }
234
+ .seams-account-method-button strong {
235
+ font-size: 15px;
236
+ font-weight: 500;
237
+ }
238
+ .seams-account-method-button small {
239
+ display: block;
240
+ margin-top: 4px;
241
+ color: var(--seams-colors-textSecondary);
242
+ font-size: 12px;
243
+ }
244
+ .seams-account-method-button > svg {
245
+ width: 16px;
246
+ height: 16px;
247
+ color: var(--seams-colors-textSecondary);
248
+ }
249
+ .seams-account-screen .seams-dropdown-accounts-root,
250
+ .seams-account-screen .seams-dropdown-export-keys-root {
251
+ border: 0;
252
+ border-radius: 12px;
253
+ }
254
+ .seams-account-screen .seams-linked-devices-modal-body {
255
+ max-height: none;
16
256
  overflow: visible;
17
- width: fit-content;
18
- transition: none;
257
+ }
258
+ .seams-account-screen .seams-linked-devices-modal-list {
259
+ margin: 0;
260
+ }
261
+ .seams-account-screen .seams-linked-devices-modal-item {
262
+ background: transparent;
263
+ }
264
+ .seams-account-screen .seams-linked-devices-modal-item-icon {
265
+ background: var(--seams-colors-surface2);
266
+ border-radius: 10px;
267
+ }
268
+ .seams-account-screen .qr-scanner-modal[data-presentation='embedded'] {
269
+ position: static;
270
+ inset: auto;
271
+ width: 100%;
272
+ padding: 0;
273
+ background: transparent;
274
+ backdrop-filter: none;
275
+ min-height: 0;
276
+ display: block;
277
+ animation: none;
278
+ }
279
+ .seams-account-screen .qr-scanner-modal[data-presentation='embedded'] .qr-scanner-panel {
280
+ width: 100%;
281
+ max-width: 100%;
282
+ max-height: none;
283
+ padding: 0;
284
+ background: transparent;
285
+ border: 0;
286
+ box-shadow: none;
287
+ border-radius: 0;
288
+ }
289
+ .seams-account-screen .qr-scanner-modal[data-presentation='embedded'] .qr-scanner-close {
290
+ display: none;
291
+ }
292
+ .seams-account-screen .qr-scanner-camera-container {
293
+ width: 100%;
294
+ height: 208px;
295
+ aspect-ratio: auto;
296
+ border-radius: 15px;
297
+ overflow: hidden;
298
+ }
299
+ .seams-account-screen .qr-scanner-video {
300
+ height: 208px;
301
+ object-fit: cover;
302
+ }
303
+ .seams-account-screen .qr-scanner-instructions {
304
+ color: var(--seams-colors-textSecondary);
305
+ font-size: 12px;
306
+ padding: 12px 0 0;
307
+ text-align: center;
308
+ }
309
+ .seams-account-screen .qr-scanner-overlay {
310
+ animation: none;
311
+ }
312
+ .seams-account-recovery-codes {
313
+ list-style: none;
314
+ display: grid;
315
+ gap: 8px;
316
+ padding: 0;
317
+ margin: 14px 0;
318
+ }
319
+ .seams-account-recovery-codes li {
320
+ display: flex;
321
+ align-items: center;
322
+ gap: 12px;
323
+ padding: 10px 12px;
324
+ border: 1px solid var(--seams-colors-borderPrimary);
325
+ border-radius: 8px;
326
+ }
327
+ .seams-account-recovery-codes li > span {
328
+ color: var(--seams-colors-textSecondary);
329
+ font-size: 11px;
330
+ font-variant-numeric: tabular-nums;
331
+ }
332
+ .seams-account-recovery-codes code {
333
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
334
+ font-size: 14px;
335
+ font-variant-numeric: tabular-nums;
336
+ white-space: nowrap;
337
+ }
338
+ @media (prefers-reduced-motion: no-preference) {
339
+ .seams-account-resize {
340
+ transition: height 240ms cubic-bezier(0.23, 1, 0.32, 1);
341
+ }
342
+ }
343
+ @media (max-width: 480px) {
344
+ .seams-account-main {
345
+ padding-right: 20px;
346
+ padding-left: 20px;
347
+ }
348
+ .seams-account-origin {
349
+ padding-right: 20px;
350
+ padding-left: 20px;
351
+ }
352
+ }
353
+ .seams-account-method-list-item {
354
+ list-style: none;
355
+ }
356
+ .seams-account-screen ul {
357
+ padding-left: 0;
358
+ }
359
+ .seams-account-error {
360
+ color: var(--seams-colors-error, #ae3344);
361
+ font-size: 13px;
362
+ margin: 16px 0 0;
363
+ }
364
+ .seams-account-screen {
365
+ --seams-expander-surface: var(--seams-colors-surface2);
366
+ opacity: 1;
367
+ transition: opacity 140ms ease;
368
+ }
369
+ @starting-style {
370
+ .seams-account-screen {
371
+ opacity: 0;
372
+ }
373
+ }
374
+ .seams-profile-button-morphable {
375
+ font-family: var(--seams-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
376
+ }
377
+ .seams-account-screen [data-detail='true'] > .seams-linked-devices-modal-item-icon,
378
+ .seams-account-screen [data-detail='true'] .seams-linked-devices-modal-item-main,
379
+ .seams-account-screen [data-detail='true'] .seams-linked-devices-modal-item-detail {
380
+ display: none;
381
+ }
382
+ .seams-profile-dropdown-menu .seams-dropdown-menu-item {
383
+ transform: none;
384
+ }
385
+ .seams-account-identity:focus {
386
+ outline: none;
387
+ }
388
+ .seams-account-screen .seams-dropdown-tx-settings-root {
389
+ --seams-expander-surface: var(--seams-colors-colorBackground);
390
+ border: 0;
391
+ border-radius: 12px;
392
+ overflow: hidden;
393
+ margin-top: 14px;
19
394
  }
20
395
 
21
- .seams-profile-button-morphable:hover {
22
- border-color: var(--seams-colors-borderHover);
396
+ .seams-account-method-tiles {
397
+ list-style: none;
398
+ padding: 0;
399
+ margin: 16px 0 0;
400
+ display: grid;
401
+ gap: 8px;
402
+ }
403
+ .seams-account-method-tiles .seams-linked-devices-modal-item {
404
+ border: 1px solid var(--seams-colors-borderPrimary);
405
+ border-radius: 12px;
406
+ padding: 10px;
407
+ }
408
+
409
+ .seams-account-screen .seams-dropdown-toggle-tx-settings-content {
410
+ padding: 8px 0;
411
+ }
412
+ @media (pointer: coarse) {
413
+ .seams-account-action {
414
+ min-height: 44px;
415
+ }
416
+ }
417
+
418
+ .seams-recovery-code-actions {
419
+ display: grid;
420
+ grid-template-columns: repeat(2, minmax(0, 1fr));
421
+ gap: 8px;
422
+ }
423
+ .seams-recovery-code-actions .seams-account-action {
424
+ margin-top: 0;
425
+ }
426
+ .seams-recovery-code-action-status {
427
+ margin: 6px 0 0;
428
+ font-size: 12px;
429
+ color: var(--seams-colors-textSecondary);
430
+ }
431
+
432
+ .seams-recovery-code-action-status:empty {
433
+ margin: 0;
434
+ }
435
+
436
+ .seams-account-recovery-acknowledgement {
437
+ display: flex;
438
+ align-items: center;
439
+ gap: 10px;
440
+ margin-top: 16px;
441
+ padding-top: 14px;
442
+ padding-inline-start: 0.5rem;
443
+ border-top: 1px solid var(--seams-colors-borderPrimary);
444
+ font-size: 12px;
445
+ line-height: 1.45;
446
+ cursor: pointer;
447
+ }
448
+ .seams-account-recovery-acknowledgement input {
449
+ width: 16px;
450
+ height: 16px;
451
+ margin: 0;
452
+ flex-shrink: 0;
453
+ accent-color: var(--seams-colors-textPrimary);
23
454
  }
@@ -25,7 +25,7 @@ const useProfileState = (options) => {
25
25
  const clickedInsideDropdown = isInPath(dropdownRef.current);
26
26
  if (clickedInsideButton || clickedInsideDropdown) return;
27
27
  const pathEls = path.filter((n) => n instanceof HTMLElement);
28
- if (pathEls.some((el) => Array.from(el.classList ?? []).some((c) => c.startsWith("seams-access-keys-modal") || c.startsWith("seams-export-key-type-modal")))) return;
28
+ if (pathEls.some((el) => Array.from(el.classList ?? []).some((c) => c.startsWith("seams-access-keys-modal") || c.startsWith("seams-export-key-type-modal") || c.startsWith("seams-linked-devices-modal")))) return;
29
29
  if (pathEls.some((el) => el.classList?.contains("qr-scanner-modal") || el.classList?.contains("qr-scanner-panel") || el.classList?.contains("qr-scanner-linking-toast"))) return;
30
30
  if (!isControlled) setUncontrolledOpen(false);
31
31
  onOpenChange?.(false);
@@ -0,0 +1,8 @@
1
+ import { lucideIcon } from "./lucideIcon.js";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/react/components/AccountMenuButton/icons/LayersIcon.tsx
4
+ const LayersIcon = lucideIcon("layers-2", /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("path", { d: "M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74z" }), /* @__PURE__ */ jsx("path", { d: "m20 14.285 1.5.845a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74l1.5-.845" })] }));
5
+ //#endregion
6
+ export { LayersIcon };
7
+
8
+ //# sourceMappingURL=LayersIcon.js.map
@@ -0,0 +1,22 @@
1
+ import { lucideIcon } from "./lucideIcon.js";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/react/components/AccountMenuButton/icons/LockKeyholeIcon.tsx
4
+ const LockKeyholeIcon = lucideIcon("lock-keyhole", /* @__PURE__ */ jsxs(Fragment, { children: [
5
+ /* @__PURE__ */ jsx("circle", {
6
+ cx: "12",
7
+ cy: "16",
8
+ r: "1"
9
+ }),
10
+ /* @__PURE__ */ jsx("rect", {
11
+ x: "3",
12
+ y: "10",
13
+ width: "18",
14
+ height: "12",
15
+ rx: "2"
16
+ }),
17
+ /* @__PURE__ */ jsx("path", { d: "M7 10V7a5 5 0 0 1 10 0v3" })
18
+ ] }));
19
+ //#endregion
20
+ export { LockKeyholeIcon };
21
+
22
+ //# sourceMappingURL=LockKeyholeIcon.js.map
@@ -0,0 +1,8 @@
1
+ import { lucideIcon } from "./lucideIcon.js";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/react/components/AccountMenuButton/icons/PlusIcon.tsx
4
+ const PlusIcon = lucideIcon("plus", /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("path", { d: "M5 12h14" }), /* @__PURE__ */ jsx("path", { d: "M12 5v14" })] }));
5
+ //#endregion
6
+ export { PlusIcon };
7
+
8
+ //# sourceMappingURL=PlusIcon.js.map
@@ -1,8 +1,8 @@
1
1
  import { useDrawInStrokeIcon } from "./strokeIcon.js";
2
2
  import "react";
3
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region src/react/components/AccountMenuButton/icons/SunIcon.tsx
5
- const SunIcon = (props) => useDrawInStrokeIcon(props, "sun", "#FACC15", (drawIn) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
5
+ const SunIcon = (props) => useDrawInStrokeIcon(props, "sun", "#FACC15", (drawIn) => /* @__PURE__ */ jsxs(Fragment, { children: [
6
6
  /* @__PURE__ */ jsx("circle", {
7
7
  cx: "12",
8
8
  cy: "12",
@@ -1,9 +1,5 @@
1
1
  /* TouchIcon specific styles and animations */
2
2
 
3
- .seams-fingerprint-icon {
4
- transition: transform 400ms ease;
5
- }
6
-
7
3
  .seams-fingerprint-icon path {
8
4
  /* Normalize path length so dash animations are simple */
9
5
  stroke: currentColor;
@@ -40,7 +36,3 @@
40
36
  stroke-dashoffset: 0;
41
37
  }
42
38
  }
43
-
44
- .seams-fingerprint-icon:hover {
45
- transform: rotate(180deg) scale(1.2);
46
- }