@swype-org/react-sdk 0.1.77 → 0.1.79

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/index.js CHANGED
@@ -689,6 +689,11 @@ function isInCrossOriginIframe() {
689
689
  return true;
690
690
  }
691
691
  }
692
+ function isSafari() {
693
+ if (typeof navigator === "undefined") return false;
694
+ const ua = navigator.userAgent;
695
+ return /Safari/i.test(ua) && !/Chrome|CriOS|Chromium|Edg|OPR|Firefox/i.test(ua);
696
+ }
692
697
  var POPUP_RESULT_TIMEOUT_MS = 12e4;
693
698
  var POPUP_CLOSED_POLL_MS = 500;
694
699
  function createPasskeyViaPopup(options) {
@@ -4517,7 +4522,9 @@ function SwypePaymentInner({
4517
4522
  const [transfer, setTransfer] = useState(null);
4518
4523
  const [creatingTransfer, setCreatingTransfer] = useState(false);
4519
4524
  const [registeringPasskey, setRegisteringPasskey] = useState(false);
4520
- const [passkeyPopupNeeded, setPasskeyPopupNeeded] = useState(false);
4525
+ const [passkeyPopupNeeded, setPasskeyPopupNeeded] = useState(
4526
+ () => isSafari() && isInCrossOriginIframe()
4527
+ );
4521
4528
  const [activeCredentialId, setActiveCredentialId] = useState(() => {
4522
4529
  if (typeof window === "undefined") return null;
4523
4530
  return window.localStorage.getItem(ACTIVE_CREDENTIAL_STORAGE_KEY);
@@ -4584,7 +4591,7 @@ function SwypePaymentInner({
4584
4591
  try {
4585
4592
  await reloadAccounts();
4586
4593
  resetDataLoadingState();
4587
- setTransfer(null);
4594
+ setTransfer(authorizedTransfer);
4588
4595
  setError(null);
4589
4596
  setDeeplinkUri(null);
4590
4597
  setMobileFlow(false);
@@ -4723,6 +4730,17 @@ function SwypePaymentInner({
4723
4730
  if (resolved.clearPersistedFlow) {
4724
4731
  clearMobileFlowState();
4725
4732
  }
4733
+ if (resolved.step === "deposit" && persisted && persisted.isSetup) {
4734
+ try {
4735
+ const existingTransfer = await fetchTransfer(apiBaseUrl, token, persisted.transferId);
4736
+ if (cancelled) return;
4737
+ if (existingTransfer.status === "AUTHORIZED") {
4738
+ await handleAuthorizedMobileReturn(existingTransfer, true);
4739
+ return;
4740
+ }
4741
+ } catch {
4742
+ }
4743
+ }
4726
4744
  if (resolved.step === "open-wallet" && persisted) {
4727
4745
  try {
4728
4746
  const existingTransfer = await fetchTransfer(apiBaseUrl, token, persisted.transferId);