@redneckz/wildless-cms-uni-blocks 0.7.8 → 0.8.0

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/bundle/ProjectSettings.d.ts +4 -4
  2. package/bundle/api/CorporateLeadAPI.d.ts +15 -0
  3. package/bundle/blocks.schema.json +1 -1
  4. package/bundle/bundle.umd.js +565 -324
  5. package/bundle/bundle.umd.min.js +1 -1
  6. package/bundle/components/ApplicationForm/ApplicationForm.d.ts +5 -0
  7. package/bundle/components/ApplicationForm/ApplicationFormAcquiring.d.ts +12 -0
  8. package/bundle/components/ApplicationForm/ApplicationFormBusinessCard.d.ts +9 -0
  9. package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +18 -0
  10. package/bundle/components/ApplicationForm/ApplicationFormCredit.d.ts +20 -0
  11. package/bundle/components/ApplicationForm/ApplicationFormDeposit.d.ts +6 -0
  12. package/bundle/components/ApplicationForm/ApplicationFormWed.d.ts +12 -0
  13. package/bundle/components/ApplicationForm/ApplicationFormsProps.d.ts +7 -0
  14. package/bundle/components/ApplicationForm/Footnote.d.ts +6 -0
  15. package/bundle/components/ApplicationForm/ResponseNotification.d.ts +5 -0
  16. package/bundle/components/ApplicationForm/WrapperSelect.d.ts +11 -0
  17. package/bundle/components/ApplicationForm/acquiringTypes.d.ts +2 -0
  18. package/bundle/components/ApplicationForm/models.d.ts +6 -0
  19. package/bundle/components/ApplicationForm/normalizeSelectedRegion.d.ts +2 -0
  20. package/bundle/components/ApplicationForm/renderBankOffices.d.ts +13 -0
  21. package/bundle/components/ApplicationForm/renderContacts.d.ts +2 -0
  22. package/bundle/components/ApplicationForm/renderCreditParameters.d.ts +10 -0
  23. package/bundle/components/ApplicationForm/renderDataOrganization.d.ts +14 -0
  24. package/bundle/components/ApplicationForm/renderQuestionsInterested.d.ts +12 -0
  25. package/bundle/components/ApplicationForm/renderSelects.d.ts +11 -0
  26. package/bundle/components/ApplicationForm/renderSlideCheckboxes.d.ts +10 -0
  27. package/bundle/components/ApplicationForm/renderSubmitButton.d.ts +3 -0
  28. package/bundle/components/ApplicationForm/useFormHandlers.d.ts +13 -0
  29. package/bundle/components/SafeDepositRental/SafeDepositRentalFields.d.ts +2 -2
  30. package/bundle/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +1 -1
  31. package/bundle/icons/IconName.d.ts +10 -2
  32. package/bundle/services/sitemap/isHrefActive.d.ts +1 -2
  33. package/bundle/services/sitemap/isSubItemActive.d.ts +3 -2
  34. package/bundle/services/sitemap/isTopItemActive.d.ts +3 -2
  35. package/bundle/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +7 -0
  36. package/bundle/ui-kit/TopItem/TopItem.d.ts +0 -1
  37. package/bundle/utils/adjustHref.d.ts +1 -4
  38. package/bundle/utils/url.d.ts +4 -2
  39. package/cosmos-static/icons/MailIcon.svg +1 -0
  40. package/cosmos-static/icons/PhoneIcon.svg +1 -0
  41. package/cosmos-static/icons/ResponceFailIcon.svg +1 -0
  42. package/cosmos-static/icons/ResponceOKIcon.svg +1 -0
  43. package/dist/ProjectSettings.d.ts +4 -4
  44. package/dist/ProjectSettings.js +3 -5
  45. package/dist/ProjectSettings.js.map +1 -1
  46. package/dist/api/CorporateLeadAPI.d.ts +15 -0
  47. package/dist/api/CorporateLeadAPI.js +24 -0
  48. package/dist/api/CorporateLeadAPI.js.map +1 -0
  49. package/dist/components/ApplicationForm/ApplicationForm.d.ts +5 -0
  50. package/dist/components/ApplicationForm/ApplicationForm.js +30 -0
  51. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -0
  52. package/dist/components/ApplicationForm/ApplicationFormAcquiring.d.ts +12 -0
  53. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js +55 -0
  54. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -0
  55. package/dist/components/ApplicationForm/ApplicationFormBusinessCard.d.ts +9 -0
  56. package/dist/components/ApplicationForm/ApplicationFormBusinessCard.js +39 -0
  57. package/dist/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -0
  58. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +18 -0
  59. package/dist/components/ApplicationForm/ApplicationFormContent.js +2 -0
  60. package/dist/components/ApplicationForm/ApplicationFormContent.js.map +1 -0
  61. package/dist/components/ApplicationForm/ApplicationFormCredit.d.ts +20 -0
  62. package/dist/components/ApplicationForm/ApplicationFormCredit.js +59 -0
  63. package/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -0
  64. package/dist/components/ApplicationForm/ApplicationFormDeposit.d.ts +6 -0
  65. package/dist/components/ApplicationForm/ApplicationFormDeposit.js +26 -0
  66. package/dist/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -0
  67. package/dist/components/ApplicationForm/ApplicationFormWed.d.ts +12 -0
  68. package/dist/components/ApplicationForm/ApplicationFormWed.js +41 -0
  69. package/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -0
  70. package/dist/components/ApplicationForm/ApplicationFormsProps.d.ts +7 -0
  71. package/dist/components/ApplicationForm/ApplicationFormsProps.js +2 -0
  72. package/dist/components/ApplicationForm/ApplicationFormsProps.js.map +1 -0
  73. package/dist/components/ApplicationForm/Footnote.d.ts +6 -0
  74. package/dist/components/ApplicationForm/Footnote.js +9 -0
  75. package/dist/components/ApplicationForm/Footnote.js.map +1 -0
  76. package/dist/components/ApplicationForm/ResponseNotification.d.ts +5 -0
  77. package/dist/components/ApplicationForm/ResponseNotification.js +13 -0
  78. package/dist/components/ApplicationForm/ResponseNotification.js.map +1 -0
  79. package/dist/components/ApplicationForm/WrapperSelect.d.ts +11 -0
  80. package/dist/components/ApplicationForm/WrapperSelect.js +13 -0
  81. package/dist/components/ApplicationForm/WrapperSelect.js.map +1 -0
  82. package/dist/components/ApplicationForm/acquiringTypes.d.ts +2 -0
  83. package/dist/components/ApplicationForm/acquiringTypes.js +25 -0
  84. package/dist/components/ApplicationForm/acquiringTypes.js.map +1 -0
  85. package/dist/components/ApplicationForm/models.d.ts +6 -0
  86. package/dist/components/ApplicationForm/models.js +2 -0
  87. package/dist/components/ApplicationForm/models.js.map +1 -0
  88. package/dist/components/ApplicationForm/normalizeSelectedRegion.d.ts +2 -0
  89. package/dist/components/ApplicationForm/normalizeSelectedRegion.js +5 -0
  90. package/dist/components/ApplicationForm/normalizeSelectedRegion.js.map +1 -0
  91. package/dist/components/ApplicationForm/renderBankOffices.d.ts +13 -0
  92. package/dist/components/ApplicationForm/renderBankOffices.js +7 -0
  93. package/dist/components/ApplicationForm/renderBankOffices.js.map +1 -0
  94. package/dist/components/ApplicationForm/renderContacts.d.ts +2 -0
  95. package/dist/components/ApplicationForm/renderContacts.js +7 -0
  96. package/dist/components/ApplicationForm/renderContacts.js.map +1 -0
  97. package/dist/components/ApplicationForm/renderCreditParameters.d.ts +10 -0
  98. package/dist/components/ApplicationForm/renderCreditParameters.js +24 -0
  99. package/dist/components/ApplicationForm/renderCreditParameters.js.map +1 -0
  100. package/dist/components/ApplicationForm/renderDataOrganization.d.ts +14 -0
  101. package/dist/components/ApplicationForm/renderDataOrganization.js +7 -0
  102. package/dist/components/ApplicationForm/renderDataOrganization.js.map +1 -0
  103. package/dist/components/ApplicationForm/renderQuestionsInterested.d.ts +12 -0
  104. package/dist/components/ApplicationForm/renderQuestionsInterested.js +7 -0
  105. package/dist/components/ApplicationForm/renderQuestionsInterested.js.map +1 -0
  106. package/dist/components/ApplicationForm/renderSelects.d.ts +11 -0
  107. package/dist/components/ApplicationForm/renderSelects.js +8 -0
  108. package/dist/components/ApplicationForm/renderSelects.js.map +1 -0
  109. package/dist/components/ApplicationForm/renderSlideCheckboxes.d.ts +10 -0
  110. package/dist/components/ApplicationForm/renderSlideCheckboxes.js +7 -0
  111. package/dist/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -0
  112. package/dist/components/ApplicationForm/renderSubmitButton.d.ts +3 -0
  113. package/dist/components/ApplicationForm/renderSubmitButton.js +13 -0
  114. package/dist/components/ApplicationForm/renderSubmitButton.js.map +1 -0
  115. package/dist/components/ApplicationForm/useFormHandlers.d.ts +13 -0
  116. package/dist/components/ApplicationForm/useFormHandlers.js +16 -0
  117. package/dist/components/ApplicationForm/useFormHandlers.js.map +1 -0
  118. package/dist/components/Blocks.js +2 -0
  119. package/dist/components/Blocks.js.map +1 -1
  120. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  121. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  122. package/dist/components/ErrorBlock/ErrorBlock.js +3 -1
  123. package/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
  124. package/dist/components/Header/DropdownMenu.js +4 -1
  125. package/dist/components/Header/DropdownMenu.js.map +1 -1
  126. package/dist/components/Header/Header.js +1 -2
  127. package/dist/components/Header/Header.js.map +1 -1
  128. package/dist/components/Header/HeaderSecondaryMenu.js +1 -2
  129. package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  130. package/dist/components/Header/HeaderSubMenu.js +2 -1
  131. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  132. package/dist/components/Header/HeaderSubMenuItem.js +2 -2
  133. package/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  134. package/dist/components/OtherProductsItem/OtherProductsItem.js +3 -1
  135. package/dist/components/OtherProductsItem/OtherProductsItem.js.map +1 -1
  136. package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  137. package/dist/components/SafeDepositRental/SafeDepositRentalFields.d.ts +2 -2
  138. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  139. package/dist/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +1 -1
  140. package/dist/hooks/useLink.js +16 -12
  141. package/dist/hooks/useLink.js.map +1 -1
  142. package/dist/icons/IconName.d.ts +10 -2
  143. package/dist/icons/IconName.js +9 -1
  144. package/dist/icons/IconName.js.map +1 -1
  145. package/dist/services/sitemap/isHrefActive.d.ts +1 -2
  146. package/dist/services/sitemap/isHrefActive.js +2 -2
  147. package/dist/services/sitemap/isHrefActive.js.map +1 -1
  148. package/dist/services/sitemap/isSubItemActive.d.ts +3 -2
  149. package/dist/services/sitemap/isSubItemActive.js.map +1 -1
  150. package/dist/services/sitemap/isTopItemActive.d.ts +3 -2
  151. package/dist/services/sitemap/isTopItemActive.js +1 -6
  152. package/dist/services/sitemap/isTopItemActive.js.map +1 -1
  153. package/dist/setup-fixture.js +13 -6
  154. package/dist/setup-fixture.js.map +1 -1
  155. package/dist/ui-kit/HeaderItem/HeaderItem.js +1 -2
  156. package/dist/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
  157. package/dist/ui-kit/HeaderItem/HeaderItem.mobile.js +1 -2
  158. package/dist/ui-kit/HeaderItem/HeaderItem.mobile.js.map +1 -1
  159. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +7 -0
  160. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +7 -0
  161. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -0
  162. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +1 -1
  163. package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  164. package/dist/ui-kit/TopItem/TopItem.d.ts +0 -1
  165. package/dist/ui-kit/TopItem/TopItem.js +2 -2
  166. package/dist/ui-kit/TopItem/TopItem.js.map +1 -1
  167. package/dist/utils/adjustHref.d.ts +1 -4
  168. package/dist/utils/adjustHref.js +4 -8
  169. package/dist/utils/adjustHref.js.map +1 -1
  170. package/dist/utils/url.d.ts +4 -2
  171. package/dist/utils/url.js +15 -28
  172. package/dist/utils/url.js.map +1 -1
  173. package/lib/ProjectSettings.d.ts +4 -4
  174. package/lib/ProjectSettings.js +3 -5
  175. package/lib/ProjectSettings.js.map +1 -1
  176. package/lib/api/CorporateLeadAPI.d.ts +15 -0
  177. package/lib/api/CorporateLeadAPI.js +21 -0
  178. package/lib/api/CorporateLeadAPI.js.map +1 -0
  179. package/lib/common.css +1 -1
  180. package/lib/components/ApplicationForm/ApplicationForm.d.ts +5 -0
  181. package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +12 -0
  182. package/lib/components/ApplicationForm/ApplicationForm.js +28 -0
  183. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -0
  184. package/lib/components/ApplicationForm/ApplicationFormAcquiring.d.ts +12 -0
  185. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js +53 -0
  186. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -0
  187. package/lib/components/ApplicationForm/ApplicationFormBusinessCard.d.ts +9 -0
  188. package/lib/components/ApplicationForm/ApplicationFormBusinessCard.js +37 -0
  189. package/lib/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -0
  190. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +18 -0
  191. package/lib/components/ApplicationForm/ApplicationFormContent.js +2 -0
  192. package/lib/components/ApplicationForm/ApplicationFormContent.js.map +1 -0
  193. package/lib/components/ApplicationForm/ApplicationFormCredit.d.ts +20 -0
  194. package/lib/components/ApplicationForm/ApplicationFormCredit.js +57 -0
  195. package/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -0
  196. package/lib/components/ApplicationForm/ApplicationFormDeposit.d.ts +6 -0
  197. package/lib/components/ApplicationForm/ApplicationFormDeposit.js +24 -0
  198. package/lib/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -0
  199. package/lib/components/ApplicationForm/ApplicationFormWed.d.ts +12 -0
  200. package/lib/components/ApplicationForm/ApplicationFormWed.js +39 -0
  201. package/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -0
  202. package/lib/components/ApplicationForm/ApplicationFormsProps.d.ts +7 -0
  203. package/lib/components/ApplicationForm/ApplicationFormsProps.js +2 -0
  204. package/lib/components/ApplicationForm/ApplicationFormsProps.js.map +1 -0
  205. package/lib/components/ApplicationForm/Footnote.d.ts +6 -0
  206. package/lib/components/ApplicationForm/Footnote.js +7 -0
  207. package/lib/components/ApplicationForm/Footnote.js.map +1 -0
  208. package/lib/components/ApplicationForm/ResponseNotification.d.ts +5 -0
  209. package/lib/components/ApplicationForm/ResponseNotification.js +11 -0
  210. package/lib/components/ApplicationForm/ResponseNotification.js.map +1 -0
  211. package/lib/components/ApplicationForm/WrapperSelect.d.ts +11 -0
  212. package/lib/components/ApplicationForm/WrapperSelect.js +11 -0
  213. package/lib/components/ApplicationForm/WrapperSelect.js.map +1 -0
  214. package/lib/components/ApplicationForm/acquiringTypes.d.ts +2 -0
  215. package/lib/components/ApplicationForm/acquiringTypes.js +23 -0
  216. package/lib/components/ApplicationForm/acquiringTypes.js.map +1 -0
  217. package/lib/components/ApplicationForm/models.d.ts +6 -0
  218. package/lib/components/ApplicationForm/models.js +2 -0
  219. package/lib/components/ApplicationForm/models.js.map +1 -0
  220. package/lib/components/ApplicationForm/normalizeSelectedRegion.d.ts +2 -0
  221. package/lib/components/ApplicationForm/normalizeSelectedRegion.js +2 -0
  222. package/lib/components/ApplicationForm/normalizeSelectedRegion.js.map +1 -0
  223. package/lib/components/ApplicationForm/renderBankOffices.d.ts +13 -0
  224. package/lib/components/ApplicationForm/renderBankOffices.js +4 -0
  225. package/lib/components/ApplicationForm/renderBankOffices.js.map +1 -0
  226. package/lib/components/ApplicationForm/renderContacts.d.ts +2 -0
  227. package/lib/components/ApplicationForm/renderContacts.js +4 -0
  228. package/lib/components/ApplicationForm/renderContacts.js.map +1 -0
  229. package/lib/components/ApplicationForm/renderCreditParameters.d.ts +10 -0
  230. package/lib/components/ApplicationForm/renderCreditParameters.js +21 -0
  231. package/lib/components/ApplicationForm/renderCreditParameters.js.map +1 -0
  232. package/lib/components/ApplicationForm/renderDataOrganization.d.ts +14 -0
  233. package/lib/components/ApplicationForm/renderDataOrganization.js +4 -0
  234. package/lib/components/ApplicationForm/renderDataOrganization.js.map +1 -0
  235. package/lib/components/ApplicationForm/renderQuestionsInterested.d.ts +12 -0
  236. package/lib/components/ApplicationForm/renderQuestionsInterested.js +4 -0
  237. package/lib/components/ApplicationForm/renderQuestionsInterested.js.map +1 -0
  238. package/lib/components/ApplicationForm/renderSelects.d.ts +11 -0
  239. package/lib/components/ApplicationForm/renderSelects.js +5 -0
  240. package/lib/components/ApplicationForm/renderSelects.js.map +1 -0
  241. package/lib/components/ApplicationForm/renderSlideCheckboxes.d.ts +10 -0
  242. package/lib/components/ApplicationForm/renderSlideCheckboxes.js +4 -0
  243. package/lib/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -0
  244. package/lib/components/ApplicationForm/renderSubmitButton.d.ts +3 -0
  245. package/lib/components/ApplicationForm/renderSubmitButton.js +10 -0
  246. package/lib/components/ApplicationForm/renderSubmitButton.js.map +1 -0
  247. package/lib/components/ApplicationForm/useFormHandlers.d.ts +13 -0
  248. package/lib/components/ApplicationForm/useFormHandlers.js +13 -0
  249. package/lib/components/ApplicationForm/useFormHandlers.js.map +1 -0
  250. package/lib/components/Blocks.js +2 -0
  251. package/lib/components/Blocks.js.map +1 -1
  252. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  253. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  254. package/lib/components/ErrorBlock/ErrorBlock.js +3 -1
  255. package/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
  256. package/lib/components/Header/DropdownMenu.js +4 -1
  257. package/lib/components/Header/DropdownMenu.js.map +1 -1
  258. package/lib/components/Header/Header.js +1 -2
  259. package/lib/components/Header/Header.js.map +1 -1
  260. package/lib/components/Header/HeaderSecondaryMenu.js +1 -2
  261. package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  262. package/lib/components/Header/HeaderSubMenu.js +2 -1
  263. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  264. package/lib/components/Header/HeaderSubMenuItem.js +2 -2
  265. package/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  266. package/lib/components/OtherProductsItem/OtherProductsItem.js +3 -1
  267. package/lib/components/OtherProductsItem/OtherProductsItem.js.map +1 -1
  268. package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  269. package/lib/components/SafeDepositRental/SafeDepositRentalFields.d.ts +2 -2
  270. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  271. package/lib/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +1 -1
  272. package/lib/components/SwipeListControlBlock/SwipeListControlBlock.fixture.d.ts +1 -0
  273. package/lib/hooks/useLink.js +17 -13
  274. package/lib/hooks/useLink.js.map +1 -1
  275. package/lib/icons/IconName.d.ts +10 -2
  276. package/lib/icons/IconName.js +9 -1
  277. package/lib/icons/IconName.js.map +1 -1
  278. package/lib/services/sitemap/isHrefActive.d.ts +1 -2
  279. package/lib/services/sitemap/isHrefActive.js +2 -2
  280. package/lib/services/sitemap/isHrefActive.js.map +1 -1
  281. package/lib/services/sitemap/isSubItemActive.d.ts +3 -2
  282. package/lib/services/sitemap/isSubItemActive.js.map +1 -1
  283. package/lib/services/sitemap/isTopItemActive.d.ts +3 -2
  284. package/lib/services/sitemap/isTopItemActive.js +1 -6
  285. package/lib/services/sitemap/isTopItemActive.js.map +1 -1
  286. package/lib/setup-fixture.js +14 -7
  287. package/lib/setup-fixture.js.map +1 -1
  288. package/lib/ui-kit/HeaderItem/HeaderItem.js +1 -2
  289. package/lib/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
  290. package/lib/ui-kit/HeaderItem/HeaderItem.mobile.js +1 -2
  291. package/lib/ui-kit/HeaderItem/HeaderItem.mobile.js.map +1 -1
  292. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +7 -0
  293. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.fixture.d.ts +5 -0
  294. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +5 -0
  295. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -0
  296. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +1 -1
  297. package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  298. package/lib/ui-kit/TopItem/TopItem.d.ts +0 -1
  299. package/lib/ui-kit/TopItem/TopItem.js +2 -2
  300. package/lib/ui-kit/TopItem/TopItem.js.map +1 -1
  301. package/lib/utils/adjustHref.d.ts +1 -4
  302. package/lib/utils/adjustHref.js +5 -9
  303. package/lib/utils/adjustHref.js.map +1 -1
  304. package/lib/utils/url.d.ts +4 -2
  305. package/lib/utils/url.js +12 -26
  306. package/lib/utils/url.js.map +1 -1
  307. package/mobile/bundle/ProjectSettings.d.ts +4 -4
  308. package/mobile/bundle/api/CorporateLeadAPI.d.ts +15 -0
  309. package/mobile/bundle/bundle.umd.js +41 -71
  310. package/mobile/bundle/bundle.umd.min.js +1 -1
  311. package/mobile/bundle/components/ApplicationForm/ApplicationForm.d.ts +5 -0
  312. package/mobile/bundle/components/ApplicationForm/ApplicationFormAcquiring.d.ts +12 -0
  313. package/mobile/bundle/components/ApplicationForm/ApplicationFormBusinessCard.d.ts +9 -0
  314. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +18 -0
  315. package/mobile/bundle/components/ApplicationForm/ApplicationFormCredit.d.ts +20 -0
  316. package/mobile/bundle/components/ApplicationForm/ApplicationFormDeposit.d.ts +6 -0
  317. package/mobile/bundle/components/ApplicationForm/ApplicationFormWed.d.ts +12 -0
  318. package/mobile/bundle/components/ApplicationForm/ApplicationFormsProps.d.ts +7 -0
  319. package/mobile/bundle/components/ApplicationForm/Footnote.d.ts +6 -0
  320. package/mobile/bundle/components/ApplicationForm/ResponseNotification.d.ts +5 -0
  321. package/mobile/bundle/components/ApplicationForm/WrapperSelect.d.ts +11 -0
  322. package/mobile/bundle/components/ApplicationForm/acquiringTypes.d.ts +2 -0
  323. package/mobile/bundle/components/ApplicationForm/models.d.ts +6 -0
  324. package/mobile/bundle/components/ApplicationForm/normalizeSelectedRegion.d.ts +2 -0
  325. package/mobile/bundle/components/ApplicationForm/renderBankOffices.d.ts +13 -0
  326. package/mobile/bundle/components/ApplicationForm/renderContacts.d.ts +2 -0
  327. package/mobile/bundle/components/ApplicationForm/renderCreditParameters.d.ts +10 -0
  328. package/mobile/bundle/components/ApplicationForm/renderDataOrganization.d.ts +14 -0
  329. package/mobile/bundle/components/ApplicationForm/renderQuestionsInterested.d.ts +12 -0
  330. package/mobile/bundle/components/ApplicationForm/renderSelects.d.ts +11 -0
  331. package/mobile/bundle/components/ApplicationForm/renderSlideCheckboxes.d.ts +10 -0
  332. package/mobile/bundle/components/ApplicationForm/renderSubmitButton.d.ts +3 -0
  333. package/mobile/bundle/components/ApplicationForm/useFormHandlers.d.ts +13 -0
  334. package/mobile/bundle/components/SafeDepositRental/SafeDepositRentalFields.d.ts +2 -2
  335. package/mobile/bundle/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +1 -1
  336. package/mobile/bundle/icons/IconName.d.ts +10 -2
  337. package/mobile/bundle/services/sitemap/isHrefActive.d.ts +1 -2
  338. package/mobile/bundle/services/sitemap/isSubItemActive.d.ts +3 -2
  339. package/mobile/bundle/services/sitemap/isTopItemActive.d.ts +3 -2
  340. package/mobile/bundle/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +7 -0
  341. package/mobile/bundle/ui-kit/TopItem/TopItem.d.ts +0 -1
  342. package/mobile/bundle/utils/adjustHref.d.ts +1 -4
  343. package/mobile/bundle/utils/url.d.ts +4 -2
  344. package/mobile/dist/ProjectSettings.d.ts +4 -4
  345. package/mobile/dist/ProjectSettings.js +3 -5
  346. package/mobile/dist/ProjectSettings.js.map +1 -1
  347. package/mobile/dist/api/CorporateLeadAPI.d.ts +15 -0
  348. package/mobile/dist/api/CorporateLeadAPI.js +24 -0
  349. package/mobile/dist/api/CorporateLeadAPI.js.map +1 -0
  350. package/mobile/dist/components/ApplicationForm/ApplicationForm.d.ts +5 -0
  351. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +30 -0
  352. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -0
  353. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.d.ts +12 -0
  354. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js +55 -0
  355. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -0
  356. package/mobile/dist/components/ApplicationForm/ApplicationFormBusinessCard.d.ts +9 -0
  357. package/mobile/dist/components/ApplicationForm/ApplicationFormBusinessCard.js +39 -0
  358. package/mobile/dist/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -0
  359. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +18 -0
  360. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.js +2 -0
  361. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.js.map +1 -0
  362. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.d.ts +20 -0
  363. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js +59 -0
  364. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -0
  365. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.d.ts +6 -0
  366. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.js +26 -0
  367. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -0
  368. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.d.ts +12 -0
  369. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js +41 -0
  370. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -0
  371. package/mobile/dist/components/ApplicationForm/ApplicationFormsProps.d.ts +7 -0
  372. package/mobile/dist/components/ApplicationForm/ApplicationFormsProps.js +2 -0
  373. package/mobile/dist/components/ApplicationForm/ApplicationFormsProps.js.map +1 -0
  374. package/mobile/dist/components/ApplicationForm/Footnote.d.ts +6 -0
  375. package/mobile/dist/components/ApplicationForm/Footnote.js +9 -0
  376. package/mobile/dist/components/ApplicationForm/Footnote.js.map +1 -0
  377. package/mobile/dist/components/ApplicationForm/ResponseNotification.d.ts +5 -0
  378. package/mobile/dist/components/ApplicationForm/ResponseNotification.js +13 -0
  379. package/mobile/dist/components/ApplicationForm/ResponseNotification.js.map +1 -0
  380. package/mobile/dist/components/ApplicationForm/WrapperSelect.d.ts +11 -0
  381. package/mobile/dist/components/ApplicationForm/WrapperSelect.js +13 -0
  382. package/mobile/dist/components/ApplicationForm/WrapperSelect.js.map +1 -0
  383. package/mobile/dist/components/ApplicationForm/acquiringTypes.d.ts +2 -0
  384. package/mobile/dist/components/ApplicationForm/acquiringTypes.js +25 -0
  385. package/mobile/dist/components/ApplicationForm/acquiringTypes.js.map +1 -0
  386. package/mobile/dist/components/ApplicationForm/models.d.ts +6 -0
  387. package/mobile/dist/components/ApplicationForm/models.js +2 -0
  388. package/mobile/dist/components/ApplicationForm/models.js.map +1 -0
  389. package/mobile/dist/components/ApplicationForm/normalizeSelectedRegion.d.ts +2 -0
  390. package/mobile/dist/components/ApplicationForm/normalizeSelectedRegion.js +5 -0
  391. package/mobile/dist/components/ApplicationForm/normalizeSelectedRegion.js.map +1 -0
  392. package/mobile/dist/components/ApplicationForm/renderBankOffices.d.ts +13 -0
  393. package/mobile/dist/components/ApplicationForm/renderBankOffices.js +7 -0
  394. package/mobile/dist/components/ApplicationForm/renderBankOffices.js.map +1 -0
  395. package/mobile/dist/components/ApplicationForm/renderContacts.d.ts +2 -0
  396. package/mobile/dist/components/ApplicationForm/renderContacts.js +7 -0
  397. package/mobile/dist/components/ApplicationForm/renderContacts.js.map +1 -0
  398. package/mobile/dist/components/ApplicationForm/renderCreditParameters.d.ts +10 -0
  399. package/mobile/dist/components/ApplicationForm/renderCreditParameters.js +24 -0
  400. package/mobile/dist/components/ApplicationForm/renderCreditParameters.js.map +1 -0
  401. package/mobile/dist/components/ApplicationForm/renderDataOrganization.d.ts +14 -0
  402. package/mobile/dist/components/ApplicationForm/renderDataOrganization.js +7 -0
  403. package/mobile/dist/components/ApplicationForm/renderDataOrganization.js.map +1 -0
  404. package/mobile/dist/components/ApplicationForm/renderQuestionsInterested.d.ts +12 -0
  405. package/mobile/dist/components/ApplicationForm/renderQuestionsInterested.js +7 -0
  406. package/mobile/dist/components/ApplicationForm/renderQuestionsInterested.js.map +1 -0
  407. package/mobile/dist/components/ApplicationForm/renderSelects.d.ts +11 -0
  408. package/mobile/dist/components/ApplicationForm/renderSelects.js +8 -0
  409. package/mobile/dist/components/ApplicationForm/renderSelects.js.map +1 -0
  410. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.d.ts +10 -0
  411. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.js +7 -0
  412. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -0
  413. package/mobile/dist/components/ApplicationForm/renderSubmitButton.d.ts +3 -0
  414. package/mobile/dist/components/ApplicationForm/renderSubmitButton.js +13 -0
  415. package/mobile/dist/components/ApplicationForm/renderSubmitButton.js.map +1 -0
  416. package/mobile/dist/components/ApplicationForm/useFormHandlers.d.ts +13 -0
  417. package/mobile/dist/components/ApplicationForm/useFormHandlers.js +16 -0
  418. package/mobile/dist/components/ApplicationForm/useFormHandlers.js.map +1 -0
  419. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  420. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  421. package/mobile/dist/components/ErrorBlock/ErrorBlock.js +3 -1
  422. package/mobile/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
  423. package/mobile/dist/components/Header/DropdownMenu.js +4 -1
  424. package/mobile/dist/components/Header/DropdownMenu.js.map +1 -1
  425. package/mobile/dist/components/Header/HeaderSecondaryMenu.js +1 -2
  426. package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  427. package/mobile/dist/components/Header/HeaderSubMenu.js +2 -1
  428. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  429. package/mobile/dist/components/Header/HeaderSubMenuItem.js +2 -2
  430. package/mobile/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  431. package/mobile/dist/components/OtherProductsItem/OtherProductsItem.js +3 -1
  432. package/mobile/dist/components/OtherProductsItem/OtherProductsItem.js.map +1 -1
  433. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  434. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.d.ts +2 -2
  435. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  436. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +1 -1
  437. package/mobile/dist/hooks/useLink.js +16 -12
  438. package/mobile/dist/hooks/useLink.js.map +1 -1
  439. package/mobile/dist/icons/IconName.d.ts +10 -2
  440. package/mobile/dist/icons/IconName.js +9 -1
  441. package/mobile/dist/icons/IconName.js.map +1 -1
  442. package/mobile/dist/services/sitemap/isHrefActive.d.ts +1 -2
  443. package/mobile/dist/services/sitemap/isHrefActive.js +2 -2
  444. package/mobile/dist/services/sitemap/isHrefActive.js.map +1 -1
  445. package/mobile/dist/services/sitemap/isSubItemActive.d.ts +3 -2
  446. package/mobile/dist/services/sitemap/isSubItemActive.js.map +1 -1
  447. package/mobile/dist/services/sitemap/isTopItemActive.d.ts +3 -2
  448. package/mobile/dist/services/sitemap/isTopItemActive.js +1 -6
  449. package/mobile/dist/services/sitemap/isTopItemActive.js.map +1 -1
  450. package/mobile/dist/setup-fixture.js +13 -6
  451. package/mobile/dist/setup-fixture.js.map +1 -1
  452. package/mobile/dist/ui-kit/HeaderItem/HeaderItem.js +1 -2
  453. package/mobile/dist/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
  454. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +7 -0
  455. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +7 -0
  456. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -0
  457. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +1 -1
  458. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  459. package/mobile/dist/ui-kit/TopItem/TopItem.d.ts +0 -1
  460. package/mobile/dist/ui-kit/TopItem/TopItem.js +2 -2
  461. package/mobile/dist/ui-kit/TopItem/TopItem.js.map +1 -1
  462. package/mobile/dist/utils/adjustHref.d.ts +1 -4
  463. package/mobile/dist/utils/adjustHref.js +4 -8
  464. package/mobile/dist/utils/adjustHref.js.map +1 -1
  465. package/mobile/dist/utils/url.d.ts +4 -2
  466. package/mobile/dist/utils/url.js +15 -28
  467. package/mobile/dist/utils/url.js.map +1 -1
  468. package/mobile/lib/ProjectSettings.d.ts +4 -4
  469. package/mobile/lib/ProjectSettings.js +3 -5
  470. package/mobile/lib/ProjectSettings.js.map +1 -1
  471. package/mobile/lib/api/CorporateLeadAPI.d.ts +15 -0
  472. package/mobile/lib/api/CorporateLeadAPI.js +21 -0
  473. package/mobile/lib/api/CorporateLeadAPI.js.map +1 -0
  474. package/mobile/lib/components/ApplicationForm/ApplicationForm.d.ts +5 -0
  475. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +28 -0
  476. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -0
  477. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.d.ts +12 -0
  478. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js +53 -0
  479. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -0
  480. package/mobile/lib/components/ApplicationForm/ApplicationFormBusinessCard.d.ts +9 -0
  481. package/mobile/lib/components/ApplicationForm/ApplicationFormBusinessCard.js +37 -0
  482. package/mobile/lib/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -0
  483. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +18 -0
  484. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.js +2 -0
  485. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.js.map +1 -0
  486. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.d.ts +20 -0
  487. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js +57 -0
  488. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -0
  489. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.d.ts +6 -0
  490. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.js +24 -0
  491. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -0
  492. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.d.ts +12 -0
  493. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js +39 -0
  494. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -0
  495. package/mobile/lib/components/ApplicationForm/ApplicationFormsProps.d.ts +7 -0
  496. package/mobile/lib/components/ApplicationForm/ApplicationFormsProps.js +2 -0
  497. package/mobile/lib/components/ApplicationForm/ApplicationFormsProps.js.map +1 -0
  498. package/mobile/lib/components/ApplicationForm/Footnote.d.ts +6 -0
  499. package/mobile/lib/components/ApplicationForm/Footnote.js +7 -0
  500. package/mobile/lib/components/ApplicationForm/Footnote.js.map +1 -0
  501. package/mobile/lib/components/ApplicationForm/ResponseNotification.d.ts +5 -0
  502. package/mobile/lib/components/ApplicationForm/ResponseNotification.js +11 -0
  503. package/mobile/lib/components/ApplicationForm/ResponseNotification.js.map +1 -0
  504. package/mobile/lib/components/ApplicationForm/WrapperSelect.d.ts +11 -0
  505. package/mobile/lib/components/ApplicationForm/WrapperSelect.js +11 -0
  506. package/mobile/lib/components/ApplicationForm/WrapperSelect.js.map +1 -0
  507. package/mobile/lib/components/ApplicationForm/acquiringTypes.d.ts +2 -0
  508. package/mobile/lib/components/ApplicationForm/acquiringTypes.js +23 -0
  509. package/mobile/lib/components/ApplicationForm/acquiringTypes.js.map +1 -0
  510. package/mobile/lib/components/ApplicationForm/models.d.ts +6 -0
  511. package/mobile/lib/components/ApplicationForm/models.js +2 -0
  512. package/mobile/lib/components/ApplicationForm/models.js.map +1 -0
  513. package/mobile/lib/components/ApplicationForm/normalizeSelectedRegion.d.ts +2 -0
  514. package/mobile/lib/components/ApplicationForm/normalizeSelectedRegion.js +2 -0
  515. package/mobile/lib/components/ApplicationForm/normalizeSelectedRegion.js.map +1 -0
  516. package/mobile/lib/components/ApplicationForm/renderBankOffices.d.ts +13 -0
  517. package/mobile/lib/components/ApplicationForm/renderBankOffices.js +4 -0
  518. package/mobile/lib/components/ApplicationForm/renderBankOffices.js.map +1 -0
  519. package/mobile/lib/components/ApplicationForm/renderContacts.d.ts +2 -0
  520. package/mobile/lib/components/ApplicationForm/renderContacts.js +4 -0
  521. package/mobile/lib/components/ApplicationForm/renderContacts.js.map +1 -0
  522. package/mobile/lib/components/ApplicationForm/renderCreditParameters.d.ts +10 -0
  523. package/mobile/lib/components/ApplicationForm/renderCreditParameters.js +21 -0
  524. package/mobile/lib/components/ApplicationForm/renderCreditParameters.js.map +1 -0
  525. package/mobile/lib/components/ApplicationForm/renderDataOrganization.d.ts +14 -0
  526. package/mobile/lib/components/ApplicationForm/renderDataOrganization.js +4 -0
  527. package/mobile/lib/components/ApplicationForm/renderDataOrganization.js.map +1 -0
  528. package/mobile/lib/components/ApplicationForm/renderQuestionsInterested.d.ts +12 -0
  529. package/mobile/lib/components/ApplicationForm/renderQuestionsInterested.js +4 -0
  530. package/mobile/lib/components/ApplicationForm/renderQuestionsInterested.js.map +1 -0
  531. package/mobile/lib/components/ApplicationForm/renderSelects.d.ts +11 -0
  532. package/mobile/lib/components/ApplicationForm/renderSelects.js +5 -0
  533. package/mobile/lib/components/ApplicationForm/renderSelects.js.map +1 -0
  534. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.d.ts +10 -0
  535. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.js +4 -0
  536. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -0
  537. package/mobile/lib/components/ApplicationForm/renderSubmitButton.d.ts +3 -0
  538. package/mobile/lib/components/ApplicationForm/renderSubmitButton.js +10 -0
  539. package/mobile/lib/components/ApplicationForm/renderSubmitButton.js.map +1 -0
  540. package/mobile/lib/components/ApplicationForm/useFormHandlers.d.ts +13 -0
  541. package/mobile/lib/components/ApplicationForm/useFormHandlers.js +13 -0
  542. package/mobile/lib/components/ApplicationForm/useFormHandlers.js.map +1 -0
  543. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  544. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  545. package/mobile/lib/components/ErrorBlock/ErrorBlock.js +3 -1
  546. package/mobile/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
  547. package/mobile/lib/components/Header/DropdownMenu.js +4 -1
  548. package/mobile/lib/components/Header/DropdownMenu.js.map +1 -1
  549. package/mobile/lib/components/Header/HeaderSecondaryMenu.js +1 -2
  550. package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  551. package/mobile/lib/components/Header/HeaderSubMenu.js +2 -1
  552. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  553. package/mobile/lib/components/Header/HeaderSubMenuItem.js +2 -2
  554. package/mobile/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  555. package/mobile/lib/components/OtherProductsItem/OtherProductsItem.js +3 -1
  556. package/mobile/lib/components/OtherProductsItem/OtherProductsItem.js.map +1 -1
  557. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  558. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.d.ts +2 -2
  559. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  560. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +1 -1
  561. package/mobile/lib/hooks/useLink.js +17 -13
  562. package/mobile/lib/hooks/useLink.js.map +1 -1
  563. package/mobile/lib/icons/IconName.d.ts +10 -2
  564. package/mobile/lib/icons/IconName.js +9 -1
  565. package/mobile/lib/icons/IconName.js.map +1 -1
  566. package/mobile/lib/services/sitemap/isHrefActive.d.ts +1 -2
  567. package/mobile/lib/services/sitemap/isHrefActive.js +2 -2
  568. package/mobile/lib/services/sitemap/isHrefActive.js.map +1 -1
  569. package/mobile/lib/services/sitemap/isSubItemActive.d.ts +3 -2
  570. package/mobile/lib/services/sitemap/isSubItemActive.js.map +1 -1
  571. package/mobile/lib/services/sitemap/isTopItemActive.d.ts +3 -2
  572. package/mobile/lib/services/sitemap/isTopItemActive.js +1 -6
  573. package/mobile/lib/services/sitemap/isTopItemActive.js.map +1 -1
  574. package/mobile/lib/setup-fixture.js +14 -7
  575. package/mobile/lib/setup-fixture.js.map +1 -1
  576. package/mobile/lib/ui-kit/HeaderItem/HeaderItem.js +1 -2
  577. package/mobile/lib/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
  578. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +7 -0
  579. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +5 -0
  580. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -0
  581. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +1 -1
  582. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
  583. package/mobile/lib/ui-kit/TopItem/TopItem.d.ts +0 -1
  584. package/mobile/lib/ui-kit/TopItem/TopItem.js +2 -2
  585. package/mobile/lib/ui-kit/TopItem/TopItem.js.map +1 -1
  586. package/mobile/lib/utils/adjustHref.d.ts +1 -4
  587. package/mobile/lib/utils/adjustHref.js +5 -9
  588. package/mobile/lib/utils/adjustHref.js.map +1 -1
  589. package/mobile/lib/utils/url.d.ts +4 -2
  590. package/mobile/lib/utils/url.js +12 -26
  591. package/mobile/lib/utils/url.js.map +1 -1
  592. package/mobile/src/ProjectSettings.ts +6 -7
  593. package/mobile/src/api/CorporateLeadAPI.ts +36 -0
  594. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +45 -0
  595. package/mobile/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +138 -0
  596. package/mobile/src/components/ApplicationForm/ApplicationFormBusinessCard.tsx +134 -0
  597. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +19 -0
  598. package/mobile/src/components/ApplicationForm/ApplicationFormCredit.tsx +91 -0
  599. package/mobile/src/components/ApplicationForm/ApplicationFormDeposit.tsx +74 -0
  600. package/mobile/src/components/ApplicationForm/ApplicationFormWed.tsx +143 -0
  601. package/mobile/src/components/ApplicationForm/ApplicationFormsProps.ts +8 -0
  602. package/mobile/src/components/ApplicationForm/Footnote.tsx +25 -0
  603. package/mobile/src/components/ApplicationForm/ResponseNotification.tsx +33 -0
  604. package/mobile/src/components/ApplicationForm/WrapperSelect.tsx +32 -0
  605. package/mobile/src/components/ApplicationForm/acquiringTypes.ts +24 -0
  606. package/mobile/src/components/ApplicationForm/models.ts +7 -0
  607. package/mobile/src/components/ApplicationForm/normalizeSelectedRegion.ts +4 -0
  608. package/mobile/src/components/ApplicationForm/renderBankOffices.tsx +45 -0
  609. package/mobile/src/components/ApplicationForm/renderContacts.tsx +22 -0
  610. package/mobile/src/components/ApplicationForm/renderCreditParameters.tsx +61 -0
  611. package/mobile/src/components/ApplicationForm/renderDataOrganization.tsx +78 -0
  612. package/mobile/src/components/ApplicationForm/renderQuestionsInterested.tsx +45 -0
  613. package/mobile/src/components/ApplicationForm/renderSelects.tsx +38 -0
  614. package/mobile/src/components/ApplicationForm/renderSlideCheckboxes.tsx +28 -0
  615. package/mobile/src/components/ApplicationForm/renderSubmitButton.tsx +15 -0
  616. package/mobile/src/components/ApplicationForm/useFormHandlers.ts +32 -0
  617. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +5 -1
  618. package/mobile/src/components/ErrorBlock/ErrorBlock.tsx +10 -1
  619. package/mobile/src/components/Header/DropdownMenu.tsx +16 -12
  620. package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +1 -21
  621. package/mobile/src/components/Header/HeaderSubMenu.tsx +2 -1
  622. package/mobile/src/components/Header/HeaderSubMenuItem.tsx +2 -4
  623. package/mobile/src/components/OtherProductsItem/OtherProductsItem.tsx +3 -1
  624. package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
  625. package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +4 -4
  626. package/mobile/src/components/SafeDepositRental/SafeDepositRentalTypes.ts +1 -1
  627. package/mobile/src/components/SwipeListControlBlock/SwipeListControlBlock.example.json +1 -1
  628. package/mobile/src/hooks/useLink.ts +19 -15
  629. package/mobile/src/icons/IconName.ts +5 -5
  630. package/mobile/src/icons/MailIcon.svg +1 -0
  631. package/mobile/src/icons/PhoneIcon.svg +1 -0
  632. package/mobile/src/icons/ResponceFailIcon.svg +1 -0
  633. package/mobile/src/icons/ResponceOKIcon.svg +1 -0
  634. package/mobile/src/services/sitemap/isHrefActive.ts +4 -10
  635. package/mobile/src/services/sitemap/isSubItemActive.ts +1 -2
  636. package/mobile/src/services/sitemap/isTopItemActive.ts +2 -8
  637. package/mobile/src/setup-fixture.ts +19 -7
  638. package/mobile/src/ui-kit/HeaderItem/HeaderItem.tsx +7 -8
  639. package/mobile/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +33 -0
  640. package/mobile/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +1 -1
  641. package/mobile/src/ui-kit/TopItem/TopItem.tsx +16 -19
  642. package/mobile/src/utils/adjustHref.ts +6 -14
  643. package/mobile/src/utils/url.ts +18 -33
  644. package/package.json +2 -2
  645. package/src/ProjectSettings.ts +6 -7
  646. package/src/api/CorporateLeadAPI.ts +36 -0
  647. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +43 -0
  648. package/src/components/ApplicationForm/ApplicationForm.tsx +45 -0
  649. package/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +138 -0
  650. package/src/components/ApplicationForm/ApplicationFormBusinessCard.tsx +134 -0
  651. package/src/components/ApplicationForm/ApplicationFormContent.ts +19 -0
  652. package/src/components/ApplicationForm/ApplicationFormCredit.tsx +91 -0
  653. package/src/components/ApplicationForm/ApplicationFormDeposit.tsx +74 -0
  654. package/src/components/ApplicationForm/ApplicationFormWed.tsx +143 -0
  655. package/src/components/ApplicationForm/ApplicationFormsProps.ts +8 -0
  656. package/src/components/ApplicationForm/Footnote.tsx +25 -0
  657. package/src/components/ApplicationForm/ResponseNotification.tsx +33 -0
  658. package/src/components/ApplicationForm/WrapperSelect.tsx +32 -0
  659. package/src/components/ApplicationForm/acquiringTypes.ts +24 -0
  660. package/src/components/ApplicationForm/models.ts +7 -0
  661. package/src/components/ApplicationForm/normalizeSelectedRegion.ts +4 -0
  662. package/src/components/ApplicationForm/renderBankOffices.tsx +45 -0
  663. package/src/components/ApplicationForm/renderContacts.tsx +22 -0
  664. package/src/components/ApplicationForm/renderCreditParameters.tsx +61 -0
  665. package/src/components/ApplicationForm/renderDataOrganization.tsx +78 -0
  666. package/src/components/ApplicationForm/renderQuestionsInterested.tsx +45 -0
  667. package/src/components/ApplicationForm/renderSelects.tsx +38 -0
  668. package/src/components/ApplicationForm/renderSlideCheckboxes.tsx +28 -0
  669. package/src/components/ApplicationForm/renderSubmitButton.tsx +15 -0
  670. package/src/components/ApplicationForm/useFormHandlers.ts +32 -0
  671. package/src/components/Blocks.ts +2 -0
  672. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.tsx +1 -0
  673. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +5 -1
  674. package/src/components/ErrorBlock/ErrorBlock.tsx +10 -1
  675. package/src/components/Header/DropdownMenu.tsx +16 -12
  676. package/src/components/Header/Header.tsx +3 -5
  677. package/src/components/Header/HeaderSecondaryMenu.tsx +1 -21
  678. package/src/components/Header/HeaderSubMenu.tsx +2 -1
  679. package/src/components/Header/HeaderSubMenuItem.tsx +2 -4
  680. package/src/components/OtherProductsItem/OtherProductsItem.tsx +3 -1
  681. package/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
  682. package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +4 -4
  683. package/src/components/SafeDepositRental/SafeDepositRentalTypes.ts +1 -1
  684. package/src/components/SwipeListControlBlock/SwipeListControlBlock.example.json +1 -1
  685. package/src/components/SwipeListControlBlock/SwipeListControlBlock.fixture.tsx +17 -0
  686. package/src/hooks/useLink.ts +19 -15
  687. package/src/icons/IconName.ts +5 -5
  688. package/src/icons/MailIcon.svg +1 -0
  689. package/src/icons/PhoneIcon.svg +1 -0
  690. package/src/icons/ResponceFailIcon.svg +1 -0
  691. package/src/icons/ResponceOKIcon.svg +1 -0
  692. package/src/services/sitemap/isHrefActive.ts +4 -10
  693. package/src/services/sitemap/isSubItemActive.ts +1 -2
  694. package/src/services/sitemap/isTopItemActive.ts +2 -8
  695. package/src/setup-fixture.ts +19 -7
  696. package/src/ui-kit/HeaderItem/HeaderItem.mobile.tsx +7 -8
  697. package/src/ui-kit/HeaderItem/HeaderItem.tsx +7 -8
  698. package/src/ui-kit/SlideCheckbox/SlideCheckbox.fixture.tsx +9 -0
  699. package/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +33 -0
  700. package/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +1 -1
  701. package/src/ui-kit/TopItem/TopItem.tsx +16 -19
  702. package/src/utils/adjustHref.ts +6 -14
  703. package/src/utils/url.ts +18 -33
  704. package/tailwind.config.cjs +5 -0
  705. package/bundle/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  706. package/bundle/utils/normalizeURLPath.d.ts +0 -1
  707. package/dist/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  708. package/dist/services/sitemap/checkIsHrefSameOrigin.js +0 -6
  709. package/dist/services/sitemap/checkIsHrefSameOrigin.js.map +0 -1
  710. package/dist/utils/normalizeURLPath.d.ts +0 -1
  711. package/dist/utils/normalizeURLPath.js +0 -12
  712. package/dist/utils/normalizeURLPath.js.map +0 -1
  713. package/lib/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  714. package/lib/services/sitemap/checkIsHrefSameOrigin.js +0 -3
  715. package/lib/services/sitemap/checkIsHrefSameOrigin.js.map +0 -1
  716. package/lib/utils/normalizeURLPath.d.ts +0 -1
  717. package/lib/utils/normalizeURLPath.js +0 -9
  718. package/lib/utils/normalizeURLPath.js.map +0 -1
  719. package/mobile/bundle/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  720. package/mobile/bundle/utils/normalizeURLPath.d.ts +0 -1
  721. package/mobile/dist/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  722. package/mobile/dist/services/sitemap/checkIsHrefSameOrigin.js +0 -6
  723. package/mobile/dist/services/sitemap/checkIsHrefSameOrigin.js.map +0 -1
  724. package/mobile/dist/utils/normalizeURLPath.d.ts +0 -1
  725. package/mobile/dist/utils/normalizeURLPath.js +0 -12
  726. package/mobile/dist/utils/normalizeURLPath.js.map +0 -1
  727. package/mobile/lib/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  728. package/mobile/lib/services/sitemap/checkIsHrefSameOrigin.js +0 -3
  729. package/mobile/lib/services/sitemap/checkIsHrefSameOrigin.js.map +0 -1
  730. package/mobile/lib/utils/normalizeURLPath.d.ts +0 -1
  731. package/mobile/lib/utils/normalizeURLPath.js +0 -9
  732. package/mobile/lib/utils/normalizeURLPath.js.map +0 -1
  733. package/mobile/src/services/sitemap/checkIsHrefSameOrigin.ts +0 -7
  734. package/mobile/src/utils/normalizeURLPath.ts +0 -10
  735. package/src/services/sitemap/checkIsHrefSameOrigin.ts +0 -7
  736. package/src/utils/normalizeURLPath.ts +0 -10
