@transferwise/comparison-components 17.1.21 → 17.1.25

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 (165) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/es/ComparisonTableHeroContainer-235fab3c.js +2 -0
  3. package/dist/es/ComparisonTableHeroContainer-235fab3c.js.map +1 -0
  4. package/dist/es/{ComparisonTableVersus-e71d93bf.js → ComparisonTableVersus-421aef56.js} +2 -2
  5. package/dist/es/ComparisonTableVersus-421aef56.js.map +1 -0
  6. package/dist/es/{ErrorTemplate-160be618.js → ErrorTemplate-af150633.js} +2 -2
  7. package/dist/es/{ErrorTemplate-160be618.js.map → ErrorTemplate-af150633.js.map} +1 -1
  8. package/dist/es/Locale-f17a085c.js +2 -0
  9. package/dist/es/Locale-f17a085c.js.map +1 -0
  10. package/dist/es/{ProviderComparisonTable-db7dcd96.js → ProviderComparisonTable-32db64a1.js} +2 -2
  11. package/dist/es/{ProviderComparisonTable-db7dcd96.js.map → ProviderComparisonTable-32db64a1.js.map} +1 -1
  12. package/dist/es/ProviderLogo-de252d18.js +2 -0
  13. package/dist/es/ProviderLogo-de252d18.js.map +1 -0
  14. package/dist/es/{ReceiveAmount-d5522d8e.js → ReceiveAmount-1544747a.js} +2 -2
  15. package/dist/es/{ReceiveAmount-d5522d8e.js.map → ReceiveAmount-1544747a.js.map} +1 -1
  16. package/dist/es/TransferFeeComparisonContainer-cff7fa04.js +2 -0
  17. package/dist/es/TransferFeeComparisonContainer-cff7fa04.js.map +1 -0
  18. package/dist/es/{TravelMoney-9407a3f4.js → TravelMoney-93b37820.js} +2 -2
  19. package/dist/es/{TravelMoney-9407a3f4.js.map → TravelMoney-93b37820.js.map} +1 -1
  20. package/dist/es/comparison/index.js +1 -1
  21. package/dist/es/comparison/index.js.map +1 -1
  22. package/dist/es/comparison-table/index.js +1 -1
  23. package/dist/es/comparison-table-hero/index.js +1 -1
  24. package/dist/es/comparison-table-versus/index.js +1 -1
  25. package/dist/es/index-2622bff4.js +2 -0
  26. package/dist/es/index-2622bff4.js.map +1 -0
  27. package/dist/es/index.js +1 -1
  28. package/dist/es/index.js.map +1 -1
  29. package/dist/es/provider-comparison-table/index.js +1 -1
  30. package/dist/es/provider-comparison-widget/index.js +1 -1
  31. package/dist/es/transfer-fee-comparison/index.js +1 -1
  32. package/dist/es/travel-money/index.js +1 -1
  33. package/dist/umd/comparison/comparison.css +1 -1
  34. package/dist/umd/comparison/comparison.js +19 -3
  35. package/dist/umd/comparison/comparison.js.map +1 -1
  36. package/dist/umd/comparison-components.css +1 -1
  37. package/dist/umd/comparison-components.js +6 -6
  38. package/dist/umd/comparison-components.js.map +1 -1
  39. package/dist/umd/comparison-table/comparison-table.css +1 -1
  40. package/dist/umd/comparison-table/comparison-table.js +19 -3
  41. package/dist/umd/comparison-table/comparison-table.js.map +1 -1
  42. package/dist/umd/comparison-table-hero/comparison-table-hero.css +1 -1
  43. package/dist/umd/comparison-table-hero/comparison-table-hero.js +19 -3
  44. package/dist/umd/comparison-table-hero/comparison-table-hero.js.map +1 -1
  45. package/dist/umd/comparison-table-versus/comparison-table-versus.css +1 -1
  46. package/dist/umd/comparison-table-versus/comparison-table-versus.js +33 -2
  47. package/dist/umd/comparison-table-versus/comparison-table-versus.js.map +1 -1
  48. package/dist/umd/transfer-fee-comparison/transfer-fee-comparison.css +1 -1
  49. package/dist/umd/transfer-fee-comparison/transfer-fee-comparison.js +3 -3
  50. package/dist/umd/transfer-fee-comparison/transfer-fee-comparison.js.map +1 -1
  51. package/package.json +1 -4
  52. package/src/common/{ProviderLogo.module.less → ProviderLogo/ProviderLogo.module.less} +0 -0
  53. package/src/common/ProviderLogo/ProviderLogo.spec.tsx +48 -0
  54. package/src/common/ProviderLogo/ProviderLogo.stories.tsx +31 -0
  55. package/src/common/ProviderLogo/ProviderLogo.tsx +60 -0
  56. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages.json +0 -0
  57. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_bg.json +0 -0
  58. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_cs.json +0 -0
  59. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_de.json +0 -0
  60. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_el.json +0 -0
  61. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_en.json +0 -0
  62. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_es.json +0 -0
  63. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_fr.json +0 -0
  64. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_hu.json +1 -1
  65. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_id.json +0 -0
  66. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_it.json +0 -0
  67. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_ja.json +0 -0
  68. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_nl.json +0 -0
  69. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_no.json +0 -0
  70. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_pl.json +0 -0
  71. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_pt.json +0 -0
  72. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_ro.json +0 -0
  73. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_ru.json +0 -0
  74. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_sk.json +0 -0
  75. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_sv.json +0 -0
  76. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_tr.json +0 -0
  77. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_uk.json +0 -0
  78. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/messages_zh.json +1 -1
  79. package/src/{transfer-fee-comparison/transfer-fee-comparison-table-row → common/ProviderLogo}/assets/translations/translations.json +2 -2
  80. package/src/common/ProviderLogo/index.js +1 -0
  81. package/src/comparison-table/assets/translations/messages.json +0 -3
  82. package/src/comparison-table/assets/translations/messages_bg.json +0 -3
  83. package/src/comparison-table/assets/translations/messages_cs.json +0 -3
  84. package/src/comparison-table/assets/translations/messages_de.json +0 -3
  85. package/src/comparison-table/assets/translations/messages_el.json +0 -3
  86. package/src/comparison-table/assets/translations/messages_en.json +0 -3
  87. package/src/comparison-table/assets/translations/messages_es.json +0 -3
  88. package/src/comparison-table/assets/translations/messages_fr.json +0 -3
  89. package/src/comparison-table/assets/translations/messages_hu.json +0 -3
  90. package/src/comparison-table/assets/translations/messages_id.json +0 -3
  91. package/src/comparison-table/assets/translations/messages_it.json +0 -3
  92. package/src/comparison-table/assets/translations/messages_ja.json +0 -3
  93. package/src/comparison-table/assets/translations/messages_nl.json +0 -3
  94. package/src/comparison-table/assets/translations/messages_no.json +0 -3
  95. package/src/comparison-table/assets/translations/messages_pl.json +0 -3
  96. package/src/comparison-table/assets/translations/messages_pt.json +0 -3
  97. package/src/comparison-table/assets/translations/messages_ro.json +0 -3
  98. package/src/comparison-table/assets/translations/messages_ru.json +0 -3
  99. package/src/comparison-table/assets/translations/messages_sk.json +0 -3
  100. package/src/comparison-table/assets/translations/messages_sv.json +0 -3
  101. package/src/comparison-table/assets/translations/messages_tr.json +0 -3
  102. package/src/comparison-table/assets/translations/messages_uk.json +0 -3
  103. package/src/comparison-table/assets/translations/messages_zh.json +0 -3
  104. package/src/comparison-table/assets/translations/translations.json +0 -66
  105. package/src/comparison-table/components/atoms/Provider.js +1 -1
  106. package/src/comparison-table-hero/assets/translations/messages.json +0 -3
  107. package/src/comparison-table-hero/assets/translations/messages_bg.json +0 -3
  108. package/src/comparison-table-hero/assets/translations/messages_cs.json +0 -3
  109. package/src/comparison-table-hero/assets/translations/messages_de.json +0 -3
  110. package/src/comparison-table-hero/assets/translations/messages_el.json +0 -3
  111. package/src/comparison-table-hero/assets/translations/messages_en.json +0 -3
  112. package/src/comparison-table-hero/assets/translations/messages_es.json +0 -3
  113. package/src/comparison-table-hero/assets/translations/messages_fr.json +0 -3
  114. package/src/comparison-table-hero/assets/translations/messages_hu.json +0 -3
  115. package/src/comparison-table-hero/assets/translations/messages_id.json +0 -3
  116. package/src/comparison-table-hero/assets/translations/messages_it.json +0 -3
  117. package/src/comparison-table-hero/assets/translations/messages_ja.json +0 -3
  118. package/src/comparison-table-hero/assets/translations/messages_nl.json +0 -3
  119. package/src/comparison-table-hero/assets/translations/messages_no.json +0 -3
  120. package/src/comparison-table-hero/assets/translations/messages_pl.json +0 -3
  121. package/src/comparison-table-hero/assets/translations/messages_pt.json +0 -3
  122. package/src/comparison-table-hero/assets/translations/messages_ro.json +0 -3
  123. package/src/comparison-table-hero/assets/translations/messages_ru.json +0 -3
  124. package/src/comparison-table-hero/assets/translations/messages_sk.json +0 -3
  125. package/src/comparison-table-hero/assets/translations/messages_sv.json +0 -3
  126. package/src/comparison-table-hero/assets/translations/messages_tr.json +0 -3
  127. package/src/comparison-table-hero/assets/translations/messages_uk.json +0 -3
  128. package/src/comparison-table-hero/assets/translations/messages_zh.json +0 -3
  129. package/src/comparison-table-hero/assets/translations/translations.json +0 -66
  130. package/src/comparison-table-hero/components/ComparisonTableHero.js +6 -1
  131. package/src/comparison-table-versus/components/ComparisonTableVersus.js +1 -0
  132. package/src/comparison-table-versus/components/ComparisonTableVersus.stories.js +1 -0
  133. package/src/domain/Locale.ts +27 -0
  134. package/src/transfer-fee-comparison/TransferFeeComparison.stories.tsx +3 -1
  135. package/src/transfer-fee-comparison/TransferFeeComparison.tsx +3 -1
  136. package/src/transfer-fee-comparison/TransferFeeComparisonContainer.stories.tsx +5 -2
  137. package/src/transfer-fee-comparison/TransferFeeComparisonContainer.tsx +2 -1
  138. package/src/transfer-fee-comparison/provider-filter-toggle/ProviderFilterToggle.spec.tsx +12 -5
  139. package/src/transfer-fee-comparison/provider-filter-toggle/ProviderFilterToggle.stories.tsx +2 -1
  140. package/src/transfer-fee-comparison/provider-filter-toggle/ProviderFilterToggle.tsx +5 -11
  141. package/src/transfer-fee-comparison/provider-filter-toggle/provider-filter-toggle.module.less +23 -26
  142. package/src/transfer-fee-comparison/transfer-fee-comparison-footer/TransferFeeComparisonFooter.stories.tsx +3 -1
  143. package/src/transfer-fee-comparison/transfer-fee-comparison-footer/TransferFeeComparisonFooter.tsx +4 -6
  144. package/src/transfer-fee-comparison/transfer-fee-comparison-table/TransferFeeComparisonTable.stories.tsx +2 -1
  145. package/src/transfer-fee-comparison/transfer-fee-comparison-table/TransferFeeComparisonTable.tsx +2 -1
  146. package/src/transfer-fee-comparison/transfer-fee-comparison-table-row/TransferFeeComparisonTableRow.stories.tsx +5 -4
  147. package/src/transfer-fee-comparison/transfer-fee-comparison-table-row/TransferFeeComparisonTableRow.tsx +9 -11
  148. package/src/transfer-fee-comparison/transfer-fee-comparison-table-row/fee-makeup-popover/FeeMakeupPopover.stories.tsx +5 -4
  149. package/src/transfer-fee-comparison/transfer-fee-comparison-table-row/fee-makeup-popover/FeeMakeupPopover.tsx +3 -2
  150. package/src/transfer-fee-comparison/transfer-fee-comparison-table-row/fee-makeup-popover/fee-element/NonTransparentFeeElement.tsx +4 -6
  151. package/src/transfer-fee-comparison/transfer-fee-comparison-table-row/fee-makeup-popover/fee-element/TransparentFeeElement.tsx +4 -6
  152. package/src/transfer-fee-comparison/transfer-fee-comparison-table-row/total-fee-and-hidden-fee/TotalFeeAndHiddenFee.stories.tsx +4 -2
  153. package/src/transfer-fee-comparison/transfer-fee-comparison-table-row/total-fee-and-hidden-fee/TotalFeeAndHiddenFee.tsx +4 -5
  154. package/dist/es/ComparisonTableHeroContainer-1a87bde8.js +0 -2
  155. package/dist/es/ComparisonTableHeroContainer-1a87bde8.js.map +0 -1
  156. package/dist/es/ComparisonTableVersus-e71d93bf.js.map +0 -1
  157. package/dist/es/ProviderLogo-55a78d60.js +0 -2
  158. package/dist/es/ProviderLogo-55a78d60.js.map +0 -1
  159. package/dist/es/TransferFeeComparisonContainer-0d91adaa.js +0 -2
  160. package/dist/es/TransferFeeComparisonContainer-0d91adaa.js.map +0 -1
  161. package/dist/es/index-6355f166.js +0 -2
  162. package/dist/es/index-6355f166.js.map +0 -1
  163. package/src/common/ProviderLogo.js +0 -51
  164. package/src/common/ProviderLogo.spec.js +0 -51
  165. package/src/common/ProviderLogo.stories.js +0 -36
