@redneckz/wildless-cms-uni-blocks 0.6.15 → 0.6.17

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 (500) hide show
  1. package/bin/migration-scripts/0.6.16.js +90 -0
  2. package/bin/utils.js +2 -0
  3. package/bundle/blocks.schema.json +1 -1
  4. package/bundle/bundle.umd.js +318 -169
  5. package/bundle/bundle.umd.min.js +1 -1
  6. package/bundle/components/Bonus/BonusContent.d.ts +1 -0
  7. package/bundle/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  8. package/bundle/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  9. package/bundle/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  10. package/bundle/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  11. package/bundle/components/OfficeMap/nearbyOffices.d.ts +2 -0
  12. package/bundle/components/OfficeMap/renderFunctions.d.ts +1 -1
  13. package/bundle/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  14. package/bundle/icons/IconName.d.ts +6 -2
  15. package/bundle/ui-kit/Button/ButtonProps.d.ts +5 -1
  16. package/bundle/ui-kit/Button/ButtonSection.d.ts +9 -1
  17. package/bundle/{components/OfficeMap → ui-kit/YandexMap}/YandexMap.d.ts +4 -1
  18. package/bundle/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  19. package/bundle/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  20. package/bundle/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  21. package/bundle/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  22. package/bundle/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  23. package/bundle/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  24. package/bundle/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  25. package/cosmos-static/icons/FullScreenIcon.svg +1 -0
  26. package/cosmos-static/icons/UserGeoLocationIcon.svg +1 -0
  27. package/dist/components/Bonus/BonusContent.d.ts +1 -0
  28. package/dist/components/Catalog/CatalogCard.js +2 -2
  29. package/dist/components/Catalog/CatalogCard.js.map +1 -1
  30. package/dist/components/ContentPage/renderContentPageHead.js +7 -7
  31. package/dist/components/ContentPage/renderContentPageHead.js.map +1 -1
  32. package/dist/components/ExchangeRateTile/CurrencyTable.js +2 -2
  33. package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  34. package/dist/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  35. package/dist/components/ExchangeRateTile/CurrentLocation.js +1 -1
  36. package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  37. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  38. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -15
  39. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  40. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +11 -11
  41. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  42. package/dist/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  43. package/dist/components/ExchangeRateTile/renderInput.js +4 -1
  44. package/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
  45. package/dist/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  46. package/dist/components/ExchangeRateTile/useFetchExchangeRateData.js +43 -0
  47. package/dist/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  48. package/dist/components/Gallery/GalleryCardInner.js +2 -2
  49. package/dist/components/Gallery/GalleryCardInner.js.map +1 -1
  50. package/dist/components/Gallery/GalleryInner.js +2 -2
  51. package/dist/components/Gallery/GalleryInner.js.map +1 -1
  52. package/dist/components/Header/DropdownMenu.js +1 -1
  53. package/dist/components/Header/DropdownMenu.js.map +1 -1
  54. package/dist/components/Header/HeaderSubMenu.js +16 -11
  55. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  56. package/dist/components/OfficeMap/OfficeMap.js +6 -10
  57. package/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  58. package/dist/components/OfficeMap/nearbyOffices.d.ts +2 -0
  59. package/dist/components/OfficeMap/nearbyOffices.js +9 -0
  60. package/dist/components/OfficeMap/nearbyOffices.js.map +1 -0
  61. package/dist/components/OfficeMap/renderFunctions.d.ts +1 -1
  62. package/dist/components/OfficeMap/renderFunctions.js +1 -1
  63. package/dist/components/OfficeMap/renderFunctions.js.map +1 -1
  64. package/dist/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  65. package/{mobile/dist/hooks → dist/components/OfficeMap}/useOfficeMap.js +1 -1
  66. package/dist/components/OfficeMap/useOfficeMap.js.map +1 -0
  67. package/dist/components/PictureText/PictureText.js +1 -1
  68. package/dist/components/PictureText/PictureText.js.map +1 -1
  69. package/dist/components/SafeDepositRental/SafeDepositRental.js +2 -2
  70. package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  71. package/dist/components/TariffsTable/EmbeddableCellData.js +5 -2
  72. package/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  73. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js +5 -2
  74. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  75. package/dist/components/TariffsTable/dataFixture.js +2 -4
  76. package/dist/components/TariffsTable/dataFixture.js.map +1 -1
  77. package/dist/icons/IconName.d.ts +6 -2
  78. package/dist/icons/IconName.js +5 -1
  79. package/dist/icons/IconName.js.map +1 -1
  80. package/dist/ui-kit/Button/ButtonProps.d.ts +5 -1
  81. package/dist/ui-kit/Button/ButtonSection.d.ts +9 -1
  82. package/dist/ui-kit/Button/ButtonSection.js +18 -6
  83. package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  84. package/dist/ui-kit/Foldable/DefaultFoldButton.js +13 -4
  85. package/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  86. package/dist/ui-kit/IntersectionObserverTag.js +10 -10
  87. package/dist/ui-kit/IntersectionObserverTag.js.map +1 -1
  88. package/{lib/components/OfficeMap → dist/ui-kit/YandexMap}/YandexMap.d.ts +4 -1
  89. package/dist/ui-kit/YandexMap/YandexMap.js +86 -0
  90. package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -0
  91. package/dist/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  92. package/dist/ui-kit/YandexMap/ZoomButton.js +26 -0
  93. package/dist/ui-kit/YandexMap/ZoomButton.js.map +1 -0
  94. package/dist/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  95. package/dist/ui-kit/YandexMap/mockPoints.js +28 -0
  96. package/dist/ui-kit/YandexMap/mockPoints.js.map +1 -0
  97. package/dist/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  98. package/dist/ui-kit/YandexMap/renderClusterer.js +35 -0
  99. package/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -0
  100. package/dist/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  101. package/dist/ui-kit/YandexMap/renderOpenMap.js +19 -0
  102. package/dist/ui-kit/YandexMap/renderOpenMap.js.map +1 -0
  103. package/dist/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  104. package/dist/ui-kit/YandexMap/renderSearchField.js +31 -0
  105. package/dist/ui-kit/YandexMap/renderSearchField.js.map +1 -0
  106. package/dist/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  107. package/dist/ui-kit/YandexMap/renderUserGeolocation.js +31 -0
  108. package/dist/ui-kit/YandexMap/renderUserGeolocation.js.map +1 -0
  109. package/dist/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  110. package/dist/ui-kit/YandexMap/useYandexMaps.js +11 -0
  111. package/dist/ui-kit/YandexMap/useYandexMaps.js.map +1 -0
  112. package/lib/common.css +1 -1
  113. package/lib/components/Bonus/BonusContent.d.ts +1 -0
  114. package/lib/components/Catalog/CatalogCard.js +2 -2
  115. package/lib/components/Catalog/CatalogCard.js.map +1 -1
  116. package/lib/components/ContentPage/renderContentPageHead.js +7 -7
  117. package/lib/components/ContentPage/renderContentPageHead.js.map +1 -1
  118. package/lib/components/ExchangeRateTile/CurrencyTable.js +2 -2
  119. package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  120. package/lib/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  121. package/lib/components/ExchangeRateTile/CurrentLocation.js +1 -1
  122. package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  123. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  124. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -15
  125. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  126. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +11 -11
  127. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  128. package/lib/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  129. package/lib/components/ExchangeRateTile/renderInput.js +4 -1
  130. package/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
  131. package/lib/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  132. package/lib/components/ExchangeRateTile/useFetchExchangeRateData.js +39 -0
  133. package/lib/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  134. package/lib/components/Gallery/GalleryCardInner.js +2 -2
  135. package/lib/components/Gallery/GalleryCardInner.js.map +1 -1
  136. package/lib/components/Gallery/GalleryInner.js +2 -2
  137. package/lib/components/Gallery/GalleryInner.js.map +1 -1
  138. package/lib/components/Header/DropdownMenu.js +1 -1
  139. package/lib/components/Header/DropdownMenu.js.map +1 -1
  140. package/lib/components/Header/HeaderSubMenu.js +17 -12
  141. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  142. package/lib/components/OfficeMap/OfficeMap.js +6 -10
  143. package/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  144. package/lib/components/OfficeMap/nearbyOffices.d.ts +2 -0
  145. package/lib/components/OfficeMap/nearbyOffices.js +7 -0
  146. package/lib/components/OfficeMap/nearbyOffices.js.map +1 -0
  147. package/lib/components/OfficeMap/renderFunctions.d.ts +1 -1
  148. package/lib/components/OfficeMap/renderFunctions.js +1 -1
  149. package/lib/components/OfficeMap/renderFunctions.js.map +1 -1
  150. package/lib/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  151. package/{mobile/lib/hooks → lib/components/OfficeMap}/useOfficeMap.js +1 -1
  152. package/lib/components/OfficeMap/useOfficeMap.js.map +1 -0
  153. package/lib/components/PictureText/PictureText.js +1 -1
  154. package/lib/components/PictureText/PictureText.js.map +1 -1
  155. package/lib/components/SafeDepositRental/SafeDepositRental.js +2 -2
  156. package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  157. package/lib/components/TariffsTable/EmbeddableCellData.js +5 -2
  158. package/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  159. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js +5 -2
  160. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  161. package/lib/components/TariffsTable/dataFixture.js +2 -4
  162. package/lib/components/TariffsTable/dataFixture.js.map +1 -1
  163. package/lib/icons/IconName.d.ts +6 -2
  164. package/lib/icons/IconName.js +5 -1
  165. package/lib/icons/IconName.js.map +1 -1
  166. package/lib/ui-kit/Button/ButtonProps.d.ts +5 -1
  167. package/lib/ui-kit/Button/ButtonSection.d.ts +9 -1
  168. package/lib/ui-kit/Button/ButtonSection.js +16 -5
  169. package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  170. package/lib/ui-kit/Foldable/DefaultFoldButton.js +13 -4
  171. package/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  172. package/lib/ui-kit/IntersectionObserverTag.js +11 -11
  173. package/lib/ui-kit/IntersectionObserverTag.js.map +1 -1
  174. package/{mobile/bundle/components/OfficeMap → lib/ui-kit/YandexMap}/YandexMap.d.ts +4 -1
  175. package/lib/ui-kit/YandexMap/YandexMap.js +84 -0
  176. package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -0
  177. package/lib/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  178. package/lib/ui-kit/YandexMap/ZoomButton.js +24 -0
  179. package/lib/ui-kit/YandexMap/ZoomButton.js.map +1 -0
  180. package/lib/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  181. package/lib/ui-kit/YandexMap/mockPoints.js +26 -0
  182. package/lib/ui-kit/YandexMap/mockPoints.js.map +1 -0
  183. package/lib/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  184. package/lib/ui-kit/YandexMap/renderClusterer.js +32 -0
  185. package/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -0
  186. package/lib/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  187. package/lib/ui-kit/YandexMap/renderOpenMap.js +16 -0
  188. package/lib/ui-kit/YandexMap/renderOpenMap.js.map +1 -0
  189. package/lib/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  190. package/lib/ui-kit/YandexMap/renderSearchField.js +28 -0
  191. package/lib/ui-kit/YandexMap/renderSearchField.js.map +1 -0
  192. package/lib/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  193. package/lib/ui-kit/YandexMap/renderUserGeolocation.js +28 -0
  194. package/lib/ui-kit/YandexMap/renderUserGeolocation.js.map +1 -0
  195. package/lib/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  196. package/lib/ui-kit/YandexMap/useYandexMaps.js +8 -0
  197. package/lib/ui-kit/YandexMap/useYandexMaps.js.map +1 -0
  198. package/mobile/bundle/bundle.umd.js +32 -19
  199. package/mobile/bundle/bundle.umd.min.js +1 -1
  200. package/mobile/bundle/components/Bonus/BonusContent.d.ts +1 -0
  201. package/mobile/bundle/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  202. package/mobile/bundle/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  203. package/mobile/bundle/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  204. package/mobile/bundle/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  205. package/mobile/bundle/components/OfficeMap/nearbyOffices.d.ts +2 -0
  206. package/mobile/bundle/components/OfficeMap/renderFunctions.d.ts +1 -1
  207. package/mobile/bundle/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  208. package/mobile/bundle/icons/IconName.d.ts +6 -2
  209. package/mobile/bundle/ui-kit/Button/ButtonProps.d.ts +5 -1
  210. package/mobile/bundle/ui-kit/Button/ButtonSection.d.ts +9 -1
  211. package/{dist/components/OfficeMap → mobile/bundle/ui-kit/YandexMap}/YandexMap.d.ts +4 -1
  212. package/mobile/bundle/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  213. package/mobile/bundle/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  214. package/mobile/bundle/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  215. package/mobile/bundle/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  216. package/mobile/bundle/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  217. package/mobile/bundle/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  218. package/mobile/bundle/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  219. package/mobile/dist/components/Bonus/BonusContent.d.ts +1 -0
  220. package/mobile/dist/components/Catalog/CatalogCard.js +2 -2
  221. package/mobile/dist/components/Catalog/CatalogCard.js.map +1 -1
  222. package/mobile/dist/components/ContentPage/renderContentPageHead.js +7 -7
  223. package/mobile/dist/components/ContentPage/renderContentPageHead.js.map +1 -1
  224. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js +2 -2
  225. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  226. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  227. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +1 -1
  228. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  229. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  230. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -15
  231. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  232. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +11 -11
  233. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  234. package/mobile/dist/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  235. package/mobile/dist/components/ExchangeRateTile/renderInput.js +4 -1
  236. package/mobile/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
  237. package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  238. package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.js +43 -0
  239. package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  240. package/mobile/dist/components/Gallery/GalleryCardInner.js +2 -2
  241. package/mobile/dist/components/Gallery/GalleryCardInner.js.map +1 -1
  242. package/mobile/dist/components/Gallery/GalleryInner.js +2 -2
  243. package/mobile/dist/components/Gallery/GalleryInner.js.map +1 -1
  244. package/mobile/dist/components/Header/DropdownMenu.js +1 -1
  245. package/mobile/dist/components/Header/DropdownMenu.js.map +1 -1
  246. package/mobile/dist/components/Header/HeaderSubMenu.js +16 -11
  247. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  248. package/mobile/dist/components/OfficeMap/OfficeMap.js +6 -10
  249. package/mobile/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  250. package/mobile/dist/components/OfficeMap/nearbyOffices.d.ts +2 -0
  251. package/mobile/dist/components/OfficeMap/nearbyOffices.js +9 -0
  252. package/mobile/dist/components/OfficeMap/nearbyOffices.js.map +1 -0
  253. package/mobile/dist/components/OfficeMap/renderFunctions.d.ts +1 -1
  254. package/mobile/dist/components/OfficeMap/renderFunctions.js +1 -1
  255. package/mobile/dist/components/OfficeMap/renderFunctions.js.map +1 -1
  256. package/mobile/dist/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  257. package/{dist/hooks → mobile/dist/components/OfficeMap}/useOfficeMap.js +1 -1
  258. package/mobile/dist/components/OfficeMap/useOfficeMap.js.map +1 -0
  259. package/mobile/dist/components/PictureText/PictureText.js +1 -1
  260. package/mobile/dist/components/PictureText/PictureText.js.map +1 -1
  261. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js +2 -2
  262. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  263. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js +5 -2
  264. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  265. package/mobile/dist/components/TariffsTable/dataFixture.js +2 -4
  266. package/mobile/dist/components/TariffsTable/dataFixture.js.map +1 -1
  267. package/mobile/dist/icons/IconName.d.ts +6 -2
  268. package/mobile/dist/icons/IconName.js +5 -1
  269. package/mobile/dist/icons/IconName.js.map +1 -1
  270. package/mobile/dist/ui-kit/Button/ButtonProps.d.ts +5 -1
  271. package/mobile/dist/ui-kit/Button/ButtonSection.d.ts +9 -1
  272. package/mobile/dist/ui-kit/Button/ButtonSection.js +18 -6
  273. package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  274. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js +13 -4
  275. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  276. package/mobile/dist/ui-kit/IntersectionObserverTag.js +10 -10
  277. package/mobile/dist/ui-kit/IntersectionObserverTag.js.map +1 -1
  278. package/mobile/dist/ui-kit/YandexMap/YandexMap.d.ts +8 -0
  279. package/mobile/dist/ui-kit/YandexMap/YandexMap.js +86 -0
  280. package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -0
  281. package/mobile/dist/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  282. package/mobile/dist/ui-kit/YandexMap/ZoomButton.js +26 -0
  283. package/mobile/dist/ui-kit/YandexMap/ZoomButton.js.map +1 -0
  284. package/mobile/dist/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  285. package/mobile/dist/ui-kit/YandexMap/mockPoints.js +28 -0
  286. package/mobile/dist/ui-kit/YandexMap/mockPoints.js.map +1 -0
  287. package/mobile/dist/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  288. package/mobile/dist/ui-kit/YandexMap/renderClusterer.js +35 -0
  289. package/mobile/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -0
  290. package/mobile/dist/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  291. package/mobile/dist/ui-kit/YandexMap/renderOpenMap.js +19 -0
  292. package/mobile/dist/ui-kit/YandexMap/renderOpenMap.js.map +1 -0
  293. package/mobile/dist/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  294. package/mobile/dist/ui-kit/YandexMap/renderSearchField.js +31 -0
  295. package/mobile/dist/ui-kit/YandexMap/renderSearchField.js.map +1 -0
  296. package/mobile/dist/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  297. package/mobile/dist/ui-kit/YandexMap/renderUserGeolocation.js +31 -0
  298. package/mobile/dist/ui-kit/YandexMap/renderUserGeolocation.js.map +1 -0
  299. package/mobile/dist/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  300. package/mobile/dist/ui-kit/YandexMap/useYandexMaps.js +11 -0
  301. package/mobile/dist/ui-kit/YandexMap/useYandexMaps.js.map +1 -0
  302. package/mobile/lib/components/Bonus/BonusContent.d.ts +1 -0
  303. package/mobile/lib/components/Catalog/CatalogCard.js +2 -2
  304. package/mobile/lib/components/Catalog/CatalogCard.js.map +1 -1
  305. package/mobile/lib/components/ContentPage/renderContentPageHead.js +7 -7
  306. package/mobile/lib/components/ContentPage/renderContentPageHead.js.map +1 -1
  307. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js +2 -2
  308. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  309. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  310. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +1 -1
  311. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  312. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  313. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -15
  314. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  315. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +11 -11
  316. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  317. package/mobile/lib/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  318. package/mobile/lib/components/ExchangeRateTile/renderInput.js +4 -1
  319. package/mobile/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
  320. package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  321. package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.js +39 -0
  322. package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  323. package/mobile/lib/components/Gallery/GalleryCardInner.js +2 -2
  324. package/mobile/lib/components/Gallery/GalleryCardInner.js.map +1 -1
  325. package/mobile/lib/components/Gallery/GalleryInner.js +2 -2
  326. package/mobile/lib/components/Gallery/GalleryInner.js.map +1 -1
  327. package/mobile/lib/components/Header/DropdownMenu.js +1 -1
  328. package/mobile/lib/components/Header/DropdownMenu.js.map +1 -1
  329. package/mobile/lib/components/Header/HeaderSubMenu.js +17 -12
  330. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  331. package/mobile/lib/components/OfficeMap/OfficeMap.js +6 -10
  332. package/mobile/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  333. package/mobile/lib/components/OfficeMap/nearbyOffices.d.ts +2 -0
  334. package/mobile/lib/components/OfficeMap/nearbyOffices.js +7 -0
  335. package/mobile/lib/components/OfficeMap/nearbyOffices.js.map +1 -0
  336. package/mobile/lib/components/OfficeMap/renderFunctions.d.ts +1 -1
  337. package/mobile/lib/components/OfficeMap/renderFunctions.js +1 -1
  338. package/mobile/lib/components/OfficeMap/renderFunctions.js.map +1 -1
  339. package/mobile/lib/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  340. package/{lib/hooks → mobile/lib/components/OfficeMap}/useOfficeMap.js +1 -1
  341. package/mobile/lib/components/OfficeMap/useOfficeMap.js.map +1 -0
  342. package/mobile/lib/components/PictureText/PictureText.js +1 -1
  343. package/mobile/lib/components/PictureText/PictureText.js.map +1 -1
  344. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js +2 -2
  345. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  346. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js +5 -2
  347. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  348. package/mobile/lib/components/TariffsTable/dataFixture.js +2 -4
  349. package/mobile/lib/components/TariffsTable/dataFixture.js.map +1 -1
  350. package/mobile/lib/icons/IconName.d.ts +6 -2
  351. package/mobile/lib/icons/IconName.js +5 -1
  352. package/mobile/lib/icons/IconName.js.map +1 -1
  353. package/mobile/lib/ui-kit/Button/ButtonProps.d.ts +5 -1
  354. package/mobile/lib/ui-kit/Button/ButtonSection.d.ts +9 -1
  355. package/mobile/lib/ui-kit/Button/ButtonSection.js +16 -5
  356. package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  357. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js +13 -4
  358. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  359. package/mobile/lib/ui-kit/IntersectionObserverTag.js +11 -11
  360. package/mobile/lib/ui-kit/IntersectionObserverTag.js.map +1 -1
  361. package/mobile/lib/ui-kit/YandexMap/YandexMap.d.ts +8 -0
  362. package/mobile/lib/ui-kit/YandexMap/YandexMap.js +84 -0
  363. package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -0
  364. package/mobile/lib/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  365. package/mobile/lib/ui-kit/YandexMap/ZoomButton.js +24 -0
  366. package/mobile/lib/ui-kit/YandexMap/ZoomButton.js.map +1 -0
  367. package/mobile/lib/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  368. package/mobile/lib/ui-kit/YandexMap/mockPoints.js +26 -0
  369. package/mobile/lib/ui-kit/YandexMap/mockPoints.js.map +1 -0
  370. package/mobile/lib/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  371. package/mobile/lib/ui-kit/YandexMap/renderClusterer.js +32 -0
  372. package/mobile/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -0
  373. package/mobile/lib/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  374. package/mobile/lib/ui-kit/YandexMap/renderOpenMap.js +16 -0
  375. package/mobile/lib/ui-kit/YandexMap/renderOpenMap.js.map +1 -0
  376. package/mobile/lib/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  377. package/mobile/lib/ui-kit/YandexMap/renderSearchField.js +28 -0
  378. package/mobile/lib/ui-kit/YandexMap/renderSearchField.js.map +1 -0
  379. package/mobile/lib/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  380. package/mobile/lib/ui-kit/YandexMap/renderUserGeolocation.js +28 -0
  381. package/mobile/lib/ui-kit/YandexMap/renderUserGeolocation.js.map +1 -0
  382. package/mobile/lib/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  383. package/mobile/lib/ui-kit/YandexMap/useYandexMaps.js +8 -0
  384. package/mobile/lib/ui-kit/YandexMap/useYandexMaps.js.map +1 -0
  385. package/mobile/src/common.css +9 -0
  386. package/mobile/src/components/Bonus/Bonus.example.json +1 -6
  387. package/mobile/src/components/Bonus/BonusContent.ts +1 -0
  388. package/mobile/src/components/Catalog/CatalogCard.tsx +2 -2
  389. package/mobile/src/components/ContentPage/renderContentPageHead.tsx +11 -7
  390. package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +8 -6
  391. package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +8 -15
  392. package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +31 -19
  393. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +14 -13
  394. package/mobile/src/components/ExchangeRateTile/callbackCurrencySelect.ts +1 -1
  395. package/mobile/src/components/ExchangeRateTile/renderInput.tsx +5 -2
  396. package/mobile/src/components/ExchangeRateTile/useFetchExchangeRateData.ts +71 -0
  397. package/mobile/src/components/Gallery/GalleryCardInner.tsx +2 -2
  398. package/mobile/src/components/Gallery/GalleryInner.tsx +2 -2
  399. package/mobile/src/components/Header/DropdownMenu.tsx +5 -5
  400. package/mobile/src/components/Header/HeaderSubMenu.tsx +36 -20
  401. package/mobile/src/components/OfficeMap/OfficeMap.tsx +10 -17
  402. package/mobile/src/components/OfficeMap/nearbyOffices.ts +8 -0
  403. package/mobile/src/components/OfficeMap/renderFunctions.tsx +5 -2
  404. package/mobile/src/{hooks → components/OfficeMap}/useOfficeMap.ts +1 -1
  405. package/mobile/src/components/PictureText/PictureText.tsx +1 -1
  406. package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
  407. package/mobile/src/components/TariffsTable/EmbeddableCellData.tsx +7 -11
  408. package/mobile/src/components/TariffsTable/dataFixture.tsx +2 -3
  409. package/mobile/src/icons/FullScreenIcon.svg +8 -0
  410. package/mobile/src/icons/IconName.ts +5 -5
  411. package/mobile/src/icons/UserGeoLocationIcon.svg +3 -0
  412. package/mobile/src/ui-kit/Button/ButtonProps.ts +5 -1
  413. package/mobile/src/ui-kit/Button/ButtonSection.tsx +41 -16
  414. package/mobile/src/ui-kit/Foldable/DefaultFoldButton.tsx +32 -23
  415. package/mobile/src/ui-kit/IntersectionObserverTag.tsx +13 -17
  416. package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +128 -0
  417. package/mobile/src/ui-kit/YandexMap/ZoomButton.tsx +38 -0
  418. package/mobile/src/ui-kit/YandexMap/mockPoints.ts +30 -0
  419. package/mobile/src/ui-kit/YandexMap/renderClusterer.ts +51 -0
  420. package/mobile/src/ui-kit/YandexMap/renderOpenMap.tsx +26 -0
  421. package/mobile/src/ui-kit/YandexMap/renderSearchField.tsx +51 -0
  422. package/mobile/src/ui-kit/YandexMap/renderUserGeolocation.tsx +43 -0
  423. package/mobile/src/ui-kit/YandexMap/useYandexMaps.ts +11 -0
  424. package/package.json +1 -1
  425. package/src/common.css +9 -0
  426. package/src/components/Bonus/Bonus.example.json +1 -6
  427. package/src/components/Bonus/BonusContent.ts +1 -0
  428. package/src/components/Catalog/Catalog.fixture.tsx +3 -10
  429. package/src/components/Catalog/CatalogCard.tsx +2 -2
  430. package/src/components/ContentPage/renderContentPageHead.tsx +11 -7
  431. package/src/components/ExchangeRateTile/CurrencyTable.tsx +8 -6
  432. package/src/components/ExchangeRateTile/CurrentLocation.tsx +8 -15
  433. package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +31 -19
  434. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +14 -13
  435. package/src/components/ExchangeRateTile/callbackCurrencySelect.ts +1 -1
  436. package/src/components/ExchangeRateTile/renderInput.tsx +5 -2
  437. package/src/components/ExchangeRateTile/useFetchExchangeRateData.ts +71 -0
  438. package/src/components/Gallery/Gallery.fixture.tsx +1 -2
  439. package/src/components/Gallery/GalleryCardInner.tsx +2 -2
  440. package/src/components/Gallery/GalleryInner.tsx +2 -2
  441. package/src/components/Header/DropdownMenu.tsx +5 -5
  442. package/src/components/Header/HeaderSubMenu.tsx +36 -20
  443. package/src/components/MobileAppTile/MobileAppTile.fixture.tsx +3 -14
  444. package/src/components/OfficeMap/OfficeMap.tsx +10 -17
  445. package/src/components/OfficeMap/nearbyOffices.ts +8 -0
  446. package/src/components/OfficeMap/renderFunctions.tsx +5 -2
  447. package/src/{hooks → components/OfficeMap}/useOfficeMap.ts +1 -1
  448. package/src/components/PictureText/PictureText.tsx +1 -1
  449. package/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
  450. package/src/components/StepsBlock/StepsBlock.fixture.tsx +2 -0
  451. package/src/components/TariffsTable/EmbeddableCellData.mobile.tsx +7 -11
  452. package/src/components/TariffsTable/EmbeddableCellData.tsx +7 -9
  453. package/src/components/TariffsTable/dataFixture.tsx +2 -3
  454. package/src/icons/FullScreenIcon.svg +8 -0
  455. package/src/icons/IconName.ts +9 -1
  456. package/src/icons/UserGeoLocationIcon.svg +3 -0
  457. package/src/ui-kit/Button/ButtonProps.ts +5 -1
  458. package/src/ui-kit/Button/ButtonSection.tsx +41 -16
  459. package/src/ui-kit/Foldable/DefaultFoldButton.tsx +32 -23
  460. package/src/ui-kit/IntersectionObserverTag.tsx +13 -17
  461. package/src/ui-kit/YandexMap/YandexMap.tsx +128 -0
  462. package/src/ui-kit/YandexMap/ZoomButton.tsx +38 -0
  463. package/src/ui-kit/YandexMap/mockPoints.ts +30 -0
  464. package/src/ui-kit/YandexMap/renderClusterer.ts +51 -0
  465. package/src/ui-kit/YandexMap/renderOpenMap.tsx +26 -0
  466. package/src/ui-kit/YandexMap/renderSearchField.tsx +51 -0
  467. package/src/ui-kit/YandexMap/renderUserGeolocation.tsx +43 -0
  468. package/src/ui-kit/YandexMap/useYandexMaps.ts +11 -0
  469. package/bundle/hooks/useExchangeRates.d.ts +0 -2
  470. package/dist/components/OfficeMap/YandexMap.js +0 -30
  471. package/dist/components/OfficeMap/YandexMap.js.map +0 -1
  472. package/dist/hooks/useExchangeRates.d.ts +0 -2
  473. package/dist/hooks/useExchangeRates.js +0 -57
  474. package/dist/hooks/useExchangeRates.js.map +0 -1
  475. package/dist/hooks/useOfficeMap.js.map +0 -1
  476. package/lib/components/OfficeMap/YandexMap.js +0 -28
  477. package/lib/components/OfficeMap/YandexMap.js.map +0 -1
  478. package/lib/hooks/useExchangeRates.d.ts +0 -2
  479. package/lib/hooks/useExchangeRates.js +0 -54
  480. package/lib/hooks/useExchangeRates.js.map +0 -1
  481. package/lib/hooks/useOfficeMap.js.map +0 -1
  482. package/mobile/bundle/hooks/useExchangeRates.d.ts +0 -2
  483. package/mobile/dist/components/OfficeMap/YandexMap.d.ts +0 -5
  484. package/mobile/dist/components/OfficeMap/YandexMap.js +0 -30
  485. package/mobile/dist/components/OfficeMap/YandexMap.js.map +0 -1
  486. package/mobile/dist/hooks/useExchangeRates.d.ts +0 -2
  487. package/mobile/dist/hooks/useExchangeRates.js +0 -57
  488. package/mobile/dist/hooks/useExchangeRates.js.map +0 -1
  489. package/mobile/dist/hooks/useOfficeMap.js.map +0 -1
  490. package/mobile/lib/components/OfficeMap/YandexMap.d.ts +0 -5
  491. package/mobile/lib/components/OfficeMap/YandexMap.js +0 -28
  492. package/mobile/lib/components/OfficeMap/YandexMap.js.map +0 -1
  493. package/mobile/lib/hooks/useExchangeRates.d.ts +0 -2
  494. package/mobile/lib/hooks/useExchangeRates.js +0 -54
  495. package/mobile/lib/hooks/useExchangeRates.js.map +0 -1
  496. package/mobile/lib/hooks/useOfficeMap.js.map +0 -1
  497. package/mobile/src/components/OfficeMap/YandexMap.tsx +0 -41
  498. package/mobile/src/hooks/useExchangeRates.ts +0 -76
  499. package/src/components/OfficeMap/YandexMap.tsx +0 -41
  500. package/src/hooks/useExchangeRates.ts +0 -76
