@redneckz/wildless-cms-uni-blocks 0.7.9 → 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 (663) 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 +554 -319
  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/TopItem/TopItem.d.ts +0 -1
  36. package/bundle/utils/adjustHref.d.ts +1 -4
  37. package/bundle/utils/url.d.ts +4 -2
  38. package/cosmos-static/icons/MailIcon.svg +1 -0
  39. package/cosmos-static/icons/PhoneIcon.svg +1 -0
  40. package/cosmos-static/icons/ResponceFailIcon.svg +1 -0
  41. package/cosmos-static/icons/ResponceOKIcon.svg +1 -0
  42. package/dist/ProjectSettings.d.ts +4 -4
  43. package/dist/ProjectSettings.js +3 -5
  44. package/dist/ProjectSettings.js.map +1 -1
  45. package/dist/api/CorporateLeadAPI.d.ts +15 -0
  46. package/dist/api/CorporateLeadAPI.js +24 -0
  47. package/dist/api/CorporateLeadAPI.js.map +1 -0
  48. package/dist/components/ApplicationForm/ApplicationForm.d.ts +5 -0
  49. package/dist/components/ApplicationForm/ApplicationForm.js +30 -0
  50. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -0
  51. package/dist/components/ApplicationForm/ApplicationFormAcquiring.d.ts +12 -0
  52. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js +55 -0
  53. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -0
  54. package/dist/components/ApplicationForm/ApplicationFormBusinessCard.d.ts +9 -0
  55. package/dist/components/ApplicationForm/ApplicationFormBusinessCard.js +39 -0
  56. package/dist/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -0
  57. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +18 -0
  58. package/dist/components/ApplicationForm/ApplicationFormContent.js +2 -0
  59. package/dist/components/ApplicationForm/ApplicationFormContent.js.map +1 -0
  60. package/dist/components/ApplicationForm/ApplicationFormCredit.d.ts +20 -0
  61. package/dist/components/ApplicationForm/ApplicationFormCredit.js +59 -0
  62. package/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -0
  63. package/dist/components/ApplicationForm/ApplicationFormDeposit.d.ts +6 -0
  64. package/dist/components/ApplicationForm/ApplicationFormDeposit.js +26 -0
  65. package/dist/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -0
  66. package/dist/components/ApplicationForm/ApplicationFormWed.d.ts +12 -0
  67. package/dist/components/ApplicationForm/ApplicationFormWed.js +41 -0
  68. package/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -0
  69. package/dist/components/ApplicationForm/ApplicationFormsProps.d.ts +7 -0
  70. package/dist/components/ApplicationForm/ApplicationFormsProps.js +2 -0
  71. package/dist/components/ApplicationForm/ApplicationFormsProps.js.map +1 -0
  72. package/dist/components/ApplicationForm/Footnote.d.ts +6 -0
  73. package/dist/components/ApplicationForm/Footnote.js +9 -0
  74. package/dist/components/ApplicationForm/Footnote.js.map +1 -0
  75. package/dist/components/ApplicationForm/ResponseNotification.d.ts +5 -0
  76. package/dist/components/ApplicationForm/ResponseNotification.js +13 -0
  77. package/dist/components/ApplicationForm/ResponseNotification.js.map +1 -0
  78. package/dist/components/ApplicationForm/WrapperSelect.d.ts +11 -0
  79. package/dist/components/ApplicationForm/WrapperSelect.js +13 -0
  80. package/dist/components/ApplicationForm/WrapperSelect.js.map +1 -0
  81. package/dist/components/ApplicationForm/acquiringTypes.d.ts +2 -0
  82. package/dist/components/ApplicationForm/acquiringTypes.js +25 -0
  83. package/dist/components/ApplicationForm/acquiringTypes.js.map +1 -0
  84. package/dist/components/ApplicationForm/models.d.ts +6 -0
  85. package/dist/components/ApplicationForm/models.js +2 -0
  86. package/dist/components/ApplicationForm/models.js.map +1 -0
  87. package/dist/components/ApplicationForm/normalizeSelectedRegion.d.ts +2 -0
  88. package/dist/components/ApplicationForm/normalizeSelectedRegion.js +5 -0
  89. package/dist/components/ApplicationForm/normalizeSelectedRegion.js.map +1 -0
  90. package/dist/components/ApplicationForm/renderBankOffices.d.ts +13 -0
  91. package/dist/components/ApplicationForm/renderBankOffices.js +7 -0
  92. package/dist/components/ApplicationForm/renderBankOffices.js.map +1 -0
  93. package/dist/components/ApplicationForm/renderContacts.d.ts +2 -0
  94. package/dist/components/ApplicationForm/renderContacts.js +7 -0
  95. package/dist/components/ApplicationForm/renderContacts.js.map +1 -0
  96. package/dist/components/ApplicationForm/renderCreditParameters.d.ts +10 -0
  97. package/dist/components/ApplicationForm/renderCreditParameters.js +24 -0
  98. package/dist/components/ApplicationForm/renderCreditParameters.js.map +1 -0
  99. package/dist/components/ApplicationForm/renderDataOrganization.d.ts +14 -0
  100. package/dist/components/ApplicationForm/renderDataOrganization.js +7 -0
  101. package/dist/components/ApplicationForm/renderDataOrganization.js.map +1 -0
  102. package/dist/components/ApplicationForm/renderQuestionsInterested.d.ts +12 -0
  103. package/dist/components/ApplicationForm/renderQuestionsInterested.js +7 -0
  104. package/dist/components/ApplicationForm/renderQuestionsInterested.js.map +1 -0
  105. package/dist/components/ApplicationForm/renderSelects.d.ts +11 -0
  106. package/dist/components/ApplicationForm/renderSelects.js +8 -0
  107. package/dist/components/ApplicationForm/renderSelects.js.map +1 -0
  108. package/dist/components/ApplicationForm/renderSlideCheckboxes.d.ts +10 -0
  109. package/dist/components/ApplicationForm/renderSlideCheckboxes.js +7 -0
  110. package/dist/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -0
  111. package/dist/components/ApplicationForm/renderSubmitButton.d.ts +3 -0
  112. package/dist/components/ApplicationForm/renderSubmitButton.js +13 -0
  113. package/dist/components/ApplicationForm/renderSubmitButton.js.map +1 -0
  114. package/dist/components/ApplicationForm/useFormHandlers.d.ts +13 -0
  115. package/dist/components/ApplicationForm/useFormHandlers.js +16 -0
  116. package/dist/components/ApplicationForm/useFormHandlers.js.map +1 -0
  117. package/dist/components/Blocks.js +2 -0
  118. package/dist/components/Blocks.js.map +1 -1
  119. package/dist/components/Header/Header.js +1 -2
  120. package/dist/components/Header/Header.js.map +1 -1
  121. package/dist/components/Header/HeaderSecondaryMenu.js +1 -2
  122. package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  123. package/dist/components/Header/HeaderSubMenu.js +2 -1
  124. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  125. package/dist/components/Header/HeaderSubMenuItem.js +2 -2
  126. package/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  127. package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  128. package/dist/components/SafeDepositRental/SafeDepositRentalFields.d.ts +2 -2
  129. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  130. package/dist/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +1 -1
  131. package/dist/hooks/useLink.js +16 -12
  132. package/dist/hooks/useLink.js.map +1 -1
  133. package/dist/icons/IconName.d.ts +10 -2
  134. package/dist/icons/IconName.js +9 -1
  135. package/dist/icons/IconName.js.map +1 -1
  136. package/dist/services/sitemap/isHrefActive.d.ts +1 -2
  137. package/dist/services/sitemap/isHrefActive.js +2 -2
  138. package/dist/services/sitemap/isHrefActive.js.map +1 -1
  139. package/dist/services/sitemap/isSubItemActive.d.ts +3 -2
  140. package/dist/services/sitemap/isSubItemActive.js.map +1 -1
  141. package/dist/services/sitemap/isTopItemActive.d.ts +3 -2
  142. package/dist/services/sitemap/isTopItemActive.js +1 -6
  143. package/dist/services/sitemap/isTopItemActive.js.map +1 -1
  144. package/dist/setup-fixture.js +13 -6
  145. package/dist/setup-fixture.js.map +1 -1
  146. package/dist/ui-kit/HeaderItem/HeaderItem.js +1 -2
  147. package/dist/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
  148. package/dist/ui-kit/HeaderItem/HeaderItem.mobile.js +1 -2
  149. package/dist/ui-kit/HeaderItem/HeaderItem.mobile.js.map +1 -1
  150. package/dist/ui-kit/TopItem/TopItem.d.ts +0 -1
  151. package/dist/ui-kit/TopItem/TopItem.js +2 -2
  152. package/dist/ui-kit/TopItem/TopItem.js.map +1 -1
  153. package/dist/utils/adjustHref.d.ts +1 -4
  154. package/dist/utils/adjustHref.js +4 -8
  155. package/dist/utils/adjustHref.js.map +1 -1
  156. package/dist/utils/url.d.ts +4 -2
  157. package/dist/utils/url.js +15 -28
  158. package/dist/utils/url.js.map +1 -1
  159. package/lib/ProjectSettings.d.ts +4 -4
  160. package/lib/ProjectSettings.js +3 -5
  161. package/lib/ProjectSettings.js.map +1 -1
  162. package/lib/api/CorporateLeadAPI.d.ts +15 -0
  163. package/lib/api/CorporateLeadAPI.js +21 -0
  164. package/lib/api/CorporateLeadAPI.js.map +1 -0
  165. package/lib/common.css +1 -1
  166. package/lib/components/ApplicationForm/ApplicationForm.d.ts +5 -0
  167. package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +12 -0
  168. package/lib/components/ApplicationForm/ApplicationForm.js +28 -0
  169. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -0
  170. package/lib/components/ApplicationForm/ApplicationFormAcquiring.d.ts +12 -0
  171. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js +53 -0
  172. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -0
  173. package/lib/components/ApplicationForm/ApplicationFormBusinessCard.d.ts +9 -0
  174. package/lib/components/ApplicationForm/ApplicationFormBusinessCard.js +37 -0
  175. package/lib/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -0
  176. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +18 -0
  177. package/lib/components/ApplicationForm/ApplicationFormContent.js +2 -0
  178. package/lib/components/ApplicationForm/ApplicationFormContent.js.map +1 -0
  179. package/lib/components/ApplicationForm/ApplicationFormCredit.d.ts +20 -0
  180. package/lib/components/ApplicationForm/ApplicationFormCredit.js +57 -0
  181. package/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -0
  182. package/lib/components/ApplicationForm/ApplicationFormDeposit.d.ts +6 -0
  183. package/lib/components/ApplicationForm/ApplicationFormDeposit.js +24 -0
  184. package/lib/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -0
  185. package/lib/components/ApplicationForm/ApplicationFormWed.d.ts +12 -0
  186. package/lib/components/ApplicationForm/ApplicationFormWed.js +39 -0
  187. package/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -0
  188. package/lib/components/ApplicationForm/ApplicationFormsProps.d.ts +7 -0
  189. package/lib/components/ApplicationForm/ApplicationFormsProps.js +2 -0
  190. package/lib/components/ApplicationForm/ApplicationFormsProps.js.map +1 -0
  191. package/lib/components/ApplicationForm/Footnote.d.ts +6 -0
  192. package/lib/components/ApplicationForm/Footnote.js +7 -0
  193. package/lib/components/ApplicationForm/Footnote.js.map +1 -0
  194. package/lib/components/ApplicationForm/ResponseNotification.d.ts +5 -0
  195. package/lib/components/ApplicationForm/ResponseNotification.js +11 -0
  196. package/lib/components/ApplicationForm/ResponseNotification.js.map +1 -0
  197. package/lib/components/ApplicationForm/WrapperSelect.d.ts +11 -0
  198. package/lib/components/ApplicationForm/WrapperSelect.js +11 -0
  199. package/lib/components/ApplicationForm/WrapperSelect.js.map +1 -0
  200. package/lib/components/ApplicationForm/acquiringTypes.d.ts +2 -0
  201. package/lib/components/ApplicationForm/acquiringTypes.js +23 -0
  202. package/lib/components/ApplicationForm/acquiringTypes.js.map +1 -0
  203. package/lib/components/ApplicationForm/models.d.ts +6 -0
  204. package/lib/components/ApplicationForm/models.js +2 -0
  205. package/lib/components/ApplicationForm/models.js.map +1 -0
  206. package/lib/components/ApplicationForm/normalizeSelectedRegion.d.ts +2 -0
  207. package/lib/components/ApplicationForm/normalizeSelectedRegion.js +2 -0
  208. package/lib/components/ApplicationForm/normalizeSelectedRegion.js.map +1 -0
  209. package/lib/components/ApplicationForm/renderBankOffices.d.ts +13 -0
  210. package/lib/components/ApplicationForm/renderBankOffices.js +4 -0
  211. package/lib/components/ApplicationForm/renderBankOffices.js.map +1 -0
  212. package/lib/components/ApplicationForm/renderContacts.d.ts +2 -0
  213. package/lib/components/ApplicationForm/renderContacts.js +4 -0
  214. package/lib/components/ApplicationForm/renderContacts.js.map +1 -0
  215. package/lib/components/ApplicationForm/renderCreditParameters.d.ts +10 -0
  216. package/lib/components/ApplicationForm/renderCreditParameters.js +21 -0
  217. package/lib/components/ApplicationForm/renderCreditParameters.js.map +1 -0
  218. package/lib/components/ApplicationForm/renderDataOrganization.d.ts +14 -0
  219. package/lib/components/ApplicationForm/renderDataOrganization.js +4 -0
  220. package/lib/components/ApplicationForm/renderDataOrganization.js.map +1 -0
  221. package/lib/components/ApplicationForm/renderQuestionsInterested.d.ts +12 -0
  222. package/lib/components/ApplicationForm/renderQuestionsInterested.js +4 -0
  223. package/lib/components/ApplicationForm/renderQuestionsInterested.js.map +1 -0
  224. package/lib/components/ApplicationForm/renderSelects.d.ts +11 -0
  225. package/lib/components/ApplicationForm/renderSelects.js +5 -0
  226. package/lib/components/ApplicationForm/renderSelects.js.map +1 -0
  227. package/lib/components/ApplicationForm/renderSlideCheckboxes.d.ts +10 -0
  228. package/lib/components/ApplicationForm/renderSlideCheckboxes.js +4 -0
  229. package/lib/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -0
  230. package/lib/components/ApplicationForm/renderSubmitButton.d.ts +3 -0
  231. package/lib/components/ApplicationForm/renderSubmitButton.js +10 -0
  232. package/lib/components/ApplicationForm/renderSubmitButton.js.map +1 -0
  233. package/lib/components/ApplicationForm/useFormHandlers.d.ts +13 -0
  234. package/lib/components/ApplicationForm/useFormHandlers.js +13 -0
  235. package/lib/components/ApplicationForm/useFormHandlers.js.map +1 -0
  236. package/lib/components/Blocks.js +2 -0
  237. package/lib/components/Blocks.js.map +1 -1
  238. package/lib/components/Header/Header.js +1 -2
  239. package/lib/components/Header/Header.js.map +1 -1
  240. package/lib/components/Header/HeaderSecondaryMenu.js +1 -2
  241. package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  242. package/lib/components/Header/HeaderSubMenu.js +2 -1
  243. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  244. package/lib/components/Header/HeaderSubMenuItem.js +2 -2
  245. package/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  246. package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  247. package/lib/components/SafeDepositRental/SafeDepositRentalFields.d.ts +2 -2
  248. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  249. package/lib/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +1 -1
  250. package/lib/hooks/useLink.js +17 -13
  251. package/lib/hooks/useLink.js.map +1 -1
  252. package/lib/icons/IconName.d.ts +10 -2
  253. package/lib/icons/IconName.js +9 -1
  254. package/lib/icons/IconName.js.map +1 -1
  255. package/lib/services/sitemap/isHrefActive.d.ts +1 -2
  256. package/lib/services/sitemap/isHrefActive.js +2 -2
  257. package/lib/services/sitemap/isHrefActive.js.map +1 -1
  258. package/lib/services/sitemap/isSubItemActive.d.ts +3 -2
  259. package/lib/services/sitemap/isSubItemActive.js.map +1 -1
  260. package/lib/services/sitemap/isTopItemActive.d.ts +3 -2
  261. package/lib/services/sitemap/isTopItemActive.js +1 -6
  262. package/lib/services/sitemap/isTopItemActive.js.map +1 -1
  263. package/lib/setup-fixture.js +14 -7
  264. package/lib/setup-fixture.js.map +1 -1
  265. package/lib/ui-kit/HeaderItem/HeaderItem.js +1 -2
  266. package/lib/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
  267. package/lib/ui-kit/HeaderItem/HeaderItem.mobile.js +1 -2
  268. package/lib/ui-kit/HeaderItem/HeaderItem.mobile.js.map +1 -1
  269. package/lib/ui-kit/TopItem/TopItem.d.ts +0 -1
  270. package/lib/ui-kit/TopItem/TopItem.js +2 -2
  271. package/lib/ui-kit/TopItem/TopItem.js.map +1 -1
  272. package/lib/utils/adjustHref.d.ts +1 -4
  273. package/lib/utils/adjustHref.js +5 -9
  274. package/lib/utils/adjustHref.js.map +1 -1
  275. package/lib/utils/url.d.ts +4 -2
  276. package/lib/utils/url.js +12 -26
  277. package/lib/utils/url.js.map +1 -1
  278. package/mobile/bundle/ProjectSettings.d.ts +4 -4
  279. package/mobile/bundle/api/CorporateLeadAPI.d.ts +15 -0
  280. package/mobile/bundle/bundle.umd.js +40 -70
  281. package/mobile/bundle/bundle.umd.min.js +1 -1
  282. package/mobile/bundle/components/ApplicationForm/ApplicationForm.d.ts +5 -0
  283. package/mobile/bundle/components/ApplicationForm/ApplicationFormAcquiring.d.ts +12 -0
  284. package/mobile/bundle/components/ApplicationForm/ApplicationFormBusinessCard.d.ts +9 -0
  285. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +18 -0
  286. package/mobile/bundle/components/ApplicationForm/ApplicationFormCredit.d.ts +20 -0
  287. package/mobile/bundle/components/ApplicationForm/ApplicationFormDeposit.d.ts +6 -0
  288. package/mobile/bundle/components/ApplicationForm/ApplicationFormWed.d.ts +12 -0
  289. package/mobile/bundle/components/ApplicationForm/ApplicationFormsProps.d.ts +7 -0
  290. package/mobile/bundle/components/ApplicationForm/Footnote.d.ts +6 -0
  291. package/mobile/bundle/components/ApplicationForm/ResponseNotification.d.ts +5 -0
  292. package/mobile/bundle/components/ApplicationForm/WrapperSelect.d.ts +11 -0
  293. package/mobile/bundle/components/ApplicationForm/acquiringTypes.d.ts +2 -0
  294. package/mobile/bundle/components/ApplicationForm/models.d.ts +6 -0
  295. package/mobile/bundle/components/ApplicationForm/normalizeSelectedRegion.d.ts +2 -0
  296. package/mobile/bundle/components/ApplicationForm/renderBankOffices.d.ts +13 -0
  297. package/mobile/bundle/components/ApplicationForm/renderContacts.d.ts +2 -0
  298. package/mobile/bundle/components/ApplicationForm/renderCreditParameters.d.ts +10 -0
  299. package/mobile/bundle/components/ApplicationForm/renderDataOrganization.d.ts +14 -0
  300. package/mobile/bundle/components/ApplicationForm/renderQuestionsInterested.d.ts +12 -0
  301. package/mobile/bundle/components/ApplicationForm/renderSelects.d.ts +11 -0
  302. package/mobile/bundle/components/ApplicationForm/renderSlideCheckboxes.d.ts +10 -0
  303. package/mobile/bundle/components/ApplicationForm/renderSubmitButton.d.ts +3 -0
  304. package/mobile/bundle/components/ApplicationForm/useFormHandlers.d.ts +13 -0
  305. package/mobile/bundle/components/SafeDepositRental/SafeDepositRentalFields.d.ts +2 -2
  306. package/mobile/bundle/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +1 -1
  307. package/mobile/bundle/icons/IconName.d.ts +10 -2
  308. package/mobile/bundle/services/sitemap/isHrefActive.d.ts +1 -2
  309. package/mobile/bundle/services/sitemap/isSubItemActive.d.ts +3 -2
  310. package/mobile/bundle/services/sitemap/isTopItemActive.d.ts +3 -2
  311. package/mobile/bundle/ui-kit/TopItem/TopItem.d.ts +0 -1
  312. package/mobile/bundle/utils/adjustHref.d.ts +1 -4
  313. package/mobile/bundle/utils/url.d.ts +4 -2
  314. package/mobile/dist/ProjectSettings.d.ts +4 -4
  315. package/mobile/dist/ProjectSettings.js +3 -5
  316. package/mobile/dist/ProjectSettings.js.map +1 -1
  317. package/mobile/dist/api/CorporateLeadAPI.d.ts +15 -0
  318. package/mobile/dist/api/CorporateLeadAPI.js +24 -0
  319. package/mobile/dist/api/CorporateLeadAPI.js.map +1 -0
  320. package/mobile/dist/components/ApplicationForm/ApplicationForm.d.ts +5 -0
  321. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +30 -0
  322. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -0
  323. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.d.ts +12 -0
  324. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js +55 -0
  325. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -0
  326. package/mobile/dist/components/ApplicationForm/ApplicationFormBusinessCard.d.ts +9 -0
  327. package/mobile/dist/components/ApplicationForm/ApplicationFormBusinessCard.js +39 -0
  328. package/mobile/dist/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -0
  329. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +18 -0
  330. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.js +2 -0
  331. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.js.map +1 -0
  332. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.d.ts +20 -0
  333. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js +59 -0
  334. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -0
  335. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.d.ts +6 -0
  336. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.js +26 -0
  337. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -0
  338. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.d.ts +12 -0
  339. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js +41 -0
  340. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -0
  341. package/mobile/dist/components/ApplicationForm/ApplicationFormsProps.d.ts +7 -0
  342. package/mobile/dist/components/ApplicationForm/ApplicationFormsProps.js +2 -0
  343. package/mobile/dist/components/ApplicationForm/ApplicationFormsProps.js.map +1 -0
  344. package/mobile/dist/components/ApplicationForm/Footnote.d.ts +6 -0
  345. package/mobile/dist/components/ApplicationForm/Footnote.js +9 -0
  346. package/mobile/dist/components/ApplicationForm/Footnote.js.map +1 -0
  347. package/mobile/dist/components/ApplicationForm/ResponseNotification.d.ts +5 -0
  348. package/mobile/dist/components/ApplicationForm/ResponseNotification.js +13 -0
  349. package/mobile/dist/components/ApplicationForm/ResponseNotification.js.map +1 -0
  350. package/mobile/dist/components/ApplicationForm/WrapperSelect.d.ts +11 -0
  351. package/mobile/dist/components/ApplicationForm/WrapperSelect.js +13 -0
  352. package/mobile/dist/components/ApplicationForm/WrapperSelect.js.map +1 -0
  353. package/mobile/dist/components/ApplicationForm/acquiringTypes.d.ts +2 -0
  354. package/mobile/dist/components/ApplicationForm/acquiringTypes.js +25 -0
  355. package/mobile/dist/components/ApplicationForm/acquiringTypes.js.map +1 -0
  356. package/mobile/dist/components/ApplicationForm/models.d.ts +6 -0
  357. package/mobile/dist/components/ApplicationForm/models.js +2 -0
  358. package/mobile/dist/components/ApplicationForm/models.js.map +1 -0
  359. package/mobile/dist/components/ApplicationForm/normalizeSelectedRegion.d.ts +2 -0
  360. package/mobile/dist/components/ApplicationForm/normalizeSelectedRegion.js +5 -0
  361. package/mobile/dist/components/ApplicationForm/normalizeSelectedRegion.js.map +1 -0
  362. package/mobile/dist/components/ApplicationForm/renderBankOffices.d.ts +13 -0
  363. package/mobile/dist/components/ApplicationForm/renderBankOffices.js +7 -0
  364. package/mobile/dist/components/ApplicationForm/renderBankOffices.js.map +1 -0
  365. package/mobile/dist/components/ApplicationForm/renderContacts.d.ts +2 -0
  366. package/mobile/dist/components/ApplicationForm/renderContacts.js +7 -0
  367. package/mobile/dist/components/ApplicationForm/renderContacts.js.map +1 -0
  368. package/mobile/dist/components/ApplicationForm/renderCreditParameters.d.ts +10 -0
  369. package/mobile/dist/components/ApplicationForm/renderCreditParameters.js +24 -0
  370. package/mobile/dist/components/ApplicationForm/renderCreditParameters.js.map +1 -0
  371. package/mobile/dist/components/ApplicationForm/renderDataOrganization.d.ts +14 -0
  372. package/mobile/dist/components/ApplicationForm/renderDataOrganization.js +7 -0
  373. package/mobile/dist/components/ApplicationForm/renderDataOrganization.js.map +1 -0
  374. package/mobile/dist/components/ApplicationForm/renderQuestionsInterested.d.ts +12 -0
  375. package/mobile/dist/components/ApplicationForm/renderQuestionsInterested.js +7 -0
  376. package/mobile/dist/components/ApplicationForm/renderQuestionsInterested.js.map +1 -0
  377. package/mobile/dist/components/ApplicationForm/renderSelects.d.ts +11 -0
  378. package/mobile/dist/components/ApplicationForm/renderSelects.js +8 -0
  379. package/mobile/dist/components/ApplicationForm/renderSelects.js.map +1 -0
  380. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.d.ts +10 -0
  381. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.js +7 -0
  382. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -0
  383. package/mobile/dist/components/ApplicationForm/renderSubmitButton.d.ts +3 -0
  384. package/mobile/dist/components/ApplicationForm/renderSubmitButton.js +13 -0
  385. package/mobile/dist/components/ApplicationForm/renderSubmitButton.js.map +1 -0
  386. package/mobile/dist/components/ApplicationForm/useFormHandlers.d.ts +13 -0
  387. package/mobile/dist/components/ApplicationForm/useFormHandlers.js +16 -0
  388. package/mobile/dist/components/ApplicationForm/useFormHandlers.js.map +1 -0
  389. package/mobile/dist/components/Header/HeaderSecondaryMenu.js +1 -2
  390. package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  391. package/mobile/dist/components/Header/HeaderSubMenu.js +2 -1
  392. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  393. package/mobile/dist/components/Header/HeaderSubMenuItem.js +2 -2
  394. package/mobile/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  395. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  396. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.d.ts +2 -2
  397. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  398. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +1 -1
  399. package/mobile/dist/hooks/useLink.js +16 -12
  400. package/mobile/dist/hooks/useLink.js.map +1 -1
  401. package/mobile/dist/icons/IconName.d.ts +10 -2
  402. package/mobile/dist/icons/IconName.js +9 -1
  403. package/mobile/dist/icons/IconName.js.map +1 -1
  404. package/mobile/dist/services/sitemap/isHrefActive.d.ts +1 -2
  405. package/mobile/dist/services/sitemap/isHrefActive.js +2 -2
  406. package/mobile/dist/services/sitemap/isHrefActive.js.map +1 -1
  407. package/mobile/dist/services/sitemap/isSubItemActive.d.ts +3 -2
  408. package/mobile/dist/services/sitemap/isSubItemActive.js.map +1 -1
  409. package/mobile/dist/services/sitemap/isTopItemActive.d.ts +3 -2
  410. package/mobile/dist/services/sitemap/isTopItemActive.js +1 -6
  411. package/mobile/dist/services/sitemap/isTopItemActive.js.map +1 -1
  412. package/mobile/dist/setup-fixture.js +13 -6
  413. package/mobile/dist/setup-fixture.js.map +1 -1
  414. package/mobile/dist/ui-kit/HeaderItem/HeaderItem.js +1 -2
  415. package/mobile/dist/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
  416. package/mobile/dist/ui-kit/TopItem/TopItem.d.ts +0 -1
  417. package/mobile/dist/ui-kit/TopItem/TopItem.js +2 -2
  418. package/mobile/dist/ui-kit/TopItem/TopItem.js.map +1 -1
  419. package/mobile/dist/utils/adjustHref.d.ts +1 -4
  420. package/mobile/dist/utils/adjustHref.js +4 -8
  421. package/mobile/dist/utils/adjustHref.js.map +1 -1
  422. package/mobile/dist/utils/url.d.ts +4 -2
  423. package/mobile/dist/utils/url.js +15 -28
  424. package/mobile/dist/utils/url.js.map +1 -1
  425. package/mobile/lib/ProjectSettings.d.ts +4 -4
  426. package/mobile/lib/ProjectSettings.js +3 -5
  427. package/mobile/lib/ProjectSettings.js.map +1 -1
  428. package/mobile/lib/api/CorporateLeadAPI.d.ts +15 -0
  429. package/mobile/lib/api/CorporateLeadAPI.js +21 -0
  430. package/mobile/lib/api/CorporateLeadAPI.js.map +1 -0
  431. package/mobile/lib/components/ApplicationForm/ApplicationForm.d.ts +5 -0
  432. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +28 -0
  433. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -0
  434. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.d.ts +12 -0
  435. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js +53 -0
  436. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -0
  437. package/mobile/lib/components/ApplicationForm/ApplicationFormBusinessCard.d.ts +9 -0
  438. package/mobile/lib/components/ApplicationForm/ApplicationFormBusinessCard.js +37 -0
  439. package/mobile/lib/components/ApplicationForm/ApplicationFormBusinessCard.js.map +1 -0
  440. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +18 -0
  441. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.js +2 -0
  442. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.js.map +1 -0
  443. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.d.ts +20 -0
  444. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js +57 -0
  445. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -0
  446. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.d.ts +6 -0
  447. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.js +24 -0
  448. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -0
  449. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.d.ts +12 -0
  450. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js +39 -0
  451. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -0
  452. package/mobile/lib/components/ApplicationForm/ApplicationFormsProps.d.ts +7 -0
  453. package/mobile/lib/components/ApplicationForm/ApplicationFormsProps.js +2 -0
  454. package/mobile/lib/components/ApplicationForm/ApplicationFormsProps.js.map +1 -0
  455. package/mobile/lib/components/ApplicationForm/Footnote.d.ts +6 -0
  456. package/mobile/lib/components/ApplicationForm/Footnote.js +7 -0
  457. package/mobile/lib/components/ApplicationForm/Footnote.js.map +1 -0
  458. package/mobile/lib/components/ApplicationForm/ResponseNotification.d.ts +5 -0
  459. package/mobile/lib/components/ApplicationForm/ResponseNotification.js +11 -0
  460. package/mobile/lib/components/ApplicationForm/ResponseNotification.js.map +1 -0
  461. package/mobile/lib/components/ApplicationForm/WrapperSelect.d.ts +11 -0
  462. package/mobile/lib/components/ApplicationForm/WrapperSelect.js +11 -0
  463. package/mobile/lib/components/ApplicationForm/WrapperSelect.js.map +1 -0
  464. package/mobile/lib/components/ApplicationForm/acquiringTypes.d.ts +2 -0
  465. package/mobile/lib/components/ApplicationForm/acquiringTypes.js +23 -0
  466. package/mobile/lib/components/ApplicationForm/acquiringTypes.js.map +1 -0
  467. package/mobile/lib/components/ApplicationForm/models.d.ts +6 -0
  468. package/mobile/lib/components/ApplicationForm/models.js +2 -0
  469. package/mobile/lib/components/ApplicationForm/models.js.map +1 -0
  470. package/mobile/lib/components/ApplicationForm/normalizeSelectedRegion.d.ts +2 -0
  471. package/mobile/lib/components/ApplicationForm/normalizeSelectedRegion.js +2 -0
  472. package/mobile/lib/components/ApplicationForm/normalizeSelectedRegion.js.map +1 -0
  473. package/mobile/lib/components/ApplicationForm/renderBankOffices.d.ts +13 -0
  474. package/mobile/lib/components/ApplicationForm/renderBankOffices.js +4 -0
  475. package/mobile/lib/components/ApplicationForm/renderBankOffices.js.map +1 -0
  476. package/mobile/lib/components/ApplicationForm/renderContacts.d.ts +2 -0
  477. package/mobile/lib/components/ApplicationForm/renderContacts.js +4 -0
  478. package/mobile/lib/components/ApplicationForm/renderContacts.js.map +1 -0
  479. package/mobile/lib/components/ApplicationForm/renderCreditParameters.d.ts +10 -0
  480. package/mobile/lib/components/ApplicationForm/renderCreditParameters.js +21 -0
  481. package/mobile/lib/components/ApplicationForm/renderCreditParameters.js.map +1 -0
  482. package/mobile/lib/components/ApplicationForm/renderDataOrganization.d.ts +14 -0
  483. package/mobile/lib/components/ApplicationForm/renderDataOrganization.js +4 -0
  484. package/mobile/lib/components/ApplicationForm/renderDataOrganization.js.map +1 -0
  485. package/mobile/lib/components/ApplicationForm/renderQuestionsInterested.d.ts +12 -0
  486. package/mobile/lib/components/ApplicationForm/renderQuestionsInterested.js +4 -0
  487. package/mobile/lib/components/ApplicationForm/renderQuestionsInterested.js.map +1 -0
  488. package/mobile/lib/components/ApplicationForm/renderSelects.d.ts +11 -0
  489. package/mobile/lib/components/ApplicationForm/renderSelects.js +5 -0
  490. package/mobile/lib/components/ApplicationForm/renderSelects.js.map +1 -0
  491. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.d.ts +10 -0
  492. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.js +4 -0
  493. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -0
  494. package/mobile/lib/components/ApplicationForm/renderSubmitButton.d.ts +3 -0
  495. package/mobile/lib/components/ApplicationForm/renderSubmitButton.js +10 -0
  496. package/mobile/lib/components/ApplicationForm/renderSubmitButton.js.map +1 -0
  497. package/mobile/lib/components/ApplicationForm/useFormHandlers.d.ts +13 -0
  498. package/mobile/lib/components/ApplicationForm/useFormHandlers.js +13 -0
  499. package/mobile/lib/components/ApplicationForm/useFormHandlers.js.map +1 -0
  500. package/mobile/lib/components/Header/HeaderSecondaryMenu.js +1 -2
  501. package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  502. package/mobile/lib/components/Header/HeaderSubMenu.js +2 -1
  503. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  504. package/mobile/lib/components/Header/HeaderSubMenuItem.js +2 -2
  505. package/mobile/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  506. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  507. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.d.ts +2 -2
  508. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  509. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTypes.d.ts +1 -1
  510. package/mobile/lib/hooks/useLink.js +17 -13
  511. package/mobile/lib/hooks/useLink.js.map +1 -1
  512. package/mobile/lib/icons/IconName.d.ts +10 -2
  513. package/mobile/lib/icons/IconName.js +9 -1
  514. package/mobile/lib/icons/IconName.js.map +1 -1
  515. package/mobile/lib/services/sitemap/isHrefActive.d.ts +1 -2
  516. package/mobile/lib/services/sitemap/isHrefActive.js +2 -2
  517. package/mobile/lib/services/sitemap/isHrefActive.js.map +1 -1
  518. package/mobile/lib/services/sitemap/isSubItemActive.d.ts +3 -2
  519. package/mobile/lib/services/sitemap/isSubItemActive.js.map +1 -1
  520. package/mobile/lib/services/sitemap/isTopItemActive.d.ts +3 -2
  521. package/mobile/lib/services/sitemap/isTopItemActive.js +1 -6
  522. package/mobile/lib/services/sitemap/isTopItemActive.js.map +1 -1
  523. package/mobile/lib/setup-fixture.js +14 -7
  524. package/mobile/lib/setup-fixture.js.map +1 -1
  525. package/mobile/lib/ui-kit/HeaderItem/HeaderItem.js +1 -2
  526. package/mobile/lib/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
  527. package/mobile/lib/ui-kit/TopItem/TopItem.d.ts +0 -1
  528. package/mobile/lib/ui-kit/TopItem/TopItem.js +2 -2
  529. package/mobile/lib/ui-kit/TopItem/TopItem.js.map +1 -1
  530. package/mobile/lib/utils/adjustHref.d.ts +1 -4
  531. package/mobile/lib/utils/adjustHref.js +5 -9
  532. package/mobile/lib/utils/adjustHref.js.map +1 -1
  533. package/mobile/lib/utils/url.d.ts +4 -2
  534. package/mobile/lib/utils/url.js +12 -26
  535. package/mobile/lib/utils/url.js.map +1 -1
  536. package/mobile/src/ProjectSettings.ts +6 -7
  537. package/mobile/src/api/CorporateLeadAPI.ts +36 -0
  538. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +45 -0
  539. package/mobile/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +138 -0
  540. package/mobile/src/components/ApplicationForm/ApplicationFormBusinessCard.tsx +134 -0
  541. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +19 -0
  542. package/mobile/src/components/ApplicationForm/ApplicationFormCredit.tsx +91 -0
  543. package/mobile/src/components/ApplicationForm/ApplicationFormDeposit.tsx +74 -0
  544. package/mobile/src/components/ApplicationForm/ApplicationFormWed.tsx +143 -0
  545. package/mobile/src/components/ApplicationForm/ApplicationFormsProps.ts +8 -0
  546. package/mobile/src/components/ApplicationForm/Footnote.tsx +25 -0
  547. package/mobile/src/components/ApplicationForm/ResponseNotification.tsx +33 -0
  548. package/mobile/src/components/ApplicationForm/WrapperSelect.tsx +32 -0
  549. package/mobile/src/components/ApplicationForm/acquiringTypes.ts +24 -0
  550. package/mobile/src/components/ApplicationForm/models.ts +7 -0
  551. package/mobile/src/components/ApplicationForm/normalizeSelectedRegion.ts +4 -0
  552. package/mobile/src/components/ApplicationForm/renderBankOffices.tsx +45 -0
  553. package/mobile/src/components/ApplicationForm/renderContacts.tsx +22 -0
  554. package/mobile/src/components/ApplicationForm/renderCreditParameters.tsx +61 -0
  555. package/mobile/src/components/ApplicationForm/renderDataOrganization.tsx +78 -0
  556. package/mobile/src/components/ApplicationForm/renderQuestionsInterested.tsx +45 -0
  557. package/mobile/src/components/ApplicationForm/renderSelects.tsx +38 -0
  558. package/mobile/src/components/ApplicationForm/renderSlideCheckboxes.tsx +28 -0
  559. package/mobile/src/components/ApplicationForm/renderSubmitButton.tsx +15 -0
  560. package/mobile/src/components/ApplicationForm/useFormHandlers.ts +32 -0
  561. package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +1 -21
  562. package/mobile/src/components/Header/HeaderSubMenu.tsx +2 -1
  563. package/mobile/src/components/Header/HeaderSubMenuItem.tsx +2 -4
  564. package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
  565. package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +4 -4
  566. package/mobile/src/components/SafeDepositRental/SafeDepositRentalTypes.ts +1 -1
  567. package/mobile/src/hooks/useLink.ts +19 -15
  568. package/mobile/src/icons/IconName.ts +5 -5
  569. package/mobile/src/icons/MailIcon.svg +1 -0
  570. package/mobile/src/icons/PhoneIcon.svg +1 -0
  571. package/mobile/src/icons/ResponceFailIcon.svg +1 -0
  572. package/mobile/src/icons/ResponceOKIcon.svg +1 -0
  573. package/mobile/src/services/sitemap/isHrefActive.ts +4 -10
  574. package/mobile/src/services/sitemap/isSubItemActive.ts +1 -2
  575. package/mobile/src/services/sitemap/isTopItemActive.ts +2 -8
  576. package/mobile/src/setup-fixture.ts +19 -7
  577. package/mobile/src/ui-kit/HeaderItem/HeaderItem.tsx +7 -8
  578. package/mobile/src/ui-kit/TopItem/TopItem.tsx +16 -19
  579. package/mobile/src/utils/adjustHref.ts +6 -14
  580. package/mobile/src/utils/url.ts +18 -33
  581. package/package.json +2 -2
  582. package/src/ProjectSettings.ts +6 -7
  583. package/src/api/CorporateLeadAPI.ts +36 -0
  584. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +43 -0
  585. package/src/components/ApplicationForm/ApplicationForm.tsx +45 -0
  586. package/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +138 -0
  587. package/src/components/ApplicationForm/ApplicationFormBusinessCard.tsx +134 -0
  588. package/src/components/ApplicationForm/ApplicationFormContent.ts +19 -0
  589. package/src/components/ApplicationForm/ApplicationFormCredit.tsx +91 -0
  590. package/src/components/ApplicationForm/ApplicationFormDeposit.tsx +74 -0
  591. package/src/components/ApplicationForm/ApplicationFormWed.tsx +143 -0
  592. package/src/components/ApplicationForm/ApplicationFormsProps.ts +8 -0
  593. package/src/components/ApplicationForm/Footnote.tsx +25 -0
  594. package/src/components/ApplicationForm/ResponseNotification.tsx +33 -0
  595. package/src/components/ApplicationForm/WrapperSelect.tsx +32 -0
  596. package/src/components/ApplicationForm/acquiringTypes.ts +24 -0
  597. package/src/components/ApplicationForm/models.ts +7 -0
  598. package/src/components/ApplicationForm/normalizeSelectedRegion.ts +4 -0
  599. package/src/components/ApplicationForm/renderBankOffices.tsx +45 -0
  600. package/src/components/ApplicationForm/renderContacts.tsx +22 -0
  601. package/src/components/ApplicationForm/renderCreditParameters.tsx +61 -0
  602. package/src/components/ApplicationForm/renderDataOrganization.tsx +78 -0
  603. package/src/components/ApplicationForm/renderQuestionsInterested.tsx +45 -0
  604. package/src/components/ApplicationForm/renderSelects.tsx +38 -0
  605. package/src/components/ApplicationForm/renderSlideCheckboxes.tsx +28 -0
  606. package/src/components/ApplicationForm/renderSubmitButton.tsx +15 -0
  607. package/src/components/ApplicationForm/useFormHandlers.ts +32 -0
  608. package/src/components/Blocks.ts +2 -0
  609. package/src/components/Header/Header.tsx +3 -5
  610. package/src/components/Header/HeaderSecondaryMenu.tsx +1 -21
  611. package/src/components/Header/HeaderSubMenu.tsx +2 -1
  612. package/src/components/Header/HeaderSubMenuItem.tsx +2 -4
  613. package/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
  614. package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +4 -4
  615. package/src/components/SafeDepositRental/SafeDepositRentalTypes.ts +1 -1
  616. package/src/hooks/useLink.ts +19 -15
  617. package/src/icons/IconName.ts +5 -5
  618. package/src/icons/MailIcon.svg +1 -0
  619. package/src/icons/PhoneIcon.svg +1 -0
  620. package/src/icons/ResponceFailIcon.svg +1 -0
  621. package/src/icons/ResponceOKIcon.svg +1 -0
  622. package/src/services/sitemap/isHrefActive.ts +4 -10
  623. package/src/services/sitemap/isSubItemActive.ts +1 -2
  624. package/src/services/sitemap/isTopItemActive.ts +2 -8
  625. package/src/setup-fixture.ts +19 -7
  626. package/src/ui-kit/HeaderItem/HeaderItem.mobile.tsx +7 -8
  627. package/src/ui-kit/HeaderItem/HeaderItem.tsx +7 -8
  628. package/src/ui-kit/TopItem/TopItem.tsx +16 -19
  629. package/src/utils/adjustHref.ts +6 -14
  630. package/src/utils/url.ts +18 -33
  631. package/tailwind.config.cjs +5 -0
  632. package/bundle/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  633. package/bundle/utils/normalizeURLPath.d.ts +0 -1
  634. package/dist/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  635. package/dist/services/sitemap/checkIsHrefSameOrigin.js +0 -6
  636. package/dist/services/sitemap/checkIsHrefSameOrigin.js.map +0 -1
  637. package/dist/utils/normalizeURLPath.d.ts +0 -1
  638. package/dist/utils/normalizeURLPath.js +0 -12
  639. package/dist/utils/normalizeURLPath.js.map +0 -1
  640. package/lib/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  641. package/lib/services/sitemap/checkIsHrefSameOrigin.js +0 -3
  642. package/lib/services/sitemap/checkIsHrefSameOrigin.js.map +0 -1
  643. package/lib/utils/normalizeURLPath.d.ts +0 -1
  644. package/lib/utils/normalizeURLPath.js +0 -9
  645. package/lib/utils/normalizeURLPath.js.map +0 -1
  646. package/mobile/bundle/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  647. package/mobile/bundle/utils/normalizeURLPath.d.ts +0 -1
  648. package/mobile/dist/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  649. package/mobile/dist/services/sitemap/checkIsHrefSameOrigin.js +0 -6
  650. package/mobile/dist/services/sitemap/checkIsHrefSameOrigin.js.map +0 -1
  651. package/mobile/dist/utils/normalizeURLPath.d.ts +0 -1
  652. package/mobile/dist/utils/normalizeURLPath.js +0 -12
  653. package/mobile/dist/utils/normalizeURLPath.js.map +0 -1
  654. package/mobile/lib/services/sitemap/checkIsHrefSameOrigin.d.ts +0 -2
  655. package/mobile/lib/services/sitemap/checkIsHrefSameOrigin.js +0 -3
  656. package/mobile/lib/services/sitemap/checkIsHrefSameOrigin.js.map +0 -1
  657. package/mobile/lib/utils/normalizeURLPath.d.ts +0 -1
  658. package/mobile/lib/utils/normalizeURLPath.js +0 -9
  659. package/mobile/lib/utils/normalizeURLPath.js.map +0 -1
  660. package/mobile/src/services/sitemap/checkIsHrefSameOrigin.ts +0 -7
  661. package/mobile/src/utils/normalizeURLPath.ts +0 -10
  662. package/src/services/sitemap/checkIsHrefSameOrigin.ts +0 -7
  663. 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) {
@@ -1953,50 +2262,6 @@
1953
2262
  [() => true, () => props.handleConvert(props.value)],
1954
2263
  ])(props)?.();
