Social Auth Buttons
Branded OAuth authentication buttons for Apple, Google, and GitHub.
// SYSTEM.STAGE
Installation
Install the component and its peer dependencies automatically via the CLI:
// SYS.USAGE
Drop this code into your screen or view:
1import SocialAuthButtons from "@/components/social-auth-buttons";2 3export default function LoginScreen() {4 return (5 <SocialAuthButtons6 theme="dark"7 showDivider={true}8 dividerText="or continue with"9 onGooglePress={async () => {10 console.log("Initiate Google OAuth");11 }}12 onApplePress={async () => {13 console.log("Initiate Apple Sign-In");14 }}15 onGithubPress={async () => {16 console.log("Initiate GitHub OAuth");17 }}18 />19 );20}// SPEC.PROPS_API
Configurable interfaces for <SocialAuthButtons />
| PROP_IDENTIFIER | TYPE_SIGNATURE | DEFAULT_VAL | TELEMETRY_NOTES |
|---|---|---|---|
| theme | "dark" | "light" | "dark" | Color theme mode for button backgrounds, borders, and brand labels. |
| onApplePress | () => void | Promise<void> | undefined | Callback fired when the Apple authentication button is pressed. |
| onGooglePress | () => void | Promise<void> | undefined | Callback fired when the Google authentication button is pressed. |
| onGithubPress | () => void | Promise<void> | undefined | Callback fired when the GitHub authentication button is pressed. |
| showDivider | boolean | false | Whether to render a stylized divider above the social auth button stack. |
| dividerText | string | "Or continue with" | Text displayed in the center of the divider. |
| disabled | boolean | false | Disables interaction across all buttons during active authentication flows. |
Color theme mode for button backgrounds, borders, and brand labels.
"dark"Callback fired when the Apple authentication button is pressed.
undefinedCallback fired when the Google authentication button is pressed.
undefinedCallback fired when the GitHub authentication button is pressed.
undefinedWhether to render a stylized divider above the social auth button stack.
falseText displayed in the center of the divider.
"Or continue with"Disables interaction across all buttons during active authentication flows.
false// PERFORMANCE_&_A11Y
Native touch gestures, screen reader attributes, and 60–120 FPS frame budgets: