@redneckz/wildless-cms-uni-blocks 0.8.23 → 0.8.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/bin/migration-scripts/0.8.17.js +27 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +216 -204
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +6 -2
  6. package/bundle/components/Headline/HeadlineContent.d.ts +2 -0
  7. package/bundle/components/RollupItem/RollupItem.mobile.d.ts +5 -0
  8. package/bundle/components/Tabs/LinkTab.d.ts +1 -0
  9. package/bundle/hooks/useBranches.d.ts +20 -0
  10. package/bundle/ui-kit/TopItem/TopItem.d.ts +2 -1
  11. package/dist/components/Accordion/Accordion.js +2 -3
  12. package/dist/components/Accordion/Accordion.js.map +1 -1
  13. package/dist/components/Accordion/Accordion.mobile.js +2 -3
  14. package/dist/components/Accordion/Accordion.mobile.js.map +1 -1
  15. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  16. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  17. package/dist/components/ApplicationForm/ApplicationFormBusinessCard.js +2 -2
  18. package/dist/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -1
  19. package/dist/components/ApplicationForm/ApplicationFormCredit.js +5 -5
  20. package/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  21. package/dist/components/ApplicationForm/renderBankOffices.js.map +1 -1
  22. package/dist/components/BenefitsBlock/BenefitsBlock.js +1 -1
  23. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  24. package/dist/components/Blocks.js +0 -4
  25. package/dist/components/Blocks.js.map +1 -1
  26. package/dist/components/Blocks.mobile.js +4 -2
  27. package/dist/components/Blocks.mobile.js.map +1 -1
  28. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -2
  29. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  30. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +6 -2
  31. package/dist/components/Calculator/getMonthlyPayment.js +4 -1
  32. package/dist/components/Calculator/getMonthlyPayment.js.map +1 -1
  33. package/dist/components/CarouselLinks/CarouselLinks.js +1 -1
  34. package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  35. package/dist/components/Footer/Footer.mobile.js +3 -3
  36. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  37. package/dist/components/Header/Header.mobile.js +2 -3
  38. package/dist/components/Header/Header.mobile.js.map +1 -1
  39. package/dist/components/Header/HeaderSecondaryMenu.js +7 -2
  40. package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  41. package/dist/components/Headline/Headline.js +3 -2
  42. package/dist/components/Headline/Headline.js.map +1 -1
  43. package/dist/components/Headline/HeadlineContent.d.ts +2 -0
  44. package/dist/components/RollupItem/RollupItem.js +9 -4
  45. package/dist/components/RollupItem/RollupItem.js.map +1 -1
  46. package/dist/components/RollupItem/RollupItem.mobile.d.ts +5 -0
  47. package/dist/components/RollupItem/RollupItem.mobile.js +33 -0
  48. package/dist/components/RollupItem/RollupItem.mobile.js.map +1 -0
  49. package/dist/components/Tabs/LinkTab.d.ts +1 -0
  50. package/dist/components/Tabs/LinkTab.js +6 -2
  51. package/dist/components/Tabs/LinkTab.js.map +1 -1
  52. package/dist/components/Tabs/Tabs.js +15 -3
  53. package/dist/components/Tabs/Tabs.js.map +1 -1
  54. package/dist/components/Tabs/renderTab.js +1 -1
  55. package/dist/components/Tabs/renderTab.js.map +1 -1
  56. package/dist/hooks/useBranches.d.ts +20 -0
  57. package/dist/hooks/useBranches.js +16 -0
  58. package/dist/hooks/useBranches.js.map +1 -0
  59. package/dist/ui-kit/BlockWrapper.js +1 -4
  60. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  61. package/dist/ui-kit/Icon/Icon.js +4 -1
  62. package/dist/ui-kit/Icon/Icon.js.map +1 -1
  63. package/dist/ui-kit/List/List.js +1 -1
  64. package/dist/ui-kit/List/List.js.map +1 -1
  65. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  66. package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  67. package/dist/ui-kit/SwipeListControl/SwipeListItem.js +1 -1
  68. package/dist/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -1
  69. package/dist/ui-kit/TopItem/TopItem.d.ts +2 -1
  70. package/dist/ui-kit/TopItem/TopItem.js.map +1 -1
  71. package/lib/common.css +1 -1
  72. package/lib/components/Accordion/Accordion.fixture.d.ts +0 -2
  73. package/lib/components/Accordion/Accordion.fixture.mobile.d.ts +1 -1
  74. package/lib/components/Accordion/Accordion.js +2 -3
  75. package/lib/components/Accordion/Accordion.js.map +1 -1
  76. package/lib/components/Accordion/Accordion.mobile.js +2 -3
  77. package/lib/components/Accordion/Accordion.mobile.js.map +1 -1
  78. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  79. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  80. package/lib/components/ApplicationForm/ApplicationFormBusinessCard.js +2 -2
  81. package/lib/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -1
  82. package/lib/components/ApplicationForm/ApplicationFormCredit.js +5 -5
  83. package/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  84. package/lib/components/ApplicationForm/renderBankOffices.js.map +1 -1
  85. package/lib/components/BenefitsBlock/BenefitsBlock.js +1 -1
  86. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  87. package/lib/components/Blocks.js +0 -4
  88. package/lib/components/Blocks.js.map +1 -1
  89. package/lib/components/Blocks.mobile.js +4 -2
  90. package/lib/components/Blocks.mobile.js.map +1 -1
  91. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -2
  92. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  93. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +6 -2
  94. package/lib/components/Calculator/getMonthlyPayment.js +4 -1
  95. package/lib/components/Calculator/getMonthlyPayment.js.map +1 -1
  96. package/lib/components/CarouselLinks/CarouselLinks.js +1 -1
  97. package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  98. package/lib/components/Footer/Footer.mobile.js +3 -3
  99. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  100. package/lib/components/Header/Header.mobile.js +2 -3
  101. package/lib/components/Header/Header.mobile.js.map +1 -1
  102. package/lib/components/Header/HeaderSecondaryMenu.js +7 -2
  103. package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  104. package/lib/components/Headline/Headline.js +3 -2
  105. package/lib/components/Headline/Headline.js.map +1 -1
  106. package/lib/components/Headline/HeadlineContent.d.ts +2 -0
  107. package/lib/components/{AccordionItem/AccordionItem.fixture.d.ts → RollupItem/RollupItem.fixture.mobile.d.ts} +2 -0
  108. package/lib/components/RollupItem/RollupItem.js +9 -4
  109. package/lib/components/RollupItem/RollupItem.js.map +1 -1
  110. package/lib/components/RollupItem/RollupItem.mobile.d.ts +5 -0
  111. package/lib/components/RollupItem/RollupItem.mobile.js +31 -0
  112. package/lib/components/RollupItem/RollupItem.mobile.js.map +1 -0
  113. package/lib/components/Tabs/LinkTab.d.ts +1 -0
  114. package/lib/components/Tabs/LinkTab.js +6 -2
  115. package/lib/components/Tabs/LinkTab.js.map +1 -1
  116. package/lib/components/Tabs/Tabs.js +15 -3
  117. package/lib/components/Tabs/Tabs.js.map +1 -1
  118. package/lib/components/Tabs/renderTab.js +1 -1
  119. package/lib/components/Tabs/renderTab.js.map +1 -1
  120. package/lib/hooks/useBranches.d.ts +20 -0
  121. package/lib/hooks/useBranches.js +13 -0
  122. package/lib/hooks/useBranches.js.map +1 -0
  123. package/lib/ui-kit/BlockWrapper.js +1 -4
  124. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  125. package/lib/ui-kit/Foldable/DefaultFoldButton.d.ts +0 -1
  126. package/lib/ui-kit/Icon/Icon.js +4 -1
  127. package/lib/ui-kit/Icon/Icon.js.map +1 -1
  128. package/lib/ui-kit/List/List.js +1 -1
  129. package/lib/ui-kit/List/List.js.map +1 -1
  130. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  131. package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  132. package/lib/ui-kit/SwipeListControl/SwipeListItem.js +1 -1
  133. package/lib/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -1
  134. package/lib/ui-kit/TopItem/TopItem.d.ts +2 -1
  135. package/lib/ui-kit/TopItem/TopItem.js.map +1 -1
  136. package/mobile/bundle/bundle.umd.js +205 -158
  137. package/mobile/bundle/bundle.umd.min.js +1 -1
  138. package/mobile/bundle/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +6 -2
  139. package/mobile/bundle/components/Headline/HeadlineContent.d.ts +2 -0
  140. package/mobile/bundle/components/Tabs/LinkTab.d.ts +1 -0
  141. package/mobile/bundle/hooks/useBranches.d.ts +20 -0
  142. package/mobile/bundle/ui-kit/TopItem/TopItem.d.ts +2 -1
  143. package/mobile/dist/components/Accordion/Accordion.js +2 -3
  144. package/mobile/dist/components/Accordion/Accordion.js.map +1 -1
  145. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  146. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  147. package/mobile/dist/components/ApplicationForm/ApplicationFormBusinessCard.js +2 -2
  148. package/mobile/dist/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -1
  149. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js +5 -5
  150. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  151. package/mobile/dist/components/ApplicationForm/renderBankOffices.js.map +1 -1
  152. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +1 -1
  153. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  154. package/mobile/dist/components/Blocks.js +4 -2
  155. package/mobile/dist/components/Blocks.js.map +1 -1
  156. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -2
  157. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  158. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +6 -2
  159. package/mobile/dist/components/Calculator/getMonthlyPayment.js +4 -1
  160. package/mobile/dist/components/Calculator/getMonthlyPayment.js.map +1 -1
  161. package/mobile/dist/components/CarouselLinks/CarouselLinks.js +1 -1
  162. package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  163. package/mobile/dist/components/Footer/Footer.js +3 -3
  164. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  165. package/mobile/dist/components/Header/Header.js +2 -3
  166. package/mobile/dist/components/Header/Header.js.map +1 -1
  167. package/mobile/dist/components/Header/HeaderSecondaryMenu.js +7 -2
  168. package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  169. package/mobile/dist/components/Headline/Headline.js +3 -2
  170. package/mobile/dist/components/Headline/Headline.js.map +1 -1
  171. package/mobile/dist/components/Headline/HeadlineContent.d.ts +2 -0
  172. package/mobile/dist/components/RollupItem/RollupItem.js +17 -5
  173. package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
  174. package/mobile/dist/components/Tabs/LinkTab.d.ts +1 -0
  175. package/mobile/dist/components/Tabs/LinkTab.js +6 -2
  176. package/mobile/dist/components/Tabs/LinkTab.js.map +1 -1
  177. package/mobile/dist/components/Tabs/Tabs.js +15 -3
  178. package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
  179. package/mobile/dist/components/Tabs/renderTab.js +1 -1
  180. package/mobile/dist/components/Tabs/renderTab.js.map +1 -1
  181. package/mobile/dist/hooks/useBranches.d.ts +20 -0
  182. package/mobile/dist/hooks/useBranches.js +16 -0
  183. package/mobile/dist/hooks/useBranches.js.map +1 -0
  184. package/mobile/dist/ui-kit/BlockWrapper.js +1 -4
  185. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  186. package/mobile/dist/ui-kit/Icon/Icon.js +4 -1
  187. package/mobile/dist/ui-kit/Icon/Icon.js.map +1 -1
  188. package/mobile/dist/ui-kit/List/List.js +1 -1
  189. package/mobile/dist/ui-kit/List/List.js.map +1 -1
  190. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  191. package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  192. package/mobile/dist/ui-kit/SwipeListControl/SwipeListItem.js +1 -1
  193. package/mobile/dist/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -1
  194. package/mobile/dist/ui-kit/TopItem/TopItem.d.ts +2 -1
  195. package/mobile/dist/ui-kit/TopItem/TopItem.js.map +1 -1
  196. package/mobile/lib/components/Accordion/Accordion.js +2 -3
  197. package/mobile/lib/components/Accordion/Accordion.js.map +1 -1
  198. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  199. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  200. package/mobile/lib/components/ApplicationForm/ApplicationFormBusinessCard.js +2 -2
  201. package/mobile/lib/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -1
  202. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js +5 -5
  203. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  204. package/mobile/lib/components/ApplicationForm/renderBankOffices.js.map +1 -1
  205. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +1 -1
  206. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  207. package/mobile/lib/components/Blocks.js +4 -2
  208. package/mobile/lib/components/Blocks.js.map +1 -1
  209. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +3 -2
  210. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  211. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +6 -2
  212. package/mobile/lib/components/Calculator/getMonthlyPayment.js +4 -1
  213. package/mobile/lib/components/Calculator/getMonthlyPayment.js.map +1 -1
  214. package/mobile/lib/components/CarouselLinks/CarouselLinks.js +1 -1
  215. package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  216. package/mobile/lib/components/Footer/Footer.js +3 -3
  217. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  218. package/mobile/lib/components/Header/Header.js +2 -3
  219. package/mobile/lib/components/Header/Header.js.map +1 -1
  220. package/mobile/lib/components/Header/HeaderSecondaryMenu.js +7 -2
  221. package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  222. package/mobile/lib/components/Headline/Headline.js +3 -2
  223. package/mobile/lib/components/Headline/Headline.js.map +1 -1
  224. package/mobile/lib/components/Headline/HeadlineContent.d.ts +2 -0
  225. package/mobile/lib/components/RollupItem/RollupItem.js +17 -5
  226. package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
  227. package/mobile/lib/components/Tabs/LinkTab.d.ts +1 -0
  228. package/mobile/lib/components/Tabs/LinkTab.js +6 -2
  229. package/mobile/lib/components/Tabs/LinkTab.js.map +1 -1
  230. package/mobile/lib/components/Tabs/Tabs.js +15 -3
  231. package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
  232. package/mobile/lib/components/Tabs/renderTab.js +1 -1
  233. package/mobile/lib/components/Tabs/renderTab.js.map +1 -1
  234. package/mobile/lib/hooks/useBranches.d.ts +20 -0
  235. package/mobile/lib/hooks/useBranches.js +13 -0
  236. package/mobile/lib/hooks/useBranches.js.map +1 -0
  237. package/mobile/lib/ui-kit/BlockWrapper.js +1 -4
  238. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  239. package/mobile/lib/ui-kit/Icon/Icon.js +4 -1
  240. package/mobile/lib/ui-kit/Icon/Icon.js.map +1 -1
  241. package/mobile/lib/ui-kit/List/List.js +1 -1
  242. package/mobile/lib/ui-kit/List/List.js.map +1 -1
  243. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
  244. package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
  245. package/mobile/lib/ui-kit/SwipeListControl/SwipeListItem.js +1 -1
  246. package/mobile/lib/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -1
  247. package/mobile/lib/ui-kit/TopItem/TopItem.d.ts +2 -1
  248. package/mobile/lib/ui-kit/TopItem/TopItem.js.map +1 -1
  249. package/mobile/src/components/Accordion/Accordion.example.json +3 -3
  250. package/mobile/src/components/Accordion/Accordion.tsx +2 -3
  251. package/mobile/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +1 -1
  252. package/mobile/src/components/ApplicationForm/ApplicationFormBusinessCard.tsx +2 -2
  253. package/mobile/src/components/ApplicationForm/ApplicationFormCredit.tsx +5 -5
  254. package/mobile/src/components/ApplicationForm/renderBankOffices.tsx +1 -1
  255. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +1 -1
  256. package/mobile/src/components/Blocks.ts +4 -2
  257. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +16 -8
  258. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +11 -4
  259. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlockContent.ts +6 -2
  260. package/mobile/src/components/Calculator/getMonthlyPayment.ts +3 -1
  261. package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +1 -1
  262. package/mobile/src/components/Footer/Footer.tsx +9 -9
  263. package/mobile/src/components/Header/Header.tsx +5 -6
  264. package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +9 -2
  265. package/mobile/src/components/Headline/Headline.tsx +4 -1
  266. package/mobile/src/components/Headline/HeadlineContent.ts +2 -0
  267. package/mobile/src/components/RollupItem/RollupItem.tsx +77 -28
  268. package/mobile/src/components/Tabs/LinkTab.tsx +8 -2
  269. package/mobile/src/components/Tabs/Tabs.tsx +18 -3
  270. package/mobile/src/components/Tabs/renderTab.tsx +7 -1
  271. package/mobile/src/hooks/useBranches.ts +43 -0
  272. package/mobile/src/ui-kit/BlockWrapper.tsx +1 -6
  273. package/mobile/src/ui-kit/Icon/Icon.tsx +4 -1
  274. package/mobile/src/ui-kit/List/List.tsx +1 -1
  275. package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +0 -1
  276. package/mobile/src/ui-kit/SwipeListControl/SwipeListItem.tsx +1 -2
  277. package/mobile/src/ui-kit/TopItem/TopItem.tsx +2 -1
  278. package/package.json +1 -1
  279. package/src/components/Accordion/Accordion.example.json +3 -3
  280. package/src/components/Accordion/Accordion.fixture.mobile.tsx +20 -11
  281. package/src/components/Accordion/Accordion.fixture.tsx +42 -27
  282. package/src/components/Accordion/Accordion.mobile.tsx +2 -3
  283. package/src/components/Accordion/Accordion.tsx +2 -3
  284. package/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +1 -1
  285. package/src/components/ApplicationForm/ApplicationFormBusinessCard.tsx +2 -2
  286. package/src/components/ApplicationForm/ApplicationFormCredit.tsx +5 -5
  287. package/src/components/ApplicationForm/renderBankOffices.tsx +1 -1
  288. package/src/components/BenefitsBlock/BenefitsBlock.tsx +1 -1
  289. package/src/components/Blocks.mobile.ts +4 -2
  290. package/src/components/Blocks.ts +0 -4
  291. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +16 -8
  292. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.fixture.tsx +8 -8
  293. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +11 -4
  294. package/src/components/BonusBenefitsBlock/BonusBenefitsBlockContent.ts +6 -2
  295. package/src/components/Calculator/getMonthlyPayment.ts +3 -1
  296. package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.fixture.tsx +2 -2
  297. package/src/components/CarouselLinks/CarouselLinks.tsx +1 -1
  298. package/src/components/Footer/Footer.mobile.tsx +9 -9
  299. package/src/components/Header/Header.mobile.tsx +5 -6
  300. package/src/components/Header/HeaderSecondaryMenu.tsx +9 -2
  301. package/src/components/Headline/Headline.tsx +4 -1
  302. package/src/components/Headline/HeadlineContent.ts +2 -0
  303. package/src/components/OtherProducts/OtherProducts.fixture.tsx +15 -14
  304. package/src/components/RollupItem/RollupItem.fixture.mobile.tsx +33 -0
  305. package/src/components/RollupItem/RollupItem.mobile.tsx +143 -0
  306. package/src/components/RollupItem/RollupItem.tsx +17 -13
  307. package/src/components/Tabs/LinkTab.tsx +8 -2
  308. package/src/components/Tabs/Tabs.tsx +18 -3
  309. package/src/components/Tabs/renderTab.tsx +7 -1
  310. package/src/components/VerticalLayout/VerticalLayout.fixture.tsx +1 -0
  311. package/src/hooks/useBranches.ts +43 -0
  312. package/src/ui-kit/BlockWrapper.tsx +1 -6
  313. package/src/ui-kit/Icon/Icon.tsx +4 -1
  314. package/src/ui-kit/List/List.tsx +1 -1
  315. package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +0 -1
  316. package/src/ui-kit/SwipeListControl/SwipeListItem.tsx +1 -2
  317. package/src/ui-kit/TopItem/TopItem.tsx +2 -1
  318. package/bundle/components/Accordion/AccordionItemsList.d.ts +0 -1
  319. package/bundle/components/AccordionItem/AccordionItem.d.ts +0 -3
  320. package/bundle/components/AccordionItem/AccordionItem.mobile.d.ts +0 -3
  321. package/bundle/components/AccordionItem/AccordionItemContent.d.ts +0 -14
  322. package/bundle/components/AccordionItem/AccordionItemProps.d.ts +0 -4
  323. package/bundle/components/OtherProductsItem/OtherProductsItem.d.ts +0 -5
  324. package/bundle/components/OtherProductsItem/OtherProductsItemContent.d.ts +0 -12
  325. package/dist/components/Accordion/AccordionItemsList.d.ts +0 -1
  326. package/dist/components/Accordion/AccordionItemsList.js +0 -6
  327. package/dist/components/Accordion/AccordionItemsList.js.map +0 -1
  328. package/dist/components/AccordionItem/AccordionItem.d.ts +0 -3
  329. package/dist/components/AccordionItem/AccordionItem.js +0 -14
  330. package/dist/components/AccordionItem/AccordionItem.js.map +0 -1
  331. package/dist/components/AccordionItem/AccordionItem.mobile.d.ts +0 -3
  332. package/dist/components/AccordionItem/AccordionItem.mobile.js +0 -19
  333. package/dist/components/AccordionItem/AccordionItem.mobile.js.map +0 -1
  334. package/dist/components/AccordionItem/AccordionItemContent.d.ts +0 -14
  335. package/dist/components/AccordionItem/AccordionItemContent.js +0 -2
  336. package/dist/components/AccordionItem/AccordionItemContent.js.map +0 -1
  337. package/dist/components/AccordionItem/AccordionItemProps.d.ts +0 -4
  338. package/dist/components/AccordionItem/AccordionItemProps.js +0 -2
  339. package/dist/components/AccordionItem/AccordionItemProps.js.map +0 -1
  340. package/dist/components/OtherProductsItem/OtherProductsItem.d.ts +0 -5
  341. package/dist/components/OtherProductsItem/OtherProductsItem.js +0 -18
  342. package/dist/components/OtherProductsItem/OtherProductsItem.js.map +0 -1
  343. package/dist/components/OtherProductsItem/OtherProductsItemContent.d.ts +0 -12
  344. package/dist/components/OtherProductsItem/OtherProductsItemContent.js +0 -2
  345. package/dist/components/OtherProductsItem/OtherProductsItemContent.js.map +0 -1
  346. package/lib/components/Accordion/AccordionItemsList.d.ts +0 -1
  347. package/lib/components/Accordion/AccordionItemsList.js +0 -4
  348. package/lib/components/Accordion/AccordionItemsList.js.map +0 -1
  349. package/lib/components/AccordionItem/AccordionItem.d.ts +0 -3
  350. package/lib/components/AccordionItem/AccordionItem.fixture.mobile.d.ts +0 -5
  351. package/lib/components/AccordionItem/AccordionItem.js +0 -12
  352. package/lib/components/AccordionItem/AccordionItem.js.map +0 -1
  353. package/lib/components/AccordionItem/AccordionItem.mobile.d.ts +0 -3
  354. package/lib/components/AccordionItem/AccordionItem.mobile.js +0 -17
  355. package/lib/components/AccordionItem/AccordionItem.mobile.js.map +0 -1
  356. package/lib/components/AccordionItem/AccordionItemContent.d.ts +0 -14
  357. package/lib/components/AccordionItem/AccordionItemContent.js +0 -2
  358. package/lib/components/AccordionItem/AccordionItemContent.js.map +0 -1
  359. package/lib/components/AccordionItem/AccordionItemProps.d.ts +0 -4
  360. package/lib/components/AccordionItem/AccordionItemProps.js +0 -2
  361. package/lib/components/AccordionItem/AccordionItemProps.js.map +0 -1
  362. package/lib/components/OtherProductsItem/OtherProductsItem.d.ts +0 -5
  363. package/lib/components/OtherProductsItem/OtherProductsItem.fixture.d.ts +0 -5
  364. package/lib/components/OtherProductsItem/OtherProductsItem.js +0 -16
  365. package/lib/components/OtherProductsItem/OtherProductsItem.js.map +0 -1
  366. package/lib/components/OtherProductsItem/OtherProductsItemContent.d.ts +0 -12
  367. package/lib/components/OtherProductsItem/OtherProductsItemContent.js +0 -2
  368. package/lib/components/OtherProductsItem/OtherProductsItemContent.js.map +0 -1
  369. package/mobile/bundle/components/Accordion/AccordionItemsList.d.ts +0 -1
  370. package/mobile/bundle/components/AccordionItem/AccordionItem.d.ts +0 -3
  371. package/mobile/bundle/components/AccordionItem/AccordionItemContent.d.ts +0 -14
  372. package/mobile/bundle/components/AccordionItem/AccordionItemProps.d.ts +0 -4
  373. package/mobile/bundle/components/OtherProductsItem/OtherProductsItem.d.ts +0 -5
  374. package/mobile/bundle/components/OtherProductsItem/OtherProductsItemContent.d.ts +0 -12
  375. package/mobile/dist/components/Accordion/AccordionItemsList.d.ts +0 -1
  376. package/mobile/dist/components/Accordion/AccordionItemsList.js +0 -6
  377. package/mobile/dist/components/Accordion/AccordionItemsList.js.map +0 -1
  378. package/mobile/dist/components/AccordionItem/AccordionItem.d.ts +0 -3
  379. package/mobile/dist/components/AccordionItem/AccordionItem.js +0 -19
  380. package/mobile/dist/components/AccordionItem/AccordionItem.js.map +0 -1
  381. package/mobile/dist/components/AccordionItem/AccordionItemContent.d.ts +0 -14
  382. package/mobile/dist/components/AccordionItem/AccordionItemContent.js +0 -2
  383. package/mobile/dist/components/AccordionItem/AccordionItemContent.js.map +0 -1
  384. package/mobile/dist/components/AccordionItem/AccordionItemProps.d.ts +0 -4
  385. package/mobile/dist/components/AccordionItem/AccordionItemProps.js +0 -2
  386. package/mobile/dist/components/AccordionItem/AccordionItemProps.js.map +0 -1
  387. package/mobile/dist/components/OtherProductsItem/OtherProductsItem.d.ts +0 -5
  388. package/mobile/dist/components/OtherProductsItem/OtherProductsItem.js +0 -18
  389. package/mobile/dist/components/OtherProductsItem/OtherProductsItem.js.map +0 -1
  390. package/mobile/dist/components/OtherProductsItem/OtherProductsItemContent.d.ts +0 -12
  391. package/mobile/dist/components/OtherProductsItem/OtherProductsItemContent.js +0 -2
  392. package/mobile/dist/components/OtherProductsItem/OtherProductsItemContent.js.map +0 -1
  393. package/mobile/lib/components/Accordion/AccordionItemsList.d.ts +0 -1
  394. package/mobile/lib/components/Accordion/AccordionItemsList.js +0 -4
  395. package/mobile/lib/components/Accordion/AccordionItemsList.js.map +0 -1
  396. package/mobile/lib/components/AccordionItem/AccordionItem.d.ts +0 -3
  397. package/mobile/lib/components/AccordionItem/AccordionItem.js +0 -17
  398. package/mobile/lib/components/AccordionItem/AccordionItem.js.map +0 -1
  399. package/mobile/lib/components/AccordionItem/AccordionItemContent.d.ts +0 -14
  400. package/mobile/lib/components/AccordionItem/AccordionItemContent.js +0 -2
  401. package/mobile/lib/components/AccordionItem/AccordionItemContent.js.map +0 -1
  402. package/mobile/lib/components/AccordionItem/AccordionItemProps.d.ts +0 -4
  403. package/mobile/lib/components/AccordionItem/AccordionItemProps.js +0 -2
  404. package/mobile/lib/components/AccordionItem/AccordionItemProps.js.map +0 -1
  405. package/mobile/lib/components/OtherProductsItem/OtherProductsItem.d.ts +0 -5
  406. package/mobile/lib/components/OtherProductsItem/OtherProductsItem.js +0 -16
  407. package/mobile/lib/components/OtherProductsItem/OtherProductsItem.js.map +0 -1
  408. package/mobile/lib/components/OtherProductsItem/OtherProductsItemContent.d.ts +0 -12
  409. package/mobile/lib/components/OtherProductsItem/OtherProductsItemContent.js +0 -2
  410. package/mobile/lib/components/OtherProductsItem/OtherProductsItemContent.js.map +0 -1
  411. package/mobile/src/components/Accordion/AccordionItemsList.tsx +0 -5
  412. package/mobile/src/components/AccordionItem/AccordionItem.example.json +0 -25
  413. package/mobile/src/components/AccordionItem/AccordionItem.tsx +0 -90
  414. package/mobile/src/components/AccordionItem/AccordionItem.ui.json +0 -7
  415. package/mobile/src/components/AccordionItem/AccordionItemContent.ts +0 -15
  416. package/mobile/src/components/AccordionItem/AccordionItemProps.ts +0 -4
  417. package/mobile/src/components/OtherProductsItem/OtherProductsItem.example.json +0 -22
  418. package/mobile/src/components/OtherProductsItem/OtherProductsItem.tsx +0 -50
  419. package/mobile/src/components/OtherProductsItem/OtherProductsItem.ui.json +0 -1
  420. package/mobile/src/components/OtherProductsItem/OtherProductsItemContent.ts +0 -13
  421. package/src/components/Accordion/AccordionItemsList.tsx +0 -5
  422. package/src/components/AccordionItem/AccordionItem.example.json +0 -25
  423. package/src/components/AccordionItem/AccordionItem.fixture.mobile.tsx +0 -17
  424. package/src/components/AccordionItem/AccordionItem.fixture.tsx +0 -17
  425. package/src/components/AccordionItem/AccordionItem.mobile.tsx +0 -90
  426. package/src/components/AccordionItem/AccordionItem.tsx +0 -58
  427. package/src/components/AccordionItem/AccordionItem.ui.json +0 -7
  428. package/src/components/AccordionItem/AccordionItemContent.ts +0 -15
  429. package/src/components/AccordionItem/AccordionItemProps.ts +0 -4
  430. package/src/components/OtherProductsItem/OtherProductsItem.example.json +0 -22
  431. package/src/components/OtherProductsItem/OtherProductsItem.fixture.tsx +0 -20
  432. package/src/components/OtherProductsItem/OtherProductsItem.tsx +0 -50
  433. package/src/components/OtherProductsItem/OtherProductsItem.ui.json +0 -1
  434. package/src/components/OtherProductsItem/OtherProductsItemContent.ts +0 -13
