@redneckz/wildless-cms-uni-blocks 0.12.7 → 0.12.9

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 (736) hide show
  1. package/bin/migration-scripts/0.12.8.js +45 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +67 -45
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
  6. package/bundle/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -0
  7. package/bundle/components/BenefitsBlock/defaultIconSize.d.ts +1 -0
  8. package/bundle/components/BenefitsBlock/defaultIconSize.mobile.d.ts +1 -0
  9. package/bundle/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  10. package/bundle/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +2 -1
  11. package/bundle/components/Footer/findIconByHref.d.ts +2 -0
  12. package/bundle/components/Footer/iconsMap.d.ts +7 -0
  13. package/bundle/components/Header/HeaderContent.d.ts +1 -13
  14. package/bundle/components/Header/HeaderTop.d.ts +1 -3
  15. package/bundle/components/LinkDocs/LinkDocItem.d.ts +6 -0
  16. package/bundle/components/LinkDocs/LinkDocsContent.d.ts +30 -6
  17. package/bundle/components/LinkDocs/linkIconStyle.d.ts +1 -0
  18. package/bundle/components/LinkDocs/linkIconStyle.mobile.d.ts +1 -0
  19. package/bundle/content-page-repository/transformDocument.d.ts +3 -0
  20. package/bundle/hooks/useRouter.d.ts +1 -0
  21. package/bundle/icons/IconName.d.ts +2 -2
  22. package/bundle/model/Attachment.d.ts +4 -0
  23. package/bundle/model/HeadlineType.d.ts +5 -4
  24. package/bundle/ui-kit/Icon/IconProps.d.ts +3 -2
  25. package/bundle/ui-kit/Icon/RoundedIcon.d.ts +1 -0
  26. package/dist/components/ApplicationForm/ApplicationForm.js +1 -1
  27. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  28. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  29. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  30. package/dist/components/ApplicationForm/ApplicationFormCredit.js +1 -1
  31. package/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  32. package/dist/components/ApplicationForm/ApplicationFormDeposit.js +1 -1
  33. package/dist/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  34. package/dist/components/ApplicationForm/ApplicationFormWed.js +1 -1
  35. package/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  36. package/dist/components/ApplicationForm/renderAcquiringDataOrganization.js +1 -1
  37. package/dist/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -1
  38. package/dist/components/ApplicationForm/renderAcquiringRegion.js +1 -1
  39. package/dist/components/ApplicationForm/renderAcquiringRegion.js.map +1 -1
  40. package/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js +1 -1
  41. package/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -1
  42. package/dist/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  43. package/dist/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  44. package/dist/components/ApplicationForm/renderCreditParameters.js +1 -1
  45. package/dist/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  46. package/dist/components/ApplicationForm/renderQuestionsInterested.js +1 -1
  47. package/dist/components/ApplicationForm/renderQuestionsInterested.js.map +1 -1
  48. package/dist/components/ApplicationForm/renderRegion.js +1 -1
  49. package/dist/components/ApplicationForm/renderRegion.js.map +1 -1
  50. package/dist/components/ApplicationForm/renderRegionDepartment.js +1 -1
  51. package/dist/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  52. package/dist/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  53. package/dist/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  54. package/dist/components/ApplicationForm/renderSubmitButton.js +1 -1
  55. package/dist/components/ApplicationForm/renderSubmitButton.js.map +1 -1
  56. package/dist/components/ApplicationForm/renderWedDataOrganization.js +1 -1
  57. package/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  58. package/dist/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
  59. package/dist/components/BenefitsBlock/BenefitsBlock.js +5 -5
  60. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  61. package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -0
  62. package/dist/components/BenefitsBlock/defaultIconSize.d.ts +1 -0
  63. package/dist/components/BenefitsBlock/defaultIconSize.js +4 -0
  64. package/dist/components/BenefitsBlock/defaultIconSize.js.map +1 -0
  65. package/dist/components/BenefitsBlock/defaultIconSize.mobile.d.ts +1 -0
  66. package/dist/components/BenefitsBlock/defaultIconSize.mobile.js +4 -0
  67. package/dist/components/BenefitsBlock/defaultIconSize.mobile.js.map +1 -0
  68. package/dist/components/Blocks.mobile.js +3 -1
  69. package/dist/components/Blocks.mobile.js.map +1 -1
  70. package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  71. package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js +1 -1
  72. package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
  73. package/dist/components/CarouselProductCard/CarouselProductCard.js +1 -1
  74. package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  75. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  76. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  77. package/dist/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +2 -1
  78. package/dist/components/CarouselTariffsCard/renderCardInfo.js +1 -2
  79. package/dist/components/CarouselTariffsCard/renderCardInfo.js.map +1 -1
  80. package/dist/components/Footer/Footer.mobile.js +7 -2
  81. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  82. package/dist/components/Footer/MediaButton.js +2 -33
  83. package/dist/components/Footer/MediaButton.js.map +1 -1
  84. package/dist/components/Footer/findIconByHref.d.ts +2 -0
  85. package/dist/components/Footer/findIconByHref.js +6 -0
  86. package/dist/components/Footer/findIconByHref.js.map +1 -0
  87. package/dist/components/Footer/iconsMap.d.ts +7 -0
  88. package/dist/components/Footer/iconsMap.js +35 -0
  89. package/dist/components/Footer/iconsMap.js.map +1 -0
  90. package/dist/components/Header/Header.mobile.js +2 -2
  91. package/dist/components/Header/Header.mobile.js.map +1 -1
  92. package/dist/components/Header/HeaderContent.d.ts +1 -13
  93. package/dist/components/Header/HeaderTop.d.ts +1 -3
  94. package/dist/components/Header/HeaderTop.js +10 -5
  95. package/dist/components/Header/HeaderTop.js.map +1 -1
  96. package/dist/components/LinkDocs/LinkDocItem.d.ts +6 -0
  97. package/dist/components/LinkDocs/LinkDocItem.js +20 -0
  98. package/dist/components/LinkDocs/LinkDocItem.js.map +1 -0
  99. package/dist/components/LinkDocs/LinkDocs.js +16 -4
  100. package/dist/components/LinkDocs/LinkDocs.js.map +1 -1
  101. package/dist/components/LinkDocs/LinkDocsContent.d.ts +30 -6
  102. package/dist/components/LinkDocs/linkDocsContentExample.js +20 -8
  103. package/dist/components/LinkDocs/linkDocsContentExample.js.map +1 -1
  104. package/dist/components/LinkDocs/linkIconStyle.d.ts +1 -0
  105. package/dist/components/LinkDocs/linkIconStyle.js +4 -0
  106. package/dist/components/LinkDocs/linkIconStyle.js.map +1 -0
  107. package/dist/components/LinkDocs/linkIconStyle.mobile.d.ts +1 -0
  108. package/dist/components/LinkDocs/linkIconStyle.mobile.js +4 -0
  109. package/dist/components/LinkDocs/linkIconStyle.mobile.js.map +1 -0
  110. package/dist/components/RollupItem/RollupItem.js +1 -2
  111. package/dist/components/RollupItem/RollupItem.js.map +1 -1
  112. package/dist/components/TextBlock/TextBlock.js +3 -3
  113. package/dist/components/TextBlock/TextBlock.js.map +1 -1
  114. package/dist/content-page-repository/transformContentPage.js +15 -5
  115. package/dist/content-page-repository/transformContentPage.js.map +1 -1
  116. package/dist/content-page-repository/transformDocument.d.ts +3 -0
  117. package/{mobile/dist/content-page-repository/transformDocumentLink.js → dist/content-page-repository/transformDocument.js} +11 -11
  118. package/dist/content-page-repository/transformDocument.js.map +1 -0
  119. package/dist/hooks/useRouter.d.ts +1 -0
  120. package/dist/hooks/useRouter.js +3 -0
  121. package/dist/hooks/useRouter.js.map +1 -1
  122. package/dist/icons/IconName.d.ts +2 -2
  123. package/dist/icons/IconName.js +1 -1
  124. package/dist/icons/IconName.js.map +1 -1
  125. package/dist/model/Attachment.d.ts +4 -0
  126. package/dist/model/Attachment.js +2 -0
  127. package/dist/model/Attachment.js.map +1 -0
  128. package/dist/model/HeadlineType.d.ts +5 -4
  129. package/dist/setup-fixture.js +4 -1
  130. package/dist/setup-fixture.js.map +1 -1
  131. package/dist/ui-kit/CookiePopup/CookiePopup.js +1 -1
  132. package/dist/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  133. package/dist/ui-kit/Icon/IconProps.d.ts +3 -2
  134. package/dist/ui-kit/Icon/RoundedIcon.d.ts +1 -0
  135. package/dist/ui-kit/Icon/RoundedIcon.js +9 -6
  136. package/dist/ui-kit/Icon/RoundedIcon.js.map +1 -1
  137. package/dist/ui-kit/Logo/Logo.js +2 -3
  138. package/dist/ui-kit/Logo/Logo.js.map +1 -1
  139. package/dist/ui-kit/Select/Select.js +1 -1
  140. package/dist/ui-kit/Select/Select.js.map +1 -1
  141. package/lib/common.css +1 -1
  142. package/lib/components/ApplicationForm/ApplicationForm.fixture.mobile.d.ts +10 -0
  143. package/lib/components/ApplicationForm/ApplicationForm.js +1 -1
  144. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  145. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  146. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  147. package/lib/components/ApplicationForm/ApplicationFormCredit.js +1 -1
  148. package/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  149. package/lib/components/ApplicationForm/ApplicationFormDeposit.js +1 -1
  150. package/lib/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  151. package/lib/components/ApplicationForm/ApplicationFormWed.js +1 -1
  152. package/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  153. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.d.ts +0 -1
  154. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.js +1 -1
  155. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -1
  156. package/lib/components/ApplicationForm/renderAcquiringRegion.d.ts +0 -1
  157. package/lib/components/ApplicationForm/renderAcquiringRegion.js +1 -1
  158. package/lib/components/ApplicationForm/renderAcquiringRegion.js.map +1 -1
  159. package/lib/components/ApplicationForm/renderBusinessCardDataOrganization.d.ts +0 -1
  160. package/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js +1 -1
  161. package/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -1
  162. package/lib/components/ApplicationForm/renderContacts.d.ts +0 -1
  163. package/lib/components/ApplicationForm/renderCreditDataOrganization.d.ts +0 -1
  164. package/lib/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  165. package/lib/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  166. package/lib/components/ApplicationForm/renderCreditParameters.d.ts +0 -1
  167. package/lib/components/ApplicationForm/renderCreditParameters.js +1 -1
  168. package/lib/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  169. package/lib/components/ApplicationForm/renderQuestionsInterested.d.ts +0 -1
  170. package/lib/components/ApplicationForm/renderQuestionsInterested.js +1 -1
  171. package/lib/components/ApplicationForm/renderQuestionsInterested.js.map +1 -1
  172. package/lib/components/ApplicationForm/renderRegion.d.ts +0 -1
  173. package/lib/components/ApplicationForm/renderRegion.js +1 -1
  174. package/lib/components/ApplicationForm/renderRegion.js.map +1 -1
  175. package/lib/components/ApplicationForm/renderRegionDepartment.d.ts +0 -1
  176. package/lib/components/ApplicationForm/renderRegionDepartment.js +1 -1
  177. package/lib/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  178. package/lib/components/ApplicationForm/renderSlideCheckboxes.d.ts +0 -1
  179. package/lib/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  180. package/lib/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  181. package/lib/components/ApplicationForm/renderSubmitButton.d.ts +0 -1
  182. package/lib/components/ApplicationForm/renderSubmitButton.js +1 -1
  183. package/lib/components/ApplicationForm/renderSubmitButton.js.map +1 -1
  184. package/lib/components/ApplicationForm/renderWedDataOrganization.d.ts +0 -1
  185. package/lib/components/ApplicationForm/renderWedDataOrganization.js +1 -1
  186. package/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  187. package/lib/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
  188. package/lib/components/BenefitsBlock/BenefitsBlock.fixture.mobile.d.ts +1 -0
  189. package/lib/components/BenefitsBlock/BenefitsBlock.js +5 -5
  190. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  191. package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -0
  192. package/lib/components/BenefitsBlock/defaultIconSize.d.ts +1 -0
  193. package/lib/components/BenefitsBlock/defaultIconSize.js +2 -0
  194. package/lib/components/BenefitsBlock/defaultIconSize.js.map +1 -0
  195. package/lib/components/BenefitsBlock/defaultIconSize.mobile.d.ts +1 -0
  196. package/lib/components/BenefitsBlock/defaultIconSize.mobile.js +2 -0
  197. package/lib/components/BenefitsBlock/defaultIconSize.mobile.js.map +1 -0
  198. package/lib/components/Blocks.mobile.js +3 -1
  199. package/lib/components/Blocks.mobile.js.map +1 -1
  200. package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
  201. package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js +1 -1
  202. package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
  203. package/lib/components/CarouselProductCard/CarouselProductCard.js +1 -1
  204. package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  205. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  206. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  207. package/lib/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +2 -1
  208. package/lib/components/CarouselTariffsCard/renderCardInfo.js +1 -2
  209. package/lib/components/CarouselTariffsCard/renderCardInfo.js.map +1 -1
  210. package/lib/components/Footer/Footer.mobile.js +7 -2
  211. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  212. package/lib/components/Footer/MediaButton.js +2 -33
  213. package/lib/components/Footer/MediaButton.js.map +1 -1
  214. package/lib/components/Footer/findIconByHref.d.ts +2 -0
  215. package/lib/components/Footer/findIconByHref.js +3 -0
  216. package/lib/components/Footer/findIconByHref.js.map +1 -0
  217. package/lib/components/Footer/iconsMap.d.ts +7 -0
  218. package/lib/components/Footer/iconsMap.js +33 -0
  219. package/lib/components/Footer/iconsMap.js.map +1 -0
  220. package/lib/components/Header/Header.fixture.mobile.d.ts +0 -2
  221. package/lib/components/Header/Header.mobile.js +2 -2
  222. package/lib/components/Header/Header.mobile.js.map +1 -1
  223. package/lib/components/Header/HeaderContent.d.ts +1 -13
  224. package/lib/components/Header/HeaderTop.d.ts +1 -3
  225. package/lib/components/Header/HeaderTop.js +10 -5
  226. package/lib/components/Header/HeaderTop.js.map +1 -1
  227. package/lib/components/LinkDocs/LinkDocItem.d.ts +6 -0
  228. package/{mobile/lib/components/LinkDocs/LinkDocsListItem.js → lib/components/LinkDocs/LinkDocItem.js} +2 -5
  229. package/lib/components/LinkDocs/LinkDocItem.js.map +1 -0
  230. package/lib/components/LinkDocs/LinkDocs.js +16 -4
  231. package/lib/components/LinkDocs/LinkDocs.js.map +1 -1
  232. package/lib/components/LinkDocs/LinkDocsContent.d.ts +30 -6
  233. package/lib/components/LinkDocs/linkDocsContentExample.js +20 -8
  234. package/lib/components/LinkDocs/linkDocsContentExample.js.map +1 -1
  235. package/lib/components/LinkDocs/linkIconStyle.d.ts +1 -0
  236. package/lib/components/LinkDocs/linkIconStyle.js +2 -0
  237. package/lib/components/LinkDocs/linkIconStyle.js.map +1 -0
  238. package/lib/components/LinkDocs/linkIconStyle.mobile.d.ts +1 -0
  239. package/lib/components/LinkDocs/linkIconStyle.mobile.js +2 -0
  240. package/lib/components/LinkDocs/linkIconStyle.mobile.js.map +1 -0
  241. package/lib/components/RollupItem/RollupItem.fixture.mobile.d.ts +0 -1
  242. package/lib/components/RollupItem/RollupItem.js +1 -2
  243. package/lib/components/RollupItem/RollupItem.js.map +1 -1
  244. package/lib/components/TextBlock/TextBlock.js +3 -3
  245. package/lib/components/TextBlock/TextBlock.js.map +1 -1
  246. package/lib/content-page-repository/transformContentPage.js +15 -5
  247. package/lib/content-page-repository/transformContentPage.js.map +1 -1
  248. package/lib/content-page-repository/transformDocument.d.ts +3 -0
  249. package/{mobile/lib/content-page-repository/transformDocumentLink.js → lib/content-page-repository/transformDocument.js} +9 -9
  250. package/lib/content-page-repository/transformDocument.js.map +1 -0
  251. package/lib/hooks/useRouter.d.ts +1 -0
  252. package/lib/hooks/useRouter.js +3 -0
  253. package/lib/hooks/useRouter.js.map +1 -1
  254. package/lib/icons/IconName.d.ts +2 -2
  255. package/lib/icons/IconName.js +1 -1
  256. package/lib/icons/IconName.js.map +1 -1
  257. package/lib/model/Attachment.d.ts +4 -0
  258. package/lib/model/Attachment.js +2 -0
  259. package/lib/model/Attachment.js.map +1 -0
  260. package/lib/model/HeadlineType.d.ts +5 -4
  261. package/lib/setup-fixture.js +4 -1
  262. package/lib/setup-fixture.js.map +1 -1
  263. package/lib/ui-kit/CookiePopup/CookiePopup.js +1 -1
  264. package/lib/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  265. package/lib/ui-kit/Icon/IconProps.d.ts +3 -2
  266. package/lib/ui-kit/Icon/RoundedIcon.d.ts +1 -0
  267. package/lib/ui-kit/Icon/RoundedIcon.js +9 -6
  268. package/lib/ui-kit/Icon/RoundedIcon.js.map +1 -1
  269. package/lib/ui-kit/Logo/Logo.js +2 -3
  270. package/lib/ui-kit/Logo/Logo.js.map +1 -1
  271. package/lib/ui-kit/Select/Select.js +1 -1
  272. package/lib/ui-kit/Select/Select.js.map +1 -1
  273. package/mobile/bundle/bundle.umd.js +969 -493
  274. package/mobile/bundle/bundle.umd.min.js +1 -1
  275. package/mobile/bundle/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
  276. package/mobile/bundle/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -0
  277. package/mobile/bundle/components/BenefitsBlock/defaultIconSize.d.ts +1 -0
  278. package/mobile/bundle/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  279. package/mobile/bundle/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +2 -1
  280. package/mobile/bundle/components/Footer/findIconByHref.d.ts +2 -0
  281. package/mobile/bundle/components/Footer/iconsMap.d.ts +7 -0
  282. package/mobile/bundle/components/Header/HeaderContent.d.ts +1 -13
  283. package/mobile/bundle/components/Header/HeaderTop.d.ts +1 -3
  284. package/mobile/bundle/components/LinkDocs/LinkDocItem.d.ts +6 -0
  285. package/mobile/bundle/components/LinkDocs/LinkDocsContent.d.ts +30 -6
  286. package/mobile/bundle/components/LinkDocs/linkIconStyle.d.ts +1 -0
  287. package/mobile/bundle/content-page-repository/transformDocument.d.ts +3 -0
  288. package/mobile/bundle/hooks/useRouter.d.ts +1 -0
  289. package/mobile/bundle/icons/IconName.d.ts +2 -2
  290. package/mobile/bundle/model/Attachment.d.ts +4 -0
  291. package/mobile/bundle/model/HeadlineType.d.ts +5 -4
  292. package/mobile/bundle/ui-kit/Icon/IconProps.d.ts +3 -2
  293. package/mobile/bundle/ui-kit/Icon/RoundedIcon.d.ts +1 -0
  294. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +1 -1
  295. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  296. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  297. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  298. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js +1 -1
  299. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  300. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.js +1 -1
  301. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  302. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js +1 -1
  303. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  304. package/mobile/dist/components/ApplicationForm/renderAcquiringDataOrganization.js +1 -1
  305. package/mobile/dist/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -1
  306. package/mobile/dist/components/ApplicationForm/renderAcquiringRegion.js +1 -1
  307. package/mobile/dist/components/ApplicationForm/renderAcquiringRegion.js.map +1 -1
  308. package/mobile/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js +1 -1
  309. package/mobile/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -1
  310. package/mobile/dist/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  311. package/mobile/dist/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  312. package/mobile/dist/components/ApplicationForm/renderCreditParameters.js +1 -1
  313. package/mobile/dist/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  314. package/mobile/dist/components/ApplicationForm/renderQuestionsInterested.js +1 -1
  315. package/mobile/dist/components/ApplicationForm/renderQuestionsInterested.js.map +1 -1
  316. package/mobile/dist/components/ApplicationForm/renderRegion.js +1 -1
  317. package/mobile/dist/components/ApplicationForm/renderRegion.js.map +1 -1
  318. package/mobile/dist/components/ApplicationForm/renderRegionDepartment.js +1 -1
  319. package/mobile/dist/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  320. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  321. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  322. package/mobile/dist/components/ApplicationForm/renderSubmitButton.js +1 -1
  323. package/mobile/dist/components/ApplicationForm/renderSubmitButton.js.map +1 -1
  324. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js +1 -1
  325. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  326. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
  327. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +5 -5
  328. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  329. package/mobile/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -0
  330. package/mobile/dist/components/BenefitsBlock/defaultIconSize.d.ts +1 -0
  331. package/mobile/dist/components/BenefitsBlock/defaultIconSize.js +4 -0
  332. package/mobile/dist/components/BenefitsBlock/defaultIconSize.js.map +1 -0
  333. package/mobile/dist/components/Blocks.js +3 -1
  334. package/mobile/dist/components/Blocks.js.map +1 -1
  335. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  336. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.js +1 -1
  337. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
  338. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +1 -1
  339. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  340. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  341. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  342. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +2 -1
  343. package/mobile/dist/components/CarouselTariffsCard/renderCardInfo.js +1 -2
  344. package/mobile/dist/components/CarouselTariffsCard/renderCardInfo.js.map +1 -1
  345. package/mobile/dist/components/Footer/Footer.js +7 -2
  346. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  347. package/mobile/dist/components/Footer/MediaButton.js +2 -33
  348. package/mobile/dist/components/Footer/MediaButton.js.map +1 -1
  349. package/mobile/dist/components/Footer/findIconByHref.d.ts +2 -0
  350. package/mobile/dist/components/Footer/findIconByHref.js +6 -0
  351. package/mobile/dist/components/Footer/findIconByHref.js.map +1 -0
  352. package/mobile/dist/components/Footer/iconsMap.d.ts +7 -0
  353. package/mobile/dist/components/Footer/iconsMap.js +35 -0
  354. package/mobile/dist/components/Footer/iconsMap.js.map +1 -0
  355. package/mobile/dist/components/Header/Header.js +2 -2
  356. package/mobile/dist/components/Header/Header.js.map +1 -1
  357. package/mobile/dist/components/Header/HeaderContent.d.ts +1 -13
  358. package/mobile/dist/components/Header/HeaderTop.d.ts +1 -3
  359. package/mobile/dist/components/Header/HeaderTop.js +10 -5
  360. package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
  361. package/mobile/dist/components/LinkDocs/LinkDocItem.d.ts +6 -0
  362. package/mobile/dist/components/LinkDocs/LinkDocItem.js +20 -0
  363. package/mobile/dist/components/LinkDocs/LinkDocItem.js.map +1 -0
  364. package/mobile/dist/components/LinkDocs/LinkDocs.js +19 -2
  365. package/mobile/dist/components/LinkDocs/LinkDocs.js.map +1 -1
  366. package/mobile/dist/components/LinkDocs/LinkDocsContent.d.ts +30 -6
  367. package/mobile/dist/components/LinkDocs/linkDocsContentExample.js +20 -8
  368. package/mobile/dist/components/LinkDocs/linkDocsContentExample.js.map +1 -1
  369. package/mobile/dist/components/LinkDocs/linkIconStyle.d.ts +1 -0
  370. package/mobile/dist/components/LinkDocs/linkIconStyle.js +4 -0
  371. package/mobile/dist/components/LinkDocs/linkIconStyle.js.map +1 -0
  372. package/mobile/dist/components/RollupItem/RollupItem.js +1 -2
  373. package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
  374. package/mobile/dist/components/TextBlock/TextBlock.js +3 -3
  375. package/mobile/dist/components/TextBlock/TextBlock.js.map +1 -1
  376. package/mobile/dist/content-page-repository/transformContentPage.js +15 -5
  377. package/mobile/dist/content-page-repository/transformContentPage.js.map +1 -1
  378. package/mobile/dist/content-page-repository/transformDocument.d.ts +3 -0
  379. package/{dist/content-page-repository/transformDocumentLink.js → mobile/dist/content-page-repository/transformDocument.js} +11 -11
  380. package/mobile/dist/content-page-repository/transformDocument.js.map +1 -0
  381. package/mobile/dist/hooks/useRouter.d.ts +1 -0
  382. package/mobile/dist/hooks/useRouter.js +3 -0
  383. package/mobile/dist/hooks/useRouter.js.map +1 -1
  384. package/mobile/dist/icons/IconName.d.ts +2 -2
  385. package/mobile/dist/icons/IconName.js +1 -1
  386. package/mobile/dist/icons/IconName.js.map +1 -1
  387. package/mobile/dist/model/Attachment.d.ts +4 -0
  388. package/mobile/dist/model/Attachment.js +2 -0
  389. package/mobile/dist/model/Attachment.js.map +1 -0
  390. package/mobile/dist/model/HeadlineType.d.ts +5 -4
  391. package/mobile/dist/setup-fixture.js +4 -1
  392. package/mobile/dist/setup-fixture.js.map +1 -1
  393. package/mobile/dist/ui-kit/CookiePopup/CookiePopup.js +1 -1
  394. package/mobile/dist/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  395. package/mobile/dist/ui-kit/Icon/IconProps.d.ts +3 -2
  396. package/mobile/dist/ui-kit/Icon/RoundedIcon.d.ts +1 -0
  397. package/mobile/dist/ui-kit/Icon/RoundedIcon.js +9 -6
  398. package/mobile/dist/ui-kit/Icon/RoundedIcon.js.map +1 -1
  399. package/mobile/dist/ui-kit/Select/Select.js +1 -1
  400. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  401. package/mobile/lib/common.css +1 -1
  402. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +1 -1
  403. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  404. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  405. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  406. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js +1 -1
  407. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  408. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.js +1 -1
  409. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  410. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js +1 -1
  411. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  412. package/mobile/lib/components/ApplicationForm/renderAcquiringDataOrganization.js +1 -1
  413. package/mobile/lib/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -1
  414. package/mobile/lib/components/ApplicationForm/renderAcquiringRegion.js +1 -1
  415. package/mobile/lib/components/ApplicationForm/renderAcquiringRegion.js.map +1 -1
  416. package/mobile/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js +1 -1
  417. package/mobile/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -1
  418. package/mobile/lib/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  419. package/mobile/lib/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  420. package/mobile/lib/components/ApplicationForm/renderCreditParameters.js +1 -1
  421. package/mobile/lib/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  422. package/mobile/lib/components/ApplicationForm/renderQuestionsInterested.js +1 -1
  423. package/mobile/lib/components/ApplicationForm/renderQuestionsInterested.js.map +1 -1
  424. package/mobile/lib/components/ApplicationForm/renderRegion.js +1 -1
  425. package/mobile/lib/components/ApplicationForm/renderRegion.js.map +1 -1
  426. package/mobile/lib/components/ApplicationForm/renderRegionDepartment.js +1 -1
  427. package/mobile/lib/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  428. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  429. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  430. package/mobile/lib/components/ApplicationForm/renderSubmitButton.js +1 -1
  431. package/mobile/lib/components/ApplicationForm/renderSubmitButton.js.map +1 -1
  432. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js +1 -1
  433. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  434. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
  435. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +5 -5
  436. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  437. package/mobile/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +2 -0
  438. package/mobile/lib/components/BenefitsBlock/defaultIconSize.d.ts +1 -0
  439. package/mobile/lib/components/BenefitsBlock/defaultIconSize.js +2 -0
  440. package/mobile/lib/components/BenefitsBlock/defaultIconSize.js.map +1 -0
  441. package/mobile/lib/components/Blocks.js +3 -1
  442. package/mobile/lib/components/Blocks.js.map +1 -1
  443. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
  444. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.js +1 -1
  445. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
  446. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +1 -1
  447. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  448. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
  449. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  450. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +2 -1
  451. package/mobile/lib/components/CarouselTariffsCard/renderCardInfo.js +1 -2
  452. package/mobile/lib/components/CarouselTariffsCard/renderCardInfo.js.map +1 -1
  453. package/mobile/lib/components/Footer/Footer.js +7 -2
  454. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  455. package/mobile/lib/components/Footer/MediaButton.js +2 -33
  456. package/mobile/lib/components/Footer/MediaButton.js.map +1 -1
  457. package/mobile/lib/components/Footer/findIconByHref.d.ts +2 -0
  458. package/mobile/lib/components/Footer/findIconByHref.js +3 -0
  459. package/mobile/lib/components/Footer/findIconByHref.js.map +1 -0
  460. package/mobile/lib/components/Footer/iconsMap.d.ts +7 -0
  461. package/mobile/lib/components/Footer/iconsMap.js +33 -0
  462. package/mobile/lib/components/Footer/iconsMap.js.map +1 -0
  463. package/mobile/lib/components/Header/Header.js +2 -2
  464. package/mobile/lib/components/Header/Header.js.map +1 -1
  465. package/mobile/lib/components/Header/HeaderContent.d.ts +1 -13
  466. package/mobile/lib/components/Header/HeaderTop.d.ts +1 -3
  467. package/mobile/lib/components/Header/HeaderTop.js +10 -5
  468. package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
  469. package/mobile/lib/components/LinkDocs/LinkDocItem.d.ts +6 -0
  470. package/{lib/components/LinkDocs/LinkDocsListItem.js → mobile/lib/components/LinkDocs/LinkDocItem.js} +2 -5
  471. package/mobile/lib/components/LinkDocs/LinkDocItem.js.map +1 -0
  472. package/mobile/lib/components/LinkDocs/LinkDocs.js +19 -2
  473. package/mobile/lib/components/LinkDocs/LinkDocs.js.map +1 -1
  474. package/mobile/lib/components/LinkDocs/LinkDocsContent.d.ts +30 -6
  475. package/mobile/lib/components/LinkDocs/linkDocsContentExample.js +20 -8
  476. package/mobile/lib/components/LinkDocs/linkDocsContentExample.js.map +1 -1
  477. package/mobile/lib/components/LinkDocs/linkIconStyle.d.ts +1 -0
  478. package/mobile/lib/components/LinkDocs/linkIconStyle.js +2 -0
  479. package/mobile/lib/components/LinkDocs/linkIconStyle.js.map +1 -0
  480. package/mobile/lib/components/RollupItem/RollupItem.js +1 -2
  481. package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
  482. package/mobile/lib/components/TextBlock/TextBlock.js +3 -3
  483. package/mobile/lib/components/TextBlock/TextBlock.js.map +1 -1
  484. package/mobile/lib/content-page-repository/transformContentPage.js +15 -5
  485. package/mobile/lib/content-page-repository/transformContentPage.js.map +1 -1
  486. package/mobile/lib/content-page-repository/transformDocument.d.ts +3 -0
  487. package/{lib/content-page-repository/transformDocumentLink.js → mobile/lib/content-page-repository/transformDocument.js} +9 -9
  488. package/mobile/lib/content-page-repository/transformDocument.js.map +1 -0
  489. package/mobile/lib/hooks/useRouter.d.ts +1 -0
  490. package/mobile/lib/hooks/useRouter.js +3 -0
  491. package/mobile/lib/hooks/useRouter.js.map +1 -1
  492. package/mobile/lib/icons/IconName.d.ts +2 -2
  493. package/mobile/lib/icons/IconName.js +1 -1
  494. package/mobile/lib/icons/IconName.js.map +1 -1
  495. package/mobile/lib/model/Attachment.d.ts +4 -0
  496. package/mobile/lib/model/Attachment.js +2 -0
  497. package/mobile/lib/model/Attachment.js.map +1 -0
  498. package/mobile/lib/model/HeadlineType.d.ts +5 -4
  499. package/mobile/lib/setup-fixture.js +4 -1
  500. package/mobile/lib/setup-fixture.js.map +1 -1
  501. package/mobile/lib/ui-kit/CookiePopup/CookiePopup.js +1 -1
  502. package/mobile/lib/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  503. package/mobile/lib/ui-kit/Icon/IconProps.d.ts +3 -2
  504. package/mobile/lib/ui-kit/Icon/RoundedIcon.d.ts +1 -0
  505. package/mobile/lib/ui-kit/Icon/RoundedIcon.js +9 -6
  506. package/mobile/lib/ui-kit/Icon/RoundedIcon.js.map +1 -1
  507. package/mobile/lib/ui-kit/Select/Select.js +1 -1
  508. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  509. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +3 -1
  510. package/mobile/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +2 -2
  511. package/mobile/src/components/ApplicationForm/ApplicationFormCredit.tsx +3 -3
  512. package/mobile/src/components/ApplicationForm/ApplicationFormDeposit.tsx +3 -3
  513. package/mobile/src/components/ApplicationForm/ApplicationFormWed.tsx +5 -5
  514. package/mobile/src/components/ApplicationForm/renderAcquiringDataOrganization.tsx +3 -3
  515. package/mobile/src/components/ApplicationForm/renderAcquiringRegion.tsx +3 -3
  516. package/mobile/src/components/ApplicationForm/renderBusinessCardDataOrganization.tsx +3 -3
  517. package/mobile/src/components/ApplicationForm/renderCreditDataOrganization.tsx +3 -3
  518. package/mobile/src/components/ApplicationForm/renderCreditParameters.tsx +3 -3
  519. package/mobile/src/components/ApplicationForm/renderQuestionsInterested.tsx +13 -5
  520. package/mobile/src/components/ApplicationForm/renderRegion.tsx +7 -9
  521. package/mobile/src/components/ApplicationForm/renderRegionDepartment.tsx +3 -3
  522. package/mobile/src/components/ApplicationForm/renderSlideCheckboxes.tsx +1 -1
  523. package/mobile/src/components/ApplicationForm/renderSubmitButton.tsx +4 -1
  524. package/mobile/src/components/ApplicationForm/renderWedDataOrganization.tsx +6 -6
  525. package/mobile/src/components/BenefitsBlock/BenefitsBlock.example.json +6 -6
  526. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +15 -19
  527. package/mobile/src/components/BenefitsBlock/BenefitsBlockContent.ts +2 -0
  528. package/mobile/src/components/BenefitsBlock/defaultIconSize.tsx +1 -0
  529. package/mobile/src/components/Blocks.ts +3 -1
  530. package/mobile/src/components/BonusBenefitsBlock/renderBonusBenefits.tsx +2 -2
  531. package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +2 -4
  532. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.example.json +2 -1
  533. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +13 -2
  534. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCardContent.ts +3 -1
  535. package/mobile/src/components/CarouselTariffsCard/renderCardInfo.tsx +1 -2
  536. package/mobile/src/components/Footer/Footer.tsx +19 -8
  537. package/mobile/src/components/Footer/MediaButton.tsx +2 -39
  538. package/mobile/src/components/Footer/findIconByHref.ts +4 -0
  539. package/mobile/src/components/Footer/iconsMap.ts +40 -0
  540. package/mobile/src/components/Header/Header.tsx +1 -7
  541. package/mobile/src/components/Header/HeaderContent.ts +1 -15
  542. package/mobile/src/components/Header/HeaderTop.tsx +41 -50
  543. package/mobile/src/components/LinkDocs/LinkDocItem.tsx +44 -0
  544. package/mobile/src/components/LinkDocs/LinkDocs.example.json +4 -0
  545. package/mobile/src/components/LinkDocs/LinkDocs.tsx +65 -36
  546. package/mobile/src/components/LinkDocs/LinkDocs.ui.json +8 -1
  547. package/mobile/src/components/LinkDocs/LinkDocsContent.ts +34 -6
  548. package/mobile/src/components/LinkDocs/linkDocsContentExample.ts +20 -8
  549. package/mobile/src/components/LinkDocs/linkIconStyle.ts +1 -0
  550. package/mobile/src/components/RollupItem/RollupItem.tsx +2 -3
  551. package/mobile/src/components/TextBlock/TextBlock.tsx +12 -5
  552. package/mobile/src/content-page-repository/transformContentPage.ts +17 -7
  553. package/{src/content-page-repository/transformDocumentLink.ts → mobile/src/content-page-repository/transformDocument.ts} +11 -11
  554. package/mobile/src/hooks/useRouter.ts +4 -0
  555. package/mobile/src/icons/ChevronLeft.svg +1 -1
  556. package/mobile/src/icons/IconName.ts +2 -2
  557. package/mobile/src/model/Attachment.ts +4 -0
  558. package/mobile/src/model/HeadlineType.ts +6 -5
  559. package/mobile/src/setup-fixture.ts +4 -1
  560. package/mobile/src/ui-kit/CookiePopup/CookiePopup.tsx +3 -3
  561. package/mobile/src/ui-kit/Icon/IconProps.ts +3 -2
  562. package/mobile/src/ui-kit/Icon/RoundedIcon.tsx +18 -7
  563. package/mobile/src/ui-kit/Select/Select.tsx +1 -1
  564. package/package.json +1 -1
  565. package/src/components/ApplicationForm/ApplicationForm.fixture.mobile.tsx +44 -0
  566. package/src/components/ApplicationForm/ApplicationForm.tsx +3 -1
  567. package/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +2 -2
  568. package/src/components/ApplicationForm/ApplicationFormCredit.tsx +3 -3
  569. package/src/components/ApplicationForm/ApplicationFormDeposit.tsx +3 -3
  570. package/src/components/ApplicationForm/ApplicationFormWed.tsx +5 -5
  571. package/src/components/ApplicationForm/renderAcquiringDataOrganization.tsx +3 -3
  572. package/src/components/ApplicationForm/renderAcquiringRegion.tsx +3 -3
  573. package/src/components/ApplicationForm/renderBusinessCardDataOrganization.tsx +3 -3
  574. package/src/components/ApplicationForm/renderCreditDataOrganization.tsx +3 -3
  575. package/src/components/ApplicationForm/renderCreditParameters.tsx +3 -3
  576. package/src/components/ApplicationForm/renderQuestionsInterested.tsx +13 -5
  577. package/src/components/ApplicationForm/renderRegion.tsx +7 -9
  578. package/src/components/ApplicationForm/renderRegionDepartment.tsx +3 -3
  579. package/src/components/ApplicationForm/renderSlideCheckboxes.tsx +1 -1
  580. package/src/components/ApplicationForm/renderSubmitButton.tsx +4 -1
  581. package/src/components/ApplicationForm/renderWedDataOrganization.tsx +6 -6
  582. package/src/components/BenefitsBlock/BenefitsBlock.example.json +6 -6
  583. package/src/components/BenefitsBlock/BenefitsBlock.fixture.mobile.tsx +27 -20
  584. package/src/components/BenefitsBlock/BenefitsBlock.fixture.tsx +43 -127
  585. package/src/components/BenefitsBlock/BenefitsBlock.tsx +15 -19
  586. package/src/components/BenefitsBlock/BenefitsBlockContent.ts +2 -0
  587. package/src/components/BenefitsBlock/defaultIconSize.mobile.tsx +1 -0
  588. package/src/components/BenefitsBlock/defaultIconSize.tsx +1 -0
  589. package/src/components/Blocks.mobile.ts +3 -1
  590. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.fixture.mobile.tsx +1 -1
  591. package/src/components/BonusBenefitsBlock/renderBonusBenefits.mobile.tsx +2 -2
  592. package/src/components/CarouselProductCard/CarouselProductCard.tsx +2 -4
  593. package/src/components/CarouselTariffsCard/CarouselTariffsCard.example.json +2 -1
  594. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +13 -2
  595. package/src/components/CarouselTariffsCard/CarouselTariffsCardContent.ts +3 -1
  596. package/src/components/CarouselTariffsCard/renderCardInfo.tsx +1 -2
  597. package/src/components/Footer/Footer.mobile.tsx +19 -8
  598. package/src/components/Footer/MediaButton.tsx +2 -39
  599. package/src/components/Footer/findIconByHref.ts +4 -0
  600. package/src/components/Footer/iconsMap.ts +40 -0
  601. package/src/components/Header/Header.fixture.mobile.tsx +0 -5
  602. package/src/components/Header/Header.mobile.tsx +1 -7
  603. package/src/components/Header/HeaderContent.ts +1 -15
  604. package/src/components/Header/HeaderTop.tsx +41 -50
  605. package/src/components/HorizontalLayout/HorizontalLayout.fixture.tsx +3 -3
  606. package/src/components/LinkDocs/LinkDocItem.tsx +44 -0
  607. package/src/components/LinkDocs/LinkDocs.example.json +4 -0
  608. package/src/components/LinkDocs/LinkDocs.tsx +58 -36
  609. package/src/components/LinkDocs/LinkDocs.ui.json +8 -1
  610. package/src/components/LinkDocs/LinkDocsContent.ts +34 -6
  611. package/src/components/LinkDocs/linkDocsContentExample.ts +20 -8
  612. package/src/components/LinkDocs/linkIconStyle.mobile.ts +1 -0
  613. package/src/components/LinkDocs/linkIconStyle.ts +1 -0
  614. package/src/components/RollupItem/RollupItem.fixture.mobile.tsx +0 -14
  615. package/src/components/RollupItem/RollupItem.tsx +2 -3
  616. package/src/components/TextBlock/TextBlock.tsx +12 -5
  617. package/src/components/VerticalLayout/VerticalLayout.fixture.mobile.tsx +4 -4
  618. package/src/components/VerticalLayout/VerticalLayout.fixture.tsx +3 -3
  619. package/src/content-page-repository/transformContentPage.ts +17 -7
  620. package/{mobile/src/content-page-repository/transformDocumentLink.ts → src/content-page-repository/transformDocument.ts} +11 -11
  621. package/src/hooks/useRouter.ts +4 -0
  622. package/src/icons/ChevronLeft.svg +1 -1
  623. package/src/icons/IconName.ts +386 -6
  624. package/src/model/Attachment.ts +4 -0
  625. package/src/model/HeadlineType.ts +6 -5
  626. package/src/setup-fixture.ts +4 -1
  627. package/src/ui-kit/CookiePopup/CookiePopup.tsx +3 -3
  628. package/src/ui-kit/Icon/IconProps.ts +3 -2
  629. package/src/ui-kit/Icon/RoundedIcon.tsx +18 -7
  630. package/src/ui-kit/Logo/Logo.tsx +13 -14
  631. package/src/ui-kit/Select/Select.tsx +1 -1
  632. package/tailwind.config.cjs +1 -17
  633. package/bundle/components/BenefitsBlock/benefitImageStyles.d.ts +0 -1
  634. package/bundle/components/BenefitsBlock/benefitImageStyles.mobile.d.ts +0 -1
  635. package/bundle/components/CarouselTariffsCard/descriptionSize.d.ts +0 -1
  636. package/bundle/components/CarouselTariffsCard/descriptionSize.mobile.d.ts +0 -1
  637. package/bundle/components/LinkDocs/LinkDocs.mobile.d.ts +0 -5
  638. package/bundle/components/LinkDocs/LinkDocsListItem.d.ts +0 -7
  639. package/bundle/components/RollupItem/labelSize.d.ts +0 -1
  640. package/bundle/components/RollupItem/labelSize.mobile.d.ts +0 -1
  641. package/bundle/content-page-repository/transformDocumentLink.d.ts +0 -3
  642. package/dist/components/BenefitsBlock/benefitImageStyles.d.ts +0 -1
  643. package/dist/components/BenefitsBlock/benefitImageStyles.js +0 -4
  644. package/dist/components/BenefitsBlock/benefitImageStyles.js.map +0 -1
  645. package/dist/components/BenefitsBlock/benefitImageStyles.mobile.d.ts +0 -1
  646. package/dist/components/BenefitsBlock/benefitImageStyles.mobile.js +0 -4
  647. package/dist/components/BenefitsBlock/benefitImageStyles.mobile.js.map +0 -1
  648. package/dist/components/CarouselTariffsCard/descriptionSize.d.ts +0 -1
  649. package/dist/components/CarouselTariffsCard/descriptionSize.js +0 -4
  650. package/dist/components/CarouselTariffsCard/descriptionSize.js.map +0 -1
  651. package/dist/components/CarouselTariffsCard/descriptionSize.mobile.d.ts +0 -1
  652. package/dist/components/CarouselTariffsCard/descriptionSize.mobile.js +0 -4
  653. package/dist/components/CarouselTariffsCard/descriptionSize.mobile.js.map +0 -1
  654. package/dist/components/LinkDocs/LinkDocs.mobile.d.ts +0 -5
  655. package/dist/components/LinkDocs/LinkDocs.mobile.js +0 -10
  656. package/dist/components/LinkDocs/LinkDocs.mobile.js.map +0 -1
  657. package/dist/components/LinkDocs/LinkDocsListItem.d.ts +0 -7
  658. package/dist/components/LinkDocs/LinkDocsListItem.js +0 -23
  659. package/dist/components/LinkDocs/LinkDocsListItem.js.map +0 -1
  660. package/dist/components/RollupItem/labelSize.d.ts +0 -1
  661. package/dist/components/RollupItem/labelSize.js +0 -4
  662. package/dist/components/RollupItem/labelSize.js.map +0 -1
  663. package/dist/components/RollupItem/labelSize.mobile.d.ts +0 -1
  664. package/dist/components/RollupItem/labelSize.mobile.js +0 -4
  665. package/dist/components/RollupItem/labelSize.mobile.js.map +0 -1
  666. package/dist/content-page-repository/transformDocumentLink.d.ts +0 -3
  667. package/dist/content-page-repository/transformDocumentLink.js.map +0 -1
  668. package/lib/components/BenefitsBlock/benefitImageStyles.d.ts +0 -1
  669. package/lib/components/BenefitsBlock/benefitImageStyles.js +0 -2
  670. package/lib/components/BenefitsBlock/benefitImageStyles.js.map +0 -1
  671. package/lib/components/BenefitsBlock/benefitImageStyles.mobile.d.ts +0 -1
  672. package/lib/components/BenefitsBlock/benefitImageStyles.mobile.js +0 -2
  673. package/lib/components/BenefitsBlock/benefitImageStyles.mobile.js.map +0 -1
  674. package/lib/components/CarouselTariffsCard/descriptionSize.d.ts +0 -1
  675. package/lib/components/CarouselTariffsCard/descriptionSize.js +0 -2
  676. package/lib/components/CarouselTariffsCard/descriptionSize.js.map +0 -1
  677. package/lib/components/CarouselTariffsCard/descriptionSize.mobile.d.ts +0 -1
  678. package/lib/components/CarouselTariffsCard/descriptionSize.mobile.js +0 -2
  679. package/lib/components/CarouselTariffsCard/descriptionSize.mobile.js.map +0 -1
  680. package/lib/components/LinkDocs/LinkDocs.mobile.d.ts +0 -5
  681. package/lib/components/LinkDocs/LinkDocs.mobile.js +0 -8
  682. package/lib/components/LinkDocs/LinkDocs.mobile.js.map +0 -1
  683. package/lib/components/LinkDocs/LinkDocsListItem.d.ts +0 -7
  684. package/lib/components/LinkDocs/LinkDocsListItem.js.map +0 -1
  685. package/lib/components/RollupItem/labelSize.d.ts +0 -1
  686. package/lib/components/RollupItem/labelSize.js +0 -2
  687. package/lib/components/RollupItem/labelSize.js.map +0 -1
  688. package/lib/components/RollupItem/labelSize.mobile.d.ts +0 -1
  689. package/lib/components/RollupItem/labelSize.mobile.js +0 -2
  690. package/lib/components/RollupItem/labelSize.mobile.js.map +0 -1
  691. package/lib/content-page-repository/transformDocumentLink.d.ts +0 -3
  692. package/lib/content-page-repository/transformDocumentLink.js.map +0 -1
  693. package/mobile/bundle/components/BenefitsBlock/benefitImageStyles.d.ts +0 -1
  694. package/mobile/bundle/components/CarouselTariffsCard/descriptionSize.d.ts +0 -1
  695. package/mobile/bundle/components/LinkDocs/LinkDocsListItem.d.ts +0 -7
  696. package/mobile/bundle/components/RollupItem/labelSize.d.ts +0 -1
  697. package/mobile/bundle/content-page-repository/transformDocumentLink.d.ts +0 -3
  698. package/mobile/dist/components/BenefitsBlock/benefitImageStyles.d.ts +0 -1
  699. package/mobile/dist/components/BenefitsBlock/benefitImageStyles.js +0 -4
  700. package/mobile/dist/components/BenefitsBlock/benefitImageStyles.js.map +0 -1
  701. package/mobile/dist/components/CarouselTariffsCard/descriptionSize.d.ts +0 -1
  702. package/mobile/dist/components/CarouselTariffsCard/descriptionSize.js +0 -4
  703. package/mobile/dist/components/CarouselTariffsCard/descriptionSize.js.map +0 -1
  704. package/mobile/dist/components/LinkDocs/LinkDocsListItem.d.ts +0 -7
  705. package/mobile/dist/components/LinkDocs/LinkDocsListItem.js +0 -23
  706. package/mobile/dist/components/LinkDocs/LinkDocsListItem.js.map +0 -1
  707. package/mobile/dist/components/RollupItem/labelSize.d.ts +0 -1
  708. package/mobile/dist/components/RollupItem/labelSize.js +0 -4
  709. package/mobile/dist/components/RollupItem/labelSize.js.map +0 -1
  710. package/mobile/dist/content-page-repository/transformDocumentLink.d.ts +0 -3
  711. package/mobile/dist/content-page-repository/transformDocumentLink.js.map +0 -1
  712. package/mobile/lib/components/BenefitsBlock/benefitImageStyles.d.ts +0 -1
  713. package/mobile/lib/components/BenefitsBlock/benefitImageStyles.js +0 -2
  714. package/mobile/lib/components/BenefitsBlock/benefitImageStyles.js.map +0 -1
  715. package/mobile/lib/components/CarouselTariffsCard/descriptionSize.d.ts +0 -1
  716. package/mobile/lib/components/CarouselTariffsCard/descriptionSize.js +0 -2
  717. package/mobile/lib/components/CarouselTariffsCard/descriptionSize.js.map +0 -1
  718. package/mobile/lib/components/LinkDocs/LinkDocsListItem.d.ts +0 -7
  719. package/mobile/lib/components/LinkDocs/LinkDocsListItem.js.map +0 -1
  720. package/mobile/lib/components/RollupItem/labelSize.d.ts +0 -1
  721. package/mobile/lib/components/RollupItem/labelSize.js +0 -2
  722. package/mobile/lib/components/RollupItem/labelSize.js.map +0 -1
  723. package/mobile/lib/content-page-repository/transformDocumentLink.d.ts +0 -3
  724. package/mobile/lib/content-page-repository/transformDocumentLink.js.map +0 -1
  725. package/mobile/src/components/BenefitsBlock/benefitImageStyles.tsx +0 -1
  726. package/mobile/src/components/CarouselTariffsCard/descriptionSize.tsx +0 -1
  727. package/mobile/src/components/LinkDocs/LinkDocsListItem.tsx +0 -49
  728. package/mobile/src/components/RollupItem/labelSize.tsx +0 -1
  729. package/src/components/BenefitsBlock/benefitImageStyles.mobile.tsx +0 -1
  730. package/src/components/BenefitsBlock/benefitImageStyles.tsx +0 -1
  731. package/src/components/CarouselTariffsCard/descriptionSize.mobile.tsx +0 -1
  732. package/src/components/CarouselTariffsCard/descriptionSize.tsx +0 -1
  733. package/src/components/LinkDocs/LinkDocs.mobile.tsx +0 -52
  734. package/src/components/LinkDocs/LinkDocsListItem.tsx +0 -49
  735. package/src/components/RollupItem/labelSize.mobile.tsx +0 -1
  736. package/src/components/RollupItem/labelSize.tsx +0 -1
