{"version":3,"file":"aws-amplify-ui-angular.mjs","sources":["../../../projects/ui-angular/src/lib/utilities/amplify-slot/amplify-slot.directive.ts","../../../projects/ui-angular/src/lib/services/custom-components.service.ts","../../../projects/ui-angular/src/lib/services/authenticator.service.ts","../../../projects/ui-angular/src/version.ts","../../../projects/ui-angular/src/lib/utilities/amplify-slot/amplify-slot.component.ts","../../../projects/ui-angular/src/lib/utilities/amplify-slot/amplify-slot.component.html","../../../projects/ui-angular/src/lib/primitives/button/button.component.ts","../../../projects/ui-angular/src/lib/primitives/button/button.component.html","../../../projects/ui-angular/src/lib/primitives/password-field/password-field.component.ts","../../../projects/ui-angular/src/lib/primitives/password-field/password-field.component.html","../../../projects/ui-angular/src/lib/primitives/select/select.component.ts","../../../projects/ui-angular/src/lib/primitives/select/select.component.html","../../../projects/ui-angular/src/lib/primitives/phone-number-field/phone-number-field.component.ts","../../../projects/ui-angular/src/lib/primitives/phone-number-field/phone-number-field.component.html","../../../projects/ui-angular/src/lib/primitives/text-field/text-field.component.ts","../../../projects/ui-angular/src/lib/primitives/text-field/text-field.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/form-field/form-field.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/form-field/form-field.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/base-form-fields/base-form-fields.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/base-form-fields/base-form-fields.component.html","../../../projects/ui-angular/src/lib/primitives/error/error.component.ts","../../../projects/ui-angular/src/lib/primitives/error/error.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-reset-password/amplify-confirm-reset-password.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-sign-in/confirm-sign-in.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-sign-up/confirm-sign-up.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/confirm-verify-user/amplify-confirm-verify-user.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/force-new-password/force-new-password.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/force-new-password/force-new-password.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/forgot-password/forgot-password.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/forgot-password/forgot-password.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/select-mfa-type/select-mfa-type.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/select-mfa-type/select-mfa-type.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/setup-email/setup-email.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/setup-email/setup-email.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/setup-totp/setup-totp.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/setup-totp/setup-totp.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/federated-sign-in-button/federated-sign-in-button.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/federated-sign-in/federated-sign-in.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-in/sign-in.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-in/sign-in.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-up/sign-up-form-fields/sign-up-form-fields.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-up/sign-up.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/sign-up/sign-up.component.html","../../../projects/ui-angular/src/lib/primitives/tab-item/tab-item.component.ts","../../../projects/ui-angular/src/lib/primitives/tab-item/tab-item.component.html","../../../projects/ui-angular/src/lib/primitives/tabs/tabs.component.ts","../../../projects/ui-angular/src/lib/primitives/tabs/tabs.component.html","../../../projects/ui-angular/src/lib/common/helpers.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/verify-user/verify-user.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/verify-user/verify-user.component.html","../../../projects/ui-angular/src/lib/components/authenticator/components/authenticator/authenticator.component.ts","../../../projects/ui-angular/src/lib/components/authenticator/components/authenticator/authenticator.component.html","../../../projects/ui-angular/src/lib/primitives/checkbox/checkbox.component.ts","../../../projects/ui-angular/src/lib/primitives/checkbox/checkbox.component.html","../../../projects/ui-angular/src/lib/components/authenticator/authenticator.module.ts","../../../projects/ui-angular/src/index.ts","../../../projects/ui-angular/src/aws-amplify-ui-angular.ts"],"sourcesContent":["import { Directive, Input, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n  selector: '[amplifySlot]',\n  standalone: false,\n})\nexport class AmplifySlotDirective {\n  template = inject<TemplateRef<unknown>>(TemplateRef);\n\n  public name: string;\n\n  @Input() set amplifySlot(component: string) {\n    this.name = component;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { CustomComponents } from '../common';\n\n/**\n * Stores and provides custom components that users provide with `amplify-slot`.\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class CustomComponentsService {\n  private _customComponents: CustomComponents = {};\n\n  public get customComponents(): CustomComponents {\n    return this._customComponents;\n  }\n\n  public set customComponents(customComponents: CustomComponents) {\n    this._customComponents = { ...this._customComponents, ...customComponents };\n  }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { Event, interpret, Subscription } from 'xstate';\n\nimport { AuthUser, getCurrentUser } from 'aws-amplify/auth';\nimport { ConsoleLogger as Logger } from 'aws-amplify/utils';\nimport {\n  AuthContext,\n  AuthenticatorServiceFacade,\n  AuthEvent,\n  AuthInterpreter,\n  AuthMachineState,\n  AuthStatus,\n  createAuthenticatorMachine,\n  defaultAuthHubHandler,\n  getServiceFacade,\n  listenToAuthHub,\n  translate,\n} from '@aws-amplify/ui';\n\nimport { AuthSubscriptionCallback } from '../common/types';\n\nconst logger = new Logger('state-machine');\n\n/**\n * AuthenticatorService provides access to the authenticator state and context.\n */\n@Injectable({\n  providedIn: 'root', // ensure we have a singleton service\n})\nexport class AuthenticatorService implements OnDestroy {\n  private _authState: AuthMachineState;\n  private _authStatus: AuthStatus = 'configuring';\n  private _authService: AuthInterpreter;\n  private _machineSubscription: Subscription;\n  private _facade: ReturnType<typeof getServiceFacade>;\n  private _hubSubject: Subject<void>;\n  private _unsubscribeHub: () => void;\n\n  constructor() {\n    const machine = createAuthenticatorMachine();\n    this._authService = interpret(machine).start();\n\n    this.getInitialAuthStatus();\n    this.setupMachineSubscription();\n    this.setupHubListener();\n  }\n\n  /**\n   * Context facades\n   */\n\n  public get error(): AuthenticatorServiceFacade['error'] {\n    return translate(this._facade?.error);\n  }\n\n  public get hasValidationErrors(): AuthenticatorServiceFacade['hasValidationErrors'] {\n    return this._facade?.hasValidationErrors;\n  }\n\n  public get isPending(): AuthenticatorServiceFacade['isPending'] {\n    return this._facade?.isPending;\n  }\n\n  public get route(): AuthenticatorServiceFacade['route'] {\n    return this._facade?.route;\n  }\n\n  public get authStatus(): AuthenticatorServiceFacade['authStatus'] {\n    return this._authStatus;\n  }\n\n  public get user(): AuthUser {\n    return this._facade?.user;\n  }\n\n  public get username(): string {\n    return this._facade?.username;\n  }\n\n  public get validationErrors(): AuthenticatorServiceFacade['validationErrors'] {\n    return this._facade?.validationErrors;\n  }\n\n  public get codeDeliveryDetails(): AuthenticatorServiceFacade['codeDeliveryDetails'] {\n    return this._facade?.codeDeliveryDetails;\n  }\n\n  public get totpSecretCode(): AuthenticatorServiceFacade['totpSecretCode'] {\n    return this._facade?.totpSecretCode;\n  }\n\n  /**\n   * Service facades\n   */\n\n  public get initializeMachine(): AuthenticatorServiceFacade['initializeMachine'] {\n    return this._facade.initializeMachine;\n  }\n\n  public get updateForm(): AuthenticatorServiceFacade['updateForm'] {\n    return this._facade.updateForm;\n  }\n\n  public get updateBlur(): AuthenticatorServiceFacade['updateBlur'] {\n    return this._facade.updateBlur;\n  }\n\n  public get resendCode(): AuthenticatorServiceFacade['resendCode'] {\n    return this._facade.resendCode;\n  }\n\n  public get signOut(): AuthenticatorServiceFacade['signOut'] {\n    return this._facade.signOut;\n  }\n\n  public get submitForm(): AuthenticatorServiceFacade['submitForm'] {\n    return this._facade.submitForm;\n  }\n\n  /**\n   * Transition facades\n   */\n\n  public get toFederatedSignIn(): AuthenticatorServiceFacade['toFederatedSignIn'] {\n    return this._facade.toFederatedSignIn;\n  }\n\n  public get toForgotPassword(): AuthenticatorServiceFacade['toForgotPassword'] {\n    return this._facade.toForgotPassword;\n  }\n\n  public get toSignIn(): AuthenticatorServiceFacade['toSignIn'] {\n    return this._facade.toSignIn;\n  }\n\n  public get toSignUp(): AuthenticatorServiceFacade['toSignUp'] {\n    return this._facade.toSignUp;\n  }\n\n  public get skipVerification(): AuthenticatorServiceFacade['skipVerification'] {\n    return this._facade.skipVerification;\n  }\n\n  /**\n   * Internal utility functions\n   */\n\n  /** @deprecated For internal use only */\n  public get authState(): AuthMachineState {\n    return this._authState;\n  }\n\n  /** @deprecated For internal use only */\n  public get authService(): AuthInterpreter {\n    return this._authService;\n  }\n\n  /** @deprecated For internal use only */\n  public get context(): AuthContext {\n    return this._authState.context;\n  }\n\n  /** @deprecated For internal use only */\n  public get slotContext(): AuthenticatorServiceFacade & {\n    $implicit: AuthenticatorServiceFacade;\n  } {\n    return {\n      ...this._facade,\n      $implicit: this._facade,\n    };\n  }\n\n  /** @deprecated For internal use only */\n  public get hubSubject(): Subject<void> {\n    return this._hubSubject;\n  }\n\n  public subscribe(callback: AuthSubscriptionCallback): Subscription {\n    if (!this._authService) {\n      logger.error(\n        'Subscription attempted before machine was created. This is likely a bug on the library, please consider filing a bug.'\n      );\n    }\n\n    const subscription = this._authService.subscribe(() => {\n      callback(this._facade);\n    });\n    return subscription;\n  }\n\n  ngOnDestroy(): void {\n    if (this._machineSubscription) this._machineSubscription.unsubscribe();\n    if (this._unsubscribeHub) this._unsubscribeHub();\n    this._authService.stop();\n  }\n\n  /** @deprecated For internal use only */\n  public send(event: Event<AuthEvent>): void {\n    this.authService.send(event);\n  }\n\n  private async getInitialAuthStatus(): Promise<void> {\n    try {\n      await getCurrentUser();\n      this._authStatus = 'authenticated';\n    } catch {\n      this._authStatus = 'unauthenticated';\n    }\n  }\n\n  private setupHubListener(): void {\n    this._hubSubject = new Subject<void>();\n\n    const onSignIn = () => {\n      this._authStatus = 'authenticated';\n    };\n    const onSignOut = () => {\n      this._authStatus = 'unauthenticated';\n    };\n\n    this._unsubscribeHub = listenToAuthHub(\n      this._authService,\n      (data, service) => {\n        defaultAuthHubHandler(data, service, { onSignIn, onSignOut });\n        this._hubSubject.next();\n      }\n    );\n  }\n\n  private setupMachineSubscription(): void {\n    this._machineSubscription = this._authService.subscribe(\n      (state: unknown) => {\n        const newState = state as AuthMachineState;\n        this._authState = newState;\n        this._facade = getServiceFacade({\n          send: this._authService.send,\n          state: newState,\n        });\n      }\n    );\n  }\n}\n","export const VERSION = '6.0.2';\n","import {\n  AfterContentInit,\n  Component,\n  HostBinding,\n  Input,\n  TemplateRef,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport { CustomComponentsService } from '../../services/custom-components.service';\n\n@Component({\n  selector: 'amplify-slot',\n  templateUrl: './amplify-slot.component.html',\n  standalone: false,\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class AmplifySlotComponent implements AfterContentInit {\n  @Input() name: string;\n  @Input() context: Record<PropertyKey, unknown>;\n\n  @HostBinding('style.display') display = 'contents';\n\n  public overridingComponent: TemplateRef<unknown>;\n  public isOverriden = false;\n\n  private propService = inject(CustomComponentsService);\n\n  ngAfterContentInit(): void {\n    const { customComponents } = this.propService;\n    const overridingComponent = customComponents[this.name];\n\n    if (overridingComponent) {\n      this.overridingComponent = overridingComponent;\n      this.isOverriden = true;\n    }\n  }\n}\n","<!-- \n  if slot isn't overwritten, we display the the default coponent, which is the \n  children passed onto this component.\n-->\n<ng-content *ngIf=\"!isOverriden\"></ng-content>\n\n<!-- If slot is overwritten, we render that instead. -->\n<ng-container\n  *ngIf=\"isOverriden\"\n  [ngTemplateOutlet]=\"overridingComponent\"\n  [ngTemplateOutletContext]=\"context\"\n></ng-container>\n","import {\n  Component,\n  HostBinding,\n  Input,\n  OnInit,\n  ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n  selector: 'button[amplify-button]',\n  standalone: false,\n  templateUrl: './button.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class ButtonComponent implements OnInit {\n  @Input() type: 'submit' | 'button' = 'button';\n  @Input() fullWidth: boolean | string = false;\n  @Input() isDisabled: boolean | string = false;\n  @Input() size: 'small' | 'medium' | 'large' = 'medium';\n  @Input() variation: 'primary' | 'default' | 'link' = 'default';\n  @Input() fontWeight: 'normal' | 'bold' | 'lighter' = 'normal';\n\n  @HostBinding('type') typeAttr: string;\n  @HostBinding('attr.data-fullwidth') fullWidthAttr: boolean | string;\n  @HostBinding('attr.data-size') sizeAttr: string;\n  @HostBinding('attr.data-variation') variationAttr: string;\n  @HostBinding('style.font-weight') fontWeightAttr: string;\n\n  @HostBinding('attr.disabled') get getDisabled(): string {\n    return this.isDisabled ? '' : null;\n  }\n\n  @HostBinding('class') get classNames(): string {\n    let className = 'amplify-button';\n    if (this.variation) {\n      className += ` amplify-button--${this.variation}`;\n    }\n    if (this.size) {\n      className += ` amplify-button--${this.size}`;\n    }\n    if (this.fullWidth) {\n      className += ` amplify-button--fullwidth`;\n    }\n    if (this.isDisabled) {\n      className += ` amplify-button--disabled amplify-button--loading`;\n    }\n\n    return className;\n  }\n\n  ngOnInit(): void {\n    this.typeAttr = this.type;\n    this.fullWidthAttr = this.fullWidth;\n    this.sizeAttr = this.size;\n    this.variationAttr = this.variation;\n    this.fontWeightAttr = this.fontWeight;\n  }\n}\n","<ng-content></ng-content>\n","import {\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  ChangeDetectionStrategy,\n} from '@angular/core';\nimport { translate, ComponentClassName } from '@aws-amplify/ui';\nimport { nanoid } from 'nanoid';\nimport { classNames } from '@aws-amplify/ui';\n\n@Component({\n  selector: 'amplify-password-field',\n  standalone: false,\n  templateUrl: './password-field.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class PasswordFieldComponent {\n  @Input() autocomplete = 'new-password';\n  @Input() disabled = false;\n  @Input() fieldId = `amplify-field-${nanoid(12)}`;\n  @Input() initialValue = '';\n  @Input() label = '';\n  @Input() name: string;\n  @Input() placeholder = '';\n  @Input() required = true;\n  @Input() labelHidden = false;\n  @Input() hasError: boolean;\n  @Input() describedBy: string;\n  @Output() setBlur = new EventEmitter<Event>();\n\n  public type: 'text' | 'password' = 'password';\n\n  public showPassword = false;\n  public showPasswordButtonlabel = translate('Show password');\n\n  // re-export utilities so that template html can use them\n  public classnames = classNames;\n  public ComponentClassName = ComponentClassName;\n\n  togglePasswordText(): void {\n    this.showPassword = !this.showPassword;\n    this.showPasswordButtonlabel = this.showPassword\n      ? translate('Hide password')\n      : translate('Show password');\n    this.type = this.showPassword ? 'text' : 'password';\n  }\n}\n","<div\n  [class]=\"\n    classnames(\n      ComponentClassName.Flex,\n      ComponentClassName.Field,\n      ComponentClassName.TextField,\n      ComponentClassName.PasswordField\n    )\n  \"\n>\n  <label\n    class=\"amplify-label\"\n    [class.amplify-visually-hidden]=\"labelHidden\"\n    [for]=\"fieldId\"\n  >\n    {{ label }}\n  </label>\n  <div\n    [class]=\"classnames(ComponentClassName.Flex, ComponentClassName.FieldGroup)\"\n  >\n    <div [class]=\"ComponentClassName.FieldGroupFieldWrapper\">\n      <input\n        [class]=\"\n          classnames(\n            ComponentClassName.Input,\n            ComponentClassName.FieldGroupControl,\n            ComponentClassName.FieldShowPassword\n          )\n        \"\n        [id]=\"fieldId\"\n        [type]=\"type\"\n        [name]=\"name\"\n        [placeholder]=\"placeholder\"\n        [required]=\"required\"\n        [value]=\"initialValue\"\n        [autocomplete]=\"autocomplete\"\n        autocapitalize=\"off\"\n        [attr.disabled]=\"disabled ? '' : null\"\n        [attr.aria-invalid]=\"hasError ? 'true' : 'false'\"\n        [attr.aria-describedby]=\"describedBy\"\n        (blur)=\"setBlur.emit($event)\"\n      />\n    </div>\n    <div [class]=\"ComponentClassName.FieldGroupOuterEnd\">\n      <button\n        amplify-button\n        role=\"switch\"\n        (click)=\"togglePasswordText()\"\n        [attr.aria-checked]=\"type !== 'password'\"\n        [attr.aria-label]=\"showPasswordButtonlabel\"\n        [class]=\"\n          classnames(\n            ComponentClassName.Input,\n            ComponentClassName.FieldGroupControl\n          )\n        \"\n      >\n        <svg\n          *ngIf=\"!showPassword\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          fill=\"currentColor\"\n          viewBox=\"0 0 24 24\"\n          class=\"amplify-icon\"\n        >\n          <path\n            d=\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n          ></path>\n        </svg>\n        <svg\n          *ngIf=\"showPassword\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n          fill=\"currentColor\"\n          viewBox=\"0 0 24 24\"\n          class=\"amplify-icon\"\n        >\n          <path\n            d=\"M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z\"\n            fill=\"none\"\n          ></path>\n          <path\n            d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n          ></path>\n        </svg>\n      </button>\n    </div>\n  </div>\n</div>\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n  selector: 'amplify-form-select',\n  standalone: false,\n  templateUrl: './select.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SelectComponent {\n  @Input() items: string[];\n  @Input() name: string;\n  @Input() label: string;\n  @Input() id: string;\n  @Input() defaultValue: string;\n}\n","<label class=\"amplify-label amplify-visually-hidden\" [for]=\"id\">{{\n  label\n}}</label>\n<div class=\"amplify-select__wrapper\">\n  <select\n    class=\"amplify-select amplify-field-group__control\"\n    autocomplete=\"tel-country-code\"\n    [id]=\"id\"\n    [name]=\"name\"\n  >\n    <option\n      *ngFor=\"let item of items\"\n      [value]=\"item\"\n      [selected]=\"item === defaultValue\"\n    >\n      {{ item }}\n    </option>\n  </select>\n  <div\n    class=\"amplify-flex amplify-select__icon\"\n    style=\"align-items: center; justify-content: center\"\n  >\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      class=\"amplify-icon\"\n      viewBox=\"0 0 24 24\"\n      data-size=\"large\"\n      fill=\"currentColor\"\n    >\n      <path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"></path>\n    </svg>\n  </div>\n</div>\n","import {\n  Component,\n  HostBinding,\n  Input,\n  OnInit,\n  ChangeDetectionStrategy,\n} from '@angular/core';\nimport { nanoid } from 'nanoid';\nimport { countryDialCodes } from '@aws-amplify/ui';\n\n@Component({\n  selector: 'amplify-phone-number-field',\n  standalone: false,\n  templateUrl: './phone-number-field.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class PhoneNumberFieldComponent implements OnInit {\n  @Input() autocomplete = 'new-password';\n  @Input() disabled = false;\n  @Input() defaultCountryCode: string;\n  @Input() selectFieldId = `amplify-field-${nanoid(12)}`;\n  @Input() textFieldId = `amplify-field-${nanoid(12)}`;\n  @Input() initialValue = '';\n  @Input() label = '';\n  @Input() name: string;\n  @Input() placeholder = '';\n  @Input() required = true;\n  @Input() type: string;\n  @Input() labelHidden = false;\n  @Input() dialCodeList: Array<string>;\n  @Input() hasError: boolean;\n  @Input() describedBy: string;\n\n  @HostBinding('style.display') display = 'contents';\n\n  public countryDialCodesValues: Array<string>;\n\n  ngOnInit(): void {\n    this.countryDialCodesValues = this.dialCodeList ?? countryDialCodes;\n  }\n}\n","<div\n  class=\"amplify-flex amplify-field amplify-textfield amplify-phonenumberfield\"\n>\n  <label\n    class=\"amplify-label\"\n    [class.amplify-visually-hidden]=\"labelHidden\"\n    [for]=\"textFieldId\"\n  >\n    {{ label }}\n  </label>\n  <div class=\"amplify-flex amplify-field-group amplify-field-group--horizontal\">\n    <div class=\"amplify-field-group__outer-start\">\n      <div\n        class=\"amplify-flex amplify-field amplify-selectfield amplify-dialcodeselect\"\n        style=\"flex-direction: column\"\n      >\n        <amplify-form-select\n          name=\"country_code\"\n          label=\"Country Code\"\n          [id]=\"selectFieldId\"\n          [items]=\"countryDialCodesValues\"\n          [defaultValue]=\"defaultCountryCode\"\n        ></amplify-form-select>\n      </div>\n    </div>\n\n    <div\n      class=\"amplify-field-group__field-wrapper amplify-field-group__field-wrapper--horizontal\"\n    >\n      <input\n        class=\"amplify-input amplify-field-group__control\"\n        [id]=\"textFieldId\"\n        [type]=\"type\"\n        [name]=\"name\"\n        [placeholder]=\"placeholder\"\n        [required]=\"required\"\n        [value]=\"initialValue\"\n        [autocomplete]=\"autocomplete\"\n        [attr.disabled]=\"disabled ? '' : null\"\n        [attr.aria-invalid]=\"hasError ? 'true' : 'false'\"\n        [attr.aria-describedby]=\"describedBy\"\n      />\n    </div>\n  </div>\n</div>\n","import {\n  Component,\n  HostBinding,\n  Input,\n  ChangeDetectionStrategy,\n} from '@angular/core';\nimport { nanoid } from 'nanoid';\n\n@Component({\n  selector: 'amplify-text-field',\n  standalone: false,\n  templateUrl: './text-field.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TextFieldComponent {\n  @Input() autocomplete = 'new-password';\n  @Input() disabled = false;\n  @Input() fieldId = `amplify-field-${nanoid(12)}`;\n  @Input() initialValue = '';\n  @Input() label = '';\n  @Input() name: string;\n  @Input() placeholder = '';\n  @Input() required = true;\n  @Input() type: string;\n  @Input() labelHidden = false;\n  @Input() hasError: boolean;\n  @Input() describedBy: string;\n\n  @HostBinding('style.display') display = 'contents';\n}\n","<label\n  class=\"amplify-label\"\n  [class.amplify-visually-hidden]=\"labelHidden\"\n  [for]=\"fieldId\"\n>\n  {{ label }}\n</label>\n<input\n  class=\"amplify-input\"\n  autocapitalize=\"off\"\n  [id]=\"fieldId\"\n  [type]=\"type\"\n  [name]=\"name\"\n  [placeholder]=\"placeholder\"\n  [required]=\"required\"\n  [value]=\"initialValue\"\n  [autocomplete]=\"autocomplete\"\n  [attr.disabled]=\"disabled ? '' : null\"\n  [attr.aria-invalid]=\"hasError ? 'true' : 'false'\"\n  [attr.aria-describedby]=\"describedBy\"\n/>\n","import {\n  Component,\n  Input,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport {\n  translate,\n  countryDialCodes,\n  FormFieldOptions,\n  getErrors,\n} from '@aws-amplify/ui';\nimport { nanoid } from 'nanoid';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\n@Component({\n  selector: 'amplify-form-field',\n  standalone: false,\n  templateUrl: './form-field.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class FormFieldComponent {\n  @Input() name: string; // name of the input field\n  @Input() formField: FormFieldOptions; // form field options for this field\n\n  public defaultCountryCodeValue: string;\n  public countryDialCodesValue = countryDialCodes;\n  public errorId = nanoid(12);\n\n  private authenticator = inject(AuthenticatorService);\n\n  get ariaDescribedBy(): string | undefined {\n    return this.hasError() ? this.errorId : undefined;\n  }\n\n  get errors(): string[] {\n    const { validationErrors } = this.authenticator;\n    return getErrors(validationErrors[this.name]);\n  }\n\n  public onBlur($event: Event): void {\n    const { name } = <HTMLInputElement>$event.target;\n\n    this.authenticator.updateBlur({ name });\n  }\n\n  isPasswordField(): boolean {\n    return this.formField?.type === 'password';\n  }\n\n  isPhoneField(): boolean {\n    return this.formField?.type === 'tel';\n  }\n\n  hasError(): boolean {\n    return this.errors?.length > 0;\n  }\n\n  translate(phrase: string): string {\n    return translate<string>(phrase);\n  }\n}\n","<div class=\"amplify-flex amplify-field amplify-authenticator__column\" *ngIf=\"formField\">\n  <!-- Country code field -->\n  <amplify-phone-number-field\n    *ngIf=\"isPhoneField()\"\n    [name]=\"name\"\n    [label]=\"formField.label\"\n    [defaultCountryCode]=\"formField.dialCode\"\n    [dialCodeList]=\"formField.dialCodeList\"\n    [placeholder]=\"formField.placeholder\"\n    [required]=\"formField.isRequired\"\n    [labelHidden]=\"formField.labelHidden\"\n    [autocomplete]=\"formField.autocomplete\"\n    [hasError]=\"hasError\"\n    [describedBy]=\"ariaDescribedBy\"\n    type=\"tel\"\n  ></amplify-phone-number-field>\n\n  <amplify-password-field\n    *ngIf=\"isPasswordField()\"\n    [name]=\"name\"\n    [label]=\"formField.label\"\n    [placeholder]=\"formField.placeholder\"\n    [required]=\"formField.isRequired\"\n    [labelHidden]=\"formField.labelHidden\"\n    [autocomplete]=\"formField.autocomplete\"\n    [hasError]=\"hasError\"\n    [describedBy]=\"ariaDescribedBy\"\n    (setBlur)=\"onBlur($event)\"\n  ></amplify-password-field>\n\n  <amplify-text-field\n    *ngIf=\"!isPasswordField() && !isPhoneField()\"\n    [name]=\"name\"\n    [label]=\"formField.label\"\n    [placeholder]=\"formField.placeholder\"\n    [required]=\"formField.isRequired\"\n    [labelHidden]=\"formField.labelHidden\"\n    [autocomplete]=\"formField.autocomplete\"\n    [type]=\"formField.type\"\n    [hasError]=\"hasError\"\n    [describedBy]=\"ariaDescribedBy\"\n  ></amplify-text-field>\n\n  <div\n    data-amplify-sign-up-errors\n    *ngIf=\"hasError()\"\n    [id]=\"errorId\"\n  >\n    <div\n      class=\"amplify-text amplify-text--error\"\n      data-variation=\"error\"\n      *ngFor=\"let error of errors\"\n    >\n      {{ translate(error) }}\n    </div>\n  </div>\n</div>","import {\n  Component,\n  HostBinding,\n  Input,\n  OnInit,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport {\n  FormFieldComponents,\n  FormFieldsArray,\n  getSortedFormFields,\n} from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\n/**\n * Sorts the given formFields, then renders them in order.\n */\n@Component({\n  selector: 'amplify-base-form-fields',\n  standalone: false,\n  templateUrl: './base-form-fields.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class BaseFormFieldsComponent implements OnInit {\n  @Input() route: FormFieldComponents; // formFields to sort and render\n  @HostBinding('style.display') display = 'contents';\n  public formFields: FormFieldsArray = [];\n\n  private authenticator = inject(AuthenticatorService);\n\n  ngOnInit(): void {\n    const state = this.authenticator.authState;\n    this.formFields = getSortedFormFields(this.route, state);\n  }\n}\n","<ng-container *ngFor=\"let formField of formFields\">\n  <amplify-form-field\n    [name]=\"formField[0]\"\n    [formField]=\"formField[1]\"\n  ></amplify-form-field>\n</ng-container>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { translate } from '@aws-amplify/ui';\n\n@Component({\n  selector: 'amplify-error',\n  standalone: false,\n  templateUrl: './error.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class ErrorComponent {\n  public isVisible = true;\n  public dismissAriaLabel = translate('Dismiss alert');\n\n  public close(): void {\n    this.isVisible = false;\n  }\n}\n","<div\n  class=\"amplify-flex amplify-alert amplify-alert--error\"\n  data-variation=\"error\"\n  style=\"align-items: center; justify-content: space-between\"\n  *ngIf=\"isVisible\"\n  role=\"alert\"\n>\n  <div class=\"amplify-flex\" style=\"align-items: center\">\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      class=\"amplify-icon\"\n      [attr.aria-hidden]=\"true\"\n      viewBox=\"0 0 24 24\"\n      fill=\"currentColor\"\n    >\n      <path\n        d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\"\n      ></path>\n    </svg>\n    <div><ng-content></ng-content></div>\n  </div>\n  <button\n    amplify-button\n    [attr.aria-label]=\"dismissAriaLabel\"\n    variation=\"link\"\n    [fullWidth]=\"false\"\n    (click)=\"close()\"\n  >\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      class=\"amplify-icon\"\n      [attr.aria-hidden]=\"true\"\n      viewBox=\"0 0 24 24\"\n      fill=\"currentColor\"\n    >\n      <path\n        d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n      ></path>\n    </svg>\n  </button>\n</div>\n","import {\n  Component,\n  HostBinding,\n  Input,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport {\n  FormFieldsArray,\n  getFormDataFromEvent,\n  authenticatorTextUtil,\n} from '@aws-amplify/ui';\n\nconst {\n  getBackToSignInText,\n  getResendCodeText,\n  getSubmitText,\n  getResetYourPasswordText,\n} = authenticatorTextUtil;\n\n@Component({\n  selector: 'amplify-confirm-reset-password',\n  standalone: false,\n  templateUrl: './amplify-confirm-reset-password.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class ConfirmResetPasswordComponent {\n  @HostBinding('attr.data-amplify-authenticator-confirmsignin') dataAttr = '';\n  @Input() public headerText = getResetYourPasswordText();\n\n  public sortedFormFields: FormFieldsArray;\n\n  // translated strings\n  public backToSignInText = getBackToSignInText();\n  public resendCodeText = getResendCodeText();\n  public submitText = getSubmitText();\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  onInput(event: Event): void {\n    event.preventDefault();\n    const { name, value } = <HTMLInputElement>event.target;\n    this.authenticator.updateForm({ name, value });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n}\n","<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n  <fieldset\n    class=\"amplify-flex amplify-authenticator__column\"\n    data-amplify-fieldset\n    [disabled]=\"authenticator.isPending\"\n  >\n    <amplify-slot name=\"confirm-reset-password-header\" [context]=\"context\">\n      <h3 class=\"amplify-heading amplify-heading--3\">{{ headerText }}</h3>\n    </amplify-slot>\n\n    <amplify-base-form-fields\n      route=\"confirmResetPassword\"\n    ></amplify-base-form-fields>\n\n    <button\n      amplify-button\n      variation=\"primary\"\n      fullWidth=\"true\"\n      type=\"submit\"\n      [isDisabled]=\"authenticator.isPending\"\n    >\n      {{ submitText }}\n    </button>\n\n    <button\n      amplify-button\n      size=\"small\"\n      variation=\"link\"\n      fontWeight=\"normal\"\n      fullWidth=\"true\"\n      type=\"button\"\n      (click)=\"authenticator.resendCode()\"\n    >\n      {{ resendCodeText }}\n    </button>\n\n    <amplify-error *ngIf=\"authenticator.error\">\n      {{ authenticator.error }}\n    </amplify-error>\n  </fieldset>\n  <amplify-slot name=\"confirm-reset-password-footer\" [context]=\"context\">\n  </amplify-slot>\n</form>\n","import {\n  Component,\n  HostBinding,\n  OnInit,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport {\n  FormFieldsArray,\n  getActorContext,\n  getFormDataFromEvent,\n  SignInContext,\n  authenticatorTextUtil,\n} from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\nconst { getConfirmText, getBackToSignInText, getChallengeText } =\n  authenticatorTextUtil;\n\n@Component({\n  selector: 'amplify-confirm-sign-in',\n  standalone: false,\n  templateUrl: './confirm-sign-in.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class ConfirmSignInComponent implements OnInit {\n  @HostBinding('attr.data-amplify-authenticator-confirmsignin') dataAttr = '';\n\n  // translated texts\n  public headerText: string;\n  public confirmText = getConfirmText();\n  public backToSignInText = getBackToSignInText();\n  public sortedFormFields: FormFieldsArray;\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  ngOnInit(): void {\n    this.setHeaderText();\n  }\n\n  setHeaderText(): void {\n    const state = this.authenticator.authState;\n    const actorContext = getActorContext(state) as SignInContext;\n    const { challengeName } = actorContext;\n    this.headerText = getChallengeText(challengeName);\n  }\n\n  onInput(event: Event): void {\n    event.preventDefault();\n    const { name, value } = <HTMLInputElement>event.target;\n    this.authenticator.updateForm({ name, value });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n}\n","<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n  <fieldset\n    class=\"amplify-flex amplify-authenticator__column\"\n    data-amplify-fieldset\n    [disabled]=\"authenticator.isPending\"\n  >\n    <amplify-slot name=\"confirm-sign-in-header\" [context]=\"context\">\n      <h3 class=\"amplify-heading amplify-heading--3\">{{ headerText }}</h3>\n    </amplify-slot>\n    <amplify-base-form-fields route=\"confirmSignIn\"></amplify-base-form-fields>\n\n    <button\n      amplify-button\n      variation=\"primary\"\n      fullWidth=\"true\"\n      type=\"submit\"\n      [isDisabled]=\"authenticator.isPending\"\n    >\n      {{ confirmText }}\n    </button>\n    <button\n      amplify-button\n      size=\"small\"\n      variation=\"link\"\n      fontWeight=\"normal\"\n      fullWidth=\"true\"\n      (click)=\"authenticator.toSignIn()\"\n    >\n      {{ backToSignInText }}\n    </button>\n    <amplify-error *ngIf=\"authenticator.error\">\n      {{ authenticator.error }}\n    </amplify-error>\n  </fieldset>\n  <amplify-slot\n    name=\"confirm-sign-in-footer\"\n    [context]=\"context\"\n  ></amplify-slot>\n</form>\n","import {\n  Component,\n  HostBinding,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport {\n  FormFieldsArray,\n  getFormDataFromEvent,\n  authenticatorTextUtil,\n} from '@aws-amplify/ui';\n\nconst {\n  getResendCodeText,\n  getConfirmText,\n  getDeliveryMethodText,\n  getDeliveryMessageText,\n} = authenticatorTextUtil;\n@Component({\n  selector: 'amplify-confirm-sign-up',\n  standalone: false,\n  templateUrl: './confirm-sign-up.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class ConfirmSignUpComponent {\n  @HostBinding('attr.data-amplify-authenticator-confirmsignup') dataAttr = '';\n\n  // translated texts\n  public resendCodeText = getResendCodeText();\n  public confirmText = getConfirmText();\n\n  public sortedFormFields: FormFieldsArray;\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  public get confirmSignUpHeading(): string {\n    const { codeDeliveryDetails } = this.authenticator;\n    return getDeliveryMethodText(codeDeliveryDetails);\n  }\n\n  public get subtitleText(): string {\n    const { codeDeliveryDetails } = this.authenticator;\n    return getDeliveryMessageText(codeDeliveryDetails);\n  }\n\n  onInput(event: Event): void {\n    event.preventDefault();\n    const { name, value } = <HTMLInputElement>event.target;\n    this.authenticator.updateForm({ name, value });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n}\n","<ng-container>\n  <form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n    <fieldset\n      class=\"amplify-flex amplify-authenticator__column\"\n      data-amplify-fieldset\n      [disabled]=\"context.isPending\"\n    >\n      <amplify-slot name=\"confirm-sign-up-header\" [context]=\"context\">\n        <h3\n          class=\"amplify-heading amplify-authenticator__heading\"\n          style=\"font-size: 1.5rem\"\n        >\n          {{ confirmSignUpHeading }}\n        </h3>\n      </amplify-slot>\n      <span class=\"amplify-authenticator__subtitle\">\n        {{ subtitleText }}\n      </span>\n      <amplify-base-form-fields\n        route=\"confirmSignUp\"\n      ></amplify-base-form-fields>\n\n      <button\n        amplify-button\n        variation=\"primary\"\n        fullWidth=\"true\"\n        type=\"submit\"\n        [isDisabled]=\"authenticator.isPending\"\n      >\n        {{ confirmText }}\n      </button>\n      <button\n        amplify-button\n        fontWeight=\"normal\"\n        (click)=\"authenticator.resendCode()\"\n      >\n        {{ resendCodeText }}\n      </button>\n    </fieldset>\n\n    <amplify-error *ngIf=\"context.error\">\n      {{ authenticator.error }}\n    </amplify-error>\n    <amplify-slot\n      name=\"confirm-sign-up-footer\"\n      [context]=\"context\"\n    ></amplify-slot>\n  </form>\n</ng-container>\n","import {\n  Component,\n  HostBinding,\n  Input,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport {\n  FormFieldsArray,\n  getFormDataFromEvent,\n  authenticatorTextUtil,\n} from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\nconst { getAccountRecoveryInfoText, getSkipText, getSubmitText } =\n  authenticatorTextUtil;\n@Component({\n  selector: 'amplify-confirm-verify-user',\n  standalone: false,\n  templateUrl: './amplify-confirm-verify-user.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class ConfirmVerifyUserComponent {\n  @HostBinding('attr.data-amplify-authenticator-confirmverifyuser')\n  dataAttr = '';\n  @Input() public headerText = getAccountRecoveryInfoText();\n\n  // translated texts\n  public skipText = getSkipText();\n  public submitText = getSubmitText();\n  public sortedFormFields: FormFieldsArray;\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  onInput(event: Event): void {\n    event.preventDefault();\n    const { name, value } = <HTMLInputElement>event.target;\n    this.authenticator.updateForm({ name, value });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n}\n","<form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n  <fieldset\n    class=\"amplify-flex amplify-authenticator__column\"\n    data-amplify-fieldset\n    [disabled]=\"authenticator.isPending\"\n  >\n    <amplify-slot name=\"confirm-verify-user-header\" [context]=\"context\">\n      <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n    </amplify-slot>\n    <amplify-base-form-fields\n      route=\"confirmVerifyUser\"\n    ></amplify-base-form-fields>\n    <button\n      amplify-button\n      variation=\"primary\"\n      fullWidth=\"true\"\n      type=\"submit\"\n      [isDisabled]=\"authenticator.isPending\"\n    >\n      {{ submitText }}\n    </button>\n\n    <button\n      amplify-button\n      size=\"small\"\n      variation=\"link\"\n      fontWeight=\"normal\"\n      fullWidth=\"true\"\n      (click)=\"authenticator.skipVerification()\"\n    >\n      {{ skipText }}\n    </button>\n    <amplify-error *ngIf=\"authenticator.error\">\n      {{ authenticator.error }}\n    </amplify-error>\n  </fieldset>\n  <amplify-slot name=\"confirm-verify-user-footer\" [context]=\"context\">\n  </amplify-slot>\n</form>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n  selector: 'amplify-force-new-password-form-fields',\n  standalone: false,\n  templateUrl: './force-new-password-form-fields.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class ForceNewPasswordFormFieldsComponent {}\n","<div class=\"amplify-flex amplify-authenticator__column\" data-amplify-fieldset>\n  <amplify-base-form-fields route=\"forceNewPassword\"></amplify-base-form-fields>\n</div>\n","import {\n  Component,\n  HostBinding,\n  Input,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { getFormDataFromEvent, authenticatorTextUtil } from '@aws-amplify/ui';\n\nconst { getChangePasswordText, getBackToSignInText } = authenticatorTextUtil;\n\n@Component({\n  selector: 'amplify-force-new-password',\n  standalone: false,\n  templateUrl: './force-new-password.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class ForceNewPasswordComponent {\n  @HostBinding('attr.data-amplify-authenticator-forcenewpassword')\n  dataAttr = '';\n  @Input() public headerText = getChangePasswordText();\n\n  // translated texts\n  public changePasswordText = getChangePasswordText();\n  public backToSignInText = getBackToSignInText();\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  onInput(event: Event): void {\n    event.preventDefault();\n    const { name, value } = <HTMLInputElement>event.target;\n    this.authenticator.updateForm({ name, value });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n}\n","<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n  <fieldset\n    class=\"amplify-flex amplify-authenticator__column\"\n    data-amplify-fieldset\n    [disabled]=\"authenticator.isPending\"\n  >\n    <amplify-slot name=\"force-new-password-header\" [context]=\"context\">\n      <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n    </amplify-slot>\n\n    <amplify-slot name=\"force-new-form-fields\" [context]=\"context\">\n      <amplify-force-new-password-form-fields></amplify-force-new-password-form-fields>\n    </amplify-slot>\n\n    <button amplify-button variation=\"primary\" fullWidth=\"true\" type=\"submit\">\n      {{ changePasswordText }}\n    </button>\n\n    <button\n      amplify-button\n      size=\"small\"\n      variation=\"link\"\n      fontWeight=\"normal\"\n      fullWidth=\"true\"\n      (click)=\"authenticator.toSignIn()\"\n    >\n      {{ backToSignInText }}\n    </button>\n    <amplify-error *ngIf=\"authenticator.error\">\n      {{ authenticator.error }}\n    </amplify-error>\n  </fieldset>\n  <amplify-slot name=\"force-new-password-footer\" [context]=\"context\">\n  </amplify-slot>\n</form>\n","import {\n  Component,\n  HostBinding,\n  Input,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport {\n  FormFieldsArray,\n  getFormDataFromEvent,\n  authenticatorTextUtil,\n} from '@aws-amplify/ui';\n\nconst { getResetYourPasswordText, getSendCodeText, getBackToSignInText } =\n  authenticatorTextUtil;\n\n@Component({\n  selector: 'amplify-forgot-password',\n  standalone: false,\n  templateUrl: './forgot-password.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class ForgotPasswordComponent {\n  @HostBinding('attr.data-amplify-authenticator-forgotpassword') dataAttr = '';\n  @Input() public headerText = getResetYourPasswordText();\n\n  // translated texts\n  public sendCodeText = getSendCodeText();\n  public backToSignInText = getBackToSignInText();\n  public sortedFormFields: FormFieldsArray;\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  onInput(event: Event): void {\n    event.preventDefault();\n    const { name, value } = <HTMLInputElement>event.target;\n    this.authenticator.updateForm({ name, value });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n}\n","<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n  <fieldset\n    class=\"amplify-flex amplify-authenticator__column\"\n    data-amplify-fieldset\n    [disabled]=\"authenticator.isPending\"\n  >\n    <amplify-slot\n      class=\"amplify-flex\"\n      name=\"forgot-password-header\"\n      [context]=\"context\"\n    >\n      <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n    </amplify-slot>\n\n    <amplify-base-form-fields route=\"forgotPassword\"></amplify-base-form-fields>\n    <button\n      amplify-button\n      variation=\"primary\"\n      fullWidth=\"true\"\n      type=\"submit\"\n      [isDisabled]=\"authenticator.isPending\"\n    >\n      {{ sendCodeText }}\n    </button>\n    <button\n      amplify-button\n      size=\"small\"\n      variation=\"link\"\n      fontWeight=\"normal\"\n      fullWidth=\"true\"\n      (click)=\"authenticator.toSignIn()\"\n    >\n      {{ backToSignInText }}\n    </button>\n    <amplify-error *ngIf=\"authenticator.error\">\n      {{ authenticator.error }}\n    </amplify-error>\n  </fieldset>\n\n  <amplify-slot name=\"forgot-password-footer\" [context]=\"context\">\n  </amplify-slot>\n</form>\n","import {\n  Component,\n  OnInit,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport {\n  getActorContext,\n  getFormDataFromEvent,\n  authenticatorTextUtil,\n  ComponentClassName,\n  classNames,\n} from '@aws-amplify/ui';\n\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\nconst {\n  getConfirmText,\n  getBackToSignInText,\n  getSelectMfaTypeText,\n  getSelectMfaTypeByChallengeName,\n  getMfaTypeLabelByValue,\n} = authenticatorTextUtil;\n\n@Component({\n  selector: 'amplify-select-mfa-type',\n  standalone: false,\n  templateUrl: './select-mfa-type.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SelectMfaTypeComponent implements OnInit {\n  public headerText: string;\n  public confirmText = getConfirmText();\n  public backToSignInText = getBackToSignInText();\n  public selectMfaTypeText = getSelectMfaTypeText();\n  public getMfaTypeLabelByValue = getMfaTypeLabelByValue;\n\n  public allowedMfaTypes = [];\n\n  public classNames = classNames;\n  public ComponentClassName = ComponentClassName;\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  ngOnInit(): void {\n    this.setHeaderText();\n    this.setAllowedMfaTypes();\n  }\n\n  setHeaderText(): void {\n    const actorContext = getActorContext(this.authenticator.authState);\n    this.headerText = getSelectMfaTypeByChallengeName(\n      actorContext.challengeName\n    );\n  }\n\n  setAllowedMfaTypes(): void {\n    const actorContext = getActorContext(this.authenticator.authState);\n    this.allowedMfaTypes = actorContext.allowedMfaTypes;\n  }\n\n  onInput(event: Event): void {\n    event.preventDefault();\n    const { name, value } = event.target as HTMLInputElement;\n    this.authenticator.updateForm({ name, value });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n}\n","<form\n    data-amplify-form\n    data-amplify-authenticator-select-mfa-type\n    (submit)=\"onSubmit($event)\"\n    (input)=\"onInput($event)\"\n>\n    <fieldset\n        [class]=\"classNames(ComponentClassName.Flex, 'amplify-authenticator__column')\"\n        data-amplify-fieldset\n        [disabled]=\"authenticator.isPending\"\n    >\n        <amplify-slot\n            name=\"select-mfa-type-header\"\n            [context]=\"context\"\n        >\n            <h3 [class]=\"classNames(ComponentClassName.Heading, 'amplify-heading--3')\">{{ headerText }}</h3>\n        </amplify-slot>\n        <div\n            *ngFor=\"let mfaType of allowedMfaTypes; index as i\"\n            [class]=\"classNames(ComponentClassName.Flex, ComponentClassName.Field, ComponentClassName.RadioGroupField)\"\n            role=\"radiogroup\"\n        >\n            <label\n                [class]=\"classNames(ComponentClassName.Flex, ComponentClassName.Radio)\"\n                [attr.data-amplify-radio-control-label]\n            >\n                <span [class]=\"classNames(ComponentClassName.Text, ComponentClassName.RadioLabel)\">\n                    {{getMfaTypeLabelByValue(mfaType)}}\n                </span>\n                <input\n                    [class]=\"classNames(ComponentClassName.Input, ComponentClassName.FieldGroupControl, ComponentClassName.VisuallyHidden, ComponentClassName.RadioInput)\"\n                    [attr.data-amplify-radio-control-input]\n                    [value]=\"mfaType\"\n                    [checked]=\"i === 0\"\n                    name=\"mfa_type\"\n                    type=\"radio\"\n                    required\n                />\n                <span\n                    [class]=\"classNames(ComponentClassName.Flex, ComponentClassName.RadioButton)\"\n                    [attr.aria-hidden]=\"true\"\n                ></span>\n            </label>\n        </div>\n        <button\n            amplify-button\n            variation=\"primary\"\n            fullWidth=\"true\"\n            type=\"submit\"\n            [isDisabled]=\"authenticator.isPending\"\n        >\n            {{ confirmText }}\n        </button>\n        <button\n            amplify-button\n            size=\"small\"\n            variation=\"link\"\n            fontWeight=\"normal\"\n            fullWidth=\"true\"\n            (click)=\"authenticator.toSignIn()\"\n        >\n            {{ backToSignInText }}\n        </button>\n        <amplify-error *ngIf=\"authenticator.error\">\n            {{ authenticator.error }}\n        </amplify-error>\n    </fieldset>\n    <amplify-slot\n        name=\"select-mfa-type-footer\"\n        [context]=\"context\"\n    ></amplify-slot>\n</form>","import { Component, ChangeDetectionStrategy, inject } from '@angular/core';\nimport {\n  authenticatorTextUtil,\n  classNames,\n  ComponentClassName,\n  getFormDataFromEvent,\n} from '@aws-amplify/ui';\n\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\nconst { getConfirmText, getBackToSignInText, getSetupEmailText } =\n  authenticatorTextUtil;\n\n@Component({\n  selector: 'amplify-setup-email',\n  standalone: false,\n  templateUrl: './setup-email.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SetupEmailComponent {\n  public headerText = getSetupEmailText();\n  public confirmText = getConfirmText();\n  public backToSignInText = getBackToSignInText();\n\n  public classNames = classNames;\n  public ComponentClassName = ComponentClassName;\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  onInput(event: Event): void {\n    event.preventDefault();\n\n    const { name, value } = event.target as HTMLInputElement;\n    this.authenticator.updateForm({ name, value });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n}\n","<form\n    data-amplify-form\n    data-amplify-authenticator-setup-email\n    (submit)=\"onSubmit($event)\"\n    (input)=\"onInput($event)\"\n>\n    <fieldset\n        [class]=\"classNames(ComponentClassName.Flex, 'amplify-authenticator__column')\"\n        data-amplify-fieldset\n        [disabled]=\"authenticator.isPending\"\n    >\n        <amplify-slot\n            name=\"setup-email-header\"\n            [context]=\"context\"\n        >\n            <h3 [class]=\"classNames(ComponentClassName.Heading, 'amplify-heading--3')\">{{ headerText }}</h3>\n        </amplify-slot>\n        <amplify-base-form-fields route=\"setupEmail\"></amplify-base-form-fields>\n\n        <button\n            amplify-button\n            variation=\"primary\"\n            fullWidth=\"true\"\n            type=\"submit\"\n            [isDisabled]=\"authenticator.isPending\"\n        >\n            {{ confirmText }}\n        </button>\n        <button\n            amplify-button\n            size=\"small\"\n            variation=\"link\"\n            fontWeight=\"normal\"\n            fullWidth=\"true\"\n            (click)=\"authenticator.toSignIn()\"\n        >\n            {{ backToSignInText }}\n        </button>\n        <amplify-error *ngIf=\"authenticator.error\">\n            {{ authenticator.error }}\n        </amplify-error>\n    </fieldset>\n    <amplify-slot\n        name=\"setup-email-footer\"\n        [context]=\"context\"\n    ></amplify-slot>\n</form>","import {\n  Component,\n  HostBinding,\n  OnInit,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport QRCode from 'qrcode';\nimport { ConsoleLogger as Logger } from 'aws-amplify/utils';\nimport {\n  FormFieldsArray,\n  getActorContext,\n  getFormDataFromEvent,\n  getTotpCodeURL,\n  SignInContext,\n  authenticatorTextUtil,\n} from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\nconst logger = new Logger('SetupTotp');\n\nconst {\n  getSetupTotpText,\n  getCopyText,\n  getBackToSignInText,\n  getConfirmText,\n  getCopiedText,\n} = authenticatorTextUtil;\n\n@Component({\n  selector: 'amplify-setup-totp',\n  standalone: false,\n  templateUrl: './setup-totp.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SetupTotpComponent implements OnInit {\n  @HostBinding('attr.data-amplify-authenticator-setup-totp') dataAttr = '';\n  public headerText = getSetupTotpText();\n  public qrCodeSource = '';\n  public totpSecretCode = '';\n  public copyTextLabel = getCopyText();\n\n  // translated texts\n  public backToSignInText = getBackToSignInText();\n  public confirmText = getConfirmText();\n  public sortedFormFields: FormFieldsArray;\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  ngOnInit(): void {\n    this.generateQRCode();\n  }\n\n  async generateQRCode(): Promise<void> {\n    const { authState: state, totpSecretCode, username } = this.authenticator;\n    const { formFields } = getActorContext(state) as SignInContext;\n    const { totpIssuer = 'AWSCognito', totpUsername = username } =\n      formFields?.setupTotp?.QR ?? {};\n\n    this.totpSecretCode = totpSecretCode;\n\n    try {\n      const totpCode = getTotpCodeURL(\n        totpIssuer,\n        totpUsername,\n        this.totpSecretCode\n      );\n\n      logger.info('totp code was generated:', totpCode);\n      this.qrCodeSource = await QRCode.toDataURL(totpCode);\n    } catch (err) {\n      logger.error(err);\n    }\n  }\n\n  onInput(event: Event): void {\n    event.preventDefault();\n    const { name, value } = <HTMLInputElement>event.target;\n    this.authenticator.updateForm({ name, value });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n\n  copyText(): void {\n    navigator.clipboard.writeText(this.totpSecretCode);\n    this.copyTextLabel = getCopiedText();\n  }\n}\n","<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n  <fieldset\n    class=\"amplify-flex amplify-authenticator__column\"\n    data-amplify-fieldset\n    [disabled]=\"authenticator.isPending\"\n  >\n    <amplify-slot name=\"setup-totp-header\" [context]=\"context\">\n      <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n    </amplify-slot>\n    <p *ngIf=\"!qrCodeSource\">Loading...</p>\n    <img\n      *ngIf=\"qrCodeSource\"\n      [src]=\"qrCodeSource\"\n      alt=\"qr code\"\n      data-amplify-qrcode\n      width=\"228\"\n      height=\"228\"\n    />\n    <div class=\"amplify-flex\" data-amplify-copy>\n      <div>{{ totpSecretCode }}</div>\n      <div data-amplify-copy-svg (click)=\"copyText()\">\n        <div data-amplify-copy-tooltip>{{ copyTextLabel }}</div>\n        <svg\n          width=\"24\"\n          height=\"24\"\n          viewBox=\"0 0 24 24\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <path\n            d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM15 5H8C6.9 5 6.01 5.9 6.01 7L6 21C6 22.1 6.89 23 7.99 23H19C20.1 23 21 22.1 21 21V11L15 5ZM8 21V7H14V12H19V21H8Z\"\n          />\n        </svg>\n      </div>\n    </div>\n\n    <amplify-base-form-fields route=\"setupTotp\"></amplify-base-form-fields>\n    <button\n      amplify-button\n      variation=\"primary\"\n      fullWidth=\"true\"\n      type=\"submit\"\n      [isDisabled]=\"authenticator.isPending\"\n    >\n      {{ confirmText }}\n    </button>\n    <button\n      amplify-button\n      size=\"small\"\n      variation=\"link\"\n      fontWeight=\"normal\"\n      fullWidth=\"true\"\n      (click)=\"authenticator.toSignIn()\"\n    >\n      {{ backToSignInText }}\n    </button>\n    <amplify-error *ngIf=\"authenticator.error\">\n      {{ authenticator.error }}\n    </amplify-error>\n  </fieldset>\n  <amplify-slot name=\"setup-totp-footer\" [context]=\"context\"> </amplify-slot>\n</form>\n","import {\n  Component,\n  Input,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport { FederatedIdentityProviders } from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\n\n@Component({\n  selector: 'amplify-federated-sign-in-button',\n  standalone: false,\n  templateUrl: './federated-sign-in-button.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class FederatedSignInButtonComponent {\n  @Input() provider: FederatedIdentityProviders;\n  @Input() text: string;\n\n  private authenticator = inject(AuthenticatorService);\n\n  onClick = (): void => {\n    this.authenticator.send({\n      type: 'FEDERATED_SIGN_IN',\n      data: { provider: this.provider },\n    });\n  };\n}\n","<button\n  amplify-button\n  class=\"amplify-field-group__control federated-sign-in-button\"\n  fullWidth=\"true\"\n  fontWeight=\"normal\"\n  (click)=\"onClick()\"\n>\n  <div class=\"amplify-flex federated-sign-in-button-row\">\n    <ng-content></ng-content>\n  </div>\n</button>\n","import {\n  Component,\n  OnInit,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport { FederatedIdentityProviders } from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { authenticatorTextUtil } from '@aws-amplify/ui';\n\nconst { getSignInWithFederationText, getOrText } = authenticatorTextUtil;\n\n@Component({\n  selector: 'amplify-federated-sign-in',\n  standalone: false,\n  templateUrl: './federated-sign-in.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class FederatedSignInComponent implements OnInit {\n  public FederatedProviders = FederatedIdentityProviders;\n  public includeAmazon = false;\n  public includeApple = false;\n  public includeFacebook = false;\n  public includeGoogle = false;\n  public shouldShowFederatedSignIn = false;\n\n  // translated texts\n  public orText: string;\n  public signInAmazonText: string;\n  public signInAppleText: string;\n  public signInFacebookText: string;\n  public signInGoogleText: string;\n\n  private authenticator = inject(AuthenticatorService);\n\n  ngOnInit(): void {\n    const socialProviders = this.authenticator.context?.config?.socialProviders;\n\n    this.setFederatedTexts();\n    this.includeAmazon = socialProviders?.includes('amazon');\n    this.includeApple = socialProviders?.includes('apple');\n    this.includeGoogle = socialProviders?.includes('google');\n    this.includeFacebook = socialProviders?.includes('facebook');\n\n    this.shouldShowFederatedSignIn =\n      this.includeAmazon ||\n      this.includeApple ||\n      this.includeFacebook ||\n      this.includeGoogle;\n  }\n\n  private setFederatedTexts() {\n    const { route } = this.authenticator;\n\n    this.orText = getOrText();\n    this.signInAmazonText = getSignInWithFederationText(route, 'amazon');\n    this.signInAppleText = getSignInWithFederationText(route, 'apple');\n    this.signInFacebookText = getSignInWithFederationText(route, 'facebook');\n    this.signInGoogleText = getSignInWithFederationText(route, 'google');\n  }\n}\n","<div\n  class=\"amplify-flex federated-sign-in-container\"\n  *ngIf=\"shouldShowFederatedSignIn\"\n  data-orientation=\"horizontal\"\n  data-size=\"small\"\n>\n  <amplify-federated-sign-in-button\n    *ngIf=\"includeAmazon\"\n    [text]=\"signInAmazonText\"\n    [provider]=\"FederatedProviders.Amazon\"\n  >\n    <svg\n      aria-label=\"Amazon icon\"\n      class=\"amplify-icon federated-sign-in-icon\"\n      viewBox=\"0 0 248 268\"\n    >\n      <path\n        d=\"M139.056521,147.024612 C133.548808,156.744524 124.782731,162.726926 115.087401,162.726926 C101.790721,162.726926 93.9937779,152.612964 93.9937779,137.68681 C93.9937779,108.224571 120.447551,102.879017 145.533369,102.879017 L145.533369,110.365976 C145.533369,123.831358 145.876354,135.063787 139.056521,147.024612 M207.206992,162.579655 C209.400505,165.692256 209.887066,169.437725 207.063416,171.770186 C199.996315,177.653081 187.429476,188.590967 180.513926,194.716661 L180.46208,194.621133 C178.176838,196.663031 174.862638,196.810303 172.27828,195.445057 C160.780281,185.9162 158.686473,181.494078 152.405048,172.403055 C133.405233,191.751331 119.909143,197.534719 95.309886,197.534719 C66.1281801,197.534719 43.4791563,179.599451 43.4791563,143.669212 C43.4791563,115.616003 58.6782107,96.5105248 80.4019706,87.1727225 C99.2063636,78.9096034 125.464714,77.4528107 145.533369,75.1641337 L145.533369,70.694248 C145.533369,62.4749122 146.167493,52.7510201 141.297893,45.6541312 C137.110277,39.2856386 129.018206,36.6586354 121.859376,36.6586354 C108.658413,36.6586354 96.9171331,43.4171982 94.0416364,57.4199213 C93.4593582,60.532522 91.1701278,63.5933787 88.003492,63.7406501 L54.4387473,60.1424518 C51.6150972,59.5095829 48.4484614,57.2248862 49.2740201,52.8982915 C56.9712583,12.2553679 93.7983558,0 126.732964,0 C143.587124,0 165.606011,4.47386604 178.902691,17.2148315 C195.760839,32.917146 194.149604,53.8694866 194.149604,76.6726704 L194.149604,130.542157 C194.149604,146.734049 200.87372,153.830938 207.206992,162.579655 Z M233.826346,208.038962 C230.467669,203.683255 211.550709,205.9821 203.056405,206.998432 C200.470662,207.321077 200.076227,205.042397 202.406981,203.404973 C217.475208,192.664928 242.201125,195.766353 245.081698,199.363845 C247.966255,202.981502 244.336653,228.071183 230.172839,240.049379 C228.001452,241.888455 225.929671,240.904388 226.89783,238.468418 C230.077218,230.430525 237.204944,212.418868 233.826346,208.038962 Z M126.768855,264 C74.0234043,264 42.0764048,241.955028 17.7852554,217.541992 C12.9733903,212.705982 6.71799208,206.295994 3.31151296,200.690918 C1.90227474,198.372135 5.59096074,195.021875 8.0442063,196.84375 C38.2390146,219.267578 82.1011654,239.538304 125.529506,239.538304 C154.819967,239.538304 191.046475,227.469543 220.66851,214.867659 C225.146771,212.966167 225.146771,219.180222 224.511585,221.060516 C224.183264,222.03242 209.514625,236.221149 189.247207,247.047411 C170.304273,257.166172 146.397132,264 126.768855,264 Z\"\n        fill=\"#FF9900\"\n      ></path>\n    </svg>\n\n    <p class=\"amplify-text amplify-authenticator__federated-text\">\n      {{ signInAmazonText }}\n    </p>\n  </amplify-federated-sign-in-button>\n\n  <amplify-federated-sign-in-button\n    *ngIf=\"includeApple\"\n    [provider]=\"FederatedProviders.Apple\"\n  >\n    <svg\n      aria-label=\"Apple icon\"\n      class=\"amplify-icon federated-sign-in-icon\"\n      fill=\"#000\"\n      preserveAspectRatio=\"xMidYMid\"\n      stroke=\"#000\"\n      strokeWidth=\"0\"\n      viewBox=\"0 0 1024 1024\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        d=\"M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-105.1-305c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z\"\n      ></path>\n    </svg>\n    <p class=\"amplify-text amplify-authenticator__federated-text\">\n      {{ signInAppleText }}\n    </p>\n  </amplify-federated-sign-in-button>\n\n  <amplify-federated-sign-in-button\n    *ngIf=\"includeFacebook\"\n    [text]=\"signInFacebookText\"\n    [provider]=\"FederatedProviders.Facebook\"\n  >\n    <svg\n      aria-label=\"Facebook icon\"\n      class=\"amplify-icon federated-sign-in-icon\"\n      viewBox=\"0 0 279 538\"\n    >\n      <path\n        d=\"M82.3409742,538 L82.3409742,292.936652 L0,292.936652 L0,196.990154 L82.2410458,196.990154 L82.2410458,126.4295 C82.2410458,44.575144 132.205229,0 205.252865,0 C240.227794,0 270.306232,2.59855099 279,3.79788222 L279,89.2502322 L228.536175,89.2502322 C188.964542,89.2502322 181.270057,108.139699 181.270057,135.824262 L181.270057,196.89021 L276.202006,196.89021 L263.810888,292.836708 L181.16913,292.836708 L181.16913,538 L82.3409742,538 Z\"\n        fill=\"#1877F2\"\n      ></path>\n    </svg>\n    <p class=\"amplify-text amplify-authenticator__federated-text\">\n      {{ signInFacebookText }}\n    </p>\n  </amplify-federated-sign-in-button>\n\n  <amplify-federated-sign-in-button\n    *ngIf=\"includeGoogle\"\n    [provider]=\"FederatedProviders.Google\"\n  >\n    <svg\n      aria-label=\"Google icon\"\n      class=\"amplify-icon federated-sign-in-icon\"\n      viewBox=\"0 0 256 262\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      preserveAspectRatio=\"xMidYMid\"\n    >\n      <path\n        d=\"M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027\"\n        fill=\"#4285F4\"\n      ></path>\n      <path\n        d=\"M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1\"\n        fill=\"#34A853\"\n      ></path>\n      <path\n        d=\"M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782\"\n        fill=\"#FBBC05\"\n      ></path>\n      <path\n        d=\"M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251\"\n        fill=\"#EB4335\"\n      ></path>\n    </svg>\n    <p class=\"amplify-text amplify-authenticator__federated-text\">\n      {{ signInGoogleText }}\n    </p>\n  </amplify-federated-sign-in-button>\n\n  <hr\n    class=\"amplify-divider amplify-divider--label amplify-divider--small\"\n    aria-orientation=\"horizontal\"\n    data-size=\"small\"\n    [attr.data-label]=\"orText\"\n  />\n</div>\n","import {\n  Component,\n  HostBinding,\n  ViewEncapsulation,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport {\n  authenticatorTextUtil,\n  getFormDataFromEvent,\n  FormFieldsArray,\n} from '@aws-amplify/ui';\n\nconst { getForgotPasswordText, getSignInText } = authenticatorTextUtil;\n\n@Component({\n  selector: 'amplify-sign-in',\n  standalone: false,\n  templateUrl: './sign-in.component.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SignInComponent {\n  @HostBinding('attr.data-amplify-authenticator-signin') dataAttr = '';\n\n  public forgotPasswordText = getForgotPasswordText();\n  public signInButtonText = getSignInText();\n  public sortedFormFields: FormFieldsArray;\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  onInput(event: Event): void {\n    event.preventDefault();\n    const { name, value } = <HTMLInputElement>event.target;\n    this.authenticator.updateForm({ name, value });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n}\n","<amplify-slot name=\"sign-in-header\" [context]=\"context\"></amplify-slot>\n\n<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n  <amplify-federated-sign-in></amplify-federated-sign-in>\n  <fieldset\n    class=\"amplify-flex amplify-authenticator__column\"\n    style=\"flex-direction: column\"\n    data-amplify-fieldset\n    [disabled]=\"authenticator.isPending\"\n  >\n    <legend class=\"amplify-visually-hidden\">Sign in</legend>\n    <amplify-base-form-fields route=\"signIn\"></amplify-base-form-fields>\n    <button\n      amplify-button\n      variation=\"primary\"\n      fullWidth=\"true\"\n      type=\"submit\"\n      [isDisabled]=\"authenticator.isPending\"\n    >\n      {{ signInButtonText }}\n    </button>\n\n    <amplify-error *ngIf=\"authenticator.error\">\n      {{ authenticator.error }}\n    </amplify-error>\n  </fieldset>\n</form>\n\n<amplify-slot name=\"sign-in-footer\" [context]=\"context\">\n  <div data-amplify-footer>\n    <button\n      amplify-button\n      fontWeight=\"normal\"\n      size=\"small\"\n      variation=\"link\"\n      fullWidth=\"true\"\n      (click)=\"authenticator.toForgotPassword()\"\n    >\n      {{ forgotPasswordText }}\n    </button>\n  </div>\n</amplify-slot>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n  selector: 'amplify-sign-up-form-fields',\n  standalone: false,\n  templateUrl: './sign-up-form-fields.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SignUpFormFieldsComponent {}\n","<div class=\"amplify-flex amplify-authenticator__column\" data-amplify-fieldset>\n  <amplify-base-form-fields route=\"signUp\"></amplify-base-form-fields>\n</div>\n","import {\n  Component,\n  HostBinding,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { getFormDataFromEvent, authenticatorTextUtil } from '@aws-amplify/ui';\n\nconst { getCreateAccountText } = authenticatorTextUtil;\n\n@Component({\n  selector: 'amplify-sign-up',\n  standalone: false,\n  templateUrl: './sign-up.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class SignUpComponent {\n  @HostBinding('attr.data-amplify-authenticator-signup') dataAttr = '';\n\n  // translated texts\n  public createAccountText = getCreateAccountText();\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  onInput(event: Event): void {\n    const { checked, name, type, value } = <HTMLInputElement>event.target;\n    const isUncheckedCheckbox = type === 'checkbox' && !checked;\n\n    this.authenticator.updateForm({\n      name,\n      value: isUncheckedCheckbox ? undefined : value,\n    });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n}\n","<amplify-slot name=\"sign-up-header\" [context]=\"context\"></amplify-slot>\n\n<form data-amplify-form (submit)=\"onSubmit($event)\" (input)=\"onInput($event)\">\n  <amplify-federated-sign-in></amplify-federated-sign-in>\n  <div class=\"amplify-flex amplify-authenticator__column\">\n    <div class=\"amplify-flex amplify-authenticator__column\">\n      <amplify-slot name=\"sign-up-form-fields\" [context]=\"context\">\n        <amplify-sign-up-form-fields></amplify-sign-up-form-fields>\n      </amplify-slot>\n\n      <amplify-error *ngIf=\"authenticator.error\">\n        {{ authenticator.error }}\n      </amplify-error>\n    </div>\n\n    <amplify-slot name=\"sign-up-button\" [context]=\"context\">\n      <button\n        [isDisabled]=\"\n          authenticator.isPending || authenticator.hasValidationErrors\n        \"\n        amplify-button\n        variation=\"primary\"\n        fullWidth=\"true\"\n        type=\"submit\"\n      >\n        {{ createAccountText }}\n      </button>\n    </amplify-slot>\n  </div>\n</form>\n\n<amplify-slot name=\"sign-up-footer\" [context]=\"context\"> </amplify-slot>\n","import {\n  Component,\n  HostBinding,\n  Input,\n  ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n  selector: 'amplify-tab-item',\n  standalone: false,\n  templateUrl: './tab-item.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TabItemComponent {\n  @Input() title: string;\n  @Input() active = false;\n  @Input() id: string;\n  @Input() labelledById: string;\n  @Input() tabIndex: number;\n  @HostBinding('style.display') display = 'block'; // emulate div behavior\n}\n","<div\n  role=\"tabpanel\"\n  class=\"amplify-tabs__panel\"\n  [class]=\"active ? 'amplify-tabs__panel--active' : ''\"\n  [id]=\"id\"\n  [attr.aria-labelledby]=\"labelledById\"\n  [attr.tabindex]=\"tabIndex\"\n>\n  <ng-content *ngIf=\"active\"></ng-content>\n</div>\n","import {\n  AfterContentInit,\n  Component,\n  ContentChildren,\n  QueryList,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy,\n} from '@angular/core';\nimport { nanoid } from 'nanoid';\nimport { TabItemComponent } from '../tab-item/tab-item.component';\n\n@Component({\n  selector: 'amplify-tabs',\n  standalone: false,\n  templateUrl: './tabs.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TabsComponent implements AfterContentInit {\n  @ContentChildren(TabItemComponent) tabs: QueryList<TabItemComponent>;\n  @Output() tabChange = new EventEmitter();\n\n  ngAfterContentInit(): void {\n    // assign ids\n    this.tabs.forEach((tab, index) => {\n      tab.id = `tab-${nanoid(12)}-panel-${index}`;\n      tab.labelledById = `tab-${nanoid(12)}-tab-${index}`;\n    });\n\n    // find active tab\n    // TODO(enhancement): more declarative way for choosing the initial tab to render\n    const activeTabs = this.tabs.filter((tab) => tab.active);\n\n    // set active tab\n    if (activeTabs.length !== 1) {\n      this.selectTab(this.tabs.first);\n    }\n  }\n\n  selectTab(tab: TabItemComponent): void {\n    this.tabs.forEach((tab) => {\n      tab.active = false;\n    });\n    tab.active = true;\n  }\n\n  handleTabClick(tab: TabItemComponent): void {\n    if (tab.active) return; // don't do anything if clicks the current active tab\n    this.tabChange.emit();\n    this.selectTab(tab);\n  }\n}\n","<div class=\"amplify-tabs\">\n  <div\n    class=\"amplify-tabs__list amplify-tabs__list--top amplify-tabs__list--equal\"\n    role=\"tablist\"\n  >\n    <button\n      *ngFor=\"let tab of tabs\"\n      class=\"amplify-tabs__item\"\n      role=\"tab\"\n      [id]=\"tab.labelledById\"\n      [tabindex]=\"tab.active ? '0' : '-1'\"\n      [attr.aria-selected]=\"tab.active\"\n      [attr.aria-controls]=\"tab.id\"\n      [class]=\"tab.active ? 'amplify-tabs__item--active' : ''\"\n      (click)=\"handleTabClick(tab)\"\n    >\n      {{ tab.title }}\n    </button>\n  </div>\n</div>\n\n<ng-content></ng-content>\n","import { defaultFormFieldOptions } from '@aws-amplify/ui';\nimport { AttributeInfoProvider } from './types';\n\nexport const getAttributeMap: AttributeInfoProvider = () =>\n  defaultFormFieldOptions;\n","import {\n  Component,\n  HostBinding,\n  Input,\n  OnInit,\n  ViewEncapsulation,\n  ChangeDetectionStrategy,\n  inject,\n} from '@angular/core';\nimport {\n  getActorState,\n  getFormDataFromEvent,\n  SignInState,\n  translate,\n  authenticatorTextUtil,\n  UnverifiedUserAttributes,\n  censorContactMethod,\n  ContactMethod,\n} from '@aws-amplify/ui';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { getAttributeMap } from '../../../../common';\nimport { nanoid } from 'nanoid';\n\nconst { getSkipText, getVerifyText, getAccountRecoveryInfoText } =\n  authenticatorTextUtil;\n@Component({\n  selector: 'amplify-verify-user',\n  standalone: false,\n  templateUrl: './verify-user.component.html',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class VerifyUserComponent implements OnInit {\n  @HostBinding('attr.data-amplify-authenticator-verifyuser') dataAttr = '';\n  @Input() public headerText = getAccountRecoveryInfoText();\n\n  public unverifiedUserAttributes = {};\n  public labelId = nanoid(12);\n\n  // translated texts\n  public skipText = getSkipText();\n  public verifyText = getVerifyText();\n\n  authenticator = inject(AuthenticatorService);\n\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  ngOnInit(): void {\n    const actorState = getActorState(\n      this.authenticator.authState\n    ) as SignInState;\n    this.unverifiedUserAttributes = actorState.context.unverifiedUserAttributes;\n  }\n\n  getLabel(attr: keyof UnverifiedUserAttributes, value: string): string {\n    const attributeMap = getAttributeMap();\n    const { label } = attributeMap[attr];\n    const translatedTypeLabel = translate(label);\n    const censoredAttributeValue = censorContactMethod(\n      label as ContactMethod,\n      value\n    );\n    return `${translatedTypeLabel}: ${censoredAttributeValue}`;\n  }\n\n  onInput(event: Event): void {\n    event.preventDefault();\n    const { name, value } = <HTMLInputElement>event.target;\n    this.authenticator.updateForm({ name, value });\n  }\n\n  onSubmit(event: Event): void {\n    event.preventDefault();\n    this.authenticator.submitForm(getFormDataFromEvent(event));\n  }\n}\n","<form data-amplify-form (input)=\"onInput($event)\" (submit)=\"onSubmit($event)\">\n  <fieldset\n    class=\"amplify-flex amplify-authenticator__column\"\n    data-amplify-fieldset\n    [disabled]=\"authenticator.isPending\"\n  >\n    <amplify-slot name=\"verify-user-header\" [context]=\"context\">\n      <h3 class=\"amplify-heading amplify-heading--3\">{{ this.headerText }}</h3>\n    </amplify-slot>\n\n    <div\n      *ngFor=\"\n        let unverifiedUserAttribute of unverifiedUserAttributes | keyvalue\n        let i = index;\n      \"\n    >\n      <input\n        name=\"unverifiedAttr\"\n        type=\"radio\"\n        [value]=\"unverifiedUserAttribute.key\"\n        [id]=\"labelId\"\n        [checked]=\"i === 0\"\n      />\n      <label [for]=\"labelId\">{{\n        getLabel(unverifiedUserAttribute.key, unverifiedUserAttribute.value)\n      }}</label>\n    </div>\n\n    <button\n      amplify-button\n      variation=\"primary\"\n      fullWidth=\"true\"\n      type=\"submit\"\n      [isDisabled]=\"authenticator.isPending\"\n    >\n      {{ verifyText }}\n    </button>\n\n    <button\n      amplify-button\n      size=\"small\"\n      variation=\"link\"\n      fontWeight=\"normal\"\n      fullWidth=\"true\"\n      (click)=\"authenticator.skipVerification()\"\n    >\n      {{ skipText }}\n    </button>\n\n    <amplify-error *ngIf=\"authenticator.error\">\n      {{ authenticator.error }}\n    </amplify-error>\n  </fieldset>\n  <amplify-slot name=\"verify-user-footer\" [context]=\"context\"> </amplify-slot>\n</form>\n","import {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  Input,\n  OnDestroy,\n  OnInit,\n  QueryList,\n  TemplateRef,\n  ViewEncapsulation,\n  inject,\n} from '@angular/core';\nimport {\n  AuthenticatorMachineOptions,\n  authenticatorTextUtil,\n  setUserAgent,\n  SocialProvider,\n} from '@aws-amplify/ui';\nimport { AmplifySlotDirective } from '../../../../utilities/amplify-slot/amplify-slot.directive';\nimport { CustomComponentsService } from '../../../../services/custom-components.service';\nimport { AuthenticatorService } from '../../../../services/authenticator.service';\nimport { VERSION } from '../../../../../version';\n\nconst { getSignInTabText, getSignUpTabText } = authenticatorTextUtil;\n\n@Component({\n  selector: 'amplify-authenticator',\n  standalone: false,\n  templateUrl: './authenticator.component.html',\n  providers: [CustomComponentsService], // make sure custom components are scoped to this authenticator only\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class AuthenticatorComponent\n  implements OnInit, AfterContentInit, OnDestroy\n{\n  @Input() formFields: AuthenticatorMachineOptions['formFields'];\n  @Input() initialState: AuthenticatorMachineOptions['initialState'];\n  @Input() loginMechanisms: AuthenticatorMachineOptions['loginMechanisms'];\n  @Input() services: AuthenticatorMachineOptions['services'];\n  @Input() signUpAttributes: AuthenticatorMachineOptions['signUpAttributes'];\n  @Input() socialProviders: SocialProvider[];\n  @Input() variation: 'default' | 'modal';\n  @Input() hideSignUp: boolean;\n\n  @ContentChildren(AmplifySlotDirective)\n  private customComponentQuery: QueryList<AmplifySlotDirective> = null;\n\n  // translated texts\n  public signInTitle = getSignInTabText();\n  public signUpTitle = getSignUpTabText();\n\n  private hasInitialized = false;\n  private isHandlingHubEvent = false;\n  private unsubscribeMachine: () => void;\n  private clearUserAgent: () => void;\n\n  private authenticator = inject(AuthenticatorService);\n  private contextService = inject(CustomComponentsService);\n  private changeDetector = inject(ChangeDetectorRef);\n\n  // context passed to \"authenticated\" slot\n  public get context(): AuthenticatorService['slotContext'] {\n    return this.authenticator.slotContext;\n  }\n\n  public get route(): AuthenticatorService['route'] {\n    return this.authenticator.route;\n  }\n\n  ngOnInit(): void {\n    const {\n      initialState,\n      loginMechanisms,\n      services,\n      signUpAttributes,\n      socialProviders,\n      formFields,\n    } = this;\n\n    this.clearUserAgent = setUserAgent({\n      componentName: 'Authenticator',\n      packageName: 'angular',\n      version: VERSION,\n    });\n\n    const { initializeMachine } = this.authenticator;\n\n    this.authenticator.hubSubject.subscribe(() => {\n      /*\n       * Hub events aren't properly caught by Angular, because they are\n       * synchronous events. Angular tracks async network events and\n       * html events, but not synchronous events like hub.\n       *\n       * On any notable hub events, we run change detection manually.\n       */\n      this.changeDetector.detectChanges();\n\n      /*\n       * Hub events that we handle can lead to multiple state changes:\n       * e.g. `authenticated` -> `signOut` -> initialState.\n       *\n       * We want to ensure change detection runs all the way, until\n       * we reach back to the initial state. Setting the below flag\n       * to true to until we reach initial state.\n       */\n      this.isHandlingHubEvent = true;\n    });\n\n    /**\n     * Subscribes to state machine changes and sends INIT event\n     * once machine reaches 'setup' state.\n     */\n    this.unsubscribeMachine = this.authenticator.subscribe(() => {\n      const { route } = this.authenticator;\n\n      /*\n       * Run change detection on every state machine transition.\n       *\n       * The authenticator's state is driven by an xstate machine whose\n       * transitions are not reliably tracked by Angular's change detection.\n       * Previously we relied on zone.js noticing the async work behind these\n       * transitions, but that is no longer guaranteed (e.g. Angular v22+),\n       * which left the view stuck on the initial route. Detecting changes\n       * here ensures the rendered route always matches machine state.\n       */\n      this.changeDetector.detectChanges();\n\n      if (this.isHandlingHubEvent) {\n        const initialStateWithDefault = initialState ?? 'signIn';\n\n        // We can stop manual change detection if we're back to the initial state\n        if (route === initialStateWithDefault) {\n          this.isHandlingHubEvent = false;\n        }\n      }\n\n      if (!this.hasInitialized && route === 'setup') {\n        initializeMachine({\n          initialState,\n          loginMechanisms,\n          services,\n          signUpAttributes,\n          socialProviders,\n          formFields,\n        });\n\n        this.hasInitialized = true;\n      }\n    }).unsubscribe;\n\n    /**\n     * handling translations after content init, because authenticator and its\n     * translations might be initialized before the main app's `ngOnInit` is run.\n     */\n    this.signInTitle = getSignInTabText();\n    this.signUpTitle = getSignUpTabText();\n  }\n\n  /**\n   * Lifecycle Methods\n   */\n  ngAfterContentInit(): void {\n    this.contextService.customComponents = this.mapCustomComponents(\n      this.customComponentQuery\n    );\n  }\n\n  ngOnDestroy(): void {\n    this.clearUserAgent();\n    if (this.unsubscribeMachine) this.unsubscribeMachine();\n  }\n\n  /**\n   * Class Functions\n   */\n  public onTabChange(): void {\n    const { route } = this.authenticator;\n    if (route === 'signIn') {\n      this.authenticator.toSignUp();\n    } else {\n      this.authenticator.toSignIn();\n    }\n  }\n\n  public hasTabs(): boolean {\n    const { route } = this.authenticator;\n    return route === 'signIn' || route === 'signUp';\n  }\n\n  public hasRouteComponent(): boolean {\n    const { route } = this.authenticator;\n\n    switch (route) {\n      case 'authenticated':\n      case 'idle':\n      case 'setup':\n      case 'signOut':\n      case 'transition':\n        return false;\n      default:\n        return true;\n    }\n  }\n\n  private mapCustomComponents(\n    componentQuery: QueryList<AmplifySlotDirective>\n  ): Record<string, TemplateRef<unknown>> {\n    if (!componentQuery) return {};\n    const customComponents: Record<string, TemplateRef<unknown>> = {};\n    componentQuery.forEach((component) => {\n      customComponents[component.name] = component.template;\n    });\n\n    return customComponents;\n  }\n}\n","<div\n  data-amplify-authenticator\n  [attr.data-variation]=\"variation\"\n  *ngIf=\"hasRouteComponent()\"\n>\n  <div data-amplify-container>\n    <amplify-slot\n      name=\"header\"\n      [context]=\"context\"\n    ></amplify-slot>\n    <div\n      data-amplify-router\n      [attr.data-amplify-router-content]=\"hasTabs() ? undefined : ''\"\n    >\n      <amplify-tabs\n        (tabChange)=\"onTabChange()\"\n        *ngIf=\"(route === 'signIn' || route === 'signUp') && !hideSignUp\"\n      >\n        <amplify-tab-item\n          [title]=\"signInTitle\"\n          [active]=\"route === 'signIn'\"\n          data-amplify-router-content\n        >\n          <!-- signIn component -->\n          <amplify-slot\n            name=\"sign-in\"\n            [context]=\"context\"\n            *ngIf=\"route === 'signIn'\"\n          >\n            <amplify-sign-in></amplify-sign-in>\n          </amplify-slot>\n        </amplify-tab-item>\n        <amplify-tab-item\n          [title]=\"signUpTitle\"\n          [active]=\"route === 'signUp'\"\n          data-amplify-router-content\n        >\n          <!-- signUp component -->\n          <amplify-slot\n            name=\"sign-up\"\n            [context]=\"context\"\n            *ngIf=\"route === 'signUp'\"\n          >\n            <amplify-sign-up></amplify-sign-up>\n          </amplify-slot>\n        </amplify-tab-item>\n      </amplify-tabs>\n\n      <amplify-slot\n        name=\"sign-in\"\n        [context]=\"context\"\n        *ngIf=\"route === 'signIn' && hideSignUp\"\n      >\n        <amplify-sign-in></amplify-sign-in>\n      </amplify-slot>\n\n      <!-- confirmSignUp content -->\n      <amplify-slot\n        name=\"confirm-sign-up\"\n        [context]=\"context\"\n        *ngIf=\"route === 'confirmSignUp'\"\n      >\n        <amplify-confirm-sign-up></amplify-confirm-sign-up>\n      </amplify-slot>\n\n      <!-- confirmSignIn content -->\n      <amplify-slot\n        name=\"confirm-sign-in\"\n        [context]=\"context\"\n        *ngIf=\"route === 'confirmSignIn'\"\n      >\n        <amplify-confirm-sign-in></amplify-confirm-sign-in>\n      </amplify-slot>\n\n      <!-- setupTotp content -->\n      <amplify-slot\n        name=\"setup-totp\"\n        [context]=\"context\"\n        *ngIf=\"route === 'setupTotp'\"\n      >\n        <amplify-setup-totp></amplify-setup-totp>\n      </amplify-slot>\n\n      <!-- forceNewPassword content -->\n      <amplify-slot\n        name=\"force-new-password\"\n        [context]=\"context\"\n        *ngIf=\"route === 'forceNewPassword'\"\n      >\n        <amplify-force-new-password></amplify-force-new-password>\n      </amplify-slot>\n\n      <!-- forgotPassword content -->\n      <amplify-slot\n        name=\"forgot-password\"\n        [context]=\"context\"\n        *ngIf=\"route === 'forgotPassword'\"\n      >\n        <amplify-forgot-password></amplify-forgot-password>\n      </amplify-slot>\n\n      <!-- confirmResetPassword content -->\n      <amplify-slot\n        name=\"confirm-reset-password\"\n        [context]=\"context\"\n        *ngIf=\"route === 'confirmResetPassword'\"\n      >\n        <amplify-confirm-reset-password></amplify-confirm-reset-password>\n      </amplify-slot>\n\n      <!-- verifyUser content -->\n      <amplify-slot\n        name=\"verify-user\"\n        [context]=\"context\"\n        *ngIf=\"route === 'verifyUser'\"\n      >\n        <amplify-verify-user></amplify-verify-user>\n      </amplify-slot>\n\n      <!-- confirmVerifyUser content -->\n      <amplify-slot\n        name=\"confirm-verify-user\"\n        [context]=\"context\"\n        *ngIf=\"route === 'confirmVerifyUser'\"\n      >\n        <amplify-confirm-verify-user></amplify-confirm-verify-user>\n      </amplify-slot>\n\n      <!-- selectMfaType content -->\n      <amplify-slot\n        name=\"select-mfa-type\"\n        [context]=\"context\"\n        *ngIf=\"route === 'selectMfaType'\"\n      >\n        <amplify-select-mfa-type></amplify-select-mfa-type>\n      </amplify-slot>\n\n      <!-- setupEmail content -->\n      <amplify-slot\n        name=\"setup-email\"\n        [context]=\"context\"\n        *ngIf=\"route === 'setupEmail'\"\n      >\n        <amplify-setup-email></amplify-setup-email>\n      </amplify-slot>\n    </div>\n\n    <amplify-slot\n      name=\"footer\"\n      [context]=\"context\"\n    ></amplify-slot>\n  </div>\n</div>\n\n<!-- signedIn content is rendered outside authenticator so it's not styled by authenticator -->\n<amplify-slot\n  name=\"authenticated\"\n  [context]=\"context\"\n  *ngIf=\"route === 'authenticated'\"\n>\n  <ng-content></ng-content>\n</amplify-slot>","import {\n  Component,\n  Input,\n  OnInit,\n  ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n  selector: 'amplify-checkbox',\n  standalone: false,\n  templateUrl: './checkbox.component.html',\n  changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class CheckboxComponent implements OnInit {\n  @Input() defaultChecked = false;\n  @Input() errorMessage: string;\n  @Input() hasError = false;\n  @Input() label: string;\n  @Input() name: string;\n  @Input() value: string;\n\n  public isChecked = false;\n\n  ngOnInit(): void {\n    if (this.defaultChecked) {\n      this.isChecked = true;\n    }\n  }\n\n  handleClick(): void {\n    this.isChecked = !this.isChecked;\n  }\n}\n","<div class=\"amplify-flex amplify-field amplify-checkboxfield\">\n  <label class=\"amplify-flex amplify-checkbox\">\n    <span class=\"amplify-visually-hidden\">\n      <input\n        (click)=\"handleClick()\"\n        class=\"\n          amplify-input\n          amplify-field-group__control\n          amplify-checkbox__input\n        \"\n        aria-invalid=\"false\"\n        type=\"checkbox\"\n        [name]=\"name\"\n        [value]=\"value\"\n      />\n    </span>\n    <span\n      class=\"amplify-flex amplify-checkbox__button\"\n      aria-hidden=\"true\"\n      data-focus=\"false\"\n      [ngClass]=\"{\n        'amplify-checkbox__button--error': hasError\n      }\"\n      [attr.data-error]=\"hasError\"\n      [attr.data-checked]=\"isChecked\"\n    >\n      <svg\n        xmlns=\"http://www.w3.org/2000/svg\"\n        class=\"amplify-icon amplify-checkbox__icon\"\n        viewBox=\"0 0 24 24\"\n        fill=\"currentColor\"\n        [attr.data-checked]=\"isChecked\"\n        [ngClass]=\"{\n          'amplify-checkbox__icon--checked': isChecked\n        }\"\n      >\n        <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"></path>\n      </svg>\n    </span>\n    <span class=\"amplify-text amplify-checkbox__label\">\n      <ng-content></ng-content>\n    </span>\n  </label>\n  <p *ngIf=\"hasError\" class=\"amplify-text amplify-field__error-message\">\n    {{ errorMessage }}\n  </p>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/**\n * Note: Angular components and directives inside module files has to be imported directly.\n *\n * Related: https://github.com/ng-packagr/ng-packagr/issues/567\n */\nimport { AuthenticatorComponent } from './components/authenticator/authenticator.component';\nimport { ConfirmResetPasswordComponent } from './components/confirm-reset-password/amplify-confirm-reset-password.component';\nimport { ConfirmSignInComponent } from './components/confirm-sign-in/confirm-sign-in.component';\nimport { ConfirmSignUpComponent } from './components/confirm-sign-up/confirm-sign-up.component';\nimport { ConfirmVerifyUserComponent } from './components/confirm-verify-user/amplify-confirm-verify-user.component';\nimport { FederatedSignInButtonComponent } from './components/federated-sign-in-button/federated-sign-in-button.component';\nimport { FederatedSignInComponent } from './components/federated-sign-in/federated-sign-in.component';\nimport { ForceNewPasswordComponent } from './components/force-new-password/force-new-password.component';\nimport { ForceNewPasswordFormFieldsComponent } from './components/force-new-password/force-new-password-form-fields/force-new-password-form-fields.component';\nimport { FormFieldComponent } from './components/form-field/form-field.component';\nimport { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';\nimport { SelectMfaTypeComponent } from './components/select-mfa-type/select-mfa-type.component';\nimport { SetupEmailComponent } from './components/setup-email/setup-email.component';\nimport { SetupTotpComponent } from './components/setup-totp/setup-totp.component';\nimport { SignInComponent } from './components/sign-in/sign-in.component';\nimport { SignUpComponent } from './components/sign-up/sign-up.component';\nimport { SignUpFormFieldsComponent } from './components/sign-up/sign-up-form-fields/sign-up-form-fields.component';\nimport { VerifyUserComponent } from './components/verify-user/verify-user.component';\nimport { BaseFormFieldsComponent } from './components/base-form-fields/base-form-fields.component';\n\nimport { ButtonComponent } from '../../primitives/button/button.component';\nimport { CheckboxComponent } from '../../primitives/checkbox/checkbox.component';\nimport { ErrorComponent } from '../../primitives/error/error.component';\nimport { PasswordFieldComponent } from '../../primitives/password-field/password-field.component';\nimport { PhoneNumberFieldComponent } from '../../primitives/phone-number-field/phone-number-field.component';\nimport { SelectComponent } from '../../primitives/select/select.component';\nimport { TabItemComponent } from '../../primitives/tab-item/tab-item.component';\nimport { TabsComponent } from '../../primitives/tabs/tabs.component';\nimport { TextFieldComponent } from '../../primitives/text-field/text-field.component';\n\nimport { AmplifySlotComponent } from '../../utilities/amplify-slot/amplify-slot.component';\nimport { AmplifySlotDirective } from '../../utilities/amplify-slot/amplify-slot.directive';\n\n@NgModule({\n  declarations: [\n    AmplifySlotComponent,\n    AmplifySlotDirective,\n    AuthenticatorComponent,\n    BaseFormFieldsComponent,\n    ButtonComponent,\n    CheckboxComponent,\n    ConfirmResetPasswordComponent,\n    ConfirmSignInComponent,\n    ConfirmSignUpComponent,\n    ConfirmVerifyUserComponent,\n    ErrorComponent,\n    FederatedSignInButtonComponent,\n    FederatedSignInComponent,\n    ForceNewPasswordComponent,\n    ForceNewPasswordFormFieldsComponent,\n    FormFieldComponent,\n    PasswordFieldComponent,\n    PhoneNumberFieldComponent,\n    ForgotPasswordComponent,\n    SelectComponent,\n    SelectMfaTypeComponent,\n    SetupEmailComponent,\n    SetupTotpComponent,\n    SignInComponent,\n    SignUpComponent,\n    SignUpFormFieldsComponent,\n    TabItemComponent,\n    TabsComponent,\n    TextFieldComponent,\n    VerifyUserComponent,\n  ],\n  imports: [CommonModule],\n  exports: [\n    AmplifySlotDirective,\n    AuthenticatorComponent,\n    CheckboxComponent,\n    SignUpFormFieldsComponent,\n    ForceNewPasswordFormFieldsComponent,\n    TextFieldComponent,\n  ],\n})\nexport class AmplifyAuthenticatorModule {}\n","/*\n * Public API Surface of ui-angular\n */\n\n/**\n * Modules\n */\nexport { AmplifyAuthenticatorModule } from './lib/components/authenticator/authenticator.module';\n\n/**\n * Components\n */\nexport * from './lib/components/authenticator/components';\nexport * from './lib/primitives';\n\n/**\n * Helpers\n */\nexport * from './lib/common';\n\n/**\n * Directives\n */\nexport * from './lib/utilities/amplify-slot/amplify-slot.directive';\n\n/**\n * Services\n */\nexport * from './lib/services/custom-components.service';\nexport * from './lib/services/authenticator.service';\n\n/**\n * Re-export public APIs from `@aws-amplify/ui`\n */\nexport { translations } from '@aws-amplify/ui';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["logger","Logger","i2.ButtonComponent","i1.SelectComponent","i2.PasswordFieldComponent","i3.PhoneNumberFieldComponent","i4.TextFieldComponent","i2.FormFieldComponent","getBackToSignInText","getResendCodeText","getSubmitText","getResetYourPasswordText","i2.AmplifySlotComponent","i3.BaseFormFieldsComponent","i4.ButtonComponent","i5.ErrorComponent","getConfirmText","getAccountRecoveryInfoText","getSkipText","i1.BaseFormFieldsComponent","i3.ButtonComponent","i4.ErrorComponent","i5.ForceNewPasswordFormFieldsComponent","i1.ButtonComponent","i2.FederatedSignInButtonComponent","i6.FederatedSignInComponent","i5.FederatedSignInComponent","i6.SignUpFormFieldsComponent","i3.ConfirmResetPasswordComponent","i4.ConfirmSignInComponent","i5.ConfirmSignUpComponent","i6.ConfirmVerifyUserComponent","i7.ForceNewPasswordComponent","i8.ForgotPasswordComponent","i9.SelectMfaTypeComponent","i10.SetupEmailComponent","i11.SetupTotpComponent","i12.SignInComponent","i13.SignUpComponent","i14.TabItemComponent","i15.TabsComponent","i16.VerifyUserComponent"],"mappings":"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"}