@redneckz/wildless-cms-uni-blocks 0.5.12 → 0.5.14

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 (474) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +136 -84
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/Accordion/AccordionContent.d.ts +9 -7
  5. package/bundle/components/Accordion/AccordionItem.d.ts +1 -4
  6. package/bundle/components/Accordion/AccordionItem.mobile.d.ts +1 -4
  7. package/bundle/components/Accordion/AccordionItemProps.d.ts +5 -0
  8. package/bundle/components/Accordion/AccordionItemsList.d.ts +1 -0
  9. package/bundle/components/Blocks.d.ts +3 -1
  10. package/bundle/components/InvestmentInfo/InvestmentInfo.d.ts +5 -0
  11. package/bundle/components/InvestmentInfo/InvestmentInfoContent.d.ts +49 -0
  12. package/bundle/components/OtherProducts/OtherProducts.d.ts +2 -1
  13. package/bundle/components/OtherProducts/OtherProductsContent.d.ts +1 -21
  14. package/bundle/components/OtherProductsItem/OtherProductsItem.d.ts +6 -0
  15. package/bundle/components/OtherProductsItem/OtherProductsItemContent.d.ts +14 -0
  16. package/bundle/components/StepsBlock/renderItems.d.ts +7 -2
  17. package/bundle/components/StepsBlock/renderStepContent.d.ts +14 -0
  18. package/bundle/model/BlockDecorator.d.ts +1 -0
  19. package/bundle/model/BlocksRegistry.d.ts +4 -1
  20. package/bundle/ui-kit/Foldable/DefaultFoldButton.d.ts +14 -0
  21. package/bundle/ui-kit/Foldable/Foldable.d.ts +3 -10
  22. package/bundle/ui-kit/Foldable/FoldablePartProps.d.ts +4 -0
  23. package/bundle/ui-kit/Foldable/FoldableSection.d.ts +5 -0
  24. package/dist/components/Accordion/Accordion.js +3 -1
  25. package/dist/components/Accordion/Accordion.js.map +1 -1
  26. package/dist/components/Accordion/Accordion.mobile.js +5 -2
  27. package/dist/components/Accordion/Accordion.mobile.js.map +1 -1
  28. package/dist/components/Accordion/AccordionContent.d.ts +9 -7
  29. package/dist/components/Accordion/AccordionItem.d.ts +1 -4
  30. package/dist/components/Accordion/AccordionItem.js +3 -8
  31. package/dist/components/Accordion/AccordionItem.js.map +1 -1
  32. package/dist/components/Accordion/AccordionItem.mobile.d.ts +1 -4
  33. package/dist/components/Accordion/AccordionItem.mobile.js +2 -5
  34. package/dist/components/Accordion/AccordionItem.mobile.js.map +1 -1
  35. package/dist/components/Accordion/AccordionItemProps.d.ts +5 -0
  36. package/dist/components/Accordion/AccordionItemProps.js +2 -0
  37. package/dist/components/Accordion/AccordionItemProps.js.map +1 -0
  38. package/dist/components/Accordion/AccordionItemsList.d.ts +1 -0
  39. package/dist/components/Accordion/AccordionItemsList.js +6 -0
  40. package/dist/components/Accordion/AccordionItemsList.js.map +1 -0
  41. package/dist/components/Blocks.d.ts +3 -1
  42. package/dist/components/Blocks.js +4 -0
  43. package/dist/components/Blocks.js.map +1 -1
  44. package/dist/components/ContentPage/filterBlocks.js +1 -2
  45. package/dist/components/ContentPage/filterBlocks.js.map +1 -1
  46. package/dist/components/ContentPage/filterBlocks.mobile.js +1 -3
  47. package/dist/components/ContentPage/filterBlocks.mobile.js.map +1 -1
  48. package/dist/components/ContentPage/renderBlock.js +8 -7
  49. package/dist/components/ContentPage/renderBlock.js.map +1 -1
  50. package/dist/components/Footer/Footer.mobile.js +8 -7
  51. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  52. package/dist/components/Header/Header.mobile.js +5 -5
  53. package/dist/components/Header/Header.mobile.js.map +1 -1
  54. package/dist/components/InvestmentInfo/InvestmentInfo.d.ts +5 -0
  55. package/dist/components/InvestmentInfo/InvestmentInfo.js +49 -0
  56. package/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -0
  57. package/dist/components/InvestmentInfo/InvestmentInfoContent.d.ts +49 -0
  58. package/dist/components/InvestmentInfo/InvestmentInfoContent.js +2 -0
  59. package/dist/components/InvestmentInfo/InvestmentInfoContent.js.map +1 -0
  60. package/dist/components/OtherProducts/OtherProducts.d.ts +2 -1
  61. package/dist/components/OtherProducts/OtherProducts.js +2 -4
  62. package/dist/components/OtherProducts/OtherProducts.js.map +1 -1
  63. package/dist/components/OtherProducts/OtherProductsContent.d.ts +1 -21
  64. package/dist/components/OtherProductsItem/OtherProductsItem.d.ts +6 -0
  65. package/dist/components/OtherProductsItem/OtherProductsItem.js +11 -0
  66. package/dist/components/OtherProductsItem/OtherProductsItem.js.map +1 -0
  67. package/dist/components/OtherProductsItem/OtherProductsItemContent.d.ts +14 -0
  68. package/dist/components/OtherProductsItem/OtherProductsItemContent.js +2 -0
  69. package/dist/components/OtherProductsItem/OtherProductsItemContent.js.map +1 -0
  70. package/dist/components/StepsBlock/StepsBlock.js +2 -8
  71. package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  72. package/dist/components/StepsBlock/StepsBlockStyleMaps.js +2 -2
  73. package/dist/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
  74. package/dist/components/StepsBlock/renderItems.d.ts +7 -2
  75. package/dist/components/StepsBlock/renderItems.js +5 -1
  76. package/dist/components/StepsBlock/renderItems.js.map +1 -1
  77. package/dist/components/StepsBlock/renderStepContent.d.ts +14 -0
  78. package/dist/components/StepsBlock/renderStepContent.js +20 -0
  79. package/dist/components/StepsBlock/renderStepContent.js.map +1 -0
  80. package/dist/components/TariffsTable/TariffsTable.js +11 -2
  81. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  82. package/dist/model/BlockDecorator.d.ts +1 -0
  83. package/dist/model/BlockDecorator.js +2 -1
  84. package/dist/model/BlockDecorator.js.map +1 -1
  85. package/dist/model/BlocksRegistry.d.ts +4 -1
  86. package/dist/ui-kit/Foldable/DefaultFoldButton.d.ts +14 -0
  87. package/dist/ui-kit/Foldable/DefaultFoldButton.js +16 -0
  88. package/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -0
  89. package/dist/ui-kit/Foldable/Foldable.d.ts +3 -10
  90. package/dist/ui-kit/Foldable/Foldable.js +7 -23
  91. package/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  92. package/dist/ui-kit/Foldable/FoldablePartProps.d.ts +4 -0
  93. package/dist/ui-kit/Foldable/{FoldButtonProps.js → FoldablePartProps.js} +1 -1
  94. package/dist/ui-kit/Foldable/FoldablePartProps.js.map +1 -0
  95. package/dist/ui-kit/Foldable/FoldableSection.d.ts +5 -0
  96. package/dist/ui-kit/Foldable/FoldableSection.js +17 -0
  97. package/dist/ui-kit/Foldable/FoldableSection.js.map +1 -0
  98. package/lib/common.css +1 -1
  99. package/lib/components/Accordion/Accordion.js +3 -1
  100. package/lib/components/Accordion/Accordion.js.map +1 -1
  101. package/lib/components/Accordion/Accordion.mobile.js +5 -2
  102. package/lib/components/Accordion/Accordion.mobile.js.map +1 -1
  103. package/lib/components/Accordion/AccordionContent.d.ts +9 -7
  104. package/lib/components/Accordion/AccordionItem.d.ts +1 -4
  105. package/lib/components/Accordion/AccordionItem.js +3 -8
  106. package/lib/components/Accordion/AccordionItem.js.map +1 -1
  107. package/lib/components/Accordion/AccordionItem.mobile.d.ts +1 -4
  108. package/lib/components/Accordion/AccordionItem.mobile.js +2 -5
  109. package/lib/components/Accordion/AccordionItem.mobile.js.map +1 -1
  110. package/lib/components/Accordion/AccordionItemProps.d.ts +5 -0
  111. package/lib/components/Accordion/AccordionItemProps.js +2 -0
  112. package/lib/components/Accordion/AccordionItemProps.js.map +1 -0
  113. package/lib/components/Accordion/AccordionItemsList.d.ts +1 -0
  114. package/lib/components/Accordion/AccordionItemsList.js +4 -0
  115. package/lib/components/Accordion/AccordionItemsList.js.map +1 -0
  116. package/lib/components/Blocks.d.ts +3 -1
  117. package/lib/components/Blocks.js +4 -0
  118. package/lib/components/Blocks.js.map +1 -1
  119. package/lib/components/ContentPage/filterBlocks.js +1 -2
  120. package/lib/components/ContentPage/filterBlocks.js.map +1 -1
  121. package/lib/components/ContentPage/filterBlocks.mobile.js +1 -3
  122. package/lib/components/ContentPage/filterBlocks.mobile.js.map +1 -1
  123. package/lib/components/ContentPage/renderBlock.js +9 -8
  124. package/lib/components/ContentPage/renderBlock.js.map +1 -1
  125. package/lib/components/Footer/Footer.mobile.js +8 -7
  126. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  127. package/lib/components/Header/Header.mobile.js +5 -5
  128. package/lib/components/Header/Header.mobile.js.map +1 -1
  129. package/lib/components/InvestmentInfo/InvestmentInfo.d.ts +5 -0
  130. package/lib/components/InvestmentInfo/InvestmentInfo.fixture.d.ts +7 -0
  131. package/lib/components/InvestmentInfo/InvestmentInfo.js +47 -0
  132. package/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -0
  133. package/lib/components/InvestmentInfo/InvestmentInfoContent.d.ts +49 -0
  134. package/lib/components/InvestmentInfo/InvestmentInfoContent.js +2 -0
  135. package/lib/components/InvestmentInfo/InvestmentInfoContent.js.map +1 -0
  136. package/lib/components/OtherProducts/OtherProducts.d.ts +2 -1
  137. package/lib/components/OtherProducts/OtherProducts.fixture.d.ts +1 -0
  138. package/lib/components/OtherProducts/OtherProducts.js +2 -4
  139. package/lib/components/OtherProducts/OtherProducts.js.map +1 -1
  140. package/lib/components/OtherProducts/OtherProductsContent.d.ts +1 -21
  141. package/lib/components/OtherProductsItem/OtherProductsItem.d.ts +6 -0
  142. package/lib/components/OtherProductsItem/OtherProductsItem.fixture.d.ts +5 -0
  143. package/lib/components/OtherProductsItem/OtherProductsItem.js +9 -0
  144. package/lib/components/OtherProductsItem/OtherProductsItem.js.map +1 -0
  145. package/lib/components/OtherProductsItem/OtherProductsItemContent.d.ts +14 -0
  146. package/lib/components/OtherProductsItem/OtherProductsItemContent.js +2 -0
  147. package/lib/components/OtherProductsItem/OtherProductsItemContent.js.map +1 -0
  148. package/lib/components/StepsBlock/StepsBlock.fixture.d.ts +2 -1
  149. package/lib/components/StepsBlock/StepsBlock.js +2 -8
  150. package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  151. package/lib/components/StepsBlock/StepsBlockStyleMaps.js +2 -2
  152. package/lib/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
  153. package/lib/components/StepsBlock/renderItems.d.ts +7 -2
  154. package/lib/components/StepsBlock/renderItems.js +6 -2
  155. package/lib/components/StepsBlock/renderItems.js.map +1 -1
  156. package/lib/components/StepsBlock/renderStepContent.d.ts +14 -0
  157. package/lib/components/StepsBlock/renderStepContent.js +17 -0
  158. package/lib/components/StepsBlock/renderStepContent.js.map +1 -0
  159. package/lib/components/TariffsTable/TariffsTable.js +11 -2
  160. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  161. package/lib/model/BlockDecorator.d.ts +1 -0
  162. package/lib/model/BlockDecorator.js +1 -0
  163. package/lib/model/BlockDecorator.js.map +1 -1
  164. package/lib/model/BlocksRegistry.d.ts +4 -1
  165. package/lib/ui-kit/Foldable/DefaultFoldButton.d.ts +14 -0
  166. package/lib/ui-kit/Foldable/DefaultFoldButton.js +13 -0
  167. package/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -0
  168. package/lib/ui-kit/Foldable/Foldable.d.ts +3 -10
  169. package/lib/ui-kit/Foldable/Foldable.js +9 -25
  170. package/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  171. package/lib/ui-kit/Foldable/FoldablePartProps.d.ts +4 -0
  172. package/lib/ui-kit/Foldable/FoldablePartProps.js +2 -0
  173. package/lib/ui-kit/Foldable/FoldablePartProps.js.map +1 -0
  174. package/lib/ui-kit/Foldable/FoldableSection.d.ts +5 -0
  175. package/lib/ui-kit/Foldable/FoldableSection.js +15 -0
  176. package/lib/ui-kit/Foldable/FoldableSection.js.map +1 -0
  177. package/mobile/bundle/bundle.umd.js +138 -159
  178. package/mobile/bundle/bundle.umd.min.js +1 -1
  179. package/mobile/bundle/components/Accordion/AccordionContent.d.ts +9 -7
  180. package/mobile/bundle/components/Accordion/AccordionItem.d.ts +1 -4
  181. package/mobile/bundle/components/Accordion/AccordionItemProps.d.ts +5 -0
  182. package/mobile/bundle/components/Accordion/AccordionItemsList.d.ts +1 -0
  183. package/mobile/bundle/components/InvestmentInfo/InvestmentInfo.d.ts +5 -0
  184. package/mobile/bundle/components/InvestmentInfo/InvestmentInfoContent.d.ts +49 -0
  185. package/mobile/bundle/components/OtherProducts/OtherProducts.d.ts +2 -1
  186. package/mobile/bundle/components/OtherProducts/OtherProductsContent.d.ts +1 -21
  187. package/mobile/bundle/components/OtherProductsItem/OtherProductsItem.d.ts +6 -0
  188. package/mobile/bundle/components/OtherProductsItem/OtherProductsItemContent.d.ts +14 -0
  189. package/mobile/bundle/components/StepsBlock/renderItems.d.ts +7 -2
  190. package/mobile/bundle/components/StepsBlock/renderStepContent.d.ts +14 -0
  191. package/mobile/bundle/model/BlockDecorator.d.ts +1 -0
  192. package/mobile/bundle/model/BlocksRegistry.d.ts +4 -1
  193. package/mobile/bundle/ui-kit/Foldable/DefaultFoldButton.d.ts +14 -0
  194. package/mobile/bundle/ui-kit/Foldable/Foldable.d.ts +3 -10
  195. package/mobile/bundle/ui-kit/Foldable/FoldablePartProps.d.ts +4 -0
  196. package/mobile/bundle/ui-kit/Foldable/FoldableSection.d.ts +5 -0
  197. package/mobile/dist/components/Accordion/Accordion.js +5 -2
  198. package/mobile/dist/components/Accordion/Accordion.js.map +1 -1
  199. package/mobile/dist/components/Accordion/AccordionContent.d.ts +9 -7
  200. package/mobile/dist/components/Accordion/AccordionItem.d.ts +1 -4
  201. package/mobile/dist/components/Accordion/AccordionItem.js +2 -5
  202. package/mobile/dist/components/Accordion/AccordionItem.js.map +1 -1
  203. package/mobile/dist/components/Accordion/AccordionItemProps.d.ts +5 -0
  204. package/mobile/dist/components/Accordion/AccordionItemProps.js +2 -0
  205. package/mobile/dist/components/Accordion/AccordionItemProps.js.map +1 -0
  206. package/mobile/dist/components/Accordion/AccordionItemsList.d.ts +1 -0
  207. package/mobile/dist/components/Accordion/AccordionItemsList.js +6 -0
  208. package/mobile/dist/components/Accordion/AccordionItemsList.js.map +1 -0
  209. package/mobile/dist/components/ContentPage/filterBlocks.js +1 -3
  210. package/mobile/dist/components/ContentPage/filterBlocks.js.map +1 -1
  211. package/mobile/dist/components/ContentPage/renderBlock.js +8 -7
  212. package/mobile/dist/components/ContentPage/renderBlock.js.map +1 -1
  213. package/mobile/dist/components/Footer/Footer.js +8 -7
  214. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  215. package/mobile/dist/components/Header/Header.js +5 -5
  216. package/mobile/dist/components/Header/Header.js.map +1 -1
  217. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.d.ts +5 -0
  218. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js +49 -0
  219. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -0
  220. package/mobile/dist/components/InvestmentInfo/InvestmentInfoContent.d.ts +49 -0
  221. package/mobile/dist/components/InvestmentInfo/InvestmentInfoContent.js +2 -0
  222. package/mobile/dist/components/InvestmentInfo/InvestmentInfoContent.js.map +1 -0
  223. package/mobile/dist/components/OtherProducts/OtherProducts.d.ts +2 -1
  224. package/mobile/dist/components/OtherProducts/OtherProducts.js +2 -4
  225. package/mobile/dist/components/OtherProducts/OtherProducts.js.map +1 -1
  226. package/mobile/dist/components/OtherProducts/OtherProductsContent.d.ts +1 -21
  227. package/mobile/dist/components/OtherProductsItem/OtherProductsItem.d.ts +6 -0
  228. package/mobile/dist/components/OtherProductsItem/OtherProductsItem.js +11 -0
  229. package/mobile/dist/components/OtherProductsItem/OtherProductsItem.js.map +1 -0
  230. package/mobile/dist/components/OtherProductsItem/OtherProductsItemContent.d.ts +14 -0
  231. package/mobile/dist/components/OtherProductsItem/OtherProductsItemContent.js +2 -0
  232. package/mobile/dist/components/OtherProductsItem/OtherProductsItemContent.js.map +1 -0
  233. package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.js +2 -2
  234. package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
  235. package/mobile/dist/components/StepsBlock/renderItems.d.ts +7 -2
  236. package/mobile/dist/components/StepsBlock/renderItems.js +5 -1
  237. package/mobile/dist/components/StepsBlock/renderItems.js.map +1 -1
  238. package/mobile/dist/components/StepsBlock/renderStepContent.d.ts +14 -0
  239. package/mobile/dist/components/StepsBlock/renderStepContent.js +20 -0
  240. package/mobile/dist/components/StepsBlock/renderStepContent.js.map +1 -0
  241. package/mobile/dist/model/BlockDecorator.d.ts +1 -0
  242. package/mobile/dist/model/BlockDecorator.js +2 -1
  243. package/mobile/dist/model/BlockDecorator.js.map +1 -1
  244. package/mobile/dist/model/BlocksRegistry.d.ts +4 -1
  245. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.d.ts +14 -0
  246. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js +16 -0
  247. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -0
  248. package/mobile/dist/ui-kit/Foldable/Foldable.d.ts +3 -10
  249. package/mobile/dist/ui-kit/Foldable/Foldable.js +7 -23
  250. package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  251. package/mobile/dist/ui-kit/Foldable/FoldablePartProps.d.ts +4 -0
  252. package/mobile/dist/ui-kit/Foldable/{FoldButtonProps.js → FoldablePartProps.js} +1 -1
  253. package/mobile/dist/ui-kit/Foldable/FoldablePartProps.js.map +1 -0
  254. package/mobile/dist/ui-kit/Foldable/FoldableSection.d.ts +5 -0
  255. package/mobile/dist/ui-kit/Foldable/FoldableSection.js +17 -0
  256. package/mobile/dist/ui-kit/Foldable/FoldableSection.js.map +1 -0
  257. package/mobile/lib/components/Accordion/Accordion.js +5 -2
  258. package/mobile/lib/components/Accordion/Accordion.js.map +1 -1
  259. package/mobile/lib/components/Accordion/AccordionContent.d.ts +9 -7
  260. package/mobile/lib/components/Accordion/AccordionItem.d.ts +1 -4
  261. package/mobile/lib/components/Accordion/AccordionItem.js +2 -5
  262. package/mobile/lib/components/Accordion/AccordionItem.js.map +1 -1
  263. package/mobile/lib/components/Accordion/AccordionItemProps.d.ts +5 -0
  264. package/mobile/lib/components/Accordion/AccordionItemProps.js +2 -0
  265. package/mobile/lib/components/Accordion/AccordionItemProps.js.map +1 -0
  266. package/mobile/lib/components/Accordion/AccordionItemsList.d.ts +1 -0
  267. package/mobile/lib/components/Accordion/AccordionItemsList.js +4 -0
  268. package/mobile/lib/components/Accordion/AccordionItemsList.js.map +1 -0
  269. package/mobile/lib/components/ContentPage/filterBlocks.js +1 -3
  270. package/mobile/lib/components/ContentPage/filterBlocks.js.map +1 -1
  271. package/mobile/lib/components/ContentPage/renderBlock.js +9 -8
  272. package/mobile/lib/components/ContentPage/renderBlock.js.map +1 -1
  273. package/mobile/lib/components/Footer/Footer.js +8 -7
  274. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  275. package/mobile/lib/components/Header/Header.js +5 -5
  276. package/mobile/lib/components/Header/Header.js.map +1 -1
  277. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.d.ts +5 -0
  278. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js +47 -0
  279. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -0
  280. package/mobile/lib/components/InvestmentInfo/InvestmentInfoContent.d.ts +49 -0
  281. package/mobile/lib/components/InvestmentInfo/InvestmentInfoContent.js +2 -0
  282. package/mobile/lib/components/InvestmentInfo/InvestmentInfoContent.js.map +1 -0
  283. package/mobile/lib/components/OtherProducts/OtherProducts.d.ts +2 -1
  284. package/mobile/lib/components/OtherProducts/OtherProducts.js +2 -4
  285. package/mobile/lib/components/OtherProducts/OtherProducts.js.map +1 -1
  286. package/mobile/lib/components/OtherProducts/OtherProductsContent.d.ts +1 -21
  287. package/mobile/lib/components/OtherProductsItem/OtherProductsItem.d.ts +6 -0
  288. package/mobile/lib/components/OtherProductsItem/OtherProductsItem.js +9 -0
  289. package/mobile/lib/components/OtherProductsItem/OtherProductsItem.js.map +1 -0
  290. package/mobile/lib/components/OtherProductsItem/OtherProductsItemContent.d.ts +14 -0
  291. package/mobile/lib/components/OtherProductsItem/OtherProductsItemContent.js +2 -0
  292. package/mobile/lib/components/OtherProductsItem/OtherProductsItemContent.js.map +1 -0
  293. package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.js +2 -2
  294. package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
  295. package/mobile/lib/components/StepsBlock/renderItems.d.ts +7 -2
  296. package/mobile/lib/components/StepsBlock/renderItems.js +6 -2
  297. package/mobile/lib/components/StepsBlock/renderItems.js.map +1 -1
  298. package/mobile/lib/components/StepsBlock/renderStepContent.d.ts +14 -0
  299. package/mobile/lib/components/StepsBlock/renderStepContent.js +17 -0
  300. package/mobile/lib/components/StepsBlock/renderStepContent.js.map +1 -0
  301. package/mobile/lib/model/BlockDecorator.d.ts +1 -0
  302. package/mobile/lib/model/BlockDecorator.js +1 -0
  303. package/mobile/lib/model/BlockDecorator.js.map +1 -1
  304. package/mobile/lib/model/BlocksRegistry.d.ts +4 -1
  305. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.d.ts +14 -0
  306. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js +13 -0
  307. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -0
  308. package/mobile/lib/ui-kit/Foldable/Foldable.d.ts +3 -10
  309. package/mobile/lib/ui-kit/Foldable/Foldable.js +9 -25
  310. package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  311. package/mobile/lib/ui-kit/Foldable/FoldablePartProps.d.ts +4 -0
  312. package/mobile/lib/ui-kit/Foldable/FoldablePartProps.js +2 -0
  313. package/mobile/lib/ui-kit/Foldable/FoldablePartProps.js.map +1 -0
  314. package/mobile/lib/ui-kit/Foldable/FoldableSection.d.ts +5 -0
  315. package/mobile/lib/ui-kit/Foldable/FoldableSection.js +15 -0
  316. package/mobile/lib/ui-kit/Foldable/FoldableSection.js.map +1 -0
  317. package/mobile/src/common.css +11 -3
  318. package/mobile/src/components/Accordion/Accordion.tsx +17 -7
  319. package/mobile/src/components/Accordion/AccordionContent.ts +10 -7
  320. package/mobile/src/components/Accordion/AccordionItem.tsx +34 -30
  321. package/mobile/src/components/Accordion/AccordionItemProps.ts +6 -0
  322. package/mobile/src/components/Accordion/AccordionItemsList.tsx +5 -0
  323. package/mobile/src/components/ContentPage/filterBlocks.ts +1 -3
  324. package/mobile/src/components/ContentPage/renderBlock.tsx +16 -11
  325. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.ui.json +8 -1
  326. package/mobile/src/components/Footer/Footer.tsx +15 -13
  327. package/mobile/src/components/GracePeriod/GracePeriod.ui.json +5 -0
  328. package/mobile/src/components/Header/Header.tsx +16 -11
  329. package/mobile/src/components/InvestmentInfo/InvestmentInfo.example.json +48 -0
  330. package/mobile/src/components/InvestmentInfo/InvestmentInfo.tsx +149 -0
  331. package/mobile/src/components/InvestmentInfo/InvestmentInfo.ui.json +16 -0
  332. package/mobile/src/components/InvestmentInfo/InvestmentInfoContent.ts +55 -0
  333. package/mobile/src/components/OtherProducts/OtherProducts.example.json +1 -54
  334. package/mobile/src/components/OtherProducts/OtherProducts.tsx +13 -24
  335. package/mobile/src/components/OtherProducts/OtherProducts.ui.json +1 -76
  336. package/mobile/src/components/OtherProducts/OtherProductsContent.ts +1 -22
  337. package/mobile/src/components/OtherProductsItem/OtherProductsItem.example.json +3 -0
  338. package/mobile/src/components/OtherProductsItem/OtherProductsItem.tsx +39 -0
  339. package/mobile/src/components/OtherProductsItem/OtherProductsItem.ui.json +1 -0
  340. package/mobile/src/components/OtherProductsItem/OtherProductsItemContent.ts +17 -0
  341. package/mobile/src/components/SafeDepositRental/SafeDepositRental.ui.json +8 -1
  342. package/mobile/src/components/StepsBlock/StepsBlockStyleMaps.ts +2 -2
  343. package/mobile/src/components/StepsBlock/renderItems.tsx +24 -15
  344. package/mobile/src/components/StepsBlock/renderStepContent.tsx +63 -0
  345. package/mobile/src/model/BlockDecorator.ts +2 -0
  346. package/mobile/src/model/BlocksRegistry.ts +4 -1
  347. package/mobile/src/ui-kit/Foldable/DefaultFoldButton.tsx +52 -0
  348. package/mobile/src/ui-kit/Foldable/Foldable.tsx +19 -67
  349. package/mobile/src/ui-kit/Foldable/FoldablePartProps.ts +4 -0
  350. package/mobile/src/ui-kit/Foldable/FoldableSection.tsx +30 -0
  351. package/package.json +2 -2
  352. package/src/common.css +11 -3
  353. package/src/components/Accordion/Accordion.mobile.tsx +17 -7
  354. package/src/components/Accordion/Accordion.tsx +12 -3
  355. package/src/components/Accordion/AccordionContent.ts +10 -7
  356. package/src/components/Accordion/AccordionItem.mobile.tsx +34 -30
  357. package/src/components/Accordion/AccordionItem.tsx +24 -23
  358. package/src/components/Accordion/AccordionItemProps.ts +6 -0
  359. package/src/components/Accordion/AccordionItemsList.tsx +5 -0
  360. package/src/components/Blocks.ts +4 -0
  361. package/src/components/ContentPage/filterBlocks.mobile.ts +1 -3
  362. package/src/components/ContentPage/filterBlocks.ts +1 -2
  363. package/src/components/ContentPage/renderBlock.tsx +16 -11
  364. package/src/components/ExchangeRateTile/ExchangeRateTile.ui.json +8 -1
  365. package/src/components/Footer/Footer.mobile.tsx +15 -13
  366. package/src/components/GracePeriod/GracePeriod.ui.json +5 -0
  367. package/src/components/Header/Header.mobile.tsx +16 -11
  368. package/src/components/InvestmentInfo/InvestmentInfo.example.json +48 -0
  369. package/src/components/InvestmentInfo/InvestmentInfo.fixture.tsx +107 -0
  370. package/src/components/InvestmentInfo/InvestmentInfo.tsx +149 -0
  371. package/src/components/InvestmentInfo/InvestmentInfo.ui.json +16 -0
  372. package/src/components/InvestmentInfo/InvestmentInfoContent.ts +55 -0
  373. package/src/components/OtherProducts/OtherProducts.example.json +1 -54
  374. package/src/components/OtherProducts/OtherProducts.fixture.tsx +77 -126
  375. package/src/components/OtherProducts/OtherProducts.tsx +13 -24
  376. package/src/components/OtherProducts/OtherProducts.ui.json +1 -76
  377. package/src/components/OtherProducts/OtherProductsContent.ts +1 -22
  378. package/src/components/OtherProductsItem/OtherProductsItem.example.json +3 -0
  379. package/src/components/OtherProductsItem/OtherProductsItem.fixture.tsx +5 -0
  380. package/src/components/OtherProductsItem/OtherProductsItem.tsx +39 -0
  381. package/src/components/OtherProductsItem/OtherProductsItem.ui.json +1 -0
  382. package/src/components/OtherProductsItem/OtherProductsItemContent.ts +17 -0
  383. package/src/components/SafeDepositRental/SafeDepositRental.ui.json +8 -1
  384. package/src/components/StepsBlock/StepsBlock.fixture.tsx +39 -25
  385. package/src/components/StepsBlock/StepsBlock.tsx +3 -49
  386. package/src/components/StepsBlock/StepsBlockStyleMaps.ts +2 -2
  387. package/src/components/StepsBlock/renderItems.tsx +24 -15
  388. package/src/components/StepsBlock/renderStepContent.tsx +63 -0
  389. package/src/components/TariffsTable/TariffsTable.tsx +32 -23
  390. package/src/model/BlockDecorator.ts +2 -0
  391. package/src/model/BlocksRegistry.ts +4 -1
  392. package/src/ui-kit/Foldable/DefaultFoldButton.tsx +52 -0
  393. package/src/ui-kit/Foldable/Foldable.tsx +19 -67
  394. package/src/ui-kit/Foldable/FoldablePartProps.ts +4 -0
  395. package/src/ui-kit/Foldable/FoldableSection.tsx +30 -0
  396. package/tailwind.config.cjs +5 -0
  397. package/bundle/components/ContentPage/isBlockInRegistry.d.ts +0 -2
  398. package/bundle/components/OtherProducts/OtherProductsItem.d.ts +0 -6
  399. package/bundle/ui-kit/Foldable/DefaultButton.d.ts +0 -2
  400. package/bundle/ui-kit/Foldable/FoldButtonProps.d.ts +0 -12
  401. package/bundle/utils/getAccordionItems.d.ts +0 -1
  402. package/dist/components/ContentPage/isBlockInRegistry.d.ts +0 -2
  403. package/dist/components/ContentPage/isBlockInRegistry.js +0 -7
  404. package/dist/components/ContentPage/isBlockInRegistry.js.map +0 -1
  405. package/dist/components/OtherProducts/OtherProductsItem.d.ts +0 -6
  406. package/dist/components/OtherProducts/OtherProductsItem.js +0 -19
  407. package/dist/components/OtherProducts/OtherProductsItem.js.map +0 -1
  408. package/dist/ui-kit/Foldable/DefaultButton.d.ts +0 -2
  409. package/dist/ui-kit/Foldable/DefaultButton.js +0 -12
  410. package/dist/ui-kit/Foldable/DefaultButton.js.map +0 -1
  411. package/dist/ui-kit/Foldable/FoldButtonProps.d.ts +0 -12
  412. package/dist/ui-kit/Foldable/FoldButtonProps.js.map +0 -1
  413. package/dist/utils/getAccordionItems.d.ts +0 -1
  414. package/dist/utils/getAccordionItems.js +0 -13
  415. package/dist/utils/getAccordionItems.js.map +0 -1
  416. package/lib/components/ContentPage/isBlockInRegistry.d.ts +0 -2
  417. package/lib/components/ContentPage/isBlockInRegistry.js +0 -4
  418. package/lib/components/ContentPage/isBlockInRegistry.js.map +0 -1
  419. package/lib/components/OtherProducts/OtherProductsItem.d.ts +0 -6
  420. package/lib/components/OtherProducts/OtherProductsItem.js +0 -17
  421. package/lib/components/OtherProducts/OtherProductsItem.js.map +0 -1
  422. package/lib/ui-kit/Foldable/DefaultButton.d.ts +0 -2
  423. package/lib/ui-kit/Foldable/DefaultButton.js +0 -10
  424. package/lib/ui-kit/Foldable/DefaultButton.js.map +0 -1
  425. package/lib/ui-kit/Foldable/FoldButtonProps.d.ts +0 -12
  426. package/lib/ui-kit/Foldable/FoldButtonProps.js +0 -2
  427. package/lib/ui-kit/Foldable/FoldButtonProps.js.map +0 -1
  428. package/lib/utils/getAccordionItems.d.ts +0 -1
  429. package/lib/utils/getAccordionItems.js +0 -10
  430. package/lib/utils/getAccordionItems.js.map +0 -1
  431. package/mobile/bundle/components/ContentPage/isBlockInRegistry.d.ts +0 -2
  432. package/mobile/bundle/components/OtherProducts/OtherProductsItem.d.ts +0 -6
  433. package/mobile/bundle/ui-kit/Foldable/DefaultButton.d.ts +0 -2
  434. package/mobile/bundle/ui-kit/Foldable/FoldButtonProps.d.ts +0 -12
  435. package/mobile/bundle/utils/getAccordionItems.d.ts +0 -1
  436. package/mobile/dist/components/ContentPage/isBlockInRegistry.d.ts +0 -2
  437. package/mobile/dist/components/ContentPage/isBlockInRegistry.js +0 -7
  438. package/mobile/dist/components/ContentPage/isBlockInRegistry.js.map +0 -1
  439. package/mobile/dist/components/OtherProducts/OtherProductsItem.d.ts +0 -6
  440. package/mobile/dist/components/OtherProducts/OtherProductsItem.js +0 -19
  441. package/mobile/dist/components/OtherProducts/OtherProductsItem.js.map +0 -1
  442. package/mobile/dist/ui-kit/Foldable/DefaultButton.d.ts +0 -2
  443. package/mobile/dist/ui-kit/Foldable/DefaultButton.js +0 -12
  444. package/mobile/dist/ui-kit/Foldable/DefaultButton.js.map +0 -1
  445. package/mobile/dist/ui-kit/Foldable/FoldButtonProps.d.ts +0 -12
  446. package/mobile/dist/ui-kit/Foldable/FoldButtonProps.js.map +0 -1
  447. package/mobile/dist/utils/getAccordionItems.d.ts +0 -1
  448. package/mobile/dist/utils/getAccordionItems.js +0 -13
  449. package/mobile/dist/utils/getAccordionItems.js.map +0 -1
  450. package/mobile/lib/components/ContentPage/isBlockInRegistry.d.ts +0 -2
  451. package/mobile/lib/components/ContentPage/isBlockInRegistry.js +0 -4
  452. package/mobile/lib/components/ContentPage/isBlockInRegistry.js.map +0 -1
  453. package/mobile/lib/components/OtherProducts/OtherProductsItem.d.ts +0 -6
  454. package/mobile/lib/components/OtherProducts/OtherProductsItem.js +0 -17
  455. package/mobile/lib/components/OtherProducts/OtherProductsItem.js.map +0 -1
  456. package/mobile/lib/ui-kit/Foldable/DefaultButton.d.ts +0 -2
  457. package/mobile/lib/ui-kit/Foldable/DefaultButton.js +0 -10
  458. package/mobile/lib/ui-kit/Foldable/DefaultButton.js.map +0 -1
  459. package/mobile/lib/ui-kit/Foldable/FoldButtonProps.d.ts +0 -12
  460. package/mobile/lib/ui-kit/Foldable/FoldButtonProps.js +0 -2
  461. package/mobile/lib/ui-kit/Foldable/FoldButtonProps.js.map +0 -1
  462. package/mobile/lib/utils/getAccordionItems.d.ts +0 -1
  463. package/mobile/lib/utils/getAccordionItems.js +0 -10
  464. package/mobile/lib/utils/getAccordionItems.js.map +0 -1
  465. package/mobile/src/components/ContentPage/isBlockInRegistry.ts +0 -5
  466. package/mobile/src/components/OtherProducts/OtherProductsItem.tsx +0 -49
  467. package/mobile/src/ui-kit/Foldable/DefaultButton.tsx +0 -27
  468. package/mobile/src/ui-kit/Foldable/FoldButtonProps.ts +0 -13
  469. package/mobile/src/utils/getAccordionItems.ts +0 -10
  470. package/src/components/ContentPage/isBlockInRegistry.ts +0 -5
  471. package/src/components/OtherProducts/OtherProductsItem.tsx +0 -49
  472. package/src/ui-kit/Foldable/DefaultButton.tsx +0 -27
  473. package/src/ui-kit/Foldable/FoldButtonProps.ts +0 -13
  474. package/src/utils/getAccordionItems.ts +0 -10