@@ -53,11 +53,9 @@
53
53
  };
54
54
  }
55
55
 
56
+ const DEFAULT_PROJECT_SETTINGS = { PROD_BRANCH: 'master' };
56
57
  const projectSettings = new (class {
57
- _ = {
58
- PROD_BRANCH: 'master',
59
- FORCED_DRAFT_FLOW: false,
60
- };
58
+ _ = DEFAULT_PROJECT_SETTINGS;
61
59
  setup(_) {
62
60
  this._ = _;
63
61
  }
@@ -68,7 +66,7 @@
68
66
  return this._.RC_BRANCH;
69
67
  }
70
68
  get PROD_BRANCH() {
71
- return this._.PROD_BRANCH;
69
+ return this._.PROD_BRANCH || DEFAULT_PROJECT_SETTINGS.PROD_BRANCH;
72
70
  }
73
71
  get FORCED_DRAFT_FLOW() {
74
72
  return this._.FORCED_DRAFT_FLOW;
@@ -525,73 +523,165 @@
525
523
  AccordionItem.childrenTypes = [];
526
524
  const FoldButton = JSX(({ label, icon, onClick }) => (jsxs("button", { className: "border-none bg-transparent px-0 pt-5 pb-3.5 flex justify-between text-left w-full font-sans text-h6 cursor-pointer", onClick: onClick, children: [jsx(Text, { size: "text-xl", font: "font-medium", children: label }), jsx(ImgInner, { image: { icon }, className: "text-primary-main flex-shrink-0", width: "24", height: "24", asSVG: true })] })));
527
525
 
528
- const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => (jsxs(BlockWrapper, { className: `p-12 flex flex-col items-center ${className}`, ...rest, children: [title ? (jsx(Heading, { headingType: "h3", as: "h2", className: "max-w-[47rem] text-center", title: title })) : null, benefitList?.length ? (jsx("div", { className: "flex flex-wrap w-full justify-center gap-x-20 mt-8", children: benefitList.map(renderStep) })) : null] })));
529
- const renderStep = (benefit, i) => {
530
- const description = benefit.description;
531
- return (jsxs("div", { className: "flex items-center basis-1/2 max-w-[500px] mb-14", children: [benefit?.icon?.icon ? (jsx(ImgInner, { className: "w-12 h-12 min-w-12 p-3 rounded-full bg-main-divider text-primary-main group-data-secondary:bg-white/30 group-data-secondary:text-black", image: benefit.icon, asSVG: true })) : null, benefit?.icon?.src ? jsx(ImgInner, { image: benefit.icon }) : null, jsxs("div", { className: "ml-5", children: [benefit?.label ? jsx(Heading, { headingType: "h6", children: benefit.label }) : null, renderDescription$5(description)] })] }, String(i)));
532
- };
533
- const renderDescription$5 = (description) => {
534
- const benefitType = description?.benefitType || null;
535
- return description && benefitType ? (jsx("div", { className: "mt-2 text-l-light text-secondary-text group-data-secondary:text-white/80", children: benefitType === 'list'
536
- ? renderListBenefit(description)
537
- : renderTextBenefit(description) })) : null;
538
- };
539
- const renderTextBenefit = (description) => description?.name || null;
540
- const renderListBenefit = (description) => {
541
- const listStyleType = description?.bullets ? 'list-disc pl-6' : '';
542
- return description?.items && description.items.length > 0 ? (jsx("ul", { className: listStyleType, children: description.items.map((_, i) => (jsx("li", { children: _ }, `benefitListItem-${i}`))) })) : null;
543
- };
526
+ const Input = JSX(({ className = '', inputClassName = '', id, name, type = 'text', label, value = '', valid = true, children, onChange, onBlur, ...inputProps }) => {
527
+ const handleChange = useCallback((e) => {
528
+ const validInputValue = e.target.validity.valid ? e.target.value : value;
529
+ onChange(validInputValue);
530
+ }, [onChange]);
531
+ const handleBlur = useCallback((e) => {
532
+ if (!onBlur) {
533
+ return;
534
+ }
535
+ const validInputValue = e.target.validity.valid ? e.target.value : value;
536
+ onBlur(validInputValue);
537
+ }, [onBlur]);
538
+ const paddingStyle = children ? 'pr-8' : '';
539
+ const validStyle = valid
540
+ ? 'border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'
541
+ : 'border-error';
542
+ return (jsxs("div", { className: `relative ${className}`, children: [label ? jsx("label", { className: "block text-m-light mb-2", children: label }) : null, jsx("input", { className: `w-full border rounded-md text-primary-text outline-none p-4 ${paddingStyle} ${validStyle} ${inputClassName}`, id: id, name: name || id, type: type, value: value, onChange: handleChange, onBlur: handleBlur, ...inputProps }), children] }));
543
+ });
544
+
545
+ const consistentDataMap = new Map();
546
+ function useAsyncData(key, fetcher, { fallback } = {}) {
547
+ const args = useMemo(() => keyToArgs(key), [key]);
548
+ const [data, setData] = useState();
549
+ const [error, setError] = useState();
550
+ const updateData = (_) => {
551
+ setData(_);
552
+ setError(undefined);
553
+ };
554
+ const updateError = (_) => {
555
+ setData(undefined);
556
+ setError(_);
557
+ };
558
+ const chainToConsistentResult = (_) => {
559
+ _.then(rawData => consistentDataMap.get(args) || rawData)
560
+ .then(updateData)
561
+ .catch(updateError);
562
+ };
563
+ useEffect(() => {
564
+ const isEmptyKey = args.every(_ => _ === null);
565
+ if (isEmptyKey) {
566
+ return;
567
+ }
568
+ try {
569
+ const _ = fetcher(...args);
570
+ if ('then' in _) {
571
+ chainToConsistentResult(_);
572
+ }
573
+ else {
574
+ updateData(_);
575
+ }
576
+ }
577
+ catch (err) {
578
+ updateError(err);
579
+ }
580
+ }, [fetcher, ...args]);
581
+ const simpleKey = args[0];
582
+ const fallbackData = fallback && typeof simpleKey === 'string' && fallback[simpleKey];
583
+ return {
584
+ data: !data && !error && fallbackData ? fallbackData : data,
585
+ error,
586
+ mutate: () => Promise.resolve(undefined),
587
+ isValidating: false
588
+ };
589
+ }
590
+ function keyToArgs(key) {
591
+ if (!key) {
592
+ return [key];
593
+ }
594
+ if (Array.isArray(key)) {
595
+ return key;
596
+ }
597
+ else if (key instanceof Function) {
598
+ return keyToArgs(key());
599
+ }
600
+ else {
601
+ return [key];
602
+ }
603
+ }
604
+
605
+ async function fetchJSON(url, options) {
606
+ try {
607
+ return await fetchJSONUnsafe(url, options);
608
+ }
609
+ catch (err) {
610
+ console.error(err);
611
+ }
612
+ return null;
613
+ }
614
+ async function fetchJSONUnsafe(url, options) {
615
+ const response = await fetch(url, {
616
+ ...options,
617
+ headers: {
618
+ ...options?.headers,
619
+ 'Content-Type': 'application/json',
620
+ },
621
+ });
622
+ return await response.json();
623
+ }
624
+
625
+ const REGIONS_URL$1 = '/api/v1/regions';
626
+ function useGetRegions() {
627
+ const { data } = useAsyncData(REGIONS_URL$1, fetchJSONUnsafe);
628
+ return data || [];
629
+ }
630
+
631
+ const ACQUIRING_TYPES = [
632
+ {
633
+ code: '1',
634
+ name: 'Торговый эквайринг',
635
+ },
636
+ {
637
+ code: '2',
638
+ name: 'Мобильный эквайринг',
639
+ },
640
+ {
641
+ code: '3',
642
+ name: 'Интернет-эквайринг',
643
+ },
644
+ {
645
+ code: '4',
646
+ name: 'QR-эквайринг (СБП)',
647
+ },
648
+ {
649
+ code: '5',
650
+ name: 'Все виды эквайринга',
651
+ },
652
+ ];
544
653
 
545
654
  function useBlockRouter() {
546
655
  return BlockRouter.inst;
547
656
  }
548
657
 
549
- const isURL = (href) => href?.includes('//');
658
+ const isURL = (href) => Boolean(href?.includes('//'));
659
+ const isLocalURL = (href, target) => Boolean(href &&
660
+ !isURL(href) &&
661
+ (projectSettings.BASE_PATH
662
+ ? href.startsWith(projectSettings.BASE_PATH)
663
+ : !href.startsWith('/')) &&
664
+ (!target || target === '_self'));
665
+ const isHash = (href) => Boolean(href?.startsWith('#'));
550
666
  const withoutQuery = (href) => (href || '').replace(/\/?\?.*/, '');
551
- const getOrigin = (href) => {
552
- if (!href || !isURL(href)) {
553
- return undefined;
554
- }
555
- const url = href;
556
- const protoSeparator = '//';
557
- const endOfProto = url.indexOf(protoSeparator);
558
- const endOfOrigin = url.indexOf('/', endOfProto + protoSeparator.length);
559
- return endOfOrigin !== -1 ? url.substring(0, endOfOrigin) : url;
560
- };
561
- const getPathname = (href) => {
562
- if (!href || !isURL(href)) {
563
- return undefined;
564
- }
565
- const url = new URL(href);
566
- return url.pathname;
567
- };
568
- const getHash = (href) => {
569
- if (!href || !isURL(href)) {
570
- return undefined;
571
- }
572
- const hashIndex = href.indexOf('#');
573
- return hashIndex !== -1 ? href.substring(hashIndex, href.length) : undefined;
574
- };
575
- const isHash = (href) => href?.startsWith('#');
667
+ const getOrigin = (href) => (isURL(href) ? new URL(href).origin : undefined);
668
+ const getPathname = (href) => (isURL(href) ? new URL(href).pathname : undefined);
669
+ const getHash = (href) => (isURL(href) ? new URL(href).hash : undefined);
576
670
 
577
671
  var url = /*#__PURE__*/Object.freeze({
578
672
  __proto__: null,
579
673
  isURL: isURL,
674
+ isLocalURL: isLocalURL,
675
+ isHash: isHash,
580
676
  withoutQuery: withoutQuery,
581
677
  getOrigin: getOrigin,
582
678
  getPathname: getPathname,
583
- getHash: getHash,
584
- isHash: isHash
679
+ getHash: getHash
585
680
  });
586
681
 
587
- const adjustHref = (href, router) => {
588
- if (!href) {
589
- return href;
590
- }
591
- const origin = getOrigin(router?.href);
592
- // Relative URL
593
- return origin ? href.replace(origin, '') || '/' : href;
594
- };
682
+ const adjustHref = (href) => href && projectSettings.BASE_PATH && !(isURL(href) || href.startsWith('/'))
683
+ ? `${projectSettings.BASE_PATH}${href}`
684
+ : href;
595
685
 
596
686
  /* eslint-disable @typescript-eslint/ban-types */
597
687
  const handlerDecorator = (handler, targetContent) => {
@@ -623,29 +713,33 @@
623
713
  function useLink() {
624
714
  const router = useRouter();
625
715
  const blockRouter = useBlockRouter();
716
+ const handleLocalURL = (href, target) => (ev) => {
717
+ if (!isLocalURL(href, target)) {
718
+ // Proceed with native handle
719
+ return;
720
+ }
721
+ // Client routing
722
+ ev?.preventDefault();
723
+ if (isHash(href)) {
724
+ blockRouter.goto(href);
725
+ }
726
+ else if (href) {
727
+ router.push(href);
728
+ }
729
+ };
626
730
  return (props) => {
627
- const href = adjustHref(props.href, router);
731
+ const href = adjustHref(props.href);
628
732
  return {
629
733
  ...props,
630
734
  href,
631
735
  'aria-label': props.text,
632
736
  onClick: handlerDecorator((ev) => {
633
737
  props.onClick && props.onClick(ev);
634
- if (isRemoteHref(href, props.target)) {
635
- return;
636
- }
637
- ev?.preventDefault();
638
- if (isHash(href)) {
639
- blockRouter.goto(href);
640
- }
641
- else {
642
- href && router.push(href);
643
- }
738
+ handleLocalURL(href, props.target)(ev);
644
739
  }, props),
645
740
  };
646
741
  };
647
742
  }
648
- const isRemoteHref = (href, target) => isURL(href) || (target && target !== '_self') || href?.startsWith('/');
649
743
 
650
744
  const buttonStyleMap = {
651
745
  primary: 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active',
@@ -695,30 +789,386 @@
695
789
  };
696
790
  const isWithText = ({ text, aboveText, appendLeft }) => Boolean(text || aboveText || !appendLeft);
697
791
 
698
- const getDisabledButtonClasses = ({ className, rounded, version, }) => [
699
- 'inline-block',
700
- buttonStyle,
701
- version ? buttonDisabledStyleMap[version] : '',
702
- rounded ? 'rounded-full' : 'rounded-md',
703
- className,
704
- ].join(' ');
792
+ const getDisabledButtonClasses = ({ className, rounded, version, }) => [
793
+ 'inline-block',
794
+ buttonStyle,
795
+ version ? buttonDisabledStyleMap[version] : '',
796
+ rounded ? 'rounded-full' : 'rounded-md',
797
+ className,
798
+ ].join(' ');
799
+
800
+ const getRegularButtonClasses = ({ className, rounded, version, }) => [
801
+ buttonStyle,
802
+ 'border border-transparent inline-block cursor-pointer no-underline focus:border-primary-text focus:border',
803
+ version ? buttonStyleMap[version] : '',
804
+ rounded ? 'rounded-full' : 'rounded-md',
805
+ className,
806
+ ].join(' ');
807
+
808
+ const Button = JSX(({ disabled, children, ...rest }) => {
809
+ const link = useLink();
810
+ const adjustedProps = link(rest);
811
+ const buttonInner = children ?? jsx(ButtonInner, { ...adjustedProps });
812
+ return disabled ? (jsx(DisabledButton, { ...adjustedProps, children: buttonInner })) : (jsx(RegularButton, { ...adjustedProps, children: buttonInner }));
813
+ });
814
+ 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 })));
815
+ 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 })));
816
+
817
+ const Footnote = JSX(({ link }) => (jsxs(Paragraph, { size: "text-s-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] })));
818
+
819
+ const normalizeSelectedRegion$1 = (selectedRegion, regions) => !selectedRegion && regions?.length && regions[0]?.code ? regions[0].code : selectedRegion;
820
+
821
+ function useOutsideClick(onClick) {
822
+ const targetRef = useRef(null);
823
+ useEffect(() => {
824
+ const handleClickOutside = (event) => {
825
+ if (targetRef &&
826
+ targetRef.current &&
827
+ event.target instanceof Node &&
828
+ !targetRef.current.contains(event.target)) {
829
+ onClick();
830
+ }
831
+ };
832
+ document.addEventListener('click', handleClickOutside);
833
+ return () => {
834
+ document.removeEventListener('click', handleClickOutside);
835
+ };
836
+ }, [onClick]);
837
+ return targetRef;
838
+ }
839
+
840
+ const Select = JSX(({ className = '', isBorder = true, label, options = [], value, onChange, placeholder = '' }) => {
841
+ const [selectedItem, setSelectedItem] = useState(options[0] || { key: '', text: '' });
842
+ const [isOpen, setIsOpen] = useState(false);
843
+ const handleClickOutside = useCallback(() => setIsOpen(false), []);
844
+ const wrapperRef = useOutsideClick(handleClickOutside);
845
+ const choiceOption = (option) => {
846
+ setSelectedItem(option);
847
+ setIsOpen(false);
848
+ onChange(option);
849
+ };
850
+ const isSelected = (option) => Boolean(option.key === selectedItem.key);
851
+ useEffect(() => {
852
+ setSelectedItem(value || { key: '', text: '' });
853
+ }, [value]);
854
+ return (jsxs("div", { className: `${className}`, ref: wrapperRef, children: [label ? jsx("span", { className: "mb-2 flex text-primary-text", children: label }) : null, jsxs("div", { className: `relative ${isOpen ? 'z-20' : 'z-10'}`, children: [jsxs("div", { className: `text-l flex justify-between items-center mb-0.5 text-primary-text cursor-pointer
855
+ ${getBorderStyle(isBorder)}`, onClick: () => setIsOpen(!isOpen), children: [jsx("p", { className: "p-4 pr-8 h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: selectedItem?.text || placeholder }), jsx(Icon, { name: "ArrowUpIcon", width: "16", height: "16", className: `absolute right-3 ${isOpen ? '' : 'rotate-180'}` })] }), options?.length ? (jsx("div", { className: `h-0 ${renderOptionsStyle(isOpen)}`, 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(choiceOption, isOpen, isSelected)) }) })) : null] })] }));
856
+ });
857
+ const renderOptionsStyle = (isOpen) => (isOpen ? '' : 'overflow-hidden');
858
+ const renderOption = (choiceOption, isOpen, isSelected) => (option, i) => {
859
+ return (jsxs("div", { onClick: () => {
860
+ choiceOption(option);
861
+ }, className: "flex px-4 py-3 cursor-pointer hover:bg-main-divider pr-11 relative", children: [jsx("span", { className: "min-h-6", children: option.text }), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", className: ['absolute right-4 pt-0.5', isSelected(option) && isOpen ? '' : 'hidden'].join(' ') })] }, String(i)));
862
+ };
863
+ const getBorderStyle = (isBorder) => isBorder ? 'border border-gray rounded-md hover:border-primary-hover' : '';
864
+
865
+ const WrapperSelect$1 = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
866
+ const dataFormat = data
867
+ .filter(Boolean)
868
+ .map((_) => ({ key: _?.[fieldValue || fieldLabel], text: _?.[fieldLabel] }));
869
+ const selectedObj = dataFormat.find((_) => _.key === selected);
870
+ return (jsx(Select, { options: dataFormat, label: label, placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj }));
871
+ });
872
+
873
+ const renderSelects = ({ acquiringType, regions, region, handleChange }) => (jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsx("div", { className: "w-1/2", children: jsx(WrapperSelect$1, { data: ACQUIRING_TYPES, fieldValue: "code", fieldLabel: "name", selected: acquiringType, setSelected: (value) => handleChange({ acquiringType: value }), 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" }) }), jsx("div", { className: "w-1/2", children: jsx(WrapperSelect$1, { data: regions, fieldValue: "code", fieldLabel: "name", selected: region, setSelected: (value) => handleChange({ region: value }), label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441" }) })] }));
874
+
875
+ const SlideCheckbox = JSX(({ checked, text, onClick }) => (jsxs("div", { role: "checkbox", "aria-checked": checked, className: "flex justify-start items-center w-full cursor-pointer mb-4", onClick: () => onClick && onClick(), children: [jsx("div", { className: `relative duration-300 w-9 h-5 mr-3 rounded rounded-2xl ${checked ? 'bg-primary-main' : 'bg-main-divider'}`, children: jsx("div", { className: `absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded rounded-full ${checked ? 'left-[50%]' : 'left-[5%]'}` }) }), jsx("div", { children: jsx(Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: text }) })] })));
876
+
877
+ const renderSlideCheckboxes = ({ onlineСheckout, posTerminal, handleChange, }) => (jsxs("div", { className: "mb-5", children: [jsx(SlideCheckbox, { checked: onlineСheckout, text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C \u043E\u043D\u043B\u0430\u0439\u043D-\u043A\u0430\u0441\u0441\u0443", onClick: () => handleChange({ onlineСheckout: !onlineСheckout }) }), jsx(SlideCheckbox, { checked: posTerminal, text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C POS-\u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B", onClick: () => handleChange({ posTerminal: !posTerminal }) })] }));
878
+
879
+ const renderSubmitButton = (button, className) => {
880
+ const buttonStyle = getRegularButtonClasses({
881
+ className: 'text-white',
882
+ version: button?.version,
883
+ });
884
+ return (jsx("button", { type: "submit", className: `p-4 ${buttonStyle} ${className}`, children: button?.text ? button.text : 'Отправить заявку' }));
885
+ };
886
+
887
+ const useFormHandlers = ({ formState, handleSubmit, setFormState, typeForm, }) => {
888
+ const handleChange = useCallback((state) => setFormState((oldState) => ({ ...oldState, ...state })), []);
889
+ const onSubmit = useCallback(async (e) => {
890
+ e.preventDefault();
891
+ handleSubmit && (await handleSubmit({ ...formState, typeForm }));
892
+ }, []);
893
+ return {
894
+ handleChange,
895
+ onSubmit,
896
+ };
897
+ };
898
+
899
+ const ApplicationFormAcquiring = JSX((props) => {
900
+ const { button, link, handleSubmit } = props;
901
+ const [formState, setFormState] = useState({
902
+ acquiringType: '',
903
+ region: '',
904
+ fullName: '',
905
+ inn: '',
906
+ name: '',
907
+ phone: '',
908
+ onlineСheckout: false,
909
+ posTerminal: false,
910
+ });
911
+ const { acquiringType, region, fullName, inn, name, phone, onlineСheckout, posTerminal } = formState;
912
+ const regions = useGetRegions();
913
+ const { handleChange, onSubmit } = useFormHandlers({
914
+ formState,
915
+ handleSubmit,
916
+ setFormState,
917
+ typeForm: 'acqr',
918
+ });
919
+ const selectedRegion = normalizeSelectedRegion$1(region, regions);
920
+ useEffect(() => {
921
+ setFormState((oldState) => ({
922
+ ...oldState,
923
+ acquiringType: ACQUIRING_TYPES?.length && ACQUIRING_TYPES[0]?.code ? ACQUIRING_TYPES[0].code : '',
924
+ }));
925
+ }, []);
926
+ return (jsxs("form", { onSubmit: onSubmit, className: "container", 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: "text-center mb-4" }), renderSelects({
927
+ acquiringType,
928
+ regions,
929
+ region: selectedRegion,
930
+ handleChange,
931
+ }), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "text-center mb-4" }), renderDataOrganization$4({ fullName, inn, name, phone, handleChange }), renderSlideCheckboxes({
932
+ onlineСheckout,
933
+ posTerminal,
934
+ handleChange,
935
+ }), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
936
+ });
937
+ const renderDataOrganization$4 = ({ fullName, inn, name, phone, handleChange, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-5", children: [jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", value: fullName, onChange: (value) => handleChange({ fullName: value }) }), jsx(Input, { className: "shrink-0 text-l w-full", type: "text", "aria-label": "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", value: name, onChange: (value) => handleChange({ name: value }) })] }), jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", label: "\u0418\u041D\u041D", "aria-label": "\u0418\u041D\u041D", value: inn, onChange: (value) => handleChange({ inn: value }) }), jsx(Input, { className: "shrink-0 text-l w-full", type: "text", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", "aria-label": "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", value: phone, onChange: (value) => handleChange({ phone: value }) })] })] }));
938
+
939
+ const ApplicationFormBusinessCard = JSX((props) => {
940
+ const { button, link, handleSubmit } = props;
941
+ const [formState, setFormState] = useState({
942
+ region: '',
943
+ name: '',
944
+ phone: '',
945
+ inn: '',
946
+ mail: '',
947
+ });
948
+ const { name, phone, inn, mail } = formState;
949
+ const regions = useGetRegions();
950
+ const { handleChange, onSubmit } = useFormHandlers({
951
+ formState,
952
+ handleSubmit,
953
+ setFormState,
954
+ typeForm: 'bcrd',
955
+ });
956
+ const selectedRegion = normalizeSelectedRegion$1(formState.region, regions);
957
+ return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [renderRegion$1({
958
+ regions,
959
+ region: selectedRegion,
960
+ handleChange,
961
+ }), renderDataOrganization$3({ name, phone, inn, mail, handleChange }), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
962
+ });
963
+ const renderDataOrganization$3 = ({ name, phone, mail, inn, handleChange, }) => (jsxs("div", { className: "flex justify-between gap-5", children: [jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", value: name, onChange: (value) => handleChange({ name: value }) }), jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0418\u041D\u041D", label: "\u0418\u041D\u041D", value: inn, onChange: (value) => handleChange({ inn: value }) })] }), jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", value: phone, onChange: (value) => handleChange({ phone: value }) }), jsx(Input, { className: "shrink-0 text-l w-full ", type: "text", "aria-label": "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", value: mail, onChange: (value) => handleChange({ mail: value }) })] })] }));
964
+ const renderRegion$1 = ({ regions, region, handleChange }) => (jsx("div", { className: "flex justify-between gap-5 mb-5", children: jsx("div", { className: "w-full", children: jsx(WrapperSelect$1, { data: regions, fieldValue: "code", fieldLabel: "name", selected: region, setSelected: (value) => handleChange({ region: value }), label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D" }) }) }));
965
+
966
+ const SAFEBOXES_URL = '/api/v1/safeboxes';
967
+ const EMPTY_VALUE = [];
968
+ function useSafeBoxes(regionCode) {
969
+ const { data } = useAsyncData(regionCode ? `${SAFEBOXES_URL}?regionCode=${regionCode}` : null, fetchSafeBoxes);
970
+ return data || EMPTY_VALUE;
971
+ }
972
+ const fetchSafeBoxes = async (url) => {
973
+ const result = await fetchJSON(url, { method: 'GET' });
974
+ return result || EMPTY_VALUE;
975
+ };
976
+
977
+ const renderBankOffices = ({ regions, region, branches, department, handleChange, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsx("div", { className: "w-1/2", children: jsx(WrapperSelect$1, { data: regions, fieldValue: "code", fieldLabel: "name", selected: region, setSelected: (value) => handleChange({ region: value }), label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "w-1/2", children: jsx(WrapperSelect$1, { data: branches, fieldValue: "branchCode", fieldLabel: "address", selected: department, setSelected: (value) => handleChange({ department: value }), label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441" }) })] }));
978
+
979
+ const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', {}).format(number);
980
+
981
+ const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
982
+
983
+ const getSanitizedValue = (_) => _.split(/\s+/).join('');
984
+
985
+ const DISABLED_INPUT_CLASSES = 'disabled:border-gray disabled:bg-main-divider';
986
+ const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, disabled = false, onChange, }) => {
987
+ const handleChange = (e) => {
988
+ if (!onChange) {
989
+ return;
990
+ }
991
+ onChange(clamp(Number(getSanitizedValue(e.target.value)), min, max));
992
+ };
993
+ const inputStyle = {
994
+ backgroundSize: `${(((value - min) * 100) / (max - min)).toFixed(2)}% 100%`,
995
+ };
996
+ return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? jsx("span", { className: "text-m-light text-primary-text", children: title }) : null, jsx("input", { className: `m-0 mt-2 font-sans text-h3 w-full h-14 border border-solid border-gray rounded-md
997
+ outline-none p-0 pl-4 box-border text-primary-text hover:border-primary-hover focus:border-primary-text ${DISABLED_INPUT_CLASSES}`, value: addSpacesBetweenNumbers(value), disabled: disabled, onChange: handleChange, onBlur: handleChange }), 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", type: "range", min: min, max: max, step: step, value: value, disabled: disabled, onChange: handleChange, style: inputStyle }) })] }), renderRangeCaption(items)] }));
998
+ });
999
+ function renderRangeCaption(items) {
1000
+ return (jsx("div", { className: "flex justify-between my-2", children: items.map((item, i) => (jsx("span", { className: "text-s-light text-secondary-text", children: item }, String(i)))) }));
1001
+ }
1002
+
1003
+ const renderCreditParameters = ({ amount, term, handleChange, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [renderInputRange({
1004
+ label: 'Сумма кредита, ₽',
1005
+ value: amount,
1006
+ onChange: (value) => handleChange({ amount: value }),
1007
+ min: MIN_CREDIT_AMOUNT,
1008
+ max: MAX_CREDIT_AMOUNT,
1009
+ items: ITEMS_CREDIT_AMOUNT,
1010
+ }), renderInputRange({
1011
+ label: 'Срок кредита, месяцев',
1012
+ value: term,
1013
+ onChange: (value) => handleChange({ term: value }),
1014
+ min: MIN_CREDIT_TERM,
1015
+ max: MAX_CREDIT_TERM,
1016
+ items: ITEMS_CREDIT_TERM,
1017
+ })] }));
1018
+ const renderInputRange = (props) => (jsxs("div", { className: "w-1/2", children: [jsx("label", { children: jsx(Text, { size: "text-m-light", children: props.label }) }), jsx(InputRange, { ...props })] }));
1019
+
1020
+ const renderDataOrganization$2 = ({ fullName, inn, name, phone, mail, annualRevenue, handleChange, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", value: fullName, onChange: (value) => handleChange({ fullName: value }) }), jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0418\u041D\u041D", label: "\u0418\u041D\u041D", value: inn, onChange: (value) => handleChange({ inn: value }) }), jsx(Input, { className: "shrink-0 text-l w-full ", type: "text", "aria-label": "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", value: phone, onChange: (value) => handleChange({ phone: value }) })] }), jsxs("div", { className: "w-1/2", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", label: "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", value: annualRevenue, onChange: (value) => handleChange({ annualRevenue: value }) }), jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", value: name, onChange: (value) => handleChange({ name: value }) }), jsx(Input, { className: "shrink-0 text-l w-full ", type: "text", "aria-label": "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", value: mail, onChange: (value) => handleChange({ mail: value }) })] })] }));
1021
+
1022
+ const MIN_CREDIT_AMOUNT = 50000;
1023
+ const MAX_CREDIT_AMOUNT = 3000000;
1024
+ const ITEMS_CREDIT_AMOUNT = ['От 50 000 ₽', 'До 3 000 000 ₽'];
1025
+ const MIN_CREDIT_TERM = 1;
1026
+ const MAX_CREDIT_TERM = 60;
1027
+ const ITEMS_CREDIT_TERM = ['От 1 года', 'До 5 лет'];
1028
+ const ApplicationFormCredit = JSX((props) => {
1029
+ const { button, link, handleSubmit } = props;
1030
+ const [formState, setFormState] = useState({
1031
+ amount: MIN_CREDIT_AMOUNT,
1032
+ term: MIN_CREDIT_TERM,
1033
+ fullName: '',
1034
+ inn: '',
1035
+ name: '',
1036
+ phone: '',
1037
+ mail: '',
1038
+ region: '',
1039
+ department: '',
1040
+ annualRevenue: '',
1041
+ });
1042
+ const { amount, term, fullName, inn, name, phone, mail, region, department, annualRevenue } = formState;
1043
+ const regions = useGetRegions();
1044
+ const { handleChange, onSubmit } = useFormHandlers({
1045
+ formState,
1046
+ handleSubmit,
1047
+ setFormState,
1048
+ typeForm: 'cred',
1049
+ });
1050
+ const selectedRegion = normalizeSelectedRegion$1(formState.region, regions);
1051
+ const branches = useSafeBoxes(region);
1052
+ useEffect(() => {
1053
+ handleChange({
1054
+ department: '',
1055
+ });
1056
+ }, [formState.region, handleChange]);
1057
+ return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [jsx(Heading, { headingType: "h6", title: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043A\u0440\u0435\u0434\u0438\u0442\u0430", className: "text-center mb-4" }), renderCreditParameters({ amount, term, handleChange }), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "text-center mb-4" }), renderDataOrganization$2({ fullName, inn, name, phone, mail, annualRevenue, handleChange }), jsx(Heading, { headingType: "h6", title: "\u041E\u0444\u0438\u0441 \u0431\u0430\u043D\u043A\u0430", className: "text-center mb-4" }), renderBankOffices({
1058
+ regions,
1059
+ region: selectedRegion,
1060
+ branches,
1061
+ department,
1062
+ handleChange,
1063
+ }), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
1064
+ });
1065
+
1066
+ const ApplicationFormDeposit = JSX((props) => {
1067
+ const { button, link, handleSubmit } = props;
1068
+ const [formState, setFormState] = useState({
1069
+ name: '',
1070
+ phone: '',
1071
+ });
1072
+ const { handleChange, onSubmit } = useFormHandlers({
1073
+ formState,
1074
+ handleSubmit,
1075
+ setFormState,
1076
+ typeForm: 'dpst',
1077
+ });
1078
+ return (jsxs("form", { onSubmit: onSubmit, className: "container", 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: "text-center mb-4" }), renderDataOrganization$1({ name: formState.name, phone: formState.phone, handleChange }), jsxs("div", { className: "flex justify-between items-center max-w-[560px] m-auto", children: [jsx("div", { className: "flex-1", children: jsx(Footnote, { link: link }) }), renderSubmitButton(button)] })] }));
1079
+ });
1080
+ const renderDataOrganization$1 = ({ name, phone, handleChange }) => (jsxs("div", { className: "max-w-[560px] m-auto", children: [jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0418\u043C\u044F", label: "\u0418\u043C\u044F", value: name, onChange: (value) => handleChange({ name: value }) }), jsx(Input, { className: "shrink-0 text-l w-full mb-5", type: "text", "aria-label": "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", value: phone, onChange: (value) => handleChange({ phone: value }) })] }));
1081
+
1082
+ 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(ImgInner, { 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(ImgInner, { image: { icon: 'MailIcon' }, width: "24", height: "24", className: "mr-3" }), jsx("span", { children: "ved@rshb.ru" })] })] }));
1083
+
1084
+ const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
1085
+ 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))) }));
1086
+ });
1087
+
1088
+ const CHECK_PATHS = [
1089
+ {
1090
+ 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',
1091
+ fillRule: 'evenodd',
1092
+ clipRule: 'evenodd',
1093
+ fill: 'white',
1094
+ },
1095
+ ];
1096
+ const Checkbox = JSX(({ className, text, checked, disabled, isRadio, onChange }) => {
1097
+ return (jsx("div", { className: className, children: jsxs("label", { className: "flex items-center relative cursor-pointer group/box", children: [jsx("input", { className: style('peer appearance-none w-5 h-5 border-solid cursor-pointer checked:border-primary-main m-0', isRadio
1098
+ ? 'rounded-full border-2'
1099
+ : 'rounded checked:bg-primary-main disabled:bg-main-disabled border', checked ? 'border-black' : 'border-gray', disabled ? '' : 'group-hover/box:border-primary-hover'), type: "checkbox", onChange: (e) => onChange && onChange(e.target.checked), checked: checked, disabled: disabled }), isRadio ? (jsx("div", { className: "left-1 w-3 h-3 rounded-full bg-primary-main hidden absolute peer-checked:block" })) : (jsx(SVG, { paths: CHECK_PATHS, className: "hidden absolute left-1 ml-px peer-checked:block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" })), text ? jsx("span", { className: "font-sans ml-3 text-l-light", children: text }) : null] }) }));
1100
+ });
1101
+
1102
+ const renderQuestionsInterested = ({ currencyControl, documentaryOperations, conversionOperations, text, handleChange, }) => (jsxs("div", { className: "mb-6", children: [jsxs("div", { className: "flex items-center mb-4 gap-6", children: [jsx(Checkbox, { text: "\u0412\u0430\u043B\u044E\u0442\u043D\u044B\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C", checked: currencyControl, onChange: (value) => handleChange({ currencyControl: value }) }), jsx(Checkbox, { text: "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0440\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", checked: documentaryOperations, onChange: (value) => handleChange({ documentaryOperations: value }) }), jsx(Checkbox, { text: "\u041A\u043E\u043D\u0432\u0435\u0440\u0441\u0438\u043E\u043D\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", checked: conversionOperations, onChange: (value) => handleChange({ conversionOperations: value }) })] }), jsx("textarea", { placeholder: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0412\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:border-primary-text focus:border-primary-text", value: text, onChange: (e) => handleChange({ text: e.target.value }) })] }));
1103
+
1104
+ const ApplicationFormWed = JSX((props) => {
1105
+ const { button, link, handleSubmit } = props;
1106
+ const [formState, setFormState] = useState({
1107
+ fullName: '',
1108
+ name: '',
1109
+ phone: '',
1110
+ mail: '',
1111
+ currencyControl: false,
1112
+ documentaryOperations: false,
1113
+ conversionOperations: false,
1114
+ text: '',
1115
+ });
1116
+ const { fullName, name, phone, mail, currencyControl, documentaryOperations, conversionOperations, text, } = formState;
1117
+ const { handleChange, onSubmit } = useFormHandlers({
1118
+ formState,
1119
+ handleSubmit,
1120
+ setFormState,
1121
+ typeForm: 'kved',
1122
+ });
1123
+ return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "text-center mb-4" }), renderDataOrganization({ fullName, name, phone, mail, handleChange }), jsx(Heading, { headingType: "h6", title: "\u0418\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u043E\u043F\u0440\u043E\u0441", className: "text-center mb-4" }), renderQuestionsInterested({
1124
+ currencyControl,
1125
+ documentaryOperations,
1126
+ conversionOperations,
1127
+ text,
1128
+ handleChange,
1129
+ }), jsxs("div", { className: "flex items-center pb-9 mb-9 border-b border-main-divider", children: [renderSubmitButton(button, 'mr-5'), 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: "text-center mb-4" }), renderContacts()] }));
1130
+ });
1131
+ const renderDataOrganization = ({ fullName, name, phone, mail, handleChange, }) => (jsxs("div", { children: [jsxs("div", { className: "flex justify-between gap-5 mb-5", children: [jsx("div", { className: "w-1/2", children: jsx(Input, { className: "shrink-0 text-l w-full", type: "text", "aria-label": "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", value: fullName, onChange: (value) => handleChange({ fullName: value }) }) }), jsx("div", { className: "w-1/2", children: jsx(Input, { className: "shrink-0 text-l w-full", type: "text", "aria-label": "\u0424\u0418\u041E", label: "\u0424\u0418\u041E", value: name, onChange: (value) => handleChange({ name: value }) }) })] }), jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [jsx("div", { className: "w-1/2", children: jsx(Input, { className: "shrink-0 text-l w-full", type: "text", "aria-label": "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", value: phone, onChange: (value) => handleChange({ phone: value }) }) }), jsx("div", { className: "w-1/2", children: jsx(Input, { className: "shrink-0 text-l w-full", type: "text", "aria-label": "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", value: mail, onChange: (value) => handleChange({ mail: value }) }) })] })] }));
705
1132
 