@@ -237,6 +237,27 @@
237
237
  return JSXTmpl;
238
238
  };
239
239
 
240
+ function CorporateLeadAPI() {
241
+ async function send(body) {
242
+ try {
243
+ const response = await fetch('/api/v1/sendcorporatelead', {
244
+ method: 'POST',
245
+ headers: { 'Content-Type': 'application/json' },
246
+ mode: 'cors',
247
+ body: JSON.stringify(body),
248
+ });
249
+ const data = await response.json();
250
+ return data;
251
+ }
252
+ catch (e) {
253
+ return null;
254
+ }
255
+ }
256
+ return {
257
+ send,
258
+ };
259
+ }
260
+
240
261
  class EventBus {
241
262
  subscribers = {};
242
263
  subjectsStateMap = {};
@@ -309,49 +330,878 @@
309
330
  .filter(Boolean)
310
331
  .join(' ');
311
332
 
312
- const blockStyles = {
313
- primary: 'bg-white text-primary-text',
314
- secondary: 'bg-primary-main text-white',
315
- gray: 'bg-main-divider text-primary-text',
316
- transparent: 'bg-transparent text-primary-text',
317
- '': '',
318
- };
319
- const BlockWrapper = JSX(({ className, version = 'primary', isTheme = true, defaultPadding = 'p-m', padding, block, tag = 'section', role, children, }) => {
320
- const Tag = tag;
321
- const ref = useBlockIntersectionObserver(block);
322
- const [isHidden, setHidden] = useState(false);
323
- useEffect(() => defaultEventBus.subscribe('tab', (event) => {
324
- setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
325
- }), [block]);
326
- const isGroup = version && isTheme;
327
- return (jsx(Tag, { className: style('font-sans', isGroup ? 'group' : '', blockStyles[version], isHidden ? 'hidden' : '', padding || defaultPadding, className), ...(isGroup ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
333
+ const blockStyles = {
334
+ primary: 'bg-white text-primary-text',
335
+ secondary: 'bg-primary-main text-white',
336
+ gray: 'bg-main-divider text-primary-text',
337
+ transparent: 'bg-transparent text-primary-text',
338
+ '': '',
339
+ };
340
+ const BlockWrapper = JSX(({ className, version = 'primary', isTheme = true, defaultPadding = 'p-m', padding, block, tag = 'section', role, children, }) => {
341
+ const Tag = tag;
342
+ const ref = useBlockIntersectionObserver(block);
343
+ const [isHidden, setHidden] = useState(false);
344
+ useEffect(() => defaultEventBus.subscribe('tab', (event) => {
345
+ setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
346
+ }), [block]);
347
+ const isGroup = version && isTheme;
348
+ return (jsx(Tag, { className: style('font-sans', isGroup ? 'group' : '', blockStyles[version], isHidden ? 'hidden' : '', padding || defaultPadding, className), ...(isGroup ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
349
+ });
350
+
351
+ const mobileHeadingTagMap = {
352
+ h1: 'h1',
353
+ h2: 'h1',
354
+ h3: 'h2',
355
+ h4: 'h2',
356
+ h5: 'h3',
357
+ h6: 'h3',
358
+ };
359
+ const headingTag = (tag) => mobileHeadingTagMap[tag] || 'h3';
360
+
361
+ const styles = {
362
+ h0: 'text-h0',
363
+ h1: 'text-h1',
364
+ h2: 'text-h2',
365
+ h3: 'text-h3',
366
+ h4: 'text-h4',
367
+ h5: 'text-h5',
368
+ h6: 'text-h6', // 20
369
+ };
370
+ const Heading = JSX(({ className = '', headingType = 'h3', as = 'h3', title, children }) => {
371
+ const Tag = headingTag(as);
372
+ return (jsx(Tag, { className: style('font-sans m-0', styles[headingType], className), children: title || children }));
373
+ });
374
+
375
+ const identity = (_) => _;
376
+
377
+ const useForm = (initialState, onSubmit) => {
378
+ const [formState, setFormState] = useState(initialState);
379
+ const [isDirtyForm, setDirtyForm] = useState(false);
380
+ const [dirtyFieldsMap, setDirtyFieldsMap] = useState({});
381
+ const handlersMap = useRef({});
382
+ const field = useCallback((fieldName, options) => {
383
+ const { parse = identity, format = identity } = options || {};
384
+ if (!handlersMap.current) {
385
+ handlersMap.current = {};
386
+ }
387
+ handlersMap.current[fieldName] ||= (value) => {
388
+ setFormState((prev) => ({ ...prev, [fieldName]: parse(value) }));
389
+ setDirtyFieldsMap((prev) => ({ ...prev, [fieldName]: true }));
390
+ };
391
+ return {
392
+ value: format(formState[fieldName]),
393
+ isDirty: isDirtyForm || dirtyFieldsMap[fieldName],
394
+ onChange: handlersMap.current[fieldName],
395
+ };
396
+ }, [formState, isDirtyForm, dirtyFieldsMap]);
397
+ const reset = useCallback(() => {
398
+ setFormState(initialState);
399
+ setDirtyForm(false);
400
+ setDirtyFieldsMap({});
401
+ }, [initialState]);
402
+ const handleSubmit = useCallback((e) => {
403
+ e.preventDefault();
404
+ setDirtyForm(true);
405
+ onSubmit && onSubmit(formState);
406
+ }, [onSubmit, formState]);
407
+ return [
408
+ formState,
409
+ {
410
+ isDirty: isDirtyForm || Object.values(dirtyFieldsMap).some(Boolean),
411
+ field,
412
+ reset,
413
+ onSubmit: handleSubmit,
414
+ },
415
+ ];
416
+ };
417
+
418
+ const objectValidator = (validatorsMap) => (o) => (o &&
419
+ Object.entries(validatorsMap).flatMap(([key, validator]) => validator(o[key]))) ||
420
+ [];
421
+
422
+ const isValidationSuccess = (info) => !info?.length;
423
+ const validator = (predicate) => (message) => (_) => predicate(_) ? [] : [message];
424
+
425
+ const isFilled = (_) => _ !== null && _ !== undefined;
426
+
427
+ const defaultCache = new Map();
428
+ const applyCache = (fetcher, cache = defaultCache) => (key) => {
429
+ const cachedData = cache.get(key);
430
+ if (isFilled(cachedData)) {
431
+ return cachedData;
432
+ }
433
+ const data = fetcher(key);
434
+ if (isFilled(data)) {
435
+ cache.set(key, Promise.resolve(data));
436
+ }
437
+ else {
438
+ cache.delete(key);
439
+ }
440
+ return data;
441
+ };
442
+
443
+ const isSimpleKey = (args) => Boolean(args && Array.isArray(args) && args.length === 1 && typeof args[0] === 'string');
444
+ function useAsyncData(key, fetcher, { fallback, cache } = {}) {
445
+ const args = useMemo(() => keyToArgs(key), [key]);
446
+ const [simpleKey] = isSimpleKey(args) ? args : [];
447
+ const [data, setData] = useState(undefined);
448
+ const [error, setError] = useState(undefined);
449
+ useEffect(() => {
450
+ const isEmptyKey = !args.some(isFilled);
451
+ if (isEmptyKey) {
452
+ return;
453
+ }
454
+ (async () => {
455
+ try {
456
+ const newData = await (simpleKey
457
+ ? applyCache(fetcher, cache)(simpleKey)
458
+ : fetcher(...args));
459
+ setData(newData);
460
+ setError(undefined);
461
+ }
462
+ catch (err) {
463
+ setData(undefined);
464
+ setError(err);
465
+ }
466
+ })();
467
+ }, [fetcher, cache, args]);
468
+ const fallbackData = fallback && simpleKey && fallback[simpleKey];
469
+ return {
470
+ data: !data && fallbackData ? fallbackData : data,
471
+ error,
472
+ mutate: () => Promise.resolve(undefined),
473
+ isValidating: false
474
+ };
475
+ }
476
+ function keyToArgs(key) {
477
+ if (Array.isArray(key)) {
478
+ return key;
479
+ }
480
+ else if (key instanceof Function) {
481
+ return keyToArgs(key());
482
+ }
483
+ else {
484
+ return [key];
485
+ }
486
+ }
487
+
488
+ async function fetchJSON(url, options) {
489
+ try {
490
+ return url ? await fetchJSONUnsafe(url, options) : null;
491
+ }
492
+ catch (err) {
493
+ console.error(err);
494
+ }
495
+ return null;
496
+ }
497
+ async function fetchJSONUnsafe(url, options) {
498
+ const response = await fetch(url, {
499
+ ...options,
500
+ headers: {
501
+ ...options?.headers,
502
+ 'Content-Type': 'application/json',
503
+ },
504
+ });
505
+ return await response.json();
506
+ }
507
+
508
+ const REGIONS_URL = '/api/v1/regions';
509
+ const EMPTY_VALUE$2 = [];
510
+ function useGetRegions() {
511
+ const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
512
+ return data || EMPTY_VALUE$2;
513
+ }
514
+
515
+ const useDialog = (id = '') => ({
516
+ open: (message) => defaultEventBus.fire('dialog', { type: 'open', id, message }),
517
+ close: () => defaultEventBus.fire('dialog', { type: 'close' }),
518
+ });
519
+
520
+ const dirname = (path) => path?.split('/').slice(0, -1).join('/');
521
+
522
+ const isURL = (href) => Boolean(href?.includes(':'));
523
+ const isLocalURL = (href, target) => Boolean(href && !isURL(href) && (!target || target === '_self'));
524
+ const isHash = (href) => Boolean(href?.startsWith('#'));
525
+ const withoutQuery = (href) => (href || '').replace(/\?.*/, '').replace(/\/$/, '');
526
+ const joinPath = (...path) => path.filter(Boolean).join('/').replace(/\/+/g, '/');
527
+
528
+ var url = /*#__PURE__*/Object.freeze({
529
+ __proto__: null,
530
+ isURL: isURL,
531
+ isLocalURL: isLocalURL,
532
+ isHash: isHash,
533
+ withoutQuery: withoutQuery,
534
+ joinPath: joinPath
535
+ });
536
+
537
+ const adjustHref = (router) => (href, basePath = projectSettings.BASE_PATH) => {
538
+ if (!href || isURL(href) || hasPrefix(href, projectSettings.CDN)) {
539
+ return href;
540
+ }
541
+ const isRelativeToBase = href.startsWith('/');
542
+ return joinPath(hasPrefix(href, basePath) ? '' : basePath, isRelativeToBase ? '/' : dirname(router.pathname), href);
543
+ };
544
+ const hasPrefix = (href, prefix) => prefix && href && href.startsWith(prefix);
545
+
546
+ /* eslint-disable @typescript-eslint/ban-types */
547
+ const handlerDecorator = (handler, targetContent) => {
548
+ return handlerDecorator._impl(handler, targetContent);
549
+ };
550
+ handlerDecorator._impl = (handler) => handler;
551
+ handlerDecorator.setup = (impl) => {
552
+ handlerDecorator._impl = impl;
553
+ };
554
+
555
+ function useRouter() {
556
+ return useRouter._impl();
557
+ }
558
+ useRouter._impl = () => ({
559
+ href: globalThis.location?.href || '/',
560
+ pathname: globalThis.location?.pathname || '/',
561
+ query: {},
562
+ push: () => {
563
+ // Do nothing
564
+ },
565
+ replace: () => {
566
+ // Do nothing
567
+ },
568
+ back: () => {
569
+ // Do nothing
570
+ },
571
+ });
572
+ useRouter.setup = (impl) => {
573
+ useRouter._impl = impl;
574
+ };
575
+
576
+ function useLink(params = {}) {
577
+ const { isRemote, basePath } = params;
578
+ const router = useRouter();
579
+ const { close } = useDialog();
580
+ return (props) => ({
581
+ ...props,
582
+ href: isRemote && !basePath ? props.href : adjustHref(router)(props.href, basePath),
583
+ 'aria-label': props.text,
584
+ onClick: handlerDecorator(handleHref(props), props),
585
+ });
586
+ function handleHref({ href, target, onClick }) {
587
+ return (ev) => {
588
+ onClick && onClick(ev);
589
+ if (!href || isRemote || !isLocalURL(href, target)) {
590
+ // Default routing
591
+ return;
592
+ }
593
+ close();
594
+ // Client routing
595
+ ev?.preventDefault();
596
+ router.push(href);
597
+ };
598
+ }
599
+ }
600
+
601
+ const buttonStyleMap = {
602
+ primary: 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active',
603
+ secondary: 'text-primary-main bg-main-divider hover:text-white hover:bg-primary-hover active:bg-primary-active',
604
+ white: 'text-primary-main bg-white hover:text-white hover:bg-primary-hover active:bg-white active:text-primary-main',
605
+ link: '',
606
+ transparent: '',
607
+ gray: 'text-primary-main bg-main-divider hover:text-white hover:bg-primary-hover active:bg-primary-active',
608
+ '': '',
609
+ };
610
+ const DisabledStyle = 'bg-main-divider text-main-disabled';
611
+ const buttonDisabledStyleMap = {
612
+ primary: DisabledStyle,
613
+ secondary: DisabledStyle,
614
+ white: DisabledStyle,
615
+ link: '',
616
+ transparent: '',
617
+ gray: DisabledStyle,
618
+ '': '',
619
+ };
620
+ const buttonStyle = 'text-center font-sans select-none';
621
+ const iconStyleMap = {
622
+ primary: 'group-hover/btn:brightness-0 group-hover/btn:invert',
623
+ secondary: 'group-hover/btn:brightness-0 group-hover/btn:invert',
624
+ white: 'group-hover/btn:brightness-0 group-hover/btn:invert',
625
+ link: '',
626
+ transparent: '',
627
+ gray: 'group-hover/btn:brightness-0 group-hover/btn:invert',
628
+ '': '',
629
+ };
630
+
631
+ const ButtonInner = JSX((props) => {
632
+ const { text, aboveText, appendLeft, appendRight, version = 'primary' } = props;
633
+ return (jsxs("div", { className: style(getButtonStyle(props), 'flex gap-2'), children: [appendLeft ? jsx("div", { className: iconStyleMap[version], children: appendLeft }) : null, isWithText(props) ? (jsxs("div", { children: [aboveText ? jsx("div", { className: "text-xs font-light text-left", children: aboveText }) : null, jsx("div", { className: `text-left ${aboveText ? 'text-s -mt-0.5' : 'text-l'}`, children: text })] })) : null, appendRight ? jsx("div", { className: iconStyleMap[version], children: appendRight }) : null] }));
634
+ });
635
+ const getButtonStyle = (props) => {
636
+ const { version, aboveText, rounded } = props;
637
+ if (version === 'link') {
638
+ return '';
639
+ }
640
+ const withTextStyle = `${aboveText ? 'py-2.5 px-9' : 'py-4 px-9'}`;
641
+ return [
642
+ 'group/btn items-center justify-center',
643
+ isWithText(props) ? withTextStyle : 'h-12 w-12',
644
+ rounded ? 'rounded-full' : '',
645
+ ].join(' ');
646
+ };
647
+ const isWithText = ({ text, aboveText, appendLeft }) => Boolean(text || aboveText || !appendLeft);
648
+
649
+ const getDisabledButtonClasses = ({ className, rounded, version, }) => [
650
+ 'inline-block',
651
+ buttonStyle,
652
+ version ? buttonDisabledStyleMap[version] : '',
653
+ rounded ? 'rounded-full' : 'rounded-md',
654
+ className,
655
+ ].join(' ');
656
+
657
+ const getRegularButtonClasses = ({ className, rounded, version, }) => [
658
+ buttonStyle,
659
+ 'border border-transparent inline-block cursor-pointer no-underline focus:border-primary-text focus:border h-fit',
660
+ version ? buttonStyleMap[version] : '',
661
+ rounded ? 'rounded-full' : 'rounded-md',
662
+ className,
663
+ ].join(' ');
664
+
665
+ const Button = JSX(({ disabled, children, ...rest }) => {
666
+ const link = useLink();
667
+ const adjustedProps = link(rest);
668
+ const buttonInner = children ?? jsx(ButtonInner, { ...adjustedProps });
669
+ return disabled ? (jsx(DisabledButton, { ...adjustedProps, children: buttonInner })) : (jsx(RegularButton, { ...adjustedProps, children: buttonInner }));
670
+ });
671
+ const RegularButton = JSX(({ className = '', href, rel, target, ariaLabel, version, rounded, onClick, children }) => (jsx("a", { className: getRegularButtonClasses({ className, version, rounded }), href: href, rel: rel, target: target, "aria-label": ariaLabel, role: href ? 'link' : 'button', onClick: onClick, children: children })));
672
+ const DisabledButton = JSX(({ className, ariaLabel, version, rounded, children }) => (jsx("div", { role: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: -1, className: getDisabledButtonClasses({ className, rounded, version }), children: children })));
673
+
674
+ const Paragraph = JSX(({ children, ...styleProps }) => (jsx("p", { className: style('font-sans', Object.values(styleProps)), children: children })));
675
+
676
+ const Text = JSX(({ children, ...styleProps }) => (jsx("span", { className: style('font-sans', Object.values(styleProps)), children: children })));
677
+
678
+ const Footnote = JSX(({ link }) => (jsxs(Paragraph, { size: "text-s", font: "font-light", color: "text-secondary-text", children: [jsx(Text, { children: "\u041D\u0430\u0436\u0438\u043C\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0443, \u0432\u044B \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u0441 " }), link ? (jsx(Button, { href: link.href, ariaLabel: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445", target: link.target, className: "text-primary-main", children: jsx(Text, { children: link.text }) })) : null] })));
679
+
680
+ const withValidator = (props, validator) => {
681
+ const { value, isDirty } = props;
682
+ const errors = isDirty ? validator(value) : [];
683
+ return {
684
+ ...props,
685
+ errors,
686
+ error: errors[0],
687
+ };
688
+ };
689
+
690
+ const Input = JSX(({ key, className = '', inputClassName = '', id, name, type = 'text', label, placeholder, value = '', valid = true, children, onChange, onFocus, onBlur, pattern, }) => {
691
+ const handleChange = useCallback((e) => {
692
+ onChange && onChange(e.target?.value || '');
693
+ }, [onChange]);
694
+ const paddingStyle = children ? 'pr-8' : '';
695
+ const validStyle = valid
696
+ ? 'border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'
697
+ : 'border-error';
698
+ return (jsxs("div", { className: style('relative', className), children: [jsxs("label", { children: [label ? (jsx("div", { className: "mb-2", children: jsx(Text, { size: "text-m", font: "font-light", children: label }) })) : null, jsx("input", { className: style('w-full border rounded-md text-primary-text outline-none p-4', paddingStyle, validStyle, inputClassName), id: id, name: name || id, placeholder: placeholder, type: type, value: value, onInput: handleChange, onFocus: onFocus, onBlur: onBlur, pattern: pattern }, key)] }), children] }));
699
+ });
700
+
701
+ const InputControl = JSX(({ className, label, value = '', error, onChange, onBlur }) => (jsxs("div", { className: className, children: [jsx(Input, { type: "text", "aria-label": label, label: label, valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur }), jsx("div", { className: "h-2", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null })] })));
702
+
703
+ const isPlaceholder = (_) => _ === '_';
704
+ const isDigit = (_) => /\d/.test(_);
705
+ const isWildcard = (_) => isPlaceholder(_) || isDigit(_);
706
+ const phonePattern = [...'+7 (___) ___-__-__'];
707
+ const firstPlaceholderIndex = phonePattern.findIndex(isPlaceholder);
708
+ const phoneWildcardIndicies = phonePattern.map((_, i) => isWildcard(_) ? phonePattern.slice(0, i).filter(isWildcard).length : -1);
709
+ function normalizePhone(phone) {
710
+ const phoneNumbers = phone.replace(/\D/g, '');
711
+ const applyPlaceholder = (_, i) => isDigit(_) ? _ : phoneNumbers.charAt(phoneWildcardIndicies[i]) || _;
712
+ const result = phonePattern.map(applyPlaceholder);
713
+ const resultLength = phoneWildcardIndicies.indexOf(phoneNumbers.length - 1) + 1;
714
+ return (resultLength ? result.slice(0, Math.max(firstPlaceholderIndex, resultLength)) : result).join('');
715
+ }
716
+
717
+ const PhoneInput = JSX(({ children, onChange, ...inputProps }) => {
718
+ const handleChange = useCallback((value) => onChange && onChange(normalizePhone(value)), [onChange]);
719
+ return (jsx(Input, { onChange: handleChange, onFocus: (event) => handleChange(event?.target?.value || ''), ...inputProps, children: children }));
720
+ });
721
+
722
+ const PhoneInputControl = JSX(({ className, label, value, error, onChange, onBlur }) => (jsxs("div", { className: className, children: [jsx(PhoneInput, { "aria-label": label, label: label, valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur }), jsx("div", { className: "h-2", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null })] })));
723
+
724
+ const pattern = (regexp) => validator((_) => typeof _ === 'string' && regexp.test(_));
725
+
726
+ const required = validator((_) => _ !== null && _ !== undefined && _ !== '');
727
+
728
+ const ERROR_MESSAGE = 'Некорректно заполненное поле';
729
+ const defaultValidator = required(ERROR_MESSAGE);
730
+ const nameValidator = validator((_) => typeof _ === 'string' && _.length > 1)(ERROR_MESSAGE);
731
+ const innValidator = validator((_) => typeof _ === 'string' && (_.length === 10 || _.length === 12))(ERROR_MESSAGE);
732
+ const phoneValidator = pattern(/^(\+7)?[\s-]?\(?[0-9]{3}\)?[\s-]?[0-9]{3}[\s-]?[0-9]{2}[\s-]?[0-9]{2}$/)(ERROR_MESSAGE);
733
+
734
+ const renderAcquiringDataOrganization = (field) => (jsxs("div", { className: "mb-4 sm:flex sm:justify-between sm:gap-5 sm:mb-7", children: [jsxs("div", { className: "sm:w-1/2", children: [jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...withValidator(field('fullName'), defaultValidator) }), jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) })] }), jsxs("div", { className: "sm:w-1/2", children: [jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] })] }));
735
+
736
+ const ACQUIRING_TYPES = [
737
+ {
738
+ name: 'Торговый эквайринг',
739
+ },
740
+ {
741
+ name: 'Мобильный эквайринг',
742
+ },
743
+ {
744
+ name: 'Интернет-эквайринг',
745
+ },
746
+ {
747
+ name: 'QR-эквайринг (СБП)',
748
+ },
749
+ {
750
+ name: 'Все виды эквайринга',
751
+ },
752
+ ];
753
+
754
+ function useBool(defaultValue = false) {
755
+ const [value, setValue] = useState(defaultValue);
756
+ const setTrue = useCallback(() => setValue(true), []);
757
+ const setFalse = useCallback(() => setValue(false), []);
758
+ const toggle = useCallback(() => setValue((_) => !_), []);
759
+ return [value, { setValue, setTrue, setFalse, toggle }];
760
+ }
761
+
762
+ function useOutsideClick(onClick) {
763
+ const targetRef = useRef(null);
764
+ useEffect(() => {
765
+ const handleClickOutside = (event) => {
766
+ if (targetRef &&
767
+ targetRef.current &&
768
+ event.target instanceof Node &&
769
+ !targetRef.current.contains(event.target)) {
770
+ onClick();
771
+ }
772
+ };
773
+ document.addEventListener('click', handleClickOutside);
774
+ return () => {
775
+ document.removeEventListener('click', handleClickOutside);
776
+ };
777
+ }, [onClick]);
778
+ return targetRef;
779
+ }
780
+
781
+ const svgUseStyleMap = {
782
+ normal: '',
783
+ color: 'text-primary-main',
784
+ black: 'text-black',
785
+ white: 'text-black',
786
+ };
787
+ const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = 'color', ...imgProps }) => {
788
+ const router = useRouter();
789
+ const href = adjustHref(router)(joinPath(projectSettings.CDN, '/icons', `${name}.svg`));
790
+ if (iconVersion !== 'normal') {
791
+ return (jsx(Background, { className: className, children: jsxs("svg", { className: style(getSvgSize(imgProps.width), svgUseStyleMap[iconVersion], iconVersion === 'white' ? 'invert' : '', imageClassName), ...imgProps, "aria-hidden": "true", children: [title ? jsx("title", { children: title }) : null, alt ? jsx("desc", { children: alt }) : null, jsx("use", { href: `${href}#icon`, xlinkHref: `${href}#icon` })] }) }));
792
+ }
793
+ if (!className.includes('h-')) {
794
+ imgProps['style'] = { height: `${imgProps.height}px` };
795
+ }
796
+ return (jsx("img", { className: className, src: href, alt: alt, title: title, "aria-hidden": "true", ...imgProps }));
797
+ });
798
+ const getSvgSize = (width) => (width ? '' : 'w-full h-full');
799
+ const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
800
+
801
+ const Select = JSX(({ className = '', label, options = [], value, valid = true, isBorder = true, placeholder = '', onChange, }) => {
802
+ const [isOpen, { setFalse: close, toggle }] = useBool();
803
+ const wrapperRef = useOutsideClick(close);
804
+ const handleChange = useCallback((option) => {
805
+ close();
806
+ onChange && onChange(option);
807
+ }, [onChange]);
808
+ const isSelected = (option) => option.key === value?.key;
809
+ return (jsxs("div", { className: className, ref: wrapperRef, children: [label ? (jsx("div", { className: "mb-2", children: jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: label }) })) : null, jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), children: [jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer', getBorderStyle(isBorder, valid)), onClick: toggle, children: [jsx("p", { className: "p-4 pr-8 h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" })] }), options?.length ? (jsx("div", { className: style('h-0', isOpen ? '' : 'overflow-hidden'), children: jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: options.map(renderOption(handleChange, isOpen, isSelected)) }) })) : null] })] }));
810
+ });
811
+ const renderOption = (handleChange, isOpen, isSelected) => (option, i) => (jsxs("div", { onClick: () => {
812
+ handleChange(option);
813
+ }, className: "flex px-4 py-3 cursor-pointer hover:bg-main-divider pr-11 relative", children: [jsx("span", { className: "min-h-6", children: formatOption(option) }), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", className: style('absolute right-4 pt-0.5', isSelected(option) && isOpen ? '' : 'hidden') })] }, String(i)));
814
+ const formatOption = (_) => _?.text || _?.key || '';
815
+ const getBorderStyle = (isBorder, valid) => style(isBorder ? 'border rounded-md hover:border-primary-hover' : '', valid ? ' border-gray' : 'border-error');
816
+
817
+ const SelectControl = JSX((props) => (jsxs("div", { children: [jsx(Select, { ...props, valid: !props.error }), jsx("div", { className: "h-2", children: props.error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: props.error })) : null })] })));
818
+
819
+ const renderAcquiringRegion = ({ regions, field }) => (jsxs("div", { className: "mb-4 pb-1 border-b border-b-main-divider sm:flex sm:justify-between sm:gap-5 sm:mb-7 sm:border-none sm:pb-0", children: [jsx("div", { className: "mb-3 sm:mb-0 sm:w-1/2", children: jsx(SelectControl, { label: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433", options: ACQUIRING_TYPES.map(({ name: key = '' }) => ({ key, text: key })), ...withValidator(field('acquiringType'), defaultValidator) }) }), jsx("div", { className: "mb-3 sm:mb-0 sm:w-1/2", children: jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) })] }));
820
+
821
+ const SlideCheckbox = JSX(({ value = false, text, type = 'checkbox', onChange }) => (jsxs("div", { role: type, "aria-checked": value, className: "flex justify-start items-center w-full cursor-pointer mb-3", onClick: () => onChange && onChange(!value), children: [jsx("div", { className: style('relative flex-shrink-0 duration-300 w-9 h-5 mr-3 rounded-2xl', value ? 'bg-primary-main' : 'bg-main-divider'), children: jsx("div", { className: style('absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full', value ? 'left-[50%]' : 'left-[5%]') }) }), jsx(Text, { size: "text-l", font: "font-light", color: "text-primary-text", children: text })] })));
822
+
823
+ const renderSlideCheckboxes = (field) => (jsxs("div", { className: "sm:mb-5", children: [jsx(SlideCheckbox, { text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C \u043E\u043D\u043B\u0430\u0439\u043D-\u043A\u0430\u0441\u0441\u0443", ...field('onlineCheckout') }), jsx(SlideCheckbox, { text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C POS-\u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B", ...field('posTerminal') })] }));
824
+
825
+ const renderSubmitButton = (button, className) => {
826
+ const buttonStyle = getRegularButtonClasses({
827
+ className: 'text-white',
828
+ version: button?.version,
829
+ });
830
+ return (jsx("button", { type: "submit", className: style('p-4 mt-3 w-full sm:mt-0 sm:w-auto', buttonStyle, className), children: button?.text ? button.text : 'Отправить заявку' }));
831
+ };
832
+
833
+ const initialFormState$4 = {
834
+ acquiringType: { key: 'Торговый эквайринг' },
835
+ fullName: '',
836
+ inn: '',
837
+ name: '',
838
+ phone: '',
839
+ onlineCheckout: false,
840
+ posTerminal: false,
841
+ };
842
+ const acquiringValidator = objectValidator({
843
+ acquiringType: defaultValidator,
844
+ region: defaultValidator,
845
+ fullName: defaultValidator,
846
+ inn: innValidator,
847
+ name: nameValidator,
848
+ phone: phoneValidator,
849
+ });
850
+ const ApplicationFormAcquiring = JSX((props) => {
851
+ const { button, link, onSubmit } = props;
852
+ const handleSubmit = useCallback((formState) => {
853
+ const { acquiringType, region, fullName, inn, name, phone, onlineCheckout, posTerminal } = formState;
854
+ isValidationSuccess(acquiringValidator(formState)) &&
855
+ onSubmit({
856
+ typeForm: 'acqr',
857
+ region: region?.text || '',
858
+ partnerComments: `Вид эквайринга=${acquiringType?.key || ''}/Онлайн касса=${onlineCheckout}/POS-терминал=${posTerminal}`,
859
+ fullName,
860
+ inn,
861
+ name,
862
+ phone,
863
+ });
864
+ }, [onSubmit]);
865
+ const [, { field, ...formProps }] = useForm(initialFormState$4, handleSubmit);
866
+ const regions = useGetRegions();
867
+ return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430 \u0438 \u0440\u0435\u0433\u0438\u043E\u043D", className: "sm:text-center mb-4" }), renderAcquiringRegion({ regions, field }), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center mb-4" }), renderAcquiringDataOrganization(field), renderSlideCheckboxes(field), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
868
+ });
869
+
870
+ const renderBusinessCardDataOrganization = (field) => (jsxs("div", { className: "sm:flex sm:justify-between sm:gap-5", children: [jsxs("div", { className: "sm:w-1/2", children: [jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) }), jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) })] }), jsxs("div", { className: "sm:w-1/2", children: [jsx(PhoneInputControl, { className: "shrink-0 w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) }), jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...withValidator(field('mail'), defaultValidator) })] })] }));
871
+
872
+ const renderRegion = ({ regions, field }) => (jsx("div", { className: "w-full mb-3 sm:mb-5", children: jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) }));
873
+
874
+ const initialFormState$3 = {
875
+ name: '',
876
+ phone: '',
877
+ inn: '',
878
+ mail: '',
879
+ };
880
+ const businessCardValidator = objectValidator({
881
+ region: defaultValidator,
882
+ name: nameValidator,
883
+ phone: phoneValidator,
884
+ inn: innValidator,
885
+ mail: defaultValidator,
886
+ });
887
+ const ApplicationFormBusinessCard = JSX((props) => {
888
+ const { button, link, onSubmit } = props;
889
+ const handleSubmit = useCallback((formState) => {
890
+ const { region, name, phone, inn, mail } = formState;
891
+ isValidationSuccess(businessCardValidator(formState)) &&
892
+ onSubmit({
893
+ typeForm: 'bcrd',
894
+ region: region?.text || '',
895
+ name,
896
+ phone,
897
+ inn,
898
+ mail,
899
+ });
900
+ }, [onSubmit]);
901
+ const [, { field, ...formProps }] = useForm(initialFormState$3, handleSubmit);
902
+ const regions = useGetRegions();
903
+ return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [renderRegion({ regions, field }), renderBusinessCardDataOrganization(field), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
904
+ });
905
+
906
+ const BRANCHES_URL = '/api/v1/branches';
907
+ const EMPTY_VALUE$1 = [];
908
+ function useBranches(regionCode) {
909
+ const { data } = useAsyncData(regionCode ? `${BRANCHES_URL}?regionCode=${regionCode}` : null, fetchSafeBoxes);
910
+ return data || EMPTY_VALUE$1;
911
+ }
912
+ const fetchSafeBoxes = async (url) => {
913
+ const result = await fetchJSON(url, { method: 'GET' });
914
+ return result || EMPTY_VALUE$1;
915
+ };
916
+
917
+ const MIN_CREDIT_AMOUNT = 1000;
918
+ const MAX_CREDIT_AMOUNT = 1000000000;
919
+ const ITEMS_CREDIT_AMOUNT = ['От 1 000 ₽', 'До 1 000 000 000 ₽'];
920
+ const MIN_CREDIT_TERM = 1;
921
+ const MAX_CREDIT_TERM = 180;
922
+ const ITEMS_CREDIT_TERM = ['От 1 мес', 'До 15 лет'];
923
+
924
+ const renderCreditDataOrganization = (field) => (jsxs("div", { className: "mb-4 pb-1 border-b border-b-main-divider sm:flex sm:justify-between sm:gap-5 sm:mb-7 sm:border-none sm:pb-0", children: [jsxs("div", { className: "sm:w-1/2", children: [jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...field('fullName') }), jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] }), jsxs("div", { className: "sm:w-1/2", children: [jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", ...withValidator(field('annualRevenue'), defaultValidator) }), jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) }), jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field('mail') })] })] }));
925
+
926
+ const useNormalizedInput = (props, { normalize, format }) => {
927
+ const { value, onFocus, onBlur, onChange } = props;
928
+ const [isFocused, setIsFocused] = useState(false);
929
+ const handleFocus = useCallback((e) => {
930
+ setIsFocused(true);
931
+ onFocus && onFocus(e);
932
+ }, []);
933
+ const handleBlur = useCallback(() => {
934
+ setIsFocused(false);
935
+ onChange && onChange(normalize(value));
936
+ onBlur && onBlur();
937
+ }, [onChange, value]);
938
+ return {
939
+ value: (isFocused || !format ? value : format(value)),
940
+ onFocus: handleFocus,
941
+ onBlur: handleBlur,
942
+ };
943
+ };
944
+
945
+ const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
946
+
947
+ const toLocalNumberFormat = (fractionDigits = 0) => (_ = 0) => new Intl.NumberFormat('ru-RU', {
948
+ minimumFractionDigits: 0,
949
+ maximumFractionDigits: fractionDigits,
950
+ }).format(Number(_) || 0);
951
+
952
+ function parseDecimal(value) {
953
+ const rawValue = (value || '').replace(/\D/g, '');
954
+ const unsafeDecimal = parseInt(rawValue, 10);
955
+ return Number.isNaN(unsafeDecimal) ? 0 : unsafeDecimal;
956
+ }
957
+
958
+ function renderRangeWithTicks({ list = [], min, max, step, value = list[0] || min, disabled, onChange, }) {
959
+ const rangeValue = list.length ? list.indexOf(value) : value;
960
+ const inputStyle = {
961
+ backgroundSize: `${(((rangeValue - min) * 100) / (max - min)).toFixed(2)}% 100%`,
962
+ };
963
+ return (jsxs("div", { children: [list.length ? (jsx("div", { className: "absolute w-full flex justify-between -bottom-[3px] px-4", children: list.map((_, i) => (jsx("div", { className: `w-2 h-2 rounded-full ${rangeValue <= i || disabled ? 'bg-gray' : 'bg-primary-main'}` }, String(i)))) })) : null, jsx("div", { className: "absolute inset-x-0 -bottom-1 px-4 leading-[18px]", children: jsx("input", { className: "box-border w-full m-0 cursor-pointer slider relative z-10", style: inputStyle, type: "range", min: min, max: max, step: step, value: rangeValue, disabled: disabled, onInput: ((e) => {
964
+ const rawValue = parseDecimal(e.target?.value);
965
+ const newValue = list.length ? list[rawValue] : rawValue;
966
+ onChange && onChange(newValue || 0);
967
+ }) }) })] }));
968
+ }
969
+
970
+ const DISABLED_INPUT_CLASSES = 'disabled:border-gray disabled:bg-main-divider';
971
+ const DEFAULT_MIN = 1;
972
+ const DEFAULT_MAX = 100;
973
+ const InputRange = JSX((props) => {
974
+ const { className, title, items = [], list = [], min = list.length ? 0 : DEFAULT_MIN, max = list.length ? list.length - 1 : DEFAULT_MAX, step = 1, value = list[0] || min, disabled = false, onChange, } = props;
975
+ const normalizedProps = useNormalizedInput(props, {
976
+ normalize: (_ = 0) => list.length ? closestValue(list)(_) : clamp(_, min, max),
977
+ format: toLocalNumberFormat(),
978
+ });
979
+ const handleChange = useCallback((e) => {
980
+ onChange && onChange(parseDecimal(e.target?.value));
981
+ }, [onChange]);
982
+ return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: title })) : null, jsx("input", { className: style('m-0 mt-2 font-sans text-h3 w-full h-14', 'border border-solid border-gray rounded-md outline-none', 'p-0 pl-4 box-border', 'text-primary-text hover:border-primary-hover focus:border-primary-text', DISABLED_INPUT_CLASSES), disabled: disabled, onInput: handleChange, ...normalizedProps }), renderRangeWithTicks({ list, min, max, step, disabled, value, onChange })] }), renderRangeCaption(items)] }));
983
+ });
984
+ const closestValue = (list) => (_) => list.reduce((prev, curr) => (Math.abs(curr - _) < Math.abs(prev - _) ? curr : prev));
985
+ const renderRangeCaption = (items) => (jsx("div", { className: "flex justify-between my-2", children: items.map((item, i) => (jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: item }, String(i)))) }));
986
+
987
+ const renderCreditParameters = (field) => (jsxs("div", { className: "mb-4 pb-1 border-b border-b-main-divider sm:flex sm:justify-between sm:gap-5 sm:mb-7 sm:border-none sm:pb-0", children: [jsxs("div", { className: "mb-3 sm:mb-0 sm:w-1/2", children: [jsx("label", { children: jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0443\u043C\u043C\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u0430, \u20BD" }) }), jsx(InputRange, { items: ITEMS_CREDIT_AMOUNT, min: MIN_CREDIT_AMOUNT, max: MAX_CREDIT_AMOUNT, ...field('amount') })] }), jsxs("div", { className: "sm:w-1/2", children: [jsx("label", { children: jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0440\u043E\u043A \u043A\u0440\u0435\u0434\u0438\u0442\u0430, \u043C\u0435\u0441\u044F\u0446\u0435\u0432" }) }), jsx(InputRange, { items: ITEMS_CREDIT_TERM, min: MIN_CREDIT_TERM, max: MAX_CREDIT_TERM, ...field('term') })] })] }));
988
+
989
+ const renderRegionDepartment = ({ regions, branches, field }) => (jsxs("div", { className: "mb-4 sm:flex sm:justify-between sm:gap-5 sm:mb-7 sm:border-none sm:pb-0", children: [jsx("div", { className: "mb-3 sm:mb-0 sm:w-1/2", children: jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) }), jsx("div", { className: "mb-3 sm:mb-0 sm:w-1/2", children: jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", options: branches.map(({ branchCode = '', address = '' }) => ({
990
+ key: branchCode,
991
+ text: address,
992
+ })), ...withValidator(field('department'), defaultValidator) }) })] }));
993
+
994
+ const initialFormState$2 = {
995
+ amount: MIN_CREDIT_AMOUNT,
996
+ term: 12,
997
+ fullName: '',
998
+ inn: '',
999
+ name: '',
1000
+ phone: '',
1001
+ mail: '',
1002
+ annualRevenue: '',
1003
+ };
1004
+ const creditValidator = objectValidator({
1005
+ annualRevenue: defaultValidator,
1006
+ inn: innValidator,
1007
+ name: nameValidator,
1008
+ phone: phoneValidator,
1009
+ region: defaultValidator,
1010
+ department: defaultValidator,
1011
+ });
1012
+ const ApplicationFormCredit = JSX(({ button, link, onSubmit }) => {
1013
+ const handleSubmit = useCallback((formState) => {
1014
+ const { amount, term, fullName, inn, name, phone, mail, region, department, annualRevenue } = formState;
1015
+ isValidationSuccess(creditValidator(formState)) &&
1016
+ onSubmit({
1017
+ typeForm: 'cred',
1018
+ fullName,
1019
+ inn,
1020
+ name,
1021
+ phone,
1022
+ mail,
1023
+ region: region?.text || '',
1024
+ department: department?.text || '',
1025
+ partnerComments: `Сумма=${amount}/Срок=${term}/Выручка=${annualRevenue}`,
1026
+ });
1027
+ }, [onSubmit]);
1028
+ const [formState, { field, ...formProps }] = useForm(initialFormState$2, handleSubmit);
1029
+ const regions = useGetRegions();
1030
+ const branches = useBranches(formState.region?.key).filter((branch) => branch?.address);
1031
+ return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043A\u0440\u0435\u0434\u0438\u0442\u0430", className: "sm:text-center mb-4" }), renderCreditParameters(field), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center mb-4" }), renderCreditDataOrganization(field), jsx(Heading, { headingType: "h6", title: "\u041E\u0444\u0438\u0441 \u0431\u0430\u043D\u043A\u0430", className: "sm:text-center mb-4" }), renderRegionDepartment({ regions, branches, field }), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
1032
+ });
1033
+
1034
+ const initialFormState$1 = {
1035
+ name: '',
1036
+ phone: '',
1037
+ };
1038
+ const depositValidator = objectValidator({
1039
+ name: nameValidator,
1040
+ phone: phoneValidator,
1041
+ });
1042
+ const ApplicationFormDeposit = JSX((props) => {
1043
+ const { button, link, onSubmit } = props;
1044
+ const handleSubmit = useCallback((formState) => {
1045
+ const { name, phone } = formState;
1046
+ isValidationSuccess(depositValidator(formState)) &&
1047
+ onSubmit({
1048
+ typeForm: 'dpst',
1049
+ name,
1050
+ phone,
1051
+ });
1052
+ }, [onSubmit]);
1053
+ const [, { field, ...formProps }] = useForm(initialFormState$1, handleSubmit);
1054
+ return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0437\u0430\u044F\u0432\u043A\u0443 \u0438 \u043C\u044B \u043E\u0442\u0432\u0435\u0442\u0438\u043C \u043D\u0430 \u043B\u044E\u0431\u044B\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u043F\u043E \u0434\u0435\u043F\u043E\u0437\u0438\u0442\u0430\u043C", className: "sm:text-center mb-4" }), jsxs("div", { className: "max-w-[560px] m-auto", children: [jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u0418\u043C\u044F", ...withValidator(field('name'), nameValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] }), jsxs("div", { className: "flex justify-between flex-col-reverse sm:items-center sm:flex-row max-w-[560px] m-auto", children: [jsx("div", { className: "flex-1 mt-4 sm:mt-0", children: jsx(Footnote, { link: link }) }), renderSubmitButton(button)] })] }));
1055
+ });
1056
+
1057
+ const sourcesComparator = (a, b) => a?.media && b?.media ? a.media - b.media : 0;
1058
+ const ImgAsPicture = JSX(({ className = '', image, imageClassName = '', pathPrefix }) => {
1059
+ const router = useRouter();
1060
+ return (jsxs("picture", { className: className, children: [image?.sources?.length
1061
+ ? image.sources
1062
+ .filter((_) => _?.src)
1063
+ .sort(sourcesComparator)
1064
+ .map(({ src, format, media }, index) => (jsx("source", { srcSet: adjustSrc(router, pathPrefix)(src), type: formatToMimeType(format), media: media ? `(max-width: ${media}px)` : '', ...image.size }, `${index}_${src}`)))
1065
+ : null, image?.src
1066
+ ? renderImg({ ...image, src: adjustSrc(router, pathPrefix)(image.src) }, imageClassName)
1067
+ : null] }));
1068
+ });
1069
+ const renderImg = (image, imageClassName = '') => (jsx("img", { src: image.src, className: style('object-contain', imageClassName), alt: image.alt || image.title, title: image.title || '', style: {
1070
+ width: image.size?.width ? `${image.size?.width}px` : '100%',
1071
+ height: image.size?.height ? `${image.size?.height}px` : 'auto',
1072
+ }, ...image.size }));
1073
+ const adjustSrc = (router, pathPrefix) => (src) => src && !isURL(src) ? adjustHref(router)(joinPath(pathPrefix, src)) : src;
1074
+ const formatToMimeType = (format) => format ? `image/${String(format)}` : undefined;
1075
+
1076
+ const Img = JSX(({ className = '', image, imageClassName = '', pathPrefix, ...iconProps }) => {
1077
+ if (!image?.src && !image?.icon) {
1078
+ return null;
1079
+ }
1080
+ return image.icon ? (jsx(Icon, { className: className, imageClassName: imageClassName, iconVersion: image?.iconVersion, name: image.icon, ...iconProps })) : (jsx(ImgAsPicture, { className: className, imageClassName: imageClassName, image: image, pathPrefix: pathPrefix }));
1081
+ });
1082
+
1083
+ const renderContacts = () => (jsxs("div", { className: "flex", children: [jsxs("a", { className: "flex items-center text-primary-text no-underline mr-6", href: `tel:8 (800) 200-78-70`, "aria-label": "8 (800) 200-78-70", children: [jsx(Img, { image: { icon: 'PhoneIcon' }, width: "24", height: "24", className: "mr-3" }), jsx("span", { children: "8 (800) 200-78-70" })] }), jsxs("a", { className: "flex items-center text-primary-text no-underline", "aria-label": "ved@rshb.ru", href: `mailto:ved@rshb.ru`, children: [jsx(Img, { image: { icon: 'MailIcon' }, width: "24", height: "24", className: "mr-3" }), jsx("span", { children: "ved@rshb.ru" })] })] }));
1084
+
1085
+ const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
1086
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: className, viewBox: viewBox, fill: fill, width: width, height: height, children: paths.map(({ d, fill: pathFill, ...options }, i) => (jsx("path", { d: d, fill: pathFill || 'currentColor', ...commonOptions, ...options }, i))) }));
1087
+ });
1088
+
1089
+ const CHECK_PATHS = [
1090
+ {
1091
+ d: 'M10.207.793a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 0 1 1.414-1.414L3.5 6.086 8.793.793a1 1 0 0 1 1.414 0Z',
1092
+ fillRule: 'evenodd',
1093
+ clipRule: 'evenodd',
1094
+ fill: 'white',
1095
+ },
1096
+ ];
1097
+ const Checkbox = JSX(({ className, value, text, disabled, isRadio, onChange }) => {
1098
+ const handleChange = useCallback((e) => {
1099
+ if (disabled) {
1100
+ return;
1101
+ }
1102
+ e.preventDefault();
1103
+ onChange && onChange(!value);
1104
+ }, [onChange, disabled, value]);
1105
+ const icon = isRadio ? (jsx("div", { className: "absolute left-1 w-3 h-3 rounded-full bg-primary-main" })) : (jsx(SVG, { paths: CHECK_PATHS, className: "absolute left-1 ml-px block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" }));
1106
+ return (jsx("div", { className: className, children: jsxs("label", { className: "flex items-center relative cursor-pointer group/box", onClick: handleChange, children: [jsx("div", { className: style('appearance-none w-5 h-5 border-solid cursor-pointer m-0', isRadio ? 'rounded-full border-2' : checkboxStyle(value), value ? 'border-primary-main' : 'border-gray', disabled ? 'bg-main-disabled' : 'group-hover/box:border-primary-hover'), role: "checkbox", "aria-checked": Boolean(value), "aria-disabled": Boolean(disabled) }), value ? icon : null, text ? (jsx("div", { className: "ml-3", children: jsx(Text, { size: "text-l", font: "font-light", children: text }) })) : null] }) }));
1107
+ });
1108
+ const checkboxStyle = (value) => style('rounded border', value ? 'bg-primary-main' : '');
1109
+
1110
+ const renderQuestionsInterested = (field) => {
1111
+ const textField = field('text');
1112
+ return (jsxs("div", { className: "mb-3 sm:mb-6", children: [jsxs("div", { className: "mb-4 sm:flex sm:items-center sm:gap-6", children: [jsx(Checkbox, { className: "mb-3 sm:mb-0", text: "\u0412\u0430\u043B\u044E\u0442\u043D\u044B\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C", ...field('currencyControl') }), jsx(Checkbox, { className: "mb-3 sm:mb-0", text: "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0440\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", ...field('documentaryOperations') }), jsx(Checkbox, { className: "mb-3 sm:mb-0", text: "\u041A\u043E\u043D\u0432\u0435\u0440\u0441\u0438\u043E\u043D\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", ...field('conversionOperations') })] }), jsx("textarea", { placeholder: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u0430\u0441 \u0432\u043E\u043F\u0440\u043E\u0441, \u043C\u0435\u0441\u0442\u043E \u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0431\u0438\u0437\u043D\u0435\u0441\u0430 \u0438 \u0443\u0434\u043E\u0431\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u0434\u043B\u044F \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u043D\u043E\u0433\u043E \u0437\u0432\u043E\u043D\u043A\u0430", className: "block w-full resize-y min-h-24 p-4 outline-none border rounded-md border-main-stroke hover:border-primary-hover active:focus:border-primary-text", value: textField.value, onInput: ((e) => textField.onChange && textField.onChange(e.target?.value || '')) })] }));
1113
+ };
1114
+
1115
+ const renderWedDataOrganization = (field) => (jsxs("div", { children: [jsxs("div", { className: "sm:flex sm:justify-between sm:gap-5", children: [jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...withValidator(field('fullName'), defaultValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u0424\u0418\u041E", ...withValidator(field('name'), nameValidator) }) })] }), jsxs("div", { className: "sm:flex sm:justify-between sm:gap-5 sm:mb-7", children: [jsx("div", { className: "sm:w-1/2", children: jsx(PhoneInputControl, { className: "shrink-0 w-full mb-3", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-3", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...withValidator(field('mail'), defaultValidator) }) })] })] }));
1116
+
1117
+ const initialFormState = {
1118
+ fullName: '',
1119
+ name: '',
1120
+ phone: '',
1121
+ mail: '',
1122
+ currencyControl: false,
1123
+ documentaryOperations: false,
1124
+ conversionOperations: false,
1125
+ text: '',
1126
+ };
1127
+ const webValidator = objectValidator({
1128
+ fullName: defaultValidator,
1129
+ name: nameValidator,
1130
+ phone: phoneValidator,
1131
+ mail: defaultValidator,
1132
+ });
1133
+ const ApplicationFormWed = JSX((props) => {
1134
+ const { button, link, onSubmit } = props;
1135
+ const handleSubmit = useCallback((formState) => {
1136
+ const { fullName, name, phone, mail, currencyControl, documentaryOperations, conversionOperations, text, } = formState;
1137
+ isValidationSuccess(webValidator(formState)) &&
1138
+ onSubmit({
1139
+ typeForm: 'kved',
1140
+ fullName,
1141
+ name,
1142
+ phone,
1143
+ mail,
1144
+ partnerComments: `Валютный контроль=${currencyControl}/Документарные операции=${documentaryOperations}/Конверсионные операции=${conversionOperations}/Доп инф=${text}`,
1145
+ });
1146
+ }, [onSubmit]);
1147
+ const [, { field, ...formProps }] = useForm(initialFormState, handleSubmit);
1148
+ return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center mb-4" }), renderWedDataOrganization(field), jsx(Heading, { headingType: "h6", title: "\u0418\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u043E\u043F\u0440\u043E\u0441", className: "sm:text-center mb-4" }), renderQuestionsInterested(field), jsxs("div", { className: "flex flex-col border-b border-main-divider mb-5 pb-5 sm:items-center sm:flex-row sm:mb-9 sm:pb-9", children: [renderSubmitButton(button, 'mb-4 sm:mr-5 sm:mb-0'), jsx(Footnote, { link: link })] }), jsx(Heading, { headingType: "h6", title: "\u0418\u043B\u0438 \u0441\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 \u043D\u0430\u043C\u0438 \u0443\u0434\u043E\u0431\u043D\u044B\u043C \u0441\u043F\u043E\u0441\u043E\u0431\u043E\u043C", className: "sm:text-center mb-4" }), renderContacts()] }));
1149
+ });
1150
+
1151
+ const ResponseNotification = JSX(({ responseType }) => {
1152
+ const responseOK = responseType === 'OK';
1153
+ const backgroundColor = responseOK ? 'bg-ok' : 'bg-fail';
1154
+ return (jsxs("div", { className: `flex items-center mt-5 p-5 rounded-md ${backgroundColor}`, children: [responseOK ? (jsx(Img, { image: { icon: 'ResponceOKIcon' }, width: "42", height: "42", className: "mr-4" })) : (jsx(Img, { image: { icon: 'ResponceFailIcon' }, width: "37", height: "34", className: "mr-4" })), jsxs("div", { children: [jsx(Heading, { headingType: "h6", title: responseOK ? 'Ваша заявка отправлена' : 'Не удалось отправить заявку', className: "mb-1" }), jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: responseOK ? 'Совсем скоро мы с вами свяжемся' : 'Пожалуйста, повторите позднее' })] })] }));
328
1155
  });
329
1156
 
330
- const mobileHeadingTagMap = {
331
- h1: 'h1',
332
- h2: 'h1',
333
- h3: 'h2',
334
- h4: 'h2',
335
- h5: 'h3',
336
- h6: 'h3',
337
- };
338
- const headingTag = (tag) => mobileHeadingTagMap[tag] || 'h3';
1157
+ const COMPONENTS_MAP = {
1158
+ credit: (props) => jsx(ApplicationFormCredit, { ...props }),
1159
+ acquiring: (props) => jsx(ApplicationFormAcquiring, { ...props }),
1160
+ 'business-card': (props) => jsx(ApplicationFormBusinessCard, { ...props }),
1161
+ deposit: (props) => jsx(ApplicationFormDeposit, { ...props }),
1162
+ wed: (props) => jsx(ApplicationFormWed, { ...props }),
1163
+ };
1164
+ const API = CorporateLeadAPI();
1165
+ const ApplicationForm = JSX((props) => {
1166
+ const { className, title, typeForm = 'credit', button, link, ...rest } = props;
1167
+ const [responseType, setResponseType] = useState('');
1168
+ const handleSubmit = useCallback(async (data) => {
1169
+ const status = (await API.send(data)) ? 'OK' : 'Fail';
1170
+ setResponseType(status);
1171
+ return status;
1172
+ }, []);
1173
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-default", ...rest, children: jsxs("div", { className: "container max-w-[978px]", children: [title ? (jsx(Heading, { headingType: "h3", title: title, className: "mb-4 sm:mb-8 sm:text-center" })) : null, COMPONENTS_MAP[typeForm]({ button, link, onSubmit: handleSubmit }), responseType ? jsx(ResponseNotification, { responseType: responseType }) : null] }) }));
1174
+ });
339
1175
 
340
- const styles = {
341
- h0: 'text-h0',
342
- h1: 'text-h1',
343
- h2: 'text-h2',
344
- h3: 'text-h3',
345
- h4: 'text-h4',
346
- h5: 'text-h5',
347
- h6: 'text-h6', // 20
348
- };
349
- const Heading = JSX(({ className = '', headingType = 'h3', as = 'h3', title, children }) => {
350
- const Tag = headingTag(as);
351
- return (jsx(Tag, { className: style('font-sans m-0', styles[headingType], className), children: title || children }));
1176
+ const iconBgStyles = {
1177
+ '': 'bg-main-divider group-data-secondary:bg-white/30',
1178
+ primary: 'bg-main-divider',
1179
+ secondary: 'bg-secondary-light',
1180
+ opacity: 'bg-white/30',
1181
+ };
1182
+ const RoundedIcon = JSX(({ className, defaultIconSize = 44, iconBgVersion = 'primary', size, icon, ...rest }) => {
1183
+ const widthAndHeight = String(size?.width || defaultIconSize);
1184
+ return icon ? (jsx("div", { style: {
1185
+ width: `${widthAndHeight}px`,
1186
+ height: `${widthAndHeight}px`,
1187
+ }, className: style('rounded-icon object-fit flex justify-center items-center ', iconBgStyles[iconBgVersion], className), children: jsx(Icon, { ...rest, width: "54%", height: "54%", name: icon }) })) : null;
352
1188
  });
353
1189
 
354
- const Paragraph = JSX(({ children, ...styleProps }) => (jsx("p", { className: style('font-sans', Object.values(styleProps)), children: children })));
1190
+ const defaultIconSize = 56;
1191
+
1192
+ const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-default", ...rest, children: [title ? jsx(Heading, { headingType: "h3", as: "h2", className: "text-center", title: title }) : null, benefitList?.length ? (jsx("div", { className: "flex flex-wrap w-full sm:justify-center mt-m gap-xl", role: "list", children: benefitList.map(renderBenefit) })) : null] })));
1193
+ const renderBenefit = (benefit, i) => (jsxs("div", { className: "flex gap-s items-center md:basis-1/2 md:max-w-[400px]", role: "listitem", children: [benefit?.icon?.icon ? (jsx(RoundedIcon, { className: "shrink-0", defaultIconSize: defaultIconSize, iconBgVersion: benefit?.iconBgVersion || '', ...benefit?.icon })) : null, benefit?.icon?.src ? jsx(Img, { className: "shrink-0", image: benefit.icon }) : null, benefit?.label ? (jsxs("div", { className: "sm:h-full", children: [jsx(Heading, { headingType: "h6", children: benefit.label }), renderDescription$3(benefit.description)] })) : null] }, String(i)));
1194
+ const renderDescription$3 = (description) => {
1195
+ const benefitType = description?.benefitType || null;
1196
+ return description && benefitType ? (jsx("div", { className: "mt-2 text-l font-light text-secondary-text group-data-secondary:text-white/80", children: benefitType === 'list'
1197
+ ? renderListBenefit(description)
1198
+ : renderTextBenefit(description) })) : null;
1199
+ };
1200
+ const renderTextBenefit = (description) => description?.name || null;
1201
+ const renderListBenefit = (description) => {
1202
+ const listStyleType = description?.bullets ? 'list-disc pl-6' : '';
1203
+ return description?.items && description.items.length > 0 ? (jsx("ul", { className: listStyleType, children: description.items.map((_, i) => (jsx("li", { children: _ }, `benefitListItem-${i}`))) })) : null;
1204
+ };
355
1205
 
356
1206
  const headlineVersionStyles = {
357
1207
  XXL: {
@@ -556,246 +1406,42 @@
556
1406
  canScrollLeft: isCyclic || canScrollLeft,
557
1407
  canScrollRight: isCyclic || canScrollRight,
558
1408
  visibleIndicesRange: [minIndex, maxIndex],
559
- handleVisibleIndicesChange,
560
- },
561
- ];
562
- };
563
-
564
- const DEFAULT_GAP = 14;
565
- /*
566
- Horizontal padding used on a container above SwipeListControl.
567
- Same value used on a SwipeListControlChildren container to compensate it
568
- and get rid of a clipping effect caused by overflow: hidden.
569
- */
570
- const DEFAULT_PADDING = 16;
571
- const SwipeListControl = JSX(({ className, version, gap = DEFAULT_GAP, padding = DEFAULT_PADDING, showDots = true, minHeight, children, onVisibleIndicesChange, listType = 'horizontal-list', }) => {
572
- const itemCount = Array.isArray(children) ? children.length : 0;
573
- const [containerRef, scroll] = useSwipeListScroll({
574
- itemCount,
575
- onVisibleIndicesChange,
576
- });
577
- const [activeIndex] = scroll.visibleIndicesRange;
578
- return (jsxs("div", { className: style(className, listType === 'vertical-list' ? 'relative h-full' : ''), children: [jsx(SwipeListContainer, { containerRef: containerRef, activeIndex: activeIndex, visibleItemCount: 1, gap: gap, padding: padding, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, listType: listType, minHeight: minHeight, children: children }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: activeIndex, dotCount: itemCount, listType: listType, version: version })) : null] }));
579
- });
580
-
581
- function useRouter() {
582
- return useRouter._impl();
583
- }
584
- useRouter._impl = () => ({
585
- href: globalThis.location?.href || '/',
586
- pathname: globalThis.location?.pathname || '/',
587
- query: {},
588
- push: () => {
589
- // Do nothing
590
- },
591
- replace: () => {
592
- // Do nothing
593
- },
594
- });
595
- useRouter.setup = (impl) => {
596
- useRouter._impl = impl;
597
- };
598
-
599
- const dirname = (path) => path?.split('/').slice(0, -1).join('/');
600
-
601
- const isURL = (href) => Boolean(href?.includes(':'));
602
- const isLocalURL = (href, target) => Boolean(href && !isURL(href) && (!target || target === '_self'));
603
- const isHash = (href) => Boolean(href?.startsWith('#'));
604
- const withoutQuery = (href) => (href || '').replace(/\?.*/, '').replace(/\/$/, '');
605
- const joinPath = (...path) => path.filter(Boolean).join('/').replace(/\/+/g, '/');
606
-
607
- var url = /*#__PURE__*/Object.freeze({
608
- __proto__: null,
609
- isURL: isURL,
610
- isLocalURL: isLocalURL,
611
- isHash: isHash,
612
- withoutQuery: withoutQuery,
613
- joinPath: joinPath
614
- });
615
-
616
- const adjustHref = (router) => (href, basePath = projectSettings.BASE_PATH) => {
617
- if (!href || isURL(href) || hasPrefix(href, projectSettings.CDN)) {
618
- return href;
619
- }
620
- const isRelativeToBase = href.startsWith('/');
621
- return joinPath(hasPrefix(href, basePath) ? '' : basePath, isRelativeToBase ? '/' : dirname(router.pathname), href);
622
- };
623
- const hasPrefix = (href, prefix) => prefix && href && href.startsWith(prefix);
624
-
625
- const svgUseStyleMap = {
626
- normal: '',
627
- color: 'text-primary-main',
628
- black: 'text-black',
629
- white: 'text-black',
630
- };
631
- const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = 'color', ...imgProps }) => {
632
- const router = useRouter();
633
- const href = adjustHref(router)(joinPath(projectSettings.CDN, '/icons', `${name}.svg`));
634
- if (iconVersion !== 'normal') {
635
- return (jsx(Background, { className: className, children: jsxs("svg", { className: style(getSvgSize(imgProps.width), svgUseStyleMap[iconVersion], iconVersion === 'white' ? 'invert' : '', imageClassName), ...imgProps, "aria-hidden": "true", children: [title ? jsx("title", { children: title }) : null, alt ? jsx("desc", { children: alt }) : null, jsx("use", { href: `${href}#icon`, xlinkHref: `${href}#icon` })] }) }));
636
- }
637
- if (!className.includes('h-')) {
638
- imgProps['style'] = { height: `${imgProps.height}px` };
639
- }
640
- return (jsx("img", { className: className, src: href, alt: alt, title: title, "aria-hidden": "true", ...imgProps }));
641
- });
642
- const getSvgSize = (width) => (width ? '' : 'w-full h-full');
643
- const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
644
-
645
- const sourcesComparator = (a, b) => a?.media && b?.media ? a.media - b.media : 0;
646
- const ImgAsPicture = JSX(({ className = '', image, imageClassName = '', pathPrefix }) => {
647
- const router = useRouter();
648
- return (jsxs("picture", { className: className, children: [image?.sources?.length
649
- ? image.sources
650
- .filter((_) => _?.src)
651
- .sort(sourcesComparator)
652
- .map(({ src, format, media }, index) => (jsx("source", { srcSet: adjustSrc(router, pathPrefix)(src), type: formatToMimeType(format), media: media ? `(max-width: ${media}px)` : '', ...image.size }, `${index}_${src}`)))
653
- : null, image?.src
654
- ? renderImg({ ...image, src: adjustSrc(router, pathPrefix)(image.src) }, imageClassName)
655
- : null] }));
656
- });
657
- const renderImg = (image, imageClassName = '') => (jsx("img", { src: image.src, className: style('object-contain', imageClassName), alt: image.alt || image.title, title: image.title || '', style: {
658
- width: image.size?.width ? `${image.size?.width}px` : '100%',
659
- height: image.size?.height ? `${image.size?.height}px` : 'auto',
660
- }, ...image.size }));
661
- const adjustSrc = (router, pathPrefix) => (src) => src && !isURL(src) ? adjustHref(router)(joinPath(pathPrefix, src)) : src;
662
- const formatToMimeType = (format) => format ? `image/${String(format)}` : undefined;
663
-
664
- const Img = JSX(({ className = '', image, imageClassName = '', pathPrefix, ...iconProps }) => {
665
- if (!image?.src && !image?.icon) {
666
- return null;
667
- }
668
- return image.icon ? (jsx(Icon, { className: className, imageClassName: imageClassName, iconVersion: image?.iconVersion, name: image.icon, ...iconProps })) : (jsx(ImgAsPicture, { className: className, imageClassName: imageClassName, image: image, pathPrefix: pathPrefix }));
669
- });
670
-
671
- const Text = JSX(({ children, ...styleProps }) => (jsx("span", { className: style('font-sans', Object.values(styleProps)), children: children })));
672
-
673
- const bonusBenefitAlign = 'text-left';
674
-
675
- const bonusBenefitStyles = 'justify-between p-4 h-full border border-gray';
676
-
677
- const renderBonusBenefit = ({ icon, title, description }, i) => (jsxs("div", { className: style('flex flex-col', bonusBenefitStyles, !description && !title ? 'justify-center' : ''), children: [title ? (jsx(Text, { size: "text-h6", font: "font-normal", align: bonusBenefitAlign, children: title })) : null, icon ? jsx(Img, { image: icon, height: "180", className: "w-auto" }) : null, description ? (jsx(Text, { size: "text-h6", font: "font-normal", align: bonusBenefitAlign, children: description })) : null] }, String(i)));
678
-
679
- const renderBonusBenefits = (bonusBenefits, columnsCount, cardTextAlign) => (jsx(SwipeListControl, { children: bonusBenefits.map((_, i) => renderBonusBenefit({ ..._ }, i)) }));
680
-
681
- const BonusBenefitsBlock = JSX(({ bonusBenefits, cardTextAlign = 'center', className = '', columnsCount = '4', subtitle, title, ...rest }) => (jsxs(BlockWrapper, { className: style('p-default', className), defaultPadding: "p-default", ...rest, children: [jsx(Headline, { className: "mb-4 sm:mb-8", isPadding: false, title: title, description: subtitle, headlineVersion: "M" }), bonusBenefits?.length
682
- ? renderBonusBenefits(bonusBenefits)
683
- : null] })));
684
-
685
- const useDialog = (id = '') => ({
686
- open: (message) => defaultEventBus.fire('dialog', { type: 'open', id, message }),
687
- close: () => defaultEventBus.fire('dialog', { type: 'close' }),
688
- });
689
-
690
- /* eslint-disable @typescript-eslint/ban-types */
691
- const handlerDecorator = (handler, targetContent) => {
692
- return handlerDecorator._impl(handler, targetContent);
693
- };
694
- handlerDecorator._impl = (handler) => handler;
695
- handlerDecorator.setup = (impl) => {
696
- handlerDecorator._impl = impl;
697
- };
698
-
699
- function useLink(params = {}) {
700
- const { isRemote, basePath } = params;
701
- const router = useRouter();
702
- const { close } = useDialog();
703
- return (props) => ({
704
- ...props,
705
- href: isRemote && !basePath ? props.href : adjustHref(router)(props.href, basePath),
706
- 'aria-label': props.text,
707
- onClick: handlerDecorator(handleHref(props), props),
708
- });
709
- function handleHref({ href, target, onClick }) {
710
- return (ev) => {
711
- onClick && onClick(ev);
712
- if (!href || isRemote || !isLocalURL(href, target)) {
713
- // Default routing
714
- return;
715
- }
716
- close();
717
- // Client routing
718
- ev?.preventDefault();
719
- router.push(href);
720
- };
721
- }
722
- }
723
-
724
- const buttonStyleMap = {
725
- primary: 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active',
726
- secondary: 'text-primary-main bg-main-divider hover:text-white hover:bg-primary-hover active:bg-primary-active',
727
- white: 'text-primary-main bg-white hover:text-white hover:bg-primary-hover active:bg-white active:text-primary-main',
728
- link: '',
729
- transparent: '',
730
- gray: 'text-primary-main bg-main-divider hover:text-white hover:bg-primary-hover active:bg-primary-active',
731
- '': '',
732
- };
733
- const DisabledStyle = 'bg-main-divider text-main-disabled';
734
- const buttonDisabledStyleMap = {
735
- primary: DisabledStyle,
736
- secondary: DisabledStyle,
737
- white: DisabledStyle,
738
- link: '',
739
- transparent: '',
740
- gray: DisabledStyle,
741
- '': '',
742
- };
743
- const buttonStyle = 'text-center font-sans select-none';
744
- const iconStyleMap = {
745
- primary: 'group-hover/btn:brightness-0 group-hover/btn:invert',
746
- secondary: 'group-hover/btn:brightness-0 group-hover/btn:invert',
747
- white: 'group-hover/btn:brightness-0 group-hover/btn:invert',
748
- link: '',
749
- transparent: '',
750
- gray: 'group-hover/btn:brightness-0 group-hover/btn:invert',
751
- '': '',
1409
+ handleVisibleIndicesChange,
1410
+ },
1411
+ ];
752
1412
  };
