@tern-secure/nextjs 1.9.8 → 2.0.1
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.
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import { signInWithEmail } from '../app-router/client';
|
|
5
|
+
import '../styles/global.css';
|
|
5
6
|
export function SignIn({ onSuccess, onError, redirectUrl, className = '', customStyles = {} }) {
|
|
6
7
|
const [email, setEmail] = useState('');
|
|
7
8
|
const [password, setPassword] = useState('');
|
|
@@ -31,7 +32,7 @@ export function SignIn({ onSuccess, onError, redirectUrl, className = '', custom
|
|
|
31
32
|
form: 'space-y-4',
|
|
32
33
|
label: 'block text-sm font-medium text-gray-700',
|
|
33
34
|
input: 'mt-1 block w-full rounded-md border border-gray-300 px-3 py-2 shadow-sm focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary',
|
|
34
|
-
button: 'w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-
|
|
35
|
+
button: 'w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-indigo-600 hover:bg-primary/90 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary disabled:opacity-50',
|
|
35
36
|
errorText: 'text-red-500 text-sm'
|
|
36
37
|
};
|
|
37
38
|
const styles = {
|
|
@@ -41,14 +42,19 @@ export function SignIn({ onSuccess, onError, redirectUrl, className = '', custom
|
|
|
41
42
|
button: customStyles.button || defaultStyles.button,
|
|
42
43
|
errorText: customStyles.errorText || defaultStyles.errorText
|
|
43
44
|
};
|
|
44
|
-
return (React.createElement("
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
React.createElement("
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
return (React.createElement("div", { className: "flex min-h-full flex-1 flex-col justify-center py-12 sm:px-6 lg:px-8" },
|
|
46
|
+
React.createElement("div", { className: "sm:mx-auto sm:w-full sm:max-w-md" },
|
|
47
|
+
React.createElement("h2", { className: `mt-6 text-center text-2xl font-bold leading-9 tracking-tight text-gray-900}` }, "Sign in to your account")),
|
|
48
|
+
React.createElement("div", { className: "mt-10 sm:mx-auto sm:w-full sm:max-w-[480px]" },
|
|
49
|
+
React.createElement("div", { className: "px-6 py-12 shadow sm:rounded-lg sm:px-12 " },
|
|
50
|
+
React.createElement("form", { onSubmit: handleSubmit, className: `${styles.form} ${className}`, role: "form", "aria-label": "Sign in form" },
|
|
51
|
+
error && (React.createElement("div", { className: styles.errorText, role: "alert", "aria-live": "polite" }, error)),
|
|
52
|
+
React.createElement("div", null,
|
|
53
|
+
React.createElement("label", { htmlFor: "email", className: styles.label }, "Email"),
|
|
54
|
+
React.createElement("input", { id: "email", type: "email", value: email, onChange: (e) => setEmail(e.target.value), placeholder: "Enter your email", required: true, className: styles.input, disabled: loading, "aria-required": "true", "aria-invalid": !!error })),
|
|
55
|
+
React.createElement("div", null,
|
|
56
|
+
React.createElement("label", { htmlFor: "password", className: styles.label }, "Password"),
|
|
57
|
+
React.createElement("input", { id: "password", type: "password", value: password, onChange: (e) => setPassword(e.target.value), placeholder: "Enter your password", required: true, className: styles.input, disabled: loading, "aria-required": "true", "aria-invalid": !!error })),
|
|
58
|
+
React.createElement("button", { type: "submit", disabled: loading, className: styles.button, "data-testid": "sign-in-submit" }, loading ? 'Signing in...' : 'Sign in'))))));
|
|
53
59
|
}
|
|
54
60
|
//# sourceMappingURL=sign-in.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../../src/components/sign-in.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../../src/components/sign-in.tsx"],"names":[],"mappings":"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"}
|
package/dist/hooks/useAuth.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useEffect } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { TernSecureAuth } from '../app-router/client';
|
|
4
4
|
import { useTernSecure } from '../app-router/client/';
|
|
5
5
|
export function useAuth() {
|
|
6
6
|
const [state, setState] = useTernSecure('useAuth');
|
|
@@ -15,9 +15,6 @@ export function useAuth() {
|
|
|
15
15
|
}
|
|
16
16
|
}));
|
|
17
17
|
const unsubscribe = auth.onAuthStateChanged((user) => {
|
|
18
|
-
if (!user) {
|
|
19
|
-
return signInWithEmail;
|
|
20
|
-
}
|
|
21
18
|
setState(prev => ({
|
|
22
19
|
...prev,
|
|
23
20
|
auth: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuth.js","sourceRoot":"","sources":["../../src/hooks/useAuth.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"useAuth.js","sourceRoot":"","sources":["../../src/hooks/useAuth.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAmB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD,MAAM,UAAU,OAAO;IACrB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA,CAAC,4BAA4B;YAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,GAAG,IAAI;gBACP,QAAQ,EAAE;oBACR,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,IAAI;iBACZ;aACF,CAAC,CAAC,CAAA;YAEH,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CACzC,CAAC,IAAI,EAAE,EAAE;gBACP,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAChB,GAAG,IAAI;oBACP,IAAI,EAAE;wBACJ,IAAI;wBACJ,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,IAAI;wBACX,UAAU,EAAE,CAAC,CAAC,IAAI;qBACnB;iBACF,CAAC,CAAC,CAAA;YACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAChB,GAAG,IAAI;oBACP,IAAI,EAAE;wBACJ,IAAI,EAAE,IAAI;wBACV,OAAO,EAAE,KAAK;wBACd,KAAK;wBACL,UAAU,EAAE,KAAK;qBAClB;iBACF,CAAC,CAAC,CAAA;YACL,CAAC,CACF,CAAA;YAED,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,GAAG,IAAI;gBACP,QAAQ,EAAE;oBACR,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,KAAc;iBACtB;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAc;oBACrB,UAAU,EAAE,KAAK;iBAClB;aACF,CAAC,CAAC,CAAA;QACL,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,yBAAyB;IAEhC,OAAO,KAAK,CAAC,IAAI,CAAA;AACnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tern-secure/nextjs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"@types/react": "^18.3.12",
|
|
41
41
|
"@typescript-eslint/eslint-plugin": "^8.15.0",
|
|
42
42
|
"@typescript-eslint/parser": "^8.15.0",
|
|
43
|
+
"autoprefixer": "^10.4.20",
|
|
43
44
|
"eslint": "^9.15.0",
|
|
44
45
|
"firebase": "^11.0.2",
|
|
45
46
|
"firebase-admin": "^13.0.1",
|
|
@@ -47,11 +48,13 @@
|
|
|
47
48
|
"jest": "^29.7.0",
|
|
48
49
|
"jest-environment-jsdom": "^29.7.0",
|
|
49
50
|
"next": "^15.0.3",
|
|
51
|
+
"postcss": "^8.4.49",
|
|
50
52
|
"prettier": "^3.3.3",
|
|
51
53
|
"react": "^18.3.1",
|
|
52
54
|
"react-dom": "^18.3.1",
|
|
53
55
|
"rollup": "^4.27.4",
|
|
54
56
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
57
|
+
"tailwindcss": "^3.4.15",
|
|
55
58
|
"ts-jest": "^29.2.5",
|
|
56
59
|
"ts-node": "^10.9.2",
|
|
57
60
|
"typescript": "^5.7.2"
|
|
@@ -64,7 +67,8 @@
|
|
|
64
67
|
"firebase": "^10.0.0",
|
|
65
68
|
"next": "^13.0.0 || ^14.0.0 || ^15.0.0",
|
|
66
69
|
"react": "^18 || ^19.0.0-0",
|
|
67
|
-
"react-dom": "^18 || ^19.0.0-0"
|
|
70
|
+
"react-dom": "^18 || ^19.0.0-0",
|
|
71
|
+
"tailwindcss": "^3.4.15"
|
|
68
72
|
},
|
|
69
73
|
"exports": {
|
|
70
74
|
".": {
|