{"version":3,"file":"chunk-eedkljq6.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","Y","__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","_UserDocumentsBootstrapService","provide","runOnFeatureInit","DocumentStatus","VerificationUseCase","GracePeriodUnit","ɵɵelement","ɵɵproperty","ctx","text","ɵɵtemplate","UserDocumentsComponent_Conditional_0_Conditional_0_Conditional_0_Conditional_0_Template","r","ɵɵconditional","tmp_5_0","ctx_r0","getTemplate","UserDocumentsComponent_Conditional_0_Conditional_0_Conditional_0_Template","depositLimitNoticeThreshold","availableBalance","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_2_Conditional_0_Conditional_0_Conditional_0_Conditional_0_Template","tmp_20_0","getGracePeriod","documents_r3","useCase","kycStatus_r2","redStatusDays","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_2_Conditional_0_Conditional_0_Conditional_0_Template","tmp_18_0","ɵɵpipeBind1","sofStatusDetails","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_2_Conditional_0_Conditional_1_Conditional_0_Template","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_2_Conditional_0_ng_template_2_Conditional_0_Template","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_2_Conditional_0_Conditional_0_Template","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_2_Conditional_0_Conditional_1_Template","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_2_Conditional_0_ng_template_2_Template","ɵɵtemplateRefExtractor","Sof","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_2_Conditional_0_Template","tmp_14_0","kycStatus","template_r4","parameters","iconClass","documentDetails_r5","documentsCount","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_3_For_2_Conditional_0_Conditional_1_Template","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_3_For_2_Conditional_0_Conditional_3_Template","E","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_3_For_2_Conditional_0_Conditional_6_Template","ɵɵpipeBind2","resources_r6","documentType","Documents","tmp_29_0","resources","Link","getLink","documentStatus","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_3_For_2_Conditional_0_Template","tmp_24_0","ɵɵrepeaterCreate","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_3_For_2_Template","ɵɵrepeaterTrackByIndex","ɵɵrepeater","documentDetails","ɵɵtextInterpolate","template_r7","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_4_Conditional_0_Template","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_2_Template","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_3_Template","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Conditional_4_Template","isVerified","documentHaveStatus","Required","Failed","length","UserDocumentsComponent_Conditional_0_Conditional_3_For_1_Template","documentVerificationStatus","template_r8","UserDocumentsComponent_Conditional_0_Conditional_4_Conditional_0_Template","tmp_3_0","UserDocumentsComponent_Conditional_0_Conditional_0_Template","UserDocumentsComponent_Conditional_0_Conditional_2_Template","UserDocumentsComponent_Conditional_0_Conditional_3_Template","UserDocumentsComponent_Conditional_0_Conditional_4_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","z","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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"}