@firebase-oss/ui-angular 0.0.2-exp.dab7419 → 0.0.2-exp.e03a767

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.
@@ -1,11 +1,11 @@
1
- import * as i0 from '@angular/core';
2
- import { input, HostBinding, Component, computed, InjectionToken, Optional, inject, makeEnvironmentProviders, signal, effect, PLATFORM_ID, EventEmitter, Output, viewChild, model, output, isDevMode } from '@angular/core';
3
1
  import { getBehavior, getTranslation, createSignInAuthFormSchema, createSignUpAuthFormSchema, createForgotPasswordAuthFormSchema, createEmailLinkAuthFormSchema, createPhoneAuthNumberFormSchema, createPhoneAuthVerifyFormSchema, createMultiFactorPhoneAuthNumberFormSchema, createMultiFactorPhoneAuthAssertionFormSchema, createMultiFactorPhoneAuthVerifyFormSchema, createMultiFactorTotpAuthNumberFormSchema, createMultiFactorTotpAuthVerifyFormSchema, sendSignInLinkToEmail, FirebaseUIError, completeEmailLinkSignIn, sendPasswordResetEmail, verifyPhoneNumber, signInWithMultiFactorAssertion, formatPhoneNumber, enrollWithMultiFactorAssertion, generateTotpSecret, generateTotpQrCode, countryData, confirmPhoneNumber, signInWithEmailAndPassword, hasBehavior, createUserWithEmailAndPassword, signInWithProvider, registerFramework } from '@firebase-oss/ui-core';
2
+ import * as i0 from '@angular/core';
3
+ import { input, HostBinding, Component, computed, InjectionToken, Optional, inject, makeEnvironmentProviders, signal, effect, PLATFORM_ID, EventEmitter, Output, viewChild, model, output } from '@angular/core';
4
4
  import { isPlatformBrowser, CommonModule } from '@angular/common';
5
5
  import { injectField, injectForm, injectStore, TanStackField, TanStackAppField } from '@tanstack/angular-form';
6
6
  import { buttonVariant } from '@firebase-oss/ui-styles';
7
7
  import { FirebaseApps } from '@angular/fire/app';
8
- import { Auth, authState, GoogleAuthProvider, FacebookAuthProvider, OAuthProvider, TwitterAuthProvider, GithubAuthProvider } from '@angular/fire/auth';
8
+ import { Auth, authState, OAuthProvider, FacebookAuthProvider, GithubAuthProvider, GoogleAuthProvider, TwitterAuthProvider } from '@angular/fire/auth';
9
9
  import { PhoneAuthProvider, PhoneMultiFactorGenerator, TotpMultiFactorGenerator, multiFactor, FactorId } from 'firebase/auth';
10
10
  import * as i1 from '@angular/forms';
11
11
  import { FormsModule } from '@angular/forms';
@@ -3015,54 +3015,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
3015
3015
  * limitations under the License.
3016
3016
  */
3017
3017
  // GENERATED BY generate-logos.ts
