@redneckz/wildless-cms-uni-blocks 0.14.762 → 0.14.763

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 (721) hide show
  1. package/bundle/bundle.umd.js +201 -211
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/components/CreditCardForm/CreditCardFormStatus.d.ts +1 -3
  4. package/bundle/components/CreditCardForm/PendingStatusContent.d.ts +1 -1
  5. package/bundle/components/CreditForm/CreditFormStatus.d.ts +1 -3
  6. package/bundle/components/CreditForm/PendingStatusContent.d.ts +1 -1
  7. package/bundle/hooks/useInterval.d.ts +4 -1
  8. package/bundle/hooks/useLink.d.ts +1 -2
  9. package/bundle/ui-kit/Button/Button.d.ts +3 -1
  10. package/bundle/ui-kit/Button/IconButton.d.ts +6 -0
  11. package/bundle/ui-kit/DatePicker/Calendar.d.ts +0 -1
  12. package/bundle/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  13. package/bundle/ui-kit/Icon/RoundedIcon.d.ts +0 -1
  14. package/bundle/ui-kit/InfoCard/InfoCard.d.ts +0 -2
  15. package/bundle/ui-kit/Link/Link.d.ts +12 -0
  16. package/bundle/ui-kit/LinkButton/ArrowButton.d.ts +3 -5
  17. package/bundle/ui-kit/LinkButton/renderArrows.d.ts +1 -1
  18. package/bundle/ui-kit/LinkButton/useFormSubmit.d.ts +0 -1
  19. package/bundle/ui-kit/TimerCircle/Timer.d.ts +1 -3
  20. package/bundle/ui-kit/TimerCircle/TimerCircle.d.ts +2 -3
  21. package/bundle/ui-kit/TimerCircle/useCountDownTimer.d.ts +8 -0
  22. package/bundle/utils/adjustHref.d.ts +0 -2
  23. package/bundle/utils/url.d.ts +4 -4
  24. package/dist/components/ApplicationForm/Footnote.js +2 -2
  25. package/dist/components/ApplicationForm/Footnote.js.map +1 -1
  26. package/dist/components/ApplicationLeadForm/Footnote.js +2 -2
  27. package/dist/components/ApplicationLeadForm/Footnote.js.map +1 -1
  28. package/dist/components/ApplicationLeadForm/GroupedConsents.js +1 -1
  29. package/dist/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  30. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  31. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  32. package/dist/components/CreditCardForm/CreditCardFormStatus.d.ts +1 -3
  33. package/dist/components/CreditCardForm/CreditCardFormStatus.js +3 -7
  34. package/dist/components/CreditCardForm/CreditCardFormStatus.js.map +1 -1
  35. package/dist/components/CreditCardForm/CreditCardFormStatusTracker.js +5 -5
  36. package/dist/components/CreditCardForm/CreditCardFormStatusTracker.js.map +1 -1
  37. package/dist/components/CreditCardForm/PendingStatusContent.d.ts +1 -1
  38. package/dist/components/CreditCardForm/PendingStatusContent.js +3 -3
  39. package/dist/components/CreditCardForm/PendingStatusContent.js.map +1 -1
  40. package/dist/components/CreditCardForm/StepsNavigationButtons.js +1 -1
  41. package/dist/components/CreditCardForm/StepsNavigationButtons.js.map +1 -1
  42. package/dist/components/CreditForm/CreditFormStatus.d.ts +1 -3
  43. package/dist/components/CreditForm/CreditFormStatus.js +4 -8
  44. package/dist/components/CreditForm/CreditFormStatus.js.map +1 -1
  45. package/dist/components/CreditForm/CreditFormStatusTracker.js +6 -6
  46. package/dist/components/CreditForm/CreditFormStatusTracker.js.map +1 -1
  47. package/dist/components/CreditForm/PendingStatusContent.d.ts +1 -1
  48. package/dist/components/CreditForm/PendingStatusContent.js +3 -3
  49. package/dist/components/CreditForm/PendingStatusContent.js.map +1 -1
  50. package/dist/components/CreditForm/StepsNavigationButtons.js +1 -1
  51. package/dist/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  52. package/dist/components/Footer/Footer.js +2 -2
  53. package/dist/components/Footer/Footer.js.map +1 -1
  54. package/dist/components/GrantSupport/GrantSupport.js +2 -8
  55. package/dist/components/GrantSupport/GrantSupport.js.map +1 -1
  56. package/dist/components/OfficesAtmsMap/FiltrationForm.js +1 -1
  57. package/dist/components/OfficesAtmsMap/FiltrationForm.js.map +1 -1
  58. package/dist/components/OfficesAtmsMap/FoldableCardContent.js +1 -1
  59. package/dist/components/OfficesAtmsMap/FoldableCardContent.js.map +1 -1
  60. package/dist/components/ProductBlock/renderBackwardButton.js +1 -0
  61. package/dist/components/ProductBlock/renderBackwardButton.js.map +1 -1
  62. package/dist/components/ProductGallery/ProductGallery.js +1 -1
  63. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  64. package/dist/components/RollupItem/RollupItem.js +1 -1
  65. package/dist/components/RollupItem/RollupItem.js.map +1 -1
  66. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  67. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  68. package/dist/components/TariffsTable/TariffsTable.js +1 -1
  69. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  70. package/dist/hooks/useInterval.d.ts +4 -1
  71. package/dist/hooks/useInterval.js +9 -5
  72. package/dist/hooks/useInterval.js.map +1 -1
  73. package/dist/hooks/useLink.d.ts +1 -2
  74. package/dist/hooks/useLink.js +12 -25
  75. package/dist/hooks/useLink.js.map +1 -1
  76. package/dist/ui-kit/BaseFiltration/GridBlocks.js +1 -1
  77. package/dist/ui-kit/BaseFiltration/GridBlocks.js.map +1 -1
  78. package/dist/ui-kit/Button/Button.d.ts +3 -1
  79. package/dist/ui-kit/Button/Button.js +20 -13
  80. package/dist/ui-kit/Button/Button.js.map +1 -1
  81. package/dist/ui-kit/Button/ButtonTitle.js +1 -1
  82. package/dist/ui-kit/Button/ButtonTitle.js.map +1 -1
  83. package/dist/ui-kit/Button/IconButton.d.ts +6 -0
  84. package/dist/ui-kit/Button/IconButton.js +9 -0
  85. package/dist/ui-kit/Button/IconButton.js.map +1 -0
  86. package/dist/ui-kit/Checkbox/CheckboxWithDoc.js +3 -4
  87. package/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  88. package/dist/ui-kit/DatePicker/Calendar.d.ts +0 -1
  89. package/dist/ui-kit/DatePicker/Calendar.js +2 -6
  90. package/dist/ui-kit/DatePicker/Calendar.js.map +1 -1
  91. package/dist/ui-kit/DatePicker/DatePicker.js +9 -5
  92. package/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  93. package/dist/ui-kit/DialogManager/Dialog.js +1 -1
  94. package/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
  95. package/dist/ui-kit/DialogManager/DialogManager.js +1 -1
  96. package/dist/ui-kit/DialogManager/DialogManager.js.map +1 -1
  97. package/dist/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  98. package/dist/ui-kit/Foldable/DefaultFoldButton.js +1 -1
  99. package/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  100. package/dist/ui-kit/Foldable/Foldable.js +1 -1
  101. package/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  102. package/dist/ui-kit/Foldable/FoldableSection.js +5 -2
  103. package/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
  104. package/dist/ui-kit/Icon/RoundedIcon.d.ts +0 -1
  105. package/dist/ui-kit/Icon/RoundedIcon.js +5 -7
  106. package/dist/ui-kit/Icon/RoundedIcon.js.map +1 -1
  107. package/dist/ui-kit/InfoCard/InfoCard.d.ts +0 -2
  108. package/dist/ui-kit/InfoCard/InfoCard.js +1 -2
  109. package/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
  110. package/dist/ui-kit/InnerTable/InnerTableButton.js +2 -3
  111. package/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  112. package/dist/ui-kit/Input/Input.js +4 -3
  113. package/dist/ui-kit/Input/Input.js.map +1 -1
  114. package/dist/ui-kit/Link/Link.d.ts +12 -0
  115. package/dist/ui-kit/Link/Link.js +29 -0
  116. package/dist/ui-kit/Link/Link.js.map +1 -0
  117. package/dist/ui-kit/LinkButton/ArrowButton.d.ts +3 -5
  118. package/dist/ui-kit/LinkButton/ArrowButton.js +4 -10
  119. package/dist/ui-kit/LinkButton/ArrowButton.js.map +1 -1
  120. package/dist/ui-kit/LinkButton/renderArrows.d.ts +1 -1
  121. package/dist/ui-kit/LinkButton/renderArrows.js +1 -7
  122. package/dist/ui-kit/LinkButton/renderArrows.js.map +1 -1
  123. package/dist/ui-kit/LinkButton/useFormSubmit.d.ts +0 -1
  124. package/dist/ui-kit/LinkButton/useFormSubmit.js +1 -2
  125. package/dist/ui-kit/LinkButton/useFormSubmit.js.map +1 -1
  126. package/dist/ui-kit/PopupManager/PopupManager.js +1 -1
  127. package/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  128. package/dist/ui-kit/ReportDialog/ReportDialog.js +2 -8
  129. package/dist/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  130. package/dist/ui-kit/Select/Select.js +2 -2
  131. package/dist/ui-kit/Select/Select.js.map +1 -1
  132. package/dist/ui-kit/Sitemap/Sitemap.mobile.js +1 -1
  133. package/dist/ui-kit/Sitemap/Sitemap.mobile.js.map +1 -1
  134. package/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js +1 -1
  135. package/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  136. package/dist/ui-kit/TabsControl/ScrollableTabsControl.js +1 -1
  137. package/dist/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
  138. package/dist/ui-kit/TabsControl/TabItemInner.js +1 -1
  139. package/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  140. package/dist/ui-kit/TimerCircle/Timer.d.ts +1 -3
  141. package/dist/ui-kit/TimerCircle/Timer.js +4 -19
  142. package/dist/ui-kit/TimerCircle/Timer.js.map +1 -1
  143. package/dist/ui-kit/TimerCircle/TimerCircle.d.ts +2 -3
  144. package/dist/ui-kit/TimerCircle/TimerCircle.js +7 -12
  145. package/dist/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  146. package/dist/ui-kit/TimerCircle/useCountDownTimer.d.ts +8 -0
  147. package/dist/ui-kit/TimerCircle/useCountDownTimer.js +28 -0
  148. package/dist/ui-kit/TimerCircle/useCountDownTimer.js.map +1 -0
  149. package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +8 -4
  150. package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  151. package/dist/utils/adjustHref.d.ts +0 -2
  152. package/dist/utils/adjustHref.js +8 -11
  153. package/dist/utils/adjustHref.js.map +1 -1
  154. package/dist/utils/url.d.ts +4 -4
  155. package/dist/utils/url.js +6 -11
  156. package/dist/utils/url.js.map +1 -1
  157. package/lib/common.css +1 -1
  158. package/lib/components/ApplicationForm/Footnote.js +2 -2
  159. package/lib/components/ApplicationForm/Footnote.js.map +1 -1
  160. package/lib/components/ApplicationLeadForm/Footnote.js +2 -2
  161. package/lib/components/ApplicationLeadForm/Footnote.js.map +1 -1
  162. package/lib/components/ApplicationLeadForm/GroupedConsents.js +1 -1
  163. package/lib/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  164. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  165. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  166. package/lib/components/CreditCardForm/CreditCardFormStatus.d.ts +1 -3
  167. package/lib/components/CreditCardForm/CreditCardFormStatus.js +3 -7
  168. package/lib/components/CreditCardForm/CreditCardFormStatus.js.map +1 -1
  169. package/lib/components/CreditCardForm/CreditCardFormStatusTracker.js +5 -5
  170. package/lib/components/CreditCardForm/CreditCardFormStatusTracker.js.map +1 -1
  171. package/lib/components/CreditCardForm/PendingStatusContent.d.ts +1 -1
  172. package/lib/components/CreditCardForm/PendingStatusContent.js +3 -3
  173. package/lib/components/CreditCardForm/PendingStatusContent.js.map +1 -1
  174. package/lib/components/CreditCardForm/StepsNavigationButtons.js +1 -1
  175. package/lib/components/CreditCardForm/StepsNavigationButtons.js.map +1 -1
  176. package/lib/components/CreditForm/CreditFormStatus.d.ts +1 -3
  177. package/lib/components/CreditForm/CreditFormStatus.js +4 -8
  178. package/lib/components/CreditForm/CreditFormStatus.js.map +1 -1
  179. package/lib/components/CreditForm/CreditFormStatusTracker.js +6 -6
  180. package/lib/components/CreditForm/CreditFormStatusTracker.js.map +1 -1
  181. package/lib/components/CreditForm/PendingStatusContent.d.ts +1 -1
  182. package/lib/components/CreditForm/PendingStatusContent.js +3 -3
  183. package/lib/components/CreditForm/PendingStatusContent.js.map +1 -1
  184. package/lib/components/CreditForm/StepsNavigationButtons.js +1 -1
  185. package/lib/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  186. package/lib/components/Footer/Footer.js +2 -2
  187. package/lib/components/Footer/Footer.js.map +1 -1
  188. package/lib/components/GrantSupport/GrantSupport.js +2 -8
  189. package/lib/components/GrantSupport/GrantSupport.js.map +1 -1
  190. package/lib/components/OfficesAtmsMap/FiltrationForm.js +1 -1
  191. package/lib/components/OfficesAtmsMap/FiltrationForm.js.map +1 -1
  192. package/lib/components/OfficesAtmsMap/FoldableCardContent.js +1 -1
  193. package/lib/components/OfficesAtmsMap/FoldableCardContent.js.map +1 -1
  194. package/lib/components/ProductBlock/renderBackwardButton.js +1 -0
  195. package/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
  196. package/lib/components/ProductGallery/ProductGallery.js +2 -2
  197. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  198. package/lib/components/RollupItem/RollupItem.js +1 -1
  199. package/lib/components/RollupItem/RollupItem.js.map +1 -1
  200. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  201. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  202. package/lib/components/TariffsTable/TariffsTable.js +1 -1
  203. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  204. package/lib/hooks/useInterval.d.ts +4 -1
  205. package/lib/hooks/useInterval.js +9 -5
  206. package/lib/hooks/useInterval.js.map +1 -1
  207. package/lib/hooks/useLink.d.ts +1 -2
  208. package/lib/hooks/useLink.js +12 -25
  209. package/lib/hooks/useLink.js.map +1 -1
  210. package/lib/ui-kit/BaseFiltration/GridBlocks.js +1 -1
  211. package/lib/ui-kit/BaseFiltration/GridBlocks.js.map +1 -1
  212. package/lib/ui-kit/Button/Button.d.ts +3 -1
  213. package/lib/ui-kit/Button/Button.js +19 -12
  214. package/lib/ui-kit/Button/Button.js.map +1 -1
  215. package/lib/ui-kit/Button/ButtonTitle.js +1 -1
  216. package/lib/ui-kit/Button/ButtonTitle.js.map +1 -1
  217. package/lib/ui-kit/Button/IconButton.d.ts +6 -0
  218. package/lib/ui-kit/Button/IconButton.js +7 -0
  219. package/lib/ui-kit/Button/IconButton.js.map +1 -0
  220. package/lib/ui-kit/Checkbox/CheckboxWithDoc.js +3 -4
  221. package/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  222. package/lib/ui-kit/DatePicker/Calendar.d.ts +0 -1
  223. package/lib/ui-kit/DatePicker/Calendar.js +3 -7
  224. package/lib/ui-kit/DatePicker/Calendar.js.map +1 -1
  225. package/lib/ui-kit/DatePicker/DatePicker.js +10 -6
  226. package/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  227. package/lib/ui-kit/DialogManager/Dialog.js +1 -1
  228. package/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
  229. package/lib/ui-kit/DialogManager/DialogManager.js +1 -1
  230. package/lib/ui-kit/DialogManager/DialogManager.js.map +1 -1
  231. package/lib/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  232. package/lib/ui-kit/Foldable/DefaultFoldButton.js +1 -1
  233. package/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  234. package/lib/ui-kit/Foldable/Foldable.js +1 -1
  235. package/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  236. package/lib/ui-kit/Foldable/FoldableSection.js +5 -2
  237. package/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
  238. package/lib/ui-kit/Icon/RoundedIcon.d.ts +0 -1
  239. package/lib/ui-kit/Icon/RoundedIcon.js +5 -7
  240. package/lib/ui-kit/Icon/RoundedIcon.js.map +1 -1
  241. package/lib/ui-kit/InfoCard/InfoCard.d.ts +0 -2
  242. package/lib/ui-kit/InfoCard/InfoCard.js +1 -2
  243. package/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
  244. package/lib/ui-kit/InnerTable/InnerTableButton.js +2 -3
  245. package/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  246. package/lib/ui-kit/Input/Input.js +4 -3
  247. package/lib/ui-kit/Input/Input.js.map +1 -1
  248. package/lib/ui-kit/Link/Link.d.ts +12 -0
  249. package/lib/ui-kit/Link/Link.js +27 -0
  250. package/lib/ui-kit/Link/Link.js.map +1 -0
  251. package/lib/ui-kit/LinkButton/ArrowButton.d.ts +3 -5
  252. package/lib/ui-kit/LinkButton/ArrowButton.js +3 -9
  253. package/lib/ui-kit/LinkButton/ArrowButton.js.map +1 -1
  254. package/lib/ui-kit/LinkButton/renderArrows.d.ts +1 -1
  255. package/lib/ui-kit/LinkButton/renderArrows.js +2 -8
  256. package/lib/ui-kit/LinkButton/renderArrows.js.map +1 -1
  257. package/lib/ui-kit/LinkButton/useFormSubmit.d.ts +0 -1
  258. package/lib/ui-kit/LinkButton/useFormSubmit.js +1 -2
  259. package/lib/ui-kit/LinkButton/useFormSubmit.js.map +1 -1
  260. package/lib/ui-kit/PopupManager/PopupManager.js +1 -1
  261. package/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  262. package/lib/ui-kit/ReportDialog/ReportDialog.js +2 -8
  263. package/lib/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  264. package/lib/ui-kit/Select/Select.js +2 -2
  265. package/lib/ui-kit/Select/Select.js.map +1 -1
  266. package/lib/ui-kit/Sitemap/Sitemap.mobile.js +1 -1
  267. package/lib/ui-kit/Sitemap/Sitemap.mobile.js.map +1 -1
  268. package/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js +2 -2
  269. package/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  270. package/lib/ui-kit/TabsControl/ScrollableTabsControl.js +2 -2
  271. package/lib/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
  272. package/lib/ui-kit/TabsControl/TabItemInner.js +1 -1
  273. package/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  274. package/lib/ui-kit/TimerCircle/Timer.d.ts +1 -3
  275. package/lib/ui-kit/TimerCircle/Timer.js +4 -19
  276. package/lib/ui-kit/TimerCircle/Timer.js.map +1 -1
  277. package/lib/ui-kit/TimerCircle/TimerCircle.d.ts +2 -3
  278. package/lib/ui-kit/TimerCircle/TimerCircle.js +7 -12
  279. package/lib/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  280. package/lib/ui-kit/TimerCircle/useCountDownTimer.d.ts +8 -0
  281. package/lib/ui-kit/TimerCircle/useCountDownTimer.js +25 -0
  282. package/lib/ui-kit/TimerCircle/useCountDownTimer.js.map +1 -0
  283. package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +8 -4
  284. package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  285. package/lib/utils/adjustHref.d.ts +0 -2
  286. package/lib/utils/adjustHref.js +6 -9
  287. package/lib/utils/adjustHref.js.map +1 -1
  288. package/lib/utils/url.d.ts +4 -4
  289. package/lib/utils/url.js +6 -11
  290. package/lib/utils/url.js.map +1 -1
  291. package/mobile/bundle/bundle.umd.js +201 -211
  292. package/mobile/bundle/bundle.umd.min.js +1 -1
  293. package/mobile/bundle/components/CreditCardForm/CreditCardFormStatus.d.ts +1 -3
  294. package/mobile/bundle/components/CreditCardForm/PendingStatusContent.d.ts +1 -1
  295. package/mobile/bundle/components/CreditForm/CreditFormStatus.d.ts +1 -3
  296. package/mobile/bundle/components/CreditForm/PendingStatusContent.d.ts +1 -1
  297. package/mobile/bundle/hooks/useInterval.d.ts +4 -1
  298. package/mobile/bundle/hooks/useLink.d.ts +1 -2
  299. package/mobile/bundle/ui-kit/Button/Button.d.ts +3 -1
  300. package/mobile/bundle/ui-kit/Button/IconButton.d.ts +6 -0
  301. package/mobile/bundle/ui-kit/DatePicker/Calendar.d.ts +0 -1
  302. package/mobile/bundle/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  303. package/mobile/bundle/ui-kit/Icon/RoundedIcon.d.ts +0 -1
  304. package/mobile/bundle/ui-kit/InfoCard/InfoCard.d.ts +0 -2
  305. package/mobile/bundle/ui-kit/Link/Link.d.ts +12 -0
  306. package/mobile/bundle/ui-kit/LinkButton/ArrowButton.d.ts +3 -5
  307. package/mobile/bundle/ui-kit/LinkButton/renderArrows.d.ts +1 -1
  308. package/mobile/bundle/ui-kit/LinkButton/useFormSubmit.d.ts +0 -1
  309. package/mobile/bundle/ui-kit/TimerCircle/Timer.d.ts +1 -3
  310. package/mobile/bundle/ui-kit/TimerCircle/TimerCircle.d.ts +2 -3
  311. package/mobile/bundle/ui-kit/TimerCircle/useCountDownTimer.d.ts +8 -0
  312. package/mobile/bundle/utils/adjustHref.d.ts +0 -2
  313. package/mobile/bundle/utils/url.d.ts +4 -4
  314. package/mobile/dist/components/ApplicationForm/Footnote.js +2 -2
  315. package/mobile/dist/components/ApplicationForm/Footnote.js.map +1 -1
  316. package/mobile/dist/components/ApplicationLeadForm/Footnote.js +2 -2
  317. package/mobile/dist/components/ApplicationLeadForm/Footnote.js.map +1 -1
  318. package/mobile/dist/components/ApplicationLeadForm/GroupedConsents.js +1 -1
  319. package/mobile/dist/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  320. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  321. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  322. package/mobile/dist/components/CreditCardForm/CreditCardFormStatus.d.ts +1 -3
  323. package/mobile/dist/components/CreditCardForm/CreditCardFormStatus.js +3 -7
  324. package/mobile/dist/components/CreditCardForm/CreditCardFormStatus.js.map +1 -1
  325. package/mobile/dist/components/CreditCardForm/CreditCardFormStatusTracker.js +5 -5
  326. package/mobile/dist/components/CreditCardForm/CreditCardFormStatusTracker.js.map +1 -1
  327. package/mobile/dist/components/CreditCardForm/PendingStatusContent.d.ts +1 -1
  328. package/mobile/dist/components/CreditCardForm/PendingStatusContent.js +3 -3
  329. package/mobile/dist/components/CreditCardForm/PendingStatusContent.js.map +1 -1
  330. package/mobile/dist/components/CreditCardForm/StepsNavigationButtons.js +1 -1
  331. package/mobile/dist/components/CreditCardForm/StepsNavigationButtons.js.map +1 -1
  332. package/mobile/dist/components/CreditForm/CreditFormStatus.d.ts +1 -3
  333. package/mobile/dist/components/CreditForm/CreditFormStatus.js +4 -8
  334. package/mobile/dist/components/CreditForm/CreditFormStatus.js.map +1 -1
  335. package/mobile/dist/components/CreditForm/CreditFormStatusTracker.js +6 -6
  336. package/mobile/dist/components/CreditForm/CreditFormStatusTracker.js.map +1 -1
  337. package/mobile/dist/components/CreditForm/PendingStatusContent.d.ts +1 -1
  338. package/mobile/dist/components/CreditForm/PendingStatusContent.js +3 -3
  339. package/mobile/dist/components/CreditForm/PendingStatusContent.js.map +1 -1
  340. package/mobile/dist/components/CreditForm/StepsNavigationButtons.js +1 -1
  341. package/mobile/dist/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  342. package/mobile/dist/components/Footer/Footer.js +2 -2
  343. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  344. package/mobile/dist/components/GrantSupport/GrantSupport.js +2 -8
  345. package/mobile/dist/components/GrantSupport/GrantSupport.js.map +1 -1
  346. package/mobile/dist/components/OfficesAtmsMap/FiltrationForm.js +1 -1
  347. package/mobile/dist/components/OfficesAtmsMap/FiltrationForm.js.map +1 -1
  348. package/mobile/dist/components/OfficesAtmsMap/FoldableCardContent.js +1 -1
  349. package/mobile/dist/components/OfficesAtmsMap/FoldableCardContent.js.map +1 -1
  350. package/mobile/dist/components/ProductBlock/renderBackwardButton.js +1 -0
  351. package/mobile/dist/components/ProductBlock/renderBackwardButton.js.map +1 -1
  352. package/mobile/dist/components/RollupItem/RollupItem.js +1 -1
  353. package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
  354. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  355. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  356. package/mobile/dist/components/TariffsTable/TariffsTable.js +1 -1
  357. package/mobile/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  358. package/mobile/dist/hooks/useInterval.d.ts +4 -1
  359. package/mobile/dist/hooks/useInterval.js +9 -5
  360. package/mobile/dist/hooks/useInterval.js.map +1 -1
  361. package/mobile/dist/hooks/useLink.d.ts +1 -2
  362. package/mobile/dist/hooks/useLink.js +12 -25
  363. package/mobile/dist/hooks/useLink.js.map +1 -1
  364. package/mobile/dist/ui-kit/BaseFiltration/GridBlocks.js +1 -1
  365. package/mobile/dist/ui-kit/BaseFiltration/GridBlocks.js.map +1 -1
  366. package/mobile/dist/ui-kit/Button/Button.d.ts +3 -1
  367. package/mobile/dist/ui-kit/Button/Button.js +20 -13
  368. package/mobile/dist/ui-kit/Button/Button.js.map +1 -1
  369. package/mobile/dist/ui-kit/Button/ButtonTitle.js +1 -1
  370. package/mobile/dist/ui-kit/Button/ButtonTitle.js.map +1 -1
  371. package/mobile/dist/ui-kit/Button/IconButton.d.ts +6 -0
  372. package/mobile/dist/ui-kit/Button/IconButton.js +9 -0
  373. package/mobile/dist/ui-kit/Button/IconButton.js.map +1 -0
  374. package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js +3 -4
  375. package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  376. package/mobile/dist/ui-kit/DatePicker/Calendar.d.ts +0 -1
  377. package/mobile/dist/ui-kit/DatePicker/Calendar.js +2 -6
  378. package/mobile/dist/ui-kit/DatePicker/Calendar.js.map +1 -1
  379. package/mobile/dist/ui-kit/DatePicker/DatePicker.js +9 -5
  380. package/mobile/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  381. package/mobile/dist/ui-kit/DialogManager/Dialog.js +1 -1
  382. package/mobile/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
  383. package/mobile/dist/ui-kit/DialogManager/DialogManager.js +1 -1
  384. package/mobile/dist/ui-kit/DialogManager/DialogManager.js.map +1 -1
  385. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  386. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js +1 -1
  387. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  388. package/mobile/dist/ui-kit/Foldable/Foldable.js +1 -1
  389. package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  390. package/mobile/dist/ui-kit/Foldable/FoldableSection.js +5 -2
  391. package/mobile/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
  392. package/mobile/dist/ui-kit/Icon/RoundedIcon.d.ts +0 -1
  393. package/mobile/dist/ui-kit/Icon/RoundedIcon.js +5 -7
  394. package/mobile/dist/ui-kit/Icon/RoundedIcon.js.map +1 -1
  395. package/mobile/dist/ui-kit/InfoCard/InfoCard.d.ts +0 -2
  396. package/mobile/dist/ui-kit/InfoCard/InfoCard.js +1 -2
  397. package/mobile/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
  398. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js +2 -3
  399. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  400. package/mobile/dist/ui-kit/Input/Input.js +4 -3
  401. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  402. package/mobile/dist/ui-kit/Link/Link.d.ts +12 -0
  403. package/mobile/dist/ui-kit/Link/Link.js +29 -0
  404. package/mobile/dist/ui-kit/Link/Link.js.map +1 -0
  405. package/mobile/dist/ui-kit/LinkButton/ArrowButton.d.ts +3 -5
  406. package/mobile/dist/ui-kit/LinkButton/ArrowButton.js +4 -10
  407. package/mobile/dist/ui-kit/LinkButton/ArrowButton.js.map +1 -1
  408. package/mobile/dist/ui-kit/LinkButton/renderArrows.d.ts +1 -1
  409. package/mobile/dist/ui-kit/LinkButton/renderArrows.js +1 -7
  410. package/mobile/dist/ui-kit/LinkButton/renderArrows.js.map +1 -1
  411. package/mobile/dist/ui-kit/LinkButton/useFormSubmit.d.ts +0 -1
  412. package/mobile/dist/ui-kit/LinkButton/useFormSubmit.js +1 -2
  413. package/mobile/dist/ui-kit/LinkButton/useFormSubmit.js.map +1 -1
  414. package/mobile/dist/ui-kit/PopupManager/PopupManager.js +1 -1
  415. package/mobile/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  416. package/mobile/dist/ui-kit/ReportDialog/ReportDialog.js +2 -8
  417. package/mobile/dist/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  418. package/mobile/dist/ui-kit/Select/Select.js +2 -2
  419. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  420. package/mobile/dist/ui-kit/Sitemap/Sitemap.js +1 -1
  421. package/mobile/dist/ui-kit/Sitemap/Sitemap.js.map +1 -1
  422. package/mobile/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js +1 -1
  423. package/mobile/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  424. package/mobile/dist/ui-kit/TabsControl/ScrollableTabsControl.js +1 -1
  425. package/mobile/dist/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
  426. package/mobile/dist/ui-kit/TabsControl/TabItemInner.js +1 -1
  427. package/mobile/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  428. package/mobile/dist/ui-kit/TimerCircle/Timer.d.ts +1 -3
  429. package/mobile/dist/ui-kit/TimerCircle/Timer.js +4 -19
  430. package/mobile/dist/ui-kit/TimerCircle/Timer.js.map +1 -1
  431. package/mobile/dist/ui-kit/TimerCircle/TimerCircle.d.ts +2 -3
  432. package/mobile/dist/ui-kit/TimerCircle/TimerCircle.js +7 -12
  433. package/mobile/dist/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  434. package/mobile/dist/ui-kit/TimerCircle/useCountDownTimer.d.ts +8 -0
  435. package/mobile/dist/ui-kit/TimerCircle/useCountDownTimer.js +28 -0
  436. package/mobile/dist/ui-kit/TimerCircle/useCountDownTimer.js.map +1 -0
  437. package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +8 -4
  438. package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  439. package/mobile/dist/utils/adjustHref.d.ts +0 -2
  440. package/mobile/dist/utils/adjustHref.js +8 -11
  441. package/mobile/dist/utils/adjustHref.js.map +1 -1
  442. package/mobile/dist/utils/url.d.ts +4 -4
  443. package/mobile/dist/utils/url.js +6 -11
  444. package/mobile/dist/utils/url.js.map +1 -1
  445. package/mobile/lib/common.css +1 -1
  446. package/mobile/lib/components/ApplicationForm/Footnote.js +2 -2
  447. package/mobile/lib/components/ApplicationForm/Footnote.js.map +1 -1
  448. package/mobile/lib/components/ApplicationLeadForm/Footnote.js +2 -2
  449. package/mobile/lib/components/ApplicationLeadForm/Footnote.js.map +1 -1
  450. package/mobile/lib/components/ApplicationLeadForm/GroupedConsents.js +1 -1
  451. package/mobile/lib/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  452. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  453. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  454. package/mobile/lib/components/CreditCardForm/CreditCardFormStatus.d.ts +1 -3
  455. package/mobile/lib/components/CreditCardForm/CreditCardFormStatus.js +3 -7
  456. package/mobile/lib/components/CreditCardForm/CreditCardFormStatus.js.map +1 -1
  457. package/mobile/lib/components/CreditCardForm/CreditCardFormStatusTracker.js +5 -5
  458. package/mobile/lib/components/CreditCardForm/CreditCardFormStatusTracker.js.map +1 -1
  459. package/mobile/lib/components/CreditCardForm/PendingStatusContent.d.ts +1 -1
  460. package/mobile/lib/components/CreditCardForm/PendingStatusContent.js +3 -3
  461. package/mobile/lib/components/CreditCardForm/PendingStatusContent.js.map +1 -1
  462. package/mobile/lib/components/CreditCardForm/StepsNavigationButtons.js +1 -1
  463. package/mobile/lib/components/CreditCardForm/StepsNavigationButtons.js.map +1 -1
  464. package/mobile/lib/components/CreditForm/CreditFormStatus.d.ts +1 -3
  465. package/mobile/lib/components/CreditForm/CreditFormStatus.js +4 -8
  466. package/mobile/lib/components/CreditForm/CreditFormStatus.js.map +1 -1
  467. package/mobile/lib/components/CreditForm/CreditFormStatusTracker.js +6 -6
  468. package/mobile/lib/components/CreditForm/CreditFormStatusTracker.js.map +1 -1
  469. package/mobile/lib/components/CreditForm/PendingStatusContent.d.ts +1 -1
  470. package/mobile/lib/components/CreditForm/PendingStatusContent.js +3 -3
  471. package/mobile/lib/components/CreditForm/PendingStatusContent.js.map +1 -1
  472. package/mobile/lib/components/CreditForm/StepsNavigationButtons.js +1 -1
  473. package/mobile/lib/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  474. package/mobile/lib/components/Footer/Footer.js +2 -2
  475. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  476. package/mobile/lib/components/GrantSupport/GrantSupport.js +2 -8
  477. package/mobile/lib/components/GrantSupport/GrantSupport.js.map +1 -1
  478. package/mobile/lib/components/OfficesAtmsMap/FiltrationForm.js +1 -1
  479. package/mobile/lib/components/OfficesAtmsMap/FiltrationForm.js.map +1 -1
  480. package/mobile/lib/components/OfficesAtmsMap/FoldableCardContent.js +1 -1
  481. package/mobile/lib/components/OfficesAtmsMap/FoldableCardContent.js.map +1 -1
  482. package/mobile/lib/components/ProductBlock/renderBackwardButton.js +1 -0
  483. package/mobile/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
  484. package/mobile/lib/components/RollupItem/RollupItem.js +1 -1
  485. package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
  486. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  487. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  488. package/mobile/lib/components/TariffsTable/TariffsTable.js +1 -1
  489. package/mobile/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  490. package/mobile/lib/hooks/useInterval.d.ts +4 -1
  491. package/mobile/lib/hooks/useInterval.js +9 -5
  492. package/mobile/lib/hooks/useInterval.js.map +1 -1
  493. package/mobile/lib/hooks/useLink.d.ts +1 -2
  494. package/mobile/lib/hooks/useLink.js +12 -25
  495. package/mobile/lib/hooks/useLink.js.map +1 -1
  496. package/mobile/lib/ui-kit/BaseFiltration/GridBlocks.js +1 -1
  497. package/mobile/lib/ui-kit/BaseFiltration/GridBlocks.js.map +1 -1
  498. package/mobile/lib/ui-kit/Button/Button.d.ts +3 -1
  499. package/mobile/lib/ui-kit/Button/Button.js +19 -12
  500. package/mobile/lib/ui-kit/Button/Button.js.map +1 -1
  501. package/mobile/lib/ui-kit/Button/ButtonTitle.js +1 -1
  502. package/mobile/lib/ui-kit/Button/ButtonTitle.js.map +1 -1
  503. package/mobile/lib/ui-kit/Button/IconButton.d.ts +6 -0
  504. package/mobile/lib/ui-kit/Button/IconButton.js +7 -0
  505. package/mobile/lib/ui-kit/Button/IconButton.js.map +1 -0
  506. package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js +3 -4
  507. package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  508. package/mobile/lib/ui-kit/DatePicker/Calendar.d.ts +0 -1
  509. package/mobile/lib/ui-kit/DatePicker/Calendar.js +3 -7
  510. package/mobile/lib/ui-kit/DatePicker/Calendar.js.map +1 -1
  511. package/mobile/lib/ui-kit/DatePicker/DatePicker.js +10 -6
  512. package/mobile/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  513. package/mobile/lib/ui-kit/DialogManager/Dialog.js +1 -1
  514. package/mobile/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
  515. package/mobile/lib/ui-kit/DialogManager/DialogManager.js +1 -1
  516. package/mobile/lib/ui-kit/DialogManager/DialogManager.js.map +1 -1
  517. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  518. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js +1 -1
  519. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  520. package/mobile/lib/ui-kit/Foldable/Foldable.js +1 -1
  521. package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  522. package/mobile/lib/ui-kit/Foldable/FoldableSection.js +5 -2
  523. package/mobile/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
  524. package/mobile/lib/ui-kit/Icon/RoundedIcon.d.ts +0 -1
  525. package/mobile/lib/ui-kit/Icon/RoundedIcon.js +5 -7
  526. package/mobile/lib/ui-kit/Icon/RoundedIcon.js.map +1 -1
  527. package/mobile/lib/ui-kit/InfoCard/InfoCard.d.ts +0 -2
  528. package/mobile/lib/ui-kit/InfoCard/InfoCard.js +1 -2
  529. package/mobile/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
  530. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js +2 -3
  531. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  532. package/mobile/lib/ui-kit/Input/Input.js +4 -3
  533. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  534. package/mobile/lib/ui-kit/Link/Link.d.ts +12 -0
  535. package/mobile/lib/ui-kit/Link/Link.js +27 -0
  536. package/mobile/lib/ui-kit/Link/Link.js.map +1 -0
  537. package/mobile/lib/ui-kit/LinkButton/ArrowButton.d.ts +3 -5
  538. package/mobile/lib/ui-kit/LinkButton/ArrowButton.js +3 -9
  539. package/mobile/lib/ui-kit/LinkButton/ArrowButton.js.map +1 -1
  540. package/mobile/lib/ui-kit/LinkButton/renderArrows.d.ts +1 -1
  541. package/mobile/lib/ui-kit/LinkButton/renderArrows.js +2 -8
  542. package/mobile/lib/ui-kit/LinkButton/renderArrows.js.map +1 -1
  543. package/mobile/lib/ui-kit/LinkButton/useFormSubmit.d.ts +0 -1
  544. package/mobile/lib/ui-kit/LinkButton/useFormSubmit.js +1 -2
  545. package/mobile/lib/ui-kit/LinkButton/useFormSubmit.js.map +1 -1
  546. package/mobile/lib/ui-kit/PopupManager/PopupManager.js +1 -1
  547. package/mobile/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  548. package/mobile/lib/ui-kit/ReportDialog/ReportDialog.js +2 -8
  549. package/mobile/lib/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  550. package/mobile/lib/ui-kit/Select/Select.js +2 -2
  551. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  552. package/mobile/lib/ui-kit/Sitemap/Sitemap.js +1 -1
  553. package/mobile/lib/ui-kit/Sitemap/Sitemap.js.map +1 -1
  554. package/mobile/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js +2 -2
  555. package/mobile/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  556. package/mobile/lib/ui-kit/TabsControl/ScrollableTabsControl.js +2 -2
  557. package/mobile/lib/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
  558. package/mobile/lib/ui-kit/TabsControl/TabItemInner.js +1 -1
  559. package/mobile/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  560. package/mobile/lib/ui-kit/TimerCircle/Timer.d.ts +1 -3
  561. package/mobile/lib/ui-kit/TimerCircle/Timer.js +4 -19
  562. package/mobile/lib/ui-kit/TimerCircle/Timer.js.map +1 -1
  563. package/mobile/lib/ui-kit/TimerCircle/TimerCircle.d.ts +2 -3
  564. package/mobile/lib/ui-kit/TimerCircle/TimerCircle.js +7 -12
  565. package/mobile/lib/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  566. package/mobile/lib/ui-kit/TimerCircle/useCountDownTimer.d.ts +8 -0
  567. package/mobile/lib/ui-kit/TimerCircle/useCountDownTimer.js +25 -0
  568. package/mobile/lib/ui-kit/TimerCircle/useCountDownTimer.js.map +1 -0
  569. package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +8 -4
  570. package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  571. package/mobile/lib/utils/adjustHref.d.ts +0 -2
  572. package/mobile/lib/utils/adjustHref.js +6 -9
  573. package/mobile/lib/utils/adjustHref.js.map +1 -1
  574. package/mobile/lib/utils/url.d.ts +4 -4
  575. package/mobile/lib/utils/url.js +6 -11
  576. package/mobile/lib/utils/url.js.map +1 -1
  577. package/mobile/src/components/ApplicationForm/Footnote.tsx +4 -9
  578. package/mobile/src/components/ApplicationLeadForm/Footnote.tsx +4 -9
  579. package/mobile/src/components/ApplicationLeadForm/GroupedConsents.tsx +1 -1
  580. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +1 -1
  581. package/mobile/src/components/CreditCardForm/CreditCardFormStatus.tsx +6 -21
  582. package/mobile/src/components/CreditCardForm/CreditCardFormStatusTracker.tsx +5 -5
  583. package/mobile/src/components/CreditCardForm/PendingStatusContent.tsx +22 -24
  584. package/mobile/src/components/CreditCardForm/StepsNavigationButtons.tsx +1 -1
  585. package/mobile/src/components/CreditForm/CreditFormStatus.tsx +6 -26
  586. package/mobile/src/components/CreditForm/CreditFormStatusTracker.tsx +6 -6
  587. package/mobile/src/components/CreditForm/PendingStatusContent.tsx +34 -36
  588. package/mobile/src/components/CreditForm/StepsNavigationButtons.tsx +1 -1
  589. package/mobile/src/components/Footer/Footer.tsx +2 -5
  590. package/mobile/src/components/GrantSupport/GrantSupport.tsx +6 -11
  591. package/mobile/src/components/OfficesAtmsMap/FiltrationForm.tsx +1 -0
  592. package/mobile/src/components/OfficesAtmsMap/FoldableCardContent.tsx +1 -1
  593. package/mobile/src/components/ProductBlock/renderBackwardButton.tsx +1 -0
  594. package/mobile/src/components/RollupItem/RollupItem.tsx +1 -1
  595. package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +4 -2
  596. package/mobile/src/components/TariffsTable/TariffsTable.tsx +1 -1
  597. package/mobile/src/hooks/useInterval.ts +9 -5
  598. package/mobile/src/hooks/useLink.ts +15 -34
  599. package/mobile/src/ui-kit/BaseFiltration/GridBlocks.tsx +1 -1
  600. package/mobile/src/ui-kit/Button/Button.tsx +27 -17
  601. package/mobile/src/ui-kit/Button/ButtonTitle.tsx +1 -1
  602. package/mobile/src/ui-kit/Button/IconButton.tsx +15 -0
  603. package/mobile/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +5 -7
  604. package/mobile/src/ui-kit/DatePicker/Calendar.tsx +3 -9
  605. package/mobile/src/ui-kit/DatePicker/DatePicker.tsx +14 -7
  606. package/mobile/src/ui-kit/DialogManager/Dialog.tsx +6 -1
  607. package/mobile/src/ui-kit/DialogManager/DialogManager.tsx +1 -1
  608. package/mobile/src/ui-kit/Foldable/DefaultFoldButton.tsx +13 -3
  609. package/mobile/src/ui-kit/Foldable/Foldable.tsx +1 -1
  610. package/mobile/src/ui-kit/Foldable/FoldableSection.tsx +27 -26
  611. package/mobile/src/ui-kit/Icon/RoundedIcon.tsx +9 -10
  612. package/mobile/src/ui-kit/InfoCard/InfoCard.tsx +1 -5
  613. package/mobile/src/ui-kit/InnerTable/InnerTableButton.tsx +6 -8
  614. package/mobile/src/ui-kit/Input/Input.tsx +19 -15
  615. package/mobile/src/ui-kit/Link/Link.tsx +82 -0
  616. package/mobile/src/ui-kit/LinkButton/ArrowButton.tsx +6 -37
  617. package/mobile/src/ui-kit/LinkButton/renderArrows.tsx +12 -28
  618. package/mobile/src/ui-kit/LinkButton/useFormSubmit.ts +23 -21
  619. package/mobile/src/ui-kit/PopupManager/PopupManager.tsx +1 -0
  620. package/mobile/src/ui-kit/ReportDialog/ReportDialog.tsx +24 -29
  621. package/mobile/src/ui-kit/Select/Select.tsx +3 -3
  622. package/mobile/src/ui-kit/Sitemap/Sitemap.tsx +1 -1
  623. package/mobile/src/ui-kit/SwipeListControl/SwipeListScrollButtons.tsx +3 -3
  624. package/mobile/src/ui-kit/TabsControl/ScrollableTabsControl.tsx +3 -3
  625. package/mobile/src/ui-kit/TabsControl/TabItemInner.tsx +0 -1
  626. package/mobile/src/ui-kit/TimerCircle/Timer.tsx +7 -25
  627. package/mobile/src/ui-kit/TimerCircle/TimerCircle.tsx +23 -39
  628. package/mobile/src/ui-kit/TimerCircle/useCountDownTimer.ts +38 -0
  629. package/mobile/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +13 -12
  630. package/mobile/src/utils/adjustHref.ts +9 -11
  631. package/mobile/src/utils/url.ts +14 -16
  632. package/package.json +1 -1
  633. package/src/components/ApplicationForm/Footnote.tsx +4 -9
  634. package/src/components/ApplicationLeadForm/Footnote.tsx +4 -9
  635. package/src/components/ApplicationLeadForm/GroupedConsents.tsx +1 -1
  636. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +1 -1
  637. package/src/components/CreditCardForm/CreditCardFormStatus.tsx +6 -21
  638. package/src/components/CreditCardForm/CreditCardFormStatusTracker.tsx +5 -5
  639. package/src/components/CreditCardForm/PendingStatusContent.tsx +22 -24
  640. package/src/components/CreditCardForm/StepsNavigationButtons.tsx +1 -1
  641. package/src/components/CreditForm/CreditFormStatus.tsx +6 -26
  642. package/src/components/CreditForm/CreditFormStatusTracker.tsx +6 -6
  643. package/src/components/CreditForm/PendingStatusContent.tsx +34 -36
  644. package/src/components/CreditForm/StepsNavigationButtons.tsx +1 -1
  645. package/src/components/Footer/Footer.tsx +2 -5
  646. package/src/components/GrantSupport/GrantSupport.tsx +6 -11
  647. package/src/components/OfficesAtmsMap/FiltrationForm.tsx +1 -0
  648. package/src/components/OfficesAtmsMap/FoldableCardContent.tsx +1 -1
  649. package/src/components/ProductBlock/renderBackwardButton.tsx +1 -0
  650. package/src/components/ProductGallery/ProductGallery.tsx +3 -3
  651. package/src/components/RollupItem/RollupItem.tsx +1 -1
  652. package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +4 -2
  653. package/src/components/TariffsTable/TariffsTable.tsx +1 -1
  654. package/src/hooks/useInterval.ts +9 -5
  655. package/src/hooks/useLink.ts +15 -34
  656. package/src/ui-kit/BaseFiltration/GridBlocks.tsx +1 -1
  657. package/src/ui-kit/Button/Button.tsx +27 -17
  658. package/src/ui-kit/Button/ButtonTitle.tsx +1 -1
  659. package/src/ui-kit/Button/IconButton.tsx +15 -0
  660. package/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +5 -7
  661. package/src/ui-kit/DatePicker/Calendar.tsx +3 -9
  662. package/src/ui-kit/DatePicker/DatePicker.tsx +14 -7
  663. package/src/ui-kit/DialogManager/Dialog.tsx +6 -1
  664. package/src/ui-kit/DialogManager/DialogManager.tsx +1 -1
  665. package/src/ui-kit/Foldable/DefaultFoldButton.tsx +13 -3
  666. package/src/ui-kit/Foldable/Foldable.tsx +1 -1
  667. package/src/ui-kit/Foldable/FoldableSection.tsx +27 -26
  668. package/src/ui-kit/Icon/RoundedIcon.tsx +9 -10
  669. package/src/ui-kit/InfoCard/InfoCard.tsx +1 -5
  670. package/src/ui-kit/InnerTable/InnerTableButton.tsx +6 -8
  671. package/src/ui-kit/Input/Input.tsx +19 -15
  672. package/src/ui-kit/Link/Link.tsx +82 -0
  673. package/src/ui-kit/LinkButton/ArrowButton.tsx +6 -37
  674. package/src/ui-kit/LinkButton/renderArrows.tsx +12 -28
  675. package/src/ui-kit/LinkButton/useFormSubmit.ts +23 -21
  676. package/src/ui-kit/PopupManager/PopupManager.tsx +1 -0
  677. package/src/ui-kit/ReportDialog/ReportDialog.tsx +24 -29
  678. package/src/ui-kit/Select/Select.tsx +3 -3
  679. package/src/ui-kit/Sitemap/Sitemap.mobile.tsx +1 -1
  680. package/src/ui-kit/SwipeListControl/SwipeListScrollButtons.tsx +3 -3
  681. package/src/ui-kit/TabsControl/ScrollableTabsControl.tsx +3 -3
  682. package/src/ui-kit/TabsControl/TabItemInner.tsx +0 -1
  683. package/src/ui-kit/TimerCircle/Timer.tsx +7 -25
  684. package/src/ui-kit/TimerCircle/TimerCircle.fixture.tsx +1 -6
  685. package/src/ui-kit/TimerCircle/TimerCircle.tsx +23 -39
  686. package/src/ui-kit/TimerCircle/useCountDownTimer.ts +38 -0
  687. package/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +13 -12
  688. package/src/utils/adjustHref.ts +9 -11
  689. package/src/utils/url.ts +14 -16
  690. package/bundle/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  691. package/bundle/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  692. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  693. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +0 -17
  694. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +0 -1
  695. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  696. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +0 -2
  697. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +0 -1
  698. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  699. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +0 -15
  700. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +0 -1
  701. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  702. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +0 -2
  703. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +0 -1
  704. package/mobile/bundle/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  705. package/mobile/bundle/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  706. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  707. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +0 -17
  708. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +0 -1
  709. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  710. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +0 -2
  711. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +0 -1
  712. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  713. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +0 -15
  714. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +0 -1
  715. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  716. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +0 -2
  717. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +0 -1
  718. package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +0 -21
  719. package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +0 -9
  720. package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +0 -21
  721. package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +0 -9
