{
  "version": 3,
  "sources": ["libs/crm/dynamic/src/lib/pipeline-settings/pipeline-settings-form/pipeline-settings-form.component.ts", "libs/crm/dynamic/src/lib/pipeline-settings/pipeline-settings-form/pipeline-settings-form.component.html"],
  "sourcesContent": ["import { Component } from '@angular/core';\nimport {\n  AbstractControl,\n  FormArray,\n  FormControl,\n  FormGroup,\n  ValidatorFn,\n  Validators,\n  FormsModule,\n  ReactiveFormsModule,\n} from '@angular/forms';\nimport { whitespaceValidator } from '@vendasta/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { PipelineSettingsService } from '../pipeline-settings.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Pipeline, Stage, StandardIds } from '@galaxy/crm/static';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { BehaviorSubject, firstValueFrom, Observable, of, take } from 'rxjs';\nimport { filter, map, switchMap } from 'rxjs/operators';\nimport { OpenConfirmationModalService } from '@vendasta/galaxy/confirmation-modal';\nimport { StageData, StageMap } from '../interfaces';\nimport { TranslateService, TranslateModule } from '@ngx-translate/core';\nimport { GalaxyLoadingSpinnerModule } from '@vendasta/galaxy/loading-spinner';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { MatInput } from '@angular/material/input';\nimport { MatCard, MatCardContent, MatCardActions } from '@angular/material/card';\nimport { MatDivider } from '@angular/material/divider';\nimport { NgClass, AsyncPipe } from '@angular/common';\nimport { MatIconButton, MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { GalaxyStickyFooterModule } from '@vendasta/galaxy/sticky-footer';\nimport { GalaxyButtonLoadingIndicatorModule } from '@vendasta/galaxy/button-loading-indicator';\n\nconst probabilityValidator: ValidatorFn = (control: AbstractControl) => {\n  const formArray = control as FormArray;\n  const probabilityMap = new Map<number, FormControl[]>();\n  for (const control of formArray.controls) {\n    const probabilityControl = control.get('probability') as FormControl;\n    const probability = probabilityControl?.value || 0;\n    if (!probabilityMap.has(probability)) {\n      probabilityMap.set(probability, []);\n    }\n    probabilityMap.get(probability)?.push(probabilityControl);\n  }\n\n  let duplicateFound = false;\n  for (const controls of probabilityMap.values()) {\n    if (controls.length > 1) {\n      controls.forEach((c) => {\n        c.setErrors({ ...c.errors, duplicate: true });\n        c.markAsTouched();\n      });\n      duplicateFound = true;\n    } else {\n      const c = controls[0];\n      if (c.errors && 'duplicate' in c.errors) {\n        delete c.errors['duplicate'];\n        c.setErrors(Object.keys(c.errors).length ? c.errors : null);\n        c.markAsTouched();\n      }\n    }\n  }\n\n  return duplicateFound ? { duplicate: true } : null;\n};\n\n@Component({\n  selector: 'crm-pipeline-settings-form',\n  templateUrl: './pipeline-settings-form.component.html',\n  styleUrls: ['./pipeline-settings-form.component.scss'],\n  imports: [\n    GalaxyLoadingSpinnerModule,\n    FormsModule,\n    ReactiveFormsModule,\n    GalaxyFormFieldModule,\n    MatInput,\n    MatCard,\n    MatDivider,\n    MatCardContent,\n    NgClass,\n    MatIconButton,\n    MatIcon,\n    MatCardActions,\n    MatButton,\n    GalaxyStickyFooterModule,\n    GalaxyButtonLoadingIndicatorModule,\n    AsyncPipe,\n    TranslateModule,\n  ],\n})\nexport class PipelineSettingsFormComponent {\n  protected readonly pipelineForm = new FormGroup({\n    stages: new FormArray<FormGroup>([], {\n      validators: probabilityValidator,\n    }),\n    name: new FormControl('', {\n      validators: whitespaceValidator(),\n      nonNullable: true,\n    }),\n  });\n\n  protected readonly currentPipeline$ = this.pipelineSettingsService.currentPipeline$;\n  protected readonly fallbackPipelineId$ = this.pipelineSettingsService.fallbackPipelineId$;\n  protected readonly loading$ = this.pipelineSettingsService.loadingPipeline$;\n  protected readonly savingChanges$$ = new BehaviorSubject(false);\n  protected readonly pendingChanges$$ = new BehaviorSubject(false);\n\n  constructor(\n    private readonly pipelineSettingsService: PipelineSettingsService,\n    private readonly activatedRoute: ActivatedRoute,\n    private readonly router: Router,\n    private readonly snackbarService: SnackbarService,\n    private readonly confirmationModal: OpenConfirmationModalService,\n    private readonly translateService: TranslateService,\n  ) {\n    this.pipelineForm.valueChanges.pipe(takeUntilDestroyed()).subscribe((_) => this.pendingChanges$$.next(true));\n    this.activatedRoute.params.pipe(takeUntilDestroyed()).subscribe((params) => {\n      if (params['pipelineId']) {\n        this.pipelineSettingsService.setPipelineId(params['pipelineId']);\n      } else {\n        this.loadFallbackPipeline();\n      }\n    });\n\n    this.currentPipeline$.pipe(takeUntilDestroyed()).subscribe((pipeline) => {\n      if (pipeline?.id) {\n        this.setFormValues(pipeline);\n      }\n    });\n  }\n\n  protected get stages(): FormArray<FormGroup> {\n    return this.pipelineForm.controls.stages;\n  }\n\n  protected keyIsInteger(event: KeyboardEvent): boolean {\n    return /^[0-9]$/.test(event.key);\n  }\n\n  protected addStage(): void {\n    const lastOpenStageIndex = this.stages.controls.map((s) => s.get('status')?.value).lastIndexOf('Open');\n    const nextProbability = (this.stages.controls[lastOpenStageIndex]?.get('probability')?.value || 0) + 1;\n    const newStage = new FormGroup({\n      name: new FormControl('', whitespaceValidator()),\n      probability: new FormControl(nextProbability, [Validators.required, Validators.min(1), Validators.max(99)]),\n      status: new FormControl('Open'),\n    });\n    this.stages.insert(lastOpenStageIndex + 1, newStage);\n    newStage.markAllAsTouched();\n    newStage.get('name')?.markAsDirty();\n    newStage.get('probability')?.markAsDirty();\n  }\n\n  private setFormValues(pipeline: Pipeline) {\n    this.pipelineForm.reset({ name: pipeline.name }, { emitEvent: false });\n    this.stages.clear();\n    let closedWonExists = false;\n    let closedLostExists = false;\n    pipeline.stages.forEach((stage) => {\n      const idCtrl = new FormControl(stage.id);\n      const nameCtrl = new FormControl(stage.name, whitespaceValidator());\n      const stageProbability = this.getStageProbability(stage);\n      const probabilityCtrl = new FormControl(this.getStageProbability(stage));\n      const statusCtrl = new FormControl(this.getStageStatus(stage));\n\n      if (stageProbability === 0) {\n        closedLostExists = true;\n        probabilityCtrl.disable();\n      } else if (stageProbability === 100) {\n        closedWonExists = true;\n        probabilityCtrl.disable();\n      } else {\n        probabilityCtrl.setValidators([Validators.required, Validators.min(1), Validators.max(99)]);\n      }\n      const newStage = new FormGroup({\n        id: idCtrl,\n        name: nameCtrl,\n        probability: probabilityCtrl,\n        status: statusCtrl,\n      });\n      this.stages.push(newStage, { emitEvent: false });\n    });\n    this.pendingChanges$$.next(false);\n\n    // add Closed stages if they don't exist in the current settings\n    if (!closedWonExists) {\n      const nameCtrl = new FormControl(\n        this.translateService.instant('PIPELINES.SETTINGS.DEFAULTS.CLOSED_WON'),\n        whitespaceValidator(),\n      );\n      const probabilityCtrl = new FormControl(100);\n      const statusCtrl = new FormControl('Closed Won');\n      probabilityCtrl.disable();\n      const newStage = new FormGroup({\n        name: nameCtrl,\n        probability: probabilityCtrl,\n        status: statusCtrl,\n      });\n      this.stages.push(newStage);\n    }\n    if (!closedLostExists) {\n      const nameCtrl = new FormControl(\n        this.translateService.instant('PIPELINES.SETTINGS.DEFAULTS.CLOSED_LOST'),\n        whitespaceValidator(),\n      );\n      const probabilityCtrl = new FormControl(0);\n      const statusCtrl = new FormControl('Closed Lost');\n      probabilityCtrl.disable();\n      const newStage = new FormGroup({\n        name: nameCtrl,\n        probability: probabilityCtrl,\n        status: statusCtrl,\n      });\n      this.stages.push(newStage);\n    }\n  }\n\n  private patchFormValues(pipeline: Pipeline) {\n    for (let i = 0; i < this.stages.length; i++) {\n      const stageGroup = this.stages.at(i);\n      const stage = pipeline.stages.find((s) => this.getStageProbability(s) === stageGroup.get('probability')?.value);\n      if (stage) {\n        if (stage.id && !stageGroup.get('id')) {\n          stageGroup.setControl('id', new FormControl(''));\n        }\n        stageGroup.patchValue({\n          id: stage?.id || '',\n          name: stage?.name,\n          probability: this.getStageProbability(stage),\n          status: this.getStageStatus(stage),\n        });\n      }\n    }\n  }\n\n  private getStageProbability(stage: Stage) {\n    const mutationFloat = stage.mutations.find(\n      (mutation) => mutation.fieldId === StandardIds.OpportunityProbability,\n    )?.floatValue;\n    return mutationFloat ? Math.round(mutationFloat * 100) : 0;\n  }\n\n  private getStageStatus(stage: Stage): string {\n    const mutationValue = stage.mutations.find(\n      (mutation) => mutation.fieldId === StandardIds.OpportunityStatus,\n    )?.stringValue;\n    return mutationValue ?? 'Open';\n  }\n\n  private loadFallbackPipeline() {\n    this.fallbackPipelineId$\n      .pipe(\n        filter((id) => !!id),\n        take(1),\n      )\n      .subscribe((fallbackPipelineId) => {\n        this.router.navigate([`${fallbackPipelineId}`], {\n          relativeTo: this.activatedRoute,\n        });\n      });\n  }\n\n  protected saveChanges(pipelineId: string) {\n    if (this.pipelineForm.valid && this.pipelineForm.dirty) {\n      this.savingChanges$$.next(true);\n      const pipelineName = this.pipelineForm.controls.name.value ?? '';\n      const stageProbabilities: StageMap = new Map<string, StageData>(\n        this.stages.controls.map((stage) => [\n          stage.get('name')?.value,\n          {\n            id: stage.get('id')?.value || '',\n            probability: stage.get('probability')?.value / 100,\n            status: stage.get('status')?.value,\n          },\n        ]),\n      );\n      this.pipelineSettingsService\n        .updatePipeline$('Opportunity', pipelineId, pipelineName, stageProbabilities)\n        .subscribe({\n          next: (pipeline) => {\n            this.patchFormValues(pipeline);\n            this.savingChanges$$.next(false);\n            this.pendingChanges$$.next(false);\n            this.pipelineForm.markAsPristine();\n            this.snackbarService.openSuccessSnack('PIPELINES.SETTINGS.SNACKBARS.SAVE_SUCCESS');\n          },\n          error: () => {\n            this.savingChanges$$.next(false);\n            this.snackbarService.openErrorSnack('PIPELINES.SETTINGS.SNACKBARS.SAVE_FAILED');\n          },\n        });\n    } else if (this.pipelineForm.dirty) {\n      this.snackbarService.openErrorSnack('PIPELINES.SETTINGS.SNACKBARS.FORM_INVALID');\n    }\n  }\n\n  deleteDisplayStage(index: number) {\n    this.stages.removeAt(index);\n    this.pipelineForm.markAsDirty();\n  }\n\n  async delete(pipelineId: string): Promise<void> {\n    const proceed = await firstValueFrom(\n      this.confirmationModal.openModal({\n        type: 'warn',\n        title: 'PIPELINES.SETTINGS.MODALS.DELETE_TITLE',\n        message: 'PIPELINES.SETTINGS.MODALS.DELETE_MESSAGE',\n        confirmButtonText: 'ACTIONS.DELETE',\n        cancelButtonText: 'ACTIONS.CANCEL',\n        actionOnEnterKey: false,\n      }),\n    );\n    if (proceed) {\n      const success = await firstValueFrom(this.pipelineSettingsService.deletePipeline$(pipelineId));\n      if (success) {\n        this.snackbarService.openSuccessSnack('PIPELINES.SETTINGS.SNACKBARS.DELETE_SUCCESS');\n        await this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n      } else {\n        this.snackbarService.openErrorSnack('PIPELINES.SETTINGS.SNACKBARS.DELETE_FAILED');\n      }\n    }\n  }\n\n  protected async cancel() {\n    const pipeline = await firstValueFrom(this.currentPipeline$);\n    if (pipeline?.id) {\n      this.setFormValues(pipeline);\n    }\n  }\n\n  canDeactivate(): Observable<boolean> {\n    return this.pendingChanges$$.pipe(\n      switchMap((pendingChanges) => {\n        if (pendingChanges) {\n          return this.confirmationModal\n            .openModal({\n              type: 'warn',\n              title: 'PIPELINES.SETTINGS.MODALS.UNSAVED_CHANGES_TITLE',\n              message: 'PIPELINES.SETTINGS.MODALS.UNSAVED_CHANGES_MESSAGE',\n              confirmButtonText: 'PIPELINES.SETTINGS.MODALS.UNSAVED_CHANGES_CONFIRM',\n            })\n            .pipe(map((confirmation) => !!confirmation));\n        } else {\n          return of(true);\n        }\n      }),\n    );\n  }\n}\n", "@let currentPipeline = currentPipeline$ | async;\n@if (loading$ | async) {\n  <glxy-loading-spinner [fullHeight]=\"true\" [size]=\"'large'\"></glxy-loading-spinner>\n} @else {\n  @if (currentPipeline?.id) {\n    <div class=\"pipeline-forms\" [formGroup]=\"pipelineForm\">\n      <glxy-form-field [bottomSpacing]=\"false\">\n        <glxy-label>{{ 'PIPELINES.SETTINGS.FORM.TITLES.PIPELINE_NAME' | translate }}</glxy-label>\n        <input\n          type=\"text\"\n          formControlName=\"name\"\n          placeholder=\"{{ 'PIPELINES.SETTINGS.FORM.PLACEHOLDER.PIPELINE_NAME' | translate }}\"\n          matInput\n        />\n      </glxy-form-field>\n      <div class=\"pipeline-stage-form-title-group\">\n        <div class=\"pipeline-stage-form-title\">\n          {{ 'PIPELINES.SETTINGS.FORM.TITLES.PIPELINE_NAME' | translate }}\n        </div>\n        <div class=\"pipeline-stage-form-subtitle\">\n          {{ 'PIPELINES.SETTINGS.FORM.SUBTITLES.PIPELINE_STAGES' | translate }}\n        </div>\n      </div>\n      <mat-card>\n        <div class=\"pipeline-stages-header\">\n          <div class=\"row\">\n            <div class=\"col col-sm-8 pipeline-stages-content\">\n              {{ 'PIPELINES.SETTINGS.FORM.TITLES.STAGE_NAME' | translate }}\n            </div>\n            <div class=\"col col-sm-4 pipeline-stages-content\">\n              {{ 'PIPELINES.SETTINGS.FORM.TITLES.CLOSE_PROBABILITY' | translate }}\n            </div>\n          </div>\n        </div>\n        <mat-divider></mat-divider>\n        <mat-card-content>\n          @for (stageForm of stages.controls; track stageForm; let i = $index, last = $last) {\n            @let status = stageForm.get('status')?.value;\n            @let readonly = status !== 'Open';\n            <div class=\"row pipeline-stages-form-group\" [formGroup]=\"stageForm\">\n              <div class=\"col col-sm-8 pipeline-stages-content\">\n                <glxy-form-field [bottomSpacing]=\"last ? false : 'small'\">\n                  <input\n                    type=\"text\"\n                    formControlName=\"name\"\n                    placeholder=\"{{ 'PIPELINES.SETTINGS.FORM.TITLES.STAGE_NAME' | translate }}\"\n                    [ngClass]=\"{\n                      'closed-won-input': status === 'Closed Won',\n                      'closed-lost-input': status === 'Closed Lost',\n                    }\"\n                    matInput\n                  />\n                </glxy-form-field>\n              </div>\n              <div class=\"col col-sm-4 pipeline-stages-content\">\n                <div class=\"close-probability\">\n                  <glxy-form-field\n                    [showLabel]=\"false\"\n                    [bottomSpacing]=\"last ? false : 'small'\"\n                    [suffixText]=\"'%'\"\n                    class=\"probability-input\"\n                  >\n                    @if (readonly) {\n                      <input\n                        type=\"number\"\n                        formControlName=\"probability\"\n                        class=\"disabled\"\n                        [ngClass]=\"{\n                          'closed-won-input': status === 'Closed Won',\n                          'closed-lost-input': status === 'Closed Lost',\n                        }\"\n                        matInput\n                      />\n                    } @else {\n                      <input\n                        type=\"number\"\n                        formControlName=\"probability\"\n                        min=\"1\"\n                        max=\"99\"\n                        step=\"1\"\n                        (keypress)=\"keyIsInteger($event)\"\n                        matInput\n                      />\n                    }\n                  </glxy-form-field>\n                  @if (readonly) {\n                    <button mat-icon-button type=\"button\" disabled></button>\n                  } @else {\n                    <button mat-icon-button type=\"button\" (click)=\"deleteDisplayStage(i)\">\n                      <mat-icon class=\"pipeline-stages-button\">close</mat-icon>\n                    </button>\n                  }\n                </div>\n              </div>\n            </div>\n            @if (!last) {\n              <mat-divider></mat-divider>\n            }\n          }\n        </mat-card-content>\n        <mat-card-actions>\n          <button mat-button type=\"button\" color=\"primary\" class=\"pipeline-stages-content\" (click)=\"addStage()\">\n            + {{ 'PIPELINES.SETTINGS.CTA.ADD_STAGE' | translate }}\n          </button>\n        </mat-card-actions>\n      </mat-card>\n    </div>\n    <glxy-sticky-footer>\n      <glxy-button-loading-indicator [isLoading]=\"savingChanges$$ | async\">\n        <button\n          mat-flat-button\n          color=\"primary\"\n          type=\"button\"\n          (click)=\"saveChanges(currentPipeline?.id)\"\n          [disabled]=\"(pendingChanges$$ | async) === false\"\n        >\n          {{ 'ACTIONS.SAVE' | translate }}\n        </button>\n      </glxy-button-loading-indicator>\n      <button mat-stroked-button (click)=\"cancel()\" [disabled]=\"(pendingChanges$$ | async) === false\">\n        {{ 'ACTIONS.CANCEL' | translate }}\n      </button>\n      <glxy-sticky-footer-secondary>\n        <button mat-stroked-button color=\"warn\" type=\"button\" (click)=\"delete(currentPipeline?.id)\">\n          {{ 'ACTIONS.DELETE' | translate }}\n        </button>\n      </glxy-sticky-footer-secondary>\n    </glxy-sticky-footer>\n  }\n}\n"],
  "mappings": "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",
  "names": ["\u0275\u0275element", "\u0275\u0275property", "\u0275\u0275pureFunction2", "_c0", "status_r2", "\u0275\u0275elementStart", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r3", "ctx_r3", "\u0275\u0275nextContext", "\u0275\u0275resetView", "keyIsInteger", "\u0275\u0275elementEnd", "_r5", "\u0275$index_48_r6", "$index", "deleteDisplayStage", "\u0275\u0275text", "\u0275\u0275declareLet", "\u0275\u0275template", "PipelineSettingsFormComponent_Conditional_4_Conditional_0_For_26_Conditional_10_Template", "PipelineSettingsFormComponent_Conditional_4_Conditional_0_For_26_Conditional_11_Template", "PipelineSettingsFormComponent_Conditional_4_Conditional_0_For_26_Conditional_12_Template", "PipelineSettingsFormComponent_Conditional_4_Conditional_0_For_26_Conditional_13_Template", "PipelineSettingsFormComponent_Conditional_4_Conditional_0_For_26_Conditional_14_Template", "\u0275\u0275storeLet", "tmp_15_0", "stageForm_r7", "get", "value", "\u0275\u0275advance", "\u0275$count_48_r8", "\u0275\u0275propertyInterpolate", "\u0275\u0275pipeBind1", "status_r9", "\u0275\u0275conditional", "readonly_r10", "\u0275\u0275repeaterCreate", "PipelineSettingsFormComponent_Conditional_4_Conditional_0_For_26_Template", "\u0275\u0275repeaterTrackByIdentity", "_r1", "addStage", "currentPipeline_r11", "\u0275\u0275readContextLet", "saveChanges", "id", "cancel", "delete", "pipelineForm", "\u0275\u0275textInterpolate", "\u0275\u0275textInterpolate1", "\u0275\u0275repeater", "stages", "controls", "savingChanges$$", "pendingChanges$$", "PipelineSettingsFormComponent_Conditional_4_Conditional_0_Template", "probabilityValidator", "PipelineSettingsFormComponent", "init_pipeline_settings_form_component", "__esmMin", "init_forms", "init_src", "init_rxjs_interop", "init_esm", "init_operators", "init_ngx_translate_core", "init_loading_spinner", "init_form_field", "init_input", "init_card", "init_divider", "init_common", "init_button", "init_icon", "init_sticky_footer", "init_button_loading_indicator", "control", "formArray", "probabilityMap", "Map", "probabilityControl", "probability", "has", "set", "push", "duplicateFound", "values", "length", "forEach", "c", "setErrors", "__spreadProps", "__spreadValues", "errors", "duplicate", "markAsTouched", "Object", "keys", "constructor", "pipelineSettingsService", "activatedRoute", "router", "snackbarService", "confirmationModal", "translateService", "FormGroup", "FormArray", "validators", "name", "FormControl", "whitespaceValidator", "nonNullable", "currentPipeline$", "fallbackPipelineId$", "loading$", "loadingPipeline$", "BehaviorSubject", "valueChanges", "pipe", "takeUntilDestroyed", "subscribe", "_", "next", "params", "setPipelineId", "loadFallbackPipeline", "pipeline", "setFormValues", "event", "test", "key", "lastOpenStageIndex", "map", "s", "lastIndexOf", "nextProbability", "newStage", "Validators", "required", "min", "max", "status", "insert", "markAllAsTouched", "markAsDirty", "reset", "emitEvent", "clear", "closedWonExists", "closedLostExists", "stage", "idCtrl", "nameCtrl", "stageProbability", "getStageProbability", "probabilityCtrl", "statusCtrl", "getStageStatus", "disable", "setValidators", "instant", "patchFormValues", "i", "stageGroup", "at", "find", "setControl", "patchValue", "mutationFloat", "mutations", "mutation", "fieldId", "StandardIds", "OpportunityProbability", "floatValue", "Math", "round", "OpportunityStatus", "stringValue", "filter", "take", "fallbackPipelineId", "navigate", "relativeTo", "pipelineId", "valid", "dirty", "pipelineName", "stageProbabilities", "updatePipeline$", "markAsPristine", "openSuccessSnack", "error", "openErrorSnack", "index", "removeAt", "__async", "firstValueFrom", "openModal", "type", "title", "message", "confirmButtonText", "cancelButtonText", "actionOnEnterKey", "deletePipeline$", "canDeactivate", "switchMap", "pendingChanges", "confirmation", "of", "\u0275\u0275directiveInject", "PipelineSettingsService", "ActivatedRoute", "Router", "SnackbarService", "OpenConfirmationModalService", "TranslateService", "selectors", "decls", "vars", "consts", "template", "rf", "ctx", "PipelineSettingsFormComponent_Conditional_2_Template", "PipelineSettingsFormComponent_Conditional_4_Template", "GalaxyLoadingSpinnerModule", "LoadingSpinnerComponent", "FormsModule", "DefaultValueAccessor", "NumberValueAccessor", "NgControlStatus", "NgControlStatusGroup", "MinValidator", "MaxValidator", "ReactiveFormsModule", "FormGroupDirective", "FormControlName", "GalaxyFormFieldModule", "FormFieldComponent", "LabelDirective", "MatInput", "MatCard", "MatDivider", "MatCardContent", "NgClass", "MatIconButton", "MatIcon", "MatCardActions", "MatButton", "GalaxyStickyFooterModule", "StickyFooterComponent", "StickyFooterSecondaryDirective", "GalaxyButtonLoadingIndicatorModule", "ButtonLoadingIndicatorComponent", "AsyncPipe", "TranslateModule", "TranslatePipe", "styles"]
}