@redneckz/wildless-cms-uni-blocks 0.6.16 → 0.6.18

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 (489) hide show
  1. package/bin/migration-scripts/0.6.16.js +1 -1
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +309 -168
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/Bonus/BonusContent.d.ts +1 -0
  6. package/bundle/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  7. package/bundle/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  8. package/bundle/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  9. package/bundle/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  10. package/bundle/components/OfficeMap/nearbyOffices.d.ts +2 -0
  11. package/bundle/components/OfficeMap/renderFunctions.d.ts +1 -1
  12. package/bundle/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  13. package/bundle/icons/IconName.d.ts +6 -2
  14. package/bundle/ui-kit/Button/ButtonProps.d.ts +5 -1
  15. package/bundle/ui-kit/Button/ButtonSection.d.ts +9 -1
  16. package/bundle/{components/OfficeMap → ui-kit/YandexMap}/YandexMap.d.ts +4 -1
  17. package/bundle/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  18. package/bundle/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  19. package/bundle/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  20. package/bundle/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  21. package/bundle/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  22. package/bundle/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  23. package/bundle/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  24. package/cosmos-static/icons/FullScreenIcon.svg +1 -0
  25. package/cosmos-static/icons/UserGeoLocationIcon.svg +1 -0
  26. package/dist/components/Bonus/BonusContent.d.ts +1 -0
  27. package/dist/components/Catalog/CatalogCard.js +2 -2
  28. package/dist/components/Catalog/CatalogCard.js.map +1 -1
  29. package/dist/components/ExchangeRateTile/CurrencyTable.js +2 -2
  30. package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  31. package/dist/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  32. package/dist/components/ExchangeRateTile/CurrentLocation.js +1 -1
  33. package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  34. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  35. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -15
  36. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  37. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +11 -11
  38. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  39. package/dist/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  40. package/dist/components/ExchangeRateTile/renderInput.js +4 -1
  41. package/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
  42. package/dist/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  43. package/dist/components/ExchangeRateTile/useFetchExchangeRateData.js +43 -0
  44. package/dist/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  45. package/dist/components/Gallery/GalleryCardInner.js +2 -2
  46. package/dist/components/Gallery/GalleryCardInner.js.map +1 -1
  47. package/dist/components/Gallery/GalleryInner.js +2 -2
  48. package/dist/components/Gallery/GalleryInner.js.map +1 -1
  49. package/dist/components/Header/DropdownMenu.js +1 -1
  50. package/dist/components/Header/DropdownMenu.js.map +1 -1
  51. package/dist/components/Header/HeaderSubMenu.js +16 -11
  52. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  53. package/dist/components/OfficeMap/OfficeMap.js +6 -10
  54. package/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  55. package/dist/components/OfficeMap/nearbyOffices.d.ts +2 -0
  56. package/dist/components/OfficeMap/nearbyOffices.js +9 -0
  57. package/dist/components/OfficeMap/nearbyOffices.js.map +1 -0
  58. package/dist/components/OfficeMap/renderFunctions.d.ts +1 -1
  59. package/dist/components/OfficeMap/renderFunctions.js +1 -1
  60. package/dist/components/OfficeMap/renderFunctions.js.map +1 -1
  61. package/dist/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  62. package/{mobile/dist/hooks → dist/components/OfficeMap}/useOfficeMap.js +1 -1
  63. package/dist/components/OfficeMap/useOfficeMap.js.map +1 -0
  64. package/dist/components/PictureText/PictureText.js +1 -1
  65. package/dist/components/PictureText/PictureText.js.map +1 -1
  66. package/dist/components/SafeDepositRental/SafeDepositRental.js +2 -2
  67. package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  68. package/dist/components/TariffsTable/EmbeddableCellData.js +5 -2
  69. package/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  70. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js +5 -2
  71. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  72. package/dist/components/TariffsTable/dataFixture.js +2 -4
  73. package/dist/components/TariffsTable/dataFixture.js.map +1 -1
  74. package/dist/icons/IconName.d.ts +6 -2
  75. package/dist/icons/IconName.js +5 -1
  76. package/dist/icons/IconName.js.map +1 -1
  77. package/dist/ui-kit/BlockWrapper.js +4 -3
  78. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  79. package/dist/ui-kit/Button/ButtonProps.d.ts +5 -1
  80. package/dist/ui-kit/Button/ButtonSection.d.ts +9 -1
  81. package/dist/ui-kit/Button/ButtonSection.js +18 -6
  82. package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  83. package/dist/ui-kit/IntersectionObserverTag.js +10 -10
  84. package/dist/ui-kit/IntersectionObserverTag.js.map +1 -1
  85. package/{lib/components/OfficeMap → dist/ui-kit/YandexMap}/YandexMap.d.ts +4 -1
  86. package/dist/ui-kit/YandexMap/YandexMap.js +86 -0
  87. package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -0
  88. package/dist/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  89. package/dist/ui-kit/YandexMap/ZoomButton.js +26 -0
  90. package/dist/ui-kit/YandexMap/ZoomButton.js.map +1 -0
  91. package/dist/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  92. package/dist/ui-kit/YandexMap/mockPoints.js +28 -0
  93. package/dist/ui-kit/YandexMap/mockPoints.js.map +1 -0
  94. package/dist/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  95. package/dist/ui-kit/YandexMap/renderClusterer.js +35 -0
  96. package/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -0
  97. package/dist/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  98. package/dist/ui-kit/YandexMap/renderOpenMap.js +19 -0
  99. package/dist/ui-kit/YandexMap/renderOpenMap.js.map +1 -0
  100. package/dist/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  101. package/dist/ui-kit/YandexMap/renderSearchField.js +31 -0
  102. package/dist/ui-kit/YandexMap/renderSearchField.js.map +1 -0
  103. package/dist/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  104. package/dist/ui-kit/YandexMap/renderUserGeolocation.js +31 -0
  105. package/dist/ui-kit/YandexMap/renderUserGeolocation.js.map +1 -0
  106. package/dist/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  107. package/dist/ui-kit/YandexMap/useYandexMaps.js +11 -0
  108. package/dist/ui-kit/YandexMap/useYandexMaps.js.map +1 -0
  109. package/lib/common.css +1 -1
  110. package/lib/components/Bonus/BonusContent.d.ts +1 -0
  111. package/lib/components/Catalog/CatalogCard.js +2 -2
  112. package/lib/components/Catalog/CatalogCard.js.map +1 -1
  113. package/lib/components/ExchangeRateTile/CurrencyTable.js +2 -2
  114. package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  115. package/lib/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  116. package/lib/components/ExchangeRateTile/CurrentLocation.js +1 -1
  117. package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  118. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  119. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -15
  120. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  121. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +11 -11
  122. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  123. package/lib/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  124. package/lib/components/ExchangeRateTile/renderInput.js +4 -1
  125. package/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
  126. package/lib/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  127. package/lib/components/ExchangeRateTile/useFetchExchangeRateData.js +39 -0
  128. package/lib/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  129. package/lib/components/Gallery/GalleryCardInner.js +2 -2
  130. package/lib/components/Gallery/GalleryCardInner.js.map +1 -1
  131. package/lib/components/Gallery/GalleryInner.js +2 -2
  132. package/lib/components/Gallery/GalleryInner.js.map +1 -1
  133. package/lib/components/Header/DropdownMenu.js +1 -1
  134. package/lib/components/Header/DropdownMenu.js.map +1 -1
  135. package/lib/components/Header/HeaderSubMenu.js +17 -12
  136. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  137. package/lib/components/OfficeMap/OfficeMap.js +6 -10
  138. package/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  139. package/lib/components/OfficeMap/nearbyOffices.d.ts +2 -0
  140. package/lib/components/OfficeMap/nearbyOffices.js +7 -0
  141. package/lib/components/OfficeMap/nearbyOffices.js.map +1 -0
  142. package/lib/components/OfficeMap/renderFunctions.d.ts +1 -1
  143. package/lib/components/OfficeMap/renderFunctions.js +1 -1
  144. package/lib/components/OfficeMap/renderFunctions.js.map +1 -1
  145. package/lib/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  146. package/{mobile/lib/hooks → lib/components/OfficeMap}/useOfficeMap.js +1 -1
  147. package/lib/components/OfficeMap/useOfficeMap.js.map +1 -0
  148. package/lib/components/PictureText/PictureText.js +1 -1
  149. package/lib/components/PictureText/PictureText.js.map +1 -1
  150. package/lib/components/SafeDepositRental/SafeDepositRental.js +2 -2
  151. package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  152. package/lib/components/TariffsTable/EmbeddableCellData.js +5 -2
  153. package/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  154. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js +5 -2
  155. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  156. package/lib/components/TariffsTable/dataFixture.js +2 -4
  157. package/lib/components/TariffsTable/dataFixture.js.map +1 -1
  158. package/lib/icons/IconName.d.ts +6 -2
  159. package/lib/icons/IconName.js +5 -1
  160. package/lib/icons/IconName.js.map +1 -1
  161. package/lib/ui-kit/BlockWrapper.js +4 -3
  162. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  163. package/lib/ui-kit/Button/ButtonProps.d.ts +5 -1
  164. package/lib/ui-kit/Button/ButtonSection.d.ts +9 -1
  165. package/lib/ui-kit/Button/ButtonSection.js +16 -5
  166. package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  167. package/lib/ui-kit/IntersectionObserverTag.js +11 -11
  168. package/lib/ui-kit/IntersectionObserverTag.js.map +1 -1
  169. package/{mobile/bundle/components/OfficeMap → lib/ui-kit/YandexMap}/YandexMap.d.ts +4 -1
  170. package/lib/ui-kit/YandexMap/YandexMap.js +84 -0
  171. package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -0
  172. package/lib/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  173. package/lib/ui-kit/YandexMap/ZoomButton.js +24 -0
  174. package/lib/ui-kit/YandexMap/ZoomButton.js.map +1 -0
  175. package/lib/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  176. package/lib/ui-kit/YandexMap/mockPoints.js +26 -0
  177. package/lib/ui-kit/YandexMap/mockPoints.js.map +1 -0
  178. package/lib/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  179. package/lib/ui-kit/YandexMap/renderClusterer.js +32 -0
  180. package/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -0
  181. package/lib/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  182. package/lib/ui-kit/YandexMap/renderOpenMap.js +16 -0
  183. package/lib/ui-kit/YandexMap/renderOpenMap.js.map +1 -0
  184. package/lib/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  185. package/lib/ui-kit/YandexMap/renderSearchField.js +28 -0
  186. package/lib/ui-kit/YandexMap/renderSearchField.js.map +1 -0
  187. package/lib/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  188. package/lib/ui-kit/YandexMap/renderUserGeolocation.js +28 -0
  189. package/lib/ui-kit/YandexMap/renderUserGeolocation.js.map +1 -0
  190. package/lib/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  191. package/lib/ui-kit/YandexMap/useYandexMaps.js +8 -0
  192. package/lib/ui-kit/YandexMap/useYandexMaps.js.map +1 -0
  193. package/mobile/bundle/bundle.umd.js +36 -22
  194. package/mobile/bundle/bundle.umd.min.js +1 -1
  195. package/mobile/bundle/components/Bonus/BonusContent.d.ts +1 -0
  196. package/mobile/bundle/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  197. package/mobile/bundle/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  198. package/mobile/bundle/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  199. package/mobile/bundle/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  200. package/mobile/bundle/components/OfficeMap/nearbyOffices.d.ts +2 -0
  201. package/mobile/bundle/components/OfficeMap/renderFunctions.d.ts +1 -1
  202. package/mobile/bundle/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  203. package/mobile/bundle/icons/IconName.d.ts +6 -2
  204. package/mobile/bundle/ui-kit/Button/ButtonProps.d.ts +5 -1
  205. package/mobile/bundle/ui-kit/Button/ButtonSection.d.ts +9 -1
  206. package/{dist/components/OfficeMap → mobile/bundle/ui-kit/YandexMap}/YandexMap.d.ts +4 -1
  207. package/mobile/bundle/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  208. package/mobile/bundle/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  209. package/mobile/bundle/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  210. package/mobile/bundle/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  211. package/mobile/bundle/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  212. package/mobile/bundle/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  213. package/mobile/bundle/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  214. package/mobile/dist/components/Bonus/BonusContent.d.ts +1 -0
  215. package/mobile/dist/components/Catalog/CatalogCard.js +2 -2
  216. package/mobile/dist/components/Catalog/CatalogCard.js.map +1 -1
  217. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js +2 -2
  218. package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  219. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  220. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +1 -1
  221. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  222. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  223. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -15
  224. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  225. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +11 -11
  226. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  227. package/mobile/dist/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  228. package/mobile/dist/components/ExchangeRateTile/renderInput.js +4 -1
  229. package/mobile/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
  230. package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  231. package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.js +43 -0
  232. package/mobile/dist/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  233. package/mobile/dist/components/Gallery/GalleryCardInner.js +2 -2
  234. package/mobile/dist/components/Gallery/GalleryCardInner.js.map +1 -1
  235. package/mobile/dist/components/Gallery/GalleryInner.js +2 -2
  236. package/mobile/dist/components/Gallery/GalleryInner.js.map +1 -1
  237. package/mobile/dist/components/Header/DropdownMenu.js +1 -1
  238. package/mobile/dist/components/Header/DropdownMenu.js.map +1 -1
  239. package/mobile/dist/components/Header/HeaderSubMenu.js +16 -11
  240. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  241. package/mobile/dist/components/OfficeMap/OfficeMap.js +6 -10
  242. package/mobile/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  243. package/mobile/dist/components/OfficeMap/nearbyOffices.d.ts +2 -0
  244. package/mobile/dist/components/OfficeMap/nearbyOffices.js +9 -0
  245. package/mobile/dist/components/OfficeMap/nearbyOffices.js.map +1 -0
  246. package/mobile/dist/components/OfficeMap/renderFunctions.d.ts +1 -1
  247. package/mobile/dist/components/OfficeMap/renderFunctions.js +1 -1
  248. package/mobile/dist/components/OfficeMap/renderFunctions.js.map +1 -1
  249. package/mobile/dist/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  250. package/{dist/hooks → mobile/dist/components/OfficeMap}/useOfficeMap.js +1 -1
  251. package/mobile/dist/components/OfficeMap/useOfficeMap.js.map +1 -0
  252. package/mobile/dist/components/PictureText/PictureText.js +1 -1
  253. package/mobile/dist/components/PictureText/PictureText.js.map +1 -1
  254. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js +2 -2
  255. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  256. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js +5 -2
  257. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  258. package/mobile/dist/components/TariffsTable/dataFixture.js +2 -4
  259. package/mobile/dist/components/TariffsTable/dataFixture.js.map +1 -1
  260. package/mobile/dist/icons/IconName.d.ts +6 -2
  261. package/mobile/dist/icons/IconName.js +5 -1
  262. package/mobile/dist/icons/IconName.js.map +1 -1
  263. package/mobile/dist/ui-kit/BlockWrapper.js +4 -3
  264. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  265. package/mobile/dist/ui-kit/Button/ButtonProps.d.ts +5 -1
  266. package/mobile/dist/ui-kit/Button/ButtonSection.d.ts +9 -1
  267. package/mobile/dist/ui-kit/Button/ButtonSection.js +18 -6
  268. package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  269. package/mobile/dist/ui-kit/IntersectionObserverTag.js +10 -10
  270. package/mobile/dist/ui-kit/IntersectionObserverTag.js.map +1 -1
  271. package/mobile/dist/ui-kit/YandexMap/YandexMap.d.ts +8 -0
  272. package/mobile/dist/ui-kit/YandexMap/YandexMap.js +86 -0
  273. package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -0
  274. package/mobile/dist/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  275. package/mobile/dist/ui-kit/YandexMap/ZoomButton.js +26 -0
  276. package/mobile/dist/ui-kit/YandexMap/ZoomButton.js.map +1 -0
  277. package/mobile/dist/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  278. package/mobile/dist/ui-kit/YandexMap/mockPoints.js +28 -0
  279. package/mobile/dist/ui-kit/YandexMap/mockPoints.js.map +1 -0
  280. package/mobile/dist/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  281. package/mobile/dist/ui-kit/YandexMap/renderClusterer.js +35 -0
  282. package/mobile/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -0
  283. package/mobile/dist/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  284. package/mobile/dist/ui-kit/YandexMap/renderOpenMap.js +19 -0
  285. package/mobile/dist/ui-kit/YandexMap/renderOpenMap.js.map +1 -0
  286. package/mobile/dist/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  287. package/mobile/dist/ui-kit/YandexMap/renderSearchField.js +31 -0
  288. package/mobile/dist/ui-kit/YandexMap/renderSearchField.js.map +1 -0
  289. package/mobile/dist/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  290. package/mobile/dist/ui-kit/YandexMap/renderUserGeolocation.js +31 -0
  291. package/mobile/dist/ui-kit/YandexMap/renderUserGeolocation.js.map +1 -0
  292. package/mobile/dist/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  293. package/mobile/dist/ui-kit/YandexMap/useYandexMaps.js +11 -0
  294. package/mobile/dist/ui-kit/YandexMap/useYandexMaps.js.map +1 -0
  295. package/mobile/lib/components/Bonus/BonusContent.d.ts +1 -0
  296. package/mobile/lib/components/Catalog/CatalogCard.js +2 -2
  297. package/mobile/lib/components/Catalog/CatalogCard.js.map +1 -1
  298. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js +2 -2
  299. package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
  300. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.d.ts +0 -1
  301. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +1 -1
  302. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  303. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -3
  304. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -15
  305. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  306. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +11 -11
  307. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  308. package/mobile/lib/components/ExchangeRateTile/callbackCurrencySelect.d.ts +1 -1
  309. package/mobile/lib/components/ExchangeRateTile/renderInput.js +4 -1
  310. package/mobile/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
  311. package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.d.ts +17 -0
  312. package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.js +39 -0
  313. package/mobile/lib/components/ExchangeRateTile/useFetchExchangeRateData.js.map +1 -0
  314. package/mobile/lib/components/Gallery/GalleryCardInner.js +2 -2
  315. package/mobile/lib/components/Gallery/GalleryCardInner.js.map +1 -1
  316. package/mobile/lib/components/Gallery/GalleryInner.js +2 -2
  317. package/mobile/lib/components/Gallery/GalleryInner.js.map +1 -1
  318. package/mobile/lib/components/Header/DropdownMenu.js +1 -1
  319. package/mobile/lib/components/Header/DropdownMenu.js.map +1 -1
  320. package/mobile/lib/components/Header/HeaderSubMenu.js +17 -12
  321. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  322. package/mobile/lib/components/OfficeMap/OfficeMap.js +6 -10
  323. package/mobile/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  324. package/mobile/lib/components/OfficeMap/nearbyOffices.d.ts +2 -0
  325. package/mobile/lib/components/OfficeMap/nearbyOffices.js +7 -0
  326. package/mobile/lib/components/OfficeMap/nearbyOffices.js.map +1 -0
  327. package/mobile/lib/components/OfficeMap/renderFunctions.d.ts +1 -1
  328. package/mobile/lib/components/OfficeMap/renderFunctions.js +1 -1
  329. package/mobile/lib/components/OfficeMap/renderFunctions.js.map +1 -1
  330. package/mobile/lib/{hooks → components/OfficeMap}/useOfficeMap.d.ts +0 -0
  331. package/{lib/hooks → mobile/lib/components/OfficeMap}/useOfficeMap.js +1 -1
  332. package/mobile/lib/components/OfficeMap/useOfficeMap.js.map +1 -0
  333. package/mobile/lib/components/PictureText/PictureText.js +1 -1
  334. package/mobile/lib/components/PictureText/PictureText.js.map +1 -1
  335. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js +2 -2
  336. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  337. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js +5 -2
  338. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  339. package/mobile/lib/components/TariffsTable/dataFixture.js +2 -4
  340. package/mobile/lib/components/TariffsTable/dataFixture.js.map +1 -1
  341. package/mobile/lib/icons/IconName.d.ts +6 -2
  342. package/mobile/lib/icons/IconName.js +5 -1
  343. package/mobile/lib/icons/IconName.js.map +1 -1
  344. package/mobile/lib/ui-kit/BlockWrapper.js +4 -3
  345. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  346. package/mobile/lib/ui-kit/Button/ButtonProps.d.ts +5 -1
  347. package/mobile/lib/ui-kit/Button/ButtonSection.d.ts +9 -1
  348. package/mobile/lib/ui-kit/Button/ButtonSection.js +16 -5
  349. package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  350. package/mobile/lib/ui-kit/IntersectionObserverTag.js +11 -11
  351. package/mobile/lib/ui-kit/IntersectionObserverTag.js.map +1 -1
  352. package/mobile/lib/ui-kit/YandexMap/YandexMap.d.ts +8 -0
  353. package/mobile/lib/ui-kit/YandexMap/YandexMap.js +84 -0
  354. package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -0
  355. package/mobile/lib/ui-kit/YandexMap/ZoomButton.d.ts +7 -0
  356. package/mobile/lib/ui-kit/YandexMap/ZoomButton.js +24 -0
  357. package/mobile/lib/ui-kit/YandexMap/ZoomButton.js.map +1 -0
  358. package/mobile/lib/ui-kit/YandexMap/mockPoints.d.ts +5 -0
  359. package/mobile/lib/ui-kit/YandexMap/mockPoints.js +26 -0
  360. package/mobile/lib/ui-kit/YandexMap/mockPoints.js.map +1 -0
  361. package/mobile/lib/ui-kit/YandexMap/renderClusterer.d.ts +2 -0
  362. package/mobile/lib/ui-kit/YandexMap/renderClusterer.js +32 -0
  363. package/mobile/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -0
  364. package/mobile/lib/ui-kit/YandexMap/renderOpenMap.d.ts +2 -0
  365. package/mobile/lib/ui-kit/YandexMap/renderOpenMap.js +16 -0
  366. package/mobile/lib/ui-kit/YandexMap/renderOpenMap.js.map +1 -0
  367. package/mobile/lib/ui-kit/YandexMap/renderSearchField.d.ts +4 -0
  368. package/mobile/lib/ui-kit/YandexMap/renderSearchField.js +28 -0
  369. package/mobile/lib/ui-kit/YandexMap/renderSearchField.js.map +1 -0
  370. package/mobile/lib/ui-kit/YandexMap/renderUserGeolocation.d.ts +3 -0
  371. package/mobile/lib/ui-kit/YandexMap/renderUserGeolocation.js +28 -0
  372. package/mobile/lib/ui-kit/YandexMap/renderUserGeolocation.js.map +1 -0
  373. package/mobile/lib/ui-kit/YandexMap/useYandexMaps.d.ts +2 -0
  374. package/mobile/lib/ui-kit/YandexMap/useYandexMaps.js +8 -0
  375. package/mobile/lib/ui-kit/YandexMap/useYandexMaps.js.map +1 -0
  376. package/mobile/src/common.css +9 -0
  377. package/mobile/src/components/Bonus/Bonus.example.json +1 -6
  378. package/mobile/src/components/Bonus/BonusContent.ts +1 -0
  379. package/mobile/src/components/Catalog/CatalogCard.tsx +2 -2
  380. package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +8 -6
  381. package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +8 -15
  382. package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +31 -19
  383. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +14 -13
  384. package/mobile/src/components/ExchangeRateTile/callbackCurrencySelect.ts +1 -1
  385. package/mobile/src/components/ExchangeRateTile/renderInput.tsx +5 -2
  386. package/mobile/src/components/ExchangeRateTile/useFetchExchangeRateData.ts +71 -0
  387. package/mobile/src/components/Gallery/GalleryCardInner.tsx +2 -2
  388. package/mobile/src/components/Gallery/GalleryInner.tsx +2 -2
  389. package/mobile/src/components/Header/DropdownMenu.tsx +5 -5
  390. package/mobile/src/components/Header/HeaderSubMenu.tsx +36 -20
  391. package/mobile/src/components/OfficeMap/OfficeMap.tsx +10 -17
  392. package/mobile/src/components/OfficeMap/nearbyOffices.ts +8 -0
  393. package/mobile/src/components/OfficeMap/renderFunctions.tsx +5 -2
  394. package/mobile/src/{hooks → components/OfficeMap}/useOfficeMap.ts +1 -1
  395. package/mobile/src/components/PictureText/PictureText.tsx +1 -1
  396. package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
  397. package/mobile/src/components/TariffsTable/EmbeddableCellData.tsx +7 -11
  398. package/mobile/src/components/TariffsTable/dataFixture.tsx +2 -3
  399. package/mobile/src/icons/FullScreenIcon.svg +8 -0
  400. package/mobile/src/icons/IconName.ts +5 -5
  401. package/mobile/src/icons/UserGeoLocationIcon.svg +3 -0
  402. package/mobile/src/ui-kit/BlockWrapper.tsx +5 -3
  403. package/mobile/src/ui-kit/Button/ButtonProps.ts +5 -1
  404. package/mobile/src/ui-kit/Button/ButtonSection.tsx +41 -16
  405. package/mobile/src/ui-kit/IntersectionObserverTag.tsx +13 -17
  406. package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +128 -0
  407. package/mobile/src/ui-kit/YandexMap/ZoomButton.tsx +38 -0
  408. package/mobile/src/ui-kit/YandexMap/mockPoints.ts +30 -0
  409. package/mobile/src/ui-kit/YandexMap/renderClusterer.ts +51 -0
  410. package/mobile/src/ui-kit/YandexMap/renderOpenMap.tsx +26 -0
  411. package/mobile/src/ui-kit/YandexMap/renderSearchField.tsx +51 -0
  412. package/mobile/src/ui-kit/YandexMap/renderUserGeolocation.tsx +43 -0
  413. package/mobile/src/ui-kit/YandexMap/useYandexMaps.ts +11 -0
  414. package/package.json +1 -1
  415. package/src/common.css +9 -0
  416. package/src/components/Bonus/Bonus.example.json +1 -6
  417. package/src/components/Bonus/BonusContent.ts +1 -0
  418. package/src/components/Catalog/Catalog.fixture.tsx +3 -10
  419. package/src/components/Catalog/CatalogCard.tsx +2 -2
  420. package/src/components/ExchangeRateTile/CurrencyTable.tsx +8 -6
  421. package/src/components/ExchangeRateTile/CurrentLocation.tsx +8 -15
  422. package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +31 -19
  423. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +14 -13
  424. package/src/components/ExchangeRateTile/callbackCurrencySelect.ts +1 -1
  425. package/src/components/ExchangeRateTile/renderInput.tsx +5 -2
  426. package/src/components/ExchangeRateTile/useFetchExchangeRateData.ts +71 -0
  427. package/src/components/Gallery/Gallery.fixture.tsx +1 -2
  428. package/src/components/Gallery/GalleryCardInner.tsx +2 -2
  429. package/src/components/Gallery/GalleryInner.tsx +2 -2
  430. package/src/components/Header/DropdownMenu.tsx +5 -5
  431. package/src/components/Header/HeaderSubMenu.tsx +36 -20
  432. package/src/components/MobileAppTile/MobileAppTile.fixture.tsx +3 -14
  433. package/src/components/OfficeMap/OfficeMap.tsx +10 -17
  434. package/src/components/OfficeMap/nearbyOffices.ts +8 -0
  435. package/src/components/OfficeMap/renderFunctions.tsx +5 -2
  436. package/src/{hooks → components/OfficeMap}/useOfficeMap.ts +1 -1
  437. package/src/components/PictureText/PictureText.tsx +1 -1
  438. package/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
  439. package/src/components/StepsBlock/StepsBlock.fixture.tsx +2 -0
  440. package/src/components/TariffsTable/EmbeddableCellData.mobile.tsx +7 -11
  441. package/src/components/TariffsTable/EmbeddableCellData.tsx +7 -9
  442. package/src/components/TariffsTable/dataFixture.tsx +2 -3
  443. package/src/icons/FullScreenIcon.svg +8 -0
  444. package/src/icons/IconName.ts +9 -1
  445. package/src/icons/UserGeoLocationIcon.svg +3 -0
  446. package/src/ui-kit/BlockWrapper.tsx +5 -3
  447. package/src/ui-kit/Button/ButtonProps.ts +5 -1
  448. package/src/ui-kit/Button/ButtonSection.tsx +41 -16
  449. package/src/ui-kit/IntersectionObserverTag.tsx +13 -17
  450. package/src/ui-kit/YandexMap/YandexMap.tsx +128 -0
  451. package/src/ui-kit/YandexMap/ZoomButton.tsx +38 -0
  452. package/src/ui-kit/YandexMap/mockPoints.ts +30 -0
  453. package/src/ui-kit/YandexMap/renderClusterer.ts +51 -0
  454. package/src/ui-kit/YandexMap/renderOpenMap.tsx +26 -0
  455. package/src/ui-kit/YandexMap/renderSearchField.tsx +51 -0
  456. package/src/ui-kit/YandexMap/renderUserGeolocation.tsx +43 -0
  457. package/src/ui-kit/YandexMap/useYandexMaps.ts +11 -0
  458. package/bundle/hooks/useExchangeRates.d.ts +0 -2
  459. package/dist/components/OfficeMap/YandexMap.js +0 -30
  460. package/dist/components/OfficeMap/YandexMap.js.map +0 -1
  461. package/dist/hooks/useExchangeRates.d.ts +0 -2
  462. package/dist/hooks/useExchangeRates.js +0 -57
  463. package/dist/hooks/useExchangeRates.js.map +0 -1
  464. package/dist/hooks/useOfficeMap.js.map +0 -1
  465. package/lib/components/OfficeMap/YandexMap.js +0 -28
  466. package/lib/components/OfficeMap/YandexMap.js.map +0 -1
  467. package/lib/hooks/useExchangeRates.d.ts +0 -2
  468. package/lib/hooks/useExchangeRates.js +0 -54
  469. package/lib/hooks/useExchangeRates.js.map +0 -1
  470. package/lib/hooks/useOfficeMap.js.map +0 -1
  471. package/mobile/bundle/hooks/useExchangeRates.d.ts +0 -2
  472. package/mobile/dist/components/OfficeMap/YandexMap.d.ts +0 -5
  473. package/mobile/dist/components/OfficeMap/YandexMap.js +0 -30
  474. package/mobile/dist/components/OfficeMap/YandexMap.js.map +0 -1
  475. package/mobile/dist/hooks/useExchangeRates.d.ts +0 -2
  476. package/mobile/dist/hooks/useExchangeRates.js +0 -57
  477. package/mobile/dist/hooks/useExchangeRates.js.map +0 -1
  478. package/mobile/dist/hooks/useOfficeMap.js.map +0 -1
  479. package/mobile/lib/components/OfficeMap/YandexMap.d.ts +0 -5
  480. package/mobile/lib/components/OfficeMap/YandexMap.js +0 -28
  481. package/mobile/lib/components/OfficeMap/YandexMap.js.map +0 -1
  482. package/mobile/lib/hooks/useExchangeRates.d.ts +0 -2
  483. package/mobile/lib/hooks/useExchangeRates.js +0 -54
  484. package/mobile/lib/hooks/useExchangeRates.js.map +0 -1
  485. package/mobile/lib/hooks/useOfficeMap.js.map +0 -1
  486. package/mobile/src/components/OfficeMap/YandexMap.tsx +0 -41
  487. package/mobile/src/hooks/useExchangeRates.ts +0 -76
  488. package/src/components/OfficeMap/YandexMap.tsx +0 -41
  489. package/src/hooks/useExchangeRates.ts +0 -76
