@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
package/src/demo/Pep.tsx CHANGED
@@ -1,112 +1,112 @@
1
- import React, { useState, useContext, useEffect, useRef } from "react";
2
- import { Story } from "@lysaab/ui-2";
3
- import { IntlProvider } from "react-intl";
4
- import { IsPepPage } from "../pages/IsPep/IsPepPage";
5
- import { StatusPage } from "../pages/StatusPage/StatusPage";
6
- import { RolePage } from "../pages/RolePage/RolePage";
7
- import { PepContext, PepType, EntityType } from "../pages/PepContext";
8
- import { Done } from "./Done";
9
- import { RelationPage } from "../pages/RelationPage/RelationPage";
10
-
11
- export function Pep() {
12
- const [page, setPage] = useState(0);
13
- const pepContext = useContext(PepContext);
14
- const type = pepContext.state.type;
15
- const loaded = useRef(false);
16
-
17
- useEffect(() => {
18
- if (!loaded.current) {
19
- pepContext.setState({
20
- ownerName: "Sean Banan",
21
- tin: "191212121212",
22
- legalEntityType: EntityType.PERSON,
23
- });
24
- loaded.current = true;
25
- }
26
- }, [loaded, pepContext]);
27
-
28
- return (
29
- <div style={{ maxWidth: "1000px", margin: "0 auto" }}>
30
- <IntlProvider locale="sv">
31
- <Story
32
- header="PEP Lib"
33
- showBack={page > 0}
34
- showClose={false}
35
- onBack={() => {
36
- if (page === 4 && type === PepType.NOT_PEP) {
37
- setPage(0);
38
- } else if (page === 2 && type === PepType.ME) {
39
- setPage(0);
40
- } else {
41
- setPage(page - 1);
42
- }
43
- }}
44
- transitionKey={page.toString()}
45
- onExit={() => {}}
46
- >
47
- {page === 0 ? (
48
- <IsPepPage
49
- next={() => {
50
- if (type === PepType.NOT_PEP) {
51
- setPage(4);
52
- } else if (type === PepType.ME) {
53
- setPage(page + 2);
54
- } else {
55
- setPage(page + 1);
56
- }
57
- }}
58
- />
59
- ) : null}
60
- {page === 1 ? <RelationPage next={() => setPage(page + 1)} /> : null}
61
- {page === 2 ? <StatusPage next={() => setPage(page + 1)} /> : null}
62
- {page === 3 ? <RolePage next={() => setPage(page + 1)} /> : null}
63
- {page === 4 ? <Done /> : null}
64
- </Story>
65
- <hr />
66
- <fieldset>
67
- <legend>Konfig</legend>
68
- <div>
69
- <label>
70
- Verkligen huvudman
71
- <input
72
- type="checkbox"
73
- value={"true"}
74
- onChange={(event) =>
75
- pepContext.setState({
76
- legalEntityType: event.currentTarget.checked
77
- ? EntityType.CORPORATION
78
- : EntityType.PERSON,
79
- })
80
- }
81
- />
82
- </label>
83
- </div>
84
- <div>
85
- <label>
86
- Namnet på den verkliga huvudmannen
87
- <input
88
- type="text"
89
- value={pepContext.state.ownerName || ""}
90
- onChange={(event) =>
91
- pepContext.setState({ ownerName: event.currentTarget.value })
92
- }
93
- />
94
- </label>
95
- </div>
96
- <div>
97
- <label>
98
- Personnummer på huvudmannen
99
- <input
100
- type="text"
101
- value={pepContext.state.tin || ""}
102
- onChange={(event) =>
103
- pepContext.setState({ tin: event.currentTarget.value })
104
- }
105
- />
106
- </label>
107
- </div>
108
- </fieldset>
109
- </IntlProvider>
110
- </div>
111
- );
112
- }
1
+ import React, { useState, useContext, useEffect, useRef } from "react";
2
+ import { Story } from "@lysaab/ui-2";
3
+ import { IntlProvider } from "react-intl";
4
+ import { IsPepPage } from "../pages/IsPep/IsPepPage";
5
+ import { StatusPage } from "../pages/StatusPage/StatusPage";
6
+ import { RolePage } from "../pages/RolePage/RolePage";
7
+ import { PepContext, PepType, EntityType } from "../pages/PepContext";
8
+ import { Done } from "./Done";
9
+ import { RelationPage } from "../pages/RelationPage/RelationPage";
10
+
11
+ export function Pep() {
12
+ const [page, setPage] = useState(0);
13
+ const pepContext = useContext(PepContext);
14
+ const type = pepContext.state.type;
15
+ const loaded = useRef(false);
16
+
17
+ useEffect(() => {
18
+ if (!loaded.current) {
19
+ pepContext.setState({
20
+ ownerName: "Sean Banan",
21
+ tin: "191212121212",
22
+ legalEntityType: EntityType.PERSON,
23
+ });
24
+ loaded.current = true;
25
+ }
26
+ }, [loaded, pepContext]);
27
+
28
+ return (
29
+ <div style={{ maxWidth: "1000px", margin: "0 auto" }}>
30
+ <IntlProvider locale="sv">
31
+ <Story
32
+ header="PEP Lib"
33
+ showBack={page > 0}
34
+ showClose={false}
35
+ onBack={() => {
36
+ if (page === 4 && type === PepType.NOT_PEP) {
37
+ setPage(0);
38
+ } else if (page === 2 && type === PepType.ME) {
39
+ setPage(0);
40
+ } else {
41
+ setPage(page - 1);
42
+ }
43
+ }}
44
+ transitionKey={page.toString()}
45
+ onExit={() => {}}
46
+ >
47
+ {page === 0 ? (
48
+ <IsPepPage
49
+ next={() => {
50
+ if (type === PepType.NOT_PEP) {
51
+ setPage(4);
52
+ } else if (type === PepType.ME) {
53
+ setPage(page + 2);
54
+ } else {
55
+ setPage(page + 1);
56
+ }
57
+ }}
58
+ />
59
+ ) : null}
60
+ {page === 1 ? <RelationPage next={() => setPage(page + 1)} /> : null}
61
+ {page === 2 ? <StatusPage next={() => setPage(page + 1)} /> : null}
62
+ {page === 3 ? <RolePage next={() => setPage(page + 1)} /> : null}
63
+ {page === 4 ? <Done /> : null}
64
+ </Story>
65
+ <hr />
66
+ <fieldset>
67
+ <legend>Konfig</legend>
68
+ <div>
69
+ <label>
70
+ Verkligen huvudman
71
+ <input
72
+ type="checkbox"
73
+ value={"true"}
74
+ onChange={(event) =>
75
+ pepContext.setState({
76
+ legalEntityType: event.currentTarget.checked
77
+ ? EntityType.CORPORATION
78
+ : EntityType.PERSON,
79
+ })
80
+ }
81
+ />
82
+ </label>
83
+ </div>
84
+ <div>
85
+ <label>
86
+ Namnet på den verkliga huvudmannen
87
+ <input
88
+ type="text"
89
+ value={pepContext.state.ownerName || ""}
90
+ onChange={(event) =>
91
+ pepContext.setState({ ownerName: event.currentTarget.value })
92
+ }
93
+ />
94
+ </label>
95
+ </div>
96
+ <div>
97
+ <label>
98
+ Personnummer på huvudmannen
99
+ <input
100
+ type="text"
101
+ value={pepContext.state.tin || ""}
102
+ onChange={(event) =>
103
+ pepContext.setState({ tin: event.currentTarget.value })
104
+ }
105
+ />
106
+ </label>
107
+ </div>
108
+ </fieldset>
109
+ </IntlProvider>
110
+ </div>
111
+ );
112
+ }
@@ -1,52 +1,52 @@
1
- import { PepState, PepType, EntityType, PepStatus } from "../pages/PepContext";
2
- import { DateTime } from "luxon";
3
-
4
- export interface PepRequest
5
- extends Omit<PepState, "isSweden" | "isOngoing" | "ended" | "birthdayOfPEP"> {
6
- ended?: string;
7
- birthdayOfPEP?: string;
8
- }
9
-
10
- /**
11
- * Do some minor preprocessing before we are ready to send everything to the
12
- * server
13
- */
14
- export function stateToRequest(pepData: PepState): PepRequest {
15
- const data = { ...pepData };
16
- delete data.isSweden;
17
- delete data.isOngoing;
18
- delete data.ownerName;
19
- if (data.legalEntityType === EntityType.PERSON) {
20
- delete data.tin;
21
- }
22
- return {
23
- ...data,
24
- country: data.type !== PepType.NOT_PEP ? data.country || "SE" : undefined,
25
- ended: data.ended
26
- ? DateTime.fromJSDate(data.ended).toFormat("yyyy-MM")
27
- : undefined,
28
- birthdayOfPEP: data.birthdayOfPEP
29
- ? DateTime.fromJSDate(data.birthdayOfPEP).toFormat("yyyy-MM-dd")
30
- : undefined
31
- };
32
- }
33
-
34
- export function requestToState({
35
- ended,
36
- birthdayOfPEP,
37
- ...serverData
38
- }: PepRequest): PepState {
39
- const state: PepState = { ...serverData };
40
- if (ended) {
41
- state.ended = DateTime.fromFormat(ended, "yyyy-MM").toJSDate();
42
- }
43
- if (birthdayOfPEP) {
44
- state.birthdayOfPEP = DateTime.fromFormat(
45
- birthdayOfPEP,
46
- "yyyy-MM-dd"
47
- ).toJSDate();
48
- }
49
- state.isSweden = state.country === "SE" ? "sweden" : "other";
50
- state.isOngoing = state.ended ? PepStatus.ENDED : PepStatus.ONGOING;
51
- return state;
52
- }
1
+ import { PepState, PepType, EntityType, PepStatus } from "../pages/PepContext";
2
+ import { DateTime } from "luxon";
3
+
4
+ export interface PepRequest
5
+ extends Omit<PepState, "isSweden" | "isOngoing" | "ended" | "birthdayOfPEP"> {
6
+ ended?: string;
7
+ birthdayOfPEP?: string;
8
+ }
9
+
10
+ /**
11
+ * Do some minor preprocessing before we are ready to send everything to the
12
+ * server
13
+ */
14
+ export function stateToRequest(pepData: PepState): PepRequest {
15
+ const data = { ...pepData };
16
+ delete data.isSweden;
17
+ delete data.isOngoing;
18
+ delete data.ownerName;
19
+ if (data.legalEntityType === EntityType.PERSON) {
20
+ delete data.tin;
21
+ }
22
+ return {
23
+ ...data,
24
+ country: data.type !== PepType.NOT_PEP ? data.country || "SE" : undefined,
25
+ ended: data.ended
26
+ ? DateTime.fromJSDate(data.ended).toFormat("yyyy-MM")
27
+ : undefined,
28
+ birthdayOfPEP: data.birthdayOfPEP
29
+ ? DateTime.fromJSDate(data.birthdayOfPEP).toFormat("yyyy-MM-dd")
30
+ : undefined
31
+ };
32
+ }
33
+
34
+ export function requestToState({
35
+ ended,
36
+ birthdayOfPEP,
37
+ ...serverData
38
+ }: PepRequest): PepState {
39
+ const state: PepState = { ...serverData };
40
+ if (ended) {
41
+ state.ended = DateTime.fromFormat(ended, "yyyy-MM").toJSDate();
42
+ }
43
+ if (birthdayOfPEP) {
44
+ state.birthdayOfPEP = DateTime.fromFormat(
45
+ birthdayOfPEP,
46
+ "yyyy-MM-dd"
47
+ ).toJSDate();
48
+ }
49
+ state.isSweden = state.country === "SE" ? "sweden" : "other";
50
+ state.isOngoing = state.ended ? PepStatus.ENDED : PepStatus.ONGOING;
51
+ return state;
52
+ }
@@ -1,67 +1,67 @@
1
- import { defineMessages } from "react-intl";
2
- import { PepType } from "../PepContext";
3
-
4
- export const messages = defineMessages({
5
- header: {
6
- id: "pep.ispep.header",
7
- description: "Not pep",
8
- defaultMessage: `{
9
- entityType, select,
10
- PERSON {
11
- Är du eller en närstående till dig en person i politisk utsatt ställning? (PEP)
12
- }
13
- CORPORATION {
14
- Är {name} eller en närstående till {name} en person i politisk utsatt ställning? (PEP)
15
- }
16
- }`,
17
- },
18
- required: {
19
- id: "pep.ispep.required",
20
- description: "Not pep",
21
- defaultMessage: "Du måste välja ett alternativ",
22
- },
23
- [PepType.NOT_PEP]: {
24
- id: "pep.ispep.NOT_PEP",
25
- description: "Not pep",
26
- defaultMessage: "Nej",
27
- },
28
- [PepType.ME]: {
29
- id: "pep.ispep.ME",
30
- description: "The person is pep",
31
- defaultMessage: `{
32
- entityType, select,
33
- PERSON {
34
- Jag har en funktion som gör mig till PEP
35
- }
36
- CORPORATION {
37
- På grund av sin funktion är {name} PEP
38
- }
39
- }`,
40
- },
41
- [PepType.RELATIVE]: {
42
- id: "pep.ispep.RELATIVE",
43
- description: "Jag har en relation med en person som är PEP",
44
- defaultMessage: `{
45
- entityType, select,
46
- PERSON {
47
- Jag har en relation med en person som är PEP
48
- }
49
- CORPORATION {
50
- {name} är medarbetare till, eller har en affärsrelation med, en person som är PEP
51
- }
52
- }`,
53
- },
54
- [PepType.COLLEAGUE]: {
55
- id: "pep.ispep.COLLEAGUE",
56
- description: "The person has a colleague that is pep",
57
- defaultMessage: `{
58
- entityType, select,
59
- PERSON {
60
- Jag är medarbetare till, eller har en affärsrelation med, en person som är PEP
61
- }
62
- CORPORATION {
63
- På grund av sin funktion är {name} PEP
64
- }
65
- }`,
66
- },
67
- });
1
+ import { defineMessages } from "react-intl";
2
+ import { PepType } from "../PepContext";
3
+
4
+ export const messages = defineMessages({
5
+ header: {
6
+ id: "pep.ispep.header",
7
+ description: "Not pep",
8
+ defaultMessage: `{
9
+ entityType, select,
10
+ PERSON {
11
+ Är du eller en närstående till dig en person i politisk utsatt ställning? (PEP)
12
+ }
13
+ CORPORATION {
14
+ Är {name} eller en närstående till {name} en person i politisk utsatt ställning? (PEP)
15
+ }
16
+ }`,
17
+ },
18
+ required: {
19
+ id: "pep.ispep.required",
20
+ description: "Not pep",
21
+ defaultMessage: "Du måste välja ett alternativ",
22
+ },
23
+ [PepType.NOT_PEP]: {
24
+ id: "pep.ispep.NOT_PEP",
25
+ description: "Not pep",
26
+ defaultMessage: "Nej",
27
+ },
28
+ [PepType.ME]: {
29
+ id: "pep.ispep.ME",
30
+ description: "The person is pep",
31
+ defaultMessage: `{
32
+ entityType, select,
33
+ PERSON {
34
+ Jag har en funktion som gör mig till PEP
35
+ }
36
+ CORPORATION {
37
+ På grund av sin funktion är {name} PEP
38
+ }
39
+ }`,
40
+ },
41
+ [PepType.RELATIVE]: {
42
+ id: "pep.ispep.RELATIVE",
43
+ description: "Jag har en relation med en person som är PEP",
44
+ defaultMessage: `{
45
+ entityType, select,
46
+ PERSON {
47
+ Jag har en relation med en person som är PEP
48
+ }
49
+ CORPORATION {
50
+ {name} är medarbetare till, eller har en affärsrelation med, en person som är PEP
51
+ }
52
+ }`,
53
+ },
54
+ [PepType.COLLEAGUE]: {
55
+ id: "pep.ispep.COLLEAGUE",
56
+ description: "The person has a colleague that is pep",
57
+ defaultMessage: `{
58
+ entityType, select,
59
+ PERSON {
60
+ Jag är medarbetare till, eller har en affärsrelation med, en person som är PEP
61
+ }
62
+ CORPORATION {
63
+ På grund av sin funktion är {name} PEP
64
+ }
65
+ }`,
66
+ },
67
+ });