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

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 (377) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +125 -137
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  5. package/bundle/components/Header/DropdownMenu.d.ts +5 -7
  6. package/bundle/components/Header/HeaderSubMenuItem.d.ts +12 -0
  7. package/bundle/hooks/useIntersectionObserver.d.ts +3 -0
  8. package/bundle/hooks/useOutsideClick.d.ts +3 -5
  9. package/bundle/model/IconVersion.d.ts +4 -2
  10. package/bundle/ui-kit/TopItem/TopItem.d.ts +1 -1
  11. package/bundle/utils/getIconWithVersion.d.ts +3 -0
  12. package/dist/components/AccordionItem/AccordionItem.mobile.js +2 -1
  13. package/dist/components/AccordionItem/AccordionItem.mobile.js.map +1 -1
  14. package/dist/components/BenefitsBlock/BenefitsBlock.js +7 -20
  15. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  16. package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  17. package/dist/components/Calculator/Calculator.js +6 -1
  18. package/dist/components/Calculator/Calculator.js.map +1 -1
  19. package/dist/components/ComparisonTable/HeaderCell.js +2 -1
  20. package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
  21. package/dist/components/Footer/Footer.mobile.js +3 -2
  22. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  23. package/dist/components/Footer/MediaButton.js +2 -1
  24. package/dist/components/Footer/MediaButton.js.map +1 -1
  25. package/dist/components/Gallery/GalleryCardInner.js +3 -2
  26. package/dist/components/Gallery/GalleryCardInner.js.map +1 -1
  27. package/dist/components/Header/DropdownMenu.d.ts +5 -7
  28. package/dist/components/Header/DropdownMenu.js +8 -7
  29. package/dist/components/Header/DropdownMenu.js.map +1 -1
  30. package/dist/components/Header/HeaderSubMenu.js +8 -21
  31. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  32. package/dist/components/Header/HeaderSubMenuItem.d.ts +12 -0
  33. package/dist/components/Header/HeaderSubMenuItem.js +23 -0
  34. package/dist/components/Header/HeaderSubMenuItem.js.map +1 -0
  35. package/dist/components/LinkDocs/LinkDocsListItemBase.js +2 -1
  36. package/dist/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
  37. package/dist/components/MobileAppTile/MobileAppTile.mobile.js +1 -1
  38. package/dist/components/MobileAppTile/MobileAppTile.mobile.js.map +1 -1
  39. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -1
  40. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  41. package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
  42. package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  43. package/dist/components/ProductBlock/renderBenefit.js +1 -3
  44. package/dist/components/ProductBlock/renderBenefit.js.map +1 -1
  45. package/dist/components/StepsBlock/StepsBlock.js +4 -3
  46. package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  47. package/dist/components/StepsBlock/StepsBlock.mobile.js +2 -1
  48. package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  49. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js +1 -0
  50. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  51. package/dist/components/TariffsTable/TariffsTableRow.js +2 -1
  52. package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  53. package/dist/hooks/useIntersectionObserver.d.ts +3 -0
  54. package/dist/hooks/useIntersectionObserver.js +19 -0
  55. package/dist/hooks/useIntersectionObserver.js.map +1 -0
  56. package/dist/hooks/useOutsideClick.d.ts +3 -5
  57. package/dist/hooks/useOutsideClick.js +11 -9
  58. package/dist/hooks/useOutsideClick.js.map +1 -1
  59. package/dist/index.js +1 -1
  60. package/dist/index.js.map +1 -1
  61. package/dist/model/IconVersion.d.ts +4 -2
  62. package/dist/model/IconVersion.js +10 -0
  63. package/dist/model/IconVersion.js.map +1 -1
  64. package/dist/ui-kit/BenefitItem/BenefitItem.js +3 -4
  65. package/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  66. package/dist/ui-kit/BlockWrapper.js +18 -26
  67. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  68. package/dist/ui-kit/Button/ButtonSection.js +5 -5
  69. package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  70. package/dist/ui-kit/HeaderItem/HeaderItem.js +1 -1
  71. package/dist/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
  72. package/dist/ui-kit/Icon/Icon.js +4 -3
  73. package/dist/ui-kit/Icon/Icon.js.map +1 -1
  74. package/dist/ui-kit/Logo/Logo.js +1 -1
  75. package/dist/ui-kit/Logo/Logo.js.map +1 -1
  76. package/dist/ui-kit/Logo/Logo.mobile.js +5 -1
  77. package/dist/ui-kit/Logo/Logo.mobile.js.map +1 -1
  78. package/dist/ui-kit/Select/Select.js +2 -2
  79. package/dist/ui-kit/Select/Select.js.map +1 -1
  80. package/dist/ui-kit/TopItem/TopItem.d.ts +1 -1
  81. package/dist/utils/getIconWithVersion.d.ts +3 -0
  82. package/dist/utils/getIconWithVersion.js +8 -0
  83. package/dist/utils/getIconWithVersion.js.map +1 -0
  84. package/lib/common.css +1 -1
  85. package/lib/components/AccordionItem/AccordionItem.mobile.js +2 -1
  86. package/lib/components/AccordionItem/AccordionItem.mobile.js.map +1 -1
  87. package/lib/components/BenefitsBlock/BenefitsBlock.js +7 -20
  88. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  89. package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  90. package/lib/components/Calculator/Calculator.js +6 -1
  91. package/lib/components/Calculator/Calculator.js.map +1 -1
  92. package/lib/components/ComparisonTable/HeaderCell.js +2 -1
  93. package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
  94. package/lib/components/Footer/Footer.mobile.js +3 -2
  95. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  96. package/lib/components/Footer/MediaButton.js +2 -1
  97. package/lib/components/Footer/MediaButton.js.map +1 -1
  98. package/lib/components/Gallery/GalleryCardInner.js +3 -2
  99. package/lib/components/Gallery/GalleryCardInner.js.map +1 -1
  100. package/lib/components/Header/DropdownMenu.d.ts +5 -7
  101. package/lib/components/Header/DropdownMenu.js +8 -7
  102. package/lib/components/Header/DropdownMenu.js.map +1 -1
  103. package/lib/components/Header/HeaderSubMenu.js +8 -21
  104. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  105. package/lib/components/Header/HeaderSubMenuItem.d.ts +12 -0
  106. package/lib/components/Header/HeaderSubMenuItem.js +21 -0
  107. package/lib/components/Header/HeaderSubMenuItem.js.map +1 -0
  108. package/lib/components/LinkDocs/LinkDocsListItemBase.js +2 -1
  109. package/lib/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
  110. package/lib/components/MobileAppTile/MobileAppTile.mobile.js +1 -1
  111. package/lib/components/MobileAppTile/MobileAppTile.mobile.js.map +1 -1
  112. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -1
  113. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  114. package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
  115. package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  116. package/lib/components/ProductBlock/renderBenefit.js +1 -3
  117. package/lib/components/ProductBlock/renderBenefit.js.map +1 -1
  118. package/lib/components/StepsBlock/StepsBlock.js +4 -3
  119. package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  120. package/lib/components/StepsBlock/StepsBlock.mobile.js +2 -1
  121. package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  122. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js +1 -0
  123. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
  124. package/lib/components/TariffsTable/TariffsTableRow.js +2 -1
  125. package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  126. package/lib/hooks/useIntersectionObserver.d.ts +3 -0
  127. package/lib/hooks/useIntersectionObserver.js +16 -0
  128. package/lib/hooks/useIntersectionObserver.js.map +1 -0
  129. package/lib/hooks/useOutsideClick.d.ts +3 -5
  130. package/lib/hooks/useOutsideClick.js +12 -10
  131. package/lib/hooks/useOutsideClick.js.map +1 -1
  132. package/lib/index.js +1 -1
  133. package/lib/index.js.map +1 -1
  134. package/lib/model/IconVersion.d.ts +4 -2
  135. package/lib/model/IconVersion.js +10 -0
  136. package/lib/model/IconVersion.js.map +1 -1
  137. package/lib/ui-kit/BenefitItem/BenefitItem.js +3 -4
  138. package/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  139. package/lib/ui-kit/BlockWrapper.js +18 -26
  140. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  141. package/lib/ui-kit/Button/ButtonSection.js +5 -5
  142. package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  143. package/lib/ui-kit/HeaderItem/HeaderItem.js +1 -1
  144. package/lib/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
  145. package/lib/ui-kit/Icon/Icon.js +4 -3
  146. package/lib/ui-kit/Icon/Icon.js.map +1 -1
  147. package/lib/ui-kit/Logo/Logo.js +1 -1
  148. package/lib/ui-kit/Logo/Logo.js.map +1 -1
  149. package/lib/ui-kit/Logo/Logo.mobile.js +5 -1
  150. package/lib/ui-kit/Logo/Logo.mobile.js.map +1 -1
  151. package/lib/ui-kit/Select/Select.js +3 -3
  152. package/lib/ui-kit/Select/Select.js.map +1 -1
  153. package/lib/ui-kit/TopItem/TopItem.d.ts +1 -1
  154. package/lib/utils/getIconWithVersion.d.ts +3 -0
  155. package/lib/utils/getIconWithVersion.js +5 -0
  156. package/lib/utils/getIconWithVersion.js.map +1 -0
  157. package/mobile/bundle/bundle.umd.js +64 -71
  158. package/mobile/bundle/bundle.umd.min.js +1 -1
  159. package/mobile/bundle/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  160. package/mobile/bundle/components/Header/DropdownMenu.d.ts +5 -7
  161. package/mobile/bundle/components/Header/HeaderSubMenuItem.d.ts +12 -0
  162. package/mobile/bundle/hooks/useIntersectionObserver.d.ts +3 -0
  163. package/mobile/bundle/hooks/useOutsideClick.d.ts +3 -5
  164. package/mobile/bundle/model/IconVersion.d.ts +4 -2
  165. package/mobile/bundle/ui-kit/TopItem/TopItem.d.ts +1 -1
  166. package/mobile/bundle/utils/getIconWithVersion.d.ts +3 -0
  167. package/mobile/dist/components/AccordionItem/AccordionItem.js +2 -1
  168. package/mobile/dist/components/AccordionItem/AccordionItem.js.map +1 -1
  169. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +7 -20
  170. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  171. package/mobile/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  172. package/mobile/dist/components/Calculator/Calculator.js +6 -1
  173. package/mobile/dist/components/Calculator/Calculator.js.map +1 -1
  174. package/mobile/dist/components/Footer/Footer.js +3 -2
  175. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  176. package/mobile/dist/components/Footer/MediaButton.js +2 -1
  177. package/mobile/dist/components/Footer/MediaButton.js.map +1 -1
  178. package/mobile/dist/components/Gallery/GalleryCardInner.js +3 -2
  179. package/mobile/dist/components/Gallery/GalleryCardInner.js.map +1 -1
  180. package/mobile/dist/components/Header/DropdownMenu.d.ts +5 -7
  181. package/mobile/dist/components/Header/DropdownMenu.js +8 -7
  182. package/mobile/dist/components/Header/DropdownMenu.js.map +1 -1
  183. package/mobile/dist/components/Header/HeaderSubMenu.js +8 -21
  184. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  185. package/mobile/dist/components/Header/HeaderSubMenuItem.d.ts +12 -0
  186. package/mobile/dist/components/Header/HeaderSubMenuItem.js +23 -0
  187. package/mobile/dist/components/Header/HeaderSubMenuItem.js.map +1 -0
  188. package/mobile/dist/components/LinkDocs/LinkDocsListItemBase.js +2 -1
  189. package/mobile/dist/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
  190. package/mobile/dist/components/MobileAppTile/MobileAppTile.js +1 -1
  191. package/mobile/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  192. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -1
  193. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  194. package/mobile/dist/components/ProductBlock/renderBenefit.js +1 -3
  195. package/mobile/dist/components/ProductBlock/renderBenefit.js.map +1 -1
  196. package/mobile/dist/components/StepsBlock/StepsBlock.js +2 -1
  197. package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  198. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js +1 -0
  199. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  200. package/mobile/dist/components/TariffsTable/TariffsTableRow.js +2 -1
  201. package/mobile/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  202. package/mobile/dist/hooks/useIntersectionObserver.d.ts +3 -0
  203. package/mobile/dist/hooks/useIntersectionObserver.js +19 -0
  204. package/mobile/dist/hooks/useIntersectionObserver.js.map +1 -0
  205. package/mobile/dist/hooks/useOutsideClick.d.ts +3 -5
  206. package/mobile/dist/hooks/useOutsideClick.js +11 -9
  207. package/mobile/dist/hooks/useOutsideClick.js.map +1 -1
  208. package/mobile/dist/index.js +1 -1
  209. package/mobile/dist/index.js.map +1 -1
  210. package/mobile/dist/model/IconVersion.d.ts +4 -2
  211. package/mobile/dist/model/IconVersion.js +10 -0
  212. package/mobile/dist/model/IconVersion.js.map +1 -1
  213. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js +3 -4
  214. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  215. package/mobile/dist/ui-kit/BlockWrapper.js +18 -26
  216. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  217. package/mobile/dist/ui-kit/Button/ButtonSection.js +5 -5
  218. package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  219. package/mobile/dist/ui-kit/Icon/Icon.js +4 -3
  220. package/mobile/dist/ui-kit/Icon/Icon.js.map +1 -1
  221. package/mobile/dist/ui-kit/Logo/Logo.js +5 -1
  222. package/mobile/dist/ui-kit/Logo/Logo.js.map +1 -1
  223. package/mobile/dist/ui-kit/Select/Select.js +2 -2
  224. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  225. package/mobile/dist/ui-kit/TopItem/TopItem.d.ts +1 -1
  226. package/mobile/dist/utils/getIconWithVersion.d.ts +3 -0
  227. package/mobile/dist/utils/getIconWithVersion.js +8 -0
  228. package/mobile/dist/utils/getIconWithVersion.js.map +1 -0
  229. package/mobile/lib/components/AccordionItem/AccordionItem.js +2 -1
  230. package/mobile/lib/components/AccordionItem/AccordionItem.js.map +1 -1
  231. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +7 -20
  232. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  233. package/mobile/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  234. package/mobile/lib/components/Calculator/Calculator.js +6 -1
  235. package/mobile/lib/components/Calculator/Calculator.js.map +1 -1
  236. package/mobile/lib/components/Footer/Footer.js +3 -2
  237. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  238. package/mobile/lib/components/Footer/MediaButton.js +2 -1
  239. package/mobile/lib/components/Footer/MediaButton.js.map +1 -1
  240. package/mobile/lib/components/Gallery/GalleryCardInner.js +3 -2
  241. package/mobile/lib/components/Gallery/GalleryCardInner.js.map +1 -1
  242. package/mobile/lib/components/Header/DropdownMenu.d.ts +5 -7
  243. package/mobile/lib/components/Header/DropdownMenu.js +8 -7
  244. package/mobile/lib/components/Header/DropdownMenu.js.map +1 -1
  245. package/mobile/lib/components/Header/HeaderSubMenu.js +8 -21
  246. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  247. package/mobile/lib/components/Header/HeaderSubMenuItem.d.ts +12 -0
  248. package/mobile/lib/components/Header/HeaderSubMenuItem.js +21 -0
  249. package/mobile/lib/components/Header/HeaderSubMenuItem.js.map +1 -0
  250. package/mobile/lib/components/LinkDocs/LinkDocsListItemBase.js +2 -1
  251. package/mobile/lib/components/LinkDocs/LinkDocsListItemBase.js.map +1 -1
  252. package/mobile/lib/components/MobileAppTile/MobileAppTile.js +1 -1
  253. package/mobile/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  254. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -1
  255. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
  256. package/mobile/lib/components/ProductBlock/renderBenefit.js +1 -3
  257. package/mobile/lib/components/ProductBlock/renderBenefit.js.map +1 -1
  258. package/mobile/lib/components/StepsBlock/StepsBlock.js +2 -1
  259. package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  260. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js +1 -0
  261. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  262. package/mobile/lib/components/TariffsTable/TariffsTableRow.js +2 -1
  263. package/mobile/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  264. package/mobile/lib/hooks/useIntersectionObserver.d.ts +3 -0
  265. package/mobile/lib/hooks/useIntersectionObserver.js +16 -0
  266. package/mobile/lib/hooks/useIntersectionObserver.js.map +1 -0
  267. package/mobile/lib/hooks/useOutsideClick.d.ts +3 -5
  268. package/mobile/lib/hooks/useOutsideClick.js +12 -10
  269. package/mobile/lib/hooks/useOutsideClick.js.map +1 -1
  270. package/mobile/lib/index.js +1 -1
  271. package/mobile/lib/index.js.map +1 -1
  272. package/mobile/lib/model/IconVersion.d.ts +4 -2
  273. package/mobile/lib/model/IconVersion.js +10 -0
  274. package/mobile/lib/model/IconVersion.js.map +1 -1
  275. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js +3 -4
  276. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  277. package/mobile/lib/ui-kit/BlockWrapper.js +18 -26
  278. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  279. package/mobile/lib/ui-kit/Button/ButtonSection.js +5 -5
  280. package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  281. package/mobile/lib/ui-kit/Icon/Icon.js +4 -3
  282. package/mobile/lib/ui-kit/Icon/Icon.js.map +1 -1
  283. package/mobile/lib/ui-kit/Logo/Logo.js +5 -1
  284. package/mobile/lib/ui-kit/Logo/Logo.js.map +1 -1
  285. package/mobile/lib/ui-kit/Select/Select.js +3 -3
  286. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  287. package/mobile/lib/ui-kit/TopItem/TopItem.d.ts +1 -1
  288. package/mobile/lib/utils/getIconWithVersion.d.ts +3 -0
  289. package/mobile/lib/utils/getIconWithVersion.js +5 -0
  290. package/mobile/lib/utils/getIconWithVersion.js.map +1 -0
  291. package/mobile/src/components/AccordionItem/AccordionItem.tsx +15 -2
  292. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +44 -66
  293. package/mobile/src/components/BenefitsBlock/BenefitsBlockContent.ts +1 -1
  294. package/mobile/src/components/Calculator/Calculator.tsx +6 -1
  295. package/mobile/src/components/Footer/Footer.tsx +15 -5
  296. package/mobile/src/components/Footer/MediaButton.tsx +8 -1
  297. package/mobile/src/components/Gallery/Gallery.tsx +1 -1
  298. package/mobile/src/components/Gallery/GalleryCardInner.tsx +8 -3
  299. package/mobile/src/components/Header/DropdownMenu.tsx +46 -63
  300. package/mobile/src/components/Header/HeaderSubMenu.tsx +21 -40
  301. package/mobile/src/components/Header/HeaderSubMenuItem.tsx +61 -0
  302. package/mobile/src/components/LinkDocs/LinkDocsListItemBase.tsx +8 -1
  303. package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
  304. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +2 -1
  305. package/mobile/src/components/ProductBlock/renderBenefit.tsx +2 -3
  306. package/mobile/src/components/StepsBlock/StepsBlock.tsx +2 -1
  307. package/mobile/src/components/TariffsTable/EmbeddableCellData.tsx +1 -1
  308. package/mobile/src/components/TariffsTable/TariffsTableRow.tsx +2 -1
  309. package/mobile/src/hooks/useIntersectionObserver.ts +23 -0
  310. package/mobile/src/hooks/useOutsideClick.ts +13 -13
  311. package/mobile/src/index.ts +1 -1
  312. package/mobile/src/model/IconVersion.ts +5 -2
  313. package/mobile/src/ui-kit/BenefitItem/BenefitItem.tsx +3 -8
  314. package/mobile/src/ui-kit/BlockWrapper.tsx +27 -42
  315. package/mobile/src/ui-kit/Button/ButtonSection.tsx +5 -12
  316. package/mobile/src/ui-kit/Icon/Icon.tsx +4 -3
  317. package/mobile/src/ui-kit/Logo/Logo.tsx +10 -2
  318. package/mobile/src/ui-kit/Select/Select.tsx +3 -4
  319. package/mobile/src/ui-kit/TopItem/TopItem.tsx +1 -1
  320. package/mobile/src/utils/getIconWithVersion.ts +7 -0
  321. package/package.json +1 -1
  322. package/src/components/AccordionItem/AccordionItem.mobile.tsx +15 -2
  323. package/src/components/BenefitsBlock/BenefitsBlock.fixture.tsx +6 -6
  324. package/src/components/BenefitsBlock/BenefitsBlock.tsx +44 -66
  325. package/src/components/BenefitsBlock/BenefitsBlockContent.ts +1 -1
  326. package/src/components/Calculator/Calculator.tsx +6 -1
  327. package/src/components/ComparisonTable/HeaderCell.tsx +3 -1
  328. package/src/components/Footer/Footer.mobile.tsx +15 -5
  329. package/src/components/Footer/MediaButton.tsx +8 -1
  330. package/src/components/Gallery/Gallery.fixture.tsx +1 -0
  331. package/src/components/Gallery/Gallery.mobile.tsx +1 -1
  332. package/src/components/Gallery/GalleryCardInner.tsx +8 -3
  333. package/src/components/Header/DropdownMenu.tsx +46 -63
  334. package/src/components/Header/HeaderSubMenu.tsx +21 -40
  335. package/src/components/Header/HeaderSubMenuItem.tsx +61 -0
  336. package/src/components/LinkDocs/LinkDocsListItemBase.tsx +8 -1
  337. package/src/components/MobileAppTile/MobileAppTile.mobile.tsx +1 -1
  338. package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +2 -1
  339. package/src/components/ProductBlock/ProductBlock.fixture.tsx +3 -1
  340. package/src/components/ProductBlock/ProductBlockInner.tsx +1 -1
  341. package/src/components/ProductBlock/renderBenefit.tsx +2 -3
  342. package/src/components/StepsBlock/StepsBlock.fixture.mobile.tsx +4 -4
  343. package/src/components/StepsBlock/StepsBlock.fixture.tsx +4 -3
  344. package/src/components/StepsBlock/StepsBlock.mobile.tsx +2 -1
  345. package/src/components/StepsBlock/StepsBlock.tsx +5 -3
  346. package/src/components/TariffsTable/EmbeddableCellData.mobile.tsx +1 -1
  347. package/src/components/TariffsTable/TariffsTableRow.tsx +2 -1
  348. package/src/hooks/useIntersectionObserver.ts +23 -0
  349. package/src/hooks/useOutsideClick.ts +13 -13
  350. package/src/index.ts +1 -1
  351. package/src/model/IconVersion.ts +5 -2
  352. package/src/ui-kit/BenefitItem/BenefitItem.tsx +3 -8
  353. package/src/ui-kit/BlockWrapper.tsx +27 -42
  354. package/src/ui-kit/Button/ButtonSection.tsx +5 -12
  355. package/src/ui-kit/HeaderItem/HeaderItem.tsx +3 -3
  356. package/src/ui-kit/Icon/Icon.tsx +4 -3
  357. package/src/ui-kit/Logo/Logo.mobile.tsx +10 -2
  358. package/src/ui-kit/Logo/Logo.tsx +1 -1
  359. package/src/ui-kit/Select/Select.tsx +3 -4
  360. package/src/ui-kit/TopItem/TopItem.tsx +1 -1
  361. package/src/utils/getIconWithVersion.ts +7 -0
  362. package/bundle/ui-kit/IntersectionObserverTag.d.ts +0 -12
  363. package/dist/ui-kit/IntersectionObserverTag.d.ts +0 -12
  364. package/dist/ui-kit/IntersectionObserverTag.js +0 -22
  365. package/dist/ui-kit/IntersectionObserverTag.js.map +0 -1
  366. package/lib/ui-kit/IntersectionObserverTag.d.ts +0 -12
  367. package/lib/ui-kit/IntersectionObserverTag.js +0 -20
  368. package/lib/ui-kit/IntersectionObserverTag.js.map +0 -1
  369. package/mobile/bundle/ui-kit/IntersectionObserverTag.d.ts +0 -12
  370. package/mobile/dist/ui-kit/IntersectionObserverTag.d.ts +0 -12
  371. package/mobile/dist/ui-kit/IntersectionObserverTag.js +0 -22
  372. package/mobile/dist/ui-kit/IntersectionObserverTag.js.map +0 -1
  373. package/mobile/lib/ui-kit/IntersectionObserverTag.d.ts +0 -12
  374. package/mobile/lib/ui-kit/IntersectionObserverTag.js +0 -20
  375. package/mobile/lib/ui-kit/IntersectionObserverTag.js.map +0 -1
  376. package/mobile/src/ui-kit/IntersectionObserverTag.tsx +0 -47
  377. package/src/ui-kit/IntersectionObserverTag.tsx +0 -47
