{"version":3,"file":"475.30fd01e8b2247c70.js","mappings":"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","names":["i0","VerifyAliasComponent","constructor","router","auth","bsAuthService","bsCacheService","bsHubService","this","closeable","showBackArrow","secondaryCtaKey","ctaKey","secondaryCtaPath","ctaPath","image","key","textBody","textBodyKey","titleKey","cta","removeItem","ngOnInit","getItem","then","hasSignOnForReverification","redirectUrl","displayPage","logout","toPromise","setRedirectUrl","setItem","navigate","catch","err","console","log","handleEventClick","event","path","showPreFormCampaign","showForm","handleAliasSubmitted","status","showPostFormCampaign","handleBackClick","_VerifyAliasComponent","core","selectors","ProductIdentityComponent","routeState","productEligibilityService","mobileStateService","_creditSetupService","credit_dit_error","bodyKey","state","getCurrentNavigation","extras","error","errorKey","errors","visibleError","showError","blankPatchToCreditSub","get","subscribe","ms","onboardingComplete","dispatch","RoutingService","DISPATCH_KEY","RoutingServiceDispatchEvent","LAYOUT_CHANGE","message","LayoutStyle","FULL_SCREEN","submitAction","setTimeout","completedVerifications","push","queryParams","fromFormSubmission","_ProductIdentityComponent","ctx","StatusComponent","companyService","translateService","Subscription","url","includes","continueBtnKey","stepperInfo","createStepper","hasStepperInfo","sub","add","company","value","translation","allTheSteps","label","instant","details","statusTitle","title","statusBody","verificationStatus","steps","forEach","step","stepLabel","stepDetails","continue","_StatusComponent","EmploymentComponent","toastService","translateSvc","ngOnDestroy","unsubscribe","onIdentityComplete","infoBlue","_EmploymentComponent","EmploymentFailedGuard","verificationSvc","canActivate","route","getEmploymentVerificationStatusFromAPI","pipe","map","response","_EmploymentFailedGuard","factory","SmfaComponent","_route","_firebase","_globalModalService","_http","_env","Subject","pollingTimeInSeconds","of","getValueAsString","maxRetryAttempts","smfaDynamicLink","apiMobileNoAuthEndpoint","awsmobile","endpoints","endpoint","combineLatest","params","tap","getLinkInfo","linkId","takeUntil","_unsub$","retryWhen","shouldRetry","catchError","showErrorModal","next","concatMap","index","throwError","delay","redirectToDynamicLink","window","location","href","createGenericErrorModal","_SmfaComponent","routes","component","AuthGuard","OnboardingCompleteGuard","data","breadcrumb","GoToBrightsideDesktopComponent","appDisplayStyle","PUBLIC_ACCESS","DesktopFeatureVerificationModule","_DesktopFeatureVerificationModule","CommonModule","RouterModule","forChild","BrightsideUiModule","ReactiveFormsModule","SharedDesktopModule","SharedDisplayModule","TranslateModule","MicroUiMoleculeModule","UpdateInfoGuard","from","switchMap","cached","getProductEligibility","products","find","product","name","toLowerCase","required_fields","_UpdateInfoGuard","TrackerComponent","_TrackerComponent"],"sourceRoot":"webpack:///","sources":["./libs/desktop/feature/verification/src/lib/verify-alias/verify-alias.component.html","./libs/desktop/feature/verification/src/lib/verify-alias/verify-alias.component.ts","./libs/desktop/feature/verification/src/lib/identity/identity.component.html","./libs/desktop/feature/verification/src/lib/identity/identity.component.ts","./libs/desktop/feature/verification/src/lib/status/status.component.html","./libs/desktop/feature/verification/src/lib/status/status.component.ts","./libs/desktop/feature/verification/src/lib/employment/employment.component.html","./libs/desktop/feature/verification/src/lib/employment/employment.component.ts","./libs/desktop/feature/verification/src/lib/employment/employment.failed.guard.ts","./libs/desktop/feature/verification/src/lib/smfa/smfa.component.ts","./libs/desktop/feature/verification/src/lib/smfa/smfa.component.html","./libs/desktop/feature/verification/src/lib/desktop-feature-verification.module.ts","./libs/desktop/feature/verification/src/lib/update-info.guard.ts","./libs/brightside-ui/src/lib/tracker/tracker.component.html","./libs/brightside-ui/src/lib/tracker/tracker.component.ts"],"sourcesContent":["\n \n \n
\n \n \n
\n \n \n
\n","import { Component, OnInit } from '@angular/core';\nimport {DisplayCampaignConfig, DisplayCampaignEvent} from \"@brightside-web/shared/display\";\nimport {Router} from \"@angular/router\";\n\nimport {\n BsAuthService,\n BsCacheService,\n BsHubService\n} from \"@brightside-web/desktop/data-access/core-services\";\n\nimport {AuthService, BadgeIDInterface} from \"@brightside-web/desktop/data-access/shared\";\n\n//TODO: sign out user -> redirect them to sign in page -> redirect them back here\n\n@Component({\n selector: 'brightside-web-verify-alias',\n templateUrl: './verify-alias.component.html',\n styleUrls: ['./verify-alias.component.scss']\n})\nexport class VerifyAliasComponent implements OnInit {\n showPreFormCampaign = true;\n showPostFormCampaign = false;\n showForm = false;\n displayPage = false;\n redirectUrl = '/verification/alias';\n hasSignOnForReverification: boolean;\n\n preFormCampaign: DisplayCampaignConfig = {\n closeable: true,\n showBackArrow: false,\n secondaryCtaKey: 'CLOSE',\n ctaKey: 'REVERIFY',\n secondaryCtaPath: '/',\n ctaPath: 'displayForm',\n image: 'fa_intro_1',\n key: 'string',\n textBody: 'Some information you provided during registration does not match your employer’s records. Please re-enter it now.',\n textBodyKey: 'VERIFICATION_INTRO_DESC',\n titleKey: 'VERIFICATION_INTRO_TITLE'\n }\n postFormCampaign: DisplayCampaignConfig = {\n closeable: true,\n showBackArrow: false,\n cta: 'Continue',\n ctaKey: 'BUTTON_CONTINUE',\n ctaPath: '/',\n image: 'verified',\n key: 'string',\n textBody: 'We are reverifying your employment now. Your Financial Assistant will follow up shortly.',\n textBodyKey: 'VERIFICATION_OUTRO_DESC',\n titleKey: 'VERIFICATION_OUTRO_TITLE'\n }\n\n constructor(\n private router: Router,\n private auth: AuthService,\n private bsAuthService: BsAuthService,\n private bsCacheService: BsCacheService,\n private bsHubService: BsHubService\n ) {\n this.bsCacheService.removeItem('uniqueIdRetriesExceeded');\n }\n\n ngOnInit(): void {\n this.bsCacheService.getItem('hasSignOnForReverification').then(\n hasSignOnForReverification => {\n this.hasSignOnForReverification = hasSignOnForReverification;\n if (!this.hasSignOnForReverification && this.auth.redirectUrl !== '') {\n this.bsAuthService.logout().toPromise()\n .then(() => {\n this.auth.setRedirectUrl(this.redirectUrl);\n this.bsCacheService.setItem('hasSignOnForReverification', true);\n this.router.navigate(['/sign_in']);\n })\n .catch((err: any) => console.log(err));\n } else {\n this.displayPage = true;\n }\n }\n );\n }\n\n handleEventClick(event: DisplayCampaignEvent) {\n switch (event.path) {\n case '/':\n this.router.navigate([event.path]);\n break;\n case 'displayForm':\n this.showPreFormCampaign = false;\n this.showForm = true;\n break;\n }\n }\n\n handleAliasSubmitted(event: BadgeIDInterface) {\n if (event.status === 'success') {\n this.showForm = false;\n this.showPostFormCampaign = true;\n }\n }\n\n handleBackClick(event: boolean) {\n if (event) {\n this.showPreFormCampaign = true;\n this.showForm = false;\n }\n }\n}\n","\n\n\n\n \n {{ visibleError.titleKey | translate }}\n \n
\n \n \n

\n {{ visibleError.bodyKey | translate }}\n

\n
\n
\n
\n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { LocationStrategy } from \"@angular/common\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\n\nimport {\n BsCacheService,\n BsHubService\n} from \"@brightside-web/desktop/data-access/core-services\";\n\nimport {MobileStateService, ProductEligibilityService} from \"@brightside-web/desktop/data-access/shared\";\nimport {map} from \"rxjs/operators\";\nimport {LayoutStyle, RoutingServiceDispatchEvent} from \"@brightside-web/micro/core/utility\";\nimport {RoutingService} from \"../../../../../../../apps/desktop/src/app/routing.service\";\nimport { CreditSetupService } from 'libs/desktop/data-access/credit/src/lib/setup/credit-setup.service';\n\ninterface IdentityErrorInterface {\n titleKey: string;\n bodyKey: string;\n ctaKey?: string;\n}\n\n@Component({\n selector: 'brightside-web-identity',\n templateUrl: './identity.component.html',\n styleUrls: ['./identity.component.scss']\n})\nexport class ProductIdentityComponent implements OnInit {\n\n errors: {[key: string]: IdentityErrorInterface} = {\n credit_dit_error: {\n titleKey: 'CREDIT_DIT_HALFSHEET_TITLE',\n bodyKey: 'CREDIT_DIT_HALFSHEET_DESC',\n ctaKey: 'BUTTON_CONTINUE'\n }\n };\n\n visibleError: IdentityErrorInterface;\n showError = '';\n\n constructor(\n private routeState: ActivatedRoute,\n private router: Router,\n private productEligibilityService: ProductEligibilityService,\n private mobileStateService: MobileStateService,\n private bsCacheService: BsCacheService,\n private bsHubService: BsHubService,\n private _creditSetupService: CreditSetupService) {\n const state = this.router.getCurrentNavigation()?.extras.state;\n\n if (state?.error) {\n const errorKey = state.error as string;\n if (this.errors[errorKey]) {\n this.visibleError = this.errors[errorKey];\n this.showError = errorKey;\n\n this._creditSetupService.blankPatchToCreditSub(); // TODO: check if we want to hadle a response here\n }\n }\n this.mobileStateService.get().subscribe(\n ms => {\n if (!ms.onboardingComplete) {\n this.bsHubService.dispatch(RoutingService.DISPATCH_KEY,\n { event: RoutingServiceDispatchEvent.LAYOUT_CHANGE, message: LayoutStyle.FULL_SCREEN }\n );\n }\n }\n )\n }\n\n ngOnInit(): void {\n const state = this.router.getCurrentNavigation()?.extras.state;\n }\n\n submitAction(event: string) {\n // only called on successful submission of form.\n // expects valid path string\n setTimeout(() => {\n this.bsCacheService.setItem(event, true);\n this.productEligibilityService.completedVerifications.push(event);\n this.router.navigate([event], {queryParams: {fromFormSubmission: true}});\n });\n }\n\n}\n","
\n \n
\n
\n
\n
\n \n
\n
\n
\n \n {{ statusTitle | translate }}\n \n
\n
\n

\n {{ statusBody | translate:{company:company|titlecase} }}\n

\n \n
\n {{ continueBtnKey | translate }}\n
\n
\n","import { Component } from '@angular/core';\nimport {Subscription} from \"rxjs\";\nimport {\n CompanyService,\n StatusMapStepperInterface,\n} from \"@brightside-web/desktop/data-access/shared\";\nimport {Router} from \"@angular/router\";\nimport {TranslateService} from \"@ngx-translate/core\";\n\ninterface stepsObjects {\n label: string;\n details?: string;\n status: string;\n}\n\n@Component({\n selector: 'brightside-web-status',\n templateUrl: './status.component.html',\n styleUrls: ['./status.component.scss']\n})\nexport class StatusComponent {\n\n private sub = new Subscription();\n company = '';\n continueBtnKey = 'CLOSE';\n allTheSteps: stepsObjects[];\n statusTitle = 'VERIFICATION_STATUS_TITLE';\n statusBody = 'VERIFICATION_STATUS_DESC';\n verificationStatus = 'pending';\n hasStepperInfo: boolean;\n\n constructor(\n private companyService: CompanyService,\n private router: Router,\n private translateService: TranslateService,\n ) {\n if (this.router.url && this.router.url.includes('registration')) {\n this.continueBtnKey = 'BUTTON_CONTINUE';\n }\n if (this.router.getCurrentNavigation()?.extras.state && this.router.getCurrentNavigation()?.extras.state?.stepperInfo) {\n this.createStepper(this.router.getCurrentNavigation()?.extras.state?.stepperInfo);\n this.hasStepperInfo = true;\n }\n this.sub.add(\n this.companyService.company.subscribe(\n value => {\n if (value) {\n this.company = value;\n\n if (!this.hasStepperInfo) {\n // defaulting to pending\n this.sub.add(\n this.translateService.get('VERIFICATION_SUBMITTED').subscribe(\n translation => {\n this.allTheSteps = [\n {\n label: translation,\n status: 'complete'\n },\n {\n label: this.translateService.instant('VERIFICATION_VALIDATING'),\n details: this.translateService.instant('VERIFICATION_VALIDATING_DESC'),\n status: 'current'\n },\n {\n label: this.translateService.instant('VERIFICATION_COMPLETE'),\n status: 'incomplete'\n }\n ];\n }\n )\n )\n }\n }\n }\n )\n )\n }\n\n\n createStepper(stepperInfo: StatusMapStepperInterface) {\n this.statusTitle = stepperInfo.title;\n this.statusBody = stepperInfo.textBody;\n this.verificationStatus = stepperInfo.status ? stepperInfo.status : 'unknown';\n if (this.verificationStatus === 'failed') {\n this.continueBtnKey = 'BUTTON_CONTINUE';\n }\n this.allTheSteps = [];\n\n stepperInfo.steps?.forEach(step => {\n const stepLabel = this.translateService.instant(step.label);\n const stepDetails = step.details ? this.translateService.instant(step.details) : '';\n this.allTheSteps.push({\n label: stepLabel,\n details: stepDetails,\n status: step.status\n });\n });\n\n }\n\n continue() {\n if (this.verificationStatus && this.verificationStatus === 'failed') {\n this.router.navigate(['verification/employment']);\n } else {\n this.router.navigate(['/']);\n }\n }\n\n}\n","\n
{{ 'VERIFY_ELIGIBILITY_TITLE' | translate:{company:company|titlecase} }}
\n
\n \n {{ 'VERIFY_ELIGIBILITY_DESC' | translate }}\n \n
\n
\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {CompanyService} from \"@brightside-web/desktop/data-access/shared\";\nimport {Subscription} from \"rxjs\";\nimport {Router} from \"@angular/router\";\nimport {ToastService} from \"@brightside/brightside-ui-services\";\nimport {TranslateService} from \"@ngx-translate/core\";\n\n@Component({\n selector: 'brightside-web-employment',\n templateUrl: './employment.component.html',\n styleUrls: ['./employment.component.scss']\n})\nexport class EmploymentComponent implements OnInit, OnDestroy {\n sub = new Subscription();\n company: string;\n\n constructor(\n private companyService: CompanyService,\n private router: Router,\n private toastService: ToastService,\n private translateSvc: TranslateService\n ) { }\n\n ngOnInit(): void {\n this.sub.add(\n this.companyService.company.subscribe(\n value => {\n if (value !== '') this.company = value;\n }\n )\n )\n }\n\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n\n onIdentityComplete(event: boolean) {\n if (event) {\n this.toastService.infoBlue(this.translateSvc.instant('EMPLOYEE_VERIFICIATION_IN_PROGRESS'))\n this.router.navigate(['/']);\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Route, Router,\n RouterStateSnapshot,\n} from '@angular/router';\nimport {Observable, of, Subscription} from 'rxjs';\nimport { VerificationStatusService, VerificationStatusEnum } from \"@brightside-web/desktop/data-access/shared\";\nimport {map, tap} from \"rxjs/operators\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmploymentFailedGuard implements CanActivate {\n sub = new Subscription()\n\n constructor(private verificationSvc: VerificationStatusService, private router:Router) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\n return this.verificationSvc.getEmploymentVerificationStatusFromAPI().pipe(\n map( response => {\n return true;\n if (response.employment_data_verification_status.status === VerificationStatusEnum.FAILED) {\n return true;\n } else {\n this.router.navigate(['/']);\n return false;\n }\n })\n );\n\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { SimpleGlobalModalService } from '@brightside-web/desktop/data-access/core-services';\nimport { FirebaseService } from '@brightside-web/desktop/data-access/shared';\nimport { Environment } from '@brightside-web/micro/core/environment';\nimport { Observable, Subject, combineLatest, of, throwError } from 'rxjs';\nimport { catchError, concatMap, delay, retryWhen, takeUntil, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'brightside-web-smfa',\n templateUrl: './smfa.component.html',\n styleUrls: ['./smfa.component.scss'],\n})\nexport class SmfaComponent implements OnInit, OnDestroy {\n pollingTimeInSeconds: Observable;\n maxRetryAttempts: Observable;\n smfaDynamicLink: string;\n apiMobileNoAuthEndpoint: string;\n\n private _unsub$: Subject = new Subject();\n\n constructor(\n private _route: ActivatedRoute, \n private _firebase: FirebaseService,\n private _globalModalService: SimpleGlobalModalService,\n private _http: HttpClient,\n private _env: Environment\n ) {}\n\n ngOnInit(): void {\n this.pollingTimeInSeconds = of(+this._firebase.getValueAsString('smfaPollFrequency') || 3);\n this.maxRetryAttempts = of(+this._firebase.getValueAsString('maxRetryAttempts') || 3);\n\n this.smfaDynamicLink = this._env.smfaDynamicLink;\n this.apiMobileNoAuthEndpoint = this._env.awsmobile.endpoints['api-mobile-noauth'].endpoint;\n\n combineLatest([this._route.params, this.pollingTimeInSeconds, this.maxRetryAttempts])\n .pipe(\n tap(([params, pollingTimeInSeconds, maxRetryAttempts]) => {\n this.getLinkInfo(params.linkId, pollingTimeInSeconds, maxRetryAttempts);\n }),\n takeUntil(this._unsub$)\n )\n .subscribe();\n }\n\n getLinkInfo(linkId: string, pollingTimeInSeconds: number, maxRetryAttempts: number): void {\n this._http\n .get(`${this.apiMobileNoAuthEndpoint}/links/${linkId}`)\n .pipe(\n retryWhen((error) => this.shouldRetry(error, pollingTimeInSeconds, maxRetryAttempts)),\n catchError(() => this.showErrorModal()),\n takeUntil(this._unsub$)\n )\n .subscribe();\n }\n\n ngOnDestroy(): void {\n this._unsub$.next();\n }\n\n private shouldRetry(error: Observable, pollingTimeInSeconds: number, maxRetryAttempts: number) { \n return error.pipe(\n concatMap((response, index) => {\n if (response.status === 410) return throwError(response); \n else return index === maxRetryAttempts ? throwError(response) : of(null).pipe(delay(pollingTimeInSeconds * 1000));\n })\n );\n }\n\n private redirectToDynamicLink(): void { \n window.location.href = this.smfaDynamicLink;\n }\n\n private showErrorModal(): Observable {\n this._globalModalService.createGenericErrorModal('smfa_verification', () => this.redirectToDynamicLink(), 'OK');\n return of(false);\n }\n}\n","\n\n
\n \n
\n
\n
\n {{'SMFA_AUTH_TITLE'|translate}}\n
\n
\n
\n
\n {{'SMFA_AUTH_DESC'|translate}}\n
\n
\n
\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule, Routes } from '@angular/router';\nimport { SharedDisplayModule } from '@brightside-web/shared/display';\n\nimport { AuthGuard, OnboardingCompleteGuard, SharedDesktopModule, VerificationStatusGuard } from '@brightside-web/shared/desktop';\nimport { VerifyAliasComponent } from './verify-alias/verify-alias.component';\nimport { BrightsideUiModule } from '@brightside/brightside-ui';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ProductIdentityComponent } from './identity/identity.component';\nimport { StatusComponent } from './status/status.component';\nimport { EmploymentComponent } from './employment/employment.component';\nimport { EmploymentFailedGuard } from './employment/employment.failed.guard';\nimport { LayoutStyle } from '@brightside-web/micro/core/utility';\nimport { SmfaComponent } from './smfa/smfa.component';\nimport { GoToBrightsideDesktopComponent } from '../../../../../shared/desktop/src/';\nimport {MicroUiMoleculeModule} from \"@micro-ui/molecule\";\n\nconst routes: Routes = [\n { path: 'alias', component: VerifyAliasComponent },\n {\n path: 'identity/:product',\n component: ProductIdentityComponent,\n canActivate: [AuthGuard, OnboardingCompleteGuard],\n data: {\n label: 'Identity Verification',\n breadcrumb: 'Identity Verification',\n },\n },\n { path: 'status', component: StatusComponent, canActivate: [AuthGuard, OnboardingCompleteGuard] },\n { path: 'employment', component: EmploymentComponent, canActivate: [AuthGuard, EmploymentFailedGuard] },\n { path: 'smfa', component: GoToBrightsideDesktopComponent, data: { appDisplayStyle: LayoutStyle.PUBLIC_ACCESS } },\n { path: 'smfa/:linkId', component: SmfaComponent, data: { appDisplayStyle: LayoutStyle.PUBLIC_ACCESS } },\n { path: 'go-to-brightside', component: GoToBrightsideDesktopComponent, data: { appDisplayStyle: LayoutStyle.PUBLIC_ACCESS } },\n];\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule.forChild(routes),\n BrightsideUiModule,\n ReactiveFormsModule,\n SharedDesktopModule,\n SharedDisplayModule,\n TranslateModule,\n MicroUiMoleculeModule,\n ],\n declarations: [\n VerifyAliasComponent,\n ProductIdentityComponent,\n StatusComponent,\n EmploymentComponent,\n SmfaComponent,\n ],\n exports: [ProductIdentityComponent],\n})\nexport class DesktopFeatureVerificationModule {}\n","import { Injectable } from '@angular/core';\nimport {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree} from '@angular/router';\nimport {from, Observable, of, switchMap} from 'rxjs';\nimport {ProductEligibilityService} from \"@brightside-web/desktop/data-access/shared\";\nimport {map} from \"rxjs/operators\";\n\nimport {\n BsCacheService,\n BsHubService\n} from \"@brightside-web/desktop/data-access/core-services\";\n\nimport {\n LayoutStyle,\n RoutingService,\n RoutingServiceDispatchEvent\n} from \"../../../../../../apps/desktop/src/app/routing.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UpdateInfoGuard implements CanActivate {\n\n constructor(\n private router: Router,\n private productEligibilityService: ProductEligibilityService,\n private bsCacheService: BsCacheService,\n private bsHubService: BsHubService\n ) {\n }\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n return from(this.bsCacheService.getItem('hasCheckedProductRegistration')).pipe(\n switchMap(cached => {\n if (cached) {\n return of(true);\n } else {\n return this.productEligibilityService.getProductEligibility().pipe(\n map(response => {\n this.bsCacheService.setItem('hasCheckedProductRegistration', true);\n if (response.products) {\n const productFields = response.products.find(product => product.name.toLowerCase() === 'registration');\n if (productFields?.required_fields) {\n this.router.navigate(['verification', 'identity', 'registration']);\n this.bsHubService.dispatch(RoutingService.DISPATCH_KEY,\n { event: RoutingServiceDispatchEvent.LAYOUT_CHANGE, message: LayoutStyle.FULL_SCREEN }\n );\n return false;\n }\n }\n return true;\n })\n )\n }\n }\n )\n )\n\n }\n\n}\n","
\n
\n
\n \n \n
\n
{{step.label}}
\n
{{step.details}}
\n
\n
\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\n\n@Component({\n selector: 'bw-tracker',\n templateUrl: './tracker.component.html',\n styleUrls: ['./tracker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TrackerComponent implements OnInit {\n\n @Input() trackerSteps: any[];\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n"],"x_google_ignoreList":[]}