@lysaab/lysa-pep 0.18.0 → 1.0.0-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 (78) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/README.md +0 -0
  3. package/lib/Exports.d.ts +7 -8
  4. package/lib/Exports.js +7 -8
  5. package/lib/components/CountrySelect.d.ts +15 -22
  6. package/lib/components/CountrySelect.js +30 -21
  7. package/lib/components/PepAnswers.d.ts +8 -8
  8. package/lib/components/PepAnswers.js +131 -39
  9. package/lib/components/PepAnswers.scss +0 -0
  10. package/lib/model/Countries.d.ts +4 -4
  11. package/lib/model/Countries.js +1002 -1002
  12. package/lib/model/PepModel.d.ts +7 -7
  13. package/lib/model/PepModel.js +40 -40
  14. package/lib/pages/IsPep/IsPepMessages.d.ts +32 -0
  15. package/lib/pages/IsPep/IsPepMessages.js +74 -0
  16. package/lib/pages/IsPep/IsPepPage.d.ts +14 -0
  17. package/lib/pages/IsPep/IsPepPage.js +39 -0
  18. package/lib/pages/PepContext.d.ts +80 -80
  19. package/lib/pages/PepContext.js +88 -88
  20. package/lib/pages/RelationPage/RelationMessages.d.ts +105 -0
  21. package/lib/pages/RelationPage/RelationMessages.js +282 -0
  22. package/lib/pages/{PepStatusPage.d.ts → RelationPage/RelationPage.d.ts} +6 -6
  23. package/lib/pages/RelationPage/RelationPage.js +142 -0
  24. package/lib/pages/RolePage/RoleMessages.d.ts +185 -0
  25. package/lib/pages/RolePage/RoleMessages.js +381 -0
  26. package/lib/pages/RolePage/RolePage.d.ts +11 -0
  27. package/lib/pages/RolePage/RolePage.js +214 -0
  28. package/lib/pages/StatusPage/StatusMessages.d.ts +72 -0
  29. package/lib/pages/StatusPage/StatusMessages.js +74 -0
  30. package/lib/pages/{PepRelationPage.d.ts → StatusPage/StatusPage.d.ts} +6 -6
  31. package/lib/pages/StatusPage/StatusPage.js +75 -0
  32. package/package.json +12 -9
  33. package/public/favicon.ico +0 -0
  34. package/public/index.html +0 -0
  35. package/public/logo192.png +0 -0
  36. package/public/logo512.png +0 -0
  37. package/public/manifest.json +0 -0
  38. package/public/robots.txt +0 -0
  39. package/src/App.css +0 -0
  40. package/src/App.test.tsx +0 -0
  41. package/src/App.tsx +0 -0
  42. package/src/Exports.ts +7 -8
  43. package/src/components/CountrySelect.tsx +14 -10
  44. package/src/components/PepAnswers.scss +0 -0
  45. package/src/components/PepAnswers.tsx +166 -34
  46. package/src/demo/Done.tsx +2 -6
  47. package/src/demo/Pep.tsx +87 -81
  48. package/src/index.css +0 -0
  49. package/src/index.tsx +0 -0
  50. package/src/logo.svg +0 -0
  51. package/src/model/Countries.ts +0 -0
  52. package/src/model/PepModel.ts +0 -0
  53. package/src/pages/IsPep/IsPepMessages.ts +75 -0
  54. package/src/pages/IsPep/IsPepPage.tsx +94 -0
  55. package/src/pages/PepContext.tsx +0 -0
  56. package/src/pages/RelationPage/RelationMessages.ts +287 -0
  57. package/src/pages/RelationPage/RelationPage.tsx +269 -0
  58. package/src/pages/RolePage/RoleMessages.ts +389 -0
  59. package/src/pages/RolePage/RolePage.tsx +342 -0
  60. package/src/pages/StatusPage/StatusMessages.ts +80 -0
  61. package/src/pages/StatusPage/StatusPage.tsx +172 -0
  62. package/src/react-app-env.d.ts +0 -0
  63. package/src/serviceWorker.ts +0 -0
  64. package/tsconfig.json +0 -0
  65. package/tsconfig_build.json +0 -0
  66. package/lib/model/PepTexts.d.ts +0 -380
  67. package/lib/model/PepTexts.js +0 -552
  68. package/lib/pages/PepIsPepPage.d.ts +0 -15
  69. package/lib/pages/PepIsPepPage.js +0 -59
  70. package/lib/pages/PepRelationPage.js +0 -79
  71. package/lib/pages/PepRolePage.d.ts +0 -10
  72. package/lib/pages/PepRolePage.js +0 -127
  73. package/lib/pages/PepStatusPage.js +0 -58
  74. package/src/model/PepTexts.ts +0 -607
  75. package/src/pages/PepIsPepPage.tsx +0 -107
  76. package/src/pages/PepRelationPage.tsx +0 -188
  77. package/src/pages/PepRolePage.tsx +0 -272
  78. package/src/pages/PepStatusPage.tsx +0 -157
