@redneckz/wildless-cms-uni-blocks 0.14.687 → 0.14.689

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 (714) hide show
  1. package/bundle/bundle.umd.js +232 -313
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/components/StickyBottomMenu/BurgerMenuDialog.d.ts +1 -1
  4. package/bundle/components/StickyBottomMenu/useBottomMenuItemDialog.d.ts +2 -7
  5. package/bundle/components/StickyBottomMenu/useBurgerMenuDialog.d.ts +2 -5
  6. package/bundle/hooks/useLocalStorage.d.ts +1 -1
  7. package/bundle/hooks/useOnEscape.d.ts +1 -0
  8. package/bundle/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +0 -1
  9. package/bundle/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +1 -1
  10. package/bundle/ui-kit/DialogManager/DialogAction.d.ts +8 -9
  11. package/bundle/ui-kit/DialogManager/isDialogOpen.d.ts +2 -2
  12. package/bundle/ui-kit/DialogManager/useDialog.d.ts +9 -0
  13. package/bundle/ui-kit/DialogManager/useDialogManager.d.ts +3 -6
  14. package/bundle/ui-kit/DialogManager/useDialogsList.d.ts +8 -7
  15. package/bundle/ui-kit/DocumentDialog/DocumentDialog.d.ts +6 -0
  16. package/bundle/ui-kit/DocumentDialog/uaeDocumentDialog.d.ts +2 -0
  17. package/bundle/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +1 -1
  18. package/bundle/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +1 -9
  19. package/bundle/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
  20. package/bundle/ui-kit/PopupManager/PopupAction.d.ts +7 -10
  21. package/bundle/ui-kit/PopupManager/usePopupManager.d.ts +3 -4
  22. package/bundle/ui-kit/ReportDialog/ReportDialog.d.ts +1 -0
  23. package/bundle/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -0
  24. package/bundle/ui-kit/SearchDialog/SearchDialog.d.ts +1 -0
  25. package/bundle/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +2 -2
  26. package/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +3 -3
  27. package/dist/components/ApplicationForm/ApplicationForm.js +5 -4
  28. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  29. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +7 -11
  30. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  31. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +11 -7
  32. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  33. package/dist/components/ApplicationLeadForm/useInitApplicationLead.js +23 -18
  34. package/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  35. package/dist/components/Header/HeaderSecondaryMenu.js +7 -6
  36. package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  37. package/dist/components/LinkDocs/LinkDocs.js +2 -2
  38. package/dist/components/LinkDocs/ReportDialogButton.js +15 -0
  39. package/dist/components/LinkDocs/ReportDialogButton.js.map +1 -0
  40. package/dist/components/StickyBottomMenu/BurgerMenuDialog.d.ts +1 -1
  41. package/dist/components/StickyBottomMenu/BurgerMenuDialog.js +8 -7
  42. package/dist/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  43. package/dist/components/StickyBottomMenu/StickyBottomMenu.mobile.js +8 -10
  44. package/dist/components/StickyBottomMenu/StickyBottomMenu.mobile.js.map +1 -1
  45. package/dist/components/StickyBottomMenu/StickyBottomMenuDialog.js +1 -10
  46. package/dist/components/StickyBottomMenu/StickyBottomMenuDialog.js.map +1 -1
  47. package/dist/components/StickyBottomMenu/useBottomMenuItemDialog.d.ts +2 -7
  48. package/dist/components/StickyBottomMenu/useBottomMenuItemDialog.js +17 -9
  49. package/dist/components/StickyBottomMenu/useBottomMenuItemDialog.js.map +1 -1
  50. package/dist/components/StickyBottomMenu/useBurgerMenuDialog.d.ts +2 -5
  51. package/dist/components/StickyBottomMenu/useBurgerMenuDialog.js +8 -15
  52. package/dist/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
  53. package/dist/hooks/useLocalStorage.d.ts +1 -1
  54. package/dist/hooks/useLocalStorage.js +8 -4
  55. package/dist/hooks/useLocalStorage.js.map +1 -1
  56. package/dist/hooks/useMobileMode.js +6 -5
  57. package/dist/hooks/useMobileMode.js.map +1 -1
  58. package/dist/hooks/useOnEscape.d.ts +1 -0
  59. package/dist/hooks/useOnEscape.js +14 -0
  60. package/dist/hooks/useOnEscape.js.map +1 -0
  61. package/dist/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +0 -1
  62. package/dist/ui-kit/CaptchaDialog/CaptchaDialog.js +4 -4
  63. package/dist/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -1
  64. package/dist/ui-kit/Checkbox/CheckboxWithDoc.js +3 -6
  65. package/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  66. package/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +1 -1
  67. package/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js +16 -19
  68. package/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js.map +1 -1
  69. package/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +10 -9
  70. package/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
  71. package/dist/ui-kit/DialogManager/Dialog.js +1 -10
  72. package/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
  73. package/dist/ui-kit/DialogManager/DialogAction.d.ts +8 -9
  74. package/dist/ui-kit/DialogManager/DialogManager.js +10 -26
  75. package/dist/ui-kit/DialogManager/DialogManager.js.map +1 -1
  76. package/dist/ui-kit/DialogManager/isDialogOpen.d.ts +2 -2
  77. package/dist/ui-kit/DialogManager/isDialogOpen.js.map +1 -1
  78. package/dist/ui-kit/DialogManager/useDialog.d.ts +9 -0
  79. package/dist/ui-kit/DialogManager/useDialog.js +18 -0
  80. package/dist/ui-kit/DialogManager/useDialog.js.map +1 -0
  81. package/dist/ui-kit/DialogManager/useDialogManager.d.ts +3 -6
  82. package/dist/ui-kit/DialogManager/useDialogManager.js +2 -5
  83. package/dist/ui-kit/DialogManager/useDialogManager.js.map +1 -1
  84. package/dist/ui-kit/DialogManager/useDialogsList.d.ts +8 -7
  85. package/dist/ui-kit/DialogManager/useDialogsList.js +8 -32
  86. package/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  87. package/dist/ui-kit/DocumentDialog/DocumentDialog.d.ts +6 -0
  88. package/dist/ui-kit/DocumentDialog/DocumentDialog.js +9 -0
  89. package/dist/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -0
  90. package/dist/ui-kit/DocumentDialog/uaeDocumentDialog.d.ts +2 -0
  91. package/dist/ui-kit/DocumentDialog/uaeDocumentDialog.js +19 -0
  92. package/dist/ui-kit/DocumentDialog/uaeDocumentDialog.js.map +1 -0
  93. package/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +1 -1
  94. package/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +3 -3
  95. package/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -1
  96. package/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +1 -9
  97. package/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +5 -11
  98. package/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -1
  99. package/dist/ui-kit/FormField/Fields/AddressField.js +14 -1
  100. package/dist/ui-kit/FormField/Fields/AddressField.js.map +1 -1
  101. package/dist/ui-kit/Input/useInputPopup.js +2 -1
  102. package/dist/ui-kit/Input/useInputPopup.js.map +1 -1
  103. package/dist/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
  104. package/dist/ui-kit/LocationDialog/LocationDialog.js +4 -6
  105. package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  106. package/dist/ui-kit/PopupManager/PopupAction.d.ts +7 -10
  107. package/dist/ui-kit/PopupManager/PopupManager.js +7 -24
  108. package/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  109. package/dist/ui-kit/PopupManager/usePopupManager.d.ts +3 -4
  110. package/dist/ui-kit/PopupManager/usePopupManager.js +2 -5
  111. package/dist/ui-kit/PopupManager/usePopupManager.js.map +1 -1
  112. package/dist/ui-kit/ReportDialog/ReportDialog.d.ts +1 -0
  113. package/dist/ui-kit/ReportDialog/ReportDialog.js +2 -8
  114. package/dist/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  115. package/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -0
  116. package/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js +2 -8
  117. package/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js.map +1 -1
  118. package/dist/ui-kit/SearchBar/SearchBar.js +4 -3
  119. package/dist/ui-kit/SearchBar/SearchBar.js.map +1 -1
  120. package/dist/ui-kit/SearchDialog/SearchDialog.d.ts +1 -0
  121. package/dist/ui-kit/SearchDialog/SearchDialog.js +2 -2
  122. package/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  123. package/dist/ui-kit/Select/useSelectPopup.js +2 -1
  124. package/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
  125. package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +2 -2
  126. package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +10 -9
  127. package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  128. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +3 -3
  129. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +14 -23
  130. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  131. package/lib/components/ApplicationForm/ApplicationForm.js +5 -4
  132. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  133. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +8 -12
  134. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  135. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +11 -7
  136. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  137. package/lib/components/ApplicationLeadForm/useInitApplicationLead.js +24 -19
  138. package/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  139. package/lib/components/Header/HeaderSecondaryMenu.js +7 -6
  140. package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  141. package/lib/components/LinkDocs/LinkDocs.js +1 -1
  142. package/lib/components/LinkDocs/ReportDialogButton.js +13 -0
  143. package/lib/components/LinkDocs/ReportDialogButton.js.map +1 -0
  144. package/lib/components/StickyBottomMenu/BurgerMenuDialog.d.ts +1 -1
  145. package/lib/components/StickyBottomMenu/BurgerMenuDialog.js +8 -7
  146. package/lib/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  147. package/lib/components/StickyBottomMenu/StickyBottomMenu.mobile.js +8 -10
  148. package/lib/components/StickyBottomMenu/StickyBottomMenu.mobile.js.map +1 -1
  149. package/lib/components/StickyBottomMenu/StickyBottomMenuDialog.js +1 -10
  150. package/lib/components/StickyBottomMenu/StickyBottomMenuDialog.js.map +1 -1
  151. package/lib/components/StickyBottomMenu/useBottomMenuItemDialog.d.ts +2 -7
  152. package/lib/components/StickyBottomMenu/useBottomMenuItemDialog.js +17 -9
  153. package/lib/components/StickyBottomMenu/useBottomMenuItemDialog.js.map +1 -1
  154. package/lib/components/StickyBottomMenu/useBurgerMenuDialog.d.ts +2 -5
  155. package/lib/components/StickyBottomMenu/useBurgerMenuDialog.js +8 -15
  156. package/lib/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
  157. package/lib/hooks/useLocalStorage.d.ts +1 -1
  158. package/lib/hooks/useLocalStorage.js +8 -4
  159. package/lib/hooks/useLocalStorage.js.map +1 -1
  160. package/lib/hooks/useMobileMode.js +6 -5
  161. package/lib/hooks/useMobileMode.js.map +1 -1
  162. package/lib/hooks/useOnEscape.d.ts +1 -0
  163. package/lib/hooks/useOnEscape.js +11 -0
  164. package/lib/hooks/useOnEscape.js.map +1 -0
  165. package/lib/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +0 -1
  166. package/lib/ui-kit/CaptchaDialog/CaptchaDialog.js +4 -4
  167. package/lib/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -1
  168. package/lib/ui-kit/Checkbox/CheckboxWithDoc.js +3 -6
  169. package/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  170. package/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +1 -1
  171. package/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js +16 -19
  172. package/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js.map +1 -1
  173. package/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +10 -9
  174. package/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
  175. package/lib/ui-kit/DialogManager/Dialog.js +1 -10
  176. package/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
  177. package/lib/ui-kit/DialogManager/DialogAction.d.ts +8 -9
  178. package/lib/ui-kit/DialogManager/DialogManager.js +11 -27
  179. package/lib/ui-kit/DialogManager/DialogManager.js.map +1 -1
  180. package/lib/ui-kit/DialogManager/isDialogOpen.d.ts +2 -2
  181. package/lib/ui-kit/DialogManager/isDialogOpen.js.map +1 -1
  182. package/lib/ui-kit/DialogManager/useDialog.d.ts +9 -0
  183. package/lib/ui-kit/DialogManager/useDialog.js +15 -0
  184. package/lib/ui-kit/DialogManager/useDialog.js.map +1 -0
  185. package/lib/ui-kit/DialogManager/useDialogManager.d.ts +3 -6
  186. package/lib/ui-kit/DialogManager/useDialogManager.js +2 -5
  187. package/lib/ui-kit/DialogManager/useDialogManager.js.map +1 -1
  188. package/lib/ui-kit/DialogManager/useDialogsList.d.ts +8 -7
  189. package/lib/ui-kit/DialogManager/useDialogsList.js +8 -32
  190. package/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  191. package/lib/ui-kit/DocumentDialog/DocumentDialog.d.ts +6 -0
  192. package/lib/ui-kit/DocumentDialog/DocumentDialog.js +7 -0
  193. package/lib/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -0
  194. package/lib/ui-kit/DocumentDialog/uaeDocumentDialog.d.ts +2 -0
  195. package/lib/ui-kit/DocumentDialog/uaeDocumentDialog.js +16 -0
  196. package/lib/ui-kit/DocumentDialog/uaeDocumentDialog.js.map +1 -0
  197. package/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +1 -1
  198. package/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +3 -3
  199. package/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -1
  200. package/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +1 -9
  201. package/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +5 -11
  202. package/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -1
  203. package/lib/ui-kit/FormField/Fields/AddressField.js +14 -1
  204. package/lib/ui-kit/FormField/Fields/AddressField.js.map +1 -1
  205. package/lib/ui-kit/Input/useInputPopup.js +2 -1
  206. package/lib/ui-kit/Input/useInputPopup.js.map +1 -1
  207. package/lib/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
  208. package/lib/ui-kit/LocationDialog/LocationDialog.js +4 -6
  209. package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  210. package/lib/ui-kit/PopupManager/PopupAction.d.ts +7 -10
  211. package/lib/ui-kit/PopupManager/PopupManager.js +8 -25
  212. package/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  213. package/lib/ui-kit/PopupManager/usePopupManager.d.ts +3 -4
  214. package/lib/ui-kit/PopupManager/usePopupManager.js +2 -5
  215. package/lib/ui-kit/PopupManager/usePopupManager.js.map +1 -1
  216. package/lib/ui-kit/ReportDialog/ReportDialog.d.ts +1 -0
  217. package/lib/ui-kit/ReportDialog/ReportDialog.js +2 -8
  218. package/lib/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  219. package/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -0
  220. package/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js +2 -8
  221. package/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js.map +1 -1
  222. package/lib/ui-kit/SearchBar/SearchBar.js +4 -3
  223. package/lib/ui-kit/SearchBar/SearchBar.js.map +1 -1
  224. package/lib/ui-kit/SearchDialog/SearchDialog.d.ts +1 -0
  225. package/lib/ui-kit/SearchDialog/SearchDialog.js +2 -2
  226. package/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  227. package/lib/ui-kit/Select/useSelectPopup.js +2 -1
  228. package/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
  229. package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +2 -2
  230. package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +10 -9
  231. package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  232. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +3 -3
  233. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +15 -24
  234. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  235. package/mobile/bundle/bundle.umd.js +256 -341
  236. package/mobile/bundle/bundle.umd.min.js +1 -1
  237. package/mobile/bundle/components/StickyBottomMenu/BurgerMenuDialog.d.ts +1 -1
  238. package/mobile/bundle/components/StickyBottomMenu/useBottomMenuItemDialog.d.ts +2 -7
  239. package/mobile/bundle/components/StickyBottomMenu/useBurgerMenuDialog.d.ts +2 -5
  240. package/mobile/bundle/hooks/useLocalStorage.d.ts +1 -1
  241. package/mobile/bundle/hooks/useOnEscape.d.ts +1 -0
  242. package/mobile/bundle/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +0 -1
  243. package/mobile/bundle/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +1 -1
  244. package/mobile/bundle/ui-kit/DialogManager/DialogAction.d.ts +8 -9
  245. package/mobile/bundle/ui-kit/DialogManager/isDialogOpen.d.ts +2 -2
  246. package/mobile/bundle/ui-kit/DialogManager/useDialog.d.ts +9 -0
  247. package/mobile/bundle/ui-kit/DialogManager/useDialogManager.d.ts +3 -6
  248. package/mobile/bundle/ui-kit/DialogManager/useDialogsList.d.ts +8 -7
  249. package/mobile/bundle/ui-kit/DocumentDialog/DocumentDialog.d.ts +6 -0
  250. package/mobile/bundle/ui-kit/DocumentDialog/uaeDocumentDialog.d.ts +2 -0
  251. package/mobile/bundle/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +1 -1
  252. package/mobile/bundle/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +1 -9
  253. package/mobile/bundle/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
  254. package/mobile/bundle/ui-kit/PopupManager/PopupAction.d.ts +7 -10
  255. package/mobile/bundle/ui-kit/PopupManager/usePopupManager.d.ts +3 -4
  256. package/mobile/bundle/ui-kit/ReportDialog/ReportDialog.d.ts +1 -0
  257. package/mobile/bundle/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -0
  258. package/mobile/bundle/ui-kit/SearchDialog/SearchDialog.d.ts +1 -0
  259. package/mobile/bundle/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +2 -2
  260. package/mobile/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +3 -3
  261. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +5 -4
  262. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  263. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +7 -11
  264. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  265. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +11 -7
  266. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  267. package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js +23 -18
  268. package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  269. package/mobile/dist/components/Header/HeaderSecondaryMenu.js +7 -6
  270. package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  271. package/mobile/dist/components/LinkDocs/LinkDocs.js +2 -2
  272. package/mobile/dist/components/LinkDocs/ReportDialogButton.js +15 -0
  273. package/mobile/dist/components/LinkDocs/ReportDialogButton.js.map +1 -0
  274. package/mobile/dist/components/StickyBottomMenu/BurgerMenuDialog.d.ts +1 -1
  275. package/mobile/dist/components/StickyBottomMenu/BurgerMenuDialog.js +8 -7
  276. package/mobile/dist/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  277. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenu.js +8 -10
  278. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenu.js.map +1 -1
  279. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenuDialog.js +1 -10
  280. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenuDialog.js.map +1 -1
  281. package/mobile/dist/components/StickyBottomMenu/useBottomMenuItemDialog.d.ts +2 -7
  282. package/mobile/dist/components/StickyBottomMenu/useBottomMenuItemDialog.js +17 -9
  283. package/mobile/dist/components/StickyBottomMenu/useBottomMenuItemDialog.js.map +1 -1
  284. package/mobile/dist/components/StickyBottomMenu/useBurgerMenuDialog.d.ts +2 -5
  285. package/mobile/dist/components/StickyBottomMenu/useBurgerMenuDialog.js +8 -15
  286. package/mobile/dist/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
  287. package/mobile/dist/hooks/useLocalStorage.d.ts +1 -1
  288. package/mobile/dist/hooks/useLocalStorage.js +8 -4
  289. package/mobile/dist/hooks/useLocalStorage.js.map +1 -1
  290. package/mobile/dist/hooks/useMobileMode.js +6 -5
  291. package/mobile/dist/hooks/useMobileMode.js.map +1 -1
  292. package/mobile/dist/hooks/useOnEscape.d.ts +1 -0
  293. package/mobile/dist/hooks/useOnEscape.js +14 -0
  294. package/mobile/dist/hooks/useOnEscape.js.map +1 -0
  295. package/mobile/dist/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +0 -1
  296. package/mobile/dist/ui-kit/CaptchaDialog/CaptchaDialog.js +4 -4
  297. package/mobile/dist/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -1
  298. package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js +3 -6
  299. package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  300. package/mobile/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +1 -1
  301. package/mobile/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js +16 -19
  302. package/mobile/dist/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js.map +1 -1
  303. package/mobile/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +10 -9
  304. package/mobile/dist/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
  305. package/mobile/dist/ui-kit/DialogManager/Dialog.js +1 -10
  306. package/mobile/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
  307. package/mobile/dist/ui-kit/DialogManager/DialogAction.d.ts +8 -9
  308. package/mobile/dist/ui-kit/DialogManager/DialogManager.js +10 -26
  309. package/mobile/dist/ui-kit/DialogManager/DialogManager.js.map +1 -1
  310. package/mobile/dist/ui-kit/DialogManager/isDialogOpen.d.ts +2 -2
  311. package/mobile/dist/ui-kit/DialogManager/isDialogOpen.js.map +1 -1
  312. package/mobile/dist/ui-kit/DialogManager/useDialog.d.ts +9 -0
  313. package/mobile/dist/ui-kit/DialogManager/useDialog.js +18 -0
  314. package/mobile/dist/ui-kit/DialogManager/useDialog.js.map +1 -0
  315. package/mobile/dist/ui-kit/DialogManager/useDialogManager.d.ts +3 -6
  316. package/mobile/dist/ui-kit/DialogManager/useDialogManager.js +2 -5
  317. package/mobile/dist/ui-kit/DialogManager/useDialogManager.js.map +1 -1
  318. package/mobile/dist/ui-kit/DialogManager/useDialogsList.d.ts +8 -7
  319. package/mobile/dist/ui-kit/DialogManager/useDialogsList.js +8 -32
  320. package/mobile/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  321. package/mobile/dist/ui-kit/DocumentDialog/DocumentDialog.d.ts +6 -0
  322. package/mobile/dist/ui-kit/DocumentDialog/DocumentDialog.js +9 -0
  323. package/mobile/dist/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -0
  324. package/mobile/dist/ui-kit/DocumentDialog/uaeDocumentDialog.d.ts +2 -0
  325. package/mobile/dist/ui-kit/DocumentDialog/uaeDocumentDialog.js +19 -0
  326. package/mobile/dist/ui-kit/DocumentDialog/uaeDocumentDialog.js.map +1 -0
  327. package/mobile/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +1 -1
  328. package/mobile/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +3 -3
  329. package/mobile/dist/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -1
  330. package/mobile/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +1 -9
  331. package/mobile/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +5 -11
  332. package/mobile/dist/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -1
  333. package/mobile/dist/ui-kit/FormField/Fields/AddressField.js +14 -1
  334. package/mobile/dist/ui-kit/FormField/Fields/AddressField.js.map +1 -1
  335. package/mobile/dist/ui-kit/Input/useInputPopup.js +2 -1
  336. package/mobile/dist/ui-kit/Input/useInputPopup.js.map +1 -1
  337. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
  338. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +4 -6
  339. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  340. package/mobile/dist/ui-kit/PopupManager/PopupAction.d.ts +7 -10
  341. package/mobile/dist/ui-kit/PopupManager/PopupManager.js +7 -24
  342. package/mobile/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  343. package/mobile/dist/ui-kit/PopupManager/usePopupManager.d.ts +3 -4
  344. package/mobile/dist/ui-kit/PopupManager/usePopupManager.js +2 -5
  345. package/mobile/dist/ui-kit/PopupManager/usePopupManager.js.map +1 -1
  346. package/mobile/dist/ui-kit/ReportDialog/ReportDialog.d.ts +1 -0
  347. package/mobile/dist/ui-kit/ReportDialog/ReportDialog.js +2 -8
  348. package/mobile/dist/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  349. package/mobile/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -0
  350. package/mobile/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js +2 -8
  351. package/mobile/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js.map +1 -1
  352. package/mobile/dist/ui-kit/SearchBar/SearchBar.js +4 -3
  353. package/mobile/dist/ui-kit/SearchBar/SearchBar.js.map +1 -1
  354. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.d.ts +1 -0
  355. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js +2 -2
  356. package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  357. package/mobile/dist/ui-kit/Select/useSelectPopup.js +2 -1
  358. package/mobile/dist/ui-kit/Select/useSelectPopup.js.map +1 -1
  359. package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +2 -2
  360. package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +10 -9
  361. package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  362. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +3 -3
  363. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +14 -23
  364. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  365. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +5 -4
  366. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  367. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +8 -12
  368. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  369. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +11 -7
  370. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  371. package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js +24 -19
  372. package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
  373. package/mobile/lib/components/Header/HeaderSecondaryMenu.js +7 -6
  374. package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  375. package/mobile/lib/components/LinkDocs/LinkDocs.js +1 -1
  376. package/mobile/lib/components/LinkDocs/ReportDialogButton.js +13 -0
  377. package/mobile/lib/components/LinkDocs/ReportDialogButton.js.map +1 -0
  378. package/mobile/lib/components/StickyBottomMenu/BurgerMenuDialog.d.ts +1 -1
  379. package/mobile/lib/components/StickyBottomMenu/BurgerMenuDialog.js +8 -7
  380. package/mobile/lib/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  381. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenu.js +8 -10
  382. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenu.js.map +1 -1
  383. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenuDialog.js +1 -10
  384. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenuDialog.js.map +1 -1
  385. package/mobile/lib/components/StickyBottomMenu/useBottomMenuItemDialog.d.ts +2 -7
  386. package/mobile/lib/components/StickyBottomMenu/useBottomMenuItemDialog.js +17 -9
  387. package/mobile/lib/components/StickyBottomMenu/useBottomMenuItemDialog.js.map +1 -1
  388. package/mobile/lib/components/StickyBottomMenu/useBurgerMenuDialog.d.ts +2 -5
  389. package/mobile/lib/components/StickyBottomMenu/useBurgerMenuDialog.js +8 -15
  390. package/mobile/lib/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
  391. package/mobile/lib/hooks/useLocalStorage.d.ts +1 -1
  392. package/mobile/lib/hooks/useLocalStorage.js +8 -4
  393. package/mobile/lib/hooks/useLocalStorage.js.map +1 -1
  394. package/mobile/lib/hooks/useMobileMode.js +6 -5
  395. package/mobile/lib/hooks/useMobileMode.js.map +1 -1
  396. package/mobile/lib/hooks/useOnEscape.d.ts +1 -0
  397. package/mobile/lib/hooks/useOnEscape.js +11 -0
  398. package/mobile/lib/hooks/useOnEscape.js.map +1 -0
  399. package/mobile/lib/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +0 -1
  400. package/mobile/lib/ui-kit/CaptchaDialog/CaptchaDialog.js +4 -4
  401. package/mobile/lib/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -1
  402. package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js +3 -6
  403. package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  404. package/mobile/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.d.ts +1 -1
  405. package/mobile/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js +16 -19
  406. package/mobile/lib/ui-kit/ConsentBkiDialog/ConsentBkiDialog.js.map +1 -1
  407. package/mobile/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js +10 -9
  408. package/mobile/lib/ui-kit/ConsentBkiDialog/useConsentBkiDialog.js.map +1 -1
  409. package/mobile/lib/ui-kit/DialogManager/Dialog.js +1 -10
  410. package/mobile/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
  411. package/mobile/lib/ui-kit/DialogManager/DialogAction.d.ts +8 -9
  412. package/mobile/lib/ui-kit/DialogManager/DialogManager.js +11 -27
  413. package/mobile/lib/ui-kit/DialogManager/DialogManager.js.map +1 -1
  414. package/mobile/lib/ui-kit/DialogManager/isDialogOpen.d.ts +2 -2
  415. package/mobile/lib/ui-kit/DialogManager/isDialogOpen.js.map +1 -1
  416. package/mobile/lib/ui-kit/DialogManager/useDialog.d.ts +9 -0
  417. package/mobile/lib/ui-kit/DialogManager/useDialog.js +15 -0
  418. package/mobile/lib/ui-kit/DialogManager/useDialog.js.map +1 -0
  419. package/mobile/lib/ui-kit/DialogManager/useDialogManager.d.ts +3 -6
  420. package/mobile/lib/ui-kit/DialogManager/useDialogManager.js +2 -5
  421. package/mobile/lib/ui-kit/DialogManager/useDialogManager.js.map +1 -1
  422. package/mobile/lib/ui-kit/DialogManager/useDialogsList.d.ts +8 -7
  423. package/mobile/lib/ui-kit/DialogManager/useDialogsList.js +8 -32
  424. package/mobile/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  425. package/mobile/lib/ui-kit/DocumentDialog/DocumentDialog.d.ts +6 -0
  426. package/mobile/lib/ui-kit/DocumentDialog/DocumentDialog.js +7 -0
  427. package/mobile/lib/ui-kit/DocumentDialog/DocumentDialog.js.map +1 -0
  428. package/mobile/lib/ui-kit/DocumentDialog/uaeDocumentDialog.d.ts +2 -0
  429. package/mobile/lib/ui-kit/DocumentDialog/uaeDocumentDialog.js +16 -0
  430. package/mobile/lib/ui-kit/DocumentDialog/uaeDocumentDialog.js.map +1 -0
  431. package/mobile/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.d.ts +1 -1
  432. package/mobile/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js +3 -3
  433. package/mobile/lib/ui-kit/EsiaLoginDialog/EsiaLoginDialog.js.map +1 -1
  434. package/mobile/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.d.ts +1 -9
  435. package/mobile/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js +5 -11
  436. package/mobile/lib/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.js.map +1 -1
  437. package/mobile/lib/ui-kit/FormField/Fields/AddressField.js +14 -1
  438. package/mobile/lib/ui-kit/FormField/Fields/AddressField.js.map +1 -1
  439. package/mobile/lib/ui-kit/Input/useInputPopup.js +2 -1
  440. package/mobile/lib/ui-kit/Input/useInputPopup.js.map +1 -1
  441. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
  442. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +4 -6
  443. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  444. package/mobile/lib/ui-kit/PopupManager/PopupAction.d.ts +7 -10
  445. package/mobile/lib/ui-kit/PopupManager/PopupManager.js +8 -25
  446. package/mobile/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  447. package/mobile/lib/ui-kit/PopupManager/usePopupManager.d.ts +3 -4
  448. package/mobile/lib/ui-kit/PopupManager/usePopupManager.js +2 -5
  449. package/mobile/lib/ui-kit/PopupManager/usePopupManager.js.map +1 -1
  450. package/mobile/lib/ui-kit/ReportDialog/ReportDialog.d.ts +1 -0
  451. package/mobile/lib/ui-kit/ReportDialog/ReportDialog.js +2 -8
  452. package/mobile/lib/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  453. package/mobile/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -0
  454. package/mobile/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js +2 -8
  455. package/mobile/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js.map +1 -1
  456. package/mobile/lib/ui-kit/SearchBar/SearchBar.js +4 -3
  457. package/mobile/lib/ui-kit/SearchBar/SearchBar.js.map +1 -1
  458. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.d.ts +1 -0
  459. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js +2 -2
  460. package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
  461. package/mobile/lib/ui-kit/Select/useSelectPopup.js +2 -1
  462. package/mobile/lib/ui-kit/Select/useSelectPopup.js.map +1 -1
  463. package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +2 -2
  464. package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +10 -9
  465. package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  466. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +3 -3
  467. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +15 -24
  468. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
  469. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +7 -4
  470. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +8 -13
  471. package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +12 -10
  472. package/mobile/src/components/ApplicationLeadForm/useInitApplicationLead.ts +34 -27
  473. package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +7 -6
  474. package/mobile/src/components/LinkDocs/LinkDocs.tsx +1 -1
  475. package/mobile/src/components/LinkDocs/{RepordDialogButton.tsx → ReportDialogButton.tsx} +9 -9
  476. package/mobile/src/components/StickyBottomMenu/BurgerMenuDialog.tsx +11 -11
  477. package/mobile/src/components/StickyBottomMenu/StickyBottomMenu.tsx +8 -10
  478. package/mobile/src/components/StickyBottomMenu/StickyBottomMenuDialog.tsx +12 -23
  479. package/mobile/src/components/StickyBottomMenu/useBottomMenuItemDialog.tsx +48 -46
  480. package/mobile/src/components/StickyBottomMenu/useBurgerMenuDialog.tsx +18 -36
  481. package/mobile/src/hooks/useLocalStorage.ts +13 -6
  482. package/mobile/src/hooks/useMobileMode.ts +7 -7
  483. package/mobile/src/hooks/useOnEscape.ts +14 -0
  484. package/mobile/src/ui-kit/CaptchaDialog/CaptchaDialog.tsx +50 -53
  485. package/mobile/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +3 -9
  486. package/mobile/src/ui-kit/ConsentBkiDialog/ConsentBkiDialog.tsx +52 -57
  487. package/mobile/src/ui-kit/ConsentBkiDialog/useConsentBkiDialog.tsx +10 -14
  488. package/mobile/src/ui-kit/DialogManager/Dialog.tsx +12 -23
  489. package/mobile/src/ui-kit/DialogManager/DialogAction.ts +8 -10
  490. package/mobile/src/ui-kit/DialogManager/DialogManager.tsx +11 -32
  491. package/mobile/src/ui-kit/DialogManager/isDialogOpen.ts +2 -2
  492. package/mobile/src/ui-kit/DialogManager/useDialog.tsx +31 -0
  493. package/mobile/src/ui-kit/DialogManager/useDialogManager.ts +2 -12
  494. package/mobile/src/ui-kit/DialogManager/useDialogsList.ts +13 -47
  495. package/mobile/src/ui-kit/DocumentDialog/DocumentDialog.tsx +23 -0
  496. package/mobile/src/ui-kit/DocumentDialog/uaeDocumentDialog.ts +18 -0
  497. package/mobile/src/ui-kit/EsiaLoginDialog/EsiaLoginDialog.tsx +5 -6
  498. package/mobile/src/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.tsx +5 -17
  499. package/mobile/src/ui-kit/FormField/Fields/AddressField.tsx +14 -1
  500. package/mobile/src/ui-kit/Input/useInputPopup.tsx +2 -1
  501. package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +5 -6
  502. package/mobile/src/ui-kit/PopupManager/PopupAction.ts +7 -12
  503. package/mobile/src/ui-kit/PopupManager/PopupManager.tsx +10 -35
  504. package/mobile/src/ui-kit/PopupManager/usePopupManager.tsx +2 -9
  505. package/mobile/src/ui-kit/ReportDialog/ReportDialog.tsx +5 -10
  506. package/mobile/src/ui-kit/ResponseTypeDialog/ResponseTypeDialog.tsx +30 -34
  507. package/mobile/src/ui-kit/SearchBar/SearchBar.tsx +4 -3
  508. package/mobile/src/ui-kit/SearchDialog/SearchDialog.tsx +3 -2
  509. package/mobile/src/ui-kit/Select/useSelectPopup.tsx +15 -15
  510. package/mobile/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +19 -14
  511. package/mobile/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +19 -32
  512. package/package.json +2 -2
  513. package/src/components/ApplicationForm/ApplicationForm.tsx +7 -4
  514. package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +8 -13
  515. package/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +12 -10
  516. package/src/components/ApplicationLeadForm/useInitApplicationLead.ts +34 -27
  517. package/src/components/Header/HeaderSecondaryMenu.tsx +7 -6
  518. package/src/components/LinkDocs/LinkDocs.tsx +1 -1
  519. package/src/components/LinkDocs/{RepordDialogButton.tsx → ReportDialogButton.tsx} +9 -9
  520. package/src/components/StickyBottomMenu/BurgerMenuDialog.tsx +11 -11
  521. package/src/components/StickyBottomMenu/StickyBottomMenu.mobile.tsx +8 -10
  522. package/src/components/StickyBottomMenu/StickyBottomMenuDialog.tsx +12 -23
  523. package/src/components/StickyBottomMenu/useBottomMenuItemDialog.tsx +48 -46
  524. package/src/components/StickyBottomMenu/useBurgerMenuDialog.tsx +18 -36
  525. package/src/hooks/useLocalStorage.ts +13 -6
  526. package/src/hooks/useMobileMode.ts +7 -7
  527. package/src/hooks/useOnEscape.ts +14 -0
  528. package/src/ui-kit/CaptchaDialog/CaptchaDialog.tsx +50 -53
  529. package/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +3 -9
  530. package/src/ui-kit/ConsentBkiDialog/ConsentBkiDialog.tsx +52 -57
  531. package/src/ui-kit/ConsentBkiDialog/useConsentBkiDialog.tsx +10 -14
  532. package/src/ui-kit/DialogManager/Dialog.tsx +12 -23
  533. package/src/ui-kit/DialogManager/DialogAction.ts +8 -10
  534. package/src/ui-kit/DialogManager/DialogManager.tsx +11 -32
  535. package/src/ui-kit/DialogManager/isDialogOpen.ts +2 -2
  536. package/src/ui-kit/DialogManager/useDialog.tsx +31 -0
  537. package/src/ui-kit/DialogManager/useDialogManager.ts +2 -12
  538. package/src/ui-kit/DialogManager/useDialogsList.ts +13 -47
  539. package/src/ui-kit/DocumentDialog/DocumentDialog.tsx +23 -0
  540. package/src/ui-kit/DocumentDialog/uaeDocumentDialog.ts +18 -0
  541. package/src/ui-kit/EsiaLoginDialog/EsiaLoginDialog.tsx +5 -6
  542. package/src/ui-kit/EsiaLoginDialog/useEsiaLoginDialog.tsx +5 -17
  543. package/src/ui-kit/FormField/Fields/AddressField.tsx +14 -1
  544. package/src/ui-kit/Input/useInputPopup.tsx +2 -1
  545. package/src/ui-kit/LocationDialog/LocationDialog.tsx +5 -6
  546. package/src/ui-kit/PopupManager/PopupAction.ts +7 -12
  547. package/src/ui-kit/PopupManager/PopupManager.tsx +10 -35
  548. package/src/ui-kit/PopupManager/usePopupManager.tsx +2 -9
  549. package/src/ui-kit/ReportDialog/ReportDialog.tsx +5 -10
  550. package/src/ui-kit/ResponseTypeDialog/ResponseTypeDialog.tsx +30 -34
  551. package/src/ui-kit/SearchBar/SearchBar.tsx +4 -3
  552. package/src/ui-kit/SearchDialog/SearchDialog.tsx +3 -2
  553. package/src/ui-kit/Select/useSelectPopup.tsx +15 -15
  554. package/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.fixture.tsx +1 -6
  555. package/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +19 -14
  556. package/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +19 -32
  557. package/bundle/EventBus/useLatestEvent.d.ts +0 -2
  558. package/bundle/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +0 -6
  559. package/bundle/ui-kit/Checkbox/getDocument.d.ts +0 -1
  560. package/bundle/ui-kit/DialogManager/openDocument.d.ts +0 -9
  561. package/bundle/ui-kit/LocationDialog/useLocationDialog.d.ts +0 -6
  562. package/bundle/ui-kit/ReportDialog/useReportDialog.d.ts +0 -6
  563. package/bundle/ui-kit/ResponseTypeDialog/useResponseTypeDialog.d.ts +0 -9
  564. package/bundle/ui-kit/SearchDialog/useSearchDialog.d.ts +0 -6
  565. package/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +0 -5
  566. package/dist/EventBus/useLatestEvent.d.ts +0 -2
  567. package/dist/EventBus/useLatestEvent.js +0 -11
  568. package/dist/EventBus/useLatestEvent.js.map +0 -1
  569. package/dist/components/LinkDocs/RepordDialogButton.js +0 -17
  570. package/dist/components/LinkDocs/RepordDialogButton.js.map +0 -1
  571. package/dist/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +0 -6
  572. package/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js +0 -15
  573. package/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +0 -1
  574. package/dist/ui-kit/Checkbox/getDocument.d.ts +0 -1
  575. package/dist/ui-kit/Checkbox/getDocument.js +0 -9
  576. package/dist/ui-kit/Checkbox/getDocument.js.map +0 -1
  577. package/dist/ui-kit/DialogManager/openDocument.d.ts +0 -9
  578. package/dist/ui-kit/DialogManager/openDocument.js +0 -12
  579. package/dist/ui-kit/DialogManager/openDocument.js.map +0 -1
  580. package/dist/ui-kit/LocationDialog/useLocationDialog.d.ts +0 -6
  581. package/dist/ui-kit/LocationDialog/useLocationDialog.js +0 -14
  582. package/dist/ui-kit/LocationDialog/useLocationDialog.js.map +0 -1
  583. package/dist/ui-kit/ReportDialog/useReportDialog.d.ts +0 -6
  584. package/dist/ui-kit/ReportDialog/useReportDialog.js +0 -14
  585. package/dist/ui-kit/ReportDialog/useReportDialog.js.map +0 -1
  586. package/dist/ui-kit/ResponseTypeDialog/useResponseTypeDialog.d.ts +0 -9
  587. package/dist/ui-kit/ResponseTypeDialog/useResponseTypeDialog.js +0 -14
  588. package/dist/ui-kit/ResponseTypeDialog/useResponseTypeDialog.js.map +0 -1
  589. package/dist/ui-kit/SearchDialog/useSearchDialog.d.ts +0 -6
  590. package/dist/ui-kit/SearchDialog/useSearchDialog.js +0 -14
  591. package/dist/ui-kit/SearchDialog/useSearchDialog.js.map +0 -1
  592. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +0 -5
  593. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +0 -14
  594. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +0 -1
  595. package/lib/EventBus/useLatestEvent.d.ts +0 -2
  596. package/lib/EventBus/useLatestEvent.js +0 -8
  597. package/lib/EventBus/useLatestEvent.js.map +0 -1
  598. package/lib/components/LinkDocs/RepordDialogButton.js +0 -15
  599. package/lib/components/LinkDocs/RepordDialogButton.js.map +0 -1
  600. package/lib/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +0 -6
  601. package/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js +0 -12
  602. package/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +0 -1
  603. package/lib/ui-kit/Checkbox/getDocument.d.ts +0 -1
  604. package/lib/ui-kit/Checkbox/getDocument.js +0 -6
  605. package/lib/ui-kit/Checkbox/getDocument.js.map +0 -1
  606. package/lib/ui-kit/DialogManager/openDocument.d.ts +0 -9
  607. package/lib/ui-kit/DialogManager/openDocument.js +0 -9
  608. package/lib/ui-kit/DialogManager/openDocument.js.map +0 -1
  609. package/lib/ui-kit/LocationDialog/useLocationDialog.d.ts +0 -6
  610. package/lib/ui-kit/LocationDialog/useLocationDialog.js +0 -11
  611. package/lib/ui-kit/LocationDialog/useLocationDialog.js.map +0 -1
  612. package/lib/ui-kit/ReportDialog/useReportDialog.d.ts +0 -6
  613. package/lib/ui-kit/ReportDialog/useReportDialog.js +0 -11
  614. package/lib/ui-kit/ReportDialog/useReportDialog.js.map +0 -1
  615. package/lib/ui-kit/ResponseTypeDialog/useResponseTypeDialog.d.ts +0 -9
  616. package/lib/ui-kit/ResponseTypeDialog/useResponseTypeDialog.js +0 -11
  617. package/lib/ui-kit/ResponseTypeDialog/useResponseTypeDialog.js.map +0 -1
  618. package/lib/ui-kit/SearchDialog/useSearchDialog.d.ts +0 -6
  619. package/lib/ui-kit/SearchDialog/useSearchDialog.js +0 -11
  620. package/lib/ui-kit/SearchDialog/useSearchDialog.js.map +0 -1
  621. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +0 -5
  622. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +0 -11
  623. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +0 -1
  624. package/mobile/bundle/EventBus/useLatestEvent.d.ts +0 -2
  625. package/mobile/bundle/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +0 -6
  626. package/mobile/bundle/ui-kit/Checkbox/getDocument.d.ts +0 -1
  627. package/mobile/bundle/ui-kit/DialogManager/openDocument.d.ts +0 -9
  628. package/mobile/bundle/ui-kit/LocationDialog/useLocationDialog.d.ts +0 -6
  629. package/mobile/bundle/ui-kit/ReportDialog/useReportDialog.d.ts +0 -6
  630. package/mobile/bundle/ui-kit/ResponseTypeDialog/useResponseTypeDialog.d.ts +0 -9
  631. package/mobile/bundle/ui-kit/SearchDialog/useSearchDialog.d.ts +0 -6
  632. package/mobile/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +0 -5
  633. package/mobile/dist/EventBus/useLatestEvent.d.ts +0 -2
  634. package/mobile/dist/EventBus/useLatestEvent.js +0 -11
  635. package/mobile/dist/EventBus/useLatestEvent.js.map +0 -1
  636. package/mobile/dist/components/LinkDocs/RepordDialogButton.js +0 -17
  637. package/mobile/dist/components/LinkDocs/RepordDialogButton.js.map +0 -1
  638. package/mobile/dist/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +0 -6
  639. package/mobile/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js +0 -15
  640. package/mobile/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +0 -1
  641. package/mobile/dist/ui-kit/Checkbox/getDocument.d.ts +0 -1
  642. package/mobile/dist/ui-kit/Checkbox/getDocument.js +0 -9
  643. package/mobile/dist/ui-kit/Checkbox/getDocument.js.map +0 -1
  644. package/mobile/dist/ui-kit/DialogManager/openDocument.d.ts +0 -9
  645. package/mobile/dist/ui-kit/DialogManager/openDocument.js +0 -12
  646. package/mobile/dist/ui-kit/DialogManager/openDocument.js.map +0 -1
  647. package/mobile/dist/ui-kit/LocationDialog/useLocationDialog.d.ts +0 -6
  648. package/mobile/dist/ui-kit/LocationDialog/useLocationDialog.js +0 -14
  649. package/mobile/dist/ui-kit/LocationDialog/useLocationDialog.js.map +0 -1
  650. package/mobile/dist/ui-kit/ReportDialog/useReportDialog.d.ts +0 -6
  651. package/mobile/dist/ui-kit/ReportDialog/useReportDialog.js +0 -14
  652. package/mobile/dist/ui-kit/ReportDialog/useReportDialog.js.map +0 -1
  653. package/mobile/dist/ui-kit/ResponseTypeDialog/useResponseTypeDialog.d.ts +0 -9
  654. package/mobile/dist/ui-kit/ResponseTypeDialog/useResponseTypeDialog.js +0 -14
  655. package/mobile/dist/ui-kit/ResponseTypeDialog/useResponseTypeDialog.js.map +0 -1
  656. package/mobile/dist/ui-kit/SearchDialog/useSearchDialog.d.ts +0 -6
  657. package/mobile/dist/ui-kit/SearchDialog/useSearchDialog.js +0 -14
  658. package/mobile/dist/ui-kit/SearchDialog/useSearchDialog.js.map +0 -1
  659. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +0 -5
  660. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +0 -14
  661. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +0 -1
  662. package/mobile/lib/EventBus/useLatestEvent.d.ts +0 -2
  663. package/mobile/lib/EventBus/useLatestEvent.js +0 -8
  664. package/mobile/lib/EventBus/useLatestEvent.js.map +0 -1
  665. package/mobile/lib/components/LinkDocs/RepordDialogButton.js +0 -15
  666. package/mobile/lib/components/LinkDocs/RepordDialogButton.js.map +0 -1
  667. package/mobile/lib/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +0 -6
  668. package/mobile/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js +0 -12
  669. package/mobile/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +0 -1
  670. package/mobile/lib/ui-kit/Checkbox/getDocument.d.ts +0 -1
  671. package/mobile/lib/ui-kit/Checkbox/getDocument.js +0 -6
  672. package/mobile/lib/ui-kit/Checkbox/getDocument.js.map +0 -1
  673. package/mobile/lib/ui-kit/DialogManager/openDocument.d.ts +0 -9
  674. package/mobile/lib/ui-kit/DialogManager/openDocument.js +0 -9
  675. package/mobile/lib/ui-kit/DialogManager/openDocument.js.map +0 -1
  676. package/mobile/lib/ui-kit/LocationDialog/useLocationDialog.d.ts +0 -6
  677. package/mobile/lib/ui-kit/LocationDialog/useLocationDialog.js +0 -11
  678. package/mobile/lib/ui-kit/LocationDialog/useLocationDialog.js.map +0 -1
  679. package/mobile/lib/ui-kit/ReportDialog/useReportDialog.d.ts +0 -6
  680. package/mobile/lib/ui-kit/ReportDialog/useReportDialog.js +0 -11
  681. package/mobile/lib/ui-kit/ReportDialog/useReportDialog.js.map +0 -1
  682. package/mobile/lib/ui-kit/ResponseTypeDialog/useResponseTypeDialog.d.ts +0 -9
  683. package/mobile/lib/ui-kit/ResponseTypeDialog/useResponseTypeDialog.js +0 -11
  684. package/mobile/lib/ui-kit/ResponseTypeDialog/useResponseTypeDialog.js.map +0 -1
  685. package/mobile/lib/ui-kit/SearchDialog/useSearchDialog.d.ts +0 -6
  686. package/mobile/lib/ui-kit/SearchDialog/useSearchDialog.js +0 -11
  687. package/mobile/lib/ui-kit/SearchDialog/useSearchDialog.js.map +0 -1
  688. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.d.ts +0 -5
  689. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +0 -11
  690. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +0 -1
  691. package/mobile/src/EventBus/useLatestEvent.ts +0 -16
  692. package/mobile/src/ui-kit/CaptchaDialog/useCaptchaDialog.tsx +0 -12
  693. package/mobile/src/ui-kit/Checkbox/getDocument.ts +0 -7
  694. package/mobile/src/ui-kit/DialogManager/openDocument.tsx +0 -27
  695. package/mobile/src/ui-kit/LocationDialog/useLocationDialog.tsx +0 -11
  696. package/mobile/src/ui-kit/ReportDialog/useReportDialog.tsx +0 -11
  697. package/mobile/src/ui-kit/ResponseTypeDialog/useResponseTypeDialog.tsx +0 -17
  698. package/mobile/src/ui-kit/SearchDialog/useSearchDialog.tsx +0 -12
  699. package/mobile/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.tsx +0 -12
  700. package/src/EventBus/useLatestEvent.ts +0 -16
  701. package/src/ui-kit/CaptchaDialog/useCaptchaDialog.tsx +0 -12
  702. package/src/ui-kit/Checkbox/getDocument.ts +0 -7
  703. package/src/ui-kit/DialogManager/openDocument.tsx +0 -27
  704. package/src/ui-kit/LocationDialog/useLocationDialog.tsx +0 -11
  705. package/src/ui-kit/ReportDialog/useReportDialog.tsx +0 -11
  706. package/src/ui-kit/ResponseTypeDialog/useResponseTypeDialog.tsx +0 -17
  707. package/src/ui-kit/SearchDialog/useSearchDialog.tsx +0 -12
  708. package/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.tsx +0 -12
  709. /package/bundle/components/LinkDocs/{RepordDialogButton.d.ts → ReportDialogButton.d.ts} +0 -0
  710. /package/dist/components/LinkDocs/{RepordDialogButton.d.ts → ReportDialogButton.d.ts} +0 -0
  711. /package/lib/components/LinkDocs/{RepordDialogButton.d.ts → ReportDialogButton.d.ts} +0 -0
  712. /package/mobile/bundle/components/LinkDocs/{RepordDialogButton.d.ts → ReportDialogButton.d.ts} +0 -0
  713. /package/mobile/dist/components/LinkDocs/{RepordDialogButton.d.ts → ReportDialogButton.d.ts} +0 -0
  714. /package/mobile/lib/components/LinkDocs/{RepordDialogButton.d.ts → ReportDialogButton.d.ts} +0 -0
