azirid-react 0.13.2 → 0.14.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/index.d.cts CHANGED
@@ -203,23 +203,13 @@ interface RegisterPasskeyData {
203
203
  interface AziridProviderProps {
204
204
  children: ReactNode;
205
205
  /**
206
- * Azirid API URL for **direct mode** (requests go straight to the API).
206
+ * Azirid API URL. Defaults to `https://api.azirid.com`.
207
207
  *
208
- * - **Omitted** proxy mode (recommended for Next.js). Requests go to
209
- * your app's `/api/auth/*` route handler which proxies them securely.
210
- * Cookies are first-party. No CORS needed.
208
+ * Set this to your API URL for local development or custom deployments.
211
209
  *
212
- * - **Set** → direct mode. Requests go directly to this URL.
213
- * Requires CORS configured on the API.
214
- *
215
- * @example Direct mode (React SPA / Vite)
216
- * ```tsx
217
- * <AziridProvider apiUrl="https://api.azirid.com" publishableKey="pk_live_...">
218
- * ```
219
- *
220
- * @example Proxy mode (Next.js — recommended)
210
+ * @example
221
211
  * ```tsx
222
- * <AziridProvider publishableKey="pk_live_...">
212
+ * <AziridProvider apiUrl="http://localhost:3000" publishableKey="pk_dev_...">
223
213
  * ```
224
214
  */
225
215
  apiUrl?: string;
@@ -250,13 +240,6 @@ interface AziridProviderProps {
250
240
  autoBootstrap?: boolean;
251
241
  /** Interval in ms for proactive token refresh (default: 50000 = 50 seconds). Set to 0 to disable. */
252
242
  refreshInterval?: number;
253
- /**
254
- * URL of a local API route to sync the session cookie (for server actions).
255
- * - In dev mode (pk_dev_*): auto-activates with "/api/auth/session"
256
- * - In prod mode (pk_live_*): disabled by default
257
- * - Pass a string to force a custom URL, or false to force disable
258
- */
259
- sessionSyncUrl?: string | false;
260
243
  /** Publishable key for the app (e.g. pk_development_a1b2c3...) */
261
244
  publishableKey?: string;
262
245
  /** Tenant ID for multi-tenant apps */
@@ -777,25 +760,12 @@ interface HandoffCallbackProps {
777
760
  /**
778
761
  * Standalone component for handling impersonation handoff redirects.
779
762
  *
780
- * Does NOT require AziridProvider works independently by reading the
781
- * API URL from the `&api=` query parameter and exchanging the handoff
782
- * code directly. After exchanging, stores tokens in sessionStorage so
783
- * AziridProvider picks them up on the next page load.
784
- *
785
- * Usage:
786
- * ```tsx
787
- * // app/auth/handoff/page.tsx
788
- * import { HandoffCallback } from 'azirid-react'
789
- *
790
- * export default function HandoffPage() {
791
- * return (
792
- * <HandoffCallback
793
- * onSuccess={() => window.location.href = '/'}
794
- * onError={() => window.location.href = '/login'}
795
- * />
796
- * )
797
- * }
798
- * ```
763
+ * Does NOT depend on AziridProvider. Works independently by:
764
+ * 1. Reading the API URL from the `&api=` query parameter
765
+ * 2. Exchanging the handoff code for tokens directly with the API
766
+ * 3. Storing tokens in sessionStorage
767
+ * 4. Setting the __session cookie for SSR access
768
+ * 5. Redirecting to the app
799
769
  */
800
770
  declare function HandoffCallback({ onSuccess, onError, loadingText, errorText, }: HandoffCallbackProps): react_jsx_runtime.JSX.Element;
801
771
 
@@ -876,27 +846,20 @@ declare const SUFFIXES: {
876
846
  readonly branches: "branches";
877
847
  readonly paymentMethods: "payment-methods";
878
848
  };
879
- /** Base paths for each mode */
880
- declare const BASE_PATHS: {
881
- /** Proxy mode (Next.js): requests go to the same origin via route handler */
882
- readonly proxy: "/api/auth";
883
- /** Direct mode: requests go straight to the Azirid API */
884
- readonly direct: "/v1/users/auth";
885
- };
849
+ /** Base path for auth endpoints */
850
+ declare const AUTH_BASE_PATH: "/v1/users/auth";
886
851
  /** Build full path map from a basePath */
887
852
  declare function buildPaths(basePath: string): AuthPaths;
888
- /** Default paths (direct mode — backward compatible) */
853
+ /** Default paths */
889
854
  declare const PATHS: AuthPaths;
890
855
  type AuthPaths = {
891
856
  [K in keyof typeof SUFFIXES]: string;
892
857
  };
893
858
  interface AccessClientConfig {
894
- /** Base URL of the Azirid API (empty string for proxy mode) */
859
+ /** Base URL of the Azirid API */
895
860
  baseUrl: string;
896
861
  /**
897
862
  * Base path for auth endpoints.
898
- * - Proxy mode: '/api/auth' (matches Next.js route handler)
899
- * - Direct mode: '/v1/users/auth' (matches API routes)
900
863
  * @default '/v1/users/auth'
901
864
  */
902
865
  basePath?: string;
@@ -2061,15 +2024,6 @@ interface PayphoneModalProps {
2061
2024
  onClose: () => void;
2062
2025
  }
2063
2026
 
2064
- interface SessionSyncOptions {
2065
- /** Cookie name (default: "__session") */
2066
- cookieName?: string;
2067
- /** Set Secure flag on cookie (default: false) */
2068
- secure?: boolean;
2069
- /** Cookie max age in seconds (default: 3600 = 1h) */
2070
- maxAge?: number;
2071
- }
2072
-
2073
2027
  declare const SDK_VERSION: string;
2074
2028
 
2075
- export { type AccessClient, type AccessClientConfig, type AccessMessages, type ApiError, type AppBranding, AuthForm, type AuthFormProps, type AuthPaths, type AuthState, type AuthSuccessResponse, type AuthUser, type AuthView, type AvailableProvider, type AziridContextValue, AziridProvider, type AziridProviderProps, BASE_PATHS, type BillingInvoice, type BillingPlan, type BootstrapResponse, type Branch, type ChangePasswordData, type ChangePasswordInput, CheckoutButton, type CheckoutButtonProps, type CheckoutParams, type CheckoutResponse, type CreateTenantData, type FieldError, ForgotPasswordForm, type ForgotPasswordFormProps, type ForgotPasswordInput, HandoffCallback, type HandoffCallbackProps, InvoiceList, type InvoiceListProps, type LoginData, LoginForm, type LoginFormProps, type LoginInput, type MagicLinkRequestData, type MagicLinkRequestInput, type MagicLinkVerifyData, type MagicLinkVerifyInput, type MutationHookConfig, PATHS, type PasskeyItem, type PasskeyLoginData, type PasskeyLoginStartData, type PasskeyLoginStartResponse, type PasskeyLoginVerifyData, type PasskeyRegisterStartData, type PasskeyRegisterStartInput, type PasskeyRegisterStartResponse, type PasskeyRegisterVerifyData, type PasswordResetConfirmData, type PasswordResetRequestData, PayButton, type PayButtonProps, type PayButtonStatus, type PaymentIntent, type PaymentMethod, type PaymentProviderType, PayphoneCallback, type PayphoneCallbackProps, type PayphoneCheckoutStatus, type PayphoneConfirmParams, type PayphoneConfirmResult, type PayphoneModalProps, type PayphoneWidgetConfig, PayphoneWidgetRenderer, type PricingCardProps, type PricingFeatureListProps, PricingTable, type PricingTableProps, type ProviderModalProps, ReferralCard, type ReferralCardProps, type ReferralInfo, type ReferralItem, ReferralStats, type ReferralStatsData, type ReferralStatsProps, type RegisterPasskeyData, type ResetPasswordConfirmInput, ResetPasswordForm, type ResetPasswordFormProps, SDK_VERSION, type SessionSyncOptions, type SignupData, SignupForm, type SignupFormProps, type SignupInput, type SimpleMutationOptions, type SocialLoginData, type SocialLoginInput, type SubmitProofData, type SubmitTransferProofData, SubscriptionBadge, type SubscriptionBadgeProps, type SupportedLocale, type TenantMemberInfo, type TenantWithRole, type TransferModalProps, type TransferPaymentStatus, type TransferProof, type UploadTransferProofRequest, type UploadTransferProofResponse, type UseBootstrapOptions, type UseBootstrapReturn, type UseChangePasswordOptions, type UseChangePasswordReturn, type UseCheckoutOptions, type UseFormReturn, type UseLoginOptions, type UseLoginReturn, type UseLogoutOptions, type UseLogoutReturn, type UseMagicLinkOptions, type UseMagicLinkReturn, type UsePasskeysOptions, type UsePasskeysReturn, type UsePasswordResetOptions, type UsePasswordResetReturn, type UsePayButtonOptions, type UsePayButtonReturn, type UsePayphoneCheckoutOptions, type UsePayphoneCheckoutReturn, type UsePayphoneConfirmOptions, type UseRefreshOptions, type UseRefreshReturn, type UseSessionOptions, type UseSessionReturn, type UseSignupOptions, type UseSignupReturn, type UseSocialLoginOptions, type UseSocialLoginReturn, type UseTransferPaymentOptions, type UseTransferPaymentReturn, type UserSubscription, buildPaths, changePasswordSchema, cn, createAccessClient, createForgotPasswordSchema, createLoginSchema, createMutationHook, createResetPasswordConfirmSchema, createSignupSchema, en, es, forgotPasswordSchema, isAuthError, loginSchema, magicLinkRequestSchema, magicLinkVerifySchema, passkeyRegisterStartSchema, removeStyles, resetPasswordConfirmSchema, resolveMessages, signupSchema, socialLoginSchema, useAccessClient, useAzirid, useBootstrap, useBranches, useBranding, useChangePassword, useCheckout, useFormState, useInvoices, useLogin, useLogout, useMagicLink, useMessages, usePasskeys, usePasswordReset, usePasswordToggle, usePayButton, usePaymentMethods, usePaymentProviders, usePayphoneCheckout, usePayphoneConfirm, usePlans, useReferral, useReferralStats, useRefresh, useSession, useSignup, useSocialLogin, useSubmitTransferProof, useSubscription, useSwitchTenant, useTenantMembers, useTenants, useTransferPayment, useTransferProofs, useUploadTransferProof };
2029
+ export { AUTH_BASE_PATH, type AccessClient, type AccessClientConfig, type AccessMessages, type ApiError, type AppBranding, AuthForm, type AuthFormProps, type AuthPaths, type AuthState, type AuthSuccessResponse, type AuthUser, type AuthView, type AvailableProvider, type AziridContextValue, AziridProvider, type AziridProviderProps, type BillingInvoice, type BillingPlan, type BootstrapResponse, type Branch, type ChangePasswordData, type ChangePasswordInput, CheckoutButton, type CheckoutButtonProps, type CheckoutParams, type CheckoutResponse, type CreateTenantData, type FieldError, ForgotPasswordForm, type ForgotPasswordFormProps, type ForgotPasswordInput, HandoffCallback, type HandoffCallbackProps, InvoiceList, type InvoiceListProps, type LoginData, LoginForm, type LoginFormProps, type LoginInput, type MagicLinkRequestData, type MagicLinkRequestInput, type MagicLinkVerifyData, type MagicLinkVerifyInput, type MutationHookConfig, PATHS, type PasskeyItem, type PasskeyLoginData, type PasskeyLoginStartData, type PasskeyLoginStartResponse, type PasskeyLoginVerifyData, type PasskeyRegisterStartData, type PasskeyRegisterStartInput, type PasskeyRegisterStartResponse, type PasskeyRegisterVerifyData, type PasswordResetConfirmData, type PasswordResetRequestData, PayButton, type PayButtonProps, type PayButtonStatus, type PaymentIntent, type PaymentMethod, type PaymentProviderType, PayphoneCallback, type PayphoneCallbackProps, type PayphoneCheckoutStatus, type PayphoneConfirmParams, type PayphoneConfirmResult, type PayphoneModalProps, type PayphoneWidgetConfig, PayphoneWidgetRenderer, type PricingCardProps, type PricingFeatureListProps, PricingTable, type PricingTableProps, type ProviderModalProps, ReferralCard, type ReferralCardProps, type ReferralInfo, type ReferralItem, ReferralStats, type ReferralStatsData, type ReferralStatsProps, type RegisterPasskeyData, type ResetPasswordConfirmInput, ResetPasswordForm, type ResetPasswordFormProps, SDK_VERSION, type SignupData, SignupForm, type SignupFormProps, type SignupInput, type SimpleMutationOptions, type SocialLoginData, type SocialLoginInput, type SubmitProofData, type SubmitTransferProofData, SubscriptionBadge, type SubscriptionBadgeProps, type SupportedLocale, type TenantMemberInfo, type TenantWithRole, type TransferModalProps, type TransferPaymentStatus, type TransferProof, type UploadTransferProofRequest, type UploadTransferProofResponse, type UseBootstrapOptions, type UseBootstrapReturn, type UseChangePasswordOptions, type UseChangePasswordReturn, type UseCheckoutOptions, type UseFormReturn, type UseLoginOptions, type UseLoginReturn, type UseLogoutOptions, type UseLogoutReturn, type UseMagicLinkOptions, type UseMagicLinkReturn, type UsePasskeysOptions, type UsePasskeysReturn, type UsePasswordResetOptions, type UsePasswordResetReturn, type UsePayButtonOptions, type UsePayButtonReturn, type UsePayphoneCheckoutOptions, type UsePayphoneCheckoutReturn, type UsePayphoneConfirmOptions, type UseRefreshOptions, type UseRefreshReturn, type UseSessionOptions, type UseSessionReturn, type UseSignupOptions, type UseSignupReturn, type UseSocialLoginOptions, type UseSocialLoginReturn, type UseTransferPaymentOptions, type UseTransferPaymentReturn, type UserSubscription, buildPaths, changePasswordSchema, cn, createAccessClient, createForgotPasswordSchema, createLoginSchema, createMutationHook, createResetPasswordConfirmSchema, createSignupSchema, en, es, forgotPasswordSchema, isAuthError, loginSchema, magicLinkRequestSchema, magicLinkVerifySchema, passkeyRegisterStartSchema, removeStyles, resetPasswordConfirmSchema, resolveMessages, signupSchema, socialLoginSchema, useAccessClient, useAzirid, useBootstrap, useBranches, useBranding, useChangePassword, useCheckout, useFormState, useInvoices, useLogin, useLogout, useMagicLink, useMessages, usePasskeys, usePasswordReset, usePasswordToggle, usePayButton, usePaymentMethods, usePaymentProviders, usePayphoneCheckout, usePayphoneConfirm, usePlans, useReferral, useReferralStats, useRefresh, useSession, useSignup, useSocialLogin, useSubmitTransferProof, useSubscription, useSwitchTenant, useTenantMembers, useTenants, useTransferPayment, useTransferProofs, useUploadTransferProof };
package/dist/index.d.ts CHANGED
@@ -203,23 +203,13 @@ interface RegisterPasskeyData {
203
203
  interface AziridProviderProps {
204
204
  children: ReactNode;
205
205
  /**
206
- * Azirid API URL for **direct mode** (requests go straight to the API).
206
+ * Azirid API URL. Defaults to `https://api.azirid.com`.
207
207
  *
208
- * - **Omitted** proxy mode (recommended for Next.js). Requests go to
209
- * your app's `/api/auth/*` route handler which proxies them securely.
210
- * Cookies are first-party. No CORS needed.
208
+ * Set this to your API URL for local development or custom deployments.
211
209
  *
212
- * - **Set** → direct mode. Requests go directly to this URL.
213
- * Requires CORS configured on the API.
214
- *
215
- * @example Direct mode (React SPA / Vite)
216
- * ```tsx
217
- * <AziridProvider apiUrl="https://api.azirid.com" publishableKey="pk_live_...">
218
- * ```
219
- *
220
- * @example Proxy mode (Next.js — recommended)
210
+ * @example
221
211
  * ```tsx
222
- * <AziridProvider publishableKey="pk_live_...">
212
+ * <AziridProvider apiUrl="http://localhost:3000" publishableKey="pk_dev_...">
223
213
  * ```
224
214
  */
225
215
  apiUrl?: string;
@@ -250,13 +240,6 @@ interface AziridProviderProps {
250
240
  autoBootstrap?: boolean;
251
241
  /** Interval in ms for proactive token refresh (default: 50000 = 50 seconds). Set to 0 to disable. */
252
242
  refreshInterval?: number;
253
- /**
254
- * URL of a local API route to sync the session cookie (for server actions).
255
- * - In dev mode (pk_dev_*): auto-activates with "/api/auth/session"
256
- * - In prod mode (pk_live_*): disabled by default
257
- * - Pass a string to force a custom URL, or false to force disable
258
- */
259
- sessionSyncUrl?: string | false;
260
243
  /** Publishable key for the app (e.g. pk_development_a1b2c3...) */
261
244
  publishableKey?: string;
262
245
  /** Tenant ID for multi-tenant apps */
@@ -777,25 +760,12 @@ interface HandoffCallbackProps {
777
760
  /**
778
761
  * Standalone component for handling impersonation handoff redirects.
779
762
  *
780
- * Does NOT require AziridProvider works independently by reading the
781
- * API URL from the `&api=` query parameter and exchanging the handoff
782
- * code directly. After exchanging, stores tokens in sessionStorage so
783
- * AziridProvider picks them up on the next page load.
784
- *
785
- * Usage:
786
- * ```tsx
787
- * // app/auth/handoff/page.tsx
788
- * import { HandoffCallback } from 'azirid-react'
789
- *
790
- * export default function HandoffPage() {
791
- * return (
792
- * <HandoffCallback
793
- * onSuccess={() => window.location.href = '/'}
794
- * onError={() => window.location.href = '/login'}
795
- * />
796
- * )
797
- * }
798
- * ```
763
+ * Does NOT depend on AziridProvider. Works independently by:
764
+ * 1. Reading the API URL from the `&api=` query parameter
765
+ * 2. Exchanging the handoff code for tokens directly with the API
766
+ * 3. Storing tokens in sessionStorage
767
+ * 4. Setting the __session cookie for SSR access
768
+ * 5. Redirecting to the app
799
769
  */
800
770
  declare function HandoffCallback({ onSuccess, onError, loadingText, errorText, }: HandoffCallbackProps): react_jsx_runtime.JSX.Element;
801
771
 
@@ -876,27 +846,20 @@ declare const SUFFIXES: {
876
846
  readonly branches: "branches";
877
847
  readonly paymentMethods: "payment-methods";
878
848
  };
879
- /** Base paths for each mode */
880
- declare const BASE_PATHS: {
881
- /** Proxy mode (Next.js): requests go to the same origin via route handler */
882
- readonly proxy: "/api/auth";
883
- /** Direct mode: requests go straight to the Azirid API */
884
- readonly direct: "/v1/users/auth";
885
- };
849
+ /** Base path for auth endpoints */
850
+ declare const AUTH_BASE_PATH: "/v1/users/auth";
886
851
  /** Build full path map from a basePath */
887
852
  declare function buildPaths(basePath: string): AuthPaths;
888
- /** Default paths (direct mode — backward compatible) */
853
+ /** Default paths */
889
854
  declare const PATHS: AuthPaths;
890
855
  type AuthPaths = {
891
856
  [K in keyof typeof SUFFIXES]: string;
892
857
  };
893
858
  interface AccessClientConfig {
894
- /** Base URL of the Azirid API (empty string for proxy mode) */
859
+ /** Base URL of the Azirid API */
895
860
  baseUrl: string;
896
861
  /**
897
862
  * Base path for auth endpoints.
898
- * - Proxy mode: '/api/auth' (matches Next.js route handler)
899
- * - Direct mode: '/v1/users/auth' (matches API routes)
900
863
  * @default '/v1/users/auth'
901
864
  */
902
865
  basePath?: string;
@@ -2061,15 +2024,6 @@ interface PayphoneModalProps {
2061
2024
  onClose: () => void;
2062
2025
  }
2063
2026
 
2064
- interface SessionSyncOptions {
2065
- /** Cookie name (default: "__session") */
2066
- cookieName?: string;
2067
- /** Set Secure flag on cookie (default: false) */
2068
- secure?: boolean;
2069
- /** Cookie max age in seconds (default: 3600 = 1h) */
2070
- maxAge?: number;
2071
- }
2072
-
2073
2027
  declare const SDK_VERSION: string;
2074
2028
 
2075
- export { type AccessClient, type AccessClientConfig, type AccessMessages, type ApiError, type AppBranding, AuthForm, type AuthFormProps, type AuthPaths, type AuthState, type AuthSuccessResponse, type AuthUser, type AuthView, type AvailableProvider, type AziridContextValue, AziridProvider, type AziridProviderProps, BASE_PATHS, type BillingInvoice, type BillingPlan, type BootstrapResponse, type Branch, type ChangePasswordData, type ChangePasswordInput, CheckoutButton, type CheckoutButtonProps, type CheckoutParams, type CheckoutResponse, type CreateTenantData, type FieldError, ForgotPasswordForm, type ForgotPasswordFormProps, type ForgotPasswordInput, HandoffCallback, type HandoffCallbackProps, InvoiceList, type InvoiceListProps, type LoginData, LoginForm, type LoginFormProps, type LoginInput, type MagicLinkRequestData, type MagicLinkRequestInput, type MagicLinkVerifyData, type MagicLinkVerifyInput, type MutationHookConfig, PATHS, type PasskeyItem, type PasskeyLoginData, type PasskeyLoginStartData, type PasskeyLoginStartResponse, type PasskeyLoginVerifyData, type PasskeyRegisterStartData, type PasskeyRegisterStartInput, type PasskeyRegisterStartResponse, type PasskeyRegisterVerifyData, type PasswordResetConfirmData, type PasswordResetRequestData, PayButton, type PayButtonProps, type PayButtonStatus, type PaymentIntent, type PaymentMethod, type PaymentProviderType, PayphoneCallback, type PayphoneCallbackProps, type PayphoneCheckoutStatus, type PayphoneConfirmParams, type PayphoneConfirmResult, type PayphoneModalProps, type PayphoneWidgetConfig, PayphoneWidgetRenderer, type PricingCardProps, type PricingFeatureListProps, PricingTable, type PricingTableProps, type ProviderModalProps, ReferralCard, type ReferralCardProps, type ReferralInfo, type ReferralItem, ReferralStats, type ReferralStatsData, type ReferralStatsProps, type RegisterPasskeyData, type ResetPasswordConfirmInput, ResetPasswordForm, type ResetPasswordFormProps, SDK_VERSION, type SessionSyncOptions, type SignupData, SignupForm, type SignupFormProps, type SignupInput, type SimpleMutationOptions, type SocialLoginData, type SocialLoginInput, type SubmitProofData, type SubmitTransferProofData, SubscriptionBadge, type SubscriptionBadgeProps, type SupportedLocale, type TenantMemberInfo, type TenantWithRole, type TransferModalProps, type TransferPaymentStatus, type TransferProof, type UploadTransferProofRequest, type UploadTransferProofResponse, type UseBootstrapOptions, type UseBootstrapReturn, type UseChangePasswordOptions, type UseChangePasswordReturn, type UseCheckoutOptions, type UseFormReturn, type UseLoginOptions, type UseLoginReturn, type UseLogoutOptions, type UseLogoutReturn, type UseMagicLinkOptions, type UseMagicLinkReturn, type UsePasskeysOptions, type UsePasskeysReturn, type UsePasswordResetOptions, type UsePasswordResetReturn, type UsePayButtonOptions, type UsePayButtonReturn, type UsePayphoneCheckoutOptions, type UsePayphoneCheckoutReturn, type UsePayphoneConfirmOptions, type UseRefreshOptions, type UseRefreshReturn, type UseSessionOptions, type UseSessionReturn, type UseSignupOptions, type UseSignupReturn, type UseSocialLoginOptions, type UseSocialLoginReturn, type UseTransferPaymentOptions, type UseTransferPaymentReturn, type UserSubscription, buildPaths, changePasswordSchema, cn, createAccessClient, createForgotPasswordSchema, createLoginSchema, createMutationHook, createResetPasswordConfirmSchema, createSignupSchema, en, es, forgotPasswordSchema, isAuthError, loginSchema, magicLinkRequestSchema, magicLinkVerifySchema, passkeyRegisterStartSchema, removeStyles, resetPasswordConfirmSchema, resolveMessages, signupSchema, socialLoginSchema, useAccessClient, useAzirid, useBootstrap, useBranches, useBranding, useChangePassword, useCheckout, useFormState, useInvoices, useLogin, useLogout, useMagicLink, useMessages, usePasskeys, usePasswordReset, usePasswordToggle, usePayButton, usePaymentMethods, usePaymentProviders, usePayphoneCheckout, usePayphoneConfirm, usePlans, useReferral, useReferralStats, useRefresh, useSession, useSignup, useSocialLogin, useSubmitTransferProof, useSubscription, useSwitchTenant, useTenantMembers, useTenants, useTransferPayment, useTransferProofs, useUploadTransferProof };
2029
+ export { AUTH_BASE_PATH, type AccessClient, type AccessClientConfig, type AccessMessages, type ApiError, type AppBranding, AuthForm, type AuthFormProps, type AuthPaths, type AuthState, type AuthSuccessResponse, type AuthUser, type AuthView, type AvailableProvider, type AziridContextValue, AziridProvider, type AziridProviderProps, type BillingInvoice, type BillingPlan, type BootstrapResponse, type Branch, type ChangePasswordData, type ChangePasswordInput, CheckoutButton, type CheckoutButtonProps, type CheckoutParams, type CheckoutResponse, type CreateTenantData, type FieldError, ForgotPasswordForm, type ForgotPasswordFormProps, type ForgotPasswordInput, HandoffCallback, type HandoffCallbackProps, InvoiceList, type InvoiceListProps, type LoginData, LoginForm, type LoginFormProps, type LoginInput, type MagicLinkRequestData, type MagicLinkRequestInput, type MagicLinkVerifyData, type MagicLinkVerifyInput, type MutationHookConfig, PATHS, type PasskeyItem, type PasskeyLoginData, type PasskeyLoginStartData, type PasskeyLoginStartResponse, type PasskeyLoginVerifyData, type PasskeyRegisterStartData, type PasskeyRegisterStartInput, type PasskeyRegisterStartResponse, type PasskeyRegisterVerifyData, type PasswordResetConfirmData, type PasswordResetRequestData, PayButton, type PayButtonProps, type PayButtonStatus, type PaymentIntent, type PaymentMethod, type PaymentProviderType, PayphoneCallback, type PayphoneCallbackProps, type PayphoneCheckoutStatus, type PayphoneConfirmParams, type PayphoneConfirmResult, type PayphoneModalProps, type PayphoneWidgetConfig, PayphoneWidgetRenderer, type PricingCardProps, type PricingFeatureListProps, PricingTable, type PricingTableProps, type ProviderModalProps, ReferralCard, type ReferralCardProps, type ReferralInfo, type ReferralItem, ReferralStats, type ReferralStatsData, type ReferralStatsProps, type RegisterPasskeyData, type ResetPasswordConfirmInput, ResetPasswordForm, type ResetPasswordFormProps, SDK_VERSION, type SignupData, SignupForm, type SignupFormProps, type SignupInput, type SimpleMutationOptions, type SocialLoginData, type SocialLoginInput, type SubmitProofData, type SubmitTransferProofData, SubscriptionBadge, type SubscriptionBadgeProps, type SupportedLocale, type TenantMemberInfo, type TenantWithRole, type TransferModalProps, type TransferPaymentStatus, type TransferProof, type UploadTransferProofRequest, type UploadTransferProofResponse, type UseBootstrapOptions, type UseBootstrapReturn, type UseChangePasswordOptions, type UseChangePasswordReturn, type UseCheckoutOptions, type UseFormReturn, type UseLoginOptions, type UseLoginReturn, type UseLogoutOptions, type UseLogoutReturn, type UseMagicLinkOptions, type UseMagicLinkReturn, type UsePasskeysOptions, type UsePasskeysReturn, type UsePasswordResetOptions, type UsePasswordResetReturn, type UsePayButtonOptions, type UsePayButtonReturn, type UsePayphoneCheckoutOptions, type UsePayphoneCheckoutReturn, type UsePayphoneConfirmOptions, type UseRefreshOptions, type UseRefreshReturn, type UseSessionOptions, type UseSessionReturn, type UseSignupOptions, type UseSignupReturn, type UseSocialLoginOptions, type UseSocialLoginReturn, type UseTransferPaymentOptions, type UseTransferPaymentReturn, type UserSubscription, buildPaths, changePasswordSchema, cn, createAccessClient, createForgotPasswordSchema, createLoginSchema, createMutationHook, createResetPasswordConfirmSchema, createSignupSchema, en, es, forgotPasswordSchema, isAuthError, loginSchema, magicLinkRequestSchema, magicLinkVerifySchema, passkeyRegisterStartSchema, removeStyles, resetPasswordConfirmSchema, resolveMessages, signupSchema, socialLoginSchema, useAccessClient, useAzirid, useBootstrap, useBranches, useBranding, useChangePassword, useCheckout, useFormState, useInvoices, useLogin, useLogout, useMagicLink, useMessages, usePasskeys, usePasswordReset, usePasswordToggle, usePayButton, usePaymentMethods, usePaymentProviders, usePayphoneCheckout, usePayphoneConfirm, usePlans, useReferral, useReferralStats, useRefresh, useSession, useSignup, useSocialLogin, useSubmitTransferProof, useSubscription, useSwitchTenant, useTenantMembers, useTenants, useTransferPayment, useTransferProofs, useUploadTransferProof };
package/dist/index.js CHANGED
@@ -129,19 +129,14 @@ var SUFFIXES = {
129
129
  branches: "branches",
130
130
  paymentMethods: "payment-methods"
131
131
  };
132
- var BASE_PATHS = {
133
- /** Proxy mode (Next.js): requests go to the same origin via route handler */
134
- proxy: "/api/auth",
135
- /** Direct mode: requests go straight to the Azirid API */
136
- direct: "/v1/users/auth"
137
- };
132
+ var AUTH_BASE_PATH = "/v1/users/auth";
138
133
  function buildPaths(basePath) {
139
134
  const bp = basePath.replace(/\/$/, "");
140
135
  return Object.fromEntries(
141
136
  Object.entries(SUFFIXES).map(([key, suffix]) => [key, `${bp}/${suffix}`])
142
137
  );
143
138
  }
144
- var PATHS = buildPaths(BASE_PATHS.direct);
139
+ var PATHS = buildPaths(AUTH_BASE_PATH);
145
140
  function createAccessClient(config, appContext) {
146
141
  const baseUrl = config.baseUrl.replace(/\/$/, "");
147
142
  const paths = config.basePath ? buildPaths(config.basePath) : PATHS;
@@ -208,6 +203,13 @@ function createAccessClient(config, appContext) {
208
203
  }
209
204
  function setAccessToken(token) {
210
205
  accessToken = token;
206
+ if (typeof document !== "undefined") {
207
+ if (token) {
208
+ document.cookie = `__session=${token}; Path=/; SameSite=Lax; Max-Age=900`;
209
+ } else {
210
+ document.cookie = "__session=; Path=/; SameSite=Lax; Max-Age=0";
211
+ }
212
+ }
211
213
  }
212
214
  function getAccessToken() {
213
215
  return accessToken;
@@ -774,40 +776,12 @@ function AziridProviderInner({
774
776
  [props.locale, props.messages]
775
777
  );
776
778
  const brandingValue = useMemo(() => ({ branding, messages }), [branding, messages]);
777
- const isProxyMode = !props.apiUrl;
778
- const syncUrl = useMemo(() => {
779
- if (props.sessionSyncUrl === false) return null;
780
- if (props.sessionSyncUrl) return props.sessionSyncUrl;
781
- if (isProxyMode) return null;
782
- if (client.appContext?.publishableKey?.startsWith("pk_dev")) {
783
- return "/api/auth/session";
784
- }
785
- return null;
786
- }, [props.sessionSyncUrl, client.appContext?.publishableKey, isProxyMode]);
787
- const syncSession = useCallback(
788
- (token) => {
789
- if (!syncUrl) return;
790
- if (token) {
791
- fetch(syncUrl, {
792
- method: "POST",
793
- headers: { "Content-Type": "application/json" },
794
- body: JSON.stringify({ token })
795
- }).catch(() => {
796
- });
797
- } else {
798
- fetch(syncUrl, { method: "DELETE" }).catch(() => {
799
- });
800
- }
801
- },
802
- [syncUrl]
803
- );
804
779
  const updateAccessToken = useCallback(
805
780
  (token) => {
806
781
  setAccessToken(token);
807
782
  client.setAccessToken(token);
808
- syncSession(token);
809
783
  },
810
- [client, syncSession]
784
+ [client]
811
785
  );
812
786
  const saveSessionTokens = useCallback(
813
787
  (data) => {
@@ -1011,11 +985,9 @@ function AziridProvider(props) {
1011
985
  publishableKey: props.publishableKey,
1012
986
  tenantId: props.tenantId
1013
987
  } : void 0;
1014
- const isProxy = !props.apiUrl;
1015
- const baseUrl = isProxy ? "" : props.apiUrl.replace(/\/$/, "");
1016
- const basePath = isProxy ? BASE_PATHS.proxy : BASE_PATHS.direct;
988
+ const baseUrl = (props.apiUrl ?? "https://api.azirid.com").replace(/\/$/, "");
1017
989
  return createAccessClient(
1018
- { baseUrl, basePath, headers: props.fetchOptions },
990
+ { baseUrl, basePath: AUTH_BASE_PATH, headers: props.fetchOptions },
1019
991
  appContext
1020
992
  );
1021
993
  }, [props.publishableKey, props.tenantId, props.fetchOptions, props.apiUrl]);
@@ -4027,29 +3999,8 @@ function HandoffCallback({
4027
3999
  onError?.(new Error("No API URL in handoff link"));
4028
4000
  return;
4029
4001
  }
4030
- const exchangeUrl = `${apiUrl.replace(/\/+$/, "")}/users/auth/handoff/exchange`;
4031
- fetch(exchangeUrl, {
4032
- method: "POST",
4033
- headers: { "Content-Type": "application/json" },
4034
- credentials: "include",
4035
- body: JSON.stringify({ code })
4036
- }).then(async (res) => {
4037
- if (!res.ok) {
4038
- const body = await res.json().catch(() => null);
4039
- throw new Error(body?.error?.message ?? body?.message ?? "Handoff exchange failed");
4040
- }
4041
- return res.json();
4042
- }).then((raw) => {
4043
- const json = raw && typeof raw === "object" && "data" in raw && "meta" in raw ? raw.data : raw;
4044
- json.at ?? json.accessToken;
4045
- const refreshToken = json.rt ?? json.refreshToken;
4046
- const csrfToken = json.xc ?? json.csrfToken;
4047
- try {
4048
- if (refreshToken) sessionStorage.setItem("__azrt", refreshToken);
4049
- if (csrfToken) sessionStorage.setItem("__azxc", csrfToken);
4050
- } catch {
4051
- }
4052
- onSuccess?.(json.user);
4002
+ performHandoff(apiUrl, code).then((user) => {
4003
+ onSuccess?.(user);
4053
4004
  }).catch((err) => {
4054
4005
  setStatus("error");
4055
4006
  const error = err instanceof Error ? err : new Error("Handoff exchange failed");
@@ -4062,6 +4013,33 @@ function HandoffCallback({
4062
4013
  }
4063
4014
  return /* @__PURE__ */ jsx("div", { style: wrapperStyle, children: /* @__PURE__ */ jsx("p", { style: messageStyle2, children: loadingText }) });
4064
4015
  }
4016
+ async function performHandoff(apiUrl, code) {
4017
+ const exchangeUrl = `${apiUrl.replace(/\/+$/, "")}/users/auth/handoff/exchange`;
4018
+ const res = await fetch(exchangeUrl, {
4019
+ method: "POST",
4020
+ headers: { "Content-Type": "application/json" },
4021
+ credentials: "include",
4022
+ body: JSON.stringify({ code })
4023
+ });
4024
+ if (!res.ok) {
4025
+ const body = await res.json().catch(() => null);
4026
+ throw new Error(body?.error?.message ?? body?.message ?? "Handoff exchange failed");
4027
+ }
4028
+ const raw = await res.json();
4029
+ const json = raw && typeof raw === "object" && "data" in raw && "meta" in raw ? raw.data : raw;
4030
+ const refreshToken = json.rt ?? json.refreshToken;
4031
+ const csrfToken = json.xc ?? json.csrfToken;
4032
+ try {
4033
+ if (refreshToken) sessionStorage.setItem("__azrt", refreshToken);
4034
+ if (csrfToken) sessionStorage.setItem("__azxc", csrfToken);
4035
+ } catch {
4036
+ }
4037
+ const at = json.at ?? json.accessToken;
4038
+ if (at) {
4039
+ document.cookie = `__session=${at}; Path=/; SameSite=Lax; Max-Age=900`;
4040
+ }
4041
+ return json.user;
4042
+ }
4065
4043
  var wrapperStyle = {
4066
4044
  display: "flex",
4067
4045
  flexDirection: "column",
@@ -4873,8 +4851,8 @@ function usePasswordToggle() {
4873
4851
  }
4874
4852
 
4875
4853
  // src/index.ts
4876
- var SDK_VERSION = "0.13.2";
4854
+ var SDK_VERSION = "0.14.0";
4877
4855
 
4878
- export { AuthForm, AziridProvider, BASE_PATHS, CheckoutButton, ForgotPasswordForm, HandoffCallback, InvoiceList, LoginForm, PATHS, PayButton, PayphoneCallback, PayphoneWidgetRenderer, PricingTable, ReferralCard, ReferralStats, ResetPasswordForm, SDK_VERSION, SignupForm, SubscriptionBadge, buildPaths, changePasswordSchema, cn, createAccessClient, createForgotPasswordSchema, createLoginSchema, createMutationHook, createResetPasswordConfirmSchema, createSignupSchema, en, es, forgotPasswordSchema, isAuthError, loginSchema, magicLinkRequestSchema, magicLinkVerifySchema, passkeyRegisterStartSchema, removeStyles, resetPasswordConfirmSchema, resolveMessages, signupSchema, socialLoginSchema, useAccessClient, useAzirid, useBootstrap, useBranches, useBranding, useChangePassword, useCheckout, useFormState, useInvoices, useLogin, useLogout, useMagicLink, useMessages, usePasskeys, usePasswordReset, usePasswordToggle, usePayButton, usePaymentMethods, usePaymentProviders, usePayphoneCheckout, usePayphoneConfirm, usePlans, useReferral, useReferralStats, useRefresh, useSession, useSignup, useSocialLogin, useSubmitTransferProof, useSubscription, useSwitchTenant, useTenantMembers, useTenants, useTransferPayment, useTransferProofs, useUploadTransferProof };
4856
+ export { AUTH_BASE_PATH, AuthForm, AziridProvider, CheckoutButton, ForgotPasswordForm, HandoffCallback, InvoiceList, LoginForm, PATHS, PayButton, PayphoneCallback, PayphoneWidgetRenderer, PricingTable, ReferralCard, ReferralStats, ResetPasswordForm, SDK_VERSION, SignupForm, SubscriptionBadge, buildPaths, changePasswordSchema, cn, createAccessClient, createForgotPasswordSchema, createLoginSchema, createMutationHook, createResetPasswordConfirmSchema, createSignupSchema, en, es, forgotPasswordSchema, isAuthError, loginSchema, magicLinkRequestSchema, magicLinkVerifySchema, passkeyRegisterStartSchema, removeStyles, resetPasswordConfirmSchema, resolveMessages, signupSchema, socialLoginSchema, useAccessClient, useAzirid, useBootstrap, useBranches, useBranding, useChangePassword, useCheckout, useFormState, useInvoices, useLogin, useLogout, useMagicLink, useMessages, usePasskeys, usePasswordReset, usePasswordToggle, usePayButton, usePaymentMethods, usePaymentProviders, usePayphoneCheckout, usePayphoneConfirm, usePlans, useReferral, useReferralStats, useRefresh, useSession, useSignup, useSocialLogin, useSubmitTransferProof, useSubscription, useSwitchTenant, useTenantMembers, useTenants, useTransferPayment, useTransferProofs, useUploadTransferProof };
4879
4857
  //# sourceMappingURL=index.js.map
4880
4858
  //# sourceMappingURL=index.js.map