706
- const getRegularButtonClasses = ({ className, rounded, version, }) => [
707
- buttonStyle,
708
- 'border border-transparent inline-block cursor-pointer no-underline focus:border-primary-text focus:border',
709
- version ? buttonStyleMap[version] : '',
710
- rounded ? 'rounded-full' : 'rounded-md',
711
- className,
712
- ].join(' ');
1133
+ const ResponseNotification = JSX(({ responceType }) => {
1134
+ const responceOK = responceType === 'OK';
1135
+ const backgroundColor = responceOK ? 'bg-responce-ok' : 'bg-responce-fail';
1136
+ return (jsxs("div", { className: `flex items-center mt-5 p-5 rounded-md ${backgroundColor}`, children: [responceOK ? (jsx(ImgInner, { image: { icon: 'ResponceOKIcon' }, width: "42", height: "42", className: "mr-4" })) : (jsx(ImgInner, { image: { icon: 'ResponceFailIcon' }, width: "37", height: "34", className: "mr-4" })), jsxs("div", { children: [jsx(Heading, { headingType: "h6", title: responceOK ? 'Ваша заявка отправлена' : 'Не удалось отправить заявку', className: "mb-1" }), jsx(Text, { size: "text-l-light", color: "text-secondary-text", children: responceOK ? 'Совсем скоро мы с вами свяжемся' : 'Пожалуйста, повторите позднее' })] })] }));
1137
+ });
713
1138
 