@@ -1,5 +1,5 @@
1
- import { Button } from '../../ui-kit/Button/Button';
2
1
  import type { ButtonContent } from '../../ui-kit/Button/ButtonProps';
2
+ import { renderButton } from '../../ui-kit/Button/ButtonSection';
3
3
  import { Img } from '../../ui-kit/Img/Img';
4
4
  import type { ImageContent } from '../../ui-kit/Img/ImgProps';
5
5
  import { List } from '../../ui-kit/List/List';
@@ -15,16 +15,12 @@ export type EmbeddableCellDataType =
15
15
  const renderButtonsCellData = ({ buttons }: ButtonContent) =>
16
16
  buttons && buttons?.length ? (
17
17
  <div>
18
- {buttons.map(({ rounded, appendLeft, ariaLabel, ...buttonProps }, idx) => (
19
- <Button
20
- className={`mt-3 ${idx > 0 && rounded ? 'ml-2.5' : ''} ${appendLeft ? 'w-12 h-12' : ''}`}
21
- key={String(idx)}
22
- appendLeft={appendLeft}
23
- rounded={rounded}
24
- ariaLabel={ariaLabel}
25
- {...buttonProps}
26
- />
27
- ))}
18
+ {buttons.map(({ rounded, icon, ...buttonProps }, idx) =>
19
+ renderButton({
20
+ button: { rounded, icon, ...buttonProps },
21
+ buttonClassName: `mt-3 ${idx > 0 && rounded ? 'ml-2.5' : ''} ${icon ? 'w-12 h-12' : ''}`,
22
+ }),
23
+ )}
28
24
  </div>
29
25
  ) : null;