@@ -15,9 +15,6 @@
15
15
  "disclaimer-without-borders": "за хората без граници.",
16
16
  "disclaimer-charges": "Таксуваме възможно най-малко и винаги ви показваме информацията предварително. Няма скрити такси. Няма лоши валутни курсове. Няма изненади.",
17
17
  "disclaimer-how-do-we-collect": "Как събираме тези данни?",
18
- "powered-by": "С подкрепата на",
19
- "powered-by-wise": "Powered by Wise",
20
- "powered-by-wise-description": "We've partnered with other providers who believe in fairness and transparency. That’s why all providers powered by Wise have the same price.",
21
18
  "show-less-providers": "Показване на по-малко доставчици",
22
19
  "show-more-providers": "Показване на още доставчици",
23
20
  "should-arrive": "Трябва да пристигне",
@@ -39,9 +36,6 @@
39
36
  "disclaimer-without-borders": "pro lidi bez hranic.",
40
37
  "disclaimer-charges": "Účtujeme si jak nejméně to jen jde a vždy Vám vše ukážeme předem. Žádné skryté poplatky. Žádné špatné kurzy, Žádná překvapení.",
41
38
  "disclaimer-how-do-we-collect": "Jak shromažďujeme tato data?",
42
- "powered-by": "Pomocí",
43
- "powered-by-wise": "Powered by Wise",
44
- "powered-by-wise-description": "We've partnered with other providers who believe in fairness and transparency. That’s why all providers powered by Wise have the same price.",
45
39
  "show-less-providers": "Zobrazit méně poskytovatelů",
