@passkeyme/react-auth 1.1.8 → 1.3.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/CHANGELOG.md CHANGED
@@ -16,7 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
16
16
 
17
17
  ### 🎉 First Stable Release
18
18
 
19
- This marks the first stable release of the PasskeyMe React Authentication SDK, featuring enterprise-grade quality and seamless React integration.
19
+ This marks the first stable release of the Passkeyme React Authentication SDK, featuring enterprise-grade quality and seamless React integration.
20
20
 
21
21
  ### Added
22
22
 
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 PasskeyMe
3
+ Copyright (c) 2025 Passkeyme
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @passkeyme/react-auth
2
2
 
3
- React integration for PasskeyMe Authentication SDK. Build secure authentication into your React apps with hooks and components.
3
+ React integration for Passkeyme Authentication SDK. Build secure authentication into your React apps with hooks and components.
4
4
 
5
5
  ## 🚀 Features
6
6
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Developer Tools Dashboard for PasskeyMe React SDK
2
+ * Developer Tools Dashboard for Passkeyme React SDK
3
3
  * Provides real-time debugging and development utilities
4
4
  */
5
5
  export interface DevToolsDashboardProps {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Simple notification system for PasskeyMe SDK
2
+ * Simple notification system for Passkeyme SDK
3
3
  * Uses a React portal for clean rendering without external dependencies
4
4
  */
5
5
  import { ReactNode } from "react";
@@ -111,7 +111,7 @@ export interface PasskeymeAuthPanelProps {
111
111
  };
112
112
  }
113
113
  /**
114
- * PasskeyMe Authentication Panel Component
114
+ * Passkeyme Authentication Panel Component
115
115
  *
116
116
  * A fully customizable authentication panel that handles passkey and OAuth authentication
117
117
  * with extensive theming and configuration options.
@@ -1 +1 @@
1
- {"version":3,"file":"PasskeymeAuthPanel.d.ts","sourceRoot":"","sources":["../../src/components/PasskeymeAuthPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PasskeymeAuthPanel.d.ts","sourceRoot":"","sources":["../../src/components/PasskeymeAuthPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * PasskeyMe Button Component with native passkey authentication
2
+ * Passkeyme Button Component with native passkey authentication
3
3
  * Performance optimized with React.memo and useCallback
4
4
  */
5
5
  import React from "react";
@@ -8,7 +8,7 @@ export interface CallbackState {
8
8
  authenticatedUser: any | null;
9
9
  }
10
10
  /**
11
- * Built-in OAuth callback handler component for PasskeyMe authentication.
11
+ * Built-in OAuth callback handler component for Passkeyme authentication.
12
12
  *
13
13
  * This component automatically handles the OAuth callback flow including:
14
14
  * - Token extraction from URL parameters
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Error Display Component for PasskeyMe SDK
2
+ * Error Display Component for Passkeyme SDK
3
3
  * Provides user-friendly error messages with actionable suggestions
4
4
  * Performance optimized with React.memo and useCallback
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * PasskeyMe OAuth Login Button Component with Enhanced Accessibility and Performance
2
+ * Passkeyme OAuth Login Button Component with Enhanced Accessibility and Performance
3
3
  */
4
4
  import React from "react";
5
5
  import type { PasskeymeOAuthButtonProps } from "../types";
