@firebase-oss/ui-angular 0.0.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/README.md +64 -0
- package/dist/README.md +64 -0
- package/dist/fesm2022/firebase-oss-ui-angular.mjs +3288 -0
- package/dist/fesm2022/firebase-oss-ui-angular.mjs.map +1 -0
- package/dist/index.d.ts +804 -0
- package/package.json +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase-oss-ui-angular.mjs","sources":["../../src/lib/components/button.ts","../../src/lib/components/form.ts","../../src/lib/provider.ts","../../src/lib/components/policies.ts","../../src/lib/auth/forms/email-link-auth-form.ts","../../src/lib/auth/forms/forgot-password-auth-form.ts","../../src/lib/auth/forms/mfa/sms-multi-factor-assertion-form.ts","../../src/lib/auth/forms/mfa/totp-multi-factor-assertion-form.ts","../../src/lib/auth/forms/multi-factor-auth-assertion-form.ts","../../src/lib/components/country-selector.ts","../../src/lib/auth/forms/phone-auth-form.ts","../../src/lib/auth/forms/sign-in-auth-form.ts","../../src/lib/auth/forms/sign-up-auth-form.ts","../../src/lib/auth/oauth/oauth-button.ts","../../src/lib/components/logos/google.ts","../../src/lib/auth/oauth/google-sign-in-button.ts","../../src/lib/components/logos/facebook.ts","../../src/lib/auth/oauth/facebook-sign-in-button.ts","../../src/lib/components/logos/apple.ts","../../src/lib/auth/oauth/apple-sign-in-button.ts","../../src/lib/components/logos/microsoft.ts","../../src/lib/auth/oauth/microsoft-sign-in-button.ts","../../src/lib/components/logos/twitter.ts","../../src/lib/auth/oauth/twitter-sign-in-button.ts","../../src/lib/components/logos/github.ts","../../src/lib/auth/oauth/github-sign-in-button.ts","../../src/lib/components/card.ts","../../src/lib/components/redirect-error.ts","../../src/lib/auth/screens/email-link-auth-screen.ts","../../src/lib/auth/screens/forgot-password-auth-screen.ts","../../src/lib/components/divider.ts","../../src/lib/components/content.ts","../../src/lib/auth/screens/oauth-screen.ts","../../src/lib/auth/screens/phone-auth-screen.ts","../../src/lib/auth/screens/sign-in-auth-screen.ts","../../src/lib/auth/screens/sign-up-auth-screen.ts","../../src/public-api.ts","../../src/firebase-oss-ui-angular.ts"],"sourcesContent":["/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, HostBinding, input } from \"@angular/core\";\nimport { buttonVariant, type ButtonVariant } from \"@firebase-oss/ui-styles\";\n\n@Component({\n selector: \"button[fui-button]\",\n template: `<ng-content></ng-content>`,\n standalone: true,\n})\nexport class ButtonComponent {\n variant = input<ButtonVariant>();\n\n @HostBinding(\"class\")\n get getButtonClasses(): string {\n return buttonVariant({ variant: this.variant() });\n }\n}\n","import { Component, computed, input } from \"@angular/core\";\nimport { AnyFieldApi, AnyFormState, injectField } from \"@tanstack/angular-form\";\nimport { ButtonComponent } from \"./button\";\n\n@Component({\n selector: \"fui-form-metadata\",\n standalone: true,\n template: `\n @if (field().state.meta.isTouched && errors().length > 0) {\n <div>\n <div role=\"alert\" aria-live=\"polite\" class=\"fui-form__error\">\n {{ errors() }}\n </div>\n </div>\n }\n `,\n})\nexport class FormMetadataComponent {\n field = input.required<AnyFieldApi>();\n errors = computed(() =>\n this.field()\n .state.meta.errors.map((error) => error.message)\n .join(\", \")\n );\n}\n\n@Component({\n selector: \"fui-form-input\",\n standalone: true,\n imports: [FormMetadataComponent],\n template: `\n <label [for]=\"field.api.name\">\n <div data-input-label>\n <div>{{ label() }}</div>\n <div><ng-content select=\"input-action\" /></div>\n </div>\n <div data-input-group>\n <ng-content select=\"input-before\" />\n <input\n [attr.aria-invalid]=\"field.api.state.meta.isTouched && field.api.state.meta.errors.length > 0\"\n [id]=\"field.api.name\"\n [name]=\"field.api.name\"\n [value]=\"field.api.state.value\"\n (blur)=\"field.api.handleBlur()\"\n (input)=\"field.api.handleChange($any($event).target.value)\"\n [type]=\"type()\"\n />\n </div>\n <ng-content></ng-content>\n <fui-form-metadata [field]=\"field.api\"></fui-form-metadata>\n </label>\n `,\n})\nexport class FormInputComponent {\n field = injectField<string>();\n label = input.required<string>();\n type = input<string>(\"text\");\n}\n\n@Component({\n selector: \"button[fui-form-action]\",\n standalone: true,\n host: {\n class: \"fui-form__action\",\n type: \"button\",\n },\n template: `<ng-content></ng-content> `,\n})\nexport class FormActionComponent {}\n\n@Component({\n selector: \"fui-form-submit\",\n standalone: true,\n imports: [ButtonComponent],\n host: {\n type: \"submit\",\n },\n template: `\n <button fui-button class=\"fui-form__action\" [class]=\"class()\" [disabled]=\"isSubmitting()\">\n <ng-content></ng-content>\n </button>\n `,\n})\nexport class FormSubmitComponent {\n class = input<string>();\n state = input.required<AnyFormState>();\n\n isSubmitting = computed(() => this.state().isSubmitting);\n}\n\n@Component({\n selector: \"fui-form-error-message\",\n standalone: true,\n template: `\n @if (errorMessage()) {\n <div class=\"fui-form__error\">\n {{ errorMessage() }}\n </div>\n }\n `,\n})\nexport class FormErrorMessageComponent {\n state = input.required<AnyFormState>();\n\n errorMessage = computed(() => {\n const error = this.state().errorMap?.onSubmit;\n\n // We only care about errors thrown from the form submission, rather than validation errors\n if (error && typeof error === \"string\") {\n return error;\n }\n\n return undefined;\n });\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Provider,\n EnvironmentProviders,\n makeEnvironmentProviders,\n InjectionToken,\n inject,\n signal,\n computed,\n effect,\n Signal,\n ElementRef,\n} from \"@angular/core\";\nimport { FirebaseApps } from \"@angular/fire/app\";\nimport {\n createEmailLinkAuthFormSchema,\n createForgotPasswordAuthFormSchema,\n createPhoneAuthNumberFormSchema,\n createPhoneAuthVerifyFormSchema,\n createSignInAuthFormSchema,\n createSignUpAuthFormSchema,\n createMultiFactorPhoneAuthNumberFormSchema,\n createMultiFactorPhoneAuthVerifyFormSchema,\n createMultiFactorTotpAuthNumberFormSchema,\n createMultiFactorTotpAuthVerifyFormSchema,\n FirebaseUIStore,\n type FirebaseUI as FirebaseUIType,\n getTranslation,\n getBehavior,\n type CountryData,\n} from \"@firebase-oss/ui-core\";\n\nconst FIREBASE_UI_STORE = new InjectionToken<FirebaseUIStore>(\"firebaseui.store\");\nconst FIREBASE_UI_POLICIES = new InjectionToken<PolicyConfig>(\"firebaseui.policies\");\n\ntype PolicyConfig = {\n termsOfServiceUrl: string;\n privacyPolicyUrl: string;\n};\n\nexport function provideFirebaseUI(uiFactory: (apps: FirebaseApps) => FirebaseUIStore): EnvironmentProviders {\n const providers: Provider[] = [\n // TODO: This should depend on the FirebaseAuth provider via deps,\n // see https://github.com/angular/angularfire/blob/35e0a9859299010488852b1826e4083abe56528f/src/firestore/firestore.module.ts#L76\n {\n provide: FIREBASE_UI_STORE,\n useFactory: () => {\n const apps = inject(FirebaseApps);\n if (!apps || apps.length === 0) {\n throw new Error(\"No Firebase apps found\");\n }\n return uiFactory(apps);\n },\n },\n ];\n\n return makeEnvironmentProviders(providers);\n}\n\nexport function provideFirebaseUIPolicies(factory: () => PolicyConfig) {\n const providers: Provider[] = [{ provide: FIREBASE_UI_POLICIES, useFactory: factory }];\n\n return makeEnvironmentProviders(providers);\n}\n\nexport function injectUI() {\n const store = inject(FIREBASE_UI_STORE);\n const ui = signal<FirebaseUIType>(store.get());\n\n effect(() => {\n return store.subscribe(ui.set);\n });\n\n return ui.asReadonly();\n}\n\nexport function injectRecaptchaVerifier(element: () => ElementRef<HTMLDivElement>) {\n const ui = injectUI();\n const verifier = computed(() => {\n const elementRef = element();\n if (!elementRef) {\n return null;\n }\n return getBehavior(ui(), \"recaptchaVerification\")(ui(), elementRef.nativeElement);\n });\n\n effect(() => {\n const verifierInstance = verifier();\n if (verifierInstance) {\n verifierInstance.render();\n }\n });\n\n return verifier;\n}\n\nexport function injectTranslation(category: string, key: string) {\n const ui = injectUI();\n return computed(() => getTranslation(ui(), category as any, key as any));\n}\n\nexport function injectSignInAuthFormSchema(): Signal<ReturnType<typeof createSignInAuthFormSchema>> {\n const ui = injectUI();\n return computed(() => createSignInAuthFormSchema(ui()));\n}\n\nexport function injectSignUpAuthFormSchema(): Signal<ReturnType<typeof createSignUpAuthFormSchema>> {\n const ui = injectUI();\n return computed(() => createSignUpAuthFormSchema(ui()));\n}\n\nexport function injectForgotPasswordAuthFormSchema(): Signal<ReturnType<typeof createForgotPasswordAuthFormSchema>> {\n const ui = injectUI();\n return computed(() => createForgotPasswordAuthFormSchema(ui()));\n}\n\nexport function injectEmailLinkAuthFormSchema(): Signal<ReturnType<typeof createEmailLinkAuthFormSchema>> {\n const ui = injectUI();\n return computed(() => createEmailLinkAuthFormSchema(ui()));\n}\n\nexport function injectPhoneAuthFormSchema(): Signal<ReturnType<typeof createPhoneAuthNumberFormSchema>> {\n const ui = injectUI();\n return computed(() => createPhoneAuthNumberFormSchema(ui()));\n}\n\nexport function injectPhoneAuthVerifyFormSchema(): Signal<ReturnType<typeof createPhoneAuthVerifyFormSchema>> {\n const ui = injectUI();\n return computed(() => createPhoneAuthVerifyFormSchema(ui()));\n}\n\nexport function injectMultiFactorPhoneAuthNumberFormSchema(): Signal<\n ReturnType<typeof createMultiFactorPhoneAuthNumberFormSchema>\n> {\n const ui = injectUI();\n return computed(() => createMultiFactorPhoneAuthNumberFormSchema(ui()));\n}\n\nexport function injectMultiFactorPhoneAuthVerifyFormSchema(): Signal<\n ReturnType<typeof createMultiFactorPhoneAuthVerifyFormSchema>\n> {\n const ui = injectUI();\n return computed(() => createMultiFactorPhoneAuthVerifyFormSchema(ui()));\n}\n\nexport function injectMultiFactorTotpAuthNumberFormSchema(): Signal<\n ReturnType<typeof createMultiFactorTotpAuthNumberFormSchema>\n> {\n const ui = injectUI();\n return computed(() => createMultiFactorTotpAuthNumberFormSchema(ui()));\n}\n\nexport function injectMultiFactorTotpAuthVerifyFormSchema(): Signal<\n ReturnType<typeof createMultiFactorTotpAuthVerifyFormSchema>\n> {\n const ui = injectUI();\n return computed(() => createMultiFactorTotpAuthVerifyFormSchema(ui()));\n}\n\nexport function injectPolicies(): PolicyConfig | null {\n return inject<PolicyConfig | null>(FIREBASE_UI_POLICIES, { optional: true });\n}\n\nexport function injectCountries(): Signal<CountryData[]> {\n const ui = injectUI();\n return computed(() => getBehavior(ui(), \"countryCodes\")().allowedCountries);\n}\n\nexport function injectDefaultCountry(): Signal<CountryData> {\n const ui = injectUI();\n return computed(() => getBehavior(ui(), \"countryCodes\")().defaultCountry);\n}\n\nexport function injectRedirectError(): Signal<string | undefined> {\n const ui = injectUI();\n return computed(() => {\n const redirectError = ui().redirectError;\n if (!redirectError) {\n return undefined;\n }\n return redirectError instanceof Error ? redirectError.message : String(redirectError);\n });\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, computed, Signal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { injectPolicies, injectTranslation } from \"../provider\";\n\ntype PolicyPart =\n | { type: \"tos\"; url: string; text: string }\n | { type: \"privacy\"; url: string; text: string }\n | { type: \"text\"; content: string };\n\n@Component({\n selector: \"fui-policies\",\n standalone: true,\n imports: [CommonModule],\n template: `\n @if (shouldShow()) {\n <div class=\"fui-policies\">\n @for (part of policyParts(); track $index) {\n @if (part.type === \"tos\") {\n <a [attr.href]=\"part.url\" target=\"_blank\" rel=\"noopener noreferrer\">\n {{ part.text }}\n </a>\n } @else if (part.type === \"privacy\") {\n <a [attr.href]=\"part.url\" target=\"_blank\" rel=\"noopener noreferrer\">\n {{ part.text }}\n </a>\n } @else {\n <span>{{ part.content }}</span>\n }\n }\n </div>\n }\n `,\n})\nexport class PoliciesComponent {\n private readonly policies = injectPolicies();\n\n private readonly termsText = injectTranslation(\"labels\", \"termsOfService\");\n private readonly privacyText = injectTranslation(\"labels\", \"privacyPolicy\");\n private readonly templateText = injectTranslation(\"messages\", \"termsAndPrivacy\");\n\n private readonly tosUrl = this.policies?.termsOfServiceUrl;\n private readonly privacyPolicyUrl = this.policies?.privacyPolicyUrl;\n\n readonly shouldShow = computed(() => this.policies !== null);\n\n readonly policyParts: Signal<PolicyPart[]> = computed(() => {\n if (!this.shouldShow()) {\n return [];\n }\n\n const template = this.templateText();\n const parts = template.split(/({tos}|{privacy})/);\n\n return parts\n .filter((part) => part.length > 0)\n .map((part) => {\n if (part === \"{tos}\" && this.tosUrl) {\n return {\n type: \"tos\" as const,\n url: this.tosUrl,\n text: this.termsText(),\n };\n }\n if (part === \"{privacy}\" && this.privacyPolicyUrl) {\n return {\n type: \"privacy\" as const,\n url: this.privacyPolicyUrl,\n text: this.privacyText(),\n };\n }\n return {\n type: \"text\" as const,\n content: part,\n };\n });\n });\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, effect, output, signal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { injectForm, injectStore, TanStackAppField, TanStackField } from \"@tanstack/angular-form\";\nimport { UserCredential } from \"@angular/fire/auth\";\nimport { FirebaseUIError, completeEmailLinkSignIn, sendSignInLinkToEmail } from \"@firebase-oss/ui-core\";\n\nimport { FormInputComponent, FormSubmitComponent, FormErrorMessageComponent } from \"../../components/form\";\nimport { PoliciesComponent } from \"../../components/policies\";\nimport { injectEmailLinkAuthFormSchema, injectTranslation, injectUI } from \"../../provider\";\n\n@Component({\n selector: \"fui-email-link-auth-form\",\n standalone: true,\n imports: [\n CommonModule,\n TanStackField,\n TanStackAppField,\n PoliciesComponent,\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n ],\n template: `\n @if (emailSentState()) {\n <div class=\"fui-form__success\">\n {{ emailSentMessage() }}\n </div>\n }\n\n @if (!emailSentState()) {\n <form (submit)=\"handleSubmit($event)\" class=\"fui-form\">\n <fieldset>\n <fui-form-input name=\"email\" tanstack-app-field [tanstackField]=\"form\" label=\"{{ emailLabel() }}\" />\n </fieldset>\n\n <fui-policies />\n\n <fieldset>\n <fui-form-submit [state]=\"state()\">\n {{ sendSignInLinkLabel() }}\n </fui-form-submit>\n <fui-form-error-message [state]=\"state()\" />\n </fieldset>\n </form>\n }\n `,\n})\nexport class EmailLinkAuthFormComponent {\n private ui = injectUI();\n private formSchema = injectEmailLinkAuthFormSchema();\n\n emailSentState = signal<boolean>(false);\n\n emailLabel = injectTranslation(\"labels\", \"emailAddress\");\n sendSignInLinkLabel = injectTranslation(\"labels\", \"sendSignInLink\");\n emailSentMessage = injectTranslation(\"messages\", \"signInLinkSent\");\n unknownErrorLabel = injectTranslation(\"errors\", \"unknownError\");\n\n emailSent = output<void>();\n signIn = output<UserCredential>();\n\n form = injectForm({\n defaultValues: {\n email: \"\",\n },\n });\n\n state = injectStore(this.form, (state) => state);\n\n async handleSubmit(event: SubmitEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.form.handleSubmit();\n }\n\n constructor() {\n this.completeSignIn();\n\n effect(() => {\n this.form.update({\n validators: {\n onBlur: this.formSchema(),\n onSubmit: this.formSchema(),\n onSubmitAsync: async ({ value }) => {\n try {\n await sendSignInLinkToEmail(this.ui(), value.email);\n this.emailSentState.set(true);\n this.emailSent?.emit();\n return;\n } catch (error) {\n if (error instanceof FirebaseUIError) {\n return error.message;\n }\n\n return this.unknownErrorLabel();\n }\n },\n },\n });\n });\n }\n\n private async completeSignIn() {\n const credential = await completeEmailLinkSignIn(this.ui(), window.location.href);\n\n if (credential) {\n this.signIn?.emit(credential);\n }\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, effect, output, signal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { injectForm, injectStore, TanStackAppField, TanStackField } from \"@tanstack/angular-form\";\nimport { FirebaseUIError, sendPasswordResetEmail } from \"@firebase-oss/ui-core\";\n\nimport {\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n FormActionComponent,\n} from \"../../components/form\";\nimport { PoliciesComponent } from \"../../components/policies\";\nimport { injectForgotPasswordAuthFormSchema, injectTranslation, injectUI } from \"../../provider\";\n\n@Component({\n selector: \"fui-forgot-password-auth-form\",\n standalone: true,\n imports: [\n CommonModule,\n TanStackField,\n TanStackAppField,\n PoliciesComponent,\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n FormActionComponent,\n ],\n template: `\n @if (emailSent()) {\n <div class=\"fui-form__success\">\n {{ checkEmailForResetMessage() }}\n </div>\n }\n\n @if (!emailSent()) {\n <form (submit)=\"handleSubmit($event)\" class=\"fui-form\">\n <fieldset>\n <fui-form-input name=\"email\" tanstack-app-field [tanstackField]=\"form\" label=\"{{ emailLabel() }}\" />\n </fieldset>\n\n <fui-policies />\n\n <fieldset>\n <fui-form-submit [state]=\"state()\">\n {{ resetPasswordLabel() }}\n </fui-form-submit>\n <fui-form-error-message [state]=\"state()\" />\n </fieldset>\n\n @if (backToSignIn) {\n <button fui-form-action (click)=\"backToSignIn.emit()\">{{ backToSignInLabel() }} →</button>\n }\n </form>\n }\n `,\n})\nexport class ForgotPasswordAuthFormComponent {\n private ui = injectUI();\n private formSchema = injectForgotPasswordAuthFormSchema();\n\n emailSent = signal<boolean>(false);\n\n emailLabel = injectTranslation(\"labels\", \"emailAddress\");\n resetPasswordLabel = injectTranslation(\"labels\", \"resetPassword\");\n backToSignInLabel = injectTranslation(\"labels\", \"backToSignIn\");\n checkEmailForResetMessage = injectTranslation(\"messages\", \"checkEmailForReset\");\n unknownErrorLabel = injectTranslation(\"errors\", \"unknownError\");\n\n passwordSent = output<void>();\n backToSignIn = output<void>();\n\n form = injectForm({\n defaultValues: {\n email: \"\",\n },\n });\n\n state = injectStore(this.form, (state) => state);\n\n async handleSubmit(event: SubmitEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.form.handleSubmit();\n }\n\n constructor() {\n effect(() => {\n this.form.update({\n validators: {\n onBlur: this.formSchema(),\n onSubmit: this.formSchema(),\n onSubmitAsync: async ({ value }) => {\n try {\n await sendPasswordResetEmail(this.ui(), value.email);\n this.emailSent.set(true);\n this.passwordSent?.emit();\n return;\n } catch (error) {\n if (error instanceof FirebaseUIError) {\n return error.message;\n }\n\n return this.unknownErrorLabel();\n }\n },\n },\n });\n });\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, ElementRef, effect, input, signal, output, computed, viewChild } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { injectForm, injectStore, TanStackAppField, TanStackField } from \"@tanstack/angular-form\";\nimport {\n injectMultiFactorPhoneAuthNumberFormSchema,\n injectMultiFactorPhoneAuthVerifyFormSchema,\n injectRecaptchaVerifier,\n injectTranslation,\n injectUI,\n} from \"../../../provider\";\nimport { RecaptchaVerifier } from \"@angular/fire/auth\";\nimport { FormInputComponent, FormSubmitComponent, FormErrorMessageComponent } from \"../../../components/form\";\nimport { FirebaseUIError, verifyPhoneNumber, signInWithMultiFactorAssertion } from \"@firebase-oss/ui-core\";\nimport { PhoneAuthProvider, PhoneMultiFactorGenerator, type MultiFactorInfo } from \"firebase/auth\";\n\ntype PhoneMultiFactorInfo = MultiFactorInfo & {\n phoneNumber?: string;\n};\n\n@Component({\n selector: \"fui-sms-multi-factor-assertion-phone-form\",\n standalone: true,\n imports: [\n CommonModule,\n TanStackField,\n TanStackAppField,\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n ],\n template: `\n <form (submit)=\"handleSubmit($event)\" class=\"fui-form\">\n <fieldset>\n <fui-form-input\n name=\"phoneNumber\"\n tanstack-app-field\n [tanstackField]=\"form\"\n label=\"{{ phoneNumberLabel() }}\"\n type=\"tel\"\n ></fui-form-input>\n </fieldset>\n <fieldset>\n <div class=\"fui-recaptcha-container\" #recaptchaContainer></div>\n </fieldset>\n <fieldset>\n <fui-form-submit [state]=\"state()\">\n {{ sendCodeLabel() }}\n </fui-form-submit>\n <fui-form-error-message [state]=\"state()\" />\n </fieldset>\n </form>\n `,\n})\nexport class SmsMultiFactorAssertionPhoneFormComponent {\n private ui = injectUI();\n private formSchema = injectMultiFactorPhoneAuthNumberFormSchema();\n\n hint = input.required<MultiFactorInfo>();\n onSubmit = output<string>();\n\n phoneNumberLabel = injectTranslation(\"labels\", \"phoneNumber\");\n sendCodeLabel = injectTranslation(\"labels\", \"sendCode\");\n unknownErrorLabel = injectTranslation(\"errors\", \"unknownError\");\n\n recaptchaContainer = viewChild.required<ElementRef<HTMLDivElement>>(\"recaptchaContainer\");\n\n phoneNumber = computed(() => {\n const hint = this.hint() as PhoneMultiFactorInfo;\n return hint.phoneNumber || \"\";\n });\n\n recaptchaVerifier = injectRecaptchaVerifier(() => this.recaptchaContainer());\n\n form = injectForm({\n defaultValues: {\n phoneNumber: \"\",\n },\n });\n\n state = injectStore(this.form, (state) => state);\n\n constructor() {\n effect(() => {\n // Set the phone number value from the hint\n this.form.setFieldValue(\"phoneNumber\", this.phoneNumber());\n });\n\n effect(() => {\n this.form.update({\n validators: {\n onBlur: this.formSchema(),\n onSubmit: this.formSchema(),\n onSubmitAsync: async () => {\n try {\n const verifier = this.recaptchaVerifier();\n if (!verifier) {\n return this.unknownErrorLabel();\n }\n\n const verificationId = await verifyPhoneNumber(this.ui(), \"\", verifier, undefined, this.hint());\n this.onSubmit.emit(verificationId);\n return;\n } catch (error) {\n if (error instanceof FirebaseUIError) {\n return error.message;\n }\n return this.unknownErrorLabel();\n }\n },\n },\n });\n });\n\n effect((onCleanup) => {\n const verifier = this.recaptchaVerifier();\n onCleanup(() => {\n if (verifier) {\n verifier.clear();\n }\n });\n });\n }\n\n async handleSubmit(event: SubmitEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.form.handleSubmit();\n }\n}\n\n@Component({\n selector: \"fui-sms-multi-factor-assertion-verify-form\",\n standalone: true,\n imports: [\n CommonModule,\n TanStackField,\n TanStackAppField,\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n ],\n template: `\n <form (submit)=\"handleSubmit($event)\" class=\"fui-form\">\n <fieldset>\n <fui-form-input\n name=\"verificationCode\"\n tanstack-app-field\n [tanstackField]=\"form\"\n label=\"{{ verificationCodeLabel() }}\"\n type=\"text\"\n ></fui-form-input>\n </fieldset>\n <fieldset>\n <fui-form-submit [state]=\"state()\">\n {{ verifyCodeLabel() }}\n </fui-form-submit>\n <fui-form-error-message [state]=\"state()\" />\n </fieldset>\n </form>\n `,\n})\nexport class SmsMultiFactorAssertionVerifyFormComponent {\n private ui = injectUI();\n private formSchema = injectMultiFactorPhoneAuthVerifyFormSchema();\n\n verificationId = input.required<string>();\n onSuccess = output<void>();\n\n verificationCodeLabel = injectTranslation(\"labels\", \"verificationCode\");\n verifyCodeLabel = injectTranslation(\"labels\", \"verifyCode\");\n unknownErrorLabel = injectTranslation(\"errors\", \"unknownError\");\n\n form = injectForm({\n defaultValues: {\n verificationId: \"\",\n verificationCode: \"\",\n },\n });\n\n state = injectStore(this.form, (state) => state);\n\n constructor() {\n effect(() => {\n this.form.setFieldValue(\"verificationId\", this.verificationId());\n });\n\n effect(() => {\n this.form.update({\n validators: {\n onBlur: this.formSchema(),\n onSubmit: this.formSchema(),\n onSubmitAsync: async ({ value }) => {\n try {\n const credential = PhoneAuthProvider.credential(value.verificationId, value.verificationCode);\n const assertion = PhoneMultiFactorGenerator.assertion(credential);\n await signInWithMultiFactorAssertion(this.ui(), assertion);\n this.onSuccess.emit();\n return;\n } catch (error) {\n if (error instanceof FirebaseUIError) {\n return error.message;\n }\n return this.unknownErrorLabel();\n }\n },\n },\n });\n });\n }\n\n async handleSubmit(event: SubmitEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.form.handleSubmit();\n }\n}\n\n@Component({\n selector: \"fui-sms-multi-factor-assertion-form\",\n standalone: true,\n imports: [CommonModule, SmsMultiFactorAssertionPhoneFormComponent, SmsMultiFactorAssertionVerifyFormComponent],\n template: `\n <div class=\"fui-content\">\n @if (verification()) {\n <fui-sms-multi-factor-assertion-verify-form\n [verificationId]=\"verification()!.verificationId\"\n (onSuccess)=\"onSuccess.emit()\"\n />\n } @else {\n <fui-sms-multi-factor-assertion-phone-form [hint]=\"hint()\" (onSubmit)=\"handlePhoneSubmit($event)\" />\n }\n </div>\n `,\n})\nexport class SmsMultiFactorAssertionFormComponent {\n hint = input.required<MultiFactorInfo>();\n onSuccess = output<void>();\n\n verification = signal<{ verificationId: string } | null>(null);\n\n handlePhoneSubmit(verificationId: string) {\n this.verification.set({ verificationId });\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, effect, input, output } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { injectForm, injectStore, TanStackAppField, TanStackField } from \"@tanstack/angular-form\";\nimport { injectMultiFactorTotpAuthVerifyFormSchema, injectTranslation, injectUI } from \"../../../provider\";\nimport { FormInputComponent, FormSubmitComponent, FormErrorMessageComponent } from \"../../../components/form\";\nimport { FirebaseUIError, signInWithMultiFactorAssertion } from \"@firebase-oss/ui-core\";\nimport { TotpMultiFactorGenerator, type MultiFactorInfo } from \"firebase/auth\";\n\n@Component({\n selector: \"fui-totp-multi-factor-assertion-form\",\n standalone: true,\n imports: [\n CommonModule,\n TanStackField,\n TanStackAppField,\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n ],\n template: `\n <form (submit)=\"handleSubmit($event)\" class=\"fui-form\">\n <fieldset>\n <fui-form-input\n name=\"verificationCode\"\n tanstack-app-field\n [tanstackField]=\"form\"\n label=\"{{ verificationCodeLabel() }}\"\n type=\"text\"\n placeholder=\"123456\"\n maxlength=\"6\"\n ></fui-form-input>\n </fieldset>\n <fieldset>\n <fui-form-submit [state]=\"state()\">\n {{ verifyCodeLabel() }}\n </fui-form-submit>\n <fui-form-error-message [state]=\"state()\" />\n </fieldset>\n </form>\n `,\n})\nexport class TotpMultiFactorAssertionFormComponent {\n private ui = injectUI();\n private formSchema = injectMultiFactorTotpAuthVerifyFormSchema();\n\n hint = input.required<MultiFactorInfo>();\n onSuccess = output<void>();\n\n verificationCodeLabel = injectTranslation(\"labels\", \"verificationCode\");\n verifyCodeLabel = injectTranslation(\"labels\", \"verifyCode\");\n unknownErrorLabel = injectTranslation(\"errors\", \"unknownError\");\n\n form = injectForm({\n defaultValues: {\n verificationCode: \"\",\n },\n });\n\n state = injectStore(this.form, (state) => state);\n\n constructor() {\n effect(() => {\n this.form.update({\n validators: {\n onBlur: this.formSchema(),\n onSubmit: this.formSchema(),\n onSubmitAsync: async ({ value }) => {\n try {\n const assertion = TotpMultiFactorGenerator.assertionForSignIn(this.hint().uid, value.verificationCode);\n await signInWithMultiFactorAssertion(this.ui(), assertion);\n this.onSuccess.emit();\n return;\n } catch (error) {\n if (error instanceof FirebaseUIError) {\n return error.message;\n }\n return this.unknownErrorLabel();\n }\n },\n },\n });\n });\n }\n\n async handleSubmit(event: SubmitEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.form.handleSubmit();\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, computed, signal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { injectUI, injectTranslation } from \"../../provider\";\nimport { PhoneMultiFactorGenerator, TotpMultiFactorGenerator, type MultiFactorInfo } from \"firebase/auth\";\nimport { SmsMultiFactorAssertionFormComponent } from \"./mfa/sms-multi-factor-assertion-form\";\nimport { TotpMultiFactorAssertionFormComponent } from \"./mfa/totp-multi-factor-assertion-form\";\nimport { ButtonComponent } from \"../../components/button\";\n\n@Component({\n selector: \"fui-multi-factor-auth-assertion-form\",\n standalone: true,\n imports: [CommonModule, SmsMultiFactorAssertionFormComponent, TotpMultiFactorAssertionFormComponent, ButtonComponent],\n template: `\n <div class=\"fui-content\">\n @if (selectedHint()) {\n @if (selectedHint()!.factorId === phoneFactorId()) {\n <fui-sms-multi-factor-assertion-form [hint]=\"selectedHint()!\" />\n } @else if (selectedHint()!.factorId === totpFactorId()) {\n <fui-totp-multi-factor-assertion-form [hint]=\"selectedHint()!\" />\n }\n } @else {\n <p>TODO: Select a multi-factor authentication method</p>\n @for (hint of resolver().hints; track hint.factorId) {\n @if (hint.factorId === totpFactorId()) {\n <button fui-button (click)=\"selectHint(hint)\">\n {{ totpVerificationLabel() }}\n </button>\n } @else if (hint.factorId === phoneFactorId()) {\n <button fui-button (click)=\"selectHint(hint)\">\n {{ smsVerificationLabel() }}\n </button>\n }\n }\n }\n </div>\n `,\n})\nexport class MultiFactorAuthAssertionFormComponent {\n private ui = injectUI();\n\n resolver = computed(() => {\n const resolver = this.ui().multiFactorResolver;\n if (!resolver) {\n throw new Error(\"MultiFactorAuthAssertionForm requires a multi-factor resolver\");\n }\n return resolver;\n });\n\n selectedHint = signal<MultiFactorInfo | undefined>(\n this.resolver().hints.length === 1 ? this.resolver().hints[0] : undefined\n );\n\n phoneFactorId = computed(() => PhoneMultiFactorGenerator.FACTOR_ID);\n totpFactorId = computed(() => TotpMultiFactorGenerator.FACTOR_ID);\n\n smsVerificationLabel = injectTranslation(\"labels\", \"mfaSmsVerification\");\n totpVerificationLabel = injectTranslation(\"labels\", \"mfaTotpVerification\");\n\n selectHint(hint: MultiFactorInfo) {\n this.selectedHint.set(hint);\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, computed, model } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { type CountryCode } from \"@firebase-oss/ui-core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { injectCountries, injectDefaultCountry } from \"../provider\";\n\n@Component({\n selector: \"fui-country-selector\",\n standalone: true,\n imports: [CommonModule, FormsModule],\n template: `\n <div class=\"fui-country-selector\">\n <div class=\"fui-country-selector__wrapper\">\n <span class=\"fui-country-selector__flag\">{{ selected().emoji }}</span>\n <div class=\"fui-country-selector__select-wrapper\">\n <span class=\"fui-country-selector__dial-code\">{{ selected().dialCode }}</span>\n <select\n class=\"fui-country-selector__select\"\n [ngModel]=\"selected().code\"\n (ngModelChange)=\"handleCountryChange($event)\"\n >\n @for (country of countries(); track country.code) {\n <option [value]=\"country.code\">{{ country.dialCode }} ({{ country.name }})</option>\n }\n </select>\n </div>\n </div>\n </div>\n `,\n})\nexport class CountrySelectorComponent {\n countries = injectCountries();\n defaultCountry = injectDefaultCountry();\n value = model<CountryCode>();\n\n selected = computed(() => {\n if (!this.value()) {\n return this.defaultCountry();\n }\n\n return this.countries().find((c) => c.code === this.value()) || this.defaultCountry();\n });\n\n handleCountryChange(code: string) {\n const country = this.countries().find((c) => c.code === code);\n\n if (country) {\n this.value.update(() => country.code as CountryCode);\n }\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, ElementRef, effect, input, signal, output, computed, viewChild } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { injectForm, injectStore, TanStackAppField, TanStackField } from \"@tanstack/angular-form\";\nimport {\n injectPhoneAuthFormSchema,\n injectPhoneAuthVerifyFormSchema,\n injectRecaptchaVerifier,\n injectTranslation,\n injectUI,\n} from \"../../provider\";\nimport { RecaptchaVerifier, UserCredential } from \"@angular/fire/auth\";\nimport { PoliciesComponent } from \"../../components/policies\";\nimport { CountrySelectorComponent } from \"../../components/country-selector\";\nimport { FormInputComponent, FormSubmitComponent, FormErrorMessageComponent } from \"../../components/form\";\nimport {\n countryData,\n FirebaseUIError,\n formatPhoneNumber,\n confirmPhoneNumber,\n verifyPhoneNumber,\n CountryCode,\n} from \"@firebase-oss/ui-core\";\n\n@Component({\n selector: \"fui-phone-number-form\",\n standalone: true,\n imports: [\n CommonModule,\n TanStackField,\n TanStackAppField,\n PoliciesComponent,\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n CountrySelectorComponent,\n ],\n template: `\n <form (submit)=\"handleSubmit($event)\" class=\"fui-form\">\n <fieldset>\n <fui-country-selector [(value)]=\"country\"></fui-country-selector>\n <fui-form-input\n name=\"phoneNumber\"\n tanstack-app-field\n [tanstackField]=\"form\"\n label=\"{{ phoneNumberLabel() }}\"\n ></fui-form-input>\n </fieldset>\n <fieldset>\n <div class=\"fui-recaptcha-container\" #recaptchaContainer></div>\n </fieldset>\n <fui-policies />\n <fieldset>\n <fui-form-submit [state]=\"state()\">\n {{ sendCodeLabel() }}\n </fui-form-submit>\n <fui-form-error-message [state]=\"state()\" />\n </fieldset>\n </form>\n `,\n})\nexport class PhoneNumberFormComponent {\n private ui = injectUI();\n private formSchema = injectPhoneAuthFormSchema();\n\n onSubmit = output<{ verificationId: string; phoneNumber: string }>();\n country = signal<CountryCode>(countryData[0].code);\n\n phoneNumberLabel = injectTranslation(\"labels\", \"phoneNumber\");\n sendCodeLabel = injectTranslation(\"labels\", \"sendCode\");\n unknownErrorLabel = injectTranslation(\"errors\", \"unknownError\");\n\n recaptchaContainer = viewChild.required<ElementRef<HTMLDivElement>>(\"recaptchaContainer\");\n recaptchaVerifier = injectRecaptchaVerifier(() => this.recaptchaContainer());\n\n form = injectForm({\n defaultValues: {\n phoneNumber: \"\",\n },\n });\n\n state = injectStore(this.form, (state) => state);\n\n constructor() {\n effect(() => {\n this.form.update({\n validators: {\n onBlur: this.formSchema(),\n onSubmit: this.formSchema(),\n onSubmitAsync: async ({ value }) => {\n const selectedCountry = countryData.find((c) => c.code === this.country());\n const formattedNumber = formatPhoneNumber(value.phoneNumber, selectedCountry!);\n\n try {\n const verifier = this.recaptchaVerifier();\n if (!verifier) {\n return this.unknownErrorLabel();\n }\n const verificationId = await verifyPhoneNumber(this.ui(), formattedNumber, verifier);\n this.onSubmit.emit({ verificationId, phoneNumber: formattedNumber });\n return;\n } catch (error) {\n if (error instanceof FirebaseUIError) {\n return error.message;\n }\n\n return this.unknownErrorLabel();\n }\n },\n },\n });\n });\n\n effect((onCleanup) => {\n const verifier = this.recaptchaVerifier();\n\n onCleanup(() => {\n if (verifier) {\n verifier.clear();\n }\n });\n });\n }\n\n async handleSubmit(event: SubmitEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.form.handleSubmit();\n }\n}\n\n@Component({\n selector: \"fui-verification-form\",\n standalone: true,\n imports: [\n CommonModule,\n TanStackField,\n TanStackAppField,\n PoliciesComponent,\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n ],\n template: `\n <form (submit)=\"handleSubmit($event)\" class=\"fui-form\">\n <fieldset>\n <fui-form-input\n name=\"verificationCode\"\n tanstack-app-field\n [tanstackField]=\"form\"\n label=\"{{ verificationCodeLabel() }}\"\n ></fui-form-input>\n </fieldset>\n\n <fui-policies />\n\n <fieldset>\n <fui-form-submit [state]=\"state()\">\n {{ verifyCodeLabel() }}\n </fui-form-submit>\n <fui-form-error-message [state]=\"state()\" />\n </fieldset>\n </form>\n `,\n})\nexport class VerificationFormComponent {\n private ui = injectUI();\n private formSchema = injectPhoneAuthVerifyFormSchema();\n\n verificationId = input.required<string>();\n signIn = output<UserCredential>();\n\n verificationCodeLabel = injectTranslation(\"labels\", \"verificationCode\");\n verifyCodeLabel = injectTranslation(\"labels\", \"verifyCode\");\n unknownErrorLabel = injectTranslation(\"errors\", \"unknownError\");\n\n form = injectForm({\n defaultValues: {\n verificationId: \"\",\n verificationCode: \"\",\n },\n });\n\n state = injectStore(this.form, (state) => state);\n\n constructor() {\n effect(() => {\n this.form.setFieldValue(\"verificationId\", this.verificationId());\n });\n\n effect(() => {\n this.form.update({\n validators: {\n onBlur: this.formSchema(),\n onSubmit: this.formSchema(),\n onSubmitAsync: async ({ value }) => {\n try {\n const credential = await confirmPhoneNumber(this.ui(), this.verificationId(), value.verificationCode);\n this.signIn.emit(credential);\n return;\n } catch (error) {\n if (error instanceof FirebaseUIError) {\n return error.message;\n }\n\n return this.unknownErrorLabel();\n }\n },\n },\n });\n });\n }\n\n async handleSubmit(event: SubmitEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.form.handleSubmit();\n }\n}\n\n@Component({\n selector: \"fui-phone-auth-form\",\n standalone: true,\n imports: [CommonModule, PhoneNumberFormComponent, VerificationFormComponent],\n template: `\n <div class=\"fui-form-container\">\n @if (verificationId()) {\n <fui-verification-form [verificationId]=\"verificationId()!\" (signIn)=\"signIn.emit($event)\" />\n } @else {\n <fui-phone-number-form (onSubmit)=\"handlePhoneSubmit($event)\" />\n }\n </div>\n `,\n})\nexport class PhoneAuthFormComponent {\n verificationId = signal<string | null>(null);\n signIn = output<UserCredential>();\n\n handlePhoneSubmit(data: { verificationId: string; phoneNumber: string }) {\n this.verificationId.set(data.verificationId);\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, output, effect } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { UserCredential } from \"@angular/fire/auth\";\nimport { injectForm, TanStackField, TanStackAppField, injectStore } from \"@tanstack/angular-form\";\nimport { FirebaseUIError, signInWithEmailAndPassword } from \"@firebase-oss/ui-core\";\n\nimport { injectSignInAuthFormSchema, injectTranslation, injectUI } from \"../../provider\";\nimport { PoliciesComponent } from \"../../components/policies\";\nimport {\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n FormActionComponent,\n} from \"../../components/form\";\n\n@Component({\n selector: \"fui-sign-in-auth-form\",\n standalone: true,\n imports: [\n CommonModule,\n TanStackField,\n TanStackAppField,\n PoliciesComponent,\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n FormActionComponent,\n ],\n template: `\n <form (submit)=\"handleSubmit($event)\" class=\"fui-form\">\n <fieldset>\n <fui-form-input\n name=\"email\"\n tanstack-app-field\n [tanstackField]=\"form\"\n label=\"{{ emailLabel() }}\"\n ></fui-form-input>\n </fieldset>\n <fieldset>\n <fui-form-input\n name=\"password\"\n tanstack-app-field\n [tanstackField]=\"form\"\n label=\"{{ passwordLabel() }}\"\n type=\"password\"\n >\n @if (forgotPassword) {\n <button ngProjectAs=\"input-action\" fui-form-action (click)=\"forgotPassword.emit()\">\n {{ forgotPasswordLabel() }}\n </button>\n }\n </fui-form-input>\n </fieldset>\n\n <fui-policies />\n\n <fieldset>\n <fui-form-submit [state]=\"state()\">\n {{ signInLabel() }}\n </fui-form-submit>\n <fui-form-error-message [state]=\"state()\" />\n </fieldset>\n\n @if (signUp) {\n <button fui-form-action (click)=\"signUp.emit()\">{{ noAccountLabel() }} {{ signUpLabel() }}</button>\n }\n </form>\n `,\n})\nexport class SignInAuthFormComponent {\n private ui = injectUI();\n private formSchema = injectSignInAuthFormSchema();\n\n emailLabel = injectTranslation(\"labels\", \"emailAddress\");\n passwordLabel = injectTranslation(\"labels\", \"password\");\n forgotPasswordLabel = injectTranslation(\"labels\", \"forgotPassword\");\n signInLabel = injectTranslation(\"labels\", \"signIn\");\n noAccountLabel = injectTranslation(\"prompts\", \"noAccount\");\n signUpLabel = injectTranslation(\"labels\", \"signUp\");\n unknownErrorLabel = injectTranslation(\"errors\", \"unknownError\");\n\n forgotPassword = output<void>();\n signUp = output<void>();\n signIn = output<UserCredential>();\n\n form = injectForm({\n defaultValues: {\n email: \"\",\n password: \"\",\n },\n });\n\n state = injectStore(this.form, (state) => state);\n\n handleSubmit(event: SubmitEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.form.handleSubmit();\n }\n\n constructor() {\n effect(() => {\n this.form.update({\n validators: {\n onChange: this.formSchema(),\n onBlur: this.formSchema(),\n onSubmit: this.formSchema(),\n onSubmitAsync: async ({ value }) => {\n try {\n const credential = await signInWithEmailAndPassword(this.ui(), value.email, value.password);\n this.signIn?.emit(credential);\n return;\n } catch (error) {\n if (error instanceof FirebaseUIError) {\n return error.message;\n }\n\n return this.unknownErrorLabel();\n }\n },\n },\n });\n });\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, output, effect, computed } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { injectForm, injectStore, TanStackAppField, TanStackField } from \"@tanstack/angular-form\";\nimport { FirebaseUIError, createUserWithEmailAndPassword, hasBehavior } from \"@firebase-oss/ui-core\";\nimport { UserCredential } from \"@angular/fire/auth\";\n\nimport { PoliciesComponent } from \"../../components/policies\";\nimport { injectSignUpAuthFormSchema, injectTranslation, injectUI } from \"../../provider\";\nimport {\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n FormActionComponent,\n} from \"../../components/form\";\n\n@Component({\n selector: \"fui-sign-up-auth-form\",\n imports: [\n CommonModule,\n TanStackField,\n TanStackAppField,\n PoliciesComponent,\n FormInputComponent,\n FormSubmitComponent,\n FormErrorMessageComponent,\n FormActionComponent,\n ],\n template: `\n <form (submit)=\"handleSubmit($event)\" class=\"fui-form\">\n @if (requireDisplayNameField()) {\n <fieldset>\n <fui-form-input\n name=\"displayName\"\n tanstack-app-field\n [tanstackField]=\"form\"\n label=\"{{ displayNameLabel() }}\"\n />\n </fieldset>\n }\n <fieldset>\n <fui-form-input name=\"email\" tanstack-app-field [tanstackField]=\"form\" label=\"{{ emailLabel() }}\" />\n </fieldset>\n <fieldset>\n <fui-form-input\n name=\"password\"\n tanstack-app-field\n [tanstackField]=\"form\"\n label=\"{{ passwordLabel() }}\"\n type=\"password\"\n />\n </fieldset>\n <fui-policies />\n <fieldset>\n <fui-form-submit [state]=\"state()\">\n {{ createAccountLabel() }}\n </fui-form-submit>\n <fui-form-error-message [state]=\"state()\" />\n </fieldset>\n\n @if (signIn) {\n <button fui-form-action (click)=\"signIn.emit()\">{{ haveAccountLabel() }} {{ signInLabel() }} →</button>\n }\n </form>\n `,\n standalone: true,\n})\nexport class SignUpAuthFormComponent {\n private ui = injectUI();\n private formSchema = injectSignUpAuthFormSchema();\n\n requireDisplayNameField = computed(() => {\n return hasBehavior(this.ui(), \"requireDisplayName\");\n });\n\n emailLabel = injectTranslation(\"labels\", \"emailAddress\");\n displayNameLabel = injectTranslation(\"labels\", \"displayName\");\n passwordLabel = injectTranslation(\"labels\", \"password\");\n createAccountLabel = injectTranslation(\"labels\", \"createAccount\");\n haveAccountLabel = injectTranslation(\"prompts\", \"haveAccount\");\n signInLabel = injectTranslation(\"labels\", \"signIn\");\n unknownErrorLabel = injectTranslation(\"errors\", \"unknownError\");\n\n signUp = output<UserCredential>();\n signIn = output<void>();\n\n form = injectForm({\n defaultValues: {\n email: \"\",\n password: \"\",\n displayName: this.requireDisplayNameField() ? \"\" : undefined,\n },\n });\n\n state = injectStore(this.form, (state) => state);\n\n handleSubmit(event: SubmitEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.form.handleSubmit();\n }\n\n constructor() {\n effect(() => {\n this.form.update({\n validators: {\n onBlur: this.formSchema(),\n onSubmit: this.formSchema(),\n onSubmitAsync: async ({ value }) => {\n try {\n const credential = await createUserWithEmailAndPassword(\n this.ui(),\n value.email,\n value.password,\n value.displayName\n );\n this.signUp?.emit(credential);\n return;\n } catch (error) {\n if (error instanceof FirebaseUIError) {\n return error.message;\n }\n\n return this.unknownErrorLabel();\n }\n },\n },\n });\n });\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, input, signal } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ButtonComponent } from \"../../components/button\";\nimport { injectTranslation, injectUI } from \"../../provider\";\nimport { AuthProvider } from \"@angular/fire/auth\";\nimport { FirebaseUIError, signInWithProvider } from \"@firebase-oss/ui-core\";\n\n@Component({\n selector: \"fui-oauth-button\",\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n template: `\n <div>\n <button\n fui-button\n type=\"button\"\n (click)=\"handleOAuthSignIn()\"\n [disabled]=\"ui().state !== 'idle'\"\n [attr.data-provider]=\"provider().providerId\"\n class=\"fui-provider__button\"\n >\n <ng-content></ng-content>\n </button>\n\n @if (error()) {\n <div class=\"fui-form__error\">{{ error() }}</div>\n }\n </div>\n `,\n})\nexport class OAuthButtonComponent {\n ui = injectUI();\n unknownErrorLabel = injectTranslation(\"errors\", \"unknownError\");\n provider = input.required<AuthProvider>();\n error = signal<string | undefined>(undefined);\n\n async handleOAuthSignIn() {\n this.error.set(undefined);\n try {\n await signInWithProvider(this.ui(), this.provider());\n } catch (error) {\n if (error instanceof FirebaseUIError) {\n this.error.set(error.message);\n return;\n }\n\n console.error(error);\n this.error.set(this.unknownErrorLabel());\n }\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// GENERATED BY generate-logos.ts\n\nimport { Component, input } from \"@angular/core\";\n\n@Component({\n selector: \"fui-google-logo\",\n standalone: true,\n template: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 48\" class=\"fui-provider__icon\">\n <path\n fill=\"#FFC107\"\n d=\"M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z\"\n />\n <path\n fill=\"#FF3D00\"\n d=\"M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z\"\n />\n <path\n fill=\"#4CAF50\"\n d=\"M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z\"\n />\n <path\n fill=\"#1976D2\"\n d=\"M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571c0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z\"\n />\n </svg>\n `,\n})\nexport class GoogleLogoComponent {\n width = input<string | number>(\"1em\");\n height = input<string | number>(\"1em\");\n className = input<string>(\"\");\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, input } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { GoogleAuthProvider } from \"@angular/fire/auth\";\nimport { injectTranslation, injectUI } from \"../../provider\";\nimport { OAuthButtonComponent } from \"./oauth-button\";\nimport { GoogleLogoComponent } from \"../../components/logos/google\";\n\n@Component({\n selector: \"fui-google-sign-in-button\",\n standalone: true,\n imports: [CommonModule, OAuthButtonComponent, GoogleLogoComponent],\n template: `\n <fui-oauth-button [provider]=\"googleProvider\">\n <fui-google-logo />\n <span>{{ signInWithGoogleLabel() }}</span>\n </fui-oauth-button>\n `,\n})\nexport class GoogleSignInButtonComponent {\n ui = injectUI();\n signInWithGoogleLabel = injectTranslation(\"labels\", \"signInWithGoogle\");\n\n private defaultProvider = new GoogleAuthProvider();\n\n provider = input<GoogleAuthProvider>();\n\n get googleProvider() {\n return this.provider() || this.defaultProvider;\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// GENERATED BY generate-logos.ts\n\nimport { Component, input } from \"@angular/core\";\n\n@Component({\n selector: \"fui-facebook-logo\",\n standalone: true,\n template: `\n <?xml version=\"1.0\"?><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\" class=\"fui-provider__icon\">\n <path\n fill=\"currentColor\"\n d=\"M25,3C12.85,3,3,12.85,3,25c0,11.03,8.125,20.137,18.712,21.728V30.831h-5.443v-5.783h5.443v-3.848 c0-6.371,3.104-9.168,8.399-9.168c2.536,0,3.877,0.188,4.512,0.274v5.048h-3.612c-2.248,0-3.033,2.131-3.033,4.533v3.161h6.588 l-0.894,5.783h-5.694v15.944C38.716,45.318,47,36.137,47,25C47,12.85,37.15,3,25,3z\"\n />\n </svg>\n `,\n})\nexport class FacebookLogoComponent {\n width = input<string | number>(\"1em\");\n height = input<string | number>(\"1em\");\n className = input<string>(\"\");\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, input } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FacebookAuthProvider } from \"@angular/fire/auth\";\nimport { OAuthButtonComponent } from \"./oauth-button\";\nimport { injectTranslation, injectUI } from \"../../provider\";\nimport { FacebookLogoComponent } from \"../../components/logos/facebook\";\n\n@Component({\n selector: \"fui-facebook-sign-in-button\",\n standalone: true,\n imports: [CommonModule, OAuthButtonComponent, FacebookLogoComponent],\n template: `\n <fui-oauth-button [provider]=\"facebookProvider\">\n <fui-facebook-logo />\n <span>{{ signInWithFacebookLabel() }}</span>\n </fui-oauth-button>\n `,\n})\nexport class FacebookSignInButtonComponent {\n ui = injectUI();\n signInWithFacebookLabel = injectTranslation(\"labels\", \"signInWithFacebook\");\n\n private defaultProvider = new FacebookAuthProvider();\n\n provider = input<FacebookAuthProvider>();\n\n get facebookProvider() {\n return this.provider() || this.defaultProvider;\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// GENERATED BY generate-logos.ts\n\nimport { Component, input } from \"@angular/core\";\n\n@Component({\n selector: \"fui-apple-logo\",\n standalone: true,\n template: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\" class=\"fui-provider__icon\">\n <path\n fill=\"currentColor\"\n d=\"M 44.527344 34.75 C 43.449219 37.144531 42.929688 38.214844 41.542969 40.328125 C 39.601563 43.28125 36.863281 46.96875 33.480469 46.992188 C 30.46875 47.019531 29.691406 45.027344 25.601563 45.0625 C 21.515625 45.082031 20.664063 47.03125 17.648438 47 C 14.261719 46.96875 11.671875 43.648438 9.730469 40.699219 C 4.300781 32.429688 3.726563 22.734375 7.082031 17.578125 C 9.457031 13.921875 13.210938 11.773438 16.738281 11.773438 C 20.332031 11.773438 22.589844 13.746094 25.558594 13.746094 C 28.441406 13.746094 30.195313 11.769531 34.351563 11.769531 C 37.492188 11.769531 40.8125 13.480469 43.1875 16.433594 C 35.421875 20.691406 36.683594 31.78125 44.527344 34.75 Z M 31.195313 8.46875 C 32.707031 6.527344 33.855469 3.789063 33.4375 1 C 30.972656 1.167969 28.089844 2.742188 26.40625 4.78125 C 24.878906 6.640625 23.613281 9.398438 24.105469 12.066406 C 26.796875 12.152344 29.582031 10.546875 31.195313 8.46875 Z\"\n />\n </svg>\n `,\n})\nexport class AppleLogoComponent {\n width = input<string | number>(\"1em\");\n height = input<string | number>(\"1em\");\n className = input<string>(\"\");\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, input } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { OAuthButtonComponent } from \"./oauth-button\";\nimport { injectTranslation, injectUI } from \"../../provider\";\nimport { OAuthProvider } from \"@angular/fire/auth\";\nimport { AppleLogoComponent } from \"../../components/logos/apple\";\n\n@Component({\n selector: \"fui-apple-sign-in-button\",\n standalone: true,\n imports: [CommonModule, OAuthButtonComponent, AppleLogoComponent],\n template: `\n <fui-oauth-button [provider]=\"appleProvider\">\n <fui-apple-logo />\n <span>{{ signInWithAppleLabel() }}</span>\n </fui-oauth-button>\n `,\n})\nexport class AppleSignInButtonComponent {\n ui = injectUI();\n signInWithAppleLabel = injectTranslation(\"labels\", \"signInWithApple\");\n\n private defaultProvider = new OAuthProvider(\"apple.com\");\n\n provider = input<OAuthProvider>();\n\n get appleProvider() {\n return this.provider() || this.defaultProvider;\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// GENERATED BY generate-logos.ts\n\nimport { Component, input } from \"@angular/core\";\n\n@Component({\n selector: \"fui-microsoft-logo\",\n standalone: true,\n template: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 48\" class=\"fui-provider__icon\">\n <path fill=\"#ff5722\" d=\"M6 6H22V22H6z\" transform=\"rotate(-180 14 14)\" />\n <path fill=\"#4caf50\" d=\"M26 6H42V22H26z\" transform=\"rotate(-180 34 14)\" />\n <path fill=\"#ffc107\" d=\"M26 26H42V42H26z\" transform=\"rotate(-180 34 34)\" />\n <path fill=\"#03a9f4\" d=\"M6 26H22V42H6z\" transform=\"rotate(-180 14 34)\" />\n </svg>\n `,\n})\nexport class MicrosoftLogoComponent {\n width = input<string | number>(\"1em\");\n height = input<string | number>(\"1em\");\n className = input<string>(\"\");\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, input } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { OAuthButtonComponent } from \"./oauth-button\";\nimport { injectTranslation } from \"../../provider\";\nimport { OAuthProvider } from \"@angular/fire/auth\";\nimport { MicrosoftLogoComponent } from \"../../components/logos/microsoft\";\n\n@Component({\n selector: \"fui-microsoft-sign-in-button\",\n standalone: true,\n imports: [CommonModule, OAuthButtonComponent, MicrosoftLogoComponent],\n template: `\n <fui-oauth-button [provider]=\"microsoftProvider\">\n <fui-microsoft-logo />\n <span>{{ signInWithMicrosoftLabel() }}</span>\n </fui-oauth-button>\n `,\n})\nexport class MicrosoftSignInButtonComponent {\n signInWithMicrosoftLabel = injectTranslation(\"labels\", \"signInWithMicrosoft\");\n\n private defaultProvider = new OAuthProvider(\"microsoft.com\");\n\n provider = input<OAuthProvider>();\n\n get microsoftProvider() {\n return this.provider() || this.defaultProvider;\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// GENERATED BY generate-logos.ts\n\nimport { Component, input } from \"@angular/core\";\n\n@Component({\n selector: \"fui-twitter-logo\",\n standalone: true,\n template: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\" fill=\"currentColor\" class=\"fui-provider__icon\">\n <path\n d=\"M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z\"\n />\n </svg>\n `,\n})\nexport class TwitterLogoComponent {\n width = input<string | number>(\"1em\");\n height = input<string | number>(\"1em\");\n className = input<string>(\"\");\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, input } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { OAuthButtonComponent } from \"./oauth-button\";\nimport { injectTranslation } from \"../../provider\";\nimport { TwitterAuthProvider } from \"@angular/fire/auth\";\nimport { TwitterLogoComponent } from \"../../components/logos/twitter\";\n\n@Component({\n selector: \"fui-twitter-sign-in-button\",\n standalone: true,\n imports: [CommonModule, OAuthButtonComponent, TwitterLogoComponent],\n template: `\n <fui-oauth-button [provider]=\"twitterProvider\">\n <fui-twitter-logo />\n <span>{{ signInWithTwitterLabel() }}</span>\n </fui-oauth-button>\n `,\n})\nexport class TwitterSignInButtonComponent {\n signInWithTwitterLabel = injectTranslation(\"labels\", \"signInWithTwitter\");\n\n private defaultProvider = new TwitterAuthProvider();\n\n provider = input<TwitterAuthProvider>();\n\n get twitterProvider() {\n return this.provider() || this.defaultProvider;\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// GENERATED BY generate-logos.ts\n\nimport { Component, input } from \"@angular/core\";\n\n@Component({\n selector: \"fui-github-logo\",\n standalone: true,\n template: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\" fill=\"currentColor\" class=\"fui-provider__icon\">\n <path\n d=\"M15,3C8.373,3,3,8.373,3,15c0,5.623,3.872,10.328,9.092,11.63C12.036,26.468,12,26.28,12,26.047v-2.051 c-0.487,0-1.303,0-1.508,0c-0.821,0-1.551-0.353-1.905-1.009c-0.393-0.729-0.461-1.844-1.435-2.526 c-0.289-0.227-0.069-0.486,0.264-0.451c0.615,0.174,1.125,0.596,1.605,1.222c0.478,0.627,0.703,0.769,1.596,0.769 c0.433,0,1.081-0.025,1.691-0.121c0.328-0.833,0.895-1.6,1.588-1.962c-3.996-0.411-5.903-2.399-5.903-5.098 c0-1.162,0.495-2.286,1.336-3.233C9.053,10.647,8.706,8.73,9.435,8c1.798,0,2.885,1.166,3.146,1.481C13.477,9.174,14.461,9,15.495,9 c1.036,0,2.024,0.174,2.922,0.483C18.675,9.17,19.763,8,21.565,8c0.732,0.731,0.381,2.656,0.102,3.594 c0.836,0.945,1.328,2.066,1.328,3.226c0,2.697-1.904,4.684-5.894,5.097C18.199,20.49,19,22.1,19,23.313v2.734 c0,0.104-0.023,0.179-0.035,0.268C23.641,24.676,27,20.236,27,15C27,8.373,21.627,3,15,3z\"\n />\n </svg>\n `,\n})\nexport class GithubLogoComponent {\n width = input<string | number>(\"1em\");\n height = input<string | number>(\"1em\");\n className = input<string>(\"\");\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, input } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { OAuthButtonComponent } from \"./oauth-button\";\nimport { injectTranslation } from \"../../provider\";\nimport { GithubAuthProvider } from \"@angular/fire/auth\";\nimport { GithubLogoComponent } from \"../../components/logos/github\";\n\n@Component({\n selector: \"fui-github-sign-in-button\",\n standalone: true,\n imports: [CommonModule, OAuthButtonComponent, GithubLogoComponent],\n template: `\n <fui-oauth-button [provider]=\"githubProvider\">\n <fui-github-logo />\n <span>{{ signInWithGithubLabel() }}</span>\n </fui-oauth-button>\n `,\n})\nexport class GithubSignInButtonComponent {\n signInWithGithubLabel = injectTranslation(\"labels\", \"signInWithGithub\");\n\n private defaultProvider = new GithubAuthProvider();\n\n provider = input<GithubAuthProvider>();\n\n get githubProvider() {\n return this.provider() || this.defaultProvider;\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n@Component({\n selector: \"fui-card\",\n standalone: true,\n imports: [],\n template: `\n <div class=\"fui-card\">\n <ng-content select=\"fui-card-header\"></ng-content>\n <ng-content select=\"fui-card-content\"></ng-content>\n </div>\n `,\n})\nexport class CardComponent {}\n\n@Component({\n selector: \"fui-card-header\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <div class=\"fui-card__header\">\n <ng-content select=\"fui-card-title\"></ng-content>\n <ng-content select=\"fui-card-subtitle\"></ng-content>\n </div>\n `,\n})\nexport class CardHeaderComponent {}\n\n@Component({\n selector: \"fui-card-title\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <h2 class=\"fui-card__title\">\n <ng-content></ng-content>\n </h2>\n `,\n})\nexport class CardTitleComponent {}\n\n@Component({\n selector: \"fui-card-subtitle\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <p class=\"fui-card__subtitle\">\n <ng-content></ng-content>\n </p>\n `,\n})\nexport class CardSubtitleComponent {}\n\n@Component({\n selector: \"fui-card-content\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <div class=\"fui-card__content\">\n <ng-content></ng-content>\n </div>\n `,\n})\nexport class CardContentComponent {}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { injectRedirectError } from \"../provider\";\n\n@Component({\n selector: \"fui-redirect-error\",\n standalone: true,\n imports: [CommonModule],\n template: `\n @if (error()) {\n <div class=\"fui-form__error\">{{ error() }}</div>\n }\n `,\n})\nexport class RedirectErrorComponent {\n error = injectRedirectError();\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, output } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport {\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n} from \"../../components/card\";\nimport { injectTranslation } from \"../../provider\";\nimport { EmailLinkAuthFormComponent } from \"../forms/email-link-auth-form\";\nimport { RedirectErrorComponent } from \"../../components/redirect-error\";\nimport { UserCredential } from \"@angular/fire/auth\";\n\n@Component({\n selector: \"fui-email-link-auth-screen\",\n standalone: true,\n imports: [\n CommonModule,\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n EmailLinkAuthFormComponent,\n RedirectErrorComponent,\n ],\n template: `\n <div class=\"fui-screen\">\n <fui-card>\n <fui-card-header>\n <fui-card-title>{{ titleText() }}</fui-card-title>\n <fui-card-subtitle>{{ subtitleText() }}</fui-card-subtitle>\n </fui-card-header>\n <fui-card-content>\n <fui-email-link-auth-form (emailSent)=\"emailSent.emit()\" (signIn)=\"signIn.emit($event)\" />\n <fui-redirect-error />\n <ng-content></ng-content>\n </fui-card-content>\n </fui-card>\n </div>\n `,\n})\nexport class EmailLinkAuthScreenComponent {\n titleText = injectTranslation(\"labels\", \"signIn\");\n subtitleText = injectTranslation(\"prompts\", \"signInToAccount\");\n\n emailSent = output<void>();\n signIn = output<UserCredential>();\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, output } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport {\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n} from \"../../components/card\";\nimport { injectTranslation } from \"../../provider\";\nimport { ForgotPasswordAuthFormComponent } from \"../forms/forgot-password-auth-form\";\nimport { RedirectErrorComponent } from \"../../components/redirect-error\";\n\n@Component({\n selector: \"fui-forgot-password-auth-screen\",\n standalone: true,\n imports: [\n CommonModule,\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n ForgotPasswordAuthFormComponent,\n RedirectErrorComponent,\n ],\n template: `\n <div class=\"fui-screen\">\n <fui-card>\n <fui-card-header>\n <fui-card-title>{{ titleText() }}</fui-card-title>\n <fui-card-subtitle>{{ subtitleText() }}</fui-card-subtitle>\n </fui-card-header>\n <fui-card-content>\n <fui-forgot-password-auth-form (passwordSent)=\"passwordSent.emit()\" (backToSignIn)=\"backToSignIn.emit()\" />\n <fui-redirect-error />\n </fui-card-content>\n </fui-card>\n </div>\n `,\n})\nexport class ForgotPasswordAuthScreenComponent {\n titleText = injectTranslation(\"labels\", \"resetPassword\");\n subtitleText = injectTranslation(\"prompts\", \"enterEmailToReset\");\n\n passwordSent = output<void>();\n backToSignIn = output<void>();\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, input } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\n@Component({\n selector: \"fui-divider\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <div class=\"fui-divider my-6\">\n <div class=\"fui-divider__line\"></div>\n @if (label()) {\n <div class=\"fui-divider__text\">{{ label() }}</div>\n <div class=\"fui-divider__line\"></div>\n }\n </div>\n `,\n})\nexport class DividerComponent {\n label = input<string>();\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component } from \"@angular/core\";\nimport { DividerComponent } from \"./divider\";\nimport { injectTranslation } from \"../provider\";\n\n@Component({\n selector: \"fui-content\",\n standalone: true,\n imports: [DividerComponent],\n template: `\n <fui-divider [label]=\"dividerOrLabel()\" />\n <div class=\"fui-screen__children\">\n <ng-content></ng-content>\n </div>\n `,\n})\nexport class ContentComponent {\n dividerOrLabel = injectTranslation(\"messages\", \"dividerOr\");\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, computed } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport {\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n} from \"../../components/card\";\nimport { injectTranslation, injectUI } from \"../../provider\";\nimport { PoliciesComponent } from \"../../components/policies\";\nimport { ContentComponent } from \"../../components/content\";\nimport { MultiFactorAuthAssertionFormComponent } from \"../forms/multi-factor-auth-assertion-form\";\nimport { RedirectErrorComponent } from \"../../components/redirect-error\";\n\n@Component({\n selector: \"fui-oauth-screen\",\n standalone: true,\n imports: [\n CommonModule,\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n PoliciesComponent,\n ContentComponent,\n MultiFactorAuthAssertionFormComponent,\n RedirectErrorComponent,\n ],\n template: `\n <div class=\"fui-screen\">\n <fui-card>\n <fui-card-header>\n <fui-card-title>{{ titleText() }}</fui-card-title>\n <fui-card-subtitle>{{ subtitleText() }}</fui-card-subtitle>\n </fui-card-header>\n <fui-card-content>\n @if (mfaResolver()) {\n <fui-multi-factor-auth-assertion-form />\n } @else {\n <fui-content>\n <ng-content></ng-content>\n </fui-content>\n <fui-redirect-error />\n <fui-policies />\n }\n </fui-card-content>\n </fui-card>\n </div>\n `,\n})\nexport class OAuthScreenComponent {\n private ui = injectUI();\n\n mfaResolver = computed(() => this.ui().multiFactorResolver);\n\n titleText = injectTranslation(\"labels\", \"signIn\");\n subtitleText = injectTranslation(\"prompts\", \"signInToAccount\");\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, input, output, computed } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport {\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n} from \"../../components/card\";\nimport { injectTranslation, injectUI } from \"../../provider\";\nimport { PhoneAuthFormComponent } from \"../forms/phone-auth-form\";\nimport { MultiFactorAuthAssertionFormComponent } from \"../forms/multi-factor-auth-assertion-form\";\nimport { RedirectErrorComponent } from \"../../components/redirect-error\";\nimport { UserCredential } from \"@angular/fire/auth\";\n\n@Component({\n selector: \"fui-phone-auth-screen\",\n standalone: true,\n imports: [\n CommonModule,\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n PhoneAuthFormComponent,\n MultiFactorAuthAssertionFormComponent,\n RedirectErrorComponent,\n ],\n template: `\n <div class=\"fui-screen\">\n <fui-card>\n <fui-card-header>\n <fui-card-title>{{ titleText() }}</fui-card-title>\n <fui-card-subtitle>{{ subtitleText() }}</fui-card-subtitle>\n </fui-card-header>\n <fui-card-content>\n @if (mfaResolver()) {\n <fui-multi-factor-auth-assertion-form />\n } @else {\n <fui-phone-auth-form (signIn)=\"signIn.emit($event)\" />\n <fui-redirect-error />\n <ng-content />\n }\n </fui-card-content>\n </fui-card>\n </div>\n `,\n})\nexport class PhoneAuthScreenComponent {\n private ui = injectUI();\n\n mfaResolver = computed(() => this.ui().multiFactorResolver);\n\n titleText = injectTranslation(\"labels\", \"signIn\");\n subtitleText = injectTranslation(\"prompts\", \"signInToAccount\");\n\n resendDelay = input<number>(30);\n signIn = output<UserCredential>();\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, output, computed } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { injectTranslation, injectUI } from \"../../provider\";\nimport { SignInAuthFormComponent } from \"../forms/sign-in-auth-form\";\nimport { MultiFactorAuthAssertionFormComponent } from \"../forms/multi-factor-auth-assertion-form\";\nimport { RedirectErrorComponent } from \"../../components/redirect-error\";\nimport {\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n} from \"../../components/card\";\nimport { UserCredential } from \"@angular/fire/auth\";\n@Component({\n selector: \"fui-sign-in-auth-screen\",\n standalone: true,\n imports: [\n CommonModule,\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n SignInAuthFormComponent,\n MultiFactorAuthAssertionFormComponent,\n RedirectErrorComponent,\n ],\n template: `\n <div class=\"fui-screen\">\n <fui-card>\n <fui-card-header>\n <fui-card-title>{{ titleText() }}</fui-card-title>\n <fui-card-subtitle>{{ subtitleText() }}</fui-card-subtitle>\n </fui-card-header>\n <fui-card-content>\n @if (mfaResolver()) {\n <fui-multi-factor-auth-assertion-form />\n } @else {\n <fui-sign-in-auth-form\n (forgotPassword)=\"forgotPassword.emit()\"\n (signUp)=\"signUp.emit()\"\n (signIn)=\"signIn.emit($event)\"\n />\n <fui-redirect-error />\n <ng-content />\n }\n </fui-card-content>\n </fui-card>\n </div>\n `,\n})\nexport class SignInAuthScreenComponent {\n private ui = injectUI();\n\n mfaResolver = computed(() => this.ui().multiFactorResolver);\n\n titleText = injectTranslation(\"labels\", \"signIn\");\n subtitleText = injectTranslation(\"prompts\", \"signInToAccount\");\n\n forgotPassword = output<void>();\n signUp = output<void>();\n signIn = output<UserCredential>();\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, output, computed } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { UserCredential } from \"@angular/fire/auth\";\n\nimport { injectTranslation, injectUI } from \"../../provider\";\nimport { SignUpAuthFormComponent } from \"../forms/sign-up-auth-form\";\nimport { MultiFactorAuthAssertionFormComponent } from \"../forms/multi-factor-auth-assertion-form\";\nimport { RedirectErrorComponent } from \"../../components/redirect-error\";\nimport {\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n} from \"../../components/card\";\n\n@Component({\n selector: \"fui-sign-up-auth-screen\",\n standalone: true,\n imports: [\n CommonModule,\n CardComponent,\n CardHeaderComponent,\n CardTitleComponent,\n CardSubtitleComponent,\n CardContentComponent,\n SignUpAuthFormComponent,\n MultiFactorAuthAssertionFormComponent,\n RedirectErrorComponent,\n ],\n template: `\n <div class=\"fui-screen\">\n <fui-card>\n <fui-card-header>\n <fui-card-title>{{ titleText() }}</fui-card-title>\n <fui-card-subtitle>{{ subtitleText() }}</fui-card-subtitle>\n </fui-card-header>\n <fui-card-content>\n @if (mfaResolver()) {\n <fui-multi-factor-auth-assertion-form />\n } @else {\n <fui-sign-up-auth-form (signIn)=\"signIn.emit()\" (signUp)=\"signUp.emit($event)\" />\n <fui-redirect-error />\n <ng-content />\n }\n </fui-card-content>\n </fui-card>\n </div>\n `,\n})\nexport class SignUpAuthScreenComponent {\n private ui = injectUI();\n\n mfaResolver = computed(() => this.ui().multiFactorResolver);\n\n titleText = injectTranslation(\"labels\", \"signUp\");\n subtitleText = injectTranslation(\"prompts\", \"enterDetailsToCreate\");\n\n signUp = output<UserCredential>();\n signIn = output<void>();\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { isDevMode } from \"@angular/core\";\nimport { registerFramework } from \"@firebase-oss/ui-core\";\n\nexport { EmailLinkAuthFormComponent } from \"./lib/auth/forms/email-link-auth-form\";\nexport { ForgotPasswordAuthFormComponent } from \"./lib/auth/forms/forgot-password-auth-form\";\nexport { MultiFactorAuthAssertionFormComponent } from \"./lib/auth/forms/multi-factor-auth-assertion-form\";\nexport { PhoneAuthFormComponent } from \"./lib/auth/forms/phone-auth-form\";\nexport { SignInAuthFormComponent } from \"./lib/auth/forms/sign-in-auth-form\";\nexport { SignUpAuthFormComponent } from \"./lib/auth/forms/sign-up-auth-form\";\n\nexport {\n SmsMultiFactorAssertionFormComponent,\n SmsMultiFactorAssertionPhoneFormComponent,\n SmsMultiFactorAssertionVerifyFormComponent,\n} from \"./lib/auth/forms/mfa/sms-multi-factor-assertion-form\";\nexport { TotpMultiFactorAssertionFormComponent } from \"./lib/auth/forms/mfa/totp-multi-factor-assertion-form\";\n\nexport { GoogleSignInButtonComponent } from \"./lib/auth/oauth/google-sign-in-button\";\nexport { FacebookSignInButtonComponent } from \"./lib/auth/oauth/facebook-sign-in-button\";\nexport { AppleSignInButtonComponent } from \"./lib/auth/oauth/apple-sign-in-button\";\nexport { MicrosoftSignInButtonComponent } from \"./lib/auth/oauth/microsoft-sign-in-button\";\nexport { TwitterSignInButtonComponent } from \"./lib/auth/oauth/twitter-sign-in-button\";\nexport { GithubSignInButtonComponent } from \"./lib/auth/oauth/github-sign-in-button\";\nexport { OAuthButtonComponent } from \"./lib/auth/oauth/oauth-button\";\n\nexport { EmailLinkAuthScreenComponent } from \"./lib/auth/screens/email-link-auth-screen\";\nexport { ForgotPasswordAuthScreenComponent } from \"./lib/auth/screens/forgot-password-auth-screen\";\nexport { OAuthScreenComponent } from \"./lib/auth/screens/oauth-screen\";\nexport { PhoneAuthScreenComponent } from \"./lib/auth/screens/phone-auth-screen\";\nexport { SignInAuthScreenComponent } from \"./lib/auth/screens/sign-in-auth-screen\";\nexport { SignUpAuthScreenComponent } from \"./lib/auth/screens/sign-up-auth-screen\";\n\nexport { ButtonComponent } from \"./lib/components/button\";\nexport { CardComponent } from \"./lib/components/card\";\nexport { CountrySelectorComponent } from \"./lib/components/country-selector\";\nexport { DividerComponent } from \"./lib/components/divider\";\nexport { PoliciesComponent } from \"./lib/components/policies\";\nexport { ContentComponent } from \"./lib/components/content\";\nexport { RedirectErrorComponent } from \"./lib/components/redirect-error\";\n\n// Provider\nexport * from \"./lib/provider\";\n\nif (!isDevMode()) {\n const pkgJson = require(\"../package.json\");\n registerFramework(\"angular\", pkgJson.version);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|