3018
- class GoogleLogoComponent {
3018
+ class AppleLogoComponent {
3019
3019
  width = input("1em", ...(ngDevMode ? [{ debugName: "width" }] : []));
3020
3020
  height = input("1em", ...(ngDevMode ? [{ debugName: "height" }] : []));
3021
3021
  className = input("", ...(ngDevMode ? [{ debugName: "className" }] : []));
3022
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GoogleLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3023
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: GoogleLogoComponent, isStandalone: true, selector: "fui-google-logo", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3024
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" class="fui-provider__icon">
3025
- <path
3026
- fill="#FFC107"
3027
- 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"
3028
- />
3029
- <path
3030
- fill="#FF3D00"
3031
- 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"
3032
- />
3033
- <path
3034
- fill="#4CAF50"
3035
- 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"
3036
- />
3022
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AppleLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3023
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: AppleLogoComponent, isStandalone: true, selector: "fui-apple-logo", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3024
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" class="fui-provider__icon">
3037
3025
  <path
3038
- fill="#1976D2"
3039
- 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"
3026
+ fill="currentColor"
3027
+ 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"
3040
3028
  />
3041
3029
  </svg>
3042
3030
  `, isInline: true });
3043
3031
  }
3044
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GoogleLogoComponent, decorators: [{
3032
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AppleLogoComponent, decorators: [{
3045
3033
  type: Component,
3046
3034
  args: [{
3047
- selector: "fui-google-logo",
3035
+ selector: "fui-apple-logo",
3048
3036
  standalone: true,
3049
3037
  template: `
3050
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" class="fui-provider__icon">
3051
- <path
3052
- fill="#FFC107"
3053
- 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"
3054
- />
3055
- <path
3056
- fill="#FF3D00"
3057
- 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"
3058
- />
3059
- <path
3060
- fill="#4CAF50"
3061
- 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"
3062
- />
3038
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" class="fui-provider__icon">
3063
3039
  <path
3064
- fill="#1976D2"
3065
- 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"
3040
+ fill="currentColor"
3041
+ 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"
3066
3042
  />
3067
3043
  </svg>
3068
3044
  `,
@@ -3085,42 +3061,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
3085
3061
  * limitations under the License.
3086
3062
  */
3087
3063
  /**
3088
- * A button component for signing in with Google.
3064
+ * A button component for signing in with Apple.
3089
3065
  */
3090
- class GoogleSignInButtonComponent {
3066
+ class AppleSignInButtonComponent {
3091
3067
  ui = injectUI();
3092
- signInWithGoogleLabel = injectTranslation("labels", "signInWithGoogle");
3068
+ signInWithAppleLabel = injectTranslation("labels", "signInWithApple");
3093
3069
  /** Whether to use themed styling. */
3094
3070
  themed = input(false, ...(ngDevMode ? [{ debugName: "themed" }] : []));
3095
3071
  /** Event emitter for successful sign-in. */
3096
3072
  signIn = output();
3097
- defaultProvider = new GoogleAuthProvider();
3073
+ defaultProvider = new OAuthProvider("apple.com");
3098
3074
  /** Optional custom OAuth provider configuration. */
3099
3075
  provider = input(...(ngDevMode ? [undefined, { debugName: "provider" }] : []));
3100
- get googleProvider() {
3076
+ get appleProvider() {
3101
3077
  return this.provider() || this.defaultProvider;
3102
3078
  }
3103
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GoogleSignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3104
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: GoogleSignInButtonComponent, isStandalone: true, selector: "fui-google-sign-in-button", inputs: { themed: { classPropertyName: "themed", publicName: "themed", isSignal: true, isRequired: false, transformFunction: null }, provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { signIn: "signIn" }, host: { styleAttribute: "display: block;" }, ngImport: i0, template: `
3105
- <fui-oauth-button [provider]="googleProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3106
- <fui-google-logo />
3107
- <span>{{ signInWithGoogleLabel() }}</span>
3079
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AppleSignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3080
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: AppleSignInButtonComponent, isStandalone: true, selector: "fui-apple-sign-in-button", inputs: { themed: { classPropertyName: "themed", publicName: "themed", isSignal: true, isRequired: false, transformFunction: null }, provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { signIn: "signIn" }, host: { styleAttribute: "display: block;" }, ngImport: i0, template: `
3081
+ <fui-oauth-button [provider]="appleProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3082
+ <fui-apple-logo />
3083
+ <span>{{ signInWithAppleLabel() }}</span>
3108
3084
  </fui-oauth-button>
3109
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: OAuthButtonComponent, selector: "fui-oauth-button", inputs: ["provider", "themed"], outputs: ["signIn"] }, { kind: "component", type: GoogleLogoComponent, selector: "fui-google-logo", inputs: ["width", "height", "className"] }] });
3085
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: OAuthButtonComponent, selector: "fui-oauth-button", inputs: ["provider", "themed"], outputs: ["signIn"] }, { kind: "component", type: AppleLogoComponent, selector: "fui-apple-logo", inputs: ["width", "height", "className"] }] });
3110
3086
  }
3111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GoogleSignInButtonComponent, decorators: [{
3087
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AppleSignInButtonComponent, decorators: [{
3112
3088
  type: Component,
3113
3089
  args: [{
3114
- selector: "fui-google-sign-in-button",
3090
+ selector: "fui-apple-sign-in-button",
3115
3091
  standalone: true,
3116
- imports: [CommonModule, OAuthButtonComponent, GoogleLogoComponent],
3092
+ imports: [CommonModule, OAuthButtonComponent, AppleLogoComponent],
3117
3093
  host: {
3118
3094
  style: "display: block;",
3119
3095
  },
3120
3096
  template: `
3121
- <fui-oauth-button [provider]="googleProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3122
- <fui-google-logo />
3123
- <span>{{ signInWithGoogleLabel() }}</span>
3097
+ <fui-oauth-button [provider]="appleProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3098
+ <fui-apple-logo />
3099
+ <span>{{ signInWithAppleLabel() }}</span>
3124
3100
  </fui-oauth-button>
3125
3101
  `,
3126
3102
  }]
@@ -3245,30 +3221,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
3245
3221
  * limitations under the License.
3246
3222
  */
3247
3223
  // GENERATED BY generate-logos.ts
3248
- class AppleLogoComponent {
3224
+ class GithubLogoComponent {
3249
3225
  width = input("1em", ...(ngDevMode ? [{ debugName: "width" }] : []));
3250
3226
  height = input("1em", ...(ngDevMode ? [{ debugName: "height" }] : []));
3251
3227
  className = input("", ...(ngDevMode ? [{ debugName: "className" }] : []));
3252
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AppleLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3253
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: AppleLogoComponent, isStandalone: true, selector: "fui-apple-logo", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3254
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" class="fui-provider__icon">
3228
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GithubLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3229
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: GithubLogoComponent, isStandalone: true, selector: "fui-github-logo", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3230
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" fill="currentColor" class="fui-provider__icon">
3255
3231
  <path
3256
- fill="currentColor"
3257
- 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"
3232
+ 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"
3258
3233
  />
3259
3234
  </svg>
3260
3235
  `, isInline: true });
3261
3236
  }