714
- const Button = JSX(({ disabled, children, ...rest }) => {
715
- const link = useLink();
716
- const adjustedProps = link(rest);
717
- const buttonInner = children ?? jsx(ButtonInner, { ...adjustedProps });
718
- return disabled ? (jsx(DisabledButton, { ...adjustedProps, children: buttonInner })) : (jsx(RegularButton, { ...adjustedProps, children: buttonInner }));
1139
+ const COMPONENTS_MAP = {
1140
+ credit: (props) => jsx(ApplicationFormCredit, { ...props }),
1141
+ acquiring: (props) => jsx(ApplicationFormAcquiring, { ...props }),
1142
+ 'business-card': (props) => jsx(ApplicationFormBusinessCard, { ...props }),
1143
+ deposit: (props) => jsx(ApplicationFormDeposit, { ...props }),
1144
+ wed: (props) => jsx(ApplicationFormWed, { ...props }),
1145
+ };
1146
+ const ApplicationForm = JSX((props) => {
1147
+ const { className = '', title, typeForm = 'credit', button, link, ...rest } = props;
1148
+ const [responceType, setResponceType] = useState('');
1149
+ const handleSubmit = useCallback(() => {
1150
+ setResponceType('OK');
1151
+ return 'OK';
1152
+ }, []);
1153
+ return (jsx(BlockWrapper, { className: `font-sans bg-white p-[50px] pb-9 ${className}`, ...rest, children: jsxs("div", { className: "container max-w-[978px]", children: [title ? jsx(Heading, { headingType: "h3", title: title, className: "text-center mb-8" }) : null, COMPONENTS_MAP[typeForm]({ button, link, handleSubmit }), responceType ? jsx(ResponseNotification, { responceType: responceType }) : null] }) }));
719
1154
  });
720
- 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 })));
721
- 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 })));
1155
+
1156
+ const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => (jsxs(BlockWrapper, { className: `p-12 flex flex-col items-center ${className}`, ...rest, children: [title ? (jsx(Heading, { headingType: "h3", as: "h2", className: "max-w-[47rem] text-center", title: title })) : null, benefitList?.length ? (jsx("div", { className: "flex flex-wrap w-full justify-center gap-x-20 mt-8", children: benefitList.map(renderStep) })) : null] })));
1157
+ const renderStep = (benefit, i) => {
1158
+ const description = benefit.description;
1159
+ return (jsxs("div", { className: "flex items-center basis-1/2 max-w-[500px] mb-14", children: [benefit?.icon?.icon ? (jsx(ImgInner, { className: "w-12 h-12 min-w-12 p-3 rounded-full bg-main-divider text-primary-main group-data-secondary:bg-white/30 group-data-secondary:text-black", image: benefit.icon, asSVG: true })) : null, benefit?.icon?.src ? jsx(ImgInner, { image: benefit.icon }) : null, jsxs("div", { className: "ml-5", children: [benefit?.label ? jsx(Heading, { headingType: "h6", children: benefit.label }) : null, renderDescription$5(description)] })] }, String(i)));
1160
+ };
1161
+ const renderDescription$5 = (description) => {
1162
+ const benefitType = description?.benefitType || null;
1163
+ return description && benefitType ? (jsx("div", { className: "mt-2 text-l-light text-secondary-text group-data-secondary:text-white/80", children: benefitType === 'list'
1164
+ ? renderListBenefit(description)
1165
+ : renderTextBenefit(description) })) : null;
1166
+ };
1167
+ const renderTextBenefit = (description) => description?.name || null;
1168
+ const renderListBenefit = (description) => {
1169
+ const listStyleType = description?.bullets ? 'list-disc pl-6' : '';
1170
+ return description?.items && description.items.length > 0 ? (jsx("ul", { className: listStyleType, children: description.items.map((_, i) => (jsx("li", { children: _ }, `benefitListItem-${i}`))) })) : null;
1171
+ };
722
1172
 