@@ -242,25 +242,20 @@
242
242
  const isURL = (href) => Boolean(href?.includes(':'));
243
243
  const isLocalURL = (href, target) => Boolean(href && !isURL(href) && (!target || target === '_self'));
244
244
  const isHash = (href) => Boolean(href?.startsWith('#'));
245
- const withoutQuery = (href) => (href || '').replace(/\?.*/, '').replace(/\/$/, '');
245
+ const withoutQuery = (href) => (href ?? '').replace(/\?.*/, '').replace(/\/$/, '');
246
246
  const joinPath = (...path) => path
247
247
  .filter(Boolean)
248
248
  .join('/')
249
249
  .replace(/\/+/g, '/')
250
- .replace(/^(.+):\//, '$1://')
250
+ .replace(/^(.+):\//, '$1://') // TODO Череда очень странных преобрвзований
251
251
  .replace(/^file:/, 'file:/')
252
252
  .replace(/\/(\?|&|#[^!])/g, '$1')
253
253
  .replace(/\?/g, '&')
254
254
  .replace('&', '?');
255
- const hasPrefix = (href, prefix) => {
256
- if (!href || !prefix) {
257
- return false;
258
- }
259
- if (href.startsWith(prefix)) {
260
- return [prefix === '/', href === prefix, href[prefix.length] === '/'].some(Boolean);
261
- }
262
- return false;
263
- };
255
+ const hasPrefix = (href) => (prefix) => Boolean(href &&
256
+ prefix &&
257
+ href.startsWith(prefix) &&
258
+ (prefix === '/' || href === prefix || href[prefix.length] === '/'));
264
259
 
265
260
  var url = /*#__PURE__*/Object.freeze({
266
261
  __proto__: null,
@@ -272,23 +267,20 @@
272
267
  hasPrefix: hasPrefix
273
268
  });
274
269
 
275
- const PREFIX_API = '/api/';
276
- const FILE_STORAGE_API = `${PREFIX_API}v1/storage`;
270
+ const API_PREFIX = '/api/';
271
+ const FILE_STORAGE_API = `${API_PREFIX}v1/storage`;
272
+ const DIRECT_HREF_PREFIXES = [projectSettings.CDN, API_PREFIX];
277
273
  const adjustHref = (router) => (href, basePath) => {
278
- if ([
279
- !href,
280
- isURL(href),
281
- isHash(href),
282
- [projectSettings.CDN, PREFIX_API].some((_) => hasPrefix(href, _)),
283
- ].some(Boolean)) {
274
+ if (isDirectHref(href)) {
284
275
  return href;
285
276
  }
286
277
  if (isUUID(href)) {
287
278
  return `${FILE_STORAGE_API}/${href}/attachment`;
288
279
  }
289
280
  const isRelativeToBase = href?.startsWith('/');
290
- return joinPath(hasPrefix(href, basePath) ? '' : basePath, isRelativeToBase ? '/' : dirname(router.pathname), href);
281
+ return joinPath(hasPrefix(href)(basePath) ? '' : basePath, isRelativeToBase ? '/' : dirname(router.pathname), href);
291
282
  };
283
+ const isDirectHref = (href) => !href || isURL(href) || isHash(href) || DIRECT_HREF_PREFIXES.some(hasPrefix(href));
292
284
 
293
285
  const isOnlyDigits = (str) => str && !/\D/.test(str);
294
286
 
@@ -377,7 +369,7 @@
377
369
  });
378
370
 
379
371
  /** @deprecated */
380
- const buttonStyleMap$1 = {
372
+ const buttonStyleMap = {
381
373
  primary: 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active',
382
374
  secondary: 'text-primary-main bg-main-divider hover:text-white hover:bg-primary-hover active:bg-primary-active',
383
375
  white: 'text-primary-main bg-white hover:text-white hover:bg-primary-hover active:bg-white active:text-primary-main',
@@ -400,7 +392,7 @@
400
392
  /** @deprecated */
401
393
  const buttonStyle$2 = 'text-center font-sans select-none';
402
394
  /** @deprecated */
403
- const iconStyleMap = {
395
+ const iconStyleMap$1 = {
404
396
  primary: 'group-hover/btn:brightness-0 group-hover/btn:invert',
405
397
  secondary: 'group-hover/btn:brightness-0 group-hover/btn:invert',
406
398
  white: 'group-hover/btn:brightness-0 group-hover/btn:invert',
@@ -414,7 +406,7 @@
414
406
  const getRegularButtonClasses = ({ className, rounded, version, }) => [
415
407
  buttonStyle$2,
416
408
  'border border-transparent inline-block cursor-pointer no-underline focus:border-primary-text focus:border h-fit',
417
- version ? buttonStyleMap$1[version] : '',
409
+ version ? buttonStyleMap[version] : '',
418
410
  rounded ? 'rounded-full' : 'rounded-md',
419
411
  className,
420
412
  ].join(' ');
@@ -495,7 +487,6 @@
495
487
  const adjustBase = (href, basePath = '') => href?.replace(basePath, '') || '/';
496
488
 
497
489
  function useLink() {
498
- const basePath = getBasePath(env.SITE_URL);
499
490
  const router = useRouter();
500
491
  const { closeAll } = useDialogManager();
501
492
  return (props) => {
@@ -504,33 +495,21 @@
504
495
  ...props,
505
496
  href,
506
497
  'aria-label': props.text,
507
- onClick: handlerDecorator(handleHref({ ...props, href })),
498
+ onClick: handlerDecorator((ev) => {
499
+ props.onClick?.(ev);
500
+ const basePath = getBasePath(env.SITE_URL);
501
+ if (isClientRouting(href, props.target, basePath)) {
502
+ closeAll();
503
+ ev?.preventDefault();
504
+ router.push(adjustBase(href, basePath));
505
+ }
506
+ }),
508
507
  };
509
508
  };
510
- function handleHref({ href, target, onClick }) {
511
- return (ev) => {
512
- onClick?.(ev);
513
- if (checkIsRemote(href, target, basePath)) {
514
- //? Native routing
515
- return;
516
- }
517
- closeAll();
518
- //? Client routing
519
- ev?.preventDefault();
520
- router.push(adjustBase(href, basePath));
521
- };
522
- }
523
509
  }
524
- const checkIsRemote = (href, target, basePath) => {
525
- if (!isLocalURL(href, target)) {
526
- return true;
527
- }
528
- const subPortals = env.SUB_PORTALS?.split(',');
529
- if (subPortals?.some((_) => hasPrefix(href, _))) {
530
- return true;
531
- }
532
- return !hasPrefix(href, basePath || '/');
533
- };
510
+ const isClientRouting = (href, target, basePath) => isLocalURL(href, target) &&
511
+ !env.SUB_PORTALS?.split(',')?.some(hasPrefix(href)) &&
512
+ hasPrefix(href)(basePath || '/');
534
513
 
535
514
  const getAspectsAttributes = (data) => {
536
515
  try {
@@ -545,7 +524,7 @@
545
524
  const ButtonInner = JSX((props) => {
546
525
  const { text, aboveText, appendLeft, appendRight, version = 'primary' } = props;
547
526
  const iconHideStyle = isWithText(props) && 'hidden lg:block';
548
- return (jsxs("div", { className: style(buttonStyle$1(props), 'flex gap-xs'), children: [appendLeft ? (jsx("div", { className: style(iconHideStyle, iconStyleMap[version]), children: appendLeft })) : null, isWithText(props) ? (jsxs("div", { className: "whitespace-pre", children: [aboveText ? jsx("div", { className: "text-xs font-light text-left", children: aboveText }) : null, jsx("div", { className: `text-left ${aboveText ? 'text-s -mt-3xs' : 'text-l'}`, children: text })] })) : null, appendRight ? (jsx("div", { className: style(iconHideStyle, iconStyleMap[version]), children: appendRight })) : null] }));
527
+ return (jsxs("div", { className: style(buttonStyle$1(props), 'flex gap-xs'), children: [appendLeft ? (jsx("div", { className: style(iconHideStyle, iconStyleMap$1[version]), children: appendLeft })) : null, isWithText(props) ? (jsxs("div", { className: "whitespace-pre", children: [aboveText ? jsx("div", { className: "text-xs font-light text-left", children: aboveText }) : null, jsx("div", { className: `text-left ${aboveText ? 'text-s -mt-3xs' : 'text-l'}`, children: text })] })) : null, appendRight ? (jsx("div", { className: style(iconHideStyle, iconStyleMap$1[version]), children: appendRight })) : null] }));
549
528
  });
550
529
  const buttonStyle$1 = (props) => {
551
530
  const { version, aboveText, rounded } = props;
@@ -568,7 +547,6 @@
568
547
  className,
569
548
  ].join(' ');
570
549
 
571
- /** @deprecated */
572
550
  const useFormSubmit = ({ method, href }) => useCallback((ev) => {
573
551
  if (method !== 'POST' || !href) {
574
552
  return;
@@ -588,7 +566,7 @@
588
566
  }
589
567
  document.body.appendChild(form);
590
568
  form.submit();
591
- }, []);
569
+ }, [method, href]);
592
570
 
593
571
  /** @deprecated */
594
572
  const LinkButton = JSX(({ disabled, children, method = 'LINK', href, ...rest }) => {
@@ -601,6 +579,7 @@
601
579
  const RegularButton = JSX(({ className = '', href, rel, target, ariaLabel, version, rounded, onClick, type, data, children, text, }) => (jsx("a", { className: getRegularButtonClasses({ className, version, rounded }), href: href, rel: rel, target: target, "aria-label": ariaLabel || `Ссылка на ${text}`, role: href ? 'link' : 'button', onClick: onClick, type: type, ...getAspectsAttributes(data), children: children })));
602
580
  const DisabledButton = JSX(({ className, ariaLabel, version, rounded, children }) => (jsx("button", { type: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: -1, className: getDisabledButtonClasses({ className, rounded, version }), children: children })));
603
581
 
582
+ // TODO Заменить LinkButton на Button и применить RoundedIcon
604
583
  function renderBackwardButton({ version, handleClick, text = 'Вернуться назад', alwaysVisible = false, }) {
605
584
  if (!text) {
606
585
  return null;
@@ -1301,10 +1280,10 @@
1301
1280
 
1302
1281
  const Input = JSX(
1303
1282
  // eslint-disable-next-line max-lines-per-function
1304
- ({ key, className = '', id, name, type = 'text', label, placeholder, value = '', valid = true, children, onChange, onFocus, onBlur, pattern, autoFocus = false, isTextarea = false, disabled = false, }) => {
1283
+ ({ key, className, id, name, type = 'text', label, placeholder, value = '', valid = true, pattern, autoFocus = false, isTextarea = false, disabled = false, children, onChange, onFocus, onBlur, }) => {
1305
1284
  const inputRef = useRef(null);
1306
1285
  const handleChange = useCallback((e) => {
1307
- const valueWithoutSpace = (e.target?.value || '').trimStart();
1286
+ const valueWithoutSpace = (e.target?.value ?? '').trimStart();
1308
1287
  onChange && onChange(valueWithoutSpace);
1309
1288
  }, [onChange]);
1310
1289
  useEffect(() => {
@@ -1314,7 +1293,8 @@
1314
1293
  }, [autoFocus, inputRef]);
1315
1294
  const paddingStyle = children ? 'pr-3xl' : '';
1316
1295
  const validStyle = getValidStyle(valid);
1317
- return (jsxs("div", { className: style('relative', className), children: [jsxs("label", { className: "space-y-xs", children: [renderLabel(label), isTextarea ? (jsx("textarea", { className: style('block resize-y min-h-24', defaultStyle$1, validStyle), id: style('textarea', id), name: name || id, placeholder: placeholder, value: value, onChange: handleChange, onFocus: onFocus, onBlur: onBlur, disabled: disabled }, key)) : (jsx("input", { type: type, className: style('h-14', defaultStyle$1, paddingStyle, validStyle), ref: inputRef, id: id, name: name || id, placeholder: placeholder, value: value, onChange: handleChange, onFocus: onFocus, onBlur: onBlur, pattern: pattern, disabled: disabled }, key))] }), children] }));
1296
+ const ariaLabel = label ?? name ?? id;
1297
+ return (jsxs("div", { className: style('relative', className), children: [jsxs("label", { className: "space-y-xs", children: [renderLabel(label), isTextarea ? (jsx("textarea", { className: style('block resize-y min-h-24', defaultStyle$1, validStyle), id: style('textarea', id), value: value, name: name || id, placeholder: placeholder, disabled: disabled, "aria-label": ariaLabel, onChange: handleChange, onFocus: onFocus, onBlur: onBlur }, key)) : (jsx("input", { ref: inputRef, className: style('h-14', defaultStyle$1, paddingStyle, validStyle), id: id, type: type, value: value, name: name || id, placeholder: placeholder, pattern: pattern, disabled: disabled, "aria-label": ariaLabel, onChange: handleChange, onFocus: onFocus, onBlur: onBlur }, key))] }), children] }));
1318
1298
  });
1319
1299
  const defaultStyle$1 = 'w-full border rounded-md text-primary-text outline-none p-m';
1320
1300
 
@@ -1582,7 +1562,7 @@
1582
1562
  return inputRef;
1583
1563
  }
1584
1564
 
1585
- const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, iconVersion = 'black', onChange, disabled = false, }) => {
1565
+ const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, disabled = false, iconVersion = 'black', onChange, }) => {
1586
1566
  const [isOpen, { setFalse: close, setTrue: open }] = useBool();
1587
1567
  const [query, setQuery] = useState('');
1588
1568
  const isDisabled = getDisabled(disabled, options.length);
@@ -1606,7 +1586,7 @@
1606
1586
  onClose: handleClose,
1607
1587
  iconVersion,
1608
1588
  });
1609
- return (jsxs("div", { className: style('space-y-xs', className), children: [renderLabel(label), jsxs("div", { className: style('relative', hasOpen ? 'z-20' : 'z-10'), ref: inputRef, children: [jsxs("div", { className: style('h-14 [&>*]:p-m pr-6 text-l flex items-center justify-between text-primary-text relative z-10 overflow-hidden', getStyle(isBorder, valid, isDisabled)), onClick: hasOpen ? handleClose : handleOpen, children: [jsx("p", { className: "line-clamp-2 text-ellipsis", children: formatOption(value) || placeholder }), renderIcon$2(hasOpen, iconVersion)] }), isSearch && hasOpen ? (jsx("div", { className: style('absolute top-0 w-full z-20'), children: jsx(Input, { type: "text", autoFocus: true, value: query, onChange: setQuery, disabled: isDisabled }) })) : null] })] }));
1589
+ return (jsxs("div", { className: style('space-y-xs', className), children: [renderLabel(label), jsxs("div", { className: style('relative', hasOpen ? 'z-20' : 'z-10'), ref: inputRef, children: [jsxs("div", { className: style('h-14 [&>*]:p-m pr-6 text-l flex items-center justify-between text-primary-text relative z-10 overflow-hidden', getStyle(isBorder, valid, isDisabled)), onClick: hasOpen ? handleClose : handleOpen, children: [jsx("p", { className: "line-clamp-2 text-ellipsis", children: formatOption(value) || placeholder }), renderIcon$2(hasOpen, iconVersion)] }), isSearch && hasOpen ? (jsx("div", { className: style('absolute top-0 w-full z-20'), children: jsx(Input, { type: "text", value: query, autoFocus: true, disabled: isDisabled, onChange: setQuery }) })) : null] })] }));
1610
1590
  });
1611
1591
  const renderIcon$2 = (isOpen, iconVersion) => (jsx(Icon, { className: style('absolute right-0 flex self-center', { 'rotate-180': !isOpen }), iconVersion: iconVersion, name: "ArrowUpIcon", width: "16", height: "16" }));
1612
1592
  const getStyle = (isBorder, valid, disabled) => style(isBorder ? 'border rounded-md ' : '', isBorder && !disabled ? 'hover:border-primary-hover' : '', disabled ? 'bg-main-divider' : 'cursor-pointer ', valid ? 'border-gray' : 'border-error');
@@ -1869,11 +1849,7 @@
1869
1849
  }, isDisabled ? 'text-gray hover:bg-transparent' : 'cursor-pointer');
1870
1850
 
1871
1851
  const WEEK_DAYS = ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'];
1872
- const Calendar = JSX(({ today, currentMonth, currentYear, min, max, onDateSelect = noop, setValue = noop }) => {
1873
- const handleDateClick = useCallback((date) => {
1874
- onDateSelect(date);
1875
- setValue(false);
1876
- }, []);
1852
+ const Calendar = JSX(({ today, currentMonth, currentYear, min, max, onDateSelect = noop }) => {
1877
1853
  const { firstDayOfWeek, totalDays } = useMemo(() => ({
1878
1854
  firstDayOfWeek: new Date(currentYear, currentMonth, 1).getDay() - 1,
1879
1855
  totalDays: new Date(currentYear, currentMonth + 1, 0).getDate(),
@@ -1886,7 +1862,7 @@
1886
1862
  currentMonth,
1887
1863
  min,
1888
1864
  max,
1889
- onDateClick: handleDateClick,
1865
+ onDateClick: onDateSelect,
1890
1866
  }) })] }));
1891
1867
  });