46
40
  "show-more-providers": "Zobrazit více poskytovatelů",
47
41
  "should-arrive": "Mělo by dorazit",
@@ -63,9 +57,6 @@
63
57
  "disclaimer-without-borders": "für Menschen ohne Grenzen.",
64
58
  "disclaimer-charges": "Wir berechnen so wenig wie möglich und zeigen es dir immer vorab an. Keine versteckten Gebühren. Keine schlechten Wechselkurse. Keine Überraschungen.",
65
59
  "disclaimer-how-do-we-collect": "Wie ermitteln wir diese Daten? ",
66
- "powered-by": "Powered by",
67
- "powered-by-wise": "Powered by Wise",
68
- "powered-by-wise-description": "Wir haben mit anderen Anbietern, die an Fairness und Transparenz glauben, kooperiert. Deshalb bieten dir alle Anbieter, die \"Powered by Wise\" sind, den gleichen Preis.",
69
60
  "show-less-providers": "Weniger Anbieter anzeigen",
70
61
  "show-more-providers": "Weitere Anbieter anzeigen",
71
62
  "should-arrive": "Sollte ankommen",
@@ -87,9 +78,6 @@
87
78
  "disclaimer-without-borders": "for people without borders.",
88
79
  "disclaimer-charges": "We charge as little as possible, and we always show you upfront. No hidden fees. No bad exchange rates. No surprises.",
89
80
  "disclaimer-how-do-we-collect": "How do we collect this data?",
90
- "powered-by": "Powered by",
91
- "powered-by-wise": "Powered by Wise",
92
- "powered-by-wise-description": "We've partnered with other providers who believe in fairness and transparency. That’s why all providers powered by Wise have the same price.",
93
81
  "show-less-providers": "Show fewer providers",
94
82
  "show-more-providers": "Show more providers",
95
83
  "should-arrive": "Θα φτάσει",
@@ -111,9 +99,6 @@
111
99
  "disclaimer-without-borders": "for people without borders.",
112
100
  "disclaimer-charges": "We charge as little as possible, and we always show you upfront. No hidden fees. No bad exchange rates. No surprises.",
113
101
  "disclaimer-how-do-we-collect": "How do we collect this data?",
114
- "powered-by": "Powered by",
115
- "powered-by-wise": "Powered by Wise",
116
- "powered-by-wise-description": "We've partnered with other providers who believe in fairness and transparency. That’s why all providers powered by Wise have the same price.",
117
102
  "show-less-providers": "Show fewer providers",
118
103
  "show-more-providers": "Show more providers",
119
104
  "should-arrive": "Should arrive",
@@ -135,9 +120,6 @@
135
120
  "disclaimer-without-borders": "para la gente sin fronteras.",
136
121
  "disclaimer-charges": "Te cobramos lo menos posible, y siempre te lo mostramos por adelantado. Sin comisiones ocultas. Sin tipos de cambio desfavorables. Sin sorpresas desagradables.",
137
122
  "disclaimer-how-do-we-collect": "¿Cómo recolectamos esta información?",
138
- "powered-by": "Operado por",
139
- "powered-by-wise": "Desarrollado por Wise",
140
- "powered-by-wise-description": "Nos hemos aliado con otros proveedores que también creen en la transparencia y justicia. Es por ello que todos los proveedores que operan con Wise tienen el mismo precio.",
141
123
  "show-less-providers": "Mostrar menos proveedores",
142
124
  "show-more-providers": "Mostrar más proveedores",
143
125
  "should-arrive": "Debería llegar",
@@ -159,9 +141,6 @@
159
141
  "disclaimer-without-borders": "pour les personnes sans frontières.",
160
142
  "disclaimer-charges": "Nous facturons aussi peu que possible et nous vous montrons toujours cela à l'avance. Pas de frais cachés. Pas de mauvais taux de change. Pas de surprise.",
