@redneckz/wildless-cms-uni-blocks 0.7.9 → 0.8.1

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 +559 -328
  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 +21 -22
  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 +22 -23
  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 +45 -79
  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 +21 -22
  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 +22 -23
  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 +23 -25
  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 +23 -25
  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,74 +523,162 @@
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
- };
595
-
596
682
  /* eslint-disable @typescript-eslint/ban-types */
597
683
  const handlerDecorator = (handler, targetContent) => {
598
684
  return handlerDecorator._impl(handler, targetContent);
@@ -623,29 +709,29 @@
623
709
  function useLink() {
624
710
  const router = useRouter();
625
711
  const blockRouter = useBlockRouter();
626
- return (props) => {
627
- const href = adjustHref(props.href, router);
628
- return {
629
- ...props,
630
- href,
631
- 'aria-label': props.text,
632
- onClick: handlerDecorator((ev) => {
633
- 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
- }
644
- }, props),
645
- };
712
+ const handleLocalURL = (href, target) => (ev) => {
713
+ if (!isLocalURL(href, target)) {
714
+ // Proceed with native handle
715
+ return;
716
+ }
717
+ // Client routing
718
+ ev?.preventDefault();
719
+ if (isHash(href)) {
720
+ blockRouter.goto(href);
721
+ }
722
+ else if (href) {
723
+ router.push(href);
724
+ }
646
725
  };
726
+ return (props) => ({
727
+ ...props,
728
+ 'aria-label': props.text,
729
+ onClick: handlerDecorator((ev) => {
730
+ props.onClick && props.onClick(ev);
731
+ handleLocalURL(props.href, props.target)(ev);
732
+ }, props),
733
+ });
647
734
  }
648
- const isRemoteHref = (href, target) => isURL(href) || (target && target !== '_self') || href?.startsWith('/');
649
735
 
650
736
  const buttonStyleMap = {
651
737
  primary: 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active',
@@ -695,30 +781,386 @@
695
781
  };
696
782
  const isWithText = ({ text, aboveText, appendLeft }) => Boolean(text || aboveText || !appendLeft);
697
783
 
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(' ');
784
+ const getDisabledButtonClasses = ({ className, rounded, version, }) => [
785
+ 'inline-block',
786
+ buttonStyle,
787
+ version ? buttonDisabledStyleMap[version] : '',
788
+ rounded ? 'rounded-full' : 'rounded-md',
789
+ className,
790
+ ].join(' ');
791
+
792
+ const getRegularButtonClasses = ({ className, rounded, version, }) => [
793
+ buttonStyle,
794
+ 'border border-transparent inline-block cursor-pointer no-underline focus:border-primary-text focus:border',
795
+ version ? buttonStyleMap[version] : '',
796
+ rounded ? 'rounded-full' : 'rounded-md',
797
+ className,
798
+ ].join(' ');
799
+
800
+ const Button = JSX(({ disabled, children, ...rest }) => {
801
+ const link = useLink();
802
+ const adjustedProps = link(rest);
803
+ const buttonInner = children ?? jsx(ButtonInner, { ...adjustedProps });
804
+ return disabled ? (jsx(DisabledButton, { ...adjustedProps, children: buttonInner })) : (jsx(RegularButton, { ...adjustedProps, children: buttonInner }));
805
+ });
806
+ 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 })));
807
+ 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 })));
808
+
809
+ 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] })));
810
+
811
+ const normalizeSelectedRegion$1 = (selectedRegion, regions) => !selectedRegion && regions?.length && regions[0]?.code ? regions[0].code : selectedRegion;
812
+
813
+ function useOutsideClick(onClick) {
814
+ const targetRef = useRef(null);
815
+ useEffect(() => {
816
+ const handleClickOutside = (event) => {
817
+ if (targetRef &&
818
+ targetRef.current &&
819
+ event.target instanceof Node &&
820
+ !targetRef.current.contains(event.target)) {
821
+ onClick();
822
+ }
823
+ };
824
+ document.addEventListener('click', handleClickOutside);
825
+ return () => {
826
+ document.removeEventListener('click', handleClickOutside);
827
+ };
828
+ }, [onClick]);
829
+ return targetRef;
830
+ }
831
+
832
+ const Select = JSX(({ className = '', isBorder = true, label, options = [], value, onChange, placeholder = '' }) => {
833
+ const [selectedItem, setSelectedItem] = useState(options[0] || { key: '', text: '' });
834
+ const [isOpen, setIsOpen] = useState(false);
835
+ const handleClickOutside = useCallback(() => setIsOpen(false), []);
836
+ const wrapperRef = useOutsideClick(handleClickOutside);
837
+ const choiceOption = (option) => {
838
+ setSelectedItem(option);
839
+ setIsOpen(false);
840
+ onChange(option);
841
+ };
842
+ const isSelected = (option) => Boolean(option.key === selectedItem.key);
843
+ useEffect(() => {
844
+ setSelectedItem(value || { key: '', text: '' });
845
+ }, [value]);
846
+ 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
847
+ ${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] })] }));
848
+ });
849
+ const renderOptionsStyle = (isOpen) => (isOpen ? '' : 'overflow-hidden');
850
+ const renderOption = (choiceOption, isOpen, isSelected) => (option, i) => {
851
+ return (jsxs("div", { onClick: () => {
852
+ choiceOption(option);
853
+ }, 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)));
854
+ };
855
+ const getBorderStyle = (isBorder) => isBorder ? 'border border-gray rounded-md hover:border-primary-hover' : '';
856
+
857
+ const WrapperSelect$1 = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
858
+ const dataFormat = data
859
+ .filter(Boolean)
860
+ .map((_) => ({ key: _?.[fieldValue || fieldLabel], text: _?.[fieldLabel] }));
861
+ const selectedObj = dataFormat.find((_) => _.key === selected);
862
+ return (jsx(Select, { options: dataFormat, label: label, placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj }));
863
+ });
864
+
865
+ 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" }) })] }));
866
+
867
+ 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 }) })] })));
868
+
869
+ 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 }) })] }));
870
+
871
+ const renderSubmitButton = (button, className) => {
872
+ const buttonStyle = getRegularButtonClasses({
873
+ className: 'text-white',
874
+ version: button?.version,
875
+ });
876
+ return (jsx("button", { type: "submit", className: `p-4 ${buttonStyle} ${className}`, children: button?.text ? button.text : 'Отправить заявку' }));
877
+ };
878
+
879
+ const useFormHandlers = ({ formState, handleSubmit, setFormState, typeForm, }) => {
880
+ const handleChange = useCallback((state) => setFormState((oldState) => ({ ...oldState, ...state })), []);
881
+ const onSubmit = useCallback(async (e) => {
882
+ e.preventDefault();
883
+ handleSubmit && (await handleSubmit({ ...formState, typeForm }));
884
+ }, []);
885
+ return {
886
+ handleChange,
887
+ onSubmit,
888
+ };
889
+ };
890
+
891
+ const ApplicationFormAcquiring = JSX((props) => {
892
+ const { button, link, handleSubmit } = props;
893
+ const [formState, setFormState] = useState({
894
+ acquiringType: '',
895
+ region: '',
896
+ fullName: '',
897
+ inn: '',
898
+ name: '',
899
+ phone: '',
900
+ onlineСheckout: false,
901
+ posTerminal: false,
902
+ });
903
+ const { acquiringType, region, fullName, inn, name, phone, onlineСheckout, posTerminal } = formState;
904
+ const regions = useGetRegions();
905
+ const { handleChange, onSubmit } = useFormHandlers({
906
+ formState,
907
+ handleSubmit,
908
+ setFormState,
909
+ typeForm: 'acqr',
910
+ });
911
+ const selectedRegion = normalizeSelectedRegion$1(region, regions);
912
+ useEffect(() => {
913
+ setFormState((oldState) => ({
914
+ ...oldState,
915
+ acquiringType: ACQUIRING_TYPES?.length && ACQUIRING_TYPES[0]?.code ? ACQUIRING_TYPES[0].code : '',
916
+ }));
917
+ }, []);
918
+ 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({
919
+ acquiringType,
920
+ regions,
921
+ region: selectedRegion,
922
+ handleChange,
923
+ }), 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({
924
+ onlineСheckout,
925
+ posTerminal,
926
+ handleChange,
927
+ }), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
928
+ });
929
+ 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 }) })] })] }));
930
+
931
+ const ApplicationFormBusinessCard = JSX((props) => {
932
+ const { button, link, handleSubmit } = props;
933
+ const [formState, setFormState] = useState({
934
+ region: '',
935
+ name: '',
936
+ phone: '',
937
+ inn: '',
938
+ mail: '',
939
+ });
940
+ const { name, phone, inn, mail } = formState;
941
+ const regions = useGetRegions();
942
+ const { handleChange, onSubmit } = useFormHandlers({
943
+ formState,
944
+ handleSubmit,
945
+ setFormState,
946
+ typeForm: 'bcrd',
947
+ });
948
+ const selectedRegion = normalizeSelectedRegion$1(formState.region, regions);
949
+ return (jsxs("form", { onSubmit: onSubmit, className: "container", children: [renderRegion$1({
950
+ regions,
951
+ region: selectedRegion,
952
+ handleChange,
953
+ }), renderDataOrganization$3({ name, phone, inn, mail, handleChange }), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
954
+ });
955
+ 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 }) })] })] }));
956
+ 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" }) }) }));
957
+
958
+ const SAFEBOXES_URL = '/api/v1/safeboxes';
959
+ const EMPTY_VALUE = [];
960
+ function useSafeBoxes(regionCode) {
961
+ const { data } = useAsyncData(regionCode ? `${SAFEBOXES_URL}?regionCode=${regionCode}` : null, fetchSafeBoxes);
962
+ return data || EMPTY_VALUE;
963
+ }
964
+ const fetchSafeBoxes = async (url) => {
965
+ const result = await fetchJSON(url, { method: 'GET' });
966
+ return result || EMPTY_VALUE;
967
+ };
968
+
969
+ 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" }) })] }));
970
+
971
+ const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', {}).format(number);
972
+
973
+ const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
974
+
975
+ const getSanitizedValue = (_) => _.split(/\s+/).join('');
976
+
977
+ const DISABLED_INPUT_CLASSES = 'disabled:border-gray disabled:bg-main-divider';
978
+ const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, disabled = false, onChange, }) => {
979
+ const handleChange = (e) => {
980
+ if (!onChange) {
981
+ return;
982
+ }
983
+ onChange(clamp(Number(getSanitizedValue(e.target.value)), min, max));
984
+ };
985
+ const inputStyle = {
986
+ backgroundSize: `${(((value - min) * 100) / (max - min)).toFixed(2)}% 100%`,
987
+ };
988
+ 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
989
+ 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)] }));
990
+ });
991
+ function renderRangeCaption(items) {
992
+ 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)))) }));
993
+ }
994
+
995
+ const renderCreditParameters = ({ amount, term, handleChange, }) => (jsxs("div", { className: "flex justify-between gap-5 mb-7", children: [renderInputRange({
996
+ label: 'Сумма кредита, ₽',
997
+ value: amount,
998
+ onChange: (value) => handleChange({ amount: value }),
999
+ min: MIN_CREDIT_AMOUNT,
1000
+ max: MAX_CREDIT_AMOUNT,
1001
+ items: ITEMS_CREDIT_AMOUNT,
1002
+ }), renderInputRange({
1003
+ label: 'Срок кредита, месяцев',
1004
+ value: term,
1005
+ onChange: (value) => handleChange({ term: value }),
1006
+ min: MIN_CREDIT_TERM,
1007
+ max: MAX_CREDIT_TERM,
1008
+ items: ITEMS_CREDIT_TERM,
1009
+ })] }));
1010
+ 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 })] }));
1011
+
1012
+ 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 }) })] })] }));
1013
+
1014
+ const MIN_CREDIT_AMOUNT = 50000;
1015
+ const MAX_CREDIT_AMOUNT = 3000000;
1016
+ const ITEMS_CREDIT_AMOUNT = ['От 50 000 ₽', 'До 3 000 000 ₽'];
1017
+ const MIN_CREDIT_TERM = 1;
1018
+ const MAX_CREDIT_TERM = 60;
1019
+ const ITEMS_CREDIT_TERM = ['От 1 года', 'До 5 лет'];
1020
+ const ApplicationFormCredit = JSX((props) => {
1021
+ const { button, link, handleSubmit } = props;
1022
+ const [formState, setFormState] = useState({
1023
+ amount: MIN_CREDIT_AMOUNT,
1024
+ term: MIN_CREDIT_TERM,
1025
+ fullName: '',
1026
+ inn: '',
1027
+ name: '',
1028
+ phone: '',
1029
+ mail: '',
1030
+ region: '',
1031
+ department: '',
1032
+ annualRevenue: '',
1033
+ });
1034
+ const { amount, term, fullName, inn, name, phone, mail, region, department, annualRevenue } = formState;
1035
+ const regions = useGetRegions();
1036
+ const { handleChange, onSubmit } = useFormHandlers({
1037
+ formState,
1038
+ handleSubmit,
1039
+ setFormState,
1040
+ typeForm: 'cred',
1041
+ });
1042
+ const selectedRegion = normalizeSelectedRegion$1(formState.region, regions);
1043
+ const branches = useSafeBoxes(region);
1044
+ useEffect(() => {
1045
+ handleChange({
1046
+ department: '',
1047
+ });
1048
+ }, [formState.region, handleChange]);
1049
+ 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({
1050
+ regions,
1051
+ region: selectedRegion,
1052
+ branches,
1053
+ department,
1054
+ handleChange,
1055
+ }), renderSubmitButton(button, 'mb-4'), jsx(Footnote, { link: link })] }));
1056
+ });
1057
+
1058
+ const ApplicationFormDeposit = JSX((props) => {
1059
+ const { button, link, handleSubmit } = props;
1060
+ const [formState, setFormState] = useState({
1061
+ name: '',
1062
+ phone: '',
1063
+ });
1064
+ const { handleChange, onSubmit } = useFormHandlers({
1065
+ formState,
1066
+ handleSubmit,
1067
+ setFormState,
1068
+ typeForm: 'dpst',
1069
+ });
1070
+ 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)] })] }));
1071
+ });
1072
+ 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 }) })] }));
1073
+
1074
+ 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" })] })] }));
1075
+
1076
+ const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
1077
+ 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))) }));
1078
+ });
1079
+
1080
+ const CHECK_PATHS = [
1081
+ {
1082
+ 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',
1083
+ fillRule: 'evenodd',
1084
+ clipRule: 'evenodd',
1085
+ fill: 'white',
1086
+ },
1087
+ ];
1088
+ const Checkbox = JSX(({ className, text, checked, disabled, isRadio, onChange }) => {
1089
+ 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
1090
+ ? 'rounded-full border-2'
1091
+ : '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] }) }));
1092
+ });
1093
+
1094
+ 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 }) })] }));
1095
+
1096
+ const ApplicationFormWed = JSX((props) => {
1097
+ const { button, link, handleSubmit } = props;
1098
+ const [formState, setFormState] = useState({
1099
+ fullName: '',
1100
+ name: '',
1101
+ phone: '',
1102
+ mail: '',
1103
+ currencyControl: false,
1104
+ documentaryOperations: false,
1105
+ conversionOperations: false,
1106
+ text: '',
1107
+ });
1108
+ const { fullName, name, phone, mail, currencyControl, documentaryOperations, conversionOperations, text, } = formState;
1109
+ const { handleChange, onSubmit } = useFormHandlers({
1110
+ formState,
1111
+ handleSubmit,
1112
+ setFormState,
1113
+ typeForm: 'kved',
1114
+ });
1115
+ 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({
1116
+ currencyControl,
1117
+ documentaryOperations,
1118
+ conversionOperations,
1119
+ text,
1120
+ handleChange,
1121
+ }), 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()] }));
1122
+ });
1123
+ 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
1124
 
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(' ');
1125
+ const ResponseNotification = JSX(({ responceType }) => {
1126
+ const responceOK = responceType === 'OK';
1127
+ const backgroundColor = responceOK ? 'bg-responce-ok' : 'bg-responce-fail';
1128
+ 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 ? 'Совсем скоро мы с вами свяжемся' : 'Пожалуйста, повторите позднее' })] })] }));
1129
+ });
713
1130
 
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 }));
1131
+ const COMPONENTS_MAP = {
1132
+ credit: (props) => jsx(ApplicationFormCredit, { ...props }),
1133
+ acquiring: (props) => jsx(ApplicationFormAcquiring, { ...props }),
1134
+ 'business-card': (props) => jsx(ApplicationFormBusinessCard, { ...props }),
1135
+ deposit: (props) => jsx(ApplicationFormDeposit, { ...props }),
1136
+ wed: (props) => jsx(ApplicationFormWed, { ...props }),
1137
+ };
1138
+ const ApplicationForm = JSX((props) => {
1139
+ const { className = '', title, typeForm = 'credit', button, link, ...rest } = props;
1140
+ const [responceType, setResponceType] = useState('');
1141
+ const handleSubmit = useCallback(() => {
1142
+ setResponceType('OK');
1143
+ return 'OK';
1144
+ }, []);
1145
+ 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
1146
  });
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 })));
1147
+
1148
+ 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] })));
1149
+ const renderStep = (benefit, i) => {
1150
+ const description = benefit.description;
1151
+ 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)));
1152
+ };
1153
+ const renderDescription$5 = (description) => {
1154
+ const benefitType = description?.benefitType || null;
1155
+ return description && benefitType ? (jsx("div", { className: "mt-2 text-l-light text-secondary-text group-data-secondary:text-white/80", children: benefitType === 'list'
1156
+ ? renderListBenefit(description)
1157
+ : renderTextBenefit(description) })) : null;
1158
+ };
1159
+ const renderTextBenefit = (description) => description?.name || null;
1160
+ const renderListBenefit = (description) => {
1161
+ const listStyleType = description?.bullets ? 'list-disc pl-6' : '';
1162
+ return description?.items && description.items.length > 0 ? (jsx("ul", { className: listStyleType, children: description.items.map((_, i) => (jsx("li", { children: _ }, `benefitListItem-${i}`))) })) : null;
1163
+ };
722
1164
 