@@ -1,5 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { useCallback, useRef } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { useEffect, useRef } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import type { VNode } from '../model/VNode';
4
4
 
5
5
  interface IntersectionObserverTagProps {
@@ -20,29 +20,25 @@ export const IntersectionObserverTag = JSX<IntersectionObserverTagProps>((props)
20
20
  anchor = null,
21
21
  children,
22
22
  } = props;
23
+ const tagRef = useRef<HTMLElement | null>(null);
23
24
 
24
- const intersectionObserver = useRef<IntersectionObserver | null>(null);
25
+ useEffect(() => {
26
+ if (!tagRef.current) {
27
+ return undefined;
28
+ }
25
29
 
26
- const ref = useCallback(
27
- (element: HTMLElement | null) => {
28
- if (!element) {
29
- return;
30
- }
30
+ const intersectionObserver = new IntersectionObserver(observerCallback, observerOptions);
31
+ intersectionObserver.observe(tagRef.current);
31
32
 
32
- if (intersectionObserver.current) {
33
- intersectionObserver.current.disconnect();
34
- }
35
-
36
- intersectionObserver.current = new IntersectionObserver(observerCallback, observerOptions);
37
- intersectionObserver.current.observe(element);
38
- },
39
- [observerCallback, observerOptions],
40
- );
33
+ return () => {
34
+ intersectionObserver.disconnect();
35
+ };
36
+ }, [observerCallback, observerOptions]);
41
37
 
42
38
  const Tag = tag as any;
43
39
 
44
40
  return (
45
- <Tag ref={ref} className={className} id={anchor}>
41
+ <Tag ref={tagRef} className={className} id={anchor}>
46
42
  {children}
47
43
  </Tag>
48
44
  );
@@ -0,0 +1,128 @@
1
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2
+ // @ts-nocheck
3
+ import { JSX } from '@redneckz/uni-jsx';
4
+ import { useEffect, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
5
+ import ymaps from 'yandex-maps';
6
+ import { renderClusterer } from './renderClusterer';
7
+ import { renderOpenMap } from './renderOpenMap';
8
+ import { renderSearchField } from './renderSearchField';
9
+ import { renderUserGeolocation } from './renderUserGeolocation';
10
+ import { useYandexMaps } from './useYandexMaps';
11
+ import { Icon } from '../Icon/Icon';
12
+ import { ZoomButton } from './ZoomButton';
13
+ import { MockPoints, mockPoints } from './mockPoints';
14
+
15
+ interface YandexMapProps {
16
+ points: number[][];
17
+ className?: string;
18
+ zoom?: number;
19
+ showSearchField?: boolean;
20
+ }
21
+
22
+ const FULLSCREEN_STYLES = {
23
+ border: 'border border-transparent rounded-md ',
24
+ position: 'absolute flex items-center justify-center',
25
+ size: 'w-12 h-12',
26
+ focus: 'focus:border-primary-focus focus:border',
27
+ font: 'text-center font-sans',
28
+ active: 'active:bg-primary-active',
29
+ hover: 'hover:bg-primary-hover',
30
+ other: 'select-none cursor-pointer',
31
+ };
32
+
33
+ // TODO: Поле для поиска: невыяснено среди каких данных делать поиск (искать в имени офиса, в адресе, метро и т.д.).
34
+ // Сейчас реализован поиск среди тестовых данных
35
+ // TODO: Также выяснить что делать когда ничего не найдено
36
+ // TODO: На макетах также когда есть поле поиска нет кнопки открыть на карте.
37
+ export const YandexMap = JSX<YandexMapProps>(
38
+ ({ points, className = '', zoom = 5, showSearchField = false }) => {
39
+ const map = useRef<ymaps.Map | null>(null);
40
+
41
+ const yandexMaps = useYandexMaps();
42
+
43
+ const [isFullScreen, setIsFullScreen] = useState();
44
+ const [pointsToRender, setPointsToRender] = useState<number[][]>(normalizePoints(mockPoints));
45
+
46
+ const pointsCenter = getCenterPoint(points);
47
+
48
+ useEffect(() => {
49
+ if (!map?.current) {
50
+ yandexMaps?.ready(() => {
51
+ map.current = new yandexMaps.Map('map', {
52
+ center: pointsCenter,
53
+ zoom,
54
+ controls: [],
55
+ suppressMapOpenBlock: true,
56
+ });
57
+ renderClusterer(yandexMaps, map.current, pointsToRender);
58
+ });
59
+ }
60
+ }, [yandexMaps, map, pointsToRender]);
61
+
62
+ useEffect(() => {
63
+ if (map.current && pointsToRender && yandexMaps) {
64
+ const newPoints = pointsToRender.length < 1 ? normalizePoints(mockPoints) : pointsToRender;
65
+ renderClusterer(yandexMaps, map.current, newPoints);
66
+ }
67
+ }, [map, pointsToRender, yandexMaps]);
68
+
69
+ if (!yandexMaps) {
70
+ return null;
71
+ }
72
+
73
+ const toggleFullscreen = () => {
74
+ const container = map.current.container;
75
+ if (!isFullScreen) {
76
+ container.enterFullscreen();
77
+ } else {
78
+ container.exitFullscreen();
79
+ }
80
+ setIsFullScreen(container.isFullscreen());
81
+ };
82
+
83
+ const zIndex = isFullScreen ? 'z-[100000]' : 'z-10';
84
+
85
+ const updatePointsToRender = (newPoints: MockPoints | null) => {
86
+ if (newPoints) {
87
+ const normalizedPoints = normalizePoints(newPoints);
88
+ setPointsToRender(normalizedPoints);
89
+ }
90
+ };
91
+
92
+ return (
93
+ <div id="map" className={`${isFullScreen ? '' : 'relative'} w-full ${className}`}>
94
+ <div className={`absolute flex left-2 top-4 w-[50%] ${zIndex}`}>
95
+ {showSearchField
96
+ ? renderSearchField(mockPoints, yandexMaps, updatePointsToRender)
97
+ : renderOpenMap(pointsCenter)}
98
+ </div>
99
+ <div
100
+ className={`${Object.values(FULLSCREEN_STYLES).join(
101
+ ' ',
102
+ )} ${zIndex} right-2 top-4 bg-white`}
103
+ onClick={toggleFullscreen}
104
+ >
105
+ <Icon name="FullScreenIcon" width="16" height="16" />
106
+ </div>
107
+ <div
108
+ className={`absolute right-2 top-52 z-10 w-12 overflow-hidden border border-transparent rounded-md ${zIndex}`}
109
+ >
110
+ <ZoomButton yandexMaps={map} />
111
+ <ZoomButton yandexMaps={map} direction="out" />
112
+ </div>
113
+ {renderUserGeolocation(map.current, yandexMaps, `right-2 top-80 ${zIndex}`)}
114
+ </div>
115
+ );
116
+ },
117
+ );
118
+
119
+ const getCenterPoint = (points: number[][]) => [
120
+ getArraySumAndAverage(mapByIndex(points, 0)),
121
+ getArraySumAndAverage(mapByIndex(points, 1)),
122
+ ];
123
+
124
+ const mapByIndex = (arr: number[][], index: number) => arr.map((a) => a[index]);
125
+
126
+ const getArraySumAndAverage = (arr: number[][]) => arr.reduce((a, b) => a + b) / arr.length;
127
+
128
+ const normalizePoints = (points: number[][]) => (points ? points.map((_) => _.coords) : null);
@@ -0,0 +1,38 @@
1
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2
+ // @ts-nocheck
3
+ import { JSX } from '@redneckz/uni-jsx';
4
+ import ymaps from 'yandex-maps';
5
+ import { Icon } from '../Icon/Icon';
6
+
7
+ interface ZoomButtonProps {
8
+ yandexMaps: ymaps.Map;
9
+ direction?: string;
10
+ }
11
+
12
+ const styles = {
13
+ focus: 'focus:border-primary-focus focus:border',
14
+ hover: 'hover:bg-primary-hover',
15
+ active: 'active:bg-primary-active',
16
+ border: 'border-b border-b-2 border-gray last:border-0',
17
+ position: 'relative flex items-center justify-center',
18
+ font: 'text-center font-sans text-l',
19
+ };
20
+
21
+ // TODO: Добавить метод определения центральной точки
22
+ export const ZoomButton = JSX<ZoomButtonProps>(({ yandexMaps, direction = 'in' }) => {
23
+ const iconName = direction === 'in' ? 'PlusIcon' : 'MinusIcon';
24
+ const changeZoom = () => {
25
+ const currentZoom = yandexMaps.current.getZoom();
26
+ const newZoom = direction === 'in' ? currentZoom + 1 : currentZoom - 1;
27
+ yandexMaps.current.setZoom(newZoom, { checkZoomRange: true });
28
+ };
29
+
30
+ return (
31
+ <div
32
+ onClick={changeZoom}
33
+ className={`${Object.values(styles).join(' ')} bg-white select-none cursor-pointer w-12 h-12`}
34
+ >
35
+ <Icon name={iconName} width="20" height="16" />
36
+ </div>
37
+ );
38
+ });
@@ -0,0 +1,30 @@
1
+ export type MockPoints = {
2
+ coords: number[];
3
+ text: string;
4
+ };
5
+
6
+ export const mockPoints: MockPoints[] = [
7
+ { coords: [55.77, 37.46], text: 'Трактир' },
8
+ { coords: [55.66, 37.48], text: 'Трактор' },
9
+ { coords: [55.65, 37.42], text: 'Ресторан' },
10
+ { coords: [55.64, 37.54], text: 'Музей' },
11
+ { coords: [55.54, 37.52], text: 'Библиотека' },
12
+ { coords: [55.53, 37.56], text: 'Школа' },
13
+ { coords: [55.61, 37.61], text: 'Аптека' },
14
+ { coords: [55.8, 37.58], text: 'Бар' },
15
+ { coords: [55.71, 37.35], text: 'Институт' },
16
+ { coords: [55.74, 37.57], text: 'Университет' },
17
+ { coords: [55.58, 37.69], text: 'Больница' },
18
+ { coords: [55.57, 37.7], text: 'Цирк' },
19
+ { coords: [55.55, 37.64], text: 'Магазин' },
20
+ { coords: [55.5, 37.75], text: 'Булочная' },
21
+ { coords: [55.81, 37.73], text: 'Полиция' },
22
+ { coords: [55.73, 37.68], text: 'Салон красоты' },
23
+ { coords: [55.86, 37.76], text: 'Баня' },
24
+ { coords: [55.38, 37.69], text: 'Гараж' },
25
+ { coords: [55.91, 37.5], text: 'Дом' },
26
+ { coords: [55.62, 37.32], text: 'Прачечная' },
27
+ { coords: [55.85, 37.41], text: 'Стадион' },
28
+ { coords: [55.67, 37.24], text: 'Вокзал' },
29
+ { coords: [55.79, 37.41], text: 'Кафе' },
30
+ ];
@@ -0,0 +1,51 @@
1
+ // TODO: Fix
2
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
3
+ /* eslint-disable @typescript-eslint/no-unsafe-argument */
4
+ import ymaps from 'yandex-maps';
5
+
6
+ export function renderClusterer(yandexMaps: typeof ymaps, map: ymaps.Map, points: number[][]) {
7
+ map.geoObjects.removeAll();
8
+
9
+ const clusterIconContentLayout = yandexMaps.templateLayoutFactory.createClass(
10
+ '<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>',
11
+ );
12
+
13
+ const clusterer = new yandexMaps.Clusterer({
14
+ clusterIcons: [
15
+ {
16
+ href: 'icons/MapMarkerClusterIcon.svg',
17
+ size: [78, 84],
18
+ offset: [-35, -50],
19
+ },
20
+ ],
21
+ clusterIconContentLayout,
22
+ clusterHideIconOnBalloonOpen: false,
23
+ geoObjectHideIconOnBalloonOpen: false,
24
+ } as ymaps.IClustererOptions);
25
+
26
+ const geoObjects = points.map(
27
+ (point) =>
28
+ new yandexMaps.Placemark(
29
+ point,
30
+ {},
31
+ {
32
+ iconLayout: 'default#image',
33
+ iconImageHref: 'icons/MapMarkerSingleIcon.svg',
34
+ iconImageSize: [78, 84],
35
+ iconImageOffset: [-35, -50],
36
+ },
37
+ ),
38
+ );
39
+
40
+ clusterer.add(geoObjects);
41
+
42
+ map.geoObjects.add(clusterer as any);
43
+
44
+ // TODO: Fix
45
+ // @ts-ignore
46
+ map.setBounds(yandexMaps.util.bounds.fromPoints(points)).then(() => {
47
+ if (map.getZoom() > 10) {
48
+ map.setZoom(10);
49
+ }
50
+ });
51
+ }
@@ -0,0 +1,26 @@
1
+ const styles = {
2
+ focus: 'focus:border-primary-focus focus:border',
3
+ hover: 'hover:bg-primary-hover',
4
+ active: 'active:bg-primary-active',
5
+ border: 'border border-transparent rounded-md',
6
+ position: 'flex items-center justify-center',
7
+ font: 'text-center font-sans',
8
+ };
9
+
10
+ export const renderOpenMap = (pointsCenter: number[]) => {
11
+ const getYandexMapUrl = () => {
12
+ return `https://yandex.ru/maps/?ll=${[pointsCenter[1], pointsCenter[0]]}&z=10&l=map`;
13
+ };
14
+
15
+ return (
16
+ <a
17
+ className={`select-none cursor-pointer px-9 h-12 bg-white bg-primary-main text-white ${Object.values(
18
+ styles,
19
+ ).join(' ')}`}
20
+ href={getYandexMapUrl()}
21
+ target="_blank"
22
+ >
23
+ Открыть на карте
24
+ </a>
25
+ );
26
+ };
@@ -0,0 +1,51 @@
1
+ import { Icon } from '../Icon/Icon';
2
+ import type { MockPoints } from './mockPoints';
3
+ import ymaps from 'yandex-maps';
4
+ const styles = {
5
+ border: 'border border-transparent rounded-md',
6
+ position: 'relative flex items-center',
7
+ font: 'text-center font-sans',
8
+ shadow: 'shadow-[0_4px_25px_rgba(0,0,0,0.07)]',
9
+ };
10
+
11
+ export const renderSearchField = (
12
+ points: MockPoints[],
13
+ yandexMaps: ymaps.Map,
14
+ updatePointsToRender: (any: MockPoints[] | null) => void,
15
+ ) => {
16
+ const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {
17
+ const value: string = e.target?.value ? e.target?.value.toLowerCase() : '';
18
+ if (value) {
19
+ const searchResult = points.filter((_: MockPoints) => {
20
+ const textLowerCase = _.text.toLowerCase();
21
+ if (textLowerCase.indexOf(value) > -1) {
22
+ return _;
23
+ }
24
+
25
+ return null;
26
+ });
27
+ updatePointsToRender(searchResult);
28
+ } else {
29
+ updatePointsToRender(null);
30
+ }
31
+ };
32
+
33
+ return (
34
+ <div className={`${Object.values(styles).join(' ')} bg-white py-3 pl-11 pr-4 w-full`}>
35
+ <Icon
36
+ name="LoupeIcon"
37
+ iconVersion="black"
38
+ width="20"
39
+ height="20"
40
+ asSVG
41
+ className="absolute left-4"
42
+ />
43
+ <input
44
+ type="text"
45
+ placeholder="Введите адрес или метро"
46
+ onChange={onChange}
47
+ className="border-0 focus:border-0 outline-0 w-full"
48
+ />
49
+ </div>
50
+ );
51
+ };
@@ -0,0 +1,43 @@
1
+ /* eslint-disable @typescript-eslint/no-unsafe-argument */
2
+ import { Icon } from '../Icon/Icon';
3
+ import ymaps from 'yandex-maps';
4
+
5
+ const styles = {
6
+ focus: 'focus:border-primary-focus focus:border',
7
+ hover: 'hover:bg-primary-hover',
8
+ active: 'active:bg-primary-active',
9
+ border: 'border border-transparent rounded-md',
10
+ position: 'absolute flex items-center justify-center',
11
+ font: 'text-center font-sans',
12
+ };
13
+
14
+ export const renderUserGeolocation = (
15
+ map: ymaps.Map,
16
+ yandexMaps: typeof ymaps,
17
+ className: string,
18
+ ) => {
19
+ const setUserGeoLocation = () => {
20
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
21
+ // @ts-ignore
22
+ yandexMaps.geolocation
23
+ .get({
24
+ provider: 'yandex',
25
+ autoReverseGeocode: true,
26
+ mapStateAutoApply: true,
27
+ })
28
+ .then(function (result) {
29
+ map.geoObjects.add(result.geoObjects);
30
+ });
31
+ };
32
+
33
+ return (
34
+ <div
35
+ className={`select-none cursor-pointer py-4 w-12 bg-white ${Object.values(styles).join(
36
+ ' ',
37
+ )} ${className}`}
38
+ onClick={setUserGeoLocation}
39
+ >
40
+ <Icon name="UserGeoLocationIcon" width="20" height="16" />
41
+ </div>
42
+ );
43
+ };
@@ -0,0 +1,11 @@
1
+ import ymaps from 'yandex-maps';
2
+ import { useExternalNS } from '../../hooks/useExternalNS';
3
+ import { projectSettings } from '../../ProjectSettings';
4
+
5
+ const YMAPS_NAMESPACE = 'ymaps';
6
+
7
+ export const useYandexMaps = () => {
8
+ const url = `https://api-maps.yandex.ru/2.1/?apikey=${projectSettings.YANDEX_MAP_API_KEY}&lang=ru_RU`;
9
+
10
+ return useExternalNS<typeof ymaps>(YMAPS_NAMESPACE, url);
11
+ };
@@ -1,2 +0,0 @@
1
- import type { ExchangeCurrencyItem } from '../components/ExchangeRateTile/ExchangeCurrencyCalculator';
2
- export declare function useExchangeRates(): ExchangeCurrencyItem[];
@@ -1,30 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.YandexMap = void 0;
3
- const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
- const uni_jsx_1 = require("@redneckz/uni-jsx");
5
- const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
6
- const renderClusterer_1 = require("../SafeDepositRental/renderClusterer");
7
- const useYandexMaps_1 = require("../SafeDepositRental/useYandexMaps");
8
- exports.YandexMap = (0, uni_jsx_1.JSX)(({ point }) => {
9
- const map = (0, hooks_1.useRef)(null);
10
- const yandexMaps = (0, useYandexMaps_1.useYandexMaps)();
11
- (0, hooks_1.useEffect)(() => {
12
- yandexMaps?.ready(() => {
13
- map.current = new yandexMaps.Map('map', {
14
- center: point,
15
- zoom: 10,
16
- });
17
- (0, renderClusterer_1.renderClusterer)(yandexMaps, map.current, [point]);
18
- });
19
- }, [map, point, yandexMaps]);
20
- (0, hooks_1.useEffect)(() => {
21
- if (map.current && point && yandexMaps) {
22
- (0, renderClusterer_1.renderClusterer)(yandexMaps, map.current, [point]);
23
- }
24
- }, [map, point, yandexMaps]);
25
- if (!yandexMaps) {
26
- return null;
27
- }
28
- return ((0, jsx_runtime_1.jsx)("div", { className: "bg-white", children: (0, jsx_runtime_1.jsx)("div", { id: "map", className: "h-[560px]" }) }));
29
- });
30
- //# sourceMappingURL=YandexMap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"YandexMap.js","sourceRoot":"","sources":["../../../src/components/OfficeMap/YandexMap.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAgE;AAEhE,0EAAuE;AACvE,sEAAmE;AAMtD,QAAA,SAAS,GAAG,IAAA,aAAG,EAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACzD,MAAM,GAAG,GAAG,IAAA,cAAM,EAAmB,IAAI,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,IAAA,6BAAa,GAAE,CAAC;IAEnC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE;YACrB,GAAG,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE;gBACtC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;YACH,IAAA,iCAAe,EAAC,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,IAAI,UAAU,EAAE;YACtC,IAAA,iCAAe,EAAC,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;SACnD;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,gCAAK,SAAS,EAAC,UAAU,YACvB,gCAAK,EAAE,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,GAAG,GAClC,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { ExchangeCurrencyItem } from '../components/ExchangeRateTile/ExchangeCurrencyCalculator';
2
- export declare function useExchangeRates(): ExchangeCurrencyItem[];
@@ -1,57 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.useExchangeRates = void 0;
3
- const useAsyncData_1 = require("@redneckz/uni-jsx/lib/hooks/useAsyncData");
4
- const fetchJSON_1 = require("../utils/fetchJSON");
5
- const roundTo_1 = require("../utils/roundTo");
6
- function useExchangeRates() {
7
- const { data } = (0, useAsyncData_1.useAsyncData)(EXCHANGE_RATES_URL, fetchExchangeRates);
8
- const result = data?.hits?.hits?.map((_) => _._source) || [];
9
- return result.length ? getCurrencyListByRate(result) : result;
10
- }
11
- exports.useExchangeRates = useExchangeRates;
12
- function fetchExchangeRates() {
13
- return (0, fetchJSON_1.fetchJSON)(EXCHANGE_RATES_URL, {
14
- method: 'POST',
15
- body: JSON.stringify(EXCHANGE_RATES_BODY),
16
- });
17
- }
18
- const EXCHANGE_RATES_URL = 'https://coins.rshb.ru/api/catalog/vue_storefront_magento_1_currency_rates_average/currency_rates_average/_search?size=10000';
19
- const EXCHANGE_RATES_BODY = {
20
- query: {
21
- bool: {
22
- must: [
23
- {
24
- term: {
25
- // eslint-disable-next-line camelcase
26
- russian_region_code: '77',
27
- },
28
- },
29
- {
30
- term: {
31
- // eslint-disable-next-line camelcase
32
- from_volume: '0',
33
- },
34
- },
35
- {
36
- terms: {
37
- // eslint-disable-next-line camelcase
38
- currency_pair: ['USD/RUB', 'EUR/RUB'],
39
- },
40
- },
41
- ],
42
- },
43
- },
44
- };
45
- const getCurrencyListByRate = (currencyRates) => currencyRates.reduce((result, _) => {
46
- const currencyInfo = _['currency_first'];
47
- const currencyCode = currencyInfo?.code;
48
- if (!result.some((i) => i.code === currencyCode)) {
49
- result.push({
50
- code: currencyCode,
51
- buy: (0, roundTo_1.roundTo)(Number(_.rate_buy), 3),
52
- sell: (0, roundTo_1.roundTo)(Number(_.rate_sell), 3),
53
- });
54
- }
55
- return result;
56
- }, []);
57
- //# sourceMappingURL=useExchangeRates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useExchangeRates.js","sourceRoot":"","sources":["../../src/hooks/useExchangeRates.ts"],"names":[],"mappings":";;AAAA,2EAAwE;AAExE,kDAA+C;AAC/C,8CAA2C;AAQ3C,SAAgB,gBAAgB;IAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,2BAAY,EAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAE7D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAqB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/E,CAAC;AAND,4CAMC;AAED,SAAS,kBAAkB;IACzB,OAAO,IAAA,qBAAS,EAAC,kBAAkB,EAAE;QACnC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,kBAAkB,GACtB,6HAA6H,CAAC;AAEhI,MAAM,mBAAmB,GAAG;IAC1B,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE;wBACJ,qCAAqC;wBACrC,mBAAmB,EAAE,IAAI;qBAC1B;iBACF;gBACD;oBACE,IAAI,EAAE;wBACJ,qCAAqC;wBACrC,WAAW,EAAE,GAAG;qBACjB;iBACF;gBACD;oBACE,KAAK,EAAE;wBACL,qCAAqC;wBACrC,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;qBACtC;iBACF;aACF;SACF;KACF;CACF,CAAC;AAQF,MAAM,qBAAqB,GAAG,CAAC,aAA0B,EAAE,EAAE,CAC3D,aAAa,CAAC,MAAM,CAAC,CAAC,MAAyB,EAAE,CAAC,EAAE,EAAE;IACpD,MAAM,YAAY,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,YAAY,EAAE,IAAI,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE;QAChD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,EAAE,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACtC,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,EAAE,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOfficeMap.js","sourceRoot":"","sources":["../../src/hooks/useOfficeMap.ts"],"names":[],"mappings":";;AAAA,2EAAwE;AACxE,kDAA+C;AAE/C,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAE1C,4GAA4G;AAC5G,4DAA4D;AAC5D,SAAgB,YAAY,CAAC,UAAmB;IAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,2BAAY,EAC3B,UAAU,CAAC,CAAC,CAAC,GAAG,cAAc,eAAe,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,EACrE,cAAc,CACf,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAPD,oCAOC;AAED,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,EAAE;IACtC,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,EAAE,CAAC;KACX;IAED,OAAO,IAAA,qBAAS,EAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC"}
@@ -1,28 +0,0 @@
1
- import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
- import { JSX } from '@redneckz/uni-jsx';
3
- import { useEffect, useRef } from '@redneckz/uni-jsx/lib/hooks';
4
- import { renderClusterer } from '../SafeDepositRental/renderClusterer.js';
5
- import { useYandexMaps } from '../SafeDepositRental/useYandexMaps.js';
6
- export const YandexMap = JSX(({ point }) => {
7
- const map = useRef(null);
8
- const yandexMaps = useYandexMaps();
9
- useEffect(() => {
10
- yandexMaps?.ready(() => {
11
- map.current = new yandexMaps.Map('map', {
12
- center: point,
13
- zoom: 10,
14
- });
15
- renderClusterer(yandexMaps, map.current, [point]);
16
- });
17
- }, [map, point, yandexMaps]);
18
- useEffect(() => {
19
- if (map.current && point && yandexMaps) {
20
- renderClusterer(yandexMaps, map.current, [point]);
21
- }
22
- }, [map, point, yandexMaps]);
23
- if (!yandexMaps) {
24
- return null;
25
- }
26
- return (_jsx("div", { className: "bg-white", children: _jsx("div", { id: "map", className: "h-[560px]" }) }));
27
- });
28
- //# sourceMappingURL=YandexMap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"YandexMap.js","sourceRoot":"","sources":["../../../src/components/OfficeMap/YandexMap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAMnE,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACzD,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE;YACrB,GAAG,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE;gBACtC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;YACH,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,IAAI,UAAU,EAAE;YACtC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;SACnD;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,cAAK,SAAS,EAAC,UAAU,YACvB,cAAK,EAAE,EAAC,KAAK,EAAC,SAAS,EAAC,WAAW,GAAG,GAClC,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { ExchangeCurrencyItem } from '../components/ExchangeRateTile/ExchangeCurrencyCalculator';
2
- export declare function useExchangeRates(): ExchangeCurrencyItem[];
@@ -1,54 +0,0 @@
1
- import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
2
- import { fetchJSON } from '../utils/fetchJSON.js';
3
- import { roundTo } from '../utils/roundTo.js';
4
- export function useExchangeRates() {
5
- const { data } = useAsyncData(EXCHANGE_RATES_URL, fetchExchangeRates);
6
- const result = data?.hits?.hits?.map((_) => _._source) || [];
7
- return result.length ? getCurrencyListByRate(result) : result;
8
- }
9
- function fetchExchangeRates() {
10
- return fetchJSON(EXCHANGE_RATES_URL, {
11
- method: 'POST',
12
- body: JSON.stringify(EXCHANGE_RATES_BODY),
13
- });
14
- }
15
- const EXCHANGE_RATES_URL = 'https://coins.rshb.ru/api/catalog/vue_storefront_magento_1_currency_rates_average/currency_rates_average/_search?size=10000';
16
- const EXCHANGE_RATES_BODY = {
17
- query: {
18
- bool: {
19
- must: [
20
- {
21
- term: {
22
- // eslint-disable-next-line camelcase
23
- russian_region_code: '77',
24
- },
25
- },
26
- {
27
- term: {
28
- // eslint-disable-next-line camelcase
29
- from_volume: '0',
30
- },
31
- },
32
- {
33
- terms: {
34
- // eslint-disable-next-line camelcase
35
- currency_pair: ['USD/RUB', 'EUR/RUB'],
36
- },
37
- },
38
- ],
39
- },
40
- },
41
- };
42
- const getCurrencyListByRate = (currencyRates) => currencyRates.reduce((result, _) => {
43
- const currencyInfo = _['currency_first'];
44
- const currencyCode = currencyInfo?.code;
45
- if (!result.some((i) => i.code === currencyCode)) {
46
- result.push({
47
- code: currencyCode,
48
- buy: roundTo(Number(_.rate_buy), 3),
49
- sell: roundTo(Number(_.rate_sell), 3),
50
- });
51
- }
52
- return result;
53
- }, []);
54
- //# sourceMappingURL=useExchangeRates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useExchangeRates.js","sourceRoot":"","sources":["../../src/hooks/useExchangeRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAQ3C,MAAM,UAAU,gBAAgB;IAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAE7D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAqB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/E,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,SAAS,CAAC,kBAAkB,EAAE;QACnC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,kBAAkB,GACtB,6HAA6H,CAAC;AAEhI,MAAM,mBAAmB,GAAG;IAC1B,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE;wBACJ,qCAAqC;wBACrC,mBAAmB,EAAE,IAAI;qBAC1B;iBACF;gBACD;oBACE,IAAI,EAAE;wBACJ,qCAAqC;wBACrC,WAAW,EAAE,GAAG;qBACjB;iBACF;gBACD;oBACE,KAAK,EAAE;wBACL,qCAAqC;wBACrC,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;qBACtC;iBACF;aACF;SACF;KACF;CACF,CAAC;AAQF,MAAM,qBAAqB,GAAG,CAAC,aAA0B,EAAE,EAAE,CAC3D,aAAa,CAAC,MAAM,CAAC,CAAC,MAAyB,EAAE,CAAC,EAAE,EAAE;IACpD,MAAM,YAAY,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,YAAY,EAAE,IAAI,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE;QAChD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACtC,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,EAAE,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOfficeMap.js","sourceRoot":"","sources":["../../src/hooks/useOfficeMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAE1C,4GAA4G;AAC5G,4DAA4D;AAC5D,MAAM,UAAU,YAAY,CAAC,UAAmB;IAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAC3B,UAAU,CAAC,CAAC,CAAC,GAAG,cAAc,eAAe,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,EACrE,cAAc,CACf,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,EAAE;IACtC,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,EAAE,CAAC;KACX;IAED,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { ExchangeCurrencyItem } from '../components/ExchangeRateTile/ExchangeCurrencyCalculator';
2
- export declare function useExchangeRates(): ExchangeCurrencyItem[];
@@ -1,5 +0,0 @@
1
- interface YandexMapProps {
2
- point: number[];
3
- }
4
- export declare const YandexMap: import("@redneckz/uni-jsx").UNIComponent<YandexMapProps, any, any>;
5
- export {};