@swan-io/shared-business 8.14.6 → 8.14.7
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 +1 -1
- package/src/components/BirthdatePicker.js +4 -5
- package/src/locales/de.json +1 -2
- package/src/locales/en.json +1 -2
- package/src/locales/es.json +1 -2
- package/src/locales/fi.json +2 -3
- package/src/locales/fr.json +1 -2
- package/src/locales/it.json +1 -2
- package/src/locales/nl.json +1 -2
- package/src/locales/pt.json +1 -2
- package/src/utils/validation.d.ts +1 -1
- package/src/utils/validation.js +4 -0
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@ import { LakeTextInput } from "@swan-io/lake/src/components/LakeTextInput";
|
|
|
7
7
|
import { Stack } from "@swan-io/lake/src/components/Stack";
|
|
8
8
|
import { breakpoints, colors } from "@swan-io/lake/src/constants/design";
|
|
9
9
|
import { useResponsive } from "@swan-io/lake/src/hooks/useResponsive";
|
|
10
|
-
import {
|
|
10
|
+
import { isNotNullish, isNullish } from "@swan-io/lake/src/utils/nullish";
|
|
11
11
|
import { useForm } from "@swan-io/use-form";
|
|
12
12
|
import { StyleSheet, View } from "react-native";
|
|
13
13
|
import { match } from "ts-pattern";
|
|
@@ -29,6 +29,7 @@ const months = [
|
|
|
29
29
|
{ value: "12", name: t("datePicker.month.december") },
|
|
30
30
|
];
|
|
31
31
|
const styles = StyleSheet.create({
|
|
32
|
+
container: { paddingTop: 6 },
|
|
32
33
|
dayMobile: {
|
|
33
34
|
maxWidth: 70,
|
|
34
35
|
flexGrow: 0,
|
|
@@ -69,9 +70,7 @@ export const BirthdatePicker = ({ value, label, onValueChange, error: externalEr
|
|
|
69
70
|
: undefined,
|
|
70
71
|
strategy: "onBlur",
|
|
71
72
|
validate: date => {
|
|
72
|
-
const errorMessage =
|
|
73
|
-
? t("datePicker.error.incomplete")
|
|
74
|
-
: validateBirthdate(date);
|
|
73
|
+
const errorMessage = validateBirthdate(date);
|
|
75
74
|
if (isNullish(errorMessage) && isNotNullish(date)) {
|
|
76
75
|
return onValueChange(formatExtractedDate(date));
|
|
77
76
|
}
|
|
@@ -82,7 +81,7 @@ export const BirthdatePicker = ({ value, label, onValueChange, error: externalEr
|
|
|
82
81
|
},
|
|
83
82
|
},
|
|
84
83
|
});
|
|
85
|
-
return (_jsx(View, { style: style, children: _jsx(Field, { name: "birthdate", children: ({ error, onBlur, onChange, value }) => (_jsx(LakeLabel, { label: label, render: id => {
|
|
84
|
+
return (_jsx(View, { style: [styles.container, style], children: _jsx(Field, { name: "birthdate", children: ({ error, onBlur, onChange, value }) => (_jsx(LakeLabel, { label: label, render: id => {
|
|
86
85
|
var _a;
|
|
87
86
|
const day = (_jsx(View, { style: desktop ? styles.day : styles.dayMobile, children: _jsx(LakeTextInput, { id: id, style: (isNotNullish(error) || isNotNullish(externalError)) && styles.error, placeholder: t("datePicker.day"), value: (_a = value === null || value === void 0 ? void 0 : value.day) !== null && _a !== void 0 ? _a : undefined, onBlur: onBlur, hideErrors: true, onChangeText: day => {
|
|
88
87
|
var _a, _b;
|
package/src/locales/de.json
CHANGED
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
"datePicker.day.thursday": "Donnerstag",
|
|
49
49
|
"datePicker.day.tuesday": "Dienstag",
|
|
50
50
|
"datePicker.day.wednesday": "Mittwoch",
|
|
51
|
-
"datePicker.error.incomplete": "Bitte geben Sie Ihr gültiges Geburtsdatum ein: Monat, Tag und Jahr.",
|
|
52
51
|
"datePicker.month": "Monat",
|
|
53
52
|
"datePicker.month.april": "April",
|
|
54
53
|
"datePicker.month.august": "August",
|
|
@@ -299,5 +298,5 @@
|
|
|
299
298
|
"transactionStatement.title.document": "Transaktionsbestätigung",
|
|
300
299
|
"transactionStatement.title.information": "Informationen",
|
|
301
300
|
"validation.birthdateCannotBeFuture": "Geburtsdatum kann nicht in der Zukunft liegen.",
|
|
302
|
-
"validation.invalidBirthDate": "Bitte geben Sie
|
|
301
|
+
"validation.invalidBirthDate": "Bitte geben Sie ein gültiges Geburtsdatum ein."
|
|
303
302
|
}
|
package/src/locales/en.json
CHANGED
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
"datePicker.day.thursday": "Thursday",
|
|
49
49
|
"datePicker.day.tuesday": "Tuesday",
|
|
50
50
|
"datePicker.day.wednesday": "Wednesday",
|
|
51
|
-
"datePicker.error.incomplete": "Please enter your valid birth date: month, day, and year.",
|
|
52
51
|
"datePicker.month": "Month",
|
|
53
52
|
"datePicker.month.april": "April",
|
|
54
53
|
"datePicker.month.august": "August",
|
|
@@ -299,5 +298,5 @@
|
|
|
299
298
|
"transactionStatement.title.document": "Transaction confirmation",
|
|
300
299
|
"transactionStatement.title.information": "Information",
|
|
301
300
|
"validation.birthdateCannotBeFuture": "Birthdate cannot be in the future",
|
|
302
|
-
"validation.invalidBirthDate": "Please enter
|
|
301
|
+
"validation.invalidBirthDate": "Please enter a valid birth date."
|
|
303
302
|
}
|
package/src/locales/es.json
CHANGED
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
"datePicker.day.thursday": "Jueves",
|
|
49
49
|
"datePicker.day.tuesday": "Martes",
|
|
50
50
|
"datePicker.day.wednesday": "Miércoles",
|
|
51
|
-
"datePicker.error.incomplete": "Por favor, introduce tu fecha de nacimiento válida: mes, día y año.",
|
|
52
51
|
"datePicker.month": "Mes",
|
|
53
52
|
"datePicker.month.april": "Abril",
|
|
54
53
|
"datePicker.month.august": "Agosto",
|
|
@@ -299,5 +298,5 @@
|
|
|
299
298
|
"transactionStatement.title.document": "Confirmación de la transacción",
|
|
300
299
|
"transactionStatement.title.information": "Información",
|
|
301
300
|
"validation.birthdateCannotBeFuture": "La fecha de nacimiento no puede estar en el futuro",
|
|
302
|
-
"validation.invalidBirthDate": "Por favor, introduce
|
|
301
|
+
"validation.invalidBirthDate": "Por favor, introduce una fecha de nacimiento válida."
|
|
303
302
|
}
|
package/src/locales/fi.json
CHANGED
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
"datePicker.day.thursday": "Torstai",
|
|
49
49
|
"datePicker.day.tuesday": "Tiistai",
|
|
50
50
|
"datePicker.day.wednesday": "Keskiviikko",
|
|
51
|
-
"datePicker.error.incomplete": "Please enter your valid birth date: month, day, and year.",
|
|
52
51
|
"datePicker.month": "Month",
|
|
53
52
|
"datePicker.month.april": "Huhtikuu",
|
|
54
53
|
"datePicker.month.august": "Elokuu",
|
|
@@ -298,6 +297,6 @@
|
|
|
298
297
|
"transactionStatement.title.debtor": "Velallisen tiedot",
|
|
299
298
|
"transactionStatement.title.document": "Transaction confirmation",
|
|
300
299
|
"transactionStatement.title.information": "Tiedot",
|
|
301
|
-
"validation.birthdateCannotBeFuture": "
|
|
302
|
-
"validation.invalidBirthDate": "
|
|
300
|
+
"validation.birthdateCannotBeFuture": "Syntymäpäivä ei voi olla tulevaisuudessa",
|
|
301
|
+
"validation.invalidBirthDate": "Syötä kelvollinen syntymäpäivä."
|
|
303
302
|
}
|
package/src/locales/fr.json
CHANGED
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
"datePicker.day.thursday": "Jeudi",
|
|
49
49
|
"datePicker.day.tuesday": "Mardi",
|
|
50
50
|
"datePicker.day.wednesday": "Mercredi",
|
|
51
|
-
"datePicker.error.incomplete": "Veuillez saisir votre date de naissance valide : mois, jour et année.",
|
|
52
51
|
"datePicker.month": "Mois",
|
|
53
52
|
"datePicker.month.april": "Avril",
|
|
54
53
|
"datePicker.month.august": "Août",
|
|
@@ -299,5 +298,5 @@
|
|
|
299
298
|
"transactionStatement.title.document": "Confirmation de transaction",
|
|
300
299
|
"transactionStatement.title.information": "Informations",
|
|
301
300
|
"validation.birthdateCannotBeFuture": "La date de naissance ne peut pas être future",
|
|
302
|
-
"validation.invalidBirthDate": "Veuillez saisir
|
|
301
|
+
"validation.invalidBirthDate": "Veuillez saisir une date de naissance valide."
|
|
303
302
|
}
|
package/src/locales/it.json
CHANGED
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
"datePicker.day.thursday": "Giovedì",
|
|
49
49
|
"datePicker.day.tuesday": "Martedì",
|
|
50
50
|
"datePicker.day.wednesday": "Mercoledì",
|
|
51
|
-
"datePicker.error.incomplete": "Inserisci la tua data di nascita valida: mese, giorno e anno.",
|
|
52
51
|
"datePicker.month": "Mese",
|
|
53
52
|
"datePicker.month.april": "Aprile",
|
|
54
53
|
"datePicker.month.august": "Agosto",
|
|
@@ -299,5 +298,5 @@
|
|
|
299
298
|
"transactionStatement.title.document": "Conferma della transazione",
|
|
300
299
|
"transactionStatement.title.information": "Informazioni",
|
|
301
300
|
"validation.birthdateCannotBeFuture": "La data di nascita non può essere nel futuro",
|
|
302
|
-
"validation.invalidBirthDate": "Inserisci
|
|
301
|
+
"validation.invalidBirthDate": "Inserisci una data di nascita valida."
|
|
303
302
|
}
|
package/src/locales/nl.json
CHANGED
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
"datePicker.day.thursday": "Donderdag",
|
|
49
49
|
"datePicker.day.tuesday": "Dinsdag",
|
|
50
50
|
"datePicker.day.wednesday": "Woensdag",
|
|
51
|
-
"datePicker.error.incomplete": "Voer alstublieft uw geldige geboortedatum in: maand, dag en jaar.",
|
|
52
51
|
"datePicker.month": "Maand",
|
|
53
52
|
"datePicker.month.april": "April",
|
|
54
53
|
"datePicker.month.august": "Augustus",
|
|
@@ -299,5 +298,5 @@
|
|
|
299
298
|
"transactionStatement.title.document": "Transactiebevestiging",
|
|
300
299
|
"transactionStatement.title.information": "Informatie",
|
|
301
300
|
"validation.birthdateCannotBeFuture": "Geboortedatum kan niet in de toekomst liggen",
|
|
302
|
-
"validation.invalidBirthDate": "Voer
|
|
301
|
+
"validation.invalidBirthDate": "Voer alstublieft een geldige geboortedatum in."
|
|
303
302
|
}
|
package/src/locales/pt.json
CHANGED
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
"datePicker.day.thursday": "Quinta-feira",
|
|
49
49
|
"datePicker.day.tuesday": "Terça-feira",
|
|
50
50
|
"datePicker.day.wednesday": "Quarta-feira",
|
|
51
|
-
"datePicker.error.incomplete": "Por favor, insira a sua data de nascimento válida: mês, dia e ano.",
|
|
52
51
|
"datePicker.month": "Mês",
|
|
53
52
|
"datePicker.month.april": "Abril",
|
|
54
53
|
"datePicker.month.august": "Agosto",
|
|
@@ -299,5 +298,5 @@
|
|
|
299
298
|
"transactionStatement.title.document": "Confirmação da transação",
|
|
300
299
|
"transactionStatement.title.information": "Informação",
|
|
301
300
|
"validation.birthdateCannotBeFuture": "A data de nascimento não pode estar no futuro",
|
|
302
|
-
"validation.invalidBirthDate": "Por favor,
|
|
301
|
+
"validation.invalidBirthDate": "Por favor, insira uma data de nascimento válida."
|
|
303
302
|
}
|
|
@@ -10,4 +10,4 @@ export declare const validateIndividualTaxNumber: (accountCountry: AccountCountr
|
|
|
10
10
|
export declare const validateCompanyTaxNumber: (accountCountry: AccountCountry) => Validator<string | undefined>;
|
|
11
11
|
export { printFormat as printIbanFormat } from "iban";
|
|
12
12
|
export declare const validateIban: (iban: string) => string | undefined;
|
|
13
|
-
export declare const validateBirthdate: (value: ExtractedDate) => string | undefined;
|
|
13
|
+
export declare const validateBirthdate: (value: ExtractedDate | undefined) => string | undefined;
|
package/src/utils/validation.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { noop } from "@swan-io/lake/src/utils/function";
|
|
2
|
+
import { isNullish } from "@swan-io/lake/src/utils/nullish";
|
|
2
3
|
import dayjs from "dayjs";
|
|
3
4
|
import { isValid as isValidIban } from "iban";
|
|
4
5
|
import { match } from "ts-pattern";
|
|
@@ -105,6 +106,9 @@ export const validateIban = (iban) => {
|
|
|
105
106
|
}
|
|
106
107
|
};
|
|
107
108
|
export const validateBirthdate = (value) => {
|
|
109
|
+
if (isNullish(value)) {
|
|
110
|
+
return t("validation.invalidBirthDate");
|
|
111
|
+
}
|
|
108
112
|
const date = dayjs.utc(formatExtractedDate(value), "YYYY-MM-DD", true);
|
|
109
113
|
const isBirthdateOver150years = date.isBefore(dayjs.utc().subtract(100, "years"));
|
|
110
114
|
const isBirthdateWithin4years = date.isAfter(dayjs.utc().subtract(4, "years"));
|