723
1165
  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
1166
  const renderButton = (buttonClassName = '') => (button, index) => {
@@ -864,8 +1306,6 @@
864
1306
  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
1307
  }
866
1308
 
867
- const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', {}).format(number);
868
-
869
1309
  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
1310
 
871
1311
  const DEFAULT_MIN_SUM = 60000;
@@ -938,28 +1378,6 @@
938
1378
 
939
1379
  const renderFootnote = (text) => text ? (jsx(Paragraph, { size: "text-s-light", color: "text-secondary-text", children: text })) : null;
940
1380
 
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
1381
  const DEFAULT_MONEY_STEP = 1000;
964
1382
  function renderWantedSumInput(title, params, callback) {
965
1383
  const { moneyValue, minSum, maxSum, step = DEFAULT_MONEY_STEP, isShowItems = true } = params;
@@ -982,86 +1400,6 @@
982
1400
  return [prefBonus, yearBonus];
983
1401
  };
984
1402
 
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
1403
  function useCalculatorParams(dir) {
1066
1404
  const { data } = useAsyncData(`/wcms-resources/${dir}.json`, fetchJSONUnsafe);
1067
1405
  return data;
@@ -1106,24 +1444,6 @@
1106
1444
  }, 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
1445
  });
1108
1446
 
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
1447
  const STEP_DAYS = 1;