1892
1868
 
@@ -2081,16 +2057,20 @@
2081
2057
  const DatePicker = JSX(
2082
2058
  // eslint-disable-next-line max-lines-per-function
2083
2059
  ({ className = '', label = '', value, valid = true, minDate, maxDate, disabled, onChange }) => {
2084
- const [showCalendar, { setValue }] = useBool(false);
2060
+ const [isCalendarVisible, { setValue, setFalse: hideCalendar }] = useBool(false);
2085
2061
  const [selectedMonth, setSelectedMonth] = useState(value?.getMonth() || new Date().getMonth());
2086
- const [selectedYear, setSelectedYear] = useState(value?.getFullYear() || new Date().getFullYear());
2062
+ const [selectedYear, setSelectedYear] = useState(value?.getFullYear() ?? new Date().getFullYear());
2063
+ const handleDateSelect = useCallback((date) => {
2064
+ onChange?.(date);
2065
+ hideCalendar();
2066
+ }, [onChange]);
2087
2067
  const { handlePrevMonth, handleNextMonth, handleSelectMonth, handleSelectYear, monthsOptions, yearsOptions, handleChangeVisibleCalendar, ref, } = useDatePickerManager({
2088
2068
  onYearSelect: setSelectedYear,
2089
2069
  onMonthSelect: setSelectedMonth,
2090
2070
  onShowCalendar: setValue,
2091
2071
  selectedYear,
2092
2072
  selectedMonth,
2093
- showCalendar,
2073
+ showCalendar: isCalendarVisible,
2094
2074
  onChange,
2095
2075
  value,
2096
2076
  });
@@ -2103,9 +2083,9 @@
2103
2083
  disabled,
2104
2084
  setSelectedMonth,
2105
2085
  setSelectedYear,
2106
- }), showCalendar && !disabled ? (jsxs("div", { className: style('absolute bg-white z-20 select-none', {
2086
+ }), isCalendarVisible && !disabled ? (jsxs("div", { className: style('absolute bg-white z-20 select-none', {
2107
2087
  'bottom-full': spaceAbove,
2108
- }), children: [jsxs("div", { className: "flex gap-s", children: [jsx("div", { className: "my-auto", onClick: handlePrevMonth, children: jsx(Icon, { ...ICON_PROPS, className: "-rotate-90 cursor-pointer" }) }), jsx(Select, { onChange: handleSelectMonth, value: { key: months[selectedMonth] }, options: monthsOptions, ...SELECT_PROPS }), jsx(Select, { onChange: handleSelectYear, value: { key: String(selectedYear) }, options: yearsOptions, ...SELECT_PROPS }), jsx("div", { className: "my-auto", onClick: handleNextMonth, children: jsx(Icon, { ...ICON_PROPS, className: "rotate-90 cursor-pointer" }) })] }), jsx(Calendar, { today: value, currentMonth: selectedMonth, currentYear: selectedYear, onDateSelect: onChange, min: minDate, max: maxDate, setValue: setValue })] })) : null] })] }));
2088
+ }), children: [jsxs("div", { className: "flex gap-s", children: [jsx("div", { className: "my-auto", onClick: handlePrevMonth, children: jsx(Icon, { ...ICON_PROPS, className: "-rotate-90 cursor-pointer" }) }), jsx(Select, { onChange: handleSelectMonth, value: { key: months[selectedMonth] }, options: monthsOptions, ...SELECT_PROPS }), jsx(Select, { onChange: handleSelectYear, value: { key: String(selectedYear) }, options: yearsOptions, ...SELECT_PROPS }), jsx("div", { className: "my-auto", onClick: handleNextMonth, children: jsx(Icon, { ...ICON_PROPS, className: "rotate-90 cursor-pointer" }) })] }), jsx(Calendar, { today: value, currentMonth: selectedMonth, currentYear: selectedYear, min: minDate, max: maxDate, onDateSelect: handleDateSelect })] })) : null] })] }));
2109
2089
  });