753
1413
 
754
- const ButtonInner = JSX((props) => {
755
- const { text, aboveText, appendLeft, appendRight, version = 'primary' } = props;
756
- return (jsxs("div", { className: style(getButtonStyle(props), 'flex gap-2'), children: [appendLeft ? jsx("div", { className: iconStyleMap[version], children: appendLeft }) : null, isWithText(props) ? (jsxs("div", { children: [aboveText ? jsx("div", { className: "text-xs font-light text-left", children: aboveText }) : null, jsx("div", { className: `text-left ${aboveText ? 'text-s -mt-0.5' : 'text-l'}`, children: text })] })) : null, appendRight ? jsx("div", { className: iconStyleMap[version], children: appendRight }) : null] }));
1414
+ const DEFAULT_GAP = 14;
1415
+ /*
1416
+ Horizontal padding used on a container above SwipeListControl.
1417
+ Same value used on a SwipeListControlChildren container to compensate it
1418
+ and get rid of a clipping effect caused by overflow: hidden.
1419
+ */
1420
+ const DEFAULT_PADDING = 16;
1421
+ const SwipeListControl = JSX(({ className, version, gap = DEFAULT_GAP, padding = DEFAULT_PADDING, showDots = true, minHeight, children, onVisibleIndicesChange, listType = 'horizontal-list', }) => {
1422
+ const itemCount = Array.isArray(children) ? children.length : 0;
1423
+ const [containerRef, scroll] = useSwipeListScroll({
1424
+ itemCount,
1425
+ onVisibleIndicesChange,
1426
+ });
1427
+ const [activeIndex] = scroll.visibleIndicesRange;
1428
+ return (jsxs("div", { className: style(className, listType === 'vertical-list' ? 'relative h-full' : ''), children: [jsx(SwipeListContainer, { containerRef: containerRef, activeIndex: activeIndex, visibleItemCount: 1, gap: gap, padding: padding, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, listType: listType, minHeight: minHeight, children: children }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: activeIndex, dotCount: itemCount, listType: listType, version: version })) : null] }));
757
1429
  });