1955
2264
 
1956
- function useOutsideClick(onClick) {
1957
- const targetRef = useRef(null);
1958
- useEffect(() => {
1959
- const handleClickOutside = (event) => {
1960
- if (targetRef &&
1961
- targetRef.current &&
1962
- event.target instanceof Node &&
1963
- !targetRef.current.contains(event.target)) {
1964
- onClick();
1965
- }
1966
- };
1967
- document.addEventListener('click', handleClickOutside);
1968
- return () => {
1969
- document.removeEventListener('click', handleClickOutside);
1970
- };
1971
- }, [onClick]);
1972
- return targetRef;
1973
- }
1974
-
1975
- const Select = JSX(({ className = '', isBorder = true, label, options = [], value, onChange, placeholder = '' }) => {
1976
- const [selectedItem, setSelectedItem] = useState(options[0] || { key: '', text: '' });
1977
- const [isOpen, setIsOpen] = useState(false);
1978
- const handleClickOutside = useCallback(() => setIsOpen(false), []);
1979
- const wrapperRef = useOutsideClick(handleClickOutside);
1980
- const choiceOption = (option) => {
1981
- setSelectedItem(option);
1982
- setIsOpen(false);
1983
- onChange(option);
1984
- };
1985
- const isSelected = (option) => Boolean(option.key === selectedItem.key);
1986
- useEffect(() => {
1987
- setSelectedItem(value || { key: '', text: '' });
1988
- }, [value]);
1989
- 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
1990
- ${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] })] }));
1991
- });
1992
- const renderOptionsStyle = (isOpen) => (isOpen ? '' : 'overflow-hidden');
1993
- const renderOption = (choiceOption, isOpen, isSelected) => (option, i) => {
1994
- return (jsxs("div", { onClick: () => {
1995
- choiceOption(option);
1996
- }, 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)));
1997
- };
1998
- const getBorderStyle$1 = (isBorder) => isBorder ? 'border border-gray rounded-md hover:border-primary-hover' : '';
1999
-
2000
2265
  function renderInput(props) {
2001
2266
  const { placeholder, rates, selected, value, setValue, setSelected } = props;
2002
2267
  const ratesOptions = rates.map((_) => ({
@@ -2299,28 +2564,16 @@
2299
2564
  const renderMonthNames = (item, colSize) => item.month?.map((_, i) => (jsx("div", { style: { flexBasis: `${colSize}%` }, children: _.text }, `monthName-${i}`)));
2300
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);
2301
2566
 
2302
- const checkIsHrefSameOrigin = (href, router) => [getOrigin(href), getOrigin(router.href)].every((link, _, arr) => Boolean(link) && link === arr[0]);
2303
-
2304
- const normalizeURLPath = (href) => {
2305
- if (isURL(href) || href?.startsWith('/')) {
2306
- return href;
2307
- }
2308
- return `${projectSettings.BASE_PATH || ''}${href}`;
2309
- };
2310
-
2311
- 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)));
2312
2568
 