@@ -1,30 +1,40 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { UniBlockProps } from '../../model/ContentPageDef';
3
+ import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList';
4
+ import { BlockWrapper } from '../../ui-kit/BlockWrapper';
3
5
  import { Heading } from '../../ui-kit/Heading/Heading';
4
6
  import type { AccordionContent } from './AccordionContent';
5
7
  import { AccordionItem } from './AccordionItem';
8
+ import { AccordionItemsList } from './AccordionItemsList';
6
9
 
7
10
  export interface AccordionProps extends AccordionContent, UniBlockProps {}
8
11
 
9
12
  export const Accordion = JSX<AccordionProps>(
10
- ({ title, description, accordionItems, context, className = '', bordered }) => {
13
+ ({ title, description, accordionItems, context, className = '', bordered, ...rest }) => {
11
14
  return (
12
- <section className={`py-6 px-4 font-sans bg-white text-primary-text ${className}`}>
15
+ <BlockWrapper
16
+ context={context}
17
+ className={`py-6 px-4 font-sans bg-white text-primary-text ${className}`}
18
+ {...rest}
19
+ >
13
20
  {title ? <Heading headingType="h3" className="mb-2 text-center" title={title} /> : null}
14
21
  {description ? <div className="mb-5 text-m-light text-center">{description}</div> : null}
15
22
  {accordionItems?.length ? (
16
- <ul className="list-none m-0 p-0">
23
+ <AccordionItemsList>
17
24
  {accordionItems.map((item, i) => (
18
25
  <AccordionItem
19
26
  key={`AccordionItem_${i}`}
20
- {...item}
21
27
  context={context}
22
28
  bordered={bordered}
23
- />
29
+ hasContent={Boolean(item.blocks?.length)}
30
+ {...item}
31
+ >
32
+ {renderBlocksList({ blocks: item.blocks, context, className: '!p-0 mb-5' })}
33
+ </AccordionItem>
24
34
  ))}
25
- </ul>
35
+ </AccordionItemsList>
26
36
  ) : null}
27
- </section>
37
+ </BlockWrapper>
28
38
  );
29
39
  },
30
40
  );
@@ -1,10 +1,12 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { AlignType } from '../../model/AlignType';
3
3
  import type { UniBlockProps } from '../../model/ContentPageDef';
4
+ import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList';
4
5
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
5
6
  import { Heading } from '../../ui-kit/Heading/Heading';
6
7
  import type { AccordionContent } from './AccordionContent';
7
8
  import { AccordionItem } from './AccordionItem';
9
+ import { AccordionItemsList } from './AccordionItemsList';
8
10
 
9
11
  const ALIGN_TITLE: Record<AlignType, string> = {
10
12
  left: 'text-left',
@@ -40,11 +42,18 @@ export const Accordion = JSX<AccordionProps>(
40
42
  ) : null}
41
43
  {description ? <div className="mb-2.5 text-l">{description}</div> : null}
42
44
  {accordionItems?.length ? (
43
- <ul className="list-none m-0 p-0">
45
+ <AccordionItemsList>
44
46
  {accordionItems.map((item, i) => (
45
- <AccordionItem key={`AccordionItem${i}`} {...item} context={context} />
47
+ <AccordionItem
48
+ key={`AccordionItem${i}`}
49
+ context={context}
50
+ hasContent={Boolean(item.blocks?.length)}
51
+ {...item}
52
+ >
53
+ {renderBlocksList({ blocks: item.blocks, context, className: '!p-0 mb-5' })}
54
+ </AccordionItem>
46
55
  ))}
47
- </ul>
56
+ </AccordionItemsList>
48
57
  ) : null}
49
58
  </BlockWrapper>
50
59
  );
