@redneckz/wildless-cms-uni-blocks 0.5.10 → 0.5.11

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 (440) hide show
  1. package/bin/migration-scripts/0.4.5.js +1 -1
  2. package/bin/migration-scripts/0.5.10.js +36 -0
  3. package/bin/utils.js +0 -2
  4. package/bundle/blocks.schema.json +1 -1
  5. package/bundle/bundle.umd.js +164 -98
  6. package/bundle/bundle.umd.min.js +1 -1
  7. package/dist/EventBus/EventMap.d.ts +2 -1
  8. package/dist/components/Bonus/Bonus.js +11 -2
  9. package/dist/components/Bonus/Bonus.js.map +1 -1
  10. package/dist/components/Bonus/BonusContent.d.ts +30 -2
  11. package/dist/components/CardTransfer/CardTransfer.js +10 -11
  12. package/dist/components/CardTransfer/CardTransfer.js.map +1 -1
  13. package/dist/components/CardTransfer/CardTransferContent.d.ts +2 -2
  14. package/dist/components/ComparisonTable/TableColumn.js +7 -2
  15. package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  16. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +2 -2
  17. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  18. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  19. package/dist/components/ExchangeRateTile/renderInput.js +2 -2
  20. package/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
  21. package/dist/components/GracePeriod/GracePeriod.js +3 -3
  22. package/dist/components/GracePeriod/GracePeriod.js.map +1 -1
  23. package/dist/components/GracePeriod/GracePeriodContent.d.ts +1 -1
  24. package/dist/components/MobileAppTile/MobileAppTile.js +2 -2
  25. package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  26. package/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  27. package/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  28. package/dist/components/SafeDepositRental/SafeDepositRental.js +1 -1
  29. package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  30. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +1 -1
  31. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  32. package/dist/components/SafeDepositRental/WrapperSelect.js +6 -3
  33. package/dist/components/SafeDepositRental/WrapperSelect.js.map +1 -1
  34. package/dist/components/Tabs/Tabs.d.ts +4 -0
  35. package/dist/components/Tabs/Tabs.js +13 -3
  36. package/dist/components/Tabs/Tabs.js.map +1 -1
  37. package/dist/components/Tabs/TabsContent.d.ts +2 -0
  38. package/dist/components/Tabs/renderLinkTab.d.ts +3 -2
  39. package/dist/components/Tabs/renderLinkTab.js +4 -1
  40. package/dist/components/Tabs/renderLinkTab.js.map +1 -1
  41. package/dist/components/Tabs/renderTab.js +12 -2
  42. package/dist/components/Tabs/renderTab.js.map +1 -1
  43. package/dist/react/IntersectionObserverTag.js +7 -3
  44. package/dist/react/IntersectionObserverTag.js.map +1 -1
  45. package/dist/ui-kit/BlockWrapper.js +34 -12
  46. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  47. package/dist/ui-kit/CurrencyInput/CurrencyInput.js +11 -6
  48. package/dist/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -1
  49. package/dist/ui-kit/CurrencyInput/CurrencyInputProps.d.ts +2 -7
  50. package/dist/ui-kit/CurrencyInput/adjustValue .d.ts +1 -0
  51. package/dist/ui-kit/CurrencyInput/adjustValue .js +15 -0
  52. package/dist/ui-kit/CurrencyInput/adjustValue .js.map +1 -0
  53. package/dist/ui-kit/Input/Input.d.ts +1 -1
  54. package/dist/ui-kit/Input/Input.js +7 -4
  55. package/dist/ui-kit/Input/Input.js.map +1 -1
  56. package/dist/ui-kit/Input/InputProps.d.ts +6 -3
  57. package/dist/ui-kit/Select/Select.d.ts +10 -4
  58. package/dist/ui-kit/Select/Select.js +23 -5
  59. package/dist/ui-kit/Select/Select.js.map +1 -1
  60. package/dist/utils/changeHashOnObserve.d.ts +9 -1
  61. package/dist/utils/changeHashOnObserve.js +12 -4
  62. package/dist/utils/changeHashOnObserve.js.map +1 -1
  63. package/lib/EventBus/EventMap.d.ts +2 -1
  64. package/lib/common.css +1 -1
  65. package/lib/components/Bonus/Bonus.js +11 -2
  66. package/lib/components/Bonus/Bonus.js.map +1 -1
  67. package/lib/components/Bonus/BonusContent.d.ts +30 -2
  68. package/lib/components/CardTransfer/CardTransfer.js +10 -11
  69. package/lib/components/CardTransfer/CardTransfer.js.map +1 -1
  70. package/lib/components/CardTransfer/CardTransferContent.d.ts +2 -2
  71. package/lib/components/ComparisonTable/TableColumn.js +7 -2
  72. package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  73. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +2 -2
  74. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  75. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  76. package/lib/components/ExchangeRateTile/renderInput.js +2 -2
  77. package/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
  78. package/lib/components/GracePeriod/GracePeriod.js +3 -3
  79. package/lib/components/GracePeriod/GracePeriod.js.map +1 -1
  80. package/lib/components/GracePeriod/GracePeriodContent.d.ts +1 -1
  81. package/lib/components/MobileAppTile/MobileAppTile.js +2 -2
  82. package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  83. package/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  84. package/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  85. package/lib/components/SafeDepositRental/SafeDepositRental.js +1 -1
  86. package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  87. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +1 -1
  88. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  89. package/lib/components/SafeDepositRental/WrapperSelect.js +7 -4
  90. package/lib/components/SafeDepositRental/WrapperSelect.js.map +1 -1
  91. package/lib/components/Tabs/Tabs.d.ts +4 -0
  92. package/lib/components/Tabs/Tabs.js +13 -3
  93. package/lib/components/Tabs/Tabs.js.map +1 -1
  94. package/lib/components/Tabs/TabsContent.d.ts +2 -0
  95. package/lib/components/Tabs/renderLinkTab.d.ts +3 -2
  96. package/lib/components/Tabs/renderLinkTab.js +5 -2
  97. package/lib/components/Tabs/renderLinkTab.js.map +1 -1
  98. package/lib/components/Tabs/renderTab.js +12 -2
  99. package/lib/components/Tabs/renderTab.js.map +1 -1
  100. package/lib/react/IntersectionObserverTag.js +7 -3
  101. package/lib/react/IntersectionObserverTag.js.map +1 -1
  102. package/lib/ui-kit/BlockWrapper.js +35 -13
  103. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  104. package/lib/ui-kit/CurrencyInput/CurrencyInput.js +12 -7
  105. package/lib/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -1
  106. package/lib/ui-kit/CurrencyInput/CurrencyInputProps.d.ts +2 -7
  107. package/lib/ui-kit/CurrencyInput/adjustValue .d.ts +1 -0
  108. package/lib/ui-kit/CurrencyInput/adjustValue .js +12 -0
  109. package/lib/ui-kit/CurrencyInput/adjustValue .js.map +1 -0
  110. package/lib/ui-kit/Input/Input.d.ts +1 -1
  111. package/lib/ui-kit/Input/Input.js +8 -5
  112. package/lib/ui-kit/Input/Input.js.map +1 -1
  113. package/lib/ui-kit/Input/InputProps.d.ts +6 -3
  114. package/lib/ui-kit/Select/Select.d.ts +10 -4
  115. package/lib/ui-kit/{SelectCustom/SelectCustom.fixture.d.ts → Select/Select.fixture.d.ts} +0 -0
  116. package/lib/ui-kit/Select/Select.js +24 -6
  117. package/lib/ui-kit/Select/Select.js.map +1 -1
  118. package/lib/utils/changeHashOnObserve.d.ts +9 -1
  119. package/lib/utils/changeHashOnObserve.js +12 -4
  120. package/lib/utils/changeHashOnObserve.js.map +1 -1
  121. package/mobile/bundle/bundle.umd.js +90 -52
  122. package/mobile/bundle/bundle.umd.min.js +1 -1
  123. package/mobile/dist/EventBus/EventMap.d.ts +2 -1
  124. package/mobile/dist/components/Bonus/Bonus.js +11 -2
  125. package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
  126. package/mobile/dist/components/Bonus/BonusContent.d.ts +30 -2
  127. package/mobile/dist/components/CardTransfer/CardTransfer.js +10 -11
  128. package/mobile/dist/components/CardTransfer/CardTransfer.js.map +1 -1
  129. package/mobile/dist/components/CardTransfer/CardTransferContent.d.ts +2 -2
  130. package/mobile/dist/components/ComparisonTable/TableColumn.js +7 -2
  131. package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  132. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +2 -2
  133. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  134. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  135. package/mobile/dist/components/ExchangeRateTile/renderInput.js +2 -2
  136. package/mobile/dist/components/ExchangeRateTile/renderInput.js.map +1 -1
  137. package/mobile/dist/components/GracePeriod/GracePeriod.js +3 -3
  138. package/mobile/dist/components/GracePeriod/GracePeriod.js.map +1 -1
  139. package/mobile/dist/components/GracePeriod/GracePeriodContent.d.ts +1 -1
  140. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  141. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  142. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js +1 -1
  143. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  144. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +1 -1
  145. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  146. package/mobile/dist/components/SafeDepositRental/WrapperSelect.js +6 -3
  147. package/mobile/dist/components/SafeDepositRental/WrapperSelect.js.map +1 -1
  148. package/mobile/dist/components/Tabs/Tabs.d.ts +4 -0
  149. package/mobile/dist/components/Tabs/Tabs.js +13 -3
  150. package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
  151. package/mobile/dist/components/Tabs/TabsContent.d.ts +2 -0
  152. package/mobile/dist/components/Tabs/renderLinkTab.d.ts +3 -2
  153. package/mobile/dist/components/Tabs/renderLinkTab.js +4 -1
  154. package/mobile/dist/components/Tabs/renderLinkTab.js.map +1 -1
  155. package/mobile/dist/components/Tabs/renderTab.js +12 -2
  156. package/mobile/dist/components/Tabs/renderTab.js.map +1 -1
  157. package/mobile/dist/react/IntersectionObserverTag.js +7 -3
  158. package/mobile/dist/react/IntersectionObserverTag.js.map +1 -1
  159. package/mobile/dist/ui-kit/BlockWrapper.js +34 -12
  160. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  161. package/mobile/dist/ui-kit/CurrencyInput/CurrencyInput.js +11 -6
  162. package/mobile/dist/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -1
  163. package/mobile/dist/ui-kit/CurrencyInput/CurrencyInputProps.d.ts +2 -7
  164. package/mobile/dist/ui-kit/CurrencyInput/adjustValue .d.ts +1 -0
  165. package/mobile/dist/ui-kit/CurrencyInput/adjustValue .js +15 -0
  166. package/mobile/dist/ui-kit/CurrencyInput/adjustValue .js.map +1 -0
  167. package/mobile/dist/ui-kit/Input/Input.d.ts +1 -1
  168. package/mobile/dist/ui-kit/Input/Input.js +7 -4
  169. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  170. package/mobile/dist/ui-kit/Input/InputProps.d.ts +6 -3
  171. package/mobile/dist/ui-kit/Select/Select.d.ts +10 -4
  172. package/mobile/dist/ui-kit/Select/Select.js +23 -5
  173. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  174. package/mobile/dist/utils/changeHashOnObserve.d.ts +9 -1
  175. package/mobile/dist/utils/changeHashOnObserve.js +12 -4
  176. package/mobile/dist/utils/changeHashOnObserve.js.map +1 -1
  177. package/mobile/lib/EventBus/EventMap.d.ts +2 -1
  178. package/mobile/lib/components/Bonus/Bonus.js +11 -2
  179. package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
  180. package/mobile/lib/components/Bonus/BonusContent.d.ts +30 -2
  181. package/mobile/lib/components/CardTransfer/CardTransfer.js +10 -11
  182. package/mobile/lib/components/CardTransfer/CardTransfer.js.map +1 -1
  183. package/mobile/lib/components/CardTransfer/CardTransferContent.d.ts +2 -2
  184. package/mobile/lib/components/ComparisonTable/TableColumn.js +7 -2
  185. package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  186. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +2 -2
  187. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
  188. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  189. package/mobile/lib/components/ExchangeRateTile/renderInput.js +2 -2
  190. package/mobile/lib/components/ExchangeRateTile/renderInput.js.map +1 -1
  191. package/mobile/lib/components/GracePeriod/GracePeriod.js +3 -3
  192. package/mobile/lib/components/GracePeriod/GracePeriod.js.map +1 -1
  193. package/mobile/lib/components/GracePeriod/GracePeriodContent.d.ts +1 -1
  194. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  195. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  196. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js +1 -1
  197. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  198. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +1 -1
  199. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  200. package/mobile/lib/components/SafeDepositRental/WrapperSelect.js +7 -4
  201. package/mobile/lib/components/SafeDepositRental/WrapperSelect.js.map +1 -1
  202. package/mobile/lib/components/Tabs/Tabs.d.ts +4 -0
  203. package/mobile/lib/components/Tabs/Tabs.js +13 -3
  204. package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
  205. package/mobile/lib/components/Tabs/TabsContent.d.ts +2 -0
  206. package/mobile/lib/components/Tabs/renderLinkTab.d.ts +3 -2
  207. package/mobile/lib/components/Tabs/renderLinkTab.js +5 -2
  208. package/mobile/lib/components/Tabs/renderLinkTab.js.map +1 -1
  209. package/mobile/lib/components/Tabs/renderTab.js +12 -2
  210. package/mobile/lib/components/Tabs/renderTab.js.map +1 -1
  211. package/mobile/lib/react/IntersectionObserverTag.js +7 -3
  212. package/mobile/lib/react/IntersectionObserverTag.js.map +1 -1
  213. package/mobile/lib/ui-kit/BlockWrapper.js +35 -13
  214. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  215. package/mobile/lib/ui-kit/CurrencyInput/CurrencyInput.js +12 -7
  216. package/mobile/lib/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -1
  217. package/mobile/lib/ui-kit/CurrencyInput/CurrencyInputProps.d.ts +2 -7
  218. package/mobile/lib/ui-kit/CurrencyInput/adjustValue .d.ts +1 -0
  219. package/mobile/lib/ui-kit/CurrencyInput/adjustValue .js +12 -0
  220. package/mobile/lib/ui-kit/CurrencyInput/adjustValue .js.map +1 -0
  221. package/mobile/lib/ui-kit/Input/Input.d.ts +1 -1
  222. package/mobile/lib/ui-kit/Input/Input.js +8 -5
  223. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  224. package/mobile/lib/ui-kit/Input/InputProps.d.ts +6 -3
  225. package/mobile/lib/ui-kit/Select/Select.d.ts +10 -4
  226. package/mobile/lib/ui-kit/Select/Select.js +24 -6
  227. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  228. package/mobile/lib/utils/changeHashOnObserve.d.ts +9 -1
  229. package/mobile/lib/utils/changeHashOnObserve.js +12 -4
  230. package/mobile/lib/utils/changeHashOnObserve.js.map +1 -1
  231. package/mobile/src/EventBus/EventMap.ts +3 -1
  232. package/mobile/src/components/Accordion/Accordion.ui.json +79 -0
  233. package/mobile/src/components/BenefitsBlock/BenefitsBlock.ui.json +16 -0
  234. package/mobile/src/components/Bonus/Bonus.example.json +5 -2
  235. package/mobile/src/components/Bonus/Bonus.tsx +44 -16
  236. package/mobile/src/components/Bonus/Bonus.ui.json +16 -0
  237. package/mobile/src/components/Bonus/BonusContent.ts +33 -2
  238. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +1 -1
  239. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.ui.json +11 -0
  240. package/mobile/src/components/Calculator/Calculator.example.json +2 -1
  241. package/mobile/src/components/Calculator/Calculator.ui.json +31 -0
  242. package/mobile/src/components/CardTransfer/CardTransfer.example.json +7 -2
  243. package/mobile/src/components/CardTransfer/CardTransfer.tsx +22 -23
  244. package/mobile/src/components/CardTransfer/CardTransfer.ui.json +1 -0
  245. package/mobile/src/components/CardTransfer/CardTransferContent.ts +2 -2
  246. package/mobile/src/components/Catalog/Catalog.ui.json +1 -0
  247. package/mobile/src/components/ComparisonTable/ComparisonTable.ui.json +1 -0
  248. package/mobile/src/components/ComparisonTable/TableColumn.tsx +17 -11
  249. package/mobile/src/components/ContentPage/ContentPage.page.json +15 -1
  250. package/mobile/src/components/ErrorBlock/ErrorBlock.ui.json +12 -0
  251. package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +4 -3
  252. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.ui.json +1 -0
  253. package/mobile/src/components/ExchangeRateTile/renderInput.tsx +3 -3
  254. package/mobile/src/components/Footer/Footer.ui.json +11 -0
  255. package/mobile/src/components/Gallery/Gallery.ui.json +1 -0
  256. package/mobile/src/components/GracePeriod/GracePeriod.tsx +5 -4
  257. package/mobile/src/components/GracePeriod/GracePeriod.ui.json +15 -0
  258. package/mobile/src/components/GracePeriod/GracePeriodContent.ts +1 -1
  259. package/mobile/src/components/Header/Header.ui.json +11 -0
  260. package/mobile/src/components/Headline/Headline.ui.json +1 -0
  261. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlock.ui.json +15 -0
  262. package/mobile/src/components/LinkDocs/LinkDocs.ui.json +1 -0
  263. package/mobile/src/components/LinkList/LinkList.ui.json +1 -0
  264. package/mobile/src/components/MiniGallery/MiniGallery.ui.json +1 -0
  265. package/mobile/src/components/MobileAppTile/MobileAppTile.ui.json +7 -0
  266. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.ui.json +11 -0
  267. package/mobile/src/components/OtherProducts/OtherProducts.ui.json +76 -0
  268. package/mobile/src/components/PictureText/PictureText.ui.json +1 -0
  269. package/mobile/src/components/Placeholder/Placeholder.ui.json +1 -0
  270. package/mobile/src/components/ProductBlock/ProductBlock.ui.json +12 -0
  271. package/mobile/src/components/ProductGallery/ProductGallery.ui.json +30 -0
  272. package/mobile/src/components/ProductTile/ProductTile.ui.json +1 -0
  273. package/mobile/src/components/PromoTile/PromoTile.ui.json +1 -0
  274. package/mobile/src/components/Recommendation/Recommendation.ui.json +11 -0
  275. package/mobile/src/components/SafeDepositRental/RegionsAndBranches.tsx +4 -4
  276. package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +1 -1
  277. package/mobile/src/components/SafeDepositRental/SafeDepositRental.ui.json +1 -0
  278. package/mobile/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +2 -2
  279. package/mobile/src/components/SafeDepositRental/WrapperSelect.tsx +15 -20
  280. package/mobile/src/components/StepsBlock/StepsBlock.ui.json +11 -0
  281. package/mobile/src/components/Tabs/Tabs.tsx +25 -3
  282. package/mobile/src/components/Tabs/Tabs.ui.json +1 -0
  283. package/mobile/src/components/Tabs/TabsContent.ts +2 -0
  284. package/mobile/src/components/Tabs/renderLinkTab.tsx +28 -12
  285. package/mobile/src/components/Tabs/renderTab.tsx +13 -2
  286. package/mobile/src/components/TariffsTable/TariffsTable.ui.json +33 -0
  287. package/mobile/src/components/TextBlock/TextBlock.ui.json +1 -0
  288. package/mobile/src/components/Tile/Tile.ui.json +1 -0
  289. package/mobile/src/react/IntersectionObserverTag.tsx +10 -3
  290. package/mobile/src/ui-kit/BlockWrapper.tsx +45 -18
  291. package/mobile/src/ui-kit/CurrencyInput/CurrencyInput.tsx +21 -36
  292. package/mobile/src/ui-kit/CurrencyInput/CurrencyInputProps.ts +3 -7
  293. package/mobile/src/ui-kit/CurrencyInput/adjustValue .ts +17 -0
  294. package/mobile/src/ui-kit/Input/Input.tsx +37 -16
  295. package/mobile/src/ui-kit/Input/InputProps.ts +6 -3
  296. package/mobile/src/ui-kit/Select/Select.tsx +86 -20
  297. package/mobile/src/utils/changeHashOnObserve.ts +30 -10
  298. package/package.json +6 -3
  299. package/src/EventBus/EventMap.ts +3 -1
  300. package/src/components/Accordion/Accordion.ui.json +79 -0
  301. package/src/components/BenefitsBlock/BenefitsBlock.ui.json +16 -0
  302. package/src/components/Bonus/Bonus.example.json +5 -2
  303. package/src/components/Bonus/Bonus.fixture.tsx +37 -6
  304. package/src/components/Bonus/Bonus.tsx +44 -16
  305. package/src/components/Bonus/Bonus.ui.json +16 -0
  306. package/src/components/Bonus/BonusContent.ts +33 -2
  307. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +1 -1
  308. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.ui.json +11 -0
  309. package/src/components/Calculator/Calculator.example.json +2 -1
  310. package/src/components/Calculator/Calculator.ui.json +31 -0
  311. package/src/components/CardTransfer/CardTransfer.example.json +7 -2
  312. package/src/components/CardTransfer/CardTransfer.fixture.tsx +9 -1
  313. package/src/components/CardTransfer/CardTransfer.tsx +22 -23
  314. package/src/components/CardTransfer/CardTransfer.ui.json +1 -0
  315. package/src/components/CardTransfer/CardTransferContent.ts +2 -2
  316. package/src/components/Catalog/Catalog.ui.json +1 -0
  317. package/src/components/ComparisonTable/ComparisonTable.ui.json +1 -0
  318. package/src/components/ComparisonTable/TableColumn.tsx +17 -11
  319. package/src/components/ContentPage/ContentPage.page.json +15 -1
  320. package/src/components/ErrorBlock/ErrorBlock.ui.json +12 -0
  321. package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +4 -3
  322. package/src/components/ExchangeRateTile/ExchangeRateTile.ui.json +1 -0
  323. package/src/components/ExchangeRateTile/renderInput.tsx +3 -3
  324. package/src/components/Footer/Footer.ui.json +11 -0
  325. package/src/components/Gallery/Gallery.ui.json +1 -0
  326. package/src/components/GracePeriod/GracePeriod.fixture.tsx +5 -5
  327. package/src/components/GracePeriod/GracePeriod.tsx +5 -4
  328. package/src/components/GracePeriod/GracePeriod.ui.json +15 -0
  329. package/src/components/GracePeriod/GracePeriodContent.ts +1 -1
  330. package/src/components/Header/Header.ui.json +11 -0
  331. package/src/components/Headline/Headline.ui.json +1 -0
  332. package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.ui.json +15 -0
  333. package/src/components/LinkDocs/LinkDocs.ui.json +1 -0
  334. package/src/components/LinkList/LinkList.ui.json +1 -0
  335. package/src/components/MiniGallery/MiniGallery.ui.json +1 -0
  336. package/src/components/MobileAppTile/MobileAppTile.tsx +2 -2
  337. package/src/components/MobileAppTile/MobileAppTile.ui.json +7 -0
  338. package/src/components/OfficeServicesBlock/OfficeServicesBlock.ui.json +11 -0
  339. package/src/components/OtherProducts/OtherProducts.ui.json +76 -0
  340. package/src/components/PictureText/PictureText.ui.json +1 -0
  341. package/src/components/Placeholder/Placeholder.ui.json +1 -0
  342. package/src/components/ProductBlock/ProductBlock.ui.json +12 -0
  343. package/src/components/ProductGallery/ProductGallery.ui.json +30 -0
  344. package/src/components/ProductTile/ProductTile.ui.json +1 -0
  345. package/src/components/PromoTile/PromoTile.ui.json +1 -0
  346. package/src/components/Recommendation/Recommendation.ui.json +11 -0
  347. package/src/components/SafeDepositRental/RegionsAndBranches.tsx +4 -4
  348. package/src/components/SafeDepositRental/SafeDepositRental.tsx +1 -1
  349. package/src/components/SafeDepositRental/SafeDepositRental.ui.json +1 -0
  350. package/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +2 -2
  351. package/src/components/SafeDepositRental/WrapperSelect.tsx +15 -20
  352. package/src/components/StepsBlock/StepsBlock.ui.json +11 -0
  353. package/src/components/Tabs/Tabs.tsx +25 -3
  354. package/src/components/Tabs/Tabs.ui.json +1 -0
  355. package/src/components/Tabs/TabsContent.ts +2 -0
  356. package/src/components/Tabs/renderLinkTab.tsx +28 -12
  357. package/src/components/Tabs/renderTab.tsx +13 -2
  358. package/src/components/TariffsTable/TariffsTable.ui.json +33 -0
  359. package/src/components/TextBlock/TextBlock.ui.json +1 -0
  360. package/src/components/Tile/Tile.ui.json +1 -0
  361. package/src/react/IntersectionObserverTag.tsx +10 -3
  362. package/src/ui-kit/BlockWrapper.tsx +45 -18
  363. package/src/ui-kit/CurrencyInput/CurrencyInput.tsx +21 -36
  364. package/src/ui-kit/CurrencyInput/CurrencyInputProps.ts +3 -7
  365. package/src/ui-kit/CurrencyInput/adjustValue .ts +17 -0
  366. package/src/ui-kit/Input/Input.tsx +37 -16
  367. package/src/ui-kit/Input/InputProps.ts +6 -3
  368. package/src/ui-kit/{SelectCustom/SelectCustom.fixture.tsx → Select/Select.fixture.tsx} +2 -2
  369. package/src/ui-kit/Select/Select.tsx +86 -20
  370. package/src/utils/changeHashOnObserve.ts +30 -10
  371. package/bin/migration-scripts/0.4.5.spec.ts +0 -352
  372. package/dist/components/ExchangeRateTile/renderButton.d.ts +0 -3
  373. package/dist/components/ExchangeRateTile/renderButton.js +0 -9
  374. package/dist/components/ExchangeRateTile/renderButton.js.map +0 -1
  375. package/dist/ui-kit/Select/SelectOption.d.ts +0 -7
  376. package/dist/ui-kit/Select/SelectOption.js +0 -8
  377. package/dist/ui-kit/Select/SelectOption.js.map +0 -1
  378. package/dist/ui-kit/SelectCustom/SelectCustom.d.ts +0 -13
  379. package/dist/ui-kit/SelectCustom/SelectCustom.js +0 -30
  380. package/dist/ui-kit/SelectCustom/SelectCustom.js.map +0 -1
  381. package/lib/components/ExchangeRateTile/renderButton.d.ts +0 -3
  382. package/lib/components/ExchangeRateTile/renderButton.js +0 -6
  383. package/lib/components/ExchangeRateTile/renderButton.js.map +0 -1
  384. package/lib/ui-kit/Select/SelectOption.d.ts +0 -7
  385. package/lib/ui-kit/Select/SelectOption.js +0 -6
  386. package/lib/ui-kit/Select/SelectOption.js.map +0 -1
  387. package/lib/ui-kit/SelectCustom/SelectCustom.d.ts +0 -13
  388. package/lib/ui-kit/SelectCustom/SelectCustom.js +0 -28
  389. package/lib/ui-kit/SelectCustom/SelectCustom.js.map +0 -1
  390. package/mobile/dist/components/ExchangeRateTile/renderButton.d.ts +0 -3
  391. package/mobile/dist/components/ExchangeRateTile/renderButton.js +0 -9
  392. package/mobile/dist/components/ExchangeRateTile/renderButton.js.map +0 -1
  393. package/mobile/dist/ui-kit/Select/SelectOption.d.ts +0 -7
  394. package/mobile/dist/ui-kit/Select/SelectOption.js +0 -8
  395. package/mobile/dist/ui-kit/Select/SelectOption.js.map +0 -1
  396. package/mobile/dist/ui-kit/SelectCustom/SelectCustom.d.ts +0 -13
  397. package/mobile/dist/ui-kit/SelectCustom/SelectCustom.js +0 -30
  398. package/mobile/dist/ui-kit/SelectCustom/SelectCustom.js.map +0 -1
  399. package/mobile/lib/components/ExchangeRateTile/renderButton.d.ts +0 -3
  400. package/mobile/lib/components/ExchangeRateTile/renderButton.js +0 -6
  401. package/mobile/lib/components/ExchangeRateTile/renderButton.js.map +0 -1
  402. package/mobile/lib/ui-kit/Select/SelectOption.d.ts +0 -7
  403. package/mobile/lib/ui-kit/Select/SelectOption.js +0 -6
  404. package/mobile/lib/ui-kit/Select/SelectOption.js.map +0 -1
  405. package/mobile/lib/ui-kit/SelectCustom/SelectCustom.d.ts +0 -13
  406. package/mobile/lib/ui-kit/SelectCustom/SelectCustom.js +0 -28
  407. package/mobile/lib/ui-kit/SelectCustom/SelectCustom.js.map +0 -1
  408. package/mobile/src/components/Blocks.spec.tsx +0 -66
  409. package/mobile/src/components/ContentPage/computeAPIFallback.spec.ts +0 -63
  410. package/mobile/src/components/ContentPage/normalizeBlock.spec.ts +0 -50
  411. package/mobile/src/components/ExchangeRateTile/renderButton.tsx +0 -10
  412. package/mobile/src/components/__snapshots__/Blocks.spec.tsx.snap +0 -1206
  413. package/mobile/src/content-page-repository/mapJSON.spec.ts +0 -28
  414. package/mobile/src/services/sitemap/checkIsHrefSameOrigin.spec.ts +0 -20
  415. package/mobile/src/services/sitemap/isTopItemActive.spec.ts +0 -60
  416. package/mobile/src/services/sitemap/mergeTopItems.spec.ts +0 -20
  417. package/mobile/src/ui-kit/Select/SelectOption.tsx +0 -18
  418. package/mobile/src/ui-kit/SelectCustom/SelectCustom.tsx +0 -91
  419. package/mobile/src/ui-kit/SwipeListControl/utils/getIndexParts.spec.ts +0 -19
  420. package/mobile/src/ui-kit/SwipeListControl/utils/getScrollPoints.spec.ts +0 -42
  421. package/mobile/src/utils/adjustHref.spec.ts +0 -25
  422. package/mobile/src/utils/maxBy.spec.ts +0 -11
  423. package/mobile/src/utils/url.spec.ts +0 -17
  424. package/src/components/Blocks.spec.tsx +0 -66
  425. package/src/components/ContentPage/computeAPIFallback.spec.ts +0 -63
  426. package/src/components/ContentPage/normalizeBlock.mobile.spec.ts +0 -71
  427. package/src/components/ContentPage/normalizeBlock.spec.ts +0 -50
  428. package/src/components/ExchangeRateTile/renderButton.tsx +0 -10
  429. package/src/components/__snapshots__/Blocks.spec.tsx.snap +0 -1206
  430. package/src/content-page-repository/mapJSON.spec.ts +0 -28
  431. package/src/services/sitemap/checkIsHrefSameOrigin.spec.ts +0 -20
  432. package/src/services/sitemap/isTopItemActive.spec.ts +0 -60
  433. package/src/services/sitemap/mergeTopItems.spec.ts +0 -20
  434. package/src/ui-kit/Select/SelectOption.tsx +0 -18
  435. package/src/ui-kit/SelectCustom/SelectCustom.tsx +0 -91
  436. package/src/ui-kit/SwipeListControl/utils/getIndexParts.spec.ts +0 -19
  437. package/src/ui-kit/SwipeListControl/utils/getScrollPoints.spec.ts +0 -42
  438. package/src/utils/adjustHref.spec.ts +0 -25
  439. package/src/utils/maxBy.spec.ts +0 -11
  440. package/src/utils/url.spec.ts +0 -17
