@adyen/kyc-components 2.43.2 → 2.44.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 (56) hide show
  1. package/dist/es/adyen-kyc-components.es.js +204 -293
  2. package/dist/style.css +56 -194
  3. package/dist/types/components/BusinessTypeSelection/utils.d.ts +2 -2
  4. package/dist/types/components/CompanyBasics/component/CompanyBasicsComponent.d.ts +1 -1
  5. package/dist/types/components/CompanyOtherDetails/component/CompanyOtherDetailsComponent.d.ts +1 -1
  6. package/dist/types/components/EventEmitter.d.ts +3 -3
  7. package/dist/types/components/internal/Accordion/Accordion.d.ts +11 -3
  8. package/dist/types/components/internal/ContextGuidance/ContextGuidance.d.ts +1 -1
  9. package/dist/types/components/internal/DocumentGuidance/DocumentGuidance.d.ts +1 -1
  10. package/dist/types/components/internal/FormFields/Field/Field.d.ts +1 -1
  11. package/dist/types/components/internal/FormFields/Field/types.d.ts +1 -0
  12. package/dist/types/components/internal/FormFields/InputRadio/InputRadio.d.ts +1 -1
  13. package/dist/types/components/internal/FormFields/MaskedInputText/MaskedInputText.d.ts +2 -1
  14. package/dist/types/components/internal/IdFieldTypeSelector/countryIdNumberTypes.d.ts +1 -1
  15. package/dist/types/components/internal/IdFieldTypeSelector/inferCompanyRegistrationNumberType.d.ts +1 -1
  16. package/dist/types/core/Context/ExperimentContext/types.d.ts +3 -1
  17. package/dist/types/core/Context/SettingsContext/useSetting.d.ts +2 -2
  18. package/dist/types/core/SDKValidation/index.d.ts +2 -2
  19. package/dist/types/core/Services/session.d.ts +1 -1
  20. package/dist/types/core/core.d.ts +4 -4
  21. package/dist/types/core/hooks/useAsyncValidator.d.ts +1 -1
  22. package/dist/types/core/hooks/useBankConfigurationHandlers.d.ts +1 -1
  23. package/dist/types/core/hooks/useForm/reducer.d.ts +5 -3
  24. package/dist/types/core/hooks/useForm/types.d.ts +3 -0
  25. package/dist/types/core/hooks/useIdVerificationToken.d.ts +2 -2
  26. package/dist/types/core/hooks/useLocalStorage.d.ts +1 -5
  27. package/dist/types/core/hooks/useStaticValidator/useStaticValidator.d.ts +2 -2
  28. package/dist/types/core/models/errors/validation-error.d.ts +2 -1
  29. package/dist/types/core/models/field-configurations.d.ts +1 -1
  30. package/dist/types/utils/api/documentUtils.d.ts +1 -1
  31. package/dist/types/utils/api/processCapabilitites.d.ts +1 -1
  32. package/dist/types/utils/company-util.d.ts +1 -1
  33. package/dist/types/utils/entriesOf.d.ts +2 -2
  34. package/dist/types/utils/mapping/componentApiMapping.d.ts +1 -1
  35. package/dist/types/utils/mapping/mapping.d.ts +1 -1
  36. package/dist/types/utils/omitObscuredFieldsIfUnchanged.d.ts +1 -1
  37. package/dist/types/utils/regex/patternValidators.d.ts +1 -1
  38. package/dist/types/utils/trustMembers/handlers/addOrUpdateAssociatedTrustMember.d.ts +2 -2
  39. package/dist/types/utils/trustMembers/handlers/addOrUpdateUndefinedBeneficiary.d.ts +1 -1
  40. package/dist/types/utils/trustMembers/handlers/createExemptSettlor.d.ts +2 -2
  41. package/dist/types/utils/trustMembers/handlers/deleteAssociatedTrustMember.d.ts +1 -1
  42. package/dist/types/utils/trustMembers/handlers/deleteUndefinedBeneficiary.d.ts +1 -1
  43. package/dist/types/utils/trustMembers/handlers/updateExemptSettlorName.d.ts +2 -2
  44. package/dist/types/utils/validatorUtils.d.ts +3 -3
  45. package/dist/types/utils/verification/verificationUtils.d.ts +1 -1
  46. package/package.json +5 -4
  47. package/dist/types/components/internal/Accordion/AccordionContext.d.ts +0 -2
  48. package/dist/types/components/internal/Accordion/index.d.ts +0 -1
  49. package/dist/types/components/internal/Accordion/types.d.ts +0 -22
  50. package/dist/types/components/internal/AccordionItem/AccordionItem.d.ts +0 -3
  51. package/dist/types/components/internal/AccordionItem/index.d.ts +0 -1
  52. package/dist/types/components/internal/AccordionItem/types.d.ts +0 -14
  53. package/dist/types/components/internal/AccordionItem/useAccordionContext.d.ts +0 -1
  54. package/dist/types/components/internal/CollapsibleContainer/CollapsibleContainer.d.ts +0 -3
  55. package/dist/types/components/internal/CollapsibleContainer/index.d.ts +0 -1
  56. package/dist/types/components/internal/CollapsibleContainer/types.d.ts +0 -6
package/dist/style.css CHANGED
@@ -1099,6 +1099,10 @@ a.adyen-kyc-button:disabled, a.adyen-kyc-button.adyen-kyc-button--disabled {
1099
1099
  pointer-events: none;
1100
1100
  }
1101
1101
 
