@swan-io/shared-business 8.14.7 → 8.15.1

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.7",
3
+ "version": "8.15.1",
4
4
  "engines": {
5
5
  "node": ">=20.9.0",
6
6
  "yarn": "^1.22.0"
@@ -1,16 +1,23 @@
1
1
  import { StyleProp, ViewStyle } from "react-native";
2
+ type Amount = {
3
+ value: string;
4
+ currency: string;
5
+ };
6
+ type TransactionType = "SepaCreditTransferIn" | "SepaCreditTransferOut" | "SepaInstantCreditTransferIn" | "SepaInstantCreditTransferOut" | "InternalCreditTransferIn" | "InternalCreditTransferOut" | "InternationalCreditTransferIn" | "InternationalCreditTransferOut";
2
7
  type TransactionStatementV1Props = {
3
8
  version: "v1";
4
9
  partnerLogoUrl?: string;
5
10
  generationDate: string;
6
11
  executionDate: string;
7
- type: string;
8
- amount: string;
9
- targetTransferAmount?: string;
10
- exchangeRate?: string;
11
- fees?: string;
12
+ type: TransactionType;
13
+ amount?: Amount;
14
+ targetTransferAmount?: Amount;
15
+ instructedAmount?: Amount;
16
+ amountCredited?: Amount;
17
+ exchangeRate?: [Amount, Amount];
18
+ fees?: Amount;
12
19
  label: string;
13
- reference: string;
20
+ reference?: string;
14
21
  debtorName: string;
15
22
  debtorAccountNumber: string;
16
23
  debtorBankName?: string;
@@ -21,7 +28,7 @@ type TransactionStatementV1Props = {
21
28
  creditorBankIdentifier?: string;
22
29
  style?: StyleProp<ViewStyle>;
23
30
  };
24
- export declare const TransactionStatementV1: ({ partnerLogoUrl, generationDate, executionDate, type, amount, targetTransferAmount, exchangeRate, fees, label, reference, debtorName, debtorAccountNumber, debtorBankName, debtorBankIdentifier, creditorName, creditorAccountNumber, creditorBankName, creditorBankIdentifier, style, }: TransactionStatementV1Props) => import("react/jsx-runtime").JSX.Element;
31
+ export declare const TransactionStatementV1: ({ partnerLogoUrl, generationDate, executionDate, type, amount, instructedAmount, amountCredited, targetTransferAmount, exchangeRate, fees, label, reference, debtorName, debtorAccountNumber, debtorBankName, debtorBankIdentifier, creditorName, creditorAccountNumber, creditorBankName, creditorBankIdentifier, style, }: TransactionStatementV1Props) => import("react/jsx-runtime").JSX.Element;
25
32
  export type TransactionStatementProps = TransactionStatementV1Props;
26
33
  export declare const TransactionStatement: (props: TransactionStatementProps) => import("react/jsx-runtime").JSX.Element;
27
34
  export {};
@@ -6,10 +6,10 @@ import { Space } from "@swan-io/lake/src/components/Space";
6
6
  import { Stack } from "@swan-io/lake/src/components/Stack";
7
7
  import { SwanLogo } from "@swan-io/lake/src/components/SwanLogo";
8
8
  import { colors, fonts, interFontStyle } from "@swan-io/lake/src/constants/design";
9
- import { isNotNullishOrEmpty } from "@swan-io/lake/src/utils/nullish";
9
+ import { isNotNullish, isNotNullishOrEmpty } from "@swan-io/lake/src/utils/nullish";
10
10
  import { StyleSheet, Text, View } from "react-native";
11
11
  import { match } from "ts-pattern";
12
- import { t } from "../utils/i18n";
12
+ import { formatCurrencyIso, t } from "../utils/i18n";
13
13
  const LOGO_MAX_HEIGHT = 24;
14
14
  const LOGO_MAX_WIDTH = 150;
15
15
  const getTextStyle = (type, fontSize) => ({
@@ -21,9 +21,9 @@ const getTextStyle = (type, fontSize) => ({
21
21
  });
22
22
  const styles = StyleSheet.create({
23
23
  container: {
24
- height: 842,
25
- width: 595,
26
- padding: 42,
24
+ height: 1050,
25
+ width: 793,
26
+ padding: 56,
27
27
  },
28
28
  partnershipText: {
29
29
  ...getTextStyle("sans", 12),
@@ -73,8 +73,17 @@ const logoStyle = {
73
73
  objectFit: "contain",
74
74
  objectPosition: "left",
75
75
  };
76
- export const TransactionStatementV1 = ({ partnerLogoUrl, generationDate, executionDate, type, amount, targetTransferAmount, exchangeRate, fees, label, reference, debtorName, debtorAccountNumber, debtorBankName, debtorBankIdentifier, creditorName, creditorAccountNumber, creditorBankName, creditorBankIdentifier, style, }) => {
77
- return (_jsxs(View, { style: [styles.container, style], children: [_jsxs(Box, { direction: "row", alignItems: "center", children: [isNotNullishOrEmpty(partnerLogoUrl) ? (_jsx("img", { src: partnerLogoUrl, style: logoStyle })) : (_jsx(SwanLogo, { style: styles.defaultLogo })), _jsx(Separator, { horizontal: true, space: 8 }), _jsx(Text, { style: styles.partnershipText, children: t("transactionStatement.partnership") }), _jsx(Space, { width: 4 }), _jsx(SwanLogo, { color: colors.gray[900], style: styles.swanLogo })] }), _jsx(Space, { height: 24 }), _jsx(Text, { style: styles.pageTitle, children: t("transactionStatement.title.document") }), _jsx(Space, { height: 24 }), _jsx(Text, { style: styles.sectionTitle, children: t("transactionStatement.title.information") }), _jsx(Space, { height: 8 }), _jsxs(Stack, { space: 8, children: [_jsx(Line, { name: t("transactionStatement.information.executionDate"), value: executionDate }), _jsx(Line, { name: t("transactionStatement.information.type"), value: type }), _jsx(Line, { name: t("transactionStatement.information.amount"), value: amount }), isNotNullishOrEmpty(targetTransferAmount) && (_jsx(Line, { name: t("transactionStatement.information.targetTransferAmount"), value: targetTransferAmount })), isNotNullishOrEmpty(exchangeRate) && (_jsx(Line, { name: t("transactionStatement.information.exchangeRate"), value: exchangeRate })), isNotNullishOrEmpty(fees) && (_jsx(Line, { name: t("transactionStatement.information.fees"), value: fees })), _jsx(Line, { name: "Label", value: label }), _jsx(Line, { name: "Reference", value: reference })] }), _jsx(Space, { height: 24 }), _jsx(Text, { style: styles.sectionTitle, children: t("transactionStatement.title.debtor") }), _jsx(Space, { height: 8 }), _jsxs(Stack, { space: 8, children: [_jsx(Line, { name: t("transactionStatement.debtor.name"), value: debtorName }), _jsx(Line, { name: t("transactionStatement.debtor.accountNumber"), value: debtorAccountNumber }), isNotNullishOrEmpty(debtorBankName) && (_jsx(Line, { name: t("transactionStatement.debtor.bankName"), value: debtorBankName })), isNotNullishOrEmpty(debtorBankIdentifier) && (_jsx(Line, { name: t("transactionStatement.debtor.bankIdentifier"), value: debtorBankIdentifier }))] }), _jsx(Space, { height: 24 }), _jsx(Text, { style: styles.sectionTitle, children: t("transactionStatement.title.creditor") }), _jsx(Space, { height: 8 }), _jsxs(Stack, { space: 8, children: [_jsx(Line, { name: t("transactionStatement.creditor.name"), value: creditorName }), _jsx(Line, { name: t("transactionStatement.creditor.accountNumber"), value: creditorAccountNumber }), isNotNullishOrEmpty(creditorBankName) && (_jsx(Line, { name: t("transactionStatement.creditor.bankName"), value: creditorBankName })), isNotNullishOrEmpty(creditorBankIdentifier) && (_jsx(Line, { name: t("transactionStatement.creditor.bankIdentifier"), value: creditorBankIdentifier }))] }), _jsx(Fill, { minHeight: 8 }), _jsx(Text, { style: styles.generationInfos, children: t("transactionStatement.generationDate", { date: generationDate }) }), _jsx(Space, { height: 8 }), _jsx(Text, { style: styles.generationInfos, children: t("transactionStatement.generationInfos") }), _jsx(Separator, { space: 24 }), _jsx(Text, { style: styles.footer, children: t("transactionStatement.footer") })] }));
76
+ export const TransactionStatementV1 = ({ partnerLogoUrl, generationDate, executionDate, type, amount, instructedAmount, amountCredited, targetTransferAmount, exchangeRate, fees, label, reference, debtorName, debtorAccountNumber, debtorBankName, debtorBankIdentifier, creditorName, creditorAccountNumber, creditorBankName, creditorBankIdentifier, style, }) => {
77
+ return (_jsxs(View, { style: [styles.container, style], children: [_jsxs(Box, { direction: "row", alignItems: "center", children: [isNotNullishOrEmpty(partnerLogoUrl) ? (_jsx("img", { src: partnerLogoUrl, style: logoStyle })) : (_jsx(SwanLogo, { style: styles.defaultLogo })), _jsx(Separator, { horizontal: true, space: 8 }), _jsx(Text, { style: styles.partnershipText, children: t("transactionStatement.partnership") }), _jsx(Space, { width: 4 }), _jsx(SwanLogo, { color: colors.gray[900], style: styles.swanLogo })] }), _jsx(Space, { height: 24 }), _jsx(Text, { style: styles.pageTitle, children: t("transactionStatement.title.document") }), _jsx(Space, { height: 24 }), _jsx(Text, { style: styles.sectionTitle, children: t("transactionStatement.title.information") }), _jsx(Space, { height: 8 }), _jsxs(Stack, { space: 8, children: [_jsx(Line, { name: t("transactionStatement.information.executionDate"), value: executionDate }), _jsx(Line, { name: t("transactionStatement.information.type"), value: match(type)
78
+ .with("SepaCreditTransferIn", () => t("transactionStatement.type.SepaCreditTransferIn"))
79
+ .with("SepaCreditTransferOut", () => t("transactionStatement.type.SepaCreditTransferOut"))
80
+ .with("SepaInstantCreditTransferIn", () => t("transactionStatement.type.SepaInstantCreditTransferIn"))
81
+ .with("SepaInstantCreditTransferOut", () => t("transactionStatement.type.SepaInstantCreditTransferOut"))
82
+ .with("InternalCreditTransferIn", () => t("transactionStatement.type.InternalCreditTransferIn"))
83
+ .with("InternalCreditTransferOut", () => t("transactionStatement.type.InternalCreditTransferOut"))
84
+ .with("InternationalCreditTransferIn", () => t("transactionStatement.type.InternationalCreditTransferIn"))
85
+ .with("InternationalCreditTransferOut", () => t("transactionStatement.type.InternationalCreditTransferOut"))
86
+ .exhaustive() }), isNotNullish(instructedAmount) && (_jsx(Line, { name: t("transactionStatement.information.instructedAmount"), value: formatCurrencyIso(Number(instructedAmount.value), instructedAmount.currency) })), isNotNullish(amountCredited) && (_jsx(Line, { name: t("transactionStatement.information.amountCredited"), value: formatCurrencyIso(Number(amountCredited.value), amountCredited.currency) })), isNotNullish(amount) && (_jsx(Line, { name: t("transactionStatement.information.amount"), value: formatCurrencyIso(Number(amount.value), amount.currency) })), isNotNullish(targetTransferAmount) && (_jsx(Line, { name: t("transactionStatement.information.targetTransferAmount"), value: formatCurrencyIso(Number(targetTransferAmount.value), targetTransferAmount.currency) })), isNotNullish(exchangeRate) && (_jsx(Line, { name: t("transactionStatement.information.exchangeRate"), value: `${formatCurrencyIso(Number(exchangeRate[0].value), exchangeRate[0].currency)} = ${formatCurrencyIso(Number(exchangeRate[1].value), exchangeRate[1].currency)}` })), isNotNullish(fees) && (_jsx(Line, { name: t("transactionStatement.information.fees"), value: formatCurrencyIso(Number(fees.value), fees.currency) })), _jsx(Line, { name: "Label", value: label }), isNotNullish(reference) && _jsx(Line, { name: "Reference", value: reference })] }), _jsx(Space, { height: 24 }), _jsx(Text, { style: styles.sectionTitle, children: t("transactionStatement.title.debtor") }), _jsx(Space, { height: 8 }), _jsxs(Stack, { space: 8, children: [_jsx(Line, { name: t("transactionStatement.debtor.name"), value: debtorName }), _jsx(Line, { name: t("transactionStatement.debtor.accountNumber"), value: debtorAccountNumber }), isNotNullishOrEmpty(debtorBankName) && (_jsx(Line, { name: t("transactionStatement.debtor.bankName"), value: debtorBankName })), isNotNullishOrEmpty(debtorBankIdentifier) && (_jsx(Line, { name: t("transactionStatement.debtor.bankIdentifier"), value: debtorBankIdentifier }))] }), _jsx(Space, { height: 24 }), _jsx(Text, { style: styles.sectionTitle, children: t("transactionStatement.title.creditor") }), _jsx(Space, { height: 8 }), _jsxs(Stack, { space: 8, children: [_jsx(Line, { name: t("transactionStatement.creditor.name"), value: creditorName }), _jsx(Line, { name: t("transactionStatement.creditor.accountNumber"), value: creditorAccountNumber }), isNotNullishOrEmpty(creditorBankName) && (_jsx(Line, { name: t("transactionStatement.creditor.bankName"), value: creditorBankName })), isNotNullishOrEmpty(creditorBankIdentifier) && (_jsx(Line, { name: t("transactionStatement.creditor.bankIdentifier"), value: creditorBankIdentifier }))] }), _jsx(Fill, { minHeight: 8 }), _jsx(Text, { style: styles.generationInfos, children: t("transactionStatement.generationDate", { date: generationDate }) }), _jsx(Space, { height: 8 }), _jsx(Text, { style: styles.generationInfos, children: t("transactionStatement.generationInfos") }), _jsx(Separator, { space: 24 }), _jsx(Text, { style: styles.footer, children: t("transactionStatement.footer") })] }));
78
87
  };
79
88
  export const TransactionStatement = (props) => match(props)
80
89
  .with({ version: "v1" }, props => _jsx(TransactionStatementV1, { ...props }))
@@ -285,9 +285,11 @@
285
285
  "transactionStatement.generationDate": "Generiert am:{date}",
286
286
  "transactionStatement.generationInfos": "Dieses Dokument bestätigt Ihren Transaktionsantrag. Es stellt keinen Nachweis der Transaktionsausführung dar. Ihre Transaktion wird nach Bestehen eines obligatorischen Verifizierungsprozesses ausgeführt.",
287
287
  "transactionStatement.information.amount": "Betrag",
288
+ "transactionStatement.information.amountCredited": "Betrag gutgeschrieben",
288
289
  "transactionStatement.information.exchangeRate": "Wechselkurs",
289
290
  "transactionStatement.information.executionDate": "Ausführungsdatum",
290
291
  "transactionStatement.information.fees": "Gebühren",
292
+ "transactionStatement.information.instructedAmount": "Angewiesener Betrag",
291
293
  "transactionStatement.information.label": "Etikett",
292
294
  "transactionStatement.information.reference": "Kundenreferenz",
293
295
  "transactionStatement.information.targetTransferAmount": "Zielbetrag der Überweisung",
@@ -297,6 +299,14 @@
297
299
  "transactionStatement.title.debtor": "Informationen zum Zahlungspflichtigen",
298
300
  "transactionStatement.title.document": "Transaktionsbestätigung",
299
301
  "transactionStatement.title.information": "Informationen",
302
+ "transactionStatement.type.InternalCreditTransferIn": "Interne Überweisung erhalten",
303
+ "transactionStatement.type.InternalCreditTransferOut": "Interne Überweisung gesendet",
304
+ "transactionStatement.type.InternationalCreditTransferIn": "Internationale Überweisung erhalten",
305
+ "transactionStatement.type.InternationalCreditTransferOut": "Internationale Überweisung gesendet",
306
+ "transactionStatement.type.SepaCreditTransferIn": "SEPA-Überweisung erhalten",
307
+ "transactionStatement.type.SepaCreditTransferOut": "SEPA-Überweisung gesendet",
308
+ "transactionStatement.type.SepaInstantCreditTransferIn": "SEPA Sofortüberweisung erhalten",
309
+ "transactionStatement.type.SepaInstantCreditTransferOut": "SEPA Sofortüberweisung gesendet",
300
310
  "validation.birthdateCannotBeFuture": "Geburtsdatum kann nicht in der Zukunft liegen.",
301
311
  "validation.invalidBirthDate": "Bitte geben Sie ein gültiges Geburtsdatum ein."
302
312
  }
@@ -285,9 +285,11 @@
285
285
  "transactionStatement.generationDate": "Generated on: {date}",
286
286
  "transactionStatement.generationInfos": "This document is confirmation of your transaction request. It doesn't constitute proof of transaction execution. Your transaction will be executed after passing a mandatory verification process.",
287
287
  "transactionStatement.information.amount": "Amount",
288
+ "transactionStatement.information.amountCredited": "Amount credited",
288
289
  "transactionStatement.information.exchangeRate": "Exchange rate",
289
290
  "transactionStatement.information.executionDate": "Execution date",
290
291
  "transactionStatement.information.fees": "Fees",
292
+ "transactionStatement.information.instructedAmount": "Instructed amount",
291
293
  "transactionStatement.information.label": "Label",
292
294
  "transactionStatement.information.reference": "Reference",
293
295
  "transactionStatement.information.targetTransferAmount": "Target transfer amount",
@@ -297,6 +299,14 @@
297
299
  "transactionStatement.title.debtor": "Debtor information",
298
300
  "transactionStatement.title.document": "Transaction confirmation",
299
301
  "transactionStatement.title.information": "Information",
302
+ "transactionStatement.type.SepaCreditTransferIn": "SEPA Credit Transfer received",
303
+ "transactionStatement.type.SepaCreditTransferOut": "SEPA Credit Transfer sent",
304
+ "transactionStatement.type.SepaInstantCreditTransferIn": "SEPA Instant Credit Transfer received",
305
+ "transactionStatement.type.SepaInstantCreditTransferOut": "SEPA Instant Credit Transfer sent",
306
+ "transactionStatement.type.InternalCreditTransferIn": "Internal Credit Transfer received",
307
+ "transactionStatement.type.InternalCreditTransferOut": "Internal Credit Transfer sent",
308
+ "transactionStatement.type.InternationalCreditTransferIn": "International Credit Transfer received",
309
+ "transactionStatement.type.InternationalCreditTransferOut": "International Credit Transfer sent",
300
310
  "validation.birthdateCannotBeFuture": "Birthdate cannot be in the future",
301
311
  "validation.invalidBirthDate": "Please enter a valid birth date."
302
312
  }
@@ -285,9 +285,11 @@
285
285
  "transactionStatement.generationDate": "Generado el: {date}",
286
286
  "transactionStatement.generationInfos": "Este documento es la confirmación de tu solicitud de transacción. No constituye una prueba de la ejecución de la transacción. La transacción se ejecutará tras pasar un proceso de verificación obligatorio.",
287
287
  "transactionStatement.information.amount": "Monto",
288
+ "transactionStatement.information.amountCredited": "Importe abonado",
288
289
  "transactionStatement.information.exchangeRate": "Tipo de cambio",
289
290
  "transactionStatement.information.executionDate": "Fecha de ejecución",
290
291
  "transactionStatement.information.fees": "Tasas",
292
+ "transactionStatement.information.instructedAmount": "Importe instruido",
291
293
  "transactionStatement.information.label": "Etiqueta",
292
294
  "transactionStatement.information.reference": "Referencia",
293
295
  "transactionStatement.information.targetTransferAmount": "Importe objetivo de la transferencia",
@@ -297,6 +299,14 @@
297
299
  "transactionStatement.title.debtor": "Información del Deudor",
298
300
  "transactionStatement.title.document": "Confirmación de la transacción",
299
301
  "transactionStatement.title.information": "Información",
302
+ "transactionStatement.type.InternalCreditTransferIn": "Transferencia interna recibida",
303
+ "transactionStatement.type.InternalCreditTransferOut": "Transferencia interna enviada",
304
+ "transactionStatement.type.InternationalCreditTransferIn": "Transferencia internacional recibida",
305
+ "transactionStatement.type.InternationalCreditTransferOut": "Transferencia internacional enviada",
306
+ "transactionStatement.type.SepaCreditTransferIn": "Transferencia SEPA recibida",
307
+ "transactionStatement.type.SepaCreditTransferOut": "Transferencia SEPA enviada",
308
+ "transactionStatement.type.SepaInstantCreditTransferIn": "Transferencia SEPA Instantánea recibida",
309
+ "transactionStatement.type.SepaInstantCreditTransferOut": "Transferencia SEPA Instantánea enviada",
300
310
  "validation.birthdateCannotBeFuture": "La fecha de nacimiento no puede estar en el futuro",
301
311
  "validation.invalidBirthDate": "Por favor, introduce una fecha de nacimiento válida."
302
312
  }
@@ -285,9 +285,11 @@
285
285
  "transactionStatement.generationDate": "Generated on: {date}",
286
286
  "transactionStatement.generationInfos": "This document is confirmation of your transaction request. It doesn't constitute proof of transaction execution. Your transaction will be executed after passing a mandatory verification process.",
287
287
  "transactionStatement.information.amount": "Summa",
288
+ "transactionStatement.information.amountCredited": "Hyvitetty määrä",
288
289
  "transactionStatement.information.exchangeRate": "Vaihtokurssi",
289
290
  "transactionStatement.information.executionDate": "Suorituksen päivämäärä",
290
291
  "transactionStatement.information.fees": "Maksut",
292
+ "transactionStatement.information.instructedAmount": "Ohjeistettu määrä",
291
293
  "transactionStatement.information.label": "Viesti",
292
294
  "transactionStatement.information.reference": "Viite",
293
295
  "transactionStatement.information.targetTransferAmount": "Target transfer amount",
@@ -297,6 +299,14 @@
297
299
  "transactionStatement.title.debtor": "Velallisen tiedot",
298
300
  "transactionStatement.title.document": "Transaction confirmation",
299
301
  "transactionStatement.title.information": "Tiedot",
302
+ "transactionStatement.type.InternalCreditTransferIn": "Vastaanotettu sisäinen tilisiirto",
303
+ "transactionStatement.type.InternalCreditTransferOut": "Lähetetty sisäinen tilisiirto",
304
+ "transactionStatement.type.InternationalCreditTransferIn": "Vastaanotettu kansainvälinen tilisiirto",
305
+ "transactionStatement.type.InternationalCreditTransferOut": "Lähetetty kansainvälinen tilisiirto",
306
+ "transactionStatement.type.SepaCreditTransferIn": "Vastaanotettu SEPA-tilisiirto",
307
+ "transactionStatement.type.SepaCreditTransferOut": "Lähetetty SEPA-tilisiirto",
308
+ "transactionStatement.type.SepaInstantCreditTransferIn": "Vastaanotettu SEPA Instant -tilisiirto",
309
+ "transactionStatement.type.SepaInstantCreditTransferOut": "Lähetetty SEPA Instant -tilisiirto",
300
310
  "validation.birthdateCannotBeFuture": "Syntymäpäivä ei voi olla tulevaisuudessa",
301
311
  "validation.invalidBirthDate": "Syötä kelvollinen syntymäpäivä."
302
312
  }
@@ -285,9 +285,11 @@
285
285
  "transactionStatement.generationDate": "Généré le : {date}",
286
286
  "transactionStatement.generationInfos": "Ce document atteste de votre demande de transaction. En aucun cas il ne constitue une preuve de son exécution. Votre transaction sera exécutée après un processus de vérification obligatoire.",
287
287
  "transactionStatement.information.amount": "Montant",
288
+ "transactionStatement.information.amountCredited": "Montant crédité",
288
289
  "transactionStatement.information.exchangeRate": "Taux de change",
289
290
  "transactionStatement.information.executionDate": "Date d'exécution",
290
291
  "transactionStatement.information.fees": "Frais",
292
+ "transactionStatement.information.instructedAmount": "Montant indiqué",
291
293
  "transactionStatement.information.label": "Libellé",
292
294
  "transactionStatement.information.reference": "Référence",
293
295
  "transactionStatement.information.targetTransferAmount": "Montant de la demande de transfert",
@@ -297,6 +299,14 @@
297
299
  "transactionStatement.title.debtor": "Informations sur le débiteur",
298
300
  "transactionStatement.title.document": "Confirmation de transaction",
299
301
  "transactionStatement.title.information": "Informations",
302
+ "transactionStatement.type.InternalCreditTransferIn": "Virement interne reçu",
303
+ "transactionStatement.type.InternalCreditTransferOut": "Virement interne envoyé",
304
+ "transactionStatement.type.InternationalCreditTransferIn": "Virement international reçu",
305
+ "transactionStatement.type.InternationalCreditTransferOut": "Virement international envoyé",
306
+ "transactionStatement.type.SepaCreditTransferIn": "Virement SEPA reçu",
307
+ "transactionStatement.type.SepaCreditTransferOut": "Virement SEPA envoyé",
308
+ "transactionStatement.type.SepaInstantCreditTransferIn": "Virement SEPA instantané reçu",
309
+ "transactionStatement.type.SepaInstantCreditTransferOut": "Virement SEPA instantané envoyé",
300
310
  "validation.birthdateCannotBeFuture": "La date de naissance ne peut pas être future",
301
311
  "validation.invalidBirthDate": "Veuillez saisir une date de naissance valide."
302
312
  }
@@ -285,9 +285,11 @@
285
285
  "transactionStatement.generationDate": "Generato il: {date}",
286
286
  "transactionStatement.generationInfos": "Questo documento è la conferma della tua richiesta di transazione. Non costituisce prova dell'esecuzione della transazione. La tua transazione verrà eseguita dopo aver superato un obbligatorio processo di verifica.",
287
287
  "transactionStatement.information.amount": "Importo",
288
+ "transactionStatement.information.amountCredited": "Importo accreditato",
288
289
  "transactionStatement.information.exchangeRate": "Tasso di cambio",
289
290
  "transactionStatement.information.executionDate": "Data di esecuzione",
290
291
  "transactionStatement.information.fees": "Commissioni",
292
+ "transactionStatement.information.instructedAmount": "Importo istruito",
291
293
  "transactionStatement.information.label": "Etichetta",
292
294
  "transactionStatement.information.reference": "Riferimento",
293
295
  "transactionStatement.information.targetTransferAmount": "Importo di trasferimento previsto",
@@ -297,6 +299,14 @@
297
299
  "transactionStatement.title.debtor": "Informazioni debitore",
298
300
  "transactionStatement.title.document": "Conferma della transazione",
299
301
  "transactionStatement.title.information": "Informazioni",
302
+ "transactionStatement.type.InternalCreditTransferIn": "Bonifico interno ricevuto",
303
+ "transactionStatement.type.InternalCreditTransferOut": "Bonifico interno inviato",
304
+ "transactionStatement.type.InternationalCreditTransferIn": "Bonifico internazionale ricevuto",
305
+ "transactionStatement.type.InternationalCreditTransferOut": "Bonifico internazionale inviato",
306
+ "transactionStatement.type.SepaCreditTransferIn": "Bonifico SEPA ricevuto",
307
+ "transactionStatement.type.SepaCreditTransferOut": "Bonifico SEPA inviato",
308
+ "transactionStatement.type.SepaInstantCreditTransferIn": "Bonifico SEPA istantaneo ricevuto",
309
+ "transactionStatement.type.SepaInstantCreditTransferOut": "Bonifico SEPA istantaneo inviato",
300
310
  "validation.birthdateCannotBeFuture": "La data di nascita non può essere nel futuro",
301
311
  "validation.invalidBirthDate": "Inserisci una data di nascita valida."
302
312
  }
@@ -285,9 +285,11 @@
285
285
  "transactionStatement.generationDate": "Gegenereerd op: {date}",
286
286
  "transactionStatement.generationInfos": "Dit document bevestigt je transactieverzoek. Het vormt geen bewijs van transactie-uitvoering. Je transactie zal worden uitgevoerd na het doorlopen van een verplicht verificatieproces.",
287
287
  "transactionStatement.information.amount": "Bedrag",
288
+ "transactionStatement.information.amountCredited": "Bedrag bijgeschreven",
288
289
  "transactionStatement.information.exchangeRate": "Wisselkoers",
289
290
  "transactionStatement.information.executionDate": "Uitvoeringsdatum",
290
291
  "transactionStatement.information.fees": "Kosten",
292
+ "transactionStatement.information.instructedAmount": "Instructiebedrag",
291
293
  "transactionStatement.information.label": "Etiket",
292
294
  "transactionStatement.information.reference": "Referentie",
293
295
  "transactionStatement.information.targetTransferAmount": "Doeloverdracht",
@@ -297,6 +299,14 @@
297
299
  "transactionStatement.title.debtor": "Informatie over Debiteur",
298
300
  "transactionStatement.title.document": "Transactiebevestiging",
299
301
  "transactionStatement.title.information": "Informatie",
302
+ "transactionStatement.type.InternalCreditTransferIn": "Interne Overschrijving ontvangen",
303
+ "transactionStatement.type.InternalCreditTransferOut": "Interne Overschrijving verzonden",
304
+ "transactionStatement.type.InternationalCreditTransferIn": "Internationale Overschrijving ontvangen",
305
+ "transactionStatement.type.InternationalCreditTransferOut": "Internationale Overschrijving verzonden",
306
+ "transactionStatement.type.SepaCreditTransferIn": "SEPA Overschrijving ontvangen",
307
+ "transactionStatement.type.SepaCreditTransferOut": "SEPA Overschrijving verzonden",
308
+ "transactionStatement.type.SepaInstantCreditTransferIn": "SEPA Directe Overschrijving ontvangen",
309
+ "transactionStatement.type.SepaInstantCreditTransferOut": "SEPA Directe Overschrijving verzonden",
300
310
  "validation.birthdateCannotBeFuture": "Geboortedatum kan niet in de toekomst liggen",
301
311
  "validation.invalidBirthDate": "Voer alstublieft een geldige geboortedatum in."
302
312
  }
@@ -285,9 +285,11 @@
285
285
  "transactionStatement.generationDate": "Gerado em:{date}",
286
286
  "transactionStatement.generationInfos": "Este documento é a confirmação do seu pedido de transação. Não constitui prova da execução da transação. A sua transação será executada ao completar o processo de verificação obrigatório.",
287
287
  "transactionStatement.information.amount": "Valor",
288
+ "transactionStatement.information.amountCredited": "Valor creditado",
288
289
  "transactionStatement.information.exchangeRate": "Taxa de câmbio",
289
290
  "transactionStatement.information.executionDate": "Data de execução",
290
291
  "transactionStatement.information.fees": "Taxas",
292
+ "transactionStatement.information.instructedAmount": "Valor instruído",
291
293
  "transactionStatement.information.label": "Etiqueta",
292
294
  "transactionStatement.information.reference": "Referência",
293
295
  "transactionStatement.information.targetTransferAmount": "Montante de transferência pretendido",
@@ -297,6 +299,14 @@
297
299
  "transactionStatement.title.debtor": "Informações do devedor",
298
300
  "transactionStatement.title.document": "Confirmação da transação",
299
301
  "transactionStatement.title.information": "Informação",
302
+ "transactionStatement.type.InternalCreditTransferIn": "Transferência de crédito interna recebida",
303
+ "transactionStatement.type.InternalCreditTransferOut": "Transferência de crédito interna enviada",
304
+ "transactionStatement.type.InternationalCreditTransferIn": "Transferência de crédito internacional recebida",
305
+ "transactionStatement.type.InternationalCreditTransferOut": "Transferência de crédito internacional enviada",
306
+ "transactionStatement.type.SepaCreditTransferIn": "Transferência de crédito SEPA recebida",
307
+ "transactionStatement.type.SepaCreditTransferOut": "Transferência de crédito SEPA enviada",
308
+ "transactionStatement.type.SepaInstantCreditTransferIn": "Transferência de crédito instantânea SEPA recebida",
309
+ "transactionStatement.type.SepaInstantCreditTransferOut": "Transferência de crédito instantânea SEPA enviada",
300
310
  "validation.birthdateCannotBeFuture": "A data de nascimento não pode estar no futuro",
301
311
  "validation.invalidBirthDate": "Por favor, insira uma data de nascimento válida."
302
312
  }
