@lysaab/lysa-pep 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.
@@ -0,0 +1,513 @@
1
+ import {
2
+ PepType,
3
+ EntityType,
4
+ BusinessRelation,
5
+ Relation
6
+ } from "../pages/PepContext";
7
+
8
+ export const LABELS = (name?: string) => {
9
+ let possessiveName = name;
10
+ if (possessiveName && possessiveName[possessiveName.length - 1] !== "s") {
11
+ possessiveName += "s";
12
+ }
13
+
14
+ return {
15
+ [EntityType.PERSON]: {
16
+ GENERIC: {
17
+ IS_PEP: {
18
+ [PepType.NOT_PEP]: `Nej`,
19
+ [PepType.ME]: `Jag har en funktion som gör mig till PEP`,
20
+ [PepType.RELATIVE]: `Jag har en relation med en person som är PEP`,
21
+ [PepType.COLLEAGUE]: `Jag är medarbetare till, eller har en affärsrelation med, en person som är PEP`
22
+ },
23
+ IS_PEP_HEADER: `Är du eller en närstående till dig en person i en politisk utsatt ställning? (PEP)`
24
+ },
25
+ [PepType.ME]: {
26
+ ROLE_LABEL: `Ange din roll`,
27
+ AMBASSADOR_LABEL: `Ange land`,
28
+ GOVERNMENT_COMPANY_NAME_LABEL: `Ange namnet på företaget`,
29
+ GOVERNMENT_COMPANY_ROLE_LABEL: `Ange din roll i företaget`,
30
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL: `Ange namnet på organisationen`,
31
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL: `Ange din roll i organisationen`,
32
+ MILITARY_OFFICER_LABEL: `Ange din rang`
33
+ },
34
+ [PepType.RELATIVE]: {
35
+ RELATION: {
36
+ [Relation.MARRIED_PARTNER]: `Make/Maka till PEP`,
37
+ [Relation.COLIVING_PARTNER]: `Sambo till PEP`,
38
+ [Relation.CHILD]: `Barn till PEP`,
39
+ [Relation.PARENT]: `Förälder till PEP`,
40
+ [Relation.CHILD_MARRIED_PARTNER]: `Make/Maka till barn till PEP`,
41
+ [Relation.CHILD_COLIVING_PARTNER]: `Sambo till barn till PEP`
42
+ },
43
+ RELATION_LABEL: `Vilken relation har du till personen i politiskt utsatt ställning?`,
44
+ NAME_LABEL: {
45
+ [Relation.MARRIED_PARTNER]: `Vad heter din make/maka?`,
46
+ [Relation.COLIVING_PARTNER]: `Vad heter din sambo?`,
47
+ [Relation.CHILD]: `Vad heter din förälder?`,
48
+ [Relation.PARENT]: `Vad heter ditt barn?`,
49
+ [Relation.CHILD_MARRIED_PARTNER]: `Vad heter föräldern till din make/maka?`,
50
+ [Relation.CHILD_COLIVING_PARTNER]: `Vad heter föräldern till din sambo?`
51
+ },
52
+ BIRTH_LABEL: {
53
+ [Relation.MARRIED_PARTNER]: `När är din make/maka född?`,
54
+ [Relation.COLIVING_PARTNER]: `När är din sambo född?`,
55
+ [Relation.CHILD]: `När är din förälder född?`,
56
+ [Relation.PARENT]: `När är ditt barn fött?`,
57
+ [Relation.CHILD_MARRIED_PARTNER]: `När är föräldern till din make/maka född?`,
58
+ [Relation.CHILD_COLIVING_PARTNER]: `När är föräldern till din sambo född?`
59
+ },
60
+ ROLE_LABEL: {
61
+ [Relation.MARRIED_PARTNER]: `Ange tjänst/roll för din make/maka`,
62
+ [Relation.COLIVING_PARTNER]: `Ange tjänst/roll för din sambo`,
63
+ [Relation.CHILD]: `Ange tjänst/roll för din förälder`,
64
+ [Relation.PARENT]: `Ange tjänst/roll för ditt barn`,
65
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange tjänst/roll för föräldern till din make/maka`,
66
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange tjänst/roll för föräldern till din sambo`
67
+ },
68
+ AMBASSADOR_LABEL: {
69
+ [Relation.MARRIED_PARTNER]: `Ange land`,
70
+ [Relation.COLIVING_PARTNER]: `Ange land`,
71
+ [Relation.CHILD]: `Ange land`,
72
+ [Relation.PARENT]: `Ange land`,
73
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange land`,
74
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange land`
75
+ },
76
+ GOVERNMENT_COMPANY_NAME_LABEL: {
77
+ [Relation.MARRIED_PARTNER]: `Ange organisationens namn`,
78
+ [Relation.COLIVING_PARTNER]: `Ange organisationens namn`,
79
+ [Relation.CHILD]: `Ange organisationens namn`,
80
+ [Relation.PARENT]: `Ange organisationens namn`,
81
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange organisationens namn`,
82
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange organisationens namn`
83
+ },
84
+ GOVERNMENT_COMPANY_ROLE_LABEL: {
85
+ [Relation.MARRIED_PARTNER]: `Ange tjänst/roll`,
86
+ [Relation.COLIVING_PARTNER]: `Ange tjänst/roll`,
87
+ [Relation.CHILD]: `Ange tjänst/roll`,
88
+ [Relation.PARENT]: `Ange tjänst/roll`,
89
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange tjänst/roll`,
90
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange tjänst/roll`
91
+ },
92
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL: {
93
+ [Relation.MARRIED_PARTNER]: `Ange organisationens namn`,
94
+ [Relation.COLIVING_PARTNER]: `Ange organisationens namn`,
95
+ [Relation.CHILD]: `Ange organisationens namn`,
96
+ [Relation.PARENT]: `Ange organisationens namn`,
97
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange organisationens namn`,
98
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange organisationens namn`
99
+ },
100
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL: {
101
+ [Relation.MARRIED_PARTNER]: `Ange tjänst/roll`,
102
+ [Relation.COLIVING_PARTNER]: `Ange tjänst/roll`,
103
+ [Relation.CHILD]: `Ange tjänst/roll`,
104
+ [Relation.PARENT]: `Ange tjänst/roll`,
105
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange tjänst/roll`,
106
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange tjänst/roll?`
107
+ },
108
+ MILITARY_OFFICER_LABEL: {
109
+ [Relation.MARRIED_PARTNER]: `Ange din make/maka/registrerade partners grad`,
110
+ [Relation.COLIVING_PARTNER]: `Ange din sambos grad`,
111
+ [Relation.CHILD]: `Ange din förälders grad`,
112
+ [Relation.PARENT]: `Ange ditt barns grad`,
113
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange din make/makas förälders grad`,
114
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange din sambos grad`
115
+ }
116
+ },
117
+ [PepType.COLLEAGUE]: {
118
+ BUSINESS_RELATION: {
119
+ [BusinessRelation.CO_OWNERSHIP]: `Jag är verklig huvudman till en juridisk person, eller juridiska konstruktioner, tillsammans med en PEP`,
120
+ [BusinessRelation.CLOSE_CONNECTION]: `Jag är en person som på annat sätt har eller har haft nära förbindelser med en PEP`,
121
+ [BusinessRelation.COMPANY_FOR_PEP]: `Jag är ensam verklig huvudman till en juridisk person eller konstruktion som har upprättats till förmån för en PEP`
122
+ },
123
+ BUSINESS_RELATION_LABEL: `Vilken relation har du till personen i politisk utsatt ställning?`,
124
+ NAME_LABEL: {
125
+ [BusinessRelation.CO_OWNERSHIP]: `Vad heter personen i politisk ställning som du har en relation till`,
126
+ [BusinessRelation.CLOSE_CONNECTION]: `Vad heter personen i politisk ställning som du har en relation till`,
127
+ [BusinessRelation.COMPANY_FOR_PEP]: `Vad heter personen i politisk ställning som du har en relation till`
128
+ },
129
+ BIRTH_LABEL: {
130
+ [BusinessRelation.CO_OWNERSHIP]: `När är personen som har bestämmande rätt över företaget född?`,
131
+ [BusinessRelation.CLOSE_CONNECTION]: `När är personen som du har eller har haft nära förbindelse med född?`,
132
+ [BusinessRelation.COMPANY_FOR_PEP]: `När är personen född?`
133
+ },
134
+ ROLE_LABEL: {
135
+ [BusinessRelation.CO_OWNERSHIP]: `Ange tjänst/roll personen i politisk ställning som du har en relation till`,
136
+ [BusinessRelation.CLOSE_CONNECTION]: `AngeAnge tjänst/roll personen i politisk ställning som du har en relation till`,
137
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange tjänst/roll personen i politisk ställning som du har en relation till`
138
+ },
139
+ AMBASSADOR_LABEL: {
140
+ [BusinessRelation.CO_OWNERSHIP]: `Ange land`,
141
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange land`,
142
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange land`
143
+ },
144
+ GOVERNMENT_COMPANY_NAME_LABEL: {
145
+ [BusinessRelation.CO_OWNERSHIP]: `Ange organisationens namn`,
146
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange organisationens namn`,
147
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange organisationens namn?`
148
+ },
149
+ GOVERNMENT_COMPANY_ROLE_LABEL: {
150
+ [BusinessRelation.CO_OWNERSHIP]: `Ange tjänst/roll`,
151
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange tjänst/roll`,
152
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange tjänst/roll?`
153
+ },
154
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL: {
155
+ [BusinessRelation.CO_OWNERSHIP]: `Ange organisationens namn`,
156
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange organisationens namn`,
157
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange organisationens namn?`
158
+ },
159
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL: {
160
+ [BusinessRelation.CO_OWNERSHIP]: `Ange tjänst/roll`,
161
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange tjänst/roll`,
162
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange tjänst/roll`
163
+ },
164
+ MILITARY_OFFICER_LABEL: {
165
+ [BusinessRelation.CO_OWNERSHIP]: `Ange grad för personen som har bestämmande rätt över företaget`,
166
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange grad för personen som du har eller har haft nära förbindelse`,
167
+ [BusinessRelation.COMPANY_FOR_PEP]: `Vilken grad för personen`
168
+ }
169
+ }
170
+ },
171
+ [EntityType.CORPORATION]: {
172
+ GENERIC: {
173
+ IS_PEP: {
174
+ [PepType.NOT_PEP]: `Nej`,
175
+ [PepType.ME]: `${name ||
176
+ "Jag"} har en funktion som gör hen till PEP`,
177
+ [PepType.RELATIVE]: `${name ||
178
+ "Jag"} har en relation med en person som är PEP`,
179
+ [PepType.COLLEAGUE]: `${name ||
180
+ "Jag"} är medarbetare till, eller har en affärsrelation med, en person som är PEP`
181
+ },
182
+ IS_PEP_HEADER: `Är ${name ||
183
+ "du"} eller en närstående till ${name ||
184
+ "dig"} en person i en politisk utsatt ställning? (PEP)`
185
+ },
186
+ [PepType.ME]: {
187
+ ROLE_LABEL: `Ange ${possessiveName || "din"} roll`,
188
+ AMBASSADOR_LABEL: `Ange land`,
189
+ GOVERNMENT_COMPANY_NAME_LABEL: `Ange namnet på företaget`,
190
+ GOVERNMENT_COMPANY_ROLE_LABEL: `Ange ${possessiveName ||
191
+ "din"} roll i företaget`,
192
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL: `Ange namnet på organisationen`,
193
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL: `Ange ${possessiveName ||
194
+ "din"} roll i organisationen`,
195
+ MILITARY_OFFICER_LABEL: `Ange ${possessiveName || "din"} rang`
196
+ },
197
+ [PepType.RELATIVE]: {
198
+ RELATION: {
199
+ [Relation.MARRIED_PARTNER]: `Make/Maka till PEP`,
200
+ [Relation.COLIVING_PARTNER]: `Sambo till PEP`,
201
+ [Relation.CHILD]: `Barn till PEP`,
202
+ [Relation.PARENT]: `Förälder till PEP`,
203
+ [Relation.CHILD_MARRIED_PARTNER]: `Make/Maka till barn till PEP`,
204
+ [Relation.CHILD_COLIVING_PARTNER]: `Sambo till barn till PEP`
205
+ },
206
+ RELATION_LABEL: `Vilken relation har ${possessiveName ||
207
+ "du"} till personen i politiskt utsatt ställning?`,
208
+ NAME_LABEL: {
209
+ [Relation.MARRIED_PARTNER]: `Vad heter ${possessiveName ||
210
+ "din"} make/maka?`,
211
+ [Relation.COLIVING_PARTNER]: `Vad heter ${possessiveName || "din"} sambo?`,
212
+ [Relation.CHILD]: `Vad heter ${possessiveName || "din"} förälder?`,
213
+ [Relation.PARENT]: `Vad heter ${possessiveName ||
214
+ "ditt"} barn?`,
215
+ [Relation.CHILD_MARRIED_PARTNER]: `Vad heter föräldern till ${possessiveName ||
216
+ "din"} make/maka?`,
217
+ [Relation.CHILD_COLIVING_PARTNER]: `Vad heter föräldern till ${possessiveName ||
218
+ "din"} sambo?`
219
+ },
220
+ BIRTH_LABEL: {
221
+ [Relation.MARRIED_PARTNER]: `När är ${possessiveName ||
222
+ "din"} make/maka född?`,
223
+ [Relation.COLIVING_PARTNER]: `När är ${possessiveName ||
224
+ "din"} sambo född?`,
225
+ [Relation.CHILD]: `När är ${possessiveName || "din"} förälder född?`,
226
+ [Relation.PARENT]: `När är ${possessiveName ||
227
+ "ditt"} barn fött?`,
228
+ [Relation.CHILD_MARRIED_PARTNER]: `När är föräldern till ${possessiveName ||
229
+ "din"} make/maka född?`,
230
+ [Relation.CHILD_COLIVING_PARTNER]: `När är föräldern till ${possessiveName ||
231
+ "din"} sambo född?`
232
+ },
233
+ ROLE_LABEL: {
234
+ [Relation.MARRIED_PARTNER]: `Ange tjänst/roll för ${possessiveName ||
235
+ "din"} make/maka`,
236
+ [Relation.COLIVING_PARTNER]: `Ange tjänst/roll för ${possessiveName ||
237
+ "din"} sambo`,
238
+ [Relation.CHILD]: `Ange tjänst/roll för ${possessiveName ||
239
+ "din"} förälder`,
240
+ [Relation.PARENT]: `Ange tjänst/roll för ${possessiveName ||
241
+ "din"} barn`,
242
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange tjänst/roll för föräldern till ${possessiveName ||
243
+ "din"} make/maka`,
244
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange tjänst/roll för föräldern till ${possessiveName ||
245
+ "din"} sambo`
246
+ },
247
+ AMBASSADOR_LABEL: {
248
+ [Relation.MARRIED_PARTNER]: `Ange land`,
249
+ [Relation.COLIVING_PARTNER]: `Ange land`,
250
+ [Relation.CHILD]: `Ange land`,
251
+ [Relation.PARENT]: `Ange land`,
252
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange land`,
253
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange land`
254
+ },
255
+ GOVERNMENT_COMPANY_NAME_LABEL: {
256
+ [Relation.MARRIED_PARTNER]: `Ange organisationens namn`,
257
+ [Relation.COLIVING_PARTNER]: `Ange organisationens namn`,
258
+ [Relation.CHILD]: `Ange organisationens namn`,
259
+ [Relation.PARENT]: `Ange organisationens namn`,
260
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange organisationens namn`,
261
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange organisationens namn`
262
+ },
263
+ GOVERNMENT_COMPANY_ROLE_LABEL: {
264
+ [Relation.MARRIED_PARTNER]: `Ange tjänst/roll`,
265
+ [Relation.COLIVING_PARTNER]: `Ange tjänst/roll`,
266
+ [Relation.CHILD]: `Ange tjänst/roll`,
267
+ [Relation.PARENT]: `Ange tjänst/roll`,
268
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange tjänst/roll`,
269
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange tjänst/roll`
270
+ },
271
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL: {
272
+ [Relation.MARRIED_PARTNER]: `Ange organisationens namn`,
273
+ [Relation.COLIVING_PARTNER]: `Ange organisationens namn`,
274
+ [Relation.CHILD]: `Ange organisationens namn`,
275
+ [Relation.PARENT]: `Ange organisationens namn`,
276
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange organisationens namn`,
277
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange organisationens namn`
278
+ },
279
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL: {
280
+ [Relation.MARRIED_PARTNER]: `Ange tjänst/roll`,
281
+ [Relation.COLIVING_PARTNER]: `Ange tjänst/roll`,
282
+ [Relation.CHILD]: `Ange tjänst/roll`,
283
+ [Relation.PARENT]: `Ange tjänst/roll`,
284
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange tjänst/roll`,
285
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange tjänst/roll?`
286
+ },
287
+ MILITARY_OFFICER_LABEL: {
288
+ [Relation.MARRIED_PARTNER]: `Ange ${possessiveName ||
289
+ "din"} make/maka/registrerade partners grad`,
290
+ [Relation.COLIVING_PARTNER]: `Ange ${possessiveName || "din"} sambos grad`,
291
+ [Relation.CHILD]: `Ange ${possessiveName || "din"} förälders grad`,
292
+ [Relation.PARENT]: `Ange ${possessiveName ||
293
+ "ditt"} barns grad`,
294
+ [Relation.CHILD_MARRIED_PARTNER]: `Ange ${possessiveName ||
295
+ "din"} make/makas förälders grad`,
296
+ [Relation.CHILD_COLIVING_PARTNER]: `Ange ${possessiveName ||
297
+ "din"} sambos grad`
298
+ }
299
+ },
300
+ [PepType.COLLEAGUE]: {
301
+ BUSINESS_RELATION: {
302
+ [BusinessRelation.CO_OWNERSHIP]: `${name ||
303
+ "Jag"} är verklig huvudman till en juridisk person, eller juridiska konstruktioner, tillsammans med en PEP`,
304
+ [BusinessRelation.CLOSE_CONNECTION]: `${name ||
305
+ "Jag"} är en person som på annat sätt har eller har haft nära förbindelser med en PEP`,
306
+ [BusinessRelation.COMPANY_FOR_PEP]: `${name ||
307
+ "Jag"} är ensam verklig huvudman till en juridisk person eller konstruktion som har upprättats till förmån för en PEP`
308
+ },
309
+ BUSINESS_RELATION_LABEL: `Vilken relation har ${name ||
310
+ "du"} till personen i politisk utsatt ställning?`,
311
+ NAME_LABEL: {
312
+ [BusinessRelation.CO_OWNERSHIP]: `Vad heter personen i politisk ställning som ${name ||
313
+ "du"} har en relation till`,
314
+ [BusinessRelation.CLOSE_CONNECTION]: `Vad heter personen i politisk ställning som ${name ||
315
+ "du"} har en relation till`,
316
+ [BusinessRelation.COMPANY_FOR_PEP]: `Vad heter personen i politisk ställning som ${name ||
317
+ "du"} har en relation till`
318
+ },
319
+ BIRTH_LABEL: {
320
+ [BusinessRelation.CO_OWNERSHIP]: `När är personen som har bestämmande rätt över företaget född?`,
321
+ [BusinessRelation.CLOSE_CONNECTION]: `När är personen som ${name ||
322
+ "du"} har eller har haft nära förbindelse med född?`,
323
+ [BusinessRelation.COMPANY_FOR_PEP]: `När är personen född?`
324
+ },
325
+ ROLE_LABEL: {
326
+ [BusinessRelation.CO_OWNERSHIP]: `Ange tjänst/roll personen i politisk ställning som ${name ||
327
+ "du"} har en relation till`,
328
+ [BusinessRelation.CLOSE_CONNECTION]: `AngeAnge tjänst/roll personen i politisk ställning som ${name ||
329
+ "du"} har en relation till`,
330
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange tjänst/roll personen i politisk ställning som ${name ||
331
+ "du"} har en relation till`
332
+ },
333
+ AMBASSADOR_LABEL: {
334
+ [BusinessRelation.CO_OWNERSHIP]: `Ange land`,
335
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange land`,
336
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange land`
337
+ },
338
+ GOVERNMENT_COMPANY_NAME_LABEL: {
339
+ [BusinessRelation.CO_OWNERSHIP]: `Ange organisationens namn`,
340
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange organisationens namn`,
341
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange organisationens namn?`
342
+ },
343
+ GOVERNMENT_COMPANY_ROLE_LABEL: {
344
+ [BusinessRelation.CO_OWNERSHIP]: `Ange tjänst/roll`,
345
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange tjänst/roll`,
346
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange tjänst/roll?`
347
+ },
348
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL: {
349
+ [BusinessRelation.CO_OWNERSHIP]: `Ange organisationens namn`,
350
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange organisationens namn`,
351
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange organisationens namn?`
352
+ },
353
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL: {
354
+ [BusinessRelation.CO_OWNERSHIP]: `Ange tjänst/roll`,
355
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange tjänst/roll`,
356
+ [BusinessRelation.COMPANY_FOR_PEP]: `Ange tjänst/roll`
357
+ },
358
+ MILITARY_OFFICER_LABEL: {
359
+ [BusinessRelation.CO_OWNERSHIP]: `Ange grad för personen som har bestämmande rätt över företaget`,
360
+ [BusinessRelation.CLOSE_CONNECTION]: `Ange grad för personen som ${name ||
361
+ "du"} har eller har haft nära förbindelse`,
362
+ [BusinessRelation.COMPANY_FOR_PEP]: `Vilken grad för personen`
363
+ }
364
+ }
365
+ }
366
+ };
367
+ };
368
+
369
+ export function getGovernmentCompanyNameLabel(
370
+ entityType: EntityType,
371
+ type: PepType,
372
+ relation?: Relation,
373
+ businessRelation?: BusinessRelation,
374
+ name?: string
375
+ ) {
376
+ if (type === PepType.ME) {
377
+ return LABELS(name)[entityType][type].GOVERNMENT_COMPANY_NAME_LABEL;
378
+ } else if (type === PepType.RELATIVE && relation) {
379
+ return LABELS(name)[entityType][type].GOVERNMENT_COMPANY_NAME_LABEL[
380
+ relation
381
+ ];
382
+ } else if (type === PepType.COLLEAGUE && businessRelation) {
383
+ return LABELS(name)[entityType][type].GOVERNMENT_COMPANY_NAME_LABEL[
384
+ businessRelation
385
+ ];
386
+ } else {
387
+ return LABELS(name)[EntityType.PERSON][PepType.ME]
388
+ .GOVERNMENT_COMPANY_NAME_LABEL;
389
+ }
390
+ }
391
+
392
+ export function getGovernmentCompanyRoleLabel(
393
+ entityType: EntityType,
394
+ type: PepType,
395
+ relation?: Relation,
396
+ businessRelation?: BusinessRelation,
397
+ name?: string
398
+ ) {
399
+ if (type === PepType.ME) {
400
+ return LABELS(name)[entityType][type].GOVERNMENT_COMPANY_ROLE_LABEL;
401
+ } else if (type === PepType.RELATIVE && relation) {
402
+ return LABELS(name)[entityType][type].GOVERNMENT_COMPANY_ROLE_LABEL[
403
+ relation
404
+ ];
405
+ } else if (type === PepType.COLLEAGUE && businessRelation) {
406
+ return LABELS(name)[entityType][type].GOVERNMENT_COMPANY_ROLE_LABEL[
407
+ businessRelation
408
+ ];
409
+ } else {
410
+ return LABELS(name)[EntityType.PERSON][PepType.ME]
411
+ .GOVERNMENT_COMPANY_ROLE_LABEL;
412
+ }
413
+ }
414
+
415
+ export function getHighRankingPositionIntCorpNameLabel(
416
+ entityType: EntityType,
417
+ type: PepType,
418
+ relation?: Relation,
419
+ businessRelation?: BusinessRelation,
420
+ name?: string
421
+ ) {
422
+ if (type === PepType.ME) {
423
+ return LABELS(name)[entityType][type]
424
+ .HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL;
425
+ } else if (type === PepType.RELATIVE && relation) {
426
+ return LABELS(name)[entityType][type]
427
+ .HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL[relation];
428
+ } else if (type === PepType.COLLEAGUE && businessRelation) {
429
+ return LABELS(name)[entityType][type]
430
+ .HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL[businessRelation];
431
+ } else {
432
+ return LABELS(name)[EntityType.PERSON][PepType.ME]
433
+ .HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL;
434
+ }
435
+ }
436
+
437
+ export function getHighRankingPositionIntCorpRoleLabel(
438
+ entityType: EntityType,
439
+ type: PepType,
440
+ relation?: Relation,
441
+ businessRelation?: BusinessRelation,
442
+ name?: string
443
+ ) {
444
+ if (type === PepType.ME) {
445
+ return LABELS(name)[entityType][type]
446
+ .HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL;
447
+ } else if (type === PepType.RELATIVE && relation) {
448
+ return LABELS(name)[entityType][type]
449
+ .HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL[relation];
450
+ } else if (type === PepType.COLLEAGUE && businessRelation) {
451
+ return LABELS(name)[entityType][type]
452
+ .HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL[businessRelation];
453
+ } else {
454
+ return LABELS(name)[EntityType.PERSON][PepType.ME]
455
+ .HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL;
456
+ }
457
+ }
458
+
459
+ export function getMilitaryRankLabel(
460
+ entityType: EntityType,
461
+ type: PepType,
462
+ relation?: Relation,
463
+ businessRelation?: BusinessRelation,
464
+ name?: string
465
+ ) {
466
+ if (type === PepType.ME) {
467
+ return LABELS(name)[entityType][type].MILITARY_OFFICER_LABEL;
468
+ } else if (type === PepType.RELATIVE && relation) {
469
+ return LABELS(name)[entityType][type].MILITARY_OFFICER_LABEL[relation];
470
+ } else if (type === PepType.COLLEAGUE && businessRelation) {
471
+ return LABELS(name)[entityType][type].MILITARY_OFFICER_LABEL[
472
+ businessRelation
473
+ ];
474
+ } else {
475
+ return LABELS(name)[EntityType.PERSON][PepType.ME].MILITARY_OFFICER_LABEL;
476
+ }
477
+ }
478
+
479
+ export function getRoleLabel(
480
+ entityType: EntityType,
481
+ type: PepType,
482
+ relation?: Relation,
483
+ businessRelation?: BusinessRelation,
484
+ name?: string
485
+ ) {
486
+ if (type === PepType.ME) {
487
+ return LABELS(name)[entityType][type].ROLE_LABEL;
488
+ } else if (type === PepType.RELATIVE && relation) {
489
+ return LABELS(name)[entityType][type].ROLE_LABEL[relation];
490
+ } else if (type === PepType.COLLEAGUE && businessRelation) {
491
+ return LABELS(name)[entityType][type].ROLE_LABEL[businessRelation];
492
+ } else {
493
+ return LABELS(name)[EntityType.PERSON][PepType.ME].ROLE_LABEL;
494
+ }
495
+ }
496
+
497
+ export function getAmbassadorLabel(
498
+ entityType: EntityType,
499
+ type: PepType,
500
+ relation?: Relation,
501
+ businessRelation?: BusinessRelation,
502
+ name?: string
503
+ ) {
504
+ if (type === PepType.ME) {
505
+ return LABELS(name)[entityType][type].AMBASSADOR_LABEL;
506
+ } else if (type === PepType.RELATIVE && relation) {
507
+ return LABELS(name)[entityType][type].AMBASSADOR_LABEL[relation];
508
+ } else if (type === PepType.COLLEAGUE && businessRelation) {
509
+ return LABELS(name)[entityType][type].AMBASSADOR_LABEL[businessRelation];
510
+ } else {
511
+ return LABELS(name)[EntityType.PERSON][PepType.ME].AMBASSADOR_LABEL;
512
+ }
513
+ }
@@ -0,0 +1,121 @@
1
+ import React, { FunctionComponent, useReducer } from "react";
2
+
3
+ export enum EntityType {
4
+ PERSON = "PERSON",
5
+ CORPORATION = "CORPORATION"
6
+ }
7
+
8
+ export enum PepType {
9
+ NOT_PEP = "NOT_PEP",
10
+ ME = "ME",
11
+ RELATIVE = "RELATIVE",
12
+ COLLEAGUE = "COLLEAGUE"
13
+ }
14
+
15
+ export enum PepStatus {
16
+ ONGOING = "ONGOING",
17
+ ENDED = "ENDED"
18
+ }
19
+
20
+ export enum Role {
21
+ HEAD_OF_GOVERNMENT = "HEAD_OF_GOVERNMENT",
22
+ MINISTER = "MINISTER",
23
+ PARLIMENT_MEMBER = "PARLIMENT_MEMBER",
24
+ CENTRAL_BANK_MEMBER = "CENTRAL_BANK_MEMBER",
25
+ BOARD_MEMBER_POLITICAL_PARTY = "BOARD_MEMBER_POLITICAL_PARTY",
26
+ JUDGE_SUPREME_COURT = "JUDGE_SUPREME_COURT",
27
+ JUDGE_OTHER_HIGH_COURT = "JUDGE_OTHER_HIGH_COURT",
28
+ REVISION_INSTITUTE = "REVISION_INSTITUTE",
29
+ AMBASSADOR = "AMBASSADOR",
30
+ MILITARY_OFFICER = "MILITARY_OFFICER",
31
+ GOVERNMENT_COMPANY = "GOVERNMENT_COMPANY",
32
+ EU_HIGH_RANKING_POSITION = "EU_HIGH_RANKING_POSITION",
33
+ HIGH_RANKING_POSITION_INTERNALTIONAL_CORP = "HIGH_RANKING_POSITION_INTERNALTIONAL_CORP"
34
+ }
35
+
36
+ export enum Relation {
37
+ MARRIED_PARTNER = "MARRIED_PARTNER",
38
+ COLIVING_PARTNER = "COLIVING_PARTNER",
39
+ CHILD = "CHILD",
40
+ PARENT = "PARENT",
41
+ CHILD_MARRIED_PARTNER = "CHILD_MARRIED_PARTNER",
42
+ CHILD_COLIVING_PARTNER = "CHILD_COLIVING_PARTNER"
43
+ }
44
+
45
+ export enum BusinessRelation {
46
+ CO_OWNERSHIP = "CO_OWNERSHIP",
47
+ CLOSE_CONNECTION = "CLOSE_CONNECTION",
48
+ COMPANY_FOR_PEP = "COMPANY_FOR_PEP"
49
+ }
50
+
51
+ export enum MilitaryRank {
52
+ GENERAL = "GENERAL",
53
+ LIEUTENANT_GENERAL = "LIEUTENANT_GENERAL",
54
+ MAJOR_GENERAL = "MAJOR_GENERAL",
55
+ ADMIRAL = "ADMIRAL",
56
+ VICE_ADMIRAL = "VICE_ADMIRAL",
57
+ REAR_ADMIRAL = "REAR_ADMIRAL"
58
+ }
59
+
60
+ // Types for the state
61
+ export interface PepState {
62
+ legalEntityType?: EntityType;
63
+ type?: PepType;
64
+ role?: Role;
65
+ country?: string;
66
+ ended?: Date;
67
+ ambassadorCountry?: string;
68
+ militaryRank?: MilitaryRank;
69
+ governmentCompany?: string;
70
+ governmentCompanyRole?: string;
71
+ internationalOrganisation?: string;
72
+ internationalOrganisationRole?: string;
73
+ relationToPEP?: Relation;
74
+ nameOfPEP?: string;
75
+ birthdayOfPEP?: Date;
76
+ tin?: string;
77
+ businessRelation?: BusinessRelation;
78
+
79
+ isOngoing?: PepStatus;
80
+ isSweden?: string;
81
+ ownerName?: string;
82
+ }
83
+
84
+ // All types for the context. This includes setter methods
85
+ export interface PepContextProps {
86
+ state: PepState;
87
+ setState: (newState: Partial<PepState>) => void;
88
+ }
89
+
90
+ // Create the context. (This will just create a template)
91
+ export const PepContext = React.createContext<PepContextProps>(
92
+ {} as PepContextProps
93
+ );
94
+
95
+ /**
96
+ * A Higher Order Component. This is used to wrap classes so that the context is injected
97
+ * There is quite a bit TS magic here. This is so that the internal props off the component
98
+ * will be stripped of the context props so that the external props will only show the relevant
99
+ * props
100
+ */
101
+ export const withPep = <P extends object>(
102
+ Component: React.ComponentType<P>
103
+ ): React.FC<Omit<P, keyof PepContextProps>> => props => (
104
+ <PepContext.Consumer>
105
+ {contextProps => <Component {...(props as P)} {...contextProps} />}
106
+ </PepContext.Consumer>
107
+ );
108
+
109
+ function stateReducer(state: PepState, newState: Partial<PepState>) {
110
+ return { ...state, ...newState };
111
+ }
112
+
113
+ export const PepContextProvider: FunctionComponent = ({ children }) => {
114
+ const [pep, setPep] = useReducer(stateReducer, {});
115
+
116
+ return (
117
+ <PepContext.Provider value={{ state: pep, setState: setPep }}>
118
+ {children}
119
+ </PepContext.Provider>
120
+ );
121
+ };