@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,153 +1,154 @@
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 { DateTime } from "luxon";
5
- import { useIntl, FormattedMessage } from "react-intl";
6
- import { relationMessages, businessRelationMessages, relativeNameMessages, birthdayMessages, colleagueNameMessages, } from "./RelationMessages";
7
- import { formatPossessive } from "../../utils/Possession";
8
- const DATEPICKER_START_DATE = DateTime.fromISO("1970-01-01").toJSDate();
9
- export const RelationPage = ({ next }) => {
10
- const intl = useIntl();
11
- const pepContext = useContext(PepContext);
12
- const formRef = useRef();
13
- const entityType = pepContext.state.legalEntityType || EntityType.PERSON;
14
- const type = pepContext.state.type;
15
- const businessRelationAlternatives = getBusinessRelationAlternatives(intl, entityType, pepContext);
16
- const relationAlternatives = getRelationAlternatives(intl, entityType, pepContext);
17
- const nextPage = useCallback(() => {
18
- if (formRef.current && formRef.current.isValid) {
19
- next();
20
- }
21
- }, [formRef, next]);
22
- return (React.createElement(Form, { onSubmit: () => nextPage(), lysaFormRef: formRef },
23
- type === PepType.RELATIVE ? (React.createElement(RadioGroup, { alternatives: relationAlternatives, onChange: (alternative) => {
24
- pepContext.setState({
25
- relationToPEP: alternative.value,
26
- });
27
- }, value: relationAlternatives.find((alt) => alt.value === pepContext.state.relationToPEP), header: intl.formatMessage(relationMessages.header, {
28
- entityType,
29
- name: pepContext.state.ownerName,
30
- possessiveName: formatPossessive(pepContext.state.ownerName, intl.locale),
31
- }), validators: [
32
- new RequiredValidator(intl.formatMessage(relationMessages.required)),
33
- ] })) : null,
34
- type === PepType.COLLEAGUE ? (React.createElement(RadioGroup, { alternatives: businessRelationAlternatives, onChange: (alternative) => {
35
- pepContext.setState({
36
- businessRelation: alternative.value,
37
- });
38
- }, value: businessRelationAlternatives.find((alt) => alt.value === pepContext.state.businessRelation), header: intl.formatMessage(businessRelationMessages.header, {
39
- entityType,
40
- name: pepContext.state.ownerName,
41
- }), validators: [
42
- new RequiredValidator(intl.formatMessage(businessRelationMessages.required)),
43
- ] })) : null,
44
- pepContext.state.relationToPEP && type === PepType.RELATIVE ? (React.createElement(React.Fragment, null,
45
- React.createElement(TextInput, { label: intl.formatMessage(relativeNameMessages.header, {
46
- entityType,
47
- name: pepContext.state.ownerName,
48
- relation: pepContext.state.type === PepType.COLLEAGUE
49
- ? pepContext.state.businessRelation
50
- : pepContext.state.relationToPEP,
51
- possessiveName: formatPossessive(pepContext.state.ownerName, intl.locale),
52
- }), value: pepContext.state.nameOfPEP || "", onChange: (value) => {
53
- pepContext.setState({ nameOfPEP: value });
54
- }, validators: [
55
- new RequiredValidator(intl.formatMessage(relativeNameMessages.required)),
56
- ] }),
57
- React.createElement(Datepicker, { label: intl.formatMessage(birthdayMessages.header, {
58
- entityType,
59
- name: pepContext.state.ownerName,
60
- relation: pepContext.state.type === PepType.COLLEAGUE
61
- ? pepContext.state.businessRelation
62
- : pepContext.state.relationToPEP,
63
- possessiveName: formatPossessive(pepContext.state.ownerName, intl.locale),
64
- }), selected: pepContext.state.birthdayOfPEP, onChange: (event) => pepContext.setState({ birthdayOfPEP: event || undefined }), validators: [
65
- new RequiredValidator(intl.formatMessage(birthdayMessages.required)),
66
- ], maxDate: new Date(), openToDate: pepContext.state.birthdayOfPEP || DATEPICKER_START_DATE }))) : null,
67
- pepContext.state.businessRelation && type === PepType.COLLEAGUE ? (React.createElement(React.Fragment, null,
68
- React.createElement(TextInput, { label: intl.formatMessage(colleagueNameMessages.header, {
69
- entityType,
70
- name: pepContext.state.ownerName,
71
- relation: pepContext.state.type === PepType.COLLEAGUE
72
- ? pepContext.state.businessRelation
73
- : pepContext.state.relationToPEP,
74
- possessiveName: formatPossessive(pepContext.state.ownerName, intl.locale),
75
- }), value: pepContext.state.nameOfPEP || "", onChange: (value) => {
76
- pepContext.setState({ nameOfPEP: value });
77
- }, validators: [
78
- new RequiredValidator(intl.formatMessage(colleagueNameMessages.required)),
79
- ] }))) : null,
80
- React.createElement(PrimaryButton, { type: "submit" },
81
- React.createElement(FormattedMessage, { id: "pep.relation.next", description: "Next button", defaultMessage: "G\u00E5 vidare" }))));
82
- };
83
- function getRelationAlternatives(intl, entityType, pepContext) {
84
- return [
85
- {
86
- text: intl.formatMessage(relationMessages[Relation.MARRIED_PARTNER], {
87
- entityType,
88
- name: pepContext.state.ownerName,
89
- }),
90
- value: Relation.MARRIED_PARTNER,
91
- },
92
- {
93
- text: intl.formatMessage(relationMessages[Relation.COLIVING_PARTNER], {
94
- entityType,
95
- name: pepContext.state.ownerName,
96
- }),
97
- value: Relation.COLIVING_PARTNER,
98
- },
99
- {
100
- text: intl.formatMessage(relationMessages[Relation.CHILD], {
101
- entityType,
102
- name: pepContext.state.ownerName,
103
- }),
104
- value: Relation.CHILD,
105
- },
106
- {
107
- text: intl.formatMessage(relationMessages[Relation.PARENT], {
108
- entityType,
109
- name: pepContext.state.ownerName,
110
- }),
111
- value: Relation.PARENT,
112
- },
113
- {
114
- text: intl.formatMessage(relationMessages[Relation.CHILD_MARRIED_PARTNER], {
115
- entityType,
116
- name: pepContext.state.ownerName,
117
- }),
118
- value: Relation.CHILD_MARRIED_PARTNER,
119
- },
120
- {
121
- text: intl.formatMessage(relationMessages[Relation.CHILD_COLIVING_PARTNER], {
122
- entityType,
123
- name: pepContext.state.ownerName,
124
- }),
125
- value: Relation.CHILD_COLIVING_PARTNER,
126
- },
127
- ];
128
- }
129
- function getBusinessRelationAlternatives(intl, entityType, pepContext) {
130
- return [
131
- {
132
- text: intl.formatMessage(businessRelationMessages[BusinessRelation.CO_OWNERSHIP], {
133
- entityType,
134
- name: pepContext.state.ownerName,
135
- }),
136
- value: BusinessRelation.CO_OWNERSHIP,
137
- },
138
- {
139
- text: intl.formatMessage(businessRelationMessages[BusinessRelation.CLOSE_CONNECTION], {
140
- entityType,
141
- name: pepContext.state.ownerName,
142
- }),
143
- value: BusinessRelation.CLOSE_CONNECTION,
144
- },
145
- {
146
- text: intl.formatMessage(businessRelationMessages[BusinessRelation.COMPANY_FOR_PEP], {
147
- entityType,
148
- name: pepContext.state.ownerName,
149
- }),
150
- value: BusinessRelation.COMPANY_FOR_PEP,
151
- },
152
- ];
153
- }
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, Card, } from "@lysaab/ui-2";
4
+ import { DateTime } from "luxon";
5
+ import { useIntl, FormattedMessage } from "react-intl";
6
+ import { relationMessages, businessRelationMessages, relativeNameMessages, birthdayMessages, colleagueNameMessages, } from "./RelationMessages";
7
+ import { formatPossessive } from "../../utils/Possession";
8
+ const DATEPICKER_START_DATE = DateTime.fromISO("1970-01-01").toJSDate();
9
+ export const RelationPage = ({ next }) => {
10
+ const intl = useIntl();
11
+ const pepContext = useContext(PepContext);
12
+ const formRef = useRef();
13
+ const entityType = pepContext.state.legalEntityType || EntityType.PERSON;
14
+ const type = pepContext.state.type;
15
+ const businessRelationAlternatives = getBusinessRelationAlternatives(intl, entityType, pepContext);
16
+ const relationAlternatives = getRelationAlternatives(intl, entityType, pepContext);
17
+ const nextPage = useCallback(() => {
18
+ if (formRef.current && formRef.current.isValid) {
19
+ next();
20
+ }
21
+ }, [formRef, next]);
22
+ return (React.createElement(Form, { onSubmit: () => nextPage(), lysaFormRef: formRef },
23
+ React.createElement(Card, null,
24
+ type === PepType.RELATIVE ? (React.createElement(RadioGroup, { alternatives: relationAlternatives, onChange: (alternative) => {
25
+ pepContext.setState({
26
+ relationToPEP: alternative.value,
27
+ });
28
+ }, value: relationAlternatives.find((alt) => alt.value === pepContext.state.relationToPEP), header: intl.formatMessage(relationMessages.header, {
29
+ entityType,
30
+ name: pepContext.state.ownerName,
31
+ possessiveName: formatPossessive(pepContext.state.ownerName, intl.locale),
32
+ }), validators: [
33
+ new RequiredValidator(intl.formatMessage(relationMessages.required)),
34
+ ] })) : null,
35
+ type === PepType.COLLEAGUE ? (React.createElement(RadioGroup, { alternatives: businessRelationAlternatives, onChange: (alternative) => {
36
+ pepContext.setState({
37
+ businessRelation: alternative.value,
38
+ });
39
+ }, value: businessRelationAlternatives.find((alt) => alt.value === pepContext.state.businessRelation), header: intl.formatMessage(businessRelationMessages.header, {
40
+ entityType,
41
+ name: pepContext.state.ownerName,
42
+ }), validators: [
43
+ new RequiredValidator(intl.formatMessage(businessRelationMessages.required)),
44
+ ] })) : null,
45
+ pepContext.state.relationToPEP && type === PepType.RELATIVE ? (React.createElement(React.Fragment, null,
46
+ React.createElement(TextInput, { label: intl.formatMessage(relativeNameMessages.header, {
47
+ entityType,
48
+ name: pepContext.state.ownerName,
49
+ relation: pepContext.state.type === PepType.COLLEAGUE
50
+ ? pepContext.state.businessRelation
51
+ : pepContext.state.relationToPEP,
52
+ possessiveName: formatPossessive(pepContext.state.ownerName, intl.locale),
53
+ }), value: pepContext.state.nameOfPEP || "", onChange: (value) => {
54
+ pepContext.setState({ nameOfPEP: value });
55
+ }, validators: [
56
+ new RequiredValidator(intl.formatMessage(relativeNameMessages.required)),
57
+ ] }),
58
+ React.createElement(Datepicker, { label: intl.formatMessage(birthdayMessages.header, {
59
+ entityType,
60
+ name: pepContext.state.ownerName,
61
+ relation: pepContext.state.type === PepType.COLLEAGUE
62
+ ? pepContext.state.businessRelation
63
+ : pepContext.state.relationToPEP,
64
+ possessiveName: formatPossessive(pepContext.state.ownerName, intl.locale),
65
+ }), selected: pepContext.state.birthdayOfPEP, onChange: (event) => pepContext.setState({ birthdayOfPEP: event || undefined }), validators: [
66
+ new RequiredValidator(intl.formatMessage(birthdayMessages.required)),
67
+ ], maxDate: new Date(), openToDate: pepContext.state.birthdayOfPEP || DATEPICKER_START_DATE }))) : null,
68
+ pepContext.state.businessRelation && type === PepType.COLLEAGUE ? (React.createElement(React.Fragment, null,
69
+ React.createElement(TextInput, { label: intl.formatMessage(colleagueNameMessages.header, {
70
+ entityType,
71
+ name: pepContext.state.ownerName,
72
+ relation: pepContext.state.type === PepType.COLLEAGUE
73
+ ? pepContext.state.businessRelation
74
+ : pepContext.state.relationToPEP,
75
+ possessiveName: formatPossessive(pepContext.state.ownerName, intl.locale),
76
+ }), value: pepContext.state.nameOfPEP || "", onChange: (value) => {
77
+ pepContext.setState({ nameOfPEP: value });
78
+ }, validators: [
79
+ new RequiredValidator(intl.formatMessage(colleagueNameMessages.required)),
80
+ ] }))) : null),
81
+ React.createElement(PrimaryButton, { block: true, type: "submit" },
82
+ React.createElement(FormattedMessage, { id: "pep.relation.next", description: "Next button", defaultMessage: "G\u00E5 vidare" }))));
83
+ };
84
+ function getRelationAlternatives(intl, entityType, pepContext) {
85
+ return [
86
+ {
87
+ text: intl.formatMessage(relationMessages[Relation.MARRIED_PARTNER], {
88
+ entityType,
89
+ name: pepContext.state.ownerName,
90
+ }),
91
+ value: Relation.MARRIED_PARTNER,
92
+ },
93
+ {
94
+ text: intl.formatMessage(relationMessages[Relation.COLIVING_PARTNER], {
95
+ entityType,
96
+ name: pepContext.state.ownerName,
97
+ }),
98
+ value: Relation.COLIVING_PARTNER,
99
+ },
100
+ {
101
+ text: intl.formatMessage(relationMessages[Relation.CHILD], {
102
+ entityType,
103
+ name: pepContext.state.ownerName,
104
+ }),
105
+ value: Relation.CHILD,
106
+ },
107
+ {
108
+ text: intl.formatMessage(relationMessages[Relation.PARENT], {
109
+ entityType,
110
+ name: pepContext.state.ownerName,
111
+ }),
112
+ value: Relation.PARENT,
113
+ },
114
+ {
115
+ text: intl.formatMessage(relationMessages[Relation.CHILD_MARRIED_PARTNER], {
116
+ entityType,
117
+ name: pepContext.state.ownerName,
118
+ }),
119
+ value: Relation.CHILD_MARRIED_PARTNER,
120
+ },
121
+ {
122
+ text: intl.formatMessage(relationMessages[Relation.CHILD_COLIVING_PARTNER], {
123
+ entityType,
124
+ name: pepContext.state.ownerName,
125
+ }),
126
+ value: Relation.CHILD_COLIVING_PARTNER,
127
+ },
128
+ ];
129
+ }
130
+ function getBusinessRelationAlternatives(intl, entityType, pepContext) {
131
+ return [
132
+ {
133
+ text: intl.formatMessage(businessRelationMessages[BusinessRelation.CO_OWNERSHIP], {
134
+ entityType,
135
+ name: pepContext.state.ownerName,
136
+ }),
137
+ value: BusinessRelation.CO_OWNERSHIP,
138
+ },
139
+ {
140
+ text: intl.formatMessage(businessRelationMessages[BusinessRelation.CLOSE_CONNECTION], {
141
+ entityType,
142
+ name: pepContext.state.ownerName,
143
+ }),
144
+ value: BusinessRelation.CLOSE_CONNECTION,
145
+ },
146
+ {
147
+ text: intl.formatMessage(businessRelationMessages[BusinessRelation.COMPANY_FOR_PEP], {
148
+ entityType,
149
+ name: pepContext.state.ownerName,
150
+ }),
151
+ value: BusinessRelation.COMPANY_FOR_PEP,
152
+ },
153
+ ];
154
+ }