Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
451 changes: 380 additions & 71 deletions README.md

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions examples/angular/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@
"@angular/platform-server": "^20.2.2",
"@angular/router": "^20.2.2",
"@angular/ssr": "^20.2.2",
"@invertase/firebaseui-angular": "workspace:*",
"@invertase/firebaseui-core": "workspace:*",
"@invertase/firebaseui-styles": "workspace:*",
"@invertase/firebaseui-translations": "workspace:*",
"@firebase-oss/ui-angular": "workspace:*",
"@firebase-oss/ui-core": "workspace:*",
"@firebase-oss/ui-styles": "workspace:*",
"@firebase-oss/ui-translations": "workspace:*",
"@tailwindcss/postcss": "^4.0.6",
"express": "^4.18.2",
"postcss": "^8.5.2",
Expand Down
4 changes: 2 additions & 2 deletions examples/angular/src/app/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ import { Auth, multiFactor, sendEmailVerification, signOut, type User } from "@a
import { routes } from "./routes";
import { ThemeToggleComponent } from "./components/theme-toggle/theme-toggle.component";
import { PirateToggleComponent } from "./components/pirate-toggle/pirate-toggle.component";
import { MultiFactorAuthAssertionScreenComponent } from "@invertase/firebaseui-angular";
import { injectUI } from "@invertase/firebaseui-angular";
import { MultiFactorAuthAssertionScreenComponent } from "@firebase-oss/ui-angular";
import { injectUI } from "@firebase-oss/ui-angular";

