@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,76 +1 @@
1
- {
2
- "content": {
3
- "blockItems": {
4
- "items": {
5
- "blocks": {
6
- "items": {
7
- "blockListType": {
8
- "ui:widget": "hidden"
9
- },
10
- "image": {
11
- "ui:field": "picture"
12
- },
13
- "benefitList": {
14
- "items": {
15
- "description": {
16
- "benefitType": {
17
- "ui:widget": "hidden"
18
- }
19
- },
20
- "icon": {
21
- "ui:field": "icon"
22
- }
23
- }
24
- },
25
- "style": {
26
- "ui:field": "style"
27
- },
28
- "benefits": {
29
- "items": {
30
- "icon": {
31
- "ui:field": "icon"
32
- }
33
- }
34
- },
35
- "buttons": {
36
- "items": {
37
- "icon": {
38
- "ui:field": "icon"
39
- },
40
- "iconRight": {
41
- "ui:field": "icon"
42
- }
43
- }
44
- },
45
- "icon": {
46
- "ui:field": "icon"
47
- },
48
- "backwardButton": {
49
- "icon": {
50
- "ui:field": "icon"
51
- },
52
- "iconRight": {
53
- "ui:field": "icon"
54
- }
55
- },
56
- "cards": {
57
- "items": {
58
- "image": {
59
- "ui:field": "picture"
60
- },
61
- "button": {
62
- "icon": {
63
- "ui:field": "icon"
64
- },
65
- "iconRight": {
66
- "ui:field": "icon"
67
- }
68
- }
69
- }
70
- }
71
- }
72
- }
73
- }
74
- }
75
- }
76
- }
1
+ {}
@@ -1,27 +1,6 @@
1
- import type { ColorPalette } from '../../model/ContentPageDef';
2
1
  import type { TitleProps } from '../../model/HeadlineType';
3
- import type { BlockDef } from '../../ui-kit/BlocksList/BlocksListProps';
4
-
5
- /**
6
- * @title Элемент списка
7
- */
8
- export interface BlockItemCommonProps {
9
- /**
10
- * @title Название
11
- * @default Список
12
- */
13
- label?: string;
14
- /** @title Отображать в раскрытом виде */
15
- isUnfolded?: boolean;
16
- /** @title Блоки */
17
- blocks?: BlockDef[];
18
- }
19
2
 
20
3
  /**
21
4
  * @title Другие продукты
22
5
  */
23
- export type OtherProductsContent = TitleProps & {
24
- /** @title Список */
25
- blockItems?: BlockItemCommonProps[];
26
- colorPalette?: ColorPalette;
27
- };
6
+ export type OtherProductsContent = TitleProps;
@@ -0,0 +1,3 @@
1
+ {
2
+ "label": "Другие продукты N"
3
+ }
@@ -0,0 +1,5 @@
1
+ import { OTHER_PRODUCTS_ITEM } from '../OtherProducts/OtherProducts.fixture';
2
+
3
+ export default {
4
+ default: <div className="container">{OTHER_PRODUCTS_ITEM}</div>,
5
+ };
@@ -0,0 +1,39 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { JSXBlock } from '../../model/BlocksRegistry';
3
+ import type { UniBlockProps } from '../../model/ContentPageDef';
4
+ import { DefaultFoldButton } from '../../ui-kit/Foldable/DefaultFoldButton';
5
+ import { Foldable } from '../../ui-kit/Foldable/Foldable';
6
+ import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection';
7
+ import type { IconName } from '../../ui-kit/Icon/IconProps';
8
+ import type { OtherProductsItemContent } from './OtherProductsItemContent';
9
+
10
+ export interface OtherProductsItemProps extends OtherProductsItemContent, UniBlockProps {}
11
+
12
+ const icons: IconName[] = ['ArrowDownIcon', 'ArrowUpIcon'];
13
+
14
+ export const OtherProductsItem = JSX<OtherProductsItemProps>(
15
+ ({ className, label = '', colorPalette, isUnfolded: unfoldedByDefault, children }) => (
16
+ <div className={`border-0 border-b border-solid border-main-divider ${className}`}>
17
+ <Foldable
18
+ unfoldedByDefault={unfoldedByDefault}
19
+ renderFoldableSection={({ isUnfolded }) => (
20
+ <div className="box-border">
21
+ <FoldableSection className="grid grid-cols-12 gap-1 border-box" isUnfolded={isUnfolded}>
22
+ {children}
23
+ </FoldableSection>
24
+ </div>
25
+ )}
26
+ renderFoldButton={({ isUnfolded, onToggle }) => (
27
+ <DefaultFoldButton
28
+ label={label}
29
+ icon={icons[Number(isUnfolded)]}
30
+ dataTheme={colorPalette}
31
+ onClick={onToggle}
32
+ />
33
+ )}
34
+ />
35
+ </div>
36
+ ),
37
+ ) as JSXBlock<OtherProductsItemProps>;
38
+
39
+ OtherProductsItem.childrenTypes = []; // All types of blocks are suitable
@@ -0,0 +1,17 @@
1
+ import type { ColorPalette } from '../../model/ContentPageDef';
2
+
3
+ /**
4
+ * @title Элемент списка
5
+ */
6
+ export interface OtherProductsItemContent {
7
+ /**
8
+ * @title Название
9
+ * @default Список
10
+ */
11
+ label?: string;
12
+
13
+ /** @title Отображать в раскрытом виде */
14
+ isUnfolded?: boolean;
15
+
16
+ colorPalette?: ColorPalette;
17
+ }
@@ -1 +1,8 @@
1
- {}
1
+ {
2
+ "content": {},
3
+ "style": {
4
+ "ui:options": {
5
+ "minCols": 12
6
+ }
7
+ }
8
+ }
@@ -1,8 +1,9 @@
1
1
  import { context } from '../../react/setup-fixture';