@@ -364,10 +364,7 @@
364
364
  const ref = useBlockIntersectionObserver(block);
365
365
  const [isHidden, setHidden] = useState(false);
366
366
  useEffect(() => defaultEventBus.subscribe('tab', (event) => {
367
- setHidden(Boolean(event.type === 'group' &&
368
- event.label &&
369
- block?.labels?.length &&
370
- !block.labels.includes(event.label)));
367
+ setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
371
368
  }), [block]);
372
369
  return (jsx(Tag, { className: style(isTheme ? 'group' : '', blockStyles[version], isHidden ? 'hidden' : '', className), ...(version && isTheme ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
373
370
  });
@@ -388,151 +385,8 @@
388
385
 
389
386
  const Paragraph = JSX(({ children, ...style }) => (jsx("p", { className: ['font-sans', ...Object.values(style)].join(' '), children: children })));
390
387
 
391
- const AccordionItemsList = JSX(({ children }) => (jsx("ul", { className: "list-none m-0 p-0", children: children })));
392
-
393
- const Accordion = JSX(({ title, description, className = '', ...rest }) => (jsxs(BlockWrapper, { className: `py-6 px-4 ${className}`, ...rest, children: [title ? jsx(Heading, { headingType: "h3", className: "mb-2 text-center", title: title }) : null, description ? (jsx("div", { className: "mb-5", children: jsx(Paragraph, { size: "text-m", font: "font-light", align: "text-center", children: description }) })) : null, jsx(AccordionItemsList, { children: renderChildren(rest) })] })));
394
- Accordion.childrenTypes = ['AccordionItem'];
395
-
396
- function getParentBlockDef(options) {
397
- return options?.parent || {};
398
- }
399
-
400
- function getParentBlockContent(options, defaultContent) {
401
- const { content } = getParentBlockDef(options);
402
- return content || defaultContent;
403
- }
404
-
405
- const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
406
- const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
407
- const onToggle = useCallback(() => {
408
- setIsUnfolded((_) => !_);
409
- }, []);
410
- const sectionNode = renderFoldableSection({ isUnfolded, onToggle });
411
- const buttonNode = renderFoldButton ? renderFoldButton({ isUnfolded, onToggle }) : null;
412
- return isFoldButtonOnTop ? (jsxs("div", { className: className, children: [buttonNode, sectionNode] })) : (jsxs("div", { className: className, children: [sectionNode, buttonNode] }));
413
- });
414
-
415
- const FoldableSection = JSX(({ className = '', isUnfolded, children }) => {
416
- const containerRef = useRef(null);
417
- useEffect(() => {
418
- if (containerRef.current) {
419
- containerRef.current.style.maxHeight = isUnfolded
420
- ? `${containerRef.current.scrollHeight}px`
421
- : '';
422
- }
423
- }, [isUnfolded, children?.length]);
424
- return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden ${containerRef.current || !isUnfolded ? 'max-h-0' : ''} ${className}`, children: children }));
425
- });
426
-
427
- function useRouter() {
428
- return useRouter._impl();
429
- }
430
- useRouter._impl = () => ({
431
- href: globalThis.location?.href || '/',
432
- pathname: globalThis.location?.pathname || '/',
433
- query: {},
434
- push: () => {
435
- // Do nothing
436
- },
437
- replace: () => {
438
- // Do nothing
439
- },
440
- });
441
- useRouter.setup = (impl) => {
442
- useRouter._impl = impl;
443
- };
444
-
445
- const dirname = (path) => path?.split('/').slice(0, -1).join('/');
446
-
447
- const isURL = (href) => Boolean(href?.includes(':'));
448
- const isLocalURL = (href, target) => Boolean(href && !isURL(href) && (!target || target === '_self'));
449
- const isHash = (href) => Boolean(href?.startsWith('#'));
450
- const withoutQuery = (href) => (href || '').replace(/\?.*/, '').replace(/\/$/, '');
451
- const joinPath = (...path) => path.filter(Boolean).join('/').replace(/\/+/g, '/');
452
-
453
- var url = /*#__PURE__*/Object.freeze({
454
- __proto__: null,
455
- isURL: isURL,
456
- isLocalURL: isLocalURL,
457
- isHash: isHash,
458
- withoutQuery: withoutQuery,
459
- joinPath: joinPath
460
- });
461
-
462
- const adjustHref = (router) => (href) => {
463
- if (!href || isURL(href) || (projectSettings.CDN && href.startsWith(projectSettings.CDN))) {
464
- return href;
465
- }
466
- const isRelativeToBase = href.startsWith('/');
467
- return joinPath(projectSettings.BASE_PATH, isRelativeToBase ? '/' : dirname(router.pathname), href);
468
- };
469
-
470
- const svgUseStyleMap = {
471
- normal: '',
472
- color: 'text-primary-main',
473
- black: 'text-black',
474
- white: 'text-black',
475
- };
476
- const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = 'color', asSVG, ...imgProps }) => {
477
- const router = useRouter();
478
- const href = adjustHref(router)(joinPath(projectSettings.CDN, '/icons', `${name}.svg`));
479
- if (asSVG && iconVersion !== 'normal') {
480
- return (jsx(Background, { className: className, children: jsxs("svg", { className: style(getSvgSize(imgProps.width), svgUseStyleMap[iconVersion], iconVersion === 'white' ? 'invert' : '', imageClassName), ...imgProps, "aria-hidden": "true", children: [title ? jsx("title", { children: title }) : null, alt ? jsx("desc", { children: alt }) : null, jsx("use", { href: `${href}#icon`, xlinkHref: `${href}#icon` })] }) }));
481
- }
482
- return (jsx("img", { className: className, src: href, alt: alt, title: title, ...imgProps, "aria-hidden": "true" }));
483
- });
484
- const getSvgSize = (width) => (width ? '' : 'w-full h-full');
485
- const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
486
-
487
- const sourcesComparator = (a, b) => a?.media && b?.media ? a.media - b.media : 0;
488
- const ImgAsPicture = JSX(({ className = '', image, imageClassName = '', isMobile = false, pathPrefix }) => {
489
- const router = useRouter();
490
- const pictureStyles = isMobile ? 'flex' : 'flex-none';
491
- return (jsxs("picture", { className: `${pictureStyles} ${className}`, children: [image?.sources?.length
492
- ? image.sources
493
- .filter((_) => _?.src)
494
- .sort(sourcesComparator)
495
- .map(({ src, format, media }, index) => (jsx("source", { srcSet: adjustSrc(router, pathPrefix)(src), type: formatToMimeType(format), media: media ? `(max-width: ${media}px)` : '', ...image.size }, `${index}_${src}`)))
496
- : null, image?.src
497
- ? renderImg({ ...image, src: adjustSrc(router, pathPrefix)(image.src) }, imageClassName, isMobile)
498
- : null] }));
499
- });
500
- const renderImg = (image, imageClassName = '', isMobile = false) => {
501
- const style = {
502
- width: image.size?.width ? `${image.size?.width}px` : '100%',
503
- height: image.size?.height ? `${image.size?.height}px` : '100%',
504
- };
505
- const title = image.title || '';
506
- const alt = image.alt || image.title;
507
- const imgStyle = isMobile ? 'm-auto' : 'm-0';
508
- return (jsx("img", { src: image.src, className: `${imgStyle} ${imageClassName}`, alt: alt, title: title, style: style, ...image.size }));
509
- };
510
- const adjustSrc = (router, pathPrefix) => (src) => src && !isURL(src) ? adjustHref(router)(joinPath(pathPrefix, src)) : src;
511
- const formatToMimeType = (format) => format ? `image/${String(format)}` : undefined;
512
-
513
- const ImgInner = JSX(({ className = '', image, imageClassName = '', isMobile, pathPrefix, ...iconProps }) => {
514
- if (!image?.src && !image?.icon) {
515
- return null;
516
- }
517
- return image.icon ? (jsx(Icon, { className: className, imageClassName: imageClassName, iconVersion: image?.iconVersion || 'normal', name: image.icon, ...iconProps })) : (jsx(ImgAsPicture, { className: className, imageClassName: imageClassName, image: image, isMobile: isMobile, pathPrefix: pathPrefix }));
518
- });
519
-
520
- const Img = JSX((props) => jsx(ImgInner, { ...props, isMobile: true }));
521
-
522
- const Text = JSX(({ children, ...style }) => (jsx("span", { className: ['font-sans', ...Object.values(style)].join(' '), children: children })));
523
-
524
- const getIconWithVersion = (icon, version = 'primary') => ({
525
- ...icon,
526
- iconVersion: icon?.iconVersion ?? (version === 'secondary' ? 'white' : 'color'),
527
- });
528
-
529
- const icons = ['PlusIcon', 'MinusIcon'];
530
- const AccordionItem = JSX(({ className = '', label = '', labelIcon, isExpanded, ...rest }) => {
531
- const { bordered } = getParentBlockContent(rest.options, {});
532
- return (jsx("li", { className: `${bordered ? 'border p-4 rounded mb-4' : 'border-0 border-b last:border-b-0'} border-solid border-main-divider ${className}`, children: jsx(Foldable, { isFoldButtonOnTop: true, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: "flex flex-wrap group-last:last:pb-0 gap-5 [&>*]:p-0", isUnfolded: isUnfolded, children: renderChildren(rest) })), renderFoldButton: ({ isUnfolded, onToggle }) => (jsx(FoldButton, { className: bordered ? '' : 'py-3.5 px-0', label: label, icon: icons[Number(isUnfolded)], primaryIcon: labelIcon, onClick: onToggle })) }) }));
533
- });
534
- AccordionItem.childrenTypes = [];
535
- const FoldButton = JSX(({ className, icon, label, primaryIcon, onClick }) => (jsxs("button", { className: `border-none bg-transparent flex justify-between text-left w-full font-sans text-primary-text group cursor-pointer ${className}`, onClick: onClick, children: [jsxs("div", { className: "flex group-hover:text-primary-main", children: [primaryIcon ? (jsx(Img, { image: getIconWithVersion(primaryIcon), className: "mr-3 flex-shrink-0", width: "24", height: "24", asSVG: true })) : null, jsx(Text, { size: "text-m-title-xs", font: "font-medium", children: label })] }), jsx(Img, { className: "flex-shrink-0", image: getIconWithVersion({ icon: icon }), width: "24", height: "24", asSVG: true })] })));
388
+ const Accordion = JSX(({ title, description, className = '', ...rest }) => (jsxs(BlockWrapper, { className: `py-6 px-4 ${className}`, ...rest, children: [title ? jsx(Heading, { headingType: "h3", className: "mb-2 text-center", title: title }) : null, description ? (jsx("div", { className: "mb-5", children: jsx(Paragraph, { size: "text-m", font: "font-light", align: "text-center", children: description }) })) : null, jsx("div", { className: "list-none m-0 p-0", children: renderChildren(rest) })] })));
389
+ Accordion.childrenTypes = ['Accordion'];
536
390
 