1128
1448
  function renderDaysInput(title, params, callback) {
1129
1449
  const { minDays, maxDays, daysValue } = params;
@@ -1430,25 +1750,6 @@
1430
1750
  };
1431
1751
  const replaceCommaToDot = (val) => String(val.replace(',', '.').replace(/[^.\d]/g, ''));
1432
1752
 
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
1753
  const CurrencyInput = JSX(({ className = '', onChange, minValue = 0, maxValue = 300000, ...inputProps }) => {
1453
1754
  const handleChange = useCallback((inputValue) => {
1454
1755
  if (!onChange) {
@@ -1953,50 +2254,6 @@
1953
2254
  [() => true, () => props.handleConvert(props.value)],
1954
2255
  ])(props)?.();
1955
2256
 
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
2257
  function renderInput(props) {
2001
2258
  const { placeholder, rates, selected, value, setValue, setSelected } = props;
2002
2259
  const ratesOptions = rates.map((_) => ({
@@ -2299,28 +2556,20 @@
2299
2556
  const renderMonthNames = (item, colSize) => item.month?.map((_, i) => (jsx("div", { style: { flexBasis: `${colSize}%` }, children: _.text }, `monthName-${i}`)));
2300
2557
  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
2558
 
2302
- const checkIsHrefSameOrigin = (href, router) => [getOrigin(href), getOrigin(router.href)].every((link, _, arr) => Boolean(link) && link === arr[0]);
2559
+ const adjustHref = (href) => href && projectSettings.BASE_PATH && !(isURL(href) || href.startsWith('/'))
2560
+ ? `${projectSettings.BASE_PATH}${href}`
2561
+ : href;
2303
2562
 
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)));
2563
+ const isHrefActive = (href, router) => withoutQuery(isURL(href) ? router.href : getPathname(router.href)).startsWith(withoutQuery(adjustHref(href)));
2312
2564
 
2313
2565
  const isSubItemActive = (router) => (subItem) => isHrefActive(subItem.href, router);
2314
2566
 
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 || '/'));
2567
+ const isTopItemActive = (router) => (topItem) => topItem.items?.some(isSubItemActive(router)) || isHrefActive(topItem.href, router);
2319
2568
 
2320
- const TopItem = JSX(({ className = '', active, flat, ariaLabel, children, ...rest }) => {
2569
+ const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
2321
2570
  const link = useLink();
2322
2571
  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 }) }));
