@voplus/morpho-csp 11.2.9 → 11.3.0-dev.0
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.
- package/es/components/LegalContactSelect/index.d.ts +7 -0
- package/es/components/LegalContactSelect/index.js +127 -12
- package/es/components/LegalContactSelect/index.js.map +1 -1
- package/es/data/clda-form/conversion.d.ts +9 -6
- package/es/data/clda-form/conversion.js +11 -18
- package/es/data/clda-form/conversion.js.map +1 -1
- package/es/data/clda-form/identityAdapter.d.ts +60 -0
- package/es/data/clda-form/identityAdapter.js +196 -0
- package/es/data/clda-form/identityAdapter.js.map +1 -0
- package/es/data/clda-form/interfaces.d.ts +20 -1
- package/es/data/clda-form/saveFormDraft.d.ts +4 -0
- package/es/data/clda-form/saveFormDraft.js +21 -0
- package/es/data/clda-form/saveFormDraft.js.map +1 -0
- package/es/data/clda-form/types.d.ts +31 -2
- package/es/modules/corporate/background-investigation/risk-profile/components/IdentityProperties/IdentityShapeFields.d.ts +35 -0
- package/es/modules/corporate/background-investigation/risk-profile/components/IdentityProperties/IdentityShapeFields.js +53 -0
- package/es/modules/corporate/background-investigation/risk-profile/components/IdentityProperties/IdentityShapeFields.js.map +1 -0
- package/es/modules/corporate/background-investigation/risk-profile/components/IdentityProperties/index.js +41 -15
- package/es/modules/corporate/background-investigation/risk-profile/components/IdentityProperties/index.js.map +1 -1
- package/es/modules/corporate/background-investigation/risk-profile/components/IdentityProperties/state.d.ts +59 -1
- package/es/modules/corporate/background-investigation/risk-profile/components/IdentityProperties/state.js +244 -15
- package/es/modules/corporate/background-investigation/risk-profile/components/IdentityProperties/state.js.map +1 -1
- package/es/modules/corporate/company/components/CorporateOfficerSelect/index.d.ts +5 -0
- package/es/modules/corporate/company/components/CorporateOfficerSelect/index.js +13 -7
- package/es/modules/corporate/company/components/CorporateOfficerSelect/index.js.map +1 -1
- package/es/modules/corporate/company/identity/components/NewLegalContactDialog/Step3.d.ts +2 -2
- package/es/modules/corporate/company/identity/components/NewLegalContactDialog/Step3.js +20 -24
- package/es/modules/corporate/company/identity/components/NewLegalContactDialog/Step3.js.map +1 -1
- package/es/modules/corporate/company/identity/components/NewLegalContactDialog/Step4.d.ts +2 -2
- package/es/modules/corporate/company/identity/components/NewLegalContactDialog/Step4.js +38 -11
- package/es/modules/corporate/company/identity/components/NewLegalContactDialog/Step4.js.map +1 -1
- package/es/modules/corporate/company/identity/components/NewLegalContactDialog/index.d.ts +3 -3
- package/es/modules/corporate/company/identity/components/NewLegalContactDialog/index.js.map +1 -1
- package/es/modules/corporate/company/identity/components/NewLegalContactDialog/state.d.ts +25 -4
- package/es/modules/corporate/company/identity/components/NewLegalContactDialog/state.js +88 -5
- package/es/modules/corporate/company/identity/components/NewLegalContactDialog/state.js.map +1 -1
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/DialogShell.d.ts +13 -0
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/DialogShell.js +20 -0
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/DialogShell.js.map +1 -0
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page1.js +28 -28
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page1.js.map +1 -1
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page2.js +3 -4
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page2.js.map +1 -1
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page3.js +16 -9
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page3.js.map +1 -1
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page4.d.ts +2 -2
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page4.js +128 -61
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page4.js.map +1 -1
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page5.d.ts +2 -2
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page5.js +119 -24
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/Page5.js.map +1 -1
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/index.d.ts +0 -1
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/index.js +16 -8
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/index.js.map +1 -1
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/state.d.ts +274 -23
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/state.js +560 -210
- package/es/modules/corporate/company/identity/components/SelectLegalContactDialog/state.js.map +1 -1
- package/es/modules/corporate/components/CorporateSelect/index.d.ts +12 -1
- package/es/modules/corporate/components/CorporateSelect/index.js +19 -5
- package/es/modules/corporate/components/CorporateSelect/index.js.map +1 -1
- package/es/modules/corporate/legal-generation/components/AppointOfficer/index.d.ts +6 -1
- package/es/modules/corporate/legal-generation/components/AppointOfficer/index.js +3 -2
- package/es/modules/corporate/legal-generation/components/AppointOfficer/index.js.map +1 -1
- package/es/modules/corporate/legal-generation/components/CorporateRepresentative/index.d.ts +6 -1
- package/es/modules/corporate/legal-generation/components/CorporateRepresentative/index.js +3 -2
- package/es/modules/corporate/legal-generation/components/CorporateRepresentative/index.js.map +1 -1
- package/es/modules/corporate/legal-generation/components/IssueShares/Fields.js +3 -3
- package/es/modules/corporate/legal-generation/components/IssueShares/Fields.js.map +1 -1
- package/es/modules/corporate/legal-generation/components/IssueShares/interface.d.ts +1 -1
- package/es/modules/corporate/legal-generation/components/PowerOfAttroney/Fields.d.ts +16 -1
- package/es/modules/corporate/legal-generation/components/PowerOfAttroney/Fields.js +27 -9
- package/es/modules/corporate/legal-generation/components/PowerOfAttroney/Fields.js.map +1 -1
- package/es/modules/corporate/legal-generation/components/PowerOfAttroney/interface.d.ts +5 -2
- package/es/modules/corporate/legal-generation/components/ResignationLetter/Fields.js +1 -1
- package/es/modules/corporate/legal-generation/components/ResignationLetter/Fields.js.map +1 -1
- package/es/modules/corporate/legal-generation/components/ShareTransfer/Fields.d.ts +13 -1
- package/es/modules/corporate/legal-generation/components/ShareTransfer/Fields.js +24 -6
- package/es/modules/corporate/legal-generation/components/ShareTransfer/Fields.js.map +1 -1
- package/es/modules/corporate/legal-generation/components/ShareTransfer/interface.d.ts +5 -2
- package/es/modules/corporate/legal-generation/components/SubmitButton/index.d.ts +11 -3
- package/es/modules/corporate/legal-generation/components/SubmitButton/index.js +9 -3
- package/es/modules/corporate/legal-generation/components/SubmitButton/index.js.map +1 -1
- package/es/modules/corporate/legal-generation/fields/AppointOfficerFields.d.ts +31 -2
- package/es/modules/corporate/legal-generation/fields/AppointOfficerFields.js +52 -37
- package/es/modules/corporate/legal-generation/fields/AppointOfficerFields.js.map +1 -1
- package/es/modules/corporate/legal-generation/fields/CorporateRepresentativeFields.d.ts +27 -2
- package/es/modules/corporate/legal-generation/fields/CorporateRepresentativeFields.js +78 -21
- package/es/modules/corporate/legal-generation/fields/CorporateRepresentativeFields.js.map +1 -1
- package/es/modules/corporate/legal-generation/fields/ParentCompanyDetailsFields.d.ts +17 -0
- package/es/modules/corporate/legal-generation/fields/ParentCompanyDetailsFields.js +36 -0
- package/es/modules/corporate/legal-generation/fields/ParentCompanyDetailsFields.js.map +1 -0
- package/es/modules/corporate/legal-generation/fields/renderCapturedIdentityColumn.d.ts +11 -0
- package/es/modules/corporate/legal-generation/fields/renderCapturedIdentityColumn.js +25 -0
- package/es/modules/corporate/legal-generation/fields/renderCapturedIdentityColumn.js.map +1 -0
- package/es/modules/corporate/legal-generation/fields/state/index.d.ts +7 -0
- package/es/modules/corporate/legal-generation/fields/state/index.js +5 -0
- package/es/modules/corporate/legal-generation/fields/state/index.js.map +1 -0
- package/es/modules/corporate/legal-generation/fields/state/types.d.ts +37 -0
- package/es/modules/corporate/legal-generation/fields/state/types.js +27 -0
- package/es/modules/corporate/legal-generation/fields/state/types.js.map +1 -0
- package/es/modules/corporate/legal-generation/fields/state/useCapturedIdentityField.d.ts +28 -0
- package/es/modules/corporate/legal-generation/fields/state/useCapturedIdentityField.js +45 -0
- package/es/modules/corporate/legal-generation/fields/state/useCapturedIdentityField.js.map +1 -0
- package/es/modules/corporate/legal-generation/fields/state/useIdentityShapeCapture.d.ts +31 -0
- package/es/modules/corporate/legal-generation/fields/state/useIdentityShapeCapture.js +47 -0
- package/es/modules/corporate/legal-generation/fields/state/useIdentityShapeCapture.js.map +1 -0
- package/es/modules/corporate/legal-generation/fields/state/useLegalGenerationIdentityCapture.d.ts +35 -0
- package/es/modules/corporate/legal-generation/fields/state/useLegalGenerationIdentityCapture.js +36 -0
- package/es/modules/corporate/legal-generation/fields/state/useLegalGenerationIdentityCapture.js.map +1 -0
- package/es/modules/corporate/legal-generation/fields/state/useOperateField.d.ts +15 -0
- package/es/modules/corporate/legal-generation/fields/state/useOperateField.js +27 -0
- package/es/modules/corporate/legal-generation/fields/state/useOperateField.js.map +1 -0
- package/es/modules/corporate/legal-generation/form/AppointOfficerForm.d.ts +18 -9
- package/es/modules/corporate/legal-generation/form/AppointOfficerForm.js +130 -28
- package/es/modules/corporate/legal-generation/form/AppointOfficerForm.js.map +1 -1
- package/es/modules/corporate/legal-generation/form/CorporateRepresentativeForm.d.ts +27 -17
- package/es/modules/corporate/legal-generation/form/CorporateRepresentativeForm.js +112 -24
- package/es/modules/corporate/legal-generation/form/CorporateRepresentativeForm.js.map +1 -1
- package/es/modules/corporate/legal-generation/form/legalGenerationSubmit.d.ts +637 -0
- package/es/modules/corporate/legal-generation/form/legalGenerationSubmit.js +840 -0
- package/es/modules/corporate/legal-generation/form/legalGenerationSubmit.js.map +1 -0
- package/es/modules/corporate/legal-generation/form/useLegalGenerationDocument.d.ts +23 -0
- package/es/modules/corporate/legal-generation/form/useLegalGenerationDocument.js +55 -0
- package/es/modules/corporate/legal-generation/form/useLegalGenerationDocument.js.map +1 -0
- package/es/modules/corporate/legal-generation/pages/CorporateLegalGeneration/index.js +38 -8
- package/es/modules/corporate/legal-generation/pages/CorporateLegalGeneration/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/components/CLDAContactList/index.js +50 -33
- package/es/modules/self-registration/clda-form/components/CLDAContactList/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/components/ContactFields/index.d.ts +5 -2
- package/es/modules/self-registration/clda-form/components/ContactFields/index.js +6 -3
- package/es/modules/self-registration/clda-form/components/ContactFields/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/components/DataProtectionOfficer/NewDPODialog/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/components/DataProtectionOfficer/NewDPODialog/index.js +7 -18
- package/es/modules/self-registration/clda-form/components/DataProtectionOfficer/NewDPODialog/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/components/NewDirectorDialog/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/components/NewDirectorDialog/index.js +7 -18
- package/es/modules/self-registration/clda-form/components/NewDirectorDialog/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/components/NewSecretaryDialog/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/components/NewSecretaryDialog/index.js +7 -18
- package/es/modules/self-registration/clda-form/components/NewSecretaryDialog/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/components/NewShareholderDialog/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/components/NewShareholderDialog/index.js +7 -18
- package/es/modules/self-registration/clda-form/components/NewShareholderDialog/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/components/useContactEditSession.d.ts +35 -0
- package/es/modules/self-registration/clda-form/components/useContactEditSession.js +51 -0
- package/es/modules/self-registration/clda-form/components/useContactEditSession.js.map +1 -0
- package/es/modules/self-registration/clda-form/incorporation/appoint-representative/components/NewOfficerDetailItem/index.d.ts +2 -3
- package/es/modules/self-registration/clda-form/incorporation/appoint-representative/components/NewOfficerDetailItem/index.js +60 -12
- package/es/modules/self-registration/clda-form/incorporation/appoint-representative/components/NewOfficerDetailItem/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/appoint-representative/components/NewOfficerDetailList/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/appoint-representative/components/NewOfficerDetailList/index.js +3 -5
- package/es/modules/self-registration/clda-form/incorporation/appoint-representative/components/NewOfficerDetailList/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/appoint-representative/index.js +7 -21
- package/es/modules/self-registration/clda-form/incorporation/appoint-representative/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/CompanyGeneralForm.js +6 -5
- package/es/modules/self-registration/clda-form/incorporation/company-general/CompanyGeneralForm.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddAllotmentDialog/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddAllotmentDialog/index.js +23 -28
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddAllotmentDialog/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddBankOpeningDialog/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddBankOpeningDialog/index.js +11 -24
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddBankOpeningDialog/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddDivideDialog/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddDivideDialog/index.js +13 -8
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddDivideDialog/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddOfficerDialog/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddOfficerDialog/index.js +11 -24
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddOfficerDialog/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddRedonminationDialog/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddRedonminationDialog/index.js +18 -9
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddRedonminationDialog/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddRemoveOfficerDialog/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddRemoveOfficerDialog/index.js +11 -24
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddRemoveOfficerDialog/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddTransferDialog/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddTransferDialog/index.js +23 -28
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AddTransferDialog/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AllotmentItem/index.d.ts +2 -3
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AllotmentItem/index.js +81 -14
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AllotmentItem/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AllotmentList/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AllotmentList/index.js +11 -15
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/AllotmentList/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningContactItem/index.d.ts +2 -3
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningContactItem/index.js +34 -5
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningContactItem/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningList/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningList/index.js +4 -5
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/BankOpeningList/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/CapitalReceiptSelect/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/CapitalReceiptSelect/index.js +5 -4
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/CapitalReceiptSelect/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/OfficerDetailItem/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/OfficerDetailItem/index.js +32 -12
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/OfficerDetailItem/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/TransferItem/index.d.ts +2 -3
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/TransferItem/index.js +80 -13
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/TransferItem/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/TransferList/index.d.ts +1 -2
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/TransferList/index.js +7 -9
- package/es/modules/self-registration/clda-form/incorporation/company-general/components/TransferList/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/incorporation/components/FormContactEditor/index.d.ts +3 -0
- package/es/modules/self-registration/clda-form/incorporation/components/FormContactEditor/index.js +4 -2
- package/es/modules/self-registration/clda-form/incorporation/components/FormContactEditor/index.js.map +1 -1
- package/es/modules/self-registration/clda-form/pages/CLDAFormDefaultView/Content.js +16 -1
- package/es/modules/self-registration/clda-form/pages/CLDAFormDefaultView/Content.js.map +1 -1
- package/es/routes.d.ts +1 -1
- package/es/routes.js +4 -2
- package/es/routes.js.map +1 -1
- package/package.json +4 -4
|
@@ -133,7 +133,15 @@ export type FormPeopleOptions = {
|
|
|
133
133
|
/** country of issued of the identity */
|
|
134
134
|
Country: string;
|
|
135
135
|
/** expiry date of the identity */
|
|
136
|
-
ExpiryDate
|
|
136
|
+
ExpiryDate?: string | Date | null;
|
|
137
|
+
/** Explicit expiry clear intent. */
|
|
138
|
+
ClearExpiryDate?: boolean;
|
|
139
|
+
/** Selected numeric source, independent of deprecated Type. */
|
|
140
|
+
SourceNumber?: number;
|
|
141
|
+
/** Captured alias or explicit clear. */
|
|
142
|
+
Alias?: string | null;
|
|
143
|
+
/** Independent issuing country or explicit clear. */
|
|
144
|
+
IssuingCountry?: string | null;
|
|
137
145
|
/** type of the identity */
|
|
138
146
|
Type: IdentityType;
|
|
139
147
|
/** type of the unit */
|
|
@@ -141,7 +149,28 @@ export type FormPeopleOptions = {
|
|
|
141
149
|
/** */
|
|
142
150
|
Identity: string;
|
|
143
151
|
}>;
|
|
144
|
-
|
|
152
|
+
/** Complete frozen sibling shape, separate from the shared identity command DTO. */
|
|
153
|
+
IdentityShape?: {
|
|
154
|
+
/** Stable selected catalogue source. */
|
|
155
|
+
SourceNumber: number;
|
|
156
|
+
/** Frozen document label. */
|
|
157
|
+
Name: string;
|
|
158
|
+
/** Frozen document family. */
|
|
159
|
+
Family: string;
|
|
160
|
+
/** Frozen subject applicability. */
|
|
161
|
+
Subject: string;
|
|
162
|
+
/** Frozen alias policy. */
|
|
163
|
+
AliasPolicy: string;
|
|
164
|
+
/** Frozen issuing-country policy. */
|
|
165
|
+
IssuingCountryPolicy: string;
|
|
166
|
+
/** Frozen expiry policy. */
|
|
167
|
+
ExpiryPolicy: string;
|
|
168
|
+
};
|
|
169
|
+
/** Exact gallery owner selection, if present. */
|
|
170
|
+
SelectedEntityId?: string | null;
|
|
171
|
+
/** Exact gallery identity selection, if present. */
|
|
172
|
+
SelectedIdentityId?: string | null;
|
|
173
|
+
IdType?: string;
|
|
145
174
|
Type?: string;
|
|
146
175
|
Representative?: string;
|
|
147
176
|
RepresentativePassport?: string;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { IdentityShapeCatalogStatus } from "@voplus/morpho-compliance/es/components/IdentityShapeSelect";
|
|
2
|
+
import type { CapturedShapeFieldValues } from "@voplus/morpho-compliance/es/components/CapturedShapeFields";
|
|
3
|
+
import type { IIdentityShape } from "@voplus/morpho-compliance/es/data/identityShape";
|
|
4
|
+
/** Snapshot and edit channels for the risk-profile identity panel. */
|
|
5
|
+
export interface IdentityShapeFieldsProps {
|
|
6
|
+
/** The identity owner's kind — the catalog is filtered to the shapes that apply to it (spec:3712). */
|
|
7
|
+
subject: "Person" | "Organization";
|
|
8
|
+
/** `true` renders the shape picker and its inputs; `false` renders the frozen captured snapshot. */
|
|
9
|
+
editable: boolean;
|
|
10
|
+
/** The shape being picked while editing, the identity's captured shape when read-only. */
|
|
11
|
+
shape?: IIdentityShape;
|
|
12
|
+
/** The captured values, keyed as the shape policies are. */
|
|
13
|
+
values: CapturedShapeFieldValues;
|
|
14
|
+
/** Update one captured value without changing its snapshot. */
|
|
15
|
+
onChange: (field: keyof CapturedShapeFieldValues, value?: string) => void;
|
|
16
|
+
/** Apply a deliberate catalog pick. */
|
|
17
|
+
onShapeChange: (shape: IIdentityShape) => void;
|
|
18
|
+
/** Report catalog availability to the save gate. */
|
|
19
|
+
onCatalogStatus?: (status: IdentityShapeCatalogStatus) => void;
|
|
20
|
+
/** spec:3713 — the mandatory captured fields a blocked save is missing. */
|
|
21
|
+
fieldErrors?: Partial<Record<keyof CapturedShapeFieldValues, string>>;
|
|
22
|
+
/** spec:3717 — the picker's catalog status; the save gate reads the same value. */
|
|
23
|
+
catalogStatus: IdentityShapeCatalogStatus;
|
|
24
|
+
/** Optional host layout class. */
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The identity-shape block of the properties editor: the shared catalog picker (built-ins plus the
|
|
29
|
+
* tenant's custom shapes for this contact kind) in edit mode, the identity's frozen shape name as a
|
|
30
|
+
* Tag in read mode, and the alias / issuing country / expiry date each active shape captures — driven
|
|
31
|
+
* by that shape's own policies, so a shape hidden, made optional or made mandatory by a later catalog
|
|
32
|
+
* edit still renders exactly what the identity was captured under.
|
|
33
|
+
*/
|
|
34
|
+
declare const IdentityShapeFields: (props: IdentityShapeFieldsProps) => JSX.Element;
|
|
35
|
+
export default IdentityShapeFields;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Tag } from "antd";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import classnames from "classnames";
|
|
4
|
+
import Prop from "@voplus/morpho-ui/es/controls/Prop";
|
|
5
|
+
import UTCShortDate from "@voplus/morpho-ui/es/controls/UTCShortDate";
|
|
6
|
+
import IdentityShapeSelect from "@voplus/morpho-compliance/es/components/IdentityShapeSelect";
|
|
7
|
+
import { FIELD_LABELS, renderCapturedFieldControl, } from "@voplus/morpho-compliance/es/components/CapturedShapeFields";
|
|
8
|
+
import { CATALOG_UNAVAILABLE_MESSAGE } from "@voplus/morpho-compliance/es/data/identityShape";
|
|
9
|
+
/** A captured value the identity never carried reads as an em dash, as on the other properties surfaces. */
|
|
10
|
+
const EMPTY_VALUE = "—";
|
|
11
|
+
/**
|
|
12
|
+
* The identity-shape block of the properties editor: the shared catalog picker (built-ins plus the
|
|
13
|
+
* tenant's custom shapes for this contact kind) in edit mode, the identity's frozen shape name as a
|
|
14
|
+
* Tag in read mode, and the alias / issuing country / expiry date each active shape captures — driven
|
|
15
|
+
* by that shape's own policies, so a shape hidden, made optional or made mandatory by a later catalog
|
|
16
|
+
* edit still renders exactly what the identity was captured under.
|
|
17
|
+
*/
|
|
18
|
+
const IdentityShapeFields = (props) => {
|
|
19
|
+
const { subject, editable, shape, values, onChange, onShapeChange, onCatalogStatus, fieldErrors, catalogStatus, className, } = props;
|
|
20
|
+
/** Which of the capturable fields the active shape actually captures, and whether each is required. */
|
|
21
|
+
const policyFor = (field) => shape?.policies[field];
|
|
22
|
+
/** Render only fields the active snapshot captures. */
|
|
23
|
+
const isVisible = (field) => {
|
|
24
|
+
const policy = policyFor(field);
|
|
25
|
+
return !!policy && policy !== "omitted";
|
|
26
|
+
};
|
|
27
|
+
// spec:1955 — CSP: Identity properties edit form validation
|
|
28
|
+
/**
|
|
29
|
+
* spec:3713 — one captured field as a row of this panel's own `Prop` idiom: the label with the
|
|
30
|
+
* control (edit mode) or the frozen value (read mode) beside it. The control itself comes from
|
|
31
|
+
* the shared `renderCapturedFieldControl`, so which control a field renders — and the shape-source
|
|
32
|
+
* key that remounts `InputCountry` when a hidden country is cleared — stays owned by Compliance;
|
|
33
|
+
* this wrapper only adds the label and the message a blocked save recorded.
|
|
34
|
+
*/
|
|
35
|
+
const capturedProp = (field) => (React.createElement(Prop, { key: field, label: FIELD_LABELS[field] }, editable ? (React.createElement(React.Fragment, null,
|
|
36
|
+
renderCapturedFieldControl(field, values[field], (value) => onChange(field, value), shape?.source),
|
|
37
|
+
!!fieldErrors?.[field] && (React.createElement("div", { className: "text-danger text-xs mt-xs" }, fieldErrors[field])))) : field === "expiryDate" && values.expiryDate ? (React.createElement(UTCShortDate, { value: values.expiryDate })) : (values[field] || EMPTY_VALUE)));
|
|
38
|
+
// The captured fields regroup by meaning: the alias is a variant of the identity owner's own
|
|
39
|
+
// name, so it stays the first row right under the identity type it belongs to; issuing country
|
|
40
|
+
// and expiry date are both attributes of the document, so they share one row of two equal
|
|
41
|
+
// columns. A shape that omits one of the pair gives the survivor the full width instead of
|
|
42
|
+
// leaving a ragged half-row, and a shape that omits both renders no row at all.
|
|
43
|
+
const aliasVisible = isVisible("alias");
|
|
44
|
+
const documentFields = ["issuingCountry", "expiryDate"].filter(isVisible);
|
|
45
|
+
return (React.createElement("div", { className: classnames(className) },
|
|
46
|
+
React.createElement(Prop, { label: "Identity Type" }, editable ? (React.createElement(IdentityShapeSelect, { subject: subject, value: shape?.source, capturedShapeName: shape?.name, onChange: onShapeChange, onCatalogStatus: onCatalogStatus })) : shape ? (React.createElement(Tag, null, shape.name)) : (EMPTY_VALUE)),
|
|
47
|
+
editable && catalogStatus !== "ready" && (React.createElement("div", { className: "text-font-grey text-xs mb-md" }, CATALOG_UNAVAILABLE_MESSAGE)),
|
|
48
|
+
aliasVisible && capturedProp("alias"),
|
|
49
|
+
documentFields.length === 1 && capturedProp(documentFields[0]),
|
|
50
|
+
documentFields.length > 1 && (React.createElement("div", { className: "flex gap-md" }, documentFields.map((field) => (React.createElement("div", { key: field, className: "flex-1 min-w-0" }, capturedProp(field))))))));
|
|
51
|
+
};
|
|
52
|
+
export default IdentityShapeFields;
|
|
53
|
+
//# sourceMappingURL=IdentityShapeFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdentityShapeFields.js","sourceRoot":"","sources":["../../../../../../../src/modules/corporate/background-investigation/risk-profile/components/IdentityProperties/IdentityShapeFields.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import React, { useEffect, useMemo, useState } from "react";
|
|
2
|
-
import { Button, Form, Input,
|
|
3
|
-
import { InlineEdit, InputCountry, observe, useAutorunEffect
|
|
4
|
-
import { utcdayjs } from "@voplus/morpho-ui/es/controls/UTCDatePicker/state";
|
|
2
|
+
import { Button, Form, Input, Tooltip } from "antd";
|
|
3
|
+
import { InlineEdit, InputCountry, observe, useAutorunEffect } from "@voplus/morpho-ui";
|
|
5
4
|
import { useIdentity, useIdentityStore } from "../../../../../../data/identity";
|
|
6
5
|
import { FontAwesomeIcon as FAIcon, faPenLineRegular, faEyeRegular, faEyeLowVisionRegular, } from "@voplus/morpho-ui/es/faIcons";
|
|
7
6
|
import { State } from "./state";
|
|
8
|
-
import UTCShortDate from "@voplus/morpho-ui/es/controls/UTCShortDate";
|
|
9
7
|
import { useRiskProfileStore } from "../../../../../../data/risk-profile";
|
|
10
8
|
import ContactIdentitySelectDialog from "../../../../company/identity/components/ContactIdentitySelectDialog";
|
|
11
9
|
import PropertiesSection from "@voplus/morpho-ui/es/controls/PropertiesSection";
|
|
10
|
+
import IdentityShapeFields from "./IdentityShapeFields";
|
|
11
|
+
import ShapeChangeConfirm from "@voplus/morpho-compliance/es/components/ShapeChangeConfirm";
|
|
12
|
+
import { hiddenFieldsFor } from "@voplus/morpho-compliance/es/components/CapturedShapeFields";
|
|
12
13
|
import "./index.css";
|
|
13
14
|
const IdentityProperties = (props) => {
|
|
14
15
|
/** 加class name 为了方便做integration tests */
|
|
@@ -31,7 +32,9 @@ const IdentityProperties = (props) => {
|
|
|
31
32
|
React.createElement(PropertiesSection, { title: title, properties: (labelColWidth) => (React.createElement("div", { className: "risk-identity-properties" },
|
|
32
33
|
React.createElement("div", { className: "identity-info" },
|
|
33
34
|
React.createElement("h2", { className: "identity-passport" },
|
|
34
|
-
React.createElement("span", null, identity
|
|
35
|
+
React.createElement("span", null, identity
|
|
36
|
+
? `${identity?.country} ${identity?.shape?.name ?? identity?.type ?? ""}`
|
|
37
|
+
: ""),
|
|
35
38
|
React.createElement(InlineEdit, { showEditIcon: identity?.number ? true : false, defaultValue: "", editable: false, content: (v) => observe(() => (React.createElement("div", null, identity?.number ? (React.createElement("span", { className: "identity-number" },
|
|
36
39
|
!viewIdentity ? identity.number : number,
|
|
37
40
|
React.createElement(FAIcon, { icon: viewIdentity ? faEyeLowVisionRegular : faEyeRegular, onClick: onReveal }))) : (React.createElement("span", { className: "add-identity", onClick: () => setNumberEdit(true) }, "Add Identity"))))), onEditIconClick: () => setNumberEdit(true) }))),
|
|
@@ -47,22 +50,45 @@ const IdentityProperties = (props) => {
|
|
|
47
50
|
state.value.FullName = e.target.value;
|
|
48
51
|
} })) : (React.createElement("span", { className: "properties-value" }, identity?.fullName))),
|
|
49
52
|
React.createElement(Form.Item, { label: "Country", rules: [{ required: true }], className: classId + "-country" }, state.editable ? (React.createElement(InputCountry, { defaultValue: state.value.Country, onChange: (v) => (state.value.Country = v) })) : (React.createElement("span", { className: "properties-value" }, identity?.country))),
|
|
50
|
-
React.createElement(
|
|
51
|
-
state.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
React.createElement(IdentityShapeFields, { className: classId + "-shape", subject: identity?.unitType === "Organization" ? "Organization" : "Person", editable: state.editable, shape: state.editable ? state.shape : identity?.shape, values: state.editable
|
|
54
|
+
? state.capturedValues
|
|
55
|
+
: {
|
|
56
|
+
alias: identity?.alias,
|
|
57
|
+
issuingCountry: identity?.issuingCountry,
|
|
58
|
+
expiryDate: identity?.expiryDate,
|
|
59
|
+
}, onChange: onCapturedFieldChange, onShapeChange: onShapeChange, onCatalogStatus: (status) => (state.catalogStatus = status), fieldErrors: state.fieldErrors, catalogStatus: state.catalogStatus }),
|
|
57
60
|
React.createElement(Form.Item, { label: "Identity #", rules: [{ required: true }], className: classId + "-number" }, state.editable ? (React.createElement(Input, { value: state.value.Number, onChange: (e) => {
|
|
58
61
|
state.value.Number = e.target.value;
|
|
59
|
-
} })) : (React.createElement("span", { className: "properties-value" }, identity?.number))),
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
} })) : (React.createElement("span", { className: "properties-value" }, identity?.number))))))) })),
|
|
63
|
+
numberEdit && (React.createElement(ContactIdentitySelectDialog, { id: concatId, visible: true, onCancel: () => setNumberEdit(false), onSelect: onSelect })),
|
|
64
|
+
React.createElement(ShapeChangeConfirm, { pendingShape: state.pendingShape, values: state.capturedValues, onConfirm: state.applyShape, onCancel: () => (state.pendingShape = null) }))));
|
|
62
65
|
// spec:1957 — CSP: Switch identity via contact selection refreshes risk profile
|
|
63
66
|
function onSelect(ids) {
|
|
64
67
|
riskProfileStore.refresh(id, {}).then(() => setNumberEdit(false));
|
|
65
68
|
}
|
|
69
|
+
/** Write one captured value back into the edit buffer and clear the message it just satisfied. */
|
|
70
|
+
function onCapturedFieldChange(field, value) {
|
|
71
|
+
if (field === "alias")
|
|
72
|
+
state.value.Alias = value;
|
|
73
|
+
else if (field === "issuingCountry")
|
|
74
|
+
state.value.IssuingCountry = value;
|
|
75
|
+
else
|
|
76
|
+
state.value.ExpiryDate = value;
|
|
77
|
+
if (state.fieldErrors[field]) {
|
|
78
|
+
const next = { ...state.fieldErrors };
|
|
79
|
+
delete next[field];
|
|
80
|
+
state.fieldErrors = next;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// spec:3715 — COMPLIANCE: Changing shape warns before incompatible identity values are cleared
|
|
84
|
+
/** Adopt the picked shape, confirming first when it would clear a value the user can see. */
|
|
85
|
+
function onShapeChange(shape) {
|
|
86
|
+
shape = state.resolveShape(shape);
|
|
87
|
+
if (hiddenFieldsFor(shape, state.capturedValues).length > 0)
|
|
88
|
+
state.pendingShape = shape;
|
|
89
|
+
else
|
|
90
|
+
state.applyShape(shape);
|
|
91
|
+
}
|
|
66
92
|
/** hover edit IdentityInformation */
|
|
67
93
|
async function onEdit() {
|
|
68
94
|
if (!state.value.Number) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/modules/corporate/background-investigation/risk-profile/components/IdentityProperties/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/modules/corporate/background-investigation/risk-profile/components/IdentityProperties/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { IIdentity, IdentityEditDataOptions, IdentityStore } from "../../../../../../data/identity";
|
|
2
|
+
import type { IIdentityShape } from "@voplus/morpho-compliance/es/data/identityShape";
|
|
3
|
+
import type { IdentityShapeCatalogStatus } from "@voplus/morpho-compliance/es/components/IdentityShapeSelect";
|
|
4
|
+
import type { CapturedShapeFieldValues } from "@voplus/morpho-compliance/es/components/CapturedShapeFields";
|
|
5
|
+
/**
|
|
6
|
+
* The subset of the edit buffer a shape can hide, and which therefore has to be clearable: their
|
|
7
|
+
* values are dropped from the buffer when a replacement shape does not capture them.
|
|
8
|
+
*/
|
|
9
|
+
type ClearableValues = Pick<IdentityEditDataOptions, "Alias" | "IssuingCountry" | "ExpiryDate">;
|
|
2
10
|
export declare class State {
|
|
3
11
|
private id;
|
|
4
12
|
private identityStore;
|
|
@@ -8,7 +16,57 @@ export declare class State {
|
|
|
8
16
|
accessor value: Partial<IdentityEditDataOptions>;
|
|
9
17
|
/** loading of save */
|
|
10
18
|
accessor loading: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* the shape the editor is working with: the identity's captured shape on `reset`, and the
|
|
21
|
+
* replacement the user picks mid-edit — never re-derived from the live catalog, so a shape
|
|
22
|
+
* edited or deleted after capture still reads as what the identity actually carries.
|
|
23
|
+
*/
|
|
24
|
+
accessor shape: IIdentityShape | undefined;
|
|
25
|
+
/** spec:3717 — the picker's catalog status; the save stays blocked until it reports "ready". */
|
|
26
|
+
accessor catalogStatus: IdentityShapeCatalogStatus;
|
|
27
|
+
/** spec:3715 — a replacement shape that would clear populated fields, awaiting confirmation. */
|
|
28
|
+
accessor pendingShape: IIdentityShape | null;
|
|
29
|
+
/**
|
|
30
|
+
* spec:3713 — the captured fields a blocked save rejected, each with the reason it was
|
|
31
|
+
* rejected: a field the frozen snapshot still needs, or one carrying a value that snapshot
|
|
32
|
+
* does not permit.
|
|
33
|
+
*/
|
|
34
|
+
accessor fieldErrors: Partial<Record<keyof CapturedShapeFieldValues, string>>;
|
|
35
|
+
/**
|
|
36
|
+
* The clearable values as the identity carried them when editing opened. A value present here
|
|
37
|
+
* but empty in `value` is one the form is showing as cleared, so the save has to say so
|
|
38
|
+
* explicitly: an omitted key means "leave unchanged" to the server, which would let the old
|
|
39
|
+
* value survive a save whose shape selection never changed.
|
|
40
|
+
*/
|
|
41
|
+
accessor initial: ClearableValues;
|
|
42
|
+
/** The last server-confirmed snapshot remains independent of the active selection. */
|
|
43
|
+
accessor baselineShape: IIdentityShape | undefined;
|
|
11
44
|
constructor(id: string, identityStore: IdentityStore);
|
|
12
45
|
reset: (identity: IIdentity) => void;
|
|
13
|
-
|
|
46
|
+
/** Resolve an original source before confirmation and destructive field clearing. */
|
|
47
|
+
resolveShape: (candidate: IIdentityShape) => IIdentityShape;
|
|
48
|
+
/** The edit buffer projected onto the captured-field keys the shape policies are keyed by. */
|
|
49
|
+
get capturedValues(): CapturedShapeFieldValues;
|
|
50
|
+
applyShape: (shape: IIdentityShape) => void;
|
|
51
|
+
/**
|
|
52
|
+
* The edit buffer as the wire payload (spec:1955). `applyShape` clears a value the replacement
|
|
53
|
+
* shape does not capture by assigning `undefined`, and the user can empty a control directly;
|
|
54
|
+
* either way `JSON.stringify` drops the key, and to the server an absent key means "leave the
|
|
55
|
+
* captured value unchanged". A value the form is showing as cleared therefore has to become an
|
|
56
|
+
* EXPLICIT clear here, or it survives the save (spec:3848) — most visibly after a shape change,
|
|
57
|
+
* where the omitted field is not rendered any more and no control is left to clear it.
|
|
58
|
+
*
|
|
59
|
+
* The two kinds of field clear differently, exactly as the shared write contract
|
|
60
|
+
* (`IdentityEditDataOptions`) and the sibling Compliance editor do: `Alias` / `IssuingCountry`
|
|
61
|
+
* are nullable strings, so an empty string IS the clear signal, while `ExpiryDate` is applied
|
|
62
|
+
* only when non-null and is removed with the `ClearExpiryDate` flag. The flag and a date
|
|
63
|
+
* together are rejected with a 400, so exactly one of them is ever sent.
|
|
64
|
+
*
|
|
65
|
+
* A field that was already empty when editing opened is omitted rather than cleared: it has
|
|
66
|
+
* nothing to remove, and a redundant "" would write a value and log a spurious property change
|
|
67
|
+
* on every unrelated save.
|
|
68
|
+
*/
|
|
69
|
+
get payload(): Partial<IdentityEditDataOptions>;
|
|
70
|
+
onOk: () => Promise<void>;
|
|
14
71
|
}
|
|
72
|
+
export {};
|