@lysaab/lysa-pep 1.0.3-0 → 1.0.4-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/.vscode/settings.json +4 -0
  2. package/lib/Exports.d.ts +7 -7
  3. package/lib/Exports.js +7 -7
  4. package/lib/components/CountrySelect.d.ts +15 -15
  5. package/lib/components/CountrySelect.js +30 -30
  6. package/lib/components/PepAnswers.d.ts +8 -8
  7. package/lib/components/PepAnswers.js +131 -131
  8. package/lib/components/PepAnswers.scss +7 -7
  9. package/lib/model/Countries.d.ts +4 -4
  10. package/lib/model/Countries.js +1002 -1002
  11. package/lib/model/PepModel.d.ts +7 -7
  12. package/lib/model/PepModel.js +40 -40
  13. package/lib/model/PepTexts.d.ts +322 -380
  14. package/lib/model/PepTexts.js +467 -552
  15. package/lib/pages/IsPep/IsPepMessages.d.ts +32 -32
  16. package/lib/pages/IsPep/IsPepMessages.js +66 -66
  17. package/lib/pages/IsPep/IsPepPage.d.ts +14 -14
  18. package/lib/pages/IsPep/IsPepPage.js +60 -59
  19. package/lib/pages/PepContext.d.ts +80 -80
  20. package/lib/pages/PepContext.js +88 -88
  21. package/lib/pages/PepIsPepPage.d.ts +6 -15
  22. package/lib/pages/PepIsPepPage.js +57 -59
  23. package/lib/pages/PepRelationPage.d.ts +6 -6
  24. package/lib/pages/PepRelationPage.js +83 -79
  25. package/lib/pages/PepRolePage.d.ts +9 -10
  26. package/lib/pages/PepRolePage.js +127 -127
  27. package/lib/pages/PepStatusPage.d.ts +6 -6
  28. package/lib/pages/PepStatusPage.js +57 -58
  29. package/lib/pages/RelationPage/RelationMessages.d.ts +105 -105
  30. package/lib/pages/RelationPage/RelationMessages.js +283 -283
  31. package/lib/pages/RelationPage/RelationPage.d.ts +6 -6
  32. package/lib/pages/RelationPage/RelationPage.js +154 -153
  33. package/lib/pages/RolePage/RoleMessages.d.ts +185 -185
  34. package/lib/pages/RolePage/RoleMessages.js +385 -385
  35. package/lib/pages/RolePage/RolePage.d.ts +11 -11
  36. package/lib/pages/RolePage/RolePage.js +223 -220
  37. package/lib/pages/StatusPage/StatusMessages.d.ts +72 -72
  38. package/lib/pages/StatusPage/StatusMessages.js +266 -266
  39. package/lib/pages/StatusPage/StatusPage.d.ts +6 -6
  40. package/lib/pages/StatusPage/StatusPage.js +98 -95
  41. package/lib/utils/Possession.d.ts +1 -1
  42. package/lib/utils/Possession.js +18 -18
  43. package/package.json +57 -57
  44. package/src/Exports.ts +12 -12
  45. package/src/components/CountrySelect.tsx +47 -47
  46. package/src/components/PepAnswers.scss +7 -7
  47. package/src/components/PepAnswers.tsx +252 -252
  48. package/src/demo/Done.tsx +16 -16
  49. package/src/demo/Pep.tsx +112 -112
  50. package/src/model/PepModel.ts +52 -52
  51. package/src/pages/IsPep/IsPepMessages.ts +67 -67
  52. package/src/pages/IsPep/IsPepPage.tsx +118 -115
  53. package/src/pages/PepContext.tsx +144 -144
  54. package/src/pages/RelationPage/RelationMessages.ts +288 -288
  55. package/src/pages/RelationPage/RelationPage.tsx +304 -299
  56. package/src/pages/RolePage/RoleMessages.ts +393 -393
  57. package/src/pages/RolePage/RolePage.tsx +361 -356
  58. package/src/pages/StatusPage/StatusMessages.ts +272 -272
  59. package/src/pages/StatusPage/StatusPage.tsx +213 -207
@@ -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,15 +1,6 @@
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
+ import { FunctionComponent } from "react";
2
+ interface Props {
3
+ next: () => void;
4
+ }
5
+ export declare const PepIsPepPage: FunctionComponent<Props>;
6
+ export {};
@@ -1,59 +1,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
+ 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,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,79 +1,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
+ 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,10 +1,9 @@
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 {};
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 {};