537
391
  const mapChildren = (mapper) => (children) => {
538
392
  if (children === null || children === undefined) {
@@ -558,7 +412,7 @@
558
412
  }
559
413
  }, [onIntersection, idx]);
560
414
  const ref = useIntersectionObserver(observerCallback, observerOptions);
561
- return (jsx("div", { className: `inline-block snap-always box-border ${className}`, style: style, role: "listitem", "aria-current": Boolean(idx === activeIndex), ref: ref, children: children }));
415
+ return (jsx("div", { className: `inline-block snap-always box-border ${className}`, style: style, "aria-current": Boolean(idx === activeIndex), ref: ref, children: children }));
562
416
  });
563
417
 
564
418
  const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]', 'min-w-[25%]'];
@@ -583,7 +437,7 @@
583
437
  ...(isVerticalList ? getContainerHeight(minHeight) : {}),
584
438
  gap: `${gap}px`,
585
439
  };
586
- return (jsx("div", { className: style('box-border overflow-auto no-scrollbar', listType, className), style: containerStyle, role: "list", ref: containerRef, children: mapChildren((child, idx) => (jsx(SwipeListItem, { className: style(snapAlign, visibleItemCount ? childStyleMap[visibleItemCount - 1] : '', isVerticalList ? 'h-full' : ''), style: isHorizontalList ? getContainerOffset(padding / 4) : {}, activeIndex: activeIndex, idx: idx, observerOptions: observerOptions, onIntersection: handleIntersection, children: child }, String(idx))))(children) }));
440
+ return (jsx("div", { className: style('box-border overflow-auto no-scrollbar', listType, className), style: containerStyle, ref: containerRef, children: mapChildren((child, idx) => (jsx(SwipeListItem, { className: style(snapAlign, visibleItemCount ? childStyleMap[visibleItemCount - 1] : '', isVerticalList ? 'h-full' : ''), style: isHorizontalList ? getContainerOffset(padding / 4) : {}, activeIndex: activeIndex, idx: idx, observerOptions: observerOptions, onIntersection: handleIntersection, children: child }, String(idx))))(children) }));
587
441
  });