@@ -415,6 +415,17 @@
415
415
  handlerDecorator._impl = impl;
416
416
  };
417
417
 
418
+ function useEmitterWithActions(eventBus, type) {
419
+ const cache = useRef({});
420
+ return useMemo(() => new Proxy({}, {
421
+ get(_, actionType) {
422
+ cache.current ||= {};
423
+ cache.current[actionType] ||= action => eventBus.fire(type, { ...(action ?? {}), type: actionType });
424
+ return cache.current[actionType];
425
+ }
426
+ }), [eventBus, type]);
427
+ }
428
+
418
429
  class EventBus {
419
430
  watchers = new Set();
420
431
  subscribersMap = {};
@@ -466,11 +477,7 @@
466
477
 
467
478
  const defaultEventBus = new EventBus();
468
479
 
469
- const useDialogManager = () => ({
470
- open: (dialog, options = {}) => defaultEventBus.fire('dialog', { type: 'open', dialog, ...options }),
471
- close: () => defaultEventBus.fire('dialog', { type: 'close' }),
472
- closeAll: () => defaultEventBus.fire('dialog', { type: 'close', all: true }),
473
- });
480
+ const useDialogManager = () => useEmitterWithActions(defaultEventBus.emitter, 'dialog');
474
481
 
475
482
  const adjustBase = (href, basePath = '') => href?.replace(basePath, '') || '/';
476
483
 
@@ -602,17 +609,18 @@
602
609
 
603
610
  const INITIAL_MOBILE_MODE = false;
604
611
 
612
+ const MOBILE_WIDTH = 1024;
613
+ const MOBILE_QUERY = `(max-width: ${MOBILE_WIDTH}px)`;
605
614
  const useMobileMode = () => {
606
- const mq = `(max-width: 1024px)`;
607
- const [isMobileMode, setIsMobileMode] = useState(INITIAL_MOBILE_MODE);
615
+ const [isMobileMode, setMobileMode] = useState(INITIAL_MOBILE_MODE);
608
616
  useEffect(() => {
609
- const mqList = globalThis.matchMedia?.(mq);
617
+ const mqList = globalThis.matchMedia?.(MOBILE_QUERY);
610
618
  const mqHandler = () => {
611
- setIsMobileMode(Boolean(mqList?.matches));
619
+ setMobileMode(Boolean(mqList?.matches));
612
620
  };
613
621
  mqList?.addEventListener('change', mqHandler);
614
622
  if (mqList?.matches) {
615
- setIsMobileMode(Boolean(mqList.matches));
623
+ setMobileMode(true);
616
624
  }
617
625
  return () => {
618
626
  mqList?.removeEventListener('change', mqHandler);
@@ -1201,6 +1209,18 @@
1201
1209
  return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container max-w-[978px] space-y-lg", children: [title ? jsx(Heading, { headingType: "h3", title: title, className: "@xl:text-center" }) : null, children] }) }));
1202
1210
  });
1203
1211
 
1212
+ function useDialog(Dialog, initialProps = {}) {
1213
+ const { open, close, ...rest } = useDialogManager();
1214
+ const openDialog = useCallback((props, options = {}) => open({
1215
+ dialog: (jsx(Dialog, { ...initialProps, ...props, onClose: () => {
1216
+ close();
1217
+ props.onClose?.();
1218
+ } })),
1219
+ ...options,
1220
+ }), [Dialog, open, close]);
1221
+ return { open: openDialog, close, ...rest };
1222
+ }
1223
+
1204
1224
  const getConsentDataProcessing = (inputs) => inputs?.find((_) => _?.name === 'consentDataProcessing');
1205
1225
 
1206
1226
  function useBool(defaultValue = false) {
@@ -1372,11 +1392,7 @@
1372
1392
  return debouncedCallback;
1373
1393
  };
1374
1394
 
1375
- const usePopupManager = () => ({
1376
- open: (popup, options) => defaultEventBus.fire('popup', { type: 'open', popup, ...options }),
1377
- update: (popup, options) => defaultEventBus.fire('popup', { type: 'update', popup, ...options }),
1378
- close: () => defaultEventBus.fire('popup', { type: 'close' }),
1379
- });
1395
+ const usePopupManager = () => useEmitterWithActions(defaultEventBus.emitter, 'popup');
1380
1396
 
1381
1397
  const InputPopup = JSX(({ options, onChange }) => (jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", children: options?.map((item, key) => (jsx("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "listitem", onMouseDown: () => onChange(item), children: jsx("span", { className: "min-h-6", children: item.processedValue }) }, key.toString()))) })));