2
2
  import { StepsBlock } from './StepsBlock';
3
+ import type { Step } from './StepsBlockContent';
3
4
 
4
- const items = ['item1', 'item2', 'item3', 'item4', 'item5'];
5
- const steps = [
5
+ const ITEMS = ['item1', 'item2', 'item3', 'item4', 'item5'];
6
+ const STEPS = [
6
7
  {
7
8
  label: 'Заявка на кредит',
8
9
  description: 'Оставьте онлайн-заявку на потребительский кредит',
@@ -21,6 +22,27 @@ const steps = [
21
22
  },
22
23
  ];
23
24
 
25
+ const STEPS_WITH_LIST: Step[] = [
26
+ {
27
+ label: 'В мобильном приложении или интернет-банке',
28
+ description: 'Для всех клиентов Россельхозбанка',
29
+ icon: { icon: 'SignDocsIcon' },
30
+ items: ITEMS,
31
+ },
32
+ {
33
+ label: 'Через Госуслуги',
34
+ description: 'При наличии данных в Единой биометрической системе',
35
+ icon: { icon: 'ClockIcon' },
36
+ items: ITEMS,
37
+ },
38
+ {
39
+ label: 'В офисах Россельхозбанка',
40
+ description: 'Откройте вклад',
41
+ icon: { icon: 'ComfortableCompIcon' },
42
+ items: ITEMS,
43
+ },
44
+ ];
45
+
24
46
  export default {
25
47
  default: (
26
48
  <div className="container grid grid-cols-12">
@@ -28,7 +50,7 @@ export default {
28
50
  className="col-span-12"
29
51
  context={context}
30
52
  title="Рассчитайте условия на онлайн-калькуляторе и оставьте заявку на потребительский кредит"
31
- steps={steps.slice(0, 3)}
53
+ steps={STEPS.slice(0, 3)}
32
54
  version="secondary"
33
55
  />
34
56
  </div>
@@ -101,37 +123,29 @@ export default {
101
123
  className="col-span-12"
102
124
  context={context}
103
125
  title="Рассчитайте условия на онлайн-калькуляторе и оставьте заявку на потребительский кредит"
104
- steps={steps}
126
+ steps={STEPS}
105
127
  />
106
128
  </div>
107
129
  ),
108
130
 
109
- 'width list': (
131
+ 'with list': (
110
132
  <div className="container grid grid-cols-12">
111
133
  <StepsBlock
112
134
  className="col-span-12"
113
135
  context={context}
114
136
  title="Рассчитайте условия на онлайн-калькуляторе и оставьте заявку на потребительский кредит"
115
- steps={[
116
- {
117
- label: 'В мобильном приложении или интернет-банке',
118
- description: 'Для всех клиентов Россельхозбанка',
119
- icon: { icon: 'SignDocsIcon' },
120
- items,
121
- },
122
- {
123
- label: 'Через Госуслуги',
124
- description: 'При наличии данных в Единой биометрической системе',
125
- icon: { icon: 'ClockIcon' },
126
- items,
127
- },
128
- {
129
- label: 'В офисах Россельхозбанка',
130
- description: 'Откройте вклад',
131
- icon: { icon: 'ComfortableCompIcon' },
132
- items,
133
- },
134
- ]}
137
+ steps={STEPS_WITH_LIST}
138
+ />
139
+ </div>
140
+ ),
141
+ 'with list secondary': (
142
+ <div className="container grid grid-cols-12">
143
+ <StepsBlock
144
+ className="col-span-12"
145
+ context={context}
146
+ version="secondary"
147
+ title="Рассчитайте условия на онлайн-калькуляторе и оставьте заявку на потребительский кредит"
148
+ steps={STEPS_WITH_LIST}
135
149
  />
136
150
  </div>
137
151
  ),
@@ -1,6 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useLink } from '../../hooks/useLink';
3
- import type { BlockVersion } from '../../model/BlockVersion';
4
3
  import type { UniBlockProps } from '../../model/ContentPageDef';
5
4
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
6
5
  import { Button } from '../../ui-kit/Button/Button';
@@ -8,11 +7,10 @@ import { Heading } from '../../ui-kit/Heading/Heading';
8
7
  import { Img } from '../../ui-kit/Img/Img';
9
8
  import { checkIsIconRenderable } from '../../utils/checkIsIconRenderable';
10
9
  import { joinList } from '../../utils/joinList';
11
- import type { HandlerDecorator, Router } from '../ContentPage/ContentPageContext';
12
- import { renderItems } from './renderItems';
13
10
  import type { Step, StepsBlockContent } from './StepsBlockContent';
14
11
  import type { StyleType } from './StepsBlockStyleMaps';
15
12
  import { STEPS_BLOCK_STYLE_MAPS } from './StepsBlockStyleMaps';
13
+ import { renderStepContent } from './renderStepContent';
16
14
 
17
15
  export interface StepsBlockProps extends StepsBlockContent, UniBlockProps {}
18
16
 
@@ -54,7 +52,7 @@ export const StepsBlock = JSX<StepsBlockProps>(
54
52
  {...rest}
55
53
  >
56
54
  {title ? (
57
- <Heading headingType="h2" className="max-w-[752px] text-center" title={title} />
55
+ <Heading headingType="h3" className="max-w-[752px] text-center" title={title} />
58
56
  ) : null}
59
57
  {steps?.length ? (
60
58
  <div className={`box-border ${titleMargin}`}>
@@ -65,7 +63,7 @@ export const StepsBlock = JSX<StepsBlockProps>(
65
63
  </div>
66
64
  <div className={`flex justify-between ${shortGaps ? 'gap-x-3' : 'gap-x-[101px]'}`}>
67
65
  {steps.map(
68
- renderStepTitle({
66
+ renderStepContent({
69
67
  styleMap,
70
68
  isMainButton: Boolean(button?.text),
71
69
  version,
@@ -106,47 +104,3 @@ const renderStepIcon =
106
104
  </div>
107
105
  );
108
106
  };
109
-
110
- const renderStepTitle =
111
- ({
112
- styleMap,
113
- isMainButton,
114
- version,
115
- router,
116
- handlerDecorator,
117
- }: {
118
- styleMap: StyleType;
119
- isMainButton: boolean;
120
- version: BlockVersion;
121
- router: Router;
122
- handlerDecorator?: HandlerDecorator;
123
- }) =>
124
- (step: Step, i: number, { length }: { length: number }) => {
125
- const additionalMarginClass = step?.label ? 'mt-2' : 'mt-4';
126
- const widthContainer = length < 5 ? 'w-[276px]' : 'w-[210px]';
127
-
128
- return (
129
- <div
130
- key={String(i)}
131
- className={`flex flex-col items-center text-center relative
132
- whitespace-pre-line overflow-hidden ${widthContainer}`}
133
- >
134
- {step?.label ? <div className="text-xl m-0 mt-4">{step.label}</div> : null}
135
- {step?.description ? (
136
- <div className={`text-l-light ${styleMap.description} ${additionalMarginClass}`}>
137
- {step.description}
138
- </div>
139
- ) : null}
140
- {renderItems(step?.items, styleMap, step?.isDotted)}
141
- {step.button?.text && !isMainButton ? (
142
- <Button
143
- className="box-border mt-8 py-3 h-12 w-full max-w-[240px]"
144
- {...useLink({ router, handlerDecorator }, step.button)}
145
- version={version}
146
- >
147
- {step.button.text}
148
- </Button>
149
- ) : null}
150
- </div>
151
- );
152
- };
@@ -14,7 +14,7 @@ export const STEPS_BLOCK_STYLE_MAPS: Record<BlockVersion, StyleType> = {
14
14
  primary: {
15
15
  background: 'bg-white',
16
16
  title: 'text-primary-text',
17
- description: 'text-secondary-text',
17
+ description: '!text-secondary-text text-l-light',
18
18
  iconText: 'text-secondary-text',
19
19
  iconBackground: 'bg-main-divider',
20
20
  iconConnector: 'bg-secondary-light',
@@ -23,7 +23,7 @@ export const STEPS_BLOCK_STYLE_MAPS: Record<BlockVersion, StyleType> = {
23
23
  secondary: {
24
24
  background: 'bg-primary-main',
25
25
  title: 'text-white',
26
- description: 'text-white/80',
26
+ description: '!text-white/80 text-l-light',
27
27
  iconText: 'text-white',
28
28
  iconBackground: 'bg-white/30',
29
29
  iconConnector: 'bg-white',
@@ -1,17 +1,26 @@
1
- import type { StyleType } from './StepsBlockStyleMaps';
1
+ import { List } from '../../ui-kit/List/List';
2
+ import type { BlockVersion } from '../../model/BlockVersion';
2
3
 
3
- export const renderItems = (items?: string[], styleMap?: StyleType, isDotted = true) =>
4
- items ? (
5
- <div className={`mt-4 ${styleMap?.description}`} role="list">
6
- {items.map((_) => (
7
- <div className="items-start mt-1 first:mt-0" role="listitem">
8
- {isDotted ? (
9
- <div
10
- className={`rounded-full inline-block mr-3 mb-1 w-1.5 h-1.5 min-w-1.5 min-h-1.5 ${styleMap?.dot}`}
11
- />
12
- ) : null}
13
- <span>{_}</span>
14
- </div>
15
- ))}
16
- </div>
4
+ export const renderItems = ({
5
+ items,
6
+ isDotted = true,
7
+ version = 'primary',
8
+ className = '',
9
+ }: {
10
+ items?: string[];
11
+ isDotted?: boolean;
12
+ version?: BlockVersion;
13
+ className?: string;
14
+ }) => {
15
+ const listVersion = version === 'primary' ? 'gray' : version;
16
+
17
+ return items ? (
18
+ <List
19
+ className={`mt-4 ${className}`}
20
+ version={listVersion}
21
+ items={items}
22
+ listItemSize="S"
23
+ isDotted={isDotted}
24
+ />
17
25
  ) : null;
26
+ };
@@ -0,0 +1,63 @@
1
+ import { Button } from '../../ui-kit/Button/Button';
2
+ import type { BlockVersion } from '../../model/BlockVersion';
3
+ import type { HandlerDecorator, Router } from '../ContentPage/ContentPageContext';
4
+ import type { Step } from './StepsBlockContent';
5
+ import type { StyleType } from './StepsBlockStyleMaps';
6
+ import { renderItems } from './renderItems';
7
+ import { useLink } from '../../hooks/useLink';
8
+
9
+ export const renderStepContent =
10
+ ({
11
+ styleMap,
12
+ isMainButton,
13
+ version,
14
+ router,
15
+ handlerDecorator,
16
+ }: {
17
+ styleMap: StyleType;
18
+ isMainButton: boolean;
19
+ version: BlockVersion;
20
+ router: Router;
21
+ handlerDecorator?: HandlerDecorator;
22
+ }) =>
23
+ (step: Step, i: number, { length }: { length: number }) => {
24
+ const { label, description, button, items, isDotted } = step;
25
+
26
+ const additionalMarginClass = `${button?.text ? 'mb-8' : ''} ${step?.label ? 'mt-2' : 'mt-4'}`;
27
+ const widthContainer = length < 5 ? 'w-[276px]' : 'w-[210px]';
28
+
29
+ return (
30
+ <div
31
+ key={String(i)}
32
+ className={`flex flex-col items-center text-center relative
33
+ whitespace-pre-line overflow-hidden ${widthContainer}`}
34
+ >
35
+ {renderStepLabel(label)}
36
+ {renderStepDescription({
37
+ description,
38
+ className: `${styleMap.description} ${additionalMarginClass}`,
39
+ })}
40
+ {renderItems({ items, isDotted, version, className: styleMap.description })}
41
+ {button?.text && !isMainButton ? (
42
+ <Button
43
+ className="box-border py-3 h-12 w-full max-w-[240px] mt-auto"
44
+ {...useLink({ router, handlerDecorator }, button)}
45
+ version={version}
46
+ >
47
+ {button.text}
48
+ </Button>
49
+ ) : null}
50
+ </div>
51
+ );
52
+ };
53
+
54
+ const renderStepLabel = (label?: string) =>
55
+ label ? <div className="text-x6 m-0 mt-4">{label}</div> : null;
56
+
57
+ const renderStepDescription = ({
58
+ description,
59
+ className = '',
60
+ }: {
61
+ description?: string;
62
+ className?: string;
63
+ }) => (description ? <div className={className}>{description}</div> : null);
@@ -2,9 +2,10 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { useTableArrowScrollControl } from '../../hooks/useTableArrowScrollControl';
4
4
  import type { UniBlockProps } from '../../model/ContentPageDef';
5
- import type { VNode } from '../../model/VNode';
6
5
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
6
+ import { renderDefaultFoldButton } from '../../ui-kit/Foldable/DefaultFoldButton';
7
7
  import { Foldable } from '../../ui-kit/Foldable/Foldable';
8
+ import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection';
8
9
  import { Heading } from '../../ui-kit/Heading/Heading';
9
10
  import { TableArrowScrollControl } from '../../ui-kit/TableArrowScrollControl/TableArrowScrollControl';
10
11
  import type { TableArrowScrollControlProps } from '../../ui-kit/TableArrowScrollControl/TableArrowScrollControlProps';
@@ -42,7 +43,7 @@ export const TariffsTable = JSX<TariffsTableProps>(
42
43
  setActiveCardIndex,
43
44
  });
44
45
 
45
- const foldableBlocks = rowData?.map((row, i, { length }) => (
46
+ const rows = (rowData || []).map((row, i, { length }) => (
46
47
  <TariffsTableRow
47
48
  context={context}
48
49
  key={String(i)}
@@ -52,6 +53,8 @@ export const TariffsTable = JSX<TariffsTableProps>(
52
53
  rowIdx={i}
53
54
  />
54
55
  ));
56
+ const [visibleRows, hiddenRows] =
57
+ hiddenRowsNum > 0 ? [rows.slice(0, -hiddenRowsNum), rows.slice(-hiddenRowsNum)] : [rows, []];
55
58
 
56
59
  return (
57
60
  <BlockWrapper
@@ -61,37 +64,43 @@ export const TariffsTable = JSX<TariffsTableProps>(
61
64
  context={context}
62
65
  {...rest}
63
66
  >
64
- {title ? (
65
- <Heading
66
- headingType="h3"
67
- className={`text-center ${description ? 'mb-2.5' : 'mb-8'}`}
68
- title={title}
69
- />
70
- ) : null}
71
- {description ? <div className="mb-9 text-center text-l">{description}</div> : null}
72
- {rowData?.length ? (
67
+ {renderTitle({ title, description })}
68
+ {renderDescription(description)}
69
+ {hiddenRowsNum > 0 ? (
73
70
  <Foldable
74
- blocks={foldableBlocks}
75
- hiddenBlocksNum={hiddenRowsNum}
76
- blockWrapper={(children) => (
71
+ renderFoldableSection={({ isUnfolded }) => (
77
72
  <Wrapper tableArrowScrollControlProps={tableArrowScrollControlProps}>
78
- {children}
73
+ {visibleRows}
74
+ <FoldableSection isUnfolded={isUnfolded}>{hiddenRows}</FoldableSection>
79
75
  </Wrapper>
80
76
  )}
77
+ renderFoldButton={renderDefaultFoldButton}
81
78
  />
82
- ) : null}
79
+ ) : (
80
+ <Wrapper tableArrowScrollControlProps={tableArrowScrollControlProps}>{rows}</Wrapper>
81
+ )}
83
82
  </BlockWrapper>
84
83
  );
85
84
  },
86
85
  );
87
86
 
88
- const Wrapper = JSX<
89
- {
90
- tableArrowScrollControlProps: TableArrowScrollControlProps;
91
- },
92
- any,
93
- VNode
94
- >(({ children, tableArrowScrollControlProps }) => {
87
+ function renderTitle({ title, description }: { title?: string; description?: string }) {
88
+ return title ? (
89
+ <Heading
90
+ headingType="h3"
91
+ className={`text-center ${description ? 'mb-2.5' : 'mb-8'}`}
92
+ title={title}
93
+ />
94
+ ) : null;
95
+ }
96
+
97
+ function renderDescription(description?: string) {
98
+ return description ? <div className="mb-9 text-center text-l">{description}</div> : null;
99
+ }
100
+
101
+ const Wrapper = JSX<{
102
+ tableArrowScrollControlProps: TableArrowScrollControlProps;
103
+ }>(({ children, tableArrowScrollControlProps }) => {
95
104
  const { isScrollAvailable } = tableArrowScrollControlProps;
96
105
 
97
106
  return (
@@ -4,6 +4,8 @@ export const DEFAULT_SLOT_NAME = null;
4
4
 
5
5
  export type BlockAncestors = [keyof SlotsMap | typeof DEFAULT_SLOT_NAME, ...Slot[]];
6
6
 
7
+ export const DEFAULT_ANCESTORS: BlockAncestors = [DEFAULT_SLOT_NAME];
8
+
7
9
  interface BlockDecoratorProps<VNode> {
8
10
  blockClassName: string;
9
11
  block: BlockDef;
@@ -6,6 +6,9 @@ export type JSXBlock<BlockProps = Record<string, any>> = UNIComponent<
6
6
  BlockProps & UniBlockProps,
7
7
  any,
8
8
  VNode | VNode[]
9
- >;
9
+ > & {
10
+ childrenTypes?: string[];
11
+ renderChild?: (child: VNode, i: number) => VNode;
12
+ };
10
13
 
11
14
  export type BlocksRegistry<BlockProps = Record<string, any>> = Record<string, JSXBlock<BlockProps>>;
@@ -0,0 +1,52 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import type { ColorPalette } from '../../model/ContentPageDef';
3
+ import type { IconName } from '../Icon/IconProps';
4
+ import { Img } from '../Img/Img';
5
+ import type { FoldablePartProps } from './FoldablePartProps';
6
+
7
+ interface DefaultFoldButtonProps {
8
+ className?: string;
9
+ label: string;
10
+ icon: IconName;
11
+ dataTheme?: ColorPalette;
12
+ onClick?: () => void;
13
+ }
14
+
15
+ export const DefaultFoldButton = JSX<DefaultFoldButtonProps>(
16
+ ({ className, label, icon, dataTheme = '', onClick }) => (
17
+ <button
18
+ className={`border-none bg-primary-main hover:bg-primary-hover px-0 py-5 mb-[1px] w-full font-sans text-white flex justify-center cursor-pointer ${
19
+ className || ''
20
+ }`}
21
+ data-theme={dataTheme}
22
+ onClick={onClick}
23
+ >
24
+ <span className="text-h4 pr-3">{label}</span>
25
+ {icon ? (
26
+ <Img
27
+ image={{
28
+ icon,
29
+ iconVersion: 'white',
30
+ }}
31
+ className="flex-shrink-0 my-auto"
32
+ width="20"
33
+ height="20"
34
+ asSVG
35
+ />
36
+ ) : null}
37
+ </button>
38
+ ),
39
+ );
40
+
41
+ export const renderDefaultFoldButton = ({ isUnfolded, onToggle }: FoldablePartProps) => {
42
+ const labels = ['Развернуть', 'Скрыть'];
43
+ const icons: IconName[] = ['ArrowDownIcon', 'ArrowUpIcon'];
44
+
45
+ return (
46
+ <DefaultFoldButton
47
+ icon={icons[Number(isUnfolded)]}
48
+ label={labels[Number(isUnfolded)]}
49
+ onClick={onToggle}
50
+ />
51
+ );
52
+ };