588
442
  // Styles used to compensate outer container padding to get rid of clipping effect
589
443
  const getContainerOffset = (padding, additionalPadding = 0) => ({
@@ -703,6 +557,31 @@
703
557
  return (jsxs("div", { className: style(className, listType === 'vertical-list' ? 'relative h-full' : ''), children: [jsx(SwipeListContainer, { containerRef: containerRef, activeIndex: activeIndex, visibleItemCount: 1, gap: gap, padding: padding, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, listType: listType, minHeight: minHeight, children: children }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: activeIndex, dotCount: itemCount, listType: listType, version: version })) : null] }));
704
558
  });
705
559
 
560
+ const dirname = (path) => path?.split('/').slice(0, -1).join('/');
561
+
562
+ const isURL = (href) => Boolean(href?.includes(':'));
563
+ const isLocalURL = (href, target) => Boolean(href && !isURL(href) && (!target || target === '_self'));
564
+ const isHash = (href) => Boolean(href?.startsWith('#'));
565
+ const withoutQuery = (href) => (href || '').replace(/\?.*/, '').replace(/\/$/, '');
566
+ const joinPath = (...path) => path.filter(Boolean).join('/').replace(/\/+/g, '/');
567
+
568
+ var url = /*#__PURE__*/Object.freeze({
569
+ __proto__: null,
570
+ isURL: isURL,
571
+ isLocalURL: isLocalURL,
572
+ isHash: isHash,
573
+ withoutQuery: withoutQuery,
574
+ joinPath: joinPath
575
+ });
576
+
577
+ const adjustHref = (router) => (href) => {
578
+ if (!href || isURL(href) || (projectSettings.CDN && href.startsWith(projectSettings.CDN))) {
579
+ return href;
580
+ }
581
+ const isRelativeToBase = href.startsWith('/');
582
+ return joinPath(projectSettings.BASE_PATH, isRelativeToBase ? '/' : dirname(router.pathname), href);
583
+ };
584
+
706
585
  /* eslint-disable @typescript-eslint/ban-types */