2313
2569
  const isSubItemActive = (router) => (subItem) => isHrefActive(subItem.href, router);
2314
2570
 
2315
- const isTopItemActive = (router) => (topItem) => topItem.items?.some(isSubItemActive(router)) ||
2316
- isHrefActive(topItem.href, router) ||
2317
- checkIsHrefSameOrigin(topItem.href, router) ||
2318
- Boolean(projectSettings.BASE_PATH?.startsWith(topItem.href || '/'));
2571
+ const isTopItemActive = (router) => (topItem) => topItem.items?.some(isSubItemActive(router)) || isHrefActive(topItem.href, router);
2319
2572
 
2320
- const TopItem = JSX(({ className = '', active, flat, ariaLabel, children, ...rest }) => {
2573
+ const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
2321
2574
  const link = useLink();
2322
2575
  const { href, target, text, onClick } = link(rest);
2323
- 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 }) }));
2324
2577
  });
2325
2578
  const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
2326
2579
  ? 'rounded-md border-primary-main group-data-transparent:border-white'
@@ -2383,9 +2636,9 @@
2383
2636
  }
2384
2637
  };
2385
2638
 
2386
- const REGIONS_URL$1 = '/api/v1/regions';
2639
+ const REGIONS_URL = '/api/v1/regions';
2387
2640
  function useRegions() {
2388
- const { data } = useAsyncData(REGIONS_URL$1, fetchJSONUnsafe);
2641
+ const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
2389
2642
  return data || [];
2390
2643
  }