1382
1398
 
@@ -1426,7 +1442,8 @@
1426
1442
  debouncedGetHintsList(value);
1427
1443
  prevInputValue.current = value;
1428
1444
  }
1429
- popup.update(jsx(InputPopup, { options: hintsList, value: value, onChange: handleChange }), {
1445
+ popup.open({
1446
+ popup: jsx(InputPopup, { options: hintsList, value: value, onChange: handleChange }),
1430
1447
  top: top + globalThis.scrollY + height,
1431
1448
  left,
1432
1449
  width,
@@ -1494,7 +1511,8 @@
1494
1511
  }
1495
1512
  const inputElement = inputRef.current;
1496
1513
  const { top, left, width, height } = inputElement.getBoundingClientRect();
1497
- popup.update(jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, onChange: handleChange, iconVersion: iconVersion }), {
1514
+ popup.open({
1515
+ popup: (jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, onChange: handleChange, iconVersion: iconVersion })),
1498
1516
  top: top + window.scrollY + height,
1499
1517
  left,
1500
1518
  width,
@@ -1882,8 +1900,21 @@
1882
1900
  }, []);
1883
1901
  const onChange = useCallback((value) => {
1884
1902
  field?.(fieldName)?.onChange?.({
1885
- ...field(fieldName).value,
1903
+ apartment: '',
1904
+ city: '',
1905
+ district: '',
1886
1906
  fullAddress: value,
1907
+ fiasCode: '',
1908
+ house: '',
1909
+ locality: '',
1910
+ okatoRegionCode: '',
1911
+ postcode: '',
1912
+ region: '',
1913
+ regionCode: '',
1914
+ street: '',
1915
+ qc: '',
1916
+ qcComplete: '',
1917
+ qcHouse: '',
1887
1918
  });
1888
1919
  }, []);
1889
1920
  return (jsx(InputControl, { disabled: input?.filledByEsia && isEsiaAuthorize(field, fieldName), label: "\u0410\u0434\u0440\u0435\u0441", ...getValidation(field(fieldName), validatorObj[fieldName], input?.required), value: fieldValue.fullAddress, onChange: onChange, ...input, onDaDataChange: onDaDataChange }));
@@ -2927,11 +2958,15 @@
2927
2958
  };
