@seams/wallet 0.27.0 → 0.28.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.
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/walletIframe/client/router.js +38 -0
- package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +16 -0
- package/dist/esm/SeamsWeb/walletIframe/host/walletMutationGuard.js +1 -0
- package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +27 -4
- package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +1 -1
- package/dist/esm/core/authMethods/plugins.js +8 -2
- package/dist/esm/core/ui/messages.js +5 -0
- package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +35 -22
- package/dist/esm/react/components/AccountMenuButton/AccountSettingsDialog.js +157 -0
- package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +13 -1
- package/dist/esm/react/components/AccountMenuButton/ExternalWalletSettings.js +46 -0
- package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +14 -2
- package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +1 -1
- package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +154 -5
- package/dist/esm/react/components/AccountMenuButton/index.js +7 -3
- package/dist/esm/react/context/reactLoginStateBuilders.js +20 -0
- package/dist/esm/react/styles/styles.css +154 -5
- package/dist/esm/sdk/{ConfirmationDrawer-AZruQmhP.js → ConfirmationDrawer-MJoE0AAo.js} +1 -1
- package/dist/{public/sdk/adapters-d9yh1bdC.js → esm/sdk/adapters-C-g_hkkZ.js} +1 -1
- package/dist/esm/sdk/appearance-token-vars-01eH9pgA.js +1 -0
- package/dist/esm/sdk/configBuilder-DpChXfDO.js +1 -0
- package/dist/esm/sdk/{configuration-DBEc3bsj.js → configuration-BAad7ngq.js} +1 -1
- package/dist/esm/sdk/{confirm-ui-nU6ymgiv.js → confirm-ui-em0vkd2m.js} +1 -1
- package/dist/esm/sdk/{deviceLinkApproval-CfEiotVt.js → deviceLinkApproval-x3WkiYrd.js} +1 -1
- package/dist/esm/sdk/{export-viewer-host-BtrKVXxu.js → export-viewer-host-BSTfHhau.js} +1 -1
- package/dist/{public/sdk/exportKeypairOperation-CGE9ZU1m.js → esm/sdk/exportKeypairOperation-CjST_NUK.js} +1 -1
- package/dist/esm/sdk/host-C51z-AxP.js +1 -0
- package/dist/esm/sdk/{localOnly-BATWJj78.js → localOnly-Xs89Xajm.js} +1 -1
- package/dist/esm/sdk/{mountExportPrivateKeySurface-CyHU8bVc.js → mountExportPrivateKeySurface-CsUEKeum.js} +1 -1
- package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-C7aglQxf.js → mountRecoveryCodeBackupSurface-kFLo5zLk.js} +1 -1
- package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js → esm/sdk/pendingWalletRecoveryCodeBackup-B-R_U34I.js} +1 -1
- package/dist/esm/sdk/{registration-CNLUYN-p.js → registration-Byl4l4yZ.js} +1 -1
- package/dist/esm/sdk/{registration-HSwOHZOo.js → registration-C2fb9kRQ.js} +1 -1
- package/dist/esm/sdk/resealedEnvelopeResult-CLW00Vbw.js +1 -0
- package/dist/esm/sdk/runtime-auth-ufbVur2p.js +1 -0
- package/dist/esm/sdk/{runtime-device-link-DAsq5tGT.js → runtime-device-link-CagI2Q62.js} +1 -1
- package/dist/{public/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js → esm/sdk/runtime-ecdsa-tempo-Rctxr0yM.js} +1 -1
- package/dist/{public/sdk/runtime-email-otp-BxSKK9AG.js → esm/sdk/runtime-email-otp-BQtcG-LF.js} +1 -1
- package/dist/esm/sdk/{runtime-export-BWnQXMzT.js → runtime-export-wTeEaqlk.js} +1 -1
- package/dist/esm/sdk/{runtime-near-CuzPZrDS.js → runtime-near-59yU_3ud.js} +1 -1
- package/dist/esm/sdk/{runtime-preferences-B-nDWlm3.js → runtime-preferences-B9qLHX8W.js} +1 -1
- package/dist/esm/sdk/{runtime-recovery-DpOdEJ8N.js → runtime-recovery-DNyzdMBj.js} +1 -1
- package/dist/esm/sdk/{runtime-recovery-codes-DeUjQsxZ.js → runtime-recovery-codes-si1fGktB.js} +1 -1
- package/dist/esm/sdk/runtimeContext-ByeM6Z4Z.js +6 -0
- package/dist/{public/sdk/sessionObservationRevision-JOvVF4Hf.js → esm/sdk/sessionObservationRevision-ihBwjS3y.js} +1 -1
- package/dist/esm/sdk/tx-confirm-ui.js +8 -0
- package/dist/esm/sdk/voiceid-host.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/esm/sdk/{walletRecoveryAdminProof-CvSYbyg5.js → walletRecoveryAdminProof-B4Ic07jY.js} +1 -1
- package/dist/esm/shared-ts/src/auth/externalAuth.js +53 -0
- package/dist/esm/voiceid-host.js +1 -1
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/{ConfirmationDrawer-AZruQmhP.js → ConfirmationDrawer-MJoE0AAo.js} +1 -1
- package/dist/{esm/sdk/adapters-d9yh1bdC.js → public/sdk/adapters-C-g_hkkZ.js} +1 -1
- package/dist/public/sdk/appearance-token-vars-01eH9pgA.js +1 -0
- package/dist/public/sdk/configBuilder-DpChXfDO.js +1 -0
- package/dist/public/sdk/{configuration-DBEc3bsj.js → configuration-BAad7ngq.js} +1 -1
- package/dist/public/sdk/{confirm-ui-nU6ymgiv.js → confirm-ui-em0vkd2m.js} +1 -1
- package/dist/public/sdk/{deviceLinkApproval-CfEiotVt.js → deviceLinkApproval-x3WkiYrd.js} +1 -1
- package/dist/public/sdk/{export-viewer-host-BtrKVXxu.js → export-viewer-host-BSTfHhau.js} +1 -1
- package/dist/{esm/sdk/exportKeypairOperation-CGE9ZU1m.js → public/sdk/exportKeypairOperation-CjST_NUK.js} +1 -1
- package/dist/public/sdk/host-C51z-AxP.js +1 -0
- package/dist/public/sdk/{localOnly-BATWJj78.js → localOnly-Xs89Xajm.js} +1 -1
- package/dist/public/sdk/{mountExportPrivateKeySurface-CyHU8bVc.js → mountExportPrivateKeySurface-CsUEKeum.js} +1 -1
- package/dist/public/sdk/{mountRecoveryCodeBackupSurface-C7aglQxf.js → mountRecoveryCodeBackupSurface-kFLo5zLk.js} +1 -1
- package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js → public/sdk/pendingWalletRecoveryCodeBackup-B-R_U34I.js} +1 -1
- package/dist/public/sdk/{registration-CNLUYN-p.js → registration-Byl4l4yZ.js} +1 -1
- package/dist/public/sdk/{registration-HSwOHZOo.js → registration-C2fb9kRQ.js} +1 -1
- package/dist/public/sdk/resealedEnvelopeResult-CLW00Vbw.js +1 -0
- package/dist/public/sdk/runtime-auth-ufbVur2p.js +1 -0
- package/dist/public/sdk/{runtime-device-link-DAsq5tGT.js → runtime-device-link-CagI2Q62.js} +1 -1
- package/dist/{esm/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js → public/sdk/runtime-ecdsa-tempo-Rctxr0yM.js} +1 -1
- package/dist/{esm/sdk/runtime-email-otp-BxSKK9AG.js → public/sdk/runtime-email-otp-BQtcG-LF.js} +1 -1
- package/dist/public/sdk/{runtime-export-BWnQXMzT.js → runtime-export-wTeEaqlk.js} +1 -1
- package/dist/public/sdk/{runtime-near-CuzPZrDS.js → runtime-near-59yU_3ud.js} +1 -1
- package/dist/public/sdk/{runtime-preferences-B-nDWlm3.js → runtime-preferences-B9qLHX8W.js} +1 -1
- package/dist/public/sdk/{runtime-recovery-DpOdEJ8N.js → runtime-recovery-DNyzdMBj.js} +1 -1
- package/dist/public/sdk/{runtime-recovery-codes-DeUjQsxZ.js → runtime-recovery-codes-si1fGktB.js} +1 -1
- package/dist/public/sdk/runtimeContext-ByeM6Z4Z.js +6 -0
- package/dist/{esm/sdk/sessionObservationRevision-JOvVF4Hf.js → public/sdk/sessionObservationRevision-ihBwjS3y.js} +1 -1
- package/dist/public/sdk/tx-confirm-ui.js +8 -0
- package/dist/public/sdk/voiceid-host.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/public/sdk/{walletRecoveryAdminProof-CvSYbyg5.js → walletRecoveryAdminProof-B4Ic07jY.js} +1 -1
- package/dist/public/wallet-assets.manifest.json +61 -61
- package/dist/public/wallet-service/index.html +4 -4
- package/dist/types/shared-ts/src/auth/externalAuth.d.ts +84 -0
- package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +2 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +11 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +4 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +4 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +5 -2
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/externalAuth.d.ts +29 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +1 -1
- package/dist/types/wallet/src/SeamsWeb/walletIframe/host/sessionObserver.d.ts +1 -0
- package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +3 -3
- package/dist/types/wallet/src/core/authMethods/plugins.d.ts +2 -0
- package/dist/types/wallet/src/core/types/seams.d.ts +14 -6
- package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
- package/dist/types/wallet/src/index.d.ts +1 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +2 -1
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountSettingsDialog.d.ts +10 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/AuthenticationMethodsModal.d.ts +1 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/ExternalWalletSettings.d.ts +10 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/LinkedDevicesModal.d.ts +1 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +1 -0
- package/dist/types/wallet/src/react/components/AccountMenuButton/hooks/useProfileState.d.ts +2 -2
- package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +4 -3
- package/dist/types/wallet/src/react/context/reactLoginStateBuilders.d.ts +1 -1
- package/dist/types/wallet/src/react/types.d.ts +13 -3
- package/dist/types/wallet/src/voiceid-host.d.ts +2 -2
- package/package.json +1 -1
- package/dist/esm/react/components/AccountMenuButton/AccountMenuModal.js +0 -66
- package/dist/esm/sdk/appearance-token-vars-BJydfWT_.js +0 -1
- package/dist/esm/sdk/configBuilder-CSwJrmcR.js +0 -1
- package/dist/esm/sdk/host-DayrOrgm.js +0 -1
- package/dist/esm/sdk/resealedEnvelopeResult-B1p5UkYg.js +0 -1
- package/dist/esm/sdk/runtime-auth-BCoj7_-G.js +0 -1
- package/dist/esm/sdk/runtimeContext-5JcewRo3.js +0 -6
- package/dist/public/sdk/appearance-token-vars-BJydfWT_.js +0 -1
- package/dist/public/sdk/configBuilder-CSwJrmcR.js +0 -1
- package/dist/public/sdk/host-DayrOrgm.js +0 -1
- package/dist/public/sdk/resealedEnvelopeResult-B1p5UkYg.js +0 -1
- package/dist/public/sdk/runtime-auth-BCoj7_-G.js +0 -1
- package/dist/public/sdk/runtimeContext-5JcewRo3.js +0 -6
- package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuModal.d.ts +0 -9
|
@@ -574,7 +574,7 @@
|
|
|
574
574
|
accent-color: var(--seams-colors-textPrimary);
|
|
575
575
|
}
|
|
576
576
|
|
|
577
|
-
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-
|
|
577
|
+
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-dialog {
|
|
578
578
|
display: none;
|
|
579
579
|
position: fixed;
|
|
580
580
|
inset: 0;
|
|
@@ -596,16 +596,165 @@
|
|
|
596
596
|
color: var(--seams-colors-textPrimary);
|
|
597
597
|
box-shadow: none;
|
|
598
598
|
}
|
|
599
|
-
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-
|
|
599
|
+
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-dialog[open] {
|
|
600
600
|
display: block;
|
|
601
601
|
}
|
|
602
|
-
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-
|
|
602
|
+
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-dialog::backdrop {
|
|
603
603
|
background: rgb(0 0 0 / 0.26);
|
|
604
604
|
}
|
|
605
|
-
[data-seams-root].seams-theme-provider .seams-account-
|
|
605
|
+
[data-seams-root].seams-theme-provider .seams-account-dialog .seams-profile-button-morphable.open {
|
|
606
606
|
width: 100%;
|
|
607
607
|
}
|
|
608
|
-
html:has(dialog[data-seams-root].seams-account-
|
|
608
|
+
html:has(dialog[data-seams-root].seams-account-dialog[open]) {
|
|
609
609
|
overflow: hidden;
|
|
610
610
|
scrollbar-gutter: stable;
|
|
611
611
|
}
|
|
612
|
+
|
|
613
|
+
[data-seams-root].seams-theme-provider
|
|
614
|
+
dialog[data-seams-root].seams-account-dialog[data-presentation='drawer'] {
|
|
615
|
+
--seams-account-drawer-offset: translateX(100%);
|
|
616
|
+
inset-block: 0;
|
|
617
|
+
inset-inline: auto 0;
|
|
618
|
+
margin: 0;
|
|
619
|
+
width: min(440px, 100vw);
|
|
620
|
+
max-width: 100vw;
|
|
621
|
+
height: 100dvh;
|
|
622
|
+
max-height: 100dvh;
|
|
623
|
+
border-radius: 0;
|
|
624
|
+
border-start-start-radius: var(--seams-border-radius-lg);
|
|
625
|
+
border-end-start-radius: var(--seams-border-radius-lg);
|
|
626
|
+
overflow: hidden;
|
|
627
|
+
background: var(--seams-colors-colorBackground);
|
|
628
|
+
box-shadow: var(--seams-shadows-xl);
|
|
629
|
+
}
|
|
630
|
+
@media (min-width: 601px) {
|
|
631
|
+
[data-seams-root].seams-theme-provider
|
|
632
|
+
dialog[data-seams-root].seams-account-dialog[data-presentation='drawer']:dir(rtl) {
|
|
633
|
+
--seams-account-drawer-offset: translateX(-100%);
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
[data-seams-root].seams-theme-provider .seams-account-dialog[data-presentation='drawer']::backdrop {
|
|
637
|
+
background: rgb(13 20 24 / 0.22);
|
|
638
|
+
transition: background-color 240ms ease;
|
|
639
|
+
}
|
|
640
|
+
[data-seams-root].seams-theme-provider
|
|
641
|
+
.seams-account-dialog[data-presentation='drawer'][data-state='closing']::backdrop {
|
|
642
|
+
background: transparent;
|
|
643
|
+
}
|
|
644
|
+
@starting-style {
|
|
645
|
+
[data-seams-root].seams-theme-provider
|
|
646
|
+
.seams-account-dialog[data-presentation='drawer'][open]::backdrop {
|
|
647
|
+
background: transparent;
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
[data-seams-root].seams-theme-provider
|
|
651
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
652
|
+
.seams-profile-button-morphable.open {
|
|
653
|
+
height: 100%;
|
|
654
|
+
border: 0;
|
|
655
|
+
border-radius: inherit;
|
|
656
|
+
box-shadow: none;
|
|
657
|
+
animation: none;
|
|
658
|
+
}
|
|
659
|
+
[data-seams-root].seams-theme-provider
|
|
660
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
661
|
+
.seams-account-resize {
|
|
662
|
+
height: 100%;
|
|
663
|
+
}
|
|
664
|
+
[data-seams-root].seams-theme-provider
|
|
665
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
666
|
+
.seams-account-panel-content {
|
|
667
|
+
display: flex;
|
|
668
|
+
flex-direction: column;
|
|
669
|
+
height: 100%;
|
|
670
|
+
}
|
|
671
|
+
[data-seams-root].seams-theme-provider
|
|
672
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
673
|
+
.seams-account-origin {
|
|
674
|
+
display: grid;
|
|
675
|
+
grid-template-columns: 14px 1fr 32px;
|
|
676
|
+
flex: none;
|
|
677
|
+
padding: var(--seams-spacing-lg) var(--seams-spacing-lg) 0;
|
|
678
|
+
}
|
|
679
|
+
[data-seams-root].seams-theme-provider h2.seams-account-drawer-title {
|
|
680
|
+
grid-column: 1 / -1;
|
|
681
|
+
color: var(--seams-colors-textPrimary);
|
|
682
|
+
font: inherit;
|
|
683
|
+
font-size: 25px;
|
|
684
|
+
font-weight: 550;
|
|
685
|
+
letter-spacing: -0.8px;
|
|
686
|
+
line-height: 1.2;
|
|
687
|
+
margin: var(--seams-spacing-md) 0 2px;
|
|
688
|
+
}
|
|
689
|
+
[data-seams-root].seams-theme-provider
|
|
690
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
691
|
+
.seams-account-main {
|
|
692
|
+
flex: 1;
|
|
693
|
+
min-height: 0;
|
|
694
|
+
overflow-y: auto;
|
|
695
|
+
overscroll-behavior: contain;
|
|
696
|
+
padding: calc(var(--seams-spacing-md) + var(--seams-spacing-xs)) var(--seams-spacing-lg)
|
|
697
|
+
var(--seams-spacing-lg);
|
|
698
|
+
}
|
|
699
|
+
[data-seams-root].seams-theme-provider
|
|
700
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
701
|
+
.seams-account-main:has(> .seams-account-identity) {
|
|
702
|
+
display: flex;
|
|
703
|
+
flex-direction: column;
|
|
704
|
+
}
|
|
705
|
+
[data-seams-root].seams-theme-provider
|
|
706
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
707
|
+
.seams-account-identity {
|
|
708
|
+
flex: none;
|
|
709
|
+
}
|
|
710
|
+
[data-seams-root].seams-theme-provider
|
|
711
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
712
|
+
.seams-profile-dropdown-menu {
|
|
713
|
+
display: flex;
|
|
714
|
+
flex-direction: column;
|
|
715
|
+
flex: 1;
|
|
716
|
+
}
|
|
717
|
+
[data-seams-root].seams-theme-provider
|
|
718
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
719
|
+
button.seams-lock-menu-item {
|
|
720
|
+
margin-top: auto;
|
|
721
|
+
flex: none;
|
|
722
|
+
}
|
|
723
|
+
[data-seams-root].seams-theme-provider
|
|
724
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
725
|
+
.seams-account-menu-group:last-of-type {
|
|
726
|
+
margin-bottom: var(--seams-spacing-lg);
|
|
727
|
+
}
|
|
728
|
+
[data-seams-root].seams-theme-provider
|
|
729
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
730
|
+
.seams-account-footer {
|
|
731
|
+
flex: none;
|
|
732
|
+
padding: var(--seams-spacing-md) var(--seams-spacing-lg);
|
|
733
|
+
}
|
|
734
|
+
[data-seams-root].seams-theme-provider
|
|
735
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
736
|
+
button.seams-dropdown-menu-item {
|
|
737
|
+
min-height: 46px;
|
|
738
|
+
}
|
|
739
|
+
@media (max-width: 600px) {
|
|
740
|
+
[data-seams-root].seams-theme-provider
|
|
741
|
+
dialog[data-seams-root].seams-account-dialog[data-presentation='drawer'] {
|
|
742
|
+
--seams-account-drawer-offset: translateY(100%);
|
|
743
|
+
inset: auto 0 0;
|
|
744
|
+
width: 100%;
|
|
745
|
+
height: min(720px, calc(100dvh - 36px));
|
|
746
|
+
max-height: calc(100dvh - 36px);
|
|
747
|
+
border-radius: var(--seams-border-radius-lg) var(--seams-border-radius-lg) 0 0;
|
|
748
|
+
}
|
|
749
|
+
[data-seams-root].seams-theme-provider
|
|
750
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
751
|
+
.seams-account-footer {
|
|
752
|
+
padding-bottom: max(var(--seams-spacing-md), env(safe-area-inset-bottom));
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
@media (prefers-reduced-motion: reduce) {
|
|
756
|
+
[data-seams-root].seams-theme-provider
|
|
757
|
+
.seams-account-dialog[data-presentation='drawer']::backdrop {
|
|
758
|
+
transition: none;
|
|
759
|
+
}
|
|
760
|
+
}
|
|
@@ -115,15 +115,17 @@ const AccountMenuButtonInner = (props) => {
|
|
|
115
115
|
const accountMenuCapabilities = accountMenuCapabilitiesForLoginState(loginState);
|
|
116
116
|
const canShowRecoveryCodes = accountMenuCapabilities.kind === "owner" && Boolean(walletId);
|
|
117
117
|
const canManageLinkedDevices = accountMenuCapabilities.canManageLinkedDevices;
|
|
118
|
+
const canReadSettings = loginState.isLoggedIn && loginState.access === "external";
|
|
118
119
|
const handleQrCodeScanned = useCallback(() => {
|
|
119
120
|
setShowQRScanner(false);
|
|
120
121
|
handleClose();
|
|
121
122
|
}, [handleClose]);
|
|
122
123
|
useEffect(() => {
|
|
123
124
|
const switchedWallet = accountSetupState.kind !== "idle" && walletId !== null && walletId !== accountSetupState.walletId;
|
|
124
|
-
if (!canManageLinkedDevices && !accountSetupRunning && accountSetupState.kind !== "added" || switchedWallet) setScreen("overview");
|
|
125
|
+
if (!canManageLinkedDevices && !canReadSettings && !accountSetupRunning && accountSetupState.kind !== "added" || switchedWallet) setScreen("overview");
|
|
125
126
|
}, [
|
|
126
127
|
canManageLinkedDevices,
|
|
128
|
+
canReadSettings,
|
|
127
129
|
accountSetupRunning,
|
|
128
130
|
accountSetupState,
|
|
129
131
|
walletId
|
|
@@ -330,7 +332,7 @@ const AccountMenuButtonInner = (props) => {
|
|
|
330
332
|
icon: /* @__PURE__ */ jsx(TouchIcon, {}),
|
|
331
333
|
label: "Authentication methods",
|
|
332
334
|
description: "Add or remove ways to unlock this device",
|
|
333
|
-
disabled: !canManageLinkedDevices,
|
|
335
|
+
disabled: !canManageLinkedDevices && !canReadSettings,
|
|
334
336
|
onClick: setScreen.bind(null, "authentication-methods"),
|
|
335
337
|
keepOpenOnClick: true
|
|
336
338
|
}, {
|
|
@@ -346,7 +348,7 @@ const AccountMenuButtonInner = (props) => {
|
|
|
346
348
|
icon: /* @__PURE__ */ jsx(LinkIcon, {}),
|
|
347
349
|
label: "Linked devices",
|
|
348
350
|
description: "See devices using this wallet",
|
|
349
|
-
disabled: !canManageLinkedDevices,
|
|
351
|
+
disabled: !canManageLinkedDevices && !canReadSettings,
|
|
350
352
|
onClick: setScreen.bind(null, "linked-devices"),
|
|
351
353
|
keepOpenOnClick: true
|
|
352
354
|
});
|
|
@@ -372,6 +374,7 @@ const AccountMenuButtonInner = (props) => {
|
|
|
372
374
|
accountsRows.length,
|
|
373
375
|
layout,
|
|
374
376
|
accountMenuCapabilities,
|
|
377
|
+
canReadSettings,
|
|
375
378
|
canShowRecoveryCodes,
|
|
376
379
|
exportLoadingChain,
|
|
377
380
|
loginState.isLoggedIn,
|
|
@@ -491,6 +494,7 @@ const AccountMenuButtonInner = (props) => {
|
|
|
491
494
|
})
|
|
492
495
|
};
|
|
493
496
|
if (layout === "page" && loginState.isLoggedIn && walletId) return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(WalletSettingsLayout, {
|
|
497
|
+
access: loginState.access,
|
|
494
498
|
walletId: toWalletId(walletId),
|
|
495
499
|
placement: seams.placement,
|
|
496
500
|
menuItems: MENU_ITEMS,
|
|
@@ -3,6 +3,7 @@ import { isWalletSessionReadyForUi } from "./walletSessionReadiness.js";
|
|
|
3
3
|
//#region src/react/context/reactLoginStateBuilders.ts
|
|
4
4
|
function linkedDeviceManagementPermissionForLoginState(state) {
|
|
5
5
|
if (!state.isLoggedIn) return { kind: "unauthenticated" };
|
|
6
|
+
if (state.access === "external") return { kind: "settings_only" };
|
|
6
7
|
if (state.currentAuthMethod.kind !== "selected") return { kind: "signing_only" };
|
|
7
8
|
return { kind: "owner" };
|
|
8
9
|
}
|
|
@@ -24,6 +25,11 @@ function accountMenuCapabilitiesForLoginState(state) {
|
|
|
24
25
|
canExportKeys: false,
|
|
25
26
|
canManageLinkedDevices: false
|
|
26
27
|
};
|
|
28
|
+
case "settings_only": return {
|
|
29
|
+
kind: "settings_only",
|
|
30
|
+
canExportKeys: false,
|
|
31
|
+
canManageLinkedDevices: false
|
|
32
|
+
};
|
|
27
33
|
}
|
|
28
34
|
return assertNeverAccountMenuPermission(management);
|
|
29
35
|
}
|
|
@@ -47,8 +53,21 @@ function buildReactLoggedInLoginStateFromSession(session) {
|
|
|
47
53
|
if (session.appIdentity.kind !== "resolved") return null;
|
|
48
54
|
const appIdentity = session.appIdentity;
|
|
49
55
|
const authentication = session.authentication;
|
|
56
|
+
if (session.externalSettings) return {
|
|
57
|
+
isLoggedIn: true,
|
|
58
|
+
access: "external",
|
|
59
|
+
externalSettings: session.externalSettings,
|
|
60
|
+
walletId: String(appIdentity.walletId),
|
|
61
|
+
nearAccountId: appIdentity.nearAccountId ? String(appIdentity.nearAccountId) : null,
|
|
62
|
+
nearPublicKey: appIdentity.nearOperationalPublicKey,
|
|
63
|
+
currentAuthMethod: buildNoCurrentWalletAuthMethod(),
|
|
64
|
+
authMethods: [],
|
|
65
|
+
thresholdEcdsaEthereumAddress: appIdentity.thresholdEcdsaEthereumAddress,
|
|
66
|
+
thresholdEcdsaPublicKeyB64u: appIdentity.thresholdEcdsaPublicKeyB64u
|
|
67
|
+
};
|
|
50
68
|
if (authentication.kind === "authenticated" && session.appIdentity.authMethods.length === 0) return {
|
|
51
69
|
isLoggedIn: true,
|
|
70
|
+
access: "wallet",
|
|
52
71
|
walletId: String(appIdentity.walletId),
|
|
53
72
|
nearAccountId: appIdentity.nearAccountId ? String(appIdentity.nearAccountId) : null,
|
|
54
73
|
nearPublicKey: appIdentity.nearOperationalPublicKey,
|
|
@@ -63,6 +82,7 @@ function buildReactLoggedInLoginStateFromSession(session) {
|
|
|
63
82
|
const currentAuthMethod = buildSelectedCurrentWalletAuthMethod({ binding: matchingAuthMethods[0] });
|
|
64
83
|
return {
|
|
65
84
|
isLoggedIn: true,
|
|
85
|
+
access: "wallet",
|
|
66
86
|
walletId: String(appIdentity.walletId),
|
|
67
87
|
nearAccountId: appIdentity.nearAccountId ? String(appIdentity.nearAccountId) : null,
|
|
68
88
|
nearPublicKey: appIdentity.nearOperationalPublicKey,
|
|
@@ -3058,7 +3058,7 @@ svg[data-seams-root].seams-icon[viewBox],
|
|
|
3058
3058
|
accent-color: var(--seams-colors-textPrimary);
|
|
3059
3059
|
}
|
|
3060
3060
|
|
|
3061
|
-
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-
|
|
3061
|
+
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-dialog {
|
|
3062
3062
|
display: none;
|
|
3063
3063
|
position: fixed;
|
|
3064
3064
|
inset: 0;
|
|
@@ -3080,20 +3080,169 @@ svg[data-seams-root].seams-icon[viewBox],
|
|
|
3080
3080
|
color: var(--seams-colors-textPrimary);
|
|
3081
3081
|
box-shadow: none;
|
|
3082
3082
|
}
|
|
3083
|
-
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-
|
|
3083
|
+
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-dialog[open] {
|
|
3084
3084
|
display: block;
|
|
3085
3085
|
}
|
|
3086
|
-
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-
|
|
3086
|
+
[data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-dialog::backdrop {
|
|
3087
3087
|
background: rgb(0 0 0 / 0.26);
|
|
3088
3088
|
}
|
|
3089
|
-
[data-seams-root].seams-theme-provider .seams-account-
|
|
3089
|
+
[data-seams-root].seams-theme-provider .seams-account-dialog .seams-profile-button-morphable.open {
|
|
3090
3090
|
width: 100%;
|
|
3091
3091
|
}
|
|
3092
|
-
html:has(dialog[data-seams-root].seams-account-
|
|
3092
|
+
html:has(dialog[data-seams-root].seams-account-dialog[open]) {
|
|
3093
3093
|
overflow: hidden;
|
|
3094
3094
|
scrollbar-gutter: stable;
|
|
3095
3095
|
}
|
|
3096
3096
|
|
|
3097
|
+
[data-seams-root].seams-theme-provider
|
|
3098
|
+
dialog[data-seams-root].seams-account-dialog[data-presentation='drawer'] {
|
|
3099
|
+
--seams-account-drawer-offset: translateX(100%);
|
|
3100
|
+
inset-block: 0;
|
|
3101
|
+
inset-inline: auto 0;
|
|
3102
|
+
margin: 0;
|
|
3103
|
+
width: min(440px, 100vw);
|
|
3104
|
+
max-width: 100vw;
|
|
3105
|
+
height: 100dvh;
|
|
3106
|
+
max-height: 100dvh;
|
|
3107
|
+
border-radius: 0;
|
|
3108
|
+
border-start-start-radius: var(--seams-border-radius-lg);
|
|
3109
|
+
border-end-start-radius: var(--seams-border-radius-lg);
|
|
3110
|
+
overflow: hidden;
|
|
3111
|
+
background: var(--seams-colors-colorBackground);
|
|
3112
|
+
box-shadow: var(--seams-shadows-xl);
|
|
3113
|
+
}
|
|
3114
|
+
@media (min-width: 601px) {
|
|
3115
|
+
[data-seams-root].seams-theme-provider
|
|
3116
|
+
dialog[data-seams-root].seams-account-dialog[data-presentation='drawer']:dir(rtl) {
|
|
3117
|
+
--seams-account-drawer-offset: translateX(-100%);
|
|
3118
|
+
}
|
|
3119
|
+
}
|
|
3120
|
+
[data-seams-root].seams-theme-provider .seams-account-dialog[data-presentation='drawer']::backdrop {
|
|
3121
|
+
background: rgb(13 20 24 / 0.22);
|
|
3122
|
+
transition: background-color 240ms ease;
|
|
3123
|
+
}
|
|
3124
|
+
[data-seams-root].seams-theme-provider
|
|
3125
|
+
.seams-account-dialog[data-presentation='drawer'][data-state='closing']::backdrop {
|
|
3126
|
+
background: transparent;
|
|
3127
|
+
}
|
|
3128
|
+
@starting-style {
|
|
3129
|
+
[data-seams-root].seams-theme-provider
|
|
3130
|
+
.seams-account-dialog[data-presentation='drawer'][open]::backdrop {
|
|
3131
|
+
background: transparent;
|
|
3132
|
+
}
|
|
3133
|
+
}
|
|
3134
|
+
[data-seams-root].seams-theme-provider
|
|
3135
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3136
|
+
.seams-profile-button-morphable.open {
|
|
3137
|
+
height: 100%;
|
|
3138
|
+
border: 0;
|
|
3139
|
+
border-radius: inherit;
|
|
3140
|
+
box-shadow: none;
|
|
3141
|
+
animation: none;
|
|
3142
|
+
}
|
|
3143
|
+
[data-seams-root].seams-theme-provider
|
|
3144
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3145
|
+
.seams-account-resize {
|
|
3146
|
+
height: 100%;
|
|
3147
|
+
}
|
|
3148
|
+
[data-seams-root].seams-theme-provider
|
|
3149
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3150
|
+
.seams-account-panel-content {
|
|
3151
|
+
display: flex;
|
|
3152
|
+
flex-direction: column;
|
|
3153
|
+
height: 100%;
|
|
3154
|
+
}
|
|
3155
|
+
[data-seams-root].seams-theme-provider
|
|
3156
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3157
|
+
.seams-account-origin {
|
|
3158
|
+
display: grid;
|
|
3159
|
+
grid-template-columns: 14px 1fr 32px;
|
|
3160
|
+
flex: none;
|
|
3161
|
+
padding: var(--seams-spacing-lg) var(--seams-spacing-lg) 0;
|
|
3162
|
+
}
|
|
3163
|
+
[data-seams-root].seams-theme-provider h2.seams-account-drawer-title {
|
|
3164
|
+
grid-column: 1 / -1;
|
|
3165
|
+
color: var(--seams-colors-textPrimary);
|
|
3166
|
+
font: inherit;
|
|
3167
|
+
font-size: 25px;
|
|
3168
|
+
font-weight: 550;
|
|
3169
|
+
letter-spacing: -0.8px;
|
|
3170
|
+
line-height: 1.2;
|
|
3171
|
+
margin: var(--seams-spacing-md) 0 2px;
|
|
3172
|
+
}
|
|
3173
|
+
[data-seams-root].seams-theme-provider
|
|
3174
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3175
|
+
.seams-account-main {
|
|
3176
|
+
flex: 1;
|
|
3177
|
+
min-height: 0;
|
|
3178
|
+
overflow-y: auto;
|
|
3179
|
+
overscroll-behavior: contain;
|
|
3180
|
+
padding: calc(var(--seams-spacing-md) + var(--seams-spacing-xs)) var(--seams-spacing-lg)
|
|
3181
|
+
var(--seams-spacing-lg);
|
|
3182
|
+
}
|
|
3183
|
+
[data-seams-root].seams-theme-provider
|
|
3184
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3185
|
+
.seams-account-main:has(> .seams-account-identity) {
|
|
3186
|
+
display: flex;
|
|
3187
|
+
flex-direction: column;
|
|
3188
|
+
}
|
|
3189
|
+
[data-seams-root].seams-theme-provider
|
|
3190
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3191
|
+
.seams-account-identity {
|
|
3192
|
+
flex: none;
|
|
3193
|
+
}
|
|
3194
|
+
[data-seams-root].seams-theme-provider
|
|
3195
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3196
|
+
.seams-profile-dropdown-menu {
|
|
3197
|
+
display: flex;
|
|
3198
|
+
flex-direction: column;
|
|
3199
|
+
flex: 1;
|
|
3200
|
+
}
|
|
3201
|
+
[data-seams-root].seams-theme-provider
|
|
3202
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3203
|
+
button.seams-lock-menu-item {
|
|
3204
|
+
margin-top: auto;
|
|
3205
|
+
flex: none;
|
|
3206
|
+
}
|
|
3207
|
+
[data-seams-root].seams-theme-provider
|
|
3208
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3209
|
+
.seams-account-menu-group:last-of-type {
|
|
3210
|
+
margin-bottom: var(--seams-spacing-lg);
|
|
3211
|
+
}
|
|
3212
|
+
[data-seams-root].seams-theme-provider
|
|
3213
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3214
|
+
.seams-account-footer {
|
|
3215
|
+
flex: none;
|
|
3216
|
+
padding: var(--seams-spacing-md) var(--seams-spacing-lg);
|
|
3217
|
+
}
|
|
3218
|
+
[data-seams-root].seams-theme-provider
|
|
3219
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3220
|
+
button.seams-dropdown-menu-item {
|
|
3221
|
+
min-height: 46px;
|
|
3222
|
+
}
|
|
3223
|
+
@media (max-width: 600px) {
|
|
3224
|
+
[data-seams-root].seams-theme-provider
|
|
3225
|
+
dialog[data-seams-root].seams-account-dialog[data-presentation='drawer'] {
|
|
3226
|
+
--seams-account-drawer-offset: translateY(100%);
|
|
3227
|
+
inset: auto 0 0;
|
|
3228
|
+
width: 100%;
|
|
3229
|
+
height: min(720px, calc(100dvh - 36px));
|
|
3230
|
+
max-height: calc(100dvh - 36px);
|
|
3231
|
+
border-radius: var(--seams-border-radius-lg) var(--seams-border-radius-lg) 0 0;
|
|
3232
|
+
}
|
|
3233
|
+
[data-seams-root].seams-theme-provider
|
|
3234
|
+
.seams-account-dialog[data-presentation='drawer']
|
|
3235
|
+
.seams-account-footer {
|
|
3236
|
+
padding-bottom: max(var(--seams-spacing-md), env(safe-area-inset-bottom));
|
|
3237
|
+
}
|
|
3238
|
+
}
|
|
3239
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3240
|
+
[data-seams-root].seams-theme-provider
|
|
3241
|
+
.seams-account-dialog[data-presentation='drawer']::backdrop {
|
|
3242
|
+
transition: none;
|
|
3243
|
+
}
|
|
3244
|
+
}
|
|
3245
|
+
|
|
3097
3246
|
[data-seams-root].seams-theme-provider .seams-settings-page {
|
|
3098
3247
|
min-height: 100dvh;
|
|
3099
3248
|
color: var(--seams-colors-textPrimary);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,i as t,r as n}from"./csp-stylesheet-DUSqfXvZ.js";import{c as r,i,r as a,s as o}from"./appearance-token-vars-BJydfWT_.js";async function s(e,t,n){if(!e.isConnected||n?.aborted)return!1;let r=e.ownerDocument,i=r.defaultView?.navigator.clipboard;if(i?.writeText)try{return await i.writeText(t),!0}catch{}if(!e.isConnected||n?.aborted)return!1;let a=r.createElement(`textarea`);a.value=t,a.readOnly=!0,a.className=`seams-offscreen`,e.appendChild(a),a.select();try{return r.execCommand(`copy`)}finally{a.remove()}}function c(){return n(`span`,{class:`copy-icon`,"aria-hidden":`true`,children:[n(`span`,{class:`copy-icon-check`,children:n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:n(`path`,{d:`M20 6 9 17l-5-5`})})}),n(`span`,{class:`copy-icon-copy`,children:n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:[n(`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}),n(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})]})})]})}let l=0;function u(e){return n(d,{...e},e.context)}var d=class extends t{static contextType=a;dialog=e();hosted=e();containerId=`seams-confirmation-modal-${++l}`;componentDidMount(){this.props.context===`standalone`?this.dialog.current?.showModal():this.hosted.current?.focus({preventScroll:!0})}componentWillUnmount(){this.dialog.current?.close()}cancel=e=>{e.preventDefault(),e.stopPropagation(),this.props.onCancel()};backdropClick=e=>{let t=this.dialog.current;if(!t||e.target!==t)return;let n=t.getBoundingClientRect();(e.clientX<n.left||e.clientX>n.right||e.clientY<n.top||e.clientY>n.bottom)&&this.cancel(e)};hostedKeyDown=e=>{!e.defaultPrevented&&e.key===`Escape`&&this.cancel(e)};render(){return this.props.context===`standalone`?n(`dialog`,{ref:this.dialog,class:`seams-confirmation-modal`,"aria-label":o(this.context,this.props.label),onCancel:this.cancel,onClick:this.backdropClick,children:n(`div`,{id:this.containerId,class:`modal-container-root`,tabIndex:-1,children:this.props.children})}):n(`div`,{ref:this.hosted,class:`seams-confirmation-modal seams-confirmation-modal--hosted`,tabIndex:-1,onKeyDown:this.hostedKeyDown,children:n(`div`,{id:this.containerId,class:`modal-container-root`,children:this.props.children})})}};function f(e){let t=e.startTranslatePx+e.deltaPx;if(t>=e.restTranslatePx)return t;let n=Math.max(e.sheetHeightPx*.5,e.viewportHeightPx*.5,e.minimumOverpullPx),r=e.restTranslatePx-t;return e.restTranslatePx-n*(1-1/(r/n+1))}function p(e){let t=e.totalDeltaPx/Math.max(1,e.durationMs);return Math.min(e.velocityPxPerMs,t)<=-.6||Math.max(e.velocityPxPerMs,t)>=.7||e.translatePx>=e.sheetHeightPx-50}let m=0;function h(e){return n(g,{...e},e.context)}var g=class extends t{static contextType=a;state={settled:!1};id=`seams-confirmation-drawer-${++m}`;dialog=e();sheet=e();body=e();content=e();observer=null;frame=null;closeTimer=null;gesture={kind:`idle`};lifetime=`active`;closeReported=!1;suppressPointerClick=!1;componentDidMount(){let e=this.sheet.current,t=e.ownerDocument.defaultView;this.dialog.current?.showModal(),this.dialog.current||e.focus({preventScroll:!0}),this.observer=new ResizeObserver(this.measureContent),this.observer.observe(this.content.current),this.observer.observe(e),t.addEventListener(`resize`,this.scheduleMeasure),t.visualViewport?.addEventListener(`resize`,this.scheduleMeasure),this.measure(),this.frame=t.requestAnimationFrame(this.openAfterLayout),this.props.state.kind===`closing`&&this.startClose()}openAfterLayout=()=>{this.frame=null,this.setState({settled:!0})};componentDidUpdate(e){e.styles!==this.props.styles&&(e.styles.deleteDynamicRule(this.id),e.styles.deleteDynamicRule(`${this.id}-drag`),this.resetGesture(),this.measure()),e.state.kind!==this.props.state.kind&&(this.props.state.kind===`closing`?this.startClose():(this.clearCloseTimer(),this.closeReported=!1)),this.props.state.kind===`open`&&this.props.state.interaction===`busy`&&this.resetGesture()}componentWillUnmount(){this.lifetime=`disposed`,this.resetGesture();let e=this.sheet.current.ownerDocument.defaultView;this.frame!==null&&e.cancelAnimationFrame(this.frame),this.clearCloseTimer(),this.observer?.disconnect(),e.removeEventListener(`resize`,this.scheduleMeasure),e.visualViewport?.removeEventListener(`resize`,this.scheduleMeasure),this.props.styles.deleteDynamicRule(this.id),this.dialog.current?.close()}scheduleMeasure=()=>{this.lifetime===`disposed`||this.frame!==null||(this.frame=this.sheet.current.ownerDocument.defaultView.requestAnimationFrame(this.measureFrame))};measureFrame=()=>{this.frame=null,this.measure()};measureContent=()=>{this.lifetime===`active`&&this.measure()};measure(){if(this.gesture.kind!==`idle`)return;let e=this.sheet.current,t=this.content.current,n=Math.round(t.getBoundingClientRect().bottom-e.getBoundingClientRect().top),r=this.props.context===`standalone`?Math.max(0,e.offsetHeight-n):0;this.props.styles.setDynamicDeclarations(this.id,`#${this.id}`,{"--seams-drawer-rest":`${r}px`})}startClose(){this.resetGesture(),this.clearCloseTimer();let e=this.sheet.current.ownerDocument.defaultView,t=e.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:150;this.closeTimer=e.setTimeout(this.reportClosed,t)}clearCloseTimer(){this.closeTimer!==null&&(this.sheet.current.ownerDocument.defaultView.clearTimeout(this.closeTimer),this.closeTimer=null)}reportClosed=()=>{this.clearCloseTimer(),!(this.lifetime===`disposed`||this.closeReported||this.props.state.kind!==`closing`)&&(this.closeReported=!0,this.props.state.onClosed())};transitionEnd=e=>{e.target===this.sheet.current&&e.propertyName===`transform`&&this.reportClosed()};cancel=e=>{e.preventDefault(),e.stopPropagation(),this.props.state.kind===`open`&&this.props.onCancel()};backdropClick=e=>{this.props.dismissOnBackdrop!==!1&&e.target===this.dialog.current&&this.canDrag()&&this.cancel(e)};keyDown=e=>{!e.defaultPrevented&&e.key===`Escape`&&this.cancel(e)};canDrag(){return this.props.state.kind===`open`&&this.props.state.interaction===`ready`}pointerDown=e=>{if(this.clearClickSuppression(),!this.canDrag()||this.gesture.kind!==`idle`||!e.isPrimary||e.button!==0)return;let t=e.target;if(t instanceof Element&&t.closest(`a, input, textarea, select, summary, button:not(.seams-drawer-handle), [data-seams-drawer-no-drag]`))return;this.gesture={kind:`pending`,pointerId:e.pointerId,startY:e.clientY};let n=this.sheet.current.ownerDocument;n.addEventListener(`pointermove`,this.pointerMove,{passive:!1}),n.addEventListener(`pointerup`,this.pointerUp),n.addEventListener(`pointercancel`,this.pointerCancel)};pointerMove=e=>{let t=this.gesture;if(t.kind===`idle`||t.pointerId!==e.pointerId)return;let n=this.sheet.current;if(t.kind===`pending`){if(Math.abs(e.clientY-t.startY)<8||this.body.current.scrollTop>0)return;let r=n.ownerDocument.defaultView,i=new DOMMatrixReadOnly(r.getComputedStyle(n).transform).m42;t={kind:`dragging`,pointerId:t.pointerId,startY:t.startY,lastY:t.startY,startedAt:e.timeStamp,lastTime:e.timeStamp,velocity:0,rest:i,translate:i,height:n.offsetHeight},this.gesture=t,n.setPointerCapture(e.pointerId),n.classList.add(`is-dragging`)}let r=e.timeStamp-t.lastTime;r>0&&(t.velocity=(e.clientY-t.lastY)/r),t.lastY=e.clientY,t.lastTime=e.timeStamp,t.translate=f({startTranslatePx:t.rest,deltaPx:e.clientY-t.startY,restTranslatePx:t.rest,sheetHeightPx:t.height,viewportHeightPx:n.ownerDocument.defaultView.innerHeight,minimumOverpullPx:160}),this.props.styles.setDynamicDeclarations(`${this.id}-drag`,`#${this.id}`,{"--seams-drawer-drag":`${t.translate}px`}),e.preventDefault()};pointerUp=e=>{let t=this.gesture;if(t.kind===`idle`||t.pointerId!==e.pointerId)return;let n=t.kind===`dragging`&&p({velocityPxPerMs:t.velocity,totalDeltaPx:t.lastY-t.startY,durationMs:e.timeStamp-t.startedAt,translatePx:t.translate,sheetHeightPx:t.height});t.kind===`dragging`&&(this.suppressPointerClick=!0,e.preventDefault()),this.resetGesture(),n&&this.props.state.kind===`open`&&this.props.onCancel()};pointerCancel=e=>{this.gesture.kind!==`idle`&&this.gesture.pointerId===e.pointerId&&(this.gesture.kind===`dragging`&&(this.suppressPointerClick=!0),this.resetGesture())};clearClickSuppression=()=>{this.suppressPointerClick=!1};suppressDragClick=e=>{!this.suppressPointerClick||e.detail===0||(this.suppressPointerClick=!1,e.preventDefault(),e.stopPropagation())};resetGesture(){let e=this.sheet.current,t=this.gesture;this.gesture={kind:`idle`},t.kind!==`idle`&&e.hasPointerCapture(t.pointerId)&&e.releasePointerCapture(t.pointerId),e.classList.remove(`is-dragging`);let n=e.ownerDocument;n.removeEventListener(`pointermove`,this.pointerMove),n.removeEventListener(`pointerup`,this.pointerUp),n.removeEventListener(`pointercancel`,this.pointerCancel),this.props.styles.deleteDynamicRule(`${this.id}-drag`),this.lifetime===`active`&&this.scheduleMeasure()}render(){let e=this.state.settled&&this.props.state.kind===`open`,t=[`seams-confirmation-drawer`];e&&t.push(`is-open`),this.gesture.kind===`dragging`&&t.push(`is-dragging`);let a=n(`section`,{ref:this.sheet,id:this.id,class:t.join(` `),"data-context":this.props.context,tabIndex:-1,onPointerDownCapture:this.pointerDown,onClickCapture:this.suppressDragClick,onLostPointerCapture:this.pointerCancel,onTransitionEnd:this.transitionEnd,onKeyDown:this.keyDown,children:[n(`div`,{class:`seams-drawer-controls`,children:[this.props.origin&&n(`div`,{class:`seams-drawer-origin`,children:this.props.origin}),n(`button`,{type:`button`,class:`seams-drawer-handle`,"aria-label":r(this.context,`Dismiss confirmation`),disabled:!this.canDrag(),onClick:this.cancel,children:n(`span`,{})}),n(`button`,{type:`button`,class:`seams-drawer-close`,"aria-label":r(this.context,`Close`),disabled:!this.canDrag(),onClick:this.cancel,children:`×`})]}),n(`div`,{class:`seams-drawer-body`,ref:this.body,children:[this.props.errorMessage&&n(`div`,{class:`error`,children:n(i,{copy:this.props.errorMessage})}),n(`div`,{class:`seams-drawer-content`,ref:this.content,children:this.props.children})]})]});return this.props.context===`wallet-iframe`?a:n(`dialog`,{class:`seams-drawer-dialog`,ref:this.dialog,"aria-label":o(this.context,this.props.label),onCancel:this.cancel,onClick:this.backdropClick,onClickCapture:this.suppressDragClick,onPointerDownCapture:this.clearClickSuppression,children:a})}};export{s as i,u as n,c as r,h as t};
|
|
1
|
+
import{a as e,i as t,r as n}from"./csp-stylesheet-DUSqfXvZ.js";import{c as r,i,r as a,s as o}from"./appearance-token-vars-01eH9pgA.js";async function s(e,t,n){if(!e.isConnected||n?.aborted)return!1;let r=e.ownerDocument,i=r.defaultView?.navigator.clipboard;if(i?.writeText)try{return await i.writeText(t),!0}catch{}if(!e.isConnected||n?.aborted)return!1;let a=r.createElement(`textarea`);a.value=t,a.readOnly=!0,a.className=`seams-offscreen`,e.appendChild(a),a.select();try{return r.execCommand(`copy`)}finally{a.remove()}}function c(){return n(`span`,{class:`copy-icon`,"aria-hidden":`true`,children:[n(`span`,{class:`copy-icon-check`,children:n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:n(`path`,{d:`M20 6 9 17l-5-5`})})}),n(`span`,{class:`copy-icon-copy`,children:n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,children:[n(`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}),n(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})]})})]})}let l=0;function u(e){return n(d,{...e},e.context)}var d=class extends t{static contextType=a;dialog=e();hosted=e();containerId=`seams-confirmation-modal-${++l}`;componentDidMount(){this.props.context===`standalone`?this.dialog.current?.showModal():this.hosted.current?.focus({preventScroll:!0})}componentWillUnmount(){this.dialog.current?.close()}cancel=e=>{e.preventDefault(),e.stopPropagation(),this.props.onCancel()};backdropClick=e=>{let t=this.dialog.current;if(!t||e.target!==t)return;let n=t.getBoundingClientRect();(e.clientX<n.left||e.clientX>n.right||e.clientY<n.top||e.clientY>n.bottom)&&this.cancel(e)};hostedKeyDown=e=>{!e.defaultPrevented&&e.key===`Escape`&&this.cancel(e)};render(){return this.props.context===`standalone`?n(`dialog`,{ref:this.dialog,class:`seams-confirmation-modal`,"aria-label":o(this.context,this.props.label),onCancel:this.cancel,onClick:this.backdropClick,children:n(`div`,{id:this.containerId,class:`modal-container-root`,tabIndex:-1,children:this.props.children})}):n(`div`,{ref:this.hosted,class:`seams-confirmation-modal seams-confirmation-modal--hosted`,tabIndex:-1,onKeyDown:this.hostedKeyDown,children:n(`div`,{id:this.containerId,class:`modal-container-root`,children:this.props.children})})}};function f(e){let t=e.startTranslatePx+e.deltaPx;if(t>=e.restTranslatePx)return t;let n=Math.max(e.sheetHeightPx*.5,e.viewportHeightPx*.5,e.minimumOverpullPx),r=e.restTranslatePx-t;return e.restTranslatePx-n*(1-1/(r/n+1))}function p(e){let t=e.totalDeltaPx/Math.max(1,e.durationMs);return Math.min(e.velocityPxPerMs,t)<=-.6||Math.max(e.velocityPxPerMs,t)>=.7||e.translatePx>=e.sheetHeightPx-50}let m=0;function h(e){return n(g,{...e},e.context)}var g=class extends t{static contextType=a;state={settled:!1};id=`seams-confirmation-drawer-${++m}`;dialog=e();sheet=e();body=e();content=e();observer=null;frame=null;closeTimer=null;gesture={kind:`idle`};lifetime=`active`;closeReported=!1;suppressPointerClick=!1;componentDidMount(){let e=this.sheet.current,t=e.ownerDocument.defaultView;this.dialog.current?.showModal(),this.dialog.current||e.focus({preventScroll:!0}),this.observer=new ResizeObserver(this.measureContent),this.observer.observe(this.content.current),this.observer.observe(e),t.addEventListener(`resize`,this.scheduleMeasure),t.visualViewport?.addEventListener(`resize`,this.scheduleMeasure),this.measure(),this.frame=t.requestAnimationFrame(this.openAfterLayout),this.props.state.kind===`closing`&&this.startClose()}openAfterLayout=()=>{this.frame=null,this.setState({settled:!0})};componentDidUpdate(e){e.styles!==this.props.styles&&(e.styles.deleteDynamicRule(this.id),e.styles.deleteDynamicRule(`${this.id}-drag`),this.resetGesture(),this.measure()),e.state.kind!==this.props.state.kind&&(this.props.state.kind===`closing`?this.startClose():(this.clearCloseTimer(),this.closeReported=!1)),this.props.state.kind===`open`&&this.props.state.interaction===`busy`&&this.resetGesture()}componentWillUnmount(){this.lifetime=`disposed`,this.resetGesture();let e=this.sheet.current.ownerDocument.defaultView;this.frame!==null&&e.cancelAnimationFrame(this.frame),this.clearCloseTimer(),this.observer?.disconnect(),e.removeEventListener(`resize`,this.scheduleMeasure),e.visualViewport?.removeEventListener(`resize`,this.scheduleMeasure),this.props.styles.deleteDynamicRule(this.id),this.dialog.current?.close()}scheduleMeasure=()=>{this.lifetime===`disposed`||this.frame!==null||(this.frame=this.sheet.current.ownerDocument.defaultView.requestAnimationFrame(this.measureFrame))};measureFrame=()=>{this.frame=null,this.measure()};measureContent=()=>{this.lifetime===`active`&&this.measure()};measure(){if(this.gesture.kind!==`idle`)return;let e=this.sheet.current,t=this.content.current,n=Math.round(t.getBoundingClientRect().bottom-e.getBoundingClientRect().top),r=this.props.context===`standalone`?Math.max(0,e.offsetHeight-n):0;this.props.styles.setDynamicDeclarations(this.id,`#${this.id}`,{"--seams-drawer-rest":`${r}px`})}startClose(){this.resetGesture(),this.clearCloseTimer();let e=this.sheet.current.ownerDocument.defaultView,t=e.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:150;this.closeTimer=e.setTimeout(this.reportClosed,t)}clearCloseTimer(){this.closeTimer!==null&&(this.sheet.current.ownerDocument.defaultView.clearTimeout(this.closeTimer),this.closeTimer=null)}reportClosed=()=>{this.clearCloseTimer(),!(this.lifetime===`disposed`||this.closeReported||this.props.state.kind!==`closing`)&&(this.closeReported=!0,this.props.state.onClosed())};transitionEnd=e=>{e.target===this.sheet.current&&e.propertyName===`transform`&&this.reportClosed()};cancel=e=>{e.preventDefault(),e.stopPropagation(),this.props.state.kind===`open`&&this.props.onCancel()};backdropClick=e=>{this.props.dismissOnBackdrop!==!1&&e.target===this.dialog.current&&this.canDrag()&&this.cancel(e)};keyDown=e=>{!e.defaultPrevented&&e.key===`Escape`&&this.cancel(e)};canDrag(){return this.props.state.kind===`open`&&this.props.state.interaction===`ready`}pointerDown=e=>{if(this.clearClickSuppression(),!this.canDrag()||this.gesture.kind!==`idle`||!e.isPrimary||e.button!==0)return;let t=e.target;if(t instanceof Element&&t.closest(`a, input, textarea, select, summary, button:not(.seams-drawer-handle), [data-seams-drawer-no-drag]`))return;this.gesture={kind:`pending`,pointerId:e.pointerId,startY:e.clientY};let n=this.sheet.current.ownerDocument;n.addEventListener(`pointermove`,this.pointerMove,{passive:!1}),n.addEventListener(`pointerup`,this.pointerUp),n.addEventListener(`pointercancel`,this.pointerCancel)};pointerMove=e=>{let t=this.gesture;if(t.kind===`idle`||t.pointerId!==e.pointerId)return;let n=this.sheet.current;if(t.kind===`pending`){if(Math.abs(e.clientY-t.startY)<8||this.body.current.scrollTop>0)return;let r=n.ownerDocument.defaultView,i=new DOMMatrixReadOnly(r.getComputedStyle(n).transform).m42;t={kind:`dragging`,pointerId:t.pointerId,startY:t.startY,lastY:t.startY,startedAt:e.timeStamp,lastTime:e.timeStamp,velocity:0,rest:i,translate:i,height:n.offsetHeight},this.gesture=t,n.setPointerCapture(e.pointerId),n.classList.add(`is-dragging`)}let r=e.timeStamp-t.lastTime;r>0&&(t.velocity=(e.clientY-t.lastY)/r),t.lastY=e.clientY,t.lastTime=e.timeStamp,t.translate=f({startTranslatePx:t.rest,deltaPx:e.clientY-t.startY,restTranslatePx:t.rest,sheetHeightPx:t.height,viewportHeightPx:n.ownerDocument.defaultView.innerHeight,minimumOverpullPx:160}),this.props.styles.setDynamicDeclarations(`${this.id}-drag`,`#${this.id}`,{"--seams-drawer-drag":`${t.translate}px`}),e.preventDefault()};pointerUp=e=>{let t=this.gesture;if(t.kind===`idle`||t.pointerId!==e.pointerId)return;let n=t.kind===`dragging`&&p({velocityPxPerMs:t.velocity,totalDeltaPx:t.lastY-t.startY,durationMs:e.timeStamp-t.startedAt,translatePx:t.translate,sheetHeightPx:t.height});t.kind===`dragging`&&(this.suppressPointerClick=!0,e.preventDefault()),this.resetGesture(),n&&this.props.state.kind===`open`&&this.props.onCancel()};pointerCancel=e=>{this.gesture.kind!==`idle`&&this.gesture.pointerId===e.pointerId&&(this.gesture.kind===`dragging`&&(this.suppressPointerClick=!0),this.resetGesture())};clearClickSuppression=()=>{this.suppressPointerClick=!1};suppressDragClick=e=>{!this.suppressPointerClick||e.detail===0||(this.suppressPointerClick=!1,e.preventDefault(),e.stopPropagation())};resetGesture(){let e=this.sheet.current,t=this.gesture;this.gesture={kind:`idle`},t.kind!==`idle`&&e.hasPointerCapture(t.pointerId)&&e.releasePointerCapture(t.pointerId),e.classList.remove(`is-dragging`);let n=e.ownerDocument;n.removeEventListener(`pointermove`,this.pointerMove),n.removeEventListener(`pointerup`,this.pointerUp),n.removeEventListener(`pointercancel`,this.pointerCancel),this.props.styles.deleteDynamicRule(`${this.id}-drag`),this.lifetime===`active`&&this.scheduleMeasure()}render(){let e=this.state.settled&&this.props.state.kind===`open`,t=[`seams-confirmation-drawer`];e&&t.push(`is-open`),this.gesture.kind===`dragging`&&t.push(`is-dragging`);let a=n(`section`,{ref:this.sheet,id:this.id,class:t.join(` `),"data-context":this.props.context,tabIndex:-1,onPointerDownCapture:this.pointerDown,onClickCapture:this.suppressDragClick,onLostPointerCapture:this.pointerCancel,onTransitionEnd:this.transitionEnd,onKeyDown:this.keyDown,children:[n(`div`,{class:`seams-drawer-controls`,children:[this.props.origin&&n(`div`,{class:`seams-drawer-origin`,children:this.props.origin}),n(`button`,{type:`button`,class:`seams-drawer-handle`,"aria-label":r(this.context,`Dismiss confirmation`),disabled:!this.canDrag(),onClick:this.cancel,children:n(`span`,{})}),n(`button`,{type:`button`,class:`seams-drawer-close`,"aria-label":r(this.context,`Close`),disabled:!this.canDrag(),onClick:this.cancel,children:`×`})]}),n(`div`,{class:`seams-drawer-body`,ref:this.body,children:[this.props.errorMessage&&n(`div`,{class:`error`,children:n(i,{copy:this.props.errorMessage})}),n(`div`,{class:`seams-drawer-content`,ref:this.content,children:this.props.children})]})]});return this.props.context===`wallet-iframe`?a:n(`dialog`,{class:`seams-drawer-dialog`,ref:this.dialog,"aria-label":o(this.context,this.props.label),onCancel:this.cancel,onClick:this.backdropClick,onClickCapture:this.suppressDragClick,onPointerDownCapture:this.clearClickSuppression,children:a})}};export{s as i,u as n,c as r,h as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as e}from"./domainIds-t1lp25yU.js";import{h as t,m as n,v as r}from"./digests-BIaE0DMd.js";import{r as i,t as a}from"./errors-BJBDbwHk.js";import{p as o}from"./nonceLaneKeys-BF_UpvIy.js";import{u as s}from"./trace--mRP2OQc.js";import{n as c}from"./NonceCoordinator-3YhmDTS5.js";import{t as l}from"./collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js";import{o as u,t as d}from"./types-C4OErbBf.js";import{n as f,t as p}from"./confirmTypes-BvVtQs-M.js";import{i as m,t as h}from"./confirm-ui-nU6ymgiv.js";function g(e){return e===`drawer`?`drawer`:`modal`}function _(e){return typeof e!=`number`||!Number.isFinite(e)?0:Math.max(0,Math.floor(e))}function v(e){if(e?.uiMode===`none`)return{kind:`silent`,uiMode:`none`};let t=g(e?.uiMode);return e?.behavior===`skipClick`?{kind:`auto_proceed`,uiMode:t,behavior:`skipClick`,autoProceedDelay:_(e.autoProceedDelay)}:{kind:`interactive`,uiMode:t,behavior:`requireClick`}}function y(){return{kind:`silent`,uiMode:`none`}}function b(e){throw Error(`Unsupported confirmation config: ${String(e.kind)}`)}function x(e){if(e.type!==f.SIGN_TRANSACTION)return;let t=e.payload;if(t.signingKind!==`transaction`)return;let{subject:n,operation:r,signatureUses:i}=t.nearFundingRequest;if(n.walletId!==t.walletId||n.nearAccountId!==t.rpcCall.nearAccountId||n.nearPublicKeyStr!==t.nearPublicKeyStr)throw Error(`Invalid secure confirm request: NEAR funding subject mismatch`);if(r.accountId!==n.nearAccountId)throw Error(`Invalid secure confirm request: NEAR funding operation account mismatch`);if(!Number.isInteger(i)||i<1)throw Error(`Invalid secure confirm request: invalid NEAR funding signature use count`)}function S(e){if(e.type!==f.SIGN_TRANSACTION&&e.type!==f.SIGN_NEP413_MESSAGE)return;let t=e.payload;if(t.prfOutput!==void 0)throw Error(`Invalid secure confirm request: forbidden signing payload field prfOutput`);if(t.wrapKeySeed!==void 0)throw Error(`Invalid secure confirm request: forbidden signing payload field wrapKeySeed`);if(t.wrapKeySalt!==void 0)throw Error(`Invalid secure confirm request: forbidden signing payload field wrapKeySalt`)}function C(e){switch(e.type){case f.SIGN_TRANSACTION:return A(e).rpcCall.nearAccountId;case f.SIGN_NEP413_MESSAGE:return e.payload.nearAccountId;case f.SIGN_INTENT_DIGEST:{let t=E(e);return t.kind===`near_wallet`?t.nearAccountId:``}case f.REGISTER_ACCOUNT:case f.LINK_DEVICE:return String(P(e).nearAccountId||``).trim();case f.AUTHORIZE_KEY_EXPORT:{let t=w(e);return t.kind===`near_wallet`?t.nearAccountId:``}case f.SHOW_SECURE_PRIVATE_KEY_UI:{let t=w(e);return t.kind===`near_wallet`?t.nearAccountId:``}default:return``}}function w(e){if(e.type!==f.AUTHORIZE_KEY_EXPORT&&e.type!==f.SHOW_SECURE_PRIVATE_KEY_UI)throw Error(`Expected local key export request, got ${e.type}`);return e.payload.subject}function T(e){let t=w(e);switch(t.kind){case`near_wallet`:return t.nearAccountId;case`evm_wallet`:return t.walletId;default:{let e=t;throw Error(`Unsupported local key export subject: ${String(e)}`)}}}function E(e){if(e.type!==f.SIGN_INTENT_DIGEST)throw Error(`Expected SIGN_INTENT_DIGEST request, got ${e.type}`);return e.payload.signingSubject}function D(e){switch(e.type){case f.SIGN_TRANSACTION:return String(A(e).walletId||``).trim();case f.SIGN_NEP413_MESSAGE:return String(e.payload.walletId||``).trim();case f.REGISTER_ACCOUNT:case f.LINK_DEVICE:return String(P(e).walletId||``).trim();case f.SIGN_INTENT_DIGEST:return E(e).walletId;case f.AUTHORIZE_KEY_EXPORT:case f.SHOW_SECURE_PRIVATE_KEY_UI:return T(e);default:return C(e)}}function O(e){return e.type===f.SIGN_TRANSACTION&&A(e).txSigningRequests?.length||1}function k(e){return e.type===f.SIGN_TRANSACTION?e.payload.intentDigest:e?.intentDigest}function A(e){if(e.type!==f.SIGN_TRANSACTION)throw Error(`Expected SIGN_TRANSACTION request, got ${e.type}`);return e.payload}function j(e){if(e.type===f.SIGN_TRANSACTION)return A(e).displayModel;if(e.type===f.SIGN_NEP413_MESSAGE||e.type===f.SIGN_INTENT_DIGEST)return e.payload.displayModel}function M(e){if(e.type===f.SIGN_TRANSACTION)return u(A(e).signingAuthPlan);if(e.type===f.SIGN_NEP413_MESSAGE){let t=e.payload;return u(t.signingAuthPlan)}if(e.type===f.SIGN_INTENT_DIGEST){let t=e.payload;return u(t.signingAuthPlan)}}function N(e){if(e.type===f.SIGN_TRANSACTION){let t=A(e);return t.signingAuthPlan?.kind===d.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===f.SIGN_NEP413_MESSAGE){let t=e.payload;return t.signingAuthPlan?.kind===d.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===f.SIGN_INTENT_DIGEST){let t=e.payload;return t.signingAuthPlan?.kind===d.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}}function P(e){if(e.type!==f.REGISTER_ACCOUNT&&e.type!==f.LINK_DEVICE)throw Error(`Expected REGISTER_ACCOUNT or LINK_DEVICE request, got ${e.type}`);return e.payload}function F(e){if(typeof e==`string`){let n=e.trim();if(!n)return{};try{let e=JSON.parse(n);return t(e)&&!Array.isArray(e)?e:{}}catch{return{}}}if(!t(e)||Array.isArray(e))throw Error(`Invalid secure confirm request summary: expected an object`);return e}function I(e){if(e==null)return e;if(Array.isArray(e))return e.map(e=>e);if(t(e)){let t=e,r={};for(let e of Object.keys(t)){if(e===`_confirmHandle`)continue;let i=t[e];n(i)||(r[e]=i)}return r}return e}const L={cancelled:`User cancelled secure confirm request`,collectCredentialsFailed:`Failed to collect credentials`,nearRpcFailed:`Failed to fetch NEAR data`};function R(t){return e(t.channelToken)}function z(t,n){let r=e(n?.channelToken);return!r&&!n?.onDecision?t:{postMessage:t.postMessage.bind(t),...r?{channelToken:r}:{},...n?.onDecision?{onDecision:n.onDecision}:{}}}function B(t,n,i){let{_confirmHandle:a,...o}=n,s=r(o.requestId)?o.requestId:n.requestId,c=e(i?.channelToken)??R(t),l={type:p.USER_PASSKEY_CONFIRM_RESPONSE,requestId:s,data:o,...c?{channelToken:c}:{}};t.onDecision?.(o),t.postMessage(l)}function V(t,n,i){let a=I(n),o=r(a?.requestId)?a.requestId:n.requestId,s=e(i?.channelToken)??R(t),c={type:p.USER_PASSKEY_CONFIRM_PROGRESS,requestId:o,data:a,...s?{channelToken:s}:{}};t.postMessage(c)}function H(e){return i(e)}function U(e,t){if(typeof e==`bigint`)return e;let n=String(e??t??`0`).trim();if(!n)return 0n;try{return BigInt(n)}catch{return 0n}}function W(e){if(!t(e))return null;let n=String(e.kind||``).trim(),r=String(e.walletId||``).trim(),i=String(e.nearAccountId||``).trim(),a=String(e.nearPublicKeyStr||``).trim();if(!r||!i||!a)return null;switch(n){case`implicit_unfunded`:return{kind:n,walletId:r,nearAccountId:i,nearPublicKeyStr:a};case`access_key_available`:case`sponsored_named_ready`:return{kind:n,walletId:r,nearAccountId:i,nearPublicKeyStr:a,nonce:U(e.nonce,e.nextNonce),accessKeyNonce:String(e.accessKeyNonce||``).trim(),nextNonce:String(e.nextNonce||``).trim(),txBlockHeight:String(e.txBlockHeight||``).trim(),txBlockHash:String(e.txBlockHash||``).trim()};case`account_lookup_failed`:return{kind:n,walletId:r,nearAccountId:i,nearPublicKeyStr:a,message:String(e.message||``).trim()};default:return null}}function G(e){return t(e)?W(e.readiness):null}function K(e,t){return e.walletId===String(t.subject.walletId)&&e.nearAccountId===String(t.subject.nearAccountId)&&e.nearPublicKeyStr===t.subject.nearPublicKeyStr}async function q(e,t){try{let{context:n,leases:r}=await e.nonceCoordinator.reserveNearContext({lane:c({chains:e.chains,walletId:String(t.subject.walletId),nearAccountId:String(t.subject.nearAccountId),nearPublicKeyStr:t.subject.nearPublicKeyStr}),operation:t.operation,count:t.signatureUses,nearClient:e.nearClient});return{kind:`readiness`,readiness:{kind:`context_ready`,transactionContext:{...n},nonceLeases:r.map(o)},reservedNonceLeases:r}}catch(e){let n=G(e);return n?.kind===`implicit_unfunded`&&K(n,t)?{kind:`readiness`,readiness:{kind:`funding_required`,request:t},reservedNonceLeases:[]}:{kind:`failed`,error:n?.kind===`account_lookup_failed`?`NEAR_ACCOUNT_LOOKUP_FAILED`:`NEAR_CONTEXT_UNAVAILABLE`,details:a(e)}}}async function J(e,t){t?.length&&await Promise.all(t.map(t=>e.nonceCoordinator.release({leaseId:t.leaseId,operationId:t.operationId,operationFingerprint:t.operationFingerprint,reason:`cancelled`})))}async function Y({ctx:e,nearAccountId:t,challengeB64u:n,onBeforePrompt:r,includeSecondPrfOutput:i=!1}){return l({credentialStore:e.webauthnCredentialStore,touchIdPrompt:e.touchIdPrompt,nearAccountId:t,challengeB64u:n,includeSecondPrfOutput:i,onBeforePrompt:r})}function X(e,t){t?.close?.(e)}function Z(e){return{chains:e.chains,getAppearance:e.getAppearance,nearExplorerUrl:e.nearExplorerUrl,tempoExplorerUrl:e.tempoExplorerUrl,evmExplorerUrl:e.evmExplorerUrl,surfaceMeasurementBinding:e.surfaceMeasurementBinding}}function Q(){return{kind:`confirm_ui_prompt_diagnostics_v1`,elementDefineMs:0,mountMs:0,hostFirstUpdateMs:0,hostInteractiveMs:0,confirmEventMs:0,decisionWaitMs:0}}async function $(e){let t=performance.now(),n=await m({ctx:Z(e.ctx),summary:e.transactionSummary,txSigningRequests:e.txSigningRequests,model:e.model,securityContext:e.securityContext,loading:e.loading??!0,theme:e.theme,uiMode:e.confirmationConfig.uiMode,signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,surface:e.surface}),r=Math.max(0,Math.round(performance.now()-t));e.onMounted?.(n);let i=performance.now();await new Promise(t=>setTimeout(t,e.confirmationConfig.autoProceedDelay));let a=Math.max(0,Math.round(performance.now()-i));return{confirmed:!0,confirmHandle:n,diagnostics:{...Q(),mountMs:r,decisionWaitMs:a}}}async function ee(e){let{confirmed:t,handle:n,error:r,otpCode:i,emailOtpChallengeId:a,diagnostics:o}=await h({ctx:Z(e.ctx),summary:e.transactionSummary,txSigningRequests:e.txSigningRequests,model:e.model,securityContext:e.securityContext,loading:e.loading,theme:e.theme,uiMode:e.confirmationConfig.uiMode,onMounted:e.onMounted,signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,surface:e.surface});return e.request.type===f.SIGN_TRANSACTION&&A(e.request).signingKind===`transaction`&&s(`near`,{event:`near_confirmation_prompt_timing`,mountMs:o.mountMs,decisionWaitMs:o.decisionWaitMs,confirmed:t}),{confirmed:t,confirmHandle:n,error:r,otpCode:i,emailOtpChallengeId:a,diagnostics:o}}async function te({ctx:e,request:t,confirmationConfig:n,transactionSummary:r,securityContext:i,loading:a,theme:o,surface:s,onMounted:c}){if(s.kind===`preparation_cancelled`)return{confirmed:!1,confirmHandle:void 0,diagnostics:Q()};let l=t.type===f.SIGN_TRANSACTION?A(t).txSigningRequests:[],u=j(t),d=M(t),p=N(t);switch(n.kind){case`silent`:return s.kind===`reuse_mounted`&&s.handle.close(!0),{confirmed:!0,confirmHandle:void 0,diagnostics:Q()};case`auto_proceed`:return await $({ctx:e,request:t,confirmationConfig:n,transactionSummary:r,securityContext:i,loading:a,theme:o,surface:s,onMounted:c,txSigningRequests:l,model:u,signingAuthMode:d,emailOtpPrompt:p});case`interactive`:return await ee({ctx:e,request:t,confirmationConfig:n,transactionSummary:r,securityContext:i,loading:a,theme:o,surface:s,onMounted:c,txSigningRequests:l,model:u,signingAuthMode:d,emailOtpPrompt:p});default:return b(n)}}function ne(e){return{near:{fetchNearContext:t=>q(e,t),releaseReservedNonces:t=>J(e,t)},security:{getRpId:()=>e.touchIdPrompt.getRpId()},webauthn:{collectAuthenticationCredentialWithPRF:t=>Y({ctx:e,...t}),createRegistrationCredential:t=>e.touchIdPrompt.generateRegistrationCredentialsInternal(t)},ui:{renderConfirmUI:t=>te({ctx:e,...t}),closeModalSafely:X}}}function re({adapters:e,worker:t,request:n,confirmationConfig:r,transactionSummary:i,theme:a,surface:o}){let s,c;return{setNonceLeases:e=>{s=e},updateUI:e=>{c?.update?.(e)},promptUser:async({securityContext:t,loading:s,onMounted:l})=>{let{confirmed:u,confirmHandle:d,error:f,otpCode:p,emailOtpChallengeId:m,diagnostics:h}=await e.ui.renderConfirmUI({request:n,confirmationConfig:r,transactionSummary:i,securityContext:t,loading:s,theme:a,surface:o,onMounted:e=>{c=e,l?.(e)}});return c=d,{confirmed:u,error:f,otpCode:p,emailOtpChallengeId:m,diagnostics:h}},dismissReviewSurface:()=>{e.ui.closeModalSafely(!0,c),c=void 0},confirmAndCloseModal:n=>{try{B(t,n)}finally{n.confirmed||e.near.releaseReservedNonces(s),e.ui.closeModalSafely(!!n.confirmed,c)}}}}export{O as _,H as a,y as b,V as c,x as d,k as f,M as g,A as h,z as i,B as l,E as m,ne as n,F as o,C as p,L as r,I as s,re as t,S as u,D as v,v as y};
|
|
1
|
+
import{z as e}from"./domainIds-t1lp25yU.js";import{h as t,m as n,v as r}from"./digests-BIaE0DMd.js";import{r as i,t as a}from"./errors-BJBDbwHk.js";import{p as o}from"./nonceLaneKeys-BF_UpvIy.js";import{u as s}from"./trace--mRP2OQc.js";import{n as c}from"./NonceCoordinator-3YhmDTS5.js";import{t as l}from"./collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js";import{o as u,t as d}from"./types-C4OErbBf.js";import{n as f,t as p}from"./confirmTypes-BvVtQs-M.js";import{i as m,t as h}from"./confirm-ui-em0vkd2m.js";function g(e){return e===`drawer`?`drawer`:`modal`}function _(e){return typeof e!=`number`||!Number.isFinite(e)?0:Math.max(0,Math.floor(e))}function v(e){if(e?.uiMode===`none`)return{kind:`silent`,uiMode:`none`};let t=g(e?.uiMode);return e?.behavior===`skipClick`?{kind:`auto_proceed`,uiMode:t,behavior:`skipClick`,autoProceedDelay:_(e.autoProceedDelay)}:{kind:`interactive`,uiMode:t,behavior:`requireClick`}}function y(){return{kind:`silent`,uiMode:`none`}}function b(e){throw Error(`Unsupported confirmation config: ${String(e.kind)}`)}function x(e){if(e.type!==f.SIGN_TRANSACTION)return;let t=e.payload;if(t.signingKind!==`transaction`)return;let{subject:n,operation:r,signatureUses:i}=t.nearFundingRequest;if(n.walletId!==t.walletId||n.nearAccountId!==t.rpcCall.nearAccountId||n.nearPublicKeyStr!==t.nearPublicKeyStr)throw Error(`Invalid secure confirm request: NEAR funding subject mismatch`);if(r.accountId!==n.nearAccountId)throw Error(`Invalid secure confirm request: NEAR funding operation account mismatch`);if(!Number.isInteger(i)||i<1)throw Error(`Invalid secure confirm request: invalid NEAR funding signature use count`)}function S(e){if(e.type!==f.SIGN_TRANSACTION&&e.type!==f.SIGN_NEP413_MESSAGE)return;let t=e.payload;if(t.prfOutput!==void 0)throw Error(`Invalid secure confirm request: forbidden signing payload field prfOutput`);if(t.wrapKeySeed!==void 0)throw Error(`Invalid secure confirm request: forbidden signing payload field wrapKeySeed`);if(t.wrapKeySalt!==void 0)throw Error(`Invalid secure confirm request: forbidden signing payload field wrapKeySalt`)}function C(e){switch(e.type){case f.SIGN_TRANSACTION:return A(e).rpcCall.nearAccountId;case f.SIGN_NEP413_MESSAGE:return e.payload.nearAccountId;case f.SIGN_INTENT_DIGEST:{let t=E(e);return t.kind===`near_wallet`?t.nearAccountId:``}case f.REGISTER_ACCOUNT:case f.LINK_DEVICE:return String(P(e).nearAccountId||``).trim();case f.AUTHORIZE_KEY_EXPORT:{let t=w(e);return t.kind===`near_wallet`?t.nearAccountId:``}case f.SHOW_SECURE_PRIVATE_KEY_UI:{let t=w(e);return t.kind===`near_wallet`?t.nearAccountId:``}default:return``}}function w(e){if(e.type!==f.AUTHORIZE_KEY_EXPORT&&e.type!==f.SHOW_SECURE_PRIVATE_KEY_UI)throw Error(`Expected local key export request, got ${e.type}`);return e.payload.subject}function T(e){let t=w(e);switch(t.kind){case`near_wallet`:return t.nearAccountId;case`evm_wallet`:return t.walletId;default:{let e=t;throw Error(`Unsupported local key export subject: ${String(e)}`)}}}function E(e){if(e.type!==f.SIGN_INTENT_DIGEST)throw Error(`Expected SIGN_INTENT_DIGEST request, got ${e.type}`);return e.payload.signingSubject}function D(e){switch(e.type){case f.SIGN_TRANSACTION:return String(A(e).walletId||``).trim();case f.SIGN_NEP413_MESSAGE:return String(e.payload.walletId||``).trim();case f.REGISTER_ACCOUNT:case f.LINK_DEVICE:return String(P(e).walletId||``).trim();case f.SIGN_INTENT_DIGEST:return E(e).walletId;case f.AUTHORIZE_KEY_EXPORT:case f.SHOW_SECURE_PRIVATE_KEY_UI:return T(e);default:return C(e)}}function O(e){return e.type===f.SIGN_TRANSACTION&&A(e).txSigningRequests?.length||1}function k(e){return e.type===f.SIGN_TRANSACTION?e.payload.intentDigest:e?.intentDigest}function A(e){if(e.type!==f.SIGN_TRANSACTION)throw Error(`Expected SIGN_TRANSACTION request, got ${e.type}`);return e.payload}function j(e){if(e.type===f.SIGN_TRANSACTION)return A(e).displayModel;if(e.type===f.SIGN_NEP413_MESSAGE||e.type===f.SIGN_INTENT_DIGEST)return e.payload.displayModel}function M(e){if(e.type===f.SIGN_TRANSACTION)return u(A(e).signingAuthPlan);if(e.type===f.SIGN_NEP413_MESSAGE){let t=e.payload;return u(t.signingAuthPlan)}if(e.type===f.SIGN_INTENT_DIGEST){let t=e.payload;return u(t.signingAuthPlan)}}function N(e){if(e.type===f.SIGN_TRANSACTION){let t=A(e);return t.signingAuthPlan?.kind===d.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===f.SIGN_NEP413_MESSAGE){let t=e.payload;return t.signingAuthPlan?.kind===d.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}if(e.type===f.SIGN_INTENT_DIGEST){let t=e.payload;return t.signingAuthPlan?.kind===d.EmailOtpReauth?t.signingAuthPlan.emailOtpPrompt:t.emailOtpPrompt}}function P(e){if(e.type!==f.REGISTER_ACCOUNT&&e.type!==f.LINK_DEVICE)throw Error(`Expected REGISTER_ACCOUNT or LINK_DEVICE request, got ${e.type}`);return e.payload}function F(e){if(typeof e==`string`){let n=e.trim();if(!n)return{};try{let e=JSON.parse(n);return t(e)&&!Array.isArray(e)?e:{}}catch{return{}}}if(!t(e)||Array.isArray(e))throw Error(`Invalid secure confirm request summary: expected an object`);return e}function I(e){if(e==null)return e;if(Array.isArray(e))return e.map(e=>e);if(t(e)){let t=e,r={};for(let e of Object.keys(t)){if(e===`_confirmHandle`)continue;let i=t[e];n(i)||(r[e]=i)}return r}return e}const L={cancelled:`User cancelled secure confirm request`,collectCredentialsFailed:`Failed to collect credentials`,nearRpcFailed:`Failed to fetch NEAR data`};function R(t){return e(t.channelToken)}function z(t,n){let r=e(n?.channelToken);return!r&&!n?.onDecision?t:{postMessage:t.postMessage.bind(t),...r?{channelToken:r}:{},...n?.onDecision?{onDecision:n.onDecision}:{}}}function B(t,n,i){let{_confirmHandle:a,...o}=n,s=r(o.requestId)?o.requestId:n.requestId,c=e(i?.channelToken)??R(t),l={type:p.USER_PASSKEY_CONFIRM_RESPONSE,requestId:s,data:o,...c?{channelToken:c}:{}};t.onDecision?.(o),t.postMessage(l)}function V(t,n,i){let a=I(n),o=r(a?.requestId)?a.requestId:n.requestId,s=e(i?.channelToken)??R(t),c={type:p.USER_PASSKEY_CONFIRM_PROGRESS,requestId:o,data:a,...s?{channelToken:s}:{}};t.postMessage(c)}function H(e){return i(e)}function U(e,t){if(typeof e==`bigint`)return e;let n=String(e??t??`0`).trim();if(!n)return 0n;try{return BigInt(n)}catch{return 0n}}function W(e){if(!t(e))return null;let n=String(e.kind||``).trim(),r=String(e.walletId||``).trim(),i=String(e.nearAccountId||``).trim(),a=String(e.nearPublicKeyStr||``).trim();if(!r||!i||!a)return null;switch(n){case`implicit_unfunded`:return{kind:n,walletId:r,nearAccountId:i,nearPublicKeyStr:a};case`access_key_available`:case`sponsored_named_ready`:return{kind:n,walletId:r,nearAccountId:i,nearPublicKeyStr:a,nonce:U(e.nonce,e.nextNonce),accessKeyNonce:String(e.accessKeyNonce||``).trim(),nextNonce:String(e.nextNonce||``).trim(),txBlockHeight:String(e.txBlockHeight||``).trim(),txBlockHash:String(e.txBlockHash||``).trim()};case`account_lookup_failed`:return{kind:n,walletId:r,nearAccountId:i,nearPublicKeyStr:a,message:String(e.message||``).trim()};default:return null}}function G(e){return t(e)?W(e.readiness):null}function K(e,t){return e.walletId===String(t.subject.walletId)&&e.nearAccountId===String(t.subject.nearAccountId)&&e.nearPublicKeyStr===t.subject.nearPublicKeyStr}async function q(e,t){try{let{context:n,leases:r}=await e.nonceCoordinator.reserveNearContext({lane:c({chains:e.chains,walletId:String(t.subject.walletId),nearAccountId:String(t.subject.nearAccountId),nearPublicKeyStr:t.subject.nearPublicKeyStr}),operation:t.operation,count:t.signatureUses,nearClient:e.nearClient});return{kind:`readiness`,readiness:{kind:`context_ready`,transactionContext:{...n},nonceLeases:r.map(o)},reservedNonceLeases:r}}catch(e){let n=G(e);return n?.kind===`implicit_unfunded`&&K(n,t)?{kind:`readiness`,readiness:{kind:`funding_required`,request:t},reservedNonceLeases:[]}:{kind:`failed`,error:n?.kind===`account_lookup_failed`?`NEAR_ACCOUNT_LOOKUP_FAILED`:`NEAR_CONTEXT_UNAVAILABLE`,details:a(e)}}}async function J(e,t){t?.length&&await Promise.all(t.map(t=>e.nonceCoordinator.release({leaseId:t.leaseId,operationId:t.operationId,operationFingerprint:t.operationFingerprint,reason:`cancelled`})))}async function Y({ctx:e,nearAccountId:t,challengeB64u:n,onBeforePrompt:r,includeSecondPrfOutput:i=!1}){return l({credentialStore:e.webauthnCredentialStore,touchIdPrompt:e.touchIdPrompt,nearAccountId:t,challengeB64u:n,includeSecondPrfOutput:i,onBeforePrompt:r})}function X(e,t){t?.close?.(e)}function Z(e){return{chains:e.chains,getAppearance:e.getAppearance,nearExplorerUrl:e.nearExplorerUrl,tempoExplorerUrl:e.tempoExplorerUrl,evmExplorerUrl:e.evmExplorerUrl,surfaceMeasurementBinding:e.surfaceMeasurementBinding}}function Q(){return{kind:`confirm_ui_prompt_diagnostics_v1`,elementDefineMs:0,mountMs:0,hostFirstUpdateMs:0,hostInteractiveMs:0,confirmEventMs:0,decisionWaitMs:0}}async function $(e){let t=performance.now(),n=await m({ctx:Z(e.ctx),summary:e.transactionSummary,txSigningRequests:e.txSigningRequests,model:e.model,securityContext:e.securityContext,loading:e.loading??!0,theme:e.theme,uiMode:e.confirmationConfig.uiMode,signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,surface:e.surface}),r=Math.max(0,Math.round(performance.now()-t));e.onMounted?.(n);let i=performance.now();await new Promise(t=>setTimeout(t,e.confirmationConfig.autoProceedDelay));let a=Math.max(0,Math.round(performance.now()-i));return{confirmed:!0,confirmHandle:n,diagnostics:{...Q(),mountMs:r,decisionWaitMs:a}}}async function ee(e){let{confirmed:t,handle:n,error:r,otpCode:i,emailOtpChallengeId:a,diagnostics:o}=await h({ctx:Z(e.ctx),summary:e.transactionSummary,txSigningRequests:e.txSigningRequests,model:e.model,securityContext:e.securityContext,loading:e.loading,theme:e.theme,uiMode:e.confirmationConfig.uiMode,onMounted:e.onMounted,signingAuthMode:e.signingAuthMode,emailOtpPrompt:e.emailOtpPrompt,surface:e.surface});return e.request.type===f.SIGN_TRANSACTION&&A(e.request).signingKind===`transaction`&&s(`near`,{event:`near_confirmation_prompt_timing`,mountMs:o.mountMs,decisionWaitMs:o.decisionWaitMs,confirmed:t}),{confirmed:t,confirmHandle:n,error:r,otpCode:i,emailOtpChallengeId:a,diagnostics:o}}async function te({ctx:e,request:t,confirmationConfig:n,transactionSummary:r,securityContext:i,loading:a,theme:o,surface:s,onMounted:c}){if(s.kind===`preparation_cancelled`)return{confirmed:!1,confirmHandle:void 0,diagnostics:Q()};let l=t.type===f.SIGN_TRANSACTION?A(t).txSigningRequests:[],u=j(t),d=M(t),p=N(t);switch(n.kind){case`silent`:return s.kind===`reuse_mounted`&&s.handle.close(!0),{confirmed:!0,confirmHandle:void 0,diagnostics:Q()};case`auto_proceed`:return await $({ctx:e,request:t,confirmationConfig:n,transactionSummary:r,securityContext:i,loading:a,theme:o,surface:s,onMounted:c,txSigningRequests:l,model:u,signingAuthMode:d,emailOtpPrompt:p});case`interactive`:return await ee({ctx:e,request:t,confirmationConfig:n,transactionSummary:r,securityContext:i,loading:a,theme:o,surface:s,onMounted:c,txSigningRequests:l,model:u,signingAuthMode:d,emailOtpPrompt:p});default:return b(n)}}function ne(e){return{near:{fetchNearContext:t=>q(e,t),releaseReservedNonces:t=>J(e,t)},security:{getRpId:()=>e.touchIdPrompt.getRpId()},webauthn:{collectAuthenticationCredentialWithPRF:t=>Y({ctx:e,...t}),createRegistrationCredential:t=>e.touchIdPrompt.generateRegistrationCredentialsInternal(t)},ui:{renderConfirmUI:t=>te({ctx:e,...t}),closeModalSafely:X}}}function re({adapters:e,worker:t,request:n,confirmationConfig:r,transactionSummary:i,theme:a,surface:o}){let s,c;return{setNonceLeases:e=>{s=e},updateUI:e=>{c?.update?.(e)},promptUser:async({securityContext:t,loading:s,onMounted:l})=>{let{confirmed:u,confirmHandle:d,error:f,otpCode:p,emailOtpChallengeId:m,diagnostics:h}=await e.ui.renderConfirmUI({request:n,confirmationConfig:r,transactionSummary:i,securityContext:t,loading:s,theme:a,surface:o,onMounted:e=>{c=e,l?.(e)}});return c=d,{confirmed:u,error:f,otpCode:p,emailOtpChallengeId:m,diagnostics:h}},dismissReviewSurface:()=>{e.ui.closeModalSafely(!0,c),c=void 0},confirmAndCloseModal:n=>{try{B(t,n)}finally{n.confirmed||e.near.releaseReservedNonces(s),e.ui.closeModalSafely(!!n.confirmed,c)}}}}export{O as _,H as a,y as b,V as c,x as d,k as f,M as g,A as h,z as i,B as l,E as m,ne as n,F as o,C as p,L as r,I as s,re as t,S as u,D as v,v as y};
|