@tern-secure/nextjs 3.0.8 → 3.0.9
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 +1 -0
- package/dist/app-router/client/auth.d.ts.map +1 -0
- package/dist/app-router/client/client-init.d.ts +1 -0
- package/dist/app-router/client/client-init.d.ts.map +1 -0
- package/dist/app-router/client/config.d.ts +1 -0
- package/dist/app-router/client/config.d.ts.map +1 -0
- package/dist/app-router/client/index.d.ts +1 -0
- package/dist/app-router/client/index.d.ts.map +1 -0
- package/dist/app-router/client/index.js +106 -1
- package/dist/app-router/client/index.js.map +7 -0
- package/dist/app-router/client/providers/ternSecureClientProvider.d.ts +1 -0
- package/dist/app-router/client/providers/ternSecureClientProvider.d.ts.map +1 -0
- package/dist/app-router/client/providers/ternSecureContext.d.ts +1 -0
- package/dist/app-router/client/providers/ternSecureContext.d.ts.map +1 -0
- package/dist/app-router/server/index.d.ts +1 -0
- package/dist/app-router/server/index.d.ts.map +1 -0
- package/dist/app-router/server/index.js +112 -1
- package/dist/app-router/server/index.js.map +7 -0
- package/dist/app-router/server/providers/TernSecureServerProvider.d.ts +1 -0
- package/dist/app-router/server/providers/TernSecureServerProvider.d.ts.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +295 -1
- package/dist/components/index.js.map +7 -0
- package/dist/components/sign-in.d.ts +1 -0
- package/dist/components/sign-in.d.ts.map +1 -0
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +133 -1
- package/dist/hooks/index.js.map +7 -0
- package/dist/hooks/useAuth.d.ts +1 -0
- package/dist/hooks/useAuth.d.ts.map +1 -0
- package/dist/index.cjs.js +506 -2
- package/dist/index.cjs.js.map +7 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +464 -1
- package/dist/index.js.map +7 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +7 -0
- package/dist/utils/create-styles.d.ts +1 -0
- package/dist/utils/create-styles.d.ts.map +1 -0
- package/dist/utils/create-styles.js +125 -1
- package/dist/utils/create-styles.js.map +7 -0
- package/package.json +1 -1
- package/dist/chunk-2ENCFXUN.js +0 -1
- package/dist/chunk-2NA7K5TN.js +0 -2
- package/dist/chunk-64G22XTD.js +0 -1
- package/dist/chunk-ASFHFC2I.js +0 -1
- package/dist/chunk-DLMCL4UP.js +0 -1
- package/dist/chunk-LHW3RBUN.js +0 -1
- package/dist/ternSecureClientProvider-IGH5T42M.js +0 -1
|
@@ -1 +1,125 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/utils/create-styles.ts
|
|
4
|
+
var PREFIX = "tern";
|
|
5
|
+
var styleInjection = {
|
|
6
|
+
isInjected: false,
|
|
7
|
+
styleElement: null
|
|
8
|
+
};
|
|
9
|
+
var defaultClassNames = {
|
|
10
|
+
container: `${PREFIX}-container`,
|
|
11
|
+
header: `${PREFIX}-header`,
|
|
12
|
+
title: `${PREFIX}-title`,
|
|
13
|
+
formWrapper: `${PREFIX}-formWrapper`,
|
|
14
|
+
formContainer: `${PREFIX}-formContainer`,
|
|
15
|
+
form: `${PREFIX}-form`,
|
|
16
|
+
label: `${PREFIX}-label`,
|
|
17
|
+
input: `${PREFIX}-input`,
|
|
18
|
+
button: `${PREFIX}-button`,
|
|
19
|
+
error: `${PREFIX}-error`
|
|
20
|
+
};
|
|
21
|
+
function createStyleSheet(styles2) {
|
|
22
|
+
if (typeof window === "undefined") return defaultClassNames;
|
|
23
|
+
if (styleInjection.isInjected) {
|
|
24
|
+
return defaultClassNames;
|
|
25
|
+
}
|
|
26
|
+
let styleElement = document.querySelector("[data-tern-secure]");
|
|
27
|
+
if (!styleElement) {
|
|
28
|
+
styleElement = document.createElement("style");
|
|
29
|
+
styleElement.setAttribute("data-tern-secure", "");
|
|
30
|
+
document.head.appendChild(styleElement);
|
|
31
|
+
styleInjection.styleElement = styleElement;
|
|
32
|
+
}
|
|
33
|
+
const cssRules = Object.entries(styles2).map(([key, rules]) => {
|
|
34
|
+
const className = defaultClassNames[key];
|
|
35
|
+
const cssProperties = Object.entries(rules).map(([prop, value]) => {
|
|
36
|
+
const cssProperty = prop.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
37
|
+
return `${cssProperty}: ${value};`;
|
|
38
|
+
}).join(" ");
|
|
39
|
+
return `.${className} { ${cssProperties} }`;
|
|
40
|
+
}).join("\n");
|
|
41
|
+
styleElement.textContent = cssRules;
|
|
42
|
+
styleInjection.isInjected = true;
|
|
43
|
+
return defaultClassNames;
|
|
44
|
+
}
|
|
45
|
+
var styleConfig = {
|
|
46
|
+
container: {
|
|
47
|
+
display: "flex",
|
|
48
|
+
minHeight: "100%",
|
|
49
|
+
flex: "1",
|
|
50
|
+
flexDirection: "column",
|
|
51
|
+
justifyContent: "center",
|
|
52
|
+
padding: "3rem 1.5rem"
|
|
53
|
+
},
|
|
54
|
+
header: {
|
|
55
|
+
margin: "0 auto",
|
|
56
|
+
width: "100%",
|
|
57
|
+
maxWidth: "28rem"
|
|
58
|
+
},
|
|
59
|
+
title: {
|
|
60
|
+
marginTop: "1.5rem",
|
|
61
|
+
textAlign: "center",
|
|
62
|
+
fontSize: "1.875rem",
|
|
63
|
+
fontWeight: "700",
|
|
64
|
+
lineHeight: "2.25rem",
|
|
65
|
+
letterSpacing: "-0.025em",
|
|
66
|
+
color: "var(--tern-text-primary, #111827)"
|
|
67
|
+
},
|
|
68
|
+
formWrapper: {
|
|
69
|
+
marginTop: "2.5rem",
|
|
70
|
+
margin: "0 auto",
|
|
71
|
+
width: "100%",
|
|
72
|
+
maxWidth: "30rem"
|
|
73
|
+
},
|
|
74
|
+
formContainer: {
|
|
75
|
+
padding: "3rem 1.5rem",
|
|
76
|
+
boxShadow: "0 1px 3px 0 rgb(0 0 0 / 0.1)",
|
|
77
|
+
borderRadius: "0.5rem",
|
|
78
|
+
backgroundColor: "var(--tern-background, white)"
|
|
79
|
+
},
|
|
80
|
+
form: {
|
|
81
|
+
display: "flex",
|
|
82
|
+
flexDirection: "column",
|
|
83
|
+
gap: "1rem"
|
|
84
|
+
},
|
|
85
|
+
label: {
|
|
86
|
+
display: "block",
|
|
87
|
+
fontSize: "0.875rem",
|
|
88
|
+
fontWeight: "500",
|
|
89
|
+
color: "var(--tern-text-secondary, #374151)"
|
|
90
|
+
},
|
|
91
|
+
input: {
|
|
92
|
+
marginTop: "0.25rem",
|
|
93
|
+
display: "block",
|
|
94
|
+
width: "100%",
|
|
95
|
+
padding: "0.5rem 0.75rem",
|
|
96
|
+
borderRadius: "0.375rem",
|
|
97
|
+
border: "1px solid var(--tern-border, #D1D5DB)",
|
|
98
|
+
backgroundColor: "var(--tern-input-background, white)",
|
|
99
|
+
color: "var(--tern-text-primary, #111827)"
|
|
100
|
+
},
|
|
101
|
+
button: {
|
|
102
|
+
display: "flex",
|
|
103
|
+
width: "100%",
|
|
104
|
+
justifyContent: "center",
|
|
105
|
+
padding: "0.5rem 1rem",
|
|
106
|
+
fontSize: "0.875rem",
|
|
107
|
+
fontWeight: "500",
|
|
108
|
+
color: "white",
|
|
109
|
+
backgroundColor: "var(--tern-primary, #2563EB)",
|
|
110
|
+
border: "none",
|
|
111
|
+
borderRadius: "0.375rem",
|
|
112
|
+
cursor: "pointer"
|
|
113
|
+
},
|
|
114
|
+
error: {
|
|
115
|
+
color: "var(--tern-error, #DC2626)",
|
|
116
|
+
fontSize: "0.875rem"
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
var styles = createStyleSheet(styleConfig);
|
|
120
|
+
export {
|
|
121
|
+
defaultClassNames,
|
|
122
|
+
styleConfig,
|
|
123
|
+
styles
|
|
124
|
+
};
|
|
125
|
+
//# sourceMappingURL=create-styles.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/create-styles.ts"],
|
|
4
|
+
"sourcesContent": ["'use client'\r\n\r\nconst PREFIX = 'tern'\r\n\r\n// Singleton to track style injection\r\nconst styleInjection = {\r\n isInjected: false,\r\n styleElement: null as HTMLStyleElement | null\r\n}\r\n\r\nexport const defaultClassNames = {\r\n container: `${PREFIX}-container`,\r\n header: `${PREFIX}-header`,\r\n title: `${PREFIX}-title`,\r\n formWrapper: `${PREFIX}-formWrapper`,\r\n formContainer: `${PREFIX}-formContainer`,\r\n form: `${PREFIX}-form`,\r\n label: `${PREFIX}-label`,\r\n input: `${PREFIX}-input`,\r\n button: `${PREFIX}-button`,\r\n error: `${PREFIX}-error`\r\n} as const\r\n\r\n// Create styles once and cache them\r\nfunction createStyleSheet(styles: Record<string, React.CSSProperties>) {\r\n if (typeof window === 'undefined') return defaultClassNames\r\n\r\n // Return early if styles are already injected\r\n if (styleInjection.isInjected) {\r\n return defaultClassNames\r\n }\r\n\r\n // Find existing style element or create new one\r\n let styleElement = document.querySelector<HTMLStyleElement>('[data-tern-secure]')\r\n \r\n if (!styleElement) {\r\n styleElement = document.createElement('style')\r\n styleElement.setAttribute('data-tern-secure', '')\r\n document.head.appendChild(styleElement)\r\n styleInjection.styleElement = styleElement\r\n }\r\n\r\n // Create CSS rules\r\n const cssRules = Object.entries(styles).map(([key, rules]) => {\r\n const className = defaultClassNames[key as keyof typeof defaultClassNames]\r\n const cssProperties = Object.entries(rules).map(([prop, value]) => {\r\n const cssProperty = prop.replace(/([A-Z])/g, '-$1').toLowerCase()\r\n return `${cssProperty}: ${value};`\r\n }).join(' ')\r\n\r\n return `.${className} { ${cssProperties} }`\r\n }).join('\\n')\r\n\r\n // Insert styles only once\r\n styleElement.textContent = cssRules\r\n styleInjection.isInjected = true\r\n\r\n return defaultClassNames\r\n}\r\n\r\n// Style configuration\r\nexport const styleConfig = {\r\n container: {\r\n display: 'flex',\r\n minHeight: '100%',\r\n flex: '1',\r\n flexDirection: 'column',\r\n justifyContent: 'center',\r\n padding: '3rem 1.5rem'\r\n },\r\n header: {\r\n margin: '0 auto',\r\n width: '100%',\r\n maxWidth: '28rem'\r\n },\r\n title: {\r\n marginTop: '1.5rem',\r\n textAlign: 'center',\r\n fontSize: '1.875rem',\r\n fontWeight: '700',\r\n lineHeight: '2.25rem',\r\n letterSpacing: '-0.025em',\r\n color: 'var(--tern-text-primary, #111827)'\r\n },\r\n formWrapper: {\r\n marginTop: '2.5rem',\r\n margin: '0 auto',\r\n width: '100%',\r\n maxWidth: '30rem'\r\n },\r\n formContainer: {\r\n padding: '3rem 1.5rem',\r\n boxShadow: '0 1px 3px 0 rgb(0 0 0 / 0.1)',\r\n borderRadius: '0.5rem',\r\n backgroundColor: 'var(--tern-background, white)'\r\n },\r\n form: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n gap: '1rem'\r\n },\r\n label: {\r\n display: 'block',\r\n fontSize: '0.875rem',\r\n fontWeight: '500',\r\n color: 'var(--tern-text-secondary, #374151)'\r\n },\r\n input: {\r\n marginTop: '0.25rem',\r\n display: 'block',\r\n width: '100%',\r\n padding: '0.5rem 0.75rem',\r\n borderRadius: '0.375rem',\r\n border: '1px solid var(--tern-border, #D1D5DB)',\r\n backgroundColor: 'var(--tern-input-background, white)',\r\n color: 'var(--tern-text-primary, #111827)'\r\n },\r\n button: {\r\n display: 'flex',\r\n width: '100%',\r\n justifyContent: 'center',\r\n padding: '0.5rem 1rem',\r\n fontSize: '0.875rem',\r\n fontWeight: '500',\r\n color: 'white',\r\n backgroundColor: 'var(--tern-primary, #2563EB)',\r\n border: 'none',\r\n borderRadius: '0.375rem',\r\n cursor: 'pointer'\r\n },\r\n error: {\r\n color: 'var(--tern-error, #DC2626)',\r\n fontSize: '0.875rem'\r\n }\r\n} as const\r\n\r\n// Export pre-created styles\r\nexport const styles = createStyleSheet(styleConfig)\r\n\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["styles"]
|
|
7
|
+
}
|
package/package.json
CHANGED
package/dist/chunk-2ENCFXUN.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as s}from"./chunk-LHW3RBUN.js";import{b as a}from"./chunk-ASFHFC2I.js";import{useEffect as o}from"react";function l(){let[i,r]=a("useAuth");return o(()=>{try{let t=s();r(e=>({...e,firebase:{initialized:!0,error:null}}));let u=t.onAuthStateChanged(e=>{r(n=>({...n,auth:{user:e,loading:!1,error:null,isSignedIn:!!e}}))},e=>{r(n=>({...n,auth:{user:null,loading:!1,error:e,isSignedIn:!1}}))});return()=>u()}catch(t){r(u=>({...u,firebase:{initialized:!1,error:t},auth:{user:null,loading:!1,error:t,isSignedIn:!1}}))}},[]),i.auth}export{l as a};
|
package/dist/chunk-2NA7K5TN.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e="tern",n={isInjected:!1,styleElement:null},t={container:`${e}-container`,header:`${e}-header`,title:`${e}-title`,formWrapper:`${e}-formWrapper`,formContainer:`${e}-formContainer`,form:`${e}-form`,label:`${e}-label`,input:`${e}-input`,button:`${e}-button`,error:`${e}-error`};function p(o){if(typeof window>"u"||n.isInjected)return t;let r=document.querySelector("[data-tern-secure]");r||(r=document.createElement("style"),r.setAttribute("data-tern-secure",""),document.head.appendChild(r),n.styleElement=r);let i=Object.entries(o).map(([a,l])=>{let s=t[a],c=Object.entries(l).map(([m,d])=>`${m.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${d};`).join(" ");return`.${s} { ${c} }`}).join(`
|
|
2
|
-
`);return r.textContent=i,n.isInjected=!0,t}var u={container:{display:"flex",minHeight:"100%",flex:"1",flexDirection:"column",justifyContent:"center",padding:"3rem 1.5rem"},header:{margin:"0 auto",width:"100%",maxWidth:"28rem"},title:{marginTop:"1.5rem",textAlign:"center",fontSize:"1.875rem",fontWeight:"700",lineHeight:"2.25rem",letterSpacing:"-0.025em",color:"var(--tern-text-primary, #111827)"},formWrapper:{marginTop:"2.5rem",margin:"0 auto",width:"100%",maxWidth:"30rem"},formContainer:{padding:"3rem 1.5rem",boxShadow:"0 1px 3px 0 rgb(0 0 0 / 0.1)",borderRadius:"0.5rem",backgroundColor:"var(--tern-background, white)"},form:{display:"flex",flexDirection:"column",gap:"1rem"},label:{display:"block",fontSize:"0.875rem",fontWeight:"500",color:"var(--tern-text-secondary, #374151)"},input:{marginTop:"0.25rem",display:"block",width:"100%",padding:"0.5rem 0.75rem",borderRadius:"0.375rem",border:"1px solid var(--tern-border, #D1D5DB)",backgroundColor:"var(--tern-input-background, white)",color:"var(--tern-text-primary, #111827)"},button:{display:"flex",width:"100%",justifyContent:"center",padding:"0.5rem 1rem",fontSize:"0.875rem",fontWeight:"500",color:"white",backgroundColor:"var(--tern-primary, #2563EB)",border:"none",borderRadius:"0.375rem",cursor:"pointer"},error:{color:"var(--tern-error, #DC2626)",fontSize:"0.875rem"}},y=p(u);export{t as a,u as b,y as c};
|
package/dist/chunk-64G22XTD.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as f}from"./chunk-LHW3RBUN.js";import{c as r}from"./chunk-2NA7K5TN.js";import{useState as s}from"react";import{jsx as a,jsxs as l}from"react/jsx-runtime";function C({onSuccess:u,onError:v,redirectUrl:d,className:$="",style:b,customStyles:e={}}){let[m,h]=s(""),[p,N]=s(""),[n,g]=s(!1),[t,c]=s(""),E=async i=>{i.preventDefault(),g(!0),c("");try{await f({email:m,password:p}),u?.(),d&&(window.location.href=d)}catch(o){let w=o instanceof Error?o.message:"Failed to sign in";c(w),v?.(o instanceof Error?o:new Error("Failed to sign in"))}finally{g(!1)}};return l("div",{className:`${r.container} ${e.container||""}`,style:b,children:[a("div",{className:`${r.header} ${e.header||""}`,children:a("h2",{className:`${r.title} ${e.title||""}`,children:"Sign in to your account"})}),a("div",{className:`${r.formWrapper} ${e.formWrapper||""}`,children:a("div",{className:`${r.formContainer} ${e.formContainer||""}`,children:l("form",{onSubmit:E,className:`${r.form} ${e.form||""} ${$}`,role:"form","aria-label":"Sign in form",children:[t&&a("div",{className:`${r.error} ${e.errorText||""}`,role:"alert","aria-live":"polite",children:t}),l("div",{children:[a("label",{htmlFor:"email",className:`${r.label} ${e.label||""}`,children:"Email"}),a("input",{id:"email",type:"email",value:m,onChange:i=>h(i.target.value),placeholder:"Enter your email",required:!0,className:`${r.input} ${e.input||""}`,disabled:n,"aria-required":"true","aria-invalid":!!t})]}),l("div",{children:[a("label",{htmlFor:"password",className:`${r.label} ${e.label||""}`,children:"Password"}),a("input",{id:"password",type:"password",value:p,onChange:i=>N(i.target.value),placeholder:"Enter your password",required:!0,className:`${r.input} ${e.input||""}`,disabled:n,"aria-required":"true","aria-invalid":!!t})]}),a("button",{type:"submit",disabled:n,className:`${r.button} ${e.button||""}`,"data-testid":"sign-in-submit",children:n?"Signing in...":"Sign in"})]})})})]})}export{C as a};
|
package/dist/chunk-ASFHFC2I.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useState as u}from"react";import{createContext as i,useContext as o}from"react";var a=()=>i([{firebase:{initialized:!1,error:null},auth:{user:null,loading:!0,error:null,isSignedIn:!1}},()=>{}]),r=a(),s=e=>{let t=o(r);if(!t)throw new Error(`${e} must be used within TernSecureProvider`);return t},n={firebase:{initialized:!1,error:null},auth:{user:null,loading:!0,error:null,isSignedIn:!1}};import{jsx as c}from"react/jsx-runtime";function m({children:e}){let t=u(n);return c(r.Provider,{value:t,children:e})}export{r as a,s as b,m as c};
|
package/dist/chunk-DLMCL4UP.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import r from"react";import u from"next/dynamic";import{jsx as i}from"react/jsx-runtime";var o=u(()=>import("./ternSecureClientProvider-IGH5T42M.js").then(n=>n.TernSecureClientProvider),{loading:()=>null});function c({children:n}){return r.Children.toArray(n).some(e=>r.isValidElement(e)&&e.type==="html")?r.Children.map(n,e=>r.isValidElement(e)&&e.type==="html"?r.cloneElement(e,{},r.Children.map(e.props.children,t=>{if(r.isValidElement(t)&&t.type==="body"){let p=t.props;return r.cloneElement(t,{},i(o,{children:p.children}))}return t})):e):i(o,{children:n})}export{c as a};
|
package/dist/chunk-LHW3RBUN.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{getApps as a,initializeApp as c}from"firebase/app";import{getAuth as E,setPersistence as g,browserSessionPersistence as S}from"firebase/auth";import{getFirestore as I}from"firebase/firestore";import{getStorage as m}from"firebase/storage";var n=(()=>{let e=i(s());return a().length?a()[0]:c(e)})(),p=E(n);g(p,S);var _=I(n),f=m(n),o=()=>p,u=()=>_,C=()=>f;import{signInWithEmailAndPassword as T}from"firebase/auth";async function A({email:e,password:r}){let t=o();return T(t,e,r)}var s=()=>({apiKey:process.env.NEXT_PUBLIC_FIREBASE_API_KEY,authDomain:process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,projectId:process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,storageBucket:process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,messagingSenderId:process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,appId:process.env.NEXT_PUBLIC_FIREBASE_APP_ID,measurementId:process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID}),i=e=>(Object.entries(e).forEach(([r,t])=>{if(!t)throw new Error(`Missing environment variable: NEXT_PUBLIC_FIREBASE_${r.toUpperCase()}`)}),e);export{o as a,u as b,C as c,A as d,s as e,i as f};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client";import{c as a}from"./chunk-ASFHFC2I.js";export{a as TernSecureClientProvider};
|