@rolatech/angular-onboarding 20.3.0-beta.2 → 20.3.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/fesm2022/rolatech-angular-onboarding-admin-onboarding-detail-page-DD-5SdjA.mjs +708 -0
  2. package/fesm2022/rolatech-angular-onboarding-admin-onboarding-detail-page-DD-5SdjA.mjs.map +1 -0
  3. package/fesm2022/rolatech-angular-onboarding-admin-onboarding-index-page-DP7wffLd.mjs +313 -0
  4. package/fesm2022/rolatech-angular-onboarding-admin-onboarding-index-page-DP7wffLd.mjs.map +1 -0
  5. package/fesm2022/rolatech-angular-onboarding-agent-apply-form-page-y02hYlN_.mjs +446 -0
  6. package/fesm2022/rolatech-angular-onboarding-agent-apply-form-page-y02hYlN_.mjs.map +1 -0
  7. package/fesm2022/rolatech-angular-onboarding-agent-apply-result-page-CEL4nWb_.mjs +141 -0
  8. package/fesm2022/rolatech-angular-onboarding-agent-apply-result-page-CEL4nWb_.mjs.map +1 -0
  9. package/fesm2022/rolatech-angular-onboarding-agent-apply-review-page-DG_D03YW.mjs +453 -0
  10. package/fesm2022/rolatech-angular-onboarding-agent-apply-review-page-DG_D03YW.mjs.map +1 -0
  11. package/fesm2022/{rolatech-angular-onboarding-agent-apply-shell-page-DibWYeD1.mjs → rolatech-angular-onboarding-agent-apply-shell-page-CaTvnFzk.mjs} +27 -40
  12. package/fesm2022/rolatech-angular-onboarding-agent-apply-shell-page-CaTvnFzk.mjs.map +1 -0
  13. package/fesm2022/{rolatech-angular-onboarding-agent-apply-start-page-DC7gyOnS.mjs → rolatech-angular-onboarding-agent-apply-start-page-BfqO2YWB.mjs} +31 -29
  14. package/fesm2022/rolatech-angular-onboarding-agent-apply-start-page-BfqO2YWB.mjs.map +1 -0
  15. package/fesm2022/{rolatech-angular-onboarding-agent-onboarding-documents-page-DWBGTj5J.mjs → rolatech-angular-onboarding-agent-onboarding-documents-page-BKDYZE0e.mjs} +79 -6
  16. package/fesm2022/rolatech-angular-onboarding-agent-onboarding-documents-page-BKDYZE0e.mjs.map +1 -0
  17. package/fesm2022/rolatech-angular-onboarding.mjs +2252 -234
  18. package/fesm2022/rolatech-angular-onboarding.mjs.map +1 -1
  19. package/package.json +1 -1
  20. package/types/rolatech-angular-onboarding.d.ts +219 -12
  21. package/fesm2022/rolatech-angular-onboarding-admin-onboarding-detail-page-DKJQX3cs.mjs +0 -224
  22. package/fesm2022/rolatech-angular-onboarding-admin-onboarding-detail-page-DKJQX3cs.mjs.map +0 -1
  23. package/fesm2022/rolatech-angular-onboarding-admin-onboarding-index-page-BO4pC_NU.mjs +0 -206
  24. package/fesm2022/rolatech-angular-onboarding-admin-onboarding-index-page-BO4pC_NU.mjs.map +0 -1
  25. package/fesm2022/rolatech-angular-onboarding-admin-onboarding-review-page-BERcLBeQ.mjs +0 -419
  26. package/fesm2022/rolatech-angular-onboarding-admin-onboarding-review-page-BERcLBeQ.mjs.map +0 -1
  27. package/fesm2022/rolatech-angular-onboarding-agent-apply-banking-page-VYNfR4fy.mjs +0 -133
  28. package/fesm2022/rolatech-angular-onboarding-agent-apply-banking-page-VYNfR4fy.mjs.map +0 -1
  29. package/fesm2022/rolatech-angular-onboarding-agent-apply-financial-page-Ck3Rowke.mjs +0 -132
  30. package/fesm2022/rolatech-angular-onboarding-agent-apply-financial-page-Ck3Rowke.mjs.map +0 -1
  31. package/fesm2022/rolatech-angular-onboarding-agent-apply-profile-page-DNepDxHu.mjs +0 -122
  32. package/fesm2022/rolatech-angular-onboarding-agent-apply-profile-page-DNepDxHu.mjs.map +0 -1
  33. package/fesm2022/rolatech-angular-onboarding-agent-apply-qualification-page-CSwupuKt.mjs +0 -108
  34. package/fesm2022/rolatech-angular-onboarding-agent-apply-qualification-page-CSwupuKt.mjs.map +0 -1
  35. package/fesm2022/rolatech-angular-onboarding-agent-apply-review-page-DugCjfvK.mjs +0 -182
  36. package/fesm2022/rolatech-angular-onboarding-agent-apply-review-page-DugCjfvK.mjs.map +0 -1
  37. package/fesm2022/rolatech-angular-onboarding-agent-apply-shell-page-DibWYeD1.mjs.map +0 -1
  38. package/fesm2022/rolatech-angular-onboarding-agent-apply-start-page-DC7gyOnS.mjs.map +0 -1
  39. package/fesm2022/rolatech-angular-onboarding-agent-apply-submitted-page-BMkV2V8K.mjs +0 -55
  40. package/fesm2022/rolatech-angular-onboarding-agent-apply-submitted-page-BMkV2V8K.mjs.map +0 -1
  41. package/fesm2022/rolatech-angular-onboarding-agent-onboarding-documents-page-DWBGTj5J.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"rolatech-angular-onboarding-admin-onboarding-review-page-BERcLBeQ.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/admin-onboarding/admin-onboarding-review-page.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, effect, inject, ViewEncapsulation } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { ActivatedRoute, RouterLink } from '@angular/router';\nimport {\n onboardingDocumentTypeLabel,\n onboardingIssueTypeLabel,\n OnboardingDocumentType,\n} from '@rolatech/angular-services';\nimport { OnboardingIssueList } from '../../components/onboarding/onboarding-issue-list';\nimport { OnboardingPageShell } from '../../components/onboarding/onboarding-page-shell';\nimport { OnboardingStatusBadge } from '../../components/onboarding/onboarding-status-badge';\nimport { AdminOnboardingReviewFacade } from '../../store/admin-onboarding-review.facade';\n\n@Component({\n selector: 'rolatech-admin-onboarding-review-page',\n standalone: true,\n imports: [ReactiveFormsModule, RouterLink, OnboardingPageShell, OnboardingStatusBadge, OnboardingIssueList],\n providers: [AdminOnboardingReviewFacade],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'block' },\n template: `\n <rolatech-onboarding-page-shell\n title=\"Onboarding Review Workspace\"\n subtitle=\"Create actionable review notes and make a final decision.\"\n kicker=\"Admin Console\"\n >\n <div header-leading>\n <a\n [routerLink]=\"['../']\"\n class=\"inline-flex items-center rounded-xl border border-(--rt-border-color) bg-(--rt-base-background) px-3 py-2 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background) cursor-pointer\"\n >\n &larr; Back\n </a>\n </div>\n\n <div header-actions>\n <rolatech-onboarding-status-badge [status]=\"facade.detail()?.status || null\" />\n </div>\n\n @if (facade.error()) {\n <div class=\"rounded-2xl border border-rose-200 bg-rose-50 px-4 py-3 text-sm text-rose-700\">{{ facade.error() }}</div>\n }\n\n @if (facade.detail(); as detail) {\n <section class=\"rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm\">\n <h2 class=\"text-lg font-semibold text-(--rt-text-primary)\">{{ detail.organizationName || 'Organization' }}</h2>\n <p class=\"mt-1 text-sm text-(--rt-text-secondary)\">{{ detail.contactName }} • {{ detail.contactEmail }}</p>\n\n <label class=\"mt-6 grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Review comment</span>\n <textarea\n class=\"min-h-28 rounded-xl border border-(--rt-border-color) px-3 py-2\"\n [value]=\"facade.reviewComment()\"\n (input)=\"setComment($event)\"\n placeholder=\"Add a review summary or final decision context...\"\n ></textarea>\n </label>\n\n <form\n [formGroup]=\"issueForm\"\n class=\"mt-6 grid gap-3 rounded-xl border border-(--rt-border-color) bg-(--rt-raised-background) p-4 md:grid-cols-3\"\n >\n <label class=\"grid gap-1\">\n <span class=\"text-xs font-semibold uppercase tracking-wide text-(--rt-text-secondary)\">Field key</span>\n <input\n formControlName=\"fieldKey\"\n class=\"h-10 rounded-lg border border-(--rt-border-color) px-3\"\n placeholder=\"financial.vatNumber\"\n />\n </label>\n\n <label class=\"grid gap-1\">\n <span class=\"text-xs font-semibold uppercase tracking-wide text-(--rt-text-secondary)\">Document type</span>\n <select formControlName=\"documentType\" class=\"h-10 rounded-lg border border-(--rt-border-color) px-3\">\n @for (type of documentTypes; track type) {\n <option [value]=\"type\">{{ documentTypeLabel(type) }}</option>\n }\n </select>\n </label>\n\n <label class=\"grid gap-1 md:col-span-3\">\n <span class=\"text-xs font-semibold uppercase tracking-wide text-(--rt-text-secondary)\">Issue comment</span>\n <input\n formControlName=\"comment\"\n class=\"h-10 rounded-lg border border-(--rt-border-color) px-3\"\n placeholder=\"Describe what needs correction\"\n />\n </label>\n\n <div class=\"md:col-span-3 flex flex-wrap gap-2\">\n <button\n type=\"button\"\n class=\"rounded-lg border border-(--rt-border-color) px-3 py-2 text-sm font-medium text-(--rt-text-secondary) hover:bg-(--rt-base-background)\"\n (click)=\"addFieldIssue()\"\n >\n Add Field Issue\n </button>\n <button\n type=\"button\"\n class=\"rounded-lg border border-(--rt-border-color) px-3 py-2 text-sm font-medium text-(--rt-text-secondary) hover:bg-(--rt-base-background)\"\n (click)=\"addDocumentIssue()\"\n >\n Add Document Issue\n </button>\n </div>\n </form>\n\n @if (facade.issueDrafts().length > 0) {\n <section class=\"mt-6 space-y-3\">\n <h3 class=\"text-sm font-semibold uppercase tracking-wide text-(--rt-text-secondary)\">Draft Issues</h3>\n @for (item of facade.issueDrafts(); track $index) {\n <article class=\"rounded-xl border border-(--rt-border-color) p-3\">\n <p class=\"text-xs font-semibold uppercase tracking-wide text-(--rt-text-secondary)\">{{ issueTypeLabel(item.issueType) }}</p>\n <p class=\"mt-1 text-sm text-(--rt-text-secondary)\">\n {{ item.fieldKey || documentTypeLabel(item.documentType || null) }}\n </p>\n <p class=\"mt-1 text-sm text-(--rt-text-primary)\">{{ item.comment }}</p>\n <button\n type=\"button\"\n class=\"mt-2 text-xs font-semibold uppercase tracking-wide text-rose-700\"\n (click)=\"facade.removeIssue($index)\"\n >\n Remove\n </button>\n </article>\n }\n </section>\n }\n\n <div class=\"mt-8 flex flex-wrap gap-3\">\n <button\n type=\"button\"\n class=\"rounded-xl border border-(--rt-border-color) px-4 py-2 text-sm font-semibold text-(--rt-text-secondary) hover:bg-(--rt-raised-background)\"\n [disabled]=\"facade.saving()\"\n (click)=\"startReview()\"\n >\n Start Review\n </button>\n\n <button\n type=\"button\"\n class=\"rounded-xl border border-amber-300 bg-amber-50 px-4 py-2 text-sm font-semibold text-amber-800 hover:bg-amber-100\"\n [disabled]=\"facade.saving()\"\n (click)=\"needMoreInfo()\"\n >\n Need More Info\n </button>\n\n <button\n type=\"button\"\n class=\"rounded-xl border border-emerald-300 bg-emerald-50 px-4 py-2 text-sm font-semibold text-emerald-800 hover:bg-emerald-100\"\n [disabled]=\"facade.saving()\"\n (click)=\"approve()\"\n >\n Approve\n </button>\n\n <button\n type=\"button\"\n class=\"rounded-xl border border-rose-300 bg-rose-50 px-4 py-2 text-sm font-semibold text-rose-800 hover:bg-rose-100\"\n [disabled]=\"facade.saving()\"\n (click)=\"fail()\"\n >\n Fail\n </button>\n </div>\n </section>\n\n <rolatech-onboarding-issue-list [issues]=\"detail.issues\" />\n } @else {\n <div\n class=\"rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-5 text-sm text-(--rt-text-secondary) shadow-sm\"\n >\n Loading review workspace...\n </div>\n }\n </rolatech-onboarding-page-shell>\n `,\n})\nexport class AdminOnboardingReviewPage {\n readonly facade = inject(AdminOnboardingReviewFacade);\n private readonly fb = inject(FormBuilder);\n private readonly route = inject(ActivatedRoute);\n readonly documentTypeLabel = onboardingDocumentTypeLabel;\n readonly issueTypeLabel = onboardingIssueTypeLabel;\n\n readonly documentTypes: OnboardingDocumentType[] = [\n 'PASSPORT',\n 'CERTIFICATE_OF_INCORPORATION',\n 'INDUSTRY_CERTIFICATE',\n 'PROOF_OF_ADDRESS',\n 'BANK_STATEMENT',\n 'OTHER',\n ];\n\n readonly issueForm = this.fb.nonNullable.group({\n fieldKey: ['', [Validators.required]],\n documentType: ['PASSPORT' as OnboardingDocumentType, [Validators.required]],\n comment: ['', [Validators.required]],\n });\n\n private readonly paramMap = toSignal(this.route.paramMap, {\n initialValue: this.route.snapshot.paramMap,\n });\n\n constructor() {\n effect(() => {\n const applicationId = this.paramMap().get('applicationId');\n\n if (!applicationId) {\n return;\n }\n\n void this.facade.load(applicationId);\n });\n }\n\n setComment(event: Event): void {\n const target = event.target as HTMLTextAreaElement;\n this.facade.setComment(target.value);\n }\n\n addFieldIssue(): void {\n const value = this.issueForm.getRawValue();\n\n if (!value.comment || !value.fieldKey) {\n return;\n }\n\n this.facade.addFieldIssue(value.fieldKey, value.comment);\n }\n\n addDocumentIssue(): void {\n const value = this.issueForm.getRawValue();\n\n if (!value.comment || !value.documentType) {\n return;\n }\n\n this.facade.addDocumentIssue(value.documentType, value.comment);\n }\n\n async startReview(): Promise<void> {\n const applicationId = this.paramMap().get('applicationId');\n\n if (!applicationId) {\n return;\n }\n\n await this.facade.startReview(applicationId);\n }\n\n async needMoreInfo(): Promise<void> {\n const applicationId = this.paramMap().get('applicationId');\n\n if (!applicationId) {\n return;\n }\n\n await this.facade.requestMoreInfo(applicationId);\n }\n\n async approve(): Promise<void> {\n const applicationId = this.paramMap().get('applicationId');\n\n if (!applicationId) {\n return;\n }\n\n await this.facade.approve(applicationId);\n }\n\n async fail(): Promise<void> {\n const applicationId = this.paramMap().get('applicationId');\n\n if (!applicationId) {\n return;\n }\n\n await this.facade.fail(applicationId);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,133 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import * as i1 from '@angular/forms';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import { Router, ActivatedRoute } from '@angular/router';
