@lysaab/lysa-pep 1.0.2-0 → 1.0.3-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 (59) hide show
  1. package/lib/Exports.d.ts +7 -7
  2. package/lib/Exports.js +7 -7
  3. package/lib/components/CountrySelect.d.ts +15 -15
  4. package/lib/components/CountrySelect.js +30 -30
  5. package/lib/components/PepAnswers.d.ts +8 -8
  6. package/lib/components/PepAnswers.js +131 -131
  7. package/lib/components/PepAnswers.scss +7 -7
  8. package/lib/model/Countries.d.ts +4 -4
  9. package/lib/model/Countries.js +1002 -1002
  10. package/lib/model/PepModel.d.ts +7 -7
  11. package/lib/model/PepModel.js +40 -40
  12. package/lib/model/PepTexts.d.ts +380 -322
  13. package/lib/model/PepTexts.js +552 -467
  14. package/lib/pages/IsPep/IsPepMessages.d.ts +32 -32
  15. package/lib/pages/IsPep/IsPepMessages.js +66 -66
  16. package/lib/pages/IsPep/IsPepPage.d.ts +14 -14
  17. package/lib/pages/IsPep/IsPepPage.js +59 -59
  18. package/lib/pages/PepContext.d.ts +80 -80
  19. package/lib/pages/PepContext.js +88 -88
  20. package/lib/pages/PepIsPepPage.d.ts +15 -6
  21. package/lib/pages/PepIsPepPage.js +59 -57
  22. package/lib/pages/PepRelationPage.d.ts +6 -6
  23. package/lib/pages/PepRelationPage.js +79 -83
  24. package/lib/pages/PepRolePage.d.ts +10 -9
  25. package/lib/pages/PepRolePage.js +127 -127
  26. package/lib/pages/PepStatusPage.d.ts +6 -6
  27. package/lib/pages/PepStatusPage.js +58 -57
  28. package/lib/pages/RelationPage/RelationMessages.d.ts +105 -105
  29. package/lib/pages/RelationPage/RelationMessages.js +283 -283
  30. package/lib/pages/RelationPage/RelationPage.d.ts +6 -6
  31. package/lib/pages/RelationPage/RelationPage.js +153 -153
  32. package/lib/pages/RolePage/RoleMessages.d.ts +185 -185
  33. package/lib/pages/RolePage/RoleMessages.js +385 -385
  34. package/lib/pages/RolePage/RolePage.d.ts +11 -11
  35. package/lib/pages/RolePage/RolePage.js +220 -220
  36. package/lib/pages/StatusPage/StatusMessages.d.ts +72 -72
  37. package/lib/pages/StatusPage/StatusMessages.js +266 -266
  38. package/lib/pages/StatusPage/StatusPage.d.ts +6 -6
  39. package/lib/pages/StatusPage/StatusPage.js +95 -95
  40. package/lib/utils/Possession.d.ts +1 -1
  41. package/lib/utils/Possession.js +18 -18
  42. package/package.json +57 -57
  43. package/src/Exports.ts +12 -12
  44. package/src/components/CountrySelect.tsx +47 -47
  45. package/src/components/PepAnswers.scss +7 -7
  46. package/src/components/PepAnswers.tsx +252 -252
  47. package/src/demo/Done.tsx +16 -16
  48. package/src/demo/Pep.tsx +112 -112
  49. package/src/model/PepModel.ts +52 -52
  50. package/src/pages/IsPep/IsPepMessages.ts +67 -67
  51. package/src/pages/IsPep/IsPepPage.tsx +115 -114
  52. package/src/pages/PepContext.tsx +144 -144
  53. package/src/pages/RelationPage/RelationMessages.ts +288 -288
  54. package/src/pages/RelationPage/RelationPage.tsx +299 -299
  55. package/src/pages/RolePage/RoleMessages.ts +393 -393
  56. package/src/pages/RolePage/RolePage.tsx +356 -356
  57. package/src/pages/StatusPage/StatusMessages.ts +272 -272
  58. package/src/pages/StatusPage/StatusPage.tsx +207 -207
  59. package/.vscode/settings.json +0 -4
