@loafmarkets/ui 0.1.349 → 0.1.350

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.d.mts CHANGED
@@ -586,6 +586,8 @@ type LoginPopupProps = {
586
586
  onSubmitReferralCode?: (code: string) => Promise<void> | void;
587
587
  /** Handler invoked when the user selects "Sign in with Wallet". */
588
588
  onWalletLogin?: () => Promise<void> | void;
589
+ /** Handler invoked when the user selects "Sign in with Passkey". When omitted, the button is hidden. */
590
+ onPasskeyLogin?: () => Promise<void> | void;
589
591
  /** Current KYC status — used to show "Resume Verification" when previously started. */
590
592
  kycStatus?: 'NOT_STARTED' | 'PENDING' | 'ON_HOLD' | 'VERIFIED' | 'REJECTED';
591
593
  };
package/dist/index.d.ts CHANGED
@@ -586,6 +586,8 @@ type LoginPopupProps = {
586
586
  onSubmitReferralCode?: (code: string) => Promise<void> | void;
587
587
  /** Handler invoked when the user selects "Sign in with Wallet". */
588
588
  onWalletLogin?: () => Promise<void> | void;
589
+ /** Handler invoked when the user selects "Sign in with Passkey". When omitted, the button is hidden. */
590
+ onPasskeyLogin?: () => Promise<void> | void;
589
591
  /** Current KYC status — used to show "Resume Verification" when previously started. */
590
592
  kycStatus?: 'NOT_STARTED' | 'PENDING' | 'ON_HOLD' | 'VERIFIED' | 'REJECTED';
591
593
  };
package/dist/index.js CHANGED
@@ -6445,6 +6445,7 @@ var LoginPopup = ({
6445
6445
  onClose,
6446
6446
  onOpenEarlyAccess,
6447
6447
  onWalletLogin,
6448
+ onPasskeyLogin,
6448
6449
  isAuthenticated,
6449
6450
  currentUser,
6450
6451
  onSendEmailCode,
@@ -6555,6 +6556,20 @@ var LoginPopup = ({
6555
6556
  onOpenEarlyAccess();
6556
6557
  }
6557
6558
  };
6559
+ const handlePasskeyLogin = async () => {
6560
+ if (!onPasskeyLogin) return;
6561
+ setError("");
6562
+ setLoading(true);
6563
+ try {
6564
+ await onPasskeyLogin();
6565
+ onClose();
6566
+ } catch (err) {
6567
+ const message = err instanceof Error ? err.message : "Passkey sign-in failed";
6568
+ setError(message);
6569
+ } finally {
6570
+ setLoading(false);
6571
+ }
6572
+ };
6558
6573
  const handleEmailClick = (signUp = false) => {
6559
6574
  setIsSignUp(signUp);
6560
6575
  setView("email");
@@ -6812,6 +6827,10 @@ var LoginPopup = ({
6812
6827
  /* @__PURE__ */ jsxRuntime.jsxs(LoginButton, { onClick: handleWalletLogin, children: [
6813
6828
  /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 18v1c0 1.1-.9 2-2 2H5c-1.11 0-2-.9-2-2V5c0-1.1.89-2 2-2h14c1.1 0 2 .9 2 2v1h-9c-1.11 0-2 .9-2 2v8c0 1.1.89 2 2 2h9zm-9-2h10V8H12v8zm4-2.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z" }) }),
6814
6829
  "Sign in with Wallet"
6830
+ ] }),
6831
+ onPasskeyLogin && /* @__PURE__ */ jsxRuntime.jsxs(LoginButton, { onClick: handlePasskeyLogin, disabled: loading, children: [
6832
+ /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 2C9.79 2 8 3.79 8 6v4H6c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2h-2V6c0-2.21-1.79-4-4-4zm-2 4c0-1.1.9-2 2-2s2 .9 2 2v4h-4V6zm2 9a2 2 0 100 4 2 2 0 000-4z" }) }),
6833
+ "Sign in with Passkey"
6815
6834
  ] })
6816
6835
  ] }),
6817
6836
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { textAlign: "center", marginTop: "0.5rem", marginBottom: "1rem" }, children: /* @__PURE__ */ jsxRuntime.jsx(