723
1173
  const renderButtonsSection = (buttons, { className = '', buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-2' : 'gap-4', className), children: buttons.map(renderButton(buttonClassName)) })) : null;
724
1174
  const renderButton = (buttonClassName = '') => (button, index) => {
@@ -864,8 +1314,6 @@
864
1314
  return isVisible ? (jsxs("div", { children: [canDec ? (jsx(ArrowButton, { className: `absolute z-50 ${btnClass[0]} ${className}`, onClick: dec, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E", "data-block-control": "scroll-left", disabled: !canDec })) : null, canInc ? (jsx(ArrowButton, { className: `absolute z-50 rotate-180 ${btnClass[1]} ${className}`, onClick: inc, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", "data-block-control": "scroll-right", disabled: !canInc })) : null] })) : null;
865
1315
  }
866
1316
 
867
- const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', {}).format(number);
868
-
869
1317
  const CalculatorValueBlock = JSX(({ title, value, postfix = '', prefix, className = '' }) => (jsxs("div", { className: style('mb-7', className), children: [title ? (jsx(Text, { size: "text-l-light", color: "text-secondary-text", children: title })) : null, value ? (jsx("div", { children: jsxs(Text, { size: "text-h3", children: [prefix, " ", addSpacesBetweenNumbers(Math.round(value)), " ", postfix] }) })) : (jsx("div", { children: jsx(Text, { size: "text-h3", children: "-" }) }))] })));
870
1318
 
871
1319
  const DEFAULT_MIN_SUM = 60000;
@@ -938,28 +1386,6 @@
938
1386
 
939
1387
  const renderFootnote = (text) => text ? (jsx(Paragraph, { size: "text-s-light", color: "text-secondary-text", children: text })) : null;
940
1388
 
941
- const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
942
-
943
- const getSanitizedValue = (_) => _.split(/\s+/).join('');
944
-
945
- const DISABLED_INPUT_CLASSES = 'disabled:border-gray disabled:bg-main-divider';
946
- const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, disabled = false, onChange, }) => {
947
- const handleChange = (e) => {
948
- if (!onChange) {
949
- return;
950
- }
951
- onChange(clamp(Number(getSanitizedValue(e.target.value)), min, max));
952
- };
953
- const inputStyle = {
954
- backgroundSize: `${(((value - min) * 100) / (max - min)).toFixed(2)}% 100%`,
955
- };
956
- return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? jsx("span", { className: "text-m-light text-primary-text", children: title }) : null, jsx("input", { className: `m-0 mt-2 font-sans text-h3 w-full h-14 border border-solid border-gray rounded-md
957
- outline-none p-0 pl-4 box-border text-primary-text hover:border-primary-hover focus:border-primary-text ${DISABLED_INPUT_CLASSES}`, value: addSpacesBetweenNumbers(value), disabled: disabled, onChange: handleChange, onBlur: handleChange }), 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", type: "range", min: min, max: max, step: step, value: value, disabled: disabled, onChange: handleChange, style: inputStyle }) })] }), renderRangeCaption(items)] }));
958
- });
959
- function renderRangeCaption(items) {
960
- return (jsx("div", { className: "flex justify-between my-2", children: items.map((item, i) => (jsx("span", { className: "text-s-light text-secondary-text", children: item }, String(i)))) }));
961
- }
962
-
963
1389
  const DEFAULT_MONEY_STEP = 1000;
