{"version":3,"file":"chunk-l1oroxkh.js","sources":["packages/vanilla/lib/features/user-documents/src/user-documents.client-config.ts","packages/vanilla/lib/features/user-documents/src/user-documents.service.ts","packages/vanilla/lib/features/user-documents/src/user-documents-bootstrap.service.ts","packages/vanilla/lib/features/user-documents/src/user-documents.feature.ts","packages/vanilla/lib/features/user-documents/src/user-documents.models.ts","packages/vanilla/lib/features/user-documents/src/user-documents.html","packages/vanilla/lib/features/user-documents/src/user-documents.component.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { ClientConfigProductName, LazyClientConfig, LazyClientConfigBase, LazyClientConfigService } from '@frontend/vanilla/core';\n\n/**\n * @stable\n */\n@LazyClientConfig({ key: 'vnUserDocuments', product: ClientConfigProductName.SF })\n@Injectable({\n providedIn: 'root',\n useFactory: configFactory,\n deps: [LazyClientConfigService],\n})\nexport class UserDocumentsConfig extends LazyClientConfigBase {\n depositLimitNoticeThreshold: number;\n}\n\nexport function configFactory(service: LazyClientConfigService) {\n return service.get(UserDocumentsConfig);\n}\n","import { Injectable, signal } from '@angular/core';\n\nimport { SharedFeaturesApiService } from '@frontend/vanilla/core';\n\nimport { UserDocumentsResponse } from './user-documents.models';\n\n/**\n * @stable\n */\n@Injectable({ providedIn: 'root' })\nexport class UserDocumentsService {\n readonly userDocuments = signal(null);\n\n constructor(private apiService: SharedFeaturesApiService) {}\n\n refresh() {\n this.userDocuments.set(null);\n this.loadUserDocuments();\n }\n\n private loadUserDocuments() {\n if (!this.userDocuments()) {\n this.apiService.get('userdocuments').subscribe((userDocuments: UserDocumentsResponse) => {\n this.userDocuments.set(userDocuments);\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { OnFeatureInit, RtmsMessage, RtmsService, RtmsType, SofStatusDetailsCoreService } from '@frontend/vanilla/core';\nimport { LoginService } from '@frontend/vanilla/shared/login';\nimport { firstValueFrom } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { UserDocumentsConfig } from './user-documents.client-config';\nimport { UserDocumentsService } from './user-documents.service';\n\n@Injectable()\nexport class UserDocumentsBootstrapService implements OnFeatureInit {\n constructor(\n private config: UserDocumentsConfig,\n private loginService: LoginService,\n private rtmsService: RtmsService,\n private userDocumentsService: UserDocumentsService,\n private sofStatusDetailsService: SofStatusDetailsCoreService,\n ) {}\n\n async onFeatureInit() {\n await firstValueFrom(this.config.whenReady);\n\n this.loginService.runAfterLogin(UserDocumentsBootstrapService.name, () => {\n this.userDocumentsService.refresh();\n this.sofStatusDetailsService.whenReady.subscribe(() => this.sofStatusDetailsService.refresh());\n });\n\n this.rtmsService.messages\n .pipe(filter((e: RtmsMessage) => [RtmsType.KYC_VERIFIED_EVENT, RtmsType.KYC_REFRESH_TRIGGER_EVENT].includes(e.type)))\n .subscribe(() => {\n this.userDocumentsService.refresh();\n this.sofStatusDetailsService.whenReady.subscribe(() => this.sofStatusDetailsService.refresh());\n });\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { UserDocumentsBootstrapService } from './user-documents-bootstrap.service';\nimport { UserDocumentsService } from './user-documents.service';\n\nexport function provide() {\n return [UserDocumentsService, runOnFeatureInit(UserDocumentsBootstrapService)];\n}\n","/**\n * @stable\n */\nexport interface DocumentDetails {\n documentStatus: string;\n documentType: string;\n documentStatusLastUpdated?: Date;\n uploadedDate: Date;\n uploadedReason: string;\n documentsCount: number;\n}\n\n/**\n * @stable\n */\nexport interface DocumentVerificationStatus {\n useCase: VerificationUseCase;\n isVerified: boolean;\n verifiedTime?: Date;\n documentDetails: DocumentDetails[];\n}\n\n/**\n * @stable\n */\nexport interface UserDocumentsResponse {\n documentVerificationStatus: DocumentVerificationStatus[];\n}\n\n/**\n * @stable\n *\n * Order matters.\n */\nexport enum DocumentStatus {\n Failed = 'Failed',\n Required = 'Required',\n InProgress = 'InProgress',\n Verified = 'Verified',\n}\n\n/**\n * @stable\n */\nexport enum VerificationUseCase {\n All = 'ALL',\n Kyc = 'KYC',\n TwoPlusTwo = 'TWO-PLUS-TWO',\n UkKycRefresh = 'UK-KYC-REFRESH',\n Sof = 'SOF',\n}\n\n/**\n * @stable\n */\nexport enum GracePeriodUnit {\n Hours = 'hours',\n Days = 'days',\n}\n","@if (userDocuments() && item().resources; as resources) {\n \n @if (balancePropertiesService.balanceProperties | async; as balance) {\n @if (config.depositLimitNoticeThreshold > 0 && balance.availableBalance > config.depositLimitNoticeThreshold) {\n @if (getTemplate('notice'); as template) {\n \n }\n }\n }\n \n @if (getNotice(); as notice) {\n \n }\n \n \n @if (userDocuments().documentVerificationStatus.length) {\n @for (documents of userDocuments().documentVerificationStatus; track $index) {\n \n
\n {{ resources[documents.useCase] }}\n \n @if (!documents.isVerified && (documentHaveStatus(DocumentStatus.Required) || documentHaveStatus(DocumentStatus.Failed))) {\n @if (kycStatus(); as kycStatus) {\n @if (documents.useCase === VerificationUseCase.Sof) {\n @if (sofStatusDetails | async; as sofStatus) {\n @if (getGracePeriod(documents.useCase, kycStatus, sofStatus.redStatusDays); as gracePeriod) {\n \n {{ gracePeriod }}\n \n }\n }\n } @else {\n @if (getGracePeriod(documents.useCase, kycStatus); as gracePeriod) {\n \n {{ gracePeriod }}\n \n }\n }\n \n @if (getGracePeriod(documents.useCase, kycStatus); as gracePeriod) {\n \n {{ gracePeriod }}\n \n }\n \n }\n }\n
\n \n @if (documents.documentDetails.length) {\n
\n @for (documentDetails of documents.documentDetails; track $index) {\n @if (getTemplate(documentDetails.documentStatus); as template) {\n
\n @if (template.parameters?.iconClass) {\n \n }\n \n @if (documentDetails.documentsCount > 0) {\n {{ documentDetails.documentsCount }}\n }\n {{ template.text | format: resources[documentDetails.documentType] || resources.Documents }}\n \n @if (template.resources.Link || getLink(documents.useCase, documentDetails.documentStatus); as link) {\n \n }\n
\n }\n }\n
\n } @else {\n @if (getTemplate('empty'); as template) {\n
{{ template.text }}
\n
\n }\n }\n }\n } @else {\n @if (getTemplate('empty'); as template) {\n
{{ template.text }}
\n
\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, computed, input, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { DynamicHtmlDirective, MenuContentItem, SofStatusDetails, SofStatusDetailsCoreService, TrackingService } from '@frontend/vanilla/core';\nimport { BalancePropertiesService } from '@frontend/vanilla/features/balance-properties';\nimport { FormatPipe } from '@frontend/vanilla/shared/browser';\nimport { KycStatus, KycStatusService } from '@frontend/vanilla/shared/kyc';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { UserDocumentsConfig } from './user-documents.client-config';\nimport {\n DocumentDetails,\n DocumentStatus,\n DocumentVerificationStatus,\n GracePeriodUnit,\n UserDocumentsResponse,\n VerificationUseCase,\n} from './user-documents.models';\n\n/**\n * Sitecore: {@link http://cms.prod.env.works/sitecore/DirectLink.aspx?fo={63AE6738-595A-481C-BF4E-E39399377774}&la=}\n *\n * @stable\n */\n@Component({\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, DynamicHtmlDirective, FormatPipe],\n selector: 'vn-am-user-documents',\n templateUrl: 'user-documents.html',\n})\nexport class UserDocumentsComponent implements OnInit {\n item = input.required();\n userDocuments = input.required();\n\n DocumentStatus = DocumentStatus;\n VerificationUseCase = VerificationUseCase;\n getNotice = computed(() => {\n if (!this.userDocuments().documentVerificationStatus?.length) {\n return;\n }\n\n for (const status in DocumentStatus) {\n const haveSameStatus = this.userDocuments().documentVerificationStatus.every((document: DocumentVerificationStatus) =>\n document.documentDetails.every((details: DocumentDetails) => details.documentStatus === status),\n );\n\n if (this.userDocuments().documentVerificationStatus.length > 1 && !haveSameStatus) {\n continue; // Skip if not all documents have the same status.\n }\n\n const haveNotice = this.userDocuments().documentVerificationStatus.every((document: DocumentVerificationStatus) =>\n document.documentDetails.some((details: DocumentDetails) => details.documentStatus === status),\n );\n\n if (haveNotice) {\n const isVerified = this.userDocuments().documentVerificationStatus.every(\n (document: DocumentVerificationStatus) => document.isVerified,\n );\n\n return this.item().resources[`${isVerified ? DocumentStatus.Verified : status}_Notice`];\n }\n }\n\n return;\n });\n\n readonly kycStatus = signal(null);\n sofStatusDetails: Observable;\n\n constructor(\n public config: UserDocumentsConfig,\n public sofStatusDetailsService: SofStatusDetailsCoreService,\n public balancePropertiesService: BalancePropertiesService,\n private kycStatusService: KycStatusService,\n private trackingService: TrackingService,\n ) {\n this.kycStatusService.kycStatus\n .pipe(\n takeUntilDestroyed(),\n filter((status: KycStatus | null): status is KycStatus => status !== null),\n )\n .subscribe((kycStatus: KycStatus) => {\n const isUkKycRefreshRequired = this.getKycStatusValue(kycStatus, 'isUkKycRefreshRequired') === 'y';\n\n kycStatus.graceDaysUnit =\n isUkKycRefreshRequired && kycStatus.additionalKycInfo\n ? this.getKycStatusValue(kycStatus, 'ukKycRefreshGraceDaysUnit') || GracePeriodUnit.Days\n : kycStatus.graceDaysUnit || GracePeriodUnit.Days;\n\n this.kycStatus.set(kycStatus);\n });\n }\n\n ngOnInit() {\n this.sofStatusDetailsService.whenReady.subscribe(() => {\n this.sofStatusDetailsService.refresh();\n this.sofStatusDetails = this.sofStatusDetailsService.statusDetails;\n });\n this.trackingService.trackContentItemEvent(this.item().trackEvent, 'LoadedEvent');\n }\n\n getTemplate(name?: string): MenuContentItem | undefined {\n return this.item().children?.find((item: MenuContentItem) => name && item.name.indexOf(name.toLowerCase()) > -1);\n }\n\n getLink(useCase: VerificationUseCase, status: string): string | undefined {\n return status === DocumentStatus.Required ? this.item().resources[`${useCase}_link`.toUpperCase()] : undefined;\n }\n\n getGracePeriod(useCase: VerificationUseCase, kycStatus: KycStatus, sofRedStatusDays?: number): string | undefined {\n let gracePeriod: number;\n\n if (sofRedStatusDays) {\n kycStatus.graceDaysUnit = GracePeriodUnit.Days;\n gracePeriod = sofRedStatusDays;\n } else {\n gracePeriod = kycStatus.isKycStarted ? kycStatus.verificationDaysLeft : kycStatus.depositGraceDays;\n }\n\n if (gracePeriod === -1 && useCase === VerificationUseCase.UkKycRefresh) {\n kycStatus.graceDaysUnit = this.getKycStatusValue(kycStatus, 'ukKycRefreshGraceDaysUnit') || GracePeriodUnit.Days;\n gracePeriod = this.getKycStatusValue(kycStatus, 'ukKycRefreshgraceDays') || -1;\n }\n\n return this.getGracePeriodText(gracePeriod, kycStatus.graceDaysUnit);\n }\n\n documentHaveStatus(documentStatus: DocumentStatus): boolean {\n return this.userDocuments().documentVerificationStatus.some((document: DocumentVerificationStatus) =>\n document.documentDetails.find((details: DocumentDetails) => details.documentStatus === documentStatus),\n );\n }\n\n private getGracePeriodText(gracePeriod: number, graceUnit: string): string | undefined {\n if (!gracePeriod || gracePeriod < 1) {\n return;\n }\n\n if (graceUnit?.toLowerCase() === GracePeriodUnit.Days) {\n // Hide grace period if true\n if (gracePeriod >= Number(this.item().parameters.hideGracePeriodDaysThreshold)) {\n return;\n }\n\n // Convert days to hours if true\n if (gracePeriod <= Number(this.item().parameters.gracePeriodDaysToHoursThreshold)) {\n return `${gracePeriod * 24} ${this.item().resources[gracePeriod === 1 ? 'HourLeft' : 'HoursLeft']}`;\n }\n\n return `${gracePeriod} ${this.item().resources[gracePeriod === 1 ? 'DayLeft' : 'DaysLeft']}`;\n }\n\n return `${gracePeriod} ${this.item().resources[gracePeriod === 1 ? 'HourLeft' : 'HoursLeft']}`;\n }\n\n private getKycStatusValue(kycStatus: KycStatus, key: string): T | undefined {\n return kycStatus.additionalKycInfo?.find((info: { [key: string]: string }) => info.Key === key)?.Value as T | undefined;\n }\n}\n"],"names":["UserDocumentsConfig","_a","LazyClientConfigBase","__ngFactoryType__","factory","__ngConditionalFactory__","configFactory","ɵɵinject","LazyClientConfigService","__decorate","LazyClientConfig","key","product","ClientConfigProductName","SF","service","get","UserDocumentsService","constructor","apiService","userDocuments","signal","refresh","set","loadUserDocuments","subscribe","SharedFeaturesApiService","ɵfac","providedIn","_UserDocumentsService","UserDocumentsBootstrapService","config","loginService","rtmsService","userDocumentsService","sofStatusDetailsService","onFeatureInit","__async","firstValueFrom","whenReady","runAfterLogin","name","messages","pipe","filter","e","RtmsType","KYC_VERIFIED_EVENT","KYC_REFRESH_TRIGGER_EVENT","includes","type","LoginService","RtmsService","SofStatusDetailsCoreService","S","_UserDocumentsBootstrapService","provide","runOnFeatureInit","DocumentStatus","VerificationUseCase","GracePeriodUnit","ɵɵtext","ɵɵelement","ɵɵadvance","ɵɵproperty","ctx","text","ɵɵtemplate","UserDocumentsComponent_Conditional_0_Conditional_2_Conditional_1_Conditional_1_Template","s","ɵɵconditional","tmp_5_0","ctx_r0","getTemplate","UserDocumentsComponent_Conditional_0_Conditional_2_Conditional_1_Template","depositLimitNoticeThreshold","availableBalance","ɵɵelementStart","ɵɵelementEnd","ɵɵtextInterpolate1","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_5_Conditional_1_Conditional_1_Conditional_1_Conditional_1_Template","tmp_20_0","getGracePeriod","documents_r3","useCase","kycStatus_r2","redStatusDays","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_5_Conditional_1_Conditional_1_Conditional_1_Template","tmp_18_0","ɵɵpipeBind1","sofStatusDetails","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_5_Conditional_1_Conditional_2_Conditional_1_Template","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_5_Conditional_1_ng_template_3_Conditional_1_Template","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_5_Conditional_1_Conditional_1_Template","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_5_Conditional_1_Conditional_2_Template","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_5_Conditional_1_ng_template_3_Template","ɵɵtemplateRefExtractor","Sof","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_5_Conditional_1_Template","tmp_14_0","kycStatus","template_r4","parameters","iconClass","documentDetails_r5","documentsCount","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_8_For_4_Conditional_1_Conditional_3_Template","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_8_For_4_Conditional_1_Conditional_6_Template","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_8_For_4_Conditional_1_Conditional_10_Template","ɵɵpipeBind2","resources_r6","documentType","Documents","tmp_29_0","resources","Link","getLink","documentStatus","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_8_For_4_Conditional_1_Template","tmp_24_0","ɵɵrepeaterCreate","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_8_For_4_Template","ɵɵrepeaterTrackByIndex","ɵɵrepeater","documentDetails","ɵɵtextInterpolate","template_r7","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_9_Conditional_1_Template","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_5_Template","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_8_Template","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Conditional_9_Template","isVerified","documentHaveStatus","Required","Failed","length","UserDocumentsComponent_Conditional_0_Conditional_5_For_2_Template","documentVerificationStatus","template_r8","UserDocumentsComponent_Conditional_0_Conditional_6_Conditional_1_Template","tmp_3_0","UserDocumentsComponent_Conditional_0_Conditional_2_Template","UserDocumentsComponent_Conditional_0_Conditional_4_Template","UserDocumentsComponent_Conditional_0_Conditional_5_Template","UserDocumentsComponent_Conditional_0_Conditional_6_Template","tmp_2_0","balancePropertiesService","balanceProperties","getNotice","UserDocumentsComponent","kycStatusService","trackingService","item","input","required","computed","status","haveSameStatus","every","document","details","some","Verified","takeUntilDestroyed","isUkKycRefreshRequired","getKycStatusValue","graceDaysUnit","additionalKycInfo","Days","ngOnInit","statusDetails","trackContentItemEvent","trackEvent","children","find","indexOf","toLowerCase","toUpperCase","undefined","sofRedStatusDays","gracePeriod","isKycStarted","verificationDaysLeft","depositGraceDays","UkKycRefresh","getGracePeriodText","graceUnit","Number","hideGracePeriodDaysThreshold","gracePeriodDaysToHoursThreshold","info","Key","Value","ɵɵdirectiveInject","BalancePropertiesService","KycStatusService","TrackingService","selectors","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","UserDocumentsComponent_Conditional_0_Template","tmp_0_0","CommonModule","NgClass","AsyncPipe","DynamicHtmlDirective","FormatPipe","encapsulation","changeDetection","_UserDocumentsComponent"],"mappings":"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"}