30
26
 
@@ -1,8 +1,8 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { EventBus } from '../../EventBus/EventBus';
4
- import { Button } from '../../ui-kit/Button/Button';
5
4
  import type { ButtonContent } from '../../ui-kit/Button/ButtonProps';
5
+ import { renderButton } from '../../ui-kit/Button/ButtonSection';
6
6
  import { Img } from '../../ui-kit/Img/Img';
7
7
  import type { ImageContent } from '../../ui-kit/Img/ImgProps';
8
8
  import { TableInnerButton, TableInnerButtonProps } from '../../ui-kit/InnerTable/InnerTableButton';
@@ -21,14 +21,12 @@ export type EmbeddableCellDataType =
21
21
  const renderButtonsCellData = ({ buttons }: ButtonContent) =>
22
22
  buttons && buttons?.length ? (
23
23
  <div>
24
- {buttons.map(({ rounded, ...buttonProps }, idx) => (
25
- <Button
26
- className={`${idx > 0 && rounded ? 'ml-3' : ''} w-12 h-12`}
27
- key={String(idx)}
28
- rounded={rounded}
29
- {...buttonProps}
30
- />
31
- ))}
24
+ {buttons.map(({ rounded, ...buttonProps }, idx) =>
25
+ renderButton({
26
+ button: { rounded, ...buttonProps },
27
+ buttonClassName: `${idx > 0 && rounded ? 'ml-3' : ''} w-12 h-12`,
28
+ }),
29
+ )}
32
30
  </div>
33
31
  ) : null;
