@adyen/kyc-components 2.53.0 → 2.54.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.
Files changed (29) hide show
  1. package/dist/es/adyen-kyc-components.es.js +449 -373
  2. package/dist/es/circle-F380_Tya.js +8 -0
  3. package/dist/style.css +55 -33
  4. package/dist/types/components/AdditionalInformation/component/AdditionalInformationComponent.d.ts +2 -2
  5. package/dist/types/components/AdditionalInformation/types.d.ts +5 -1
  6. package/dist/types/components/BusinessDetails/forms.d.ts +0 -6
  7. package/dist/types/components/BusinessDetails/types.d.ts +0 -2
  8. package/dist/types/components/DecisionMakers/component/DecisionMakersComponent.d.ts +1 -1
  9. package/dist/types/components/DecisionMakers/types.d.ts +2 -2
  10. package/dist/types/components/Dropins/BusinessDetailsDropin/utils.d.ts +1 -2
  11. package/dist/types/components/Dropins/CompanyDropin/types.d.ts +0 -2
  12. package/dist/types/components/Dropins/IndividualDropin/components/IndividualDropinComponent.d.ts +1 -1
  13. package/dist/types/components/Individual/types.d.ts +3 -0
  14. package/dist/types/components/PersonalDetails/types.d.ts +2 -1
  15. package/dist/types/components/StepProgressIndicator/StepProgressIndicator.d.ts +2 -1
  16. package/dist/types/components/internal/Address/types.d.ts +4 -0
  17. package/dist/types/components/internal/Address/utils.d.ts +5 -5
  18. package/dist/types/components/internal/DecisionMakerRole/types.d.ts +2 -0
  19. package/dist/types/components/internal/EntityGuidanceStatus/types.d.ts +1 -1
  20. package/dist/types/components/internal/Modal/Modal.d.ts +1 -1
  21. package/dist/types/components/internal/Svg/svgs.d.ts +2 -1
  22. package/dist/types/core/hooks/singpass/useSingpassMyInfoLogin.d.ts +3 -0
  23. package/dist/types/utils/entity-status-util.d.ts +12 -1
  24. package/dist/types/utils/mapping/componentApiMapping.d.ts +15 -19
  25. package/package.json +1 -1
  26. package/dist/es/cross-circle-fill-BafKD3Av.js +0 -8
  27. package/dist/types/components/Company/trusted-fields.d.ts +0 -7
  28. package/dist/types/components/internal/EntityGuidanceStatus/component/EntityGuidanceLegend.d.ts +0 -3
  29. package/dist/types/components/internal/EntityGuidanceStatus/index.d.ts +0 -3
@@ -0,0 +1,8 @@
1
+ import { jsxs, jsx } from "preact/compat/jsx-runtime";
2
+ const SvgCircle = (props) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", role: "img", ...props, children: [
3
+ /* @__PURE__ */ jsx("g", { clipPath: "url(#uia-icons-16-circle__a)", children: /* @__PURE__ */ jsx("path", { fill: "#00112C", d: "M8 1.75C4.54822 1.75 1.75 4.54822 1.75 8C1.75 11.4518 4.54822 14.25 8 14.25C11.4518 14.25 14.25 11.4518 14.25 8C14.25 4.54822 11.4518 1.75 8 1.75ZM0.25 8C0.25 3.71979 3.71979 0.25 8 0.25C12.2802 0.25 15.75 3.71979 15.75 8C15.75 12.2802 12.2802 15.75 8 15.75C3.71979 15.75 0.25 12.2802 0.25 8Z" }) }),
4
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "uia-icons-16-circle__a", children: /* @__PURE__ */ jsx("rect", { width: 16, height: 16, fill: "#fff" }) }) })
5
+ ] });
6
+ export {
7
+ SvgCircle as default
8
+ };
package/dist/style.css CHANGED
@@ -2243,12 +2243,11 @@ button[disabled]:hover {
2243
2243
  flex-direction: column;
2244
2244
  gap: var(--adyen-sdk-spacer-120, 48px);
2245
2245
  }