707
586
  const handlerDecorator = (handler, targetContent) => {
708
587
  return handlerDecorator._impl(handler, targetContent);
@@ -712,6 +591,24 @@
712
591
  handlerDecorator._impl = impl;
713
592
  };
714
593
 
594
+ function useRouter() {
595
+ return useRouter._impl();
596
+ }
597
+ useRouter._impl = () => ({
598
+ href: globalThis.location?.href || '/',
599
+ pathname: globalThis.location?.pathname || '/',
600
+ query: {},
601
+ push: () => {
602
+ // Do nothing
603
+ },
604
+ replace: () => {
605
+ // Do nothing
606
+ },
607
+ });
608
+ useRouter.setup = (impl) => {
609
+ useRouter._impl = impl;
610
+ };
611
+
715
612
  function useLink(isRemote = false) {
716
613
  const router = useRouter();
717
614
  return (props) => ({
@@ -810,6 +707,61 @@
810
707
  const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
811
708
  const DIVIDER_CLASSES = 'border-main-divider border border-t-0 border-x-0';
812
709
 
710
+ const svgUseStyleMap = {
711
+ normal: '',
712
+ color: 'text-primary-main',
713
+ black: 'text-black',
714
+ white: 'text-black',
715
+ };
716
+ const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = 'color', asSVG, ...imgProps }) => {
717
+ const router = useRouter();
718
+ const href = adjustHref(router)(joinPath(projectSettings.CDN, '/icons', `${name}.svg`));
719
+ if (asSVG && iconVersion !== 'normal') {
720
+ return (jsx(Background, { className: className, children: jsxs("svg", { className: style(getSvgSize(imgProps.width), svgUseStyleMap[iconVersion], iconVersion === 'white' ? 'invert' : '', imageClassName), ...imgProps, "aria-hidden": "true", children: [title ? jsx("title", { children: title }) : null, alt ? jsx("desc", { children: alt }) : null, jsx("use", { href: `${href}#icon`, xlinkHref: `${href}#icon` })] }) }));
721
+ }
722
+ if (!className.includes('h-')) {
723
+ imgProps['style'] = { height: `${imgProps.height}px` };
724
+ }
725
+ return (jsx("img", { className: className, src: href, alt: alt, title: title, "aria-hidden": "true", ...imgProps }));
726
+ });
727
+ const getSvgSize = (width) => (width ? '' : 'w-full h-full');
728
+ const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
729
+
730
+ const sourcesComparator = (a, b) => a?.media && b?.media ? a.media - b.media : 0;
731
+ const ImgAsPicture = JSX(({ className = '', image, imageClassName = '', isMobile = false, pathPrefix }) => {
732
+ const router = useRouter();
733
+ const pictureStyles = isMobile ? 'flex' : 'flex-none';
734
+ return (jsxs("picture", { className: `${pictureStyles} ${className}`, children: [image?.sources?.length
735
+ ? image.sources
736
+ .filter((_) => _?.src)
737
+ .sort(sourcesComparator)
738
+ .map(({ src, format, media }, index) => (jsx("source", { srcSet: adjustSrc(router, pathPrefix)(src), type: formatToMimeType(format), media: media ? `(max-width: ${media}px)` : '', ...image.size }, `${index}_${src}`)))
739
+ : null, image?.src
740
+ ? renderImg({ ...image, src: adjustSrc(router, pathPrefix)(image.src) }, imageClassName, isMobile)
741
+ : null] }));
742
+ });
743
+ const renderImg = (image, imageClassName = '', isMobile = false) => {
744
+ const style = {
745
+ width: image.size?.width ? `${image.size?.width}px` : '100%',
746
+ height: image.size?.height ? `${image.size?.height}px` : '100%',
747
+ };
748
+ const title = image.title || '';
749
+ const alt = image.alt || image.title;
750
+ const imgStyle = isMobile ? 'm-auto' : 'm-0';
751
+ return (jsx("img", { src: image.src, className: `${imgStyle} ${imageClassName}`, alt: alt, title: title, style: style, ...image.size }));
752
+ };
753
+ const adjustSrc = (router, pathPrefix) => (src) => src && !isURL(src) ? adjustHref(router)(joinPath(pathPrefix, src)) : src;
754
+ const formatToMimeType = (format) => format ? `image/${String(format)}` : undefined;
755
+
756
+ const ImgInner = JSX(({ className = '', image, imageClassName = '', isMobile, pathPrefix, ...iconProps }) => {
757
+ if (!image?.src && !image?.icon) {
758
+ return null;
759
+ }
760
+ return image.icon ? (jsx(Icon, { className: className, imageClassName: imageClassName, iconVersion: image?.iconVersion || 'normal', name: image.icon, ...iconProps })) : (jsx(ImgAsPicture, { className: className, imageClassName: imageClassName, image: image, isMobile: isMobile, pathPrefix: pathPrefix }));
761
+ });
762
+
763
+ const Img = JSX((props) => jsx(ImgInner, { ...props, isMobile: true }));
764
+
813
765
  const headingStyle = (isFillGradient = false) => (isFillGradient ? 'text-white' : '');