758
- const getButtonStyle = (props) => {
759
- const { version, aboveText, rounded } = props;
760
- if (version === 'link') {
761
- return '';
762
- }
763
- const withTextStyle = `${aboveText ? 'py-2.5 px-9' : 'py-4 px-9'}`;
764
- return [
765
- 'group/btn items-center justify-center',
766
- isWithText(props) ? withTextStyle : 'h-12 w-12',
767
- rounded ? 'rounded-full' : '',
768
- ].join(' ');
769
- };
770
- const isWithText = ({ text, aboveText, appendLeft }) => Boolean(text || aboveText || !appendLeft);
771
1430
 
772
- const getDisabledButtonClasses = ({ className, rounded, version, }) => [
773
- 'inline-block',
774
- buttonStyle,
775
- version ? buttonDisabledStyleMap[version] : '',
776
- rounded ? 'rounded-full' : 'rounded-md',
777
- className,
778
- ].join(' ');
1431
+ const bonusBenefitAlign = 'text-left';
779
1432
 
780
- const getRegularButtonClasses = ({ className, rounded, version, }) => [
781
- buttonStyle,
782
- 'border border-transparent inline-block cursor-pointer no-underline focus:border-primary-text focus:border h-fit',
783
- version ? buttonStyleMap[version] : '',
784
- rounded ? 'rounded-full' : 'rounded-md',
785
- className,
786
- ].join(' ');
1433
+ const bonusBenefitStyles = 'justify-between p-4 h-full border border-gray';
787
1434
 