2391
2644
 
@@ -2499,7 +2752,7 @@
2499
2752
  const [isShowLocationModal, { setTrue: showLocationModal, setFalse: hideLocationModal }] = useBool();
2500
2753
  const [location, onChangeLocation] = useLocation(defaultLocation);
2501
2754
  const iconVersion = version === 'transparent' ? 'white' : 'black';
2502
- 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] }));
2503
2756
  });
2504
2757
 
2505
2758
  const findActiveSubItem = (router) => (items = []) => {
@@ -2526,12 +2779,11 @@
2526
2779
  const HeaderItem = JSX(({ className = '', active, dataItemName, children, ...rest }) => {
2527
2780
  const link = useLink();
2528
2781
  const { href, target, text, onClick } = link(rest);
2529
- 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] }));
2530
2783
  });
2531
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');
2532
- const getBorderStyle = (active = false) => style('absolute left-0 -bottom-3 w-full h-0.5', active ? 'bg-primary-main group-data-transparent:bg-transparent' : '');
2533
2785
 
2534
- const HeaderSubMenuItem = JSX(({ className, active, observerOptions, onVisibilityChange, children, ...linkProps }) => {
2786
+ const HeaderSubMenuItem = JSX(({ observerOptions, onVisibilityChange, children, ...rest }) => {
2535
2787
  const observerCallback = useCallback((entries) => {
2536
2788
  if (!entries.length || !onVisibilityChange) {
2537
2789
  return;
@@ -2541,7 +2793,7 @@
2541
2793
  onVisibilityChange(entry.isIntersecting);
2542
2794
  }, [onVisibilityChange]);
2543
2795
  const ref = useIntersectionObserver(observerCallback, observerOptions);
2544
- 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 }) }));
2545
2797
  });