161
143
  "disclaimer-how-do-we-collect": "Comment collectons-nous ces données ?",
162
- "powered-by": "Powered by",
163
- "powered-by-wise": "Fourni par Wise",
164
- "powered-by-wise-description": "Nous nous sommes associés à d'autres prestataires croyant aussi en l'honnêteté et la transparence. C'est la raison pour laquelle tous les prestataires partenaires de Wise ont les mêmes prix.",
165
144
  "show-less-providers": "Afficher moins de prestataires",
166
145
  "show-more-providers": "Afficher plus de prestataires",
167
146
  "should-arrive": "Devrait arriver",
@@ -183,9 +162,6 @@
183
162
  "disclaimer-without-borders": "azoknak, akik számára nincs határ",
184
163
  "disclaimer-charges": "Mindig a lehető legalacsonyabb díjat kínáljuk neked, és előre megmutatjuk, mennyit fogsz fizetni. Rejtett költségek nélkül. Kedvezőtlen átváltási árfolyamok nélkül. Kellemetlen meglepetések nélkül.",
185
164
  "disclaimer-how-do-we-collect": "Hogyan gyűjtöttük össze ezeket az adatokat?",
186
- "powered-by": "A szolgáltatást biztosítja:",
187
- "powered-by-wise": "A Wise támogatásával",
188
- "powered-by-wise-description": "Olyan szolgáltatókat választottunk partnereinknek, akik szintén hisznek a korrekt és átlátható pénzügyekben. Ennek köszönhetően a Wise által támogatott összes szolgáltató ugyanazt a remek árfolyamot használja, amit mi.",
189
165
  "show-less-providers": "Kevesebb szolgáltató mutatása",
190
166
  "show-more-providers": "Több szolgáltató mutatása",
191
167
  "should-arrive": "Becsült érkezési idő:",
@@ -207,9 +183,6 @@
207
183
  "disclaimer-without-borders": "bagi mereka yang tinggal di lintas negara.",
208
184
  "disclaimer-charges": "Kami mengenakan biaya sekecil mungkin, dan selalu menunjukkannya kepada Anda di depan. Tanpa biaya tersembunyi. Tanpa nilai tukar yang buruk. Tanpa kejutan.",
209
185
  "disclaimer-how-do-we-collect": "Bagaimana kami mengumpulkan data ini?",
210
- "powered-by": "Didukung oleh",
211
- "powered-by-wise": "Didukung oleh Wise",
212
- "powered-by-wise-description": "Kami bermitra dengan penyedia lain yang juga percaya akan keadilan dan keterbukaan. Itulah alasan semua penyedia layanan yang didukung oleh Wise memiliki harga yang sama.",
213
186
  "show-less-providers": "Tampilkan lebih sedikit penyedia",
214
187
  "show-more-providers": "Tampilkan lebih banyak penyedia",
215
188
  "should-arrive": "Akan tiba",
@@ -231,9 +204,6 @@
231
204
  "disclaimer-without-borders": "per chi vive senza confini.",
232
205
  "disclaimer-charges": "Ti richiediamo la minor commissione possibile, definendola sempre chiaramente. Niente scritte in piccolo. Nessun ritocco al tasso di cambio. Nessuna cattiva sorpresa.",
233
206
  "disclaimer-how-do-we-collect": "Come raccogliamo questi dati?",
234
- "powered-by": "Fornito da",
235
- "powered-by-wise": "Offerto da Wise",
236
- "powered-by-wise-description": "Siamo partner di altri operatori che credono nella trasparenza e nell'onestà. Per questo, ogni operatore che usa la tecnologia Wise offre anche le stesse tariffe.",
237
207
  "show-less-providers": "Mostra meno operatori",
238
208
  "show-more-providers": "Mostra più operatori",
239
209
  "should-arrive": "Dovrebbe arrivare",
@@ -255,9 +225,6 @@
255
225
  "disclaimer-without-borders": "海外送金を行う全ての方へ。",
256
226
  "disclaimer-charges": "弊社では可能な限り、送金にかかるコスト(手数料)を提示しています。隠れコストなどはございません。",
257
227
  "disclaimer-how-do-we-collect": "データの収集方法について",
258
- "powered-by": "Powered by",
259
- "powered-by-wise": "Powered by Wise",
260
- "powered-by-wise-description": "Wiseは公平性と透明性を取り入れている他の事業会社と業務提携をしています。そのため、業務提携をしている事業会社では、Wiseと同じ料金プランが適用されています。",
261
228
  "show-less-providers": "元に戻す",
262
229
  "show-more-providers": "もっと見る",
263
230
  "should-arrive": "着金予定日時",
@@ -279,9 +246,6 @@
279
246
  "disclaimer-without-borders": "for people without borders.",
280
247
  "disclaimer-charges": "We charge as little as possible, and we always show you upfront. No hidden fees. No bad exchange rates. No surprises.",
281
248
  "disclaimer-how-do-we-collect": "Hoe verzamelen wij deze gegevens?",
282
- "powered-by": "Powered by",
283
- "powered-by-wise": "Powered by Wise",
284
- "powered-by-wise-description": "We've partnered with other providers who believe in fairness and transparency. That’s why all providers powered by Wise have the same price.",
285
249
  "show-less-providers": "Show fewer providers",
286
250
  "show-more-providers": "Show more providers",
287
251
  "should-arrive": "Verwachte aankomsttijd",
@@ -303,9 +267,6 @@
303
267
  "disclaimer-without-borders": "for people without borders.",
304
268
  "disclaimer-charges": "We charge as little as possible, and we always show you upfront. No hidden fees. No bad exchange rates. No surprises.",
305
269
  "disclaimer-how-do-we-collect": "How do we collect this data?",
306
- "powered-by": "Powered by",
307
- "powered-by-wise": "Powered by Wise",
308
- "powered-by-wise-description": "We've partnered with other providers who believe in fairness and transparency. That’s why all providers powered by Wise have the same price.",
309
270
  "show-less-providers": "Show fewer providers",
310
271
  "show-more-providers": "Show more providers",
311
272
  "should-arrive": "Bør ankomme",
@@ -327,9 +288,6 @@
327
288
  "disclaimer-without-borders": "dla tych bez granic.",
328
289
  "disclaimer-charges": "Pobieramy opłatę najmniejszą, jaka jest możliwa i zawsze z góry pokazujemy koszty. Żadnych ukrytych opłat. Żadnych niekorzystnych kursów wymiany. Żadnych niespodzianek.",
