@redneckz/wildless-cms-uni-blocks 0.14.899 → 0.14.901

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 (236) hide show
  1. package/bin/migration-scripts/0.14.900.js +18 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +221 -28
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  6. package/bundle/components/ExchangeRateTile/CurrencyProps.d.ts +6 -0
  7. package/bundle/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
  8. package/bundle/components/ExchangeRateTile/CurrentLocation.d.ts +6 -0
  9. package/bundle/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +24 -0
  10. package/bundle/components/ExchangeRateTile/ExchangeRateTile.d.ts +5 -0
  11. package/bundle/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +9 -0
  12. package/bundle/components/ExchangeRateTile/calculateResult.d.ts +2 -0
  13. package/bundle/components/ExchangeRateTile/callbackCurrencySelect.d.ts +8 -0
  14. package/bundle/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
  15. package/bundle/components/ExchangeRateTile/renderInput.d.ts +11 -0
  16. package/bundle/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +9 -0
  17. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  18. package/dist/components/ApplicationLeadForm/consents.js +1 -1
  19. package/dist/components/ApplicationLeadForm/useInitApplicationLead.js +8 -7
  20. package/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  21. package/dist/components/Blocks.js +2 -0
  22. package/dist/components/Blocks.js.map +1 -1
  23. package/dist/components/Blocks.mobile.js +2 -0
  24. package/dist/components/Blocks.mobile.js.map +1 -1
  25. package/dist/components/ExchangeRateTile/CurrencyProps.d.ts +6 -0
  26. package/dist/components/ExchangeRateTile/CurrencyProps.js +10 -0
  27. package/dist/components/ExchangeRateTile/CurrencyProps.js.map +1 -0
  28. package/dist/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
  29. package/dist/components/ExchangeRateTile/CurrencyTable.js +23 -0
  30. package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
  31. package/dist/components/ExchangeRateTile/CurrentLocation.d.ts +6 -0
  32. package/dist/components/ExchangeRateTile/CurrentLocation.js +10 -0
  33. package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
  34. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +24 -0
  35. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +73 -0
  36. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
  37. package/dist/components/ExchangeRateTile/ExchangeRateTile.d.ts +5 -0
  38. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +26 -0
  39. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -0
  40. package/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +9 -0
  41. package/dist/components/ExchangeRateTile/ExchangeRateTileContent.js +2 -0
  42. package/dist/components/ExchangeRateTile/ExchangeRateTileContent.js.map +1 -0
  43. package/dist/components/ExchangeRateTile/calculateResult.d.ts +2 -0
  44. package/dist/components/ExchangeRateTile/calculateResult.js +11 -0
  45. package/dist/components/ExchangeRateTile/calculateResult.js.map +1 -0
  46. package/dist/components/ExchangeRateTile/callbackCurrencySelect.d.ts +8 -0
  47. package/dist/components/ExchangeRateTile/callbackCurrencySelect.js +21 -0
  48. package/dist/components/ExchangeRateTile/callbackCurrencySelect.js.map +1 -0
  49. package/dist/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
  50. package/dist/components/ExchangeRateTile/formatCurrency.js +10 -0
  51. package/dist/components/ExchangeRateTile/formatCurrency.js.map +1 -0
  52. package/dist/components/ExchangeRateTile/renderInput.d.ts +11 -0
  53. package/dist/components/ExchangeRateTile/renderInput.js +16 -0
  54. package/dist/components/ExchangeRateTile/renderInput.js.map +1 -0
  55. package/dist/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +9 -0
  56. package/dist/components/ExchangeRateTile/useFetchExchangeRateData.js +13 -0
  57. package/dist/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  58. package/lib/common.css +1 -1
  59. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  60. package/lib/components/ApplicationLeadForm/consents.js +1 -1
  61. package/lib/components/ApplicationLeadForm/useInitApplicationLead.js +8 -7
  62. package/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  63. package/lib/components/Blocks.js +2 -0
  64. package/lib/components/Blocks.js.map +1 -1
  65. package/lib/components/Blocks.mobile.js +2 -0
  66. package/lib/components/Blocks.mobile.js.map +1 -1
  67. package/lib/components/ExchangeRateTile/CurrencyProps.d.ts +6 -0
  68. package/lib/components/ExchangeRateTile/CurrencyProps.js +8 -0
  69. package/lib/components/ExchangeRateTile/CurrencyProps.js.map +1 -0
  70. package/lib/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
  71. package/lib/components/ExchangeRateTile/CurrencyTable.js +21 -0
  72. package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
  73. package/lib/components/ExchangeRateTile/CurrentLocation.d.ts +6 -0
  74. package/lib/components/ExchangeRateTile/CurrentLocation.js +8 -0
  75. package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
  76. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +24 -0
  77. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +71 -0
  78. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
  79. package/lib/components/ExchangeRateTile/ExchangeRateTile.d.ts +5 -0
  80. package/lib/components/ExchangeRateTile/ExchangeRateTile.fixture.d.ts +5 -0
  81. package/lib/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.d.ts +5 -0
  82. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +24 -0
  83. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -0
  84. package/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +9 -0
  85. package/lib/components/ExchangeRateTile/ExchangeRateTileContent.js +2 -0
  86. package/lib/components/ExchangeRateTile/ExchangeRateTileContent.js.map +1 -0
  87. package/lib/components/ExchangeRateTile/calculateResult.d.ts +2 -0
  88. package/lib/components/ExchangeRateTile/calculateResult.js +7 -0
  89. package/lib/components/ExchangeRateTile/calculateResult.js.map +1 -0
  90. package/lib/components/ExchangeRateTile/callbackCurrencySelect.d.ts +8 -0
  91. package/lib/components/ExchangeRateTile/callbackCurrencySelect.js +18 -0
  92. package/lib/components/ExchangeRateTile/callbackCurrencySelect.js.map +1 -0
  93. package/lib/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
  94. package/lib/components/ExchangeRateTile/formatCurrency.js +7 -0
  95. package/lib/components/ExchangeRateTile/formatCurrency.js.map +1 -0
  96. package/lib/components/ExchangeRateTile/renderInput.d.ts +11 -0
  97. package/lib/components/ExchangeRateTile/renderInput.js +13 -0
  98. package/lib/components/ExchangeRateTile/renderInput.js.map +1 -0
  99. package/lib/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +9 -0
  100. package/lib/components/ExchangeRateTile/useFetchExchangeRateData.js +10 -0
  101. package/lib/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  102. package/mobile/bundle/bundle.umd.js +221 -28
  103. package/mobile/bundle/bundle.umd.min.js +1 -1
  104. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  105. package/mobile/bundle/components/ExchangeRateTile/CurrencyProps.d.ts +6 -0
  106. package/mobile/bundle/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
  107. package/mobile/bundle/components/ExchangeRateTile/CurrentLocation.d.ts +6 -0
  108. package/mobile/bundle/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +24 -0
  109. package/mobile/bundle/components/ExchangeRateTile/ExchangeRateTile.d.ts +5 -0
  110. package/mobile/bundle/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +9 -0
  111. package/mobile/bundle/components/ExchangeRateTile/calculateResult.d.ts +2 -0
  112. package/mobile/bundle/components/ExchangeRateTile/callbackCurrencySelect.d.ts +8 -0
  113. package/mobile/bundle/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
  114. package/mobile/bundle/components/ExchangeRateTile/renderInput.d.ts +11 -0
  115. package/mobile/bundle/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +9 -0
  116. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  117. package/mobile/dist/components/ApplicationLeadForm/consents.js +1 -1
  118. package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js +8 -7
  119. package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  120. package/mobile/dist/components/Blocks.js +2 -0
  121. package/mobile/dist/components/Blocks.js.map +1 -1
  122. package/mobile/dist/components/ExchangeRateTile/CurrencyProps.d.ts +6 -0
  123. package/mobile/dist/components/ExchangeRateTile/CurrencyProps.js +10 -0
  124. package/mobile/dist/components/ExchangeRateTile/CurrencyProps.js.map +1 -0
  125. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
  126. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js +23 -0
  127. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
  128. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.d.ts +6 -0
  129. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +10 -0
  130. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
  131. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +24 -0
  132. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +73 -0
  133. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
  134. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.d.ts +5 -0
  135. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +26 -0
  136. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -0
  137. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +9 -0
  138. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTileContent.js +2 -0
  139. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTileContent.js.map +1 -0
  140. package/mobile/dist/components/ExchangeRateTile/calculateResult.d.ts +2 -0
  141. package/mobile/dist/components/ExchangeRateTile/calculateResult.js +11 -0
  142. package/mobile/dist/components/ExchangeRateTile/calculateResult.js.map +1 -0
  143. package/mobile/dist/components/ExchangeRateTile/callbackCurrencySelect.d.ts +8 -0
  144. package/mobile/dist/components/ExchangeRateTile/callbackCurrencySelect.js +21 -0
  145. package/mobile/dist/components/ExchangeRateTile/callbackCurrencySelect.js.map +1 -0
  146. package/mobile/dist/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
  147. package/mobile/dist/components/ExchangeRateTile/formatCurrency.js +10 -0
  148. package/mobile/dist/components/ExchangeRateTile/formatCurrency.js.map +1 -0
  149. package/mobile/dist/components/ExchangeRateTile/renderInput.d.ts +11 -0
  150. package/mobile/dist/components/ExchangeRateTile/renderInput.js +16 -0
  151. package/mobile/dist/components/ExchangeRateTile/renderInput.js.map +1 -0
  152. package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +9 -0
  153. package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.js +13 -0
  154. package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  155. package/mobile/lib/common.css +1 -1
  156. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +2 -1
  157. package/mobile/lib/components/ApplicationLeadForm/consents.js +1 -1
  158. package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js +8 -7
  159. package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  160. package/mobile/lib/components/Blocks.js +2 -0
  161. package/mobile/lib/components/Blocks.js.map +1 -1
  162. package/mobile/lib/components/ExchangeRateTile/CurrencyProps.d.ts +6 -0
  163. package/mobile/lib/components/ExchangeRateTile/CurrencyProps.js +8 -0
  164. package/mobile/lib/components/ExchangeRateTile/CurrencyProps.js.map +1 -0
  165. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
  166. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js +21 -0
  167. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
  168. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.d.ts +6 -0
  169. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +8 -0
  170. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
  171. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +24 -0
  172. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +71 -0
  173. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
  174. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.d.ts +5 -0
  175. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +24 -0
  176. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -0
  177. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +9 -0
  178. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTileContent.js +2 -0
  179. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTileContent.js.map +1 -0
  180. package/mobile/lib/components/ExchangeRateTile/calculateResult.d.ts +2 -0
  181. package/mobile/lib/components/ExchangeRateTile/calculateResult.js +7 -0
  182. package/mobile/lib/components/ExchangeRateTile/calculateResult.js.map +1 -0
  183. package/mobile/lib/components/ExchangeRateTile/callbackCurrencySelect.d.ts +8 -0
  184. package/mobile/lib/components/ExchangeRateTile/callbackCurrencySelect.js +18 -0
  185. package/mobile/lib/components/ExchangeRateTile/callbackCurrencySelect.js.map +1 -0
  186. package/mobile/lib/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
  187. package/mobile/lib/components/ExchangeRateTile/formatCurrency.js +7 -0
  188. package/mobile/lib/components/ExchangeRateTile/formatCurrency.js.map +1 -0
  189. package/mobile/lib/components/ExchangeRateTile/renderInput.d.ts +11 -0
  190. package/mobile/lib/components/ExchangeRateTile/renderInput.js +13 -0
  191. package/mobile/lib/components/ExchangeRateTile/renderInput.js.map +1 -0
  192. package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +9 -0
  193. package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.js +10 -0
  194. package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  195. package/mobile/src/components/ApplicationForm/ApplicationForm.example.json +92 -29
  196. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +2 -1
  197. package/mobile/src/components/ApplicationLeadForm/consents.ts +1 -1
  198. package/mobile/src/components/ApplicationLeadForm/useInitApplicationLead.ts +10 -7
  199. package/mobile/src/components/Blocks.ts +2 -0
  200. package/mobile/src/components/ExchangeRateTile/CurrencyProps.ts +6 -0
  201. package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +64 -0
  202. package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +28 -0
  203. package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +155 -0
  204. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.example.json +12 -0
  205. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +60 -0
  206. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.ui.json +8 -0
  207. package/mobile/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +11 -0
  208. package/mobile/src/components/ExchangeRateTile/calculateResult.ts +9 -0
  209. package/mobile/src/components/ExchangeRateTile/callbackCurrencySelect.ts +25 -0
  210. package/mobile/src/components/ExchangeRateTile/formatCurrency.ts +8 -0
  211. package/mobile/src/components/ExchangeRateTile/renderInput.tsx +43 -0
  212. package/mobile/src/components/ExchangeRateTile/useFetchExchangeRateData.ts +25 -0
  213. package/package.json +2 -2
  214. package/src/components/ApplicationForm/ApplicationForm.example.json +92 -29
  215. package/src/components/ApplicationForm/ApplicationForm.fixture.mobile.tsx +11 -11
  216. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +11 -11
  217. package/src/components/ApplicationForm/ApplicationFormContent.ts +2 -1
  218. package/src/components/ApplicationLeadForm/consents.ts +1 -1
  219. package/src/components/ApplicationLeadForm/useInitApplicationLead.ts +10 -7
  220. package/src/components/Blocks.mobile.ts +2 -0
  221. package/src/components/Blocks.ts +2 -0
  222. package/src/components/ExchangeRateTile/CurrencyProps.ts +6 -0
  223. package/src/components/ExchangeRateTile/CurrencyTable.tsx +64 -0
  224. package/src/components/ExchangeRateTile/CurrentLocation.tsx +28 -0
  225. package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +155 -0
  226. package/src/components/ExchangeRateTile/ExchangeRateTile.example.json +12 -0
  227. package/src/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.tsx +21 -0
  228. package/src/components/ExchangeRateTile/ExchangeRateTile.fixture.tsx +21 -0
  229. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +60 -0
  230. package/src/components/ExchangeRateTile/ExchangeRateTile.ui.json +8 -0
  231. package/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +11 -0
  232. package/src/components/ExchangeRateTile/calculateResult.ts +9 -0
  233. package/src/components/ExchangeRateTile/callbackCurrencySelect.ts +25 -0
  234. package/src/components/ExchangeRateTile/formatCurrency.ts +8 -0
  235. package/src/components/ExchangeRateTile/renderInput.tsx +43 -0
  236. package/src/components/ExchangeRateTile/useFetchExchangeRateData.ts +25 -0