2110
2090
 
2111
2091
  const DatePickerControl = JSX(({ className, label, error, errors, ...rest }) => (jsxs("div", { className: style('shrink-0 w-full', className), children: [jsx(DatePicker, { label: getRequiredLabel({ label, errors }), valid: Boolean(!error), ...rest }), renderErrorText(error)] })));
@@ -2142,9 +2122,9 @@
2142
2122
  onChange && onChange(!value);
2143
2123
  }, [onChange, disabled, value]);
2144
2124
  const icon = isRadio ? (jsx("div", { className: "absolute left-1 w-3 h-3 rounded-full bg-primary-main" })) : (jsx(SVG, { paths: CHECK_PATHS, className: "absolute left-1 ml-px block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" }));
2145
- return (jsx("div", { className: className, children: jsxs("label", { className: style('flex items-center relative group/box', getCursorStyle(disabled)), onClick: handleChange, children: [jsx("div", { className: style(defaultCheckStyle, 'm-0', isRadio ? 'rounded-full border-2' : checkboxStyle(value), !disabled && value ? 'border-primary-main' : 'border-gray', disabled ? 'bg-main-disabled' : 'group-hover/box:border-primary-hover'), role: role(isRadio), "aria-checked": Boolean(value), "aria-disabled": Boolean(disabled), "aria-label": text }), value ? icon : null, renderText$3(text)] }) }));
2125
+ return (jsx("div", { className: className, children: jsxs("label", { className: style('flex items-center relative group/box', getCursorStyle(disabled)), onClick: handleChange, children: [jsx("div", { className: style(defaultCheckStyle, 'm-0', isRadio ? 'rounded-full border-2' : checkboxStyle(value), !disabled && value ? 'border-primary-main' : 'border-gray', disabled ? 'bg-main-disabled' : 'group-hover/box:border-primary-hover'), role: role(isRadio), "aria-checked": Boolean(value), "aria-disabled": Boolean(disabled), "aria-label": text }), value ? icon : null, renderText$4(text)] }) }));
2146
2126
  });
2147
- const renderText$3 = (text) => text ? (jsx("div", { className: "ml-s", children: jsx(Text, { size: "text-l", font: "font-light", children: text }) })) : null;
2127
+ const renderText$4 = (text) => text ? (jsx("div", { className: "ml-s", children: jsx(Text, { size: "text-l", font: "font-light", children: text }) })) : null;
2148
2128
  const getCursorStyle = (disabled = false) => (disabled ? 'cursor-not-allowed' : 'cursor-pointer');
2149
2129
  const role = (isRadio = false) => (isRadio ? 'radio' : 'checkbox');
