@tern-secure/nextjs 3.1.23 → 3.1.24
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/chunk-AHVNPKXU.js +4 -12
- package/dist/index.cjs +66 -126
- package/dist/index.js +20 -51
- package/dist/ternSecureClientProvider-P663N3F7.js +1 -7
- package/package.json +5 -10
- package/dist/chunk-2RTGO3FB.js +0 -36
- package/dist/chunk-2RTGO3FB.js.map +0 -1
- package/dist/chunk-WR6O4YMW.cjs +0 -44
- package/dist/chunk-WR6O4YMW.cjs.map +0 -1
- package/dist/cjs/index.cjs +0 -433
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/index.d.cts +0 -81
- package/dist/cjs/index.d.ts +0 -81
- package/dist/cjs/index.js +0 -417
- package/dist/cjs/index.js.map +0 -1
- package/dist/esm/chunk-6K2MNSU3.cjs +0 -42
- package/dist/esm/chunk-6K2MNSU3.cjs.map +0 -1
- package/dist/esm/chunk-RGPCPA2T.js +0 -34
- package/dist/esm/chunk-RGPCPA2T.js.map +0 -1
- package/dist/esm/index.cjs +0 -386
- package/dist/esm/index.cjs.map +0 -1
- package/dist/esm/index.d.cts +0 -81
- package/dist/esm/index.d.ts +0 -81
- package/dist/esm/index.js +0 -360
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/ternSecureClientProvider-6Z2OJ7S6.cjs +0 -12
- package/dist/esm/ternSecureClientProvider-6Z2OJ7S6.cjs.map +0 -1
- package/dist/esm/ternSecureClientProvider-KBSFXQOM.js +0 -3
- package/dist/esm/ternSecureClientProvider-KBSFXQOM.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- 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/chunk-AHVNPKXU.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
|
|
4
|
-
// src/app-router/client/providers/
|
|
5
|
-
import React from "react";
|
|
4
|
+
// src/app-router/client/providers/ternSecureClientProvider.tsx
|
|
6
5
|
var initialState = {
|
|
7
6
|
firebase: {
|
|
8
7
|
initialized: false,
|
|
@@ -26,16 +25,9 @@ var useTernSecure = (hookname) => {
|
|
|
26
25
|
}
|
|
27
26
|
return context;
|
|
28
27
|
};
|
|
29
|
-
|
|
30
|
-
// src/app-router/client/providers/ternSecureClientProvider.tsx
|
|
31
|
-
import { jsx } from "react/jsx-runtime";
|
|
32
28
|
function TernSecureClientProvider({ children }) {
|
|
33
29
|
const stateAndUpdater = useState(initialState);
|
|
34
30
|
return /* @__PURE__ */ jsx(TernSecureContext.Provider, { value: stateAndUpdater, children });
|
|
35
31
|
}
|
|
36
32
|
|
|
37
|
-
export {
|
|
38
|
-
TernSecureContext,
|
|
39
|
-
useTernSecure,
|
|
40
|
-
TernSecureClientProvider
|
|
41
|
-
};
|
|
33
|
+
export { TernSecureClientProvider, TernSecureContext, useTernSecure };
|
package/dist/index.cjs
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React3 = require('react');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var app$1 = require('firebase/app');
|
|
6
|
+
var auth$1 = require('firebase/auth');
|
|
7
|
+
var firestore$1 = require('firebase/firestore');
|
|
8
|
+
var storage$1 = require('firebase/storage');
|
|
9
|
+
var dynamic = require('next/dynamic');
|
|
10
|
+
|
|
11
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
|
|
13
|
+
var React3__default = /*#__PURE__*/_interopDefault(React3);
|
|
14
|
+
var dynamic__default = /*#__PURE__*/_interopDefault(dynamic);
|
|
15
|
+
|
|
3
16
|
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
17
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
18
|
var __esm = (fn, res) => function __init() {
|
|
9
19
|
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
10
20
|
};
|
|
@@ -12,31 +22,10 @@ var __export = (target, all) => {
|
|
|
12
22
|
for (var name in all)
|
|
13
23
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
24
|
};
|
|
15
|
-
var
|
|
16
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
-
for (let key of __getOwnPropNames(from))
|
|
18
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
19
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
20
|
-
}
|
|
21
|
-
return to;
|
|
22
|
-
};
|
|
23
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
24
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
25
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
26
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
27
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
28
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
29
|
-
mod
|
|
30
|
-
));
|
|
31
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
32
|
-
|
|
33
|
-
// src/app-router/client/providers/ternSecureContext.tsx
|
|
34
|
-
var import_react, initialState, TernSecureContext, useTernSecure;
|
|
25
|
+
var initialState; exports.TernSecureContext = void 0; exports.useTernSecure = void 0;
|
|
35
26
|
var init_ternSecureContext = __esm({
|
|
36
27
|
"src/app-router/client/providers/ternSecureContext.tsx"() {
|
|
37
|
-
"use strict";
|
|
38
28
|
"use client";
|
|
39
|
-
import_react = __toESM(require("react"), 1);
|
|
40
29
|
initialState = {
|
|
41
30
|
firebase: {
|
|
42
31
|
initialized: false,
|
|
@@ -49,10 +38,10 @@ var init_ternSecureContext = __esm({
|
|
|
49
38
|
isSignedIn: false
|
|
50
39
|
}
|
|
51
40
|
};
|
|
52
|
-
TernSecureContext =
|
|
41
|
+
exports.TernSecureContext = React3__default.default.createContext([initialState, () => {
|
|
53
42
|
}]);
|
|
54
|
-
useTernSecure = (hookname) => {
|
|
55
|
-
const context =
|
|
43
|
+
exports.useTernSecure = (hookname) => {
|
|
44
|
+
const context = React3__default.default.useContext(exports.TernSecureContext);
|
|
56
45
|
if (!context) {
|
|
57
46
|
throw new Error(
|
|
58
47
|
`${hookname} must be used within TernSecureProvider`
|
|
@@ -69,44 +58,16 @@ __export(ternSecureClientProvider_exports, {
|
|
|
69
58
|
TernSecureClientProvider: () => TernSecureClientProvider
|
|
70
59
|
});
|
|
71
60
|
function TernSecureClientProvider({ children }) {
|
|
72
|
-
const stateAndUpdater =
|
|
73
|
-
return /* @__PURE__ */
|
|
61
|
+
const stateAndUpdater = React3.useState(initialState);
|
|
62
|
+
return /* @__PURE__ */ jsxRuntime.jsx(exports.TernSecureContext.Provider, { value: stateAndUpdater, children });
|
|
74
63
|
}
|
|
75
|
-
var import_react2, import_jsx_runtime;
|
|
76
64
|
var init_ternSecureClientProvider = __esm({
|
|
77
65
|
"src/app-router/client/providers/ternSecureClientProvider.tsx"() {
|
|
78
|
-
"use strict";
|
|
79
66
|
"use client";
|
|
80
|
-
import_react2 = require("react");
|
|
81
67
|
init_ternSecureContext();
|
|
82
|
-
import_jsx_runtime = require("react/jsx-runtime");
|
|
83
68
|
}
|
|
84
69
|
});
|
|
85
70
|
|
|
86
|
-
// src/index.ts
|
|
87
|
-
var src_exports = {};
|
|
88
|
-
__export(src_exports, {
|
|
89
|
-
SignIn: () => SignIn,
|
|
90
|
-
TernSecureAuth: () => TernSecureAuth,
|
|
91
|
-
TernSecureClientProvider: () => TernSecureClientProvider,
|
|
92
|
-
TernSecureContext: () => TernSecureContext,
|
|
93
|
-
TernSecureFirestore: () => TernSecureFirestore,
|
|
94
|
-
TernSecureProvider: () => TernSecureProvider,
|
|
95
|
-
TernSecureStorage: () => TernSecureStorage,
|
|
96
|
-
loadFireConfig: () => loadFireConfig,
|
|
97
|
-
signInWithEmail: () => signInWithEmail,
|
|
98
|
-
useAuth: () => useAuth,
|
|
99
|
-
useTernSecure: () => useTernSecure,
|
|
100
|
-
validateConfig: () => validateConfig
|
|
101
|
-
});
|
|
102
|
-
module.exports = __toCommonJS(src_exports);
|
|
103
|
-
|
|
104
|
-
// src/app-router/client/client-init.ts
|
|
105
|
-
var import_app = require("firebase/app");
|
|
106
|
-
var import_auth = require("firebase/auth");
|
|
107
|
-
var import_firestore = require("firebase/firestore");
|
|
108
|
-
var import_storage = require("firebase/storage");
|
|
109
|
-
|
|
110
71
|
// src/app-router/client/config.ts
|
|
111
72
|
var loadFireConfig = () => ({
|
|
112
73
|
apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
|
|
@@ -129,35 +90,27 @@ var validateConfig = (config) => {
|
|
|
129
90
|
// src/app-router/client/client-init.ts
|
|
130
91
|
var app = (() => {
|
|
131
92
|
const config = validateConfig(loadFireConfig());
|
|
132
|
-
return
|
|
93
|
+
return app$1.getApps().length ? app$1.getApps()[0] : app$1.initializeApp(config);
|
|
133
94
|
})();
|
|
134
|
-
var auth =
|
|
135
|
-
|
|
136
|
-
var firestore =
|
|
137
|
-
var storage =
|
|
95
|
+
var auth = auth$1.getAuth(app);
|
|
96
|
+
auth$1.setPersistence(auth, auth$1.browserSessionPersistence);
|
|
97
|
+
var firestore = firestore$1.getFirestore(app);
|
|
98
|
+
var storage = storage$1.getStorage(app);
|
|
138
99
|
var TernSecureAuth = () => auth;
|
|
139
100
|
var TernSecureFirestore = () => firestore;
|
|
140
101
|
var TernSecureStorage = () => storage;
|
|
141
|
-
|
|
142
|
-
// src/app-router/client/auth.ts
|
|
143
|
-
var import_auth2 = require("firebase/auth");
|
|
144
102
|
async function signInWithEmail({
|
|
145
103
|
email,
|
|
146
104
|
password
|
|
147
105
|
}) {
|
|
148
106
|
const auth2 = TernSecureAuth();
|
|
149
|
-
return
|
|
107
|
+
return auth$1.signInWithEmailAndPassword(auth2, email, password);
|
|
150
108
|
}
|
|
151
109
|
|
|
152
110
|
// src/app-router/client/index.ts
|
|
153
111
|
init_ternSecureContext();
|
|
154
112
|
init_ternSecureClientProvider();
|
|
155
|
-
|
|
156
|
-
// src/app-router/server/providers/TernSecureServerProvider.tsx
|
|
157
|
-
var import_react3 = __toESM(require("react"), 1);
|
|
158
|
-
var import_dynamic = __toESM(require("next/dynamic"), 1);
|
|
159
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
160
|
-
var TernSecureClientProvider2 = (0, import_dynamic.default)(
|
|
113
|
+
var TernSecureClientProvider2 = dynamic__default.default(
|
|
161
114
|
() => Promise.resolve().then(() => (init_ternSecureClientProvider(), ternSecureClientProvider_exports)).then((mod) => mod.TernSecureClientProvider),
|
|
162
115
|
{
|
|
163
116
|
ssr: false
|
|
@@ -165,22 +118,22 @@ var TernSecureClientProvider2 = (0, import_dynamic.default)(
|
|
|
165
118
|
}
|
|
166
119
|
);
|
|
167
120
|
function TernSecureProvider({ children }) {
|
|
168
|
-
const isRootLayout =
|
|
169
|
-
(child) =>
|
|
121
|
+
const isRootLayout = React3__default.default.Children.toArray(children).some(
|
|
122
|
+
(child) => React3__default.default.isValidElement(child) && child.type === "html"
|
|
170
123
|
);
|
|
171
124
|
if (isRootLayout) {
|
|
172
|
-
return
|
|
173
|
-
if (
|
|
174
|
-
return
|
|
125
|
+
return React3__default.default.Children.map(children, (child) => {
|
|
126
|
+
if (React3__default.default.isValidElement(child) && child.type === "html") {
|
|
127
|
+
return React3__default.default.cloneElement(
|
|
175
128
|
child,
|
|
176
129
|
{},
|
|
177
|
-
|
|
178
|
-
if (
|
|
130
|
+
React3__default.default.Children.map(child.props.children, (bodyChild) => {
|
|
131
|
+
if (React3__default.default.isValidElement(bodyChild) && bodyChild.type === "body") {
|
|
179
132
|
const bodyProps = bodyChild.props;
|
|
180
|
-
return
|
|
133
|
+
return React3__default.default.cloneElement(
|
|
181
134
|
bodyChild,
|
|
182
135
|
{},
|
|
183
|
-
/* @__PURE__ */
|
|
136
|
+
/* @__PURE__ */ jsxRuntime.jsx(TernSecureClientProvider2, { children: bodyProps.children })
|
|
184
137
|
);
|
|
185
138
|
}
|
|
186
139
|
return bodyChild;
|
|
@@ -190,14 +143,11 @@ function TernSecureProvider({ children }) {
|
|
|
190
143
|
return child;
|
|
191
144
|
});
|
|
192
145
|
}
|
|
193
|
-
return /* @__PURE__ */
|
|
146
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TernSecureClientProvider2, { children });
|
|
194
147
|
}
|
|
195
|
-
|
|
196
|
-
// src/hooks/useAuth.ts
|
|
197
|
-
var import_react4 = require("react");
|
|
198
148
|
function useAuth() {
|
|
199
|
-
const [state, setState] = useTernSecure("useAuth");
|
|
200
|
-
|
|
149
|
+
const [state, setState] = exports.useTernSecure("useAuth");
|
|
150
|
+
React3.useEffect(() => {
|
|
201
151
|
try {
|
|
202
152
|
const auth2 = TernSecureAuth();
|
|
203
153
|
setState((prev) => ({
|
|
@@ -251,9 +201,6 @@ function useAuth() {
|
|
|
251
201
|
return state.auth;
|
|
252
202
|
}
|
|
253
203
|
|
|
254
|
-
// src/components/sign-in.tsx
|
|
255
|
-
var import_react5 = require("react");
|
|
256
|
-
|
|
257
204
|
// src/utils/create-styles.ts
|
|
258
205
|
var PREFIX = "tern";
|
|
259
206
|
var styleInjection = {
|
|
@@ -371,9 +318,6 @@ var styleConfig = {
|
|
|
371
318
|
}
|
|
372
319
|
};
|
|
373
320
|
var styles = createStyleSheet(styleConfig);
|
|
374
|
-
|
|
375
|
-
// src/components/sign-in.tsx
|
|
376
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
377
321
|
function SignIn({
|
|
378
322
|
onSuccess,
|
|
379
323
|
onError,
|
|
@@ -382,10 +326,10 @@ function SignIn({
|
|
|
382
326
|
style,
|
|
383
327
|
customStyles = {}
|
|
384
328
|
}) {
|
|
385
|
-
const [email, setEmail] =
|
|
386
|
-
const [password, setPassword] =
|
|
387
|
-
const [loading, setLoading] =
|
|
388
|
-
const [error, setError] =
|
|
329
|
+
const [email, setEmail] = React3.useState("");
|
|
330
|
+
const [password, setPassword] = React3.useState("");
|
|
331
|
+
const [loading, setLoading] = React3.useState(false);
|
|
332
|
+
const [error, setError] = React3.useState("");
|
|
389
333
|
const handleSubmit = async (e) => {
|
|
390
334
|
e.preventDefault();
|
|
391
335
|
setLoading(true);
|
|
@@ -404,9 +348,9 @@ function SignIn({
|
|
|
404
348
|
setLoading(false);
|
|
405
349
|
}
|
|
406
350
|
};
|
|
407
|
-
return /* @__PURE__ */
|
|
408
|
-
/* @__PURE__ */
|
|
409
|
-
/* @__PURE__ */
|
|
351
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles.container} ${customStyles.container || ""}`, style, children: [
|
|
352
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.header} ${customStyles.header || ""}`, children: /* @__PURE__ */ jsxRuntime.jsx("h2", { className: `${styles.title} ${customStyles.title || ""}`, children: "Sign in to your account" }) }),
|
|
353
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.formWrapper} ${customStyles.formWrapper || ""}`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles.formContainer} ${customStyles.formContainer || ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
410
354
|
"form",
|
|
411
355
|
{
|
|
412
356
|
onSubmit: handleSubmit,
|
|
@@ -414,7 +358,7 @@ function SignIn({
|
|
|
414
358
|
role: "form",
|
|
415
359
|
"aria-label": "Sign in form",
|
|
416
360
|
children: [
|
|
417
|
-
error && /* @__PURE__ */
|
|
361
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
418
362
|
"div",
|
|
419
363
|
{
|
|
420
364
|
className: `${styles.error} ${customStyles.errorText || ""}`,
|
|
@@ -423,9 +367,9 @@ function SignIn({
|
|
|
423
367
|
children: error
|
|
424
368
|
}
|
|
425
369
|
),
|
|
426
|
-
/* @__PURE__ */
|
|
427
|
-
/* @__PURE__ */
|
|
428
|
-
/* @__PURE__ */
|
|
370
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
371
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: "email", className: `${styles.label} ${customStyles.label || ""}`, children: "Email" }),
|
|
372
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
429
373
|
"input",
|
|
430
374
|
{
|
|
431
375
|
id: "email",
|
|
@@ -441,9 +385,9 @@ function SignIn({
|
|
|
441
385
|
}
|
|
442
386
|
)
|
|
443
387
|
] }),
|
|
444
|
-
/* @__PURE__ */
|
|
445
|
-
/* @__PURE__ */
|
|
446
|
-
/* @__PURE__ */
|
|
388
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
389
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: "password", className: `${styles.label} ${customStyles.label || ""}`, children: "Password" }),
|
|
390
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
447
391
|
"input",
|
|
448
392
|
{
|
|
449
393
|
id: "password",
|
|
@@ -459,7 +403,7 @@ function SignIn({
|
|
|
459
403
|
}
|
|
460
404
|
)
|
|
461
405
|
] }),
|
|
462
|
-
/* @__PURE__ */
|
|
406
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
463
407
|
"button",
|
|
464
408
|
{
|
|
465
409
|
type: "submit",
|
|
@@ -474,18 +418,14 @@ function SignIn({
|
|
|
474
418
|
) }) })
|
|
475
419
|
] });
|
|
476
420
|
}
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
useAuth,
|
|
489
|
-
useTernSecure,
|
|
490
|
-
validateConfig
|
|
491
|
-
});
|
|
421
|
+
|
|
422
|
+
exports.SignIn = SignIn;
|
|
423
|
+
exports.TernSecureAuth = TernSecureAuth;
|
|
424
|
+
exports.TernSecureClientProvider = TernSecureClientProvider;
|
|
425
|
+
exports.TernSecureFirestore = TernSecureFirestore;
|
|
426
|
+
exports.TernSecureProvider = TernSecureProvider;
|
|
427
|
+
exports.TernSecureStorage = TernSecureStorage;
|
|
428
|
+
exports.loadFireConfig = loadFireConfig;
|
|
429
|
+
exports.signInWithEmail = signInWithEmail;
|
|
430
|
+
exports.useAuth = useAuth;
|
|
431
|
+
exports.validateConfig = validateConfig;
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} from
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import { getFirestore } from "firebase/firestore";
|
|
11
|
-
import { getStorage } from "firebase/storage";
|
|
1
|
+
import { useTernSecure } from './chunk-AHVNPKXU.js';
|
|
2
|
+
export { TernSecureClientProvider, TernSecureContext, useTernSecure } from './chunk-AHVNPKXU.js';
|
|
3
|
+
import { getApps, initializeApp } from 'firebase/app';
|
|
4
|
+
import { getAuth, setPersistence, browserSessionPersistence, signInWithEmailAndPassword } from 'firebase/auth';
|
|
5
|
+
import { getFirestore } from 'firebase/firestore';
|
|
6
|
+
import { getStorage } from 'firebase/storage';
|
|
7
|
+
import React, { useEffect, useState } from 'react';
|
|
8
|
+
import dynamic from 'next/dynamic';
|
|
9
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
12
10
|
|
|
13
11
|
// src/app-router/client/config.ts
|
|
14
12
|
var loadFireConfig = () => ({
|
|
@@ -41,9 +39,6 @@ var storage = getStorage(app);
|
|
|
41
39
|
var TernSecureAuth = () => auth;
|
|
42
40
|
var TernSecureFirestore = () => firestore;
|
|
43
41
|
var TernSecureStorage = () => storage;
|
|
44
|
-
|
|
45
|
-
// src/app-router/client/auth.ts
|
|
46
|
-
import { signInWithEmailAndPassword } from "firebase/auth";
|
|
47
42
|
async function signInWithEmail({
|
|
48
43
|
email,
|
|
49
44
|
password
|
|
@@ -51,13 +46,8 @@ async function signInWithEmail({
|
|
|
51
46
|
const auth2 = TernSecureAuth();
|
|
52
47
|
return signInWithEmailAndPassword(auth2, email, password);
|
|
53
48
|
}
|
|
54
|
-
|
|
55
|
-
// src/app-router/server/providers/TernSecureServerProvider.tsx
|
|
56
|
-
import React from "react";
|
|
57
|
-
import dynamic from "next/dynamic";
|
|
58
|
-
import { jsx } from "react/jsx-runtime";
|
|
59
49
|
var TernSecureClientProvider2 = dynamic(
|
|
60
|
-
() => import(
|
|
50
|
+
() => import('./ternSecureClientProvider-P663N3F7.js').then((mod) => mod.TernSecureClientProvider),
|
|
61
51
|
{
|
|
62
52
|
ssr: false
|
|
63
53
|
//loading: () => null // Return null or a loading indicator
|
|
@@ -91,9 +81,6 @@ function TernSecureProvider({ children }) {
|
|
|
91
81
|
}
|
|
92
82
|
return /* @__PURE__ */ jsx(TernSecureClientProvider2, { children });
|
|
93
83
|
}
|
|
94
|
-
|
|
95
|
-
// src/hooks/useAuth.ts
|
|
96
|
-
import { useEffect } from "react";
|
|
97
84
|
function useAuth() {
|
|
98
85
|
const [state, setState] = useTernSecure("useAuth");
|
|
99
86
|
useEffect(() => {
|
|
@@ -150,9 +137,6 @@ function useAuth() {
|
|
|
150
137
|
return state.auth;
|
|
151
138
|
}
|
|
152
139
|
|
|
153
|
-
// src/components/sign-in.tsx
|
|
154
|
-
import { useState } from "react";
|
|
155
|
-
|
|
156
140
|
// src/utils/create-styles.ts
|
|
157
141
|
var PREFIX = "tern";
|
|
158
142
|
var styleInjection = {
|
|
@@ -270,9 +254,6 @@ var styleConfig = {
|
|
|
270
254
|
}
|
|
271
255
|
};
|
|
272
256
|
var styles = createStyleSheet(styleConfig);
|
|
273
|
-
|
|
274
|
-
// src/components/sign-in.tsx
|
|
275
|
-
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
276
257
|
function SignIn({
|
|
277
258
|
onSuccess,
|
|
278
259
|
onError,
|
|
@@ -304,8 +285,8 @@ function SignIn({
|
|
|
304
285
|
}
|
|
305
286
|
};
|
|
306
287
|
return /* @__PURE__ */ jsxs("div", { className: `${styles.container} ${customStyles.container || ""}`, style, children: [
|
|
307
|
-
/* @__PURE__ */
|
|
308
|
-
/* @__PURE__ */
|
|
288
|
+
/* @__PURE__ */ jsx("div", { className: `${styles.header} ${customStyles.header || ""}`, children: /* @__PURE__ */ jsx("h2", { className: `${styles.title} ${customStyles.title || ""}`, children: "Sign in to your account" }) }),
|
|
289
|
+
/* @__PURE__ */ jsx("div", { className: `${styles.formWrapper} ${customStyles.formWrapper || ""}`, children: /* @__PURE__ */ jsx("div", { className: `${styles.formContainer} ${customStyles.formContainer || ""}`, children: /* @__PURE__ */ jsxs(
|
|
309
290
|
"form",
|
|
310
291
|
{
|
|
311
292
|
onSubmit: handleSubmit,
|
|
@@ -313,7 +294,7 @@ function SignIn({
|
|
|
313
294
|
role: "form",
|
|
314
295
|
"aria-label": "Sign in form",
|
|
315
296
|
children: [
|
|
316
|
-
error && /* @__PURE__ */
|
|
297
|
+
error && /* @__PURE__ */ jsx(
|
|
317
298
|
"div",
|
|
318
299
|
{
|
|
319
300
|
className: `${styles.error} ${customStyles.errorText || ""}`,
|
|
@@ -323,8 +304,8 @@ function SignIn({
|
|
|
323
304
|
}
|
|
324
305
|
),
|
|
325
306
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
326
|
-
/* @__PURE__ */
|
|
327
|
-
/* @__PURE__ */
|
|
307
|
+
/* @__PURE__ */ jsx("label", { htmlFor: "email", className: `${styles.label} ${customStyles.label || ""}`, children: "Email" }),
|
|
308
|
+
/* @__PURE__ */ jsx(
|
|
328
309
|
"input",
|
|
329
310
|
{
|
|
330
311
|
id: "email",
|
|
@@ -341,8 +322,8 @@ function SignIn({
|
|
|
341
322
|
)
|
|
342
323
|
] }),
|
|
343
324
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
344
|
-
/* @__PURE__ */
|
|
345
|
-
/* @__PURE__ */
|
|
325
|
+
/* @__PURE__ */ jsx("label", { htmlFor: "password", className: `${styles.label} ${customStyles.label || ""}`, children: "Password" }),
|
|
326
|
+
/* @__PURE__ */ jsx(
|
|
346
327
|
"input",
|
|
347
328
|
{
|
|
348
329
|
id: "password",
|
|
@@ -358,7 +339,7 @@ function SignIn({
|
|
|
358
339
|
}
|
|
359
340
|
)
|
|
360
341
|
] }),
|
|
361
|
-
/* @__PURE__ */
|
|
342
|
+
/* @__PURE__ */ jsx(
|
|
362
343
|
"button",
|
|
363
344
|
{
|
|
364
345
|
type: "submit",
|
|
@@ -373,17 +354,5 @@ function SignIn({
|
|
|
373
354
|
) }) })
|
|
374
355
|
] });
|
|
375
356
|
}
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
TernSecureAuth,
|
|
379
|
-
TernSecureClientProvider,
|
|
380
|
-
TernSecureContext,
|
|
381
|
-
TernSecureFirestore,
|
|
382
|
-
TernSecureProvider,
|
|
383
|
-
TernSecureStorage,
|
|
384
|
-
loadFireConfig,
|
|
385
|
-
signInWithEmail,
|
|
386
|
-
useAuth,
|
|
387
|
-
useTernSecure,
|
|
388
|
-
validateConfig
|
|
389
|
-
};
|
|
357
|
+
|
|
358
|
+
export { SignIn, TernSecureAuth, TernSecureFirestore, TernSecureProvider, TernSecureStorage, loadFireConfig, signInWithEmail, useAuth, validateConfig };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tern-secure/nextjs",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.24",
|
|
4
4
|
"packageManager": "npm@10.9.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"module": "./dist/index.mjs",
|
|
20
20
|
"types": "./dist/index.d.ts",
|
|
21
21
|
"scripts": {
|
|
22
|
-
"build": "tsup src/index.ts --format cjs,esm --dts",
|
|
22
|
+
"build": "tsup src/index.ts --format cjs,esm --dts --treeshake --clean --env.NODE_ENV production",
|
|
23
23
|
"dev": "tsup src/index.ts --format cjs,esm --dts --watch",
|
|
24
24
|
"clean": "rimraf dist",
|
|
25
25
|
"lint": "eslint \"src/**/*.{ts,tsx}\"",
|
|
@@ -93,18 +93,13 @@
|
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
"exports": {
|
|
96
|
-
"
|
|
97
|
-
"types": "./dist/
|
|
96
|
+
"./client": {
|
|
97
|
+
"types": "./dist/index.d.ts",
|
|
98
98
|
"import": "./dist/esm/index.js",
|
|
99
99
|
"require": "./dist/cjs/index.js"
|
|
100
100
|
},
|
|
101
101
|
"./server": {
|
|
102
|
-
"types": "./dist/
|
|
103
|
-
"import": "./dist/esm/index.js",
|
|
104
|
-
"require": "./dist/cjs/index.js"
|
|
105
|
-
},
|
|
106
|
-
"./client": {
|
|
107
|
-
"types": "./dist/esm/index.d.ts",
|
|
102
|
+
"types": "./dist/index.d.ts",
|
|
108
103
|
"import": "./dist/esm/index.js",
|
|
109
104
|
"require": "./dist/cjs/index.js"
|
|
110
105
|
}
|
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}"]}
|
package/dist/chunk-WR6O4YMW.cjs
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
|
|
6
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
-
|
|
8
|
-
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
9
|
-
|
|
10
|
-
/* eslint-disable */
|
|
11
|
-
|
|
12
|
-
var initialState = {
|
|
13
|
-
firebase: {
|
|
14
|
-
initialized: false,
|
|
15
|
-
error: null
|
|
16
|
-
},
|
|
17
|
-
auth: {
|
|
18
|
-
user: null,
|
|
19
|
-
loading: true,
|
|
20
|
-
error: null,
|
|
21
|
-
isSignedIn: false
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
var TernSecureContext = React__default.default.createContext([initialState, () => {
|
|
25
|
-
}]);
|
|
26
|
-
var useTernSecure = (hookname) => {
|
|
27
|
-
const context = React__default.default.useContext(TernSecureContext);
|
|
28
|
-
if (!context) {
|
|
29
|
-
throw new Error(
|
|
30
|
-
`${hookname} must be used within TernSecureProvider`
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
return context;
|
|
34
|
-
};
|
|
35
|
-
function TernSecureClientProvider({ children }) {
|
|
36
|
-
const stateAndUpdater = React.useState(initialState);
|
|
37
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TernSecureContext.Provider, { value: stateAndUpdater, children });
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
exports.TernSecureClientProvider = TernSecureClientProvider;
|
|
41
|
-
exports.TernSecureContext = TernSecureContext;
|
|
42
|
-
exports.useTernSecure = useTernSecure;
|
|
43
|
-
//# sourceMappingURL=chunk-WR6O4YMW.cjs.map
|
|
44
|
-
//# sourceMappingURL=chunk-WR6O4YMW.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/app-router/client/providers/ternSecureContext.tsx","../src/app-router/client/providers/ternSecureClientProvider.tsx"],"names":["React","useState"],"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,GAAAA,sBAAA,CAAM,aAAwF,CAAA,CAAC,cAAc,MAAM;AAAC,CAAC,CAAC;AAE1I,IAAA,aAAA,GAAgB,CAAC,QAAsB,KAAA;AAC3C,EAAM,MAAA,OAAA,GAAUA,sBAAM,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,GAAkBC,eAAS,YAAY,CAAA;AAE7C,EAAA,sCACG,iBAAkB,CAAA,QAAA,EAAlB,EAA2B,KAAA,EAAO,iBAChC,QACH,EAAA,CAAA;AAEJ","file":"chunk-WR6O4YMW.cjs","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}"]}
|