@passkeyme/react-auth 1.0.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 +86 -0
- package/LICENSE +21 -0
- package/README.md +951 -0
- package/dist/components/DevToolsDashboard.d.ts +18 -0
- package/dist/components/DevToolsDashboard.d.ts.map +1 -0
- package/dist/components/LazyComponents.d.ts +22 -0
- package/dist/components/LazyComponents.d.ts.map +1 -0
- package/dist/components/NotificationProvider.d.ts +31 -0
- package/dist/components/NotificationProvider.d.ts.map +1 -0
- package/dist/components/PasskeymeAuthPanel.d.ts +121 -0
- package/dist/components/PasskeymeAuthPanel.d.ts.map +1 -0
- package/dist/components/PasskeymeButton.d.ts +64 -0
- package/dist/components/PasskeymeButton.d.ts.map +1 -0
- package/dist/components/PasskeymeCallbackHandler.d.ts +50 -0
- package/dist/components/PasskeymeCallbackHandler.d.ts.map +1 -0
- package/dist/components/PasskeymeErrorDisplay.d.ts +28 -0
- package/dist/components/PasskeymeErrorDisplay.d.ts.map +1 -0
- package/dist/components/PasskeymeLoadingIndicator.d.ts +34 -0
- package/dist/components/PasskeymeLoadingIndicator.d.ts.map +1 -0
- package/dist/components/PasskeymeOAuthButton.d.ts +8 -0
- package/dist/components/PasskeymeOAuthButton.d.ts.map +1 -0
- package/dist/components/PasskeymeProtectedRoute.d.ts +16 -0
- package/dist/components/PasskeymeProtectedRoute.d.ts.map +1 -0
- package/dist/components/PasskeymeProvider.d.ts +24 -0
- package/dist/components/PasskeymeProvider.d.ts.map +1 -0
- package/dist/components/PasskeymeUserProfile.d.ts +31 -0
- package/dist/components/PasskeymeUserProfile.d.ts.map +1 -0
- package/dist/components/PerformanceDashboard.d.ts +30 -0
- package/dist/components/PerformanceDashboard.d.ts.map +1 -0
- package/dist/components/VirtualScrollList.d.ts +105 -0
- package/dist/components/VirtualScrollList.d.ts.map +1 -0
- package/dist/hooks/useAuthUtils.d.ts +26 -0
- package/dist/hooks/useAuthUtils.d.ts.map +1 -0
- package/dist/hooks/useLoadingState.d.ts +31 -0
- package/dist/hooks/useLoadingState.d.ts.map +1 -0
- package/dist/hooks/usePerformanceMonitor.d.ts +41 -0
- package/dist/hooks/usePerformanceMonitor.d.ts.map +1 -0
- package/dist/hooks/useUsernameManager.d.ts +62 -0
- package/dist/hooks/useUsernameManager.d.ts.map +1 -0
- package/dist/index.d.ts +85 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +8734 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +8827 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +249 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/analytics.d.ts +112 -0
- package/dist/utils/analytics.d.ts.map +1 -0
- package/dist/utils/debug.d.ts +9 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/devUtils.d.ts +53 -0
- package/dist/utils/devUtils.d.ts.map +1 -0
- package/dist/utils/enhancedButtonStyles.d.ts +70 -0
- package/dist/utils/enhancedButtonStyles.d.ts.map +1 -0
- package/dist/utils/importOptimizer.d.ts +79 -0
- package/dist/utils/importOptimizer.d.ts.map +1 -0
- package/dist/utils/loadingStates.d.ts +35 -0
- package/dist/utils/loadingStates.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +41 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/performanceProfiler.d.ts +80 -0
- package/dist/utils/performanceProfiler.d.ts.map +1 -0
- package/dist/utils/reactCompat.d.ts +6 -0
- package/dist/utils/reactCompat.d.ts.map +1 -0
- package/dist/utils/storageOptimization.d.ts +173 -0
- package/dist/utils/storageOptimization.d.ts.map +1 -0
- package/dist/utils/testingUtils.d.ts +163 -0
- package/dist/utils/testingUtils.d.ts.map +1 -0
- package/package.json +93 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Virtual Scrolling List Component for Large Data Sets
|
|
3
|
+
*
|
|
4
|
+
* This component implements virtual scrolling to efficiently render large lists
|
|
5
|
+
* by only rendering visible items and a small buffer around them.
|
|
6
|
+
*/
|
|
7
|
+
import React from "react";
|
|
8
|
+
export interface VirtualScrollItem {
|
|
9
|
+
id: string | number;
|
|
10
|
+
data: any;
|
|
11
|
+
}
|
|
12
|
+
export interface VirtualScrollListProps {
|
|
13
|
+
/**
|
|
14
|
+
* Array of items to render
|
|
15
|
+
*/
|
|
16
|
+
items: VirtualScrollItem[];
|
|
17
|
+
/**
|
|
18
|
+
* Height of each item in pixels
|
|
19
|
+
*/
|
|
20
|
+
itemHeight: number;
|
|
21
|
+
/**
|
|
22
|
+
* Height of the container in pixels
|
|
23
|
+
*/
|
|
24
|
+
containerHeight: number;
|
|
25
|
+
/**
|
|
26
|
+
* Number of items to render outside the visible area (buffer)
|
|
27
|
+
*/
|
|
28
|
+
overscan?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Function to render each item
|
|
31
|
+
*/
|
|
32
|
+
renderItem: (item: VirtualScrollItem, index: number, style: React.CSSProperties) => React.ReactNode;
|
|
33
|
+
/**
|
|
34
|
+
* Optional loading state
|
|
35
|
+
*/
|
|
36
|
+
loading?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Optional empty state component
|
|
39
|
+
*/
|
|
40
|
+
emptyComponent?: React.ReactNode;
|
|
41
|
+
/**
|
|
42
|
+
* Optional loading component
|
|
43
|
+
*/
|
|
44
|
+
loadingComponent?: React.ReactNode;
|
|
45
|
+
/**
|
|
46
|
+
* Callback when user scrolls near the end (for infinite loading)
|
|
47
|
+
*/
|
|
48
|
+
onEndReached?: () => void;
|
|
49
|
+
/**
|
|
50
|
+
* Distance from the end to trigger onEndReached
|
|
51
|
+
*/
|
|
52
|
+
endReachedThreshold?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Custom styles for the container
|
|
55
|
+
*/
|
|
56
|
+
style?: React.CSSProperties;
|
|
57
|
+
/**
|
|
58
|
+
* Custom className for the container
|
|
59
|
+
*/
|
|
60
|
+
className?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Virtual Scrolling List Component
|
|
64
|
+
*
|
|
65
|
+
* Efficiently renders large lists by only rendering visible items.
|
|
66
|
+
* Ideal for lists with hundreds or thousands of items.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```tsx
|
|
70
|
+
* const items = Array.from({ length: 10000 }, (_, i) => ({
|
|
71
|
+
* id: i,
|
|
72
|
+
* data: { name: `Item ${i}`, value: i * 2 }
|
|
73
|
+
* }));
|
|
74
|
+
*
|
|
75
|
+
* <VirtualScrollList
|
|
76
|
+
* items={items}
|
|
77
|
+
* itemHeight={50}
|
|
78
|
+
* containerHeight={400}
|
|
79
|
+
* renderItem={(item, index, style) => (
|
|
80
|
+
* <div key={item.id} style={style}>
|
|
81
|
+
* {item.data.name}: {item.data.value}
|
|
82
|
+
* </div>
|
|
83
|
+
* )}
|
|
84
|
+
* />
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export declare const VirtualScrollList: React.MemoExoticComponent<({ items, itemHeight, containerHeight, overscan, renderItem, loading, emptyComponent, loadingComponent, onEndReached, endReachedThreshold, style, className, }: VirtualScrollListProps) => import("react/jsx-runtime").JSX.Element>;
|
|
88
|
+
/**
|
|
89
|
+
* Hook for creating virtual scroll lists with additional features
|
|
90
|
+
*/
|
|
91
|
+
export declare const useVirtualScrollList: (initialItems?: VirtualScrollItem[], itemHeight?: number, containerHeight?: number) => {
|
|
92
|
+
items: VirtualScrollItem[];
|
|
93
|
+
setItems: React.Dispatch<React.SetStateAction<VirtualScrollItem[]>>;
|
|
94
|
+
addItems: (newItems: VirtualScrollItem[]) => void;
|
|
95
|
+
prependItems: (newItems: VirtualScrollItem[]) => void;
|
|
96
|
+
updateItem: (id: string | number, data: any) => void;
|
|
97
|
+
removeItem: (id: string | number) => void;
|
|
98
|
+
clearItems: () => void;
|
|
99
|
+
loading: boolean;
|
|
100
|
+
setLoading: React.Dispatch<React.SetStateAction<boolean>>;
|
|
101
|
+
itemHeight: number;
|
|
102
|
+
containerHeight: number;
|
|
103
|
+
};
|
|
104
|
+
export default VirtualScrollList;
|
|
105
|
+
//# sourceMappingURL=VirtualScrollList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VirtualScrollList.d.ts","sourceRoot":"","sources":["../../src/components/VirtualScrollList.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,CACV,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,KAAK,CAAC,aAAa,KACvB,KAAK,CAAC,SAAS,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEjC;;OAEG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEnC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,iBAAiB,4LAczB,sBAAsB,6CA6H1B,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,oBAAoB,kBACjB,iBAAiB,EAAE,eACrB,MAAM,oBACD,MAAM;;;yBAKiB,iBAAiB,EAAE;6BAIf,iBAAiB,EAAE;qBAI3B,MAAM,GAAG,MAAM,QAAQ,GAAG;qBAM1B,MAAM,GAAG,MAAM;;;;;;CAqBpD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convenience hooks that split the main usePasskeyme hook
|
|
3
|
+
* These are React-specific convenience utilities
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Hook to get only the authentication state
|
|
7
|
+
*/
|
|
8
|
+
export declare const useAuthState: () => {
|
|
9
|
+
user: import("@passkeyme/auth").User | null;
|
|
10
|
+
loading: boolean;
|
|
11
|
+
error: string | null;
|
|
12
|
+
isAuthenticated: boolean;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Hook to get only the authentication methods
|
|
16
|
+
*/
|
|
17
|
+
export declare const useAuth: () => {
|
|
18
|
+
redirectToLogin: (options?: import("@passkeyme/auth").LoginOptions | undefined) => void;
|
|
19
|
+
redirectToOAuth: (provider: "google" | "github" | "facebook", redirectUri?: string | undefined) => void;
|
|
20
|
+
handleAuthCallback: () => Promise<import("@passkeyme/auth").User>;
|
|
21
|
+
handleCallback: () => Promise<import("@passkeyme/auth").User>;
|
|
22
|
+
logout: () => Promise<void>;
|
|
23
|
+
getAccessToken: () => Promise<string | null>;
|
|
24
|
+
refreshToken: () => Promise<string>;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=useAuthUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAuthUtils.d.ts","sourceRoot":"","sources":["../../src/hooks/useAuthUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;CASxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;;;;CAoBnB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React hook for managing granular loading states
|
|
3
|
+
*/
|
|
4
|
+
import { PasskeymeLoadingState, PasskeymeLoadingStateInfo, LoadingStateManager } from "../utils/loadingStates";
|
|
5
|
+
export interface UseLoadingStateOptions {
|
|
6
|
+
/** Whether to use global loading state manager */
|
|
7
|
+
useGlobal?: boolean;
|
|
8
|
+
/** Initial loading state */
|
|
9
|
+
initialState?: PasskeymeLoadingState;
|
|
10
|
+
/** Callback when state changes */
|
|
11
|
+
onStateChange?: (state: PasskeymeLoadingStateInfo) => void;
|
|
12
|
+
}
|
|
13
|
+
export interface UseLoadingStateReturn {
|
|
14
|
+
/** Current loading state info */
|
|
15
|
+
loadingState: PasskeymeLoadingStateInfo;
|
|
16
|
+
/** Set loading state */
|
|
17
|
+
setLoadingState: (state: PasskeymeLoadingState, customMessage?: string) => void;
|
|
18
|
+
/** Check if currently loading */
|
|
19
|
+
isLoading: boolean;
|
|
20
|
+
/** Check if user action is required */
|
|
21
|
+
isUserActionRequired: boolean;
|
|
22
|
+
/** Get elapsed time since loading started */
|
|
23
|
+
getElapsedTime: () => number;
|
|
24
|
+
/** Reset to idle state */
|
|
25
|
+
reset: () => void;
|
|
26
|
+
/** Loading state manager instance */
|
|
27
|
+
manager: LoadingStateManager;
|
|
28
|
+
}
|
|
29
|
+
export declare const useLoadingState: (options?: UseLoadingStateOptions) => UseLoadingStateReturn;
|
|
30
|
+
export default useLoadingState;
|
|
31
|
+
//# sourceMappingURL=useLoadingState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLoadingState.d.ts","sourceRoot":"","sources":["../../src/hooks/useLoadingState.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EAEpB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,sBAAsB;IACrC,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,qBAAqB;IACpC,iCAAiC;IACjC,YAAY,EAAE,yBAAyB,CAAC;IACxC,wBAAwB;IACxB,eAAe,EAAE,CACf,KAAK,EAAE,qBAAqB,EAC5B,aAAa,CAAC,EAAE,MAAM,KACnB,IAAI,CAAC;IACV,iCAAiC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,6CAA6C;IAC7C,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,0BAA0B;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,qCAAqC;IACrC,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED,eAAO,MAAM,eAAe,aACjB,sBAAsB,KAC9B,qBAqDF,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance monitoring utilities for PasskeyMe React SDK
|
|
3
|
+
*/
|
|
4
|
+
export interface PerformanceMetrics {
|
|
5
|
+
renderTime: number;
|
|
6
|
+
mountTime: number;
|
|
7
|
+
updateCount: number;
|
|
8
|
+
rerenderReasons?: string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Hook to monitor component performance
|
|
12
|
+
*/
|
|
13
|
+
export declare const usePerformanceMonitor: (componentName: string, enabled?: boolean) => {
|
|
14
|
+
metrics: PerformanceMetrics;
|
|
15
|
+
startMeasurement: () => void;
|
|
16
|
+
endMeasurement: () => void;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Hook to track API request performance
|
|
20
|
+
*/
|
|
21
|
+
export declare const useApiPerformanceMonitor: () => {
|
|
22
|
+
apiMetrics: {
|
|
23
|
+
requestCount: number;
|
|
24
|
+
averageResponseTime: number;
|
|
25
|
+
slowRequests: number;
|
|
26
|
+
};
|
|
27
|
+
trackRequest: (url: string, duration: number) => void;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Hook to measure memory usage (Chrome DevTools only)
|
|
31
|
+
*/
|
|
32
|
+
export declare const useMemoryMonitor: (enabled?: boolean) => {
|
|
33
|
+
usedJSMemory?: number | undefined;
|
|
34
|
+
totalJSMemory?: number | undefined;
|
|
35
|
+
jsMemoryLimit?: number | undefined;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Development helper to log render reasons
|
|
39
|
+
*/
|
|
40
|
+
export declare const useWhyDidYouUpdate: (name: string, props: Record<string, any>) => void;
|
|
41
|
+
//# sourceMappingURL=usePerformanceMonitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePerformanceMonitor.d.ts","sourceRoot":"","sources":["../../src/hooks/usePerformanceMonitor.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,kBACjB,MAAM;;;;CA8DtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;sBAEnB,MAAM;6BACC,MAAM;sBACb,MAAM;;wBAOiB,MAAM,YAAY,MAAM;CA0BhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;CA+B5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,SACvB,MAAM,SACL,OAAO,MAAM,EAAE,GAAG,CAAC,SAyB3B,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Username Management Hook
|
|
3
|
+
* Extracted from SmartLoginWithUsernameManager component
|
|
4
|
+
*/
|
|
5
|
+
export interface UseUsernameManagerOptions {
|
|
6
|
+
/** Initial username to load */
|
|
7
|
+
initialUsername?: string;
|
|
8
|
+
/** Whether to remember username across sessions (default: true) */
|
|
9
|
+
rememberUsername?: boolean;
|
|
10
|
+
/** Custom storage key (default: 'passkeyme_last_username') */
|
|
11
|
+
storageKey?: string;
|
|
12
|
+
/** App ID to scope username storage (default: from config) */
|
|
13
|
+
appId?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface UseUsernameManagerReturn {
|
|
16
|
+
/** Current username */
|
|
17
|
+
username: string;
|
|
18
|
+
/** Set the username */
|
|
19
|
+
setUsername: (username: string) => void;
|
|
20
|
+
/** Whether to remember the username */
|
|
21
|
+
rememberUsername: boolean;
|
|
22
|
+
/** Set whether to remember the username */
|
|
23
|
+
setRememberUsername: (remember: boolean) => void;
|
|
24
|
+
/** Whether to show username input */
|
|
25
|
+
showUsernameInput: boolean;
|
|
26
|
+
/** Set whether to show username input */
|
|
27
|
+
setShowUsernameInput: (show: boolean) => void;
|
|
28
|
+
/** Save username to storage */
|
|
29
|
+
saveUsername: (username: string) => void;
|
|
30
|
+
/** Clear saved username */
|
|
31
|
+
clearSavedUsername: () => void;
|
|
32
|
+
/** Handle successful authentication (saves username) */
|
|
33
|
+
handleAuthSuccess: (user: any, method: string) => void;
|
|
34
|
+
/** Reset username state */
|
|
35
|
+
resetUsername: () => void;
|
|
36
|
+
/** Get the effective storage key */
|
|
37
|
+
getStorageKey: () => string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Hook for managing username persistence and state
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```tsx
|
|
44
|
+
* const {
|
|
45
|
+
* username,
|
|
46
|
+
* setUsername,
|
|
47
|
+
* rememberUsername,
|
|
48
|
+
* setRememberUsername,
|
|
49
|
+
* showUsernameInput,
|
|
50
|
+
* setShowUsernameInput,
|
|
51
|
+
* saveUsername,
|
|
52
|
+
* clearSavedUsername,
|
|
53
|
+
* handleAuthSuccess
|
|
54
|
+
* } = useUsernameManager({
|
|
55
|
+
* rememberUsername: true,
|
|
56
|
+
* storageKey: 'my_app_username'
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function useUsernameManager({ initialUsername, rememberUsername: initialRememberUsername, storageKey, appId, }?: UseUsernameManagerOptions): UseUsernameManagerReturn;
|
|
61
|
+
export default useUsernameManager;
|
|
62
|
+
//# sourceMappingURL=useUsernameManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUsernameManager.d.ts","sourceRoot":"","sources":["../../src/hooks/useUsernameManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,yBAAyB;IACxC,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,uCAAuC;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,mBAAmB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,qCAAqC;IACrC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yCAAyC;IACzC,oBAAoB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,+BAA+B;IAC/B,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,2BAA2B;IAC3B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,wDAAwD;IACxD,iBAAiB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,2BAA2B;IAC3B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,oCAAoC;IACpC,aAAa,EAAE,MAAM,MAAM,CAAC;CAC7B;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,eAAoB,EACpB,gBAAgB,EAAE,uBAA8B,EAChD,UAAgC,EAChC,KAAK,GACN,GAAE,yBAA8B,GAAG,wBAAwB,CAsF3D;AAED,eAAe,kBAAkB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PasskeyMe React Authentication SDK
|
|
3
|
+
*
|
|
4
|
+
* React integration for PasskeyMe Authentication with hooks and components.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* import { PasskeymeProvider, usePasskeyme } from '@passkeyme/react-auth';
|
|
9
|
+
*
|
|
10
|
+
* function App() {
|
|
11
|
+
* return (
|
|
12
|
+
* <PasskeymeProvider
|
|
13
|
+
* config={{
|
|
14
|
+
* appId: 'your-app-id',
|
|
15
|
+
* redirectUri: 'http://localhost:3000/callback'
|
|
16
|
+
* }}
|
|
17
|
+
* >
|
|
18
|
+
* <Dashboard />
|
|
19
|
+
* </PasskeymeProvider>
|
|
20
|
+
* );
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* function Dashboard() {
|
|
24
|
+
* const { user, loginWithOAuth, logout } = usePasskeyme();
|
|
25
|
+
*
|
|
26
|
+
* if (!user) {
|
|
27
|
+
* return <button onClick={() => loginWithOAuth('google')}>Login</button>;
|
|
28
|
+
* }
|
|
29
|
+
*
|
|
30
|
+
* return (
|
|
31
|
+
* <div>
|
|
32
|
+
* <p>Welcome, {user.name}!</p>
|
|
33
|
+
* <button onClick={logout}>Logout</button>
|
|
34
|
+
* </div>
|
|
35
|
+
* );
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export { PasskeymeProvider } from "./components/PasskeymeProvider";
|
|
40
|
+
export { usePasskeymeContext, usePasskeyme } from "@passkeyme/react-core";
|
|
41
|
+
export { useLoadingState } from "./hooks/useLoadingState";
|
|
42
|
+
export { useAuthState, useAuth } from "./hooks/useAuthUtils";
|
|
43
|
+
export { useUsernameManager } from "./hooks/useUsernameManager";
|
|
44
|
+
export type { UseUsernameManagerOptions, UseUsernameManagerReturn, } from "./hooks/useUsernameManager";
|
|
45
|
+
export { PasskeymeOAuthButton } from "./components/PasskeymeOAuthButton";
|
|
46
|
+
export { PasskeymeButton } from "./components/PasskeymeButton";
|
|
47
|
+
export { PasskeymeUserProfile } from "./components/PasskeymeUserProfile";
|
|
48
|
+
export { PasskeymeAuthPanel } from "./components/PasskeymeAuthPanel";
|
|
49
|
+
export type { PasskeymeAuthPanelProps, PasskeymeAuthPanelTheme, } from "./components/PasskeymeAuthPanel";
|
|
50
|
+
export { PasskeymeCallbackHandler } from "./components/PasskeymeCallbackHandler";
|
|
51
|
+
export { PasskeymeErrorDisplay } from "./components/PasskeymeErrorDisplay";
|
|
52
|
+
export { PasskeymeLoadingIndicator } from "./components/PasskeymeLoadingIndicator";
|
|
53
|
+
export { PasskeymeProtectedRoute, withAuth, } from "./components/PasskeymeProtectedRoute";
|
|
54
|
+
export { NotificationProvider, useNotifications, } from "./components/NotificationProvider";
|
|
55
|
+
export { usePerformanceMonitor, useApiPerformanceMonitor, useMemoryMonitor, } from "./hooks/usePerformanceMonitor";
|
|
56
|
+
export { DebugPanel, withPerformanceProfiler } from "./utils/devUtils";
|
|
57
|
+
export { PasskeymeErrorDisplayLazy, PasskeymeLoadingIndicatorLazy, createLazyComponent, } from "./components/LazyComponents";
|
|
58
|
+
export { PasskeymeProfiler, PerformanceStats, PerformanceDashboard, performanceStore, usePerformanceStats, withProfiler, } from "./utils/performanceProfiler";
|
|
59
|
+
export type { ProfilerData, ProfilerOptions, PasskeymeProfilerProps, PerformanceStatsProps, } from "./utils/performanceProfiler";
|
|
60
|
+
export { PerformanceDashboard as PerfDashboard, PerformanceIndicator, } from "./components/PerformanceDashboard";
|
|
61
|
+
export type { PerformanceMetrics, PerformanceDashboardProps, } from "./components/PerformanceDashboard";
|
|
62
|
+
export { OptimizedStorage, RequestCache, SessionStorage, storage, requestCache, sessionStorage, useOptimizedStorage, useRequestCache, useSessionStorage, } from "./utils/storageOptimization";
|
|
63
|
+
export type { CacheEntry, CacheOptions } from "./utils/storageOptimization";
|
|
64
|
+
export { ImportAnalyzer, BundleOptimizer, generateOptimizationReport, checkRuntimeDependencies, } from "./utils/importOptimizer";
|
|
65
|
+
export type { ImportAnalysis, OptimizationSuggestion, } from "./utils/importOptimizer";
|
|
66
|
+
export { useAnalytics, AnalyticsProvider, PasskeymeErrorBoundary, withErrorBoundary, createUsageTracker, createPerformanceTracker, } from "./utils/analytics";
|
|
67
|
+
export type { AnalyticsEvent, AnalyticsConfig, PerformanceMetric, ErrorReport, AnalyticsProviderProps, PasskeymeErrorBoundaryProps, } from "./utils/analytics";
|
|
68
|
+
export { MockPasskeymeProvider, createRenderWithPasskeymeProvider, accessibilityTestHelpers, performanceTestHelpers, mockAuthResponses, visualRegressionHelpers, e2eTestHelpers, createMockUser, createMockConfig, } from "./utils/testingUtils";
|
|
69
|
+
export type { TestingProviderProps, MockUser } from "./utils/testingUtils";
|
|
70
|
+
export { logComponentTree } from "./utils/devUtils";
|
|
71
|
+
export { getEnhancedButtonStyles, getButtonIconStyles, getLoadingSpinnerStyles, buttonPresets, } from "./utils/enhancedButtonStyles";
|
|
72
|
+
export type { ButtonVariant, ButtonSize, ButtonStyleOptions, ButtonStyles, } from "./utils/enhancedButtonStyles";
|
|
73
|
+
export type { PasskeymeProviderProps, UsePasskeymeReturn, PasskeymeOAuthButtonProps, PasskeymeButtonProps, PasskeymeUserProfileProps, PasskeymeProtectedRouteProps, PasskeymeCallbackHandlerProps, } from "./types";
|
|
74
|
+
export type { PasskeymeErrorDisplayProps } from "./components/PasskeymeErrorDisplay";
|
|
75
|
+
export type { PasskeymeLoadingState, PasskeymeLoadingStateInfo, } from "./utils/loadingStates";
|
|
76
|
+
export type { UseLoadingStateOptions, UseLoadingStateReturn, } from "./hooks/useLoadingState";
|
|
77
|
+
export type { PasskeymeLoadingIndicatorProps } from "./components/PasskeymeLoadingIndicator";
|
|
78
|
+
export type { PasskeymeConfig, User, AuthState, LoginOptions, AuthEvent, AuthEventListener, ApiError, AppConfiguration, } from "@passkeyme/auth";
|
|
79
|
+
export { PasskeymeError, PasskeymeErrorCode, ErrorHandler, } from "@passkeyme/auth";
|
|
80
|
+
export type { PasskeymeErrorDetails } from "@passkeyme/auth";
|
|
81
|
+
export { DevToolsDashboard } from "./components/DevToolsDashboard";
|
|
82
|
+
export { devWarn, devError, validateProps, withDevTools, initDevTools, enableHotReload, } from "./utils/devUtils";
|
|
83
|
+
export { VirtualScrollList, useVirtualScrollList, } from "./components/VirtualScrollList";
|
|
84
|
+
export type { VirtualScrollItem, VirtualScrollListProps, } from "./components/VirtualScrollList";
|
|
85
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|