@frank-auth/react
Version:
Flexible and customizable React UI components for Frank Authentication
3 lines (2 loc) • 14.7 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./api.cjs"),n=require("./auth.cjs"),m=require("./validation.cjs"),o=require("./crypto.cjs"),i=require("./url.cjs"),s=require("./format.cjs"),r=require("./error.cjs"),u=require("./theme.cjs"),g=require("@frank-auth/sdk"),p=e=>new Promise(a=>setTimeout(a,e)),y=(e,a,t)=>{let l=null;return(...d)=>{const h=()=>{l=null,t||e(...d)},S=t&&!l;l&&clearTimeout(l),l=setTimeout(h,a),S&&e(...d)}},C=(e,a)=>{let t;return(...l)=>{t||(e(...l),t=!0,setTimeout(()=>t=!1,a))}},T=(e,a)=>{const t={...e};for(const l of a)delete t[l];return t},b=(e,a)=>{const t={};for(const l of a)l in e&&(t[l]=e[l]);return t},A=e=>e==null?!0:typeof e=="string"||Array.isArray(e)?e.length===0:typeof e=="object"?Object.keys(e).length===0:!1,f=(e,a)=>{if(e===a)return!0;if(e==null||a==null||typeof e!=typeof a)return!1;if(Array.isArray(e))return!Array.isArray(a)||e.length!==a.length?!1:e.every((t,l)=>f(t,a[l]));if(typeof e=="object"){const t=Object.keys(e),l=Object.keys(a);return t.length!==l.length?!1:t.every(d=>f(e[d],a[d]))}return!1},P=()=>Math.random().toString(36).substring(2)+Date.now().toString(36),R=(e,a,t)=>Math.min(Math.max(e,a),t),U=(e,a)=>e.reduce((t,l)=>(t[a(l)]=l,t),{}),v=(e,a)=>e.reduce((t,l)=>{const d=a(l);return t[d]||(t[d]=[]),t[d].push(l),t},{}),k=e=>[...new Set(e)],L=(e,a)=>{const t=new Set;return e.filter(l=>{const d=a(l);return t.has(d)?!1:(t.add(d),!0)})},w=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase(),O=e=>e.replace(/(?:^\w|[A-Z]|\b\w)/g,(a,t)=>t===0?a.toLowerCase():a.toUpperCase()).replace(/\s+/g,""),I=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),V=e=>e.replace(/([a-z])([A-Z])/g,"$1_$2").replace(/[\s-]+/g,"_").toLowerCase(),z=(e,a,t="...")=>e.length<=a?e:e.substring(0,a-t.length)+t,E=(e,a)=>Math.floor(Math.random()*(a-e+1))+e,D=e=>e[E(0,e.length-1)],F=async(e,a=3,t=1e3)=>{let l;for(let d=1;d<=a;d++)try{return await e()}catch(h){if(l=h,d===a)break;await p(t*d)}throw l},B=(e,a,t="Operation timed out")=>Promise.race([e,new Promise((l,d)=>setTimeout(()=>d(new Error(t)),a))]),M=(e,a)=>{const t=new Map;return(...l)=>{const d=a?a(...l):JSON.stringify(l);if(t.has(d))return t.get(d);const h=e(...l);return t.set(d,h),h}};exports.APIClient=c.APIClient;exports.APIWebSocket=c.APIWebSocket;exports.batchRequests=c.batchRequests;exports.createAPIClient=c.createAPIClient;exports.downloadFile=c.downloadFile;exports.handleAPIError=c.handleAPIError;exports.isAPIError=c.isAPIError;exports.retryRequest=c.retryRequest;exports.uploadFile=c.uploadFile;exports.withCache=c.withCache;exports.buildRedirectUrl=n.buildRedirectUrl;exports.canUserAccessOrganization=n.canUserAccessOrganization;exports.canUserInviteMembers=n.canUserInviteMembers;exports.canUserManageOrganization=n.canUserManageOrganization;exports.createAuthEvent=n.createAuthEvent;exports.decodeJWT=n.decodeJWT;exports.dispatchAuthEvent=n.dispatchAuthEvent;exports.formatBackupCode=n.formatBackupCode;exports.formatSessionDuration=n.formatSessionDuration;exports.generateRandomState=n.generateRandomState;exports.getAuthMethodDisplayName=n.getAuthMethodDisplayName;exports.getDeviceInfo=n.getDeviceInfo;exports.getPasskeySupport=n.getPasskeySupport;exports.getPasswordStrengthLabel=n.getPasswordStrengthLabel;exports.getRequiredAuthMethods=n.getRequiredAuthMethods;exports.getSessionTimeRemaining=n.getSessionTimeRemaining;exports.getTokenExpiration=n.getTokenExpiration;exports.getTokenTimeToExpiry=n.getTokenTimeToExpiry;exports.getUserDisplayName=n.getUserDisplayName;exports.getUserInitials=n.getUserInitials;exports.getUserPermissionsInOrganization=n.getUserPermissionsInOrganization;exports.getUserRoleInOrganization=n.getUserRoleInOrganization;exports.getUserVerificationStatus=n.getUserVerificationStatus;exports.hasPermission=n.hasPermission;exports.hasRole=n.hasRole;exports.isAuthMethodAvailable=n.isAuthMethodAvailable;exports.isCommonPassword=n.isCommonPassword;exports.isPasskeySupported=n.isPasskeySupported;exports.isSecureContext=n.isSecureContext;exports.isSessionActive=n.isSessionActive;exports.isTokenExpired=n.isTokenExpired;exports.isUserOrganizationOwner=n.isUserOrganizationOwner;exports.isUserVerified=n.isUserVerified;exports.parseAuthCallback=n.parseAuthCallback;exports.requireSecureContext=n.requireSecureContext;exports.sanitizeRedirectUrl=n.sanitizeRedirectUrl;exports.validateBackupCode=n.validateBackupCode;exports.validatePasswordStrength=n.validatePasswordStrength;exports.validateSMSCode=n.validateSMSCode;exports.validateTOTPCode=n.validateTOTPCode;exports.asyncValidation=m.asyncValidation;exports.combine=m.combine;exports.confirmPassword=m.confirmPassword;exports.custom=m.custom;exports.email=m.email;exports.isValidEmail=m.isValidEmail;exports.isValidPhone=m.isValidPhone;exports.isValidUrl=m.isValidUrl;exports.isValidUsername=m.isValidUsername;exports.maxLength=m.maxLength;exports.minLength=m.minLength;exports.normalizeEmail=m.normalizeEmail;exports.normalizePhone=m.normalizePhone;exports.number=m.number;exports.oneOf=m.oneOf;exports.password=m.password;exports.pattern=m.pattern;exports.phone=m.phone;exports.required=m.required;exports.sanitizeInput=m.sanitizeInput;exports.url=m.url;exports.username=m.username;exports.validateField=m.validateField;exports.validateForm=m.validateForm;exports.validateInvitationForm=m.validateInvitationForm;exports.validateOrganizationForm=m.validateOrganizationForm;exports.validatePasswordChangeForm=m.validatePasswordChangeForm;exports.validatePasswordResetForm=m.validatePasswordResetForm;exports.validateProfileForm=m.validateProfileForm;exports.validateSignInForm=m.validateSignInForm;exports.validateSignUpForm=m.validateSignUpForm;exports.CryptoUtils=o.CryptoUtils;exports.arrayBufferToBase64=o.arrayBufferToBase64;exports.base64Decode=o.base64Decode;exports.base64Encode=o.base64Encode;exports.base64ToArrayBuffer=o.base64ToArrayBuffer;exports.base64ToUint8Array=o.base64ToUint8Array;exports.base64UrlDecode=o.base64UrlDecode;exports.base64UrlEncode=o.base64UrlEncode;exports.calculateChecksum=o.calculateChecksum;exports.credentialToJSON=o.credentialToJSON;exports.deriveKey=o.deriveKey;exports.generateApiKey=o.generateApiKey;exports.generateBackupCodes=o.generateBackupCodes;exports.generateCodeChallenge=o.generateCodeChallenge;exports.generateCodeVerifier=o.generateCodeVerifier;exports.generateDeviceFingerprint=o.generateDeviceFingerprint;exports.generateDeviceFingerprintPromise=o.generateDeviceFingerprintPromise;exports.generateNonce=o.generateNonce;exports.generatePKCEPair=o.generatePKCEPair;exports.generateRandomBytes=o.generateRandomBytes;exports.generateRandomString=o.generateRandomString;exports.generateSalt=o.generateSalt;exports.generateSecureId=o.generateSecureId;exports.generateSecureToken=o.generateSecureToken;exports.generateState=o.generateState;exports.generateTOTPSecret=o.generateTOTPSecret;exports.getJWTExpiration=o.getJWTExpiration;exports.hashPassword=o.hashPassword;exports.isJWTExpired=o.isJWTExpired;exports.isValidBase64=o.isValidBase64;exports.isValidJWT=o.isValidJWT;exports.jsonToCredentialCreationOptions=o.jsonToCredentialCreationOptions;exports.jsonToCredentialRequestOptions=o.jsonToCredentialRequestOptions;exports.md5=o.md5;exports.parseJWT=o.parseJWT;exports.sha256=o.sha256;exports.simpleDecrypt=o.simpleDecrypt;exports.simpleEncrypt=o.simpleEncrypt;exports.uint8ArrayToBase64=o.uint8ArrayToBase64;exports.urlSafeDecode=o.urlSafeDecode;exports.urlSafeEncode=o.urlSafeEncode;exports.verifyChecksum=o.verifyChecksum;exports.URLUtils=i.URLUtils;exports.addQueryParams=i.addQueryParams;exports.buildAuthURL=i.buildAuthURL;exports.buildInvitationURL=i.buildInvitationURL;exports.buildMagicLinkURL=i.buildMagicLinkURL;exports.buildOAuthURL=i.buildOAuthURL;exports.buildPasswordResetURL=i.buildPasswordResetURL;exports.buildQueryString=i.buildQueryString;exports.buildURL=i.buildURL;exports.buildVerificationURL=i.buildVerificationURL;exports.decodeURIComponentSafe=i.decodeURIComponentSafe;exports.encodeURIComponentSafe=i.encodeURIComponentSafe;exports.extractDomain=i.extractDomain;exports.extractRootDomain=i.extractRootDomain;exports.getCurrentDomain=i.getCurrentDomain;exports.getCurrentOrigin=i.getCurrentOrigin;exports.getCurrentParams=i.getCurrentParams;exports.getCurrentPath=i.getCurrentPath;exports.getCurrentURL=i.getCurrentURL;exports.getHash=i.getHash;exports.getQueryParam=i.getQueryParam;exports.getURLParams=i.getURLParams;exports.getURLPath=i.getURLPath;exports.hasQueryParam=i.hasQueryParam;exports.isDomainAllowed=i.isDomainAllowed;exports.isSafeRedirectURL=i.isSafeRedirectURL;exports.isSubdomain=i.isSubdomain;exports.isValidHttpURL=i.isValidHttpURL;exports.isValidHttpsURL=i.isValidHttpsURL;exports.isValidURL=i.isValidURL;exports.joinURL=i.joinURL;exports.normalizeURL=i.normalizeURL;exports.openInNewTab=i.openInNewTab;exports.parseOAuthCallback=i.parseOAuthCallback;exports.parseQueryString=i.parseQueryString;exports.parseURL=i.parseURL;exports.redirectTo=i.redirectTo;exports.removeHash=i.removeHash;exports.removeQueryParams=i.removeQueryParams;exports.sanitizeRedirectURL=i.sanitizeRedirectURL;exports.setHash=i.setHash;exports.FormatUtils=s.FormatUtils;exports.formatAddress=s.formatAddress;exports.formatCompactNumber=s.formatCompactNumber;exports.formatCurrency=s.formatCurrency;exports.formatDate=s.formatDate;exports.formatDateTime=s.formatDateTime;exports.formatDisplayName=s.formatDisplayName;exports.formatDomain=s.formatDomain;exports.formatDuration=s.formatDuration;exports.formatEmail=s.formatEmail;exports.formatFileSize=s.formatFileSize;exports.formatHexColor=s.formatHexColor;exports.formatId=s.formatId;exports.formatInitials=s.formatInitials;exports.formatJSON=s.formatJSON;exports.formatJSONCompact=s.formatJSONCompact;exports.formatList=s.formatList;exports.formatName=s.formatName;exports.formatNumber=s.formatNumber;exports.formatPercentage=s.formatPercentage;exports.formatPhoneNumber=s.formatPhoneNumber;exports.formatRGBAColor=s.formatRGBAColor;exports.formatRGBColor=s.formatRGBColor;exports.formatRelativeTime=s.formatRelativeTime;exports.formatTextCase=s.formatTextCase;exports.formatTime=s.formatTime;exports.formatTimeAgo=s.formatTimeAgo;exports.formatTokenPreview=s.formatTokenPreview;exports.formatURL=s.formatURL;exports.formatValidationError=s.formatValidationError;exports.getTitleAlignment=s.getTitleAlignment;exports.maskEmail=s.maskEmail;exports.maskPhoneNumber=s.maskPhoneNumber;exports.truncateMiddle=s.truncateMiddle;exports.truncateText=s.truncateText;exports.AuthenticationError=r.AuthenticationError;exports.AuthorizationError=r.AuthorizationError;exports.ConfigurationError=r.ConfigurationError;exports.ErrorUtils=r.ErrorUtils;exports.FrankAuthBaseError=r.FrankAuthBaseError;exports.InvitationError=r.InvitationError;exports.MFAError=r.MFAError;exports.NetworkError=r.NetworkError;exports.OAuthError=r.OAuthError;exports.OrganizationError=r.OrganizationError;exports.PasskeyError=r.PasskeyError;exports.RateLimitError=r.RateLimitError;exports.ServerError=r.ServerError;exports.SessionError=r.SessionError;exports.TimeoutError=r.TimeoutError;exports.ValidationError=r.ValidationError;exports.createAuthenticationError=r.createAuthenticationError;exports.createAuthorizationError=r.createAuthorizationError;exports.createConsoleLogger=r.createConsoleLogger;exports.createError=r.createError;exports.createErrorBoundaryState=r.createErrorBoundaryState;exports.createMFAError=r.createMFAError;exports.createNetworkError=r.createNetworkError;exports.createSessionError=r.createSessionError;exports.createValidationError=r.createValidationError;exports.formatErrorMessage=r.formatErrorMessage;exports.getErrorCode=r.getErrorCode;exports.getErrorDetails=r.getErrorDetails;exports.handleError=r.handleError;exports.handleErrorBoundaryError=r.handleErrorBoundaryError;exports.isAuthenticationError=r.isAuthenticationError;exports.isAuthorizationError=r.isAuthorizationError;exports.isFrankAuthError=r.isFrankAuthError;exports.isMFAError=r.isMFAError;exports.isNetworkError=r.isNetworkError;exports.isOAuthError=r.isOAuthError;exports.isPasskeyError=r.isPasskeyError;exports.isRateLimitError=r.isRateLimitError;exports.isRetryableError=r.isRetryableError;exports.isServerError=r.isServerError;exports.isSessionError=r.isSessionError;exports.isTimeoutError=r.isTimeoutError;exports.isValidationError=r.isValidationError;exports.logError=r.logError;exports.parseAPIError=r.parseAPIError;exports.withRetry=r.withRetry;exports.ThemeUtils=u.ThemeUtils;exports.adjustBrightness=u.adjustBrightness;exports.adjustHue=u.adjustHue;exports.adjustSaturation=u.adjustSaturation;exports.applyCSSVariables=u.applyCSSVariables;exports.findAccessibleColor=u.findAccessibleColor;exports.generateCSSVariables=u.generateCSSVariables;exports.generateColorPalette=u.generateColorPalette;exports.generateSemanticColors=u.generateSemanticColors;exports.generateTheme=u.generateTheme;exports.getComponentStyles=u.getComponentStyles;exports.getComponentVariant=u.getComponentVariant;exports.getContrastRatio=u.getContrastRatio;exports.getSystemTheme=u.getSystemTheme;exports.hexToHsl=u.hexToHsl;exports.hslToHex=u.hslToHex;exports.isValidContrast=u.isValidContrast;exports.loadThemeFromStorage=u.loadThemeFromStorage;exports.mergeThemes=u.mergeThemes;exports.removeCSSVariables=u.removeCSSVariables;exports.resolveThemeMode=u.resolveThemeMode;exports.saveThemeToStorage=u.saveThemeToStorage;exports.validateTheme=u.validateTheme;exports.watchSystemTheme=u.watchSystemTheme;Object.defineProperty(exports,"AuthStorage",{enumerable:!0,get:()=>g.AuthStorage});Object.defineProperty(exports,"AuthStorageUtils",{enumerable:!0,get:()=>g.AuthStorageUtils});Object.defineProperty(exports,"StorageManager",{enumerable:!0,get:()=>g.StorageManager});Object.defineProperty(exports,"defaultStorage",{enumerable:!0,get:()=>g.defaultStorage});Object.defineProperty(exports,"getStorageSize",{enumerable:!0,get:()=>g.getStorageSize});Object.defineProperty(exports,"isStorageAvailable",{enumerable:!0,get:()=>g.isStorageAvailable});Object.defineProperty(exports,"memoryStorage",{enumerable:!0,get:()=>g.memoryStorage});Object.defineProperty(exports,"sessionStorage",{enumerable:!0,get:()=>g.sessionStorage});exports.arrayToObject=U;exports.camelCase=O;exports.capitalize=w;exports.clamp=R;exports.debounce=y;exports.generateId=P;exports.groupBy=v;exports.isEmpty=A;exports.isEqual=f;exports.kebabCase=I;exports.memoize=M;exports.omit=T;exports.pick=b;exports.randomChoice=D;exports.randomInt=E;exports.retry=F;exports.sleep=p;exports.snakeCase=V;exports.throttle=C;exports.truncate=z;exports.unique=k;exports.uniqueBy=L;exports.withTimeout=B;
//# sourceMappingURL=index.cjs.map