2572
+ 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
2573
  });
2325
2574
  const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
2326
2575
  ? 'rounded-md border-primary-main group-data-transparent:border-white'
@@ -2383,9 +2632,9 @@
2383
2632
  }
2384
2633
  };
2385
2634
 
2386
- const REGIONS_URL$1 = '/api/v1/regions';
2635
+ const REGIONS_URL = '/api/v1/regions';
2387
2636
  function useRegions() {
2388
- const { data } = useAsyncData(REGIONS_URL$1, fetchJSONUnsafe);
2637
+ const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
2389
2638
  return data || [];
2390
2639
  }
2391
2640
 
@@ -2499,7 +2748,7 @@
2499
2748
  const [isShowLocationModal, { setTrue: showLocationModal, setFalse: hideLocationModal }] = useBool();
2500
2749
  const [location, onChangeLocation] = useLocation(defaultLocation);
2501
2750
  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] }));
2751
+ 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
2752
  });
2504
2753
 
2505
2754
  const findActiveSubItem = (router) => (items = []) => {
@@ -2526,12 +2775,11 @@
2526
2775
  const HeaderItem = JSX(({ className = '', active, dataItemName, children, ...rest }) => {
2527
2776
  const link = useLink();
2528
2777
  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] }));
2778
+ 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
2779
  });