2928
2959
 
2929
2960
  function useLocalStorage(key) {
2930
- const [storedValue, setStoredValue] = useState(JSON.parse(globalThis.localStorage?.getItem(key) || 'null'));
2961
+ const initialValue = globalThis.localStorage?.getItem(key);
2962
+ const [storedValue, setStoredValue] = useState(initialValue ? JSON.parse(initialValue) : null);
2931
2963
  const setValue = useCallback((value) => {
2932
- globalThis.localStorage?.setItem(key, JSON.stringify(value));
2933
- setStoredValue(value);
2934
- }, [key, globalThis.localStorage]);
2964
+ setStoredValue((oldValue) => {
2965
+ const newValue = value instanceof Function ? value(oldValue) : value;
2966
+ globalThis.localStorage?.setItem(key, JSON.stringify(newValue));
2967
+ return newValue;
2968
+ });
2969
+ }, [key]);
2935
2970
  return [storedValue, setValue];
2936
2971
  }
2937
2972
 
@@ -2999,6 +3034,11 @@
2999
3034
  },
3000
3035
  };
3001
3036
 
3037
+ const feedbackById = async (id, convertToPng = false) => {
3038
+ const response = await doRequest(`/feedback/file?id=${encodeURIComponent(id)}&convertToPngFlg=${convertToPng}`, 'GET');
3039
+ return response ? await response.blob() : new Blob();
3040
+ };
3041
+
3002
3042
  function useButton() {
3003
3043
  return (props) => ({
3004
3044
  ...props,
@@ -3031,37 +3071,28 @@
3031
3071
  : '', className), type: type, role: role, onClick: onClick, children: children }));