34
32
 
@@ -1,5 +1,4 @@
1
1
  import type { Picture } from '../../model/Picture';
2
- import { Img } from '../../ui-kit/Img/Img';
3
2
  import type {
4
3
  InnerTableBlockDef,
5
4
  LabelDescriptionCellDef,
@@ -94,14 +93,14 @@ export const columns: TariffsTableColumn[] = [
94
93
  tableCellType: 'Buttons',
95
94
  buttons: [
96
95
  {
97
- appendLeft: <Img image={{ icon: 'AppleIcon' }} width="24" height="24" asSVG />,
96
+ icon: { icon: 'AppleIcon' },
98
97
  rounded: true,
99
98
  version: 'secondary',
100
99
  href: '/',
101
100
  target: '_blank',
102
101
  },
103
102
  {
104
- appendLeft: <Img image={{ icon: 'PlayMarketIcon' }} width="24" height="24" asSVG />,
103
+ icon: { icon: 'PlayMarketIcon' },
105
104
  rounded: true,
106
105
  version: 'secondary',
107
106
  href: '/',
@@ -0,0 +1,8 @@
1
+ <svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M14.5 3.33333V2H10.5" stroke="#1C1C1C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3
+ <path d="M14.5 5.99917V5.3125" stroke="#1C1C1C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4
+ <path d="M2.5 12.6641V13.9974H6.5" stroke="#1C1C1C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
5
+ <path d="M2.5 10V10.6867" stroke="#1C1C1C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
6
+ <path d="M14.5 2L9.5 7" stroke="#1C1C1C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
7
+ <path d="M7.5 9L2.5 14" stroke="#1C1C1C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
8
+ </svg>
@@ -15,6 +15,7 @@ export const IconsWithoutInversion = new Set([
15
15
  'DoneIcon',
16
16
  'EarthIcon',
17
17
  'EuroIcon',
18
+ 'FullScreenIcon',
18
19
  'GlassIcon',
19
20
  'InterestGrowthIcon',
20
21
  'JCBIcon',
@@ -32,6 +33,7 @@ export const IconsWithoutInversion = new Set([
32
33
  'SignDocsIcon',
33
34
  'SoundIcon',
34
35
  'UnionPayIcon',
36
+ 'UserGeoLocationIcon',
35
37
  'VisaIcon',
36
38
  'WateringCanIcon',
37
39
  ]);
@@ -76,6 +78,7 @@ export enum IconMap {
76
78
  EmptyWalletChangeIcon = 'EmptyWalletChangeIcon',
77
79
  EmptyWalletIcon = 'EmptyWalletIcon',
78
80
  EuroIcon = 'EuroIcon',
81
+ FullScreenIcon = 'FullScreenIcon',
79
82
  GeolocationIcon = 'GeolocationIcon',
80
83
  GlassIcon = 'GlassIcon',
81
84
  GlobalIcon = 'GlobalIcon',
@@ -119,6 +122,7 @@ export enum IconMap {
119
122
  StrongBoxIcon = 'StrongBoxIcon',
120
123
  TelegramIcon = 'TelegramIcon',
121
124
  UnionPayIcon = 'UnionPayIcon',
125
+ UserGeoLocationIcon = 'UserGeoLocationIcon',
122
126
  UserSquareIcon = 'UserSquareIcon',
123
127
  UserTickIcon = 'UserTickIcon',
124
128
  VisaIcon = 'VisaIcon',
@@ -170,6 +174,7 @@ export enum IconTitleMap {
170
174
  EmptyWalletChangeIcon = 'Пустой кошелёк с возвратом',
171
175
  EmptyWalletIcon = 'Пустой кошелёк',
172
176
  EuroIcon = 'Евро',
177
+ FullScreenIcon = 'FullScreenIcon',
173
178
  GeolocationIcon = 'Геолокация',
174
179
  GlassIcon = 'Зеркало',
175
180
  GlobalIcon = 'Глобус',
@@ -213,6 +218,7 @@ export enum IconTitleMap {
213
218
  StrongBoxIcon = 'Ящик с замочной скважиной',
214
219
  TelegramIcon = 'Лого «Telegram»',
215
220
  UnionPayIcon = 'UnionPay',
221
+ UserGeoLocationIcon = 'UserGeoLocationIcon',
216
222
  UserSquareIcon = 'Пользователь в рамке',
217
223
  UserTickIcon = 'Пользователь',
218
224
  VisaIcon = 'Visa',
@@ -229,7 +235,7 @@ export enum IconTitleMap {
229
235
  * @title Иконка
230
236
  * @enumNames [
231
237
  * "",
232
- * 'Деньги', 'Самолёт', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка', 'Стрелка вверх', 'Банкомат', 'Банк', 'Здание с деревом', 'Бургер', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Машина2', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Кинотеатр', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Скачать документ', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документ с текстом', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка (белая)', 'Диаграмма роста', 'Скидка', 'JCB', 'Logo', 'Лупа', 'Маркер карты', 'Маркер карты РСХБ', 'MasterCard', 'Лого Метро', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Купюры', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'Персональная карта', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Ящик с замочной скважиной', 'Лого «Telegram»', 'UnionPay', 'Пользователь в рамке', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт'
238
+ * 'Деньги', 'Самолёт', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка', 'Стрелка вверх', 'Банкомат', 'Банк', 'Здание с деревом', 'Бургер', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Машина2', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Кинотеатр', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Скачать документ', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документ с текстом', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'FullScreenIcon', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка (белая)', 'Диаграмма роста', 'Скидка', 'JCB', 'Logo', 'Лупа', 'Маркер карты', 'Маркер карты РСХБ', 'MasterCard', 'Лого Метро', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Купюры', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'Персональная карта', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Ящик с замочной скважиной', 'Лого «Telegram»', 'UnionPay', 'UserGeoLocationIcon', 'Пользователь в рамке', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт'
233
239
  * ]
234
240
  */
235
241
  export type IconName =
@@ -273,6 +279,7 @@ export type IconName =
273
279
  | 'EmptyWalletChangeIcon'
274
280
  | 'EmptyWalletIcon'
275
281
  | 'EuroIcon'
282
+ | 'FullScreenIcon'
276
283
  | 'GeolocationIcon'
277
284
  | 'GlassIcon'
278
285
  | 'GlobalIcon'
@@ -316,6 +323,7 @@ export type IconName =
316
323
  | 'StrongBoxIcon'
317
324
  | 'TelegramIcon'
318
325
  | 'UnionPayIcon'
326
+ | 'UserGeoLocationIcon'
319
327
  | 'UserSquareIcon'
320
328
  | 'UserTickIcon'
321
329
  | 'VisaIcon'
@@ -0,0 +1,3 @@
1
+ <svg width="21" height="16" viewBox="0 0 21 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M10.8314 14.9996H10.5631C9.83003 14.9139 9.24781 14.4212 9.12944 13.7863L8.45478 9.69953C8.39086 9.30917 8.522 8.91367 8.81511 8.61284L10.9081 6.46613C11.1812 6.18446 11.6652 6.14864 11.9891 6.38613C12.313 6.62362 12.3542 7.04448 12.0811 7.32615L9.9881 9.47286L10.6474 13.5729C10.6615 13.6299 10.7184 13.6712 10.7854 13.6729C10.8794 13.6883 10.9726 13.6436 11.0077 13.5663L17.3327 2.55938C17.367 2.50242 17.3568 2.43287 17.3071 2.38521C17.2575 2.33755 17.1789 2.32191 17.1103 2.34605L3.77052 6.73947C3.68052 6.76366 3.62065 6.83764 3.62485 6.91947C3.62336 6.98384 3.67498 7.03995 3.74752 7.05281L6.53815 7.61282C6.8052 7.66641 7.01909 7.83982 7.09924 8.06773C7.1794 8.29564 7.11364 8.54343 6.92674 8.71775C6.73985 8.89207 6.4602 8.96644 6.19315 8.91285L3.35653 8.3395C2.63532 8.17249 2.12473 7.61477 2.09921 6.96614C2.0674 6.31238 2.52658 5.71612 3.23386 5.49278L16.5737 1.09935C17.234 0.878256 17.9827 1.03374 18.4569 1.49044C18.9311 1.94713 19.0328 2.61066 18.7126 3.1594L12.4107 14.173C12.1119 14.6905 11.4972 15.0123 10.8314 14.9996Z" fill="#1C1C1C" stroke="#1C1C1C" stroke-width="0.3"/>
3
+ </svg>
@@ -16,6 +16,10 @@ const THRESHOLD_ARRAY_LENGTH = 18;
16
16
  const THRESHOLD_ARRAY_START_VALUE =
17
17
  (THRESHOLD_ACCURACY - THRESHOLD_ARRAY_LENGTH) / THRESHOLD_ACCURACY;
18
18
 
19
+ const OBSERVER_OPTIONS = {
20
+ threshold: new Array(THRESHOLD_ARRAY_LENGTH).fill(0).map(getIntersectionThreshold),
21
+ };
22
+
19
23
  export const BlockWrapper = JSX<BlockWrapperProps>(
20
24
  ({ anchor, className, children, tag = 'section', labels }) => {
21
25
  const Tag: any = tag;
@@ -60,9 +64,7 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
60
64
  tag={tag}
61
65
  className={className}
62
66
  observerCallback={observerCallback}
63
- observerOptions={{
64
- threshold: new Array(THRESHOLD_ARRAY_LENGTH).fill(0).map(getIntersectionThreshold),
65
- }}
67
+ observerOptions={OBSERVER_OPTIONS}
66
68
  anchor={anchor}
67
69
  >
68
70
  {children}
@@ -1,6 +1,6 @@
1
1
  import type { ButtonVersion } from '../../model/ButtonVersion';
2
2
  import type { LinkProps } from '../../model/LinkProps';
3
- import type { IconProps } from '../../model/Picture';
3
+ import type { IconProps, Picture } from '../../model/Picture';
4
4
  import type { VNode } from '../../model/VNode';
5
5
 
6
6
  /**
@@ -29,6 +29,10 @@ export interface ButtonProps extends ButtonAdditionalProps, LinkProps {
29
29
  }
30
30
 
31
31
  export interface ButtonWithIconProps extends ButtonProps {
32
+ /** @title Иконка слева */
33
+ icon?: Picture;
34
+ /** @title Иконка справа */
35
+ iconRight?: Picture;
32
36
  /** @title Верхний текст */
33
37
  aboveText?: string;
34
38
  /** @hidden */
@@ -1,16 +1,23 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { HandlerDecorator, Router } from '../../components/ContentPage/ContentPageContext';
3
2
  import { useLink } from '../../hooks/useLink';
3
+ import type { IconVersion } from '../../model/IconVersion';
4
4
  import type { UniBlockProps } from '../../model/JSXBlock';
5
+ import type { Picture } from '../../model/Picture';
6
+ import { Img } from '../Img/Img';
5
7
  import { Button } from './Button';
6
8
  import type { ButtonContent, ButtonWithIconProps } from './ButtonProps';
7
9
 
8
10
  export interface ButtonSectionProps extends ButtonContent, UniBlockProps {}
9
11
 
10
- interface ButtonSectionItemProps {
12
+ interface RenderButtonProps {
11
13
  button: ButtonWithIconProps;
12
- router: Router;
13
- handlerDecorator?: HandlerDecorator;
14
+ buttonClassName?: string;
15
+ index?: number;
16
+ }
17
+
18
+ interface RenderButtonIconProps {
19
+ icon?: Picture;
20
+ iconVersion?: IconVersion;
14
21
  }
15
22
 
16
23
  export const ButtonSection = JSX<ButtonSectionProps>(({ context, className = '', buttons }) => {
@@ -19,20 +26,38 @@ export const ButtonSection = JSX<ButtonSectionProps>(({ context, className = '',
19
26
 
20
27
  return buttons && buttons?.length ? (
21
28
  <div className={className}>
22
- {buttons.map((button, index) => (
23
- <ButtonSectionItem
24
- button={button}
25
- handlerDecorator={handlerDecorator}
26
- key={String(index)}
27
- router={router}
28
- />
29
- ))}
29
+ {buttons.map((button, index) =>
30
+ renderButton({ button: useLink({ router, handlerDecorator }, button), index }),
31
+ )}
30
32
  </div>
31
33
  ) : null;
32
34
  });
33
35
 
34
- const ButtonSectionItem = JSX<ButtonSectionItemProps>(({ router, handlerDecorator, button }) => {
35
- const buttonProps = useLink({ router, handlerDecorator }, button);
36
+ export function renderButton({ button, buttonClassName, index }: RenderButtonProps) {
37
+ const { icon, iconRight, version, ...rest } = button;
36
38
 
37
- return <Button {...button} {...buttonProps} />;
38
- });
39
+ const iconVersion = version === 'secondary' ? 'normal' : 'white';
40
+
41
+ const leftIcon = renderButtonIcon({ icon, iconVersion });
42
+ const rightIcon = renderButtonIcon({ icon: iconRight, iconVersion });
43
+
44
+ return (
45
+ <Button
46
+ className={buttonClassName}
47
+ appendLeft={leftIcon}
48
+ appendRight={rightIcon}
49
+ version={version}
50
+ key={index ? String(index) : ''}
51
+ {...rest}
52
+ />
53
+ );
54
+ }
55
+
56
+ const renderButtonIcon = ({ icon, iconVersion }: RenderButtonIconProps) => {
57
+ if (!icon?.icon && !icon?.src) {
58
+ return null;
59
+ }
60
+ const iconWidth = icon?.size?.width ? `${icon.size.width}` : '24';
61
+
62
+ return <Img image={{ ...icon, iconVersion: iconVersion }} width={iconWidth} height="24" asSVG />;
63
+ };
@@ -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
+ };