@redneckz/wildless-cms-uni-blocks 0.6.22 → 0.6.23

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 (324) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +132 -126
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/Calculator/CalculatorContent.d.ts +4 -50
  5. package/bundle/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
  6. package/bundle/components/ContentPage/useContentPageData.d.ts +3 -0
  7. package/bundle/components/Headline/HeadlineContent.d.ts +1 -0
  8. package/bundle/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
  9. package/bundle/components/Tile/TileContent.d.ts +2 -1
  10. package/bundle/ui-kit/IntersectionObserverTag.d.ts +1 -0
  11. package/bundle/ui-kit/Tags/Tags.d.ts +6 -0
  12. package/bundle/ui-kit/Tags/TagsContent.d.ts +6 -0
  13. package/dist/components/Calculator/CalculatorContent.d.ts +4 -50
  14. package/dist/components/Catalog/Catalog.js +1 -1
  15. package/dist/components/Catalog/Catalog.js.map +1 -1
  16. package/dist/components/Catalog/CatalogCard.js +1 -1
  17. package/dist/components/ContactsBlock/ContactsBlock.js +2 -2
  18. package/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
  19. package/dist/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
  20. package/dist/components/ContentPage/ContentPage.page.json +35 -0
  21. package/dist/components/ContentPage/useContentPageData.d.ts +3 -0
  22. package/dist/components/ContentPage/useContentPageData.js +67 -0
  23. package/dist/components/ContentPage/useContentPageData.js.map +1 -0
  24. package/dist/components/ErrorBlock/ErrorBlock.js +1 -1
  25. package/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
  26. package/dist/components/ExchangeRateTile/CurrentLocation.js +1 -1
  27. package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  28. package/dist/components/Headline/HeadlineContent.d.ts +1 -0
  29. package/dist/components/InvestmentInfo/InvestmentInfo.js +4 -4
  30. package/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  31. package/dist/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
  32. package/dist/components/MobileAppTile/MobileAppTile.js +1 -1
  33. package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  34. package/dist/components/OfficeMap/OfficeMap.js +3 -3
  35. package/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  36. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  37. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  38. package/dist/components/Tabs/renderLinkTab.js +1 -1
  39. package/dist/components/Tabs/renderLinkTab.js.map +1 -1
  40. package/dist/components/Tile/Tile.js +3 -2
  41. package/dist/components/Tile/Tile.js.map +1 -1
  42. package/dist/components/Tile/TileContent.d.ts +2 -1
  43. package/dist/index.js +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/ui-kit/BlockWrapper.js +2 -2
  46. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  47. package/dist/ui-kit/IntersectionObserverTag.d.ts +1 -0
  48. package/dist/ui-kit/IntersectionObserverTag.js +2 -2
  49. package/dist/ui-kit/IntersectionObserverTag.js.map +1 -1
  50. package/dist/ui-kit/Tags/Tags.d.ts +6 -0
  51. package/dist/ui-kit/Tags/Tags.js +10 -0
  52. package/dist/ui-kit/Tags/Tags.js.map +1 -0
  53. package/dist/ui-kit/Tags/TagsContent.d.ts +6 -0
  54. package/dist/ui-kit/Tags/TagsContent.js +2 -0
  55. package/dist/ui-kit/Tags/TagsContent.js.map +1 -0
  56. package/lib/common.css +1 -1
  57. package/lib/components/Calculator/CalculatorContent.d.ts +4 -50
  58. package/lib/components/Catalog/Catalog.js +1 -1
  59. package/lib/components/Catalog/Catalog.js.map +1 -1
  60. package/lib/components/Catalog/CatalogCard.js +1 -1
  61. package/lib/components/ContactsBlock/ContactsBlock.fixture.d.ts +2 -1
  62. package/lib/components/ContactsBlock/ContactsBlock.js +2 -2
  63. package/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
  64. package/lib/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
  65. package/lib/components/ContentPage/ContentPage.fixture.d.ts +2 -2
  66. package/lib/components/ContentPage/ContentPage.fixture.mobile.d.ts +1 -1
  67. package/lib/components/ContentPage/ContentPage.page.json +35 -0
  68. package/lib/components/ContentPage/useContentPageData.d.ts +3 -0
  69. package/lib/components/ContentPage/useContentPageData.js +38 -0
  70. package/lib/components/ContentPage/useContentPageData.js.map +1 -0
  71. package/lib/components/ErrorBlock/ErrorBlock.js +1 -1
  72. package/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
  73. package/lib/components/ExchangeRateTile/CurrentLocation.js +1 -1
  74. package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  75. package/lib/components/Headline/HeadlineContent.d.ts +1 -0
  76. package/lib/components/InvestmentInfo/InvestmentInfo.js +4 -4
  77. package/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  78. package/lib/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
  79. package/lib/components/MobileAppTile/MobileAppTile.js +1 -1
  80. package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  81. package/lib/components/OfficeMap/OfficeMap.js +3 -3
  82. package/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  83. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  84. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  85. package/lib/components/Tabs/renderLinkTab.js +1 -1
  86. package/lib/components/Tabs/renderLinkTab.js.map +1 -1
  87. package/lib/components/Tile/Tile.fixture.d.ts +1 -0
  88. package/lib/components/Tile/Tile.js +3 -2
  89. package/lib/components/Tile/Tile.js.map +1 -1
  90. package/lib/components/Tile/TileContent.d.ts +2 -1
  91. package/lib/index.js +1 -1
  92. package/lib/index.js.map +1 -1
  93. package/lib/ui-kit/BlockWrapper.js +2 -2
  94. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  95. package/lib/ui-kit/IntersectionObserverTag.d.ts +1 -0
  96. package/lib/ui-kit/IntersectionObserverTag.js +2 -2
  97. package/lib/ui-kit/IntersectionObserverTag.js.map +1 -1
  98. package/lib/ui-kit/Tags/Tags.d.ts +6 -0
  99. package/lib/ui-kit/Tags/Tags.fixture.d.ts +3 -0
  100. package/lib/ui-kit/Tags/Tags.js +8 -0
  101. package/lib/ui-kit/Tags/Tags.js.map +1 -0
  102. package/lib/ui-kit/Tags/TagsContent.d.ts +6 -0
  103. package/lib/ui-kit/Tags/TagsContent.js +2 -0
  104. package/lib/ui-kit/Tags/TagsContent.js.map +1 -0
  105. package/mobile/bundle/bundle.umd.js +5 -5
  106. package/mobile/bundle/bundle.umd.min.js +1 -1
  107. package/mobile/bundle/components/Calculator/CalculatorContent.d.ts +4 -50
  108. package/mobile/bundle/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
  109. package/mobile/bundle/components/ContentPage/useContentPageData.d.ts +3 -0
  110. package/mobile/bundle/components/Headline/HeadlineContent.d.ts +1 -0
  111. package/mobile/bundle/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
  112. package/mobile/bundle/components/Tile/TileContent.d.ts +2 -1
  113. package/mobile/bundle/ui-kit/IntersectionObserverTag.d.ts +1 -0
  114. package/mobile/bundle/ui-kit/Tags/Tags.d.ts +6 -0
  115. package/mobile/bundle/ui-kit/Tags/TagsContent.d.ts +6 -0
  116. package/mobile/dist/components/Calculator/CalculatorContent.d.ts +4 -50
  117. package/mobile/dist/components/Catalog/Catalog.js +1 -1
  118. package/mobile/dist/components/Catalog/Catalog.js.map +1 -1
  119. package/mobile/dist/components/Catalog/CatalogCard.js +1 -1
  120. package/mobile/dist/components/ContactsBlock/ContactsBlock.js +2 -2
  121. package/mobile/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
  122. package/mobile/dist/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
  123. package/mobile/dist/components/ContentPage/ContentPage.page.json +35 -0
  124. package/mobile/dist/components/ContentPage/useContentPageData.d.ts +3 -0
  125. package/mobile/dist/components/ContentPage/useContentPageData.js +67 -0
  126. package/mobile/dist/components/ContentPage/useContentPageData.js.map +1 -0
  127. package/mobile/dist/components/ErrorBlock/ErrorBlock.js +1 -1
  128. package/mobile/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
  129. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +1 -1
  130. package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  131. package/mobile/dist/components/Headline/HeadlineContent.d.ts +1 -0
  132. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js +4 -4
  133. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  134. package/mobile/dist/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
  135. package/mobile/dist/components/OfficeMap/OfficeMap.js +3 -3
  136. package/mobile/dist/components/OfficeMap/OfficeMap.js.map +1 -1
  137. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  138. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  139. package/mobile/dist/components/Tabs/renderLinkTab.js +1 -1
  140. package/mobile/dist/components/Tabs/renderLinkTab.js.map +1 -1
  141. package/mobile/dist/components/Tile/Tile.js +3 -2
  142. package/mobile/dist/components/Tile/Tile.js.map +1 -1
  143. package/mobile/dist/components/Tile/TileContent.d.ts +2 -1
  144. package/mobile/dist/index.js +1 -1
  145. package/mobile/dist/index.js.map +1 -1
  146. package/mobile/dist/ui-kit/BlockWrapper.js +2 -2
  147. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  148. package/mobile/dist/ui-kit/IntersectionObserverTag.d.ts +1 -0
  149. package/mobile/dist/ui-kit/IntersectionObserverTag.js +2 -2
  150. package/mobile/dist/ui-kit/IntersectionObserverTag.js.map +1 -1
  151. package/mobile/dist/ui-kit/Tags/Tags.d.ts +6 -0
  152. package/mobile/dist/ui-kit/Tags/Tags.js +10 -0
  153. package/mobile/dist/ui-kit/Tags/Tags.js.map +1 -0
  154. package/mobile/dist/ui-kit/Tags/TagsContent.d.ts +6 -0
  155. package/mobile/dist/ui-kit/Tags/TagsContent.js +2 -0
  156. package/mobile/dist/ui-kit/Tags/TagsContent.js.map +1 -0
  157. package/mobile/lib/components/Calculator/CalculatorContent.d.ts +4 -50
  158. package/mobile/lib/components/Catalog/Catalog.js +1 -1
  159. package/mobile/lib/components/Catalog/Catalog.js.map +1 -1
  160. package/mobile/lib/components/Catalog/CatalogCard.js +1 -1
  161. package/mobile/lib/components/ContactsBlock/ContactsBlock.js +2 -2
  162. package/mobile/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
  163. package/mobile/lib/components/ContactsBlock/ContactsBlockContent.d.ts +2 -1
  164. package/mobile/lib/components/ContentPage/ContentPage.page.json +35 -0
  165. package/mobile/lib/components/ContentPage/useContentPageData.d.ts +3 -0
  166. package/mobile/lib/components/ContentPage/useContentPageData.js +38 -0
  167. package/mobile/lib/components/ContentPage/useContentPageData.js.map +1 -0
  168. package/mobile/lib/components/ErrorBlock/ErrorBlock.js +1 -1
  169. package/mobile/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
  170. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +1 -1
  171. package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
  172. package/mobile/lib/components/Headline/HeadlineContent.d.ts +1 -0
  173. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js +4 -4
  174. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  175. package/mobile/lib/components/InvestmentInfo/InvestmentInfoContent.d.ts +1 -2
  176. package/mobile/lib/components/OfficeMap/OfficeMap.js +3 -3
  177. package/mobile/lib/components/OfficeMap/OfficeMap.js.map +1 -1
  178. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +1 -1
  179. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  180. package/mobile/lib/components/Tabs/renderLinkTab.js +1 -1
  181. package/mobile/lib/components/Tabs/renderLinkTab.js.map +1 -1
  182. package/mobile/lib/components/Tile/Tile.js +3 -2
  183. package/mobile/lib/components/Tile/Tile.js.map +1 -1
  184. package/mobile/lib/components/Tile/TileContent.d.ts +2 -1
  185. package/mobile/lib/index.js +1 -1
  186. package/mobile/lib/index.js.map +1 -1
  187. package/mobile/lib/ui-kit/BlockWrapper.js +2 -2
  188. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  189. package/mobile/lib/ui-kit/IntersectionObserverTag.d.ts +1 -0
  190. package/mobile/lib/ui-kit/IntersectionObserverTag.js +2 -2
  191. package/mobile/lib/ui-kit/IntersectionObserverTag.js.map +1 -1
  192. package/mobile/lib/ui-kit/Tags/Tags.d.ts +6 -0
  193. package/mobile/lib/ui-kit/Tags/Tags.js +8 -0
  194. package/mobile/lib/ui-kit/Tags/Tags.js.map +1 -0
  195. package/mobile/lib/ui-kit/Tags/TagsContent.d.ts +6 -0
  196. package/mobile/lib/ui-kit/Tags/TagsContent.js +2 -0
  197. package/mobile/lib/ui-kit/Tags/TagsContent.js.map +1 -0
  198. package/mobile/src/components/Accordion/Accordion.example.json +52 -2
  199. package/mobile/src/components/AccordionItem/AccordionItem.example.json +23 -5
  200. package/mobile/src/components/BenefitsBlock/BenefitsBlock.example.json +32 -30
  201. package/mobile/src/components/Bonus/Bonus.example.json +10 -8
  202. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +94 -91
  203. package/mobile/src/components/Calculator/Calculator.example.json +21 -19
  204. package/mobile/src/components/Calculator/CalculatorContent.ts +2 -53
  205. package/mobile/src/components/CardTransfer/CardTransfer.example.json +10 -8
  206. package/mobile/src/components/Catalog/Catalog.example.json +51 -49
  207. package/mobile/src/components/Catalog/Catalog.tsx +1 -1
  208. package/mobile/src/components/Catalog/CatalogCard.tsx +1 -1
  209. package/mobile/src/components/ComparisonTable/ComparisonTable.example.json +79 -77
  210. package/mobile/src/components/ContactsBlock/ContactsBlock.example.json +45 -43
  211. package/mobile/src/components/ContactsBlock/ContactsBlock.tsx +2 -2
  212. package/mobile/src/components/ContactsBlock/ContactsBlockContent.ts +2 -1
  213. package/mobile/src/components/ContentPage/ContentPage.page.json +3 -2318
  214. package/mobile/src/components/ContentPage/useContentPageData.ts +49 -0
  215. package/mobile/src/components/ErrorBlock/ErrorBlock.example.json +12 -10
  216. package/mobile/src/components/ErrorBlock/ErrorBlock.tsx +1 -4
  217. package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +1 -1
  218. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.example.json +7 -5
  219. package/mobile/src/components/Gallery/Gallery.example.json +62 -60
  220. package/mobile/src/components/GracePeriod/GracePeriod.example.json +61 -74
  221. package/mobile/src/components/Header/Header.example.json +6 -4
  222. package/mobile/src/components/Headline/Headline.example.json +15 -13
  223. package/mobile/src/components/Headline/HeadlineContent.ts +1 -0
  224. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlock.example.json +76 -74
  225. package/mobile/src/components/InvestmentInfo/InvestmentInfo.example.json +48 -45
  226. package/mobile/src/components/InvestmentInfo/InvestmentInfo.tsx +14 -10
  227. package/mobile/src/components/InvestmentInfo/InvestmentInfo.ui.json +5 -12
  228. package/mobile/src/components/InvestmentInfo/InvestmentInfoContent.ts +1 -2
  229. package/mobile/src/components/LinkDocs/LinkDocs.example.json +31 -29
  230. package/mobile/src/components/LinkList/LinkList.example.json +21 -19
  231. package/mobile/src/components/MiniGallery/MiniGallery.example.json +51 -49
  232. package/mobile/src/components/MobileAppTile/MobileAppTile.example.json +33 -30
  233. package/mobile/src/components/OfficeMap/OfficeMap.tsx +3 -3
  234. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.example.json +47 -45
  235. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +3 -1
  236. package/mobile/src/components/OtherProducts/OtherProducts.example.json +28 -1
  237. package/mobile/src/components/OtherProductsItem/OtherProductsItem.example.json +20 -2
  238. package/mobile/src/components/PictureText/PictureText.example.json +28 -26
  239. package/mobile/src/components/ProductBlock/ProductBlock.example.json +37 -35
  240. package/mobile/src/components/ProductGallery/ProductGallery.example.json +66 -64
  241. package/mobile/src/components/ProductTile/ProductTile.example.json +31 -29
  242. package/mobile/src/components/PromoTile/PromoTile.example.json +14 -12
  243. package/mobile/src/components/Recommendation/Recommendation.example.json +52 -50
  244. package/mobile/src/components/StepsBlock/StepsBlock.example.json +54 -52
  245. package/mobile/src/components/Tabs/Tabs.example.json +20 -18
  246. package/mobile/src/components/Tabs/renderLinkTab.tsx +1 -0
  247. package/mobile/src/components/TariffsTable/TariffsTable.example.json +91 -89
  248. package/mobile/src/components/TextBlock/TextBlock.example.json +14 -12
  249. package/mobile/src/components/Tile/Tile.example.json +21 -19
  250. package/mobile/src/components/Tile/Tile.tsx +3 -0
  251. package/mobile/src/components/Tile/TileContent.ts +3 -1
  252. package/mobile/src/index.ts +1 -1
  253. package/mobile/src/ui-kit/BlockWrapper.tsx +5 -2
  254. package/mobile/src/ui-kit/IntersectionObserverTag.tsx +3 -1
  255. package/mobile/src/ui-kit/Tags/Tags.tsx +26 -0
  256. package/mobile/src/ui-kit/Tags/TagsContent.ts +6 -0
  257. package/package.json +22 -2
  258. package/src/components/Accordion/Accordion.example.json +52 -2
  259. package/src/components/AccordionItem/AccordionItem.example.json +23 -5
  260. package/src/components/BenefitsBlock/BenefitsBlock.example.json +32 -30
  261. package/src/components/Bonus/Bonus.example.json +10 -8
  262. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +94 -91
  263. package/src/components/Calculator/Calculator.example.json +21 -19
  264. package/src/components/Calculator/CalculatorContent.ts +2 -53
  265. package/src/components/CardTransfer/CardTransfer.example.json +10 -8
  266. package/src/components/Catalog/Catalog.example.json +51 -49
  267. package/src/components/Catalog/Catalog.tsx +1 -1
  268. package/src/components/Catalog/CatalogCard.tsx +1 -1
  269. package/src/components/ComparisonTable/ComparisonTable.example.json +79 -77
  270. package/src/components/ContactsBlock/ContactsBlock.example.json +45 -43
  271. package/src/components/ContactsBlock/ContactsBlock.fixture.tsx +46 -39
  272. package/src/components/ContactsBlock/ContactsBlock.tsx +2 -2
  273. package/src/components/ContactsBlock/ContactsBlockContent.ts +2 -1
  274. package/src/components/ContentPage/ContentPage.fixture.mobile.tsx +13 -10
  275. package/src/components/ContentPage/ContentPage.fixture.tsx +24 -16
  276. package/src/components/ContentPage/ContentPage.page.json +3 -2318
  277. package/src/components/ContentPage/useContentPageData.ts +49 -0
  278. package/src/components/ErrorBlock/ErrorBlock.example.json +12 -10
  279. package/src/components/ErrorBlock/ErrorBlock.tsx +1 -4
  280. package/src/components/ExchangeRateTile/CurrentLocation.tsx +1 -1
  281. package/src/components/ExchangeRateTile/ExchangeRateTile.example.json +7 -5
  282. package/src/components/Gallery/Gallery.example.json +62 -60
  283. package/src/components/GracePeriod/GracePeriod.example.json +61 -74
  284. package/src/components/Header/Header.example.json +6 -4
  285. package/src/components/Headline/Headline.example.json +15 -13
  286. package/src/components/Headline/HeadlineContent.ts +1 -0
  287. package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.example.json +76 -74
  288. package/src/components/InvestmentInfo/InvestmentInfo.example.json +48 -45
  289. package/src/components/InvestmentInfo/InvestmentInfo.fixture.tsx +3 -4
  290. package/src/components/InvestmentInfo/InvestmentInfo.tsx +14 -10
  291. package/src/components/InvestmentInfo/InvestmentInfo.ui.json +5 -12
  292. package/src/components/InvestmentInfo/InvestmentInfoContent.ts +1 -2
  293. package/src/components/LinkDocs/LinkDocs.example.json +31 -29
  294. package/src/components/LinkList/LinkList.example.json +21 -19
  295. package/src/components/MiniGallery/MiniGallery.example.json +51 -49
  296. package/src/components/MobileAppTile/MobileAppTile.example.json +33 -30
  297. package/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
  298. package/src/components/OfficeMap/OfficeMap.tsx +3 -3
  299. package/src/components/OfficeServicesBlock/OfficeServicesBlock.example.json +47 -45
  300. package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +3 -1
  301. package/src/components/OtherProducts/OtherProducts.example.json +28 -1
  302. package/src/components/OtherProductsItem/OtherProductsItem.example.json +20 -2
  303. package/src/components/PictureText/PictureText.example.json +28 -26
  304. package/src/components/ProductBlock/ProductBlock.example.json +37 -35
  305. package/src/components/ProductGallery/ProductGallery.example.json +66 -64
  306. package/src/components/ProductTile/ProductTile.example.json +31 -29
  307. package/src/components/PromoTile/PromoTile.example.json +14 -12
  308. package/src/components/Recommendation/Recommendation.example.json +52 -50
  309. package/src/components/StepsBlock/StepsBlock.example.json +54 -52
  310. package/src/components/Tabs/Tabs.example.json +20 -18
  311. package/src/components/Tabs/renderLinkTab.tsx +1 -0
  312. package/src/components/TariffsTable/TariffsTable.example.json +91 -89
  313. package/src/components/TextBlock/TextBlock.example.json +14 -12
  314. package/src/components/Tile/Tile.example.json +21 -19
  315. package/src/components/Tile/Tile.fixture.tsx +7 -0
  316. package/src/components/Tile/Tile.tsx +3 -0
  317. package/src/components/Tile/TileContent.ts +3 -1
  318. package/src/index.ts +1 -1
  319. package/src/ui-kit/BlockWrapper.tsx +5 -2
  320. package/src/ui-kit/IntersectionObserverTag.tsx +3 -1
  321. package/src/ui-kit/Tags/Tags.fixture.tsx +9 -0
  322. package/src/ui-kit/Tags/Tags.tsx +26 -0
  323. package/src/ui-kit/Tags/TagsContent.ts +6 -0
  324. package/tailwind.config.cjs +2 -1