@@ -19,7 +19,7 @@ const benefits: BenefitItemProps[] = [
19
19
  {
20
20
  label: 'До 5 млн ₽',
21
21
  description: 'Кредитный лимит',
22
- icon: { icon: 'CalendarTickIcon', iconVersion: 'white' },
22
+ icon: { icon: 'CalendarTickIcon' },
23
23
  },
24
24
  {
25
25
  label: 'От 16,9%',
@@ -141,6 +141,7 @@ export default {
141
141
  title="Потребительский кредит наличными"
142
142
  description="Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт."
143
143
  benefits={benefits}
144
+ benefitsVersion="white"
144
145
  buttons={buttonsSecond}
145
146
  image={image}
146
147
  version="secondary"
@@ -192,6 +193,7 @@ export default {
192
193
  title="Потребительский кредит наличными"
193
194
  description="Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт."
194
195
  benefits={benefits}
196
+ benefitsVersion="white"
195
197
  buttons={buttonsSecond}
196
198
  image={image}
197
199
  version="secondary"
@@ -20,7 +20,7 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
20
20
  headlineVersion = 'L',
21
21
  description,
22
22
  benefits,
23
- benefitsVersion = 'normal',
23
+ benefitsVersion,
24
24
  buttons,
25
25
  image,
26
26
  items,
@@ -5,8 +5,8 @@ import { BenefitItem } from '../../ui-kit/BenefitItem/BenefitItem';
5
5
 
6
6
  export const renderBenefit =
7
7
  (version: BlockVersion = 'primary', benefitsVersion: IconVersion = 'normal') =>
8
- ({ icon, label, description }: BenefitItemProps, i: number) => {
9
- return (
8
+ ({ icon, label, description }: BenefitItemProps, i: number) =>
9
+ (
10
10
  <BenefitItem
11
11
  key={String(i)}
12
12
  icon={icon}
@@ -16,4 +16,3 @@ export const renderBenefit =
16
16
  benefitsVersion={benefitsVersion}
17
17
  />
18
18
  );
19
- };
@@ -136,20 +136,20 @@ export default {
136
136
  steps={[
137
137
  {
138
138
  description: 'Оставьте онлайн-заявку на потребительский кредит',
139
- icon: { icon: 'ClockIcon' },
139
+ icon: { icon: 'ClockIcon', iconVersion: 'normal' },
140
140
  },
141
141
  {
142
142
  label: 'В случае одобрения',
143
- icon: { icon: 'SignDocsIcon' },
143
+ icon: { icon: 'SignDocsIcon', iconVersion: 'normal' },
144
144
  },
145
145
  {
146
146
  label: 'Заявка на кредит',
147
147
  description: 'Оставьте онлайн-заявку на потребительский кредит',
148
- icon: { icon: 'ComfortableCompIcon' },
148
+ icon: { icon: 'ComfortableCompIcon', iconVersion: 'normal' },
149
149
  },
150
150
  {
151
151
  label: 'Получение наличных',
152
- icon: { icon: 'ClockIcon' },
152
+ icon: { icon: 'ClockIcon', iconVersion: 'normal' },
153
153
  },
154
154
  ]}
155
155
  version="secondary"
@@ -36,17 +36,17 @@ const STEPS_WITH_ICONS: Step[] = [
36
36
  {
37
37
  label: 'В мобильном приложении или интернет-банке',
38
38
  description: 'Для всех клиентов Россельхозбанка',
39
- icon: { icon: 'SignDocsIcon' },
39
+ icon: { icon: 'SignDocsIcon', iconVersion: 'normal' },
40
40
  },
41
41
  {
42
42
  label: 'Через Госуслуги',
43
43
  description: 'При наличии данных в Единой биометрической системе',
44
- icon: { icon: 'ClockIcon' },
44
+ icon: { icon: 'ClockIcon', iconVersion: 'normal' },
45
45
  },
46
46
  {
47
47
  label: 'В офисах Россельхозбанка',
48
48
  description: 'Откройте вклад',
49
- icon: { icon: 'ComfortableCompIcon' },
49
+ icon: { icon: 'ComfortableCompIcon', iconVersion: 'normal' },
50
50
  },
51
51
  ];
52
52
 
@@ -97,6 +97,7 @@ export default {
97
97
  {...COMMON_PROPS}
98
98
  showLines={false}
99
99
  steps={STEPS_WITH_ICONS}
100
+ version="secondary"
100
101
  button={{
101
102
  text: 'Отправить заявку',
102
103
  href: 'https://www.rshb.ru/',
@@ -8,6 +8,7 @@ import { Img } from '../../ui-kit/Img/Img';
8
8
  import { checkIsIconRenderable } from '../../utils/checkIsIconRenderable';
9
9
  import type { Step, StepsBlockContent } from './StepsBlockContent';
10
10
  import { STEPS_BLOCK_STYLE_MAPS } from './StepsBlockStyleMaps';
11
+ import { getIconWithVersion } from '../../utils/getIconWithVersion';
11
12
 
12
13
  export interface StepsBlockProps extends StepsBlockContent, UniBlockProps {}
13
14
 
@@ -112,7 +113,7 @@ const renderIconArea = (size: SizeVersion, version: BlockVersion) => (step: Step
112
113
  <span className={`font-medium flex self-center ${styleMap.title} ${iconTextSize}`}>
113
114
  {checkIsIconRenderable(step?.icon) ? (
114
115
  <Img
115
- image={{ ...step.icon, iconVersion: STEPS_SVG_VERSION_MAP[version] }}
116
+ image={getIconWithVersion({ ...step.icon }, version)}
116
117
  width={iconSize}
117
118
  height={iconSize}
118
119
  asSVG
@@ -8,8 +8,10 @@ import { Img } from '../../ui-kit/Img/Img';
8
8
  import { checkIsIconRenderable } from '../../utils/checkIsIconRenderable';
9
9
  import { joinList } from '../../utils/joinList';
10
10
  import { renderStepContent } from './renderStepContent';
11
+ import { getIconWithVersion } from '../../utils/getIconWithVersion';
11
12
  import type { Step, StepsBlockContent } from './StepsBlockContent';
12
13
  import type { StyleType } from './StepsBlockStyleMaps';
14
+ import type { BlockVersion } from '../../model/BlockVersion';
13
15
  import { STEPS_BLOCK_STYLE_MAPS } from './StepsBlockStyleMaps';
14
16
 
15
17
  export interface StepsBlockProps extends StepsBlockContent, UniBlockProps {}
@@ -58,7 +60,7 @@ export const StepsBlock = JSX<StepsBlockProps>(
58
60
  <div className={`box-border ${titleMargin}`}>
59
61
  <div className={`flex items-center ${paddingX}`}>
60
62
  {joinList(<div className={`h-0.5 w-full bg-secondary-light ${lineOpacity}`} />)(
61
- steps.map(renderStepIcon(styleMap)),
63
+ steps.map(renderStepIcon(styleMap, version)),
62
64
  )}
63
65
  </div>
64
66
  <div className={`flex justify-between mt-4 ${shortGaps ? 'gap-x-3' : 'gap-x-[101px]'}`}>
@@ -87,7 +89,7 @@ export const StepsBlock = JSX<StepsBlockProps>(
87
89
  );
88
90
 
89
91
  const renderStepIcon =
90
- (styleMap: StyleType) =>
92
+ (styleMap: StyleType, version?: BlockVersion) =>
91
93
  ({ icon }: Step, i: number) => {
92
94
  return (
93
95
  <div key={String(i)} className="flex flex-col items-center text-center">
@@ -96,7 +98,7 @@ const renderStepIcon =
96
98
  ${styleMap.iconBackground} ${styleMap.title}`}
97
99
  >
98
100
  {checkIsIconRenderable(icon) ? (
99
- <Img image={icon} width="48" height="48" asSVG />
101
+ <Img image={getIconWithVersion(icon || {}, version)} width="48" height="48" asSVG />
100
102
  ) : (
101
103
  <span className={`text-h4 ${styleMap.iconText}`}>{i + 1}</span>
102
104
  )}
@@ -19,11 +19,11 @@ const renderButtonsCellData = ({ buttons }: ButtonContent) =>
19
19
  renderButton({
20
20
  button: { rounded, icon, ...buttonProps },
21
21
  buttonClassName: `mt-3 ${idx > 0 && rounded ? 'ml-2.5' : ''} ${icon ? 'w-12 h-12' : ''}`,
22
+ index: idx,
22
23
  }),
23
24
  )}
24
25
  </div>
25
26
  ) : null;
26
-
27
27
  const renderLabelDescriptionCellData = ({ label, description }: LabelDescriptionCell) => {
28
28
  const labelClassName = `text-xl font-medium m-0 ${description ? 'mb-1' : ''}`;
29
29
 
@@ -8,6 +8,7 @@ import { COLUMN_WIDTH, DIVIDER_CLASSES, FIRST_CELL_CLASSES } from './constants';
8
8
  import { TariffsTableCell } from './TariffsTableCell';
9
9
  import type { Data } from './TariffsTableContent';
10
10
  import { TariffsTableRowContainer } from './TariffsTableRowContainer';
11
+ import { getIconWithVersion } from '../../utils/getIconWithVersion';
11
12
 
12
13
  export interface TariffsTableRowProps extends UniBlockProps {
13
14
  row: Data;
@@ -33,7 +34,7 @@ export const TariffsTableRow = JSX<TariffsTableRowProps>(
33
34
  {header?.icon ? (
34
35
  <Img
35
36
  className="mr-[14px] max-w-6 max-h-6"
36
- image={header.icon}
37
+ image={getIconWithVersion(header.icon)}
37
38
  width="24px"
38
39
  height="24px"
39
40
  asSVG
@@ -0,0 +1,23 @@
1
+ import { useEffect, useRef } from '@redneckz/uni-jsx/lib/hooks';
2
+
3
+ export function useIntersectionObserver<R extends Element>(
4
+ observerCallback: IntersectionObserverCallback,
5
+ observerOptions?: IntersectionObserverInit,
6
+ ) {
7
+ const ref = useRef<R | null>(null);
8
+
9
+ useEffect(() => {
10
+ if (!ref.current) {
11
+ return undefined;
12
+ }
13
+
14
+ const intersectionObserver = new IntersectionObserver(observerCallback, observerOptions);
15
+ intersectionObserver.observe(ref.current);
16
+
17
+ return () => {
18
+ intersectionObserver.disconnect();
19
+ };
20
+ }, [observerCallback, observerOptions]);
21
+
22
+ return ref;
23
+ }
@@ -1,25 +1,25 @@
1
- import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
1
+ import { useEffect, useRef } from '@redneckz/uni-jsx/lib/hooks';
2
2
 
3
- interface Ref {
4
- current: HTMLInputElement | null;
5
- }
3
+ export function useOutsideClick<R extends Node>(onClick: () => void) {
4
+ const targetRef = useRef<R | null>(null);
6
5
 
7
- export function useOutsideClick(wrapperRef: Ref, setIsOpen: (_: boolean) => void) {
8
6
  useEffect(() => {
9
- function handleClickOutside(event: MouseEvent) {
7
+ const handleClickOutside = (event: { target?: any }) => {
10
8
  if (
11
- wrapperRef &&
12
- wrapperRef.current &&
13
- event.target instanceof HTMLElement &&
14
- !wrapperRef.current.contains(event.target)
9
+ targetRef &&
10
+ targetRef.current &&
11
+ event.target instanceof Node &&
12
+ !targetRef.current.contains(event.target)
15
13
  ) {
16
- setIsOpen(false);
14
+ onClick();
17
15
  }
18
- }
16
+ };
19
17
  document.addEventListener('click', handleClickOutside);
20
18
 
21
19
  return () => {
22
20
  document.removeEventListener('click', handleClickOutside);
23
21
  };
24
- }, []);
22
+ }, [onClick]);
23
+
24
+ return targetRef;
25
25
  }
package/src/index.ts CHANGED
@@ -7,4 +7,4 @@ export { ContentPage } from './components/ContentPage/ContentPage';
7
7
  export { projectSettings } from './ProjectSettings';
8
8
  export { joinList } from './utils/joinList';
9
9
  export * as url from './utils/url';
10
- export const packageVersion = process?.env?.UNI_BLOCKS_VERSION;
10
+ export const packageVersion = globalThis.process?.env?.UNI_BLOCKS_VERSION;
@@ -1,9 +1,12 @@
1
1
  /**
2
2
  * @title Цвет иконки
3
+ * @default normal
3
4
  * @enumNames [
4
- * "Нормальный",
5
+ * "по умолчанию",
6
+ * "Цветной",
5
7
  * "Белый",
6
8
  * "Чёрный"
7
9
  * ]
8
10
  */
9
- export type IconVersion = 'normal' | 'white' | 'black';
11
+
12
+ export type IconVersion = 'normal' | 'color' | 'white' | 'black';
@@ -1,9 +1,9 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { BlockVersion } from '../../model/BlockVersion';
3
3
  import type { IconVersion } from '../../model/IconVersion';
4
- import type { Picture } from '../../model/Picture';
5
4
  import { Img } from '../Img/Img';
6
5
  import type { BenefitItemCommonProps, BenefitItemProps } from './BenefitItemProps';
6
+ import { getIconWithVersion } from '../../utils/getIconWithVersion';
7
7
 
8
8
  export interface BenefitGeneralProps extends BenefitItemProps, BenefitItemCommonProps {}
9
9
 
@@ -25,16 +25,14 @@ export const BenefitItem = JSX<BenefitGeneralProps>((props) => {
25
25
  version = 'primary',
26
26
  benefitsVersion = 'normal',
27
27
  } = props;
28
-
29
- const isIconWhite = benefitsVersion === 'white' || version === 'secondary';
30
28
  const listItemAlign = description ? 'items-start' : 'items-center';
31
- const iconVersion = getIconVersion(isIconWhite, icon);
29
+ const calcVersion = benefitsVersion === 'white' ? 'secondary' : 'primary';
32
30
 
33
31
  return (
34
32
  <div className={`flex gap-5 ${listItemAlign} ${className}`}>
35
33
  {icon ? (
36
34
  <div className={renderBenefitIconBgStyle(version, benefitsVersion)}>
37
- <Img className="w-6 h-6" image={{ ...icon, iconVersion }} asSVG />
35
+ <Img className="w-6 h-6" image={getIconWithVersion(icon, calcVersion)} asSVG />
38
36
  </div>
39
37
  ) : null}
40
38
  <div className="gap-0.5">
@@ -58,6 +56,3 @@ function renderBenefitIconBgStyle(version: BlockVersion, benefitsVersion: IconVe
58
56
 
59
57
  return `w-[50px] h-[50px] min-w-[50px] rounded-full p-2.5 box-border flex items-center justify-center ${bgColorStyle}`;
60
58
  }
61
-
62
- const getIconVersion = (isIconWhite: boolean, icon?: Picture) =>
63
- icon?.iconVersion || isIconWhite ? 'white' : 'normal';
@@ -2,9 +2,9 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useEffect, useMemo, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import type { AnchorClickScrollingEvent } from '../components/Tabs/Tabs';
4
4
  import { EventBus } from '../EventBus/EventBus';
5
+ import { useIntersectionObserver } from '../hooks/useIntersectionObserver';
5
6
  import type { UniBlockProps } from '../model/JSXBlock';
6
7
  import { changeHashOnObserve } from '../utils/changeHashOnObserve';
7
- import { IntersectionObserverTag } from './IntersectionObserverTag';
8
8
 
9
9
  interface BlockWrapperProps extends UniBlockProps, Record<string, any> {
10
10
  anchor?: string;
@@ -24,57 +24,42 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
24
24
  ({ anchor, className, children, tag = 'section', labels, role }) => {
25
25
  const Tag: any = tag;
26
26
 
27
- const [shouldRenderBlock, setShouldRenderBlock] = useState(true);
27
+ const [isVisible, setVisible] = useState(true);
28
28
  const anchorClickRef = useRef<AnchorClickScrollingEvent>({});
29
29
 
30
30
  const observerCallback = useMemo(
31
31
  () => changeHashOnObserve({ anchor, anchorClickRef }),
32
32
  [anchor],
33
33
  );
34
+ const ref = useIntersectionObserver(observerCallback, OBSERVER_OPTIONS);
34
35
 
35
- useEffect(() => {
36
- const anchorClickCleanup = EventBus.inst.subscribe('anchorClick', (e) => {
37
- setShouldRenderBlock(true);
38
- anchorClickRef.current = e;
39
- });
40
- const tabCleanup = EventBus.inst.subscribe('tab', (event) => {
41
- if (event.type === 'group') {
42
- const blockHasSettgins = labels?.length || anchor;
43
- setShouldRenderBlock(
44
- event.label ? !blockHasSettgins || Boolean(labels?.includes(event.label)) : true,
45
- );
46
- } else {
47
- changeHash(event.label);
48
- setShouldRenderBlock(true);
49
- }
50
- });
51
-
52
- return () => {
53
- anchorClickCleanup();
54
- tabCleanup();
55
- };
56
- }, []);
57
-
58
- if (!shouldRenderBlock) {
59
- return null;
60
- }
36
+ useEffect(
37
+ () =>
38
+ EventBus.inst.subscribe('anchorClick', (e) => {
39
+ setVisible(true);
40
+ anchorClickRef.current = e;
41
+ }),
42
+ [],
43
+ );
44
+ useEffect(
45
+ () =>
46
+ EventBus.inst.subscribe('tab', (event) => {
47
+ if (event.type === 'group') {
48
+ const hasSettings = labels?.length || anchor;
49
+ setVisible(event.label ? !hasSettings || Boolean(labels?.includes(event.label)) : true);
50
+ } else {
51
+ changeHash(event.label);
52
+ setVisible(true);
53
+ }
54
+ }),
55
+ [],
56
+ );
61
57
 
62
- return anchor ? (
63
- <IntersectionObserverTag
64
- tag={tag}
65
- className={className}
66
- observerCallback={observerCallback}
67
- observerOptions={OBSERVER_OPTIONS}
68
- anchor={anchor}
69
- role={role}
70
- >
71
- {children}
72
- </IntersectionObserverTag>
73
- ) : (
74
- <Tag className={className} role={role}>
58
+ return isVisible ? (
59
+ <Tag className={className} role={role} {...(anchor ? { id: anchor, ref } : {})}>
75
60
  {children}
76
61
  </Tag>
77
- );
62
+ ) : null;
78
63
  },
79
64
  );
80
65
 
@@ -1,6 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useLink } from '../../hooks/useLink';
3
- import type { IconVersion } from '../../model/IconVersion';
4
3
  import type { UniBlockProps } from '../../model/JSXBlock';
5
4
  import type { Picture } from '../../model/Picture';
6
5
  import { Img } from '../Img/Img';
@@ -14,12 +13,6 @@ interface RenderButtonProps {
14
13
  buttonClassName?: string;
15
14
  index?: number;
16
15
  }
17
-
18
- interface RenderButtonIconProps {
19
- icon?: Picture;
20
- iconVersion?: IconVersion;
21
- }
22
-
23
16
  export const ButtonSection = JSX<ButtonSectionProps>(({ context, className = '', buttons }) => {
24
17
  const { handlerDecorator } = context;
25
18
  const router = context.useRouter();
@@ -36,10 +29,10 @@ export const ButtonSection = JSX<ButtonSectionProps>(({ context, className = '',
36
29
  export function renderButton({ button, buttonClassName, index }: RenderButtonProps) {
37
30
  const { icon, iconRight, version, ...rest } = button;
38
31
 
39
- const iconVersion = version === 'secondary' ? 'normal' : 'white';
32
+ const iconVersion = version === 'secondary' ? 'color' : 'white';
40
33
 
41
- const leftIcon = renderButtonIcon({ icon, iconVersion });
42
- const rightIcon = renderButtonIcon({ icon: iconRight, iconVersion });
34
+ const leftIcon = renderButtonIcon({ ...icon, iconVersion: iconVersion } as Picture);
35
+ const rightIcon = renderButtonIcon({ ...iconRight, iconVersion: iconVersion } as Picture);
43
36
 
44
37
  return (
45
38
  <Button
@@ -53,11 +46,11 @@ export function renderButton({ button, buttonClassName, index }: RenderButtonPro
53
46
  );
54
47
  }
55
48
 
56
- const renderButtonIcon = ({ icon, iconVersion }: RenderButtonIconProps) => {
49
+ const renderButtonIcon = (icon: Picture) => {
57
50
  if (!icon?.icon && !icon?.src) {
58
51
  return null;
59
52
  }
60
53
  const iconWidth = icon?.size?.width ? `${icon.size.width}` : '24';
61
54
 
62
- return <Img image={{ ...icon, iconVersion: iconVersion }} width={iconWidth} height="24" asSVG />;
55
+ return <Img image={{ ...icon }} width={iconWidth} height="24" asSVG />;
63
56
  };
@@ -12,17 +12,17 @@ export const HeaderItem = JSX<TopItemProps>(
12
12
  href,
13
13
  target,
14
14
  active,
15
- onClick,
16
- children,
17
15
  bgColor = 'bg-white',
18
16
  dataItemName,
17
+ children,
18
+ onClick,
19
19
  }) => (
20
20
  <a
21
21
  className={`relative inline-block bg-transparent text-center no-underline ${className}`}
22
22
  href={href}
23
23
  target={target}
24
- onClick={onClick}
25
24
  data-item-name={dataItemName}
25
+ onClick={onClick}
26
26
  >
27
27
  <span className={getTextClasses(bgColor, active)}>{text || children}</span>
28
28
  {active ? <div className={getBorderClasses(bgColor, active)} /> : null}
@@ -4,7 +4,8 @@ import { projectSettings } from '../../ProjectSettings';
4
4
  import type { IconProps } from './IconProps';
5
5
 
6
6
  const svgUseStyleMap: Record<IconVersion, string> = {
7
- normal: 'text-primary-main',
7
+ normal: '',
8
+ color: 'text-primary-main',
8
9
  black: 'text-black',
9
10
  white: 'text-black',
10
11
  };
@@ -16,13 +17,13 @@ export const Icon = JSX<IconProps>(
16
17
  name = '',
17
18
  alt = `Иконка ${name}`,
18
19
  title = alt,
19
- iconVersion = 'normal',
20
+ iconVersion = 'color',
20
21
  asSVG,
21
22
  ...imgProps
22
23
  }) => {
23
24
  const href = `${projectSettings.CDN || ''}icons/${name}.svg`;
24
25
 
25
- if (asSVG) {
26
+ if (asSVG && iconVersion !== 'normal') {
26
27
  return (
27
28
  <Background className={className}>
28
29
  <svg
@@ -10,10 +10,16 @@ export interface LogoProps {
10
10
  showTitle?: boolean;
11
11
  }
12
12
 
13
+ const ICON_VERSION_MAP: Record<BgColorVersion, string> = {
14
+ 'bg-white': 'color',
15
+ transparent: 'white',
16
+ };
17
+
13
18
  const SVG_COLOR: Record<BgColorVersion, string> = {
14
19
  'bg-white': 'text-primary-main',
15
20
  transparent: 'text-white',
16
21
  };
22
+
17
23
  const TEXT_COLOR: Record<BgColorVersion, string> = {
18
24
  'bg-white': 'text-black',
19
25
  transparent: 'text-white',
@@ -29,8 +35,10 @@ export const Logo = JSX<Partial<LogoProps>>(
29
35
  aria-label="Россельхозбанк"
30
36
  >
31
37
  <Img
32
- image={{ icon: 'LogoIcon', iconVersion: SVG_COLOR[bgColor] }}
33
- className={`${SVG_COLOR[bgColor]} w-10 h-[38px]`}
38
+ image={{ icon: 'LogoIcon', iconVersion: ICON_VERSION_MAP[bgColor] }}
39
+ className={`${SVG_COLOR[bgColor]}`}
40
+ width="34"
41
+ height="34"
34
42
  asSVG
35
43
  />
36
44
  {showTitle ? (
@@ -17,7 +17,7 @@ export interface LogoProps {
17
17
  }
18
18
 
19
19
  const ICON_VERSION_MAP: Record<BgColorVersion, string> = {
20
- 'bg-white': 'normal',
20
+ 'bg-white': 'color',
21
21
  transparent: 'white',
22
22
  };
23
23
 
@@ -1,5 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { useEffect, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { useCallback, useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { useOutsideClick } from '../../hooks/useOutsideClick';
4
4
  import { Icon } from '../Icon/Icon';
5
5
 
@@ -23,9 +23,8 @@ export const Select = JSX<SelectProps>(
23
23
  const [selectedItem, setSelectedItem] = useState(options[0] || { key: '', text: '' });
24
24
  const [isOpen, setIsOpen] = useState(false);
25
25
 
26
- const wrapperRef = useRef<HTMLInputElement | null>(null);
27
-
28
- useOutsideClick(wrapperRef, setIsOpen);
26
+ const handleClickOutside = useCallback(() => setIsOpen(false), []);
27
+ const wrapperRef = useOutsideClick<HTMLDivElement>(handleClickOutside);
29
28
 
30
29
  const choiceOption = (option: OptionProps) => {
31
30
  setSelectedItem(option);
@@ -10,9 +10,9 @@ export interface TopItemProps extends TopItemContent {
10
10
  className?: string;
11
11
  flat?: boolean;
12
12
  ariaLabel?: string;
13
- onClick?: () => void;
14
13
  bgColor?: BgColorVersion;
15
14
  dataItemName?: string;
15
+ onClick?: () => void;
16
16
  }
17
17
 
18
18
  const TEXT_CLASSES = 'font-sans text-s-light';
@@ -0,0 +1,7 @@
1
+ import type { Picture } from '../model/Picture';
2
+ import type { BlockVersion } from '../model/BlockVersion';
3
+
4
+ export const getIconWithVersion = (icon: Picture, version: BlockVersion = 'primary'): Picture => ({
5
+ ...icon,
6
+ iconVersion: icon?.iconVersion ?? (version === 'secondary' ? 'white' : 'color'),
7
+ });
@@ -1,12 +0,0 @@
1
- import type { VNode } from '../model/VNode';
2
- interface IntersectionObserverTagProps {
3
- tag: keyof HTMLElementTagNameMap;
4
- className?: string;
5
- anchor?: string;
6
- children?: VNode;
7
- observerCallback: IntersectionObserverCallback;
8
- observerOptions?: IntersectionObserverInit;
9
- role?: string;
10
- }
11
- export declare const IntersectionObserverTag: import("@redneckz/uni-jsx").UNIComponent<IntersectionObserverTagProps, any, any>;
12
- export {};
@@ -1,12 +0,0 @@
1
- import type { VNode } from '../model/VNode';
2
- interface IntersectionObserverTagProps {
3
- tag: keyof HTMLElementTagNameMap;
4
- className?: string;
5
- anchor?: string;
6
- children?: VNode;
7
- observerCallback: IntersectionObserverCallback;
8
- observerOptions?: IntersectionObserverInit;
9
- role?: string;
10
- }
11
- export declare const IntersectionObserverTag: import("@redneckz/uni-jsx").UNIComponent<IntersectionObserverTagProps, any, any>;
12
- export {};
@@ -1,22 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.IntersectionObserverTag = void 0;
3
- const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
- const uni_jsx_1 = require("@redneckz/uni-jsx");
5
- const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
6
- exports.IntersectionObserverTag = (0, uni_jsx_1.JSX)((props) => {
7
- const { tag = 'section', observerCallback, observerOptions, className = '', anchor = null, children, role, } = props;
8
- const tagRef = (0, hooks_1.useRef)(null);
9
- (0, hooks_1.useEffect)(() => {
10
- if (!tagRef.current) {
11
- return undefined;
12
- }
13
- const intersectionObserver = new IntersectionObserver(observerCallback, observerOptions);
14
- intersectionObserver.observe(tagRef.current);
15
- return () => {
16
- intersectionObserver.disconnect();
17
- };
18
- }, [observerCallback, observerOptions]);
19
- const Tag = tag;
20
- return ((0, jsx_runtime_1.jsx)(Tag, { ref: tagRef, className: className, id: anchor, role: role, children: children }));
21
- });
22
- //# sourceMappingURL=IntersectionObserverTag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IntersectionObserverTag.js","sourceRoot":"","sources":["../../src/ui-kit/IntersectionObserverTag.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAgE;AAanD,QAAA,uBAAuB,GAAG,IAAA,aAAG,EAA+B,CAAC,KAAK,EAAE,EAAE;IACjF,MAAM,EACJ,GAAG,GAAG,SAAS,EACf,gBAAgB,EAChB,eAAe,EACf,SAAS,GAAG,EAAE,EACd,MAAM,GAAG,IAAI,EACb,QAAQ,EACR,IAAI,GACL,GAAG,KAAK,CAAC;IACV,MAAM,MAAM,GAAG,IAAA,cAAM,EAAqB,IAAI,CAAC,CAAC;IAEhD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACnB,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QACzF,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7C,OAAO,GAAG,EAAE;YACV,oBAAoB,CAAC,UAAU,EAAE,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;IAExC,MAAM,GAAG,GAAG,GAAU,CAAC;IAEvB,OAAO,CACL,uBAAC,GAAG,IAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,YAC3D,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}