2531
2780
  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
2781
 
2534
- const HeaderSubMenuItem = JSX(({ className, active, observerOptions, onVisibilityChange, children, ...linkProps }) => {
2782
+ const HeaderSubMenuItem = JSX(({ observerOptions, onVisibilityChange, children, ...rest }) => {
2535
2783
  const observerCallback = useCallback((entries) => {
2536
2784
  if (!entries.length || !onVisibilityChange) {
2537
2785
  return;
@@ -2541,7 +2789,7 @@
2541
2789
  onVisibilityChange(entry.isIntersecting);
2542
2790
  }, [onVisibilityChange]);
2543
2791
  const ref = useIntersectionObserver(observerCallback, observerOptions);
2544
- return (jsx("span", { ref: ref, children: jsx(HeaderItem, { className: className, active: active, ...linkProps, children: children }) }));
2792
+ return (jsx("span", { ref: ref, children: jsx(HeaderItem, { ...rest, children: children }) }));
2545
2793
  });
2546
2794
 
2547
2795
  const HeaderSubMenu = JSX(({ subItems = [] }) => {
@@ -2556,7 +2804,7 @@
2556
2804
  ? handleIntersectionActivation(index)
2557
2805
  : handleIntersectionDeactivation(index));
2558
2806
  }), [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] }));