3262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AppleLogoComponent, decorators: [{
3237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GithubLogoComponent, decorators: [{
3263
3238
  type: Component,
3264
3239
  args: [{
3265
- selector: "fui-apple-logo",
3240
+ selector: "fui-github-logo",
3266
3241
  standalone: true,
3267
3242
  template: `
3268
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" class="fui-provider__icon">
3243
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" fill="currentColor" class="fui-provider__icon">
3269
3244
  <path
3270
- fill="currentColor"
3271
- 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"
3245
+ 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"
3272
3246
  />
3273
3247
  </svg>
3274
3248
  `,
@@ -3291,42 +3265,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
3291
3265
  * limitations under the License.
3292
3266
  */
3293
3267
  /**
3294
- * A button component for signing in with Apple.
3268
+ * A button component for signing in with GitHub.
3295
3269
  */
3296
- class AppleSignInButtonComponent {
3297
- ui = injectUI();
3298
- signInWithAppleLabel = injectTranslation("labels", "signInWithApple");
3270
+ class GitHubSignInButtonComponent {
3271
+ signInWithGitHubLabel = injectTranslation("labels", "signInWithGitHub");
3299
3272
  /** Whether to use themed styling. */
3300
3273
  themed = input(false, ...(ngDevMode ? [{ debugName: "themed" }] : []));
3301
3274
  /** Event emitter for successful sign-in. */
3302
3275
  signIn = output();
3303
- defaultProvider = new OAuthProvider("apple.com");
3276
+ defaultProvider = new GithubAuthProvider();
3304
3277
  /** Optional custom OAuth provider configuration. */
3305
3278
  provider = input(...(ngDevMode ? [undefined, { debugName: "provider" }] : []));
3306
- get appleProvider() {
3279
+ get githubProvider() {
3307
3280
  return this.provider() || this.defaultProvider;
3308
3281
  }
3309
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AppleSignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3310
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: AppleSignInButtonComponent, isStandalone: true, selector: "fui-apple-sign-in-button", inputs: { themed: { classPropertyName: "themed", publicName: "themed", isSignal: true, isRequired: false, transformFunction: null }, provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { signIn: "signIn" }, host: { styleAttribute: "display: block;" }, ngImport: i0, template: `
3311
- <fui-oauth-button [provider]="appleProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3312
- <fui-apple-logo />
3313
- <span>{{ signInWithAppleLabel() }}</span>
3282
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GitHubSignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3283
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: GitHubSignInButtonComponent, isStandalone: true, selector: "fui-github-sign-in-button", inputs: { themed: { classPropertyName: "themed", publicName: "themed", isSignal: true, isRequired: false, transformFunction: null }, provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { signIn: "signIn" }, host: { styleAttribute: "display: block;" }, ngImport: i0, template: `
3284
+ <fui-oauth-button [provider]="githubProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3285
+ <fui-github-logo />
3286
+ <span>{{ signInWithGitHubLabel() }}</span>
3314
3287
  </fui-oauth-button>
3315
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: OAuthButtonComponent, selector: "fui-oauth-button", inputs: ["provider", "themed"], outputs: ["signIn"] }, { kind: "component", type: AppleLogoComponent, selector: "fui-apple-logo", inputs: ["width", "height", "className"] }] });
3288
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: OAuthButtonComponent, selector: "fui-oauth-button", inputs: ["provider", "themed"], outputs: ["signIn"] }, { kind: "component", type: GithubLogoComponent, selector: "fui-github-logo", inputs: ["width", "height", "className"] }] });
3316
3289
  }
3317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AppleSignInButtonComponent, decorators: [{
3290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GitHubSignInButtonComponent, decorators: [{
3318
3291
  type: Component,
3319
3292
  args: [{
3320
- selector: "fui-apple-sign-in-button",
3293
+ selector: "fui-github-sign-in-button",
3321
3294
  standalone: true,
3322
- imports: [CommonModule, OAuthButtonComponent, AppleLogoComponent],
3295
+ imports: [CommonModule, OAuthButtonComponent, GithubLogoComponent],
3323
3296
  host: {
3324
3297
  style: "display: block;",
3325
3298
  },
3326
3299
  template: `
3327
- <fui-oauth-button [provider]="appleProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3328
- <fui-apple-logo />
3329
- <span>{{ signInWithAppleLabel() }}</span>
3300
+ <fui-oauth-button [provider]="githubProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3301
+ <fui-github-logo />
3302
+ <span>{{ signInWithGitHubLabel() }}</span>
3330
3303
  </fui-oauth-button>
3331
3304
  `,
3332
3305
  }]
@@ -3348,31 +3321,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
3348
3321
  * limitations under the License.
3349
3322
  */
3350
3323
  // GENERATED BY generate-logos.ts
3351
- class MicrosoftLogoComponent {
3324
+ class GoogleLogoComponent {
3352
3325
  width = input("1em", ...(ngDevMode ? [{ debugName: "width" }] : []));
3353
3326
  height = input("1em", ...(ngDevMode ? [{ debugName: "height" }] : []));
3354
3327
  className = input("", ...(ngDevMode ? [{ debugName: "className" }] : []));
3355
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MicrosoftLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3356
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: MicrosoftLogoComponent, isStandalone: true, selector: "fui-microsoft-logo", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3328
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GoogleLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3329
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: GoogleLogoComponent, isStandalone: true, selector: "fui-google-logo", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3357
3330
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" class="fui-provider__icon">
3358
- <path fill="#ff5722" d="M6 6H22V22H6z" transform="rotate(-180 14 14)" />
3359
- <path fill="#4caf50" d="M26 6H42V22H26z" transform="rotate(-180 34 14)" />
3360
- <path fill="#ffc107" d="M26 26H42V42H26z" transform="rotate(-180 34 34)" />
3361
- <path fill="#03a9f4" d="M6 26H22V42H6z" transform="rotate(-180 14 34)" />
3331
+ <path
3332
+ fill="#FFC107"
3333
+ 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"
3334
+ />
3335
+ <path
3336
+ fill="#FF3D00"
3337
+ 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"
3338
+ />
3339
+ <path
3340
+ fill="#4CAF50"
3341
+ 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"
3342
+ />
3343
+ <path
3344
+ fill="#1976D2"
3345
+ 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"
3346
+ />
3362
3347
  </svg>
3363
3348
  `, isInline: true });
3364
3349
  }
3365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MicrosoftLogoComponent, decorators: [{
3350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GoogleLogoComponent, decorators: [{
3366
3351
  type: Component,
3367
3352
  args: [{
3368
- selector: "fui-microsoft-logo",
3353
+ selector: "fui-google-logo",
3369
3354
  standalone: true,
3370
3355
  template: `
3371
3356
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" class="fui-provider__icon">
3372
- <path fill="#ff5722" d="M6 6H22V22H6z" transform="rotate(-180 14 14)" />
3373
- <path fill="#4caf50" d="M26 6H42V22H26z" transform="rotate(-180 34 14)" />
3374
- <path fill="#ffc107" d="M26 26H42V42H26z" transform="rotate(-180 34 34)" />
3375
- <path fill="#03a9f4" d="M6 26H22V42H6z" transform="rotate(-180 14 34)" />
3357
+ <path
3358
+ fill="#FFC107"
3359
+ 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"
3360
+ />
3361
+ <path
3362
+ fill="#FF3D00"
3363
+ 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"
3364
+ />
3365
+ <path
3366
+ fill="#4CAF50"
3367
+ 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"
3368
+ />
3369
+ <path
3370
+ fill="#1976D2"
3371
+ 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"
3372
+ />
3376
3373
  </svg>
3377
3374
  `,
3378
3375
  }]
@@ -3394,41 +3391,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
3394
3391
  * limitations under the License.
3395
3392
  */
3396
3393
  /**
3397
- * A button component for signing in with Microsoft.
3394
+ * A button component for signing in with Google.
3398
3395
  */
3399
- class MicrosoftSignInButtonComponent {
3400
- signInWithMicrosoftLabel = injectTranslation("labels", "signInWithMicrosoft");
3396
+ class GoogleSignInButtonComponent {
3397
+ ui = injectUI();
3398
+ signInWithGoogleLabel = injectTranslation("labels", "signInWithGoogle");
3401
3399
  /** Whether to use themed styling. */
3402
3400
  themed = input(false, ...(ngDevMode ? [{ debugName: "themed" }] : []));
3403
3401
  /** Event emitter for successful sign-in. */
3404
3402
  signIn = output();
3405
- defaultProvider = new OAuthProvider("microsoft.com");
3403
+ defaultProvider = new GoogleAuthProvider();
3406
3404
  /** Optional custom OAuth provider configuration. */
3407
3405
  provider = input(...(ngDevMode ? [undefined, { debugName: "provider" }] : []));
3408
- get microsoftProvider() {
3406
+ get googleProvider() {
3409
3407
  return this.provider() || this.defaultProvider;
3410
3408
  }
3411
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MicrosoftSignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3412
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: MicrosoftSignInButtonComponent, isStandalone: true, selector: "fui-microsoft-sign-in-button", inputs: { themed: { classPropertyName: "themed", publicName: "themed", isSignal: true, isRequired: false, transformFunction: null }, provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { signIn: "signIn" }, host: { styleAttribute: "display: block;" }, ngImport: i0, template: `
3413
- <fui-oauth-button [provider]="microsoftProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3414
- <fui-microsoft-logo />
3415
- <span>{{ signInWithMicrosoftLabel() }}</span>
3409
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GoogleSignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3410
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: GoogleSignInButtonComponent, isStandalone: true, selector: "fui-google-sign-in-button", inputs: { themed: { classPropertyName: "themed", publicName: "themed", isSignal: true, isRequired: false, transformFunction: null }, provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { signIn: "signIn" }, host: { styleAttribute: "display: block;" }, ngImport: i0, template: `
3411
+ <fui-oauth-button [provider]="googleProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3412
+ <fui-google-logo />
3413
+ <span>{{ signInWithGoogleLabel() }}</span>
3416
3414
  </fui-oauth-button>
3417
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: OAuthButtonComponent, selector: "fui-oauth-button", inputs: ["provider", "themed"], outputs: ["signIn"] }, { kind: "component", type: MicrosoftLogoComponent, selector: "fui-microsoft-logo", inputs: ["width", "height", "className"] }] });
3415
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: OAuthButtonComponent, selector: "fui-oauth-button", inputs: ["provider", "themed"], outputs: ["signIn"] }, { kind: "component", type: GoogleLogoComponent, selector: "fui-google-logo", inputs: ["width", "height", "className"] }] });
3418
3416
  }
3419
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MicrosoftSignInButtonComponent, decorators: [{
3417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GoogleSignInButtonComponent, decorators: [{
3420
3418
  type: Component,
3421
3419
  args: [{
3422
- selector: "fui-microsoft-sign-in-button",
3420
+ selector: "fui-google-sign-in-button",
3423
3421
  standalone: true,
3424
- imports: [CommonModule, OAuthButtonComponent, MicrosoftLogoComponent],
3422
+ imports: [CommonModule, OAuthButtonComponent, GoogleLogoComponent],
3425
3423
  host: {
3426
3424
  style: "display: block;",
3427
3425
  },
3428
3426
  template: `
3429
- <fui-oauth-button [provider]="microsoftProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3430
- <fui-microsoft-logo />
3431
- <span>{{ signInWithMicrosoftLabel() }}</span>
3427
+ <fui-oauth-button [provider]="googleProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3428
+ <fui-google-logo />
3429
+ <span>{{ signInWithGoogleLabel() }}</span>
3432
3430
  </fui-oauth-button>
3433
3431
  `,
3434
3432
  }]
@@ -3450,29 +3448,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
3450
3448
  * limitations under the License.
3451
3449
  */
3452
3450
  // GENERATED BY generate-logos.ts
3453
- class TwitterLogoComponent {
3451
+ class MicrosoftLogoComponent {
3454
3452
  width = input("1em", ...(ngDevMode ? [{ debugName: "width" }] : []));
3455
3453
  height = input("1em", ...(ngDevMode ? [{ debugName: "height" }] : []));
3456
3454
  className = input("", ...(ngDevMode ? [{ debugName: "className" }] : []));
3457
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TwitterLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3458
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: TwitterLogoComponent, isStandalone: true, selector: "fui-twitter-logo", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3459
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" fill="currentColor" class="fui-provider__icon">
3460
- <path
3461
- 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"
3462
- />
3455
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MicrosoftLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3456
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: MicrosoftLogoComponent, isStandalone: true, selector: "fui-microsoft-logo", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3457
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" class="fui-provider__icon">
3458
+ <path fill="#ff5722" d="M6 6H22V22H6z" transform="rotate(-180 14 14)" />
3459
+ <path fill="#4caf50" d="M26 6H42V22H26z" transform="rotate(-180 34 14)" />
3460
+ <path fill="#ffc107" d="M26 26H42V42H26z" transform="rotate(-180 34 34)" />
3461
+ <path fill="#03a9f4" d="M6 26H22V42H6z" transform="rotate(-180 14 34)" />
3463
3462
  </svg>
3464
3463
  `, isInline: true });
3465
3464
  }
3466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TwitterLogoComponent, decorators: [{
3465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MicrosoftLogoComponent, decorators: [{
3467
3466
  type: Component,
3468
3467
  args: [{
3469
- selector: "fui-twitter-logo",
3468
+ selector: "fui-microsoft-logo",
3470
3469
  standalone: true,
3471
3470
  template: `
3472
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" fill="currentColor" class="fui-provider__icon">
3473
- <path
3474
- 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"
3475
- />
3471
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" class="fui-provider__icon">
3472
+ <path fill="#ff5722" d="M6 6H22V22H6z" transform="rotate(-180 14 14)" />
3473
+ <path fill="#4caf50" d="M26 6H42V22H26z" transform="rotate(-180 34 14)" />
3474
+ <path fill="#ffc107" d="M26 26H42V42H26z" transform="rotate(-180 34 34)" />
3475
+ <path fill="#03a9f4" d="M6 26H22V42H6z" transform="rotate(-180 14 34)" />
3476
3476
  </svg>
3477
3477
  `,
3478
3478
  }]
@@ -3494,41 +3494,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
3494
3494
  * limitations under the License.
3495
3495
  */
3496
3496
  /**
3497
- * A button component for signing in with Twitter/X.
3497
+ * A button component for signing in with Microsoft.
3498
3498
  */
3499
- class TwitterSignInButtonComponent {
3500
- signInWithTwitterLabel = injectTranslation("labels", "signInWithTwitter");
3499
+ class MicrosoftSignInButtonComponent {
3500
+ signInWithMicrosoftLabel = injectTranslation("labels", "signInWithMicrosoft");
3501
3501
  /** Whether to use themed styling. */
3502
3502
  themed = input(false, ...(ngDevMode ? [{ debugName: "themed" }] : []));
3503
3503
  /** Event emitter for successful sign-in. */
3504
3504
  signIn = output();
3505
- defaultProvider = new TwitterAuthProvider();
3505
+ defaultProvider = new OAuthProvider("microsoft.com");
3506
3506
  /** Optional custom OAuth provider configuration. */
3507
3507
  provider = input(...(ngDevMode ? [undefined, { debugName: "provider" }] : []));
3508
- get twitterProvider() {
3508
+ get microsoftProvider() {
3509
3509
  return this.provider() || this.defaultProvider;
3510
3510
  }
3511
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TwitterSignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3512
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: TwitterSignInButtonComponent, isStandalone: true, selector: "fui-twitter-sign-in-button", inputs: { themed: { classPropertyName: "themed", publicName: "themed", isSignal: true, isRequired: false, transformFunction: null }, provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { signIn: "signIn" }, host: { styleAttribute: "display: block;" }, ngImport: i0, template: `
3513
- <fui-oauth-button [provider]="twitterProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3514
- <fui-twitter-logo />
3515
- <span>{{ signInWithTwitterLabel() }}</span>
3511
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MicrosoftSignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3512
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: MicrosoftSignInButtonComponent, isStandalone: true, selector: "fui-microsoft-sign-in-button", inputs: { themed: { classPropertyName: "themed", publicName: "themed", isSignal: true, isRequired: false, transformFunction: null }, provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { signIn: "signIn" }, host: { styleAttribute: "display: block;" }, ngImport: i0, template: `
3513
+ <fui-oauth-button [provider]="microsoftProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3514
+ <fui-microsoft-logo />
3515
+ <span>{{ signInWithMicrosoftLabel() }}</span>
3516
3516
  </fui-oauth-button>
3517
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: OAuthButtonComponent, selector: "fui-oauth-button", inputs: ["provider", "themed"], outputs: ["signIn"] }, { kind: "component", type: TwitterLogoComponent, selector: "fui-twitter-logo", inputs: ["width", "height", "className"] }] });
3517
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: OAuthButtonComponent, selector: "fui-oauth-button", inputs: ["provider", "themed"], outputs: ["signIn"] }, { kind: "component", type: MicrosoftLogoComponent, selector: "fui-microsoft-logo", inputs: ["width", "height", "className"] }] });
3518
3518
  }
3519
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TwitterSignInButtonComponent, decorators: [{
3519
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MicrosoftSignInButtonComponent, decorators: [{
3520
3520
  type: Component,
3521
3521
  args: [{
3522
- selector: "fui-twitter-sign-in-button",
3522
+ selector: "fui-microsoft-sign-in-button",
3523
3523
  standalone: true,
3524
- imports: [CommonModule, OAuthButtonComponent, TwitterLogoComponent],
3524
+ imports: [CommonModule, OAuthButtonComponent, MicrosoftLogoComponent],
3525
3525
  host: {
3526
3526
  style: "display: block;",
3527
3527
  },
3528
3528
  template: `
3529
- <fui-oauth-button [provider]="twitterProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3530
- <fui-twitter-logo />
3531
- <span>{{ signInWithTwitterLabel() }}</span>
3529
+ <fui-oauth-button [provider]="microsoftProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3530
+ <fui-microsoft-logo />
3531
+ <span>{{ signInWithMicrosoftLabel() }}</span>
3532
3532
  </fui-oauth-button>
3533
3533
  `,
3534
3534
  }]
@@ -3550,28 +3550,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
3550
3550
  * limitations under the License.
3551
3551
  */
3552
3552
  // GENERATED BY generate-logos.ts
3553
- class GithubLogoComponent {
3553
+ class TwitterLogoComponent {
3554
3554
  width = input("1em", ...(ngDevMode ? [{ debugName: "width" }] : []));
3555
3555
  height = input("1em", ...(ngDevMode ? [{ debugName: "height" }] : []));
3556
3556
  className = input("", ...(ngDevMode ? [{ debugName: "className" }] : []));
3557
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GithubLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3558
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: GithubLogoComponent, isStandalone: true, selector: "fui-github-logo", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3557
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TwitterLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3558
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: TwitterLogoComponent, isStandalone: true, selector: "fui-twitter-logo", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3559
3559
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" fill="currentColor" class="fui-provider__icon">
3560
3560
  <path
3561
- 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"
3561
+ 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"
3562
3562
  />
3563
3563
  </svg>
3564
3564
  `, isInline: true });
3565
3565
  }
3566
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GithubLogoComponent, decorators: [{
3566
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TwitterLogoComponent, decorators: [{
3567
3567
  type: Component,
3568
3568
  args: [{
3569
- selector: "fui-github-logo",
3569
+ selector: "fui-twitter-logo",
3570
3570
  standalone: true,
3571
3571
  template: `
3572
3572
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" fill="currentColor" class="fui-provider__icon">
3573
3573
  <path
3574
- 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"
3574
+ 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"
3575
3575
  />
3576
3576
  </svg>
3577
3577
  `,
@@ -3594,41 +3594,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
3594
3594
  * limitations under the License.
3595
3595
  */
3596
3596
  /**
3597
- * A button component for signing in with GitHub.
3597
+ * A button component for signing in with Twitter/X.
3598
3598
  */
3599
- class GitHubSignInButtonComponent {
3600
- signInWithGitHubLabel = injectTranslation("labels", "signInWithGitHub");
3599
+ class TwitterSignInButtonComponent {
3600
+ signInWithTwitterLabel = injectTranslation("labels", "signInWithTwitter");
3601
3601
  /** Whether to use themed styling. */
3602
3602
  themed = input(false, ...(ngDevMode ? [{ debugName: "themed" }] : []));
3603
3603
  /** Event emitter for successful sign-in. */
3604
3604
  signIn = output();
3605
- defaultProvider = new GithubAuthProvider();
3605
+ defaultProvider = new TwitterAuthProvider();
3606
3606
  /** Optional custom OAuth provider configuration. */
3607
3607
  provider = input(...(ngDevMode ? [undefined, { debugName: "provider" }] : []));
3608
- get githubProvider() {
3608
+ get twitterProvider() {
3609
3609
  return this.provider() || this.defaultProvider;
3610
3610
  }
3611
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GitHubSignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3612
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: GitHubSignInButtonComponent, isStandalone: true, selector: "fui-github-sign-in-button", inputs: { themed: { classPropertyName: "themed", publicName: "themed", isSignal: true, isRequired: false, transformFunction: null }, provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { signIn: "signIn" }, host: { styleAttribute: "display: block;" }, ngImport: i0, template: `
3613
- <fui-oauth-button [provider]="githubProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3614
- <fui-github-logo />
3615
- <span>{{ signInWithGitHubLabel() }}</span>
3611
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TwitterSignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3612
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.7", type: TwitterSignInButtonComponent, isStandalone: true, selector: "fui-twitter-sign-in-button", inputs: { themed: { classPropertyName: "themed", publicName: "themed", isSignal: true, isRequired: false, transformFunction: null }, provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { signIn: "signIn" }, host: { styleAttribute: "display: block;" }, ngImport: i0, template: `
3613
+ <fui-oauth-button [provider]="twitterProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3614
+ <fui-twitter-logo />
3615
+ <span>{{ signInWithTwitterLabel() }}</span>
3616
3616
  </fui-oauth-button>
3617
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: OAuthButtonComponent, selector: "fui-oauth-button", inputs: ["provider", "themed"], outputs: ["signIn"] }, { kind: "component", type: GithubLogoComponent, selector: "fui-github-logo", inputs: ["width", "height", "className"] }] });
3617
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: OAuthButtonComponent, selector: "fui-oauth-button", inputs: ["provider", "themed"], outputs: ["signIn"] }, { kind: "component", type: TwitterLogoComponent, selector: "fui-twitter-logo", inputs: ["width", "height", "className"] }] });
3618
3618
  }
3619
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: GitHubSignInButtonComponent, decorators: [{
3619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TwitterSignInButtonComponent, decorators: [{
3620
3620
  type: Component,
3621
3621
  args: [{
3622
- selector: "fui-github-sign-in-button",
3622
+ selector: "fui-twitter-sign-in-button",
3623
3623
  standalone: true,
3624
- imports: [CommonModule, OAuthButtonComponent, GithubLogoComponent],
3624
+ imports: [CommonModule, OAuthButtonComponent, TwitterLogoComponent],
3625
3625
  host: {
3626
3626
  style: "display: block;",
3627
3627
  },
3628
3628
  template: `
3629
- <fui-oauth-button [provider]="githubProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3630
- <fui-github-logo />
3631
- <span>{{ signInWithGitHubLabel() }}</span>
3629
+ <fui-oauth-button [provider]="twitterProvider" [themed]="themed()" (signIn)="signIn.emit($event)">
3630
+ <fui-twitter-logo />
3631
+ <span>{{ signInWithTwitterLabel() }}</span>
3632
3632
  </fui-oauth-button>
3633
3633
  `,
3634
3634
  }]
@@ -4667,10 +4667,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImpor
4667
4667
  * See the License for the specific language governing permissions and
4668
4668
  * limitations under the License.
4669
4669
  */
4670
- if (!isDevMode()) {
4671
- const pkgJson = require("../package.json");
4672
- registerFramework("angular", pkgJson.version);
4673
- }
4670
+ /**
4671
+ * Package version - this file is auto-generated during build
4672
+ * DO NOT EDIT MANUALLY
4673
+ */
4674
+ const VERSION = "0.0.2-exp.e03a767";
4675
+
4676
+ /**
4677
+ * Copyright 2025 Google LLC
4678
+ *
4679
+ * Licensed under the Apache License, Version 2.0 (the "License");
4680
+ * you may not use this file except in compliance with the License.
4681
+ * You may obtain a copy of the License at
4682
+ *
4683
+ * http://www.apache.org/licenses/LICENSE-2.0
4684
+ *
4685
+ * Unless required by applicable law or agreed to in writing, software
4686
+ * distributed under the License is distributed on an "AS IS" BASIS,
4687
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4688
+ * See the License for the specific language governing permissions and
4689
+ * limitations under the License.
4690
+ */
4691
+ registerFramework("angular", VERSION);
4674
4692
 
4675
4693
  /**
4676
4694
  * Generated bundle index. Do not edit.