@@ -279,7 +279,7 @@
279
279
  };
280
280
 
281
281
  const IntersectionObserverTag = JSX((props) => {
282
- const { tag = 'section', observerCallback, observerOptions, className = '', anchor = null, children, } = props;
282
+ const { tag = 'section', observerCallback, observerOptions, className = '', anchor = null, children, role, } = props;
283
283
  const tagRef = useRef(null);
284
284
  useEffect(() => {
285
285
  if (!tagRef.current) {
@@ -292,7 +292,7 @@
292
292
  };
293
293
  }, [observerCallback, observerOptions]);
294
294
  const Tag = tag;
295
- return (jsx(Tag, { ref: tagRef, className: className, id: anchor, children: children }));
295
+ return (jsx(Tag, { ref: tagRef, className: className, id: anchor, role: role, children: children }));
296
296
  });
297
297
 
298
298
  const THRESHOLD_ACCURACY = 100; // Decimals number (100 is for two decimals number, 0.**)
@@ -301,7 +301,7 @@
301
301
  const OBSERVER_OPTIONS = {
302
302
  threshold: new Array(THRESHOLD_ARRAY_LENGTH).fill(0).map(getIntersectionThreshold),
303
303
  };
304
- const BlockWrapper = JSX(({ anchor, className, children, tag = 'section', labels }) => {
304
+ const BlockWrapper = JSX(({ anchor, className, children, tag = 'section', labels, role }) => {
305
305
  const Tag = tag;
306
306
  const [shouldRenderBlock, setShouldRenderBlock] = useState(true);
307
307
  const anchorClickRef = useRef({});
@@ -329,7 +329,7 @@
329
329
  if (!shouldRenderBlock) {
330
330
  return null;
331
331
  }
332
- return anchor ? (jsx(IntersectionObserverTag, { tag: tag, className: className, observerCallback: observerCallback, observerOptions: OBSERVER_OPTIONS, anchor: anchor, children: children })) : (jsx(Tag, { className: className, children: children }));
332
+ return anchor ? (jsx(IntersectionObserverTag, { tag: tag, className: className, observerCallback: observerCallback, observerOptions: OBSERVER_OPTIONS, anchor: anchor, role: role, children: children })) : (jsx(Tag, { className: className, role: role, children: children }));
333
333
  });
334
334
  function getIntersectionThreshold(_, i) {
335
335
  const value = (i + 1) / THRESHOLD_ACCURACY + THRESHOLD_ARRAY_START_VALUE;
@@ -1253,7 +1253,7 @@
1253
1253
  white: 'bg-white',
1254
1254
  };
1255
1255
  const CatalogCard = JSX(({ className = '', title, description, image, price, button, colors }) => {
1256
- return (jsxs("section", { className: `border border-solid box-border border-main-stroke p-[30px] min-w-[402px] flex flex-col justify-left ${className}`, role: "listitem", children: [image?.src ? jsx(ImgInner, { className: "mb-5 flex justify-center", image: image }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mb-1.5", title: title })) : null, description ? jsx("div", { className: "text-m-light text-left mb-4", children: description }) : null, colors?.length ? (jsxs("div", { className: "flex mb-4 text-m-light text-secondary-text", children: [jsx("div", { className: "mr-1.5", children: "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430: " }), colors.map(renderColorOption)] })) : null, price ? jsxs("div", { className: "text-h3 text-left", children: [price, "\u00A0\u20BD"] }) : null, button ? renderButton({ button, buttonClassName: 'mt-5 w-full' }) : null] }));
1256
+ return (jsxs("section", { className: `border border-solid box-border border-main-stroke p-[30px] min-w-[402px] flex flex-col justify-left ${className}`, role: "listitem", children: [image?.src ? jsx(ImgInner, { className: "mb-5 flex justify-center", image: image }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mb-1.5", title: title })) : null, description ? jsx("div", { className: "text-m-light text-left mb-4", children: description }) : null, colors?.length ? (jsxs("div", { className: "flex mb-4 text-s-light text-secondary-text", children: [jsx("div", { className: "mr-1.5", children: "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430: " }), colors.map(renderColorOption)] })) : null, price ? jsxs("div", { className: "text-h3 text-left", children: [price, "\u00A0\u20BD"] }) : null, button ? renderButton({ button, buttonClassName: 'mt-5 w-full' }) : null] }));
1257
1257
  });
1258
1258
  const renderColorOption = (color, i) => (jsx("span", { className: `w-6 h-6 ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap$1[color]}` }, String(i)));
1259
1259
 
@@ -1262,7 +1262,7 @@
1262
1262
  const CARD_SHIFT$1 = 430;
1263
1263
  const Catalog = JSX(({ context, cards = [], className = '', title, description, ...rest }) => {
1264
1264
  const [activeCardIndex, setActiveCardIndex] = useState(0);
1265
- return (jsxs(BlockWrapper, { context: context, className: `bg-white relative font-sans p-12 overflow-hidden text-center ${className}`, ...rest, children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center" }), jsx("div", { className: "flex duration-1000 gap-3.5 mt-8", style: { transform: `translateX(-${activeCardIndex * CARD_SHIFT$1}px)` }, role: "list", children: cards?.length ? cards.map(renderCatalogCard(context)) : null }), renderNavButtons$1({
1265
+ return (jsxs(BlockWrapper, { context: context, className: `bg-white relative font-sans p-[50px] overflow-hidden text-center ${className}`, ...rest, children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", align: "center" }), jsx("div", { className: "flex duration-1000 gap-3.5 mt-8", style: { transform: `translateX(-${activeCardIndex * CARD_SHIFT$1}px)` }, role: "list", children: cards?.length ? cards.map(renderCatalogCard(context)) : null }), renderNavButtons$1({
1266
1266
  cardsCount: cards.length,
1267
1267
  activeCardIndex,
1268
1268
  setActiveCardIndex,
@@ -1378,8 +1378,8 @@
1378
1378
  primary: 'bg-white',
1379
1379
  secondary: 'bg-primary-main text-white',
1380
1380
  };
1381
- const ContactsBlock = JSX(({ className = '', contacts, context, info, contactsBlockVersion = 'secondary', ...rest }) => {
1382
- return (jsxs(BlockWrapper, { context: context, className: `${contactsBlockStyleMap[contactsBlockVersion]} flex p-12 ${className}`, ...rest, children: [info ? renderInfo(info) : null, contacts ? renderContacts(contacts) : null] }));
1381
+ const ContactsBlock = JSX(({ className = '', contacts, context, info, version = 'secondary', ...rest }) => {
1382
+ return (jsxs(BlockWrapper, { context: context, className: `${contactsBlockStyleMap[version]} flex p-12 ${className}`, ...rest, children: [info ? renderInfo(info) : null, contacts ? renderContacts(contacts) : null] }));
1383
1383
  });
1384
1384
  const renderInfo = (info) => (jsx("div", { className: "flex grow basis-0 pr-11", children: info.map(({ title, description, button }, index) => (jsxs("div", { className: "grow basis-0 pr-11 last:pr-0", children: [jsx(Heading, { as: "h5", headingType: "h5", title: title, className: "pb-2.5" }), jsx(Description, { className: "text-l-light pb-6", description: description }), button ? jsx(Button, { ...button }) : null] }, String(index)))) }));
1385
1385
  const renderContacts = (contacts) => (jsx("div", { className: "flex grow basis-0", children: contacts.map((contactsColumn, index) => renderContactsColumn({ contactsColumn, index })) }));
@@ -1397,7 +1397,7 @@
1397
1397
  const ErrorBlock = JSX(({ context, className = '', title, subtitle, error, button }) => {
1398
1398
  const { useRouter, handlerDecorator } = context;
1399
1399
  const router = useRouter();
1400
- return (jsxs("section", { className: `flex flex-col justify-center items-center mt-12 ${className}`, role: "listitem", children: [jsx("div", { className: "flex justify-center py-20", children: renderErrorContent(error) }), title ? jsx(Heading, { headingType: "h1", className: "text-left mb-4", title: title }) : null, subtitle ? (jsx("div", { className: "font-sans text-xl-light mb-7 max-w-[613px] text-center", children: subtitle })) : null, button?.text ? (jsx(Button, { className: "py-4 px-9", version: button?.version, ...useLink({ router, handlerDecorator }, button), children: button.text })) : null] }));
1400
+ return (jsxs("section", { className: `flex flex-col justify-center items-center mt-12 ${className}`, children: [jsx("div", { className: "flex justify-center py-20", children: renderErrorContent(error) }), title ? jsx(Heading, { headingType: "h1", className: "text-left mb-4", title: title }) : null, subtitle ? (jsx("div", { className: "font-sans text-xl-light mb-7 max-w-[613px] text-center", children: subtitle })) : null, button?.text ? (jsx(Button, { className: "py-4 px-9", version: button?.version, ...useLink({ router, handlerDecorator }, button), children: button.text })) : null] }));
1401
1401
  });
1402
1402
 
1403
1403
  const BaseTile = JSX(({ className = '', title = '', children, buttons, image }) => {
@@ -1430,7 +1430,7 @@
1430
1430
  return (jsxs("tr", { className: "pb-1 text-h6", children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [currency ? (jsx(ImgInner, { image: { icon: CURRENCY_ICONS_MAP[currency] }, width: "24", height: "24" })) : null, jsx("span", { className: "ml-2", children: currency })] }) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem?.saleExchangeRate) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem?.buyExchangeRate) })] }, currency));
1431
1431
  };
1432
1432
 
1433
- const CurrentLocation = JSX(({ className = '', address }) => (jsxs("div", { className: `flex ${className}`, children: [jsx(ImgInner, { image: { icon: 'GpsIcon' }, width: "24", height: "24", asSVG: true }), jsxs("div", { className: "ml-3", children: [address ? jsx("p", { className: "text-primary-main m-0 mb-1 text-l", children: address }) : null, jsx("p", { className: "text-secondary-text m-0 text-m", children: "\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043E \u043E\u0444\u0438\u0441\u0430" })] })] })));
1433
+ const CurrentLocation = JSX(({ className = '', address }) => (jsxs("div", { className: `flex ${className}`, children: [jsx(ImgInner, { image: { icon: 'GpsIcon' }, width: "24", height: "24", asSVG: true }), jsxs("div", { className: "ml-3", children: [address ? jsx("p", { className: "text-primary-main m-0 mb-1 text-l", children: address }) : null, jsx("p", { className: "text-secondary-text m-0 text-m", children: "\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u043D\u043E\u0433\u043E \u043E\u0444\u0438\u0441\u0430" })] })] })));
1434
1434
 
1435
1435
  const roundTo = (value, precision = 2) => {
1436
1436
  const factor = 10 ** precision;
@@ -2152,17 +2152,17 @@
2152
2152
  if (investmentZeroColumn) {
2153
2153
  colums.unshift(investmentZeroColumn);
2154
2154
  }
2155
- return (jsx(BlockWrapper, { className: `font-sans bg-white p-9 pb-9 ${className}`, context: context, ...rest, children: jsxs("div", { className: "container text-m-light", children: [colums?.length ? (jsxs("div", { children: [jsxs("div", { className: "flex items-end px-9 text-white", children: [joinList(jsx("div", { className: "w-px h-4 bg-main-stroke" }))(colums.map(renderInvestmentColumn)), jsx("div", { className: "w-px h-4 bg-main-stroke" })] }), jsx("div", { className: "border-t border-main-stroke -mt-2 mx-9" }), jsx("div", { className: "flex justify-between mt-3 -mx-10", children: colums.map(renderInvestmentColumnTitle) })] })) : null, items?.length ? (jsx(List, { className: "mt-9 text-h6", items: items, itemClassName: "mb-[7px]", isDotted: isDotted })) : null] }) }));
2155
+ return (jsx(BlockWrapper, { className: `font-sans bg-white px-9 py-12 ${className}`, context: context, ...rest, children: jsxs("div", { className: "container text-m-light", children: [colums?.length ? (jsxs("div", { children: [jsxs("div", { className: "flex items-end relative pl-9 pr-5 text-white", children: [joinList(jsx("div", { className: "w-px h-4 bg-main-stroke" }))(colums.map(renderInvestmentColumn)), jsx("div", { className: "absolute right-[30px] w-px h-4 bg-main-stroke" })] }), jsx("div", { className: "border-t border-main-stroke -mt-2 ml-9 mr-8" }), jsx("div", { className: "flex justify-between text-primary-text mt-3 -mx-10", children: colums.map(renderInvestmentColumnTitle) })] })) : null, items?.length ? (jsx(List, { className: "mt-9 text-l-light max-w-[657px]", items: items, itemClassName: "mb-[7px]", isDotted: isDotted })) : null] }) }));
2156
2156
  });
2157
2157
  const renderInvestmentColumn = (column, i, arr) => {
2158
2158
  const isSecondColumn = i === 1;
2159
2159
  const isLastColumn = i === arr.length - 1;
2160
- return (jsx("div", { className: `${getColumnClasses(isSecondColumn, isLastColumn, column.cells)}`, children: column.cells?.length ? (jsx("div", { className: `w-full ${isLastColumn ? 'border-4 border-green-more-dark p-1' : ''}`, children: column.cells.map(renderInvestmentCell) })) : null }, `column_${i}`));
2160
+ return (jsx("div", { className: `${getColumnClasses(isSecondColumn, isLastColumn, column.cells)}`, children: column.cells?.length ? (jsx("div", { className: `w-full ${isLastColumn ? 'border-4 border-green-more-dark p-1.5 min-w-[290px]' : ''}`, children: column.cells.reverse().map(renderInvestmentCell) })) : null }, `column_${i}`));
2161
2161
  };
2162
2162
  const getColumnClasses = (isSecondColumn, isLastColumn, cells = []) => [
2163
2163
  cells.length ? 'flex-1' : 'flex-0',
2164
2164
  cells.length && !isSecondColumn && !isLastColumn ? 'pl-2.5' : '',
2165
- cells.length && !isLastColumn ? 'pr-2.5 pb-8' : 'pb-6',
2165
+ cells.length && !isLastColumn ? 'pr-2.5 pb-8' : 'pb-[22px]',
2166
2166
  ].join(' ');
2167
2167
  const renderInvestmentCell = (cell, i) => {
2168
2168
  const cellSize = cell.cellSize || 'XS';
@@ -2172,7 +2172,7 @@
2172
2172
  const renderInvestmentColumnTitle = (column, i, arr) => {
2173
2173
  const isFirstColumn = i === 0;
2174
2174
  const isLastColumn = i === arr.length - 1;
2175
- return (jsx("div", { className: `flex-1 max-w-[180px] text-center px-2 ${isFirstColumn ? 'pl-9' : ''} ${isLastColumn ? 'pr-9' : ' '}`, children: column.title }, `title_${i}`));
2175
+ return (jsx("div", { className: `flex-1 max-w-[180px] text-center px-2 ${isFirstColumn ? 'pl-9' : ''} ${isLastColumn ? 'mr-3.5' : ' '}`, children: column.title }, `title_${i}`));
2176
2176
  };
2177
2177
 
2178
2178
  const LinkDocsListItemBase = JSX(({ className, iconClassName, textClassName, suffixClassName, doc, icon }) => {
@@ -2236,119 +2236,13 @@
2236
2236
  ${getTileMinHeight(className)}
2237
2237
  ${VersionStyleMap[version]}
2238
2238
  ${className}`, ...rest, children: [jsxs(BaseTile, { context: context, className: "z-10", title: title ? (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[509px] mb-6
2239
- ${textColorClass} ${AlignText[alignTitle]}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttonsWithClass, className: "flex gap-4" })) : null, children: [renderDescription$1(description), jsxs("div", { className: "flex flex-1 items-center", children: [qr?.src ? (jsx("div", { className: `flex justify-center mr-5 bg-white rounded-md ${containerStyle}`, children: jsx(ImgInner, { className: "w-fit", image: qr, alt: "QR-\u043A\u043E\u0434" }) })) : null, renderList$1(version, items)] })] }), image?.src ? (jsx("div", { className: "absolute right-0 bottom-0", children: jsx(ImgInner, { image: image }) })) : null] }));
2239
+ ${textColorClass} ${AlignText[alignTitle]}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttonsWithClass, className: "flex gap-4" })) : null, children: [renderDescription$1(description), jsxs("div", { className: "flex flex-1 items-center", children: [qr?.src ? (jsx("div", { className: `flex justify-center mr-5 bg-white rounded-md ${containerStyle}`, children: jsx(ImgInner, { className: "w-fit", image: qr }) })) : null, renderList$1(version, items)] })] }), image?.src ? (jsx("div", { className: "absolute right-0 bottom-0", children: jsx(ImgInner, { image: image }) })) : null] }));
2240
2240
  });
2241
2241
  const renderList$1 = (version, items) => {
2242
2242
  return items?.length ? (jsx(List, { items: items, itemClassName: "text-l-light mb-2 last:mb-0", version: version })) : (jsx("span", { className: "text-m-light text-secondary-text", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }));
2243
2243
  };
2244
2244
  const renderDescription$1 = (description) => description ? jsx("p", { className: "text-xl-light mb-5", children: description }) : null;
2245
2245
 
2246
- const OFFICE_MAP_URL = '/api/v1/branches';
2247
- // TODO: regionCode - внутренний идентификатор банка. Не соответствует государственной нумерации регионов РФ
2248
- // TODO: Список регионов можно получить через api/v1/regions
2249
- function useOfficeMap(regionCode) {
2250
- const { data } = useAsyncData(regionCode ? `${OFFICE_MAP_URL}?regionCode=${regionCode}` : undefined, fetchOfficeMap);
2251
- return data;
2252
- }
2253
- const fetchOfficeMap = (url) => {
2254
- if (!url) {
2255
- return {};
2256
- }
2257
- return fetchJSON(url, { method: 'GET' });
2258
- };
2259
-
2260
- const OFFICE_MAP = {
2261
- id: 123,
2262
- branchType: {
2263
- id: 7,
2264
- code: '21',
2265
- name: 'Отделение на балансе филиала',
2266
- },
2267
- shortName: 'Ейский ДО',
2268
- name: 'ДО №3349/3/05',
2269
- address: '353682, Краснодарский край, г.Ейск, ул.Гоголя, 349/ ул.Баррикадная, 42/1',
2270
- lawAddress: '353682, Краснодарский край, г.Ейск, ул.Гоголя, 349/ ул.Баррикадная, 42/1',
2271
- openDate: '2000-12-05',
2272
- closeDate: null,
2273
- bik: '040349536',
2274
- corAcc: '30101810700000000536',
2275
- registrationNumber: '3349/3/05',
2276
- phone: '+7(XXX)XXX-XX-XX',
2277
- fax: '+7(XXX)XXX-XX-XY',
2278
- okpo: '55105921',
2279
- ogrn: '1027700342890',
2280
- kpp: '231002002',
2281
- inn: '7725114488',
2282
- branchCode: '0305',
2283
- upperBranchCode: '0300',
2284
- timeZone: '+03:00',
2285
- exchangeRate: {
2286
- currencies: [
2287
- {
2288
- buyExchangeRate: 0.0,
2289
- saleExchangeRate: 0.0,
2290
- currency: {
2291
- id: 3,
2292
- code: '156',
2293
- currency: 'CNY',
2294
- name: 'Китайский юань',
2295
- },
2296
- },
2297
- {
2298
- buyExchangeRate: 59.15,
2299
- saleExchangeRate: 69.25,
2300
- currency: {
2301
- id: 2,
2302
- code: '978',
2303
- currency: 'EUR',
2304
- name: 'Евро',
2305
- },
2306
- },
2307
- {
2308
- buyExchangeRate: 58.4,
2309
- saleExchangeRate: 70.05,
2310
- currency: {
2311
- id: 1,
2312
- code: '840',
2313
- currency: 'USD',
2314
- name: 'Американский доллар',
2315
- },
2316
- },
2317
- ],
2318
- lastUpdate: '2022-11-11 03:56:17',
2319
- },
2320
- workSchedule: {
2321
- id: 413,
2322
- workTime: '09.00–16.30',
2323
- lunchHour: 'без перерыва',
2324
- workTimeSaturday: '09.00–15.00',
2325
- lunchHourSaturday: 'без перерыва',
2326
- workingMonday: false,
2327
- workingTuesday: false,
2328
- workingWednesday: true,
2329
- workingThursday: true,
2330
- workingFriday: true,
2331
- workingSaturday: true,
2332
- workingSunday: false,
2333
- },
2334
- gpsLatitude: 46.709744,
2335
- gpsLongitude: 38.260703,
2336
- range: null,
2337
- safeBoxCaseVolumes: null,
2338
- };
2339
-
2340
- const renderCurrentDaySchedule = ({ lunchHour, status, workTime }) => {
2341
- const hasTime = /\d+/gi.test(lunchHour);
2342
- const lunchHourText = hasTime ? `Перерыв ${lunchHour}` : lunchHour;
2343
- return status ? (jsxs("div", { className: "flex", children: [jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-primary-main border-green-light mr-4", children: workTime ? workTime : null }), jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-golden border-golden", children: lunchHour ? lunchHourText : null })] })) : (jsx("div", { className: "flex", children: jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-error border-error", children: "\u0412\u044B\u0445\u043E\u0434\u043D\u043E\u0439" }) }));
2344
- };
2345
- const renderNearbyOffice = ({ icon, title, distance, time }, index) => (jsxs("div", { className: "flex mr-4", children: [jsx(Icon, { name: icon, width: "16", height: "16", asSVG: true, className: "mr-1" }), title ? jsxs("span", { className: "text-m", children: [title, "\u00A0"] }) : null, jsxs("span", { className: "text-m-light", children: [distance ? ` (${distance})` : null, time ? `, ${time}` : null] })] }, `nearbyOffice${index}`));
2346
- const renderDay = ({ title, status, workTime, lunchHour, description }, inx) => (jsxs("div", { className: "flex flex-col pb-3 border-b border-solid border-main-divider mb-3 last:border-0", children: [jsxs("div", { className: "flex justify-between items-center w-full pb-1 text-l text-primary-text", children: [jsx("div", { children: title }), status ? null : jsx("div", { className: "text-m-light text-error", children: "\u0412\u044B\u0445\u043E\u0434\u043D\u043E\u0439" }), status && workTime ? jsx("div", { children: workTime }) : null] }), status && lunchHour ? renderLunchHour(lunchHour) : null, description ? (jsx("div", { className: "pb-1 text-s-light text-secondary-text", children: description })) : null] }, `day${inx}`));
2347
- const renderLunchHour = (lunchHour) => {
2348
- const hasTime = /\d+/gi.test(lunchHour);
2349
- return hasTime ? (jsxs("div", { className: "flex justify-between items-center w-full pb-1 text-m-light text-error", children: [jsx("div", { children: "\u041F\u0435\u0440\u0435\u0440\u044B\u0432" }), jsx("div", { children: lunchHour })] })) : (jsx("div", { className: "flex justify-between items-center w-full pb-1 text-m-light text-primary-main", children: jsx("div", { children: lunchHour }) }));
2350
- };
2351
-
2352
2246
  function renderClusterer(yandexMaps, map, points) {
2353
2247
  map.geoObjects.removeAll();
2354
2248
  const clusterIconContentLayout = yandexMaps.templateLayoutFactory.createClass('<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>');
@@ -2603,6 +2497,86 @@
2603
2497
  const getArraySumAndAverage = (arr) => arr.reduce((a, b) => a + b) / arr.length;
2604
2498
  const normalizePoints = (points) => (points ? points.map((_) => _.coords) : null);
2605
2499
 
2500
+ const OFFICE_MAP = {
2501
+ id: 123,
2502
+ branchType: {
2503
+ id: 7,
2504
+ code: '21',
2505
+ name: 'Отделение на балансе филиала',
2506
+ },
2507
+ shortName: 'Ейский ДО',
2508
+ name: 'ДО №3349/3/05',
2509
+ address: '353682, Краснодарский край, г.Ейск, ул.Гоголя, 349/ ул.Баррикадная, 42/1',
2510
+ lawAddress: '353682, Краснодарский край, г.Ейск, ул.Гоголя, 349/ ул.Баррикадная, 42/1',
2511
+ openDate: '2000-12-05',
2512
+ closeDate: null,
2513
+ bik: '040349536',
2514
+ corAcc: '30101810700000000536',
2515
+ registrationNumber: '3349/3/05',
2516
+ phone: '+7(XXX)XXX-XX-XX',
2517
+ fax: '+7(XXX)XXX-XX-XY',
2518
+ okpo: '55105921',
2519
+ ogrn: '1027700342890',
2520
+ kpp: '231002002',
2521
+ inn: '7725114488',
2522
+ branchCode: '0305',
2523
+ upperBranchCode: '0300',
2524
+ timeZone: '+03:00',
2525
+ exchangeRate: {
2526
+ currencies: [
2527
+ {
2528
+ buyExchangeRate: 0.0,
2529
+ saleExchangeRate: 0.0,
2530
+ currency: {
2531
+ id: 3,
2532
+ code: '156',
2533
+ currency: 'CNY',
2534
+ name: 'Китайский юань',
2535
+ },
2536
+ },
2537
+ {
2538
+ buyExchangeRate: 59.15,
2539
+ saleExchangeRate: 69.25,
2540
+ currency: {
2541
+ id: 2,
2542
+ code: '978',
2543
+ currency: 'EUR',
2544
+ name: 'Евро',
2545
+ },
2546
+ },
2547
+ {
2548
+ buyExchangeRate: 58.4,
2549
+ saleExchangeRate: 70.05,
2550
+ currency: {
2551
+ id: 1,
2552
+ code: '840',
2553
+ currency: 'USD',
2554
+ name: 'Американский доллар',
2555
+ },
2556
+ },
2557
+ ],
2558
+ lastUpdate: '2022-11-11 03:56:17',
2559
+ },
2560
+ workSchedule: {
2561
+ id: 413,
2562
+ workTime: '09.00–16.30',
2563
+ lunchHour: 'без перерыва',
2564
+ workTimeSaturday: '09.00–15.00',
2565
+ lunchHourSaturday: 'без перерыва',
2566
+ workingMonday: false,
2567
+ workingTuesday: false,
2568
+ workingWednesday: true,
2569
+ workingThursday: true,
2570
+ workingFriday: true,
2571
+ workingSaturday: true,
2572
+ workingSunday: false,
2573
+ },
2574
+ gpsLatitude: 46.709744,
2575
+ gpsLongitude: 38.260703,
2576
+ range: null,
2577
+ safeBoxCaseVolumes: null,
2578
+ };
2579
+
2606
2580
  // Добавлено для проверки
2607
2581
  const nearbyOffices = [
2608
2582
  { title: 'Деловой центр', time: '1 мин', distance: '~30 м.', icon: 'MetroIcon' },
@@ -2610,6 +2584,32 @@
2610
2584
  { title: 'Деловой центр', time: '8 мин', distance: '~350 м.', icon: 'MetroIcon' },
2611
2585
  ];
2612
2586
 
2587
+ const renderCurrentDaySchedule = ({ lunchHour, status, workTime }) => {
2588
+ const hasTime = /\d+/gi.test(lunchHour);
2589
+ const lunchHourText = hasTime ? `Перерыв ${lunchHour}` : lunchHour;
2590
+ return status ? (jsxs("div", { className: "flex", children: [jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-primary-main border-green-light mr-4", children: workTime ? workTime : null }), jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-golden border-golden", children: lunchHour ? lunchHourText : null })] })) : (jsx("div", { className: "flex", children: jsx("div", { className: "p-3 border rounded-md text-m flex items-center cursor-pointer text-error border-error", children: "\u0412\u044B\u0445\u043E\u0434\u043D\u043E\u0439" }) }));
2591
+ };
2592
+ const renderNearbyOffice = ({ icon, title, distance, time }, index) => (jsxs("div", { className: "flex mr-4", children: [jsx(Icon, { name: icon, width: "16", height: "16", asSVG: true, className: "mr-1" }), title ? jsxs("span", { className: "text-m", children: [title, "\u00A0"] }) : null, jsxs("span", { className: "text-m-light", children: [distance ? ` (${distance})` : null, time ? `, ${time}` : null] })] }, `nearbyOffice${index}`));
2593
+ const renderDay = ({ title, status, workTime, lunchHour, description }, inx) => (jsxs("div", { className: "flex flex-col pb-3 border-b border-solid border-main-divider mb-3 last:border-0", children: [jsxs("div", { className: "flex justify-between items-center w-full pb-1 text-l text-primary-text", children: [jsx("div", { children: title }), status ? null : jsx("div", { className: "text-m-light text-error", children: "\u0412\u044B\u0445\u043E\u0434\u043D\u043E\u0439" }), status && workTime ? jsx("div", { children: workTime }) : null] }), status && lunchHour ? renderLunchHour(lunchHour) : null, description ? (jsx("div", { className: "pb-1 text-s-light text-secondary-text", children: description })) : null] }, `day${inx}`));
2594
+ const renderLunchHour = (lunchHour) => {
2595
+ const hasTime = /\d+/gi.test(lunchHour);
2596
+ return hasTime ? (jsxs("div", { className: "flex justify-between items-center w-full pb-1 text-m-light text-error", children: [jsx("div", { children: "\u041F\u0435\u0440\u0435\u0440\u044B\u0432" }), jsx("div", { children: lunchHour })] })) : (jsx("div", { className: "flex justify-between items-center w-full pb-1 text-m-light text-primary-main", children: jsx("div", { children: lunchHour }) }));
2597
+ };
2598
+
2599
+ const OFFICE_MAP_URL = '/api/v1/branches';
2600
+ // TODO: regionCode - внутренний идентификатор банка. Не соответствует государственной нумерации регионов РФ
2601
+ // TODO: Список регионов можно получить через api/v1/regions
2602
+ function useOfficeMap(regionCode) {
2603
+ const { data } = useAsyncData(regionCode ? `${OFFICE_MAP_URL}?regionCode=${regionCode}` : undefined, fetchOfficeMap);
2604
+ return data;
2605
+ }
2606
+ const fetchOfficeMap = (url) => {
2607
+ if (!url) {
2608
+ return {};
2609
+ }
2610
+ return fetchJSON(url, { method: 'GET' });
2611
+ };
2612
+
2613
2613
  const OfficeMap = JSX(({ className = '' }) => {
2614
2614
  const resultOfficeMap = useOfficeMap('063') || OFFICE_MAP;
2615
2615
  const { name, address, gpsLatitude, gpsLongitude, workSchedule } = resultOfficeMap;
@@ -2642,7 +2642,7 @@
2642
2642
  });
2643
2643
 
2644
2644
  const OfficeServicesBlock = JSX(({ className = '', context, title, servicesList, anchor = '', ...rest }) => {
2645
- return (jsxs(BlockWrapper, { context: context, id: anchor, className: `font-sans bg-white p-8 flex flex-col ${className}`, ...rest, children: [title ? jsx(Heading, { headingType: "h5", className: "mb-5", title: title }) : null, servicesList?.length ? servicesList.map(renderListItems) : null] }));
2645
+ return (jsxs(BlockWrapper, { context: context, id: anchor, className: `font-sans bg-white p-8 flex flex-col ${className}`, ...rest, children: [title ? jsx(Heading, { headingType: "h5", className: "mb-5", title: title }) : null, servicesList?.length ? (jsx("ul", { className: "list-none m-0 p-0", children: servicesList.map(renderListItems) })) : null] }));
2646
2646
  });
2647
2647
  const renderListItems = (itemList, i) => (jsxs("li", { className: "flex mb-5 last:mb-0 list-none", children: [itemList.icon ? (jsx(ImgInner, { className: "mr-3 min-w-6 min-h-6 w-6 h-6", width: "24", height: "24", asSVG: true, image: itemList.icon })) : null, itemList.label ? jsx("span", { className: "text-l-light", children: itemList.label }) : null] }, `list_item_${String(i)}`));
2648
2648
 
@@ -3171,7 +3171,7 @@
3171
3171
 
3172
3172
  const renderLinkTab = ({ text, currentTab, onClick, href, target = '_self', i, }) => {
3173
3173
  const active = currentTab?.type === 'link' && currentTab.href === href;
3174
- return (jsx("a", { className: `${LINK_CLASSES} ${active ? ACTIVE_LINK_CLASSES : INACTIVE_LINK_CLASSES}`, target: target, href: href, onClick: onClick, children: jsx("span", { className: `${TEXT_CLASSES} ${active ? ACTIVE_TEXT_CLASSES : INACTIVE_TEXT_CLASSES}`, children: text }) }, String(i)));
3174
+ return (jsx("a", { role: "tab", className: `${LINK_CLASSES} ${active ? ACTIVE_LINK_CLASSES : INACTIVE_LINK_CLASSES}`, target: target, href: href, onClick: onClick, children: jsx("span", { className: `${TEXT_CLASSES} ${active ? ACTIVE_TEXT_CLASSES : INACTIVE_TEXT_CLASSES}`, children: text }) }, String(i)));
3175
3175
  };
3176
3176
 
3177
3177
  const renderTab = ({ onClick, currentTab, showCounter, page, context }) =>
@@ -3452,10 +3452,16 @@
3452
3452
  return image?.src ? jsx(ImgInner, { className: "pt-0.5 pr-3", image: image }) : null;
3453
3453
  }
3454
3454
 
3455
+ const Tags = JSX((props) => {
3456
+ const { tags, className = '' } = props;
3457
+ return tags?.length ? (jsx("div", { className: `flex flex-wrap gap-2 ${className}`, children: tags.map((_, i) => renderTag(_, String(i))) })) : null;
3458
+ });
3459
+ const renderTag = (tag, key) => (jsx("span", { className: "text-m-light py-2 px-2.5 border-solid border rounded-md border-color-stroke", children: tag }, key));
3460
+
3455
3461
  const Tile = JSX((props) => {
3456
- const { context, title, headingType = 'h3', description, items, children, buttons, image, isDotted = true, listItemSize = 'M', className = '', version = 'primary', ...rest } = props;
3462
+ const { context, title, headingType = 'h3', description, items, children, buttons, image, isDotted = true, listItemSize = 'M', className = '', version = 'primary', tags, ...rest } = props;
3457
3463
  const headingClassName = version === 'primary' ? 'text-primary-text' : '';
3458
- return (jsx(BlockWrapper, { context: context, className: `overflow-hidden font-sans p-9 pr-3 box-border ${className} ${VersionStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: headingType, as: "h2", title: title, className: `whitespace-pre-wrap max-w-[600px] ${headingClassName}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons.map((button) => ({ ...button, className: 'min-w-[158px]' })), className: "flex mt-8 gap-3" })) : null, image: image?.src ? jsx(ImgInner, { className: "mt-auto ml-7", image: image }) : null, children: [description ? (jsx(Description, { className: "max-w-[600px] text-xl-light mt-2.5", description: description })) : null, children, renderList({ version, isDotted, listItemSize }, items)] }) }));
3464
+ return (jsx(BlockWrapper, { context: context, className: `overflow-hidden font-sans p-9 pr-3 box-border ${className} ${VersionStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: headingType, as: "h2", title: title, className: `whitespace-pre-wrap max-w-[600px] ${headingClassName}` })) : null, buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons.map((button) => ({ ...button, className: 'min-w-[158px]' })), className: "flex mt-8 gap-3" })) : null, image: image?.src ? jsx(ImgInner, { className: "mt-auto ml-7", image: image }) : null, children: [description ? (jsx(Description, { className: "max-w-[600px] text-xl-light mt-2.5", description: description })) : null, children, renderList({ version, isDotted, listItemSize }, items), tags?.length ? jsx(Tags, { tags: tags, className: "mt-5" }) : null] }) }));
3459
3465
  });
3460
3466
  function renderList({ version, isDotted, listItemSize }, items) {
3461
3467
  return items?.length ? (jsx(List, { items: items, isDotted: isDotted, className: "mt-2.5", listItemSize: listItemSize, itemClassName: "mb-1.5", version: version })) : null;
@@ -3619,7 +3625,7 @@
3619
3625
  return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-lg sticky bottom-0 pointer-events-auto", context: context }, "LikeControl") }));
3620
3626
  }
3621
3627
 
3622
- const packageVersion = "0.6.22";
3628
+ const packageVersion = process?.env?.UNI_BLOCKS_VERSION;
3623
3629
 
3624
3630
  exports.Blocks = Blocks;
3625
3631
  exports.ContentPage = ContentPage;