2807
+ 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
2808
  });
2561
2809
  const handleIntersectionActivation = (index) => (prev) => Math.max(prev, index + 1);
2562
2810
  const handleIntersectionDeactivation = (index) => (prev) => Math.min(prev, index);
@@ -2569,8 +2817,7 @@
2569
2817
  const router = useRouter();
2570
2818
  const { topItems, logo, defaultLocation, foreignOffices, officesLink } = useSWRResource(projectSettings.SITEMAP || 'sitemap', rest.options?.page?.fallback);
2571
2819
  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] }) }));
2820
+ 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
2821
  });
2575
2822
 
2576
2823
  const gapStyles = {
@@ -3436,17 +3683,6 @@
3436
3683
  };
3437
3684
  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
3685
 
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
3686
  const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
3451
3687
  const dataFormat = data
3452
3688
  .filter(Boolean)
@@ -3542,12 +3778,6 @@
3542
3778
  const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
3543
3779
  const getTariffs = (safeBoxCases, selectedBoxSize) => safeBoxCases?.find((_) => _.safeBoxCasesSize === selectedBoxSize)?.tariffs;
3544
3780
 
3545
- const REGIONS_URL = '/api/v1/regions';
3546
- function useGetRegions() {
3547
- const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
3548
- return data || [];
3549
- }
3550
-
3551
3781
  const DEFAULT_DAYS = 26;
3552
3782
  const SafeDepositRental = JSX(({ title, footnote, className = '', ...rest }) => {
3553
3783
  const [showMap, setShowMap] = useState(false);
@@ -4065,6 +4295,7 @@
4065
4295
  const Blocks = {
4066
4296
  Accordion,
4067
4297
  AccordionItem,
4298
+ ApplicationForm,
4068
4299
  BenefitsBlock,
4069
4300
  Bonus,
4070
4301
  BonusBenefitsBlock,
@@ -4248,7 +4479,7 @@
4248
4479
  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
4480
  }
4250
4481
 
4251
- const packageVersion = "0.7.9";
4482
+ const packageVersion = "0.8.1";
4252
4483
 
4253
4484
  exports.Blocks = Blocks;
4254
4485
  exports.ContentPage = ContentPage;