@swan-io/shared-business 14.0.0 → 15.1.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.
- package/package.json +3 -3
- package/src/components/InputPhoneNumber.d.ts +1 -0
- package/src/components/SupportingDocumentCollection.d.ts +1 -3
- package/src/components/SupportingDocumentCollection.js +1 -15
- package/src/constants/countries.d.ts +249 -0
- package/src/constants/countries.js +251 -0
- package/src/locales/de.json +12 -12
- package/src/locales/en.json +1 -1
- package/src/locales/es.json +8 -8
- package/src/locales/fi.json +13 -13
- package/src/locales/fr.json +7 -7
- package/src/locales/it.json +1 -1
- package/src/locales/nl.json +1 -1
- package/src/locales/pt.json +8 -8
- package/src/utils/__tests__/date.test.d.ts +1 -0
- package/src/utils/__tests__/date.test.js +70 -0
- package/src/utils/__tests__/i18n.test.d.ts +1 -0
- package/src/utils/__tests__/i18n.test.js +77 -0
- package/src/utils/languages.js +0 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@swan-io/shared-business",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "15.1.0",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">22.12.0"
|
|
6
6
|
},
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"react": ">=19.0.0",
|
|
29
29
|
"react-dom": ">=19.0.0",
|
|
30
30
|
"react-native-web": ">=0.21.2",
|
|
31
|
-
"@swan-io/lake": "
|
|
31
|
+
"@swan-io/lake": "15.1.0"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@formatjs/intl": "^4.1.11",
|
|
@@ -53,6 +53,6 @@
|
|
|
53
53
|
"react-dom": "^19.2.6",
|
|
54
54
|
"react-native-web": "^0.21.2",
|
|
55
55
|
"type-fest": "^5.6.0",
|
|
56
|
-
"@swan-io/lake": "
|
|
56
|
+
"@swan-io/lake": "15.1.0"
|
|
57
57
|
}
|
|
58
58
|
}
|
|
@@ -31,6 +31,7 @@ export declare const getInitialPhoneCountry: (phoneNumber: string | undefined, d
|
|
|
31
31
|
idd: string;
|
|
32
32
|
uid: string;
|
|
33
33
|
flag: string;
|
|
34
|
+
isNationality: boolean;
|
|
34
35
|
};
|
|
35
36
|
export declare const InputPhoneNumber: ({ ref, id, country, value, countries, error, help, valid, autofocus, disabled, readOnly, countryAriaLabel, hideErrors, onCountryChange, onChangeText, onSubmitEditing, onBlur, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
36
37
|
export {};
|
|
@@ -20,9 +20,7 @@ type SupportingDocumentPurposeInput<Purpose extends string> = {
|
|
|
20
20
|
description: string;
|
|
21
21
|
purposeDetails?: string | null;
|
|
22
22
|
};
|
|
23
|
-
export declare const toDocumentPurposes: <Purpose extends string>(requiredPurposes: SupportingDocumentPurposeInput<Purpose>[],
|
|
24
|
-
purpose: SupportingDocumentPurposeInput<Purpose>;
|
|
25
|
-
}[]) => Record<Purpose, DocumentPurposeInfo>;
|
|
23
|
+
export declare const toDocumentPurposes: <Purpose extends string>(requiredPurposes: SupportingDocumentPurposeInput<Purpose>[]) => Record<Purpose, DocumentPurposeInfo>;
|
|
26
24
|
export type UploadOutput = {
|
|
27
25
|
url: string;
|
|
28
26
|
fields: {
|
|
@@ -19,7 +19,7 @@ import { isTranslationKey, locale, t } from "../utils/i18n";
|
|
|
19
19
|
import { FilesUploader } from "./FilesUploader";
|
|
20
20
|
import { LakeModal } from "./LakeModal";
|
|
21
21
|
const ACCEPTED_FORMATS = ["application/pdf", "image/png", "image/jpeg", "image/heic"];
|
|
22
|
-
export const toDocumentPurposes = (requiredPurposes
|
|
22
|
+
export const toDocumentPurposes = (requiredPurposes) => {
|
|
23
23
|
const entries = new Map();
|
|
24
24
|
requiredPurposes.forEach(({ name, label, description, purposeDetails }) => {
|
|
25
25
|
entries.set(name, {
|
|
@@ -29,18 +29,6 @@ export const toDocumentPurposes = (requiredPurposes, documents) => {
|
|
|
29
29
|
required: true,
|
|
30
30
|
});
|
|
31
31
|
});
|
|
32
|
-
documents.forEach(({ purpose }) => {
|
|
33
|
-
var _a;
|
|
34
|
-
if (entries.has(purpose.name)) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
entries.set(purpose.name, {
|
|
38
|
-
label: purpose.label,
|
|
39
|
-
description: purpose.description,
|
|
40
|
-
purposeDetails: (_a = purpose.purposeDetails) !== null && _a !== void 0 ? _a : undefined,
|
|
41
|
-
required: false,
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
32
|
return Object.fromEntries(entries);
|
|
45
33
|
};
|
|
46
34
|
const styles = StyleSheet.create({
|
|
@@ -83,10 +71,8 @@ export const SupportingDocumentCollection = ({ ref, documents, generateUpload, u
|
|
|
83
71
|
const [currentMetadata, setCurrentMetadata] = useState(undefined);
|
|
84
72
|
const [addedDocuments, setAddedDocuments] = useState([]);
|
|
85
73
|
const orderedDocumentPurposes = useMemo(() => {
|
|
86
|
-
// Get all purposes to display: the ones present in documentPurposes and the ones that have at least a document
|
|
87
74
|
const allPurposes = new Set(Object.keys(documentPurposes));
|
|
88
75
|
const allDocuments = [...addedDocuments, ...documents];
|
|
89
|
-
allDocuments.forEach(document => allPurposes.add(document.purpose));
|
|
90
76
|
// Compute, for each purpose, everything needed for rendering and sorting in one pass.
|
|
91
77
|
// Priority drives the display order (lower comes first):
|
|
92
78
|
// 0 = has documents and all are validated
|