@@ -1 +1 @@
1
- {"version":3,"file":"PasskeymeOAuthButton.d.ts","sourceRoot":"","sources":["../../src/components/PasskeymeOAuthButton.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAqJ1D,eAAO,MAAM,oBAAoB,iJA1G9B,yBAAyB,6CA0GiD,CAAC;AAE9E,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"PasskeymeOAuthButton.d.ts","sourceRoot":"","sources":["../../src/components/PasskeymeOAuthButton.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAmK1D,eAAO,MAAM,oBAAoB,iJA1G9B,yBAAyB,6CA0GiD,CAAC;AAE9E,eAAe,oBAAoB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * PasskeyMe Protected Route Component
2
+ * Passkeyme Protected Route Component
3
3
  * Performance optimized with React.memo and useMemo
4
4
  */
5
5
  import React from "react";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * PasskeyMe User Profile Component
2
+ * Passkeyme User Profile Component
3
3
  * Displays user information with customizable styling
4
4
  */
5
5
  import React from "react";
@@ -16,7 +16,7 @@ export declare const useAuthState: () => {
16
16
  */
17
17
  export declare const useAuth: () => {
18
18
  redirectToLogin: (options?: import("@passkeyme/auth").LoginOptions | undefined) => void;
19
- redirectToOAuth: (provider: "google" | "github" | "facebook", redirectUri?: string | undefined) => void;
19
+ redirectToOAuth: (provider: "google" | "github" | "facebook" | "apple" | "microsoft", redirectUri?: string | undefined) => void;
20
20
  handleAuthCallback: () => Promise<import("@passkeyme/auth").User>;
21
21
  handleCallback: () => Promise<import("@passkeyme/auth").User>;
22
22
  logout: () => Promise<void>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Performance monitoring utilities for PasskeyMe React SDK
2
+ * Performance monitoring utilities for Passkeyme React SDK
3
3
  */
4
4
  export interface PerformanceMetrics {
5
5
  renderTime: number;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * PasskeyMe React Authentication SDK
2
+ * Passkeyme React Authentication SDK
3
3
  *
4
- * React integration for PasskeyMe Authentication with hooks and components.
4
+ * React integration for Passkeyme Authentication with hooks and components.
5
5
  *
6
6
  * @example
7
7
  * ```tsx
package/dist/index.esm.js CHANGED
@@ -5,7 +5,7 @@ export { ErrorHandler, PasskeymeError, PasskeymeErrorCode } from '@passkeyme/aut
5
5
  import { createPortal } from 'react-dom';
6
6
 
7
7
  /**
8
- * React Context Provider for PasskeyMe Authentication (Core)
8
+ * React Context Provider for Passkeyme Authentication (Core)
9
9
  * This is the shared provider for React and React Native
10
10
  */
11
11
  const PasskeymeContext = createContext(null);
@@ -112,7 +112,7 @@ const PasskeymeProvider$1 = ({ config, children, loadingComponent = null, errorC
112
112
  };
113
113
 
114
114
  /**
115
- * Core React hooks for PasskeyMe Authentication
115
+ * Core React hooks for Passkeyme Authentication
116
116
  * Shared between React and React Native
117
117
  */
118
118
  // Simple debug function for core package
@@ -124,7 +124,7 @@ function debugLog$1(config, ...args) {
124
124
  const usePasskeyme = () => {
125
125
  const { auth, user, loading, error, isAuthenticated, authLoading, setAuthLoading, config, } = usePasskeymeContext();
126
126
  if (!auth) {
127
- throw new Error("PasskeyMe auth instance not available");
127
+ throw new Error("Passkeyme auth instance not available");
128
128
  }
129
129
  const redirectToLogin = useCallback((options) => {
130
130
  return auth.redirectToLogin(options);
@@ -642,7 +642,7 @@ const PasskeymeProvider = ({ children, config, enableNotifications = true, ...co
642
642
  };
643
643
 
644
644
  /**
645
- * Enhanced Loading States for PasskeyMe SDK
645
+ * Enhanced Loading States for Passkeyme SDK
646
646
  * Provides granular loading feedback for better user experience
647
647
  */
648
648
  const LOADING_STATE_INFO = {
@@ -1054,16 +1054,30 @@ const providerStyles = {
1054
1054
  color: "white",
1055
1055
  border: "1px solid #1877f2",
1056
1056
  },
1057
+ apple: {
1058
+ backgroundColor: "#000",
1059
+ color: "white",
1060
+ border: "1px solid #000",
1061
+ },
1062
+ microsoft: {
1063
+ backgroundColor: "#0078d4",
1064
+ color: "white",
1065
+ border: "1px solid #0078d4",
1066
+ },
1057
1067
  };
1058
1068
  const providerIcons = {
1059
1069
  google: "🌐",
1060
1070
  github: "📱",
1061
1071
  facebook: "📘",
1072
+ apple: "🍎",
1073
+ microsoft: "Ⓜ️",
1062
1074
  };
1063
1075
  const providerNames = {
1064
1076
  google: "Google",
1065
1077
  github: "GitHub",
1066
1078
  facebook: "Facebook",
1079
+ apple: "Apple",
1080
+ microsoft: "Microsoft",
1067
1081
  };
1068
1082
  const PasskeymeOAuthButtonComponent = ({ provider, variant = "default", size = "medium", redirectUri, children, className = "", style = {}, disabled = false, onClick, loading: externalLoading = false, }) => {
1069
1083
  const { redirectToOAuth, loading: authLoading } = usePasskeyme();
@@ -1763,7 +1777,7 @@ const importLogger = {
1763
1777
  };
1764
1778
 
1765
1779
  /**
1766
- * Debug utilities for PasskeyMe React SDK
1780
+ * Debug utilities for Passkeyme React SDK
1767
1781
  */
1768
1782
  /**
1769
1783
  * Debug utility to conditionally log messages
@@ -1772,7 +1786,7 @@ function debugLog(config, component, ...args) {
1772
1786
  if (config.debug) {
1773
1787
  // Use both professional logger and console.log to ensure visibility
1774
1788
  const timestamp = new Date().toISOString();
1775
- console.log(`[${timestamp}] [PasskeyMe:${component}]`, ...args);
1789
+ console.log(`[${timestamp}] [Passkeyme:${component}]`, ...args);
1776
1790
  debugLogger.debug(`[${component}]`, ...args);
1777
1791
  }
1778
1792
  }
@@ -2220,14 +2234,14 @@ const defaultTheme = {
2220
2234
  },
2221
2235
  };
2222
2236
  /**
2223
- * PasskeyMe Authentication Panel Component
2237
+ * Passkeyme Authentication Panel Component
2224
2238
  *
2225
2239
  * A fully customizable authentication panel that handles passkey and OAuth authentication
2226
2240
  * with extensive theming and configuration options.
2227
2241
  */
2228
2242
  const PasskeymeAuthPanel = ({
2229
2243
  // Core functionality
2230
- providers = ["google", "github"], enablePasskeys = true, enableUsernamePassword: _enableUsernamePassword = false, // Reserved for future implementation
2244
+ providers = ["google", "github", "apple", "microsoft"], enablePasskeys = true, enableUsernamePassword: _enableUsernamePassword = false, // Reserved for future implementation
2231
2245
  redirectUri, state: _state, // Reserved for future implementation
2232
2246
  // Layout & behavior
2233
2247
  layout = "vertical", spacing = "normal", passkeyFirst = true, hideProvidersInitially = false, autoTriggerPasskey = true,
@@ -2548,6 +2562,27 @@ const isPlainObject = (val) => {
2548
2562
  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);
2549
2563
  };
2550
2564
 
2565
+ /**
2566
+ * Determine if a value is an empty object (safely handles Buffers)
2567
+ *
2568
+ * @param {*} val The value to test
2569
+ *
2570
+ * @returns {boolean} True if value is an empty object, otherwise false
2571
+ */
2572
+ const isEmptyObject = (val) => {
2573
+ // Early return for non-objects or Buffers to prevent RangeError
2574
+ if (!isObject(val) || isBuffer(val)) {
2575
+ return false;
2576
+ }
2577
+
2578
+ try {
2579
+ return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;
2580
+ } catch (e) {
2581
+ // Fallback for any other objects that might cause RangeError with Object.keys()
2582
+ return false;
2583
+ }
2584
+ };
2585
+
2551
2586
  /**
2552
2587
  * Determine if a value is a Date
2553
2588
  *
@@ -2670,6 +2705,11 @@ function forEach(obj, fn, {allOwnKeys = false} = {}) {
2670
2705
  fn.call(null, obj[i], i, obj);
2671
2706
  }
2672
2707
  } else {
2708
+ // Buffer check
2709
+ if (isBuffer(obj)) {
2710
+ return;
2711
+ }
2712
+
2673
2713
  // Iterate over object keys
2674
2714
  const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
2675
2715
  const len = keys.length;
@@ -2683,6 +2723,10 @@ function forEach(obj, fn, {allOwnKeys = false} = {}) {
2683
2723
  }
2684
2724
 
2685
2725
  function findKey(obj, key) {
2726
+ if (isBuffer(obj)){
2727
+ return null;
2728
+ }
2729
+
2686
2730
  key = key.toLowerCase();
2687
2731
  const keys = Object.keys(obj);
2688
2732
  let i = keys.length;
@@ -3036,6 +3080,11 @@ const toJSONObject = (obj) => {
3036
3080
  return;
3037
3081
  }
3038
3082
 
3083
+ //Buffer check
3084
+ if (isBuffer(source)) {
3085
+ return source;
3086
+ }
3087
+
3039
3088
  if(!('toJSON' in source)) {
3040
3089
  stack[i] = source;
3041
3090
  const target = isArray(source) ? [] : {};
@@ -3107,6 +3156,7 @@ var utils$1 = {
3107
3156
  isBoolean,
3108
3157
  isObject,
3109
3158
  isPlainObject,
3159
+ isEmptyObject,
3110
3160
  isReadableStream,
3111
3161
  isRequest,
3112
3162
  isResponse,
@@ -3738,7 +3788,7 @@ var platform = {
3738
3788
  };
3739
3789
 
3740
3790
  function toURLEncodedForm(data, options) {
3741
- return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({
3791
+ return toFormData(data, new platform.classes.URLSearchParams(), {
3742
3792
  visitor: function(value, key, path, helpers) {
3743
3793
  if (platform.isNode && utils$1.isBuffer(value)) {
3744
3794
  this.append(key, value.toString('base64'));
@@ -3746,8 +3796,9 @@ function toURLEncodedForm(data, options) {
3746
3796
  }
3747
3797
 
3748
3798
  return helpers.defaultVisitor.apply(this, arguments);
3749
- }
3750
- }, options));
3799
+ },
3800
+ ...options
3801
+ });
3751
3802
  }
3752
3803
 
3753
3804
  /**
@@ -4500,7 +4551,7 @@ function throttle(fn, freq) {
4500
4551
  clearTimeout(timer);
4501
4552
  timer = null;
4502
4553
  }
4503
- fn.apply(null, args);
4554
+ fn(...args);
4504
4555
  };
4505
4556
 
4506
4557
  const throttled = (...args) => {
@@ -4756,7 +4807,7 @@ function mergeConfig(config1, config2) {
4756
4807
  headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)
4757
4808
  };
4758
4809
 
4759
- utils$1.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {
4810
+ utils$1.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {
4760
4811
  const merge = mergeMap[prop] || mergeDeepProperties;
4761
4812
  const configValue = merge(config1[prop], config2[prop], prop);
4762
4813
  (utils$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
@@ -5497,7 +5548,7 @@ function dispatchRequest(config) {
5497
5548
  });
5498
5549
  }
5499
5550
 
5500
- const VERSION = "1.10.0";
5551
+ const VERSION = "1.11.0";
5501
5552
 
5502
5553
  const validators$1 = {};
5503
5554
 
@@ -5736,8 +5787,8 @@ class Axios {
5736
5787
 
5737
5788
  if (!synchronousRequestInterceptors) {
5738
5789
  const chain = [dispatchRequest.bind(this), undefined];
5739
- chain.unshift.apply(chain, requestInterceptorChain);
5740
- chain.push.apply(chain, responseInterceptorChain);
5790
+ chain.unshift(...requestInterceptorChain);
5791
+ chain.push(...responseInterceptorChain);
5741
5792
  len = chain.length;
5742
5793
 
5743
5794
  promise = Promise.resolve(config);
@@ -6225,7 +6276,7 @@ const DefaultPasskeyPrompt = ({ user, onRegister, onSkip, loading, }) => (jsxs("
6225
6276
  textAlign: "center",
6226
6277
  }, children: "You can always set this up later in your account settings" })] }));
6227
6278
  /**
6228
- * Built-in OAuth callback handler component for PasskeyMe authentication.
6279
+ * Built-in OAuth callback handler component for Passkeyme authentication.
6229
6280
  *
6230
6281
  * This component automatically handles the OAuth callback flow including:
6231
6282
  * - Token extraction from URL parameters
@@ -6377,7 +6428,7 @@ const PasskeymeCallbackHandler = ({ loadingComponent: LoadingComponent, errorCom
6377
6428
  return;
6378
6429
  try {
6379
6430
  updateState({ passkeyRegistering: true });
6380
- // Create axios instance for PasskeyMe API
6431
+ // Create axios instance for Passkeyme API
6381
6432
  const axiosInstance = axios$1.create({
6382
6433
  baseURL: `${getBaseUrl()}/webauthn/${config.appId}`,
6383
6434
  headers: {
@@ -7011,7 +7062,7 @@ const withAuth = (Component, options) => {
7011
7062
  };
7012
7063
 
7013
7064
  /**
7014
- * Performance monitoring utilities for PasskeyMe React SDK
7065
+ * Performance monitoring utilities for Passkeyme React SDK
7015
7066
  */
7016
7067
  /**
7017
7068
  * Hook to monitor component performance
@@ -7128,7 +7179,7 @@ const useMemoryMonitor = (enabled = process.env.NODE_ENV === "development") => {
7128
7179
  */
7129
7180
  const devWarn = (condition, message, ...args) => {
7130
7181
  if (process.env.NODE_ENV === "development" && condition) {
7131
- console.warn(`[PasskeyMe Dev Warning] ${message}`, ...args);
7182
+ console.warn(`[Passkeyme Dev Warning] ${message}`, ...args);
7132
7183
  }
7133
7184
  };
7134
7185
  /**
@@ -7136,7 +7187,7 @@ const devWarn = (condition, message, ...args) => {
7136
7187
  */
7137
7188
  const devError = (condition, message, ...args) => {
7138
7189
  if (process.env.NODE_ENV === "development" && condition) {
7139
- console.error(`[PasskeyMe Dev Error] ${message}`, ...args);
7190
+ console.error(`[Passkeyme Dev Error] ${message}`, ...args);
7140
7191
  }
7141
7192
  };
7142
7193
  /**
@@ -7167,14 +7218,14 @@ const initDevTools = () => {
7167
7218
  resetAuth: () => {
7168
7219
  localStorage.removeItem("passkeyme_auth_token");
7169
7220
  localStorage.removeItem("passkeyme_user_data");
7170
- console.log("[PasskeyMe Dev] Authentication state reset");
7221
+ console.log("[Passkeyme Dev] Authentication state reset");
7171
7222
  window.location.reload();
7172
7223
  },
7173
7224
  // Show current state
7174
7225
  showState: () => {
7175
7226
  const token = localStorage.getItem("passkeyme_auth_token");
7176
7227
  const user = localStorage.getItem("passkeyme_user_data");
7177
- console.log("[PasskeyMe Dev] Current State:", {
7228
+ console.log("[Passkeyme Dev] Current State:", {
7178
7229
  hasToken: !!token,
7179
7230
  token: token ? "Present" : "None",
7180
7231
  user: user ? JSON.parse(user) : null,
@@ -7183,17 +7234,17 @@ const initDevTools = () => {
7183
7234
  // Enable debug mode
7184
7235
  enableDebug: () => {
7185
7236
  localStorage.setItem("passkeyme_debug", "true");
7186
- console.log("[PasskeyMe Dev] Debug mode enabled");
7237
+ console.log("[Passkeyme Dev] Debug mode enabled");
7187
7238
  window.location.reload();
7188
7239
  },
7189
7240
  // Disable debug mode
7190
7241
  disableDebug: () => {
7191
7242
  localStorage.removeItem("passkeyme_debug");
7192
- console.log("[PasskeyMe Dev] Debug mode disabled");
7243
+ console.log("[Passkeyme Dev] Debug mode disabled");
7193
7244
  window.location.reload();
7194
7245
  },
7195
7246
  };
7196
- console.log("[PasskeyMe Dev] Development tools loaded. Use window.__PASSKEYME_DEV__ for utilities.");
7247
+ console.log("[Passkeyme Dev] Development tools loaded. Use window.__PASSKEYME_DEV__ for utilities.");
7197
7248
  }
7198
7249
  };
7199
7250
  /**
@@ -7208,7 +7259,7 @@ const withDevTools = (Component, displayName) => {
7208
7259
  // Log renders in development
7209
7260
  React.useEffect(() => {
7210
7261
  if (localStorage.getItem("passkeyme_debug") === "true") {
7211
- console.log(`[PasskeyMe Dev] ${componentName} rendered with props:`, props);
7262
+ console.log(`[Passkeyme Dev] ${componentName} rendered with props:`, props);
7212
7263
  }
7213
7264
  });
7214
7265
  // Validate required props
@@ -7265,7 +7316,7 @@ const DebugPanel = ({ data, position = "bottom-right", }) => {
7265
7316
  overflow: "auto",
7266
7317
  zIndex: 9999,
7267
7318
  border: "1px solid #333",
7268
- }, children: [jsx("div", { style: { fontWeight: "bold", marginBottom: "8px" }, children: "\uD83D\uDC1B PasskeyMe Debug Panel" }), jsx("pre", { style: { margin: 0, whiteSpace: "pre-wrap" }, children: JSON.stringify(data, null, 2) })] }));
7319
+ }, children: [jsx("div", { style: { fontWeight: "bold", marginBottom: "8px" }, children: "\uD83D\uDC1B Passkeyme Debug Panel" }), jsx("pre", { style: { margin: 0, whiteSpace: "pre-wrap" }, children: JSON.stringify(data, null, 2) })] }));
7269
7320
  };
7270
7321
  /**
7271
7322
  * Component performance profiler for development
@@ -7330,7 +7381,7 @@ const createLazyComponent = (importFn, fallback) => {
7330
7381
  };
7331
7382
 
7332
7383
  /**
7333
- * Optimized localStorage utilities for PasskeyMe React SDK
7384
+ * Optimized localStorage utilities for Passkeyme React SDK
7334
7385
  * Provides caching, compression, and performance optimizations
7335
7386
  */
7336
7387
  /**
@@ -7916,7 +7967,7 @@ const PerformanceIndicator = ({ threshold = 100, position = "top-right", }) => {
7916
7967
  };
7917
7968
 
7918
7969
  /**
7919
- * Import optimization utility for PasskeyMe React SDK
7970
+ * Import optimization utility for Passkeyme React SDK
7920
7971
  * Analyzes and optimizes bundle imports to reduce bundle size
7921
7972
  *
7922
7973
  * Note: This utility is intended for build-time analysis in Node.js environments only.
@@ -8364,7 +8415,7 @@ class PasskeymeErrorBoundary extends Component {
8364
8415
  onError === null || onError === void 0 ? void 0 : onError(error, errorInfo);
8365
8416
  // Log to console in development
8366
8417
  if (process.env.NODE_ENV === "development") {
8367
- console.error("PasskeyMe Error Boundary caught an error:", error, errorInfo);
8418
+ console.error("Passkeyme Error Boundary caught an error:", error, errorInfo);
8368
8419
  }
8369
8420
  }
8370
8421
  render() {
@@ -8486,7 +8537,7 @@ const createPerformanceTracker = () => {
8486
8537
  };
8487
8538
 
8488
8539
  /**
8489
- * Mock provider for testing components that use PasskeyMe
8540
+ * Mock provider for testing components that use Passkeyme
8490
8541
  */
8491
8542
  const MockPasskeymeProvider = ({ children, config = {}, initialUser = null, initialLoading = false, initialError = null, }) => {
8492
8543
  const mockConfig = {
@@ -8497,7 +8548,7 @@ const MockPasskeymeProvider = ({ children, config = {}, initialUser = null, init
8497
8548
  return jsx(PasskeymeProvider$1, { config: mockConfig, children: children });
8498
8549
  };
8499
8550
  /**
8500
- * Custom render function with PasskeyMe provider
8551
+ * Custom render function with Passkeyme provider
8501
8552
  * Note: Requires @testing-library/react render function to be passed in
8502
8553
  */
8503
8554
  const createRenderWithPasskeymeProvider = (renderFunction) => (ui, options = {}) => {
@@ -8767,21 +8818,21 @@ const DevToolsDashboard = ({ show = process.env.NODE_ENV === "development", posi
8767
8818
  console.log = (...args) => {
8768
8819
  var _a;
8769
8820
  originalConsole.log(...args);
8770
- if ((_a = args[0]) === null || _a === void 0 ? void 0 : _a.toString().includes("[PasskeyMe")) {
8821
+ if ((_a = args[0]) === null || _a === void 0 ? void 0 : _a.toString().includes("[Passkeyme")) {
8771
8822
  addLog("info", args.join(" "), args.slice(1));
8772
8823
  }
8773
8824
  };
8774
8825
  console.warn = (...args) => {
8775
8826
  var _a;
8776
8827
  originalConsole.warn(...args);
8777
- if ((_a = args[0]) === null || _a === void 0 ? void 0 : _a.toString().includes("[PasskeyMe")) {
8828
+ if ((_a = args[0]) === null || _a === void 0 ? void 0 : _a.toString().includes("[Passkeyme")) {
8778
8829
  addLog("warn", args.join(" "), args.slice(1));
8779
8830
  }
8780
8831
  };
8781
8832
  console.error = (...args) => {
8782
8833
  var _a;
8783
8834
  originalConsole.error(...args);
8784
- if ((_a = args[0]) === null || _a === void 0 ? void 0 : _a.toString().includes("[PasskeyMe")) {
8835
+ if ((_a = args[0]) === null || _a === void 0 ? void 0 : _a.toString().includes("[Passkeyme")) {
8785
8836
  addLog("error", args.join(" "), args.slice(1));
8786
8837
  }
8787
8838
  };
@@ -8847,7 +8898,7 @@ const DevToolsDashboard = ({ show = process.env.NODE_ENV === "development", posi
8847
8898
  };
8848
8899
  const testError = () => {
8849
8900
  const error = new PasskeymeError("DEV_TEST_ERROR");
8850
- console.error("[PasskeyMe Dev] Test error:", error);
8901
+ console.error("[Passkeyme Dev] Test error:", error);
8851
8902
  addLog("error", "Test error triggered", error);
8852
8903
  };
8853
8904
  const exportState = () => {
@@ -8864,7 +8915,7 @@ const DevToolsDashboard = ({ show = process.env.NODE_ENV === "development", posi
8864
8915
  debug: localStorage.getItem("passkeyme_debug"),
8865
8916
  },
8866
8917
  };
8867
- console.log("[PasskeyMe Dev] Current state:", state);
8918
+ console.log("[Passkeyme Dev] Current state:", state);
8868
8919
  (_a = navigator.clipboard) === null || _a === void 0 ? void 0 : _a.writeText(JSON.stringify(state, null, 2));
8869
8920
  addLog("info", "State exported to clipboard");
8870
8921
  };
@@ -8918,7 +8969,7 @@ const DevToolsDashboard = ({ show = process.env.NODE_ENV === "development", posi
8918
8969
  cursor: "pointer",
8919
8970
  marginRight: "4px",
8920
8971
  });
8921
- return (jsxs("div", { style: baseStyles, children: [jsxs("div", { style: headerStyles, onClick: () => setIsCollapsed(!isCollapsed), children: [jsx("span", { children: "\uD83D\uDEE0\uFE0F PasskeyMe DevTools" }), jsx("span", { children: isCollapsed ? "▲" : "▼" })] }), !isCollapsed && (jsxs("div", { style: contentStyles, children: [jsxs("div", { style: { marginBottom: "12px" }, children: [jsx("button", { onClick: () => setActiveTab("state"), style: tabStyle(activeTab === "state"), children: "State" }), jsx("button", { onClick: () => setActiveTab("logs"), style: tabStyle(activeTab === "logs"), children: "Logs" })] }), activeTab === "state" && renderStateTab(), activeTab === "logs" && renderLogsTab()] }))] }));
8972
+ return (jsxs("div", { style: baseStyles, children: [jsxs("div", { style: headerStyles, onClick: () => setIsCollapsed(!isCollapsed), children: [jsx("span", { children: "\uD83D\uDEE0\uFE0F Passkeyme DevTools" }), jsx("span", { children: isCollapsed ? "▲" : "▼" })] }), !isCollapsed && (jsxs("div", { style: contentStyles, children: [jsxs("div", { style: { marginBottom: "12px" }, children: [jsx("button", { onClick: () => setActiveTab("state"), style: tabStyle(activeTab === "state"), children: "State" }), jsx("button", { onClick: () => setActiveTab("logs"), style: tabStyle(activeTab === "logs"), children: "Logs" })] }), activeTab === "state" && renderStateTab(), activeTab === "logs" && renderLogsTab()] }))] }));
8922
8973
  };
8923
8974
  // Auto-initialize dev tools
8924
8975
  if (process.env.NODE_ENV === "development" && typeof window !== "undefined") {