814
766
  const subtitleStyle = (isFillGradient = false) => `text-s mb-3.5 ${isFillGradient ? 'text-white' : 'text-secondary-text/80'}`;
815
767
  const HeaderCell = JSX(({ icon, image, title, subtitle, isFillGradient }) => (jsxs("div", { role: "columnheader", children: [icon ? (jsx(Img, { className: "h-[63px] w-[63px] min-w-[63px] min-h-[63px] mb-4", image: icon, width: "63", height: "63" })) : null, image?.src && (jsx("div", { className: "mb-3.5", children: jsx(Img, { image: image }) })), title ? (jsx(Heading, { headingType: "h4", className: headingStyle(isFillGradient), title: title })) : null, subtitle ? jsx("div", { className: subtitleStyle(isFillGradient), children: subtitle }) : null] })));
@@ -951,6 +903,11 @@
951
903
 
952
904
  const SearchBar = JSX((props) => (jsx(SearchBarInner, { ...props, isMobile: true })));
953
905
 
906
+ const getIconWithVersion = (icon, version = 'primary') => ({
907
+ ...icon,
908
+ iconVersion: icon?.iconVersion ?? (version === 'secondary' ? 'white' : 'color'),
909
+ });
910
+
954
911
  const LinkList = JSX(({ className = '', documents, ...rest }) => (jsx(BlockWrapper, { className: `mt-2.5 ${className}`, ...rest, children: jsx("ul", { className: "flex flex-col text-s text-secondary-text p-0", children: documents?.length ? renderLinkListItem(documents) : null }) })));