@@ -1,12 +1,9 @@
1
1
  import type { AlignType } from '../../model/AlignType';
2
2
  import type { BlockVersion } from '../../model/BlockVersion';
3
+ import type { HeadlineCommonProps } from '../../model/HeadlineType';
3
4
  import type { Picture } from '../../model/Picture';
4
5
  import type { BlockDef } from '../../ui-kit/BlocksList/BlocksListProps';
5
- import type { HeadlineCommonProps } from '../../model/HeadlineType';
6
6
 
7
- /**
8
- * @title Элемент списка
9
- */
10
7
  export interface AccordionItemCommonProps {
11
8
  /**
12
9
  * @title Название
@@ -15,8 +12,6 @@ export interface AccordionItemCommonProps {
15
12
  label?: string;
16
13
  /** @title Отображать в раскрытом виде */
17
14
  isExpanded?: boolean;
18
- /** @title Блоки */
19
- blocks?: BlockDef[];
20
15
  /**
21
16
  * @title Отображать/скрывать обводку элемента
22
17
  * @default false
@@ -25,6 +20,14 @@ export interface AccordionItemCommonProps {
25
20
  labelIcon?: Picture; // TODO: только для мобильной версии
26
21
  }
27
22
 
23
+ /**
24
+ * @title Элемент списка
25
+ */
26
+ export interface AccordionItem extends AccordionItemCommonProps {
27
+ /** @title Блоки */
28
+ blocks?: BlockDef[];
29
+ }
30
+
28
31
  /**
29
32
  * @title Аккордеон
30
33
  */
@@ -36,7 +39,7 @@ export type AccordionContent = HeadlineCommonProps & {
36
39
  accordionAlignTitle?: AlignType;
37
40
  version?: BlockVersion;
38
41
  /** @title Список */
39
- accordionItems?: AccordionItemCommonProps[];
42
+ accordionItems?: AccordionItem[];
40
43
  /**
41
44
  * @title Отображать/скрывать обводку у элемента списка
42
45
  * @default false
@@ -1,43 +1,47 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { UniBlockProps } from '../../model/ContentPageDef';
3
- import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList';
2
+ import type { Picture } from '../../model/Picture';
4
3
  import { Foldable } from '../../ui-kit/Foldable/Foldable';
5
- import type { FoldButtonProps } from '../../ui-kit/Foldable/FoldButtonProps';
4
+ import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection';
6
5
  import type { IconName } from '../../ui-kit/Icon/IconProps';
7
6
  import { Img } from '../../ui-kit/Img/Img';
8
- import type { AccordionItemCommonProps } from './AccordionContent';
9
-
10
- export interface AccordionItemProps extends AccordionItemCommonProps, UniBlockProps {}
7
+ import type { AccordionItemProps } from './AccordionItemProps';
11
8
 
12
9
  const icons: IconName[] = ['PlusIcon', 'MinusIcon'];
13
10
 
14
11
  export const AccordionItem = JSX<AccordionItemProps>(
15
- ({ label = '', labelIcon, blocks, bordered, context }) => {
16
- const foldableBlocks = blocks ? renderBlocksList({ context, blocks, className: '!px-0' }) : [];
17
-
18
- return (
19
- <li className={`${borderedLiClass(bordered)} border-solid border-main-divider`}>
20
- <Foldable
21
- hiddenBlocksNum={foldableBlocks.length}
22
- blocks={foldableBlocks}
23
- isFoldButtonOnTop
24
- containerClassName="flex flex-wrap group-last:last:pb-0"
25
- renderFoldButton={(props) => (
26
- <FoldButton
27
- className={bordered ? '' : 'py-[14px] px-0'}
28
- icon={icons[Number(props.isUnfolded)]}
29
- label={label}
30
- primaryIcon={labelIcon}
31
- hasContent={Boolean(blocks?.length)}
32
- onClick={props.onToggle}
33
- />
34
- )}
35
- />
36
- </li>
37
- );
38
- },
12
+ ({ label = '', labelIcon, bordered, children, hasContent = true }) => (
13
+ <li className={`${borderedLiClass(bordered)} border-solid border-main-divider`}>
14
+ <Foldable
15
+ isFoldButtonOnTop={true}
16
+ renderFoldableSection={({ isUnfolded }) => (
17
+ <FoldableSection className="flex flex-wrap group-last:last:pb-0" isUnfolded={isUnfolded}>
18
+ {children}
19
+ </FoldableSection>
20
+ )}
21
+ renderFoldButton={({ isUnfolded, onToggle }) => (
22
+ <FoldButton
23
+ className={bordered ? '' : 'py-[14px] px-0'}
24
+ label={label}
25
+ icon={icons[Number(isUnfolded)]}
26
+ primaryIcon={labelIcon}
27
+ hasContent={hasContent}
28
+ onClick={onToggle}
29
+ />
30
+ )}
31
+ />
32
+ </li>
33
+ ),
39
34
  );
40
35
 
36
+ interface FoldButtonProps {
37
+ className?: string;
38
+ label: string;
39
+ icon: IconName;
40
+ primaryIcon?: Picture;
41
+ hasContent: boolean;
42
+ onClick?: () => void;
43
+ }
44
+
41
45
  const FoldButton = JSX<FoldButtonProps>(
42
46
  ({ className, hasContent, icon, label, primaryIcon, onClick }) => (
43
47
  <button
@@ -1,42 +1,43 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { UniBlockProps } from '../../model/ContentPageDef';
3
- import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList';
4
2
  import { Foldable } from '../../ui-kit/Foldable/Foldable';
5
- import type { FoldButtonProps } from '../../ui-kit/Foldable/FoldButtonProps';
3
+ import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection';
6
4
  import type { IconName } from '../../ui-kit/Icon/IconProps';
7
5
  import { Img } from '../../ui-kit/Img/Img';
8
- import type { AccordionItemCommonProps } from './AccordionContent';
9
-
10
- export interface AccordionItemProps extends AccordionItemCommonProps, UniBlockProps {}
6
+ import type { AccordionItemProps } from './AccordionItemProps';
11
7
 
12
8
  const icons: IconName[] = ['PlusIcon', 'MinusIcon'];
13
9
 
14
- export const AccordionItem = JSX<AccordionItemProps>(({ label = '', blocks, context }) => {
15
- const foldableBlocks = blocks
16
- ? renderBlocksList({ context, blocks, className: '!p-0 mb-5' })
17
- : [];
18
-
19
- return (
10
+ export const AccordionItem = JSX<AccordionItemProps>(
11
+ ({ label = '', children, hasContent = true }) => (
20
12
  <li className="border-0 border-b border-solid border-main-divider last:border-b-0">
21
13
  <Foldable
22
- hiddenBlocksNum={foldableBlocks.length}
23
- blocks={foldableBlocks}
24
- isFoldButtonOnTop
25
- containerClassName="grid grid-cols-12"
26
- renderFoldButton={(props) => (
14
+ isFoldButtonOnTop={true}
15
+ renderFoldableSection={({ isUnfolded }) => (
16
+ <FoldableSection className="grid grid-cols-12" isUnfolded={isUnfolded}>
17
+ {children}
18
+ </FoldableSection>
19
+ )}
20
+ renderFoldButton={({ isUnfolded, onToggle }) => (
27
21
  <FoldButton
28
- icon={icons[Number(props.isUnfolded)]}
29
22
  label={label}
30
- hasContent={Boolean(blocks?.length)}
31
- onClick={props.onToggle}
23
+ icon={icons[Number(isUnfolded)]}
24
+ hasContent={hasContent}
25
+ onClick={onToggle}
32
26
  />
33
27
  )}
34
28
  />
35
29
  </li>
36
- );
37
- });
30
+ ),
31
+ );
32
+
33
+ interface FoldButtonProps {
34
+ label: string;
35
+ icon: IconName;
36
+ hasContent: boolean;
37
+ onClick?: () => void;
38
+ }
38
39
 
39
- const FoldButton = JSX<FoldButtonProps>(({ icon, label, hasContent, onClick }) => (
40
+ const FoldButton = JSX<FoldButtonProps>(({ label, icon, hasContent, onClick }) => (
40
41
  <button
41
42
  className={`border-none bg-transparent px-0 pt-5 pb-3.5 flex justify-between text-left w-full font-sans text-h6 group cursor-pointer ${
42
43
  hasContent ? 'group cursor-pointer' : ''
@@ -0,0 +1,6 @@
1
+ import type { UniBlockProps } from '../../model/ContentPageDef';
2
+ import type { AccordionItemCommonProps } from './AccordionContent';
3
+
4
+ export interface AccordionItemProps extends AccordionItemCommonProps, UniBlockProps {
5
+ hasContent?: boolean;
6
+ }
@@ -0,0 +1,5 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+
3
+ export const AccordionItemsList = JSX(({ children }) => (
4
+ <ul className="list-none m-0 p-0">{children}</ul>
5
+ ));
@@ -14,11 +14,13 @@ import { GracePeriod } from './GracePeriod/GracePeriod';
14
14
  import { Header } from './Header/Header';
15
15
  import { Headline } from './Headline/Headline';
16
16
  import { InsuranceAmountBlock } from './InsuranceAmountBlock/InsuranceAmountBlock';
17
+ import { InvestmentInfo } from './InvestmentInfo/InvestmentInfo';
17
18
  import { LinkDocs } from './LinkDocs/LinkDocs';
18
19
  import { MiniGallery } from './MiniGallery/MiniGallery';
19
20
  import { MobileAppTile } from './MobileAppTile/MobileAppTile';
20
21
  import { OfficeServicesBlock } from './OfficeServicesBlock/OfficeServicesBlock';
21
22
  import { OtherProducts } from './OtherProducts/OtherProducts';
23
+ import { OtherProductsItem } from './OtherProductsItem/OtherProductsItem';
22
24
  import { PictureText } from './PictureText/PictureText';
23
25
  import { Placeholder } from './Placeholder/Placeholder';
24
26
  import { ProductBlock } from './ProductBlock/ProductBlock';
@@ -48,6 +50,7 @@ export const Blocks = {
48
50
  Header,
49
51
  Headline,
50
52
  InsuranceAmountBlock,
53
+ InvestmentInfo,
51
54
  LinkDocs,
52
55
  MiniGallery,
53
56
  MobileAppTile,
@@ -57,6 +60,7 @@ export const Blocks = {
57
60
  ProductTile,
58
61
  PromoTile,
59
62
  OtherProducts,
63
+ OtherProductsItem,
60
64
  Recommendation,
61
65
  StepsBlock,
62
66
  TariffsTable,
@@ -1,13 +1,11 @@
1
1
  import type { BlocksRegistry } from '../../model/BlocksRegistry';
2
2
  import type { BlockDef } from '../../model/ContentPageDef';
3
- import { isBlockInRegistry } from './isBlockInRegistry';
4
3
  import { normalizeBlock } from './normalizeBlock';
5
4
 
6
5
  export const filterBlocks = (blocks: BlockDef[], blocksRegistry: BlocksRegistry) =>
7
6
  blocks
8
7
  ?.filter(
9
8
  (block) =>
10
- isBlockInRegistry(block?.type || block?.mobile?.type, blocksRegistry) &&
11
- !block.mobile?.hidden,
9
+ (block?.type || block?.mobile?.type || '') in blocksRegistry && !block.mobile?.hidden,
12
10
  )
13
11
  .map(normalizeBlock);
@@ -1,7 +1,6 @@
1
1
  import type { BlocksRegistry } from '../../model/BlocksRegistry';
2
2
  import type { BlockDef } from '../../model/ContentPageDef';
3
- import { isBlockInRegistry } from './isBlockInRegistry';
4
3
  import { normalizeBlock } from './normalizeBlock';
5
4
 
6
5
  export const filterBlocks = (blocks: BlockDef[], blocksRegistry: BlocksRegistry) =>
7
- blocks?.filter((block) => isBlockInRegistry(block?.type, blocksRegistry)).map(normalizeBlock);
6
+ blocks?.filter((block) => (block?.type || '') in blocksRegistry).map(normalizeBlock);
@@ -1,6 +1,7 @@
1
- import { BlockAncestors, BlockDecorator, DEFAULT_SLOT_NAME } from '../../model/BlockDecorator';
1
+ import { BlockAncestors, BlockDecorator, DEFAULT_ANCESTORS } from '../../model/BlockDecorator';
2
2
  import type { BlocksRegistry } from '../../model/BlocksRegistry';
3
3
  import type { BlockDef, ContentPageDef } from '../../model/ContentPageDef';
4
+ import type { VNode } from '../../model/VNode';
4
5
  import { style2className } from '../../utils/style2className';
5
6
  import type { ContentPageContext } from './ContentPageContext';
6
7
 
@@ -12,13 +13,15 @@ interface RenderBlockOptions {
12
13
  context: ContentPageContext;
13
14
  }
14
15
 
16
+ const defaultChildRenderer = (_: VNode) => _;
17
+
15
18
  export function renderBlock(
16
19
  block: BlockDef,
17
20
  options: RenderBlockOptions,
18
- ancestors: BlockAncestors = [DEFAULT_SLOT_NAME], // Recursion context
21
+ ancestors: BlockAncestors = DEFAULT_ANCESTORS, // Recursion context
19
22
  ) {
20
23
  const { key, page, blockDecorator, blocksRegistry, context } = options;
21
- const { type } = block;
24
+ const { type, blocks: childBlocks } = block;
22
25
 
23
26
  if (!(type && type in blocksRegistry)) {
24
27
  console.warn(`No block with "${type}" is registered`);
@@ -26,6 +29,14 @@ export function renderBlock(
26
29
 
27
30
  const BlockComponent = type && blocksRegistry[type];
28
31
 
32
+ const { renderChild = defaultChildRenderer } = BlockComponent || {};
33
+ const renderChildBlock = (_: BlockDef, j: number) =>
34
+ renderChild(
35
+ renderBlock(_, { ...options, key: `${options.key}-${j}` }, [...ancestors, block]),
36
+ j,
37
+ );
38
+ const children = childBlocks?.length ? childBlocks.map(renderChildBlock) : null;
39
+
29
40
  return blockDecorator(
30
41
  {
31
42
  blockClassName: `scroll-mt-12 ${style2className(block.style)}`, // TODO scroll-mt-12 ? here?
@@ -33,21 +44,15 @@ export function renderBlock(
33
44
  ancestors,
34
45
  // Adjusted by decorator block and blockClassName
35
46
  render: ({ block: adjustedBlock, blockClassName: adjustedBlockClassName }) => {
36
- const { version, content, anchor, labels, blocks: childBlocks } = adjustedBlock;
37
-
38
- const children = childBlocks
39
- ? childBlocks.map((_, j) =>
40
- renderBlock(_, { ...options, key: `${options.key}-${j}` }, [...ancestors, block]),
41
- )
42
- : null;
47
+ const { version, anchor, labels, content } = adjustedBlock;
43
48
 
44
49
  return BlockComponent ? (
45
50
  <BlockComponent
46
51
  key={key}
47
52
  className={adjustedBlockClassName}
48
- version={version}
49
53
  context={context}
50
54
  page={page}
55
+ version={version}
51
56
  anchor={anchor}
52
57
  labels={labels}
53
58
  {...content}
@@ -1 +1,8 @@
1
- {}
1
+ {
2
+ "content": {},
3
+ "style": {
4
+ "ui:options": {
5
+ "minCols": 6
6
+ }
7
+ }
8
+ }
@@ -1,6 +1,13 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { UniBlockProps } from '../../model/ContentPageDef';
3
- import { Accordion } from '../Accordion/Accordion';
3
+ import type { Fallback } from '../../model/Fallback';
4
+ import { useSitemap } from '../../services/sitemap/useSitemap';
5
+ import { Button } from '../../ui-kit/Button/Button';
6
+ import { Img } from '../../ui-kit/Img/Img';
7
+ import { SearchBar } from '../../ui-kit/SearchBar/SearchBar';
8
+ import { AccordionItem } from '../Accordion/AccordionItem';
9
+ import { AccordionItemsList } from '../Accordion/AccordionItemsList';
10
+ import { LinkList } from '../LinkList/LinkList';
4
11
  import { MobileAppTile } from '../MobileAppTile/MobileAppTile';
5
12
  import { Contacts } from './Contacts';
6
13
  import type { FooterContent, SubMenuItem } from './FooterContent';
@@ -8,13 +15,6 @@ import { HorizontalNavigation } from './HorizontalNavigation';
8
15
  import { SocialMedia } from './SocialMedia';
9
16
  import { TextInformation } from './TextInformation';
10
17
 
11
- import { useSitemap } from '../../services/sitemap/useSitemap';
12
- import type { Fallback } from '../../model/Fallback';
13
- import { Button } from '../../ui-kit/Button/Button';
14
- import { Img } from '../../ui-kit/Img/Img';
15
- import { SearchBar } from '../../ui-kit/SearchBar/SearchBar';
16
- import { getAccordionItems } from '../../utils/getAccordionItems';
17
-
18
18
  export interface FooterProps extends FooterContent, UniBlockProps {}
19
19
 
20
20
  export const Footer = JSX<FooterProps>(
@@ -35,11 +35,13 @@ export const Footer = JSX<FooterProps>(
35
35
  return (
36
36
  <footer className={`font-sans px-4 py-[26px] bg-white ${className}`}>
37
37
  <Contacts className="overflow-hidden" items={contacts} context={context} hasButton />
38
- <Accordion
39
- context={context}
40
- className="!p-0 mb-4"
41
- accordionItems={getAccordionItems(sitemap.topItems)}
42
- />
38
+ <AccordionItemsList>
39
+ {sitemap.topItems?.map((item, i) => (
40
+ <AccordionItem key={String(i)} context={context} label={item.text}>
41
+ <LinkList context={context} documents={item.items} />
42
+ </AccordionItem>
43
+ ))}
44
+ </AccordionItemsList>
43
45
  <div>{dispositions?.map(renderSubMenuItem)}</div>
44
46
  <MobileAppTile
45
47
  context={context}
@@ -11,5 +11,10 @@
11
11
  }
12
12
  }
13
13
  }
14
+ },
15
+ "style": {
16
+ "ui:options": {
17
+ "minCols": 6
18
+ }
14
19
  }
15
20
  }
@@ -2,15 +2,16 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { useLink } from '../../hooks/useLink';
4
4
  import type { UniBlockProps } from '../../model/ContentPageDef';
5
+ import type { Fallback } from '../../model/Fallback';
5
6
  import { findActiveSubItem } from '../../services/sitemap/findActiveSubItem';
6
7
  import { isTopItemActive } from '../../services/sitemap/isTopItemActive';
7
8
  import { mergeTopItems } from '../../services/sitemap/mergeTopItems';
8
9
  import { useSitemap } from '../../services/sitemap/useSitemap';
9
- import type { Fallback } from '../../model/Fallback';
10
10
  import { HeaderItem } from '../../ui-kit/HeaderItem/HeaderItem';
11
11
  import type { TopItemProps } from '../../ui-kit/TopItem/TopItem';
12
- import { getAccordionItems } from '../../utils/getAccordionItems';
13
- import { Accordion } from '../Accordion/Accordion';
12
+ import { AccordionItem } from '../Accordion/AccordionItem';
13
+ import { AccordionItemsList } from '../Accordion/AccordionItemsList';
14
+ import { LinkList } from '../LinkList/LinkList';
14
15
  import { HeaderBurger } from './HeaderBurger';
15
16
  import type { HeaderContent } from './HeaderContent';
16
17
  import { HeaderTop } from './HeaderTop';
@@ -19,17 +20,19 @@ export interface HeaderProps extends HeaderContent, UniBlockProps {}
19
20
 
20
21
  export const Header = JSX<HeaderProps>(
21
22
  ({ className = '', defaultLocation, bgColor = 'bg-white', context, topItems, page }) => {
23
+ const { handlerDecorator } = context;
22
24
  const router = context.useRouter();
25
+
23
26
  const fallback: Fallback | undefined = page?.fallback;
24
27
  const sitemap = useSitemap(fallback);
25
- const dispositions = sitemap?.dispositions;
26
- const { handlerDecorator } = context;
27
28
 
28
29
  const mergedItems = mergeTopItems(sitemap.topItems, topItems);
29
30
  const activeTopItem = mergedItems.find(isTopItemActive(router));
30
31
  const subItems = activeTopItem?.items;
31
32
  const activeSubItem = findActiveSubItem(router)(subItems);
33
+
32
34
  const [burgerMenuShow, setBurgerMenuShow] = useState(false);
35
+
33
36
  const toggleBurgerMenu = () => setBurgerMenuShow(!burgerMenuShow);
34
37
 
35
38
  return (
@@ -55,14 +58,16 @@ export const Header = JSX<HeaderProps>(
55
58
  <HeaderBurger
56
59
  context={context}
57
60
  onClick={toggleBurgerMenu}
58
- burgerSubMenu={dispositions}
61
+ burgerSubMenu={sitemap?.dispositions}
59
62
  defaultLocation={defaultLocation}
60
63
  >
61
- <Accordion
62
- context={context}
63
- accordionItems={getAccordionItems(sitemap.topItems)}
64
- className="!p-0 mb-4"
65
- />
64
+ <AccordionItemsList>
65
+ {sitemap.topItems?.map((item, i) => (
66
+ <AccordionItem key={String(i)} context={context} label={item.text}>
67
+ <LinkList context={context} documents={item.items} />
68
+ </AccordionItem>
69
+ ))}
70
+ </AccordionItemsList>
66
71
  </HeaderBurger>
67
72
  ) : null}
68
73
  </header>
@@ -0,0 +1,48 @@
1
+ {
2
+ "items": ["Пункт 1", "Пункт 2", "Пункт 3"],
3
+ "investmentZeroColumn": {
4
+ "title": "Название 1"
5
+ },
6
+ "investmentColumns": [
7
+ {
8
+ "title": "Название 2",
9
+ "cells": [
10
+ {
11
+ "text": "Ячейка 2-1",
12
+ "cellColor": "green-dark",
13
+ "cellSize": "S"
14
+ }
15
+ ]
16
+ },
17
+ {
18
+ "title": "Название 3",
19
+ "cells": [
20
+ {
21
+ "text": "Ячейка 3-1",
22
+ "cellColor": "green-dark",
23
+ "cellSize": "S"
24
+ }
25
+ ]
26
+ },
27
+ {
28
+ "title": "Название 4",
29
+ "cells": [
30
+ {
31
+ "text": "Ячейка 4-1",
32
+ "cellColor": "green-dark",
33
+ "cellSize": "L"
34
+ }
35
+ ]
36
+ },
37
+ {
38
+ "title": "Название 5",
39
+ "cells": [
40
+ {
41
+ "text": "Ячейка 5-1",
42
+ "cellColor": "green-dark",
43
+ "cellSize": "XL"
44
+ }
45
+ ]
46
+ }
47
+ ]
48
+ }