2246
- .adyen-kyc-additional-information h3 {
2246
+ .adyen-kyc-additional-information__section-heading {
2247
2247
  margin: 0 0 var(--adyen-sdk-spacer-090, 24px);
2248
- font-size: var(--adyen-sdk-text-title-font-size, 16px);
2249
- font-family: var(--adyen-sdk-text-title-font-family, Inter, Roboto, Oxygen, 'Open Sans', 'Helvetica Neue', Arial, sans-serif);
2250
- font-weight: var(--adyen-sdk-text-title-font-weight, 600);
2251
- line-height: var(--adyen-sdk-text-title-line-height, 26px);
2248
+ display: flex;
2249
+ flex-direction: column;
2250
+ gap: var(--adyen-sdk-spacer-050, 10px);
2252
2251
  }
2253
2252
  .adyen-kyc-additional-information fieldset {
2254
2253
  border: none;
@@ -2260,6 +2259,9 @@ button[disabled]:hover {
2260
2259
  }
2261
2260
  .adyen-kyc-additional-information .adyen-kyc-form-header {
2262
2261
  margin: 0 !important;
2262
+ }
2263
+ .adyen-kyc-additional-information .adyen-kyc__address {
2264
+ margin-bottom: 0 !important;
2263
2265
  }.adyen-kyc-field--dbaName {
2264
2266
  margin-left: 0 !important;
2265
2267
  }.adyen-kyc-verified-business-card {
@@ -2590,14 +2592,14 @@ button[disabled]:hover {
2590
2592
 
2591
2593
  .adyen-kyc-modal__wrapper {
2592
2594
  overflow: hidden;
2593
- --adyen-kyc-modal-internal-margin: var(--adyen-sdk-spacer-070, 16px);
2595
+ display: flex;
2596
+ flex-direction: column;
2597
+ --adyen-kyc-modal-internal-margin: var(--adyen-sdk-spacer-100, 32px);
2594
2598
  background: var(--adyen-sdk-color-background-primary, #ffffff);
2595
2599
  margin: var(--adyen-kyc-modal-internal-margin);
2596
2600
  border-radius: var(--adyen-sdk-border-radius-xl, 24px);
2597
2601
  height: calc(100% - var(--adyen-kyc-modal-internal-margin) * 2);
2598
- display: flex;
2599
- flex-direction: column;
2600
- position: relative;
2602
+ --adyen-kyc-modal-footer-height: 62px;
2601
2603
  }
2602
2604
  @media screen and (max-width: 480px) {
2603
2605
  .adyen-kyc-modal__wrapper {
@@ -2606,15 +2608,23 @@ button[disabled]:hover {
2606
2608
  }
2607
2609
  }
2608
2610
 
2611
+ .adyen-kyc-modal__main {
2612
+ display: inline-grid;
2613
+ grid-template-areas: "stack";
2614
+ height: calc(100% - var(--adyen-kyc-modal-footer-height));
2615
+ }
2616
+
2617
+ .adyen-kyc-modal__main > * {
2618
+ grid-area: stack;
2619
+ }
2620
+
2609
2621
  .adyen-kyc-modal::backdrop {
2610
2622
  background-color: var(--adyen-sdk-color-support-overlay, #00112c);
2611
2623
  opacity: 0.75;
2612
2624
  }
2613
2625
 
2614
2626
  .adyen-kyc-modal-top-bar {
2615
- width: calc(100% - var(--adyen-kyc-modal-internal-margin));
2616
- position: absolute;
2617
- top: 0;
2627
+ max-width: calc(100% - var(--adyen-kyc-modal-internal-margin));
2618
2628
  padding: var(--adyen-sdk-spacer-050, 10px);
2619
2629
  padding-bottom: 0;
2620
2630
  display: flex;
@@ -2625,6 +2635,7 @@ button[disabled]:hover {
2625
2635
  .adyen-kyc-modal__header,
2626
2636
  .adyen-kyc-modal__footer {
2627
2637
  padding: var(--adyen-sdk-spacer-060, 12px);
2638
+ box-sizing: border-box;
2628
2639
  }
2629
2640
 
2630
2641
  .adyen-kyc-modal__header {
@@ -2636,18 +2647,25 @@ button[disabled]:hover {
2636
2647
  .adyen-kyc-modal__content {
2637
2648
  flex: 1;
2638
2649
  overflow-y: auto;
2650
+ max-height: 100%;
2651
+ padding-top: var(--adyen-sdk-spacer-120, 48px);
2639
2652
  }
2640
2653
 
2641
2654
  .adyen-kyc-modal__footer {
2642
2655
  border-top: var(--adyen-sdk-border-width-s, 1px) solid var(--adyen-sdk-color-outline-primary, #dbdee2);
2656
+ height: var(--adyen-kyc-modal-footer-height);
2643
2657
  }
2644
2658
 
2645
2659
  .adyen-kyc-modal--small {
2646
2660
  max-width: 520px;
2647
- min-height: 220px;
2661
+ min-height: 260px;
2648
2662
  height: 20vh;
2649
2663
  }
2650
2664
 
2665
+ .adyen-kyc-modal--small .adyen-kyc-modal__footer {
2666
+ padding: var(--adyen-sdk-spacer-060, 12px);
2667
+ }
2668
+
2651
2669
  .adyen-kyc-modal--large {
2652
2670
  max-width: 960px;
2653
2671
  height: 70vh;
@@ -2663,6 +2681,10 @@ button[disabled]:hover {
2663
2681
 
2664
2682
  .adyen-kyc-modal--with-backButton .adyen-kyc-modal__header {
2665
2683
  padding-left: var(--adyen-sdk-spacer-140, 64px);
2684
+ }
2685
+
2686
+ .adyen-kyc-modal-button-blur {
2687
+ backdrop-filter: blur(2px);
2666
2688
  }/* #region Borders */
2667
2689
  /* #endregion */
2668
2690
  /* #region Z-index */
@@ -2679,9 +2701,10 @@ button[disabled]:hover {
2679
2701
  flex: 1;
2680
2702
  padding: var(--adyen-sdk-spacer-000, 0px);
2681
2703
  margin: var(--adyen-sdk-spacer-000, 0px);
2704
+ --step-progress-internal-height: 0.25em;
2682
2705
  }
2683
2706
  .adyen-kyc-progress__bar--thick li {
2684
- height: 6px;
2707
+ --step-progress-internal-height: 0.4em;
2685
2708
  }
2686
2709
  .adyen-kyc-progress__bar--thick li:first-of-type {
2687
2710
  border-top-left-radius: var(--adyen-sdk-border-radius-m, 8px);
@@ -2695,7 +2718,7 @@ button[disabled]:hover {
2695
2718
  background-color: var(--adyen-sdk-color-background-tertiary, #eeeff1);
2696
2719
  display: flex;
2697
2720
  flex: 1;
2698
- height: 4px;
2721
+ height: var(--step-progress-internal-height);
2699
2722
  }
2700
2723
  .adyen-kyc-progress__step--active {
2701
2724
  background-color: var(--adyen-sdk-color-background-inverse-primary, #00112c);
@@ -2709,6 +2732,18 @@ button[disabled]:hover {
2709
2732
  position: absolute;
2710
2733
  white-space: nowrap;
2711
2734
  width: 1px;
2735
+ }
2736
+
2737
+ .adyen-kyc-progress__bar--circles li {
2738
+ flex: none;
2739
+ width: var(--step-progress-internal-height);
2740
+ border-radius: var(--step-progress-internal-height);
2741
+ margin: 0 var(--step-progress-internal-height);
2742
+ }
2743
+
2744
+ .adyen-kyc-progress__bar--circles .adyen-kyc-progress__step--active {
2745
+ padding: 0 calc(var(--step-progress-internal-height) / 2);
2746
+ margin: 0 calc(var(--step-progress-internal-height) / 2);
2712
2747
  }/* #region Borders */
2713
2748
  /* #endregion */
2714
2749
  /* #region Z-index */
@@ -2756,6 +2791,7 @@ button[disabled]:hover {
2756
2791
  height: calc(100% - 72px);
2757
2792
  }
2758
2793
 
2794
+ /* padding in dropins, not used in modal view */
2759
2795
  .adyen-kyc-dropin__content-main {
2760
2796
  display: flex;
2761
2797
  flex: 1;
@@ -2772,10 +2808,6 @@ button[disabled]:hover {
2772
2808
  .adyen-kyc-dropin__main {
2773
2809
  border-radius: var(--adyen-sdk-border-radius-m, 8px);
2774
2810
  width: 100%;
2775
- }
2776
-
2777
- .adyen-kyc-modal-content {
2778
- padding: 0;
2779
2811
  }.adyen-kyc-embedded-action-bar {
2780
2812
  display: flex;
2781
2813
  justify-content: space-between;
@@ -3446,23 +3478,13 @@ button[disabled]:hover {
3446
3478
  align-items: center;
3447
3479
  justify-content: center;
3448
3480
  }
3449
- .adyen-kyc-entity-status__icon--obligatory {
3450
- background-color: var(--adyen-sdk-color-background-secondary, #f7f7f8);
3451
- color: var(--adyen-sdk-color-label-inverse-primary, #ffffff);
3452
- }
3453
- .adyen-kyc-entity-status__icon--obligatory-success {
3454
- background-color: var(--adyen-sdk-color-background-success-weak, #edfaf3);
3455
- color: var(--adyen-sdk-color-label-inverse-primary, #ffffff);
3481
+ .adyen-kyc-entity-status__icon--satisfied {
3482
+ background-color: var(--adyen-sdk-color-label-inverse-primary, #ffffff);
3483
+ color: var(--adyen-sdk-color-background-success-strong, #07893c);
3456
3484
  }
3457
- .adyen-kyc-entity-status__icon--conditional {
3458
- background-color: var(--adyen-sdk-color-background-primary, #ffffff);
3459
- border: var(--adyen-sdk-border-width-s, 1px) solid var(--adyen-sdk-color-outline-primary, #dbdee2);
3485
+ .adyen-kyc-entity-status__icon--empty {
3460
3486
  color: var(--adyen-sdk-color-label-tertiary, #8d95a3);
3461
3487
  }
3462
- .adyen-kyc-entity-status__icon--conditional-success {
3463
- border: var(--adyen-sdk-border-width-s, 1px) solid var(--adyen-sdk-color-outline-success, #07893c);
3464
- color: var(--adyen-sdk-color-label-success, #07893c);
3465
- }
3466
3488
  .adyen-kyc-entity-status__legend {
3467
3489
  display: flex;
3468
3490
  padding-bottom: var(--adyen-sdk-spacer-090, 24px);
@@ -1,6 +1,6 @@
1
1
  import './AdditionalInformationComponent.scss';
2
2
  import type { BusinessDetailsSchema } from '../../BusinessDetails/types';
3
- import { type AdditionalInformationProps, type AdditionalInformationSchema } from '../types';
3
+ import type { AdditionalInformationProps, AdditionalInformationSchema } from '../types';
4
4
  export declare const ADDITIONAL_INFORMATION_FORM_ID: keyof BusinessDetailsSchema;
5
5
  export declare const ADDITIONAL_INFORMATION_FIELDS: Array<keyof AdditionalInformationSchema>;
6
- export declare function AdditionalInformationComponent({ data, labels, placeholders, helperText, heading, description, readOnly, shouldValidate, formVerificationErrors, fieldValidationErrors, allFields, requiredFields, obscuredFields, optionalFields, readOnlyFields, trustedFields, country, companyType, verifiedBusiness, showCompanyStructure, }: AdditionalInformationProps): import("preact").JSX.Element;
6
+ export declare function AdditionalInformationComponent({ data, labels, placeholders, helperText, heading, description, readOnly, shouldValidate, formVerificationErrors, fieldValidationErrors, allFields, requiredFields, obscuredFields, optionalFields, readOnlyFields, trustedFields, country, companyType, verifiedBusiness, showCompanyStructure, handleAddressSearch, handleFindAddress, }: AdditionalInformationProps): import("preact").JSX.Element;
@@ -2,6 +2,7 @@ import type { BaseInnerFormProps } from '../../core/hooks/useForm';
2
2
  import type { CompanyDatasetResponse } from '../../core/models/api/company-search';
3
3
  import type { CompanyTypesValue } from '../../core/models/api/company-types-value';
4
4
  import type { CountryCode } from '../../core/models/country-code';
5
+ import type { DropinAPIHandlers } from '../Dropins/types';
5
6
  import type { BusinessRegistrationNumberFieldSchema } from '../internal/BusinessRegistrationNumberField/types';
6
7
  import type { DateOfIncorporationFieldSchema } from '../internal/DateOfIncorporationField/types';
7
8
  import type { DBANameFieldSchema } from '../internal/DBANameField/types';
@@ -11,7 +12,8 @@ import type { StockISINFieldSchema } from '../internal/StockISINField/types';
11
12
  import type { StockTickerSymbolFieldSchema } from '../internal/StockTickerSymbol/types';
12
13
  import type { TaxInformationFieldSchema } from '../internal/TaxInformationField/types';
13
14
  import type { VatNumberFieldSchema } from '../internal/VatNumberField';
14
- export interface AdditionalInformationSchema extends LegalCompanyNameFieldSchema, DBANameFieldSchema, VatNumberFieldSchema, TaxInformationFieldSchema, BusinessRegistrationNumberFieldSchema, DateOfIncorporationFieldSchema, StockISINFieldSchema, StockExchangeMICFieldSchema, StockTickerSymbolFieldSchema {
15
+ import type { RegistrationAddressSchema } from '../RegistrationAddress/types';
16
+ export interface AdditionalInformationSchema extends LegalCompanyNameFieldSchema, DBANameFieldSchema, VatNumberFieldSchema, TaxInformationFieldSchema, BusinessRegistrationNumberFieldSchema, DateOfIncorporationFieldSchema, StockISINFieldSchema, StockExchangeMICFieldSchema, StockTickerSymbolFieldSchema, RegistrationAddressSchema {
15
17
  legalFormDescription?: string;
16
18
  }
17
19
  export interface AdditionalInformationProps extends BaseInnerFormProps<AdditionalInformationSchema> {
@@ -19,4 +21,6 @@ export interface AdditionalInformationProps extends BaseInnerFormProps<Additiona
19
21
  companyType: CompanyTypesValue | undefined;
20
22
  verifiedBusiness: CompanyDatasetResponse | undefined;
21
23
  showCompanyStructure: boolean;
24
+ handleAddressSearch: DropinAPIHandlers['handleAddressSearch'];
25
+ handleFindAddress: DropinAPIHandlers['handleFindAddress'];
22
26
  }
@@ -23,12 +23,6 @@ export declare const getForms: (country: CountryCode) => {
23
23
  readonly formHeading: "additionalInformationFormHeading";
24
24
  readonly fields: (keyof AdditionalInformationSchema)[];
25
25
  };
26
- readonly companyRegistrationAddress: {
27
- readonly formId: "companyRegistrationAddress";
28
- readonly formName: "companyRegistrationAddressFormName";
29
- readonly formDescription: "companyRegistrationAddressFormDescription";
30
- readonly fields: readonly ["registrationAddress", "operationalAddress", "operationalAddressIsSame"];
31
- };
32
26
  readonly companyRegistrationDocument: {
33
27
  readonly formId: "companyRegistrationDocument";
34
28
  readonly formName: "companyRegistrationDocumentFormName";
@@ -11,12 +11,10 @@ import type { BasicInformationSchema } from '../BasicInformation/types';
11
11
  import type { CompanyStructureSchema } from '../CompanyStructure/types';
12
12
  import type { DocumentUploadSchema } from '../DocumentUpload/types';
13
13
  import type { DropinAPIHandlers } from '../Dropins/types';
14
- import type { RegistrationAddressSchema } from '../RegistrationAddress/types';
15
14
  export interface BusinessDetailsSchema {
16
15
  basicInformation?: BasicInformationSchema;
17
16
  companyStructure?: CompanyStructureSchema;
18
17
  additionalInformation?: AdditionalInformationSchema;
19
- companyRegistrationAddress?: RegistrationAddressSchema;
20
18
  companyRegistrationDocument?: DocumentUploadSchema;
21
19
  companyTaxDocument?: DocumentUploadSchema;
22
20
  }
@@ -1,4 +1,4 @@
1
1
  import '../DecisionMakers.scss';
2
2
  import type { DecisionMakersProps } from '../types';
3
- declare const DecisionMakersComponent: ({ trackingConfig, parentLegalEntity, legalEntityResponse, capabilityProblems, onNavigateToIndividual, handleUpdateLegalEntity, navigateBackToTaskList, onDecisionMakerDelete, disableAddDecisionMakers, disableDeleteDecisionMakers, }: DecisionMakersProps) => import("preact").JSX.Element;
3
+ declare const DecisionMakersComponent: ({ trackingConfig, parentLegalEntity, legalEntityResponse, capabilityProblems, onNavigateToIndividual, handleUpdateLegalEntity, navigateBackToTaskList, onDecisionMakerDelete, trustedEntityAssociations, }: DecisionMakersProps) => import("preact").JSX.Element;
4
4
  export default DecisionMakersComponent;
@@ -1,12 +1,12 @@
1
1
  import type { ExistingLegalEntity } from '../../core/models/api/legal-entity';
2
2
  import type { CapabilityProblems } from '../../core/models/errors/capability-problems';
3
3
  import type { DropinAPIHandlers, DropinProps } from '../Dropins/types';
4
+ import type { UniqueEntityAssociation } from '../internal/EntityAssociation/types';
4
5
  export interface DecisionMakersProps extends DropinAPIHandlers, DropinProps {
5
6
  parentLegalEntity?: ExistingLegalEntity;
6
7
  onNavigateToIndividual(legalEntityId?: string): void;
7
8
  navigateBackToTaskList(): void;
8
9
  onDecisionMakerDelete(): void;
9
10
  capabilityProblems: CapabilityProblems;
10
- disableAddDecisionMakers: boolean;
11
- disableDeleteDecisionMakers: boolean;
11
+ trustedEntityAssociations?: Array<Partial<UniqueEntityAssociation>>;
12
12
  }
@@ -1,6 +1,5 @@
1
1
  import type { OuterFormLabels } from '../../../core/hooks/useForm';
2
2
  import type { ParseConfiguration } from '../../../core/hooks/useScenarioConfiguration';
3
- import type { EntityProblems } from '../../../core/models/errors/entity-problems';
4
3
  import type { FormModelWithValidity } from '../../../core/models/form';
5
4
  import type Language from '../../../language';
6
5
  import type { BusinessDetailsSchema } from '../../BusinessDetails/types';
@@ -8,7 +7,7 @@ import type { SubmitDocumentsProps, SubmitProps } from './types';
8
7
  export declare const parseConfiguration: ParseConfiguration;
9
8
  export declare const canSubmit: (data: BusinessDetailsSchema) => boolean;
10
9
  export declare const isDocumentsRequired: (forms: FormModelWithValidity[]) => boolean;
11
- export declare const removeConditionalForms: (forms: FormModelWithValidity[], problems: EntityProblems | undefined, isSkippingCompanyStructure: boolean, isSkippingCompanyRegistrationDocument: boolean) => FormModelWithValidity[];
10
+ export declare const removeConditionalForms: (forms: FormModelWithValidity[], isSkippingCompanyStructure: boolean) => FormModelWithValidity[];
12
11
  export declare const formatDataForSummary: (data: BusinessDetailsSchema, forms: FormModelWithValidity[], labels: OuterFormLabels<BusinessDetailsSchema>, i18n: Language) => {};
13
12
  export declare function submitDocuments({ data, legalEntity, forms, documentUtils, baseTrackingPayload, }: SubmitDocumentsProps): Promise<void>;
14
13
  export declare function submit({ data, legalEntityResponse, isTargetLegalEntityType, baseTrackingPayload, forms, problems, documentUtils, i18n, setLoadingStatus, setProblems, showToast, clearToasts, handleUpdateLegalEntity, onExternalSubmit, }: SubmitProps): Promise<void>;
@@ -1,5 +1,4 @@
1
1
  import type { ExistingLegalEntity } from '../../../core/models/api/legal-entity';
2
- import type { TrustedFieldsProvider } from '../../../core/models/api/trusted-fields-provider';
3
2
  import type { CompanyProps, CompanySchema } from '../../Company/types';
4
3
  import type { TrustMember } from '../../TrustMembers/types';
5
4
  import type { DropinAPIHandlers, DropinProps } from '../types';
@@ -8,5 +7,4 @@ export interface CompanyDropinProps extends Omit<CompanyProps, 'isTopLevelEntity
8
7
  associationDetail?: TrustMember;
9
8
  isTargetLegalEntityType?: boolean;
10
9
  onSubmit?: (company: CompanySchema) => void;
11
- trustedFieldsProvider?: TrustedFieldsProvider;
12
10
  }
@@ -1,2 +1,2 @@
1
1
  import type { IndividualDropinProps } from '../../../Individual/types';
2
- export declare function IndividualDropinComponent({ handleCreateDocument, handleGetDocument, handleUpdateDocument, handleAddressSearch, handleFindAddress, handleGetIdVerificationToken, handleGetIdVerificationStartCheck, handleOpenSingpassAuthorizationLink, taskType, trackingConfig, parentLegalEntity, legalEntityResponse, taskName, handleHomeClick, handleCloseClick, homeButtonLabel, isTargetLegalEntityType, country: parentCountry, handleCreateLegalEntity, capabilities, onChange, problems: propProblems, handleUpdateLegalEntity, trustMember, onSubmit: externalOnSubmit, onTypeSwitch, hideNavigation, asModal, handleBackClick: externalBackClick, trustedFields, trustedFieldsProvider, }: IndividualDropinProps): import("preact").JSX.Element;
2
+ export declare function IndividualDropinComponent({ handleCreateDocument, handleGetDocument, handleUpdateDocument, handleAddressSearch, handleFindAddress, handleGetIdVerificationToken, handleGetIdVerificationStartCheck, handleOpenSingpassAuthorizationLink, taskType, trackingConfig, parentLegalEntity, legalEntityResponse, taskName, handleHomeClick, handleCloseClick, homeButtonLabel, isTargetLegalEntityType, country: parentCountry, handleCreateLegalEntity, capabilities, onChange, problems: propProblems, handleUpdateLegalEntity, trustMember, onSubmit: externalOnSubmit, onTypeSwitch, hideNavigation, asModal, handleBackClick: externalBackClick, trustedFields, trustedFieldsProvider, trustedRoles, }: IndividualDropinProps): import("preact").JSX.Element;
@@ -3,6 +3,7 @@ import type { BaseOuterFormProps } from '../../core/hooks/useForm';
3
3
  import type { DecisionMakerType } from '../../core/models/api/decision-maker-type';
4
4
  import type { InstantIdVerificationTokenRequest, InstantIdVerificationTokenResponse } from '../../core/models/api/instant-id-verification';
5
5
  import type { ExistingLegalEntity } from '../../core/models/api/legal-entity';
6
+ import type { LegalEntityAssociation } from '../../core/models/api/legal-entity-association';
6
7
  import type { LegalEntityType } from '../../core/models/api/legal-entity-type';
7
8
  import type { CountryCode } from '../../core/models/country-code';
8
9
  import type { FormModel } from '../../core/models/form';
@@ -30,6 +31,7 @@ export interface IndividualProps extends BaseOuterFormProps<IndividualSchema> {
30
31
  handleAddressSearch?: DropinAPIHandlers['handleAddressSearch'];
31
32
  handleFindAddress?: DropinAPIHandlers['handleFindAddress'];
32
33
  handleGetIdVerificationToken?(legalEntityId: string, data: InstantIdVerificationTokenRequest): Promise<InstantIdVerificationTokenResponse>;
34
+ handleOpenSingpassAuthorizationLink?: DropinAPIHandlers['handleOpenSingpassAuthorizationLink'];
33
35
  activeForm?: FormModel;
34
36
  forms?: FormModel[];
35
37
  problems?: any;
@@ -44,6 +46,7 @@ export interface IndividualProps extends BaseOuterFormProps<IndividualSchema> {
44
46
  hideNavigation?: boolean;
45
47
  asModal?: boolean;
46
48
  accountHolder: AccountHolderOption | null;
49
+ trustedRoles?: Array<LegalEntityAssociation['type']>;
47
50
  }
48
51
  export interface IndividualDropinProps extends Omit<IndividualProps, 'legalEntityId' | 'accountHolder'>, IndividualDropinApiHandlers, DropinProps {
49
52
  trustMember?: TrustMember;
@@ -1,7 +1,7 @@
1
1
  import type { BaseInnerFormProps, FormState } from '../../core/hooks/useForm';
2
2
  import type { DecisionMakerType } from '../../core/models/api/decision-maker-type';
3
3
  import type { ExistingLegalEntity } from '../../core/models/api/legal-entity';
4
- import type { LegalRepresentativeRelationshipType } from '../../core/models/api/legal-entity-association';
4
+ import type { LegalEntityAssociation, LegalRepresentativeRelationshipType } from '../../core/models/api/legal-entity-association';
5
5
  import type { CountryCode } from '../../core/models/country-code';
6
6
  import type { TranslationKey } from '../../language/types';
7
7
  import type { ValidationRuleResults } from '../../utils/validation/types';
@@ -25,6 +25,7 @@ export interface PersonalDetailsProps extends BaseInnerFormProps<PersonalDetails
25
25
  allowedRoles?: DecisionMakerType[];
26
26
  onResidencyCountryChange?(country: string): void;
27
27
  parentLegalEntity?: ExistingLegalEntity;
28
+ trustedRoles: Array<LegalEntityAssociation['type']>;
28
29
  }
29
30
  export interface IdSchema {
30
31
  idNumber: string;
@@ -5,6 +5,7 @@ export interface StepProgressIndicatorProps {
5
5
  activeStepIndex: number;
6
6
  fillBefore?: boolean;
7
7
  thick?: boolean;
8
+ circles?: boolean;
8
9
  }
9
10
  /**
10
11
  * Progress indicator showing step progession in a process
@@ -14,4 +15,4 @@ export interface StepProgressIndicatorProps {
14
15
  * @param fillBefore - fills everything between 0 and activeStepIndex, not just last step
15
16
  * @param thick - makes the bar thicker
16
17
  */
17
- export declare const StepProgressIndicator: ({ activeStepIndex, stepsCount, fillBefore, thick, }: StepProgressIndicatorProps) => JSX.Element | null;
18
+ export declare const StepProgressIndicator: ({ activeStepIndex, stepsCount, fillBefore, thick, circles, }: StepProgressIndicatorProps) => JSX.Element | null;
@@ -45,6 +45,7 @@ export interface FieldContainerProps {
45
45
  fieldProblems?: Record<keyof AddressSchema, boolean>;
46
46
  handleChangeFor: (key: keyof AddressSchema, mode?: ValidatorMode) => (e: any) => void;
47
47
  readOnly?: boolean;
48
+ optional?: boolean;
48
49
  maxlength?: number;
49
50
  hideField?: boolean;
50
51
  trimOnBlur?: boolean;
@@ -57,6 +58,9 @@ export type AddressSchemas = RecordWithDefault<CountryCode, AddressField[]>;
57
58
  export type AddressLabels = {
58
59
  [label: string]: RecordWithDefault<CountryCode, TranslationKey>;
59
60
  };
61
+ export type AddressSchemaLabels = {
62
+ [field in keyof AddressSchema]?: TranslationKey;
63
+ };
60
64
  export interface SearchAddressProps {
61
65
  handleAddressSearch: DropinAPIHandlers['handleAddressSearch'];
62
66
  handleFindAddress: DropinAPIHandlers['handleFindAddress'];
@@ -1,6 +1,7 @@
1
1
  import type { CountryCode } from '../../../core/models/country-code';
2
2
  import type { AddressSchema } from '../../../types';
3
3
  import type { DatasetUtil } from '../../../utils/datasetUtil';
4
+ import type { AddressSchemaLabels } from './types';
4
5
  /**
5
6
  * Returns the key for a field of the passed country or the default key for that field.
6
7
  * @param fieldName - The data to pre-fill the address fields
@@ -13,9 +14,8 @@ export declare const getKeyForField: (fieldName: string, country?: CountryCode)
13
14
  */
14
15
  export declare const getAddressSchemaForCountry: (country: CountryCode) => ("address" | "city" | "country" | "otherAddressInformation" | "postalCode" | "stateOrProvince")[];
15
16
  /**
16
- * Generates an object to be used as the initial data.
17
- * @param data - The data to pre-fill the address fields
18
- * @param requiredFields - The list of fields to be included in the address form
17
+ * Returns the field labels for each field in the selected countries address schema.
18
+ * @param country - The selected country
19
19
  */
20
- export declare const getInitialData: (data: AddressSchema, requiredFields: string[]) => AddressSchema;
21
- export declare const mapAddressLabels: (data: AddressSchema, datasetUtils: DatasetUtil) => AddressSchema;
20
+ export declare const getAddressSchemaLabelsByCountry: (country: CountryCode) => AddressSchemaLabels;
21
+ export declare const mapAddressLabels: (data: AddressSchema | undefined, datasetUtils: DatasetUtil) => AddressSchema;
@@ -1,5 +1,6 @@
1
1
  import type { BaseInnerFormProps } from '../../../core/hooks/useForm';
2
2
  import type { DecisionMakerType } from '../../../core/models/api/decision-maker-type';
3
+ import type { LegalEntityAssociation } from '../../../core/models/api/legal-entity-association';
3
4
  import type { TaskTypes } from '../../TaskList/types';
4
5
  export interface DecisionMakerRoleSchema {
5
6
  role?: DecisionMakerType[];
@@ -7,4 +8,5 @@ export interface DecisionMakerRoleSchema {
7
8
  export interface DecisionMakerRoleProps extends BaseInnerFormProps<DecisionMakerRoleSchema> {
8
9
  taskType: TaskTypes;
9
10
  allowedRoles?: DecisionMakerType[];
11
+ trustedRoles: Array<LegalEntityAssociation['type']>;
10
12
  }
@@ -2,7 +2,7 @@ import type { DecisionMakerType } from '../../../core/models/api/decision-maker-
2
2
  import type { CountryCode } from '../../../core/models/country-code';
3
3
  import type { TrustMemberGuidanceLabel } from '../../../core/models/trust';
4
4
  import type { TaskTypes } from '../../TaskList/types';
5
- export type EntityStatus = 'obligatoryEmpty' | 'conditionalEmpty' | 'obligatoryFinished' | 'conditionalFinished';
5
+ export type EntityStatus = 'empty' | 'satisfied';
6
6
  export interface EntityGuidanceStatusProps {
7
7
  country: CountryCode;
8
8
  currentTask: TaskTypes;
@@ -6,6 +6,6 @@ export interface ModalProps {
6
6
  footer?: ComponentChildren;
7
7
  size?: 'small' | 'medium' | 'large' | 'fullscreen';
8
8
  onBack?: () => void;
9
- onClose: () => void;
9
+ onClose?: () => void;
10
10
  }
11
11
  export declare const Modal: ({ header, children, footer, size, onBack, onClose, }: ModalProps) => import("preact").JSX.Element;
@@ -17,11 +17,13 @@ export declare const svgs: {
17
17
  readonly bin: import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
18
18
  readonly check: import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
19
19
  readonly checkmark: import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
20
+ readonly 'checkmark-circle-fill': import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
20
21
  readonly 'checkmark-small': import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
21
22
  readonly 'chevron-down': import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
22
23
  readonly 'chevron-right': import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
23
24
  readonly 'chevron-left': import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
24
25
  readonly 'chevron-up': import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
26
+ readonly circle: import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
25
27
  readonly company: import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
26
28
  readonly 'company-2': import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
27
29
  readonly contract: import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
@@ -52,7 +54,6 @@ export declare const svgs: {
52
54
  readonly upload: import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
53
55
  readonly 'users-3': import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
54
56
  readonly warning: import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
55
- readonly wrong: import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
56
57
  readonly 'document-blurred': import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
57
58
  readonly 'document-cutoff': import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
58
59
  readonly 'document-expired': import("preact").FunctionComponent<import("preact/compat").JSX.SVGAttributes<SVGSVGElement>>;
@@ -1,5 +1,6 @@
1
1
  import type { SingpassLinkResponse } from '../../../components/Dropins/types';
2
2
  import type { AccountHolderOption } from '../../../components/internal/AccountHolder/types';
3
+ import type { UniqueEntityAssociation } from '../../../components/internal/EntityAssociation/types';
3
4
  import type { Translatable } from '../../../language/types';
4
5
  import type { ExistingLegalEntity } from '../../models/api/legal-entity';
5
6
  export declare enum SingpassMyInfoLoginActionType {
@@ -28,6 +29,7 @@ interface UseSingpassMyInfoLoginProps {
28
29
  accountHolder: AccountHolderOption | null;
29
30
  handleOpenSingpassAuthorizationLink: (() => Promise<SingpassLinkResponse>) | undefined;
30
31
  }
32
+ export declare const getTrustedEntityAssociations: (legalEntityTrustedFields: string[]) => Partial<UniqueEntityAssociation>[];
31
33
  export declare const useSingpassMyInfoLogin: ({ legalEntity, accountHolder, handleOpenSingpassAuthorizationLink, }: UseSingpassMyInfoLoginProps) => {
32
34
  isEligibleForSingpass: boolean;
33
35
  state: SingpassMyInfoLoginState;
@@ -36,5 +38,6 @@ export declare const useSingpassMyInfoLogin: ({ legalEntity, accountHolder, hand
36
38
  handleSingpassMyInfoLoginFailure: (errorMessage: Translatable) => void;
37
39
  handleSingpassMyInfoLoginReset: () => void;
38
40
  trustedFields: Record<string, string[]>;
41
+ trustedEntityAssociations: Partial<UniqueEntityAssociation>[];
39
42
  };
40
43
  export {};
@@ -3,5 +3,16 @@ import { TaskTypes } from '../components/TaskList/types';
3
3
  import type { DecisionMakerType } from '../core/models/api/decision-maker-type';
4
4
  import type { CountryCode } from '../core/models/country-code';
5
5
  import type { TrustMemberGuidanceLabel } from '../core/models/trust';
6
- export declare const iconStatus: (current: number, min: number, max: number) => EntityStatus;
6
+ /**
7
+ * Determines the status of an entity based on the current and minimum values.
8
+ *
9
+ * This function compares the `current` number of entities provided with the `min` entities required.
10
+ * If the `current` value is greater than 0 and is greater than or equal to `min`,
11
+ * it returns `'satisfied'`. Otherwise, it returns `'empty'`.
12
+ *
13
+ * @param {number} current - The current value to be evaluated.
14
+ * @param {number} min - The minimum threshold that `current` must meet or exceed.
15
+ * @returns {EntityStatus} - Returns `'satisfied'` if the current value meets the condition, otherwise `'empty'`.
16
+ */
17
+ export declare const iconStatus: (current: number, min: number) => EntityStatus;
7
18
  export declare const getEntityStatusRuleDescription: (country: CountryCode, currentTask: TaskTypes, entityLabel: TrustMemberGuidanceLabel | DecisionMakerType) => import("../language/types").TranslationKey;