788
- const Button = JSX(({ disabled, children, ...rest }) => {
789
- const link = useLink();
790
- const adjustedProps = link(rest);
791
- const buttonInner = children ?? jsx(ButtonInner, { ...adjustedProps });
792
- return disabled ? (jsx(DisabledButton, { ...adjustedProps, children: buttonInner })) : (jsx(RegularButton, { ...adjustedProps, children: buttonInner }));
793
- });
794
- const RegularButton = JSX(({ className = '', href, rel, target, ariaLabel, version, rounded, onClick, children }) => (jsx("a", { className: getRegularButtonClasses({ className, version, rounded }), href: href, rel: rel, target: target, "aria-label": ariaLabel, role: href ? 'link' : 'button', onClick: onClick, children: children })));
795
- const DisabledButton = JSX(({ className, ariaLabel, version, rounded, children }) => (jsx("div", { role: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: -1, className: getDisabledButtonClasses({ className, rounded, version }), children: children })));
1435
+ const renderBonusBenefit = ({ icon, title, description }, i) => (jsxs("div", { className: style('flex flex-col', bonusBenefitStyles, !description && !title ? 'justify-center' : ''), children: [title ? (jsx(Text, { size: "text-h6", font: "font-normal", align: bonusBenefitAlign, children: title })) : null, icon ? jsx(Img, { image: icon, height: "180", className: "w-auto" }) : null, description ? (jsx(Text, { size: "text-h6", font: "font-normal", align: bonusBenefitAlign, children: description })) : null] }, String(i)));
1436
+
1437
+ const renderBonusBenefits = (bonusBenefits, _columnsCount, _cardTextAlign) => (jsx(SwipeListControl, { children: bonusBenefits.map((_, i) => renderBonusBenefit({ ..._ }, i)) }));
1438
+
1439
+ const BonusBenefitsBlock = JSX(({ bonusBenefits, cardTextAlign = 'center', className = '', columnsCount = '4', subtitle, title, ...rest }) => (jsxs(BlockWrapper, { className: style('p-default', className), defaultPadding: "p-default", ...rest, children: [jsx(Headline, { className: "mb-4 sm:mb-8", isPadding: false, title: title, description: subtitle, headlineVersion: "M" }), bonusBenefits?.length
1440
+ ? renderBonusBenefits(bonusBenefits)
1441
+ : null] })));
796
1442
 