2546
2798
 
2547
2799
  const HeaderSubMenu = JSX(({ subItems = [] }) => {
@@ -2556,7 +2808,7 @@
2556
2808
  ? handleIntersectionActivation(index)
2557
2809
  : handleIntersectionDeactivation(index));
2558
2810
  }), [subItems]);
2559
- 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] }));
2560
2812
  });
2561
2813
  const handleIntersectionActivation = (index) => (prev) => Math.max(prev, index + 1);
2562
2814
  const handleIntersectionDeactivation = (index) => (prev) => Math.min(prev, index);
@@ -2569,8 +2821,7 @@
2569
2821
  const router = useRouter();
2570
2822
  const { topItems, logo, defaultLocation, foreignOffices, officesLink } = useSWRResource(projectSettings.SITEMAP || 'sitemap', rest.options?.page?.fallback);
2571
2823
  const activeTopItem = topItems?.find(isTopItemActive(router));
2572
- const topMenu = topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, "aria-label": _.text, ..._ }, String(i))));
2573
- 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] }) }));
2574
2825
  });
2575
2826
 
2576
2827
  const gapStyles = {
@@ -3436,17 +3687,6 @@
3436
3687
  };
3437
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] }));
3438
3689
 
3439
- const SAFEBOXES_URL = '/api/v1/safeboxes';
3440
- const EMPTY_VALUE = [];
3441
- function useSafeBoxes(regionCode) {
3442
- const { data } = useAsyncData(regionCode ? `${SAFEBOXES_URL}?regionCode=${regionCode}` : null, fetchSafeBoxes);
3443
- return data || EMPTY_VALUE;
3444
- }
3445
- const fetchSafeBoxes = async (url) => {
3446
- const result = await fetchJSON(url, { method: 'GET' });
3447
- return result || EMPTY_VALUE;
3448
- };
3449
-
3450
3690
  const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