@@ -0,0 +1,8 @@
1
+ {
2
+ "content": {},
3
+ "style": {
4
+ "ui:options": {
5
+ "minCols": 6
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,11 @@
1
+ import { type TitleProps } from '../../model/HeadlineType';
2
+ import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
3
+ import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
4
+
5
+ /**
6
+ * @title Курсы обмена валют
7
+ */
8
+ export type ExchangeRateTileContent = UniBlockContent &
9
+ TitleProps & {
10
+ button?: LinkButtonContent;
11
+ };
@@ -0,0 +1,9 @@
1
+ import { roundTo } from '../../utils/roundTo';
2
+
3
+ export const calculateResult = (value: string, rate: number, precision: boolean) => {
4
+ const result = Number(formatValue(value)) * Math.pow(rate, precision ? -1 : 1);
5
+
6
+ return Number.isInteger(result) ? result : roundTo(result);
7
+ };
8
+
9
+ export const formatValue = (value: string) => value.replace(/[^\d.,]/g, '').replace(',', '.');
@@ -0,0 +1,25 @@
1
+ import { tableFunc } from '../../utils/tableFunc';
2
+ import { Currency } from './CurrencyProps';
3
+
4
+ interface TableFuncProps {
5
+ value: Currency;
6
+ oppositeValue: Currency;
7
+ handleConvert: (currencyFrom?: Currency, currencyTo?: Currency) => void;
8
+ }
9
+
10
+ export const callbackCurrencySelect = (props: TableFuncProps) =>
11
+ tableFunc<TableFuncProps, () => void>([
12
+ [
13
+ (_) => _.value !== Currency.RUB && _.oppositeValue !== Currency.RUB,
14
+ () => props.handleConvert(props.value, Currency.RUB),
15
+ ],
16
+ [
17
+ (_) => _.value === Currency.RUB && _.oppositeValue === Currency.RUB,
18
+ () => props.handleConvert(props.value, Currency.USD),
19
+ ],
20
+ [
21
+ (_) => _.value === Currency.RUB && _.oppositeValue === Currency.RUB,
22
+ () => props.handleConvert(props.value, Currency.CNY),
23
+ ],
24
+ [() => true, () => props.handleConvert(props.value)],
25
+ ])(props)?.();
@@ -0,0 +1,8 @@
1
+ import { Currency } from './CurrencyProps';
2
+
3
+ const currencyNumberFormat = new Intl.NumberFormat('ru', {
4
+ style: 'currency',
5
+ currency: Currency.RUB,
6
+ });
7
+
8
+ export const formatCurrency = (value?: number) => (value ? currencyNumberFormat.format(value) : '');
@@ -0,0 +1,43 @@
1
+ import { type ControlProps } from '../../model/ControlProps';
2
+ import { type PlaceholderProps } from '../../model/PlaceholderProps';
3
+ import { Input } from '../../ui-kit/Input/Input';
4
+ import { type Option } from '../../ui-kit/Select/Option';
5
+ import { Select } from '../../ui-kit/Select/Select';
6
+ import { type Currency } from './CurrencyProps';
7
+ import { type ExchangeCurrencyItem } from './ExchangeCurrencyCalculator';
8
+
9
+ interface InputProps extends PlaceholderProps, ControlProps<string> {
10
+ rates: ExchangeCurrencyItem[];
11
+ selected: string;
12
+ setSelected: (value: Currency) => void;
13
+ }
14
+
15
+ export function renderInput(props: InputProps) {
16
+ const { placeholder, rates, selected, value, onChange, setSelected } = props;
17
+ const ratesOptions: Option[] = rates.map((_) => ({
18
+ key: _?.currency?.currency ?? '',
19
+ text: _?.currency?.currency ?? '',
20
+ }));
21
+ const selectedValue: Option = { key: selected, text: selected };
22
+
23
+ return (
24
+ <div className="relative flex">
25
+ <Input
26
+ className="shrink-0 text-l w-full appearance-none -mr-20"
27
+ placeholder={placeholder}
28
+ type="text"
29
+ value={value}
30
+ onChange={onChange}
31
+ />
32
+ {ratesOptions.length ? (
33
+ <Select
34
+ className="absolute right-0"
35
+ isBorder={false}
36
+ onChange={(_) => setSelected(_.key as Currency)}
37
+ options={ratesOptions}
38
+ value={selectedValue}
39
+ />
40
+ ) : null}
41
+ </div>
42
+ );
43
+ }
@@ -0,0 +1,25 @@
1
+ import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
2
+ import { API_BASE_URI } from '../../api/apiBaseUrl';
3
+ import { type ExchangeCurrencyItem } from '../../components/ExchangeRateTile/ExchangeCurrencyCalculator';
4
+ import { type Region } from '../../hooks/useRegions';
5
+ import { fetchJSONUnsafe, type FetchJSONUnsafeType } from '../../utils/fetchJSON';
6
+
7
+ export interface ExchangeData {
8
+ exchangeRate?: {
9
+ currencies?: ExchangeCurrencyItem[];
10
+ };
11
+ address?: string;
12
+ }
13
+
14
+ const EXCHANGE_RATES_URL = `${API_BASE_URI}/exchangerates`;
15
+
16
+ export function useFetchExchangeRateData(currentRegion: Region) {
17
+ const regionCode = currentRegion?.code || '000';
18
+
19
+ const { data } = useAsyncData(
20
+ EXCHANGE_RATES_URL + `?regionCode=${regionCode}`,
21
+ fetchJSONUnsafe as FetchJSONUnsafeType<ExchangeData>,
22
+ );
23
+
24
+ return data || {};
25
+ }