2150
2130
  const checkboxStyle = (value = false) => style('rounded border', { 'bg-primary-main': value });
@@ -2901,26 +2881,32 @@
2901
2881
 
2902
2882
  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;
2903
2883
 
2904
- const buttonStyleMap = {
2905
- primary: style('justify-center px-9 py-4', 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active', 'group-data-secondary:text-primary-main group-data-secondary:bg-white', 'group-data-secondary:hover:text-white group-data-secondary:hover:bg-primary-hover', 'group-data-secondary:active:bg-primary-active'),
2906
- secondary: style('justify-center px-9 py-4', 'text-primary-main bg-main-divider hover:text-white hover:bg-primary-hover active:bg-primary-active', 'group-data-secondary:text-white group-data-secondary:bg-white/20', 'group-data-secondary:hover:bg-primary-hover', 'group-data-secondary:active:bg-primary-active'),
2907
- };
2908
- const embeddedStyle = style('group/btn-embedded', 'justify-between p-0', 'bg-transparent border border-transparent outline-none');
2909
- const Button = JSX(({ className, type = 'button', version = 'primary', embedded, rounded = true, disabled, role, data, dataTheme, children, onClick, }) => {
2910
- const handleClick = useCallback(handlerDecorator((ev) => {
2911
- !disabled && onClick?.(ev);
2912
- }), [disabled, onClick]);
2884
+ const themeStyle$1 = {
2885
+ primary: style('text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active', 'group-data-secondary:text-primary-main group-data-secondary:bg-white', 'group-data-secondary:hover:text-white group-data-secondary:hover:bg-primary-hover', 'group-data-secondary:active:bg-primary-active'),
2886
+ secondary: style('text-primary-main bg-main-divider hover:text-white hover:bg-primary-hover active:bg-primary-active', 'group-data-secondary:text-white group-data-secondary:bg-white/20', 'group-data-secondary:hover:bg-primary-hover', 'group-data-secondary:active:bg-primary-active'),
2887
+ };
2888
+ const embeddedStyle = style('group/btn-embedded', 'bg-transparent border border-transparent outline-none');
2889
+ const disabledStyle = style('bg-main-gray text-main-disabled cursor-not-allowed');
2890
+ const Button = JSX(({ className, type = 'button', version = 'primary', shape = 'default', embedded, disabled, role, ariaLabel, data, dataTheme, children, onClick = noop, }) => {
2891
+ const handleClick = useCallback(role !== 'tab' ? handlerDecorator(onClick) : onClick, [
2892
+ role,
2893
+ onClick,
2894
+ ]);
2913
2895
  const aspectsAttrs = useMemo(() => getAspectsAttributes(data), [data]);
2914
- return (jsx("button", { className: style('font-sans flex items-center gap-xs relative', !disabled && !embedded && buttonStyleMap[version], {
2896
+ const isRound = shape === 'round';
2897
+ return (jsx("button", { className: style('font-sans flex items-center gap-xs', {
2898
+ [themeStyle$1[version]]: !disabled && !embedded,
2915
2899
  [embeddedStyle]: embedded,
2916
- 'rounded-md': rounded,
2917
- 'bg-main-gray text-main-disabled cursor-not-allowed': disabled,
2918
- }, className), type: type, role: role, "data-theme": dataTheme, ...aspectsAttrs, onClick: handleClick, children: children }));
2900
+ [disabledStyle]: disabled,
2901
+ }, embedded ? 'justify-between' : 'justify-center', embedded || isRound ? 'p-0' : 'px-9 py-4', {
2902
+ 'rounded-md': shape === 'default',
2903
+ 'rounded-full': isRound,
2904
+ }, className), type: type, role: role, "aria-label": ariaLabel, disabled: disabled, "aria-disabled": disabled ? 'true' : undefined, "data-theme": dataTheme, ...aspectsAttrs, onClick: handleClick, children: children }));
2919
2905
  });
2920
2906
 
2921
2907
  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" }) })));
2922
2908
 
2923
- const Dialog = JSX(({ className, head, children, onClose, onClick }) => (jsxs("div", { className: style('relative 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 })] })));
2909
+ const Dialog = JSX(({ className, head, children, onClose, onClick }) => (jsxs("div", { className: style('relative bg-white pt-0 p-lg', className), role: "dialog", title: "\u0414\u0438\u0430\u043B\u043E\u0433", 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 })] })));
2924
2910
 
2925
2911
  const ResponseTypeDialog = JSX(({ ok, typeForm, onClose }) => {
2926
2912
  const statusIcon = ok ? 'ResponseOKIcon' : 'ResponseFailIcon';
@@ -3010,7 +2996,28 @@
3010
2996
 
3011
2997
  const SubmitButton$1 = JSX(({ isLoading, disabled, children, ...rest }) => (jsxs(Button, { type: "submit", disabled: isLoading || disabled, ...rest, children: [isLoading ? jsx(Loader, { blur: true, size: "small" }) : null, children] })));
3012
2998
 
3013
- const Footnote = JSX(({ text, link }) => (jsxs(Paragraph, { size: "text-l", font: "font-light", color: "text-secondary-text", children: [text ? jsx(Text, { children: text }) : null, link ? (jsx(LinkButton, { href: link.href, ariaLabel: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445", target: link.target || '', className: "!text-left text-primary-main", children: jsx(Text, { children: link.text }) })) : null] })));
2999
+ const themeStyle = {
3000
+ primary: themeStyle$1.primary,
3001
+ secondary: themeStyle$1.secondary,
3002
+ white: 'text-primary-main bg-white hover:text-white hover:bg-primary-hover active:bg-white active:text-primary-main',
3003
+ link: 'text-primary-main',
3004
+ gray: themeStyle$1.secondary,
3005
+ transparent: '',
3006
+ '': '',
3007
+ };
3008
+ const Link = JSX((props) => {
3009
+ const link = useLink();
3010
+ const { className, href, target, text, aboveText, version = 'link', rel, ariaLabel, data, children, onClick, } = link(props);
3011
+ const buttonLike = version !== 'link';
3012
+ return (jsx("a", { className: style('group/btn inline-flex items-center h-fit', 'font-sans no-underline select-none', 'border border-transparent focus:border-primary-text focus:border', 'cursor-pointer', {
3013
+ [themeStyle[version]]: Boolean(version),
3014
+ [aboveText ? 'px-9 py-2.5' : 'px-9 py-4']: buttonLike,
3015
+ 'rounded-md': buttonLike,
3016
+ }, className), href: href, target: target, rel: rel, "aria-label": ariaLabel ?? `Ссылка на ${text}`, role: href ? 'link' : 'button', onClick: onClick, ...getAspectsAttributes(data), children: children ?? renderText$3(text, aboveText) }));
3017
+ });
3018
+ const renderText$3 = (text, aboveText) => text || aboveText ? (jsxs("div", { className: "whitespace-pre", children: [aboveText ? jsx("div", { className: "font-light text-left text-xs", children: aboveText }) : null, jsx("div", { className: style('text-left', { 'text-s -mt-3xs': Boolean(aboveText) }), children: text })] })) : null;
3019
+
3020
+ const Footnote = JSX(({ text, link }) => (jsxs(Paragraph, { size: "text-l", font: "font-light", color: "text-secondary-text", children: [text ? jsx(Text, { children: text }) : null, link ? (jsx(Link, { ...link, ariaLabel: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445", children: link.text })) : null] })));
3014
3021
 
3015
3022
  const agreementText = 'Нажимая кнопку, вы подтверждаете согласие с ';
3016
3023
  const renderAgreementSubmit = (consentDataProcessing, link, button) => (jsxs("div", { className: "flex col-span-2 gap-xs flex-col w-full items-baseline", children: [consentDataProcessing ? (jsxs("div", { children: [jsxs("div", { className: "flex gap-3 items-center", children: [jsx(Checkbox, { ...consentDataProcessing }), jsx(Footnote, { link: link })] }), renderErrorText(withValidator(consentDataProcessing, agreementValidator).error)] })) : (jsx(Footnote, { text: agreementText, link: link })), jsx(SubmitButton$1, { className: "w-full @xl:w-auto", children: button?.text ? button.text : 'Отправить заявку' })] }));
@@ -3407,14 +3414,14 @@
3407
3414
 
3408
3415
  const CardRow = JSX(({ className, children }) => (jsx("div", { className: style('flex flex-col sm:flex-row sm:border-t sm:border-solid sm:border-main-divider py-xl gap-x-6xl gap-y-xl', className), children: children })));
3409
3416
 
3410
- const ButtonTitle = JSX(({ className, children }) => (jsx("span", { className: style('inline-flex items-center text-start gap-s group-hover/btn-embedded:text-primary-main', className), children: children })));
3417
+ const ButtonTitle = JSX(({ className, children }) => (jsx("span", { className: style('inline-flex items-center text-start gap-s group-[]/btn-embedded:text-primary-main', className), children: children })));
3411
3418
 
3412
3419
  const ToggleIcon = JSX(({ isUnfolded, ...rest }) => (jsx(Icon, { name: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', size: "small", iconVersion: "", ...rest })));
3413
3420
 
3414
- const DefaultFoldButton = JSX(({ className, isUnfolded, label = isUnfolded ? 'Скрыть' : 'Развернуть', embedded, ...rest }) => (jsxs(Button, { className: style({ 'text-h4': !embedded }, className), rounded: false, embedded: embedded, ...rest, children: [jsx(ButtonTitle, { children: label }), jsx(ToggleIcon, { isUnfolded: isUnfolded, iconVersion: embedded ? 'color' : '' })] })));
3421
+ const DefaultFoldButton = JSX(({ className, isUnfolded, short, label = isUnfolded ? 'Скрыть' : 'Развернуть', embedded, ...rest }) => (jsxs(Button, { className: style({ 'w-full': !short }, className), embedded: embedded, shape: short ? 'default' : 'square', role: "tab", "aria-label": "\u041A\u043D\u043E\u043F\u043A\u0430 \u0441\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u044E\u0449\u0435\u0439\u0441\u044F \u0441\u0435\u043A\u0446\u0438\u0438", ...rest, children: [jsx(ButtonTitle, { children: label }), jsx(ToggleIcon, { isUnfolded: isUnfolded, iconVersion: embedded ? 'color' : '' })] })));
3415
3422
 
3416
3423
  // TODO Не особо полезно, в итоге
3417
- const Foldable = JSX(({ className, role = 'group', children }) => (jsx("div", { className: style(className), role: role, children: children })));
3424
+ const Foldable = JSX(({ className, role = 'tablist', children }) => (jsx("div", { className: style(className), role: role, children: children })));
3418
3425
 
3419
3426
  function useResizeObserver(callback, deps) {
3420
3427
  const ref = useRef(null);
@@ -3434,7 +3441,7 @@
3434
3441
  return ref;
3435
3442
  }
3436
3443
 
3437
- const FoldableSection = JSX(({ className = '', isUnfolded, children }) => {
3444
+ const FoldableSection = JSX(({ className, isUnfolded, children }) => {
3438
3445
  const containerRef = useRef(null);
3439
3446
  const childrenWrapperRef = useResizeObserver((childrenWrapperEl) => {
3440
3447
  if (containerRef.current) {
@@ -3443,12 +3450,14 @@
3443
3450
  : '';
3444
3451
  }
3445
3452
  }, [isUnfolded]);
3446
- return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden ${containerRef.current || !isUnfolded ? 'max-h-0' : ''} `, children: jsx("div", { className: className, ref: childrenWrapperRef, children: children }) }));
3453
+ return (jsx("div", { ref: containerRef, className: style('transition-max-h duration-300 overflow-hidden', {
3454
+ 'max-h-0': Boolean(containerRef.current || !isUnfolded),
3455
+ }), role: "tabpanel", "aria-label": "\u0421\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u044E\u0449\u0430\u044F\u0441\u044F \u0441\u0435\u043A\u0446\u0438\u044F", children: jsx("div", { className: className, ref: childrenWrapperRef, children: children }) }));
3447
3456
  });
3448
3457
 
3449
3458
  const FoldableCardContent = JSX(({ children }) => {
3450
3459
  const [isUnfolded, { toggle }] = useBool(false);
3451
- return (jsxs("div", { children: [jsx("div", { className: "hidden sm:block", children: children }), jsxs(Foldable, { className: "block sm:hidden", children: [jsx(FoldableSection, { isUnfolded: isUnfolded, children: children }), jsx(DefaultFoldButton, { className: "w-full my-m mr-m border-b border-solid border-main-divider", label: isUnfolded ? 'Скрыть' : 'Подробнее', isUnfolded: isUnfolded, embedded: true, onClick: toggle })] })] }));
3460
+ return (jsxs("div", { children: [jsx("div", { className: "hidden sm:block", children: children }), jsxs(Foldable, { className: "block sm:hidden", children: [jsx(FoldableSection, { isUnfolded: isUnfolded, children: children }), jsx(DefaultFoldButton, { className: "my-m mr-m border-b border-solid border-main-divider", label: isUnfolded ? 'Скрыть' : 'Подробнее', isUnfolded: isUnfolded, embedded: true, onClick: toggle })] })] }));
3452
3461
  });
3453
3462
 
3454
3463
  const getScheduleDescription = (workScheduleWeek) => {
@@ -3782,7 +3791,7 @@
3782
3791
  return [storedValue, setValue];
3783
3792
  }
3784
3793
 
3785
- const InfoCard = JSX(({ __html, icon = 'InfoCircleIcon', iconVersion = 'black', link }) => (jsxs("div", { className: "flex flex-row items-center w-full min-h-14 bg-main-gray rounded-lg gap-m p-m", children: [jsx("div", { className: "rounded-full bg-white p-xs", children: jsx(Icon, { name: icon, width: "24", height: "24", iconVersion: iconVersion }) }), jsxs("div", { className: "", children: [jsx(RichText, { __html: __html }), link?.text ? jsx(LinkButton, { className: "text-primary-main", children: link.text }) : null] })] })));
3794
+ const InfoCard = JSX(({ __html, icon = 'InfoCircleIcon', iconVersion = 'black' }) => (jsxs("div", { className: "flex flex-row items-center w-full min-h-14 bg-main-gray rounded-lg gap-m p-m", children: [jsx("div", { className: "rounded-full bg-white p-xs", children: jsx(Icon, { name: icon, width: "24", height: "24", iconVersion: iconVersion }) }), jsx("div", { className: "", children: jsx(RichText, { __html: __html }) })] })));
3786
3795
 
3787
3796
  const CardCategoryField = JSX(({ field, input }) => {
3788
3797
  const [cardTypes, setCardTypes] = useState([]);
@@ -3867,10 +3876,9 @@
3867
3876
  }, [open, docId, isMobileMode]);
3868
3877
  };
3869
3878
 
3870
- const OPEN_DOC_BUTTON_TEXT = 'Ознакомиться';
3871
3879
  const CheckboxWithDoc = JSX(({ className, error, docId, ...props }) => {
3872
3880
  const openDocument = useDocumentDialog(docId, () => props.onChange?.(true));
3873
- 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)] }));
3881
+ return (jsxs("div", { className: className, children: [jsxs("div", { className: "flex flex-wrap gap-x-m", children: [jsx(Checkbox, { ...props }), docId ? (jsx(Button, { embedded: true, onClick: openDocument, children: jsx(ButtonTitle, { children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" }) })) : null] }), renderErrorText(error)] }));
3874
3882
  });
3875
3883
 
3876
3884
  const ConsentField = JSX(({ field, input }) => input && input.name ? (jsx(CheckboxWithDoc, { text: CONSENTS[input.name]?.text, docId: CONSENTS[input.name]?.docId, ...field(input.name) })) : null);
@@ -4534,7 +4542,7 @@
4534
4542
  ?.filter((_) => _.required)
4535
4543
  ?.some((_) => Boolean(withValidator(field(_?.name), validatorObj[_?.name]).error)), [inputs]);
4536
4544
  const [isUnfolded, { toggle }] = useBool(true);
4537
- return (jsx("div", { className: "w-fit", children: jsxs(Foldable, { children: [jsxs("div", { className: "flex items-start", children: [jsxs("div", { children: [jsx(Checkbox, { text: CONSENT_ALL_DOCS_TEXT, value: isChecked, onChange: handleGeneralToggle }, key), renderErrorText(hasValidationErrors ? CONSENT_REQUIRED : '')] }), jsx(Button, { embedded: true, onClick: toggle, children: jsx(ToggleIcon, { className: "p-2xs", iconVersion: "color", isUnfolded: isUnfolded }) })] }), jsx(FoldableSection, { className: "flex flex-col pl-2xl", isUnfolded: isUnfolded, children: inputs.map(getField(field, {}, InputsConsentsMap)) })] }) }));
4545
+ return (jsx("div", { className: "w-fit", children: jsxs(Foldable, { children: [jsxs("div", { className: "flex items-start", children: [jsxs("div", { children: [jsx(Checkbox, { text: CONSENT_ALL_DOCS_TEXT, value: isChecked, onChange: handleGeneralToggle }, key), renderErrorText(hasValidationErrors ? CONSENT_REQUIRED : '')] }), jsx(Button, { embedded: true, ariaLabel: CONSENT_ALL_DOCS_TEXT, onClick: toggle, children: jsx(ToggleIcon, { className: "p-2xs", iconVersion: "color", isUnfolded: isUnfolded }) })] }), jsx(FoldableSection, { className: "flex flex-col pl-2xl", isUnfolded: isUnfolded, children: inputs.map(getField(field, {}, InputsConsentsMap)) })] }) }));
4538
4546
  });
4539
4547
 
4540
4548
  const renderInputs$2 = ({ field, inputs }) => {
@@ -4656,26 +4664,49 @@
4656
4664
  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(Button, { className: "w-8", embedded: true, onClick: handleCreateCaptcha, 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, { version: "secondary", onClick: close, children: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F" }), jsx(SubmitButton$1, { version: "secondary", disabled: !code, onClick: handleCheckCaptcha, children: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C" })] }), isLoading ? jsx(Loader, { blur: false }) : null] }) }));
4657
4665
  });
4658
4666
 
4659
- const Timer = JSX(({ time, setTime, className }) => {
4667
+ const Timer = JSX(({ className, seconds }) => (jsx("span", { className: className, children: formatTimer(seconds) })));
4668
+ const formatTimer = (seconds) => {
4669
+ const minutes = Math.floor(seconds / 60);
4670
+ return [minutes, seconds % 60].map((_) => String(_).padStart(2, '0')).join(':');
4671
+ };
4672
+
4673
+ const useInterval = (handler, period) => {
4674
+ const timer = useRef(null);
4675
+ const stop = useCallback(() => clearInterval(timer.current), []);
4676
+ const start = useCallback(() => {
4677
+ stop();
4678
+ timer.current = setInterval(() => handler(stop), period);
4679
+ }, [handler, period, stop]);
4660
4680
  useEffect(() => {
4661
- const timer = setInterval(() => {
4662
- setTime(time - 1);
4663
- }, 1000);
4664
- if (time === 0) {
4665
- clearInterval(timer);
4666
- }
4667
- return () => {
4668
- clearInterval(timer);
4669
- };
4670
- }, [time]);
4671
- return jsx("span", { className: className, children: secondsToMinSecPadded(time) });
4672
- });
4673
- const secondsToMinSecPadded = (time) => {
4674
- const minutes = `${Math.floor(time / 60)}`.padStart(2, '0');
4675
- const seconds = `${time % 60}`.padStart(2, '0');
4676
- return `${minutes}:${seconds}`;
4681
+ start();
4682
+ return stop;
4683
+ }, [start, stop]);
4684
+ return { start, stop };
4677
4685
  };
4678
4686
 
4687
+ function useCountDownTimer({ seconds, period = 1000, onTick, onEnd }) {
4688
+ const counter = useRef(seconds);
4689
+ const handleTick = useCallback((stop) => {
4690
+ counter.current ||= 0;
4691
+ counter.current = Math.max(0, counter.current - 1);
4692
+ try {
4693
+ onTick?.(counter.current);
4694
+ }
4695
+ finally {
4696
+ if (counter.current <= 0) {
4697
+ stop();
4698
+ onEnd?.();
4699
+ }
4700
+ }
4701
+ }, [onTick, onEnd]);
4702
+ const { start } = useInterval(handleTick, period);
4703
+ const restart = useCallback((_) => {
4704
+ counter.current = _;
4705
+ start();
4706
+ }, []);
4707
+ return restart;
4708
+ }
4709
+
4679
4710
  const InputCode = JSX(({ values, setValues, hasError, errorText }) => {
4680
4711
  const [activeIndex, setActiveIndex] = useState(0);
4681
4712
  const inputRefs = useRef([]);
@@ -4778,6 +4809,7 @@
4778
4809
  const { handleSubmit, hasError, errorText, isLoading, timeNextReq, isSubmitButtonDisabled, setTimeNextReq, setIsTimerStarted, setAttempts, } = useVerifyPhoneDialogSubmit({ values, onSuccess });
4779
4810
  const captchaDialog = useDialog(CaptchaDialog);
4780
4811
  const phoneNumber = formatPhone(phone);
4812
+ const restartTimer = useCountDownTimer({ seconds: timeNextReq, onTick: setTimeNextReq });
4781
4813
  const handleSendCode = useCallback(async () => {
4782
4814
  const isSuccessSendCode = await sendCode({
4783
4815
  phoneNumber,
@@ -4786,19 +4818,20 @@
4786
4818
  if (isSuccessSendCode) {
4787
4819
  setAttempts(0);
4788
4820
  setTimeNextReq(180);
4821
+ restartTimer(180);
4789
4822
  setIsTimerStarted(true);
4790
4823
  }
4791
4824
  else {
4792
4825
  captchaDialog.open({ phoneNumber, sendCode: handleSendCode });
4793
4826
  }
4794
- }, [phoneNumber, onClose]);
4827
+ }, [phoneNumber, restartTimer, onClose]);
4795
4828
  useEffect(() => {
4796
4829
  handleSendCode();
4797
4830
  }, []);
4798
- return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-xl p-m", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-xl items-center rounded-md", children: [jsx(Headline, { className: "w-full", title: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430", description: `Мы отправили код на ${phone}`, headlineVersion: "XS", isEmbedded: true, as: "h6" }), code ? (jsx(InputCode, { values: values, setValues: setValues, errorText: errorText, hasError: hasError })) : null, renderText$2(timeNextReq, setTimeNextReq, handleSendCode), withDescription ? (jsxs(RichText, { itemSize: "list-s", children: [jsx("span", { children: "\u0412\u0432\u043E\u0434\u044F \u043A\u043E\u0434, \u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E, \u0447\u0442\u043E \u043E\u0437\u043D\u0430\u043A\u043E\u043C\u043B\u0435\u043D \u0438 \u043F\u043E\u0434\u043F\u0438\u0441\u044B\u0432\u0430\u044E: " }), jsx("ul", { children: consents?.map((_, i) => (jsx("li", { children: _ }, `${_}-${i}`))) })] })) : null, renderNextButton(isSubmitButtonDisabled, handleSubmit), isLoading ? jsx(Loader, { blur: false }) : null] }) }));
4831
+ return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-xl p-m", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-xl items-center rounded-md", children: [jsx(Headline, { className: "w-full", title: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430", description: `Мы отправили код на ${phone}`, headlineVersion: "XS", isEmbedded: true, as: "h6" }), code ? (jsx(InputCode, { values: values, setValues: setValues, errorText: errorText, hasError: hasError })) : null, renderText$2(timeNextReq, handleSendCode), withDescription ? (jsxs(RichText, { itemSize: "list-s", children: [jsx("span", { children: "\u0412\u0432\u043E\u0434\u044F \u043A\u043E\u0434, \u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E, \u0447\u0442\u043E \u043E\u0437\u043D\u0430\u043A\u043E\u043C\u043B\u0435\u043D \u0438 \u043F\u043E\u0434\u043F\u0438\u0441\u044B\u0432\u0430\u044E: " }), jsx("ul", { children: consents?.map((_, i) => (jsx("li", { children: _ }, `${_}-${i}`))) })] })) : null, renderNextButton(isSubmitButtonDisabled, handleSubmit), isLoading ? jsx(Loader, { blur: false }) : null] }) }));
4799
4832
  });
4800
4833
  const renderNextButton = (isDisabled, onClick) => (jsx(SubmitButton, { text: "\u0414\u0430\u043B\u0435\u0435", isDisabled: isDisabled, onClick: onClick }));
4801
- const renderText$2 = (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" }));
4834
+ const renderText$2 = (timeNextReq, 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: "ml-1", seconds: timeNextReq })] })) : (jsx(Button, { embedded: true, onClick: handleSendCode, children: jsx(ButtonTitle, { children: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434" }) }));
4802
4835
 
4803
4836
  const defaultConsentText = {
4804
4837
  title: 'Подпишите согласие на запрос в БКИ',
@@ -5498,7 +5531,7 @@
5498
5531
  ? [blocksToRender.slice(0, topItemsCount), blocksToRender.slice(topItemsCount)]
5499
5532
  : [blocksToRender, []];
5500
5533
  const [isUnfolded, { toggle }] = useBool(false);
5501
- return (jsxs("div", { className: style('space-y-2xs', { hidden: !blocksToRender.length }), children: [jsxs("div", { className: style(resultsGridStyle), children: [renderBlocksList(visibleBlocks, { ...rest.options, parent: block }), isOdd(visibleBlocks.length) ? jsx(AdTile, { className: "col-span-6", ...rest }) : null] }), jsxs(Foldable, { children: [jsxs(FoldableSection, { className: style(resultsGridStyle), isUnfolded: isUnfolded, children: [renderBlocksList(hiddenBlocks, { ...rest.options, parent: block }), isOdd(hiddenBlocks.length) ? jsx(AdTile, { className: "col-span-6", ...rest }) : null] }), jsx(DefaultFoldButton, { className: style('w-full', { hidden: topItemsCount < 1 }), label: label, isUnfolded: isUnfolded, disabled: !hiddenBlocks?.length, dataTheme: rest.options?.page?.colorPalette, onClick: toggle })] })] }));
5534
+ return (jsxs("div", { className: style('space-y-2xs', { hidden: !blocksToRender.length }), children: [jsxs("div", { className: style(resultsGridStyle), children: [renderBlocksList(visibleBlocks, { ...rest.options, parent: block }), isOdd(visibleBlocks.length) ? jsx(AdTile, { className: "col-span-6", ...rest }) : null] }), jsxs(Foldable, { children: [jsxs(FoldableSection, { className: style(resultsGridStyle), isUnfolded: isUnfolded, children: [renderBlocksList(hiddenBlocks, { ...rest.options, parent: block }), isOdd(hiddenBlocks.length) ? jsx(AdTile, { className: "col-span-6", ...rest }) : null] }), jsx(DefaultFoldButton, { className: style('text-h4', { hidden: topItemsCount < 1 }), label: label, isUnfolded: isUnfolded, disabled: !hiddenBlocks?.length, dataTheme: rest.options?.page?.colorPalette, onClick: toggle })] })] }));
5502
5535
  });
5503
5536
 
5504
5537
  const getBorderStyle = (showBorder = false) => showBorder
@@ -5720,20 +5753,18 @@
5720
5753
  behavior: isAuto ? 'auto' : 'smooth',
5721
5754
  });
5722
5755
 
5756
+ const IconButton = JSX(({ className, name, ...props }) => (jsx(Button, { className: style('w-12 h-12 min-w-12 min-h-12', className), shape: "round", ...props, children: jsx(Icon, { name: name, iconVersion: "", size: "small" }) })));
5757
+
5723
5758
  /** @deprecated */
5724
- const ArrowButton = JSX(({ className, disabled, ...rest }) => (jsx(LinkButton, { rounded: true, className: style('group/btn w-12 h-12 min-h-12 max-h-12 flex items-center justify-center shadow-main-black', disabled
5725
- ? 'bg-secondary-light text-secondary-text'
5726
- : 'bg-white text-primary-text hover:text-primary-main', className), disabled: disabled, ...rest, children: jsx(Img, { className: "w-4 h-4 min-w-4 min-h-4 rounded-full box-border", image: { icon: 'ArrowLeftIcon', iconVersion: 'black' }, imageClassName: "group-hover/btn:text-primary-main", width: "16", height: "16" }) })));
5727
- /** @deprecated */
5728
- const ScrollLeftButton = JSX((props) => (jsx(ArrowButton, { ...props, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E", "data-block-control": "scroll-left" })));
5759
+ const ArrowLeftButton = JSX((props) => (jsx(IconButton, { name: "ArrowLeftIcon", version: "secondary", ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E", ...props })));
5729
5760
  /** @deprecated */
5730
- const ScrollRightButton = JSX((props) => (jsx(ArrowButton, { ...props, className: `${props.className || ''} rotate-180`, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", "data-block-control": "scroll-right" })));
5761
+ const ArrowRightButton = JSX((props) => (jsx(IconButton, { name: "ArrowRightIcon", version: "secondary", ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", ...props })));
5731
5762
 
5732
5763
  const blurBaseStyle = 'absolute top-0 bottom-0 z-40 hidden @lg:block w-20 pointer-events-none';
5733
5764
  const SwipeListScrollButtons = JSX(({ className, scroll, hasBlur, arrowsPadded, isBottom }) => {
5734
5765
  const { canScrollLeft, canScrollRight, scrollLeft, scrollRight } = scroll;
5735
5766
  const isArrowPadded = arrowsPadded && !isBottom;
5736
- return (jsxs("div", { className: className, children: [hasBlur ? renderBlur(scroll) : null, canScrollLeft ? (jsx(ScrollLeftButton, { className: style(buttonStyle(isBottom), isArrowPadded ? 'left-1' : 'left-0'), onClick: scrollLeft })) : null, canScrollRight ? (jsx(ScrollRightButton, { className: style(buttonStyle(isBottom), isArrowPadded ? 'right-1' : 'right-0'), onClick: scrollRight })) : null] }));
5767
+ return (jsxs("div", { className: className, children: [hasBlur ? renderBlur(scroll) : null, canScrollLeft ? (jsx(ArrowLeftButton, { className: style(buttonStyle(isBottom), isArrowPadded ? 'left-1' : 'left-0'), onClick: scrollLeft })) : null, canScrollRight ? (jsx(ArrowRightButton, { className: style(buttonStyle(isBottom), isArrowPadded ? 'right-1' : 'right-0'), onClick: scrollRight })) : null] }));
5737
5768
  });
5738
5769
  const renderBlur = (scroll) => (jsxs("div", { children: [scroll.canScrollLeft ? (jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white group-data-secondary:bg-none') })) : null, scroll.canScrollRight ? (jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white group-data-secondary:bg-none') })) : null] }));
5739
5770
  const buttonStyle = (isBottom = false) => style('absolute z-40', isBottom ? 'bottom-[56px]' : 'top-[calc(50%-24px)]');
@@ -5888,18 +5919,16 @@
5888
5919
 
5889
5920
  const getAlignStyles = (isMobile = false) => (isMobile ? 'text-left' : 'text-center');
5890
5921
 
5891
- const iconBgStyles = {
5922
+ const DEFAULT_ICON_SIZE = 44;
5923
+ const iconStyleMap = {
5892
5924
  '': 'bg-main-divider group-data-secondary:bg-white/30',
5893
5925
  primary: 'bg-main-divider',
5894
5926
  secondary: 'bg-secondary-light',
5895
5927
  opacity: 'bg-white/30',
5896
5928
  };
5897
- const RoundedIcon = JSX(({ className, defaultIconSize = 44, iconBgVersion = 'primary', size, icon, ...rest }) => {
5898
- const widthAndHeight = String(size?.width || defaultIconSize);
5899
- return icon ? (jsx("div", { style: {
5900
- width: `${widthAndHeight}px`,
5901
- height: `${widthAndHeight}px`,
5902
- }, className: style('rounded-icon object-fit flex justify-center items-center', iconBgStyles[iconBgVersion], className), children: jsx(Icon, { ...rest, width: "54%", name: icon }) })) : null;
5929
+ const RoundedIcon = JSX(({ className, iconBgVersion = 'primary', size, icon, ...rest }) => {
5930
+ const width = `${size?.width ?? DEFAULT_ICON_SIZE}px`;
5931
+ return icon ? (jsx("div", { className: style('rounded-icon object-fit flex justify-center items-center', iconStyleMap[iconBgVersion], className), style: { width, height: width }, role: "figure", children: jsx(Icon, { name: icon, width: "54%", ...rest }) })) : null;
5903
5932
  });
5904
5933
 
5905
5934
  const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => {
@@ -6871,7 +6900,7 @@
6871
6900
  parent: options?.parent,
6872
6901
  });
6873
6902
  }, [isVisible, options?.parent]);
6874
- return (jsxs(BlockWrapper, { className: style('flex flex-col', className), defaultPadding: "p-2xl", ...rest, children: [jsx(Img, { className: "self-center", image: icon }), title ? (jsx(Heading, { className: style('pt-xs', align), headingType: "h5", title: title })) : null, button?.text ? jsx(LinkButton, { className: "w-full mt-m mb-lg", ...button }) : null, hiddenCells.length ? (jsxs(Foldable, { children: [jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isVisible, children: hiddenCells })] }), cardCells.length >= visibleCellsCount ? (jsx(DefaultFoldButton, { className: "w-full mt-m", label: isVisible ? 'Скрыть' : 'Подробнее о тарифе', isUnfolded: isVisible, embedded: true, data: data, onClick: handleFold })) : null] })) : (jsx("div", { children: visibleCells }))] }));
6903
+ return (jsxs(BlockWrapper, { className: style('flex flex-col', className), defaultPadding: "p-2xl", ...rest, children: [jsx(Img, { className: "self-center", image: icon }), title ? (jsx(Heading, { className: style('pt-xs', align), headingType: "h5", title: title })) : null, button?.text ? jsx(LinkButton, { className: "w-full mt-m mb-lg", ...button }) : null, hiddenCells.length ? (jsxs(Foldable, { children: [jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isVisible, children: hiddenCells })] }), cardCells.length >= visibleCellsCount ? (jsx(DefaultFoldButton, { className: "mt-m", label: isVisible ? 'Скрыть' : 'Подробнее о тарифе', isUnfolded: isVisible, embedded: true, data: data, onClick: handleFold })) : null] })) : (jsx("div", { children: visibleCells }))] }));
6875
6904
  });
6876
6905
 
6877
6906
  const PORTAL_NATURAL_URL = '/';
@@ -6931,35 +6960,16 @@
6931
6960
 
6932
6961
  const sendSignalToProcess = (body) => doRequest('/user-data/sendSignalToProcess', 'POST', body);
6933
6962
 
6934
- const useInterval = (handler, period) => {
6935
- const timer = useRef(null);
6936
- const clearTimer = useCallback(() => timer.current && clearInterval(timer.current), []);
6937
- useEffect(() => {
6938
- timer.current = setInterval(() => handler(clearTimer), period);
6939
- return clearTimer;
6940
- }, [handler, period]);
6941
- return clearTimer;
6942
- };
6943
-
6944
- const TimerCircle = JSX(({ interval = 0, intervalExpireAction = () => null, title, __html }) => {
6963
+ const TimerCircle = JSX(({ title, interval = 0, onEnd = noop }) => {
6945
6964
  const [time, setTime] = useState(interval);
6946
- const setTimeWithHandleExpire = (value) => {
6947
- if (value === 0) {
6948
- intervalExpireAction();
6949
- }
6950
- setTime(value);
6951
- };
6965
+ useCountDownTimer({ seconds: interval, onTick: setTime, onEnd });
6952
6966
  const gradientPercentage = 100 - ((interval - time) / interval) * 100;
6953
- return (jsxs("div", { children: [title ? jsx(Headline, { title: title, headlineVersion: "S" }) : null, jsxs("div", { className: "flex justify-center items-center flex-col", children: [jsxs("div", { className: style(`relative flex items-center justify-center w-24 h-24 rounded-full bg-gray text-transparent mb-5`), children: [jsx("div", { className: "absolute inset-0 rounded-full", style: {
6954
- background: `conic-gradient(rgb(66, 171, 68) ${gradientPercentage}%, rgb(125, 126, 127) 0deg)`,
6955
- } }), jsx("div", { className: "z-10 flex items-center justify-center px-4 py-2 rounded-full w-20 h-20 bg-white text-primary-text text-m", children: jsx(Timer, { interval: interval, time: time, setTime: setTimeWithHandleExpire }) })] }), __html ? jsx(RichText, { __html: __html }) : null] })] }));
6967
+ return (jsxs("div", { children: [title ? jsx(Headline, { title: title, headlineVersion: "S" }) : null, jsxs("div", { className: "relative flex items-center justify-center w-24 h-24 rounded-full bg-gray text-transparent mb-5", children: [jsx("div", { className: "absolute inset-0 rounded-full", style: {
6968
+ background: `conic-gradient(rgb(66, 171, 68) ${gradientPercentage}%, rgb(125, 126, 127) 0deg)`,
6969
+ } }), jsx("div", { className: "z-10 flex items-center justify-center w-20 h-20 rounded-full bg-white text-primary-text text-m", children: jsx(Timer, { seconds: time }) })] })] }));
6956
6970
  });
6957
6971
 
6958
- const CreditCardFormStatus = JSX(({ title, description: dsc, infoCard, sectionInfoTitle, sectionInfo, sectionAdditionalTitle, sectionInfoAdditional, buttonText, interval, intervalExpireAction = () => {
6959
- return;
6960
- }, ...props }) => (jsxs(BlockWrapper, { ...props, children: [jsxs("div", { className: "flex flex-col md:flex-row items-center", children: [jsx(Headline, { headlineVersion: "M", title: title, description: dsc, align: "text-left", padding: "p-xl", className: "w-full" }), interval ? (jsx(TimerCircle, { interval: interval, intervalExpireAction: intervalExpireAction })) : null] }), jsx(SectionInfo$1, { title: sectionInfoTitle, items: sectionInfo }), jsx(SectionInfo$1, { title: sectionAdditionalTitle, items: sectionInfoAdditional, countColumns: true }), infoCard?.__html ? (jsx(InfoCard, { __html: infoCard?.__html, icon: infoCard?.icon, link: {
6961
- text: infoCard?.link?.text,
6962
- } })) : null, buttonText ? (jsx(LinkButton, { href: "/natural", text: buttonText, version: "primary", className: "w-full mt-lg" })) : null] })));
6972
+ const CreditCardFormStatus = JSX(({ title, description: dsc, sectionInfoTitle, sectionInfo, sectionAdditionalTitle, sectionInfoAdditional, buttonText, interval, onExpire = noop, ...props }) => (jsxs(BlockWrapper, { ...props, children: [jsxs("div", { className: "flex flex-col md:flex-row items-center", children: [jsx(Headline, { headlineVersion: "M", title: title, description: dsc, align: "text-left", padding: "p-xl", className: "w-full" }), interval ? jsx(TimerCircle, { interval: interval, onEnd: onExpire }) : null] }), jsx(SectionInfo$1, { title: sectionInfoTitle, items: sectionInfo }), jsx(SectionInfo$1, { title: sectionAdditionalTitle, items: sectionInfoAdditional, countColumns: true }), buttonText ? (jsx(Link, { href: "/natural", text: buttonText, version: "primary", className: "w-full mt-lg" })) : null] })));
6963
6973
  const SectionInfo$1 = ({ title, items, countColumns = false, }) => {
6964
6974
  const isMobile = useMobileMode();
6965
6975
  if (!items) {
@@ -6971,9 +6981,9 @@
6971
6981
 
6972
6982
  const FailedStatusContent$1 = JSX(() => (jsx(CreditCardFormStatus, { title: "\u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u0438\u043C \u0412\u0430\u0441 \u0437\u0430 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435", description: "\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0411\u0430\u043D\u043A \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043E\u0434\u043E\u0431\u0440\u0438\u0442\u044C \u0412\u0430\u0448\u0443 \u0437\u0430\u044F\u0432\u043A\u0443 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043F\u043E\u0437\u0436\u0435. \u0421\u043F\u0430\u0441\u0438\u0431\u043E \u0437\u0430 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0432 \u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB.", buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
6973
6983
 
6974
- const PendingStatusContent$1 = JSX(({ handleExpireTimer }) => {
6984
+ const PendingStatusContent$1 = JSX(({ onExpire }) => {
6975
6985
  const { statusInfo } = useRetailFormStore();
6976
- return (jsx(CreditCardFormStatus, { interval: 300, intervalExpireAction: handleExpireTimer, title: "\u0417\u0430\u044F\u0432\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430", description: "\u041D\u0435 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435 \u043E\u043A\u043D\u043E, \u0441\u043A\u043E\u0440\u043E \u0441\u043E\u043E\u0431\u0449\u0438\u043C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442", sectionInfoTitle: "\u0417\u0430\u044F\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u043E \u043A\u0440\u0435\u0434\u0438\u0442\u0443", sectionInfo: [
6986
+ return (jsx(CreditCardFormStatus, { interval: 300, title: "\u0417\u0430\u044F\u0432\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430", description: "\u041D\u0435 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435 \u043E\u043A\u043D\u043E, \u0441\u043A\u043E\u0440\u043E \u0441\u043E\u043E\u0431\u0449\u0438\u043C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442", sectionInfoTitle: "\u0417\u0430\u044F\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u043E \u043A\u0440\u0435\u0434\u0438\u0442\u0443", sectionInfo: [
6977
6987
  {
6978
6988
  label: 'Название продукта',
6979
6989
  description: 'Кредитная карта',
@@ -6982,7 +6992,7 @@
6982
6992
  label: 'Категория',
6983
6993
  description: statusInfo?.cardCategory,
6984
6994
  },
6985
- ] }));
6995
+ ], onExpire: onExpire }));
6986
6996
  });
6987
6997
 
6988
6998
  const ReworkStatusContent$1 = JSX(() => {
@@ -7058,20 +7068,20 @@
7058
7068
  }
7059
7069
  })();
7060
7070
  }, [taskId]);
7061
- const trackStatus = useCallback(async (stopInterval) => {
7071
+ const trackStatus = useCallback(async (stop) => {
7062
7072
  const res = await getTaskStatus({ taskId });
7063
7073
  if (res && res?.statusCd !== STATUS_TYPE.process) {
7064
- stopInterval();
7074
+ stop();
7065
7075
  setStatus(res.statusCd);
7066
7076
  }
7067
7077
  }, [taskId]);
7068
- useInterval(trackStatus, 30000);
7069
- const handleExpire = () => setStatus(STATUS_TYPE.rework);
7078
+ useInterval(trackStatus, 30_000);
7079
+ const handleExpire = useCallback(() => setStatus(STATUS_TYPE.rework), []);
7070
7080
  return renderStatus$1(status, handleExpire);
7071
7081
  });
7072
7082
  const renderStatus$1 = (status, handleExpire) => {
7073
7083
  const statusesMap = {
7074
- IN_PROCESS: jsx(PendingStatusContent$1, { handleExpireTimer: handleExpire }),
7084
+ IN_PROCESS: jsx(PendingStatusContent$1, { onExpire: handleExpire }),
7075
7085
  CANCELLED: jsx(FailedStatusContent$1, {}),
7076
7086
  FAILED: jsx(FailedStatusContent$1, {}),
7077
7087
  DRAFT: jsx(FailedStatusContent$1, {}),
@@ -7121,7 +7131,7 @@
7121
7131
  const StepsNavigationButtons$1 = JSX(({ step, isSending, onPrevStep }) => {
7122
7132
  const isFirstStep = step === 0;
7123
7133
  const isFinalStep = step === 5;
7124
- return (jsxs("div", { className: "flex justify-between gap-m", children: [jsx(Button, { onClick: onPrevStep, type: "button", version: "secondary", disabled: isFirstStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(SubmitButton$1, { isLoading: isSending, children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
7134
+ return (jsxs("div", { className: "flex justify-between gap-m", children: [jsx(Button, { version: "secondary", disabled: isFirstStep, onClick: onPrevStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(SubmitButton$1, { isLoading: isSending, children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
7125
7135
  });
7126
7136
 
7127
7137
  const getAdditionalInfoData = (formData) => {
@@ -7861,12 +7871,8 @@
7861
7871
  return (jsx("div", { className: "py-lg px-5xl bg-white col-span-12", children: jsxs("div", { children: [jsxs("span", { className: "font-bold mr-s", children: ["\u0428\u0430\u0433 ", step, " \u0438\u0437 ", totalSteps, "."] }), stepsTitles[step] || null, jsx(ProgressBar, { step: progress, showPercentage: false })] }) }));
7862
7872
  });
7863
7873
 
7864
- const CreditFormStatus = JSX(({ title, description: dsc, infoCard, sectionInfoTitle, sectionInfo, sectionAdditionalTitle, sectionInfoAdditional, buttonText, interval, intervalExpireAction = () => {
7865
- return;
7866
- }, ...props }) => {
7867
- return (jsxs(BlockWrapper, { ...props, children: [jsxs("div", { className: "flex flex-col md:flex-row items-center", children: [jsx(Headline, { headlineVersion: "M", title: title, description: dsc, align: "text-left", padding: "p-xl", className: "w-full" }), interval ? (jsx(TimerCircle, { interval: interval, intervalExpireAction: intervalExpireAction })) : null] }), jsx(SectionInfo, { title: sectionInfoTitle, items: sectionInfo }), jsx(SectionInfo, { title: sectionAdditionalTitle, items: sectionInfoAdditional, countColumns: true }), infoCard?.__html ? (jsx(InfoCard, { __html: infoCard?.__html, icon: infoCard?.icon, link: {
7868
- text: infoCard?.link?.text,
7869
- } })) : null, buttonText ? (jsx(LinkButton, { href: "/natural", text: buttonText, version: "primary", className: "w-full mt-lg" })) : null] }));
7874
+ const CreditFormStatus = JSX(({ title, description: dsc, sectionInfoTitle, sectionInfo, sectionAdditionalTitle, sectionInfoAdditional, buttonText, interval, onExpire = noop, ...props }) => {
7875
+ return (jsxs(BlockWrapper, { ...props, children: [jsxs("div", { className: "flex flex-col md:flex-row items-center", children: [jsx(Headline, { headlineVersion: "M", title: title, description: dsc, align: "text-left", padding: "p-xl", className: "w-full" }), interval ? jsx(TimerCircle, { interval: interval, onEnd: onExpire }) : null] }), jsx(SectionInfo, { title: sectionInfoTitle, items: sectionInfo }), jsx(SectionInfo, { title: sectionAdditionalTitle, items: sectionInfoAdditional, countColumns: true }), buttonText ? (jsx(Link, { href: "/natural", text: buttonText, version: "primary", className: "w-full mt-lg" })) : null] }));
7870
7876
  });
7871
7877
  const SectionInfo = ({ title, items, countColumns = false, }) => {
7872
7878
  const isMobile = useMobileMode();
@@ -7879,9 +7885,9 @@
7879
7885
 
7880
7886
  const FailedStatusContent = JSX(() => (jsx(CreditFormStatus, { title: "\u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u0438\u043C \u0412\u0430\u0441 \u0437\u0430 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435", description: "\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0411\u0430\u043D\u043A \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043E\u0434\u043E\u0431\u0440\u0438\u0442\u044C \u0412\u0430\u0448\u0443 \u0437\u0430\u044F\u0432\u043A\u0443 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043F\u043E\u0437\u0436\u0435. \u0421\u043F\u0430\u0441\u0438\u0431\u043E \u0437\u0430 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0432 \u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB.", buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
7881
7887
 
7882
- const PendingStatusContent = JSX(({ handleExpireTimer }) => {
7888
+ const PendingStatusContent = JSX(({ onExpire }) => {
7883
7889
  const { statusInfo } = useRetailFormStore();
7884
- return (jsx(CreditFormStatus, { interval: 300, intervalExpireAction: handleExpireTimer, title: "\u0417\u0430\u044F\u0432\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430", description: "\u041D\u0435 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435 \u043E\u043A\u043D\u043E, \u0441\u043A\u043E\u0440\u043E \u0441\u043E\u043E\u0431\u0449\u0438\u043C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442", sectionInfoTitle: "\u0417\u0430\u044F\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u043E \u043A\u0440\u0435\u0434\u0438\u0442\u0443", sectionInfo: [
7890
+ return (jsx(CreditFormStatus, { interval: 300, title: "\u0417\u0430\u044F\u0432\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430", description: "\u041D\u0435 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435 \u043E\u043A\u043D\u043E, \u0441\u043A\u043E\u0440\u043E \u0441\u043E\u043E\u0431\u0449\u0438\u043C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442", sectionInfoTitle: "\u0417\u0430\u044F\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u043E \u043A\u0440\u0435\u0434\u0438\u0442\u0443", sectionInfo: [
7885
7891
  {
7886
7892
  label: 'Название продукта',
7887
7893
  description: 'Кредит на любые цели',
@@ -7902,7 +7908,7 @@
7902
7908
  label: 'Тип платежа',
7903
7909
  description: statusInfo?.calculator?.isAnnuity ? 'Аннуитетный' : 'Дифференцированный',
7904
7910
  },
7905
- ] }));
7911
+ ], onExpire: onExpire }));
7906
7912
  });
7907
7913
 
7908
7914
  const ReworkStatusContent = JSX(() => {
@@ -7964,20 +7970,20 @@
7964
7970
  }
7965
7971
  })();
7966
7972
  }, [taskId]);
7967
- const trackStatus = useCallback(async (stopInterval) => {
7973
+ const trackStatus = useCallback(async (stop) => {
7968
7974
  const res = await getTaskStatus({ taskId });
7969
7975
  if (res && res?.statusCd !== STATUS_TYPE.process) {
7970
- stopInterval();
7976
+ stop();
7971
7977
  setStatus(res.statusCd);
7972
7978
  }
7973
7979
  }, [taskId]);
7974
- useInterval(trackStatus, 30000);
7975
- const handleExpire = () => setStatus(STATUS_TYPE.rework);
7980
+ useInterval(trackStatus, 30_000);
7981
+ const handleExpire = useCallback(() => setStatus(STATUS_TYPE.rework), []);
7976
7982
  return renderStatus(status, handleExpire);
7977
7983
  });
7978
- const renderStatus = (status, handleExpire) => {
7984
+ const renderStatus = (status, onExpire) => {
7979
7985
  const statusesMap = {
7980
- IN_PROCESS: jsx(PendingStatusContent, { handleExpireTimer: handleExpire }),
7986
+ IN_PROCESS: jsx(PendingStatusContent, { onExpire: onExpire }),
7981
7987
  CANCELLED: jsx(FailedStatusContent, {}),
7982
7988
  FAILED: jsx(FailedStatusContent, {}),
7983
7989
  DRAFT: jsx(FailedStatusContent, {}),
@@ -7999,7 +8005,7 @@
7999
8005
  const StepsNavigationButtons = JSX(({ step, onPrevStep, isSending }) => {
8000
8006
  const isFirstStep = step === 0;
8001
8007
  const isFinalStep = step === 5;
8002
- return (jsxs("div", { className: 'flex justify-between gap-m', children: [jsx(Button, { onClick: onPrevStep, type: "button", version: "secondary", disabled: isFirstStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(SubmitButton$1, { isLoading: isSending, children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
8008
+ return (jsxs("div", { className: 'flex justify-between gap-m', children: [jsx(Button, { version: "secondary", disabled: isFirstStep, onClick: onPrevStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(SubmitButton$1, { isLoading: isSending, children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
8003
8009
  });
8004
8010
 
8005
8011
  const PAYMENT_TYPE_DATA = {
@@ -8670,7 +8676,7 @@
8670
8676
  .map((item, i) => (jsx(MobileTopItem, { className: "w-full border-0 border-b border-solid border-main-divider last:border-b-0", item: item }, String(i))));
8671
8677
  const MobileTopItem = JSX(({ className, item }) => {
8672
8678
  const [isUnfolded, { toggle }] = useBool(false);
8673
- return (jsxs(Foldable, { className: className, role: "menuitem", children: [jsxs(Button, { className: style('w-full', item.icon?.icon ? 'py-xs' : 'py-lg'), embedded: true, onClick: toggle, children: [jsxs(ButtonTitle, { children: [jsx(RoundedIcon, { className: "shrink-0", ...item.icon }), jsx(Text, { size: "text-h6", font: "font-normal", children: item.text })] }), jsx(ToggleIcon, { iconVersion: "color", size: "medium", isUnfolded: isUnfolded })] }), jsx(FoldableSection, { className: "flex flex-wrap gap-lg group-last:last:pb-0", isUnfolded: isUnfolded, children: item.items ? jsx(LinkList, { items: item.items }) : null })] }));
8679
+ return (jsxs(Foldable, { className: className, role: "menuitem", children: [jsxs(Button, { className: style('w-full', item.icon?.icon ? 'py-xs' : 'py-lg'), embedded: true, onClick: toggle, children: [jsxs(ButtonTitle, { children: [jsx(RoundedIcon, { className: "shrink-0", ...item.icon }), jsx(Text, { size: "text-h6", font: "font-normal", color: "text-primary-text", children: item.text })] }), jsx(ToggleIcon, { iconVersion: "color", size: "medium", isUnfolded: isUnfolded })] }), jsx(FoldableSection, { className: "flex flex-wrap gap-lg group-last:last:pb-0", isUnfolded: isUnfolded, children: item.items ? jsx(LinkList, { items: item.items }) : null })] }));
8674
8680
  });
8675
8681
 
8676
8682
  const Contacts = JSX(({ className = '', items = [] }) => items?.length ? (jsx("div", { className: style('space-y-m', className), children: items.map(renderContactsGroup) })) : null);
@@ -8713,20 +8719,14 @@
8713
8719
  const { navigationItems } = rest.options?.page?.navigation ?? {};
8714
8720
  rest.options?.page?.common ?? {};
8715
8721
  const { documents, relatedEnterprises, contacts, mediaLinks = [], horizontalNavigationTitle, feedbackButton, license, otherLinks = [], } = footer ?? {};
8716
- const linkStyle = '!text-left text-s font-light';
8717
- return (jsxs(BlockWrapper, { tag: "footer", className: style('grid gap-y-xl p-4xl pb-24 lg:p-xl', className), ...rest, children: [renderLogoSearchBar(), jsxs("div", { className: "flex flex-col lg:flex-row items-center @lg:items-stretch gap-lg lg:gap-6xl ", children: [jsx(Sitemap, { navigationItems: navigationItems }), jsx("div", { className: "border-t border-main-divider lg:hidden w-full" }), jsxs("div", { className: style(LEFT_COLUMN_STYLE, 'flex flex-col shrink-0 overflow-hidden space-y-xl'), children: [jsx(Contacts, { items: contacts }), feedbackButton ? (jsx(LinkButton, { className: "w-full", version: "primary", ...feedbackButton })) : null, mediaLinks.map((_, i) => (jsx(SocialMedia, { media: _?.links ?? [], showButtonText: false, stretched: true, children: _?.title }, String(i)))), otherLinks.map((_, i) => (jsx(LinkButton, { className: linkStyle, version: "link", ..._, children: _?.text }, String(i))))] })] }), jsx(HorizontalNavigation, { title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, { links: documents, license: license })] }));
8722
+ return (jsxs(BlockWrapper, { tag: "footer", className: style('grid gap-y-xl p-4xl pb-24 lg:p-xl', className), ...rest, children: [renderLogoSearchBar(), jsxs("div", { className: "flex flex-col lg:flex-row items-center @lg:items-stretch gap-lg lg:gap-6xl ", children: [jsx(Sitemap, { navigationItems: navigationItems }), jsx("div", { className: "border-t border-main-divider lg:hidden w-full" }), jsxs("div", { className: style(LEFT_COLUMN_STYLE, 'flex flex-col shrink-0 overflow-hidden space-y-xl'), children: [jsx(Contacts, { items: contacts }), feedbackButton ? (jsx(LinkButton, { className: "w-full", version: "primary", ...feedbackButton })) : null, mediaLinks.map((_, i) => (jsx(SocialMedia, { media: _?.links ?? [], showButtonText: false, stretched: true, children: _?.title }, String(i)))), otherLinks.map((_, i) => (jsx(Link, { className: "text-s font-light", ..._ }, `${_.href}_${i}`)))] })] }), jsx(HorizontalNavigation, { title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, { links: documents, license: license })] }));
8718
8723
  });
8719
8724
 
8720
8725
  const GrantSupport = UniBlock(({ className, title, button, regionSource, data, ...rest }) => {
8721
8726
  const [region, setRegion] = useState({ key: '' });
8722
8727
  const regions = regionSource?.regions ?? [];
8723
- const buttonStyle = getRegularButtonClasses({
8724
- className: 'text-white',
8725
- version: button?.version || 'primary',
8726
- });
8727
8728
  const regionHref = regions?.find((_) => _.name === region.key)?.href;
8728
- const buttonText = button?.text ? button.text : 'Перейти';
8729
- return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container space-y-m", children: [title ? jsx(Heading, { headingType: "h3", title: title, className: "@xl:text-center" }) : null, regions ? (jsx(SelectControl, { label: "\u0412\u0430\u0448 \u0440\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: regions.map(({ name = '' }) => ({ key: name, text: name })), value: region, onChange: setRegion })) : null, regionHref ? (jsx("div", { className: "text-center", children: jsx(LinkButton, { href: regionHref, target: "_blank", className: style('p-m w-full @xl:w-auto', buttonStyle), data: getAspectsWithInclude(data, region?.key), children: buttonText }) })) : null] }) }));
8729
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container space-y-m", children: [title ? jsx(Heading, { headingType: "h3", title: title, className: "@xl:text-center" }) : null, regions ? (jsx(SelectControl, { label: "\u0412\u0430\u0448 \u0440\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: regions.map(({ name = '' }) => ({ key: name, text: name })), value: region, onChange: setRegion })) : null, regionHref ? (jsx("div", { className: "text-center", children: jsx(Link, { className: style('w-full @xl:w-auto'), href: regionHref, target: "_blank", version: button?.version ?? 'primary', data: getAspectsWithInclude(data, region?.key), children: button?.text ? button.text : 'Перейти' }) })) : null] }) }));
8730
8730
  });
8731
8731
 
8732
8732
  const BUTTON_STYLE = {
@@ -8834,11 +8834,7 @@
8834
8834
  return docFormat.includes('/') ? docFormat.replace(regexp, '') : docFormat;
8835
8835
  };
8836
8836
 
8837
- const ReportDialog = JSX(({ href, __html, target, onClose }) => {
8838
- const router = useRouter();
8839
- const adjustedHref = adjustHref(router)(href);
8840
- 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" })] }));
8841
- });
8837
+ const ReportDialog = JSX(({ href, __html, target, onClose }) => (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(Link, { href: href, target: target, version: "primary", ariaLabel: "\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435", onClick: onClose, children: "\u042F \u0441\u043E\u0433\u043B\u0430\u0441\u0435\u043D" }), 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" })] })));
8842
8838
 
8843
8839
  const ReportDialogButton = JSX(({ text, href, target, __html, icon }) => {
8844
8840
  const { open } = useDialog(ReportDialog);
@@ -8973,7 +8969,7 @@
8973
8969
  const Tag = tag;
8974
8970
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
8975
8971
  const { text, description, icon, count, tabName, ...link } = item;
8976
- return (jsx(Tag, { className: style('h-12', 'block flex-1', 'cursor-pointer', tabPaddingStyleMap[type], isActive ? activeTabBgStyleMap[type] : tabBgStyleMap[type]), role: "tablist", "aria-label": "\u0421\u043F\u0438\u0441\u043E\u043A \u0442\u0430\u0431\u043E\u0432", onClick: onClick, ...link, children: jsxs("div", { className: style('h-full', 'flex justify-center items-center', 'text-center whitespace-nowrap', isActive ? activeTabTextStyleMap[type] : tabTextStyle), role: "tab", "aria-label": `Таб ${text}`, children: [renderTabItemInner({
8972
+ return (jsx(Tag, { className: style('h-12', 'block flex-1', 'cursor-pointer', tabPaddingStyleMap[type], isActive ? activeTabBgStyleMap[type] : tabBgStyleMap[type]), "aria-label": "\u0421\u043F\u0438\u0441\u043E\u043A \u0442\u0430\u0431\u043E\u0432", onClick: onClick, ...link, children: jsxs("div", { className: style('h-full', 'flex justify-center items-center', 'text-center whitespace-nowrap', isActive ? activeTabTextStyleMap[type] : tabTextStyle), role: "tab", "aria-label": `Таб ${text}`, children: [renderTabItemInner({
8977
8973
  text,
8978
8974
  description,
8979
8975
  icon,
@@ -9035,7 +9031,7 @@
9035
9031
  ? [filtersCheckbox.slice(0, visibleFiltersNum), filtersCheckbox.slice(visibleFiltersNum)]
9036
9032
  : [filtersCheckbox, []];
9037
9033
  const [isUnfolded, { toggle }] = useBool(false);
9038
- return (jsx("div", { children: filters?.length ? (jsx("div", { children: jsxs(Foldable, { children: [jsxs("div", { children: [jsx("div", { className: COMMON_FILTERS_STYLES, children: visibleFilters }), jsx(FoldableSection, { className: COMMON_FILTERS_STYLES, isUnfolded: isUnfolded, children: hiddenFilters })] }), jsxs("div", { className: "flex space-x-lg", children: [onlyOffice ? (jsx(DefaultFoldButton, { label: isUnfolded ? 'Меньше фильтров' : 'Больше фильтров', isUnfolded: isUnfolded, embedded: true, onClick: toggle })) : null, jsxs(Button, { embedded: true, onClick: reset, children: [jsx(ButtonTitle, { children: "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440" }), jsx(Icon, { name: "CloseIcon", size: "small" })] })] })] }) })) : null }));
9034
+ return (jsx("div", { children: filters?.length ? (jsx("div", { children: jsxs(Foldable, { children: [jsxs("div", { children: [jsx("div", { className: COMMON_FILTERS_STYLES, children: visibleFilters }), jsx(FoldableSection, { className: COMMON_FILTERS_STYLES, isUnfolded: isUnfolded, children: hiddenFilters })] }), jsxs("div", { className: "flex space-x-lg", children: [onlyOffice ? (jsx(DefaultFoldButton, { label: isUnfolded ? 'Меньше фильтров' : 'Больше фильтров', isUnfolded: isUnfolded, embedded: true, short: true, onClick: toggle })) : null, jsxs(Button, { embedded: true, onClick: reset, children: [jsx(ButtonTitle, { children: "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440" }), jsx(Icon, { name: "CloseIcon", size: "small" })] })] })] }) })) : null }));
9039
9035
  });
9040
9036
 
9041
9037
  const renderButtonsGroup = (data, activeButton, onButtonClick) => {
@@ -9222,7 +9218,7 @@
9222
9218
  extraProps: { className: 'w-full', padding: 'p-0' },
9223
9219
  }) }));
9224
9220
  const isAccordion = foldButtonVersion === 'accordion';
9225
- const foldButton = (jsx(DefaultFoldButton, { className: style('w-full', { 'text-h6 my-lg': isAccordion }), label: label, isUnfolded: isUnfolded, embedded: isAccordion, onClick: toggle }));
9221
+ const foldButton = (jsx(DefaultFoldButton, { className: style(isAccordion ? 'text-h6 my-lg' : 'text-h4'), label: label, isUnfolded: isUnfolded, embedded: isAccordion, onClick: toggle }));
9226
9222
  return (jsx(BlockWrapper, { className: style('w-full border-0 border-b border-solid border-main-divider last:border-b-0', className), defaultPadding: "p-0", tag: "div", version: "transparent", role: role, ...rest, children: jsxs(Foldable, { children: [isFoldButtonOnTop ? foldButton : foldableSection, isFoldButtonOnTop ? foldableSection : foldButton] }) }));
9227
9223
  }, { childrenTypes: { exclude: ['RollupItem'] } });
9228
9224
 
@@ -9251,7 +9247,7 @@
9251
9247
 
9252
9248
  const SafeBoxCases = JSX(({ caseVolumes = [], selectedCaseVolume, onSelectedCaseVolume, safeBoxCases = [], selectedBoxSize, onSelectedBoxSize, }) => (jsxs("div", { className: "flex flex-col @xl:flex-row gap-m order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: caseVolumes, fieldLabel: "volume", selected: selectedCaseVolume, setSelected: onSelectedCaseVolume, label: "\u0420\u0430\u0437\u043C\u0435\u0440", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: safeBoxCases, fieldLabel: "safeBoxCasesSize", selected: selectedBoxSize, setSelected: onSelectedBoxSize, label: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438, \u043C\u043C (\u0412\u0445\u0428\u0445\u0414)", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0447\u0435\u0439\u043A\u0438" }) })] })));
9253
9249
 
9254
- const SafeDepositRentalFields = JSX(({ regions, selectedRegion, branches, selectedBranch, days, selectedCaseVolume, selectedBoxSize, safeBoxCases, caseVolumes, onChange, onClick, }) => (jsxs("div", { className: "contents @xl:block flex-1 space-y-xl", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx("div", { className: "order-4", children: jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }) }), jsxs("div", { className: "contents @md:flex justify-between items-center gap-m", children: [jsx(RadioButtons, {}), jsx(LinkButton, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary", onClick: onClick, className: "order-6" })] })] })));
9250
+ const SafeDepositRentalFields = JSX(({ regions, selectedRegion, branches, selectedBranch, days, selectedCaseVolume, selectedBoxSize, safeBoxCases, caseVolumes, onChange, onClick, }) => (jsxs("div", { className: "contents @xl:block flex-1 space-y-xl", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx("div", { className: "order-4", children: jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }) }), jsxs("div", { className: "contents @md:flex justify-between items-center gap-m", children: [jsx(RadioButtons, {}), jsx(Button, { className: "order-6", version: "primary", onClick: onClick, children: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435" })] })] })));
9255
9251
  const onSelectedBranch = (onChange) => (value) => {
9256
9252
  onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
9257
9253
  };
@@ -9692,7 +9688,7 @@
9692
9688
  itemCount: items?.length || 0,
9693
9689
  });
9694
9690
  useEffect(() => scrollToSelected(containerRef.current, items, activeItem), []);
9695
- return (jsxs("div", { className: style('relative overflow-x-auto no-scrollbar', className), children: [jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, itemClassName: scrollStyle[tabsType].item, gap: scrollStyle[tabsType].gap, children: items.map(renderTab(activeItem, onChange, tabsType)) }), scroll.canScrollLeft ? (jsx(ScrollLeftButton, { className: style('left-6', scrollButtonStyle, scrollStyle[tabsType].buttonTop), onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (jsx(ScrollRightButton, { className: style('right-6', scrollButtonStyle, scrollStyle[tabsType].buttonTop), onClick: scroll.scrollRight })) : null] }));
9691
+ return (jsxs("div", { className: style('relative overflow-x-auto no-scrollbar', className), children: [jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, itemClassName: scrollStyle[tabsType].item, gap: scrollStyle[tabsType].gap, children: items.map(renderTab(activeItem, onChange, tabsType)) }), scroll.canScrollLeft ? (jsx(ArrowLeftButton, { className: style('left-6', scrollButtonStyle, scrollStyle[tabsType].buttonTop), onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (jsx(ArrowRightButton, { className: style('right-6', scrollButtonStyle, scrollStyle[tabsType].buttonTop), onClick: scroll.scrollRight })) : null] }));
9696
9692
  });
9697
9693
  const scrollToSelected = (container, items, activeItem) => {
9698
9694
  const selectedIndex = items.findIndex((_) => _ === activeItem);
@@ -9820,7 +9816,7 @@
9820
9816
  };
9821
9817
  const TableCarouselContainer = JSX(({ children, activeIndex, columnWidth, version = 'comparison' }) => (jsx("div", { className: "flex flex-1 overflow-hidden", children: jsx("div", { className: carouselContainerClassesMap[version], style: { transform: `translateX(-${activeIndex * columnWidth}px)` }, children: children }) })));
9822
9818
 
9823
- const TableInnerButton = JSX(({ className = '', isOpen, onClick }) => (jsx(LinkButton, { className: className, appendRight: jsx(Img, { image: { icon: isOpen ? 'ArrowUpIcon' : 'ArrowDownIcon' }, width: "24", height: "24" }), text: isOpen ? 'Скрыть' : 'Показать', version: "gray", onClick: onClick })));
9819
+ const TableInnerButton = JSX(({ className = '', isOpen, onClick }) => (jsx(DefaultFoldButton, { className: className, label: isOpen ? 'Скрыть' : 'Показать', isUnfolded: isOpen, version: "secondary", short: true, onClick: onClick })));
9824
9820
 
9825
9821
  const renderButtonsCellData = ({ buttons }) => renderButtonsSection(buttons, {
9826
9822
  buttonClassName: 'basis-0',
@@ -9933,13 +9929,7 @@
9933
9929
  });
9934
9930
 
9935
9931
  /** @deprecated */
9936
- function renderArrows({ dec, inc, canDec, canInc, btnClass, className = '', }) {
9937
- const isVisible = canDec || canInc;
9938
- if (!isVisible) {
9939
- return null;
9940
- }
9941
- return (jsxs("div", { children: [canDec ? (jsx(ArrowButton, { className: style('absolute z-40', btnClass[0], className), onClick: dec, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E", "data-block-control": "scroll-left", disabled: !canDec })) : null, canInc ? (jsx(ArrowButton, { className: style('absolute z-40 rotate-180', btnClass[1], className), onClick: inc, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", "data-block-control": "scroll-right", disabled: !canInc })) : null] }));
9942
- }
9932
+ const renderArrows = ({ className, btnClass, canDec, canInc, dec, inc, }) => canDec || canInc ? (jsxs("div", { children: [canDec ? (jsx(ArrowLeftButton, { className: style('absolute z-40', btnClass[0], className), onClick: dec })) : null, canInc ? (jsx(ArrowRightButton, { className: style('absolute z-40', btnClass[1], className), onClick: inc })) : null] })) : null;
9943
9933
 
9944
9934
  const TariffsTableWrapper = JSX(({ children, controls }) => {
9945
9935
  const { isScrollAvailable } = controls;
@@ -9964,7 +9954,7 @@
9964
9954
  const rows = (rowData || []).map((row, i) => (jsx(TariffsTableRow, { row: row, activeIndex: activeIndex, rowIdx: i, ...rest }, String(i))));
9965
9955
  const [visibleRows, hiddenRows] = hiddenRowsNum > 0 ? [rows.slice(0, -hiddenRowsNum), rows.slice(-hiddenRowsNum)] : [rows, []];
9966
9956
  const [isUnfolded, { toggle }] = useBool(false);
9967
- return (jsxs(BlockWrapper, { className: style('relative space-y-6xl @4xl:space-y-xl', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isEmbedded: true, align: "text-center" }), jsx("div", { className: "space-y-m overflow-hidden", children: hiddenRowsNum > 0 ? (jsxs(Foldable, { children: [jsxs(TariffsTableWrapper, { controls: controls, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] }), jsx(DefaultFoldButton, { className: "w-full", isUnfolded: isUnfolded, onClick: toggle })] })) : (jsx(TariffsTableWrapper, { controls: controls, children: rows })) })] }));
9957
+ return (jsxs(BlockWrapper, { className: style('relative space-y-6xl @4xl:space-y-xl', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isEmbedded: true, align: "text-center" }), jsx("div", { className: "space-y-m overflow-hidden", children: hiddenRowsNum > 0 ? (jsxs(Foldable, { children: [jsxs(TariffsTableWrapper, { controls: controls, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] }), jsx(DefaultFoldButton, { className: "text-h4", isUnfolded: isUnfolded, onClick: toggle })] })) : (jsx(TariffsTableWrapper, { controls: controls, children: rows })) })] }));
9968
9958
  });
9969
9959
 
9970
9960
  const TextBlock = JSX(({ className = '', title, description, iconVersion, __html, richVersion, ...rest }) => (jsxs(BlockWrapper, { className: style('flex gap-s sm:gap-m group-data-secondary:bg-primary-main/10', className), ...rest, children: [iconVersion === 'small' ? renderIcon() : null, jsxs("div", { className: "flex flex-col w-fit gap-2xs sm:gap-xs", children: [title ? (jsx(Text, { size: "text-l", font: "font-normal", color: "text-primary-text group-data-secondary:text-white", children: title })) : null, description ? renderDescription(description) : null, __html ? jsx(RichText, { richVersion: richVersion, __html: __html }) : null] })] })));
@@ -10099,7 +10089,7 @@
10099
10089
  globalThis.document?.body.classList.remove('no-scrollbar', 'overflow-hidden');
10100
10090
  }
10101
10091
  }, [hasDialogs]);
10102
- 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', {
10092
+ return hasDialogs ? (jsx("div", { className: "fixed inset-0 z-50", children: dialogs.map(({ dialog, id }, i) => (jsx("div", { className: style('absolute inset-0 overflow-x-hidden overflow-y-scroll no-scrollbar bg-black/50', {
10103
10093
  hidden: i !== dialogs.length - 1, // TODO Чего?)
10104
10094
  }), children: dialog }, String(id || i)))) })) : null;
10105
10095
  });
@@ -10118,7 +10108,7 @@
10118
10108
  left: `${popup.left}px`,
10119
10109
  top: `${popup.top}px`,
10120
10110
  ...(popup.width ? { width: `${popup.width}px` } : {}),
10121
- }, role: "dialog", children: popup.popup })) : null;
10111
+ }, role: "dialog", title: "\u0412\u0441\u043F\u043B\u044B\u0432\u0430\u044E\u0449\u0435\u0435 \u043E\u043A\u043D\u043E", children: popup.popup })) : null;
10122
10112
  });
10123
10113
 
10124
10114
  const HEADER_SLOT = 'header';
@@ -10151,7 +10141,7 @@
10151
10141
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
10152
10142
  });
10153
10143
 
10154
- const packageVersion = "0.14.761";
10144
+ const packageVersion = "0.14.762";
10155
10145
 
10156
10146
  exports.Blocks = Blocks;
10157
10147
  exports.ContentPage = ContentPage;