964
1390
  function renderWantedSumInput(title, params, callback) {
965
1391
  const { moneyValue, minSum, maxSum, step = DEFAULT_MONEY_STEP, isShowItems = true } = params;
@@ -982,86 +1408,6 @@
982
1408
  return [prefBonus, yearBonus];
983
1409
  };
984
1410
 
985
- const consistentDataMap = new Map();
986
- function useAsyncData(key, fetcher, { fallback } = {}) {
987
- const args = useMemo(() => keyToArgs(key), [key]);
988
- const [data, setData] = useState();
989
- const [error, setError] = useState();
990
- const updateData = (_) => {
991
- setData(_);
992
- setError(undefined);
993
- };
994
- const updateError = (_) => {
995
- setData(undefined);
996
- setError(_);
997
- };
998
- const chainToConsistentResult = (_) => {
999
- _.then(rawData => consistentDataMap.get(args) || rawData)
1000
- .then(updateData)
1001
- .catch(updateError);
1002
- };
1003
- useEffect(() => {
1004
- const isEmptyKey = args.every(_ => _ === null);
1005
- if (isEmptyKey) {
1006
- return;
1007
- }
1008
- try {
1009
- const _ = fetcher(...args);
1010
- if ('then' in _) {
1011
- chainToConsistentResult(_);
1012
- }
1013
- else {
1014
- updateData(_);
1015
- }
1016
- }
1017
- catch (err) {
1018
- updateError(err);
1019
- }
1020
- }, [fetcher, ...args]);
1021
- const simpleKey = args[0];
1022
- const fallbackData = fallback && typeof simpleKey === 'string' && fallback[simpleKey];
1023
- return {
1024
- data: !data && !error && fallbackData ? fallbackData : data,
1025
- error,
1026
- mutate: () => Promise.resolve(undefined),
1027
- isValidating: false
1028
- };
1029
- }
1030
- function keyToArgs(key) {
1031
- if (!key) {
1032
- return [key];
1033
- }
1034
- if (Array.isArray(key)) {
1035
- return key;
1036
- }
1037
- else if (key instanceof Function) {
1038
- return keyToArgs(key());
1039
- }
1040
- else {
1041
- return [key];
1042
- }
1043
- }
1044
-
1045
- async function fetchJSON(url, options) {
1046
- try {
1047
- return await fetchJSONUnsafe(url, options);
1048
- }
1049
- catch (err) {
1050
- console.error(err);
1051
- }
1052
- return null;
1053
- }
1054
- async function fetchJSONUnsafe(url, options) {
1055
- const response = await fetch(url, {
1056
- ...options,
1057
- headers: {
1058
- ...options?.headers,
1059
- 'Content-Type': 'application/json',
1060
- },
1061
- });
1062
- return await response.json();
1063
- }
1064
-
1065
1411
  function useCalculatorParams(dir) {
1066
1412
  const { data } = useAsyncData(`/wcms-resources/${dir}.json`, fetchJSONUnsafe);
1067
1413
  return data;
@@ -1106,24 +1452,6 @@
1106
1452
  }, handleRestExpenseValue)] }), jsx("div", { children: monthBonus >= 0 ? (jsx(Rate, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u043C\u0435\u0441\u044F\u0446", rate: monthBonus, rateBlockClassName: "tracking-[-14px]" })) : null }), jsxs("div", { className: "w-full max-w-[350px]", children: [yearBonus >= 0 ? jsx(CalculatorValueBlock, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u0433\u043E\u0434", value: yearBonus }) : null, renderButtonsSection(buttons, { className: 'mt-7', isVertical: true }), renderFootnote(footnote)] })] }));
