@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swan-io/shared-business",
3
- "version": "8.14.6",
3
+ "version": "8.14.7",
4
4
  "engines": {
5
5
  "node": ">=20.9.0",
6
6
  "yarn": "^1.22.0"
@@ -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 { isEmpty, isNotNullish, isNullish } from "@swan-io/lake/src/utils/nullish";
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 = isNullish(date) || Object.values(date).some(isEmpty)
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;
@@ -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 Ihr gültiges Geburtsdatum ein."
301
+ "validation.invalidBirthDate": "Bitte geben Sie ein gültiges Geburtsdatum ein."
303
302
  }
@@ -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 your valid birth date."
301
+ "validation.invalidBirthDate": "Please enter a valid birth date."
303
302
  }
@@ -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 tu fecha de nacimiento válida."
301
+ "validation.invalidBirthDate": "Por favor, introduce una fecha de nacimiento válida."
303
302
  }
@@ -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": "Birthdate cannot be in the future",
302
- "validation.invalidBirthDate": "Please enter your valid birth date."
300
+ "validation.birthdateCannotBeFuture": "Syntymäpäivä ei voi olla tulevaisuudessa",
301
+ "validation.invalidBirthDate": "Syötä kelvollinen syntymäpäivä."
303
302
  }
@@ -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 votre date de naissance valide."
301
+ "validation.invalidBirthDate": "Veuillez saisir une date de naissance valide."
303
302
  }
@@ -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 la tua data di nascita valida."
301
+ "validation.invalidBirthDate": "Inserisci una data di nascita valida."
303
302
  }
@@ -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 je volledige en geldige geboortedatum in: maand, dag en jaar"
301
+ "validation.invalidBirthDate": "Voer alstublieft een geldige geboortedatum in."
303
302
  }
@@ -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, introduza a sua data de nascimento completa e válida: mês, dia e ano"
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;
@@ -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"));