@Component({
selector: "app-unauthenticated",
Expand Down
4 changes: 2 additions & 2 deletions examples/angular/src/app/app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ import { provideClientHydration, withEventReplay } from "@angular/platform-brows

import { provideFirebaseApp, initializeApp } from "@angular/fire/app";
import { provideAuth, getAuth, connectAuthEmulator } from "@angular/fire/auth";
import { provideFirebaseUI, provideFirebaseUIPolicies } from "@invertase/firebaseui-angular";
import { initializeUI } from "@invertase/firebaseui-core";
import { provideFirebaseUI, provideFirebaseUIPolicies } from "@firebase-oss/ui-angular";
import { initializeUI } from "@firebase-oss/ui-core";

const firebaseConfig = {
apiKey: "AIzaSyCvMftIUCD9lUQ3BzIrimfSfBbCUQYZf-I",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router, RouterModule } from "@angular/router";
import { Auth, type User, authState } from "@angular/fire/auth";
import { EmailLinkAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular";
import { EmailLinkAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-email-link-oauth",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router, RouterModule } from "@angular/router";
import { Auth, type User, authState } from "@angular/fire/auth";
import { EmailLinkAuthScreenComponent } from "@invertase/firebaseui-angular";
import { EmailLinkAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-email-link",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router, RouterModule } from "@angular/router";
import { Auth, type User, authState } from "@angular/fire/auth";
import { ForgotPasswordAuthScreenComponent } from "@invertase/firebaseui-angular";
import { ForgotPasswordAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-forgot-password",
Expand Down
2 changes: 1 addition & 1 deletion examples/angular/src/app/auth/oauth/oauth.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router, RouterModule } from "@angular/router";
import { Auth, type User, authState } from "@angular/fire/auth";
import { OAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular";
import { OAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-oauth",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router, RouterModule } from "@angular/router";
import { Auth, type User, authState } from "@angular/fire/auth";
import { PhoneAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular";
import { PhoneAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-phone-oauth",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router, RouterModule } from "@angular/router";
import { Auth, type User, authState } from "@angular/fire/auth";
import { PhoneAuthScreenComponent } from "@invertase/firebaseui-angular";
import { PhoneAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-phone",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router, RouterModule } from "@angular/router";
import { Auth, type User, authState } from "@angular/fire/auth";
import { SignUpAuthScreenComponent } from "@invertase/firebaseui-angular";
import { SignUpAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-register",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router, RouterModule } from "@angular/router";
import { Auth, type User, authState } from "@angular/fire/auth";
import { SignInAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular";
import { SignInAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-sign-in-oauth",
Expand Down
2 changes: 1 addition & 1 deletion examples/angular/src/app/auth/sign-in/sign-in.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router, RouterModule } from "@angular/router";
import { Auth, type User, authState } from "@angular/fire/auth";
import { SignInAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular";
import { SignInAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-sign-in",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router, RouterModule } from "@angular/router";
import { Auth, type User, authState } from "@angular/fire/auth";
import { SignUpAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular";
import { SignUpAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-sign-up-oauth",
Expand Down
2 changes: 1 addition & 1 deletion examples/angular/src/app/auth/sign-up/sign-up.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router, RouterModule } from "@angular/router";
import { Auth, type User, authState } from "@angular/fire/auth";
import { SignUpAuthScreenComponent } from "@invertase/firebaseui-angular";
import { SignUpAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-sign-up",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@

import { Component, computed } from "@angular/core";
import { CommonModule } from "@angular/common";
import { injectUI } from "@invertase/firebaseui-angular";
import { enUs } from "@invertase/firebaseui-translations";
import { injectUI } from "@firebase-oss/ui-angular";
import { enUs } from "@firebase-oss/ui-translations";
import { pirate } from "../../pirate";

@Component({
Expand Down
2 changes: 1 addition & 1 deletion examples/angular/src/app/pirate.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { registerLocale } from "@invertase/firebaseui-translations";
import { registerLocale } from "@firebase-oss/ui-translations";

export const pirate = registerLocale("pirate", {
errors: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

import { Component, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { EmailLinkAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular";
import { EmailLinkAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-oss/ui-angular";
import { Router } from "@angular/router";

@Component({
Expand Down
4 changes: 2 additions & 2 deletions examples/angular/src/app/screens/email-link-auth-screen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
* limitations under the License.
*/

import { Component, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { EmailLinkAuthScreenComponent } from "@invertase/firebaseui-angular";
import { Component, inject } from "@angular/core";
import { Router } from "@angular/router";
import { EmailLinkAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-email-link-auth-screen",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import { Component, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router } from "@angular/router";
import { ForgotPasswordAuthScreenComponent } from "@invertase/firebaseui-angular";
import { ForgotPasswordAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-forgot-password-auth-screen-w-handlers",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
* limitations under the License.
*/

import { Component } from "@angular/core";
import { CommonModule } from "@angular/common";
import { ForgotPasswordAuthScreenComponent } from "@invertase/firebaseui-angular";
import { Component } from "@angular/core";
import { ForgotPasswordAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-forgot-password-auth-screen",
Expand Down
2 changes: 1 addition & 1 deletion examples/angular/src/app/screens/mfa-enrollment-screen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import { Component, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router } from "@angular/router";
import { MultiFactorAuthEnrollmentScreenComponent } from "@invertase/firebaseui-angular";
import { MultiFactorAuthEnrollmentScreenComponent } from "@firebase-oss/ui-angular";
import { FactorId } from "firebase/auth";

@Component({
Expand Down
2 changes: 1 addition & 1 deletion examples/angular/src/app/screens/oauth-screen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import {
GitHubSignInButtonComponent,
MicrosoftSignInButtonComponent,
TwitterSignInButtonComponent,
} from "@invertase/firebaseui-angular";
} from "@firebase-oss/ui-angular";
import { Router } from "@angular/router";

@Component({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

import { Component, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { PhoneAuthScreenComponent, GoogleSignInButtonComponent, ContentComponent } from "@invertase/firebaseui-angular";
import { PhoneAuthScreenComponent, GoogleSignInButtonComponent, ContentComponent } from "@firebase-oss/ui-angular";
import { Router } from "@angular/router";

@Component({
Expand Down
4 changes: 2 additions & 2 deletions examples/angular/src/app/screens/phone-auth-screen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
* limitations under the License.
*/

import { Component, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { PhoneAuthScreenComponent } from "@invertase/firebaseui-angular";
import { Component, inject } from "@angular/core";
import { Router } from "@angular/router";
import { PhoneAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-phone-auth-screen",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import { Component, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router } from "@angular/router";
import { SignInAuthScreenComponent } from "@invertase/firebaseui-angular";
import { SignInAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-sign-in-auth-screen-w-handlers",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import {
GitHubSignInButtonComponent,
MicrosoftSignInButtonComponent,
TwitterSignInButtonComponent,
} from "@invertase/firebaseui-angular";
} from "@firebase-oss/ui-angular";
import { Router } from "@angular/router";

@Component({
Expand Down
4 changes: 2 additions & 2 deletions examples/angular/src/app/screens/sign-in-auth-screen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
* limitations under the License.
*/

import { Component, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { SignInAuthScreenComponent } from "@invertase/firebaseui-angular";
import { Component, inject } from "@angular/core";
import { Router } from "@angular/router";
import { SignInAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-sign-in-auth-screen",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import { Component, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { Router } from "@angular/router";
import { SignUpAuthScreenComponent } from "@invertase/firebaseui-angular";
import { SignUpAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-sign-up-auth-screen-w-handlers",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import {
GitHubSignInButtonComponent,
MicrosoftSignInButtonComponent,
TwitterSignInButtonComponent,
} from "@invertase/firebaseui-angular";
} from "@firebase-oss/ui-angular";
import { Router } from "@angular/router";

@Component({
Expand Down
4 changes: 2 additions & 2 deletions examples/angular/src/app/screens/sign-up-auth-screen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
* limitations under the License.
*/

import { Component, inject } from "@angular/core";
import { CommonModule } from "@angular/common";
import { SignUpAuthScreenComponent } from "@invertase/firebaseui-angular";
import { Component, inject } from "@angular/core";
import { Router } from "@angular/router";
import { SignUpAuthScreenComponent } from "@firebase-oss/ui-angular";

@Component({
selector: "app-sign-up-auth-screen",
Expand Down
3 changes: 1 addition & 2 deletions examples/angular/src/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,4 @@

/* You can add global styles to this file, and also import other style files */
@import "tailwindcss";
@custom-variant dark (&:where(.dark, .dark *));
@import "@invertase/firebaseui-styles/tailwind";
@import "@firebase-oss/ui-styles/tailwind";
2 changes: 1 addition & 1 deletion examples/nextjs-ssr/app/forgot-password/screen.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

"use client";

import { ForgotPasswordAuthScreen } from "@invertase/firebaseui-react";
import { ForgotPasswordAuthScreen } from "@firebase-oss/ui-react";
import { useRouter } from "next/navigation";

export default function Screen() {
Expand Down
2 changes: 1 addition & 1 deletion examples/nextjs-ssr/app/register/screen.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"use client";

import { useUser } from "@/lib/firebase/hooks";
import { GoogleSignInButton, SignUpAuthScreen } from "@invertase/firebaseui-react";
import { GoogleSignInButton, SignUpAuthScreen } from "@firebase-oss/ui-react";
import { useRouter } from "next/navigation";
import { useEffect } from "react";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import {
MicrosoftSignInButton,
TwitterSignInButton,
OAuthButton,
} from "@invertase/firebaseui-react";
} from "@firebase-oss/ui-react";
import { OAuthProvider } from "firebase/auth";
import { useRouter } from "next/navigation";

Expand Down
57 changes: 54 additions & 3 deletions examples/nextjs-ssr/app/screens/email-link-auth-screen/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,59 @@

"use client";

import { EmailLinkAuthScreen } from "@invertase/firebaseui-react";
import {
AppleSignInButton,
EmailLinkAuthScreen,
FacebookSignInButton,
GitHubSignInButton,
GoogleSignInButton,
MicrosoftSignInButton,
OAuthButton,
TwitterSignInButton,
} from "@firebase-oss/ui-react";
import { OAuthProvider } from "firebase/auth";
import { useRouter } from "next/navigation";

export default function EmailLinkAuthScreenPage() {
return <EmailLinkAuthScreen />;
export default function EmailLinkAuthScreenWithOAuthPage() {
const router = useRouter();

return (
<EmailLinkAuthScreen
onEmailSent={() => {
alert("Email has been sent - please check your email");
}}
onSignIn={(credential) => {
console.log(credential);
router.push("/");
}}
>
<GoogleSignInButton />
<FacebookSignInButton />
<AppleSignInButton />
<GitHubSignInButton />
<MicrosoftSignInButton />
<TwitterSignInButton />
<LineSignInButton />
</EmailLinkAuthScreen>
);
}

function LineSignInButton() {
const provider = new OAuthProvider("oidc.line");

return (
<OAuthButton provider={provider}>
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 48 48">
<path
fill="#00c300"
d="M12.5 42h23a6.5 6.5 0 0 0 6.5-6.5v-23A6.5 6.5 0 0 0 35.5 6h-23A6.5 6.5 0 0 0 6 12.5v23a6.5 6.5 0 0 0 6.5 6.5"
/>
<path
fill="#fff"
d="M37.113 22.417c0-5.865-5.88-10.637-13.107-10.637s-13.108 4.772-13.108 10.637c0 5.258 4.663 9.662 10.962 10.495.427.092 1.008.282 1.155.646.132.331.086.85.042 1.185 0 0-.153.925-.187 1.122-.057.331-.263 1.296 1.135.707s7.548-4.445 10.298-7.611h-.001c1.901-2.082 2.811-4.197 2.811-6.544m-18.238 3.49h-2.604a.69.69 0 0 1-.687-.688V20.01a.688.688 0 0 1 1.374 0v4.521h1.917a.688.688 0 0 1 0 1.376m2.693-.688a.688.688 0 1 1-1.374 0V20.01a.688.688 0 0 1 1.374 0zm6.27 0a.684.684 0 0 1-.688.688.69.69 0 0 1-.549-.275l-2.669-3.635v3.222a.689.689 0 0 1-1.376 0V20.01a.687.687 0 0 1 1.237-.412l2.67 3.635V20.01a.688.688 0 0 1 1.375 0zm4.214-3.292a.689.689 0 0 1 0 1.375h-1.917v1.23h1.917a.688.688 0 0 1 0 1.375h-2.604a.69.69 0 0 1-.687-.688v-5.208c0-.379.308-.687.687-.687h2.604a.688.688 0 1 1 0 1.374h-1.917v1.23h1.917z"
/>
</svg>
<span>Sign in with Line</span>
</OAuthButton>
);
}
Loading
Loading