3451
3691
  const dataFormat = data
3452
3692
  .filter(Boolean)
@@ -3542,12 +3782,6 @@
3542
3782
  const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
3543
3783
  const getTariffs = (safeBoxCases, selectedBoxSize) => safeBoxCases?.find((_) => _.safeBoxCasesSize === selectedBoxSize)?.tariffs;
3544
3784
 
3545
- const REGIONS_URL = '/api/v1/regions';
3546
- function useGetRegions() {
3547
- const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
3548
- return data || [];
3549
- }
3550
-
3551
3785
  const DEFAULT_DAYS = 26;
3552
3786
  const SafeDepositRental = JSX(({ title, footnote, className = '', ...rest }) => {
3553
3787
  const [showMap, setShowMap] = useState(false);
@@ -4065,6 +4299,7 @@
4065
4299
  const Blocks = {
4066
4300
  Accordion,
4067
4301
  AccordionItem,
4302
+ ApplicationForm,
4068
4303
  BenefitsBlock,
4069
4304
  Bonus,
4070
4305
  BonusBenefitsBlock,
@@ -4248,7 +4483,7 @@
4248
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" }) }));
4249
4484
  }
4250
4485
 
4251
- const packageVersion = "0.7.9";
4486
+ const packageVersion = "0.8.0";
4252
4487
 
4253
4488
  exports.Blocks = Blocks;
4254
4489
  exports.ContentPage = ContentPage;