@@ -1,79 +0,0 @@
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: [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: [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: [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: [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: [RequiredValidator("Du måste ange namn")] }))) : null,
78
- React.createElement(PrimaryButton, { type: "submit" }, "N\u00E4sta")));
79
- };
@@ -1,10 +0,0 @@
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,127 +0,0 @@
1
- import React, { useRef, useCallback, useContext, } from "react";
2
- import { Form, PrimaryButton, RequiredValidator, TextInput, Select, } from "@lysaab/ui-2";
3
- import { PepContext, Role, MilitaryRank, EntityType, PepType, } from "./PepContext";
4
- import { CountrySelect } from "../components/CountrySelect";
5
- import { getGovernmentCompanyNameLabel, getGovernmentCompanyRoleLabel, getHighRankingPositionIntCorpNameLabel, getHighRankingPositionIntCorpRoleLabel, getMilitaryRankLabel, getRoleLabel, getAmbassadorLabel, } from "../model/PepTexts";
6
- export const roleAlternatives = [
7
- { text: "Stats eller regeringschef", value: Role.HEAD_OF_GOVERNMENT },
8
- { text: "Minister eller Vice/Biträdande minister", value: Role.MINISTER },
9
- { text: "Ledamot i parlament eller riksdag", value: Role.PARLIMENT_MEMBER },
10
- {
11
- text: "Ledamot i centralbanks styrande organ",
12
- value: Role.CENTRAL_BANK_MEMBER,
13
- },
14
- {
15
- text: "Ledamot för styrelsen i politiskt parti representerade i riksdagen",
16
- value: Role.BOARD_MEMBER_POLITICAL_PARTY,
17
- },
18
- { text: "Domare i högsta domstolen", value: Role.JUDGE_SUPREME_COURT },
19
- {
20
- text: "Domare i konstitutionell domstol eller annat rättsligt organ på hög nivå vars beslut endast undantagsvis kan överklagas",
21
- value: Role.JUDGE_OTHER_HIGH_COURT,
22
- },
23
- {
24
- text: "Högre tjänsteman vid revisionsmyndighet",
25
- value: Role.REVISION_INSTITUTE,
26
- },
27
- { text: "Ambassadör eller bestickningschef", value: Role.AMBASSADOR },
28
- { text: "Högre officer i försvarsmakt", value: Role.MILITARY_OFFICER },
29
- {
30
- text: "Person som ingår i statsägt företags förvaltnings-, lednings eller kontrollorgan",
31
- value: Role.GOVERNMENT_COMPANY,
32
- },
33
- {
34
- text: "EU-parlamentariker",
35
- value: Role.EU_HIGH_RANKING_POSITION,
36
- },
37
- {
38
- text: "Befattning på hög nivå i en internationell organisation",
39
- value: Role.HIGH_RANKING_POSITION_INTERNALTIONAL_CORP,
40
- },
41
- ];
42
- export const militaryAlternatives = [
43
- {
44
- text: "General",
45
- value: MilitaryRank.GENERAL,
46
- },
47
- {
48
- text: "Generallöjtnant",
49
- value: MilitaryRank.LIEUTENANT_GENERAL,
50
- },
51
- {
52
- text: "Generalmajor",
53
- value: MilitaryRank.MAJOR_GENERAL,
54
- },
55
- {
56
- text: "Amiral",
57
- value: MilitaryRank.ADMIRAL,
58
- },
59
- {
60
- text: "Viceamiral",
61
- value: MilitaryRank.VICE_ADMIRAL,
62
- },
63
- {
64
- text: "Konteramiral",
65
- value: MilitaryRank.REAR_ADMIRAL,
66
- },
67
- ];
68
- export const PepRolePage = ({ next }) => {
69
- const pepContext = useContext(PepContext);
70
- const formRef = useRef();
71
- const entityType = pepContext.state.legalEntityType || EntityType.PERSON;
72
- const type = pepContext.state.type;
73
- const nextPage = useCallback(() => {
74
- if (formRef.current && formRef.current.isValid) {
75
- next();
76
- }
77
- }, [formRef, next]);
78
- const resetRoleFields = useCallback(() => {
79
- pepContext.setState({
80
- ambassadorCountry: undefined,
81
- governmentCompany: undefined,
82
- governmentCompanyRole: undefined,
83
- internationalOrganisation: undefined,
84
- internationalOrganisationRole: undefined,
85
- militaryRank: undefined,
86
- });
87
- }, [pepContext]);
88
- if (!type || type === PepType.NOT_PEP) {
89
- return null;
90
- }
91
- return (React.createElement(Form, { onSubmit: () => nextPage(), lysaFormRef: formRef },
92
- React.createElement(Select, { label: getRoleLabel(entityType, type, pepContext.state.relationToPEP, pepContext.state.businessRelation, pepContext.state.ownerName), placeholder: "V\u00E4lj en roll", alternatives: roleAlternatives, value: roleAlternatives.find(alt => alt.value === pepContext.state.role), onChange: event => {
93
- pepContext.setState({ role: event.value });
94
- resetRoleFields();
95
- }, validators: [RequiredValidator("Du måste välja roll")] }),
96
- pepContext.state.role && pepContext.state.role === Role.AMBASSADOR ? (React.createElement(CountrySelect, { label: getAmbassadorLabel(entityType, type, pepContext.state.relationToPEP, pepContext.state.businessRelation, pepContext.state.ownerName), onChange: event => pepContext.setState({
97
- ambassadorCountry: event.value
98
- ? event.value.toString()
99
- : undefined,
100
- }), value: pepContext.state.ambassadorCountry, validators: [RequiredValidator("Du måste välja land")] })) : null,
101
- pepContext.state.role &&
102
- pepContext.state.role === Role.GOVERNMENT_COMPANY ? (React.createElement(React.Fragment, null,
103
- React.createElement(TextInput, { label: getGovernmentCompanyNameLabel(entityType, type, pepContext.state.relationToPEP, pepContext.state.businessRelation, pepContext.state.ownerName), value: pepContext.state.governmentCompany || "", onChange: value => {
104
- pepContext.setState({ governmentCompany: value });
105
- }, validators: [RequiredValidator("Du måste ange ett namn")] }),
106
- React.createElement(TextInput, { label: getGovernmentCompanyRoleLabel(entityType, type, pepContext.state.relationToPEP, pepContext.state.businessRelation, pepContext.state.ownerName), value: pepContext.state.governmentCompanyRole || "", onChange: value => {
107
- pepContext.setState({
108
- governmentCompanyRole: value,
109
- });
110
- }, validators: [RequiredValidator("Du måste ange roll")] }))) : null,
111
- pepContext.state.role &&
112
- pepContext.state.role ===
113
- Role.HIGH_RANKING_POSITION_INTERNALTIONAL_CORP ? (React.createElement(React.Fragment, null,
114
- React.createElement(TextInput, { label: getHighRankingPositionIntCorpNameLabel(entityType, type, pepContext.state.relationToPEP, pepContext.state.businessRelation, pepContext.state.ownerName), value: pepContext.state.internationalOrganisation || "", onChange: value => {
115
- pepContext.setState({ internationalOrganisation: value });
116
- }, validators: [RequiredValidator("Du måste ange ett namn")] }),
117
- React.createElement(TextInput, { label: getHighRankingPositionIntCorpRoleLabel(entityType, type, pepContext.state.relationToPEP, pepContext.state.businessRelation, pepContext.state.ownerName), value: pepContext.state.internationalOrganisationRole || "", onChange: value => {
118
- pepContext.setState({
119
- internationalOrganisationRole: value,
120
- });
121
- }, validators: [RequiredValidator("Du måste ange roll")] }))) : null,
122
- pepContext.state.role &&
123
- pepContext.state.role === Role.MILITARY_OFFICER ? (React.createElement(Select, { label: getMilitaryRankLabel(entityType, type, pepContext.state.relationToPEP, pepContext.state.businessRelation, pepContext.state.ownerName), placeholder: "V\u00E4lj grad", alternatives: militaryAlternatives, value: militaryAlternatives.find(alt => alt.value === pepContext.state.militaryRank), onChange: event => {
124
- pepContext.setState({ militaryRank: event.value });
125
- }, validators: [RequiredValidator("Du måste ange en grad")] })) : null,
126
- React.createElement(PrimaryButton, { type: "submit" }, "N\u00E4sta")));
127
- };
@@ -1,58 +0,0 @@
1
- import React, { useRef, useCallback, useContext, } from "react";
2
- import { Form, RadioGroup, RequiredValidator, PrimaryButton, Datepicker, } from "@lysaab/ui-2";
3
- import { PepContext, PepStatus, EntityType, PepType } from "./PepContext";
4
- import { CountrySelect } from "../components/CountrySelect";
5
- import { LABELS, getStatusOngoingHeader, getStatusCountryHeader, } from "../model/PepTexts";
6
- const stateAlternatives = [
7
- {
8
- text: "Pågående",
9
- value: PepStatus.ONGOING,
10
- },
11
- {
12
- text: "Avslutad",
13
- value: PepStatus.ENDED,
14
- },
15
- ];
16
- const isSwedenAlternatives = [
17
- { text: "Sverige", value: "sweden" },
18
- { text: "Annat", value: "other" },
19
- ];
20
- export const PepStatusPage = ({ next }) => {
21
- const pepContext = useContext(PepContext);
22
- const formRef = useRef();
23
- const nextPage = useCallback(() => {
24
- if (formRef.current && formRef.current.isValid) {
25
- next();
26
- }
27
- }, [formRef, next]);
28
- const updateIsSweden = useCallback((alternative) => {
29
- pepContext.setState({ isSweden: alternative.value });
30
- if (alternative.value === "other") {
31
- pepContext.setState({ country: undefined });
32
- }
33
- }, [pepContext]);
34
- const updateIsOngoing = useCallback((alternative) => {
35
- pepContext.setState({ isOngoing: alternative.value });
36
- if (alternative.value === PepStatus.ONGOING) {
37
- pepContext.setState({ ended: undefined });
38
- }
39
- }, [pepContext]);
40
- const labels = LABELS(pepContext.state.ownerName);
41
- const entityType = pepContext.state.legalEntityType || EntityType.PERSON;
42
- const type = pepContext.state.type;
43
- if (!type || type === PepType.NOT_PEP) {
44
- return null;
45
- }
46
- return (React.createElement("div", null,
47
- React.createElement(Form, { lysaFormRef: formRef, onSubmit: () => {
48
- nextPage();
49
- } },
50
- React.createElement(RadioGroup, { alternatives: stateAlternatives, header: getStatusOngoingHeader(entityType, type, pepContext.state.relationToPEP, pepContext.state.businessRelation, pepContext.state.ownerName), onChange: updateIsOngoing, value: stateAlternatives.find((alt) => alt.value === pepContext.state.isOngoing), validators: [RequiredValidator("Du måste välja ett alternativ")] }),
51
- pepContext.state.isOngoing &&
52
- pepContext.state.isOngoing === PepStatus.ENDED ? (React.createElement(Datepicker, { label: "N\u00E4r avslutades uppdraget?", selected: pepContext.state.ended, onChange: (event) => pepContext.setState({ ended: event || undefined }), validators: [RequiredValidator("Du måste ange datum")], showMonthYearPicker: true, dateFormat: "yyyy-MM", maxDate: new Date() })) : null,
53
- React.createElement(RadioGroup, { alternatives: isSwedenAlternatives, header: getStatusCountryHeader(entityType, type, pepContext.state.relationToPEP, pepContext.state.businessRelation, pepContext.state.ownerName), onChange: updateIsSweden, value: isSwedenAlternatives.find((alt) => alt.value === pepContext.state.isSweden), validators: [RequiredValidator("Du måste välja ett alternativ")] }),
54
- pepContext.state.isSweden && pepContext.state.isSweden === "other" ? (React.createElement(CountrySelect, { label: "V\u00E4lj i vilket land befattningen \u00E4r", onChange: (event) => pepContext.setState({
55
- country: event.value ? event.value.toString() : undefined,
56
- }), validators: [RequiredValidator("Du måste välja land")], value: pepContext.state.country, removeSweden: true })) : null,
57
- React.createElement(PrimaryButton, { type: "submit" }, "N\u00E4sta"))));
58
- };