1107
1453
  });
1108
1454
 
1109
- const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
1110
- 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))) }));
1111
- });
1112
-
1113
- const CHECK_PATHS = [
1114
- {
1115
- 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',
1116
- fillRule: 'evenodd',
1117
- clipRule: 'evenodd',
1118
- fill: 'white',
1119
- },
1120
- ];
1121
- const Checkbox = JSX(({ className, text, checked, disabled, isRadio, onChange }) => {
1122
- return (jsx("div", { className: className, children: jsxs("label", { className: "flex items-center relative cursor-pointer group/box", children: [jsx("input", { className: style('peer appearance-none w-5 h-5 border-solid cursor-pointer checked:border-primary-main m-0', isRadio
1123
- ? 'rounded-full border-2'
1124
- : 'rounded checked:bg-primary-main disabled:bg-main-disabled border', checked ? 'border-black' : 'border-gray', disabled ? '' : 'group-hover/box:border-primary-hover'), type: "checkbox", onChange: (e) => onChange && onChange(e.target.checked), checked: checked, disabled: disabled }), isRadio ? (jsx("div", { className: "left-1 w-3 h-3 rounded-full bg-primary-main hidden absolute peer-checked:block" })) : (jsx(SVG, { paths: CHECK_PATHS, className: "hidden absolute left-1 ml-px peer-checked:block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" })), text ? jsx("span", { className: "font-sans ml-3 text-l-light", children: text }) : null] }) }));
1125
- });
1126
-
1127
1455
  const STEP_DAYS = 1;
1128
1456
  function renderDaysInput(title, params, callback) {
1129
1457
  const { minDays, maxDays, daysValue } = params;
@@ -1430,25 +1758,6 @@
1430
1758
  };
1431
1759
  const replaceCommaToDot = (val) => String(val.replace(',', '.').replace(/[^.\d]/g, ''));
1432
1760
 