1102
+ .adyen-kyc-optional-label {
1103
+ color: #69778c;
1104
+ }
1105
+
1102
1106
  .adyen-kyc-label__text {
1103
1107
  color: #00112c;
1104
1108
  display: block;
@@ -2334,213 +2338,54 @@ a.adyen-kyc-button:disabled, a.adyen-kyc-button.adyen-kyc-button--disabled {
2334
2338
  /* #endregion */
2335
2339
  /* #region Inline components */
2336
2340
  /* #endregion */
2337
- /* stylelint-disable-line scss/dollar-variable-pattern */
2338
- /* stylelint-disable-line scss/dollar-variable-pattern */
2339
- /* stylelint-disable-line scss/dollar-variable-pattern */
2340
- /* stylelint-disable-line scss/dollar-variable-pattern */
2341
- .adyen-kyc-accordion {
2342
- color: #00112c;
2343
- font-family: fakt, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif;
2344
- font-size: 15px;
2345
- -webkit-font-smoothing: antialiased;
2346
- -moz-osx-font-smoothing: grayscale;
2347
- font-weight: 400;
2348
- line-height: 1.4;
2349
- }
2350
- .adyen-kyc-accordion *,
2351
- .adyen-kyc-accordion *::before,
2352
- .adyen-kyc-accordion *::after {
2353
- box-sizing: border-box;
2341
+ details,
2342
+ summary {
2343
+ background-color: var(--accordion-background-color);
2344
+ color: var(--accordion-text-color);
2354
2345
  }
2355
2346
 
2356
- .adyen-kyc-accordion--container {
2357
- border: 1px solid #dce0e5;
2358
- border-radius: 6px;
2359
- }
2360
- .adyen-kyc-accordion--container .adyen-kyc-accordion__item:first-child {
2361
- border-top-color: transparent;
2362
- }
2363
- .adyen-kyc-accordion--container .adyen-kyc-accordion__item:first-child > .adyen-kyc-accordion__header {
2364
- border-radius: 4px 4px 0 0;
2365
- }
2366
- .adyen-kyc-accordion--container .adyen-kyc-accordion__item:last-child {
2367
- border-bottom-color: transparent;
2368
- }
2369
- .adyen-kyc-accordion--container .adyen-kyc-accordion__item:last-child:not(.adyen-kyc-accordion__item--open) > .adyen-kyc-accordion__header {
2370
- border-radius: 0 0 4px 4px;
2347
+ details {
2348
+ margin: var(--accordion-margin-x) 0;
2371
2349
  }
2372
2350
 
2373
- .adyen-kyc-accordion--guide {
2374
- margin: 8px 0;
2375
- padding-bottom: 16px;
2376
- }
2377
- .adyen-kyc-accordion--guide .adyen-kyc-accordion__item {
2378
- background-color: #f3f6f9;
2379
- border: 0;
2380
- border-radius: 4px;
2381
- padding: 4px 8px;
2382
- }
2383
- .adyen-kyc-accordion--guide .adyen-kyc-accordion__header {
2384
- padding: 0;
2385
- }
2386
- .adyen-kyc-accordion--guide .adyen-kyc-accordion__title {
2387
- color: #394962;
2388
- font-size: 13px;
2351
+ summary {
2352
+ display: flex;
2353
+ align-items: center;
2354
+ gap: var(--accordion-header-spacing);
2355
+ padding: var(--accordion-header-padding);
2389
2356
  font-weight: bold;
2390
2357
  }
2391
- .adyen-kyc-accordion--guide .adyen-kyc-accordion__content {
2392
- color: #394962;
2393
- font-size: 13px;
2394
- margin: 4px 24px;
2395
- padding: 0;
2396
- }
2397
- .adyen-kyc-accordion--guide .adyen-kyc-accordion__toggle {
2398
- color: #a5afbd;
2399
- margin: 2px 8px 0 4px;
2400
- }/* #region Spacing */
2401
- /* #endregion */
2402
- /* #region Colors */
2403
- /* #endregion */
2404
- /* #region Fonts */
2405
- /* #endregion */
2406
- /* #region Borders */
2407
- /* #endregion */
2408
- /* #region Box-shadow */
2409
- /* #endregion */
2410
- /* #region Shadows */
2411
- /* #endregion */
2412
- /* #region Z-index */
2413
- /* #endregion */
2414
- /* #region Transition */
2415
- /* #endregion */
2416
- /* #region Timing functions */
2417
- /* #endregion */
2418
- /* #region Focus ring */
2419
- /* #endregion */
2420
- /* #region Inline components */
2421
- /* #endregion */
2422
- /* stylelint-disable-line scss/dollar-variable-pattern */
2423
- /* stylelint-disable-line scss/dollar-variable-pattern */
2424
- /* stylelint-disable-line scss/dollar-variable-pattern */
2425
- /* stylelint-disable-line scss/dollar-variable-pattern */
2426
- .adyen-kyc-accordion__item {
2427
- border-bottom: 1px solid transparent;
2428
- border-top: 1px solid #dce0e5;
2429
- position: relative;
2430
- }
2431
- .adyen-kyc-accordion__item:last-child {
2432
- border-bottom-color: #dce0e5;
2433
- }
2434
2358
 
2435
- .adyen-kyc-accordion__item--open {
2436
- overflow: visible;
2437
- }
2438
-
2439
- .adyen-kyc-accordion__header {
2440
- color: #00112c;
2359
+ summary > .arrow {
2441
2360
  cursor: pointer;
2442
- display: flex;
2443
- padding: 16px;
2444
- transition-duration: 0.1s;
2445
- transition-property: margin, height, padding;
2446
- }
2447
- .adyen-kyc-accordion__header:hover {
2448
- background-color: #f3f6f9;
2449
- }
2450
- .adyen-kyc-accordion__header:active {
2451
- background-color: #dce0e5;
2452
- }
2453
- .adyen-kyc-accordion__header:focus {
2454
- box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(0, 102, 255, 0.4);
2455
- transition: 0.1s cubic-bezier(0.785, 0.135, 0.15, 0.86);
2456
- transition-property: box-shadow;
2457
- outline: none;
2361
+ height: 1em;
2458
2362
  }
2459
2363
 
2460
- .adyen-kyc-accordion__title-wrapper {
2461
- flex: 1;
2364
+ summary > .arrow-right {
2365
+ margin-left: auto;
2366
+ margin-right: var(--accordion-header-spacing);
2462
2367
  }
2463
2368
 
2464
- .adyen-kyc-accordion__title {
2465
- color: inherit;
2466
- font-weight: 600;
2369
+ details[open] > summary > .arrow {
2370
+ transform: rotate(-180deg);
2467
2371
  }
2468
2372
 
2469
- .adyen-kyc-accordion__subtitle {
2470
- color: #394962;
2471
- font-size: 13px;
2373
+ details summary::-webkit-details-marker {
2374
+ display: none;
2472
2375
  }
2473
2376
 
2474
- .adyen-kyc-accordion__toggle {
2475
- line-height: 1;
2476
- margin: 2px 16px 0 0;
2477
- padding: 0;
2478
- width: 12px;
2377
+ .content {
2378
+ margin: var(--accordion-content-margin-y) var(--accordion-content-margin-x);
2479
2379
  }
2480
2380
 
2481
- .adyen-kyc-accordion__content {
2482
- box-sizing: border-box;
2483
- margin: 0 0 24px;
2484
- overflow-x: auto;
2485
- overflow-y: hidden;
2486
- padding: 0 16px 0 calc(32px + 12px);
2487
- transition-duration: 0.1s;
2488
- transition-property: margin, height, padding;
2489
- }
2490
- .adyen-kyc-accordion__item > .adyen-kyc-accordion__content {
2491
- margin: 0;
2492
- }
2493
- .adyen-kyc-accordion__item--open > .adyen-kyc-accordion__content {
2494
- margin: 0 0 24px;
2495
- }
2496
- .adyen-kyc-accordion--max-height-transition .adyen-kyc-accordion__item > .adyen-kyc-accordion__content {
2497
- max-height: 0;
2498
- transition-duration: 0.1s;
2499
- transition-property: margin, max-height;
2500
- }
2501
- .adyen-kyc-accordion--max-height-transition .adyen-kyc-accordion__item--open > .adyen-kyc-accordion__content {
2502
- max-height: 500px;
2503
- }/* #region Spacing */
2504
- /* #endregion */
2505
- /* #region Colors */
2506
- /* #endregion */
2507
- /* #region Fonts */
2508
- /* #endregion */
2509
- /* #region Borders */
2510
- /* #endregion */
2511
- /* #region Box-shadow */
2512
- /* #endregion */
2513
- /* #region Shadows */
2514
- /* #endregion */
2515
- /* #region Z-index */
2516
- /* #endregion */
2517
- /* #region Transition */
2518
- /* #endregion */
2519
- /* #region Timing functions */
2520
- /* #endregion */
2521
- /* #region Focus ring */
2522
- /* #endregion */
2523
- /* #region Inline components */
2524
- /* #endregion */
2525
- /* stylelint-disable-line scss/dollar-variable-pattern */
2526
- /* stylelint-disable-line scss/dollar-variable-pattern */
2527
- /* stylelint-disable-line scss/dollar-variable-pattern */
2528
- /* stylelint-disable-line scss/dollar-variable-pattern */
2529
- .adyen-collapsible-container {
2530
- color: #00112c;
2531
- font-family: fakt, -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif;
2532
- font-size: 15px;
2533
- -webkit-font-smoothing: antialiased;
2534
- -moz-osx-font-smoothing: grayscale;
2535
- font-weight: 400;
2536
- line-height: 1.4;
2537
- overflow: hidden;
2538
- transition: height 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
2539
- }
2540
- .adyen-collapsible-container *,
2541
- .adyen-collapsible-container *::before,
2542
- .adyen-collapsible-container *::after {
2543
- box-sizing: border-box;
2381
+ details {
2382
+ --accordion-background-color: #f3f6f9;
2383
+ --accordion-text-color: #00112c;
2384
+ --accordion-margin-x: 8px;
2385
+ --accordion-header-padding: 5px;
2386
+ --accordion-header-spacing: 10px;
2387
+ --accordion-content-margin-x: 20px;
2388
+ --accordion-content-margin-y: 5px;
2544
2389
  }/* #region Spacing */
2545
2390
  /* #endregion */
2546
2391
  /* #region Colors */
@@ -2779,22 +2624,32 @@ a.adyen-kyc-button:disabled, a.adyen-kyc-button.adyen-kyc-button--disabled {
2779
2624
  /* #endregion */
2780
2625
  /* #region Inline components */
2781
2626
  /* #endregion */
2627
+ /* stylelint-disable-line scss/dollar-variable-pattern */
2628
+ /* stylelint-disable-line scss/dollar-variable-pattern */
2629
+ /* stylelint-disable-line scss/dollar-variable-pattern */
2630
+ /* stylelint-disable-line scss/dollar-variable-pattern */
2782
2631
  .adyen-kyc-document-guidance {
2783
2632
  overflow: auto;
2784
2633
  }
2785
2634
 
2786
- .adyen-kyc-document-guidance__container {
2635
+ .adyen-layout-xs-only .adyen-kyc-document-guidance__container {
2636
+ display: grid;
2637
+ grid-template-columns: repeat(2, 1fr);
2638
+ gap: 12px 0;
2639
+ }
2640
+ .adyen-layout-md .adyen-kyc-document-guidance__container {
2787
2641
  display: flex;
2788
- gap: 24px;
2789
2642
  justify-content: space-between;
2643
+ gap: 24px;
2790
2644
  min-width: 576px;
2791
- min-height: 150px;
2792
2645
  }
2793
2646
 
2794
2647
  .adyen-kyc-document-guidance__item {
2795
- align-items: center;
2796
2648
  display: flex;
2797
2649
  flex-direction: column;
2650
+ align-items: center;
2651
+ min-height: 150px;
2652
+ margin: 0;
2798
2653
  }
2799
2654
 
2800
2655
  .adyen-kyc-document-guidance__description {
@@ -3596,10 +3451,13 @@ a.adyen-kyc-button:disabled, a.adyen-kyc-button.adyen-kyc-button--disabled {
3596
3451
  font-weight: 600;
3597
3452
  }
3598
3453
 
3599
- .adyen-layout-md .adyen-kyc-field-verification-methods {
3454
+ .adyen-kyc-field-verification-methods {
3600
3455
  display: flex;
3601
3456
  gap: 12px;
3602
3457
  }
3458
+ .adyen-layout-xs-only .adyen-kyc-field-verification-methods {
3459
+ flex-direction: column;
3460
+ }
3603
3461
  .adyen-kyc-field-verification-methods__card {
3604
3462
  display: flex;
3605
3463
  }
@@ -5719,9 +5577,13 @@ a.adyen-kyc-button:disabled, a.adyen-kyc-button.adyen-kyc-button--disabled {
5719
5577
  }
5720
5578
 
5721
5579
  .adyen-kyc-dropin-container {
5580
+ box-sizing: border-box;
5722
5581
  background-color: #fff;
5723
5582
  padding: 32px;
5724
5583
  border-radius: 8px;
5584
+ }
5585
+ .adyen-layout-xs-only .adyen-kyc-dropin-container {
5586
+ padding: 8px;
5725
5587
  }/* #region Spacing */
5726
5588
  /* #endregion */
5727
5589
  /* #region Colors */
@@ -20,7 +20,7 @@ import type { BusinessType, BusinessTypeModel, LegalArrangementModel, TrusteeTyp
20
20
  * @param companyTypesValue - the subtype of an organization see CompanyValuesType
21
21
  */
22
22
  export declare const organizationTypesToSkipCompanyStructureForm: string[];
23
- export declare const getBusinessType: (businessTypeItems: BusinessTypeModel[], country: CountryCode, accountHolder: AccountHolderOption | null, legalEntityType?: LegalEntityType, companyTypesValue?: CompanyTypesValue | '', capabilities?: CapabilityName[]) => BusinessTypeModel | undefined;
23
+ export declare const getBusinessType: (businessTypeItems: BusinessTypeModel[], country: CountryCode, accountHolder: AccountHolderOption | null, legalEntityType?: LegalEntityType, companyTypesValue?: CompanyTypesValue | "", capabilities?: CapabilityName[]) => BusinessTypeModel | undefined;
24
24
  export declare const businessTypes: readonly BusinessTypeModel[];
25
25
  export declare const businessTypeIcons: Record<BusinessType, IconName>;
26
26
  export declare const useSelectionOptions: (legalEntityResponse: ExistingLegalEntity) => {
@@ -31,6 +31,6 @@ export declare const useSelectionOptions: (legalEntityResponse: ExistingLegalEnt
31
31
  *
32
32
  */
33
33
  export declare const mapLegalArrangementOptionToCompanyTypesValue: (legalArrangement: LegalArrangementOption | undefined) => CompanyTypesValue | undefined;
34
- export declare const determineOrganizationTypeToUpdate: (defaultLegalArrangement?: LegalArrangementOption, targetLegalArrangement?: LegalArrangementOption, currentCompanyTypeValue?: CompanyTypesValue) => CompanyTypesValue | '' | undefined;
34
+ export declare const determineOrganizationTypeToUpdate: (defaultLegalArrangement?: LegalArrangementOption, targetLegalArrangement?: LegalArrangementOption, currentCompanyTypeValue?: CompanyTypesValue) => CompanyTypesValue | "" | undefined;
35
35
  export declare const getDefaultLegalArrangementOrSuborganizationType: (legalEntityResponse: ExistingLegalEntity | undefined, accountHolder: AccountHolderOption | null) => LegalArrangementOption | undefined;
36
36
  export declare const getTargetLegalEntityType: (businessType: BusinessType | undefined, legalArrangement: LegalArrangementOption | undefined, trusteeType: TrusteeType | undefined, currentLegalEntityType: LegalEntityType | undefined) => LegalEntityType;
@@ -3,6 +3,6 @@ import type { CompanySearchSchema } from '../../CompanySearch/types';
3
3
  import type { CompanyBasicsProps, CompanyBasicsSchema } from '../types';
4
4
  export declare const COMPANY_BASICS_FORM_ID: keyof CompanySearchSchema;
5
5
  export declare const companyBasicsFields: Array<keyof CompanyBasicsSchema>;
6
- declare function CompanyBasics({ data, labels, placeholders, helperText, heading, description, readOnly, shouldValidate, formVerificationErrors, fieldValidationErrors, requiredFields, obscuredFields, optionalFields, readOnlyFields, handleCompanyIndexSearch, handleCompanyDeepSearch, handleGetCompanyDataset, handleRefreshCompanyDataset, handleVerifyTin, country, companyType, isTopLevelEntity, baseTrackingPayload, kompanyVerifiedData, setKompanyAddress, setKompanyVerifiedData, }: CompanyBasicsProps): import("preact/compat").JSX.Element;
6
+ declare function CompanyBasics({ data, labels, placeholders, helperText, heading, description, readOnly, shouldValidate, formVerificationErrors, fieldValidationErrors, allFields, requiredFields, obscuredFields, optionalFields, readOnlyFields, handleCompanyIndexSearch, handleCompanyDeepSearch, handleGetCompanyDataset, handleRefreshCompanyDataset, handleVerifyTin, country, companyType, isTopLevelEntity, baseTrackingPayload, kompanyVerifiedData, setKompanyAddress, setKompanyVerifiedData, }: CompanyBasicsProps): import("preact/compat").JSX.Element;
7
7
  export declare const CompanyBasicsComponent: typeof CompanyBasics;
8
8
  export {};
@@ -3,6 +3,6 @@ import type { CompanySearchSchema } from '../../CompanySearch/types';
3
3
  import type { CompanyOtherDetailsProps, CompanyOtherDetailsSchema } from '../types';
4
4
  export declare const COMPANY_OTHER_DETAILS_FORM_ID: keyof CompanySearchSchema;
5
5
  export declare const companyOtherDetailsFields: Array<keyof CompanyOtherDetailsSchema>;
6
- declare function CompanyOtherDetails({ data, labels, placeholders, helperText, heading, description, readOnly, shouldValidate, formVerificationErrors, fieldValidationErrors, requiredFields, obscuredFields, optionalFields, readOnlyFields, country, legalCompanyName, companyType, kompanyVerifiedData, }: CompanyOtherDetailsProps): import("preact/compat").JSX.Element;
6
+ declare function CompanyOtherDetails({ data, labels, placeholders, helperText, heading, description, readOnly, shouldValidate, formVerificationErrors, fieldValidationErrors, allFields, requiredFields, obscuredFields, optionalFields, readOnlyFields, country, legalCompanyName, companyType, }: CompanyOtherDetailsProps): import("preact/compat").JSX.Element;
7
7
  export declare const CompanyOtherDetailsComponent: typeof CompanyOtherDetails;
8
8
  export {};
@@ -15,8 +15,8 @@ declare class EventEmitter {
15
15
  listeners: {
16
16
  [E in EventName]: Array<EventListenerTypeMap[E]>;
17
17
  };
18
- on: <E extends keyof EventListenerTypeMap>(eventName: E, listener: EventListenerTypeMap[E]) => void;
19
- off: <E extends keyof EventListenerTypeMap>(eventName: E, toRemove: EventListenerTypeMap[E]) => void;
20
- emit: <E extends keyof EventListenerTypeMap>(eventName: E, ...data: Parameters<EventListenerTypeMap[E]>) => void;
18
+ on: <E extends EventName>(eventName: E, listener: EventListenerTypeMap[E]) => void;
19
+ off: <E extends EventName>(eventName: E, toRemove: EventListenerTypeMap[E]) => void;
20
+ emit: <E extends EventName>(eventName: E, ...data: Parameters<EventListenerTypeMap[E]>) => void;
21
21
  }
22
22
  export default EventEmitter;
@@ -1,3 +1,11 @@
1
- import './_accordion.component.scss';
2
- import type { AccordionProps } from './types';
3
- export default function Accordion({ children, className, expand, type, onExpandSection, }: AccordionProps): import("preact").JSX.Element;
1
+ import './Accordion.scss';
2
+ import type { ComponentChild, JSX } from 'preact';
3
+ export interface AccordionProps {
4
+ title: string;
5
+ children: ComponentChild;
6
+ icon?: JSX.Element;
7
+ expandOnLeft?: boolean;
8
+ onToggle: (state: 'close' | 'open') => void;
9
+ className?: string;
10
+ }
11
+ export declare const Accordion: ({ title, children, icon, expandOnLeft, onToggle, className, }: AccordionProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { GuidanceProps } from './types';
2
- export default function ContextGuidance({ page, title, content, titleId, contentId, onOpen, onClose, }: GuidanceProps): import("preact").JSX.Element;
2
+ export default function ContextGuidance({ page, title, content, titleId, contentId, }: GuidanceProps): import("preact").JSX.Element;
@@ -1,4 +1,4 @@
1
- import './_document-guidance.component.scss';
1
+ import './DocumentGuidance.scss';
2
2
  import type { DocumentGuidanceProps } from './types';
3
3
  declare function DocumentGuidance({ type, className }: DocumentGuidanceProps): import("preact").JSX.Element;
4
4
  export default DocumentGuidance;
@@ -6,5 +6,5 @@ export type MaybeLabelElementProps = (ComponentProps<'label'> & {
6
6
  }) | (ComponentProps<'div'> & {
7
7
  useLabelElement: false;
8
8
  });
9
- declare const Field: ({ className, classNameModifiers, children, dataPlaceholder, disabled, errorMessage, filled, focused, helper, inputWrapperModifiers, isLoading, isValid, label, name, onBlur, onFieldBlur, onFocus, onFocusField, showErrorIconBottom, useLabelElement, helperPosition, wrapperRef, }: FieldProps) => JSX.Element;
9
+ declare const Field: ({ className, classNameModifiers, children, dataPlaceholder, disabled, optional, errorMessage, filled, focused, helper, inputWrapperModifiers, isLoading, isValid, label, name, onBlur, onFieldBlur, onFocus, onFocusField, showErrorIconBottom, useLabelElement, helperPosition, wrapperRef, }: FieldProps) => JSX.Element;
10
10
  export default Field;
@@ -14,6 +14,7 @@ export interface FieldProps {
14
14
  classNameModifiers?: string[];
15
15
  dataPlaceholder?: string;
16
16
  disabled?: boolean;
17
+ optional?: boolean;
17
18
  dualBrandingElements?: any;
18
19
  errorMessage?: string | boolean | JSX.Element | null;
19
20
  filled?: boolean;
@@ -1,6 +1,6 @@
1
1
  import './_input-radio.scss';
2
2
  import type { ComponentProps } from 'preact';
3
- export declare const InputRadio: ({ className, ...props }: import("preact").JSX.HTMLAttributes<HTMLInputElement> & {
3
+ export declare const InputRadio: ({ className, ...props }: ComponentProps<"input"> & {
4
4
  className?: string;
5
5
  }) => import("preact").JSX.Element;
6
6
  export default InputRadio;
@@ -16,10 +16,11 @@ export interface MaskedInputTextProps extends MaskSettings {
16
16
  placeholder?: string;
17
17
  readonly?: boolean;
18
18
  disabled?: boolean;
19
+ optional?: boolean;
19
20
  classNameModifiers?: {
20
21
  field?: string[];
21
22
  input?: string[];
22
23
  };
23
24
  acceptObscuredValue?: boolean;
24
25
  }
25
- export declare const MaskedInputText: ({ value, onInput, onBlur, onMismatch: onMismatchExternal, isValid: validationIsValid, errorMessage, shouldValidate, mask, name, label, placeholder, transformOnType, readonly, disabled, formatGuidance, classNameModifiers, acceptObscuredValue, }: MaskedInputTextProps) => JSX.Element;
26
+ export declare const MaskedInputText: ({ value, onInput, onBlur, onMismatch: onMismatchExternal, isValid: validationIsValid, errorMessage, shouldValidate, mask, name, label, placeholder, transformOnType, readonly, disabled, optional, formatGuidance, classNameModifiers, acceptObscuredValue, }: MaskedInputTextProps) => JSX.Element;
@@ -56,7 +56,7 @@ export declare const companyRegistrationNumberOptions: {
56
56
  readonly applicableOnlyFor: readonly [CompanyTypesValue.PRIVATE_COMPANY, CompanyTypesValue.PUBLIC_COMPANY, CompanyTypesValue.UNLISTED_PUBLIC_COMPANY];
57
57
  }];
58
58
  };
59
- export declare const getCompanyRegistrationNumberOptions: (country: CountryCode, companyType: CompanyTypesValue | 'trust' | undefined) => readonly CompanyRegistrationNumberOption[] | undefined;
59
+ export declare const getCompanyRegistrationNumberOptions: (country: CountryCode, companyType: CompanyTypesValue | "trust" | undefined) => readonly CompanyRegistrationNumberOption[] | undefined;
60
60
  export type CompanyRegistrationNumberType = (typeof companyRegistrationNumberOptions)[keyof typeof companyRegistrationNumberOptions][number]['id'];
61
61
  export declare const individualIdNumberOptions: {
62
62
  readonly ES: readonly [{
@@ -9,4 +9,4 @@ import type { CompanyRegistrationNumberType } from './countryIdNumberTypes';
9
9
  * @param country the country of the LE
10
10
  * @param companyType the company type, e.g. `nonProfit`
11
11
  */
12
- export declare const inferCompanyRegistrationNumberType: (registrationNumber: string, country: CountryCode, companyType: CompanyTypesValue | 'trust' | undefined) => CompanyRegistrationNumberType | undefined;
12
+ export declare const inferCompanyRegistrationNumberType: (registrationNumber: string, country: CountryCode, companyType: CompanyTypesValue | "trust" | undefined) => CompanyRegistrationNumberType | undefined;
@@ -12,7 +12,9 @@ export declare enum ExperimentNames {
12
12
  ShowUnsupportedEntityType = "ShowUnsupportedEntityType",
13
13
  ShowSingPassButtonForCompanies = "ShowSingPassButtonForCompanies",
14
14
  ShowExtraTaxExemptionReasons = "ShowExtraTaxExemptionReasons",
15
- EnableCountryOfGoverningLawForUKCompanies = "EnableCountryOfGoverningLawForUKCompanies"
15
+ EnableCountryOfGoverningLawForUKCompanies = "EnableCountryOfGoverningLawForUKCompanies",
16
+ HidePayoutAccountTask = "HidePayoutAccountTask",
17
+ HidePciTask = "HidePciTask"
16
18
  }
17
19
  export type ExperimentName = `${ExperimentNames}`;
18
20
  export type Experiments = {
@@ -1,2 +1,2 @@
1
- import type { Settings } from './types';
2
- export declare const useSetting: <S extends "acceptedCountries" | "allowBankAccountFormatSelection" | "allowIntraRegionCrossBorderPayout" | "changeLegalEntityType" | "editPrefilledCountry" | "requirePciSignEcommerce" | "requirePciSignPos" | "requirePciSignEcomMoto" | "requirePciSignPosMoto" | "hideOnboardingIntroductionIndividual" | "hideOnboardingIntroductionOrganization" | "hideOnboardingIntroductionTrust" | "hideOnboardingIntroductionSoleProprietor" | "transferInstrumentLimit" | "viewOnboardingGuidance">(settingName: S) => Settings[S];
1
+ import type { SettingName, Settings } from './types';
2
+ export declare const useSetting: <S extends SettingName>(settingName: S) => Settings[S];
@@ -1,4 +1,4 @@
1
- import type { ComponentOptions } from '../../components';
1
+ import type { ComponentMap, ComponentOptions } from '../../components';
2
2
  import type { CoreOptions } from '../types';
3
3
  export declare const validateCoreOptions: (coreOptions: CoreOptions) => void;
4
- export declare const validateForComponent: <Name extends "payoutAccount" | "pci" | "taskList" | "individualDropin" | "businessDetailsDropin" | "companyDropin" | "companySearchDropin" | "trustDropin" | "soleProprietorDropin" | "createTransferInstrumentComponent" | "createIndividualComponent" | "viewVerificationStatusComponent">(componentName: Name, options: ComponentOptions<Name>) => void;
4
+ export declare const validateForComponent: <Name extends keyof ComponentMap>(componentName: Name, options: ComponentOptions<Name>) => void;
@@ -1,5 +1,5 @@
1
1
  import type { CoreOptions } from '../types';
2
2
  export declare const setSdkToken: (token: string) => void;
3
- export declare const setSdkTokenHandler: (handler: CoreOptions['getSdkToken']) => void;
3
+ export declare const setSdkTokenHandler: (handler: CoreOptions["getSdkToken"]) => void;
4
4
  export declare const getSdkToken: () => string;
5
5
  export declare const refreshSession: () => Promise<boolean>;
@@ -1,4 +1,4 @@
1
- import type { ComponentOptions } from '../components';
1
+ import type { ComponentMap, ComponentOptions } from '../components';
2
2
  import type { BaseElement } from '../components/BaseElement';
3
3
  import { UIElement } from '../components/UIElement';
4
4
  import type { CoreOptions } from './types';
@@ -8,15 +8,15 @@ export declare class Core {
8
8
  };
9
9
  components: UIElement[];
10
10
  constructor(coreOptions: CoreOptions);
11
- create: <Name extends "payoutAccount" | "pci" | "taskList" | "individualDropin" | "businessDetailsDropin" | "companyDropin" | "companySearchDropin" | "trustDropin" | "soleProprietorDropin" | "createTransferInstrumentComponent" | "createIndividualComponent" | "viewVerificationStatusComponent">(componentName: Name, componentOptions: ComponentOptions<Name>) => UIElement;
11
+ create: <Name extends keyof ComponentMap>(componentName: Name, componentOptions: ComponentOptions<Name>) => UIElement;
12
12
  /**
13
13
  * Updates global configurations, resets the internal state and remounts each element.
14
14
  * @param options - props to update
15
15
  * @returns this - the element instance
16
16
  */
17
17
  update: (options: Partial<CoreOptions>) => this;
18
- updateLocale: ({ locale }: Pick<CoreOptions, 'locale'>) => this;
19
- updateExpiry: ({ expiry }: Pick<CoreOptions, 'expiry'>) => this;
18
+ updateLocale: ({ locale }: Pick<CoreOptions, "locale">) => this;
19
+ updateExpiry: ({ expiry }: Pick<CoreOptions, "expiry">) => this;
20
20
  /**
21
21
  * Remove the reference of a component
22
22
  * @param component - reference to the component to be removed
@@ -8,4 +8,4 @@ export type UseAsyncValidator<FormSchema> = {
8
8
  triggerAsyncValidation: TriggerAsyncValidation<FormSchema>;
9
9
  clearAsyncValidationResults: () => void;
10
10
  };
11
- export declare const useAsyncValidator: <FormSchema>(asyncRules?: Partial<{ [field in keyof FormSchema]: import("../../utils/validation/types").AsyncValidatorRule<FormSchema[field], FormSchema>; }>) => UseAsyncValidator<FormSchema>;
11
+ export declare const useAsyncValidator: <FormSchema>(asyncRules?: AsyncValidatorRules<FormSchema>) => UseAsyncValidator<FormSchema>;
@@ -20,6 +20,6 @@ interface UseBankConfigurationHandlersProps {
20
20
  */
21
21
  export declare const useBankConfigurationHandlers: ({ isEmbeddedDropin, handleGetBankVerificationVendors, bankAccountCountry, getConfiguration, legalEntityType, capabilities, }: UseBankConfigurationHandlersProps) => {
22
22
  getConfigurationData: () => Promise<GetConfigurationResponse>;
23
- getBankVerificationVendorsHandler: (country: "AF" | "AX" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CM" | "CA" | "CV" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "CI" | "HR" | "CU" | "CW" | "CY" | "CZ" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "EL" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KR" | "KP" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RE" | "RO" | "RU" | "RW" | "SH" | "KN" | "LC" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SZ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW", openBankingPartnerConfigId?: string) => Promise<BankVerificationVendorsResponse>;
23
+ getBankVerificationVendorsHandler: (country: CountryCode, openBankingPartnerConfigId?: string) => Promise<BankVerificationVendorsResponse>;
24
24
  };
25
25
  export {};
@@ -9,13 +9,14 @@ export interface InitOptions<FormSchema> {
9
9
  asyncValidate: TriggerAsyncValidation<FormSchema>;
10
10
  defaultData?: FormSchema;
11
11
  obscuredFields?: (keyof FormSchema)[];
12
+ optionalFields?: (keyof FormSchema)[];
12
13
  fieldProblems?: Record<keyof FormSchema, boolean>;
13
14
  formatters?: FormatRules<FormSchema>;
14
15
  }
15
16
  /**
16
17
  * Processes default data and sets initial state
17
18
  */
18
- export declare function init<FormSchema>({ schema, defaultData, fieldProblems, obscuredFields, formatters, staticValidate, asyncValidate, }: InitOptions<FormSchema>): FormState<FormSchema>;
19
+ export declare function init<FormSchema>({ schema, defaultData, fieldProblems, obscuredFields, optionalFields, formatters, staticValidate, asyncValidate, }: InitOptions<FormSchema>): FormState<FormSchema>;
19
20
  export type ReducerActionType = 'setData' | 'setValid' | 'setErrors' | 'setFieldProblems' | 'updateField' | 'mergeForm' | 'setSchema' | 'validateForm';
20
21
  export interface ReducerAction<FormSchema> {
21
22
  type: ReducerActionType;
@@ -26,13 +27,14 @@ export interface ReducerAction<FormSchema> {
26
27
  defaultData?: FormSchema;
27
28
  formValue?: FormState<FormSchema>;
28
29
  selectedSchema?: (keyof FormSchema)[];
29
- obscuredFields?: (keyof FormSchema)[];
30
30
  fieldProblems?: Record<keyof FormSchema, boolean>;
31
31
  }
32
32
  export interface GetReducerOptions<FormSchema> {
33
33
  staticValidate: TriggerStaticValidation<FormSchema>;
34
34
  asyncValidate: TriggerAsyncValidation<FormSchema>;
35
+ obscuredFields?: (keyof FormSchema)[];
36
+ optionalFields?: (keyof FormSchema)[];
35
37
  formatters?: FormatRules<FormSchema>;
36
38
  }
37
39
  export type GetReducerResults<FormSchema> = Reducer<FormState<FormSchema>, ReducerAction<FormSchema>>;
38
- export declare function reducer<FormSchema>({ staticValidate, asyncValidate, formatters, }: GetReducerOptions<FormSchema>): GetReducerResults<FormSchema>;
40
+ export declare function reducer<FormSchema>({ staticValidate, asyncValidate, obscuredFields, optionalFields, formatters, }: GetReducerOptions<FormSchema>): GetReducerResults<FormSchema>;
@@ -30,6 +30,8 @@ export interface BaseFormFieldProps<FieldSchema> {
30
30
  errors: FieldErrors<FieldSchema>;
31
31
  labels: FieldLabels<FieldSchema>;
32
32
  readonly: boolean;
33
+ shouldValidate?: boolean;
34
+ optional?: boolean;
33
35
  mask?: MaskSettings;
34
36
  helperText?: Partial<Record<keyof FieldSchema, string>>;
35
37
  guidanceText?: Partial<Record<keyof FieldSchema, string>>;
@@ -48,6 +50,7 @@ export interface FormState<FormSchema> {
48
50
  valid: Record<keyof FormSchema, boolean>;
49
51
  fieldProblems: Record<keyof FormSchema, boolean>;
50
52
  obscuredFields?: Array<keyof FormSchema>;
53
+ optionalFields?: Array<keyof FormSchema>;
51
54
  isValid?: boolean;
52
55
  dataStoreId?: string;
53
56
  local?: FormState<FormSchema> | Partial<FormState<FormSchema>>;
@@ -4,8 +4,8 @@ import type { LoadingStatus } from '../../components/internal/LoaderWrapper/cons
4
4
  export declare const useIdVerificationToken: ({ userDetails, legalEntityId, handleGetIdVerificationToken, onIdVerificationError, }: {
5
5
  userDetails: UserDetails;
6
6
  legalEntityId?: string | undefined;
7
- handleGetIdVerificationToken: Required<DropinAPIHandlers>['handleGetIdVerificationToken'];
8
- onIdVerificationError: (error: any) => void;
7
+ handleGetIdVerificationToken: Required<DropinAPIHandlers>["handleGetIdVerificationToken"];
8
+ onIdVerificationError: ((error: any) => void) | undefined;
9
9
  }) => {
10
10
  sdkToken: string;
11
11
  loadingStatus: LoadingStatus;
@@ -6,9 +6,5 @@ type Options<T> = Partial<{
6
6
  parser: Parser<T>;
7
7
  syncData: boolean;
8
8
  }>;
9
- export declare const useLocalStorage: <T>(key: string, defaultValue: T, options?: Partial<{
10
- serializer: Serializer<T>;
11
- parser: Parser<T>;
12
- syncData: boolean;
13
- }>) => [T, Dispatch<StateUpdater<T>>];
9
+ export declare const useLocalStorage: <T>(key: string, defaultValue: T, options?: Options<T>) => [T, Dispatch<StateUpdater<T>>];
14
10
  export {};
@@ -1,7 +1,7 @@
1
- import type { FieldContext, FieldData, ValidatorRule, ValidatorRules } from '../../../utils/validation/types';
1
+ import type { FieldContext, FieldData, ValidatorRules } from '../../../utils/validation/types';
2
2
  import { ValidationResult } from '../../../utils/validation/ValidationResult';
3
3
  export type TriggerStaticValidation<FormSchema> = (fieldData: FieldData<FormSchema>, context?: FieldContext<FormSchema>) => ValidationResult;
4
4
  export type UseStaticValidator<FormSchema> = {
5
5
  triggerStaticValidation: TriggerStaticValidation<FormSchema>;
6
6
  };
7
- export declare const useStaticValidator: <FormSchema>(rules?: Partial<{ [field in keyof FormSchema]: ValidatorRule<FormSchema[field], FormSchema> | ValidatorRule<FormSchema[field], FormSchema>[]; }>) => UseStaticValidator<FormSchema>;
7
+ export declare const useStaticValidator: <FormSchema>(rules?: ValidatorRules<FormSchema>) => UseStaticValidator<FormSchema>;