@auth/core
Advanced tools
Comparing version 0.16.1 to 0.17.0
@@ -26,3 +26,3 @@ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime"; | ||
message: (_jsxs("div", { children: [_jsx("p", { children: "The sign in link is no longer valid." }), _jsx("p", { children: "It may have been used already or it may have expired." })] })), | ||
signin: (_jsx("p", { children: _jsx("a", { className: "button", href: signinPageUrl, children: "Sign in" }) })), | ||
signin: (_jsx("a", { className: "button", href: signinPageUrl, children: "Sign in" })), | ||
}, | ||
@@ -29,0 +29,0 @@ }; |
@@ -15,2 +15,23 @@ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime"; | ||
}; | ||
function hexToRgba(hex, alpha = 1) { | ||
if (!hex) { | ||
return; | ||
} | ||
// Remove the "#" character if it's included | ||
hex = hex.replace(/^#/, ""); | ||
// Expand 3-digit hex codes to their 6-digit equivalents | ||
if (hex.length === 3) { | ||
hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; | ||
} | ||
// Parse the hex value to separate R, G, and B components | ||
const bigint = parseInt(hex, 16); | ||
const r = (bigint >> 16) & 255; | ||
const g = (bigint >> 8) & 255; | ||
const b = bigint & 255; | ||
// Ensure the alpha value is within the valid range [0, 1] | ||
alpha = Math.min(Math.max(alpha, 0), 1); | ||
// Construct the RGBA string | ||
const rgba = `rgba(${r}, ${g}, ${b}, ${alpha})`; | ||
return rgba; | ||
} | ||
export default function SigninPage(props) { | ||
@@ -27,3 +48,3 @@ const { csrfToken, providers = [], callbackUrl, theme, email, error: errorType, } = props; | ||
signinErrors.default); | ||
const logos = "https://authjs.dev/img/providers"; | ||
const providerLogoPath = "https://authjs.dev/img/providers"; | ||
return (_jsxs("div", { className: "signin", children: [theme.brandColor && (_jsx("style", { dangerouslySetInnerHTML: { | ||
@@ -37,15 +58,35 @@ __html: `:root {--brand-color: ${theme.brandColor}}`, | ||
`, | ||
} })), _jsxs("div", { className: "card", children: [error && (_jsx("div", { className: "error", children: _jsx("p", { children: error }) })), providers.map((provider, i) => (_jsxs("div", { className: "provider", children: [provider.type === "oauth" || provider.type === "oidc" ? (_jsxs("form", { action: provider.signinUrl, method: "POST", children: [_jsx("input", { type: "hidden", name: "csrfToken", value: csrfToken }), callbackUrl && (_jsx("input", { type: "hidden", name: "callbackUrl", value: callbackUrl })), _jsxs("button", { type: "submit", className: "button", style: { | ||
"--provider-bg": provider.style?.bg ?? "", | ||
"--provider-dark-bg": provider.style?.bgDark ?? "", | ||
"--provider-color": provider.style?.text ?? "", | ||
"--provider-dark-color": provider.style?.textDark ?? "", | ||
gap: 8, | ||
}, children: [provider.style?.logo && (_jsx("img", { loading: "lazy", height: 24, width: 24, id: "provider-logo", src: `${provider.style.logo.startsWith("/") ? logos : ""}${provider.style.logo}` })), provider.style?.logoDark && (_jsx("img", { loading: "lazy", height: 24, width: 24, id: "provider-logo-dark", src: `${provider.style.logo.startsWith("/") ? logos : ""}${provider.style.logoDark}` })), _jsxs("span", { children: ["Sign in with ", provider.name] })] })] })) : null, (provider.type === "email" || provider.type === "credentials") && | ||
i > 0 && | ||
providers[i - 1].type !== "email" && | ||
providers[i - 1].type !== "credentials" && _jsx("hr", {}), provider.type === "email" && (_jsxs("form", { action: provider.signinUrl, method: "POST", children: [_jsx("input", { type: "hidden", name: "csrfToken", value: csrfToken }), _jsx("label", { className: "section-header", htmlFor: `input-email-for-${provider.id}-provider`, children: "Email" }), _jsx("input", { id: `input-email-for-${provider.id}-provider`, autoFocus: true, type: "email", name: "email", value: email, placeholder: "email@example.com", required: true }), _jsxs("button", { type: "submit", children: ["Sign in with ", provider.name] })] })), provider.type === "credentials" && (_jsxs("form", { action: provider.callbackUrl, method: "POST", children: [_jsx("input", { type: "hidden", name: "csrfToken", value: csrfToken }), Object.keys(provider.credentials).map((credential) => { | ||
return (_jsxs("div", { children: [_jsx("label", { className: "section-header", htmlFor: `input-${credential}-for-${provider.id}-provider`, children: provider.credentials[credential].label ?? credential }), _jsx("input", { name: credential, id: `input-${credential}-for-${provider.id}-provider`, type: provider.credentials[credential].type ?? "text", placeholder: provider.credentials[credential].placeholder ?? "", ...provider.credentials[credential] })] }, `input-group-${provider.id}`)); | ||
}), _jsxs("button", { id: "submitButton", type: "submit", children: ["Sign in with ", provider.name] })] })), (provider.type === "email" || provider.type === "credentials") && | ||
i + 1 < providers.length && _jsx("hr", {})] }, provider.id)))] })] })); | ||
} })), _jsxs("div", { className: "card", children: [error && (_jsx("div", { className: "error", children: _jsx("p", { children: error }) })), theme.logo && _jsx("img", { src: theme.logo, alt: "Logo", className: "logo" }), providers.map((provider, i) => { | ||
let bg, text, logo, logoDark, bgDark, textDark; | ||
if (provider.type === "oauth" || provider.type === "oidc") { | ||
; | ||
({ | ||
bg = "", | ||
text = "", | ||
logo = "", | ||
bgDark = bg, | ||
textDark = text, | ||
logoDark = "", | ||
} = provider.style ?? {}); | ||
logo = logo.startsWith("/") ? providerLogoPath + logo : logo; | ||
logoDark = logoDark.startsWith("/") | ||
? providerLogoPath + logoDark | ||
: logoDark || logo; | ||
logoDark || (logoDark = logo); | ||
} | ||
return (_jsxs("div", { className: "provider", children: [provider.type === "oauth" || provider.type === "oidc" ? (_jsxs("form", { action: provider.signinUrl, method: "POST", children: [_jsx("input", { type: "hidden", name: "csrfToken", value: csrfToken }), callbackUrl && (_jsx("input", { type: "hidden", name: "callbackUrl", value: callbackUrl })), _jsxs("button", { type: "submit", className: "button", style: { | ||
"--provider-bg": bg, | ||
"--provider-dark-bg": bgDark, | ||
"--provider-color": text, | ||
"--provider-dark-color": textDark, | ||
"--provider-bg-hover": hexToRgba(bg, 0.8), | ||
"--provider-dark-bg-hover": hexToRgba(bgDark, 0.8), | ||
}, tabIndex: 0, children: [logo && (_jsx("img", { loading: "lazy", height: 24, width: 24, id: "provider-logo", src: logo })), logoDark && (_jsx("img", { loading: "lazy", height: 24, width: 24, id: "provider-logo-dark", src: logoDark })), _jsxs("span", { children: ["Sign in with ", provider.name] })] })] })) : null, (provider.type === "email" || provider.type === "credentials") && | ||
i > 0 && | ||
providers[i - 1].type !== "email" && | ||
providers[i - 1].type !== "credentials" && _jsx("hr", {}), provider.type === "email" && (_jsxs("form", { action: provider.signinUrl, method: "POST", children: [_jsx("input", { type: "hidden", name: "csrfToken", value: csrfToken }), _jsx("label", { className: "section-header", htmlFor: `input-email-for-${provider.id}-provider`, children: "Email" }), _jsx("input", { id: `input-email-for-${provider.id}-provider`, autoFocus: true, type: "email", name: "email", value: email, placeholder: "email@example.com", required: true }), _jsxs("button", { id: "submitButton", type: "submit", tabIndex: 0, children: ["Sign in with ", provider.name] })] })), provider.type === "credentials" && (_jsxs("form", { action: provider.callbackUrl, method: "POST", children: [_jsx("input", { type: "hidden", name: "csrfToken", value: csrfToken }), Object.keys(provider.credentials).map((credential) => { | ||
return (_jsxs("div", { children: [_jsx("label", { className: "section-header", htmlFor: `input-${credential}-for-${provider.id}-provider`, children: provider.credentials[credential].label ?? credential }), _jsx("input", { name: credential, id: `input-${credential}-for-${provider.id}-provider`, type: provider.credentials[credential].type ?? "text", placeholder: provider.credentials[credential].placeholder ?? "", ...provider.credentials[credential] })] }, `input-group-${provider.id}`)); | ||
}), _jsxs("button", { id: "submitButton", type: "submit", tabIndex: 0, children: ["Sign in with ", provider.name] })] })), (provider.type === "email" || provider.type === "credentials") && | ||
i + 1 < providers.length && _jsx("hr", {})] }, provider.id)); | ||
})] })] })); | ||
} |
@@ -1,3 +0,3 @@ | ||
declare const _default: ":root {\n --border-width: 1px;\n --border-radius: 0.5rem;\n --color-error: #c94b4b;\n --color-info: #157efb;\n --color-info-text: #fff;\n}\n\n.__next-auth-theme-auto,\n.__next-auth-theme-light {\n --color-background: #ececec;\n --color-background-card: #fff;\n --color-text: #000;\n --color-primary: #444;\n --color-control-border: #bbb;\n --color-button-active-background: #f9f9f9;\n --color-button-active-border: #aaa;\n --color-separator: #ccc;\n}\n\n.__next-auth-theme-dark {\n --color-background: #161b22;\n --color-background-card: #0d1117;\n --color-text: #fff;\n --color-primary: #ccc;\n --color-control-border: #555;\n --color-button-active-background: #060606;\n --color-button-active-border: #666;\n --color-separator: #444;\n}\n\n@media (prefers-color-scheme: dark) {\n .__next-auth-theme-auto {\n --color-background: #161b22;\n --color-background-card: #0d1117;\n --color-text: #fff;\n --color-primary: #ccc;\n --color-control-border: #555;\n --color-button-active-background: #060606;\n --color-button-active-border: #666;\n --color-separator: #444;\n }\n}\n\nbody {\n background-color: var(--color-background);\n margin: 0;\n padding: 0;\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,\n \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif,\n \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n}\n\nh1 {\n font-weight: 400;\n margin-bottom: 1.5rem;\n padding: 0 1rem;\n color: var(--color-text);\n}\n\np {\n color: var(--color-text);\n}\n\nform {\n margin: 0;\n padding: 0;\n}\n\nlabel {\n font-weight: 500;\n text-align: left;\n margin-bottom: 0.25rem;\n display: block;\n color: var(--color-text);\n}\n\ninput[type] {\n box-sizing: border-box;\n display: block;\n width: 100%;\n padding: 0.5rem 1rem;\n border: var(--border-width) solid var(--color-control-border);\n background: var(--color-background-card);\n font-size: 1rem;\n border-radius: var(--border-radius);\n color: var(--color-text);\n}\n\ninput[type]:focus {\n box-shadow: none;\n }\n\np {\n margin: 0 0 1.5rem 0;\n padding: 0 1rem;\n font-size: 1.1rem;\n line-height: 2rem;\n}\n\na.button {\n text-decoration: none;\n line-height: 1rem;\n}\n\na.button:link,\n a.button:visited {\n background-color: var(--color-background);\n color: var(--color-primary);\n }\n\nbutton span {\n flex-grow: 1;\n}\n\nbutton,\na.button {\n margin: 0 0 0.75rem 0;\n padding: 0.75rem 1rem;\n color: var(--provider-color, var(--color-primary));\n background-color: var(--provider-bg, var(--color-background-card));\n font-size: 1.1rem;\n min-height: 62px;\n border-color: rgba(0, 0, 0, 0.1);\n border-radius: var(--border-radius);\n transition: all 0.1s ease-in-out;\n font-weight: 500;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n@media (max-width: 450px) {\n\nbutton,\na.button {\n font-size: 0.9rem\n}\n }\n\nbutton:hover, a.button:hover {\n cursor: pointer;\n }\n\nbutton:active, a.button:active {\n cursor: pointer;\n }\n\nbutton #provider-logo, a.button #provider-logo {\n width: 25px;\n display: block;\n }\n\nbutton #provider-logo-dark, a.button #provider-logo-dark {\n display: none;\n }\n\n#submitButton {\n color: var(--button-text-color, var(--color-info-text));\n background-color: var(--brand-color, var(--color-info));\n width: 100%;\n}\n\n@media (prefers-color-scheme: dark) {\n button,\n a.button {\n color: var(--provider-dark-color, var(--color-primary));\n background-color: var(--provider-dark-bg, var(--color-background));\n }\n #provider-logo {\n display: none !important;\n }\n #provider-logo-dark {\n width: 25px;\n display: block !important;\n }\n}\n\na.site {\n color: var(--color-primary);\n text-decoration: none;\n font-size: 1rem;\n line-height: 2rem;\n}\n\na.site:hover {\n text-decoration: underline;\n }\n\n.page {\n position: absolute;\n width: 100%;\n height: 100%;\n display: grid;\n place-items: center;\n margin: 0;\n padding: 0;\n}\n\n.page > div {\n text-align: center;\n }\n\n.error a.button {\n display: inline-block;\n padding-left: 2rem;\n padding-right: 2rem;\n margin-top: 0.5rem;\n }\n\n.error .message {\n margin-bottom: 1.5rem;\n }\n\n.signin input[type=\"text\"] {\n margin-left: auto;\n margin-right: auto;\n display: block;\n }\n\n.signin hr {\n display: block;\n border: 0;\n border-top: 1px solid var(--color-separator);\n margin: 2rem auto 1rem auto;\n overflow: visible;\n }\n\n.signin hr::before {\n content: \"or\";\n background: var(--color-background-card);\n color: #888;\n padding: 0 0.4rem;\n position: relative;\n top: -0.7rem;\n }\n\n.signin .error {\n background: #f5f5f5;\n font-weight: 500;\n border-radius: 0.3rem;\n background: var(--color-error);\n }\n\n.signin .error p {\n text-align: left;\n padding: 0.5rem 1rem;\n font-size: 0.9rem;\n line-height: 1.2rem;\n color: var(--color-info-text);\n }\n\n.signin > div,\n .signin form {\n display: block;\n }\n\n.signin > div input[type], .signin form input[type] {\n margin-bottom: 0.5rem;\n }\n\n.signin > div button, .signin form button {\n width: 100%;\n }\n\n.signin > div,\n .signin form {\n\n max-width: 300px;\n}\n\n.logo {\n display: inline-block;\n max-width: 150px;\n margin-top: 20px;\n margin-bottom: 25px;\n max-height: 70px;\n}\n\n@media screen and (min-width: 450px) {\n\n.card {\n width: 350px\n}\n }\n\n@media screen and (max-width: 450px) {\n\n.card {\n width: 200px\n}\n }\n\n.card {\n margin: 20px 0 20px 0;\n background-color: var(--color-background-card);\n border-radius: 30px;\n padding: 20px 50px;\n}\n\n.card .header {\n color: var(--color-primary);\n }\n\n.section-header {\n color: var(--color-text);\n}\n"; | ||
declare const _default: ":root {\n --border-width: 1px;\n --border-radius: 0.5rem;\n --color-error: #c94b4b;\n --color-info: #157efb;\n --color-info-hover: #0f6ddb;\n --color-info-text: #fff;\n}\n\n.__next-auth-theme-auto,\n.__next-auth-theme-light {\n --color-background: #ececec;\n --color-background-hover: rgba(236, 236, 236, 0.8);\n --color-background-card: #fff;\n --color-text: #000;\n --color-primary: #444;\n --color-control-border: #bbb;\n --color-button-active-background: #f9f9f9;\n --color-button-active-border: #aaa;\n --color-separator: #ccc;\n}\n\n.__next-auth-theme-dark {\n --color-background: #161b22;\n --color-background-hover: rgba(22, 27, 34, 0.8);\n --color-background-card: #0d1117;\n --color-text: #fff;\n --color-primary: #ccc;\n --color-control-border: #555;\n --color-button-active-background: #060606;\n --color-button-active-border: #666;\n --color-separator: #444;\n}\n\n@media (prefers-color-scheme: dark) {\n .__next-auth-theme-auto {\n --color-background: #161b22;\n --color-background-hover: rgba(22, 27, 34, 0.8);\n --color-background-card: #0d1117;\n --color-text: #fff;\n --color-primary: #ccc;\n --color-control-border: #555;\n --color-button-active-background: #060606;\n --color-button-active-border: #666;\n --color-separator: #444;\n }\n\n button,\n a.button {\n color: var(--provider-dark-color, var(--color-primary));\n background-color: var(--provider-dark-bg, var(--color-background));\n }\n button:hover, a.button:hover {\n background-color: var(\n --provider-dark-bg-hover,\n var(--color-background-hover)\n ) !important;\n }\n #provider-logo {\n display: none !important;\n }\n #provider-logo-dark {\n width: 25px;\n display: block !important;\n }\n}\nhtml {\n box-sizing: border-box;\n}\n*,\n*:before,\n*:after {\n box-sizing: inherit;\n margin: 0;\n padding: 0;\n}\n\nbody {\n background-color: var(--color-background);\n margin: 0;\n padding: 0;\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,\n \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif,\n \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n}\n\nh1 {\n margin-bottom: 1.5rem;\n padding: 0 1rem;\n font-weight: 400;\n color: var(--color-text);\n}\n\np {\n margin-bottom: 1.5rem;\n padding: 0 1rem;\n color: var(--color-text);\n}\n\nform {\n margin: 0;\n padding: 0;\n}\n\nlabel {\n font-weight: 500;\n text-align: left;\n margin-bottom: 0.25rem;\n display: block;\n color: var(--color-text);\n}\n\ninput[type] {\n box-sizing: border-box;\n display: block;\n width: 100%;\n padding: 0.5rem 1rem;\n border: var(--border-width) solid var(--color-control-border);\n background: var(--color-background-card);\n font-size: 1rem;\n border-radius: var(--border-radius);\n color: var(--color-text);\n}\n\ninput[type]:focus {\n box-shadow: none;\n }\n\np {\n font-size: 1.1rem;\n line-height: 2rem;\n}\n\na.button {\n text-decoration: none;\n line-height: 1rem;\n}\n\na.button:link,\n a.button:visited {\n background-color: var(--color-background);\n color: var(--color-primary);\n }\n\nbutton span {\n flex-grow: 1;\n}\n\nbutton,\na.button {\n padding: 0.75rem 1rem;\n color: var(--provider-color, var(--color-primary));\n background-color: var(--provider-bg);\n font-size: 1.1rem;\n min-height: 62px;\n border-color: rgba(0, 0, 0, 0.1);\n border-radius: var(--border-radius);\n transition: all 0.1s ease-in-out;\n font-weight: 500;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\nbutton:hover, a.button:hover {\n background-color: var(--provider-bg-hover, var(--color-background-hover));\n cursor: pointer;\n }\n\n/* &:focus {\n outline: none;\n border: 1px solid;\n border-color: var(--color-info);\n } */\n\nbutton:active, a.button:active {\n cursor: pointer;\n }\n\nbutton #provider-logo, a.button #provider-logo {\n width: 25px;\n display: block;\n }\n\nbutton #provider-logo-dark, a.button #provider-logo-dark {\n display: none;\n }\n\n#submitButton {\n color: var(--button-text-color, var(--color-info-text));\n background-color: var(--brand-color, var(--color-info));\n width: 100%;\n}\n\n#submitButton:hover {\n background-color: var(\n --button-hover-bg,\n var(--colo r-info-hover)\n ) !important;\n }\n\na.site {\n color: var(--color-primary);\n text-decoration: none;\n font-size: 1rem;\n line-height: 2rem;\n}\n\na.site:hover {\n text-decoration: underline;\n }\n\n.page {\n position: absolute;\n width: 100%;\n height: 100%;\n display: grid;\n place-items: center;\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n.page > div {\n text-align: center;\n }\n\n.error a.button {\n padding-left: 2rem;\n padding-right: 2rem;\n margin-top: 0.5rem;\n }\n\n.error .message {\n margin-bottom: 1.5rem;\n }\n\n.signin input[type=\"text\"] {\n margin-left: auto;\n margin-right: auto;\n display: block;\n }\n\n.signin hr {\n display: block;\n border: 0;\n border-top: 1px solid var(--color-separator);\n margin: 2rem auto 1rem auto;\n overflow: visible;\n }\n\n.signin hr::before {\n content: \"or\";\n background: var(--color-background-card);\n color: #888;\n padding: 0 0.4rem;\n position: relative;\n top: -0.7rem;\n }\n\n.signin .error {\n background: #f5f5f5;\n font-weight: 500;\n border-radius: 0.3rem;\n background: var(--color-error);\n }\n\n.signin .error p {\n text-align: left;\n padding: 0.5rem 1rem;\n font-size: 0.9rem;\n line-height: 1.2rem;\n color: var(--color-info-text);\n }\n\n.signin > div,\n .signin form {\n display: block;\n }\n\n.signin > div input[type], .signin form input[type] {\n margin-bottom: 0.5rem;\n }\n\n.signin > div button, .signin form button {\n width: 100%;\n }\n\n.signin .provider + .provider {\n margin-top: 1rem;\n }\n\n.logo {\n display: inline-block;\n max-width: 150px;\n margin: 1.25rem 0;\n max-height: 70px;\n}\n\n.card {\n background-color: var(--color-background-card);\n border-radius: 2rem;\n padding: 1.25rem 2rem;\n}\n\n.card .header {\n color: var(--color-primary);\n }\n\n.section-header {\n color: var(--color-text);\n}\n\n@media screen and (min-width: 450px) {\n .card {\n margin: 2rem 0;\n width: 368px;\n }\n}\n@media screen and (max-width: 450px) {\n .card {\n margin: 1rem 0;\n width: 343px;\n }\n}\n"; | ||
export default _default; | ||
//# sourceMappingURL=styles.d.ts.map |
@@ -0,1 +1,2 @@ | ||
// Generated by `pnpm css` | ||
export default `:root { | ||
@@ -6,2 +7,3 @@ --border-width: 1px; | ||
--color-info: #157efb; | ||
--color-info-hover: #0f6ddb; | ||
--color-info-text: #fff; | ||
@@ -13,2 +15,3 @@ } | ||
--color-background: #ececec; | ||
--color-background-hover: rgba(236, 236, 236, 0.8); | ||
--color-background-card: #fff; | ||
@@ -25,2 +28,3 @@ --color-text: #000; | ||
--color-background: #161b22; | ||
--color-background-hover: rgba(22, 27, 34, 0.8); | ||
--color-background-card: #0d1117; | ||
@@ -38,2 +42,3 @@ --color-text: #fff; | ||
--color-background: #161b22; | ||
--color-background-hover: rgba(22, 27, 34, 0.8); | ||
--color-background-card: #0d1117; | ||
@@ -47,3 +52,32 @@ --color-text: #fff; | ||
} | ||
button, | ||
a.button { | ||
color: var(--provider-dark-color, var(--color-primary)); | ||
background-color: var(--provider-dark-bg, var(--color-background)); | ||
} | ||
button:hover, a.button:hover { | ||
background-color: var( | ||
--provider-dark-bg-hover, | ||
var(--color-background-hover) | ||
) !important; | ||
} | ||
#provider-logo { | ||
display: none !important; | ||
} | ||
#provider-logo-dark { | ||
width: 25px; | ||
display: block !important; | ||
} | ||
} | ||
html { | ||
box-sizing: border-box; | ||
} | ||
*, | ||
*:before, | ||
*:after { | ||
box-sizing: inherit; | ||
margin: 0; | ||
padding: 0; | ||
} | ||
@@ -60,5 +94,5 @@ body { | ||
h1 { | ||
font-weight: 400; | ||
margin-bottom: 1.5rem; | ||
padding: 0 1rem; | ||
font-weight: 400; | ||
color: var(--color-text); | ||
@@ -68,2 +102,4 @@ } | ||
p { | ||
margin-bottom: 1.5rem; | ||
padding: 0 1rem; | ||
color: var(--color-text); | ||
@@ -102,4 +138,2 @@ } | ||
p { | ||
margin: 0 0 1.5rem 0; | ||
padding: 0 1rem; | ||
font-size: 1.1rem; | ||
@@ -126,6 +160,5 @@ line-height: 2rem; | ||
a.button { | ||
margin: 0 0 0.75rem 0; | ||
padding: 0.75rem 1rem; | ||
color: var(--provider-color, var(--color-primary)); | ||
background-color: var(--provider-bg, var(--color-background-card)); | ||
background-color: var(--provider-bg); | ||
font-size: 1.1rem; | ||
@@ -143,14 +176,13 @@ min-height: 62px; | ||
@media (max-width: 450px) { | ||
button, | ||
a.button { | ||
font-size: 0.9rem | ||
} | ||
} | ||
button:hover, a.button:hover { | ||
background-color: var(--provider-bg-hover, var(--color-background-hover)); | ||
cursor: pointer; | ||
} | ||
/* &:focus { | ||
outline: none; | ||
border: 1px solid; | ||
border-color: var(--color-info); | ||
} */ | ||
button:active, a.button:active { | ||
@@ -175,16 +207,8 @@ cursor: pointer; | ||
@media (prefers-color-scheme: dark) { | ||
button, | ||
a.button { | ||
color: var(--provider-dark-color, var(--color-primary)); | ||
background-color: var(--provider-dark-bg, var(--color-background)); | ||
#submitButton:hover { | ||
background-color: var( | ||
--button-hover-bg, | ||
var(--colo r-info-hover) | ||
) !important; | ||
} | ||
#provider-logo { | ||
display: none !important; | ||
} | ||
#provider-logo-dark { | ||
width: 25px; | ||
display: block !important; | ||
} | ||
} | ||
@@ -210,2 +234,3 @@ a.site { | ||
padding: 0; | ||
box-sizing: border-box; | ||
} | ||
@@ -218,3 +243,2 @@ | ||
.error a.button { | ||
display: inline-block; | ||
padding-left: 2rem; | ||
@@ -280,35 +304,17 @@ padding-right: 2rem; | ||
.signin > div, | ||
.signin form { | ||
.signin .provider + .provider { | ||
margin-top: 1rem; | ||
} | ||
max-width: 300px; | ||
} | ||
.logo { | ||
display: inline-block; | ||
max-width: 150px; | ||
margin-top: 20px; | ||
margin-bottom: 25px; | ||
margin: 1.25rem 0; | ||
max-height: 70px; | ||
} | ||
@media screen and (min-width: 450px) { | ||
.card { | ||
width: 350px | ||
} | ||
} | ||
@media screen and (max-width: 450px) { | ||
.card { | ||
width: 200px | ||
} | ||
} | ||
.card { | ||
margin: 20px 0 20px 0; | ||
background-color: var(--color-background-card); | ||
border-radius: 30px; | ||
padding: 20px 50px; | ||
border-radius: 2rem; | ||
padding: 1.25rem 2rem; | ||
} | ||
@@ -323,3 +329,15 @@ | ||
} | ||
@media screen and (min-width: 450px) { | ||
.card { | ||
margin: 2rem 0; | ||
width: 368px; | ||
} | ||
} | ||
@media screen and (max-width: 450px) { | ||
.card { | ||
margin: 1rem 0; | ||
width: 343px; | ||
} | ||
} | ||
`; | ||
// Generated by `pnpm css` |
{ | ||
"name": "@auth/core", | ||
"version": "0.16.1", | ||
"version": "0.17.0", | ||
"description": "Authentication for the Web.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -7,3 +7,3 @@ /** | ||
* <a href="https://apple.com" style={{backgroundColor: "black", padding: "12px", borderRadius: "100%" }}> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/apple-dark.svg" width="24"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/apple.svg" width="24"/> | ||
* </a> | ||
@@ -10,0 +10,0 @@ * </div> |
@@ -7,3 +7,3 @@ /** | ||
* <a href="https://apple.com" style={{backgroundColor: "black", padding: "12px", borderRadius: "100%" }}> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/apple-dark.svg" width="24"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/apple.svg" width="24"/> | ||
* </a> | ||
@@ -78,7 +78,4 @@ * </div> | ||
logo: "/apple.svg", | ||
logoDark: "/apple-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
text: "#fff", | ||
bg: "#000", | ||
}, | ||
@@ -85,0 +82,0 @@ options, |
@@ -7,3 +7,3 @@ /** | ||
* <a href="https://wso2.com/asgardeo/" style={{backgroundColor: "#ECEFF1", padding: "12px", borderRadius: "100%" }}> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/asgardeo-dark.svg" width="24"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/asgardeo.svg" width="24"/> | ||
* </a> | ||
@@ -10,0 +10,0 @@ * </div> |
@@ -7,3 +7,3 @@ /** | ||
* <a href="https://wso2.com/asgardeo/" style={{backgroundColor: "#ECEFF1", padding: "12px", borderRadius: "100%" }}> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/asgardeo-dark.svg" width="24"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/asgardeo.svg" width="24"/> | ||
* </a> | ||
@@ -92,7 +92,4 @@ * </div> | ||
logo: "/asgardeo.svg", | ||
logoDark: "/asgardeo-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
bg: "#000", | ||
text: "#fff", | ||
}, | ||
@@ -99,0 +96,0 @@ options: config, |
@@ -65,12 +65,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/atlassian.svg", | ||
logoDark: "/atlassian-dark.svg", | ||
bg: "#0052cc", | ||
text: "#fff", | ||
bgDark: "#fff", | ||
textDark: "#0052cc", | ||
}, | ||
style: { logo: "/atlassian.svg", bg: "#fff", text: "#0052cc" }, | ||
options, | ||
}; | ||
} |
@@ -7,3 +7,3 @@ /** | ||
* <a href="https://auth0.com" style={{backgroundColor: "black", padding: "12px", borderRadius: "100%" }}> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/auth0-dark.svg" width="24"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/auth0.svg" width="24"/> | ||
* </a> | ||
@@ -10,0 +10,0 @@ * </div> |
@@ -48,12 +48,5 @@ /** | ||
type: "oidc", | ||
style: { | ||
logo: "/auth0.svg", | ||
logoDark: "/auth0-dark.svg", | ||
bg: "#fff", | ||
text: "#EB5424", | ||
bgDark: "#EB5424", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/auth0.svg", text: "#fff", bg: "#EB5424" }, | ||
options: config, | ||
}; | ||
} |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://learn.microsoft.com/en-us/azure/active-directory-b2c/tutorial-create-tenant"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/azure-dark.svg" height="48" width="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/azure.svg" height="48" width="48"/> | ||
* </a> | ||
@@ -8,0 +8,0 @@ * </div> |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://learn.microsoft.com/en-us/azure/active-directory-b2c/tutorial-create-tenant"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/azure-dark.svg" height="48" width="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/azure.svg" height="48" width="48"/> | ||
* </a> | ||
@@ -100,12 +100,5 @@ * </div> | ||
}, | ||
style: { | ||
logo: "/azure.svg", | ||
logoDark: "/azure-dark.svg", | ||
bg: "#fff", | ||
text: "#0072c6", | ||
bgDark: "#0072c6", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/azure.svg", text: "#fff", bg: "#0072c6" }, | ||
options, | ||
}; | ||
} |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://learn.microsoft.com/en-us/azure/active-directory"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/azure-dark.svg" height="48" width="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/azure.svg" height="48" width="48"/> | ||
* </a> | ||
@@ -8,0 +8,0 @@ * </div> |
@@ -106,3 +106,3 @@ /** | ||
params: { | ||
scope: 'openid profile email User.Read', | ||
scope: "openid profile email User.Read", | ||
}, | ||
@@ -131,12 +131,5 @@ }, | ||
}, | ||
style: { | ||
logo: "/azure.svg", | ||
logoDark: "/azure-dark.svg", | ||
bg: "#fff", | ||
text: "#0072c6", | ||
bgDark: "#0072c6", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/azure.svg", text: "#fff", bg: "#0072c6" }, | ||
options: rest, | ||
}; | ||
} |
@@ -70,12 +70,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/battlenet.svg", | ||
logoDark: "/battlenet-dark.svg", | ||
bg: "#fff", | ||
text: "#148eff", | ||
bgDark: "#148eff", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/battlenet.svg", bg: "#148eff", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://www.beyondidentity.com/"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/beyondidentity-dark.svg" height="48" width="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/beyondidentity.svg" height="48" width="48"/> | ||
* </a> | ||
@@ -8,0 +8,0 @@ * </div> |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://www.beyondidentity.com/"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/beyondidentity-dark.svg" height="48" width="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/beyondidentity.svg" height="48" width="48"/> | ||
* </a> | ||
@@ -73,7 +73,4 @@ * </div> | ||
logo: "/beyondidentity.svg", | ||
logoDark: "/beyondidentity-dark.svg", | ||
bg: "#fff", | ||
bgDark: "#5077c5", | ||
text: "#5077c5", | ||
textDark: "#fff", | ||
bg: "#5077c5", | ||
text: "#fff", | ||
}, | ||
@@ -80,0 +77,0 @@ options: config, |
@@ -67,7 +67,4 @@ /** | ||
logo: "/box.svg", | ||
logoDark: "/box-dark.svg", | ||
bg: "#fff", | ||
text: "#0075C9", | ||
bgDark: "#0075C9", | ||
textDark: "#fff", | ||
bg: "#0075C9", | ||
text: "#fff", | ||
}, | ||
@@ -74,0 +71,0 @@ options, |
@@ -80,7 +80,4 @@ /** | ||
logo: "/click-up.svg", | ||
logoDark: "/click-up.svg", | ||
bg: "#fff", | ||
bgDark: "#24292f", | ||
text: "#000", | ||
textDark: "#fff", | ||
bg: "#24292f", | ||
text: "#fff", | ||
}, | ||
@@ -87,0 +84,0 @@ options: config, |
@@ -62,12 +62,5 @@ /** | ||
type: "oidc", | ||
style: { | ||
logo: "/cognito.svg", | ||
logoDark: "/cognito.svg", | ||
bg: "#fff", | ||
text: "#C17B9E", | ||
bgDark: "#fff", | ||
textDark: "#C17B9E", | ||
}, | ||
style: { logo: "/cognito.svg", bg: "#fff", text: "#C17B9E" }, | ||
options, | ||
}; | ||
} |
@@ -16,3 +16,3 @@ /** | ||
* [See Load User](https://docs.descope.com/api/openapi/usermanagement/operation/LoadUser/) | ||
*/ | ||
*/ | ||
export interface DescopeProfile { | ||
@@ -19,0 +19,0 @@ /** The user's unique Descope ID */ |
@@ -84,7 +84,4 @@ /** | ||
logo: "/descope.svg", | ||
logoDark: "/descope.svg", | ||
bg: "#1C1C23", | ||
text: "#ffffff", | ||
bgDark: "#1C1C23", | ||
textDark: "#ffffff", | ||
}, | ||
@@ -91,0 +88,0 @@ options: config, |
@@ -73,12 +73,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/discord.svg", | ||
logoDark: "/discord-dark.svg", | ||
bg: "#fff", | ||
text: "#7289DA", | ||
bgDark: "#7289DA", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/discord.svg", bg: "#5865F2", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -75,10 +75,5 @@ /** | ||
style: { | ||
// Light mode | ||
logo: "/dribbble.svg", | ||
text: "#ea4c89", | ||
bg: "#fff", | ||
// Dark mode | ||
logoDark: "/dribbble-dark.svg", | ||
textDark: "#fff", | ||
bgDark: "#000", | ||
text: "#fff", | ||
bg: "#000", | ||
}, | ||
@@ -85,0 +80,0 @@ options, |
@@ -33,3 +33,3 @@ import type { CommonProviderOptions } from "./index.js"; | ||
*/ | ||
export interface EmailUserConfig { | ||
export interface EmailUserConfig extends Record<string, unknown> { | ||
server?: AllTransportOptions; | ||
@@ -36,0 +36,0 @@ type?: "email"; |
@@ -80,12 +80,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/facebook.svg", | ||
logoDark: "/facebook-dark.svg", | ||
bg: "#fff", | ||
text: "#006aff", | ||
bgDark: "#006aff", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/facebook.svg", bg: "#006aff", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -80,7 +80,4 @@ /** | ||
logo: "/foursquare.svg", | ||
logoDark: "/foursquare-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
bg: "#000", | ||
text: "#fff", | ||
}, | ||
@@ -87,0 +84,0 @@ options, |
@@ -67,7 +67,4 @@ /** | ||
logo: "/freshbooks.svg", | ||
logoDark: "/freshbooks-dark.svg", | ||
bg: "#fff", | ||
text: "#0075dd", | ||
bgDark: "#0075dd", | ||
textDark: "#fff", | ||
bg: "#0075dd", | ||
text: "#fff", | ||
}, | ||
@@ -74,0 +71,0 @@ options, |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://github.com"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/github-dark.svg" height="48" width="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/github.svg" height="48" width="48"/> | ||
* </a> | ||
@@ -8,0 +8,0 @@ * </div> |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://github.com"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/github-dark.svg" height="48" width="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/github.svg" height="48" width="48"/> | ||
* </a> | ||
@@ -107,12 +107,5 @@ * </div> | ||
}, | ||
style: { | ||
logo: "/github.svg", | ||
logoDark: "/github-dark.svg", | ||
bg: "#fff", | ||
bgDark: "#24292f", | ||
text: "#000", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/github.svg", bg: "#24292f", text: "#fff" }, | ||
options: config, | ||
}; | ||
} |
@@ -68,12 +68,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/gitlab.svg", | ||
logoDark: "/gitlab-dark.svg", | ||
bg: "#fff", | ||
text: "#FC6D26", | ||
bgDark: "#FC6D26", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/gitlab.svg", bg: "#FC6D26", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -112,12 +112,5 @@ /** | ||
issuer: "https://accounts.google.com", | ||
style: { | ||
logo: "/google.svg", | ||
logoDark: "/google.svg", | ||
bgDark: "#fff", | ||
bg: "#fff", | ||
text: "#000", | ||
textDark: "#000", | ||
}, | ||
style: { logo: "/google.svg", bg: "#fff", text: "#000" }, | ||
options, | ||
}; | ||
} |
@@ -85,12 +85,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/hubspot.svg", | ||
logoDark: "/hubspot-dark.svg", | ||
bg: "#fff", | ||
text: "#ff7a59", | ||
bgDark: "#ff7a59", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/hubspot.svg", bg: "#ff7a59", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -78,7 +78,4 @@ /** | ||
logo: "/instagram.svg", | ||
logoDark: "/instagram.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#fff", | ||
textDark: "#000", | ||
}, | ||
@@ -85,0 +82,0 @@ options: config, |
@@ -64,12 +64,5 @@ /** | ||
type: "oidc", | ||
style: { | ||
logo: "/keycloak.svg", | ||
logoDark: "/keycloak.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#fff", | ||
textDark: "#000", | ||
}, | ||
style: { logo: "/keycloak.svg", bg: "#fff", text: "#000" }, | ||
options, | ||
}; | ||
} |
@@ -67,12 +67,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/line.svg", | ||
logoDark: "/line.svg", | ||
bg: "#fff", | ||
text: "#00C300", | ||
bgDark: "#00C300", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/line.svg", bg: "#00C300", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -62,15 +62,8 @@ /** | ||
email: profile.email, | ||
image: profile.picture | ||
image: profile.picture, | ||
}; | ||
}, | ||
style: { | ||
logo: "/linkedin.svg", | ||
logoDark: "/linkedin-dark.svg", | ||
bg: "#fff", | ||
text: "#069", | ||
bgDark: "#069", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/linkedin.svg", bg: "#069", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -67,7 +67,4 @@ /** | ||
logo: "/mailchimp.svg", | ||
logoDark: "/mailchimp-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
bg: "#000", | ||
text: "#fff", | ||
}, | ||
@@ -74,0 +71,0 @@ options: config, |
@@ -74,12 +74,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/mattermost.svg", | ||
logoDark: "/mattermost-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/mattermost.svg", bg: "#000", text: "#fff" }, | ||
options: rest, | ||
}; | ||
} |
@@ -99,12 +99,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/notion.svg", | ||
logoDark: "/notion.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#fff", | ||
textDark: "#000", | ||
}, | ||
style: { logo: "/notion.svg", bg: "#fff", text: "#000" }, | ||
options, | ||
}; | ||
} |
@@ -35,7 +35,7 @@ import type { Client } from "oauth4webapi"; | ||
logo: string; | ||
logoDark: string; | ||
logoDark?: string; | ||
bg: string; | ||
bgDark: string; | ||
bgDark?: string; | ||
text: string; | ||
textDark: string; | ||
textDark?: string; | ||
} | ||
@@ -42,0 +42,0 @@ /** TODO: Document */ |
@@ -53,12 +53,5 @@ /** | ||
type: "oidc", | ||
style: { | ||
logo: "/okta.svg", | ||
logoDark: "/okta-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/okta.svg", bg: "#000", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -66,7 +66,4 @@ /** | ||
logo: "/passage.svg", | ||
logoDark: "/passage.svg", | ||
bg: "#fff", | ||
bgDark: "#fff", | ||
text: "#000", | ||
textDark: "#000", | ||
}, | ||
@@ -73,0 +70,0 @@ options: config, |
@@ -69,12 +69,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/patreon.svg", | ||
logoDark: "/patreon.svg", | ||
bg: "#fff", | ||
text: "#e85b46", | ||
bgDark: "#000", | ||
textDark: "#e85b46", | ||
}, | ||
style: { logo: "/patreon.svg", bg: "#e85b46", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -85,7 +85,4 @@ /** | ||
logo: "/reddit.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
logoDark: "/reddit.svg", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
bg: "#000", | ||
text: "#fff", | ||
}, | ||
@@ -92,0 +89,0 @@ options: config, |
@@ -62,12 +62,5 @@ /** | ||
issuer: "https://slack.com", | ||
style: { | ||
logo: "/slack.svg", | ||
logoDark: "/slack.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/slack.svg", bg: "#000", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -65,12 +65,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/spotify.svg", | ||
logoDark: "/spotify.svg", | ||
bg: "#fff", | ||
text: "#2ebd59", | ||
bgDark: "#fff", | ||
textDark: "#2ebd59", | ||
}, | ||
style: { logo: "/spotify.svg", text: "#fff", bg: "#000" }, | ||
options, | ||
}; | ||
} |
@@ -129,7 +129,4 @@ /** | ||
logo: "/tiktok.svg", | ||
logoDark: "/tiktok-dark.svg", | ||
bg: "#fff", | ||
bgDark: "#000", | ||
text: "#000", | ||
textDark: "#fff", | ||
bg: "#000", | ||
text: "#fff", | ||
}, | ||
@@ -136,0 +133,0 @@ options, |
@@ -89,12 +89,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/todoist.svg", | ||
logoDark: "/todoist.svg", | ||
bg: "#fff", | ||
text: "#E44332", | ||
bgDark: "#000", | ||
textDark: "#E44332", | ||
}, | ||
style: { logo: "/todoist.svg", text: "#000", bg: "#E44332" }, | ||
options, | ||
}; | ||
} |
@@ -86,12 +86,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/trakt.svg", | ||
logoDark: "/trakt-dark.svg", | ||
bg: "#fff", | ||
text: "#ED2224", | ||
bgDark: "#ED2224", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/trakt.svg", bg: "#ED2224", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -91,12 +91,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/twitch.svg", | ||
logoDark: "/twitch-dark.svg", | ||
bg: "#fff", | ||
text: "#65459B", | ||
bgDark: "#65459B", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/twitch.svg", bg: "#65459B", text: "#fff" }, | ||
options: config, | ||
}; | ||
} |
@@ -92,12 +92,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/twitter.svg", | ||
logoDark: "/twitter-dark.svg", | ||
bg: "#fff", | ||
text: "#1da1f2", | ||
bgDark: "#1da1f2", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/twitter.svg", bg: "#1da1f2", text: "#fff" }, | ||
options: config, | ||
}; | ||
} |
@@ -89,12 +89,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/vk.svg", | ||
logoDark: "/vk-dark.svg", | ||
bg: "#fff", | ||
text: "#07F", | ||
bgDark: "#07F", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/vk.svg", bg: "#07F", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -82,12 +82,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/wikimedia.svg", | ||
logoDark: "/wikimedia-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/wikimedia.svg", bg: "#000", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -133,12 +133,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/workos.svg", | ||
logoDark: "/workos-dark.svg", | ||
bg: "#fff", | ||
text: "#6363f1", | ||
bgDark: "#6363f1", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/workos.svg", bg: "#6363f1", text: "#fff" }, | ||
options, | ||
}; | ||
} |
@@ -68,7 +68,4 @@ /** | ||
logo: "/yandex.svg", | ||
logoDark: "/yandex.svg", | ||
bg: "#ffcc00", | ||
text: "#000", | ||
bgDark: "#ffcc00", | ||
textDark: "#000", | ||
}, | ||
@@ -75,0 +72,0 @@ options, |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://zitadel.com/"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/zitadel-dark.svg" height="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/zitadel.svg" height="48"/> | ||
* </a> | ||
@@ -8,0 +8,0 @@ * </div> |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://zitadel.com/"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/zitadel-dark.svg" height="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/zitadel.svg" height="48"/> | ||
* </a> | ||
@@ -8,0 +8,0 @@ * </div> |
@@ -0,1 +1,2 @@ | ||
// Generated by `pnpm css` | ||
export default `:root { | ||
@@ -6,2 +7,3 @@ --border-width: 1px; | ||
--color-info: #157efb; | ||
--color-info-hover: #0f6ddb; | ||
--color-info-text: #fff; | ||
@@ -13,2 +15,3 @@ } | ||
--color-background: #ececec; | ||
--color-background-hover: rgba(236, 236, 236, 0.8); | ||
--color-background-card: #fff; | ||
@@ -25,2 +28,3 @@ --color-text: #000; | ||
--color-background: #161b22; | ||
--color-background-hover: rgba(22, 27, 34, 0.8); | ||
--color-background-card: #0d1117; | ||
@@ -38,2 +42,3 @@ --color-text: #fff; | ||
--color-background: #161b22; | ||
--color-background-hover: rgba(22, 27, 34, 0.8); | ||
--color-background-card: #0d1117; | ||
@@ -47,3 +52,32 @@ --color-text: #fff; | ||
} | ||
button, | ||
a.button { | ||
color: var(--provider-dark-color, var(--color-primary)); | ||
background-color: var(--provider-dark-bg, var(--color-background)); | ||
} | ||
button:hover, a.button:hover { | ||
background-color: var( | ||
--provider-dark-bg-hover, | ||
var(--color-background-hover) | ||
) !important; | ||
} | ||
#provider-logo { | ||
display: none !important; | ||
} | ||
#provider-logo-dark { | ||
width: 25px; | ||
display: block !important; | ||
} | ||
} | ||
html { | ||
box-sizing: border-box; | ||
} | ||
*, | ||
*:before, | ||
*:after { | ||
box-sizing: inherit; | ||
margin: 0; | ||
padding: 0; | ||
} | ||
@@ -60,5 +94,5 @@ body { | ||
h1 { | ||
font-weight: 400; | ||
margin-bottom: 1.5rem; | ||
padding: 0 1rem; | ||
font-weight: 400; | ||
color: var(--color-text); | ||
@@ -68,2 +102,4 @@ } | ||
p { | ||
margin-bottom: 1.5rem; | ||
padding: 0 1rem; | ||
color: var(--color-text); | ||
@@ -102,4 +138,2 @@ } | ||
p { | ||
margin: 0 0 1.5rem 0; | ||
padding: 0 1rem; | ||
font-size: 1.1rem; | ||
@@ -126,6 +160,5 @@ line-height: 2rem; | ||
a.button { | ||
margin: 0 0 0.75rem 0; | ||
padding: 0.75rem 1rem; | ||
color: var(--provider-color, var(--color-primary)); | ||
background-color: var(--provider-bg, var(--color-background-card)); | ||
background-color: var(--provider-bg); | ||
font-size: 1.1rem; | ||
@@ -143,14 +176,13 @@ min-height: 62px; | ||
@media (max-width: 450px) { | ||
button, | ||
a.button { | ||
font-size: 0.9rem | ||
} | ||
} | ||
button:hover, a.button:hover { | ||
background-color: var(--provider-bg-hover, var(--color-background-hover)); | ||
cursor: pointer; | ||
} | ||
/* &:focus { | ||
outline: none; | ||
border: 1px solid; | ||
border-color: var(--color-info); | ||
} */ | ||
button:active, a.button:active { | ||
@@ -175,16 +207,8 @@ cursor: pointer; | ||
@media (prefers-color-scheme: dark) { | ||
button, | ||
a.button { | ||
color: var(--provider-dark-color, var(--color-primary)); | ||
background-color: var(--provider-dark-bg, var(--color-background)); | ||
#submitButton:hover { | ||
background-color: var( | ||
--button-hover-bg, | ||
var(--colo r-info-hover) | ||
) !important; | ||
} | ||
#provider-logo { | ||
display: none !important; | ||
} | ||
#provider-logo-dark { | ||
width: 25px; | ||
display: block !important; | ||
} | ||
} | ||
@@ -210,2 +234,3 @@ a.site { | ||
padding: 0; | ||
box-sizing: border-box; | ||
} | ||
@@ -218,3 +243,2 @@ | ||
.error a.button { | ||
display: inline-block; | ||
padding-left: 2rem; | ||
@@ -280,35 +304,17 @@ padding-right: 2rem; | ||
.signin > div, | ||
.signin form { | ||
.signin .provider + .provider { | ||
margin-top: 1rem; | ||
} | ||
max-width: 300px; | ||
} | ||
.logo { | ||
display: inline-block; | ||
max-width: 150px; | ||
margin-top: 20px; | ||
margin-bottom: 25px; | ||
margin: 1.25rem 0; | ||
max-height: 70px; | ||
} | ||
@media screen and (min-width: 450px) { | ||
.card { | ||
width: 350px | ||
} | ||
} | ||
@media screen and (max-width: 450px) { | ||
.card { | ||
width: 200px | ||
} | ||
} | ||
.card { | ||
margin: 20px 0 20px 0; | ||
background-color: var(--color-background-card); | ||
border-radius: 30px; | ||
padding: 20px 50px; | ||
border-radius: 2rem; | ||
padding: 1.25rem 2rem; | ||
} | ||
@@ -323,3 +329,15 @@ | ||
} | ||
@media screen and (min-width: 450px) { | ||
.card { | ||
margin: 2rem 0; | ||
width: 368px; | ||
} | ||
} | ||
@media screen and (max-width: 450px) { | ||
.card { | ||
margin: 1rem 0; | ||
width: 343px; | ||
} | ||
} | ||
` | ||
// Generated by `pnpm css` |
@@ -7,3 +7,3 @@ /** | ||
* <a href="https://apple.com" style={{backgroundColor: "black", padding: "12px", borderRadius: "100%" }}> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/apple-dark.svg" width="24"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/apple.svg" width="24"/> | ||
* </a> | ||
@@ -175,7 +175,4 @@ * </div> | ||
logo: "/apple.svg", | ||
logoDark: "/apple-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
text: "#fff", | ||
bg: "#000", | ||
}, | ||
@@ -182,0 +179,0 @@ options, |
@@ -7,3 +7,3 @@ /** | ||
* <a href="https://wso2.com/asgardeo/" style={{backgroundColor: "#ECEFF1", padding: "12px", borderRadius: "100%" }}> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/asgardeo-dark.svg" width="24"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/asgardeo.svg" width="24"/> | ||
* </a> | ||
@@ -117,7 +117,4 @@ * </div> | ||
logo: "/asgardeo.svg", | ||
logoDark: "/asgardeo-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
bg: "#000", | ||
text: "#fff", | ||
}, | ||
@@ -124,0 +121,0 @@ options: config, |
@@ -101,12 +101,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/atlassian.svg", | ||
logoDark: "/atlassian-dark.svg", | ||
bg: "#0052cc", | ||
text: "#fff", | ||
bgDark: "#fff", | ||
textDark: "#0052cc", | ||
}, | ||
style: { logo: "/atlassian.svg", bg: "#fff", text: "#0052cc" }, | ||
options, | ||
} | ||
} |
@@ -7,3 +7,3 @@ /** | ||
* <a href="https://auth0.com" style={{backgroundColor: "black", padding: "12px", borderRadius: "100%" }}> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/auth0-dark.svg" width="24"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/auth0.svg" width="24"/> | ||
* </a> | ||
@@ -127,12 +127,5 @@ * </div> | ||
type: "oidc", | ||
style: { | ||
logo: "/auth0.svg", | ||
logoDark: "/auth0-dark.svg", | ||
bg: "#fff", | ||
text: "#EB5424", | ||
bgDark: "#EB5424", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/auth0.svg", text: "#fff", bg: "#EB5424" }, | ||
options: config, | ||
} | ||
} |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://learn.microsoft.com/en-us/azure/active-directory-b2c/tutorial-create-tenant"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/azure-dark.svg" height="48" width="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/azure.svg" height="48" width="48"/> | ||
* </a> | ||
@@ -126,12 +126,5 @@ * </div> | ||
}, | ||
style: { | ||
logo: "/azure.svg", | ||
logoDark: "/azure-dark.svg", | ||
bg: "#fff", | ||
text: "#0072c6", | ||
bgDark: "#0072c6", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/azure.svg", text: "#fff", bg: "#0072c6" }, | ||
options, | ||
} | ||
} |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://learn.microsoft.com/en-us/azure/active-directory"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/azure-dark.svg" height="48" width="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/azure.svg" height="48" width="48"/> | ||
* </a> | ||
@@ -137,3 +137,3 @@ * </div> | ||
params: { | ||
scope: 'openid profile email User.Read', | ||
scope: "openid profile email User.Read", | ||
}, | ||
@@ -166,12 +166,5 @@ }, | ||
}, | ||
style: { | ||
logo: "/azure.svg", | ||
logoDark: "/azure-dark.svg", | ||
bg: "#fff", | ||
text: "#0072c6", | ||
bgDark: "#0072c6", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/azure.svg", text: "#fff", bg: "#0072c6" }, | ||
options: rest, | ||
} | ||
} |
@@ -94,12 +94,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/battlenet.svg", | ||
logoDark: "/battlenet-dark.svg", | ||
bg: "#fff", | ||
text: "#148eff", | ||
bgDark: "#148eff", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/battlenet.svg", bg: "#148eff", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://www.beyondidentity.com/"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/beyondidentity-dark.svg" height="48" width="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/beyondidentity.svg" height="48" width="48"/> | ||
* </a> | ||
@@ -91,7 +91,4 @@ * </div> | ||
logo: "/beyondidentity.svg", | ||
logoDark: "/beyondidentity-dark.svg", | ||
bg: "#fff", | ||
bgDark: "#5077c5", | ||
text: "#5077c5", | ||
textDark: "#fff", | ||
bg: "#5077c5", | ||
text: "#fff", | ||
}, | ||
@@ -98,0 +95,0 @@ options: config, |
@@ -81,7 +81,4 @@ /** | ||
logo: "/box.svg", | ||
logoDark: "/box-dark.svg", | ||
bg: "#fff", | ||
text: "#0075C9", | ||
bgDark: "#0075C9", | ||
textDark: "#fff", | ||
bg: "#0075C9", | ||
text: "#fff", | ||
}, | ||
@@ -88,0 +85,0 @@ options, |
@@ -95,7 +95,4 @@ /** | ||
logo: "/click-up.svg", | ||
logoDark: "/click-up.svg", | ||
bg: "#fff", | ||
bgDark: "#24292f", | ||
text: "#000", | ||
textDark: "#fff", | ||
bg: "#24292f", | ||
text: "#fff", | ||
}, | ||
@@ -102,0 +99,0 @@ options: config, |
@@ -83,12 +83,5 @@ /** | ||
type: "oidc", | ||
style: { | ||
logo: "/cognito.svg", | ||
logoDark: "/cognito.svg", | ||
bg: "#fff", | ||
text: "#C17B9E", | ||
bgDark: "#fff", | ||
textDark: "#C17B9E", | ||
}, | ||
style: { logo: "/cognito.svg", bg: "#fff", text: "#C17B9E" }, | ||
options, | ||
} | ||
} |
@@ -16,5 +16,5 @@ /** | ||
/** The returned user profile from Descope when using the profile callback. | ||
/** The returned user profile from Descope when using the profile callback. | ||
* [See Load User](https://docs.descope.com/api/openapi/usermanagement/operation/LoadUser/) | ||
*/ | ||
*/ | ||
export interface DescopeProfile { | ||
@@ -112,7 +112,4 @@ /** The user's unique Descope ID */ | ||
logo: "/descope.svg", | ||
logoDark: "/descope.svg", | ||
bg: "#1C1C23", | ||
text: "#ffffff", | ||
bgDark: "#1C1C23", | ||
textDark: "#ffffff", | ||
}, | ||
@@ -119,0 +116,0 @@ options: config, |
@@ -161,12 +161,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/discord.svg", | ||
logoDark: "/discord-dark.svg", | ||
bg: "#fff", | ||
text: "#7289DA", | ||
bgDark: "#7289DA", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/discord.svg", bg: "#5865F2", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -111,10 +111,5 @@ /** | ||
style: { | ||
// Light mode | ||
logo: "/dribbble.svg", | ||
text: "#ea4c89", | ||
bg: "#fff", | ||
// Dark mode | ||
logoDark: "/dribbble-dark.svg", | ||
textDark: "#fff", | ||
bgDark: "#000", | ||
text: "#fff", | ||
bg: "#000", | ||
}, | ||
@@ -121,0 +116,0 @@ |
@@ -13,3 +13,18 @@ import type { CommonProviderOptions } from "./index.js" | ||
// TODO: Make use of https://www.typescriptlang.org/docs/handbook/2/template-literal-types.html for the string | ||
type AllTransportOptions = string | SMTPTransport | SMTPTransport.Options | SMTPPool | SMTPPool.Options | SendmailTransport | SendmailTransport.Options | StreamTransport | StreamTransport.Options | JSONTransport | JSONTransport.Options | SESTransport | SESTransport.Options | Transport<any> | TransportOptions | ||
type AllTransportOptions = | ||
| string | ||
| SMTPTransport | ||
| SMTPTransport.Options | ||
| SMTPPool | ||
| SMTPPool.Options | ||
| SendmailTransport | ||
| SendmailTransport.Options | ||
| StreamTransport | ||
| StreamTransport.Options | ||
| JSONTransport | ||
| JSONTransport.Options | ||
| SESTransport | ||
| SESTransport.Options | ||
| Transport<any> | ||
| TransportOptions | ||
@@ -39,3 +54,3 @@ export interface SendVerificationRequestParams { | ||
*/ | ||
export interface EmailUserConfig { | ||
export interface EmailUserConfig extends Record<string, unknown> { | ||
server?: AllTransportOptions | ||
@@ -114,3 +129,2 @@ type?: "email" | ||
// TODO: Rename to Token provider | ||
@@ -117,0 +131,0 @@ // when started working on https://github.com/nextauthjs/next-auth/discussions/1465 |
@@ -106,12 +106,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/facebook.svg", | ||
logoDark: "/facebook-dark.svg", | ||
bg: "#fff", | ||
text: "#006aff", | ||
bgDark: "#006aff", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/facebook.svg", bg: "#006aff", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -94,7 +94,4 @@ /** | ||
logo: "/foursquare.svg", | ||
logoDark: "/foursquare-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
bg: "#000", | ||
text: "#fff", | ||
}, | ||
@@ -101,0 +98,0 @@ options, |
@@ -81,7 +81,4 @@ /** | ||
logo: "/freshbooks.svg", | ||
logoDark: "/freshbooks-dark.svg", | ||
bg: "#fff", | ||
text: "#0075dd", | ||
bgDark: "#0075dd", | ||
textDark: "#fff", | ||
bg: "#0075dd", | ||
text: "#fff", | ||
}, | ||
@@ -88,0 +85,0 @@ options, |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://github.com"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/github-dark.svg" height="48" width="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/github.svg" height="48" width="48"/> | ||
* </a> | ||
@@ -172,12 +172,5 @@ * </div> | ||
}, | ||
style: { | ||
logo: "/github.svg", | ||
logoDark: "/github-dark.svg", | ||
bg: "#fff", | ||
bgDark: "#24292f", | ||
text: "#000", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/github.svg", bg: "#24292f", text: "#fff" }, | ||
options: config, | ||
} | ||
} |
@@ -127,12 +127,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/gitlab.svg", | ||
logoDark: "/gitlab-dark.svg", | ||
bg: "#fff", | ||
text: "#FC6D26", | ||
bgDark: "#FC6D26", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/gitlab.svg", bg: "#FC6D26", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -144,12 +144,5 @@ /** | ||
issuer: "https://accounts.google.com", | ||
style: { | ||
logo: "/google.svg", | ||
logoDark: "/google.svg", | ||
bgDark: "#fff", | ||
bg: "#fff", | ||
text: "#000", | ||
textDark: "#000", | ||
}, | ||
style: { logo: "/google.svg", bg: "#fff", text: "#000" }, | ||
options, | ||
} | ||
} |
@@ -109,12 +109,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/hubspot.svg", | ||
logoDark: "/hubspot-dark.svg", | ||
bg: "#fff", | ||
text: "#ff7a59", | ||
bgDark: "#ff7a59", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/hubspot.svg", bg: "#ff7a59", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -94,7 +94,4 @@ /** | ||
logo: "/instagram.svg", | ||
logoDark: "/instagram.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#fff", | ||
textDark: "#000", | ||
}, | ||
@@ -101,0 +98,0 @@ options: config, |
@@ -102,12 +102,5 @@ /** | ||
type: "oidc", | ||
style: { | ||
logo: "/keycloak.svg", | ||
logoDark: "/keycloak.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#fff", | ||
textDark: "#000", | ||
}, | ||
style: { logo: "/keycloak.svg", bg: "#fff", text: "#000" }, | ||
options, | ||
} | ||
} |
@@ -93,12 +93,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/line.svg", | ||
logoDark: "/line.svg", | ||
bg: "#fff", | ||
text: "#00C300", | ||
bgDark: "#00C300", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/line.svg", bg: "#00C300", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -15,9 +15,9 @@ /** | ||
export interface LinkedInProfile extends Record<string, any> { | ||
sub: string, | ||
name: string, | ||
given_name: string, | ||
family_name: string, | ||
picture: string, | ||
locale: string, | ||
email: string, | ||
sub: string | ||
name: string | ||
given_name: string | ||
family_name: string | ||
picture: string | ||
locale: string | ||
email: string | ||
email_verified: boolean | ||
@@ -89,15 +89,8 @@ } | ||
email: profile.email, | ||
image: profile.picture | ||
image: profile.picture, | ||
} | ||
}, | ||
style: { | ||
logo: "/linkedin.svg", | ||
logoDark: "/linkedin-dark.svg", | ||
bg: "#fff", | ||
text: "#069", | ||
bgDark: "#069", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/linkedin.svg", bg: "#069", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -81,7 +81,4 @@ /** | ||
logo: "/mailchimp.svg", | ||
logoDark: "/mailchimp-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
bg: "#000", | ||
text: "#fff", | ||
}, | ||
@@ -88,0 +85,0 @@ options: config, |
@@ -145,12 +145,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/mattermost.svg", | ||
logoDark: "/mattermost-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/mattermost.svg", bg: "#000", text: "#fff" }, | ||
options: rest, | ||
} | ||
} |
@@ -155,12 +155,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/notion.svg", | ||
logoDark: "/notion.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#fff", | ||
textDark: "#000", | ||
}, | ||
style: { logo: "/notion.svg", bg: "#fff", text: "#000" }, | ||
options, | ||
} | ||
} |
@@ -102,7 +102,7 @@ import type { Client } from "oauth4webapi" | ||
logo: string | ||
logoDark: string | ||
logoDark?: string | ||
bg: string | ||
bgDark: string | ||
bgDark?: string | ||
text: string | ||
textDark: string | ||
textDark?: string | ||
} | ||
@@ -109,0 +109,0 @@ |
@@ -101,12 +101,5 @@ /** | ||
type: "oidc", | ||
style: { | ||
logo: "/okta.svg", | ||
logoDark: "/okta-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/okta.svg", bg: "#000", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -94,7 +94,4 @@ /** | ||
logo: "/passage.svg", | ||
logoDark: "/passage.svg", | ||
bg: "#fff", | ||
bgDark: "#fff", | ||
text: "#000", | ||
textDark: "#000", | ||
}, | ||
@@ -101,0 +98,0 @@ options: config, |
@@ -90,12 +90,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/patreon.svg", | ||
logoDark: "/patreon.svg", | ||
bg: "#fff", | ||
text: "#e85b46", | ||
bgDark: "#000", | ||
textDark: "#e85b46", | ||
}, | ||
style: { logo: "/patreon.svg", bg: "#e85b46", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -99,7 +99,4 @@ /** | ||
logo: "/reddit.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
logoDark: "/reddit.svg", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
bg: "#000", | ||
text: "#fff", | ||
}, | ||
@@ -106,0 +103,0 @@ options: config, |
@@ -108,12 +108,5 @@ /** | ||
issuer: "https://slack.com", | ||
style: { | ||
logo: "/slack.svg", | ||
logoDark: "/slack.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/slack.svg", bg: "#000", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -91,12 +91,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/spotify.svg", | ||
logoDark: "/spotify.svg", | ||
bg: "#fff", | ||
text: "#2ebd59", | ||
bgDark: "#fff", | ||
textDark: "#2ebd59", | ||
}, | ||
style: { logo: "/spotify.svg", text: "#fff", bg: "#000" }, | ||
options, | ||
} | ||
} |
@@ -154,22 +154,22 @@ /** | ||
* - [Avaliable Scopes](https://developers.tiktok.com/doc/tiktok-api-scopes/) | ||
* | ||
* | ||
* | ||
* ### Notes | ||
* | ||
* :::tip | ||
* | ||
* | ||
* Production applications cannot use localhost URLs to sign in with Tiktok. You need add the domain and Callback/Redirect url's to your Tiktok app and have them review and approved by the Tiktok Team. | ||
* | ||
* | ||
* ::: | ||
* | ||
* :::tip | ||
* | ||
* | ||
* Email address is not supported by Tiktok. | ||
* | ||
* | ||
* ::: | ||
* | ||
* :::tip | ||
* | ||
* | ||
* Client_ID will be the Client Key in the Tiktok Application | ||
* | ||
* | ||
* ::: | ||
@@ -181,6 +181,6 @@ * | ||
* :::tip | ||
* | ||
* | ||
* The Tiktok provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/tiktok.ts). | ||
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/providers/custom-provider#override-default-options). | ||
* | ||
* | ||
* ::: | ||
@@ -263,7 +263,4 @@ * | ||
logo: "/tiktok.svg", | ||
logoDark: "/tiktok-dark.svg", | ||
bg: "#fff", | ||
bgDark: "#000", | ||
text: "#000", | ||
textDark: "#fff", | ||
bg: "#000", | ||
text: "#fff", | ||
}, | ||
@@ -270,0 +267,0 @@ options, |
@@ -114,12 +114,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/todoist.svg", | ||
logoDark: "/todoist.svg", | ||
bg: "#fff", | ||
text: "#E44332", | ||
bgDark: "#000", | ||
textDark: "#E44332", | ||
}, | ||
style: { logo: "/todoist.svg", text: "#000", bg: "#E44332" }, | ||
options, | ||
} | ||
} |
@@ -115,12 +115,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/trakt.svg", | ||
logoDark: "/trakt-dark.svg", | ||
bg: "#fff", | ||
text: "#ED2224", | ||
bgDark: "#ED2224", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/trakt.svg", bg: "#ED2224", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -116,12 +116,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/twitch.svg", | ||
logoDark: "/twitch-dark.svg", | ||
bg: "#fff", | ||
text: "#65459B", | ||
bgDark: "#65459B", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/twitch.svg", bg: "#65459B", text: "#fff" }, | ||
options: config, | ||
} | ||
} |
@@ -200,12 +200,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/twitter.svg", | ||
logoDark: "/twitter-dark.svg", | ||
bg: "#fff", | ||
text: "#1da1f2", | ||
bgDark: "#1da1f2", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/twitter.svg", bg: "#1da1f2", text: "#fff" }, | ||
options: config, | ||
} | ||
} |
@@ -385,12 +385,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/vk.svg", | ||
logoDark: "/vk-dark.svg", | ||
bg: "#fff", | ||
text: "#07F", | ||
bgDark: "#07F", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/vk.svg", bg: "#07F", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -250,12 +250,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/wikimedia.svg", | ||
logoDark: "/wikimedia-dark.svg", | ||
bg: "#fff", | ||
text: "#000", | ||
bgDark: "#000", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/wikimedia.svg", bg: "#000", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -169,12 +169,5 @@ /** | ||
}, | ||
style: { | ||
logo: "/workos.svg", | ||
logoDark: "/workos-dark.svg", | ||
bg: "#fff", | ||
text: "#6363f1", | ||
bgDark: "#6363f1", | ||
textDark: "#fff", | ||
}, | ||
style: { logo: "/workos.svg", bg: "#6363f1", text: "#fff" }, | ||
options, | ||
} | ||
} |
@@ -147,7 +147,4 @@ /** | ||
logo: "/yandex.svg", | ||
logoDark: "/yandex.svg", | ||
bg: "#ffcc00", | ||
text: "#000", | ||
bgDark: "#ffcc00", | ||
textDark: "#000", | ||
}, | ||
@@ -154,0 +151,0 @@ options, |
@@ -5,3 +5,3 @@ /** | ||
* <a href="https://zitadel.com/"> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/zitadel-dark.svg" height="48"/> | ||
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/zitadel.svg" height="48"/> | ||
* </a> | ||
@@ -8,0 +8,0 @@ * </div> |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1347846
34287