1433
- const Input = JSX(({ className = '', inputClassName = '', id, name, type = 'text', label, value = '', valid = true, children, onChange, onBlur, ...inputProps }) => {
1434
- const handleChange = useCallback((e) => {
1435
- const validInputValue = e.target.validity.valid ? e.target.value : value;
1436
- onChange(validInputValue);
1437
- }, [onChange]);
1438
- const handleBlur = useCallback((e) => {
1439
- if (!onBlur) {
1440
- return;
1441
- }
1442
- const validInputValue = e.target.validity.valid ? e.target.value : value;
1443
- onBlur(validInputValue);
1444
- }, [onBlur]);
1445
- const paddingStyle = children ? 'pr-8' : '';
1446
- const validStyle = valid
1447
- ? 'border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'
1448
- : 'border-error';
1449
- return (jsxs("div", { className: `relative ${className}`, children: [label ? jsx("label", { className: "block text-m-light mb-2", children: label }) : null, jsx("input", { className: `w-full border rounded-md text-primary-text outline-none p-4 ${paddingStyle} ${validStyle} ${inputClassName}`, id: id, name: name || id, type: type, value: value, onChange: handleChange, onBlur: handleBlur, ...inputProps }), children] }));
1450
- });
1451
-
1452
1761
  const CurrencyInput = JSX(({ className = '', onChange, minValue = 0, maxValue = 300000, ...inputProps }) => {
1453
1762
  const handleChange = useCallback((inputValue) => {
1454
1763
  if (!onChange) {
@@ -1775,7 +2084,7 @@
1775
2084
  const tileTitle = title ? (jsx(Heading, { headingType: "h5", as: "h3", className: "mb-3.5 z-10", title: title })) : null;
1776
2085
  const tileImage = image?.src ? (jsx(ImgInner, { className: "absolute bottom-0 right-0 m-0", image: image })) : null;
1777
2086
  const BORDER_STYLE = 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider';
1778
- return (jsx(BlockWrapper, { className: style('relative p-7 min-w-[524px] text-left box-border group-data-gray:bg-main-divider/50', BORDER_STYLE, className), version: version, ...rest, children: jsx(BaseTile, { className: "flex justify-between", title: tileTitle, image: tileImage, children: jsxs("div", { className: "h-full flex flex-col justify-between", children: [description ? jsx("span", { className: "mb-2", children: description }) : null, items.length ? (jsx(List, { className: "text-xl-light flex flex-col flex-1 gap-2 max-w-[236px]", items: items })) : null, socialMedia.length ? jsx(SocialMedia, { className: "pt-10 pb-0", media: socialMedia }) : null, renderButtonsSection([button], { className: 'pt-2 mt-16' })] }) }) }));
2087
+ return (jsx(BlockWrapper, { className: style('relative p-7 min-w-[524px] text-left box-border group-data-gray:bg-main-divider/50', BORDER_STYLE, className), version: version, ...rest, children: jsx(BaseTile, { className: "flex justify-between", title: tileTitle, image: tileImage, children: jsxs("div", { className: "h-full flex flex-col justify-between", children: [description ? (jsx("span", { className: "mb-2 group-data-gray:text-secondary-text group-data-gray:max-w-[265px]", children: description })) : null, items.length ? (jsx(List, { className: "text-xl-light flex flex-col flex-1 gap-2 max-w-[236px]", items: items })) : null, socialMedia.length ? jsx(SocialMedia, { className: "pt-10 pb-0", media: socialMedia }) : null, renderButtonsSection([button], { className: 'pt-2 mt-16' })] }) }) }));
1779
2088
  });
1780
2089
 
1781
2090
  const VISIBLE_CELLS_COUNT = 1;
@@ -1895,7 +2204,8 @@
1895
2204
  }
1896
2205
  return null;
1897
2206
  };
1898
- const ErrorBlock = JSX(({ className = '', title, subtitle, error, button }) => (jsxs("section", { className: `flex flex-col justify-center items-center mt-12 ${className}`, children: [jsx("div", { className: "flex justify-center py-20", children: renderErrorContent(error) }), title ? jsx(Heading, { headingType: "h1", className: "text-left mb-4", title: title }) : null, subtitle ? (jsx("div", { className: "font-sans text-xl-light mb-7 max-w-[613px] text-center", children: subtitle })) : null, button?.text ? (jsx(Button, { className: "py-4 px-9", version: button?.version, ...button, children: button.text })) : null] })));
2207
+ const getErrorBlockStyle = (text) => (text ? 'py-20 pt-3 pb-1' : 'mb-16 pb-2 mt-24 pt-3');
2208
+ const ErrorBlock = JSX(({ className = '', title, subtitle, error, button }) => (jsxs("section", { className: style('flex flex-col justify-center items-center', getErrorBlockStyle(button?.text), className), children: [jsx("div", { className: "flex justify-center py-20", children: renderErrorContent(error) }), title ? jsx(Heading, { headingType: "h1", className: "text-left mb-4", title: title }) : null, subtitle ? (jsx("div", { className: "font-sans text-xl-light mb-7 max-w-[613px] text-center", children: subtitle })) : null, button?.text ? (jsx(Button, { className: "py-4 px-9", version: button?.version, ...button, children: button.text })) : null] })));
1899
2209
 
1900
2210
  var Currency;
1901
2211
  (function (Currency) {
@@ -1952,50 +2262,6 @@
1952
2262
  [() => true, () => props.handleConvert(props.value)],
1953
2263
  ])(props)?.();
1954
2264
 
1955
- function useOutsideClick(onClick) {
1956
- const targetRef = useRef(null);
1957
- useEffect(() => {
1958
- const handleClickOutside = (event) => {
1959
- if (targetRef &&
1960
- targetRef.current &&
1961
- event.target instanceof Node &&
1962
- !targetRef.current.contains(event.target)) {
1963
- onClick();
1964
- }
1965
- };
1966
- document.addEventListener('click', handleClickOutside);
1967
- return () => {
1968
- document.removeEventListener('click', handleClickOutside);
1969
- };
1970
- }, [onClick]);
1971
- return targetRef;
1972
- }
1973
-
1974
- const Select = JSX(({ className = '', isBorder = true, label, options = [], value, onChange, placeholder = '' }) => {
1975
- const [selectedItem, setSelectedItem] = useState(options[0] || { key: '', text: '' });
1976
- const [isOpen, setIsOpen] = useState(false);
1977
- const handleClickOutside = useCallback(() => setIsOpen(false), []);
1978
- const wrapperRef = useOutsideClick(handleClickOutside);
1979
- const choiceOption = (option) => {
1980
- setSelectedItem(option);
1981
- setIsOpen(false);
1982
- onChange(option);
1983
- };
1984
- const isSelected = (option) => Boolean(option.key === selectedItem.key);
1985
- useEffect(() => {
1986
- setSelectedItem(value || { key: '', text: '' });
1987
- }, [value]);
1988
- return (jsxs("div", { className: `${className}`, ref: wrapperRef, children: [label ? jsx("span", { className: "mb-2 flex text-primary-text", children: label }) : null, jsxs("div", { className: `relative ${isOpen ? 'z-20' : 'z-10'}`, children: [jsxs("div", { className: `text-l flex justify-between items-center mb-0.5 text-primary-text cursor-pointer
1989
- ${getBorderStyle$1(isBorder)}`, onClick: () => setIsOpen(!isOpen), children: [jsx("p", { className: "p-4 pr-8 h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: selectedItem?.text || placeholder }), jsx(Icon, { name: "ArrowUpIcon", width: "16", height: "16", className: `absolute right-3 ${isOpen ? '' : 'rotate-180'}` })] }), options?.length ? (jsx("div", { className: `h-0 ${renderOptionsStyle(isOpen)}`, 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(choiceOption, isOpen, isSelected)) }) })) : null] })] }));
1990
- });
1991
- const renderOptionsStyle = (isOpen) => (isOpen ? '' : 'overflow-hidden');
1992
- const renderOption = (choiceOption, isOpen, isSelected) => (option, i) => {
1993
- return (jsxs("div", { onClick: () => {
1994
- choiceOption(option);
1995
- }, className: "flex px-4 py-3 cursor-pointer hover:bg-main-divider pr-11 relative", children: [jsx("span", { className: "min-h-6", children: option.text }), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", className: ['absolute right-4 pt-0.5', isSelected(option) && isOpen ? '' : 'hidden'].join(' ') })] }, String(i)));
1996
- };
1997
- const getBorderStyle$1 = (isBorder) => isBorder ? 'border border-gray rounded-md hover:border-primary-hover' : '';
1998
-
1999
2265
  function renderInput(props) {
2000
2266
  const { placeholder, rates, selected, value, setValue, setSelected } = props;
2001
2267
  const ratesOptions = rates.map((_) => ({
@@ -2298,28 +2564,16 @@
2298
2564
  const renderMonthNames = (item, colSize) => item.month?.map((_, i) => (jsx("div", { style: { flexBasis: `${colSize}%` }, children: _.text }, `monthName-${i}`)));
2299
2565
  const renderMonthImages = (item) => item.month?.map((_) => _.image?.src ? (jsx("div", { className: "h-[207px] border-r pr-3 mr-3 border-main-divider last:border-r-0 last:pr-0 last:mr-0", children: jsx(ImgInner, { image: _.image, className: "flex" }) }, `monthImage-${_.image.src}`)) : null);
2300
2566
 
2301
- const checkIsHrefSameOrigin = (href, router) => [getOrigin(href), getOrigin(router.href)].every((link, _, arr) => Boolean(link) && link === arr[0]);
2302
-
2303
- const normalizeURLPath = (href) => {
2304
- if (isURL(href) || href?.startsWith('/')) {
2305
- return href;
2306
- }
2307
- return `${projectSettings.BASE_PATH || ''}${href}`;
2308
- };
2309
-
2310
- const isHrefActive = (href, router, cmp = (targetHref, baseHref) => baseHref.startsWith(targetHref)) => cmp(withoutQuery(normalizeURLPath(href)), withoutQuery(isURL(href) ? router.href : getPathname(router.href)));
2567
+ const isHrefActive = (href, router) => withoutQuery(isURL(href) ? router.href : getPathname(router.href)).startsWith(withoutQuery(adjustHref(href)));
2311
2568
 
2312
2569
  const isSubItemActive = (router) => (subItem) => isHrefActive(subItem.href, router);
2313
2570
 
2314
- const isTopItemActive = (router) => (topItem) => topItem.items?.some(isSubItemActive(router)) ||
2315
- isHrefActive(topItem.href, router) ||
2316
- checkIsHrefSameOrigin(topItem.href, router) ||
2317
- Boolean(projectSettings.BASE_PATH?.startsWith(topItem.href || '/'));
2571
+ const isTopItemActive = (router) => (topItem) => topItem.items?.some(isSubItemActive(router)) || isHrefActive(topItem.href, router);
2318
2572
 
2319
- const TopItem = JSX(({ className = '', active, flat, ariaLabel, children, ...rest }) => {
2573
+ const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
2320
2574
  const link = useLink();
2321
2575
  const { href, target, text, onClick } = link(rest);
2322
- return (jsx("a", { className: `${getLinkStyle(active, flat)} ${className}`, href: href, target: target, onClick: onClick, rel: "noopener noreferrer", "aria-label": ariaLabel, children: jsx("span", { className: getTextStyle$1(active, flat), children: text || children }) }));
2576
+ return (jsx("a", { className: style(getLinkStyle(active, flat), className), href: href, target: target, onClick: onClick, rel: "noopener noreferrer", "aria-label": text, children: jsx("span", { className: getTextStyle$1(active, flat), children: text || children }) }));
2323
2577
  });
2324
2578
  const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
2325
2579
  ? 'rounded-md border-primary-main group-data-transparent:border-white'
@@ -2382,9 +2636,9 @@
2382
2636
  }
2383
2637
  };
2384
2638
 
2385
- const REGIONS_URL$1 = '/api/v1/regions';
2639
+ const REGIONS_URL = '/api/v1/regions';
2386
2640
  function useRegions() {
2387
- const { data } = useAsyncData(REGIONS_URL$1, fetchJSONUnsafe);
2641
+ const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
2388
2642
  return data || [];
2389
2643
  }
2390
2644
 
@@ -2498,7 +2752,7 @@
2498
2752
  const [isShowLocationModal, { setTrue: showLocationModal, setFalse: hideLocationModal }] = useBool();
2499
2753
  const [location, onChangeLocation] = useLocation(defaultLocation);
2500
2754
  const iconVersion = version === 'transparent' ? 'white' : 'black';
2501
- return (jsxs("div", { className: style('flex items-center', className), children: [jsx(TopItem, { className: "mr-5", flat: true, href: "#", text: location.name, ariaLabel: "\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", onClick: showLocationModal }), officesLink ? (jsx(TopItem, { className: "mr-7", flat: true, href: officesLink, text: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B", ariaLabel: "\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u0441\u0435\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043E\u0444\u0438\u0441\u043E\u0432 \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u043E\u0432" })) : null, chat ? (jsx(HeaderChatBotButton, { className: "mr-5", iconVersion: iconVersion, chat: chat })) : null, jsx(HeaderSecondaryMenuButton, { className: "mr-5", image: { icon: 'LoupeIcon', iconVersion }, ariaLabel: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", disabled: true }), jsx(HeaderSecondaryMenuButton, { image: { icon: 'GridIcon', iconVersion }, ariaLabel: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438", isRounded: true, disabled: true }), isShowLocationModal ? (jsx(Location, { currentLocation: location, foreignOffices: foreignOffices, onChangeLocation: onChangeLocation, close: hideLocationModal })) : null] }));
2755
+ return (jsxs("div", { className: style('flex items-center', className), children: [jsx(TopItem, { className: "mr-5", flat: true, href: "#", text: location.name, onClick: showLocationModal }), officesLink ? (jsx(TopItem, { className: "mr-7", flat: true, href: officesLink, text: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B" })) : null, chat ? (jsx(HeaderChatBotButton, { className: "mr-5", iconVersion: iconVersion, chat: chat })) : null, isShowLocationModal ? (jsx(Location, { currentLocation: location, foreignOffices: foreignOffices, onChangeLocation: onChangeLocation, close: hideLocationModal })) : null] }));
2502
2756
  });
2503
2757
 
2504
2758
  const findActiveSubItem = (router) => (items = []) => {
@@ -2516,18 +2770,20 @@
2516
2770
  const ref = useOutsideClick(handleClickOutside);
2517
2771
  return (jsxs("div", { className: style(visible ? 'bg-white rounded-md shadow-blue-gray' : '', className), ref: ref, children: [jsx("button", { className: "group/btn flex justify-between items-center h-6 ml-6", "aria-label": `${visible ? 'Скрыть другие разделы' : 'Показать другие разделы'}`, onClick: handleToggle, children: Array(3)
2518
2772
  .fill(null)
2519
- .map((_, i) => (jsx("div", { className: "w-[3px] h-[3px] rounded mr-1 bg-primary-text group-hover/btn:bg-primary-hover group-data-transparent:bg-white" }, String(i)))) }), jsx("div", { className: style('flex flex-col rounded-md bg-white p-6 pb-2', visible ? '' : 'hidden'), "aria-hidden": !visible, children: items?.map((item, i) => (jsx("a", { className: style('text-l-light pb-4 hover:text-primary-main', item === activeItem ? 'text-primary-main' : ''), ...link(item), children: item.text }, item.href || String(i)))) })] }));
2773
+ .map((_, i) => (jsx("div", { className: "w-[3px] h-[3px] rounded mr-1 bg-primary-text group-hover/btn:bg-primary-hover group-data-transparent:bg-white" }, String(i)))) }), jsx("div", { className: style('flex flex-col rounded-md bg-white p-6 pb-2', visible ? '' : 'hidden'), "aria-hidden": !visible, children: items?.map((item, i) => {
2774
+ const { text, ...linkProps } = item;
2775
+ return (jsx("a", { className: style('text-l-light pb-4 hover:text-primary-main', item === activeItem ? 'text-primary-main' : ''), ...link(linkProps), children: text }, item.href || String(i)));
2776
+ }) })] }));
2520
2777
  });
2521
2778
 
2522
2779
  const HeaderItem = JSX(({ className = '', active, dataItemName, children, ...rest }) => {
2523
2780
  const link = useLink();
2524
2781
  const { href, target, text, onClick } = link(rest);
2525
- return (jsxs("a", { className: `relative inline-block bg-transparent text-center no-underline ${className}`, href: href, target: target, "data-item-name": dataItemName, onClick: onClick, children: [jsx("span", { className: getTextStyle(active), children: text || children }), active ? jsx("div", { className: getBorderStyle(active) }) : null] }));
2782
+ return (jsxs("a", { className: style('relative inline-block bg-transparent text-center no-underline', className), href: href, target: target, "data-item-name": dataItemName, onClick: onClick, children: [jsx("span", { className: getTextStyle(active), children: text || children }), active ? (jsx("div", { className: "absolute left-0 right-0 -bottom-3 h-0.5 bg-primary-main group-data-transparent:bg-transparent" })) : null] }));
2526
2783
  });
2527
2784
  const getTextStyle = (active = false) => style('font-sans text-l-light', active ? 'text-primary-main' : 'text-primary-text hover:text-primary-main', 'group-data-transparent:text-white group-data-transparent:hover:text-primary-hover');
2528
- const getBorderStyle = (active = false) => style('absolute left-0 -bottom-3 w-full h-0.5', active ? 'bg-primary-main group-data-transparent:bg-transparent' : '');
2529
2785
 
2530
- const HeaderSubMenuItem = JSX(({ className, active, observerOptions, onVisibilityChange, children, ...linkProps }) => {
2786
+ const HeaderSubMenuItem = JSX(({ observerOptions, onVisibilityChange, children, ...rest }) => {
2531
2787
  const observerCallback = useCallback((entries) => {
2532
2788
  if (!entries.length || !onVisibilityChange) {
2533
2789
  return;
@@ -2537,7 +2793,7 @@
2537
2793
  onVisibilityChange(entry.isIntersecting);
2538
2794
  }, [onVisibilityChange]);
2539
2795
  const ref = useIntersectionObserver(observerCallback, observerOptions);
2540
- return (jsx("span", { ref: ref, children: jsx(HeaderItem, { className: className, active: active, ...linkProps, children: children }) }));
2796
+ return (jsx("span", { ref: ref, children: jsx(HeaderItem, { ...rest, children: children }) }));
2541
2797
  });
2542
2798
 
2543
2799
  const HeaderSubMenu = JSX(({ subItems = [] }) => {
@@ -2552,7 +2808,7 @@
2552
2808
  ? handleIntersectionActivation(index)
2553
2809
  : handleIntersectionDeactivation(index));
2554
2810
  }), [subItems]);
2555
- return (jsxs("nav", { className: "relative mt-6", children: [jsx("div", { ref: subItemsListRef, className: "overflow-hidden whitespace-nowrap mr-52 pb-3", children: subItems.map((_, i) => (jsx(HeaderSubMenuItem, { className: `mr-8 ${visibleItemsCount - 1 < i ? 'invisible' : ''}`, active: _ === activeSubItem, observerOptions: observerOptions, onVisibilityChange: subItemsVisibilityHandlers[i], ..._ }, String(i)))) }), dropDownMenuItems.length ? (jsx(DropdownMenu, { className: "absolute w-52 -top-4 right-0 pt-4 z-40", items: dropDownMenuItems, activeItem: activeSubItem })) : null] }));
2811
+ return (jsxs("nav", { className: "relative mt-6", children: [jsx("div", { ref: subItemsListRef, className: "overflow-hidden whitespace-nowrap mr-52 pb-3", children: subItems.map((_, i) => (jsx(HeaderSubMenuItem, { className: style('mr-8', visibleItemsCount - 1 < i ? 'invisible' : ''), active: _ === activeSubItem, observerOptions: observerOptions, onVisibilityChange: subItemsVisibilityHandlers[i], ..._ }, String(i)))) }), dropDownMenuItems.length ? (jsx(DropdownMenu, { className: "absolute w-52 -top-4 right-0 pt-4 z-40", items: dropDownMenuItems, activeItem: activeSubItem })) : null] }));
2556
2812
  });
2557
2813
  const handleIntersectionActivation = (index) => (prev) => Math.max(prev, index + 1);
2558
2814
  const handleIntersectionDeactivation = (index) => (prev) => Math.min(prev, index);
@@ -2565,8 +2821,7 @@
2565
2821
  const router = useRouter();
2566
2822
  const { topItems, logo, defaultLocation, foreignOffices, officesLink } = useSWRResource(projectSettings.SITEMAP || 'sitemap', rest.options?.page?.fallback);
2567
2823
  const activeTopItem = topItems?.find(isTopItemActive(router));
2568
- const topMenu = topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, "aria-label": _.text, ..._ }, String(i))));
2569
- return (jsx(BlockWrapper, { tag: "header", className: style('pt-6 px-20', showSubMenu && activeTopItem?.items?.length ? 'pb-4' : 'pb-5', className), version: version, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topMenu, jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", foreignOffices: foreignOffices, defaultLocation: defaultLocation, officesLink: officesLink, chat: chat })] }), jsx("div", { className: style('mt-6 h-px bg-main-divider', version === 'transparent' ? 'opacity-30' : '') }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items })) : null] }) }));
2824
+ return (jsx(BlockWrapper, { tag: "header", className: style('pt-6 px-20', showSubMenu && activeTopItem?.items?.length ? 'pb-4' : 'pb-5', className), version: version, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ..._ }, String(i)))), jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", foreignOffices: foreignOffices, defaultLocation: defaultLocation, officesLink: officesLink, chat: chat })] }), jsx("div", { className: style('mt-6 h-px bg-main-divider', version === 'transparent' ? 'opacity-30' : '') }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items })) : null] }) }));
2570
2825
  });
2571
2826
 
2572
2827
  const gapStyles = {
@@ -3176,7 +3431,9 @@
3176
3431
  const { colorPalette } = getParentBlockContent(rest.options, {});
3177
3432
  return (jsx("div", { className: `border-0 border-b border-solid border-main-divider ${className}`, children: jsx(Foldable, { unfoldedByDefault: unfoldedByDefault, renderFoldableSection: ({ isUnfolded }) => (jsx("div", { className: "box-border", children: jsx(FoldableSection, { className: "grid grid-cols-12 gap-1 border-box", isUnfolded: isUnfolded, children: renderChildren(rest) }) })), renderFoldButton: ({ isUnfolded, onToggle }) => (jsx(DefaultFoldButton, { label: label, icon: icons[Number(isUnfolded)], dataTheme: colorPalette || rest.options?.page?.colorPalette, onClick: onToggle })) }) }));
3178
3433
  });
3179
- OtherProductsItem.childrenTypes = []; // All types of blocks are suitable
3434
+ OtherProductsItem.childrenTypes = {
3435
+ exclude: ['OtherProductsItem'],
3436
+ };
3180
3437
 
3181
3438
  const ParagraphBlock = JSX(({ text, size, align, font, children, ...rest }) => (jsx(BlockWrapper, { ...rest, children: jsx(Paragraph, { size: size, align: align, font: font, children: text || children }) })));
3182
3439
 
@@ -3430,17 +3687,6 @@
3430
3687
  };
3431
3688
  const renderPrimaryFoldButton = ({ label, icon, onToggle }) => (jsxs("button", { className: "border-none bg-transparent px-9 pt-5 pb-3.5 flex justify-between text-left w-full font-sans text-h6 cursor-pointer", onClick: onToggle, children: [jsx("span", { className: "text-xl font-medium pr-2.5", children: label }), icon ? jsx(ImgInner, { image: getIconWithVersion({ icon }), width: "24", height: "24", asSVG: true }) : null] }));
3432
3689
 
3433
- const SAFEBOXES_URL = '/api/v1/safeboxes';
3434
- const EMPTY_VALUE = [];
3435
- function useSafeBoxes(regionCode) {
3436
- const { data } = useAsyncData(regionCode ? `${SAFEBOXES_URL}?regionCode=${regionCode}` : null, fetchSafeBoxes);
3437
- return data || EMPTY_VALUE;
3438
- }
3439
- const fetchSafeBoxes = async (url) => {
3440
- const result = await fetchJSON(url, { method: 'GET' });
3441
- return result || EMPTY_VALUE;
3442
- };
3443
-
3444
3690
  const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
3445
3691
  const dataFormat = data
3446
3692
  .filter(Boolean)
@@ -3536,12 +3782,6 @@
3536
3782
  const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
3537
3783
  const getTariffs = (safeBoxCases, selectedBoxSize) => safeBoxCases?.find((_) => _.safeBoxCasesSize === selectedBoxSize)?.tariffs;
3538
3784
 
3539
- const REGIONS_URL = '/api/v1/regions';
3540
- function useGetRegions() {
3541
- const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
3542
- return data || [];
3543
- }
3544
-
3545
3785
  const DEFAULT_DAYS = 26;
3546
3786
  const SafeDepositRental = JSX(({ title, footnote, className = '', ...rest }) => {
3547
3787
  const [showMap, setShowMap] = useState(false);
@@ -3643,7 +3883,7 @@
3643
3883
  'horizontal-list': 'w-6',
3644
3884
  'vertical-list': 'h-6',
3645
3885
  };
3646
- const dotStyle = 'cursor-pointer bg-primary-main rounded-full transition-width duration-300 group-data-secondary:bg-white';
3886
+ const dotStyle = 'cursor-pointer bg-primary-main rounded-full transition-width duration-300 group-data-secondary:bg-white group-data-transparent:bg-white';
3647
3887
  const inactiveDotStyle = 'w-2 h-2 opacity-30';
3648
3888
  const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list' }) => {
3649
3889
  const handleClick = (idx) => {
@@ -4059,6 +4299,7 @@
4059
4299
  const Blocks = {
4060
4300
  Accordion,
4061
4301
  AccordionItem,
4302
+ ApplicationForm,
4062
4303
  BenefitsBlock,
4063
4304
  Bonus,
4064
4305
  BonusBenefitsBlock,
@@ -4242,7 +4483,7 @@
4242
4483
  return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-lg sticky bottom-0 pointer-events-auto" }) }));
4243
4484
  }
4244
4485
 
4245
- const packageVersion = "0.7.8";
4486
+ const packageVersion = "0.8.0";
4246
4487
 
4247
4488
  exports.Blocks = Blocks;
4248
4489
  exports.ContentPage = ContentPage;