329
290
  "disclaimer-how-do-we-collect": "Jak zbieramy dane?",
330
- "powered-by": "Wspierane przez",
331
- "powered-by-wise": "Wspierane przez Wise",
332
- "powered-by-wise-description": "Jesteśmy partnerami z innymi dostawcami, którzy wierzą w sprawiedliwość i przejrzystość. Dlatego też wszyscy dostawcy wspierani przez Wise, posiadają takie same opłaty.",
333
291
  "show-less-providers": "Pokaż mniej usługodawców",
334
292
  "show-more-providers": "Pokaż więcej usługodawców",
335
293
  "should-arrive": "Powinny dotrzeć",
@@ -351,9 +309,6 @@
351
309
  "disclaimer-without-borders": "para pessoas que vivem sem fronteiras.",
352
310
  "disclaimer-charges": "Cobramos o mínimo possível e sempre mostramos o valor antecipadamente. Sem tarifas escondidas. Sem câmbio ruim. Sem surpresas.",
353
311
  "disclaimer-how-do-we-collect": "Como coletamos esses dados?",
354
- "powered-by": "Potencializado pela",
355
- "powered-by-wise": "Oferecido pela Wise",
356
- "powered-by-wise-description": "Fizemos parcerias com outros prestadores de serviços que acreditam em justiça e transparência. É por isso que todos os provedores com a tecnologia da Wise têm o mesmo preço.",
357
312
  "show-less-providers": "Exibir menos provedores",
358
313
  "show-more-providers": "Exibir mais provedores",
359
314
  "should-arrive": "Deve chegar",
@@ -375,9 +330,6 @@
375
330
  "disclaimer-without-borders": "pentru oameni fără frontiere.",
376
331
  "disclaimer-charges": "Încasăm cât mai puțin posibil și îți arătăm întotdeauna taxa încă de la început. Fără taxe ascunse. Fără rate de schimb neavantajoase. Fără surprize.",
377
332
  "disclaimer-how-do-we-collect": "Cum colectăm aceste date?",
378
- "powered-by": "Susținut de",
379
- "powered-by-wise": "Susținut de Wise",
380
- "powered-by-wise-description": "Avem parteneriate cu alți furnizori care cred în corectitudine și transparență. De aceea toți furnizorii susținuți de Wise au același preț.",
381
333
  "show-less-providers": "Arată mai puțini furnizori",
382
334
  "show-more-providers": "Arată mai mulți furnizori",
383
335
  "should-arrive": "Ar trebui să ajungă",
@@ -399,9 +351,6 @@
399
351
  "disclaimer-without-borders": "для тех, кто живет без границ.",
400
352
  "disclaimer-charges": "Наша комиссия максимально низкая, и Вы всегда заранее узнаете ее размер. Нет - скрытым комиссиям. Нет - невыгодному обменному курсу. Нет - неприятным сюрпризам.",
401
353
  "disclaimer-how-do-we-collect": "Откуда мы получаем данные?",
402
- "powered-by": "При поддержке",
403
- "powered-by-wise": "При поддержке Wise",
404
- "powered-by-wise-description": "Мы начали сотрудничество с провайдерами, которые верят в справедливость и прозрачность. Именно поэтому все провайдеры, которых поддерживает Wise, предлагают одинаковую комиссию.",
405
354
  "show-less-providers": "Показать меньше провайдеров",
406
355
  "show-more-providers": "Показать больше провайдеров",
407
356
  "should-arrive": "Ожидаемое время доставки",
@@ -423,9 +372,6 @@
423
372
  "disclaimer-without-borders": "for people without borders.",
424
373
  "disclaimer-charges": "We charge as little as possible, and we always show you upfront. No hidden fees. No bad exchange rates. No surprises.",
425
374
  "disclaimer-how-do-we-collect": "How do we collect this data?",
426
- "powered-by": "Powered by",
427
- "powered-by-wise": "Powered by Wise",
428
- "powered-by-wise-description": "We've partnered with other providers who believe in fairness and transparency. That’s why all providers powered by Wise have the same price.",
429
375
  "show-less-providers": "Show fewer providers",
430
376
  "show-more-providers": "Show more providers",
431
377
  "should-arrive": "Peniaze by mali doraziť",
@@ -447,9 +393,6 @@
447
393
  "disclaimer-without-borders": "för människor utan gränser.",
448
394
  "disclaimer-charges": "Vi debiterar så lite som möjligt och vi visar dig alltid i förväg. Inga dolda avgifter. Inga dåliga valutakurser. Inga överraskningar.",
449
395
  "disclaimer-how-do-we-collect": "Hur samlar vi in dessa data?",
450
- "powered-by": "Tillhandahålls av",
451
- "powered-by-wise": "Drivs av Wise",
452
- "powered-by-wise-description": "Wise samarbetar med leverantörer som också tror på rättvisa och öppenhet. Därför erbjuder samtliga av våra leverantörer samma pris.",
453
396
  "show-less-providers": "Visa färre leverantörer",
454
397
  "show-more-providers": "Visa fler leverantörer",
455
398
  "should-arrive": "Bör komma fram",
@@ -471,9 +414,6 @@
471
414
  "disclaimer-without-borders": "sınırlara takılmayan insanlar için.",
472
415
  "disclaimer-charges": "Olabildiğince düşük ücretlendirir ve ücreti önden gösteririz. Gizli ücretler yok. Kötü döviz kurları yok. Şaşırtmaca yok.",
473
416
  "disclaimer-how-do-we-collect": "Bu verileri nasıl toplarız?",
474
- "powered-by": "Destekleyen",
475
- "powered-by-wise": "Wise tarafından",
476
- "powered-by-wise-description": "Adalet ve şeffaflığa inanan diğer sağlayıcılarla ortaklık kurduk. O nedenle Wise tarafından desteklenen tüm sağlayıcılar aynı fiyatı verir.",
477
417
  "show-less-providers": "Daha az sağlayıcı göster",
478
418
  "show-more-providers": "Daha fazla sağlayıcı göster",
479
419
  "should-arrive": "Ulaşması gereken zaman:",
@@ -495,9 +435,6 @@
495
435
  "disclaimer-without-borders": "та стерти кордони в грошових переказах.",