@@ -1,31 +1,97 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { Icon } from '../Icon/Icon';
3
+ import { useState, useEffect } from '@redneckz/uni-jsx/lib/hooks';
4
+
5
+ export interface OptionProps {
6
+ key: string;
7
+ text: string;
8
+ }
2
9
 
3
10
  export interface SelectProps {
4
11
  className?: string;
5
- id?: string;
6
- name?: string;
7
- value: string;
8
- onChange: (value: string) => void;
12
+ label?: string;
13
+ value?: OptionProps;
14
+ onChange: (value: OptionProps) => void;
15
+ options: OptionProps[];
16
+ isBorder?: boolean;
17
+ placeholder?: string;
9
18
  }
10
19
 
11
- const selectStyle = {
12
- background: `url('/icons/ArrowDownIcon.svg') right 16px top 50% / 21px no-repeat`,
13
- };
14
-
15
20
  export const Select = JSX<SelectProps>(
16
- ({ className = '', id, name, children, value, onChange }) => {
21
+ ({ className = '', isBorder = true, label, options = [], value, onChange, placeholder = '' }) => {
22
+ const [selectedItem, setSelectedItem] = useState(options[0] || { key: '', text: '' });
23
+ const [isOpen, setIsOpen] = useState(false);
24
+
25
+ const choiceOption = (option: OptionProps) => {
26
+ setSelectedItem(option);
27
+ setIsOpen(false);
28
+ onChange(option);
29
+ };
30
+
31
+ const isSelected = (option) => Boolean(option.key === selectedItem.key);
32
+
33
+ useEffect(() => {
34
+ setSelectedItem(value || { key: '', text: '' });
35
+ }, [value]);
36
+
17
37
  return (
18
- <select
19
- className={`appearance-none pl-0.5 ${className}`}
20
- style={selectStyle}
21
- id={id}
22
- name={name || id}
23
- value={value}
24
- onChange={(e) => onChange(e.target.value as string)}
25
- placeholder=""
26
- >
27
- {children}
28
- </select>
38
+ <div className={`${className}`}>
39
+ {label ? <span className="mb-2 flex">{label}</span> : null}
40
+ <div className={`relative ${isOpen ? 'z-20' : 'z-10'}`}>
41
+ <div
42
+ className={`text-m-light flex justify-between items-center mb-0.5 text-primary-text cursor-pointer
43
+ ${getBorderStyle(isBorder)}`}
44
+ onClick={() => setIsOpen(!isOpen)}
45
+ >
46
+ <p className="p-4 pr-8 h-[56px] overflow-hidden text-ellipsis whitespace-nowrap">
47
+ {selectedItem?.text || placeholder}
48
+ </p>
49
+ <Icon
50
+ name="ArrowUpIcon"
51
+ width="16"
52
+ height="16"
53
+ className={`absolute right-3 ${isOpen ? '' : 'rotate-180'}`}
54
+ />
55
+ </div>
56
+ {options?.length ? (
57
+ <div className={`h-0 ${renderOptionsStyle(isOpen)}`}>
58
+ <div
59
+ className={`bg-white text-l max-h-[256px] overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]`}
60
+ >
61
+ {options.map(renderOption(choiceOption, isOpen, isSelected))}
62
+ </div>
63
+ </div>
64
+ ) : null}
65
+ </div>
66
+ </div>
29
67
  );
30
68
  },
31
69
  );
70
+
71
+ const renderOptionsStyle = (isOpen) => (isOpen ? '' : 'overflow-hidden');
72
+
73
+ const renderOption =
74
+ (choiceOption, isOpen: boolean, isSelected) => (option: OptionProps, i: number) => {
75
+ return (
76
+ <div
77
+ key={String(i)}
78
+ onClick={() => {
79
+ choiceOption(option);
80
+ }}
81
+ className="flex px-4 py-3 cursor-pointer hover:bg-main-divider pr-11 relative"
82
+ >
83
+ <span className="min-h-6">{option.text}</span>
84
+ <Icon
85
+ name="DoneSimpleIcon"
86
+ width="16"
87
+ height="16"
88
+ className={['absolute right-4 pt-0.5', isSelected(option) && isOpen ? '' : 'hidden'].join(
89
+ ' ',
90
+ )}
91
+ />
92
+ </div>
93
+ );
94
+ };
95
+
96
+ const getBorderStyle = (isBorder) =>
97
+ isBorder ? 'border border-main-stroke rounded-md hover:border-primary-hover' : '';
@@ -1,10 +1,30 @@
1
- export const changeHashOnObserve = (entries: IntersectionObserverEntry[]) => {
2
- if (!entries.length) {
3
- return;
4
- }
5
- const [entry] = entries;
6
-
7
- if (entry.isIntersecting) {
8
- // Here must be logic for block intersection event
9
- }
10
- };
1
+ import { AnchorClickScrollingEvent } from '../components/Tabs/Tabs';
2
+ import { EventBus } from '../EventBus/EventBus';
3
+
4
+ interface ChangeHashOnObserveProps {
5
+ anchor?: string;
6
+ anchorClickRef?: {
7
+ current: AnchorClickScrollingEvent | null;
8
+ };
9
+ }
10
+
11
+ export const changeHashOnObserve =
12
+ ({ anchor, anchorClickRef }: ChangeHashOnObserveProps) =>
13
+ (entries: IntersectionObserverEntry[]) => {
14
+ if (!entries?.length) {
15
+ return;
16
+ }
17
+
18
+ const [entry] = entries;
19
+
20
+ if (!entry.isIntersecting || entry.boundingClientRect.top > 150) {
21
+ return;
22
+ }
23
+
24
+ if (anchorClickRef?.current?.isScrolling && anchorClickRef.current.label === `#${anchor}`) {
25
+ EventBus.inst.fire('anchorClick', { isScrolling: false, label: undefined });
26
+ EventBus.inst.fire('tab', { type: 'link', label: anchor });
27
+ } else if (!anchorClickRef?.current?.isScrolling) {
28
+ EventBus.inst.fire('tab', { type: 'link', label: anchor });
29
+ }
30
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.5.10",
3
+ "version": "0.5.11",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -66,7 +66,8 @@
66
66
  "mobile/src",
67
67
  "src",
68
68
  "cosmos-static/icons",
69
- "tailwind.config.cjs"
69
+ "tailwind.config.cjs",
70
+ "!**/*.spec.*"
70
71
  ],
71
72
  "repository": {
72
73
  "url": "https://github.com/redneckz/wildless-cms-uni-blocks.git"
@@ -94,7 +95,9 @@
94
95
  "size": "size-limit",
95
96
  "lint": "eslint ./src",
96
97
  "pretest": "npm run prepare && npm run lint",
97
- "test": "jest --coverage",
98
+ "test": "npm run test:src && npm run test:bin",
99
+ "test:update": "npm run test:src -- -u && npm run test:bin -- -u",
100
+ "test:src": "jest --coverage",
98
101
  "test:bin": "jest --config ./jest.config.bin.js",
99
102
  "cosmos": "cosmos",
100
103
  "cosmos:mobile": "cosmos --config cosmos.config.mobile.json",
@@ -1,6 +1,8 @@
1
- import type { TabActivationEvent } from '../components/Tabs/Tabs';
1
+ import type { AnchorClickScrollingEvent, TabActivationEvent } from '../components/Tabs/Tabs';
2
2
  import type { TariffsTableInnerEvent } from '../ui-kit/InnerTable/InnerTableProps';
3
+
3
4
  export interface EventMap {
4
5
  tab: TabActivationEvent;
5
6
  tariffInnerTable: TariffsTableInnerEvent;
7
+ anchorClick: AnchorClickScrollingEvent;
6
8
  }
@@ -0,0 +1,79 @@
1
+ {
2
+ "content": {
3
+ "accordionItems": {
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
+ "labelIcon": {
74
+ "ui:field": "icon"
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "content": {
3
+ "benefitList": {
4
+ "items": {
5
+ "description": {
6
+ "benefitType": {
7
+ "ui:widget": "hidden"
8
+ }
9
+ },
10
+ "icon": {
11
+ "ui:field": "icon"
12
+ }
13
+ }
14
+ }
15
+ }
16
+ }
@@ -5,8 +5,11 @@
5
5
  {
6
6
  "title": "Плитка 1",
7
7
  "description": "Описание плитки 1",
8
- "bonusCount": 1,
9
- "bonusName": "балл"
8
+ "bonusItemContent": {
9
+ "bonusType": "count",
10
+ "bonusCount": "1",
11
+ "bonusName": "балл"
12
+ }
10
13
  }
11
14
  ]
12
15
  }
@@ -1,7 +1,29 @@
1
+ import type { Picture } from '../../model/Picture';
1
2
  import { context } from '../../react/setup-fixture';
3
+ import type { ButtonProps } from '../../ui-kit/Button/ButtonProps';
2
4
  import { Bonus } from './Bonus';
3
5
  import type { BonusContent } from './BonusContent';
4
6
 
7
+ const imageSize = {
8
+ height: 242,
9
+ width: 242,
10
+ };
11
+
12
+ const cardWithMoney: Picture = {
13
+ src: 'card-with-diamond.png',
14
+ alt: 'Кредиты в РСХБ',
15
+ format: 'webp',
16
+ size: imageSize,
17
+ };
18
+
19
+ const buttons: ButtonProps[] = [
20
+ {
21
+ text: 'Установить',
22
+ href: '/credit-cards',
23
+ version: 'secondary',
24
+ },
25
+ ];
26
+
5
27
  export const BONUS: BonusContent = {
6
28
  title: 'Начисление баллов',
7
29
  description:
@@ -12,21 +34,30 @@ export const BONUS: BonusContent = {
12
34
  title: '5 баллов за каждые 100 ₽',
13
35
  description:
14
36
  'Повышенное начисление баллов за операции оплаты товаров и услуг в сети АЗС Роснефть',
15
- bonusCount: '5',
16
- bonusName: 'баллов',
37
+ bonusItemContent: {
38
+ bonusType: 'count',
39
+ bonusCount: '5',
40
+ bonusName: 'баллов',
41
+ },
17
42
  },
18
43
  {
19
44
  title: '1 балл за каждые 100 ₽',
20
45
  description: 'За остальные операции оплаты товаров и услуг',
21
- bonusCount: '1',
22
- bonusName: 'балл',
46
+ bonusItemContent: {
47
+ bonusType: 'count',
48
+ bonusCount: '1',
49
+ bonusName: 'балл',
50
+ },
23
51
  },
24
52
  {
25
53
  title: '300 приветственных баллов',
26
54
  description:
27
55
  'За операции оплаты товаров и услуг на общую сумму 1 000 рублей и более в течение первых двух месяцев после получения карты',
28
- bonusCount: '300',
29
- bonusName: 'баллов',
56
+ bonusItemContent: {
57
+ bonusType: 'image',
58
+ image: cardWithMoney,
59
+ },
60
+ buttons,
30
61
  },
31
62
  ],
32
63
  };
@@ -1,8 +1,10 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { UniBlockProps } from '../../model/ContentPageDef';
3
3
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
4
+ import { ButtonSection } from '../../ui-kit/Button/ButtonSection';
5
+ import { Img } from '../../ui-kit/Img/Img';
4
6
  import { Headline } from '../Headline/Headline';
5
- import type { BonusContent } from './BonusContent';
7
+ import type { BonusContent, BonusCountDef, BonusImageDef } from './BonusContent';
6
8
 
7
9
  export interface BonusProps extends BonusContent, UniBlockProps {}
8
10
 
@@ -25,28 +27,26 @@ export const Bonus = JSX<BonusProps>((props) => {
25
27
  align="center"
26
28
  />
27
29
  <div className="flex flex-wrap w-full mt-9">
28
- {bonusItems
30
+ {bonusItems?.length
29
31
  ? bonusItems.map((_, i) => {
30
32
  return (
31
33
  <div
32
34
  key={String(i)}
33
- className="flex-grow w-[49%] border border-gray pl-9 pt-9 pr-6 pb-6 mb-[14px] mx-[7px] even:mr-0 odd:ml-0 last:odd:mx-0"
35
+ className="flex-grow w-[49%] border border-gray pl-9 pt-9 pr-6 pb-6 mb-3 mx-2 even:mr-0 odd:ml-0 last:odd:mx-0"
34
36
  >
35
37
  <div className="flex justify-between w-full">
36
- <div className="mr-4">
37
- <div className="text-h4">{_.title}</div>
38
- <div className="text-xl-light mt-[14px] max-w-[488px]">{_.description}</div>
39
- </div>
40
- {_.bonusCount ? (
41
- <div className="relative -bottom-3 h-auto flex items-end mt-14 shrink-0">
42
- <span className="font-mohave -tracking-[5px] text-title-extra bg-clip-text text-transparent bg-green-to-yellow -mb-7">
43
- {_.bonusCount}
44
- </span>
45
- <span className="text-h2 bg-clip-text text-transparent bg-green-to-yellow">
46
- {_.bonusName}
47
- </span>
38
+ <div className="flex flex-col justify-between mr-4">
39
+ <div>
40
+ <div className="text-h4">{_.title}</div>
41
+ <div className="text-xl-light mt-2 max-w-[488px]">{_.description}</div>
48
42
  </div>
49
- ) : null}
43
+ {_?.buttons?.length ? (
44
+ <ButtonSection context={context} buttons={_?.buttons} />
45
+ ) : null}
46
+ </div>
47
+ {_.bonusItemContent?.bonusType
48
+ ? renderBonusItemContent(_.bonusItemContent)
49
+ : null}
50
50
  </div>
51
51
  </div>
52
52
  );
@@ -57,3 +57,31 @@ export const Bonus = JSX<BonusProps>((props) => {
57
57
  </BlockWrapper>
58
58
  );
59
59
  });
60
+
61
+ const renderBonusItemContent = (bonusItemContent: BonusImageDef | BonusCountDef) => (
62
+ <div>
63
+ {bonusItemContent.bonusType === 'count'
64
+ ? renderBonusCount(bonusItemContent as BonusCountDef)
65
+ : renderBonusImage(bonusItemContent as BonusImageDef)}
66
+ </div>
67
+ );
68
+
69
+ const renderBonusCount = (_: BonusCountDef) => (
70
+ <div className="relative -bottom-3 h-auto flex items-end mt-14 shrink-0">
71
+ {_.bonusCount ? (
72
+ <span className="font-mohave -tracking-[5px] text-title-extra bg-clip-text text-transparent bg-green-to-yellow -mb-7">
73
+ {_.bonusCount}
74
+ </span>
75
+ ) : null}
76
+ {_.bonusName ? (
77
+ <span className="text-h2 bg-clip-text text-transparent bg-green-to-yellow">
78
+ {_.bonusName}
79
+ </span>
80
+ ) : null}
81
+ </div>
82
+ );
83
+
84
+ const renderBonusImage = (_: BonusImageDef) =>
85
+ _.image ? (
86
+ <Img className={`w-[50px] h-[50px] min-w-[50px] p-3 rounded-full`} image={_.image} />
87
+ ) : null;
@@ -0,0 +1,16 @@
1
+ {
2
+ "content": {
3
+ "bonusItems": {
4
+ "items": {
5
+ "bonusItemContent": {
6
+ "bonusType": {
7
+ "ui:widget": "hidden"
8
+ },
9
+ "image": {
10
+ "ui:field": "icon"
11
+ }
12
+ }
13
+ }
14
+ }
15
+ }
16
+ }
@@ -1,15 +1,46 @@
1
+ import type { EmptyOption } from '../../model/EmptyOptionType';
1
2
  import type { HeadlineCommonProps } from '../../model/HeadlineType';
3
+ import type { Picture } from '../../model/Picture';
4
+ import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
2
5
 
3
6
  /**
4
- * @title Плитка
7
+ * @title Изображение
5
8
  */
6
- export type BonusItem = HeadlineCommonProps & {
9
+ export type BonusImageDef = {
10
+ /** @default image */
11
+ bonusType?: 'image';
12
+ image?: Picture;
13
+ };
14
+
15
+ /**
16
+ * @title Баллы
17
+ */
18
+ export type BonusCountDef = {
19
+ /** @default count */
20
+ bonusType?: 'count';
7
21
  /** @title Количество баллов */
8
22
  bonusCount?: string;
9
23
  /** @title Наименование */
10
24
  bonusName?: string;
11
25
  };
12
26
 
27
+ /**
28
+ * @title Вид контента
29
+ */
30
+ export type BonusItemContentDef = EmptyOption | BonusImageDef | BonusCountDef;
31
+
32
+ /**
33
+ * @title Плитка
34
+ */
35
+ export type BonusItem = HeadlineCommonProps & {
36
+ bonusItemContent?: BonusItemContentDef;
37
+ /**
38
+ * @title Кнопка
39
+ * @maxItems 1
40
+ */
41
+ buttons?: ButtonWithIconProps[];
42
+ };
43
+
13
44
  /**
14
45
  * @title Блок Бонусы
15
46
  */
@@ -10,7 +10,7 @@
10
10
  "width": 160,
11
11
  "height": 180
12
12
  },
13
- "icon": "WateringCan"
13
+ "icon": "WateringCanIcon"
14
14
  }
15
15
  },
16
16
  {
@@ -0,0 +1,11 @@
1
+ {
2
+ "content": {
3
+ "bonusBenefits": {
4
+ "items": {
5
+ "icon": {
6
+ "ui:field": "icon"
7
+ }
8
+ }
9
+ }
10
+ }
11
+ }
@@ -14,7 +14,8 @@
14
14
  "text": "Кнопка 1",
15
15
  "version": "primary"
16
16
  }
17
- ]
17
+ ],
18
+ "footnote": "Расчёт является предварительным. Точные условия будут предоставлены в отделении Банка. "
18
19
  }
19
20
  }
20
21
  ]