@@ -18,6 +18,7 @@ type Locale = {
18
18
  };
19
19
  export declare const locale: Locale;
20
20
  export declare const t: (key: TranslationKey, params?: TranslationParams) => string;
21
+ export declare const formatCurrencyIso: (value: number, currency: string) => string;
21
22
  export declare const formatNestedMessage: (key: TranslationKey, params: Record<string, string | number | ReactElement | ((children: ReactNode) => ReactNode)>) => (string | ReactElement<any, string | import("react").JSXElementConstructor<any>>)[];
22
23
  export declare const rifmDateProps: RifmProps;
23
24
  export declare const isTranslationKey: (value: unknown) => value is TranslationKey;
package/src/utils/i18n.js CHANGED
@@ -116,6 +116,7 @@ const intl = createIntl({
116
116
  messages: locale.translations,
117
117
  }, createIntlCache());
118
118
  export const t = (key, params) => intl.formatMessage({ id: key, defaultMessage: translationEN[key] }, params).toString();
119
+ export const formatCurrencyIso = (value, currency) => `${intl.formatNumber(value, { style: "decimal", minimumFractionDigits: 2 })} ${currency}`;
119
120
  export const formatNestedMessage = (key, params) => {
120
121
  const result = intl.formatMessage({ id: key, defaultMessage: translationEN[key] },
121
122
  // @ts-expect-error