@lysaab/lysa-pep 1.0.0-1 → 1.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 (62) hide show
  1. package/lib/Exports.d.ts +8 -7
  2. package/lib/Exports.js +8 -7
  3. package/lib/components/CountrySelect.d.ts +22 -15
  4. package/lib/components/CountrySelect.js +21 -30
  5. package/lib/components/PepAnswers.d.ts +8 -8
  6. package/lib/components/PepAnswers.js +39 -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/PepContext.d.ts +80 -80
  15. package/lib/pages/PepContext.js +88 -88
  16. package/lib/pages/PepIsPepPage.d.ts +15 -6
  17. package/lib/pages/PepIsPepPage.js +59 -57
  18. package/lib/pages/PepRelationPage.d.ts +6 -6
  19. package/lib/pages/PepRelationPage.js +79 -83
  20. package/lib/pages/PepRolePage.d.ts +10 -9
  21. package/lib/pages/PepRolePage.js +127 -127
  22. package/lib/pages/PepStatusPage.d.ts +6 -6
  23. package/lib/pages/PepStatusPage.js +58 -57
  24. package/package.json +53 -56
  25. package/src/Exports.ts +13 -12
  26. package/src/components/CountrySelect.tsx +43 -47
  27. package/src/components/PepAnswers.scss +7 -7
  28. package/src/components/PepAnswers.tsx +120 -252
  29. package/src/demo/Done.tsx +20 -16
  30. package/src/demo/Pep.tsx +106 -112
  31. package/src/model/PepModel.ts +52 -52
  32. package/src/model/PepTexts.ts +607 -0
  33. package/src/pages/PepContext.tsx +144 -144
  34. package/src/pages/PepIsPepPage.tsx +107 -0
  35. package/src/pages/PepRelationPage.tsx +188 -0
  36. package/src/pages/PepRolePage.tsx +272 -0
  37. package/src/pages/PepStatusPage.tsx +157 -0
  38. package/.vscode/settings.json +0 -4
  39. package/lib/pages/IsPep/IsPepMessages.d.ts +0 -32
  40. package/lib/pages/IsPep/IsPepMessages.js +0 -74
  41. package/lib/pages/IsPep/IsPepPage.d.ts +0 -14
  42. package/lib/pages/IsPep/IsPepPage.js +0 -39
  43. package/lib/pages/RelationPage/RelationMessages.d.ts +0 -105
  44. package/lib/pages/RelationPage/RelationMessages.js +0 -282
  45. package/lib/pages/RelationPage/RelationPage.d.ts +0 -6
  46. package/lib/pages/RelationPage/RelationPage.js +0 -142
  47. package/lib/pages/RolePage/RoleMessages.d.ts +0 -185
  48. package/lib/pages/RolePage/RoleMessages.js +0 -381
  49. package/lib/pages/RolePage/RolePage.d.ts +0 -11
  50. package/lib/pages/RolePage/RolePage.js +0 -214
  51. package/lib/pages/StatusPage/StatusMessages.d.ts +0 -72
  52. package/lib/pages/StatusPage/StatusMessages.js +0 -74
  53. package/lib/pages/StatusPage/StatusPage.d.ts +0 -6
  54. package/lib/pages/StatusPage/StatusPage.js +0 -75
  55. package/src/pages/IsPep/IsPepMessages.ts +0 -75
  56. package/src/pages/IsPep/IsPepPage.tsx +0 -94
  57. package/src/pages/RelationPage/RelationMessages.ts +0 -287
  58. package/src/pages/RelationPage/RelationPage.tsx +0 -269
  59. package/src/pages/RolePage/RoleMessages.ts +0 -389
  60. package/src/pages/RolePage/RolePage.tsx +0 -342
  61. package/src/pages/StatusPage/StatusMessages.ts +0 -80
  62. package/src/pages/StatusPage/StatusPage.tsx +0 -172
