@tern-secure/nextjs 3.1.20 → 3.1.21
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/app-router/client/auth.d.ts +7 -0
- package/dist/app-router/client/auth.d.ts.map +1 -0
- package/dist/app-router/client/auth.js +7 -0
- package/dist/app-router/client/auth.js.map +1 -0
- package/dist/app-router/client/client-init.d.ts +4 -9
- package/dist/app-router/client/client-init.d.ts.map +1 -0
- package/dist/app-router/client/client-init.js +17 -3
- package/dist/app-router/client/client-init.js.map +1 -1
- package/dist/app-router/client/config.d.ts +4 -2
- package/dist/app-router/client/config.d.ts.map +1 -0
- package/dist/app-router/client/config.js +17 -2
- package/dist/app-router/client/config.js.map +1 -1
- package/dist/app-router/client/index.d.ts +7 -24
- package/dist/app-router/client/index.d.ts.map +1 -0
- package/dist/app-router/client/index.js +5 -5
- package/dist/app-router/client/index.js.map +1 -1
- package/dist/app-router/client/providers/ternSecureClientProvider.d.ts +5 -0
- package/dist/app-router/client/providers/ternSecureClientProvider.d.ts.map +1 -0
- package/dist/app-router/client/providers/ternSecureClientProvider.js +9 -0
- package/dist/app-router/client/providers/ternSecureClientProvider.js.map +1 -0
- package/dist/app-router/client/providers/ternSecureContext.d.ts +7 -0
- package/dist/app-router/client/providers/ternSecureContext.d.ts.map +1 -0
- package/dist/app-router/client/providers/ternSecureContext.js +24 -0
- package/dist/app-router/client/providers/ternSecureContext.js.map +1 -0
- package/dist/app-router/server/index.d.ts +2 -9
- package/dist/app-router/server/index.d.ts.map +1 -0
- package/dist/app-router/server/index.js +1 -2
- package/dist/app-router/server/index.js.map +1 -1
- package/dist/app-router/server/providers/TernSecureServerProvider.d.ts +7 -0
- package/dist/app-router/server/providers/TernSecureServerProvider.d.ts.map +1 -0
- package/dist/app-router/server/providers/TernSecureServerProvider.js +31 -0
- package/dist/app-router/server/providers/TernSecureServerProvider.js.map +1 -0
- package/dist/components/index.d.ts +2 -25
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +1 -6
- package/dist/components/index.js.map +1 -1
- package/dist/components/{index.d.cts → sign-in.d.ts} +3 -6
- package/dist/components/sign-in.d.ts.map +1 -0
- package/dist/components/sign-in.js +32 -0
- package/dist/components/sign-in.js.map +1 -0
- package/dist/errors/index.d.ts +9 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +12 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useAuth.d.ts +2 -0
- package/dist/hooks/useAuth.d.ts.map +1 -0
- package/dist/hooks/useAuth.js +58 -0
- package/dist/hooks/useAuth.js.map +1 -0
- package/dist/index.d.ts +5 -16
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -69
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +41 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/create-styles.d.ts +99 -0
- package/dist/utils/create-styles.d.ts.map +1 -0
- package/dist/utils/create-styles.js +127 -0
- package/dist/utils/create-styles.js.map +1 -0
- package/package.json +2 -2
- package/dist/app-router/client/client-init.cjs +0 -21
- package/dist/app-router/client/client-init.cjs.map +0 -1
- package/dist/app-router/client/client-init.d.cts +0 -9
- package/dist/app-router/client/config.cjs +0 -16
- package/dist/app-router/client/config.cjs.map +0 -1
- package/dist/app-router/client/config.d.cts +0 -2
- package/dist/app-router/client/index.cjs +0 -47
- package/dist/app-router/client/index.cjs.map +0 -1
- package/dist/app-router/client/index.d.cts +0 -24
- package/dist/app-router/server/index.cjs +0 -12
- package/dist/app-router/server/index.cjs.map +0 -1
- package/dist/app-router/server/index.d.cts +0 -9
- package/dist/chunk-2RTGO3FB.js +0 -36
- package/dist/chunk-2RTGO3FB.js.map +0 -1
- package/dist/chunk-567EYYS7.js +0 -227
- package/dist/chunk-567EYYS7.js.map +0 -1
- package/dist/chunk-6XOKZ6YG.cjs +0 -17
- package/dist/chunk-6XOKZ6YG.cjs.map +0 -1
- package/dist/chunk-7TODKHXS.cjs +0 -229
- package/dist/chunk-7TODKHXS.cjs.map +0 -1
- package/dist/chunk-ANTUVB2P.cjs +0 -26
- package/dist/chunk-ANTUVB2P.cjs.map +0 -1
- package/dist/chunk-PLJ3DA5F.js +0 -45
- package/dist/chunk-PLJ3DA5F.js.map +0 -1
- package/dist/chunk-R3PDNT2L.js +0 -22
- package/dist/chunk-R3PDNT2L.js.map +0 -1
- package/dist/chunk-V2REFIUV.js +0 -24
- package/dist/chunk-V2REFIUV.js.map +0 -1
- package/dist/chunk-VNNJ5ANT.cjs +0 -27
- package/dist/chunk-VNNJ5ANT.cjs.map +0 -1
- package/dist/chunk-WR6O4YMW.cjs +0 -44
- package/dist/chunk-WR6O4YMW.cjs.map +0 -1
- package/dist/chunk-YMR72FHE.cjs +0 -52
- package/dist/chunk-YMR72FHE.cjs.map +0 -1
- package/dist/chunk-YSFNR6DO.js +0 -15
- package/dist/chunk-YSFNR6DO.js.map +0 -1
- package/dist/components/index.cjs +0 -16
- package/dist/components/index.cjs.map +0 -1
- package/dist/config-CYswigMN.d.cts +0 -30
- package/dist/config-CYswigMN.d.ts +0 -30
- package/dist/index.cjs +0 -114
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -16
- package/dist/ternSecureClientProvider-DXLMGG2U.cjs +0 -12
- package/dist/ternSecureClientProvider-DXLMGG2U.cjs.map +0 -1
- package/dist/ternSecureClientProvider-OJMAWZZ2.js +0 -3
- package/dist/ternSecureClientProvider-OJMAWZZ2.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,70 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
export { loadFireConfig, validateConfig } from './chunk-V2REFIUV.js';
|
|
6
|
-
export { TernSecureProvider } from './chunk-PLJ3DA5F.js';
|
|
7
|
-
import { useTernSecure } from './chunk-2RTGO3FB.js';
|
|
8
|
-
export { TernSecureClientProvider, TernSecureContext, useTernSecure } from './chunk-2RTGO3FB.js';
|
|
9
|
-
import { useEffect } from 'react';
|
|
10
|
-
|
|
11
|
-
/* eslint-disable */
|
|
12
|
-
function useAuth() {
|
|
13
|
-
const [state, setState] = useTernSecure("useAuth");
|
|
14
|
-
useEffect(() => {
|
|
15
|
-
try {
|
|
16
|
-
const auth = TernSecureAuth();
|
|
17
|
-
setState((prev) => ({
|
|
18
|
-
...prev,
|
|
19
|
-
firebase: {
|
|
20
|
-
initialized: true,
|
|
21
|
-
error: null
|
|
22
|
-
}
|
|
23
|
-
}));
|
|
24
|
-
const unsubscribe = auth.onAuthStateChanged(
|
|
25
|
-
(user) => {
|
|
26
|
-
setState((prev) => ({
|
|
27
|
-
...prev,
|
|
28
|
-
auth: {
|
|
29
|
-
user,
|
|
30
|
-
loading: false,
|
|
31
|
-
error: null,
|
|
32
|
-
isSignedIn: !!user
|
|
33
|
-
}
|
|
34
|
-
}));
|
|
35
|
-
},
|
|
36
|
-
(error) => {
|
|
37
|
-
setState((prev) => ({
|
|
38
|
-
...prev,
|
|
39
|
-
auth: {
|
|
40
|
-
user: null,
|
|
41
|
-
loading: false,
|
|
42
|
-
error,
|
|
43
|
-
isSignedIn: false
|
|
44
|
-
}
|
|
45
|
-
}));
|
|
46
|
-
}
|
|
47
|
-
);
|
|
48
|
-
return () => unsubscribe();
|
|
49
|
-
} catch (error) {
|
|
50
|
-
setState((prev) => ({
|
|
51
|
-
...prev,
|
|
52
|
-
firebase: {
|
|
53
|
-
initialized: false,
|
|
54
|
-
error
|
|
55
|
-
},
|
|
56
|
-
auth: {
|
|
57
|
-
user: null,
|
|
58
|
-
loading: false,
|
|
59
|
-
error,
|
|
60
|
-
isSignedIn: false
|
|
61
|
-
}
|
|
62
|
-
}));
|
|
63
|
-
}
|
|
64
|
-
}, []);
|
|
65
|
-
return state.auth;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export { useAuth };
|
|
69
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export { TernSecureAuth, TernSecureFirestore, TernSecureStorage, signInWithEmail, loadFireConfig, validateConfig, TernSecureContext, useTernSecure, TernSecureClientProvider } from './app-router/client';
|
|
2
|
+
export { TernSecureProvider } from './app-router/server';
|
|
3
|
+
export { useAuth } from './hooks/useAuth';
|
|
4
|
+
export { SignIn } from './components/sign-in';
|
|
70
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACzM,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { User, Auth } from 'firebase/auth';
|
|
3
|
+
export interface TernSecureConfig {
|
|
4
|
+
apiKey: string;
|
|
5
|
+
authDomain: string;
|
|
6
|
+
projectId: string;
|
|
7
|
+
storageBucket: string;
|
|
8
|
+
messagingSenderId: string;
|
|
9
|
+
appId: string;
|
|
10
|
+
measurementId: string;
|
|
11
|
+
}
|
|
12
|
+
export interface TernSecureOptions {
|
|
13
|
+
environment?: 'development' | 'production';
|
|
14
|
+
region?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface FirebaseState {
|
|
17
|
+
initialized: boolean;
|
|
18
|
+
error: Error | null;
|
|
19
|
+
}
|
|
20
|
+
export interface TernSecureState {
|
|
21
|
+
firebase: FirebaseState;
|
|
22
|
+
auth: AuthState;
|
|
23
|
+
}
|
|
24
|
+
export interface AuthState {
|
|
25
|
+
user: User | null;
|
|
26
|
+
loading: boolean;
|
|
27
|
+
error: Error | null;
|
|
28
|
+
isSignedIn: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface TernSecureContextValue {
|
|
31
|
+
_contextKey: symbol;
|
|
32
|
+
authState: AuthState;
|
|
33
|
+
auth: Auth;
|
|
34
|
+
}
|
|
35
|
+
export interface TernSecureContextType {
|
|
36
|
+
authState: AuthState;
|
|
37
|
+
}
|
|
38
|
+
export interface TernSecureProviderProps {
|
|
39
|
+
children: ReactNode;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AACD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,SAAS,CAAC;CACjB;AACD,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACvB;AACD,MAAM,WAAW,sBAAsB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC;CACd;AACD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,SAAS,CAAC;CACtB;AACD,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,SAAS,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export declare const defaultClassNames: {
|
|
2
|
+
readonly container: "tern-container";
|
|
3
|
+
readonly header: "tern-header";
|
|
4
|
+
readonly title: "tern-title";
|
|
5
|
+
readonly formWrapper: "tern-formWrapper";
|
|
6
|
+
readonly formContainer: "tern-formContainer";
|
|
7
|
+
readonly form: "tern-form";
|
|
8
|
+
readonly label: "tern-label";
|
|
9
|
+
readonly input: "tern-input";
|
|
10
|
+
readonly button: "tern-button";
|
|
11
|
+
readonly error: "tern-error";
|
|
12
|
+
};
|
|
13
|
+
export declare const styleConfig: {
|
|
14
|
+
readonly container: {
|
|
15
|
+
readonly display: "flex";
|
|
16
|
+
readonly minHeight: "100%";
|
|
17
|
+
readonly flex: "1";
|
|
18
|
+
readonly flexDirection: "column";
|
|
19
|
+
readonly justifyContent: "center";
|
|
20
|
+
readonly padding: "3rem 1.5rem";
|
|
21
|
+
};
|
|
22
|
+
readonly header: {
|
|
23
|
+
readonly margin: "0 auto";
|
|
24
|
+
readonly width: "100%";
|
|
25
|
+
readonly maxWidth: "28rem";
|
|
26
|
+
};
|
|
27
|
+
readonly title: {
|
|
28
|
+
readonly marginTop: "1.5rem";
|
|
29
|
+
readonly textAlign: "center";
|
|
30
|
+
readonly fontSize: "1.875rem";
|
|
31
|
+
readonly fontWeight: "700";
|
|
32
|
+
readonly lineHeight: "2.25rem";
|
|
33
|
+
readonly letterSpacing: "-0.025em";
|
|
34
|
+
readonly color: "var(--tern-text-primary, #111827)";
|
|
35
|
+
};
|
|
36
|
+
readonly formWrapper: {
|
|
37
|
+
readonly marginTop: "2.5rem";
|
|
38
|
+
readonly margin: "0 auto";
|
|
39
|
+
readonly width: "100%";
|
|
40
|
+
readonly maxWidth: "30rem";
|
|
41
|
+
};
|
|
42
|
+
readonly formContainer: {
|
|
43
|
+
readonly padding: "3rem 1.5rem";
|
|
44
|
+
readonly boxShadow: "0 1px 3px 0 rgb(0 0 0 / 0.1)";
|
|
45
|
+
readonly borderRadius: "0.5rem";
|
|
46
|
+
readonly backgroundColor: "var(--tern-background, white)";
|
|
47
|
+
};
|
|
48
|
+
readonly form: {
|
|
49
|
+
readonly display: "flex";
|
|
50
|
+
readonly flexDirection: "column";
|
|
51
|
+
readonly gap: "1rem";
|
|
52
|
+
};
|
|
53
|
+
readonly label: {
|
|
54
|
+
readonly display: "block";
|
|
55
|
+
readonly fontSize: "0.875rem";
|
|
56
|
+
readonly fontWeight: "500";
|
|
57
|
+
readonly color: "var(--tern-text-secondary, #374151)";
|
|
58
|
+
};
|
|
59
|
+
readonly input: {
|
|
60
|
+
readonly marginTop: "0.25rem";
|
|
61
|
+
readonly display: "block";
|
|
62
|
+
readonly width: "100%";
|
|
63
|
+
readonly padding: "0.5rem 0.75rem";
|
|
64
|
+
readonly borderRadius: "0.375rem";
|
|
65
|
+
readonly border: "1px solid var(--tern-border, #D1D5DB)";
|
|
66
|
+
readonly backgroundColor: "var(--tern-input-background, white)";
|
|
67
|
+
readonly color: "var(--tern-text-primary, #111827)";
|
|
68
|
+
};
|
|
69
|
+
readonly button: {
|
|
70
|
+
readonly display: "flex";
|
|
71
|
+
readonly width: "100%";
|
|
72
|
+
readonly justifyContent: "center";
|
|
73
|
+
readonly padding: "0.5rem 1rem";
|
|
74
|
+
readonly fontSize: "0.875rem";
|
|
75
|
+
readonly fontWeight: "500";
|
|
76
|
+
readonly color: "white";
|
|
77
|
+
readonly backgroundColor: "var(--tern-primary, #2563EB)";
|
|
78
|
+
readonly border: "none";
|
|
79
|
+
readonly borderRadius: "0.375rem";
|
|
80
|
+
readonly cursor: "pointer";
|
|
81
|
+
};
|
|
82
|
+
readonly error: {
|
|
83
|
+
readonly color: "var(--tern-error, #DC2626)";
|
|
84
|
+
readonly fontSize: "0.875rem";
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
export declare const styles: {
|
|
88
|
+
readonly container: "tern-container";
|
|
89
|
+
readonly header: "tern-header";
|
|
90
|
+
readonly title: "tern-title";
|
|
91
|
+
readonly formWrapper: "tern-formWrapper";
|
|
92
|
+
readonly formContainer: "tern-formContainer";
|
|
93
|
+
readonly form: "tern-form";
|
|
94
|
+
readonly label: "tern-label";
|
|
95
|
+
readonly input: "tern-input";
|
|
96
|
+
readonly button: "tern-button";
|
|
97
|
+
readonly error: "tern-error";
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=create-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-styles.d.ts","sourceRoot":"","sources":["../../src/utils/create-styles.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAWpB,CAAA;AAwCV,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEd,CAAA;AAGV,eAAO,MAAM,MAAM;;;;;;;;;;;CAAgC,CAAA"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
const PREFIX = 'tern';
|
|
3
|
+
// Singleton to track style injection
|
|
4
|
+
const styleInjection = {
|
|
5
|
+
isInjected: false,
|
|
6
|
+
styleElement: null
|
|
7
|
+
};
|
|
8
|
+
export const defaultClassNames = {
|
|
9
|
+
container: `${PREFIX}-container`,
|
|
10
|
+
header: `${PREFIX}-header`,
|
|
11
|
+
title: `${PREFIX}-title`,
|
|
12
|
+
formWrapper: `${PREFIX}-formWrapper`,
|
|
13
|
+
formContainer: `${PREFIX}-formContainer`,
|
|
14
|
+
form: `${PREFIX}-form`,
|
|
15
|
+
label: `${PREFIX}-label`,
|
|
16
|
+
input: `${PREFIX}-input`,
|
|
17
|
+
button: `${PREFIX}-button`,
|
|
18
|
+
error: `${PREFIX}-error`
|
|
19
|
+
};
|
|
20
|
+
// Create styles once and cache them
|
|
21
|
+
function createStyleSheet(styles) {
|
|
22
|
+
if (typeof window === 'undefined')
|
|
23
|
+
return defaultClassNames;
|
|
24
|
+
// Return early if styles are already injected
|
|
25
|
+
if (styleInjection.isInjected) {
|
|
26
|
+
return defaultClassNames;
|
|
27
|
+
}
|
|
28
|
+
// Find existing style element or create new one
|
|
29
|
+
let styleElement = document.querySelector('[data-tern-secure]');
|
|
30
|
+
if (!styleElement) {
|
|
31
|
+
styleElement = document.createElement('style');
|
|
32
|
+
styleElement.setAttribute('data-tern-secure', '');
|
|
33
|
+
document.head.appendChild(styleElement);
|
|
34
|
+
styleInjection.styleElement = styleElement;
|
|
35
|
+
}
|
|
36
|
+
// Create CSS rules
|
|
37
|
+
const cssRules = Object.entries(styles).map(([key, rules]) => {
|
|
38
|
+
const className = defaultClassNames[key];
|
|
39
|
+
const cssProperties = Object.entries(rules).map(([prop, value]) => {
|
|
40
|
+
const cssProperty = prop.replace(/([A-Z])/g, '-$1').toLowerCase();
|
|
41
|
+
return `${cssProperty}: ${value};`;
|
|
42
|
+
}).join(' ');
|
|
43
|
+
return `.${className} { ${cssProperties} }`;
|
|
44
|
+
}).join('\n');
|
|
45
|
+
// Insert styles only once
|
|
46
|
+
styleElement.textContent = cssRules;
|
|
47
|
+
styleInjection.isInjected = true;
|
|
48
|
+
return defaultClassNames;
|
|
49
|
+
}
|
|
50
|
+
// Style configuration
|
|
51
|
+
export const styleConfig = {
|
|
52
|
+
container: {
|
|
53
|
+
display: 'flex',
|
|
54
|
+
minHeight: '100%',
|
|
55
|
+
flex: '1',
|
|
56
|
+
flexDirection: 'column',
|
|
57
|
+
justifyContent: 'center',
|
|
58
|
+
padding: '3rem 1.5rem'
|
|
59
|
+
},
|
|
60
|
+
header: {
|
|
61
|
+
margin: '0 auto',
|
|
62
|
+
width: '100%',
|
|
63
|
+
maxWidth: '28rem'
|
|
64
|
+
},
|
|
65
|
+
title: {
|
|
66
|
+
marginTop: '1.5rem',
|
|
67
|
+
textAlign: 'center',
|
|
68
|
+
fontSize: '1.875rem',
|
|
69
|
+
fontWeight: '700',
|
|
70
|
+
lineHeight: '2.25rem',
|
|
71
|
+
letterSpacing: '-0.025em',
|
|
72
|
+
color: 'var(--tern-text-primary, #111827)'
|
|
73
|
+
},
|
|
74
|
+
formWrapper: {
|
|
75
|
+
marginTop: '2.5rem',
|
|
76
|
+
margin: '0 auto',
|
|
77
|
+
width: '100%',
|
|
78
|
+
maxWidth: '30rem'
|
|
79
|
+
},
|
|
80
|
+
formContainer: {
|
|
81
|
+
padding: '3rem 1.5rem',
|
|
82
|
+
boxShadow: '0 1px 3px 0 rgb(0 0 0 / 0.1)',
|
|
83
|
+
borderRadius: '0.5rem',
|
|
84
|
+
backgroundColor: 'var(--tern-background, white)'
|
|
85
|
+
},
|
|
86
|
+
form: {
|
|
87
|
+
display: 'flex',
|
|
88
|
+
flexDirection: 'column',
|
|
89
|
+
gap: '1rem'
|
|
90
|
+
},
|
|
91
|
+
label: {
|
|
92
|
+
display: 'block',
|
|
93
|
+
fontSize: '0.875rem',
|
|
94
|
+
fontWeight: '500',
|
|
95
|
+
color: 'var(--tern-text-secondary, #374151)'
|
|
96
|
+
},
|
|
97
|
+
input: {
|
|
98
|
+
marginTop: '0.25rem',
|
|
99
|
+
display: 'block',
|
|
100
|
+
width: '100%',
|
|
101
|
+
padding: '0.5rem 0.75rem',
|
|
102
|
+
borderRadius: '0.375rem',
|
|
103
|
+
border: '1px solid var(--tern-border, #D1D5DB)',
|
|
104
|
+
backgroundColor: 'var(--tern-input-background, white)',
|
|
105
|
+
color: 'var(--tern-text-primary, #111827)'
|
|
106
|
+
},
|
|
107
|
+
button: {
|
|
108
|
+
display: 'flex',
|
|
109
|
+
width: '100%',
|
|
110
|
+
justifyContent: 'center',
|
|
111
|
+
padding: '0.5rem 1rem',
|
|
112
|
+
fontSize: '0.875rem',
|
|
113
|
+
fontWeight: '500',
|
|
114
|
+
color: 'white',
|
|
115
|
+
backgroundColor: 'var(--tern-primary, #2563EB)',
|
|
116
|
+
border: 'none',
|
|
117
|
+
borderRadius: '0.375rem',
|
|
118
|
+
cursor: 'pointer'
|
|
119
|
+
},
|
|
120
|
+
error: {
|
|
121
|
+
color: 'var(--tern-error, #DC2626)',
|
|
122
|
+
fontSize: '0.875rem'
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
// Export pre-created styles
|
|
126
|
+
export const styles = createStyleSheet(styleConfig);
|
|
127
|
+
//# sourceMappingURL=create-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-styles.js","sourceRoot":"","sources":["../../src/utils/create-styles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tern-secure/nextjs",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.21",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"module": "./dist/esm/index.js",
|
|
19
19
|
"types": "./dist/esm/index.d.ts",
|
|
20
20
|
"scripts": {
|
|
21
|
-
"build": "
|
|
21
|
+
"build": "tsc",
|
|
22
22
|
"dev": "tsup --watch",
|
|
23
23
|
"clean": "rimraf dist",
|
|
24
24
|
"lint": "eslint \"src/**/*.{ts,tsx}\"",
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkANTUVB2P_cjs = require('../../chunk-ANTUVB2P.cjs');
|
|
4
|
-
require('../../chunk-VNNJ5ANT.cjs');
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(exports, "TernSecureAuth", {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: function () { return chunkANTUVB2P_cjs.TernSecureAuth; }
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "TernSecureFirestore", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () { return chunkANTUVB2P_cjs.TernSecureFirestore; }
|
|
15
|
-
});
|
|
16
|
-
Object.defineProperty(exports, "TernSecureStorage", {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function () { return chunkANTUVB2P_cjs.TernSecureStorage; }
|
|
19
|
-
});
|
|
20
|
-
//# sourceMappingURL=client-init.cjs.map
|
|
21
|
-
//# sourceMappingURL=client-init.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"client-init.cjs"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as _firebase_storage from '@firebase/storage';
|
|
2
|
-
import * as _firebase_firestore from '@firebase/firestore';
|
|
3
|
-
import * as _firebase_auth from '@firebase/auth';
|
|
4
|
-
|
|
5
|
-
declare const TernSecureAuth: () => _firebase_auth.Auth;
|
|
6
|
-
declare const TernSecureFirestore: () => _firebase_firestore.Firestore;
|
|
7
|
-
declare const TernSecureStorage: () => _firebase_storage.FirebaseStorage;
|
|
8
|
-
|
|
9
|
-
export { TernSecureAuth, TernSecureFirestore, TernSecureStorage };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkVNNJ5ANT_cjs = require('../../chunk-VNNJ5ANT.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "loadFireConfig", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function () { return chunkVNNJ5ANT_cjs.loadFireConfig; }
|
|
10
|
-
});
|
|
11
|
-
Object.defineProperty(exports, "validateConfig", {
|
|
12
|
-
enumerable: true,
|
|
13
|
-
get: function () { return chunkVNNJ5ANT_cjs.validateConfig; }
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=config.cjs.map
|
|
16
|
-
//# sourceMappingURL=config.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"config.cjs"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunk6XOKZ6YG_cjs = require('../../chunk-6XOKZ6YG.cjs');
|
|
4
|
-
var chunkANTUVB2P_cjs = require('../../chunk-ANTUVB2P.cjs');
|
|
5
|
-
var chunkVNNJ5ANT_cjs = require('../../chunk-VNNJ5ANT.cjs');
|
|
6
|
-
var chunkWR6O4YMW_cjs = require('../../chunk-WR6O4YMW.cjs');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
Object.defineProperty(exports, "signInWithEmail", {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () { return chunk6XOKZ6YG_cjs.signInWithEmail; }
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(exports, "TernSecureAuth", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function () { return chunkANTUVB2P_cjs.TernSecureAuth; }
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "TernSecureFirestore", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () { return chunkANTUVB2P_cjs.TernSecureFirestore; }
|
|
21
|
-
});
|
|
22
|
-
Object.defineProperty(exports, "TernSecureStorage", {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
get: function () { return chunkANTUVB2P_cjs.TernSecureStorage; }
|
|
25
|
-
});
|
|
26
|
-
Object.defineProperty(exports, "loadFireConfig", {
|
|
27
|
-
enumerable: true,
|
|
28
|
-
get: function () { return chunkVNNJ5ANT_cjs.loadFireConfig; }
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "validateConfig", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () { return chunkVNNJ5ANT_cjs.validateConfig; }
|
|
33
|
-
});
|
|
34
|
-
Object.defineProperty(exports, "TernSecureClientProvider", {
|
|
35
|
-
enumerable: true,
|
|
36
|
-
get: function () { return chunkWR6O4YMW_cjs.TernSecureClientProvider; }
|
|
37
|
-
});
|
|
38
|
-
Object.defineProperty(exports, "TernSecureContext", {
|
|
39
|
-
enumerable: true,
|
|
40
|
-
get: function () { return chunkWR6O4YMW_cjs.TernSecureContext; }
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(exports, "useTernSecure", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function () { return chunkWR6O4YMW_cjs.useTernSecure; }
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=index.cjs.map
|
|
47
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export { TernSecureAuth, TernSecureFirestore, TernSecureStorage } from './client-init.cjs';
|
|
2
|
-
import { UserCredential } from 'firebase/auth';
|
|
3
|
-
import { T as TernSecureState } from '../../config-CYswigMN.cjs';
|
|
4
|
-
export { l as loadFireConfig, v as validateConfig } from '../../config-CYswigMN.cjs';
|
|
5
|
-
import React__default from 'react';
|
|
6
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
7
|
-
import '@firebase/storage';
|
|
8
|
-
import '@firebase/firestore';
|
|
9
|
-
import '@firebase/auth';
|
|
10
|
-
|
|
11
|
-
interface SignInCredentials {
|
|
12
|
-
email: string;
|
|
13
|
-
password: string;
|
|
14
|
-
}
|
|
15
|
-
declare function signInWithEmail({ email, password }: SignInCredentials): Promise<UserCredential>;
|
|
16
|
-
|
|
17
|
-
declare const TernSecureContext: React__default.Context<[TernSecureState, React__default.Dispatch<React__default.SetStateAction<TernSecureState>>]>;
|
|
18
|
-
declare const useTernSecure: (hookname?: string) => [TernSecureState, React__default.Dispatch<React__default.SetStateAction<TernSecureState>>];
|
|
19
|
-
|
|
20
|
-
declare function TernSecureClientProvider({ children }: {
|
|
21
|
-
children: React__default.ReactNode;
|
|
22
|
-
}): react_jsx_runtime.JSX.Element;
|
|
23
|
-
|
|
24
|
-
export { type SignInCredentials, TernSecureClientProvider, TernSecureContext, signInWithEmail, useTernSecure };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkYMR72FHE_cjs = require('../../chunk-YMR72FHE.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "TernSecureProvider", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function () { return chunkYMR72FHE_cjs.TernSecureProvider; }
|
|
10
|
-
});
|
|
11
|
-
//# sourceMappingURL=index.cjs.map
|
|
12
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import React__default, { ReactNode } from 'react';
|
|
3
|
-
|
|
4
|
-
interface TernSecureProviderProps {
|
|
5
|
-
children: ReactNode;
|
|
6
|
-
}
|
|
7
|
-
declare function TernSecureProvider({ children }: TernSecureProviderProps): react_jsx_runtime.JSX.Element | (string | number | React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode>)[] | null | undefined;
|
|
8
|
-
|
|
9
|
-
export { TernSecureProvider };
|
package/dist/chunk-2RTGO3FB.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
|
|
4
|
-
/* eslint-disable */
|
|
5
|
-
|
|
6
|
-
var initialState = {
|
|
7
|
-
firebase: {
|
|
8
|
-
initialized: false,
|
|
9
|
-
error: null
|
|
10
|
-
},
|
|
11
|
-
auth: {
|
|
12
|
-
user: null,
|
|
13
|
-
loading: true,
|
|
14
|
-
error: null,
|
|
15
|
-
isSignedIn: false
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
var TernSecureContext = React.createContext([initialState, () => {
|
|
19
|
-
}]);
|
|
20
|
-
var useTernSecure = (hookname) => {
|
|
21
|
-
const context = React.useContext(TernSecureContext);
|
|
22
|
-
if (!context) {
|
|
23
|
-
throw new Error(
|
|
24
|
-
`${hookname} must be used within TernSecureProvider`
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
return context;
|
|
28
|
-
};
|
|
29
|
-
function TernSecureClientProvider({ children }) {
|
|
30
|
-
const stateAndUpdater = useState(initialState);
|
|
31
|
-
return /* @__PURE__ */ jsx(TernSecureContext.Provider, { value: stateAndUpdater, children });
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export { TernSecureClientProvider, TernSecureContext, useTernSecure };
|
|
35
|
-
//# sourceMappingURL=chunk-2RTGO3FB.js.map
|
|
36
|
-
//# sourceMappingURL=chunk-2RTGO3FB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/app-router/client/providers/ternSecureContext.tsx","../src/app-router/client/providers/ternSecureClientProvider.tsx"],"names":[],"mappings":";;;;;AAKA,IAAM,YAAgC,GAAA;AAAA,EACpC,QAAU,EAAA;AAAA,IACR,WAAa,EAAA,KAAA;AAAA,IACb,KAAO,EAAA;AAAA,GACT;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,IAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,IACT,KAAO,EAAA,IAAA;AAAA,IACP,UAAY,EAAA;AAAA;AAEhB,CAAA;AAEA,IAAM,iBAAoB,GAAA,KAAA,CAAM,aAAwF,CAAA,CAAC,cAAc,MAAM;AAAC,CAAC,CAAC;AAE1I,IAAA,aAAA,GAAgB,CAAC,QAAsB,KAAA;AAC3C,EAAM,MAAA,OAAA,GAAU,KAAM,CAAA,UAAA,CAAW,iBAAiB,CAAA;AAClD,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,GAAG,QAAQ,CAAA,uCAAA;AAAA,KAAyC;AAAA;AAExD,EAAO,OAAA,OAAA;AACT;ACtBO,SAAS,wBAAA,CAAyB,EAAE,QAAA,EAA2C,EAAA;AACpF,EAAM,MAAA,eAAA,GAAkB,SAAS,YAAY,CAAA;AAE7C,EAAA,2BACG,iBAAkB,CAAA,QAAA,EAAlB,EAA2B,KAAA,EAAO,iBAChC,QACH,EAAA,CAAA;AAEJ","file":"chunk-2RTGO3FB.js","sourcesContent":["'use client'\r\n\r\nimport React from 'react'\r\nimport { TernSecureState } from '../../../types'\r\n\r\nconst initialState: TernSecureState = {\r\n firebase: {\r\n initialized: false,\r\n error: null\r\n },\r\n auth: {\r\n user: null,\r\n loading: true,\r\n error: null,\r\n isSignedIn: false\r\n }\r\n}\r\n\r\nconst TernSecureContext = React.createContext<[TernSecureState, React.Dispatch<React.SetStateAction<TernSecureState>>]>([initialState, () => {}])\r\n\r\nconst useTernSecure = (hookname?: string) => {\r\n const context = React.useContext(TernSecureContext)\r\n if (!context) {\r\n throw new Error(\r\n `${hookname} must be used within TernSecureProvider`)\r\n }\r\n return context\r\n}\r\n\r\nexport {\r\n TernSecureContext,\r\n useTernSecure,\r\n initialState\r\n}","'use client'\r\n\r\nimport React, { useState } from 'react'\r\nimport { TernSecureContext, initialState } from './ternSecureContext'\r\n\r\nexport function TernSecureClientProvider({ children }: { children: React.ReactNode }) {\r\n const stateAndUpdater = useState(initialState)\r\n\r\n return (\r\n <TernSecureContext.Provider value={stateAndUpdater}>\r\n {children}\r\n </TernSecureContext.Provider>\r\n )\r\n}"]}
|