@@ -0,0 +1,31 @@
1
+ {
2
+ "content": {
3
+ "calculatorTabs": {
4
+ "items": {
5
+ "nav": {
6
+ "icon": {
7
+ "ui:field": "icon"
8
+ }
9
+ },
10
+ "calculatorBlock": {
11
+ "sourceBookDir": {
12
+ "ui:widget": "sourceBook"
13
+ },
14
+ "calcType": {
15
+ "ui:widget": "hidden"
16
+ },
17
+ "buttons": {
18
+ "items": {
19
+ "icon": {
20
+ "ui:field": "icon"
21
+ },
22
+ "iconRight": {
23
+ "ui:field": "icon"
24
+ }
25
+ }
26
+ }
27
+ }
28
+ }
29
+ }
30
+ }
31
+ }
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "title": "Укажите сумму перевода",
3
3
  "label": "Сумма перевода",
4
- "buttonText": "Далее",
5
- "placeholder": "1500"
4
+ "placeholder": "1500",
5
+ "button": {
6
+ "href": "",
7
+ "text": "Далее",
8
+ "target": "_blank",
9
+ "version": "primary"
10
+ }
6
11
  }
@@ -1,6 +1,14 @@
1
1
  import { context } from '../../react/setup-fixture';
2
2
  import { CardTransfer } from './CardTransfer';
3
+ import type { ButtonProps } from '../../ui-kit/Button/ButtonProps';
4
+
5
+ const button: ButtonProps = {
6
+ href: '',
7
+ text: 'Далее',
8
+ target: '_blank',
9
+ version: 'primary',
10
+ };
3
11
 
4
12
  export default {
5
- default: <CardTransfer context={context} />,
13
+ default: <CardTransfer context={context} button={button} />,
6
14
  };