496
436
  "disclaimer-charges": "Наша комісія максимально низька, і Ви завжди заздалегідь знаєте її розмір. Ні — прихованим комісіям і невигідним курсам. Усе максимально прозоро, стабільно й передбачувано.",
497
437
  "disclaimer-how-do-we-collect": "Як ми збираємо ці дані?",
498
- "powered-by": "На платформі",
499
- "powered-by-wise": "На платформі Wise",
500
- "powered-by-wise-description": "Ми співпрацюємо з іншими постачальниками, що поділяють наше прагнення до справедливості та прозорості. Саме тому постачальники на платформі Wise надають такі ж ціни.",
501
438
  "show-less-providers": "Приховати частину постачальників",
502
439
  "show-more-providers": "Показати більше постачальників",
503
440
  "should-arrive": "Очікуваний час надходження",
@@ -519,9 +456,6 @@
519
456
  "disclaimer-without-borders": "給無國界的人。",
520
457
  "disclaimer-charges": "我們盡可能收得最平,亦會預先顯示收費。沒有隱藏收費。沒有糟透的匯率。沒有驚喜。",
521
458
  "disclaimer-how-do-we-collect": "我們如何收集此資料?",
522
- "powered-by": "技術支援:",
523
- "powered-by-wise": "由Wise提供支持",
524
- "powered-by-wise-description": "我們與其他同樣相信公平透明的代理合作。這是為甚麼所有由Wise支持的代理會有相同的價格。",
525
459
  "show-less-providers": "顯示更少匯款代理",
526
460
  "show-more-providers": "顯示更多匯款代理",
527
461
  "should-arrive": "預計到賬日期",
