@tonycodes/auth-react 1.1.1 → 1.2.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.
- package/.github/workflows/publish.yml +33 -0
- package/LICENSE +21 -0
- package/dist/AuthProvider.js +1 -1
- package/dist/AuthProvider.js.map +1 -1
- package/dist/SignInForm.d.ts +6 -1
- package/dist/SignInForm.d.ts.map +1 -1
- package/dist/SignInForm.js +141 -16
- package/dist/SignInForm.js.map +1 -1
- package/dist/types.d.ts +0 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -5
- package/src/AuthProvider.tsx +1 -1
- package/src/SignInForm.tsx +211 -90
- package/src/types.ts +0 -5
- package/dist/style.css +0 -1
- package/src/style.css +0 -1
- package/tailwind.config.js +0 -7
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
name: Publish to npm
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
publish:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
id-token: write
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout
|
|
16
|
+
uses: actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- name: Setup Node.js
|
|
19
|
+
uses: actions/setup-node@v4
|
|
20
|
+
with:
|
|
21
|
+
node-version: '20'
|
|
22
|
+
registry-url: 'https://registry.npmjs.org'
|
|
23
|
+
|
|
24
|
+
- name: Install dependencies
|
|
25
|
+
run: npm ci
|
|
26
|
+
|
|
27
|
+
- name: Build
|
|
28
|
+
run: npm run build
|
|
29
|
+
|
|
30
|
+
- name: Publish to npm
|
|
31
|
+
run: npm publish --provenance --access public
|
|
32
|
+
env:
|
|
33
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Tony
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/AuthProvider.js
CHANGED
|
@@ -264,7 +264,7 @@ export function AuthProvider({ config, children }) {
|
|
|
264
264
|
return refreshToken();
|
|
265
265
|
}, [accessToken, refreshToken]);
|
|
266
266
|
const value = {
|
|
267
|
-
isAuthenticated: !!accessToken &&
|
|
267
|
+
isAuthenticated: !!accessToken && !!organization,
|
|
268
268
|
isLoading: isLoading || !resolved,
|
|
269
269
|
user,
|
|
270
270
|
organization,
|
package/dist/AuthProvider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../src/AuthProvider.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../src/AuthProvider.tsx"],"names":[],"mappings":"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"}
|
package/dist/SignInForm.d.ts
CHANGED
|
@@ -4,8 +4,13 @@ interface SignInFormProps {
|
|
|
4
4
|
providers?: SSOProvider[];
|
|
5
5
|
/** Whether to automatically fetch providers from the auth service. Defaults to true. */
|
|
6
6
|
autoFetch?: boolean;
|
|
7
|
+
/** Color theme. Defaults to 'auto' (follows prefers-color-scheme). */
|
|
8
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
9
|
+
/** Optional inline styles applied to the root container. */
|
|
10
|
+
style?: React.CSSProperties;
|
|
11
|
+
/** Optional CSS class applied to the root container. */
|
|
7
12
|
className?: string;
|
|
8
13
|
}
|
|
9
|
-
export declare function SignInForm({ providers: propProviders, autoFetch, className }: SignInFormProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function SignInForm({ providers: propProviders, autoFetch, theme, style, className, }: SignInFormProps): import("react/jsx-runtime").JSX.Element;
|
|
10
15
|
export {};
|
|
11
16
|
//# sourceMappingURL=SignInForm.d.ts.map
|
package/dist/SignInForm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignInForm.d.ts","sourceRoot":"","sources":["../src/SignInForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"SignInForm.d.ts","sourceRoot":"","sources":["../src/SignInForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAwJnE,UAAU,eAAe;IACvB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,wFAAwF;IACxF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,SAAS,EAAE,aAAa,EACxB,SAAgB,EAChB,KAAc,EACd,KAAK,EACL,SAAS,GACV,EAAE,eAAe,2CAqJjB"}
|
package/dist/SignInForm.js
CHANGED
|
@@ -8,16 +8,133 @@ const ERROR_MESSAGES = {
|
|
|
8
8
|
missing_code: 'Authorization failed. Please try again.',
|
|
9
9
|
invalid_state: 'Session expired. Please try again.',
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
// ─── Inline Styles ───────────────────────────────────────────────────────
|
|
12
|
+
const styles = {
|
|
13
|
+
tabContainer: (isDark) => ({
|
|
14
|
+
display: 'flex',
|
|
15
|
+
gap: '4px',
|
|
16
|
+
padding: '4px',
|
|
17
|
+
backgroundColor: isDark ? '#1f2937' : '#f4f4f5',
|
|
18
|
+
borderRadius: '12px',
|
|
19
|
+
marginBottom: '24px',
|
|
20
|
+
}),
|
|
21
|
+
tab: (isActive, isDark) => ({
|
|
22
|
+
flex: 1,
|
|
23
|
+
padding: '8px 0',
|
|
24
|
+
fontSize: '14px',
|
|
25
|
+
fontWeight: 500,
|
|
26
|
+
borderRadius: '8px',
|
|
27
|
+
textAlign: 'center',
|
|
28
|
+
cursor: 'pointer',
|
|
29
|
+
transition: 'background-color 0.15s, color 0.15s',
|
|
30
|
+
border: 'none',
|
|
31
|
+
backgroundColor: isActive
|
|
32
|
+
? (isDark ? '#374151' : '#ffffff')
|
|
33
|
+
: 'transparent',
|
|
34
|
+
color: isActive
|
|
35
|
+
? (isDark ? '#f9fafb' : '#18181b')
|
|
36
|
+
: (isDark ? '#9ca3af' : '#71717a'),
|
|
37
|
+
boxShadow: isActive ? '0 1px 2px rgba(0,0,0,0.05)' : 'none',
|
|
38
|
+
}),
|
|
39
|
+
error: (isDark) => ({
|
|
40
|
+
marginBottom: '16px',
|
|
41
|
+
padding: '12px',
|
|
42
|
+
borderRadius: '8px',
|
|
43
|
+
backgroundColor: isDark ? 'rgba(239,68,68,0.15)' : '#fef2f2',
|
|
44
|
+
border: `1px solid ${isDark ? 'rgba(239,68,68,0.3)' : '#fecaca'}`,
|
|
45
|
+
color: isDark ? '#fca5a5' : '#b91c1c',
|
|
46
|
+
fontSize: '14px',
|
|
47
|
+
}),
|
|
48
|
+
buttonGroup: {
|
|
49
|
+
display: 'flex',
|
|
50
|
+
flexDirection: 'column',
|
|
51
|
+
gap: '12px',
|
|
52
|
+
},
|
|
53
|
+
buttonBase: {
|
|
54
|
+
width: '100%',
|
|
55
|
+
display: 'flex',
|
|
56
|
+
alignItems: 'center',
|
|
57
|
+
justifyContent: 'center',
|
|
58
|
+
gap: '12px',
|
|
59
|
+
padding: '12px 24px',
|
|
60
|
+
fontWeight: 500,
|
|
61
|
+
fontSize: '15px',
|
|
62
|
+
borderRadius: '12px',
|
|
63
|
+
cursor: 'pointer',
|
|
64
|
+
border: 'none',
|
|
65
|
+
transition: 'opacity 0.15s',
|
|
66
|
+
fontFamily: 'inherit',
|
|
67
|
+
},
|
|
68
|
+
githubBtn: (isDark) => ({
|
|
69
|
+
backgroundColor: isDark ? '#ffffff' : '#18181b',
|
|
70
|
+
color: isDark ? '#18181b' : '#ffffff',
|
|
71
|
+
}),
|
|
72
|
+
googleBtn: (isDark) => ({
|
|
73
|
+
backgroundColor: isDark ? '#1f2937' : '#ffffff',
|
|
74
|
+
color: isDark ? '#e5e7eb' : '#18181b',
|
|
75
|
+
border: `1px solid ${isDark ? '#374151' : '#d4d4d8'}`,
|
|
76
|
+
}),
|
|
77
|
+
appleBtn: {
|
|
78
|
+
backgroundColor: '#000000',
|
|
79
|
+
color: '#ffffff',
|
|
80
|
+
},
|
|
81
|
+
bitbucketBtn: {
|
|
82
|
+
backgroundColor: '#2563eb',
|
|
83
|
+
color: '#ffffff',
|
|
84
|
+
},
|
|
85
|
+
spinner: (isDark) => ({
|
|
86
|
+
width: '20px',
|
|
87
|
+
height: '20px',
|
|
88
|
+
border: `2px solid ${isDark ? '#374151' : '#d4d4d8'}`,
|
|
89
|
+
borderTopColor: isDark ? '#9ca3af' : '#52525b',
|
|
90
|
+
borderRadius: '50%',
|
|
91
|
+
animation: 'tonycodes-auth-spin 0.6s linear infinite',
|
|
92
|
+
margin: '16px auto',
|
|
93
|
+
}),
|
|
94
|
+
terms: (isDark) => ({
|
|
95
|
+
marginTop: '24px',
|
|
96
|
+
textAlign: 'center',
|
|
97
|
+
fontSize: '12px',
|
|
98
|
+
color: isDark ? '#6b7280' : '#a1a1aa',
|
|
99
|
+
}),
|
|
100
|
+
};
|
|
101
|
+
// ─── Provider Icons (inline SVG) ─────────────────────────────────────────
|
|
102
|
+
function GithubIcon() {
|
|
103
|
+
return (_jsx("svg", { viewBox: "0 0 24 24", width: "20", height: "20", fill: "currentColor", children: _jsx("path", { d: "M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0 1 12 6.844a9.59 9.59 0 0 1 2.504.337c1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.02 10.02 0 0 0 22 12.017C22 6.484 17.522 2 12 2z" }) }));
|
|
104
|
+
}
|
|
105
|
+
function GoogleIcon() {
|
|
106
|
+
return (_jsxs("svg", { viewBox: "0 0 24 24", width: "20", height: "20", children: [_jsx("path", { fill: "#4285F4", d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" }), _jsx("path", { fill: "#34A853", d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" }), _jsx("path", { fill: "#FBBC05", d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" }), _jsx("path", { fill: "#EA4335", d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" })] }));
|
|
107
|
+
}
|
|
108
|
+
function AppleIcon() {
|
|
109
|
+
return (_jsx("svg", { viewBox: "0 0 24 24", width: "20", height: "20", fill: "currentColor", children: _jsx("path", { d: "M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z" }) }));
|
|
110
|
+
}
|
|
111
|
+
function BitbucketIcon() {
|
|
112
|
+
return (_jsx("svg", { viewBox: "0 0 24 24", width: "20", height: "20", fill: "currentColor", children: _jsx("path", { d: "M.778 1.213a.768.768 0 0 0-.768.892l3.263 19.81c.084.5.515.868 1.022.873H19.95a.772.772 0 0 0 .77-.646l3.27-20.03a.768.768 0 0 0-.768-.891L.778 1.213zM14.52 15.53H9.522L8.17 8.466h7.561l-1.211 7.064z" }) }));
|
|
113
|
+
}
|
|
114
|
+
export function SignInForm({ providers: propProviders, autoFetch = true, theme = 'auto', style, className, }) {
|
|
16
115
|
const config = useAuthConfig();
|
|
17
116
|
const { providers: fetchedProviders, isLoading: providersLoading } = useProviders();
|
|
18
117
|
const [activeTab, setActiveTab] = useState('signin');
|
|
19
118
|
const [errorMessage, setErrorMessage] = useState(null);
|
|
20
119
|
const [returnTo, setReturnTo] = useState('/');
|
|
120
|
+
const [isDark, setIsDark] = useState(false);
|
|
121
|
+
// Resolve theme
|
|
122
|
+
useEffect(() => {
|
|
123
|
+
if (theme === 'dark') {
|
|
124
|
+
setIsDark(true);
|
|
125
|
+
}
|
|
126
|
+
else if (theme === 'light') {
|
|
127
|
+
setIsDark(false);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// auto — check prefers-color-scheme
|
|
131
|
+
const mq = window.matchMedia('(prefers-color-scheme: dark)');
|
|
132
|
+
setIsDark(mq.matches);
|
|
133
|
+
const handler = (e) => setIsDark(e.matches);
|
|
134
|
+
mq.addEventListener('change', handler);
|
|
135
|
+
return () => mq.removeEventListener('change', handler);
|
|
136
|
+
}
|
|
137
|
+
}, [theme]);
|
|
21
138
|
// Use prop providers if explicitly provided, otherwise use fetched providers
|
|
22
139
|
const enabledProviders = propProviders
|
|
23
140
|
? propProviders
|
|
@@ -57,23 +174,31 @@ export function SignInForm({ providers: propProviders, autoFetch = true, classNa
|
|
|
57
174
|
setActiveTab(tab);
|
|
58
175
|
setErrorMessage(null);
|
|
59
176
|
}
|
|
60
|
-
|
|
61
|
-
const
|
|
62
|
-
return [
|
|
63
|
-
'flex-1 py-2 text-sm font-medium rounded-lg text-center cursor-pointer transition-colors',
|
|
64
|
-
isActive ? 'bg-white text-zinc-900 shadow-sm' : 'text-zinc-500 hover:text-zinc-700',
|
|
65
|
-
].join(' ');
|
|
66
|
-
}
|
|
67
|
-
const buttonText = (provider) => {
|
|
68
|
-
const providerNames = {
|
|
177
|
+
const providerName = (id) => {
|
|
178
|
+
const names = {
|
|
69
179
|
github: 'GitHub',
|
|
70
180
|
google: 'Google',
|
|
71
181
|
apple: 'Apple',
|
|
72
182
|
bitbucket: 'Bitbucket',
|
|
73
183
|
};
|
|
74
|
-
|
|
184
|
+
return names[id] || id;
|
|
185
|
+
};
|
|
186
|
+
const buttonText = (provider) => {
|
|
187
|
+
const name = providerName(provider);
|
|
75
188
|
return activeTab === 'signin' ? `Sign in with ${name}` : `Sign up with ${name}`;
|
|
76
189
|
};
|
|
77
|
-
|
|
190
|
+
const providerStyles = {
|
|
191
|
+
github: { ...styles.buttonBase, ...styles.githubBtn(isDark) },
|
|
192
|
+
google: { ...styles.buttonBase, ...styles.googleBtn(isDark) },
|
|
193
|
+
apple: { ...styles.buttonBase, ...styles.appleBtn },
|
|
194
|
+
bitbucket: { ...styles.buttonBase, ...styles.bitbucketBtn },
|
|
195
|
+
};
|
|
196
|
+
const providerIcons = {
|
|
197
|
+
github: _jsx(GithubIcon, {}),
|
|
198
|
+
google: _jsx(GoogleIcon, {}),
|
|
199
|
+
apple: _jsx(AppleIcon, {}),
|
|
200
|
+
bitbucket: _jsx(BitbucketIcon, {}),
|
|
201
|
+
};
|
|
202
|
+
return (_jsxs("div", { className: className, style: style, children: [_jsx("style", { children: `@keyframes tonycodes-auth-spin { to { transform: rotate(360deg) } }` }), _jsxs("div", { style: styles.tabContainer(isDark), children: [_jsx("button", { type: "button", style: styles.tab(activeTab === 'signin', isDark), onClick: () => switchTab('signin'), children: "Sign In" }), _jsx("button", { type: "button", style: styles.tab(activeTab === 'signup', isDark), onClick: () => switchTab('signup'), children: "Sign Up" })] }), errorMessage && (_jsx("div", { style: styles.error(isDark), children: errorMessage })), autoFetch && !propProviders && providersLoading ? (_jsx("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'center', padding: '16px 0' }, children: _jsx("div", { style: styles.spinner(isDark) }) })) : (_jsx("div", { style: styles.buttonGroup, children: enabledProviders.map((id) => (_jsxs("button", { type: "button", style: providerStyles[id] || styles.buttonBase, onClick: () => handleOAuth(id), onMouseEnter: (e) => { e.currentTarget.style.opacity = '0.9'; }, onMouseLeave: (e) => { e.currentTarget.style.opacity = '1'; }, children: [providerIcons[id], _jsx("span", { children: buttonText(id) })] }, id))) })), _jsx("p", { style: styles.terms(isDark), children: "By continuing, you agree to our terms of service." })] }));
|
|
78
203
|
}
|
|
79
204
|
//# sourceMappingURL=SignInForm.js.map
|
package/dist/SignInForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignInForm.js","sourceRoot":"","sources":["../src/SignInForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAoB,MAAM,mBAAmB,CAAC;AAInE,MAAM,cAAc,GAA2B;IAC7C,iBAAiB,EAAE,0DAA0D;IAC7E,YAAY,EAAE,wDAAwD;IACtE,YAAY,EAAE,yCAAyC;IACvD,aAAa,EAAE,oCAAoC;CACpD,CAAC;AAEF,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"SignInForm.js","sourceRoot":"","sources":["../src/SignInForm.tsx"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -12,11 +12,6 @@ export interface AuthConfig {
|
|
|
12
12
|
* Auto-discovered from server or defaults to appUrl.
|
|
13
13
|
*/
|
|
14
14
|
apiUrl?: string;
|
|
15
|
-
/**
|
|
16
|
-
* Whether to require an organization for the user to be considered authenticated.
|
|
17
|
-
* Defaults to true. Set to false for single-user apps without org context.
|
|
18
|
-
*/
|
|
19
|
-
requireOrg?: boolean;
|
|
20
15
|
}
|
|
21
16
|
/** Resolved config with all URLs populated (after discovery) */
|
|
22
17
|
export interface ResolvedAuthConfig {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,gEAAgE;AAChE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;CACxB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tonycodes/auth-react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "React SDK for Tony Auth service",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/tonycodes/auth-react"
|
|
8
|
+
},
|
|
5
9
|
"type": "module",
|
|
6
10
|
"main": "dist/index.js",
|
|
7
11
|
"types": "dist/index.d.ts",
|
|
@@ -9,11 +13,10 @@
|
|
|
9
13
|
".": {
|
|
10
14
|
"import": "./dist/index.js",
|
|
11
15
|
"types": "./dist/index.d.ts"
|
|
12
|
-
}
|
|
13
|
-
"./style.css": "./dist/style.css"
|
|
16
|
+
}
|
|
14
17
|
},
|
|
15
18
|
"scripts": {
|
|
16
|
-
"build": "tsc
|
|
19
|
+
"build": "tsc",
|
|
17
20
|
"dev": "tsc --watch"
|
|
18
21
|
},
|
|
19
22
|
"peerDependencies": {
|
|
@@ -22,7 +25,6 @@
|
|
|
22
25
|
},
|
|
23
26
|
"devDependencies": {
|
|
24
27
|
"@types/react": "^18.2.47",
|
|
25
|
-
"tailwindcss": "^3.4.19",
|
|
26
28
|
"typescript": "^5.3.3"
|
|
27
29
|
}
|
|
28
30
|
}
|
package/src/AuthProvider.tsx
CHANGED
|
@@ -293,7 +293,7 @@ export function AuthProvider({ config, children }: AuthProviderProps) {
|
|
|
293
293
|
}, [accessToken, refreshToken]);
|
|
294
294
|
|
|
295
295
|
const value: AuthState = {
|
|
296
|
-
isAuthenticated: !!accessToken &&
|
|
296
|
+
isAuthenticated: !!accessToken && !!organization,
|
|
297
297
|
isLoading: isLoading || !resolved,
|
|
298
298
|
user,
|
|
299
299
|
organization,
|
package/src/SignInForm.tsx
CHANGED
|
@@ -11,47 +11,189 @@ const ERROR_MESSAGES: Record<string, string> = {
|
|
|
11
11
|
invalid_state: 'Session expired. Please try again.',
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
14
|
+
// ─── Inline Styles ───────────────────────────────────────────────────────
|
|
15
|
+
|
|
16
|
+
const styles = {
|
|
17
|
+
tabContainer: (isDark: boolean) => ({
|
|
18
|
+
display: 'flex',
|
|
19
|
+
gap: '4px',
|
|
20
|
+
padding: '4px',
|
|
21
|
+
backgroundColor: isDark ? '#1f2937' : '#f4f4f5',
|
|
22
|
+
borderRadius: '12px',
|
|
23
|
+
marginBottom: '24px',
|
|
24
|
+
} as React.CSSProperties),
|
|
25
|
+
|
|
26
|
+
tab: (isActive: boolean, isDark: boolean) => ({
|
|
27
|
+
flex: 1,
|
|
28
|
+
padding: '8px 0',
|
|
29
|
+
fontSize: '14px',
|
|
30
|
+
fontWeight: 500,
|
|
31
|
+
borderRadius: '8px',
|
|
32
|
+
textAlign: 'center' as const,
|
|
33
|
+
cursor: 'pointer',
|
|
34
|
+
transition: 'background-color 0.15s, color 0.15s',
|
|
35
|
+
border: 'none',
|
|
36
|
+
backgroundColor: isActive
|
|
37
|
+
? (isDark ? '#374151' : '#ffffff')
|
|
38
|
+
: 'transparent',
|
|
39
|
+
color: isActive
|
|
40
|
+
? (isDark ? '#f9fafb' : '#18181b')
|
|
41
|
+
: (isDark ? '#9ca3af' : '#71717a'),
|
|
42
|
+
boxShadow: isActive ? '0 1px 2px rgba(0,0,0,0.05)' : 'none',
|
|
43
|
+
} as React.CSSProperties),
|
|
44
|
+
|
|
45
|
+
error: (isDark: boolean) => ({
|
|
46
|
+
marginBottom: '16px',
|
|
47
|
+
padding: '12px',
|
|
48
|
+
borderRadius: '8px',
|
|
49
|
+
backgroundColor: isDark ? 'rgba(239,68,68,0.15)' : '#fef2f2',
|
|
50
|
+
border: `1px solid ${isDark ? 'rgba(239,68,68,0.3)' : '#fecaca'}`,
|
|
51
|
+
color: isDark ? '#fca5a5' : '#b91c1c',
|
|
52
|
+
fontSize: '14px',
|
|
53
|
+
} as React.CSSProperties),
|
|
54
|
+
|
|
55
|
+
buttonGroup: {
|
|
56
|
+
display: 'flex',
|
|
57
|
+
flexDirection: 'column' as const,
|
|
58
|
+
gap: '12px',
|
|
59
|
+
} as React.CSSProperties,
|
|
60
|
+
|
|
61
|
+
buttonBase: {
|
|
62
|
+
width: '100%',
|
|
63
|
+
display: 'flex',
|
|
64
|
+
alignItems: 'center',
|
|
65
|
+
justifyContent: 'center',
|
|
66
|
+
gap: '12px',
|
|
67
|
+
padding: '12px 24px',
|
|
68
|
+
fontWeight: 500,
|
|
69
|
+
fontSize: '15px',
|
|
70
|
+
borderRadius: '12px',
|
|
71
|
+
cursor: 'pointer',
|
|
72
|
+
border: 'none',
|
|
73
|
+
transition: 'opacity 0.15s',
|
|
74
|
+
fontFamily: 'inherit',
|
|
75
|
+
} as React.CSSProperties,
|
|
76
|
+
|
|
77
|
+
githubBtn: (isDark: boolean) => ({
|
|
78
|
+
backgroundColor: isDark ? '#ffffff' : '#18181b',
|
|
79
|
+
color: isDark ? '#18181b' : '#ffffff',
|
|
80
|
+
} as React.CSSProperties),
|
|
81
|
+
|
|
82
|
+
googleBtn: (isDark: boolean) => ({
|
|
83
|
+
backgroundColor: isDark ? '#1f2937' : '#ffffff',
|
|
84
|
+
color: isDark ? '#e5e7eb' : '#18181b',
|
|
85
|
+
border: `1px solid ${isDark ? '#374151' : '#d4d4d8'}`,
|
|
86
|
+
} as React.CSSProperties),
|
|
87
|
+
|
|
88
|
+
appleBtn: {
|
|
89
|
+
backgroundColor: '#000000',
|
|
90
|
+
color: '#ffffff',
|
|
91
|
+
} as React.CSSProperties,
|
|
92
|
+
|
|
93
|
+
bitbucketBtn: {
|
|
94
|
+
backgroundColor: '#2563eb',
|
|
95
|
+
color: '#ffffff',
|
|
96
|
+
} as React.CSSProperties,
|
|
97
|
+
|
|
98
|
+
spinner: (isDark: boolean) => ({
|
|
99
|
+
width: '20px',
|
|
100
|
+
height: '20px',
|
|
101
|
+
border: `2px solid ${isDark ? '#374151' : '#d4d4d8'}`,
|
|
102
|
+
borderTopColor: isDark ? '#9ca3af' : '#52525b',
|
|
103
|
+
borderRadius: '50%',
|
|
104
|
+
animation: 'tonycodes-auth-spin 0.6s linear infinite',
|
|
105
|
+
margin: '16px auto',
|
|
106
|
+
} as React.CSSProperties),
|
|
107
|
+
|
|
108
|
+
terms: (isDark: boolean) => ({
|
|
109
|
+
marginTop: '24px',
|
|
110
|
+
textAlign: 'center' as const,
|
|
111
|
+
fontSize: '12px',
|
|
112
|
+
color: isDark ? '#6b7280' : '#a1a1aa',
|
|
113
|
+
} as React.CSSProperties),
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
// ─── Provider Icons (inline SVG) ─────────────────────────────────────────
|
|
117
|
+
|
|
118
|
+
function GithubIcon() {
|
|
119
|
+
return (
|
|
120
|
+
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor">
|
|
121
|
+
<path d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0 1 12 6.844a9.59 9.59 0 0 1 2.504.337c1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.02 10.02 0 0 0 22 12.017C22 6.484 17.522 2 12 2z" />
|
|
122
|
+
</svg>
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function GoogleIcon() {
|
|
127
|
+
return (
|
|
128
|
+
<svg viewBox="0 0 24 24" width="20" height="20">
|
|
129
|
+
<path fill="#4285F4" d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" />
|
|
130
|
+
<path fill="#34A853" d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" />
|
|
131
|
+
<path fill="#FBBC05" d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" />
|
|
132
|
+
<path fill="#EA4335" d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" />
|
|
133
|
+
</svg>
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function AppleIcon() {
|
|
138
|
+
return (
|
|
139
|
+
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor">
|
|
140
|
+
<path d="M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z" />
|
|
141
|
+
</svg>
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
function BitbucketIcon() {
|
|
146
|
+
return (
|
|
147
|
+
<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor">
|
|
148
|
+
<path d="M.778 1.213a.768.768 0 0 0-.768.892l3.263 19.81c.084.5.515.868 1.022.873H19.95a.772.772 0 0 0 .77-.646l3.27-20.03a.768.768 0 0 0-.768-.891L.778 1.213zM14.52 15.53H9.522L8.17 8.466h7.561l-1.211 7.064z" />
|
|
149
|
+
</svg>
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// ─── Component ────────────────────────────────────────────────────────────
|
|
40
154
|
|
|
41
155
|
interface SignInFormProps {
|
|
42
156
|
/** List of provider IDs to show (for manual control). Overrides autoFetch when provided. */
|
|
43
157
|
providers?: SSOProvider[];
|
|
44
158
|
/** Whether to automatically fetch providers from the auth service. Defaults to true. */
|
|
45
159
|
autoFetch?: boolean;
|
|
160
|
+
/** Color theme. Defaults to 'auto' (follows prefers-color-scheme). */
|
|
161
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
162
|
+
/** Optional inline styles applied to the root container. */
|
|
163
|
+
style?: React.CSSProperties;
|
|
164
|
+
/** Optional CSS class applied to the root container. */
|
|
46
165
|
className?: string;
|
|
47
166
|
}
|
|
48
167
|
|
|
49
|
-
export function SignInForm({
|
|
168
|
+
export function SignInForm({
|
|
169
|
+
providers: propProviders,
|
|
170
|
+
autoFetch = true,
|
|
171
|
+
theme = 'auto',
|
|
172
|
+
style,
|
|
173
|
+
className,
|
|
174
|
+
}: SignInFormProps) {
|
|
50
175
|
const config = useAuthConfig();
|
|
51
176
|
const { providers: fetchedProviders, isLoading: providersLoading } = useProviders();
|
|
52
177
|
const [activeTab, setActiveTab] = useState<Mode>('signin');
|
|
53
178
|
const [errorMessage, setErrorMessage] = useState<string | null>(null);
|
|
54
179
|
const [returnTo, setReturnTo] = useState('/');
|
|
180
|
+
const [isDark, setIsDark] = useState(false);
|
|
181
|
+
|
|
182
|
+
// Resolve theme
|
|
183
|
+
useEffect(() => {
|
|
184
|
+
if (theme === 'dark') {
|
|
185
|
+
setIsDark(true);
|
|
186
|
+
} else if (theme === 'light') {
|
|
187
|
+
setIsDark(false);
|
|
188
|
+
} else {
|
|
189
|
+
// auto — check prefers-color-scheme
|
|
190
|
+
const mq = window.matchMedia('(prefers-color-scheme: dark)');
|
|
191
|
+
setIsDark(mq.matches);
|
|
192
|
+
const handler = (e: MediaQueryListEvent) => setIsDark(e.matches);
|
|
193
|
+
mq.addEventListener('change', handler);
|
|
194
|
+
return () => mq.removeEventListener('change', handler);
|
|
195
|
+
}
|
|
196
|
+
}, [theme]);
|
|
55
197
|
|
|
56
198
|
// Use prop providers if explicitly provided, otherwise use fetched providers
|
|
57
199
|
const enabledProviders: SSOProvider[] = propProviders
|
|
@@ -98,103 +240,82 @@ export function SignInForm({ providers: propProviders, autoFetch = true, classNa
|
|
|
98
240
|
setErrorMessage(null);
|
|
99
241
|
}
|
|
100
242
|
|
|
101
|
-
|
|
102
|
-
const
|
|
103
|
-
return [
|
|
104
|
-
'flex-1 py-2 text-sm font-medium rounded-lg text-center cursor-pointer transition-colors',
|
|
105
|
-
isActive ? 'bg-white text-zinc-900 shadow-sm' : 'text-zinc-500 hover:text-zinc-700',
|
|
106
|
-
].join(' ');
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
const buttonText = (provider: string) => {
|
|
110
|
-
const providerNames: Record<string, string> = {
|
|
243
|
+
const providerName = (id: string) => {
|
|
244
|
+
const names: Record<string, string> = {
|
|
111
245
|
github: 'GitHub',
|
|
112
246
|
google: 'Google',
|
|
113
247
|
apple: 'Apple',
|
|
114
248
|
bitbucket: 'Bitbucket',
|
|
115
249
|
};
|
|
116
|
-
|
|
250
|
+
return names[id] || id;
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
const buttonText = (provider: string) => {
|
|
254
|
+
const name = providerName(provider);
|
|
117
255
|
return activeTab === 'signin' ? `Sign in with ${name}` : `Sign up with ${name}`;
|
|
118
256
|
};
|
|
119
257
|
|
|
258
|
+
const providerStyles: Record<string, React.CSSProperties> = {
|
|
259
|
+
github: { ...styles.buttonBase, ...styles.githubBtn(isDark) },
|
|
260
|
+
google: { ...styles.buttonBase, ...styles.googleBtn(isDark) },
|
|
261
|
+
apple: { ...styles.buttonBase, ...styles.appleBtn },
|
|
262
|
+
bitbucket: { ...styles.buttonBase, ...styles.bitbucketBtn },
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
const providerIcons: Record<string, React.ReactNode> = {
|
|
266
|
+
github: <GithubIcon />,
|
|
267
|
+
google: <GoogleIcon />,
|
|
268
|
+
apple: <AppleIcon />,
|
|
269
|
+
bitbucket: <BitbucketIcon />,
|
|
270
|
+
};
|
|
271
|
+
|
|
120
272
|
return (
|
|
121
|
-
<div className={className
|
|
273
|
+
<div className={className} style={style}>
|
|
274
|
+
{/* Inject keyframe animation */}
|
|
275
|
+
<style>{`@keyframes tonycodes-auth-spin { to { transform: rotate(360deg) } }`}</style>
|
|
276
|
+
|
|
122
277
|
{/* Tab toggle */}
|
|
123
|
-
<div
|
|
124
|
-
<button type="button"
|
|
278
|
+
<div style={styles.tabContainer(isDark)}>
|
|
279
|
+
<button type="button" style={styles.tab(activeTab === 'signin', isDark)} onClick={() => switchTab('signin')}>
|
|
125
280
|
Sign In
|
|
126
281
|
</button>
|
|
127
|
-
<button type="button"
|
|
282
|
+
<button type="button" style={styles.tab(activeTab === 'signup', isDark)} onClick={() => switchTab('signup')}>
|
|
128
283
|
Sign Up
|
|
129
284
|
</button>
|
|
130
285
|
</div>
|
|
131
286
|
|
|
132
287
|
{/* Error message */}
|
|
133
288
|
{errorMessage && (
|
|
134
|
-
<div
|
|
289
|
+
<div style={styles.error(isDark)}>
|
|
135
290
|
{errorMessage}
|
|
136
291
|
</div>
|
|
137
292
|
)}
|
|
138
293
|
|
|
139
294
|
{/* Loading state */}
|
|
140
295
|
{autoFetch && !propProviders && providersLoading ? (
|
|
141
|
-
<div
|
|
142
|
-
<div
|
|
296
|
+
<div style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', padding: '16px 0' }}>
|
|
297
|
+
<div style={styles.spinner(isDark)} />
|
|
143
298
|
</div>
|
|
144
299
|
) : (
|
|
145
|
-
<div
|
|
146
|
-
{
|
|
147
|
-
{enabledProviders.includes('github') && (
|
|
148
|
-
<button
|
|
149
|
-
type="button"
|
|
150
|
-
className="w-full flex items-center justify-center gap-3 px-6 py-3 bg-zinc-900 text-white font-medium rounded-xl hover:bg-zinc-800 transition-colors cursor-pointer"
|
|
151
|
-
onClick={() => handleOAuth('github')}
|
|
152
|
-
>
|
|
153
|
-
{GITHUB_ICON}
|
|
154
|
-
<span>{buttonText('github')}</span>
|
|
155
|
-
</button>
|
|
156
|
-
)}
|
|
157
|
-
|
|
158
|
-
{/* Google */}
|
|
159
|
-
{enabledProviders.includes('google') && (
|
|
160
|
-
<button
|
|
161
|
-
type="button"
|
|
162
|
-
className="w-full flex items-center justify-center gap-3 px-6 py-3 bg-white text-zinc-900 font-medium rounded-xl border border-zinc-300 hover:bg-zinc-50 transition-colors cursor-pointer"
|
|
163
|
-
onClick={() => handleOAuth('google')}
|
|
164
|
-
>
|
|
165
|
-
{GOOGLE_ICON}
|
|
166
|
-
<span>{buttonText('google')}</span>
|
|
167
|
-
</button>
|
|
168
|
-
)}
|
|
169
|
-
|
|
170
|
-
{/* Apple */}
|
|
171
|
-
{enabledProviders.includes('apple') && (
|
|
172
|
-
<button
|
|
173
|
-
type="button"
|
|
174
|
-
className="w-full flex items-center justify-center gap-3 px-6 py-3 bg-black text-white font-medium rounded-xl hover:bg-zinc-900 transition-colors cursor-pointer"
|
|
175
|
-
onClick={() => handleOAuth('apple')}
|
|
176
|
-
>
|
|
177
|
-
{APPLE_ICON}
|
|
178
|
-
<span>{buttonText('apple')}</span>
|
|
179
|
-
</button>
|
|
180
|
-
)}
|
|
181
|
-
|
|
182
|
-
{/* Bitbucket */}
|
|
183
|
-
{enabledProviders.includes('bitbucket') && (
|
|
300
|
+
<div style={styles.buttonGroup}>
|
|
301
|
+
{enabledProviders.map((id) => (
|
|
184
302
|
<button
|
|
303
|
+
key={id}
|
|
185
304
|
type="button"
|
|
186
|
-
|
|
187
|
-
onClick={() => handleOAuth(
|
|
305
|
+
style={providerStyles[id] || styles.buttonBase}
|
|
306
|
+
onClick={() => handleOAuth(id)}
|
|
307
|
+
onMouseEnter={(e) => { (e.currentTarget as HTMLElement).style.opacity = '0.9'; }}
|
|
308
|
+
onMouseLeave={(e) => { (e.currentTarget as HTMLElement).style.opacity = '1'; }}
|
|
188
309
|
>
|
|
189
|
-
{
|
|
190
|
-
<span>{buttonText(
|
|
310
|
+
{providerIcons[id]}
|
|
311
|
+
<span>{buttonText(id)}</span>
|
|
191
312
|
</button>
|
|
192
|
-
)}
|
|
313
|
+
))}
|
|
193
314
|
</div>
|
|
194
315
|
)}
|
|
195
316
|
|
|
196
317
|
{/* Terms */}
|
|
197
|
-
<p
|
|
318
|
+
<p style={styles.terms(isDark)}>
|
|
198
319
|
By continuing, you agree to our terms of service.
|
|
199
320
|
</p>
|
|
200
321
|
</div>
|
package/src/types.ts
CHANGED
|
@@ -12,11 +12,6 @@ export interface AuthConfig {
|
|
|
12
12
|
* Auto-discovered from server or defaults to appUrl.
|
|
13
13
|
*/
|
|
14
14
|
apiUrl?: string;
|
|
15
|
-
/**
|
|
16
|
-
* Whether to require an organization for the user to be considered authenticated.
|
|
17
|
-
* Defaults to true. Set to false for single-user apps without org context.
|
|
18
|
-
*/
|
|
19
|
-
requireOrg?: boolean;
|
|
20
15
|
}
|
|
21
16
|
|
|
22
17
|
/** Resolved config with all URLs populated (after discovery) */
|
package/dist/style.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.top-full{top:100%}.z-50{z-index:50}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-6{margin-top:1.5rem}.flex{display:flex}.h-4{height:1rem}.h-5{height:1.25rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity,1))}.border-t-zinc-600{--tw-border-opacity:1;border-top-color:rgb(82 82 91/var(--tw-border-opacity,1))}.bg-black{background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black,.bg-blue-50{--tw-bg-opacity:1}.bg-blue-50{background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-red-50{background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50,.bg-white{--tw-bg-opacity:1}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.p-1{padding:.25rem}.p-3{padding:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.hover\:bg-zinc-800:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.hover\:bg-zinc-900:hover{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}@media (prefers-color-scheme:dark){.dark\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:bg-blue-900\/20{background-color:rgba(30,58,138,.2)}.dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}}
|
package/src/style.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@tailwind utilities;
|