797
- const renderButtonsSection = (buttons, { className, buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text || _?.icon?.icon) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-xs justify-items-stretch' : 'flex-wrap gap-s', className), children: buttons.map(renderButton(buttonClassName)) })) : null;
798
- const renderButton = (buttonClassName = '') => (button, index) => {
1443
+ const renderButtonsSection = (buttons, { className, buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text || _?.icon?.icon) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-xs justify-items-stretch' : 'flex-wrap gap-s', className), children: buttons.map(renderButton$1(buttonClassName)) })) : null;
1444
+ const renderButton$1 = (buttonClassName = '') => (button, index) => {
799
1445
  const { text, icon, iconRight, version, ...rest } = button || {};
800
1446
  const iconVersionDefault = version === 'secondary' ? 'color' : 'white';
801
1447
  const iconVersion = icon?.iconVersion ? icon?.iconVersion : iconVersionDefault;
@@ -806,86 +1452,6 @@
806
1452
 
807
1453
  const ButtonsBlock = JSX(({ buttons, className, ...rest }) => (jsx(BlockWrapper, { className: style('!bg-transparent', className), defaultPadding: "p-0", ...rest, children: renderButtonsSection(buttons) })));
808
1454
 
809
- const identity = (_) => _;
810
-
811
- const useForm = (initialState, onSubmit) => {
812
- const [formState, setFormState] = useState(initialState);
813
- const [isDirtyForm, setDirtyForm] = useState(false);
814
- const [dirtyFieldsMap, setDirtyFieldsMap] = useState({});
815
- const handlersMap = useRef({});
816
- const field = useCallback((fieldName, options) => {
817
- const { parse = identity, format = identity } = options || {};
818
- if (!handlersMap.current) {
819
- handlersMap.current = {};
820
- }
821
- handlersMap.current[fieldName] ||= (value) => {
822
- setFormState((prev) => ({ ...prev, [fieldName]: parse(value) }));
823
- setDirtyFieldsMap((prev) => ({ ...prev, [fieldName]: true }));
824
- };
825
- return {
826
- value: format(formState[fieldName]),
827
- isDirty: isDirtyForm || dirtyFieldsMap[fieldName],
828
- onChange: handlersMap.current[fieldName],
829
- };
830
- }, [formState, isDirtyForm, dirtyFieldsMap]);
831
- const reset = useCallback(() => {
832
- setFormState(initialState);
833
- setDirtyForm(false);
834
- setDirtyFieldsMap({});
835
- }, [initialState]);
836
- const handleSubmit = useCallback((e) => {
837
- e.preventDefault();
838
- setDirtyForm(true);
839
- onSubmit && onSubmit(formState);
840
- }, [onSubmit, formState]);
841
- return [
842
- formState,
843
- {
844
- isDirty: isDirtyForm || Object.values(dirtyFieldsMap).some(Boolean),
845
- field,
846
- reset,
847
- onSubmit: handleSubmit,
848
- },
849
- ];
850
- };
851
-
852
- const useNormalizedInput = (props, { normalize, format }) => {
853
- const { value, onFocus, onBlur, onChange } = props;
854
- const [isFocused, setIsFocused] = useState(false);
855
- const handleFocus = useCallback((e) => {
856
- setIsFocused(true);
857
- onFocus && onFocus(e);
858
- }, []);
859
- const handleBlur = useCallback(() => {
860
- setIsFocused(false);
861
- onChange && onChange(normalize(value));
862
- onBlur && onBlur();
863
- }, [onChange, value]);
864
- return {
865
- value: (isFocused || !format ? value : format(value)),
866
- onFocus: handleFocus,
867
- onBlur: handleBlur,
868
- };
869
- };
870
-
871
- const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
872
-
873
- const toLocalNumberFormat = (fractionDigits = 0) => (_ = 0) => new Intl.NumberFormat('ru-RU', {
874
- minimumFractionDigits: 0,
875
- maximumFractionDigits: fractionDigits,
876
- }).format(Number(_) || 0);
877
-
878
- const Input = JSX(({ key, className = '', inputClassName = '', id, name, type = 'text', label, placeholder, value = '', valid = true, children, onChange, onFocus, onBlur, pattern, }) => {
879
- const handleChange = useCallback((e) => {
880
- onChange && onChange(e.target?.value || '');
881
- }, [onChange]);
882
- const paddingStyle = children ? 'pr-8' : '';
883
- const validStyle = valid
884
- ? 'border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'
885
- : 'border-error';
886
- return (jsxs("div", { className: style('relative', className), children: [jsxs("label", { children: [label ? (jsx("div", { className: "mb-2", children: jsx(Text, { size: "text-m", font: "font-light", children: label }) })) : null, jsx("input", { className: style('w-full border rounded-md text-primary-text outline-none p-4', paddingStyle, validStyle, inputClassName), id: id, name: name || id, placeholder: placeholder, type: type, value: value, onInput: handleChange, onFocus: onFocus, onBlur: onBlur, pattern: pattern }, key)] }), children] }));
887
- });
888
-
889
1455
  const NumberInput = JSX((props) => {
890
1456
  const { onChange, min, max, defaultValue = '0', fractionDigits = 0, ...inputProps } = props;
891
1457
  const normalizedProps = useNormalizedInput(props, {
@@ -1134,9 +1700,12 @@
1134
1700
  label: 'Youtube',
1135
1701
  },
1136
1702
  ];
1703
+
1704
+ const findIconByHref = (href) => ICONS_MAP.find(({ origins }) => origins?.some((_) => href?.includes(_))) || {};
1705
+
1137
1706
  const MediaButton = JSX(({ buttonSize = 'default', rounded = false, icon, ...rest }) => {
1138
1707
  const { href, version, text = '' } = rest;
1139
- const { iconMapped, label } = ICONS_MAP.find(({ origins }) => origins.some((_) => href?.includes(_))) || {};
1708
+ const { iconMapped, label } = findIconByHref(href);
1140
1709
  const iconCustom = getFilteredIcon(icon) ?? iconMapped;
1141
1710
  return (jsx(Button, { className: style(rounded ? 'rounded-full' : 'rounded-md', 'border border-solid hover:border-transparent', 'group-data-primary:border-main-divider', 'hover:bg-primary-main hover:text-black', 'group-data-secondary:bg-white border-main-divider group-data-secondary:hover:bg-secondary-hover', 'group-data-gray:border-green', buttonStylesWithText(text, buttonSize)), "aria-label": label, rel: "noopener noreferrer", target: "_blank", text: text, version: version, ...rest, children: iconCustom && !text ? (jsx(Img, { image: iconCustom, imageClassName: "group-hover/media:text-white", width: "24", height: "24" })) : null }));
1142
1711
  });
@@ -1175,19 +1744,17 @@
1175
1744
 
1176
1745
  const getPaddingStyle = (isHighlighting = false) => isHighlighting ? 'p-default mt-6' : 'mt-6 p-default'; // Хак для мобильной версии т.к. контракт должен быть идентичный
1177
1746
 
1178
- const descriptionSize = 'text-l';
1179
-
1180
1747
  const renderCardInfo = (cell, i) => {
1181
1748
  const { title, description, buttons } = cell;
1182
- return (jsxs("div", { className: "py-5 border-b border-main-divider", children: [title ? (jsx("div", { className: "opacity-80", children: jsx(Text, { size: "text-m", color: "text-secondary-text", children: title }) })) : null, description ? (jsx("div", { className: "mt-1", children: jsx(Text, { size: descriptionSize, color: "text-primary-text", children: description }) })) : null, buttons?.length ? (jsx("div", { className: "text-primary-main", children: renderButtonsSection(buttons) })) : null] }, String(i)));
1749
+ return (jsxs("div", { className: "py-5 border-b border-main-divider", children: [title ? (jsx("div", { className: "opacity-80", children: jsx(Text, { size: "text-m", color: "text-secondary-text", children: title }) })) : null, description ? (jsx("div", { className: "mt-1", children: jsx(Text, { size: "text-xl", color: "text-primary-text", children: description }) })) : null, buttons?.length ? (jsx("div", { className: "text-primary-main", children: renderButtonsSection(buttons) })) : null] }, String(i)));
1183
1750
  };
1184
1751
 
1185
1752
  const VISIBLE_CELLS_COUNT = 1;
1186
- const CarouselTariffsCard = JSX(({ className = '', title, icon, isHighlighting = false, button, cardCells = [], ...rest }) => {
1753
+ const CarouselTariffsCard = JSX(({ className = '', title, align = 'text-center', icon, isHighlighting = false, button, cardCells = [], ...rest }) => {
1187
1754
  const cellsNode = cardCells.map(renderCardInfo);
1188
1755
  const visibleCells = cellsNode.slice(0, VISIBLE_CELLS_COUNT);
1189
1756
  const hiddenCells = cellsNode.slice(VISIBLE_CELLS_COUNT);
1190
- return (jsxs(BlockWrapper, { className: style('relative border border-gray flex flex-col', className), defaultPadding: getPaddingStyle(isHighlighting), ...rest, children: [isHighlighting ? renderHitIcon() : null, renderIconBlock(icon), title ? jsx(Heading, { className: "text-center pt-2", headingType: "h5", title: title }) : null, button ? jsx(Button, { className: "w-full mt-4", ...button }) : null, cardCells.length ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenCells })] })), renderFoldButton: cardCells.length > 1 ? renderFoldButton$1 : null })) : null] }));
1757
+ return (jsxs(BlockWrapper, { className: style('relative border border-gray flex flex-col', className), defaultPadding: getPaddingStyle(isHighlighting), ...rest, children: [isHighlighting ? renderHitIcon() : null, renderIconBlock(icon), title ? (jsx(Heading, { className: style('pt-xs', align), headingType: "h5", title: title })) : null, button ? jsx(Button, { className: "w-full mt-4", ...button }) : null, cardCells.length ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenCells })] })), renderFoldButton: cardCells.length > 1 ? renderFoldButton$1 : null })) : null] }));
1191
1758
  });