package/src/demo/Pep.tsx CHANGED
@@ -1,112 +1,106 @@
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 === 3 && type === PepType.ME) {
39
- setPage(1);
40
- } else {
41
- setPage(page - 1);
42
- }
43
- }}
44
- transitionKey={page.toString()}
45
- onExit={() => { }}
46
- >
47
- {page === 0 ? (
48
- <IsPepPage
49
- next={() =>
50
- type !== PepType.NOT_PEP ? setPage(page + 1) : setPage(4)
51
- }
52
- />
53
- ) : null}
54
- {page === 1 ? (
55
- <StatusPage
56
- next={() =>
57
- type === PepType.ME ? setPage(page + 2) : setPage(page + 1)
58
- }
59
- />
60
- ) : null}
61
- {page === 2 ? <RelationPage 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 { PepIsPepPage } from "../pages/PepIsPepPage";
4
+ import { PepStatusPage } from "../pages/PepStatusPage";
5
+ import { PepRolePage } from "../pages/PepRolePage";
6
+ import { PepContext, PepType, EntityType } from "../pages/PepContext";
7
+ import { Done } from "./Done";
8
+ import { PepRelationPage } from "../pages/PepRelationPage";
9
+
10
+ export function Pep() {
11
+ const [page, setPage] = useState(0);
12
+ const pepContext = useContext(PepContext);
13
+ const type = pepContext.state.type;
14
+ const loaded = useRef(false);
15
+
16
+ useEffect(() => {
17
+ if(!loaded.current) {
18
+ pepContext.setState({ ownerName: "Sean Banan", tin: '191212121212', legalEntityType: EntityType.PERSON });
19
+ loaded.current = true;
20
+ }
21
+ }, [loaded, pepContext]);
22
+
23
+ return (
24
+ <div style={{ maxWidth: "1000px", margin: "0 auto" }}>
25
+ <Story
26
+ header="PEP Lib"
27
+ showBack={page > 0}
28
+ showClose={false}
29
+ onBack={() => {
30
+ if (page === 4 && type === PepType.NOT_PEP) {
31
+ setPage(0);
32
+ } else if (page === 2 && type === PepType.ME) {
33
+ setPage(0);
34
+ } else {
35
+ setPage(page - 1);
36
+ }
37
+ }}
38
+ transitionKey={page.toString()}
39
+ onExit={() => {}}
40
+ >
41
+ {page === 0 && (
42
+ <PepIsPepPage
43
+ next={() => {
44
+ if (type === PepType.ME) {
45
+ setPage(2);
46
+ } else if (type === PepType.NOT_PEP) {
47
+ setPage(4);
48
+ } else {
49
+ setPage(1);
50
+ }
51
+ }}
52
+ />
53
+ )}
54
+ {page === 1 && <PepRelationPage next={() => setPage(2)} />}
55
+ {page === 2 && <PepStatusPage next={() => setPage(3)} />}
56
+ {page === 3 && <PepRolePage next={() => setPage(4)} />}
57
+ {page === 4 && <Done />}
58
+ </Story>
59
+ <hr />
60
+ <fieldset>
61
+ <legend>Konfig</legend>
62
+ <div>
63
+ <label>
64
+ Entitet
65
+
66
+ <select
67
+ value={pepContext.state.legalEntityType || EntityType.PERSON}
68
+ onChange={event => {
69
+ pepContext.setState({
70
+ legalEntityType: event.currentTarget.value as EntityType,
71
+ });
72
+ }}
73
+ >
74
+ <option value={EntityType.PERSON}>Person</option>
75
+ <option value={EntityType.CORPORATION}>Företag</option>
76
+ </select>
77
+ </label>
78
+ </div>
79
+ <div>
80
+ <label>
81
+ Namnet på den verkliga huvudmannen
82
+ <input
83
+ type="text"
84
+ value={pepContext.state.ownerName || ''}
85
+ onChange={event =>
86
+ pepContext.setState({ ownerName: event.currentTarget.value })
87
+ }
88
+ />
89
+ </label>
90
+ </div>
91
+ <div>
92
+ <label>
93
+ Personnummer på huvudmannen
94
+ <input
95
+ type="text"
96
+ value={pepContext.state.tin || ''}
97
+ onChange={event =>
98
+ pepContext.setState({ tin: event.currentTarget.value })
99
+ }
100
+ />
101
+ </label>
102
+ </div>
103
+ </fieldset>
104
+ </div>
105
+ );
106
+ }
@@ -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
+ }