@@ -1,88 +1,88 @@
1
- import React, { useReducer } from "react";
2
- export var EntityType;
3
- (function (EntityType) {
4
- EntityType["PERSON"] = "PERSON";
5
- EntityType["CORPORATION"] = "CORPORATION";
6
- })(EntityType || (EntityType = {}));
7
- export var PepType;
8
- (function (PepType) {
9
- PepType["NOT_PEP"] = "NOT_PEP";
10
- PepType["ME"] = "ME";
11
- PepType["RELATIVE"] = "RELATIVE";
12
- PepType["COLLEAGUE"] = "COLLEAGUE";
13
- })(PepType || (PepType = {}));
14
- export var PepStatus;
15
- (function (PepStatus) {
16
- PepStatus["ONGOING"] = "ONGOING";
17
- PepStatus["ENDED"] = "ENDED";
18
- })(PepStatus || (PepStatus = {}));
19
- export var Role;
20
- (function (Role) {
21
- Role["HEAD_OF_GOVERNMENT"] = "HEAD_OF_GOVERNMENT";
22
- Role["MINISTER"] = "MINISTER";
23
- Role["PARLIMENT_MEMBER"] = "PARLIMENT_MEMBER";
24
- Role["CENTRAL_BANK_MEMBER"] = "CENTRAL_BANK_MEMBER";
25
- Role["BOARD_MEMBER_POLITICAL_PARTY"] = "BOARD_MEMBER_POLITICAL_PARTY";
26
- Role["JUDGE_SUPREME_COURT"] = "JUDGE_SUPREME_COURT";
27
- Role["JUDGE_OTHER_HIGH_COURT"] = "JUDGE_OTHER_HIGH_COURT";
28
- Role["REVISION_INSTITUTE"] = "REVISION_INSTITUTE";
29
- Role["AMBASSADOR"] = "AMBASSADOR";
30
- Role["MILITARY_OFFICER"] = "MILITARY_OFFICER";
31
- Role["GOVERNMENT_COMPANY"] = "GOVERNMENT_COMPANY";
32
- Role["EU_HIGH_RANKING_POSITION"] = "EU_HIGH_RANKING_POSITION";
33
- Role["HIGH_RANKING_POSITION_INTERNALTIONAL_CORP"] = "HIGH_RANKING_POSITION_INTERNALTIONAL_CORP";
34
- })(Role || (Role = {}));
35
- export var Relation;
36
- (function (Relation) {
37
- Relation["MARRIED_PARTNER"] = "MARRIED_PARTNER";
38
- Relation["COLIVING_PARTNER"] = "COLIVING_PARTNER";
39
- Relation["CHILD"] = "CHILD";
40
- Relation["PARENT"] = "PARENT";
41
- Relation["CHILD_MARRIED_PARTNER"] = "CHILD_MARRIED_PARTNER";
42
- Relation["CHILD_COLIVING_PARTNER"] = "CHILD_COLIVING_PARTNER";
43
- })(Relation || (Relation = {}));
44
- export var BusinessRelation;
45
- (function (BusinessRelation) {
46
- BusinessRelation["CO_OWNERSHIP"] = "CO_OWNERSHIP";
47
- BusinessRelation["CLOSE_CONNECTION"] = "CLOSE_CONNECTION";
48
- BusinessRelation["COMPANY_FOR_PEP"] = "COMPANY_FOR_PEP";
49
- })(BusinessRelation || (BusinessRelation = {}));
50
- export var MilitaryRank;
51
- (function (MilitaryRank) {
52
- MilitaryRank["GENERAL"] = "GENERAL";
53
- MilitaryRank["LIEUTENANT_GENERAL"] = "LIEUTENANT_GENERAL";
54
- MilitaryRank["MAJOR_GENERAL"] = "MAJOR_GENERAL";
55
- MilitaryRank["ADMIRAL"] = "ADMIRAL";
56
- MilitaryRank["VICE_ADMIRAL"] = "VICE_ADMIRAL";
57
- MilitaryRank["REAR_ADMIRAL"] = "REAR_ADMIRAL";
58
- })(MilitaryRank || (MilitaryRank = {}));
59
- export const EMPTY_PEP_STATE = {
60
- legalEntityType: undefined,
61
- type: undefined,
62
- role: undefined,
63
- country: undefined,
64
- ended: undefined,
65
- ambassadorCountry: undefined,
66
- militaryRank: undefined,
67
- governmentCompany: undefined,
68
- governmentCompanyRole: undefined,
69
- internationalOrganisation: undefined,
70
- internationalOrganisationRole: undefined,
71
- relationToPEP: undefined,
72
- nameOfPEP: undefined,
73
- birthdayOfPEP: undefined,
74
- tin: undefined,
75
- businessRelation: undefined,
76
- isOngoing: undefined,
77
- isSweden: undefined,
78
- ownerName: undefined,
79
- };
80
- export const PepContext = React.createContext({});
81
- export const withPep = (Component) => props => (React.createElement(PepContext.Consumer, null, contextProps => React.createElement(Component, Object.assign({}, props, contextProps))));
82
- function stateReducer(state, newState) {
83
- return Object.assign(Object.assign({}, state), newState);
84
- }
85
- export const PepContextProvider = ({ children }) => {
86
- const [pep, setPep] = useReducer(stateReducer, {});
87
- return (React.createElement(PepContext.Provider, { value: { state: pep, setState: setPep } }, children));
88
- };
1
+ import React, { useReducer } from "react";
2
+ export var EntityType;
3
+ (function (EntityType) {
4
+ EntityType["PERSON"] = "PERSON";
5
+ EntityType["CORPORATION"] = "CORPORATION";
6
+ })(EntityType || (EntityType = {}));
7
+ export var PepType;
8
+ (function (PepType) {
9
+ PepType["NOT_PEP"] = "NOT_PEP";
10
+ PepType["ME"] = "ME";
11
+ PepType["RELATIVE"] = "RELATIVE";
12
+ PepType["COLLEAGUE"] = "COLLEAGUE";
13
+ })(PepType || (PepType = {}));
14
+ export var PepStatus;
15
+ (function (PepStatus) {
16
+ PepStatus["ONGOING"] = "ONGOING";
17
+ PepStatus["ENDED"] = "ENDED";
18
+ })(PepStatus || (PepStatus = {}));
19
+ export var Role;
20
+ (function (Role) {
21
+ Role["HEAD_OF_GOVERNMENT"] = "HEAD_OF_GOVERNMENT";
22
+ Role["MINISTER"] = "MINISTER";
23
+ Role["PARLIMENT_MEMBER"] = "PARLIMENT_MEMBER";
24
+ Role["CENTRAL_BANK_MEMBER"] = "CENTRAL_BANK_MEMBER";
25
+ Role["BOARD_MEMBER_POLITICAL_PARTY"] = "BOARD_MEMBER_POLITICAL_PARTY";
26
+ Role["JUDGE_SUPREME_COURT"] = "JUDGE_SUPREME_COURT";
27
+ Role["JUDGE_OTHER_HIGH_COURT"] = "JUDGE_OTHER_HIGH_COURT";
28
+ Role["REVISION_INSTITUTE"] = "REVISION_INSTITUTE";
29
+ Role["AMBASSADOR"] = "AMBASSADOR";
30
+ Role["MILITARY_OFFICER"] = "MILITARY_OFFICER";
31
+ Role["GOVERNMENT_COMPANY"] = "GOVERNMENT_COMPANY";
32
+ Role["EU_HIGH_RANKING_POSITION"] = "EU_HIGH_RANKING_POSITION";
33
+ Role["HIGH_RANKING_POSITION_INTERNALTIONAL_CORP"] = "HIGH_RANKING_POSITION_INTERNALTIONAL_CORP";
34
+ })(Role || (Role = {}));
35
+ export var Relation;
36
+ (function (Relation) {
37
+ Relation["MARRIED_PARTNER"] = "MARRIED_PARTNER";
38
+ Relation["COLIVING_PARTNER"] = "COLIVING_PARTNER";
39
+ Relation["CHILD"] = "CHILD";
40
+ Relation["PARENT"] = "PARENT";
41
+ Relation["CHILD_MARRIED_PARTNER"] = "CHILD_MARRIED_PARTNER";
42
+ Relation["CHILD_COLIVING_PARTNER"] = "CHILD_COLIVING_PARTNER";
43
+ })(Relation || (Relation = {}));
44
+ export var BusinessRelation;
45
+ (function (BusinessRelation) {
46
+ BusinessRelation["CO_OWNERSHIP"] = "CO_OWNERSHIP";
47
+ BusinessRelation["CLOSE_CONNECTION"] = "CLOSE_CONNECTION";
48
+ BusinessRelation["COMPANY_FOR_PEP"] = "COMPANY_FOR_PEP";
49
+ })(BusinessRelation || (BusinessRelation = {}));
50
+ export var MilitaryRank;
51
+ (function (MilitaryRank) {
52
+ MilitaryRank["GENERAL"] = "GENERAL";
53
+ MilitaryRank["LIEUTENANT_GENERAL"] = "LIEUTENANT_GENERAL";
54
+ MilitaryRank["MAJOR_GENERAL"] = "MAJOR_GENERAL";
55
+ MilitaryRank["ADMIRAL"] = "ADMIRAL";
56
+ MilitaryRank["VICE_ADMIRAL"] = "VICE_ADMIRAL";
57
+ MilitaryRank["REAR_ADMIRAL"] = "REAR_ADMIRAL";
58
+ })(MilitaryRank || (MilitaryRank = {}));
59
+ export const EMPTY_PEP_STATE = {
60
+ legalEntityType: undefined,
61
+ type: undefined,
62
+ role: undefined,
63
+ country: undefined,
64
+ ended: undefined,
65
+ ambassadorCountry: undefined,
66
+ militaryRank: undefined,
67
+ governmentCompany: undefined,
68
+ governmentCompanyRole: undefined,
69
+ internationalOrganisation: undefined,
70
+ internationalOrganisationRole: undefined,
71
+ relationToPEP: undefined,
72
+ nameOfPEP: undefined,
73
+ birthdayOfPEP: undefined,
74
+ tin: undefined,
75
+ businessRelation: undefined,
76
+ isOngoing: undefined,
77
+ isSweden: undefined,
78
+ ownerName: undefined,
79
+ };
80
+ export const PepContext = React.createContext({});
81
+ export const withPep = (Component) => props => (React.createElement(PepContext.Consumer, null, contextProps => React.createElement(Component, Object.assign({}, props, contextProps))));
82
+ function stateReducer(state, newState) {
83
+ return Object.assign(Object.assign({}, state), newState);
84
+ }
85
+ export const PepContextProvider = ({ children }) => {
86
+ const [pep, setPep] = useReducer(stateReducer, {});
87
+ return (React.createElement(PepContext.Provider, { value: { state: pep, setState: setPep } }, children));
88
+ };
@@ -1,6 +1,15 @@
1
- import { FunctionComponent } from "react";
2
- interface Props {
3
- next: () => void;
4
- }
5
- export declare const PepIsPepPage: FunctionComponent<Props>;
6
- export {};
1
+ import React from "react";
2
+ import { PepType, EntityType } from "./PepContext";
3
+ interface QuestionsProps {
4
+ ownerName?: string;
5
+ legalEntityType?: EntityType;
6
+ type?: PepType;
7
+ onChange: (type: PepType) => void;
8
+ resetValues?: () => void;
9
+ }
10
+ export declare const PepIsPepQuestions: React.FC<QuestionsProps>;
11
+ interface Props {
12
+ next: () => void;
13
+ }
14
+ export declare const PepIsPepPage: React.FC<Props>;
15
+ export {};
@@ -1,57 +1,59 @@
1
- import React, { useRef, useCallback, useContext } from "react";
2
- import { Form, RadioGroup, RequiredValidator, PrimaryButton } from "@lysaab/ui-2";
3
- import { PepType, PepContext, EntityType } from "./PepContext";
4
- import { LABELS } from "../model/PepTexts";
5
- export const PepIsPepPage = ({ next }) => {
6
- const pepContext = useContext(PepContext);
7
- const formRef = useRef();
8
- const entityType = pepContext.state.legalEntityType || EntityType.PERSON;
9
- const labels = LABELS(pepContext.state.ownerName);
10
- const IsPepAlternatives = [
11
- {
12
- text: labels[entityType].GENERIC.IS_PEP[PepType.NOT_PEP],
13
- value: PepType.NOT_PEP
14
- },
15
- { text: labels[entityType].GENERIC.IS_PEP[PepType.ME], value: PepType.ME },
16
- {
17
- text: labels[entityType].GENERIC.IS_PEP[PepType.RELATIVE],
18
- value: PepType.RELATIVE
19
- },
20
- {
21
- text: labels[entityType].GENERIC.IS_PEP[PepType.COLLEAGUE],
22
- value: PepType.COLLEAGUE
23
- }
24
- ];
25
- const nextPage = useCallback(() => {
26
- if (formRef.current && formRef.current.isValid) {
27
- next();
28
- }
29
- }, [formRef, next]);
30
- const resetValues = useCallback(() => {
31
- pepContext.setState({
32
- ambassadorCountry: undefined,
33
- birthdayOfPEP: undefined,
34
- businessRelation: undefined,
35
- country: undefined,
36
- ended: undefined,
37
- governmentCompany: undefined,
38
- governmentCompanyRole: undefined,
39
- internationalOrganisation: undefined,
40
- internationalOrganisationRole: undefined,
41
- isOngoing: undefined,
42
- isSweden: undefined,
43
- militaryRank: undefined,
44
- nameOfPEP: undefined,
45
- relationToPEP: undefined,
46
- role: undefined
47
- });
48
- }, [pepContext]);
49
- return (React.createElement(Form, { onSubmit: () => nextPage(), lysaFormRef: formRef },
50
- React.createElement(RadioGroup, { alternatives: IsPepAlternatives, onChange: event => {
51
- pepContext.setState({
52
- type: event.value ? event.value.value : undefined
53
- });
54
- resetValues();
55
- }, value: IsPepAlternatives.find(alt => alt.value === pepContext.state.type), header: labels[entityType].GENERIC.IS_PEP_HEADER, validators: [RequiredValidator("Du måste välja ett alternativ")] }),
56
- React.createElement(PrimaryButton, { type: "submit" }, "N\u00E4sta")));
57
- };
1
+ import React, { useRef, useCallback, useContext } from "react";
2
+ import { Form, RadioGroup, RequiredValidator, PrimaryButton, } from "@lysaab/ui-2";
3
+ import { PepType, PepContext, EntityType } from "./PepContext";
4
+ import { LABELS } from "../model/PepTexts";
5
+ export const PepIsPepQuestions = ({ ownerName, legalEntityType, type, onChange, resetValues, }) => {
6
+ const labels = LABELS(ownerName);
7
+ const entityType = legalEntityType || EntityType.PERSON;
8
+ const IsPepAlternatives = [
9
+ {
10
+ text: labels[entityType].GENERIC.IS_PEP[PepType.NOT_PEP],
11
+ value: PepType.NOT_PEP,
12
+ },
13
+ { text: labels[entityType].GENERIC.IS_PEP[PepType.ME], value: PepType.ME },
14
+ {
15
+ text: labels[entityType].GENERIC.IS_PEP[PepType.RELATIVE],
16
+ value: PepType.RELATIVE,
17
+ },
18
+ {
19
+ text: labels[entityType].GENERIC.IS_PEP[PepType.COLLEAGUE],
20
+ value: PepType.COLLEAGUE,
21
+ },
22
+ ];
23
+ return (React.createElement(RadioGroup, { alternatives: IsPepAlternatives, onChange: (alternative) => {
24
+ var _a;
25
+ onChange(alternative.value);
26
+ (_a = resetValues) === null || _a === void 0 ? void 0 : _a();
27
+ }, value: IsPepAlternatives.find((alt) => alt.value === type), header: labels[entityType].GENERIC.IS_PEP_HEADER, validators: [new RequiredValidator("Du måste välja ett alternativ")] }));
28
+ };
29
+ export const PepIsPepPage = ({ next }) => {
30
+ const pepContext = useContext(PepContext);
31
+ const formRef = useRef();
32
+ const nextPage = useCallback(() => {
33
+ if (formRef.current && formRef.current.isValid) {
34
+ next();
35
+ }
36
+ }, [formRef, next]);
37
+ const resetValues = useCallback(() => {
38
+ pepContext.setState({
39
+ ambassadorCountry: undefined,
40
+ birthdayOfPEP: undefined,
41
+ businessRelation: undefined,
42
+ country: undefined,
43
+ ended: undefined,
44
+ governmentCompany: undefined,
45
+ governmentCompanyRole: undefined,
46
+ internationalOrganisation: undefined,
47
+ internationalOrganisationRole: undefined,
48
+ isOngoing: undefined,
49
+ isSweden: undefined,
50
+ militaryRank: undefined,
51
+ nameOfPEP: undefined,
52
+ relationToPEP: undefined,
53
+ role: undefined,
54
+ });
55
+ }, [pepContext]);
56
+ return (React.createElement(Form, { onSubmit: nextPage, lysaFormRef: formRef },
57
+ React.createElement(PepIsPepQuestions, { ownerName: pepContext.state.ownerName, legalEntityType: pepContext.state.legalEntityType, type: pepContext.state.type, onChange: (type) => pepContext.setState({ type }), resetValues: resetValues }),
58
+ React.createElement(PrimaryButton, { type: "submit" }, "N\u00E4sta")));
59
+ };
@@ -1,6 +1,6 @@
1
- import { FunctionComponent } from "react";
2
- interface Props {
3
- next: () => void;
4
- }
5
- export declare const PepRelationPage: FunctionComponent<Props>;
6
- export {};
1
+ import { FunctionComponent } from "react";
2
+ interface Props {
3
+ next: () => void;
4
+ }
5
+ export declare const PepRelationPage: FunctionComponent<Props>;
6
+ export {};
@@ -1,83 +1,79 @@
1
- import React, { useContext, useRef, useCallback } from "react";
2
- import { PepContext, PepType, BusinessRelation, Relation, EntityType } from "./PepContext";
3
- import { RadioGroup, Form, RequiredValidator, TextInput, Datepicker, PrimaryButton } from "@lysaab/ui-2";
4
- import { LABELS } from "../model/PepTexts";
5
- import { DateTime } from "luxon";
6
- const DATEPICKER_START_DATE = DateTime.fromISO("1970-01-01").toJSDate();
7
- export const PepRelationPage = ({ next }) => {
8
- const pepContext = useContext(PepContext);
9
- const formRef = useRef();
10
- const entityType = pepContext.state.legalEntityType || EntityType.PERSON;
11
- const type = pepContext.state.type;
12
- const labels = LABELS(pepContext.state.ownerName);
13
- const businessRelationAlternatives = [
14
- {
15
- text: labels[entityType][PepType.COLLEAGUE].BUSINESS_RELATION[BusinessRelation.CO_OWNERSHIP],
16
- value: BusinessRelation.CO_OWNERSHIP
17
- },
18
- {
19
- text: labels[entityType][PepType.COLLEAGUE].BUSINESS_RELATION[BusinessRelation.CLOSE_CONNECTION],
20
- value: BusinessRelation.CLOSE_CONNECTION
21
- },
22
- {
23
- text: labels[entityType][PepType.COLLEAGUE].BUSINESS_RELATION[BusinessRelation.COMPANY_FOR_PEP],
24
- value: BusinessRelation.COMPANY_FOR_PEP
25
- }
26
- ];
27
- const relationAlternatives = [
28
- {
29
- text: labels[entityType][PepType.RELATIVE].RELATION[Relation.MARRIED_PARTNER],
30
- value: Relation.MARRIED_PARTNER
31
- },
32
- {
33
- text: labels[entityType][PepType.RELATIVE].RELATION[Relation.COLIVING_PARTNER],
34
- value: Relation.COLIVING_PARTNER
35
- },
36
- {
37
- text: labels[entityType][PepType.RELATIVE].RELATION[Relation.CHILD],
38
- value: Relation.CHILD
39
- },
40
- {
41
- text: labels[entityType][PepType.RELATIVE].RELATION[Relation.PARENT],
42
- value: Relation.PARENT
43
- },
44
- {
45
- text: labels[entityType][PepType.RELATIVE].RELATION[Relation.CHILD_MARRIED_PARTNER],
46
- value: Relation.CHILD_MARRIED_PARTNER
47
- },
48
- {
49
- text: labels[entityType][PepType.RELATIVE].RELATION[Relation.CHILD_COLIVING_PARTNER],
50
- value: Relation.CHILD_COLIVING_PARTNER
51
- }
52
- ];
53
- const nextPage = useCallback(() => {
54
- if (formRef.current && formRef.current.isValid) {
55
- next();
56
- }
57
- }, [formRef, next]);
58
- return (React.createElement(Form, { onSubmit: () => nextPage(), lysaFormRef: formRef },
59
- type === PepType.RELATIVE ? (React.createElement(RadioGroup, { alternatives: relationAlternatives, onChange: event => {
60
- pepContext.setState({
61
- relationToPEP: event.value
62
- ? event.value.value
63
- : undefined
64
- });
65
- }, value: relationAlternatives.find(alt => alt.value === pepContext.state.relationToPEP), header: labels[entityType][PepType.RELATIVE].RELATION_LABEL, validators: [RequiredValidator("Du måste välja ett alternativ")] })) : null,
66
- type === PepType.COLLEAGUE ? (React.createElement(RadioGroup, { alternatives: businessRelationAlternatives, onChange: event => {
67
- pepContext.setState({
68
- businessRelation: event.value
69
- ? event.value.value
70
- : undefined
71
- });
72
- }, value: businessRelationAlternatives.find(alt => alt.value === pepContext.state.businessRelation), header: labels[entityType][PepType.COLLEAGUE].BUSINESS_RELATION_LABEL, validators: [RequiredValidator("Du måste välja ett alternativ")] })) : null,
73
- pepContext.state.relationToPEP && type === PepType.RELATIVE ? (React.createElement(React.Fragment, null,
74
- React.createElement(TextInput, { label: labels[entityType][type].NAME_LABEL[pepContext.state.relationToPEP], value: pepContext.state.nameOfPEP || "", onChange: event => {
75
- pepContext.setState({ nameOfPEP: event.value });
76
- }, validators: [RequiredValidator("Du måste ange namn")] }),
77
- React.createElement(Datepicker, { label: labels[entityType][type].BIRTH_LABEL[pepContext.state.relationToPEP], selected: pepContext.state.birthdayOfPEP, onChange: event => pepContext.setState({ birthdayOfPEP: event || undefined }), validators: [RequiredValidator("Ange datum")], maxDate: new Date(), openToDate: pepContext.state.birthdayOfPEP || DATEPICKER_START_DATE }))) : null,
78
- pepContext.state.businessRelation && type === PepType.COLLEAGUE ? (React.createElement(React.Fragment, null,
79
- React.createElement(TextInput, { label: labels[entityType][type].NAME_LABEL[pepContext.state.businessRelation], value: pepContext.state.nameOfPEP || "", onChange: event => {
80
- pepContext.setState({ nameOfPEP: event.value });
81
- }, validators: [RequiredValidator("Du måste ange namn")] }))) : null,
82
- React.createElement(PrimaryButton, { type: "submit" }, "N\u00E4sta")));
83
- };
1
+ import React, { useContext, useRef, useCallback, } from "react";
2
+ import { PepContext, PepType, BusinessRelation, Relation, EntityType, } from "./PepContext";
3
+ import { RadioGroup, Form, RequiredValidator, TextInput, Datepicker, PrimaryButton, } from "@lysaab/ui-2";
4
+ import { LABELS } from "../model/PepTexts";
5
+ import { DateTime } from "luxon";
6
+ const DATEPICKER_START_DATE = DateTime.fromISO("1970-01-01").toJSDate();
7
+ export const PepRelationPage = ({ next }) => {
8
+ const pepContext = useContext(PepContext);
9
+ const formRef = useRef();
10
+ const entityType = pepContext.state.legalEntityType || EntityType.PERSON;
11
+ const type = pepContext.state.type;
12
+ const labels = LABELS(pepContext.state.ownerName);
13
+ const businessRelationAlternatives = [
14
+ {
15
+ text: labels[entityType][PepType.COLLEAGUE].BUSINESS_RELATION[BusinessRelation.CO_OWNERSHIP],
16
+ value: BusinessRelation.CO_OWNERSHIP,
17
+ },
18
+ {
19
+ text: labels[entityType][PepType.COLLEAGUE].BUSINESS_RELATION[BusinessRelation.CLOSE_CONNECTION],
20
+ value: BusinessRelation.CLOSE_CONNECTION,
21
+ },
22
+ {
23
+ text: labels[entityType][PepType.COLLEAGUE].BUSINESS_RELATION[BusinessRelation.COMPANY_FOR_PEP],
24
+ value: BusinessRelation.COMPANY_FOR_PEP,
25
+ },
26
+ ];
27
+ const relationAlternatives = [
28
+ {
29
+ text: labels[entityType][PepType.RELATIVE].RELATION[Relation.MARRIED_PARTNER],
30
+ value: Relation.MARRIED_PARTNER,
31
+ },
32
+ {
33
+ text: labels[entityType][PepType.RELATIVE].RELATION[Relation.COLIVING_PARTNER],
34
+ value: Relation.COLIVING_PARTNER,
35
+ },
36
+ {
37
+ text: labels[entityType][PepType.RELATIVE].RELATION[Relation.CHILD],
38
+ value: Relation.CHILD,
39
+ },
40
+ {
41
+ text: labels[entityType][PepType.RELATIVE].RELATION[Relation.PARENT],
42
+ value: Relation.PARENT,
43
+ },
44
+ {
45
+ text: labels[entityType][PepType.RELATIVE].RELATION[Relation.CHILD_MARRIED_PARTNER],
46
+ value: Relation.CHILD_MARRIED_PARTNER,
47
+ },
48
+ {
49
+ text: labels[entityType][PepType.RELATIVE].RELATION[Relation.CHILD_COLIVING_PARTNER],
50
+ value: Relation.CHILD_COLIVING_PARTNER,
51
+ },
52
+ ];
53
+ const nextPage = useCallback(() => {
54
+ if (formRef.current && formRef.current.isValid) {
55
+ next();
56
+ }
57
+ }, [formRef, next]);
58
+ return (React.createElement(Form, { onSubmit: () => nextPage(), lysaFormRef: formRef },
59
+ type === PepType.RELATIVE ? (React.createElement(RadioGroup, { alternatives: relationAlternatives, onChange: alternative => {
60
+ pepContext.setState({
61
+ relationToPEP: alternative.value,
62
+ });
63
+ }, value: relationAlternatives.find(alt => alt.value === pepContext.state.relationToPEP), header: labels[entityType][PepType.RELATIVE].RELATION_LABEL, validators: [new RequiredValidator("Du måste välja ett alternativ")] })) : null,
64
+ type === PepType.COLLEAGUE ? (React.createElement(RadioGroup, { alternatives: businessRelationAlternatives, onChange: alternative => {
65
+ pepContext.setState({
66
+ businessRelation: alternative.value,
67
+ });
68
+ }, value: businessRelationAlternatives.find(alt => alt.value === pepContext.state.businessRelation), header: labels[entityType][PepType.COLLEAGUE].BUSINESS_RELATION_LABEL, validators: [new RequiredValidator("Du måste välja ett alternativ")] })) : null,
69
+ pepContext.state.relationToPEP && type === PepType.RELATIVE ? (React.createElement(React.Fragment, null,
70
+ React.createElement(TextInput, { label: labels[entityType][type].NAME_LABEL[pepContext.state.relationToPEP], value: pepContext.state.nameOfPEP || "", onChange: value => {
71
+ pepContext.setState({ nameOfPEP: value });
72
+ }, validators: [new RequiredValidator("Du måste ange namn")] }),
73
+ React.createElement(Datepicker, { label: labels[entityType][type].BIRTH_LABEL[pepContext.state.relationToPEP], selected: pepContext.state.birthdayOfPEP, onChange: event => pepContext.setState({ birthdayOfPEP: event || undefined }), validators: [new RequiredValidator("Ange datum")], maxDate: new Date(), openToDate: pepContext.state.birthdayOfPEP || DATEPICKER_START_DATE }))) : null,
74
+ pepContext.state.businessRelation && type === PepType.COLLEAGUE ? (React.createElement(React.Fragment, null,
75
+ React.createElement(TextInput, { label: labels[entityType][type].NAME_LABEL[pepContext.state.businessRelation], value: pepContext.state.nameOfPEP || "", onChange: value => {
76
+ pepContext.setState({ nameOfPEP: value });
77
+ }, validators: [new RequiredValidator("Du måste ange namn")] }))) : null,
78
+ React.createElement(PrimaryButton, { type: "submit" }, "N\u00E4sta")));
79
+ };
@@ -1,9 +1,10 @@
1
- import { FunctionComponent } from "react";
2
- import { Alternative } from "@lysaab/ui-2/components/input/InputAPI";
3
- interface Props {
4
- next: () => void;
5
- }
6
- export declare const roleAlternatives: Alternative[];
7
- export declare const militaryAlternatives: Alternative[];
8
- export declare const PepRolePage: FunctionComponent<Props>;
9
- export {};
1
+ import { FunctionComponent } from "react";
2
+ import { Alternative } from "@lysaab/ui-2/components/input/InputAPI";
3
+ import { Role, MilitaryRank } from "./PepContext";
4
+ interface Props {
5
+ next: () => void;
6
+ }
7
+ export declare const roleAlternatives: Alternative<Role>[];
8
+ export declare const militaryAlternatives: Alternative<MilitaryRank>[];
9
+ export declare const PepRolePage: FunctionComponent<Props>;
10
+ export {};