3032
3072
  });
3033
3073
 
3034
- const feedbackById = async (id, convertToPng = false) => {
3035
- const response = await doRequest(`/feedback/file?id=${encodeURIComponent(id)}&convertToPngFlg=${convertToPng}`, 'GET');
3036
- return response ? await response.blob() : new Blob();
3037
- };
3038
-
3039
- const getDocument = async (id, convertToPng = false) => {
3040
- const response = await feedbackById(id, convertToPng);
3041
- return URL.createObjectURL(response);
3042
- };
3043
-
3044
3074
  const CloseButton = JSX(({ className, onClose }) => (jsx("button", { className: style('flex justify-center items-center w-12 h-12 p-2xs bg-transparent border-none', className), onClick: onClose, title: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", type: "button", children: jsx(Icon, { name: "CloseIcon", width: "20", height: "20", iconVersion: "gray" }) })));
3045
3075
 
3046
- const Dialog = JSX(({ className, head, children, onClose, onClick }) => {
3047
- const { close } = useDialogManager();
3048
- const handleClose = useCallback(() => {
3049
- close();
3050
- onClose && onClose();
3051
- }, [onClose]);
3052
- return (jsxs("div", { onClick: onClick, className: style('relative min-h-full bg-white pt-0 p-lg', className), role: "dialog", children: [jsxs("div", { className: "sticky py-xl top-0 bg-white z-10", children: [jsx(CloseButton, { className: "absolute top-0 right-0", onClose: handleClose }), jsx("div", { className: "container", children: head })] }), jsx("div", { className: "container pb-6xl", children: children })] }));
3053
- });
3076
+ const Dialog = JSX(({ className, head, children, onClose, onClick }) => (jsxs("div", { className: style('relative min-h-full bg-white pt-0 p-lg', className), role: "dialog", onClick: onClick, children: [jsxs("div", { className: "sticky py-xl top-0 bg-white z-10", children: [jsx(CloseButton, { className: "absolute top-0 right-0", onClose: onClose }), jsx("div", { className: "container", children: head })] }), jsx("div", { className: "container pb-6xl", children: children })] })));
3077
+
3078
+ // TODO Перенесено как есть из openDocument. Требует рефакторинга
3079
+ const DocumentDialog = JSX(({ src, convertToPng, onClose }) => (jsxs(Dialog, { className: "my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0", onClose: onClose, children: [convertToPng ? (jsx("img", { src: src })) : (jsx("iframe", { src: `${src}#toolbar=0`, className: "w-full h-[80vh]", id: "iframe-dialog" })), jsx(Button, { className: "mx-auto mt-m", type: "button", onClick: onClose, children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" })] })));
3054
3080
 
3055
- const openDocument = async ({ open, close, id, convertToPng = false }) => {
3056
- const document = await getDocument(id, convertToPng);
3057
- open(jsxs(Dialog, { className: "my-6xl max-w-4xl mx-auto px-0 min-h-0 pb-0", children: [convertToPng ? (jsx("img", { src: document })) : (jsx("iframe", { src: `${document}#toolbar=0`, className: "w-full h-[80vh]", id: "iframe-dialog" })), jsx(Button, { className: "mx-auto mt-m", type: "button", onClick: close, children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" })] }));
3081
+ const useDocumentDialog = (docId) => {
3082
+ const { open } = useDialog(DocumentDialog);
3083
+ const isMobileMode = useMobileMode();
3084
+ return useCallback(async () => {
3085
+ if (docId) {
3086
+ const src = URL.createObjectURL(await feedbackById(docId, isMobileMode));
3087
+ open({ src });
3088
+ }
3089
+ }, [open, docId, isMobileMode]);
3058
3090
  };
3059
3091
 
3060
3092
  const OPEN_DOC_BUTTON_TEXT = 'Ознакомиться';
3061
3093
  const CheckboxWithDoc = JSX(({ className, error, docId, ...props }) => {
3062
- const { open, close } = useDialogManager();
3063
- const isMobile = useMobileMode();
3064
- return (jsxs("div", { className: className, children: [jsxs("div", { className: "flex flex-wrap gap-x-m", children: [jsx(Checkbox, { ...props }), docId ? (jsx(LinkButton, { className: "text-primary-main", onClick: () => openDocument({ open, close, id: docId, convertToPng: isMobile }), children: jsx(Text, { children: OPEN_DOC_BUTTON_TEXT }) })) : null] }), renderErrorText(error)] }));
3094
+ const openDocument = useDocumentDialog(docId);
3095
+ return (jsxs("div", { className: className, children: [jsxs("div", { className: "flex flex-wrap gap-x-m", children: [jsx(Checkbox, { ...props }), docId ? (jsx(LinkButton, { className: "text-primary-main", onClick: openDocument, children: jsx(Text, { children: OPEN_DOC_BUTTON_TEXT }) })) : null] }), renderErrorText(error)] }));
3065
3096
  });
3066
3097
 
3067
3098
  const ConsentField = JSX(({ field, input }) => input && input.name ? (jsx(CheckboxWithDoc, { text: CONSENTS[input.name]?.text, docId: CONSENTS[input.name]?.docId, ...getValidation(field(input.name), validatorObj[input.name], input?.required) })) : null);
@@ -3911,29 +3942,17 @@
3911
3942
 
3912
3943
  const renderTitle = (title) => title ? (jsx("div", { className: "@xl:text-center @xl:col-span-2 mb-m", children: jsx(Text, { size: "text-h6", children: title }) })) : null;
3913
3944
 
3914
- const ResponseTypeDialog = JSX(function ({ responseType, typeForm, }) {
3945
+ const ResponseTypeDialog = JSX(({ responseType, typeForm, onClose }) => {
3915
3946
  const responseOK = responseType === 'OK';
3916
3947
  const statusIcon = responseOK ? 'ResponseOKIcon' : 'ResponseFailIcon';
3917
- const { close } = useDialogManager();
3918
- const handleClose = useCallback(() => {
3919
- close();
3920
- }, []);
3921
3948
  const responseOKDescription = typeForm === 'ANTIFRAUD'
3922
3949
  ? `Сообщение отправлено. Для уточнения информации с Вами могут связаться работники Банка либо Вы
3923
3950
  можете самостоятельно позвонить по номеру контакт-центра +78001000100. Будьте внимательны, работники Банка
3924
3951
  не звонят с использованием мессенджеров.`
3925
3952
  : 'Совсем скоро мы с вами свяжемся';
3926
- return (jsx(Dialog, { className: "my-6xl max-w-lg w-full min-h-fit mx-auto ", children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md space-x-m", children: [jsx(Img, { image: { icon: statusIcon, iconVersion: 'normal' }, width: "136", height: "136" }), jsx(Headline, { className: "w-full", title: responseOK ? 'Ваша заявка отправлена' : 'Не удалось отправить заявку', description: responseOK ? responseOKDescription : 'Пожалуйста, повторите позднее', headlineVersion: "XS", isEmbedded: true }), jsx(Button, { type: "button", onClick: handleClose, children: "\u0425\u043E\u0440\u043E\u0448\u043E" })] }) }));
3953
+ return (jsx(Dialog, { className: "my-6xl max-w-lg w-full min-h-fit mx-auto", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md space-x-m", children: [jsx(Img, { image: { icon: statusIcon, iconVersion: 'normal' }, width: "136", height: "136" }), jsx(Headline, { className: "w-full", title: responseOK ? 'Ваша заявка отправлена' : 'Не удалось отправить заявку', description: responseOK ? responseOKDescription : 'Пожалуйста, повторите позднее', headlineVersion: "XS", isEmbedded: true }), jsx(Button, { type: "button", onClick: onClose, children: "\u0425\u043E\u0440\u043E\u0448\u043E" })] }) }));
3927
3954
  });
3928
3955
 
3929
- const useResponseTypeDialog = (initialProps) => {
3930
- const { open, close } = useDialogManager();
3931
- return {
3932
- open: (props, options = {}) => open(jsx(ResponseTypeDialog, { ...initialProps, ...props }), options),
3933
- close,
3934
- };
3935
- };
3936
-
3937
3956
  const objectValidator = (validatorsMap) => (o) => (o &&
3938
3957
  Object.entries(validatorsMap).flatMap(([key, validator]) => validator(o[key]))) ||
3939
3958
  [];
@@ -4024,7 +4043,7 @@
4024
4043
  const inputs = (sections?.flatMap((_) => _?.inputs) || []);
4025
4044
  const initialFormState = getInitialFormState$3(inputs, typeForm);
4026
4045
  const [responseType, setResponseType] = useState('');
4027
- const responseTypeDialog = useResponseTypeDialog({ typeForm });
4046
+ const responseTypeDialog = useDialog(ResponseTypeDialog);
4028
4047
  const handleSubmit = useCallback(async (formData, ev) => {
4029
4048
  const inputsFiltered = getFilteredInputs(inputs, formData);
4030
4049
  const feedbackValidator = objectValidator(getObjectValidator(inputsFiltered));
@@ -4035,14 +4054,14 @@
4035
4054
  const status = (await API.send(formatData, endpoint === 'lead')) ? 'OK' : 'Fail';
4036
4055
  setResponseType(status);
4037
4056
  if (status) {
4038
- responseTypeDialog.open({ responseType: status });
4057
+ responseTypeDialog.open({ typeForm, responseType: status });
4039
4058
  }
4040
4059
  if (status === 'OK' && data) {
4041
4060
  const aspects = useAspects();
4042
4061
  handleAspects({ aspectsAttributes: data, aspects, ev });
4043
4062
  }
4044
4063
  return status;
4045
- }, []);
4064
+ }, [typeForm]);
4046
4065
  const [, { field, onSubmit, reset }] = useForm(initialFormState, { onSubmit: handleSubmit });
4047
4066
  const fieldName = getConsentDataProcessing(inputs)?.name;
4048
4067
  useEffect(() => {
@@ -4238,7 +4257,7 @@
4238
4257
  ? children ?? (jsx("div", { className: "ml-s", children: jsx(Text, { font: "font-medium", color: TEXT_COLOR[bgColor], size: logoTitleSizeStyle, children: logo?.title ?? 'Россельхозбанк' }) }))
4239
4258
  : null] })));
4240
4259
 
4241
- const CaptchaDialog = JSX(({ phoneNumber, close, sendCode, onClose }) => {
4260
+ const CaptchaDialog = JSX(({ phoneNumber, sendCode, onClose }) => {
4242
4261
  const [captcha, setCaptcha] = useState('');
4243
4262
  const [code, setCode] = useState('');
4244
4263
  const [hasError, setHasError] = useState(false);
@@ -4246,28 +4265,19 @@
4246
4265
  const isValidCode = await checkCaptcha({ captchaText: code });
4247
4266
  if (isValidCode) {
4248
4267
  sendCode?.();
4249
- close?.();
4268
+ onClose?.();
4250
4269
  }
4251
4270
  else {
4252
4271
  setHasError(isValidCode);
4253
4272
  }
4254
- }, [code]);
4273
+ }, [code, sendCode]);
4255
4274
  const handleCreateCaptcha = useCallback(() => {
4256
4275
  (async () => setCaptcha(URL.createObjectURL(await createCaptcha(phoneNumber))))();
4257
4276
  }, []);
4258
4277
  useEffect(handleCreateCaptcha, []);
4259
- return (jsx(Dialog, { head: jsx(Logo, {}), onClose: onClose, className: "my-6xl max-w-lg w-full min-h-fit mx-auto rounded-lg", children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md", children: [jsxs("div", { className: "flex h-36 w-72", children: [jsx("img", { className: "grow", src: captcha }), jsx("div", { onClick: handleCreateCaptcha, className: "flex w-8 items-center justify-center cursor-pointer", children: jsx(Icon, { iconVersion: "normal", name: "RefreshIcon" }) })] }), jsx(Input, { className: "w-[300px]", onChange: setCode, value: code, placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0434 \u0441 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438" }), hasError ? jsx("div", { className: "text-error", children: "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043E\u0434" }) : null, jsxs("div", { className: "flex w-[310px] justify-between", children: [jsx(Button, { onClick: close, version: "secondary", children: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F" }), jsx(Button, { type: "submit", disabled: !code, onClick: handleCheckCaptcha, version: "secondary", children: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C" })] })] }) }));
4278
+ return (jsx(Dialog, { className: "my-6xl max-w-lg w-full min-h-fit mx-auto rounded-lg", head: jsx(Logo, {}), onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md", children: [jsxs("div", { className: "flex h-36 w-72", children: [jsx("img", { className: "grow", src: captcha }), jsx("div", { onClick: handleCreateCaptcha, className: "flex w-8 items-center justify-center cursor-pointer", children: jsx(Icon, { iconVersion: "normal", name: "RefreshIcon" }) })] }), jsx(Input, { className: "w-[300px]", onChange: setCode, value: code, placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0434 \u0441 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438" }), hasError ? jsx("div", { className: "text-error", children: "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043E\u0434" }) : null, jsxs("div", { className: "flex w-[310px] justify-between", children: [jsx(Button, { onClick: close, version: "secondary", children: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F" }), jsx(Button, { type: "submit", disabled: !code, onClick: handleCheckCaptcha, version: "secondary", children: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C" })] })] }) }));
4260
4279
  });
4261
4280
 
4262
- const useCaptchaDialog = (initialProps, onClose) => {
4263
- const { open, close, closeAll } = useDialogManager();
4264
- return {
4265
- open: () => open(jsx(CaptchaDialog, { close: close, onClose: onClose, ...initialProps })),
4266
- close,
4267
- closeAll,
4268
- };
4269
- };
4270
-
4271
4281
  const Timer = JSX(({ time, setTime, className }) => {
4272
4282
  useEffect(() => {
4273
4283
  const timer = setInterval(() => {
@@ -4340,94 +4350,77 @@
4340
4350
  }
4341
4351
  };
4342
4352
 
4343
- const useVerifyPhoneDialogSubmit = ({ close, values }) => {
4344
- const [hasError, setHasError] = useState(false);
4353
+ const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
4345
4354
  const [errorText, setErrorText] = useState('');
4346
4355
  const [isLoading, setIsLoading] = useState(false);
4347
4356
  const [timeNextReq, setTimeNextReq] = useState(0);
4348
4357
  const [isTimerStarted, setIsTimerStarted] = useState(false);
4349
- const [attemps, setAttemps] = useState(0);
4350
- const resetError = useCallback(() => {
4351
- setHasError(false);
4352
- setErrorText('');
4353
- }, []);
4354
- const isTimeExpired = useMemo(() => timeNextReq === 0 && isTimerStarted, [timeNextReq, isTimerStarted]);
4355
- const isSubmitButtonDisabled = useMemo(() => attemps > 2 || !values.every(Boolean) || isTimeExpired, [values]);
4358
+ const [attempts, setAttempts] = useState(0);
4359
+ const resetError = useCallback(() => setErrorText(''), []);
4360
+ const isTimeExpired = Boolean(timeNextReq === 0 && isTimerStarted);
4361
+ const isSubmitButtonDisabled = attempts > 2 || isTimeExpired || !values.every(Boolean);
4356
4362
  const handleSubmit = useCallback(async () => {
4357
4363
  try {
4358
4364
  setIsTimerStarted(false);
4359
4365
  setTimeNextReq(0);
4360
- setAttemps(attemps + 1);
4366
+ setAttempts((_) => _ + 1);
4361
4367
  setIsLoading(true);
4362
4368
  await checkCode({
4363
4369
  smsText: values.join(''),
4364
4370
  smsCodesSetName: { key: 'AUTHENTICATION' },
4365
4371
  });
4366
4372
  resetError();
4367
- close && close(values.join(''));
4373
+ onSuccess?.(values.join(''));
4368
4374
  }
4369
4375
  catch {
4376
+ setErrorText(attempts > 1 ? 'Исчерпан лимит ввода смс-кода' : 'Неверный код');
4377
+ }
4378
+ finally {
4370
4379
  setIsLoading(false);
4371
- attemps > 1 ? setErrorText('Исчерпан лимит ввода смс-кода') : setErrorText('Неверный код');
4372
- setHasError(true);
4373
4380
  }
4374
- }, [values, attemps]);
4381
+ }, [values, attempts]);
4375
4382
  useEffect(() => {
4376
- if (isTimeExpired) {
4377
- setHasError(true);
4378
- setErrorText('Код просрочен');
4379
- }
4380
- else {
4381
- setHasError(false);
4382
- }
4383
+ setErrorText(isTimeExpired ? 'Код просрочен' : '');
4383
4384
  }, [isTimeExpired]);
4384
4385
  return {
4385
4386
  handleSubmit,
4386
- hasError,
4387
+ hasError: Boolean(errorText),
4387
4388
  errorText,
4388
4389
  isLoading,
4389
4390
  timeNextReq,
4390
4391
  isSubmitButtonDisabled,
4391
4392
  setTimeNextReq,
4392
4393
  setIsTimerStarted,
4393
- setAttemps,
4394
+ setAttempts,
4394
4395
  };
4395
4396
  };
4396
4397
 
4397
- const VerifyPhoneDialog = JSX(({ close = noop, onClose = noop, title, description, __html, code = true, codeLength = 4, textButton = '', phoneNumber = '+79999999999', }) => {
4398
+ const VerifyPhoneDialog = JSX(({ title, description, __html, code = true, codeLength = 4, textButton = 'Далее', phoneNumber = '+79999999999', onSuccess = noop, onClose = noop, }) => {
4398
4399
  const [values, setValues] = useState(Array(codeLength).fill(''));
4399
- const { handleSubmit, hasError, errorText, isLoading, timeNextReq, isSubmitButtonDisabled, setTimeNextReq, setIsTimerStarted, setAttemps, } = useVerifyPhoneDialogSubmit({ values, close });
4400
+ const { handleSubmit, hasError, errorText, isLoading, timeNextReq, isSubmitButtonDisabled, setTimeNextReq, setIsTimerStarted, setAttempts, } = useVerifyPhoneDialogSubmit({ values, onSuccess });
4401
+ const captchaDialog = useDialog(CaptchaDialog);
4400
4402
  const handleSendCode = useCallback(async () => {
4401
4403
  const isSuccessSendCode = await sendCode({
4402
- phoneNumber: phoneNumber,
4404
+ phoneNumber,
4403
4405
  smsCodesSetName: { key: 'AUTHENTICATION' },
4404
4406
  });
4405
4407
  if (isSuccessSendCode) {
4406
- setAttemps(0);
4408
+ setAttempts(0);
4407
4409
  setTimeNextReq(180);
4408
4410
  setIsTimerStarted(true);
4409
4411
  }
4410
4412
  else {
4411
- captchaDialog.open();
4413
+ captchaDialog.open({ phoneNumber, sendCode: handleSendCode, onClose });
4412
4414
  }
4413
- }, []);
4414
- const captchaDialog = useCaptchaDialog({ phoneNumber, sendCode: handleSendCode }, onClose);
4415
+ }, [phoneNumber, onClose]);
4415
4416
  useEffect(() => {
4416
4417
  handleSendCode();
4417
4418
  }, []);
4418
- return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-xl px-5xl py-0", children: jsxs("div", { className: "flex flex-col gap-xl items-center rounded-md", children: [jsx(Headline, { className: "w-full", title: title, description: description, headlineVersion: "XS", isEmbedded: true, as: "h6" }), code ? (jsx(InputCode, { values: values, setValues: setValues, errorText: errorText, hasError: hasError })) : null, renderText$1(timeNextReq, setTimeNextReq, handleSendCode), jsx(RichText, { itemSize: "list-s", __html: __html }), renderTextButton(textButton, isSubmitButtonDisabled, handleSubmit), isLoading ? jsx(Loader, { blur: false }) : null] }) }));
4419
+ return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-xl px-5xl py-0", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-xl items-center rounded-md", children: [jsx(Headline, { className: "w-full", title: title, description: description, headlineVersion: "XS", isEmbedded: true, as: "h6" }), code ? (jsx(InputCode, { values: values, setValues: setValues, errorText: errorText, hasError: hasError })) : null, renderText$1(timeNextReq, setTimeNextReq, handleSendCode), jsx(RichText, { itemSize: "list-s", __html: __html }), renderTextButton(textButton, isSubmitButtonDisabled, handleSubmit), isLoading ? jsx(Loader, { blur: false }) : null] }) }));
4419
4420
  });
4420
4421
  const renderTextButton = (textButton, isDisabled, handleSubmit) => textButton ? (jsx(SubmitButton, { isDisabled: isDisabled, onClick: handleSubmit, text: textButton })) : null;
4421
4422
  const renderText$1 = (timeNextReq, setTimeNextReq, handleSendCode) => timeNextReq ? (jsxs("div", { className: "flex flex-row text-l font-light text-base", children: ["\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434 \u043C\u043E\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437", jsx(Timer, { className: "text-base ml-1", time: timeNextReq, setTime: setTimeNextReq })] })) : (jsx(LinkButton, { onClick: handleSendCode, className: "text-primary-main", children: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434" }));
4422
4423
 
4423
- const useVerifyPhoneDialog = () => {
4424
- const { open, close } = useDialogManager();
4425
- return {
4426
- open: (handleClose, props) => open(jsx(VerifyPhoneDialog, { onClose: close, close: handleClose, ...props })),
4427
- close,
4428
- };
4429
- };
4430
-
4431
4424
  const defaultConsentText = {
4432
4425
  title: 'Подпишите согласие на запрос в БКИ',
4433
4426
  description: 'Согласие на запрос в Бюро кредитных историй (БКИ) ускорит решение по кредиту',
@@ -4436,33 +4429,32 @@
4436
4429
  title: 'Вы уверены, что хотите отказаться от запроса в БКИ',
4437
4430
  description: 'Согласие на запрос в Бюро кредитных историй (БКИ) повысит вероятность одобрения',
4438
4431
  };
4439
- const ConsentBkiDialog = JSX(function ({ handleSubmit = noop, onClose = noop, }) {
4432
+ const ITEMS$1 = [
4433
+ { id: 'SIGNED', text: 'Подписать' },
4434
+ { id: 'REFUSE', text: 'Отказаться' },
4435
+ ];
4436
+ const CONSENT_BKI_ID = 2;
4437
+ const ConsentBkiDialog = JSX(({ onSubmit = noop, onClose = noop }) => {
4440
4438
  const [confirmStatus, setConfirmStatus] = useState('');
4441
- const [showRefuceContent, setShowRefuceContent] = useState(false);
4442
- const { open, close } = useDialogManager();
4443
- const isMobile = useMobileMode();
4444
- const handleClose = useCallback(() => {
4445
- close();
4446
- handleSubmit(confirmStatus);
4447
- }, [confirmStatus]);
4439
+ const [showRefuseContent, setShowRefuseContent] = useState(false);
4440
+ const openDocument = useDocumentDialog(CONSENT_BKI_ID);
4441
+ const handleSubmit = useCallback(() => {
4442
+ onSubmit(confirmStatus);
4443
+ onClose();
4444
+ }, [onSubmit, confirmStatus]);
4448
4445
  const handleConfirmChange = useCallback((value) => {
4449
4446
  setConfirmStatus(value);
4450
4447
  if (value === 'REFUSE') {
4451
- setShowRefuceContent(true);
4448
+ setShowRefuseContent(true);
4452
4449
  }
4453
4450
  }, []);
4454
- const consentText = showRefuceContent ? refuseConsentText : defaultConsentText;
4455
- return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-lg py-0 px-5xl", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-xl items-center", children: [jsx("div", { role: "button", onClick: () => openDocument({ open, close, id: CONSENT_BKI_ID, convertToPng: isMobile }), children: jsx(Heading, { className: "text-center text-balance", headingType: "h2", title: consentText.title }) }), jsx(Paragraph, { align: "text-center", children: consentText.description }), jsx(RadioButtonGroup, { className: "whitespace-normal", orientation: "horizontal", items: ITEMS$1, value: confirmStatus, onChange: handleConfirmChange }), jsx(Button, { disabled: !confirmStatus, type: "button", onClick: handleClose, children: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C" })] }) }));
4451
+ const consentText = showRefuseContent ? refuseConsentText : defaultConsentText;
4452
+ return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-lg py-0 px-5xl", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-xl items-center", children: [jsx("div", { role: "button", onClick: openDocument, children: jsx(Heading, { className: "text-center text-balance", headingType: "h2", title: consentText.title }) }), jsx(Paragraph, { align: "text-center", children: consentText.description }), jsx(RadioButtonGroup, { className: "whitespace-normal", orientation: "horizontal", items: ITEMS$1, value: confirmStatus, onChange: handleConfirmChange }), jsx(Button, { disabled: !confirmStatus, type: "button", onClick: handleSubmit, children: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C" })] }) }));
4456
4453
  });
4457
- const ITEMS$1 = [
4458
- { id: 'SIGNED', text: 'Подписать' },
4459
- { id: 'REFUSE', text: 'Отказаться' },
4460
- ];
4461
- const CONSENT_BKI_ID = 2;
4462
4454
 
4463
4455
  const useConsentBkiDialog = (onClose) => {
4464
- const { open, close } = useDialogManager();
4465
- const verifyPhoneDialog = useVerifyPhoneDialog();
4456
+ const { open } = useDialog(ConsentBkiDialog);
4457
+ const verifyPhoneDialog = useDialog(VerifyPhoneDialog);
4466
4458
  const handleSuccessVerify = (profileId) => async (smsCode) => {
4467
4459
  try {
4468
4460
  if (profileId) {
@@ -4481,53 +4473,50 @@
4481
4473
  }
4482
4474
  };
4483
4475
  const handleSubmitBkiConstent = (phone, profileId) => async (confirmStatus) => {
4484
- close();
4485
4476
  if (confirmStatus === 'SIGNED' && phone) {
4486
- verifyPhoneDialog.open(handleSuccessVerify(profileId), verifyPhoneContent$1(phone));
4477
+ verifyPhoneDialog.open({
4478
+ ...verifyPhoneContent$1(phone),
4479
+ onClose: handleSuccessVerify(profileId),
4480
+ });
4487
4481
  }
4488
4482
  else {
4489
4483
  onClose();
4490
4484
  }
4491
4485
  };
4492
4486
  return {
4493
- open: (phone, profileId) => open(jsx(ConsentBkiDialog, { handleSubmit: handleSubmitBkiConstent(phone, profileId), onClose: onClose })),
4487
+ open: (phone, profileId) => open({ onSubmit: handleSubmitBkiConstent(phone, profileId), onClose }),
4494
4488
  };
4495
4489
  };
4496
4490
  const verifyPhoneContent$1 = (phone) => ({
4497
4491
  title: 'Подтвердите номер телефона',
4498
4492
  description: `Мы отправили код на ${phone}`,
4499
4493
  phoneNumber: formatPhone(phone),
4500
- textButton: 'Отправить',
4494
+ textButton: 'Далее',
4501
4495
  __html: `<span>Вводя код, я подтверждаю, что ознакомлен и подписываю:</span>
4502
4496
  <ul><li>согласие на запрос информации в БКИ</li></ul>`,
4503
4497
  });
4504
4498
 
4505
4499
  const getLink = (body) => fetchRetailJSON('/esia/getLink', 'POST', body);
4506
4500
 
4507
- const EsiaLoginDialog = JSX(function ({ handleClose }) {
4501
+ const EsiaLoginDialog = JSX(({ onClose }) => {
4508
4502
  const navigator = locationNavigator();
4509
4503
  const handleAuth = useCallback(async () => {
4510
4504
  const resp = await getLink({
4511
4505
  redirectUri: navigator.href,
4512
4506
  });
4513
- if (resp) {
4507
+ if (resp?.link) {
4514
4508
  navigator.assign(resp.link);
4515
4509
  }
4516
4510
  }, []);
4517
- return (jsx(Dialog, { className: "my-6xl max-w-lg w-full min-h-fit mx-auto rounded-lg", onClose: handleClose, children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md", children: [jsxs("div", { className: "flex items-center justify-around w-full", children: [jsxs("ul", { className: "list-disc", children: [jsx("li", { children: "\u0412\u0435\u0440\u043E\u044F\u0442\u043D\u043E\u0441\u0442\u044C \u043E\u0434\u043E\u0431\u0440\u0435\u043D\u0438\u044F \u0432\u044B\u0448\u0435" }), jsx("li", { children: "\u0411\u0435\u0437 \u0441\u043F\u0440\u0430\u0432\u043E\u043A \u043E \u0434\u043E\u0445\u043E\u0434\u0430\u0445 \u0438 \u0442\u0440\u0443\u0434\u043E\u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435" }), jsx("li", { children: "\u0421 \u0437\u0430\u0449\u0438\u0442\u043E\u0439 \u0412\u0430\u0448\u0438\u0445 \u0434\u0430\u043D\u043D\u044B\u0445" })] }), jsx(Img, { image: { icon: 'GosUslugiIcon', iconVersion: 'normal' }, height: "70" })] }), jsxs("div", { className: "flex items-center justify-between w-full m-0", children: [jsx(Button, { type: "button", onClick: handleAuth, children: "\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0447\u0435\u0440\u0435\u0437 \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438" }), jsx(Button, { type: "button", version: "secondary", onClick: handleClose, children: "\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C" })] })] }) }));
4511
+ return (jsx(Dialog, { className: "my-6xl max-w-lg w-full min-h-fit mx-auto rounded-lg", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md", children: [jsxs("div", { className: "flex items-center justify-around w-full", children: [jsxs("ul", { className: "list-disc", children: [jsx("li", { children: "\u0412\u0435\u0440\u043E\u044F\u0442\u043D\u043E\u0441\u0442\u044C \u043E\u0434\u043E\u0431\u0440\u0435\u043D\u0438\u044F \u0432\u044B\u0448\u0435" }), jsx("li", { children: "\u0411\u0435\u0437 \u0441\u043F\u0440\u0430\u0432\u043E\u043A \u043E \u0434\u043E\u0445\u043E\u0434\u0430\u0445 \u0438 \u0442\u0440\u0443\u0434\u043E\u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435" }), jsx("li", { children: "\u0421 \u0437\u0430\u0449\u0438\u0442\u043E\u0439 \u0412\u0430\u0448\u0438\u0445 \u0434\u0430\u043D\u043D\u044B\u0445" })] }), jsx(Img, { image: { icon: 'GosUslugiIcon', iconVersion: 'normal' }, height: "70" })] }), jsxs("div", { className: "flex items-center justify-between w-full m-0", children: [jsx(Button, { type: "button", onClick: handleAuth, children: "\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0447\u0435\u0440\u0435\u0437 \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438" }), jsx(Button, { type: "button", version: "secondary", onClick: onClose, children: "\u041F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C" })] })] }) }));
4518
4512
  });
4519
4513
 
4520
4514
  const useEsiaLoginDialog = (nextStepLink) => {
4521
- const { open, close } = useDialogManager();
4515
+ const { open } = useDialog(EsiaLoginDialog);
4522
4516
  const navigator = locationNavigator();
4523
- const handleClose = useCallback(() => {
4524
- close();
4525
- navigator.assign(nextStepLink);
4526
- }, []);
4527
- return {
4528
- open: (options = {}) => open(jsx(EsiaLoginDialog, { handleClose: handleClose }), options),
4529
- close,
4530
- };
4517
+ return useCallback(() => {
4518
+ open({ onClose: () => navigator.assign(nextStepLink) });
4519
+ }, [open, nextStepLink]);
4531
4520
  };
4532
4521
 
4533
4522
  const fieldsNamesToContactKeysMap = {
@@ -4635,9 +4624,9 @@
4635
4624
  const [, setProfileId] = useLocalStorage('profileId');
4636
4625
  const [, setParticipantId] = useLocalStorage('participantId');
4637
4626
  const [, setProgramId] = useLocalStorage('programId');
4638
- const esiaLoginDialog = useEsiaLoginDialog(nextStepLink);
4639
- const consentBkiDialog = useConsentBkiDialog(esiaLoginDialog.open);
4640
- const verifyPhoneDialog = useVerifyPhoneDialog();
4627
+ const openEsiaLoginDialog = useEsiaLoginDialog(nextStepLink);
4628
+ const consentBkiDialog = useConsentBkiDialog(openEsiaLoginDialog);
4629
+ const verifyPhoneDialog = useDialog(VerifyPhoneDialog);
4641
4630
  const saveUserData = useCallback(({ participantId, taskId, profileId, programId: programNumber }) => {
4642
4631
  setParticipantId(participantId);
4643
4632
  setTaskId(taskId);
@@ -4648,7 +4637,7 @@
4648
4637
  const handleSubmit = useCallback(async (formData) => {
4649
4638
  const feedbackValidator = objectValidator(getObjectValidator(inputs));
4650
4639
  if (!isValidationSuccess(feedbackValidator(formData))) {
4651
- return console.warn('validation fail');
4640
+ return;
4652
4641
  }
4653
4642
  try {
4654
4643
  const profileId = await createUserProfile({
@@ -4674,7 +4663,10 @@
4674
4663
  const acceptedConsents = Object.keys(CONSENTS)
4675
4664
  .filter((_) => formData[_])
4676
4665
  .map((_) => CONSENTS[_]?.text);
4677
- verifyPhoneDialog.open(handleSuccessVerify, verifyPhoneContent(formData?.phone, acceptedConsents));
4666
+ verifyPhoneDialog.open({
4667
+ ...verifyPhoneContent(formData?.phone, acceptedConsents),
4668
+ onSuccess: handleSuccessVerify,
4669
+ });
4678
4670
  }
4679
4671
  }
4680
4672
  catch {
@@ -4711,7 +4703,7 @@
4711
4703
  title: 'Подтвердите номер телефона',
4712
4704
  description: `Мы отправили код на ${phone}`,
4713
4705
  phoneNumber: formatPhone(phone),
4714
- textButton: 'Оформить',
4706
+ textButton: 'Далее',
4715
4707
  __html: `<span>Вводя код, я подтверждаю, что ознакомлен и подписываю:</span>${consentsToList(consents)}`,
4716
4708
  });
4717
4709
  const consentsToList = (consents) => `<ul>${consents?.map((_) => '<li>' + _ + '</li>').join('')}</ul>`;
@@ -4778,32 +4770,36 @@
4778
4770
 
4779
4771
  const useInitApplicationLead = (nextStepLink) => {
4780
4772
  const navigator = locationNavigator();
4781
- const [isLoading, setIsLoading] = useState(false);
4782
- const [profileId] = useLocalStorage('profileId');
4783
- const [leadForm, setLeadForm] = useLocalStorage('leadForm');
4784
- const params = new URLSearchParams(decodeURIComponent(globalThis.location?.search));
4785
- const code = params.get('code');
4786
- const state = params.get('state');
4787
- const updateEsiaProfile = useCallback(async () => {
4788
- if (profileId && code && state) {
4773
+ const [isLoading, { setTrue: startLoading, setFalse: endLoading }] = useBool(false);
4774
+ const [, setLeadForm] = useLocalStorage('leadForm');
4775
+ const updateEsiaProfile = useCallback(async (profileId, code, state) => {
4776
+ startLoading();
4777
+ try {
4789
4778
  const data = await updateProfileEsia({
4790
- profileId: profileId,
4779
+ profileId,
4791
4780
  code,
4792
4781
  state,
4793
- redirectUri: navigator.href,
4782
+ redirectUri: globalThis.location?.href,
4794
4783
  });
4795
- data &&
4796
- setLeadForm({
4797
- ...leadForm,
4784
+ if (data) {
4785
+ setLeadForm((_) => ({
4786
+ ..._,
4798
4787
  ...parseEsiaProfile(data),
4799
- });
4788
+ }));
4789
+ }
4800
4790
  navigator.assign(nextStepLink);
4801
4791
  }
4802
- }, []);
4792
+ finally {
4793
+ endLoading();
4794
+ }
4795
+ }, [nextStepLink]);
4803
4796
  useEffect(() => {
4804
- if (code) {
4805
- setIsLoading(true);
4806
- updateEsiaProfile();
4797
+ const profileId = JSON.parse(globalThis.localStorage?.getItem('profileId') ?? 'null');
4798
+ const params = new URLSearchParams(decodeURIComponent(globalThis.location?.search));
4799
+ const code = params.get('code');
4800
+ const state = params.get('state');
4801
+ if (profileId && code && state) {
4802
+ updateEsiaProfile(profileId, code, state);
4807
4803
  }
4808
4804
  else {
4809
4805
  sessionStorage.removeItem('accessToken');
@@ -4817,7 +4813,6 @@
4817
4813
 
4818
4814
  const ApplicationLeadForm = JSX(({ className, title, programId = '', nextStepLink = '/credit-lead', button, ...rest }) => {
4819
4815
  const inputs = (applicationFormData?.flatMap((_) => _?.inputs) || []);
4820
- const [responseType, setResponseType] = useState('');
4821
4816
  const { isLoading } = useInitApplicationLead(nextStepLink);
4822
4817
  const [leadForm, setLeadForm] = useLocalStorage('leadForm');
4823
4818
  const initialFormState = getInitialFormState$2(inputs, leadForm);
@@ -4827,17 +4822,13 @@
4827
4822
  nextStepLink,
4828
4823
  saveForm: setLeadForm,
4829
4824
  });
4830
- if (responseStatus) {
4831
- const responseTypeDialog = useResponseTypeDialog({ responseType: responseStatus });
4832
- responseTypeDialog.open();
4833
- }
4834
- const [, { field, onSubmit, reset }] = useForm(initialFormState, { onSubmit: handleSubmit });
4825
+ const [, { field, onSubmit }] = useForm(initialFormState, { onSubmit: handleSubmit });
4826
+ const responseTypeDialog = useDialog(ResponseTypeDialog);
4835
4827
  useEffect(() => {
4836
- if (responseType === 'OK') {
4837
- setResponseType('');
4838
- reset();
4828
+ if (responseStatus) {
4829
+ responseTypeDialog.open({ responseType: responseStatus });
4839
4830
  }
4840
- }, [responseType]);
4831
+ }, [responseStatus]);
4841
4832
  return (jsx(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: jsxs("form", { onSubmit: onSubmit, className: "space-y-m relative", children: [isLoading ? jsx(Loader, { blur: false }) : null, applicationFormData.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs$2({ field, inputs: _?.inputs })] }, `section-${i}`))), renderSubmitButton(button)] }) }));
4842
4833
  });
4843
4834
 
@@ -8648,14 +8639,14 @@
8648
8639
  };
8649
8640
  const fetchSearchIndex = async (...basePathList) => (await Promise.allSettled(basePathList.map((basePath) => fetchJSON(joinPath(basePath, '/', SEARCH_INDEX_FILENAME))))).map((_) => (_.status === 'fulfilled' ? _.value : {}));
8650
8641
 
8651
- const SearchDialog = JSX(({ initialQuery, navigationItems }) => {
8642
+ const SearchDialog = JSX(({ initialQuery, navigationItems, onClose }) => {
8652
8643
  const basePathList = useMemo(() => navigationItems?.map((_) => _.href || '/'), [navigationItems]);
8653
8644
  const [searchResult, searchInputProps] = useSearch({
8654
8645
  basePathList,
8655
8646
  initialQuery,
8656
8647
  });
8657
8648
  const searchItems = useMemo(() => combineTopItemsAndSearchResult(navigationItems)(searchResult), [navigationItems, searchResult]);
8658
- return (jsx(Dialog, { head: jsx(SearchInput, { autoFocus: true, ...searchInputProps }), children: jsx(Sitemap, { navigationItems: searchItems }) }));
8649
+ return (jsx(Dialog, { head: jsx(SearchInput, { autoFocus: true, ...searchInputProps }), onClose: onClose, children: jsx(Sitemap, { navigationItems: searchItems }) }));
8659
8650
  });
8660
8651
  const combineTopItemsAndSearchResult = (topItems) => (searchResult) => topItems?.length && searchResult?.length
8661
8652
  ? zip(topItems, searchResult).map(([_, portalSearchResult]) => ({
@@ -8664,23 +8655,15 @@
8664
8655
  }))
8665
8656
  : [];
8666
8657
 
8667
- const useSearchDialog = (initialProps = {}) => {
8668
- const { open, close } = useDialogManager();
8669
- return {
8670
- open: (props = {}, options = {}) => open(jsx(SearchDialog, { ...initialProps, ...props }), options),
8671
- close,
8672
- };
8673
- };
8674
-
8675
8658
  const MIN_QUERY_LEN = 3;
8676
8659
  const SearchBar$1 = JSX(({ className, search, ...rest }) => {
8677
8660
  const [value, setValue] = useState('');
8678
8661
  const resetQueryOnDialogClose = useCallback(() => setValue(''), []);
8679
- const searchDialog = useSearchDialog(rest);
8662
+ const searchDialog = useDialog(SearchDialog, rest);
8680
8663
  const handleInitialInputChange = useCallback((_) => {
8681
8664
  setValue(_);
8682
8665
  if (isQueryLongEnough(_)) {
8683
- searchDialog.open({ initialQuery: _ }, { onClose: resetQueryOnDialogClose });
8666
+ searchDialog.open({ initialQuery: _, onClose: resetQueryOnDialogClose });
8684
8667
  }
8685
8668
  }, [resetQueryOnDialogClose, searchDialog]);
8686
8669
  return (jsxs("div", { className: style('relative', className), role: "search", children: [jsx(SearchInput, { value: value, placeholder: search?.placeholder, onChange: handleInitialInputChange }), jsx(CloseButton, { className: "absolute top-0 right-0 sm:hidden", onClose: resetQueryOnDialogClose })] }));
@@ -8928,18 +8911,17 @@
8928
8911
  });
8929
8912
 
8930
8913
  const SEARCH_TERM_MIN_LENGTH = 3;
8931
- const LocationDialog = JSX(({ foreignOffices, branches }) => {
8914
+ const LocationDialog = JSX(({ foreignOffices, branches, onClose }) => {
8932
8915
  const locationStore = useDefaultLocation(branches?.default);
8933
8916
  const [query, setQuery] = useState('');
8934
8917
  const rawRegions = useRegions();
8935
8918
  const regions = useMemo(() => cleanUpRegions(rawRegions).sort((a, b) => a.name.localeCompare(b.name)), [rawRegions]);
8936
8919
  const regionsGroupByLetter = useMemo(() => groupBy(regions, regionFirstLetter), [regions]);
8937
- const { close } = useDialogManager();
8938
8920
  const handleChangeLocation = useCallback((_) => {
8939
8921
  locationStore.location = _;
8940
- close();
8941
- }, [locationStore]);
8942
- return (jsxs(Dialog, { className: "pb-20", head: jsxs("div", { children: [jsx(Text, { size: "text-h4", color: "text-primary-text", children: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0438\u043B\u0438\u0430\u043B" }), jsx(SelectedLocation, { defaultLocation: branches?.default }), jsx(SearchBar, { onSearch: setQuery, searchTerm: query })] }), children: [query && query.length >= SEARCH_TERM_MIN_LENGTH ? (jsx("div", { children: regions
8922
+ onClose?.();
8923
+ }, [locationStore, onClose]);
8924
+ return (jsxs(Dialog, { className: "pb-20", head: jsxs("div", { children: [jsx(Text, { size: "text-h4", color: "text-primary-text", children: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0438\u043B\u0438\u0430\u043B" }), jsx(SelectedLocation, { defaultLocation: branches?.default }), jsx(SearchBar, { onSearch: setQuery, searchTerm: query })] }), onClose: onClose, children: [query && query.length >= SEARCH_TERM_MIN_LENGTH ? (jsx("div", { children: regions
8943
8925
  .filter(({ name }) => name && jaroWinklerDistance(name.toLowerCase())(query.toLowerCase()) >= 0.8)
8944
8926
  .map(renderRegion(branches?.dataSelect, handleChangeLocation)) })) : (jsx("div", { className: "columns-1 sm:columns-3 md:columns-4 lg:columns-5", children: Array.from(regionsGroupByLetter.entries()).map(renderRegionGroup(handleChangeLocation, branches?.dataSelect)) })), renderForeignOffices(foreignOffices)] }));
8945
8927
  });
@@ -8949,14 +8931,6 @@
8949
8931
  name: region.name?.replace(/республика|область|край'/gi, '').trim() ?? '',
8950
8932
  }));
8951
8933
 
8952
- const useLocationDialog = (props) => {
8953
- const { open, close } = useDialogManager();
8954
- return {
8955
- open: (options = {}) => open(jsx(LocationDialog, { ...props }), options),
8956
- close,
8957
- };
8958
- };
8959
-
8960
8934
  const TopItem = JSX(({ className = '', active, flat, children, data, ...rest }) => {
8961
8935
  const link = useLink();
8962
8936
  const { href, target, text, onClick } = link(rest);
@@ -8975,10 +8949,10 @@
8975
8949
  const HeaderSecondaryMenu = JSX(({ className, version, ...rest }) => {
8976
8950
  const iconVersion = version === 'transparent' ? 'white' : 'black';
8977
8951
  const currentLocation = useLocation(rest?.branches?.default);
8978
- const searchDialog = useSearchDialog(rest);
8979
- const locationDialog = useLocationDialog(rest);
8980
- const openSearchDialog = useCallback(() => searchDialog.open(), [searchDialog]);
8981
- const openLocationDialog = useCallback(() => locationDialog.open(), [locationDialog]);
8952
+ const searchDialog = useDialog(SearchDialog, rest);
8953
+ const locationDialog = useDialog(LocationDialog, rest);
8954
+ const openSearchDialog = useCallback(() => searchDialog.open({}), [searchDialog]);
8955
+ const openLocationDialog = useCallback(() => locationDialog.open({}), [locationDialog]);
8982
8956
  return (jsxs("div", { className: style('flex items-center ml-5 md:max-w-[300px] xl:max-w-full gap-lg', className), role: "navigation", children: [rest?.branches?.visible ? (jsx(TopItem, { className: "whitespace-nowrap text-ellipsis overflow-hidden", flat: true, href: "#", text: currentLocation?.name, data: getAspectsWithInclude(rest?.branches?.dataClick, currentLocation?.name ?? ''), onClick: openLocationDialog })) : null, rest?.officesAtms?.href ? (jsx(TopItem, { className: "whitespace-nowrap", flat: true, ...rest.officesAtms })) : null, jsx(HeaderSecondaryMenuButton, { image: { icon: 'LoupeIcon', iconVersion }, ariaLabel: rest?.search?.ariaLabel ?? 'Поиск', onClick: openSearchDialog, data: rest?.search?.data })] }));
8983
8957
  });
8984
8958
 
@@ -9241,31 +9215,16 @@
9241
9215
  return docFormat.includes('/') ? docFormat.replace(regexp, '') : docFormat;
9242
9216
  };
9243
9217
 
9244
- const ReportDialog = JSX(({ href, __html, target }) => {
9245
- const { close } = useDialogManager();
9218
+ const ReportDialog = JSX(({ href, __html, target, onClose }) => {
9246
9219
  const router = useRouter();
9247
9220
  const adjustedHref = adjustHref(router)(href);
9248
- const handleClose = useCallback(() => {
9249
- close();
9250
- }, []);
9251
- return (jsxs(Dialog, { className: "my-6xl min-h-fit w-fit mx-auto", children: [__html ? jsx(RichText, { __html: __html }) : null, jsxs("div", { className: "flex flex-row mx-auto w-fit gap-lg py-lg", children: [jsx(LinkButton, { text: "\u042F \u0441\u043E\u0433\u043B\u0430\u0441\u0435\u043D", version: "primary", target: target, href: adjustedHref, onClick: handleClose }), jsx(Button, { type: "button", version: "secondary", onClick: handleClose, children: "\u042F \u043D\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0435\u043D" })] }), jsx("div", { children: "\u041D\u0430\u0436\u0438\u043C\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0443 \u00AB\u042F \u0421\u041E\u0413\u041B\u0410\u0421\u0415\u041D\u00BB \u043D\u0438\u0436\u0435 \u0412\u044B \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0435\u0442\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0443\u0441\u043B\u043E\u0432\u0438\u044F. \u0420\u0430\u0441\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u0440\u0430\u0441\u043A\u0440\u044B\u0442\u0438\u0435 \u043B\u044E\u0431\u043E\u0439 \u0447\u0430\u0441\u0442\u0438 \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0417\u0430\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u043B\u044E\u0431\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438, \u0438\u043B\u0438 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0430\u0446\u0438\u0438 \u0432 \u043D\u0435\u043C \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D\u043E.\u00BB" })] }));
9221
+ return (jsxs(Dialog, { className: "my-6xl min-h-fit w-fit mx-auto", onClose: onClose, children: [__html ? jsx(RichText, { __html: __html }) : null, jsxs("div", { className: "flex flex-row mx-auto w-fit gap-lg py-lg", children: [jsx(LinkButton, { text: "\u042F \u0441\u043E\u0433\u043B\u0430\u0441\u0435\u043D", version: "primary", target: target, href: adjustedHref, onClick: onClose }), jsx(Button, { type: "button", version: "secondary", onClick: onClose, children: "\u042F \u043D\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0435\u043D" })] }), jsx("div", { children: "\u041D\u0430\u0436\u0438\u043C\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0443 \u00AB\u042F \u0421\u041E\u0413\u041B\u0410\u0421\u0415\u041D\u00BB \u043D\u0438\u0436\u0435 \u0412\u044B \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0435\u0442\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0443\u0441\u043B\u043E\u0432\u0438\u044F. \u0420\u0430\u0441\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u0440\u0430\u0441\u043A\u0440\u044B\u0442\u0438\u0435 \u043B\u044E\u0431\u043E\u0439 \u0447\u0430\u0441\u0442\u0438 \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0417\u0430\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u043B\u044E\u0431\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438, \u0438\u043B\u0438 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0430\u0446\u0438\u0438 \u0432 \u043D\u0435\u043C \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D\u043E.\u00BB" })] }));
9252
9222
  });
9253
9223
 
9254
- const useReportDialog = (props) => {
9255
- const { open, close } = useDialogManager();
9256
- return {
9257
- open: (options = {}) => open(jsx(ReportDialog, { ...props }), options),
9258
- close,
9259
- };
9260
- };
9261
-
9262
9224
  const ReportDialogButton = JSX(({ text, href, target, __html, icon }) => {
9263
- if (!text && !__html) {
9264
- return null;
9265
- }
9266
- const reportDialog = useReportDialog({ __html, href, target });
9267
- const openReportDialog = useCallback(() => reportDialog.open(), [reportDialog]);
9268
- return (jsxs("button", { className: "flex gap-s text-primary-text no-underline hover:text-primary-main", onClick: openReportDialog, children: [renderImg(icon), jsx(Text, { font: "font-light", children: text })] }));
9225
+ const { open } = useDialog(ReportDialog);
9226
+ const openReportDialog = useCallback(() => open({ __html, href, target }), [__html, href, target]);
9227
+ return text ? (jsxs("button", { className: "flex gap-s text-primary-text no-underline hover:text-primary-main", onClick: openReportDialog, children: [renderImg(icon), jsx(Text, { font: "font-light", children: text })] })) : null;
9269
9228
  });
9270
9229
 
9271
9230
  const linkColumnsModeStyleMap = {
@@ -10281,6 +10240,25 @@
10281
10240
  return opened && __html ? (jsx("div", { className: "container fixed left-0 right-0 bottom-0 z-50", role: "dialog", children: jsxs("div", { className: "bg-white m-xl p-xl rounded-md flex sm:items-center shadow-main-black", children: [jsx("div", { className: "sm:flex-1", children: jsx(RichText, { __html: __html }) }), jsx("div", { className: "ml-s sm:ml-0 w-36 flex justify-end", children: jsx(CloseButton, { className: "bg-main-gray rounded-md w-11 h-11", onClose: handleClose }) })] }) })) : null;
10282
10241
  });
10283
10242
 
10243
+ function useOnEscape(handler) {
10244
+ const escapeHandler = useCallback(({ key }) => {
10245
+ if (key === 'Escape') {
10246
+ handler();
10247
+ }
10248
+ }, [handler]);
10249
+ useEventListener(globalThis.document, 'keydown', escapeHandler);
10250
+ }
10251
+
10252
+ function useObservableWithActions(eventBus, type, handlersMap) {
10253
+ useEffect(() => eventBus.subscribe(type, action => {
10254
+ const actionType = action?.type;
10255
+ if (actionType && typeof actionType === 'string') {
10256
+ const handler = handlersMap[actionType];
10257
+ handler && handler(action);
10258
+ }
10259
+ }), [eventBus, type, ...Object.values(handlersMap)]);
10260
+ }
10261
+
10284
10262
  function useList(initialList = []) {
10285
10263
  const [list, setList] = useState(initialList);
10286
10264
  const push = useCallback((item) => setList(_ => [..._, item]), []);
@@ -10290,72 +10268,30 @@
10290
10268
  return [list, { setList, push, pop, remove, clear }];
10291
10269
  }
10292
10270
 
10293
- function assertUnreachable(x) {
10294
- throw new Error(x);
10295
- }
10296
-
10297
- const useDialogsList = ({ onCloseAll, onClose, } = {}) => {
10271
+ const useDialogsList = () => {
10298
10272
  const [dialogs, { push, pop, clear }] = useList();
10299
- const closeAll = useCallback(() => {
10300
- onCloseAll && onCloseAll(dialogs);
10301
- clear();
10302
- }, [dialogs, onCloseAll]);
10303
- const close = useCallback(() => {
10304
- onClose && onClose(dialogs[dialogs.length - 1]);
10305
- pop();
10306
- }, [dialogs, onClose]);
10307
- useEffect(() => defaultEventBus.subscribe('dialog', (action) => {
10308
- if (!action) {
10309
- return;
10310
- }
10311
- switch (action.type) {
10312
- case 'open':
10313
- push(action);
10314
- break;
10315
- case 'close':
10316
- if (action.all) {
10317
- closeAll();
10318
- }
10319
- else {
10320
- close();
10321
- }
10322
- break;
10323
- default:
10324
- assertUnreachable(action);
10325
- }
10326
- }), [closeAll, close]);
10327
- return dialogs;
10273
+ useObservableWithActions(defaultEventBus.observable, 'dialog', {
10274
+ open: push,
10275
+ close: pop,
10276
+ closeAll: clear,
10277
+ });
10278
+ return [dialogs, { close: pop, closeAll: clear }];
10328
10279
  };
10329
10280
 
10330
10281
  const DialogManager = JSX(() => {
10331
- const handleCloseAll = useCallback((dialogActions) => {
10332
- for (const _ of dialogActions) {
10333
- _?.onClose && _.onClose();
10334
- }
10335
- }, []);
10336
- const handleClose = useCallback((_) => {
10337
- _?.onClose && _.onClose();
10338
- }, []);
10339
- const dialogs = useDialogsList({ onCloseAll: handleCloseAll, onClose: handleClose });
10340
- const { close } = useDialogManager();
10341
- const escapeHandler = useCallback(({ key }) => {
10342
- if (key === 'Escape') {
10343
- close();
10344
- }
10345
- }, []);
10346
- useEventListener(globalThis.document, 'keydown', escapeHandler);
10282
+ const [dialogs, { close }] = useDialogsList();
10283
+ const hasDialogs = Boolean(dialogs.length);
10284
+ useOnEscape(close);
10347
10285
  useEffect(() => {
10348
- if (dialogs.length) {
10349
- globalThis.document?.body.classList.add('no-scrollbar');
10350
- globalThis.document?.body.classList.add('overflow-hidden');
10286
+ if (hasDialogs) {
10287
+ globalThis.document?.body.classList.add('no-scrollbar', 'overflow-hidden');
10351
10288
  }
10352
10289
  else {
10353
- globalThis.document?.body.classList.remove('no-scrollbar');
10354
- globalThis.document?.body.classList.remove('overflow-hidden');
10290
+ globalThis.document?.body.classList.remove('no-scrollbar', 'overflow-hidden');
10355
10291
  }
10356
- }, [dialogs]);
10357
- return dialogs.length ? (jsx("div", { className: "fixed inset-0 z-50", role: "dialog", children: dialogs.map(({ dialog, id }, i) => (jsx("div", { className: style('absolute inset-0 overflow-x-hidden overflow-y-scroll no-scrollbar bg-black/50', {
10358
- hidden: i !== dialogs.length - 1,
10292
+ }, [hasDialogs]);
10293
+ return hasDialogs ? (jsx("div", { className: "fixed inset-0 z-50", role: "dialog", children: dialogs.map(({ dialog, id }, i) => (jsx("div", { className: style('absolute inset-0 overflow-x-hidden overflow-y-scroll no-scrollbar bg-black/50', {
10294
+ hidden: i !== dialogs.length - 1, // TODO Чего?)
10359
10295
  }), children: dialog }, String(id || i)))) })) : null;
10360
10296
  });
10361
10297
 
@@ -10364,28 +10300,11 @@
10364
10300
  const close = useCallback(() => {
10365
10301
  setPopup(null);
10366
10302
  }, []);
10367
- useEffect(() => defaultEventBus.subscribe('popup', (action) => {
10368
- if (!action) {
10369
- return;
10370
- }
10371
- switch (action.type) {
10372
- case 'open':
10373
- case 'update':
10374
- setPopup(action);
10375
- break;
10376
- case 'close':
10377
- close();
10378
- break;
10379
- default:
10380
- assertUnreachable(action);
10381
- }
10382
- }), []);
10383
- const escapeHandler = useCallback(({ key }) => {
10384
- if (key === 'Escape') {
10385
- close();
10386
- }
10387
- }, [close]);
10388
- useEventListener(globalThis.document, 'keydown', escapeHandler);
10303
+ useObservableWithActions(defaultEventBus.observable, 'popup', {
10304
+ open: setPopup,
10305
+ close,
10306
+ });
10307
+ useOnEscape(close);
10389
10308
  return popup ? (jsx("div", { className: style('z-50', popup.fixed ? 'fixed' : 'absolute'), style: {
10390
10309
  left: `${popup.left}px`,
10391
10310
  top: `${popup.top}px`,
@@ -10423,7 +10342,7 @@
10423
10342
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
10424
10343
  });
10425
10344
 
10426
- const packageVersion = "0.14.686";
10345
+ const packageVersion = "0.14.688";
10427
10346
 
10428
10347
  exports.Blocks = Blocks;
10429
10348
  exports.ContentPage = ContentPage;