955
912
  const renderLinkListItem = (documents) => {
956
913
  return documents.map((doc, i) => {
@@ -990,6 +947,72 @@
990
947
  return (jsx("div", { className: `col-span-12 rounded-md cursor-pointer p-4 mt-6 mb-6 bg-secondary-light font-sans ${className}`, children: href ? (jsxs("div", { className: "flex", children: [jsx("div", { className: "flex justify-center align-middle rounded-md bg-primary-main w-12 h-12", children: jsx(Logo, { className: "w-8", bgColor: "transparent", showTitle: true }) }), jsxs("a", { href: href, target: "_blank", className: "flex flex-col justify-center pl-3", children: [jsx("div", { className: "text-s font-medium mb-[3px]", children: title }), jsx("div", { className: "text-s text-secondary-text", children: description })] })] })) : null }));
991
948
  });
992
949
 
950
+ function getParentBlockDef(options) {
951
+ return options?.parent || {};
952
+ }
953
+
954
+ function getParentBlockContent(options, defaultContent) {
955
+ const { content } = getParentBlockDef(options);
956
+ return content || defaultContent;
957
+ }
958
+
959
+ const DefaultFoldButton = JSX(({ className = '', label, icon, dataTheme = '', onClick }) => {
960
+ const STATE_STYLE = 'hover:bg-primary-hover focus:border-primary-text active:bg-primary-active outline-none';
961
+ const DIMENSIONS_STYLE = 'flex justify-center w-full px-0 py-5';
962
+ return (jsxs("button", { className: [
963
+ 'border border-transparent bg-primary-main font-sans text-white cursor-pointer',
964
+ STATE_STYLE,
965
+ DIMENSIONS_STYLE,
966
+ className,
967
+ ].join(' '), "data-theme": dataTheme, onClick: onClick, children: [jsx("span", { className: "text-h4 pr-3", children: label }), icon ? (jsx(Img, { image: {
968
+ icon,
969
+ iconVersion: 'white',
970
+ }, className: "flex-shrink-0 my-auto", width: "20", height: "20", asSVG: true })) : null] }));
971
+ });
972
+
973
+ const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
974
+ const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
975
+ const onToggle = useCallback(() => {
976
+ setIsUnfolded((_) => !_);
977
+ }, []);
978
+ const sectionNode = renderFoldableSection({ isUnfolded, onToggle });
979
+ const buttonNode = renderFoldButton ? renderFoldButton({ isUnfolded, onToggle }) : null;
980
+ return isFoldButtonOnTop ? (jsxs("div", { className: className, children: [buttonNode, sectionNode] })) : (jsxs("div", { className: className, children: [sectionNode, buttonNode] }));
981
+ });
982
+
983
+ const FoldableSection = JSX(({ className = '', isUnfolded, children }) => {
984
+ const containerRef = useRef(null);
985
+ useEffect(() => {
986
+ if (containerRef.current) {
987
+ containerRef.current.style.maxHeight = isUnfolded
988
+ ? `${containerRef.current.scrollHeight}px`
989
+ : '';
990
+ }
991
+ }, [isUnfolded, children?.length]);
992
+ return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden ${containerRef.current || !isUnfolded ? 'max-h-0' : ''} ${className}`, children: children }));
993
+ });
994
+
995
+ const Text = JSX(({ children, ...style }) => (jsx("span", { className: ['font-sans', ...Object.values(style)].join(' '), children: children })));
996
+
997
+ const RollupItem = JSX(({ className = '', label = 'Развернуть', isExpanded, isFoldButtonOnTop = true, version = 'primary', ...rest }) => {
998
+ const { bordered } = getParentBlockContent(rest.options, {});
999
+ return (jsx(BlockWrapper, { className: style('border-b border-solid border-main-divider w-full', bordered ? 'border p-4 rounded mb-4' : 'border-0 border-b last:border-b-0', className), tag: "div", version: "transparent", ...rest, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: "flex flex-wrap group-last:last:pb-0 gap-5 [&>*]:p-0", isUnfolded: isUnfolded, children: renderChildren(rest) })), renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton({ version, label, isUnfolded, onToggle }) }) }));
1000
+ });
1001
+ RollupItem.childrenTypes = {
1002
+ exclude: ['RollupItem', 'Accordion', 'OtherProducts'],
1003
+ };
1004
+ const renderFoldButton = ({ version, label: defaultLabel, isUnfolded, onToggle, className = '', primaryIcon, }) => {
1005
+ const label = defaultLabel || (isUnfolded ? 'Скрыть' : 'Развернуть');
1006
+ return version === 'primary' ? (renderPrimaryFoldButton({
1007
+ label,
1008
+ icon: isUnfolded ? 'MinusIcon' : 'PlusIcon',
1009
+ onToggle,
1010
+ className,
1011
+ primaryIcon,
1012
+ })) : (jsx(DefaultFoldButton, { label: label, icon: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', onClick: onToggle }));
1013
+ };
1014
+ const renderPrimaryFoldButton = ({ label, icon, primaryIcon, onToggle, }) => (jsxs("button", { className: `border-none bg-transparent flex justify-between text-left w-full text-primary-text group cursor-pointer py-3.5 px-0`, onClick: onToggle, children: [jsxs("div", { className: "flex group-hover:text-primary-main", children: [primaryIcon ? (jsx(Img, { image: { ...getIconWithVersion({ ...primaryIcon }) }, className: "mr-3 flex-shrink-0", width: "24", height: "24", asSVG: true })) : null, jsx(Text, { size: "text-m-title-xs", font: "font-medium", children: label })] }), jsx(Img, { className: "flex-shrink-0", image: { ...getIconWithVersion({ icon: icon }) }, width: "24", height: "24", asSVG: true })] }));
1015
+
993
1016
  const Contacts = JSX(({ className = '', items, hasButton }) => (jsxs("div", { className: className, children: [items?.length ? items.map(renderContact) : null, hasButton ? (jsx(Button, { version: "primary", className: "mb-6 w-full", href: "https://www.rshb.ru/feedback/question/", target: "_blank", ariaLabel: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C", text: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C" })) : null] })));
994
1017
  const renderContact = (item, index) => {
995
1018
  const { type, text, description } = item;
@@ -1077,7 +1100,7 @@
1077
1100
  const fallback = rest.options?.page?.fallback;
1078
1101
  const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', fallback);
1079
1102
  const { documents, relatedEnterprises, contacts, socialMedia, horizontalNavigationTitle } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
1080
- return (jsxs("footer", { className: `font-sans px-4 py-[26px] bg-white ${className}`, children: [jsx(Contacts, { className: "overflow-hidden", items: contacts, hasButton: true }), jsx(AccordionItemsList, { children: sitemap.topItems?.map((item, i) => (jsx(AccordionItem, { label: item.text, children: jsx(LinkList, { documents: item.items }) }, String(i)))) }), jsx("div", { children: sitemap?.dispositions?.map(renderSubMenuItem) }), jsx(MobileAppTile, { title: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435", description: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0434\u043B\u044F IOS \u0438 Android", ...rest }), jsx(SearchBar, { className: "grow" }), jsx(SocialMedia, { className: "pb-4", media: socialMedia }), jsx(HorizontalNavigation, { title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
1103
+ return (jsxs(BlockWrapper, { tag: "footer", className: `px-4 py-[26px] ${className}`, ...rest, children: [jsx(Contacts, { className: "overflow-hidden", items: contacts, hasButton: true }), jsx("div", { className: "m-0 p-0", children: sitemap.topItems?.map((item, i) => (jsx(RollupItem, { label: item?.text, children: jsx(LinkList, { documents: item.items }) }, String(i)))) }), jsx("div", { children: sitemap?.dispositions?.map(renderSubMenuItem) }), jsx(MobileAppTile, { title: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435", description: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0434\u043B\u044F IOS \u0438 Android", ...rest }), jsx(SearchBar, { className: "grow" }), jsx(SocialMedia, { className: "pb-4", media: socialMedia }), jsx(HorizontalNavigation, { title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
1081
1104
  });
1082
1105
  const renderSubMenuItem = (menu, i) => {
1083
1106
  const { icon, href, text } = menu;
@@ -1172,7 +1195,7 @@
1172
1195
  const activeSubItem = findActiveSubItem(router)(subItems);
1173
1196
  const [burgerMenuShow, setBurgerMenuShow] = useState(false);
1174
1197
  const handleBurgerMenuShow = useCallback(() => setBurgerMenuShow((_) => !_), []);
1175
- return (jsxs(BlockWrapper, { tag: "header", version: version, ...rest, children: [jsxs("div", { className: "container px-4 py-0 box-border", children: [jsx(HeaderTop, { onClick: handleBurgerMenuShow, bgColor: bgColor, logo: logo }), jsx("nav", { className: "flex items-center m-0 p-0 overflow-y-hidden w-full h-12", children: jsx("div", { className: "flex no-scrollbar horizontal-list h-full items-center", children: subItems?.map((_, i) => (jsx(HeaderItem, { className: "mr-8 whitespace-nowrap text-s", active: _ === activeSubItem, ..._ }, String(i)))) }) })] }), burgerMenuShow ? (jsx(HeaderBurger, { onClick: handleBurgerMenuShow, burgerSubMenu: dispositions, defaultLocation: defaultLocation, children: jsx(AccordionItemsList, { children: topItems?.map((item, i) => (jsx(AccordionItem, { label: item.text, children: jsx(LinkList, { documents: item.items }) }, String(i)))) }) })) : null] }));
1198
+ return (jsxs(BlockWrapper, { tag: "header", version: version, ...rest, children: [jsxs("div", { className: "container px-4 py-0 box-border", children: [jsx(HeaderTop, { onClick: handleBurgerMenuShow, bgColor: bgColor, logo: logo }), jsx("nav", { className: "flex items-center m-0 p-0 overflow-y-hidden w-full h-12", children: jsx("div", { className: "flex no-scrollbar horizontal-list h-full items-center", children: subItems?.map((_, i) => (jsx(HeaderItem, { className: "mr-8 whitespace-nowrap text-s", active: _ === activeSubItem, ..._ }, String(i)))) }) })] }), burgerMenuShow ? (jsx(HeaderBurger, { onClick: handleBurgerMenuShow, burgerSubMenu: dispositions, defaultLocation: defaultLocation, children: jsx("div", { className: "list-none m-0 p-0", children: topItems?.map((item, i) => (jsx(RollupItem, { label: item.text, children: jsx(LinkList, { documents: item.items }) }, String(i)))) }) })) : null] }));
1176
1199
  });
1177
1200
 
1178
1201
  const headlineVersionStyles = {
@@ -1208,9 +1231,10 @@
1208
1231
  },
1209
1232
  };
1210
1233
 
1211
- const Headline = JSX(({ className, title, description, headlineVersion = 'XL', align = 'text-center', as, ...rest }) => {
1234
+ const Headline = JSX(({ className, title, description, headlineVersion = 'XL', align = 'text-center', as, isPadding = true, ...rest }) => {
1212
1235
  const versionStyle = headlineVersionStyles[headlineVersion];
1213
- return (jsxs(BlockWrapper, { className: style('flex flex-col p-12 group-data-secondary:bg-primary-main group-data-secondary:text-white', versionStyle.wrapper, className), ...rest, children: [title ? (jsx(Heading, { className: style('whitespace-pre-wrap', align), ...versionStyle?.title, as: as || versionStyle?.title.as, title: title })) : null, description ? (jsx(Paragraph, { color: "group-data-secondary:text-white/80", size: versionStyle.descriptionSize, align: align, children: description })) : null] }));
1236
+ const paddingStyle = isPadding ? 'p-12' : '';
1237
+ return (jsxs(BlockWrapper, { className: style('flex flex-col group-data-secondary:bg-primary-main group-data-secondary:text-white', paddingStyle, versionStyle.wrapper, className), ...rest, children: [title ? (jsx(Heading, { className: style('whitespace-pre-wrap', align), ...versionStyle?.title, as: as || versionStyle?.title.as, title: title })) : null, description ? (jsx(Paragraph, { color: "group-data-secondary:text-white/80", size: versionStyle.descriptionSize, align: align, children: description })) : null] }));
1214
1238
  });
1215
1239
 
1216
1240
  const LinkDocsListItemBase = JSX(({ className, iconClassName, textClassName, suffixClassName, doc, icon }) => {
@@ -1326,7 +1350,7 @@
1326
1350
  M: 'ml-3',
1327
1351
  L: 'ml-4',
1328
1352
  };
1329
- const List = JSX(({ className = '', hasIndent, isDotted, itemClassName = '', items, listItemSize = 'M' }) => items?.length ? (jsx("section", { className: `text-primary-text group-data-secondary:text-white group-data-gray:text-secondary-text ${TEXT_SIZE_MAP[listItemSize]} ${hasIndent ? ITEM_INDENT_MAP[listItemSize] : ''} ${className}`, role: "list", children: items.map((item, i) => (jsx(ListItem, { className: `${itemClassName} mb-1.5`, isDotted: isDotted, size: listItemSize, children: item }, String(i)))) })) : null);
1353
+ const List = JSX(({ className = '', hasIndent, isDotted, itemClassName = '', items, listItemSize = 'M' }) => items?.length ? (jsx("section", { className: `text-primary-text group-data-secondary:text-white group-data-gray:text-secondary-text ${TEXT_SIZE_MAP[listItemSize]} ${hasIndent ? ITEM_INDENT_MAP[listItemSize] : ''} ${className}`, role: "list", children: items.map((item, i) => (jsx(ListItem, { className: itemClassName, isDotted: isDotted, size: listItemSize, children: item }, String(i)))) })) : null);
1330
1354
 
1331
1355
  const BaseTile = JSX(({ className = '', title = '', buttons, image, children }) => (jsxs("div", { className: `font-sans flex flex-col grow h-full items-start ${className}`, children: [title, jsxs("div", { className: "flex grow w-full justify-between", children: [jsxs("div", { className: "flex flex-col justify-between w-full", children: [jsx("div", { className: "h-full", children: children }), buttons ? jsx("div", { className: "mt-auto pt-8", children: buttons }) : null] }), image] })] })));
1332
1356
 
@@ -1475,9 +1499,30 @@
1475
1499
  return image?.src ? jsx(Img, { className: "pb-3 mr-auto", image: image }) : null;
1476
1500
  }
1477
1501
 
1502
+ const gapStyles = {
1503
+ XXL: 'gap-12',
1504
+ XL: 'gap-10',
1505
+ L: 'gap-8',
1506
+ M: 'gap-4',
1507
+ S: 'gap-2',
1508
+ XS: 'gap-1',
1509
+ '': '',
1510
+ };
1511
+
1512
+ const alignStyle = {
1513
+ stretch: 'items-stretch',
1514
+ left: 'items-start',
1515
+ center: 'items-center',
1516
+ right: 'items-end',
1517
+ };
1518
+ const VerticalLayout = JSX(({ className = '', gap = '', align = 'stretch', isPadding = false, isInnerPadding = true, version = 'transparent', options, ...rest }) => {
1519
+ const innerPaddingStyle = isInnerPadding ? '' : '!p-0';
1520
+ return (jsx(BlockWrapper, { className: style('flex flex-col [&>*]:max-w-full', isPadding ? 'p-12' : '', gapStyles[gap], align && alignStyle[align], className), version: version, ...rest, children: renderChildren({ ...rest, options: { ...options, className: innerPaddingStyle } }) }));
1521
+ });
1522
+ VerticalLayout.childrenTypes = [];
1523
+
1478
1524
  const Blocks = {
1479
1525
  Accordion,
1480
- AccordionItem,
1481
1526
  ComparisonTable,
1482
1527
  Footer,
1483
1528
  Header,
@@ -1486,10 +1531,12 @@
1486
1531
  LinkList,
1487
1532
  MobileAppTile,
1488
1533
  ProductBlock,
1534
+ RollupItem,
1489
1535
  StepsBlock,
1490
1536
  TariffsTable,
1491
1537
  TextBlock,
1492
1538
  Placeholder,
1539
+ VerticalLayout,
1493
1540
  };
1494
1541
 
1495
1542
  const debounce = (fn, delay = 600) => {
@@ -1619,7 +1666,7 @@
1619
1666
  return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
1620
1667
  }
1621
1668
 
1622
- const packageVersion = "0.8.23";
1669
+ const packageVersion = "0.8.25";
1623
1670
 
1624
1671
  exports.Blocks = Blocks;
1625
1672
  exports.ContentPage = ContentPage;