@@ -178,7 +178,12 @@ class ComparisonTableHero extends React.Component {
178
178
  <td
179
179
  className={`${derivedStyles['table-hero__cell']} ${providerDependentStyles.cell}`}
180
180
  >
181
- <ProviderLogo logo={logo} name={quote.name} isPartner={quote.partner} />
181
+ <ProviderLogo
182
+ logo={logo}
183
+ name={quote.name}
184
+ isPartner={quote.partner}
185
+ locale={lang}
186
+ />
182
187
  {isCheapest && (
183
188
  <span className={derivedStyles.cheapestLabel}>
184
189
  <CheckIcon className={derivedStyles.cheapestLabelTick} />
@@ -38,6 +38,7 @@ var ComparisonTableVersus = ({
38
38
  styles={{ providerLogo: derivedStyles['table-versus__provider_logo'] }}
39
39
  logo={quote.logo}
40
40
  name={quote.name}
41
+ locale={lang}
41
42
  />
42
43
  </td>
43
44
  <td className={derivedStyles['table-versus__cell']}>
@@ -101,6 +101,7 @@ const someLogo = (
101
101
  styles={{ logoContainer: { display: 'inherit' } }}
102
102
  logo="https://dq8dwmysp7hk1.cloudfront.net/logos/monzo--white.svg"
103
103
  name="WU"
104
+ locale="en"
104
105
  />
105
106
  );
106
107
 
@@ -0,0 +1,27 @@
1
+ enum Locale {
2
+ DEFAULT = 'en',
3
+ BG = 'bg',
4
+ CS = 'cs',
5
+ DE = 'de',
6
+ EL = 'el',
7
+ EN = 'en',
8
+ ES = 'es',
9
+ FR = 'fr',
10
+ HU = 'hu',
11
+ ID = 'id',
12
+ IT = 'it',
13
+ JA = 'ja',
14
+ NL = 'nl',
15
+ NO = 'no',
16
+ PL = 'pl',
17
+ PT = 'pt',
18
+ RO = 'ro',
19
+ RU = 'ru',
20
+ SK = 'sk',
21
+ SV = 'sv',
22
+ TR = 'tr',
23
+ UK = 'uk',
24
+ ZH = 'zh',
25
+ }
26
+
27
+ export default Locale;
@@ -2,6 +2,8 @@ import { action } from '@storybook/addon-actions';
2
2
  import { Meta, Story } from '@storybook/react';
3
3
  import React from 'react';
4
4
 
5
+ import Locale from '../domain/Locale';
6
+
5
7
  import TransferFeeComparison, { TransferFeeComparisonProps } from './TransferFeeComparison';
6
8
  import ProviderFilteringOption from './domain/ProviderFilteringOption';
7
9
  import { ALL_QUOTES } from './mocks/Quotes';
@@ -26,6 +28,6 @@ Presentational.args = {
26
28
  selectedOption: ProviderFilteringOption.ALL_PROVIDERS,
27
29
  onProviderFilteringOptionChange: action('providerFiltering.onProviderFilteringOptionChange'),
28
30
  },
29
- locale: 'en',
31
+ locale: Locale.EN,
30
32
  urlLocale: 'gb',
31
33
  };
@@ -1,5 +1,7 @@
1
1
  import React from 'react';
2
2
 
3
+ import Locale from '../domain/Locale';
4
+
3
5
  import styles from './TransferFeeComparison.module.less';
4
6
  import ProviderFilteringOption from './domain/ProviderFilteringOption';
5
7
  import Quote from './domain/Quote';
@@ -15,7 +17,7 @@ export type TransferFeeComparisonProps = {
15
17
  selectedOption: ProviderFilteringOption;
16
18
  onProviderFilteringOptionChange: (newValue: ProviderFilteringOption) => void;
17
19
  };
18
- locale: string;
20
+ locale: Locale;
19
21
  urlLocale: string;
20
22
  };
21
23
 
@@ -1,6 +1,8 @@
1
1
  import { Meta, Story } from '@storybook/react';
2
2
  import React from 'react';
3
3
 
4
+ import Locale from '../domain/Locale';
5
+
4
6
  import TransferFeeComparisonContainer, {
5
7
  TransferFeeComparisonContainerProps,
6
8
  } from './TransferFeeComparisonContainer';
@@ -20,16 +22,17 @@ export const ContainerWithLargestProviderFilteringEnabled = Template.bind({});
20
22
  ContainerWithLargestProviderFilteringEnabled.args = {
21
23
  quotes: ALL_QUOTES,
22
24
  midmarketRate: MIDMARKET_RATE,
23
- locale: 'en',
25
+ locale: Locale.EN,
24
26
  urlLocale: 'gb',
25
27
  enableLargestProviderFiltering: true,
28
+ requiredNumberOfLargestProviders: 3,
26
29
  };
27
30
 
28
31
  export const ContainerWithLargestProviderFilteringDisabled = Template.bind({});
29
32
  ContainerWithLargestProviderFilteringDisabled.args = {
30
33
  quotes: ALL_QUOTES,
31
34
  midmarketRate: MIDMARKET_RATE,
32
- locale: 'en',
35
+ locale: Locale.EN,
33
36
  urlLocale: 'gb',
34
37
  enableLargestProviderFiltering: false,
35
38
  };
@@ -1,5 +1,6 @@
1
1
  import React, { useState } from 'react';
2
2
 
3
+ import Locale from '../domain/Locale';
3
4
  import { filter, hasEnoughProviders } from '../provider-filters/largest-provider';
4
5
 
5
6
  import TransferFeeComparison from './TransferFeeComparison';
@@ -9,7 +10,7 @@ import Quote from './domain/Quote';
9
10
  export type TransferFeeComparisonContainerProps = {
10
11
  quotes: Quote[];
11
12
  midmarketRate: number;
12
- locale: string;
13
+ locale: Locale;
13
14
  urlLocale: string;
14
15
  enableLargestProviderFiltering: boolean;
15
16
  requiredNumberOfLargestProviders?: number;
@@ -1,6 +1,7 @@
1
1
  import { render, fireEvent, screen } from '@testing-library/react';
2
2
  import * as React from 'react';
3
3
 
4
+ import Locale from '../../domain/Locale';
4
5
  import ProviderFilteringOption from '../domain/ProviderFilteringOption';
5
6
 
6
7
  import ProviderFilterToggle from './ProviderFilterToggle';
@@ -31,7 +32,9 @@ describe('<ProviderFilterToggle />', () => {
31
32
  'renders the component with activeToggle $activeToggle selected',
32
33
  ({ activeToggle, activeToggleText, inactiveToggleText }) => {
33
34
  // setup:
34
- render(<ProviderFilterToggle activeToggle={activeToggle} onToggle={onToggle} locale="en" />);
35
+ render(
36
+ <ProviderFilterToggle activeToggle={activeToggle} onToggle={onToggle} locale={Locale.EN} />,
37
+ );
35
38
 
36
39
  // expect:
37
40
  expect(screen.getByText(activeToggleText)).toBeDisabled();
@@ -45,7 +48,7 @@ describe('<ProviderFilterToggle />', () => {
45
48
  <ProviderFilterToggle
46
49
  activeToggle={ProviderFilteringOption.ALL_PROVIDERS}
47
50
  onToggle={onToggle}
48
- locale="en"
51
+ locale={Locale.EN}
49
52
  />,
50
53
  );
51
54
 
@@ -54,7 +57,7 @@ describe('<ProviderFilterToggle />', () => {
54
57
  <ProviderFilterToggle
55
58
  activeToggle={ProviderFilteringOption.LARGEST_PROVIDERS}
56
59
  onToggle={onToggle}
57
- locale="en"
60
+ locale={Locale.EN}
58
61
  />,
59
62
  );
60
63
 
@@ -67,7 +70,9 @@ describe('<ProviderFilterToggle />', () => {
67
70
  'toggling with $activeToggle pre-selected calls the onToggle callback',
68
71
  ({ activeToggle, inactiveToggleText, expectedEventPayloadOnToggle }) => {
69
72
  // setup:
70
- render(<ProviderFilterToggle activeToggle={activeToggle} onToggle={onToggle} locale="en" />);
73
+ render(
74
+ <ProviderFilterToggle activeToggle={activeToggle} onToggle={onToggle} locale={Locale.EN} />,
75
+ );
71
76
 
72
77
  expect(onToggle).toHaveBeenCalledTimes(0);
73
78
 
@@ -84,7 +89,9 @@ describe('<ProviderFilterToggle />', () => {
84
89
  'clicking the pre-selected $activeToggle toggle doesnt call the onToggle callback',
85
90
  ({ activeToggle, activeToggleText }) => {
86
91
  // setup:
87
- render(<ProviderFilterToggle activeToggle={activeToggle} onToggle={onToggle} locale="en" />);
92
+ render(
93
+ <ProviderFilterToggle activeToggle={activeToggle} onToggle={onToggle} locale={Locale.EN} />,
94
+ );
88
95
 
89
96
  expect(onToggle).toHaveBeenCalledTimes(0);
90
97
 
@@ -2,6 +2,7 @@ import { action } from '@storybook/addon-actions';
2
2
  import { Meta, Story } from '@storybook/react';
3
3
  import React from 'react';
4
4
 
5
+ import Locale from '../../domain/Locale';
5
6
  import ProviderFilteringOption from '../domain/ProviderFilteringOption';
6
7
 
7
8
  import ProviderFilterToggle, { ProviderFilterToggleProps } from './ProviderFilterToggle';
@@ -18,6 +19,6 @@ const Template: Story<ProviderFilterToggleProps> = (args) => {
18
19
  export const Toggle = Template.bind({});
19
20
  Toggle.args = {
20
21
  activeToggle: ProviderFilteringOption.LARGEST_PROVIDERS,
21
- locale: 'en',
22
+ locale: Locale.EN,
22
23
  onToggle: action('onToggle'),
23
24
  };
@@ -2,15 +2,16 @@ import { Button } from '@transferwise/components';
2
2
  import React from 'react';
3
3
  import { FormattedMessage, IntlProvider } from 'react-intl';
4
4
 
5
+ import Locale from '../../domain/Locale';
5
6
  import ProviderFilteringOption from '../domain/ProviderFilteringOption';
6
- import translations from './assets/translations/translations.json';
7
7
 
8
+ import translations from './assets/translations/translations.json';
8
9
  import styles from './provider-filter-toggle.module.less';
9
10
 
10
11
  export type ProviderFilterToggleProps = {
11
12
  activeToggle: ProviderFilteringOption;
12
13
  onToggle: (toggleValue: ProviderFilteringOption) => void;
13
- locale: string;
14
+ locale: Locale;
14
15
  };
15
16
 
16
17
  export const ProviderFilterToggle = ({
@@ -18,11 +19,8 @@ export const ProviderFilterToggle = ({
18
19
  onToggle,
19
20
  locale,
20
21
  }: ProviderFilterToggleProps): JSX.Element => {
21
- const typedTranslations: { [language: string]: typeof messages } = translations;
22
- const messages: Record<string, string> = typedTranslations[locale];
23
-
24
22
  return (
25
- <IntlProvider messages={messages} locale={locale} defaultLocale="en">
23
+ <IntlProvider messages={translations[locale]} locale={locale} defaultLocale={Locale.DEFAULT}>
26
24
  <div className={styles.providerFilterToggle__toggleContainer}>
27
25
  <Toggle
28
26
  label={<FormattedMessage id="largest-providers" />}
@@ -51,11 +49,7 @@ type ToggleProps = {
51
49
  const Toggle = ({ label, value, isActive, onToggle }: ToggleProps): JSX.Element => {
52
50
  return (
53
51
  <Button
54
- className={`${styles.providerFilterToggle__button} ${
55
- isActive
56
- ? styles.providerFilterToggle__buttonActive
57
- : styles.providerFilterToggle__buttonInactive
58
- }`}
52
+ className={styles.providerFilterToggle__button}
59
53
  onClick={() => {
60
54
  !isActive && onToggle(value);
61
55
  }}
@@ -1,8 +1,7 @@
1
1
  @import (reference) '@transferwise/neptune-css/dist/less/neptune-tokens.less';
2
2
 
3
3
  .provider-filter-toggle__toggle-container {
4
- display: flex;
5
- flex-direction: row;
4
+ display: inline-block;
6
5
  padding: 4px 5.5px;
7
6
  border-radius: 3px;
8
7
  border-color: @color-base-white;
@@ -13,37 +12,35 @@
13
12
  margin-left: 9px;
14
13
  }
15
14
 
16
- .provider-filter-toggle__button {
17
- width: 180px;
15
+ button.provider-filter-toggle__button {
16
+ width: 290px; // Portuguese has the longest copy
18
17
  border: none;
19
- }
20
18
 
21
- .provider-filter-toggle__button--inactive {
22
- width: 180px;
23
- border: none;
24
- background-color: @color-base-white;
25
- color: @color-accent;
26
-
27
- &:active:hover,
28
- &:hover,
29
- &:active,
30
- &:focus {
19
+ &:not([disabled]) {
31
20
  background-color: @color-base-white;
32
21
  color: @color-accent;
33
- }
34
- }
35
22
 
36
- button.provider-filter-toggle__button[disabled] {
37
- background-color: @color-accent;
38
- color: @color-base-white;
23
+ &:active:hover,
24
+ &:hover,
25
+ &:active,
26
+ &:focus {
27
+ background-color: @color-base-white;
28
+ color: @color-accent;
29
+ }
30
+ }
39
31
 
40
- &:active:hover,
41
- &:hover,
42
- &:active,
43
- &:focus {
32
+ &[disabled] {
44
33
  background-color: @color-accent;
45
34
  color: @color-base-white;
46
- }
47
35
 
48
- cursor: initial;
36
+ &:active:hover,
37
+ &:hover,
38
+ &:active,
39
+ &:focus {
40
+ background-color: @color-accent;
41
+ color: @color-base-white;
42
+ }
43
+
44
+ cursor: initial;
45
+ }
49
46
  }
@@ -1,6 +1,8 @@
1
1
  import { Meta, Story } from '@storybook/react';
2
2
  import React from 'react';
3
3
 
4
+ import Locale from '../../domain/Locale';
5
+
4
6
  import TransferFeeComparisonFooter, {
5
7
  TransferFeeComparisonFooterProps,
6
8
  } from './TransferFeeComparisonFooter';
@@ -17,6 +19,6 @@ const Template: Story<TransferFeeComparisonFooterProps> = (args) => {
17
19
  export const Footer = Template.bind({});
18
20
 
19
21
  Footer.args = {
20
- locale: 'en',
22
+ locale: Locale.EN,
21
23
  urlLocale: 'gb',
22
24
  };
@@ -1,13 +1,14 @@
1
1
  import React from 'react';
2
2
  import { FormattedMessage, IntlProvider } from 'react-intl';
3
3
 
4
+ import Locale from '../../domain/Locale';
4
5
  import createUrl from '../../resources/createUrl';
5
- import translations from './assets/translations/translations.json';
6
6
 
7
+ import translations from './assets/translations/translations.json';
7
8
  import componentStyles from './transfer-fee-comparison-footer.module.less';
8
9
 
9
10
  export type TransferFeeComparisonFooterProps = {
10
- locale: string;
11
+ locale: Locale;
11
12
  urlLocale: string;
12
13
  };
13
14
 
@@ -15,13 +16,10 @@ const TransferFeeComparisonFooter = ({
15
16
  locale,
16
17
  urlLocale,
17
18
  }: TransferFeeComparisonFooterProps): JSX.Element => {
18
- const typedTranslations: { [language: string]: typeof messages } = translations;
19
- const messages: Record<string, string> = typedTranslations[locale];
20
-
21
19
  const LINK = createUrl(`/${urlLocale}/compare/disclaimer`);
22
20
 
23
21
  return (
24
- <IntlProvider messages={messages} locale={locale} defaultLocale="en">
22
+ <IntlProvider messages={translations[locale]} locale={locale} defaultLocale={Locale.DEFAULT}>
25
23
  <div className={componentStyles.transferFeeComparisonFooter__disclaimer}>
26
24
  <FormattedMessage id="disclaimer" />
27
25
  {'. '}
@@ -1,6 +1,7 @@
1
1
  import { Meta, Story } from '@storybook/react';
2
2
  import React from 'react';
3
3
 
4
+ import Locale from '../../domain/Locale';
4
5
  import { ALL_QUOTES } from '../mocks/Quotes';
5
6
  import MIDMARKET_RATE from '../mocks/midmarket-rate';
6
7
 
@@ -23,5 +24,5 @@ Table.args = {
23
24
  quotes: ALL_QUOTES,
24
25
  midmarketRate: MIDMARKET_RATE,
25
26
  urlLocale: 'gb',
26
- locale: 'en',
27
+ locale: Locale.EN,
27
28
  };
@@ -1,12 +1,13 @@
1
1
  import React from 'react';
2
2
 
3
+ import Locale from '../../domain/Locale';
3
4
  import TransferFeeComparisonQuote from '../domain/Quote';
4
5
 
5
6
  export type TransferFeeComparisonTableProps = {
6
7
  quotes: TransferFeeComparisonQuote[];
7
8
  midmarketRate: number;
8
9
  urlLocale: string;
9
- locale: string;
10
+ locale: Locale;
10
11
  };
11
12
 
12
13
  const TransferFeeComparisonTable = ({