1192
1759
  const renderIconBlock = (icon) => (jsx("div", { className: "w-[267px] min-w-[267px] self-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
1193
1760
  const renderFoldButton$1 = ({ isUnfolded, onToggle }) => (jsxs("button", { className: "w-full cursor-pointer text-primary-main pt-5 flex justify-between items-center", onClick: onToggle, children: [jsx("div", { children: isUnfolded ? 'Скрыть' : 'Подробнее о тарифе' }), jsx(Icon, { className: "text-primary-text", name: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" })] }));
@@ -1229,16 +1796,16 @@
1229
1796
  const renderColorOption = (color, i) => (jsx("div", { role: "figure", className: `w-6 h-6 ml-1 sm:ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap[color]}` }, String(i)));
1230
1797
 
1231
1798
  const CarouselProductCard = JSX(({ additionalDescription, align = 'text-center', button = {}, className = '', description, headlineSmallVersion = 'H6', href, icon, isDotted = true, isFullWidth = true, items = [], target, title, version = 'primary', ...rest }) => {
1232
- return (jsxs(BlockWrapper, { className: style('h-full flex flex-col justify-between min-w-[260px]', 'box-border border-solid border border-gray', align, className), defaultPadding: "p-0", version: version, ...rest, children: [jsxs(LinkWrapper, { className: "p-s", href: href, target: target, children: [renderImage$2(icon), renderCardTitle(headlineSmallVersion, title), renderDescription$3(description, title), renderItems(items, isDotted, version), renderAdditionalDescription(additionalDescription)] }), renderButtonsSection([button], {
1799
+ return (jsxs(BlockWrapper, { className: style('h-full flex flex-col justify-between min-w-[260px]', 'box-border border-solid border border-gray', align, className), defaultPadding: "p-0", version: version, ...rest, children: [jsxs(LinkWrapper, { className: "p-s", href: href, target: target, children: [renderImage$2(icon), renderCardTitle(headlineSmallVersion, title), renderDescription$2(description, title), renderItems(items, isDotted, version), renderAdditionalDescription(additionalDescription)] }), renderButtonsSection([button], {
1233
1800
  className: style('p-s pt-0', isFullWidth ? '' : 'self-center min-w-[158px]'),
1234
1801
  isVertical: isFullWidth,
1235
1802
  })] }));
1236
1803
  });
1237
1804
  const renderImage$2 = (image) => (jsxs("div", { className: "flex justify-center", children: [image?.src ? jsx(Img, { className: "mb-5", image: image }) : null, image?.icon ? jsx(Img, { className: `w-8 h-8 min-w-8 mb-5`, image: image }) : null] }));
1238
1805
  const renderCardTitle = (headlineSmallVersion, title) => title ? (jsx("div", { children: jsx(Text, { size: HEADLINE_SMALL_VERSION[headlineSmallVersion], children: title }) })) : null;
1239
- const renderDescription$3 = (description, title) => description ? (jsx("div", { className: title ? 'mt-2' : '', children: jsx(Paragraph, { size: "text-l", children: description }) })) : null;
1806
+ const renderDescription$2 = (description, title) => description ? (jsx("div", { className: title ? 'mt-2' : '', children: jsx(Paragraph, { size: "text-l", children: description }) })) : null;
1240
1807
  const renderAdditionalDescription = (additionalDescription) => additionalDescription ? (jsx("div", { className: "mt-auto", children: jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text group-data-secondary:text-white/80", children: additionalDescription }) })) : null;
1241
- const renderItems = (items, isDotted, version = 'primary') => items?.length ? (jsx(List, { className: style('max-w-[308px] mt-2 text-s', version === 'primary' ? '!text-secondary-text' : ''), items: items.filter((item) => item?.text).map((item) => item.text), isDotted: isDotted })) : null;
1808
+ const renderItems = (items, isDotted, version = 'primary') => items?.length ? (jsx(List, { className: style('max-w-[308px] mt-2', version === 'primary' ? '!text-secondary-text' : ''), items: items.filter((item) => item?.text).map((item) => item.text), isDotted: isDotted, listItemSize: "S" })) : null;
1242
1809
 
1243
1810
  const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
1244
1811
  const DIVIDER_CLASSES = 'border-main-divider border border-t-0 border-x-0';
@@ -1280,80 +1847,6 @@
1280
1847
  return orientation === 'horizontal' ? (jsx(SwipeListControl, { onVisibleIndicesChange: handleSlideChange, children: tableColumns })) : (tableColumns);
1281
1848
  });
1282
1849
 
1283
- const isFilled = (_) => _ !== null && _ !== undefined;
1284
-
1285
- const defaultCache = new Map();
1286
- const applyCache = (fetcher, cache = defaultCache) => (key) => {
1287
- const cachedData = cache.get(key);
1288
- if (isFilled(cachedData)) {
1289
- return cachedData;
1290
- }
1291
- const data = fetcher(key);
1292
- if (isFilled(data)) {
1293
- cache.set(key, Promise.resolve(data));
1294
- }
1295
- else {
1296
- cache.delete(key);
1297
- }
1298
- return data;
1299
- };
1300
-
1301
- const isSimpleKey = (args) => Boolean(args && Array.isArray(args) && args.length === 1 && typeof args[0] === 'string');
1302
- function useAsyncData(key, fetcher, { fallback, cache } = {}) {
1303
- const args = useMemo(() => keyToArgs(key), [key]);
1304
- const [simpleKey] = isSimpleKey(args) ? args : [];
1305
- const [data, setData] = useState(undefined);
1306
- const [error, setError] = useState(undefined);
1307
- useEffect(() => {
1308
- const isEmptyKey = !args.some(isFilled);
1309
- if (isEmptyKey) {
1310
- return;
1311
- }
1312
- (async () => {
1313
- try {
1314
- const newData = await (simpleKey
1315
- ? applyCache(fetcher, cache)(simpleKey)
1316
- : fetcher(...args));
1317
- setData(newData);
1318
- setError(undefined);
1319
- }
1320
- catch (err) {
1321
- setData(undefined);
1322
- setError(err);
1323
- }
1324
- })();
1325
- }, [fetcher, cache, args]);
1326
- const fallbackData = fallback && simpleKey && fallback[simpleKey];
1327
- return {
1328
- data: !data && fallbackData ? fallbackData : data,
1329
- error,
1330
- mutate: () => Promise.resolve(undefined),
1331
- isValidating: false
1332
- };
1333
- }
1334
- function keyToArgs(key) {
1335
- if (Array.isArray(key)) {
1336
- return key;
1337
- }
1338
- else if (key instanceof Function) {
1339
- return keyToArgs(key());
1340
- }
1341
- else {
1342
- return [key];
1343
- }
1344
- }
1345
-
1346
- async function fetchJSONUnsafe(url, options) {
1347
- const response = await fetch(url, {
1348
- ...options,
1349
- headers: {
1350
- ...options?.headers,
1351
- 'Content-Type': 'application/json',
1352
- },
1353
- });
1354
- return await response.json();
1355
- }
1356
-
1357
1850
  const EMPTY_VALUE = {};
1358
1851
  function useSWRResource(filename, fallback = {}) {
1359
1852
  const { data } = useAsyncData(`/wcms-resources/${filename}.json`, fetchJSONUnsafe, {
@@ -1383,19 +1876,6 @@
1383
1876
 
1384
1877
  const getIconName = (isUnfolded) => isUnfolded ? 'ArrowUpSolidIcon' : 'ArrowDownSolidIcon';
1385
1878
 
1386
- const labelSize = 'text-l';
1387
-
1388
- const iconBgStyles = {
1389
- primary: 'bg-main-divider',
1390
- secondary: 'bg-white/30',
1391
- 'secondary-light': 'bg-secondary-light',
1392
- };
1393
- const RoundedIcon = JSX(({ iconBgVersion = 'primary', size, icon, ...rest }) => {
1394
- const width = String(size?.width || 24);
1395
- const height = String(size?.height || 24);
1396
- return icon ? (jsx("div", { className: style('rounded-icon p-2.5', iconBgStyles[iconBgVersion]), children: jsx(Icon, { ...rest, width: width, height: height, name: icon }) })) : null;
1397
- });
1398
-
1399
1879
  const renderRoundedIcon = (icon, iconBgVersion) => (jsx(RoundedIcon, { ...icon, iconBgVersion: iconBgVersion }));
1400
1880
 
1401
1881
  const rollupIconVersion = 'normal';
@@ -1426,7 +1906,7 @@
1426
1906
  })) : (jsx(DefaultFoldButton, { label: label, icon: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', onClick: onToggle }));
1427
1907
  };
1428
1908
  const renderPrimaryFoldButton = ({ label, labelIconBgVersion, icon, onToggle, labelIcon, }) => {
1429
- return (jsxs("button", { className: style('border-none bg-transparent px-0 flex justify-between items-center w-full group/button', labelIcon?.icon ? 'py-2' : 'py-5'), onClick: onToggle, children: [jsxs("div", { className: "flex items-center group-hover/button:text-primary-main", children: [renderRoundedIcon(labelIcon, labelIconBgVersion), label ? (jsx(Text, { size: labelSize, font: "font-normal", children: label })) : null] }), icon ? jsx(Icon, { name: icon, iconVersion: rollupIconVersion, width: "24", height: "24" }) : null] }));
1909
+ return (jsxs("button", { className: style('border-none bg-transparent px-0 flex justify-between items-center w-full group/button', labelIcon?.icon ? 'py-2' : 'py-5'), onClick: onToggle, children: [jsxs("div", { className: "flex items-center group-hover/button:text-primary-main gap-3", children: [renderRoundedIcon(labelIcon, labelIconBgVersion), label ? (jsx(Text, { size: "text-h6", font: "font-normal", children: label })) : null] }), icon ? jsx(Icon, { name: icon, iconVersion: rollupIconVersion, width: "24", height: "24" }) : null] }));
1430
1910
  };
1431
1911
 
1432
1912
  const Contacts = JSX(({ className = '', items, hasButton }) => (jsxs("div", { className: className, children: [items?.length ? items.map(renderContactsGroup) : null, hasButton ? (jsx(Button, { version: "primary", className: "mb-6 w-full", href: "https://www.rshb.ru/feedback/question/", target: "_blank", ariaLabel: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C", text: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C" })) : null] })));
@@ -1465,9 +1945,13 @@
1465
1945
  const Footer = JSX(({ className = '', ...rest }) => {
1466
1946
  const fallback = rest.options?.page?.fallback;
1467
1947
  const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', fallback);
1468
- const { relatedEnterprises, contacts, socialMedia, horizontalNavigationTitle } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
1469
- return (jsxs(BlockWrapper, { tag: "footer", className: className, defaultPadding: "px-4 py-6", ...rest, children: [jsx("div", { className: "mb-4 pb-5 border-b border-main-divider", children: sitemap.topItems?.map((item, i) => (jsx(RollupItem, { label: item?.text, labelIcon: item?.icon, children: jsx(LinkList, { items: item.items, className: "my-3" }) }, String(i)))) }), jsx(Contacts, { className: "overflow-hidden", items: contacts }), jsx(SocialMedia, { className: "mb-4", media: socialMedia }), jsx(Button, { className: "w-full mb-4", text: "Google Play", version: "secondary", href: "/", target: "_blank" }), jsx(HorizontalNavigation, { className: "pt-4 pb-7 border-y border-main-divider", title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, {})] }));
1948
+ const { relatedEnterprises, contacts, socialMedia, mobileApps, horizontalNavigationTitle } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
1949
+ return (jsxs(BlockWrapper, { tag: "footer", className: className, defaultPadding: "px-4 py-6", ...rest, children: [jsx("div", { className: "mb-4 pb-5 border-b border-main-divider", children: sitemap.topItems?.map((item, i) => (jsx(RollupItem, { label: item?.text, labelIcon: item?.icon, children: jsx(LinkList, { items: item.items, className: "my-3" }) }, String(i)))) }), jsx(Contacts, { className: "overflow-hidden", items: contacts }), jsx(SocialMedia, { className: "mb-4", media: socialMedia }), mobileApps?.map(renderButton), jsx(HorizontalNavigation, { className: "pt-4 pb-7 border-y border-main-divider", title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, {})] }));
1470
1950
  });
1951
+ const renderButton = ({ href = '/' }, i) => {
1952
+ const { label } = findIconByHref(href);
1953
+ return (jsx(Button, { className: "w-full mb-4", text: label, version: "secondary", href: href, target: "_blank" }, String(i)));
1954
+ };
1471
1955
 
1472
1956
  const ICON_VERSION_MAP = {
1473
1957
  'bg-white': 'color',
@@ -1500,23 +1984,26 @@
1500
1984
  default: 'px-5 bg-main-divider rounded hover:text-primary-main',
1501
1985
  transparent: 'text-white hover:text-primary-hover',
1502
1986
  };
1503
- const HeaderTop = JSX(({ bgColor, logo, internetBankUrl, version, mobileHeaderType, mobileTitle, mobileBackwardButtonTitle, }) => {
1504
- const isTypeNone = mobileHeaderType === 'none';
1505
- const isTypeWithTitle = mobileHeaderType === 'withTitle';
1506
- return (jsxs("div", { className: "flex items-center justify-between w-full", children: [isTypeNone || isTypeWithTitle ? (jsx(Logo, { bgColor: bgColor, logo: logo, showTitle: isTypeNone })) : null, isTypeWithTitle ? mobileTitle : null, mobileHeaderType === 'backwardButton' ? (jsxs(Button, { className: "flex items-center text-l", children: [jsx(Img, { className: "w-6 h-6", image: {
1987
+ const HeaderTop = JSX(({ bgColor, logo, internetBankUrl, version }) => {
1988
+ const router = useRouter();
1989
+ const isRootLocation = router.pathname === '/';
1990
+ const onClick = useCallback(() => {
1991
+ router.back();
1992
+ }, []);
1993
+ return (jsxs("div", { className: "flex items-center justify-between w-full", children: [isRootLocation ? (jsx(Logo, { bgColor: bgColor, logo: logo })) : (jsxs(Button, { className: "flex items-center text-l", ariaLabel: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430\u0437\u0430\u0434", onClick: onClick, children: [jsx(Img, { className: "w-6 h-6", image: {
1507
1994
  icon: 'ChevronLeft',
1508
1995
  iconVersion: 'black',
1509
- } }), mobileBackwardButtonTitle] })) : null, internetBankUrl ? (jsx(Button, { href: internetBankUrl, ariaLabel: "\u0412\u043E\u0439\u0442\u0438", target: "_blank", className: style('p-3 my-1 text-s whitespace-nowrap text-primary-main hover:text-primary-hover', BUTTON_STYLE[version === 'transparent' ? 'transparent' : 'default']), children: "\u0412\u043E\u0439\u0442\u0438" })) : null] }));
1996
+ } }), "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430\u0437\u0430\u0434"] })), internetBankUrl ? (jsx(Button, { href: internetBankUrl, ariaLabel: "\u0412\u043E\u0439\u0442\u0438", target: "_blank", className: style('p-3 my-1 text-s whitespace-nowrap text-primary-main hover:text-primary-hover', BUTTON_STYLE[version === 'transparent' ? 'transparent' : 'default']), children: "\u0412\u043E\u0439\u0442\u0438" })) : null] }));
1510
1997
  });
1511
1998
 
1512
1999
  const BG_COLOR_TO_BLOCK_VERSION = {
1513
2000
  'bg-white': 'primary',
1514
2001
  transparent: 'transparent',
1515
2002
  };
1516
- const Header = JSX(({ bgColor = 'bg-white', version = BG_COLOR_TO_BLOCK_VERSION[bgColor], mobileHeaderType = 'none', ...rest }) => {
2003
+ const Header = JSX(({ bgColor = 'bg-white', version = BG_COLOR_TO_BLOCK_VERSION[bgColor], ...rest }) => {
1517
2004
  const fallback = rest.options?.page?.fallback;
1518
2005
  const { logo, internetBankUrl } = useSWRResource(projectSettings.SITEMAP || 'sitemap', fallback);
1519
- return (jsx(BlockWrapper, { tag: "header", defaultPadding: "", version: version, ...rest, children: jsx("div", { className: "container px-4 py-1 box-border", children: jsx(HeaderTop, { bgColor: bgColor, logo: logo, internetBankUrl: internetBankUrl, version: version, mobileHeaderType: mobileHeaderType, ...rest }) }) }));
2006
+ return (jsx(BlockWrapper, { tag: "header", defaultPadding: "", version: version, ...rest, children: jsx("div", { className: "container px-4 py-1 box-border", children: jsx(HeaderTop, { bgColor: bgColor, logo: logo, internetBankUrl: internetBankUrl, version: version, ...rest }) }) }));
1520
2007
  });
1521
2008
 
1522
2009
  const ImgBlock = JSX((props) => {
@@ -1524,10 +2011,7 @@
1524
2011
  return (jsx(BlockWrapper, { className: className, defaultPadding: "p-0", ...rest, children: jsx(Img, { image: image }) }));
1525
2012
  });
1526
2013
 
1527
- const LinkDocsListItem = JSX(({ doc, icon }) => {
1528
- const { text, fileSize, ...linkProps } = doc;
1529
- return (jsxs("a", { className: "flex box-border gap-3 group/item h-fit w-fit text-primary-text no-underline hover:text-primary-main", role: "link", ...linkProps, children: [icon, text ? (jsxs(Text, { size: "text-l", font: "font-light", children: [text, jsx(Text, { color: "text-secondary-text", children: linkProps?.href && formatSuffix(getExtFromHref(linkProps.href), fileSize) })] })) : null] }));
1530
- });
2014
+ const LinkDocItem = JSX(({ icon, text, fileSize, ...linkProps }) => (jsxs("a", { className: "flex box-border gap-3 group/item h-fit w-fit text-primary-text no-underline hover:text-primary-main", role: "link", ...linkProps, children: [icon, text ? (jsxs(Text, { size: "text-l", font: "font-light", children: [text, jsx(Text, { color: "text-secondary-text", children: linkProps?.href && formatSuffix(getExtFromHref(linkProps.href), fileSize) })] })) : null] })));
1531
2015
  const formatSuffix = (ext, fileSize) => {
1532
2016
  const prefix = ext || fileSize ? ',' : '';
1533
2017
  const extension = ext ? ` ${ext}` : '';
@@ -1542,7 +2026,22 @@
1542
2026
  return index !== -1 ? href.substring(index + 1) : '';
1543
2027
  };
1544
2028
 
1545
- const LinkDocs = JSX(({ className = '', title, description, icon = { icon: 'DocDownloadIcon', iconVersion: 'black' }, documents, align, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-default", ...rest, children: [jsx(Headline, { isPadding: false, title: title, description: description, align: align, headlineVersion: "M" }), documents?.length ? (jsx("div", { className: "mt-5 flex flex-col gap-6", role: "list", children: documents.map((doc, i) => (jsx("div", { role: "listitem", children: jsx(LinkDocsListItem, { doc: doc, icon: icon ? (jsx(Img, { className: "min-w-11 min-h-11 h-fit p-2.5 bg-main-divider rounded-md", image: icon, width: "24", height: "24" })) : null }) }, String(i)))) })) : null] })));
2029
+ const linkIconStyle = 'min-w-11 min-h-11 h-fit p-2.5 bg-main-divider rounded-md';
2030
+
2031
+ const linkColumnsModeStyleMap = {
2032
+ double: 'sm:flex-wrap sm:flex-row',
2033
+ single: 'sm:flex-col',
2034
+ };
2035
+ const LinkDocs = JSX(({ className = '', title, description, align = 'text-center', documents, icon = { icon: 'DocIcon' }, columnsMode = 'double', ...rest }) => {
2036
+ const router = useRouter();
2037
+ return (jsxs(BlockWrapper, { className: className, defaultPadding: "p-default", ...rest, children: [jsx(Headline, { className: "!p-0", title: title, description: description, align: align, headlineVersion: "M", as: "h2" }), documents?.length ? (jsx("div", { className: style('mt-5 sm:mt-8 flex flex-col gap-6', linkColumnsModeStyleMap[columnsMode]), role: "list", children: documents.map(renderLinkDocItem(router, columnsMode, icon)) })) : null] }));
2038
+ });
2039
+ const renderLinkDocItem = (router, columnsMode, icon) => (docBlockDef, i) => {
2040
+ const href = docBlockDef?.docType === 'Attachment'
2041
+ ? adjustHref(router)(docBlockDef?.attachment?.src)
2042
+ : docBlockDef?.href;
2043
+ return (jsx("div", { className: columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : '', role: "listitem", children: jsx(LinkDocItem, { ...docBlockDef, href: href, icon: icon ? jsx(Img, { className: linkIconStyle, image: icon, width: "24", height: "24" }) : null }) }, String(i)));
2044
+ };
1546
2045
 
1547
2046
  /**
1548
2047
  * @deprecated
@@ -1561,7 +2060,7 @@
1561
2060
  const BaseTile = JSX(({ className, defaultPadding, padding, title = '', insetTitle = '', buttons, leftImage, rightImage, imageAlign, backImage, children, }) => (jsxs("div", { className: style('relative flex flex-col gap-lg font-sans overflow-hidden', padding || defaultPadding, className), children: [backImage ? jsx("div", { className: "absolute bottom-0 right-0 z-0", children: backImage }) : null, title ? jsx("div", { className: "relative", children: title }) : null, jsxs("div", { className: "grow relative flex flex-wrap sm:flex-nowrap justify-between items-stretch gap-lg", children: [renderImageContainer(leftImage, { imageAlign }), jsxs("div", { className: style('flex flex-col gap-lg max-w-[600px] xl:max-w-[728px]', leftImage ? '' : 'grow'), children: [insetTitle, jsx("div", { className: "grow", children: children }), buttons] }), renderImageContainer(rightImage, { className: '-order-1 sm:order-1', imageAlign })] })] })));
1562
2061
  const renderImageContainer = (image, { className, imageAlign }) => image ? (jsx("div", { className: style('flex-shrink-0', imageAlign && imageAlignmentMap[imageAlign], className), children: image })) : null;
1563
2062
 
1564
- const renderDescription$2 = (description) => description ? (jsx("div", { className: "mb-5 pt-0.5 sm:mb-0 sm:pt-0", children: jsx(Text, { size: "text-xl", "font-weight": "light", children: description }) })) : null;
2063
+ const renderDescription$1 = (description) => description ? (jsx("div", { className: "mb-5 pt-0.5 sm:mb-0 sm:pt-0", children: jsx(Text, { size: "text-xl", "font-weight": "light", children: description }) })) : null;
1565
2064
 
1566
2065
  const renderList$1 = (items) => {
1567
2066
  return items?.length ? (jsx(List, { items: items, className: "text-l font-light mb-2 last:mb-0" })) : (jsx("span", { className: "text-m font-light text-secondary-text", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }));
@@ -1569,7 +2068,7 @@
1569
2068
 
1570
2069
  const MobileAppTile = JSX(({ className, padding, alignTitle = 'left', buttons = [], description, headingType = 'h4', image, items, qr, title = 'Мобильное приложение', version = 'primary', ...rest }) => {
1571
2070
  const containerStyle = version === 'secondary' ? 'p-3.5 min-w-[120px]' : 'min-w-[92px]';
1572
- return (jsx(BlockWrapper, { className: style('min-h-80', className), padding: "p-0", version: version, ...rest, children: jsxs(BaseTile, { className: "h-full", padding: padding, defaultPadding: "p-default", title: title ? (jsx(Heading, { headingType: headingType, title: title, className: style('whitespace-pre-wrap', AlignText[alignTitle]) })) : null, backImage: image?.src ? jsx(Img, { image: image }) : null, buttons: renderButtonsSection(buttons, { isVertical: buttons.length > 3 }), children: [renderDescription$2(description), jsxs("div", { className: "flex flex-1 gap-s items-center", children: [qr?.src ? (jsx("div", { className: style('flex justify-center bg-white rounded-md', containerStyle), children: jsx(Img, { className: "w-fit", image: qr }) })) : null, renderList$1(items)] })] }) }));
2071
+ return (jsx(BlockWrapper, { className: style('min-h-80', className), padding: "p-0", version: version, ...rest, children: jsxs(BaseTile, { className: "h-full", padding: padding, defaultPadding: "p-default", title: title ? (jsx(Heading, { headingType: headingType, title: title, className: style('whitespace-pre-wrap', AlignText[alignTitle]) })) : null, backImage: image?.src ? jsx(Img, { image: image }) : null, buttons: renderButtonsSection(buttons, { isVertical: buttons.length > 3 }), children: [renderDescription$1(description), jsxs("div", { className: "flex flex-1 gap-s items-center", children: [qr?.src ? (jsx("div", { className: style('flex justify-center bg-white rounded-md', containerStyle), children: jsx(Img, { className: "w-fit", image: qr }) })) : null, renderList$1(items)] })] }) }));
1573
2072
  });
1574
2073
 
1575
2074
  const sum = (list = []) => list.reduce((a, b) => a + b, 0);
@@ -1887,10 +2386,10 @@
1887
2386
  data: colData?.[i] || [{}],
1888
2387
  }));
1889
2388
 
1890
- const TextBlock = JSX(({ className = '', title, description, iconVersion, image, __html, items = [], ...rest }) => (jsxs(BlockWrapper, { className: style('flex gap-3 bg-white group-data-secondary:bg-primary-main/10', className), ...rest, children: [iconVersion === 'small' ? jsx("div", { className: "mt-1", children: renderIcon() }) : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { className: "flex flex-col w-fit gap-3", children: [title ? (jsx(Text, { size: "text-l", font: "font-medium", color: "text-primary-text group-data-secondary:text-white", children: title })) : null, description ? renderDescription$1(description) : null, items?.length ? renderList(items, true) : null, __html ? jsx(RichText, { __html: __html }) : null] })] })));
2389
+ const TextBlock = JSX(({ className = '', title, description, iconVersion, image, __html, items = [], ...rest }) => (jsxs(BlockWrapper, { className: style('flex gap-3 sm:gap-4 bg-white group-data-secondary:bg-primary-main/10', className), ...rest, children: [iconVersion === 'small' ? jsx("div", { className: "mt-1", children: renderIcon() }) : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { className: "flex flex-col w-fit gap-1 sm:gap-2", children: [title ? (jsx(Text, { size: "text-l", font: "font-normal", color: "text-primary-text group-data-secondary:text-white", children: title })) : null, description ? renderDescription(description) : null, items?.length ? renderList(items, true) : null, __html ? jsx(RichText, { __html: __html }) : null] })] })));
1891
2390
  const renderIcon = () => (jsx("div", { className: `rounded-full h-4 w-4 text-center text-xs font-light bg-primary-main text-white group-data-secondary:bg-white group-data-secondary:text-primary-main`, children: "i" }));
1892
- const renderImage = (image) => image?.src ? jsx(Img, { className: "h-fit", image: image }) : null;
1893
- const renderDescription$1 = (description) => (jsx(Paragraph, { size: "text-s", color: "text-secondary-text group-data-secondary:text-white", children: description }));
2391
+ const renderImage = (image) => image?.src ? jsx(Img, { className: "h-fit flex-shrink-0", image: image }) : null;
2392
+ const renderDescription = (description) => (jsx(Paragraph, { size: "text-s", font: "font-light", color: "text-secondary-text group-data-secondary:text-white", children: description }));
1894
2393
  const renderList = (items, bullets) => {
1895
2394
  const listStyle = bullets ? 'list-disc pl-6' : '';
1896
2395
  return (jsx("ul", { className: style('text-secondary-text group-data-secondary:text-white/80', listStyle), children: items.map((_, i) => (jsx("li", { children: jsx(Text, { size: "text-s", font: "font-light", children: _ }) }, `listItem-${i}`))) }));
@@ -1921,23 +2420,8 @@
1921
2420
  });
1922
2421
  VerticalLayout.childrenTypes = [];
1923
2422
 
1924
- const benefitImageStyles = 'w-56 h-56 min-w-56';
1925
-
1926
- const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-default", ...rest, children: [title ? jsx(Heading, { headingType: "h3", as: "h2", className: "text-center", title: title }) : null, benefitList?.length ? (jsx("div", { className: "sm:flex sm:flex-wrap w-full sm:justify-center sm:gap-x-m gap-y-lg sm:gap-y-0 mt-8", role: "list", children: benefitList.map(renderBenefit) })) : null] })));
1927
- const renderBenefit = (benefit, i) => (jsxs("div", { className: "flex items-center sm:basis-1/2 sm:max-w-[400px] mb-14", role: "listitem", children: [benefit?.icon?.icon ? (jsx(Img, { className: style('p-3 mr-5 shrink-0 bg-main-divider text-primary-main group-data-secondary:bg-white/30 group-data-secondary:text-black', benefitImageStyles), image: benefit.icon })) : null, benefit?.icon?.src ? jsx(Img, { className: "mr-5 shrink-0", image: benefit.icon }) : null, benefit?.label ? (jsxs("div", { className: "sm:h-full", children: [jsx(Heading, { headingType: "h6", children: benefit.label }), renderDescription(benefit.description)] })) : null] }, String(i)));
1928
- const renderDescription = (description) => {
1929
- const benefitType = description?.benefitType || null;
1930
- return description && benefitType ? (jsx("div", { className: "mt-2 text-l font-light text-secondary-text group-data-secondary:text-white/80", children: benefitType === 'list'
1931
- ? renderListBenefit(description)
1932
- : renderTextBenefit(description) })) : null;
1933
- };
1934
- const renderTextBenefit = (description) => description?.name || null;
1935
- const renderListBenefit = (description) => {
1936
- const listStyleType = description?.bullets ? 'list-disc pl-6' : '';
1937
- return description?.items && description.items.length > 0 ? (jsx("ul", { className: listStyleType, children: description.items.map((_, i) => (jsx("li", { children: _ }, `benefitListItem-${i}`))) })) : null;
1938
- };
1939
-
1940
2423
  const Blocks = {
2424
+ ApplicationForm,
1941
2425
  ButtonsBlock,
1942
2426
  BonusBenefitsBlock,
1943
2427
  CardTransfer,
@@ -1970,14 +2454,6 @@
1970
2454
  BenefitsBlock,
1971
2455
  };
1972
2456
 
1973
- function useBool(defaultValue = false) {
1974
- const [value, setValue] = useState(defaultValue);
1975
- const setTrue = useCallback(() => setValue(true), []);
1976
- const setFalse = useCallback(() => setValue(false), []);
1977
- const toggle = useCallback(() => setValue((_) => !_), []);
1978
- return [value, { setValue, setTrue, setFalse, toggle }];
1979
- }
1980
-
1981
2457
  const debounce = (fn, delay = 600) => {
1982
2458
  let timerId;
1983
2459
  const debouncedCallback = (...args) => {
@@ -2102,7 +2578,7 @@
2102
2578
  globalThis.localStorage?.setItem(COOKIE_DIALOG_ID, 'true');
2103
2579
  close();
2104
2580
  }, [close]);
2105
- return isOpened ? (jsx("div", { className: "container z-40 fixed bottom-0 left-0 right-0 pointer-events-none", children: jsxs("div", { className: "bg-white m-6 p-6 rounded-md flex items-center pointer-events-auto shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: [jsx("div", { className: "flex-1", children: jsxs(Paragraph, { size: "text-s", font: "font-light", color: "text-primary-text", children: ["\u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442", jsx(LinkWrapper, { isRemote: true, className: style(getStyleLinkWrapper(termLink?.href)), ...termLink, children: "cookie" }), "(\u0444\u0430\u0439\u043B\u044B \u0441 \u0434\u0430\u043D\u043D\u044B\u043C\u0438 \u043E \u043F\u0440\u043E\u0448\u043B\u044B\u0445 \u043F\u043E\u0441\u0435\u0449\u0435\u043D\u0438\u044F\u0445 \u0441\u0430\u0439\u0442\u0430) \u0434\u043B\u044F \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043E\u0432 \u0438 \u0443\u0434\u043E\u0431\u0441\u0442\u0432\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0430\u043F\u0440\u0435\u0442\u0438\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435 cookie \u0432 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430\u0445 \u0441\u0432\u043E\u0435\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.", jsx(LinkWrapper, { isRemote: true, className: style(getStyleLinkWrapper(personalDataPolicyLink?.href)), ...personalDataPolicyLink, children: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u0412\u0430\u0448\u0438\u0445 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445" }), "\u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u044F\u043C\u0438 \u0424\u0435\u0434\u0435\u0440\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0437\u0430\u043A\u043E\u043D\u0430 \u043E\u0442 27.07.2006 \u2116 152-\u04243 \u00AB\u041E \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445\u00BB."] }) }), jsx("div", { className: "w-24 flex justify-end", children: jsx(CloseButton, { className: "bg-main-gray rounded-md", onClick: handleClose }) })] }) })) : null;
2581
+ return isOpened ? (jsx("div", { className: "container z-40 fixed bottom-0 left-0 right-0 pointer-events-none", children: jsxs("div", { className: "bg-white m-5 p-5 sm:m-6 sm:p-6 rounded-md flex sm:items-center pointer-events-auto shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: [jsx("div", { className: "sm:flex-1", children: jsxs(Paragraph, { size: "text-s", font: "font-light", color: "text-primary-text", children: ["\u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442", jsx(LinkWrapper, { isRemote: true, className: style(getStyleLinkWrapper(termLink?.href)), ...termLink, children: "cookie" }), "(\u0444\u0430\u0439\u043B\u044B \u0441 \u0434\u0430\u043D\u043D\u044B\u043C\u0438 \u043E \u043F\u0440\u043E\u0448\u043B\u044B\u0445 \u043F\u043E\u0441\u0435\u0449\u0435\u043D\u0438\u044F\u0445 \u0441\u0430\u0439\u0442\u0430) \u0434\u043B\u044F \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043E\u0432 \u0438 \u0443\u0434\u043E\u0431\u0441\u0442\u0432\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0430\u043F\u0440\u0435\u0442\u0438\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435 cookie \u0432 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430\u0445 \u0441\u0432\u043E\u0435\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.", jsx(LinkWrapper, { isRemote: true, className: style(getStyleLinkWrapper(personalDataPolicyLink?.href)), ...personalDataPolicyLink, children: "\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u0412\u0430\u0448\u0438\u0445 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445" }), "\u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u044F\u043C\u0438 \u0424\u0435\u0434\u0435\u0440\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0437\u0430\u043A\u043E\u043D\u0430 \u043E\u0442 27.07.2006 \u2116 152-\u04243 \u00AB\u041E \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445\u00BB."] }) }), jsx("div", { className: "ml-3 sm:ml-0 w-24 flex justify-end", children: jsx(CloseButton, { className: "bg-main-gray rounded-md", onClick: handleClose }) })] }) })) : null;
2106
2582
  });
2107
2583
  const getStyleLinkWrapper = (href) => ['inline mx-1', href ? 'text-green-dark' : ''];
2108
2584
 
@@ -2181,7 +2657,7 @@
2181
2657
 
2182
2658
  const joinList = (sep) => (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: `sep-${i}` }, el) : [el]), []);
2183
2659
 
2184
- const packageVersion = "0.12.7";
2660
+ const packageVersion = "0.12.9";
2185
2661
 
2186
2662
  exports.Blocks = Blocks;
2187
2663
  exports.ContentPage = ContentPage;