6
- import { AgentApplyFacade } from './rolatech-angular-onboarding.mjs';
7
-
8
- class AgentApplyBankingPage {
9
- facade = inject(AgentApplyFacade);
10
- router = inject(Router);
11
- route = inject(ActivatedRoute);
12
- async saveAndContinue() {
13
- const saved = await this.facade.saveBanking();
14
- if (!saved) {
15
- return;
16
- }
17
- await this.router.navigate(['../review'], {
18
- relativeTo: this.route,
19
- });
20
- }
21
- async back() {
22
- await this.router.navigate(['../financial'], {
23
- relativeTo: this.route,
24
- });
25
- }
26
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyBankingPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: AgentApplyBankingPage, isStandalone: true, selector: "rolatech-agent-apply-banking-page", host: { classAttribute: "block" }, ngImport: i0, template: `
28
- <form [formGroup]="facade.bankingForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
29
- <h2 class="text-lg font-semibold text-(--rt-text-primary)">Banking Details</h2>
30
-
31
- <div class="mt-4 grid gap-4 md:grid-cols-2">
32
- <label class="grid gap-2">
33
- <span class="text-sm font-medium text-(--rt-text-secondary)">Bank name</span>
34
- <input formControlName="bankName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
35
- </label>
36
-
37
- <label class="grid gap-2">
38
- <span class="text-sm font-medium text-(--rt-text-secondary)">Account holder name</span>
39
- <input formControlName="accountHolderName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
40
- </label>
41
-
42
- <label class="grid gap-2">
43
- <span class="text-sm font-medium text-(--rt-text-secondary)">Sort code</span>
44
- <input formControlName="sortCode" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
45
- </label>
46
-
47
- <label class="grid gap-2">
48
- <span class="text-sm font-medium text-(--rt-text-secondary)">Account number</span>
49
- <input formControlName="accountNumber" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
50
- </label>
51
- </div>
52
-
53
- <div class="mt-6 flex justify-between gap-3">
54
- <button
55
- type="button"
56
- class="rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
57
- (click)="back()"
58
- >
59
- Back
60
- </button>
61
-
62
- <button
63
- type="button"
64
- class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
65
- [disabled]="facade.saving()"
66
- (click)="saveAndContinue()"
67
- >
68
- Save and Continue
69
- </button>
70
- </div>
71
- </form>
72
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyBankingPage, decorators: [{
75
- type: Component,
76
- args: [{
77
- selector: 'rolatech-agent-apply-banking-page',
78
- standalone: true,
79
- imports: [ReactiveFormsModule],
80
- changeDetection: ChangeDetectionStrategy.OnPush,
81
- encapsulation: ViewEncapsulation.None,
82
- host: { class: 'block' },
83
- template: `
84
- <form [formGroup]="facade.bankingForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
85
- <h2 class="text-lg font-semibold text-(--rt-text-primary)">Banking Details</h2>
86
-
87
- <div class="mt-4 grid gap-4 md:grid-cols-2">
88
- <label class="grid gap-2">
89
- <span class="text-sm font-medium text-(--rt-text-secondary)">Bank name</span>
90
- <input formControlName="bankName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
91
- </label>
92
-
93
- <label class="grid gap-2">
94
- <span class="text-sm font-medium text-(--rt-text-secondary)">Account holder name</span>
95
- <input formControlName="accountHolderName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
96
- </label>
97
-
98
- <label class="grid gap-2">
99
- <span class="text-sm font-medium text-(--rt-text-secondary)">Sort code</span>
100
- <input formControlName="sortCode" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
101
- </label>
102
-
103
- <label class="grid gap-2">
104
- <span class="text-sm font-medium text-(--rt-text-secondary)">Account number</span>
105
- <input formControlName="accountNumber" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
106
- </label>
107
- </div>
108
-
109
- <div class="mt-6 flex justify-between gap-3">
110
- <button
111
- type="button"
112
- class="rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
113
- (click)="back()"
114
- >
115
- Back
116
- </button>
117
-
118
- <button
119
- type="button"
120
- class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
121
- [disabled]="facade.saving()"
122
- (click)="saveAndContinue()"
123
- >
124
- Save and Continue
125
- </button>
126
- </div>
127
- </form>
128
- `,
129
- }]
130
- }] });
131
-
132
- export { AgentApplyBankingPage };
133
- //# sourceMappingURL=rolatech-angular-onboarding-agent-apply-banking-page-VYNfR4fy.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rolatech-angular-onboarding-agent-apply-banking-page-VYNfR4fy.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/agent-apply/agent-apply-banking-page.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AgentApplyFacade } from '../../store/agent-apply.facade';\n\n@Component({\n selector: 'rolatech-agent-apply-banking-page',\n standalone: true,\n imports: [ReactiveFormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'block' },\n template: `\n <form [formGroup]=\"facade.bankingForm\" class=\"rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm\">\n <h2 class=\"text-lg font-semibold text-(--rt-text-primary)\">Banking Details</h2>\n\n <div class=\"mt-4 grid gap-4 md:grid-cols-2\">\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Bank name</span>\n <input formControlName=\"bankName\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Account holder name</span>\n <input formControlName=\"accountHolderName\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Sort code</span>\n <input formControlName=\"sortCode\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Account number</span>\n <input formControlName=\"accountNumber\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n </div>\n\n <div class=\"mt-6 flex justify-between gap-3\">\n <button\n type=\"button\"\n class=\"rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)\"\n (click)=\"back()\"\n >\n Back\n </button>\n\n <button\n type=\"button\"\n class=\"rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60\"\n [disabled]=\"facade.saving()\"\n (click)=\"saveAndContinue()\"\n >\n Save and Continue\n </button>\n </div>\n </form>\n `,\n})\nexport class AgentApplyBankingPage {\n readonly facade = inject(AgentApplyFacade);\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n\n async saveAndContinue(): Promise<void> {\n const saved = await this.facade.saveBanking();\n\n if (!saved) {\n return;\n }\n\n await this.router.navigate(['../review'], {\n relativeTo: this.route,\n });\n }\n\n async back(): Promise<void> {\n await this.router.navigate(['../financial'], {\n relativeTo: this.route,\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,132 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import * as i1 from '@angular/forms';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import { Router, ActivatedRoute } from '@angular/router';
6
- import { AgentApplyFacade } from './rolatech-angular-onboarding.mjs';
7
-
8
- class AgentApplyFinancialPage {
9
- facade = inject(AgentApplyFacade);
10
- router = inject(Router);
11
- route = inject(ActivatedRoute);
12
- requiresVatNumber() {
13
- return this.facade.financialForm.controls.vatMode.value === 'VAT_REGISTERED';
14
- }
15
- async saveAndContinue() {
16
- const saved = await this.facade.saveFinancial();
17
- if (!saved) {
18
- return;
19
- }
20
- await this.router.navigate(['../banking'], {
21
- relativeTo: this.route,
22
- });
23
- }
24
- async back() {
25
- await this.router.navigate(['../qualification'], {
26
- relativeTo: this.route,
27
- });
28
- }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyFinancialPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AgentApplyFinancialPage, isStandalone: true, selector: "rolatech-agent-apply-financial-page", host: { classAttribute: "block" }, ngImport: i0, template: `
31
- <form [formGroup]="facade.financialForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
32
- <h2 class="text-lg font-semibold text-(--rt-text-primary)">Financial Details</h2>
33
-
34
- <div class="mt-4 grid gap-4 md:grid-cols-2">
35
- <label class="grid gap-2">
36
- <span class="text-sm font-medium text-(--rt-text-secondary)">VAT mode</span>
37
- <select formControlName="vatMode" class="h-11 rounded-xl border border-(--rt-border-color) px-3">
38
- <option value="NON_VAT_REGISTERED">Non-VAT registered</option>
39
- <option value="VAT_REGISTERED">VAT registered</option>
40
- <option value="MANUAL_REVIEW_REQUIRED">Manual review required</option>
41
- </select>
42
- </label>
43
-
44
- <label class="grid gap-2">
45
- <span class="text-sm font-medium text-(--rt-text-secondary)">VAT number</span>
46
- <input formControlName="vatNumber" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
47
- </label>
48
- </div>
49
-
50
- @if (requiresVatNumber()) {
51
- <p class="mt-3 text-xs text-(--rt-text-secondary)">VAT number is required when VAT mode is set to VAT registered.</p>
52
- }
53
-
54
- <div class="mt-6 flex justify-between gap-3">
55
- <button
56
- type="button"
57
- class="rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
58
- (click)="back()"
59
- >
60
- Back
61
- </button>
62
-
63
- <button
64
- type="button"
65
- class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
66
- [disabled]="facade.saving()"
67
- (click)="saveAndContinue()"
68
- >
69
- Save and Continue
70
- </button>
71
- </div>
72
- </form>
73
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyFinancialPage, decorators: [{
76
- type: Component,
77
- args: [{
78
- selector: 'rolatech-agent-apply-financial-page',
79
- standalone: true,
80
- imports: [ReactiveFormsModule],
81
- changeDetection: ChangeDetectionStrategy.OnPush,
82
- encapsulation: ViewEncapsulation.None,
83
- host: { class: 'block' },
84
- template: `
85
- <form [formGroup]="facade.financialForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
86
- <h2 class="text-lg font-semibold text-(--rt-text-primary)">Financial Details</h2>
87
-
88
- <div class="mt-4 grid gap-4 md:grid-cols-2">
89
- <label class="grid gap-2">
90
- <span class="text-sm font-medium text-(--rt-text-secondary)">VAT mode</span>
91
- <select formControlName="vatMode" class="h-11 rounded-xl border border-(--rt-border-color) px-3">
92
- <option value="NON_VAT_REGISTERED">Non-VAT registered</option>
93
- <option value="VAT_REGISTERED">VAT registered</option>
94
- <option value="MANUAL_REVIEW_REQUIRED">Manual review required</option>
95
- </select>
96
- </label>
97
-
98
- <label class="grid gap-2">
99
- <span class="text-sm font-medium text-(--rt-text-secondary)">VAT number</span>
100
- <input formControlName="vatNumber" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
101
- </label>
102
- </div>
103
-
104
- @if (requiresVatNumber()) {
105
- <p class="mt-3 text-xs text-(--rt-text-secondary)">VAT number is required when VAT mode is set to VAT registered.</p>
106
- }
107
-
108
- <div class="mt-6 flex justify-between gap-3">
109
- <button
110
- type="button"
111
- class="rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
112
- (click)="back()"
113
- >
114
- Back
115
- </button>
116
-
117
- <button
118
- type="button"
119
- class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
120
- [disabled]="facade.saving()"
121
- (click)="saveAndContinue()"
122
- >
123
- Save and Continue
124
- </button>
125
- </div>
126
- </form>
127
- `,
128
- }]
129
- }] });
130
-
131
- export { AgentApplyFinancialPage };
132
- //# sourceMappingURL=rolatech-angular-onboarding-agent-apply-financial-page-Ck3Rowke.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rolatech-angular-onboarding-agent-apply-financial-page-Ck3Rowke.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/agent-apply/agent-apply-financial-page.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AgentApplyFacade } from '../../store/agent-apply.facade';\n\n@Component({\n selector: 'rolatech-agent-apply-financial-page',\n standalone: true,\n imports: [ReactiveFormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'block' },\n template: `\n <form [formGroup]=\"facade.financialForm\" class=\"rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm\">\n <h2 class=\"text-lg font-semibold text-(--rt-text-primary)\">Financial Details</h2>\n\n <div class=\"mt-4 grid gap-4 md:grid-cols-2\">\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">VAT mode</span>\n <select formControlName=\"vatMode\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\">\n <option value=\"NON_VAT_REGISTERED\">Non-VAT registered</option>\n <option value=\"VAT_REGISTERED\">VAT registered</option>\n <option value=\"MANUAL_REVIEW_REQUIRED\">Manual review required</option>\n </select>\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">VAT number</span>\n <input formControlName=\"vatNumber\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n </div>\n\n @if (requiresVatNumber()) {\n <p class=\"mt-3 text-xs text-(--rt-text-secondary)\">VAT number is required when VAT mode is set to VAT registered.</p>\n }\n\n <div class=\"mt-6 flex justify-between gap-3\">\n <button\n type=\"button\"\n class=\"rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)\"\n (click)=\"back()\"\n >\n Back\n </button>\n\n <button\n type=\"button\"\n class=\"rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60\"\n [disabled]=\"facade.saving()\"\n (click)=\"saveAndContinue()\"\n >\n Save and Continue\n </button>\n </div>\n </form>\n `,\n})\nexport class AgentApplyFinancialPage {\n readonly facade = inject(AgentApplyFacade);\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n\n requiresVatNumber(): boolean {\n return this.facade.financialForm.controls.vatMode.value === 'VAT_REGISTERED';\n }\n\n async saveAndContinue(): Promise<void> {\n const saved = await this.facade.saveFinancial();\n\n if (!saved) {\n return;\n }\n\n await this.router.navigate(['../banking'], {\n relativeTo: this.route,\n });\n }\n\n async back(): Promise<void> {\n await this.router.navigate(['../qualification'], {\n relativeTo: this.route,\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,122 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import * as i1 from '@angular/forms';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import { Router, ActivatedRoute } from '@angular/router';
6
- import { AgentApplyFacade } from './rolatech-angular-onboarding.mjs';
7
-
8
- class AgentApplyProfilePage {
9
- facade = inject(AgentApplyFacade);
10
- router = inject(Router);
11
- route = inject(ActivatedRoute);
12
- async saveAndContinue() {
13
- const saved = await this.facade.saveProfile();
14
- if (!saved) {
15
- return;
16
- }
17
- await this.router.navigate(['../qualification'], {
18
- relativeTo: this.route,
19
- });
20
- }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyProfilePage, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: AgentApplyProfilePage, isStandalone: true, selector: "rolatech-agent-apply-profile-page", host: { classAttribute: "block" }, ngImport: i0, template: `
23
- <form [formGroup]="facade.profileForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
24
- <h2 class="text-lg font-semibold text-(--rt-text-primary)">Organization Profile</h2>
25
-
26
- <div class="mt-4 grid gap-4 md:grid-cols-2">
27
- <label class="grid gap-2 md:col-span-2">
28
- <span class="text-sm font-medium text-(--rt-text-secondary)">Organization name</span>
29
- <input formControlName="organizationName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
30
- </label>
31
-
32
- <label class="grid gap-2">
33
- <span class="text-sm font-medium text-(--rt-text-secondary)">Contact name</span>
34
- <input formControlName="contactName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
35
- </label>
36
-
37
- <label class="grid gap-2">
38
- <span class="text-sm font-medium text-(--rt-text-secondary)">Contact phone</span>
39
- <input formControlName="contactPhone" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
40
- </label>
41
-
42
- <label class="grid gap-2">
43
- <span class="text-sm font-medium text-(--rt-text-secondary)">Contact email</span>
44
- <input formControlName="contactEmail" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
45
- </label>
46
-
47
- <label class="grid gap-2">
48
- <span class="text-sm font-medium text-(--rt-text-secondary)">Country code</span>
49
- <input formControlName="countryCode" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
50
- </label>
51
- </div>
52
-
53
- <div class="mt-6 flex justify-end">
54
- <button
55
- type="button"
56
- class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
57
- [disabled]="facade.saving()"
58
- (click)="saveAndContinue()"
59
- >
60
- Save and Continue
61
- </button>
62
- </div>
63
- </form>
64
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
65
- }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyProfilePage, decorators: [{
67
- type: Component,
68
- args: [{
69
- selector: 'rolatech-agent-apply-profile-page',
70
- standalone: true,
71
- imports: [ReactiveFormsModule],
72
- changeDetection: ChangeDetectionStrategy.OnPush,
73
- encapsulation: ViewEncapsulation.None,
74
- host: { class: 'block' },
75
- template: `
76
- <form [formGroup]="facade.profileForm" class="rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
77
- <h2 class="text-lg font-semibold text-(--rt-text-primary)">Organization Profile</h2>
78
-
79
- <div class="mt-4 grid gap-4 md:grid-cols-2">
80
- <label class="grid gap-2 md:col-span-2">
81
- <span class="text-sm font-medium text-(--rt-text-secondary)">Organization name</span>
82
- <input formControlName="organizationName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
83
- </label>
84
-
85
- <label class="grid gap-2">
86
- <span class="text-sm font-medium text-(--rt-text-secondary)">Contact name</span>
87
- <input formControlName="contactName" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
88
- </label>
89
-
90
- <label class="grid gap-2">
91
- <span class="text-sm font-medium text-(--rt-text-secondary)">Contact phone</span>
92
- <input formControlName="contactPhone" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
93
- </label>
94
-
95
- <label class="grid gap-2">
96
- <span class="text-sm font-medium text-(--rt-text-secondary)">Contact email</span>
97
- <input formControlName="contactEmail" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
98
- </label>
99
-
100
- <label class="grid gap-2">
101
- <span class="text-sm font-medium text-(--rt-text-secondary)">Country code</span>
102
- <input formControlName="countryCode" class="h-11 rounded-xl border border-(--rt-border-color) px-3" />
103
- </label>
104
- </div>
105
-
106
- <div class="mt-6 flex justify-end">
107
- <button
108
- type="button"
109
- class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60"
110
- [disabled]="facade.saving()"
111
- (click)="saveAndContinue()"
112
- >
113
- Save and Continue
114
- </button>
115
- </div>
116
- </form>
117
- `,
118
- }]
119
- }] });
120
-
121
- export { AgentApplyProfilePage };
122
- //# sourceMappingURL=rolatech-angular-onboarding-agent-apply-profile-page-DNepDxHu.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rolatech-angular-onboarding-agent-apply-profile-page-DNepDxHu.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/agent-apply/agent-apply-profile-page.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AgentApplyFacade } from '../../store/agent-apply.facade';\n\n@Component({\n selector: 'rolatech-agent-apply-profile-page',\n standalone: true,\n imports: [ReactiveFormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'block' },\n template: `\n <form [formGroup]=\"facade.profileForm\" class=\"rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm\">\n <h2 class=\"text-lg font-semibold text-(--rt-text-primary)\">Organization Profile</h2>\n\n <div class=\"mt-4 grid gap-4 md:grid-cols-2\">\n <label class=\"grid gap-2 md:col-span-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Organization name</span>\n <input formControlName=\"organizationName\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Contact name</span>\n <input formControlName=\"contactName\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Contact phone</span>\n <input formControlName=\"contactPhone\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Contact email</span>\n <input formControlName=\"contactEmail\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n\n <label class=\"grid gap-2\">\n <span class=\"text-sm font-medium text-(--rt-text-secondary)\">Country code</span>\n <input formControlName=\"countryCode\" class=\"h-11 rounded-xl border border-(--rt-border-color) px-3\" />\n </label>\n </div>\n\n <div class=\"mt-6 flex justify-end\">\n <button\n type=\"button\"\n class=\"rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60\"\n [disabled]=\"facade.saving()\"\n (click)=\"saveAndContinue()\"\n >\n Save and Continue\n </button>\n </div>\n </form>\n `,\n})\nexport class AgentApplyProfilePage {\n readonly facade = inject(AgentApplyFacade);\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n\n async saveAndContinue(): Promise<void> {\n const saved = await this.facade.saveProfile();\n\n if (!saved) {\n return;\n }\n\n await this.router.navigate(['../qualification'], {\n relativeTo: this.route,\n });\n }\n}\n"],"names":[],"mappings":";;;;;;;MAwDa,qBAAqB,CAAA;AACvB,IAAA,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAE/C,IAAA,MAAM,eAAe,GAAA;QACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QAE7C,IAAI,CAAC,KAAK,EAAE;YACV;QACF;QAEA,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE;YAC/C,UAAU,EAAE,IAAI,CAAC,KAAK;AACvB,SAAA,CAAC;IACJ;uGAfW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA5CtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA9CS,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,sGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAgDlB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAnDjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mCAAmC;AAC7C,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;AACxB,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CT,EAAA,CAAA;AACF,iBAAA;;;;;"}
@@ -1,108 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { Router, ActivatedRoute } from '@angular/router';
4
- import { AgentApplyFacade, OnboardingDocumentUploader } from './rolatech-angular-onboarding.mjs';
5
-
6
- class AgentApplyQualificationPage {
7
- facade = inject(AgentApplyFacade);
8
- router = inject(Router);
9
- route = inject(ActivatedRoute);
10
- async onUpload(documentType, file, replacedDocumentId) {
11
- await this.facade.uploadDocument(documentType, file, replacedDocumentId);
12
- }
13
- async back() {
14
- await this.router.navigate(['../profile'], {
15
- relativeTo: this.route,
16
- });
17
- }
18
- async next() {
19
- await this.router.navigate(['../financial'], {
20
- relativeTo: this.route,
21
- });
22
- }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyQualificationPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AgentApplyQualificationPage, isStandalone: true, selector: "rolatech-agent-apply-qualification-page", host: { classAttribute: "block" }, ngImport: i0, template: `
25
- <section class="space-y-4 rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
26
- <h2 class="text-lg font-semibold text-(--rt-text-primary)">Qualification Documents</h2>
27
- <p class="text-sm text-(--rt-text-secondary)">Upload all required documents before moving to the next step.</p>
28
-
29
- @for (documentSpec of facade.requiredDocuments(); track documentSpec.type) {
30
- <rolatech-onboarding-document-uploader
31
- [label]="documentSpec.label"
32
- [documentType]="documentSpec.type"
33
- [document]="facade.getDocument(documentSpec.type)"
34
- [comment]="facade.getIssueComment(documentSpec.type)"
35
- [busy]="facade.saving()"
36
- (fileSelected)="onUpload($event.documentType, $event.file, $event.replacedDocumentId)"
37
- />
38
- }
39
-
40
- <div class="flex justify-between gap-3 pt-2">
41
- <button
42
- type="button"
43
- class="rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
44
- (click)="back()"
45
- >
46
- Back
47
- </button>
48
-
49
- <button
50
- type="button"
51
- class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90"
52
- (click)="next()"
53
- >
54
- Continue
55
- </button>
56
- </div>
57
- </section>
58
- `, isInline: true, dependencies: [{ kind: "component", type: OnboardingDocumentUploader, selector: "rolatech-onboarding-document-uploader", inputs: ["label", "helperText", "documentType", "document", "comment", "busy", "acceptedTypes"], outputs: ["fileSelected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AgentApplyQualificationPage, decorators: [{
61
- type: Component,
62
- args: [{
63
- selector: 'rolatech-agent-apply-qualification-page',
64
- standalone: true,
65
- imports: [OnboardingDocumentUploader],
66
- changeDetection: ChangeDetectionStrategy.OnPush,
67
- encapsulation: ViewEncapsulation.None,
68
- host: { class: 'block' },
69
- template: `
70
- <section class="space-y-4 rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm">
71
- <h2 class="text-lg font-semibold text-(--rt-text-primary)">Qualification Documents</h2>
72
- <p class="text-sm text-(--rt-text-secondary)">Upload all required documents before moving to the next step.</p>
73
-
74
- @for (documentSpec of facade.requiredDocuments(); track documentSpec.type) {
75
- <rolatech-onboarding-document-uploader
76
- [label]="documentSpec.label"
77
- [documentType]="documentSpec.type"
78
- [document]="facade.getDocument(documentSpec.type)"
79
- [comment]="facade.getIssueComment(documentSpec.type)"
80
- [busy]="facade.saving()"
81
- (fileSelected)="onUpload($event.documentType, $event.file, $event.replacedDocumentId)"
82
- />
83
- }
84
-
85
- <div class="flex justify-between gap-3 pt-2">
86
- <button
87
- type="button"
88
- class="rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)"
89
- (click)="back()"
90
- >
91
- Back
92
- </button>
93
-
94
- <button
95
- type="button"
96
- class="rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90"
97
- (click)="next()"
98
- >
99
- Continue
100
- </button>
101
- </div>
102
- </section>
103
- `,
104
- }]
105
- }] });
106
-
107
- export { AgentApplyQualificationPage };
108
- //# sourceMappingURL=rolatech-angular-onboarding-agent-apply-qualification-page-CSwupuKt.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rolatech-angular-onboarding-agent-apply-qualification-page-CSwupuKt.mjs","sources":["../../../../packages/angular-onboarding/src/lib/pages/agent-apply/agent-apply-qualification-page.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { OnboardingDocumentType } from '@rolatech/angular-services';\nimport { OnboardingDocumentUploader } from '../../components/onboarding/onboarding-document-uploader';\nimport { AgentApplyFacade } from '../../store/agent-apply.facade';\n\n@Component({\n selector: 'rolatech-agent-apply-qualification-page',\n standalone: true,\n imports: [OnboardingDocumentUploader],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'block' },\n template: `\n <section class=\"space-y-4 rounded-2xl border border-(--rt-border-color) bg-(--rt-base-background) p-6 shadow-sm\">\n <h2 class=\"text-lg font-semibold text-(--rt-text-primary)\">Qualification Documents</h2>\n <p class=\"text-sm text-(--rt-text-secondary)\">Upload all required documents before moving to the next step.</p>\n\n @for (documentSpec of facade.requiredDocuments(); track documentSpec.type) {\n <rolatech-onboarding-document-uploader\n [label]=\"documentSpec.label\"\n [documentType]=\"documentSpec.type\"\n [document]=\"facade.getDocument(documentSpec.type)\"\n [comment]=\"facade.getIssueComment(documentSpec.type)\"\n [busy]=\"facade.saving()\"\n (fileSelected)=\"onUpload($event.documentType, $event.file, $event.replacedDocumentId)\"\n />\n }\n\n <div class=\"flex justify-between gap-3 pt-2\">\n <button\n type=\"button\"\n class=\"rounded-xl border border-(--rt-border-color) px-4 py-2.5 text-sm font-medium text-(--rt-text-secondary) transition hover:bg-(--rt-raised-background)\"\n (click)=\"back()\"\n >\n Back\n </button>\n\n <button\n type=\"button\"\n class=\"rounded-xl bg-(--rt-brand-color) px-5 py-2.5 text-sm font-semibold text-(--rt-text-primary-inverse) transition hover:opacity-90\"\n (click)=\"next()\"\n >\n Continue\n </button>\n </div>\n </section>\n `,\n})\nexport class AgentApplyQualificationPage {\n readonly facade = inject(AgentApplyFacade);\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n\n async onUpload(documentType: OnboardingDocumentType, file: File, replacedDocumentId?: string): Promise<void> {\n await this.facade.uploadDocument(documentType, file, replacedDocumentId);\n }\n\n async back(): Promise<void> {\n await this.router.navigate(['../profile'], {\n relativeTo: this.route,\n });\n }\n\n async next(): Promise<void> {\n await this.router.navigate(['../financial'], {\n relativeTo: this.route,\n });\n }\n}\n"],"names":[],"mappings":";;;;;MAiDa,2BAA2B,CAAA;AAC7B,IAAA,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAE/C,IAAA,MAAM,QAAQ,CAAC,YAAoC,EAAE,IAAU,EAAE,kBAA2B,EAAA;AAC1F,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,kBAAkB,CAAC;IAC1E;AAEA,IAAA,MAAM,IAAI,GAAA;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE;YACzC,UAAU,EAAE,IAAI,CAAC,KAAK;AACvB,SAAA,CAAC;IACJ;AAEA,IAAA,MAAM,IAAI,GAAA;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE;YAC3C,UAAU,EAAE,IAAI,CAAC,KAAK;AACvB,SAAA,CAAC;IACJ;uGAnBW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAtCS,0BAA0B,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAwCzB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBA3CvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yCAAyC;AACnD,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,0BAA0B,CAAC;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;AACxB,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCT,EAAA,CAAA;AACF,iBAAA;;;;;"}