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

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 (731) hide show
  1. package/bundle/bundle.umd.js +201 -219
  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/services/retail/content.js +0 -8
  77. package/dist/services/retail/content.js.map +1 -1
  78. package/dist/ui-kit/BaseFiltration/GridBlocks.js +1 -1
  79. package/dist/ui-kit/BaseFiltration/GridBlocks.js.map +1 -1
  80. package/dist/ui-kit/Button/Button.d.ts +3 -1
  81. package/dist/ui-kit/Button/Button.js +20 -13
  82. package/dist/ui-kit/Button/Button.js.map +1 -1
  83. package/dist/ui-kit/Button/ButtonTitle.js +1 -1
  84. package/dist/ui-kit/Button/ButtonTitle.js.map +1 -1
  85. package/dist/ui-kit/Button/IconButton.d.ts +6 -0
  86. package/dist/ui-kit/Button/IconButton.js +9 -0
  87. package/dist/ui-kit/Button/IconButton.js.map +1 -0
  88. package/dist/ui-kit/Checkbox/CheckboxWithDoc.js +3 -4
  89. package/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  90. package/dist/ui-kit/DatePicker/Calendar.d.ts +0 -1
  91. package/dist/ui-kit/DatePicker/Calendar.js +2 -6
  92. package/dist/ui-kit/DatePicker/Calendar.js.map +1 -1
  93. package/dist/ui-kit/DatePicker/DatePicker.js +9 -5
  94. package/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  95. package/dist/ui-kit/DialogManager/Dialog.js +1 -1
  96. package/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
  97. package/dist/ui-kit/DialogManager/DialogManager.js +1 -1
  98. package/dist/ui-kit/DialogManager/DialogManager.js.map +1 -1
  99. package/dist/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  100. package/dist/ui-kit/Foldable/DefaultFoldButton.js +1 -1
  101. package/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  102. package/dist/ui-kit/Foldable/Foldable.js +1 -1
  103. package/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  104. package/dist/ui-kit/Foldable/FoldableSection.js +5 -2
  105. package/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
  106. package/dist/ui-kit/Icon/RoundedIcon.d.ts +0 -1
  107. package/dist/ui-kit/Icon/RoundedIcon.js +5 -7
  108. package/dist/ui-kit/Icon/RoundedIcon.js.map +1 -1
  109. package/dist/ui-kit/InfoCard/InfoCard.d.ts +0 -2
  110. package/dist/ui-kit/InfoCard/InfoCard.js +1 -2
  111. package/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
  112. package/dist/ui-kit/InnerTable/InnerTableButton.js +2 -3
  113. package/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  114. package/dist/ui-kit/Input/Input.js +4 -3
  115. package/dist/ui-kit/Input/Input.js.map +1 -1
  116. package/dist/ui-kit/Link/Link.d.ts +12 -0
  117. package/dist/ui-kit/Link/Link.js +29 -0
  118. package/dist/ui-kit/Link/Link.js.map +1 -0
  119. package/dist/ui-kit/LinkButton/ArrowButton.d.ts +3 -5
  120. package/dist/ui-kit/LinkButton/ArrowButton.js +4 -10
  121. package/dist/ui-kit/LinkButton/ArrowButton.js.map +1 -1
  122. package/dist/ui-kit/LinkButton/renderArrows.d.ts +1 -1
  123. package/dist/ui-kit/LinkButton/renderArrows.js +1 -7
  124. package/dist/ui-kit/LinkButton/renderArrows.js.map +1 -1
  125. package/dist/ui-kit/LinkButton/useFormSubmit.d.ts +0 -1
  126. package/dist/ui-kit/LinkButton/useFormSubmit.js +1 -2
  127. package/dist/ui-kit/LinkButton/useFormSubmit.js.map +1 -1
  128. package/dist/ui-kit/PopupManager/PopupManager.js +1 -1
  129. package/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  130. package/dist/ui-kit/ReportDialog/ReportDialog.js +2 -8
  131. package/dist/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  132. package/dist/ui-kit/Select/Select.js +2 -2
  133. package/dist/ui-kit/Select/Select.js.map +1 -1
  134. package/dist/ui-kit/Sitemap/Sitemap.mobile.js +1 -1
  135. package/dist/ui-kit/Sitemap/Sitemap.mobile.js.map +1 -1
  136. package/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js +1 -1
  137. package/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  138. package/dist/ui-kit/TabsControl/ScrollableTabsControl.js +1 -1
  139. package/dist/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
  140. package/dist/ui-kit/TabsControl/TabItemInner.js +1 -1
  141. package/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  142. package/dist/ui-kit/TimerCircle/Timer.d.ts +1 -3
  143. package/dist/ui-kit/TimerCircle/Timer.js +4 -19
  144. package/dist/ui-kit/TimerCircle/Timer.js.map +1 -1
  145. package/dist/ui-kit/TimerCircle/TimerCircle.d.ts +2 -3
  146. package/dist/ui-kit/TimerCircle/TimerCircle.js +7 -12
  147. package/dist/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  148. package/dist/ui-kit/TimerCircle/useCountDownTimer.d.ts +8 -0
  149. package/dist/ui-kit/TimerCircle/useCountDownTimer.js +28 -0
  150. package/dist/ui-kit/TimerCircle/useCountDownTimer.js.map +1 -0
  151. package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +8 -4
  152. package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  153. package/dist/utils/adjustHref.d.ts +0 -2
  154. package/dist/utils/adjustHref.js +8 -11
  155. package/dist/utils/adjustHref.js.map +1 -1
  156. package/dist/utils/url.d.ts +4 -4
  157. package/dist/utils/url.js +6 -11
  158. package/dist/utils/url.js.map +1 -1
  159. package/lib/common.css +1 -1
  160. package/lib/components/ApplicationForm/Footnote.js +2 -2
  161. package/lib/components/ApplicationForm/Footnote.js.map +1 -1
  162. package/lib/components/ApplicationLeadForm/Footnote.js +2 -2
  163. package/lib/components/ApplicationLeadForm/Footnote.js.map +1 -1
  164. package/lib/components/ApplicationLeadForm/GroupedConsents.js +1 -1
  165. package/lib/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  166. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  167. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  168. package/lib/components/CreditCardForm/CreditCardFormStatus.d.ts +1 -3
  169. package/lib/components/CreditCardForm/CreditCardFormStatus.js +3 -7
  170. package/lib/components/CreditCardForm/CreditCardFormStatus.js.map +1 -1
  171. package/lib/components/CreditCardForm/CreditCardFormStatusTracker.js +5 -5
  172. package/lib/components/CreditCardForm/CreditCardFormStatusTracker.js.map +1 -1
  173. package/lib/components/CreditCardForm/PendingStatusContent.d.ts +1 -1
  174. package/lib/components/CreditCardForm/PendingStatusContent.js +3 -3
  175. package/lib/components/CreditCardForm/PendingStatusContent.js.map +1 -1
  176. package/lib/components/CreditCardForm/StepsNavigationButtons.js +1 -1
  177. package/lib/components/CreditCardForm/StepsNavigationButtons.js.map +1 -1
  178. package/lib/components/CreditForm/CreditFormStatus.d.ts +1 -3
  179. package/lib/components/CreditForm/CreditFormStatus.js +4 -8
  180. package/lib/components/CreditForm/CreditFormStatus.js.map +1 -1
  181. package/lib/components/CreditForm/CreditFormStatusTracker.js +6 -6
  182. package/lib/components/CreditForm/CreditFormStatusTracker.js.map +1 -1
  183. package/lib/components/CreditForm/PendingStatusContent.d.ts +1 -1
  184. package/lib/components/CreditForm/PendingStatusContent.js +3 -3
  185. package/lib/components/CreditForm/PendingStatusContent.js.map +1 -1
  186. package/lib/components/CreditForm/StepsNavigationButtons.js +1 -1
  187. package/lib/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  188. package/lib/components/Footer/Footer.js +2 -2
  189. package/lib/components/Footer/Footer.js.map +1 -1
  190. package/lib/components/GrantSupport/GrantSupport.js +2 -8
  191. package/lib/components/GrantSupport/GrantSupport.js.map +1 -1
  192. package/lib/components/OfficesAtmsMap/FiltrationForm.js +1 -1
  193. package/lib/components/OfficesAtmsMap/FiltrationForm.js.map +1 -1
  194. package/lib/components/OfficesAtmsMap/FoldableCardContent.js +1 -1
  195. package/lib/components/OfficesAtmsMap/FoldableCardContent.js.map +1 -1
  196. package/lib/components/ProductBlock/renderBackwardButton.js +1 -0
  197. package/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
  198. package/lib/components/ProductGallery/ProductGallery.js +2 -2
  199. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  200. package/lib/components/RollupItem/RollupItem.js +1 -1
  201. package/lib/components/RollupItem/RollupItem.js.map +1 -1
  202. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  203. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  204. package/lib/components/TariffsTable/TariffsTable.js +1 -1
  205. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  206. package/lib/hooks/useInterval.d.ts +4 -1
  207. package/lib/hooks/useInterval.js +9 -5
  208. package/lib/hooks/useInterval.js.map +1 -1
  209. package/lib/hooks/useLink.d.ts +1 -2
  210. package/lib/hooks/useLink.js +12 -25
  211. package/lib/hooks/useLink.js.map +1 -1
  212. package/lib/services/retail/content.js +0 -8
  213. package/lib/services/retail/content.js.map +1 -1
  214. package/lib/ui-kit/BaseFiltration/GridBlocks.js +1 -1
  215. package/lib/ui-kit/BaseFiltration/GridBlocks.js.map +1 -1
  216. package/lib/ui-kit/Button/Button.d.ts +3 -1
  217. package/lib/ui-kit/Button/Button.js +19 -12
  218. package/lib/ui-kit/Button/Button.js.map +1 -1
  219. package/lib/ui-kit/Button/ButtonTitle.js +1 -1
  220. package/lib/ui-kit/Button/ButtonTitle.js.map +1 -1
  221. package/lib/ui-kit/Button/IconButton.d.ts +6 -0
  222. package/lib/ui-kit/Button/IconButton.js +7 -0
  223. package/lib/ui-kit/Button/IconButton.js.map +1 -0
  224. package/lib/ui-kit/Checkbox/CheckboxWithDoc.js +3 -4
  225. package/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  226. package/lib/ui-kit/DatePicker/Calendar.d.ts +0 -1
  227. package/lib/ui-kit/DatePicker/Calendar.js +3 -7
  228. package/lib/ui-kit/DatePicker/Calendar.js.map +1 -1
  229. package/lib/ui-kit/DatePicker/DatePicker.js +10 -6
  230. package/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  231. package/lib/ui-kit/DialogManager/Dialog.js +1 -1
  232. package/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
  233. package/lib/ui-kit/DialogManager/DialogManager.js +1 -1
  234. package/lib/ui-kit/DialogManager/DialogManager.js.map +1 -1
  235. package/lib/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  236. package/lib/ui-kit/Foldable/DefaultFoldButton.js +1 -1
  237. package/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  238. package/lib/ui-kit/Foldable/Foldable.js +1 -1
  239. package/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  240. package/lib/ui-kit/Foldable/FoldableSection.js +5 -2
  241. package/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
  242. package/lib/ui-kit/Icon/RoundedIcon.d.ts +0 -1
  243. package/lib/ui-kit/Icon/RoundedIcon.js +5 -7
  244. package/lib/ui-kit/Icon/RoundedIcon.js.map +1 -1
  245. package/lib/ui-kit/InfoCard/InfoCard.d.ts +0 -2
  246. package/lib/ui-kit/InfoCard/InfoCard.js +1 -2
  247. package/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
  248. package/lib/ui-kit/InnerTable/InnerTableButton.js +2 -3
  249. package/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  250. package/lib/ui-kit/Input/Input.js +4 -3
  251. package/lib/ui-kit/Input/Input.js.map +1 -1
  252. package/lib/ui-kit/Link/Link.d.ts +12 -0
  253. package/lib/ui-kit/Link/Link.js +27 -0
  254. package/lib/ui-kit/Link/Link.js.map +1 -0
  255. package/lib/ui-kit/LinkButton/ArrowButton.d.ts +3 -5
  256. package/lib/ui-kit/LinkButton/ArrowButton.js +3 -9
  257. package/lib/ui-kit/LinkButton/ArrowButton.js.map +1 -1
  258. package/lib/ui-kit/LinkButton/renderArrows.d.ts +1 -1
  259. package/lib/ui-kit/LinkButton/renderArrows.js +2 -8
  260. package/lib/ui-kit/LinkButton/renderArrows.js.map +1 -1
  261. package/lib/ui-kit/LinkButton/useFormSubmit.d.ts +0 -1
  262. package/lib/ui-kit/LinkButton/useFormSubmit.js +1 -2
  263. package/lib/ui-kit/LinkButton/useFormSubmit.js.map +1 -1
  264. package/lib/ui-kit/PopupManager/PopupManager.js +1 -1
  265. package/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  266. package/lib/ui-kit/ReportDialog/ReportDialog.js +2 -8
  267. package/lib/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  268. package/lib/ui-kit/Select/Select.js +2 -2
  269. package/lib/ui-kit/Select/Select.js.map +1 -1
  270. package/lib/ui-kit/Sitemap/Sitemap.mobile.js +1 -1
  271. package/lib/ui-kit/Sitemap/Sitemap.mobile.js.map +1 -1
  272. package/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js +2 -2
  273. package/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  274. package/lib/ui-kit/TabsControl/ScrollableTabsControl.js +2 -2
  275. package/lib/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
  276. package/lib/ui-kit/TabsControl/TabItemInner.js +1 -1
  277. package/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  278. package/lib/ui-kit/TimerCircle/Timer.d.ts +1 -3
  279. package/lib/ui-kit/TimerCircle/Timer.js +4 -19
  280. package/lib/ui-kit/TimerCircle/Timer.js.map +1 -1
  281. package/lib/ui-kit/TimerCircle/TimerCircle.d.ts +2 -3
  282. package/lib/ui-kit/TimerCircle/TimerCircle.js +7 -12
  283. package/lib/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  284. package/lib/ui-kit/TimerCircle/useCountDownTimer.d.ts +8 -0
  285. package/lib/ui-kit/TimerCircle/useCountDownTimer.js +25 -0
  286. package/lib/ui-kit/TimerCircle/useCountDownTimer.js.map +1 -0
  287. package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +8 -4
  288. package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  289. package/lib/utils/adjustHref.d.ts +0 -2
  290. package/lib/utils/adjustHref.js +6 -9
  291. package/lib/utils/adjustHref.js.map +1 -1
  292. package/lib/utils/url.d.ts +4 -4
  293. package/lib/utils/url.js +6 -11
  294. package/lib/utils/url.js.map +1 -1
  295. package/mobile/bundle/bundle.umd.js +201 -219
  296. package/mobile/bundle/bundle.umd.min.js +1 -1
  297. package/mobile/bundle/components/CreditCardForm/CreditCardFormStatus.d.ts +1 -3
  298. package/mobile/bundle/components/CreditCardForm/PendingStatusContent.d.ts +1 -1
  299. package/mobile/bundle/components/CreditForm/CreditFormStatus.d.ts +1 -3
  300. package/mobile/bundle/components/CreditForm/PendingStatusContent.d.ts +1 -1
  301. package/mobile/bundle/hooks/useInterval.d.ts +4 -1
  302. package/mobile/bundle/hooks/useLink.d.ts +1 -2
  303. package/mobile/bundle/ui-kit/Button/Button.d.ts +3 -1
  304. package/mobile/bundle/ui-kit/Button/IconButton.d.ts +6 -0
  305. package/mobile/bundle/ui-kit/DatePicker/Calendar.d.ts +0 -1
  306. package/mobile/bundle/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  307. package/mobile/bundle/ui-kit/Icon/RoundedIcon.d.ts +0 -1
  308. package/mobile/bundle/ui-kit/InfoCard/InfoCard.d.ts +0 -2
  309. package/mobile/bundle/ui-kit/Link/Link.d.ts +12 -0
  310. package/mobile/bundle/ui-kit/LinkButton/ArrowButton.d.ts +3 -5
  311. package/mobile/bundle/ui-kit/LinkButton/renderArrows.d.ts +1 -1
  312. package/mobile/bundle/ui-kit/LinkButton/useFormSubmit.d.ts +0 -1
  313. package/mobile/bundle/ui-kit/TimerCircle/Timer.d.ts +1 -3
  314. package/mobile/bundle/ui-kit/TimerCircle/TimerCircle.d.ts +2 -3
  315. package/mobile/bundle/ui-kit/TimerCircle/useCountDownTimer.d.ts +8 -0
  316. package/mobile/bundle/utils/adjustHref.d.ts +0 -2
  317. package/mobile/bundle/utils/url.d.ts +4 -4
  318. package/mobile/dist/components/ApplicationForm/Footnote.js +2 -2
  319. package/mobile/dist/components/ApplicationForm/Footnote.js.map +1 -1
  320. package/mobile/dist/components/ApplicationLeadForm/Footnote.js +2 -2
  321. package/mobile/dist/components/ApplicationLeadForm/Footnote.js.map +1 -1
  322. package/mobile/dist/components/ApplicationLeadForm/GroupedConsents.js +1 -1
  323. package/mobile/dist/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  324. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  325. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  326. package/mobile/dist/components/CreditCardForm/CreditCardFormStatus.d.ts +1 -3
  327. package/mobile/dist/components/CreditCardForm/CreditCardFormStatus.js +3 -7
  328. package/mobile/dist/components/CreditCardForm/CreditCardFormStatus.js.map +1 -1
  329. package/mobile/dist/components/CreditCardForm/CreditCardFormStatusTracker.js +5 -5
  330. package/mobile/dist/components/CreditCardForm/CreditCardFormStatusTracker.js.map +1 -1
  331. package/mobile/dist/components/CreditCardForm/PendingStatusContent.d.ts +1 -1
  332. package/mobile/dist/components/CreditCardForm/PendingStatusContent.js +3 -3
  333. package/mobile/dist/components/CreditCardForm/PendingStatusContent.js.map +1 -1
  334. package/mobile/dist/components/CreditCardForm/StepsNavigationButtons.js +1 -1
  335. package/mobile/dist/components/CreditCardForm/StepsNavigationButtons.js.map +1 -1
  336. package/mobile/dist/components/CreditForm/CreditFormStatus.d.ts +1 -3
  337. package/mobile/dist/components/CreditForm/CreditFormStatus.js +4 -8
  338. package/mobile/dist/components/CreditForm/CreditFormStatus.js.map +1 -1
  339. package/mobile/dist/components/CreditForm/CreditFormStatusTracker.js +6 -6
  340. package/mobile/dist/components/CreditForm/CreditFormStatusTracker.js.map +1 -1
  341. package/mobile/dist/components/CreditForm/PendingStatusContent.d.ts +1 -1
  342. package/mobile/dist/components/CreditForm/PendingStatusContent.js +3 -3
  343. package/mobile/dist/components/CreditForm/PendingStatusContent.js.map +1 -1
  344. package/mobile/dist/components/CreditForm/StepsNavigationButtons.js +1 -1
  345. package/mobile/dist/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  346. package/mobile/dist/components/Footer/Footer.js +2 -2
  347. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  348. package/mobile/dist/components/GrantSupport/GrantSupport.js +2 -8
  349. package/mobile/dist/components/GrantSupport/GrantSupport.js.map +1 -1
  350. package/mobile/dist/components/OfficesAtmsMap/FiltrationForm.js +1 -1
  351. package/mobile/dist/components/OfficesAtmsMap/FiltrationForm.js.map +1 -1
  352. package/mobile/dist/components/OfficesAtmsMap/FoldableCardContent.js +1 -1
  353. package/mobile/dist/components/OfficesAtmsMap/FoldableCardContent.js.map +1 -1
  354. package/mobile/dist/components/ProductBlock/renderBackwardButton.js +1 -0
  355. package/mobile/dist/components/ProductBlock/renderBackwardButton.js.map +1 -1
  356. package/mobile/dist/components/RollupItem/RollupItem.js +1 -1
  357. package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
  358. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  359. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  360. package/mobile/dist/components/TariffsTable/TariffsTable.js +1 -1
  361. package/mobile/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  362. package/mobile/dist/hooks/useInterval.d.ts +4 -1
  363. package/mobile/dist/hooks/useInterval.js +9 -5
  364. package/mobile/dist/hooks/useInterval.js.map +1 -1
  365. package/mobile/dist/hooks/useLink.d.ts +1 -2
  366. package/mobile/dist/hooks/useLink.js +12 -25
  367. package/mobile/dist/hooks/useLink.js.map +1 -1
  368. package/mobile/dist/services/retail/content.js +0 -8
  369. package/mobile/dist/services/retail/content.js.map +1 -1
  370. package/mobile/dist/ui-kit/BaseFiltration/GridBlocks.js +1 -1
  371. package/mobile/dist/ui-kit/BaseFiltration/GridBlocks.js.map +1 -1
  372. package/mobile/dist/ui-kit/Button/Button.d.ts +3 -1
  373. package/mobile/dist/ui-kit/Button/Button.js +20 -13
  374. package/mobile/dist/ui-kit/Button/Button.js.map +1 -1
  375. package/mobile/dist/ui-kit/Button/ButtonTitle.js +1 -1
  376. package/mobile/dist/ui-kit/Button/ButtonTitle.js.map +1 -1
  377. package/mobile/dist/ui-kit/Button/IconButton.d.ts +6 -0
  378. package/mobile/dist/ui-kit/Button/IconButton.js +9 -0
  379. package/mobile/dist/ui-kit/Button/IconButton.js.map +1 -0
  380. package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js +3 -4
  381. package/mobile/dist/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  382. package/mobile/dist/ui-kit/DatePicker/Calendar.d.ts +0 -1
  383. package/mobile/dist/ui-kit/DatePicker/Calendar.js +2 -6
  384. package/mobile/dist/ui-kit/DatePicker/Calendar.js.map +1 -1
  385. package/mobile/dist/ui-kit/DatePicker/DatePicker.js +9 -5
  386. package/mobile/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  387. package/mobile/dist/ui-kit/DialogManager/Dialog.js +1 -1
  388. package/mobile/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
  389. package/mobile/dist/ui-kit/DialogManager/DialogManager.js +1 -1
  390. package/mobile/dist/ui-kit/DialogManager/DialogManager.js.map +1 -1
  391. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  392. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js +1 -1
  393. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  394. package/mobile/dist/ui-kit/Foldable/Foldable.js +1 -1
  395. package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  396. package/mobile/dist/ui-kit/Foldable/FoldableSection.js +5 -2
  397. package/mobile/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
  398. package/mobile/dist/ui-kit/Icon/RoundedIcon.d.ts +0 -1
  399. package/mobile/dist/ui-kit/Icon/RoundedIcon.js +5 -7
  400. package/mobile/dist/ui-kit/Icon/RoundedIcon.js.map +1 -1
  401. package/mobile/dist/ui-kit/InfoCard/InfoCard.d.ts +0 -2
  402. package/mobile/dist/ui-kit/InfoCard/InfoCard.js +1 -2
  403. package/mobile/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
  404. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js +2 -3
  405. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  406. package/mobile/dist/ui-kit/Input/Input.js +4 -3
  407. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  408. package/mobile/dist/ui-kit/Link/Link.d.ts +12 -0
  409. package/mobile/dist/ui-kit/Link/Link.js +29 -0
  410. package/mobile/dist/ui-kit/Link/Link.js.map +1 -0
  411. package/mobile/dist/ui-kit/LinkButton/ArrowButton.d.ts +3 -5
  412. package/mobile/dist/ui-kit/LinkButton/ArrowButton.js +4 -10
  413. package/mobile/dist/ui-kit/LinkButton/ArrowButton.js.map +1 -1
  414. package/mobile/dist/ui-kit/LinkButton/renderArrows.d.ts +1 -1
  415. package/mobile/dist/ui-kit/LinkButton/renderArrows.js +1 -7
  416. package/mobile/dist/ui-kit/LinkButton/renderArrows.js.map +1 -1
  417. package/mobile/dist/ui-kit/LinkButton/useFormSubmit.d.ts +0 -1
  418. package/mobile/dist/ui-kit/LinkButton/useFormSubmit.js +1 -2
  419. package/mobile/dist/ui-kit/LinkButton/useFormSubmit.js.map +1 -1
  420. package/mobile/dist/ui-kit/PopupManager/PopupManager.js +1 -1
  421. package/mobile/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  422. package/mobile/dist/ui-kit/ReportDialog/ReportDialog.js +2 -8
  423. package/mobile/dist/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  424. package/mobile/dist/ui-kit/Select/Select.js +2 -2
  425. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  426. package/mobile/dist/ui-kit/Sitemap/Sitemap.js +1 -1
  427. package/mobile/dist/ui-kit/Sitemap/Sitemap.js.map +1 -1
  428. package/mobile/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js +1 -1
  429. package/mobile/dist/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  430. package/mobile/dist/ui-kit/TabsControl/ScrollableTabsControl.js +1 -1
  431. package/mobile/dist/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
  432. package/mobile/dist/ui-kit/TabsControl/TabItemInner.js +1 -1
  433. package/mobile/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  434. package/mobile/dist/ui-kit/TimerCircle/Timer.d.ts +1 -3
  435. package/mobile/dist/ui-kit/TimerCircle/Timer.js +4 -19
  436. package/mobile/dist/ui-kit/TimerCircle/Timer.js.map +1 -1
  437. package/mobile/dist/ui-kit/TimerCircle/TimerCircle.d.ts +2 -3
  438. package/mobile/dist/ui-kit/TimerCircle/TimerCircle.js +7 -12
  439. package/mobile/dist/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  440. package/mobile/dist/ui-kit/TimerCircle/useCountDownTimer.d.ts +8 -0
  441. package/mobile/dist/ui-kit/TimerCircle/useCountDownTimer.js +28 -0
  442. package/mobile/dist/ui-kit/TimerCircle/useCountDownTimer.js.map +1 -0
  443. package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +8 -4
  444. package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  445. package/mobile/dist/utils/adjustHref.d.ts +0 -2
  446. package/mobile/dist/utils/adjustHref.js +8 -11
  447. package/mobile/dist/utils/adjustHref.js.map +1 -1
  448. package/mobile/dist/utils/url.d.ts +4 -4
  449. package/mobile/dist/utils/url.js +6 -11
  450. package/mobile/dist/utils/url.js.map +1 -1
  451. package/mobile/lib/common.css +1 -1
  452. package/mobile/lib/components/ApplicationForm/Footnote.js +2 -2
  453. package/mobile/lib/components/ApplicationForm/Footnote.js.map +1 -1
  454. package/mobile/lib/components/ApplicationLeadForm/Footnote.js +2 -2
  455. package/mobile/lib/components/ApplicationLeadForm/Footnote.js.map +1 -1
  456. package/mobile/lib/components/ApplicationLeadForm/GroupedConsents.js +1 -1
  457. package/mobile/lib/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  458. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  459. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  460. package/mobile/lib/components/CreditCardForm/CreditCardFormStatus.d.ts +1 -3
  461. package/mobile/lib/components/CreditCardForm/CreditCardFormStatus.js +3 -7
  462. package/mobile/lib/components/CreditCardForm/CreditCardFormStatus.js.map +1 -1
  463. package/mobile/lib/components/CreditCardForm/CreditCardFormStatusTracker.js +5 -5
  464. package/mobile/lib/components/CreditCardForm/CreditCardFormStatusTracker.js.map +1 -1
  465. package/mobile/lib/components/CreditCardForm/PendingStatusContent.d.ts +1 -1
  466. package/mobile/lib/components/CreditCardForm/PendingStatusContent.js +3 -3
  467. package/mobile/lib/components/CreditCardForm/PendingStatusContent.js.map +1 -1
  468. package/mobile/lib/components/CreditCardForm/StepsNavigationButtons.js +1 -1
  469. package/mobile/lib/components/CreditCardForm/StepsNavigationButtons.js.map +1 -1
  470. package/mobile/lib/components/CreditForm/CreditFormStatus.d.ts +1 -3
  471. package/mobile/lib/components/CreditForm/CreditFormStatus.js +4 -8
  472. package/mobile/lib/components/CreditForm/CreditFormStatus.js.map +1 -1
  473. package/mobile/lib/components/CreditForm/CreditFormStatusTracker.js +6 -6
  474. package/mobile/lib/components/CreditForm/CreditFormStatusTracker.js.map +1 -1
  475. package/mobile/lib/components/CreditForm/PendingStatusContent.d.ts +1 -1
  476. package/mobile/lib/components/CreditForm/PendingStatusContent.js +3 -3
  477. package/mobile/lib/components/CreditForm/PendingStatusContent.js.map +1 -1
  478. package/mobile/lib/components/CreditForm/StepsNavigationButtons.js +1 -1
  479. package/mobile/lib/components/CreditForm/StepsNavigationButtons.js.map +1 -1
  480. package/mobile/lib/components/Footer/Footer.js +2 -2
  481. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  482. package/mobile/lib/components/GrantSupport/GrantSupport.js +2 -8
  483. package/mobile/lib/components/GrantSupport/GrantSupport.js.map +1 -1
  484. package/mobile/lib/components/OfficesAtmsMap/FiltrationForm.js +1 -1
  485. package/mobile/lib/components/OfficesAtmsMap/FiltrationForm.js.map +1 -1
  486. package/mobile/lib/components/OfficesAtmsMap/FoldableCardContent.js +1 -1
  487. package/mobile/lib/components/OfficesAtmsMap/FoldableCardContent.js.map +1 -1
  488. package/mobile/lib/components/ProductBlock/renderBackwardButton.js +1 -0
  489. package/mobile/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
  490. package/mobile/lib/components/RollupItem/RollupItem.js +1 -1
  491. package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
  492. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  493. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  494. package/mobile/lib/components/TariffsTable/TariffsTable.js +1 -1
  495. package/mobile/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  496. package/mobile/lib/hooks/useInterval.d.ts +4 -1
  497. package/mobile/lib/hooks/useInterval.js +9 -5
  498. package/mobile/lib/hooks/useInterval.js.map +1 -1
  499. package/mobile/lib/hooks/useLink.d.ts +1 -2
  500. package/mobile/lib/hooks/useLink.js +12 -25
  501. package/mobile/lib/hooks/useLink.js.map +1 -1
  502. package/mobile/lib/services/retail/content.js +0 -8
  503. package/mobile/lib/services/retail/content.js.map +1 -1
  504. package/mobile/lib/ui-kit/BaseFiltration/GridBlocks.js +1 -1
  505. package/mobile/lib/ui-kit/BaseFiltration/GridBlocks.js.map +1 -1
  506. package/mobile/lib/ui-kit/Button/Button.d.ts +3 -1
  507. package/mobile/lib/ui-kit/Button/Button.js +19 -12
  508. package/mobile/lib/ui-kit/Button/Button.js.map +1 -1
  509. package/mobile/lib/ui-kit/Button/ButtonTitle.js +1 -1
  510. package/mobile/lib/ui-kit/Button/ButtonTitle.js.map +1 -1
  511. package/mobile/lib/ui-kit/Button/IconButton.d.ts +6 -0
  512. package/mobile/lib/ui-kit/Button/IconButton.js +7 -0
  513. package/mobile/lib/ui-kit/Button/IconButton.js.map +1 -0
  514. package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js +3 -4
  515. package/mobile/lib/ui-kit/Checkbox/CheckboxWithDoc.js.map +1 -1
  516. package/mobile/lib/ui-kit/DatePicker/Calendar.d.ts +0 -1
  517. package/mobile/lib/ui-kit/DatePicker/Calendar.js +3 -7
  518. package/mobile/lib/ui-kit/DatePicker/Calendar.js.map +1 -1
  519. package/mobile/lib/ui-kit/DatePicker/DatePicker.js +10 -6
  520. package/mobile/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  521. package/mobile/lib/ui-kit/DialogManager/Dialog.js +1 -1
  522. package/mobile/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
  523. package/mobile/lib/ui-kit/DialogManager/DialogManager.js +1 -1
  524. package/mobile/lib/ui-kit/DialogManager/DialogManager.js.map +1 -1
  525. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  526. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js +1 -1
  527. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  528. package/mobile/lib/ui-kit/Foldable/Foldable.js +1 -1
  529. package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  530. package/mobile/lib/ui-kit/Foldable/FoldableSection.js +5 -2
  531. package/mobile/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
  532. package/mobile/lib/ui-kit/Icon/RoundedIcon.d.ts +0 -1
  533. package/mobile/lib/ui-kit/Icon/RoundedIcon.js +5 -7
  534. package/mobile/lib/ui-kit/Icon/RoundedIcon.js.map +1 -1
  535. package/mobile/lib/ui-kit/InfoCard/InfoCard.d.ts +0 -2
  536. package/mobile/lib/ui-kit/InfoCard/InfoCard.js +1 -2
  537. package/mobile/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
  538. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js +2 -3
  539. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  540. package/mobile/lib/ui-kit/Input/Input.js +4 -3
  541. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  542. package/mobile/lib/ui-kit/Link/Link.d.ts +12 -0
  543. package/mobile/lib/ui-kit/Link/Link.js +27 -0
  544. package/mobile/lib/ui-kit/Link/Link.js.map +1 -0
  545. package/mobile/lib/ui-kit/LinkButton/ArrowButton.d.ts +3 -5
  546. package/mobile/lib/ui-kit/LinkButton/ArrowButton.js +3 -9
  547. package/mobile/lib/ui-kit/LinkButton/ArrowButton.js.map +1 -1
  548. package/mobile/lib/ui-kit/LinkButton/renderArrows.d.ts +1 -1
  549. package/mobile/lib/ui-kit/LinkButton/renderArrows.js +2 -8
  550. package/mobile/lib/ui-kit/LinkButton/renderArrows.js.map +1 -1
  551. package/mobile/lib/ui-kit/LinkButton/useFormSubmit.d.ts +0 -1
  552. package/mobile/lib/ui-kit/LinkButton/useFormSubmit.js +1 -2
  553. package/mobile/lib/ui-kit/LinkButton/useFormSubmit.js.map +1 -1
  554. package/mobile/lib/ui-kit/PopupManager/PopupManager.js +1 -1
  555. package/mobile/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  556. package/mobile/lib/ui-kit/ReportDialog/ReportDialog.js +2 -8
  557. package/mobile/lib/ui-kit/ReportDialog/ReportDialog.js.map +1 -1
  558. package/mobile/lib/ui-kit/Select/Select.js +2 -2
  559. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  560. package/mobile/lib/ui-kit/Sitemap/Sitemap.js +1 -1
  561. package/mobile/lib/ui-kit/Sitemap/Sitemap.js.map +1 -1
  562. package/mobile/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js +2 -2
  563. package/mobile/lib/ui-kit/SwipeListControl/SwipeListScrollButtons.js.map +1 -1
  564. package/mobile/lib/ui-kit/TabsControl/ScrollableTabsControl.js +2 -2
  565. package/mobile/lib/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
  566. package/mobile/lib/ui-kit/TabsControl/TabItemInner.js +1 -1
  567. package/mobile/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  568. package/mobile/lib/ui-kit/TimerCircle/Timer.d.ts +1 -3
  569. package/mobile/lib/ui-kit/TimerCircle/Timer.js +4 -19
  570. package/mobile/lib/ui-kit/TimerCircle/Timer.js.map +1 -1
  571. package/mobile/lib/ui-kit/TimerCircle/TimerCircle.d.ts +2 -3
  572. package/mobile/lib/ui-kit/TimerCircle/TimerCircle.js +7 -12
  573. package/mobile/lib/ui-kit/TimerCircle/TimerCircle.js.map +1 -1
  574. package/mobile/lib/ui-kit/TimerCircle/useCountDownTimer.d.ts +8 -0
  575. package/mobile/lib/ui-kit/TimerCircle/useCountDownTimer.js +25 -0
  576. package/mobile/lib/ui-kit/TimerCircle/useCountDownTimer.js.map +1 -0
  577. package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +8 -4
  578. package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  579. package/mobile/lib/utils/adjustHref.d.ts +0 -2
  580. package/mobile/lib/utils/adjustHref.js +6 -9
  581. package/mobile/lib/utils/adjustHref.js.map +1 -1
  582. package/mobile/lib/utils/url.d.ts +4 -4
  583. package/mobile/lib/utils/url.js +6 -11
  584. package/mobile/lib/utils/url.js.map +1 -1
  585. package/mobile/src/components/ApplicationForm/Footnote.tsx +4 -9
  586. package/mobile/src/components/ApplicationLeadForm/Footnote.tsx +4 -9
  587. package/mobile/src/components/ApplicationLeadForm/GroupedConsents.tsx +1 -1
  588. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +1 -1
  589. package/mobile/src/components/CreditCardForm/CreditCardFormStatus.tsx +6 -21
  590. package/mobile/src/components/CreditCardForm/CreditCardFormStatusTracker.tsx +5 -5
  591. package/mobile/src/components/CreditCardForm/PendingStatusContent.tsx +22 -24
  592. package/mobile/src/components/CreditCardForm/StepsNavigationButtons.tsx +1 -1
  593. package/mobile/src/components/CreditForm/CreditFormStatus.tsx +6 -26
  594. package/mobile/src/components/CreditForm/CreditFormStatusTracker.tsx +6 -6
  595. package/mobile/src/components/CreditForm/PendingStatusContent.tsx +34 -36
  596. package/mobile/src/components/CreditForm/StepsNavigationButtons.tsx +1 -1
  597. package/mobile/src/components/Footer/Footer.tsx +2 -5
  598. package/mobile/src/components/GrantSupport/GrantSupport.tsx +6 -11
  599. package/mobile/src/components/OfficesAtmsMap/FiltrationForm.tsx +1 -0
  600. package/mobile/src/components/OfficesAtmsMap/FoldableCardContent.tsx +1 -1
  601. package/mobile/src/components/ProductBlock/renderBackwardButton.tsx +1 -0
  602. package/mobile/src/components/RollupItem/RollupItem.tsx +1 -1
  603. package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +4 -2
  604. package/mobile/src/components/TariffsTable/TariffsTable.tsx +1 -1
  605. package/mobile/src/hooks/useInterval.ts +9 -5
  606. package/mobile/src/hooks/useLink.ts +15 -34
  607. package/mobile/src/services/retail/content.tsx +0 -8
  608. package/mobile/src/ui-kit/BaseFiltration/GridBlocks.tsx +1 -1
  609. package/mobile/src/ui-kit/Button/Button.tsx +27 -17
  610. package/mobile/src/ui-kit/Button/ButtonTitle.tsx +1 -1
  611. package/mobile/src/ui-kit/Button/IconButton.tsx +15 -0
  612. package/mobile/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +5 -7
  613. package/mobile/src/ui-kit/DatePicker/Calendar.tsx +3 -9
  614. package/mobile/src/ui-kit/DatePicker/DatePicker.tsx +14 -7
  615. package/mobile/src/ui-kit/DialogManager/Dialog.tsx +6 -1
  616. package/mobile/src/ui-kit/DialogManager/DialogManager.tsx +1 -1
  617. package/mobile/src/ui-kit/Foldable/DefaultFoldButton.tsx +13 -3
  618. package/mobile/src/ui-kit/Foldable/Foldable.tsx +1 -1
  619. package/mobile/src/ui-kit/Foldable/FoldableSection.tsx +27 -26
  620. package/mobile/src/ui-kit/Icon/RoundedIcon.tsx +9 -10
  621. package/mobile/src/ui-kit/InfoCard/InfoCard.tsx +1 -5
  622. package/mobile/src/ui-kit/InnerTable/InnerTableButton.tsx +6 -8
  623. package/mobile/src/ui-kit/Input/Input.tsx +19 -15
  624. package/mobile/src/ui-kit/Link/Link.tsx +82 -0
  625. package/mobile/src/ui-kit/LinkButton/ArrowButton.tsx +6 -37
  626. package/mobile/src/ui-kit/LinkButton/renderArrows.tsx +12 -28
  627. package/mobile/src/ui-kit/LinkButton/useFormSubmit.ts +23 -21
  628. package/mobile/src/ui-kit/PopupManager/PopupManager.tsx +1 -0
  629. package/mobile/src/ui-kit/ReportDialog/ReportDialog.tsx +24 -29
  630. package/mobile/src/ui-kit/Select/Select.tsx +3 -3
  631. package/mobile/src/ui-kit/Sitemap/Sitemap.tsx +1 -1
  632. package/mobile/src/ui-kit/SwipeListControl/SwipeListScrollButtons.tsx +3 -3
  633. package/mobile/src/ui-kit/TabsControl/ScrollableTabsControl.tsx +3 -3
  634. package/mobile/src/ui-kit/TabsControl/TabItemInner.tsx +0 -1
  635. package/mobile/src/ui-kit/TimerCircle/Timer.tsx +7 -25
  636. package/mobile/src/ui-kit/TimerCircle/TimerCircle.tsx +23 -39
  637. package/mobile/src/ui-kit/TimerCircle/useCountDownTimer.ts +38 -0
  638. package/mobile/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +13 -12
  639. package/mobile/src/utils/adjustHref.ts +9 -11
  640. package/mobile/src/utils/url.ts +14 -16
  641. package/package.json +1 -1
  642. package/src/components/ApplicationForm/Footnote.tsx +4 -9
  643. package/src/components/ApplicationLeadForm/Footnote.tsx +4 -9
  644. package/src/components/ApplicationLeadForm/GroupedConsents.tsx +1 -1
  645. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +1 -1
  646. package/src/components/CreditCardForm/CreditCardFormStatus.tsx +6 -21
  647. package/src/components/CreditCardForm/CreditCardFormStatusTracker.tsx +5 -5
  648. package/src/components/CreditCardForm/PendingStatusContent.tsx +22 -24
  649. package/src/components/CreditCardForm/StepsNavigationButtons.tsx +1 -1
  650. package/src/components/CreditForm/CreditFormStatus.tsx +6 -26
  651. package/src/components/CreditForm/CreditFormStatusTracker.tsx +6 -6
  652. package/src/components/CreditForm/PendingStatusContent.tsx +34 -36
  653. package/src/components/CreditForm/StepsNavigationButtons.tsx +1 -1
  654. package/src/components/Footer/Footer.tsx +2 -5
  655. package/src/components/GrantSupport/GrantSupport.tsx +6 -11
  656. package/src/components/OfficesAtmsMap/FiltrationForm.tsx +1 -0
  657. package/src/components/OfficesAtmsMap/FoldableCardContent.tsx +1 -1
  658. package/src/components/ProductBlock/renderBackwardButton.tsx +1 -0
  659. package/src/components/ProductGallery/ProductGallery.tsx +3 -3
  660. package/src/components/RollupItem/RollupItem.tsx +1 -1
  661. package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +4 -2
  662. package/src/components/TariffsTable/TariffsTable.tsx +1 -1
  663. package/src/hooks/useInterval.ts +9 -5
  664. package/src/hooks/useLink.ts +15 -34
  665. package/src/services/retail/content.tsx +0 -8
  666. package/src/ui-kit/BaseFiltration/GridBlocks.tsx +1 -1
  667. package/src/ui-kit/Button/Button.tsx +27 -17
  668. package/src/ui-kit/Button/ButtonTitle.tsx +1 -1
  669. package/src/ui-kit/Button/IconButton.tsx +15 -0
  670. package/src/ui-kit/Checkbox/CheckboxWithDoc.tsx +5 -7
  671. package/src/ui-kit/DatePicker/Calendar.tsx +3 -9
  672. package/src/ui-kit/DatePicker/DatePicker.tsx +14 -7
  673. package/src/ui-kit/DialogManager/Dialog.tsx +6 -1
  674. package/src/ui-kit/DialogManager/DialogManager.tsx +1 -1
  675. package/src/ui-kit/Foldable/DefaultFoldButton.tsx +13 -3
  676. package/src/ui-kit/Foldable/Foldable.tsx +1 -1
  677. package/src/ui-kit/Foldable/FoldableSection.tsx +27 -26
  678. package/src/ui-kit/Icon/RoundedIcon.tsx +9 -10
  679. package/src/ui-kit/InfoCard/InfoCard.tsx +1 -5
  680. package/src/ui-kit/InnerTable/InnerTableButton.tsx +6 -8
  681. package/src/ui-kit/Input/Input.tsx +19 -15
  682. package/src/ui-kit/Link/Link.tsx +82 -0
  683. package/src/ui-kit/LinkButton/ArrowButton.tsx +6 -37
  684. package/src/ui-kit/LinkButton/renderArrows.tsx +12 -28
  685. package/src/ui-kit/LinkButton/useFormSubmit.ts +23 -21
  686. package/src/ui-kit/PopupManager/PopupManager.tsx +1 -0
  687. package/src/ui-kit/ReportDialog/ReportDialog.tsx +24 -29
  688. package/src/ui-kit/Select/Select.tsx +3 -3
  689. package/src/ui-kit/Sitemap/Sitemap.mobile.tsx +1 -1
  690. package/src/ui-kit/SwipeListControl/SwipeListScrollButtons.tsx +3 -3
  691. package/src/ui-kit/TabsControl/ScrollableTabsControl.tsx +3 -3
  692. package/src/ui-kit/TabsControl/TabItemInner.tsx +0 -1
  693. package/src/ui-kit/TimerCircle/Timer.tsx +7 -25
  694. package/src/ui-kit/TimerCircle/TimerCircle.fixture.tsx +1 -6
  695. package/src/ui-kit/TimerCircle/TimerCircle.tsx +23 -39
  696. package/src/ui-kit/TimerCircle/useCountDownTimer.ts +38 -0
  697. package/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +13 -12
  698. package/src/utils/adjustHref.ts +9 -11
  699. package/src/utils/url.ts +14 -16
  700. package/bundle/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  701. package/bundle/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  702. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  703. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +0 -17
  704. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +0 -1
  705. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  706. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +0 -2
  707. package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +0 -1
  708. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  709. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +0 -15
  710. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +0 -1
  711. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  712. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +0 -2
  713. package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +0 -1
  714. package/mobile/bundle/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  715. package/mobile/bundle/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  716. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  717. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +0 -17
  718. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +0 -1
  719. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  720. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +0 -2
  721. package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +0 -1
  722. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +0 -2
  723. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +0 -15
  724. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +0 -1
  725. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +0 -9
  726. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +0 -2
  727. package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +0 -1
  728. package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +0 -21
  729. package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +0 -9
  730. package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +0 -21
  731. package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +0 -9
@@ -234,25 +234,20 @@
234
234
  const isURL = (href) => Boolean(href?.includes(':'));
235
235
  const isLocalURL = (href, target) => Boolean(href && !isURL(href) && (!target || target === '_self'));
236
236
  const isHash = (href) => Boolean(href?.startsWith('#'));
237
- const withoutQuery = (href) => (href || '').replace(/\?.*/, '').replace(/\/$/, '');
237
+ const withoutQuery = (href) => (href ?? '').replace(/\?.*/, '').replace(/\/$/, '');
238
238
  const joinPath = (...path) => path
239
239
  .filter(Boolean)
240
240
  .join('/')
241
241
  .replace(/\/+/g, '/')
242
- .replace(/^(.+):\//, '$1://')
242
+ .replace(/^(.+):\//, '$1://') // TODO Череда очень странных преобрвзований
243
243
  .replace(/^file:/, 'file:/')
244
244
  .replace(/\/(\?|&|#[^!])/g, '$1')
245
245
  .replace(/\?/g, '&')
246
246
  .replace('&', '?');
247
- const hasPrefix = (href, prefix) => {
248
- if (!href || !prefix) {
249
- return false;
250
- }
251
- if (href.startsWith(prefix)) {
252
- return [prefix === '/', href === prefix, href[prefix.length] === '/'].some(Boolean);
253
- }
254
- return false;
255
- };
247
+ const hasPrefix = (href) => (prefix) => Boolean(href &&
248
+ prefix &&
249
+ href.startsWith(prefix) &&
250
+ (prefix === '/' || href === prefix || href[prefix.length] === '/'));
256
251
 
257
252
  var url = /*#__PURE__*/Object.freeze({
258
253
  __proto__: null,
@@ -264,23 +259,20 @@
264
259
  hasPrefix: hasPrefix
265
260
  });
266
261
 
267
- const PREFIX_API = '/api/';
268
- const FILE_STORAGE_API = `${PREFIX_API}v1/storage`;
262
+ const API_PREFIX = '/api/';
263
+ const FILE_STORAGE_API = `${API_PREFIX}v1/storage`;
264
+ const DIRECT_HREF_PREFIXES = [projectSettings.CDN, API_PREFIX];
269
265
  const adjustHref = (router) => (href, basePath) => {
270
- if ([
271
- !href,
272
- isURL(href),
273
- isHash(href),
274
- [projectSettings.CDN, PREFIX_API].some((_) => hasPrefix(href, _)),
275
- ].some(Boolean)) {
266
+ if (isDirectHref(href)) {
276
267
  return href;
277
268
  }
278
269
  if (isUUID(href)) {
279
270
  return `${FILE_STORAGE_API}/${href}/attachment`;
280
271
  }
281
272
  const isRelativeToBase = href?.startsWith('/');
282
- return joinPath(hasPrefix(href, basePath) ? '' : basePath, isRelativeToBase ? '/' : dirname(router.pathname), href);
273
+ return joinPath(hasPrefix(href)(basePath) ? '' : basePath, isRelativeToBase ? '/' : dirname(router.pathname), href);
283
274
  };
275
+ const isDirectHref = (href) => !href || isURL(href) || isHash(href) || DIRECT_HREF_PREFIXES.some(hasPrefix(href));
284
276
 
285
277
  const isOnlyDigits = (str) => str && !/\D/.test(str);
286
278
 
@@ -369,7 +361,7 @@
369
361
  });
370
362
 
371
363
  /** @deprecated */
372
- const buttonStyleMap$1 = {
364
+ const buttonStyleMap = {
373
365
  primary: 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active',
374
366
  secondary: 'text-primary-main bg-main-divider hover:text-white hover:bg-primary-hover active:bg-primary-active',
375
367
  white: 'text-primary-main bg-white hover:text-white hover:bg-primary-hover active:bg-white active:text-primary-main',
@@ -392,7 +384,7 @@
392
384
  /** @deprecated */
393
385
  const buttonStyle$2 = 'text-center font-sans select-none';
394
386
  /** @deprecated */
395
- const iconStyleMap = {
387
+ const iconStyleMap$1 = {
396
388
  primary: 'group-hover/btn:brightness-0 group-hover/btn:invert',
397
389
  secondary: 'group-hover/btn:brightness-0 group-hover/btn:invert',
398
390
  white: 'group-hover/btn:brightness-0 group-hover/btn:invert',
@@ -406,7 +398,7 @@
406
398
  const getRegularButtonClasses = ({ className, rounded, version, }) => [
407
399
  buttonStyle$2,
408
400
  'border border-transparent inline-block cursor-pointer no-underline focus:border-primary-text focus:border h-fit',
409
- version ? buttonStyleMap$1[version] : '',
401
+ version ? buttonStyleMap[version] : '',
410
402
  rounded ? 'rounded-full' : 'rounded-md',
411
403
  className,
412
404
  ].join(' ');
@@ -487,7 +479,6 @@
487
479
  const adjustBase = (href, basePath = '') => href?.replace(basePath, '') || '/';
488
480
 
489
481
  function useLink() {
490
- const basePath = getBasePath(env.SITE_URL);
491
482
  const router = useRouter();
492
483
  const { closeAll } = useDialogManager();
493
484
  return (props) => {
@@ -496,33 +487,21 @@
496
487
  ...props,
497
488
  href,
498
489
  'aria-label': props.text,
499
- onClick: handlerDecorator(handleHref({ ...props, href })),
490
+ onClick: handlerDecorator((ev) => {
491
+ props.onClick?.(ev);
492
+ const basePath = getBasePath(env.SITE_URL);
493
+ if (isClientRouting(href, props.target, basePath)) {
494
+ closeAll();
495
+ ev?.preventDefault();
496
+ router.push(adjustBase(href, basePath));
497
+ }
498
+ }),
500
499
  };
501
500
  };
502
- function handleHref({ href, target, onClick }) {
503
- return (ev) => {
504
- onClick?.(ev);
505
- if (checkIsRemote(href, target, basePath)) {
506
- //? Native routing
507
- return;
508
- }
509
- closeAll();
510
- //? Client routing
511
- ev?.preventDefault();
512
- router.push(adjustBase(href, basePath));
513
- };
514
- }
515
501
  }
516
- const checkIsRemote = (href, target, basePath) => {
517
- if (!isLocalURL(href, target)) {
518
- return true;
519
- }
520
- const subPortals = env.SUB_PORTALS?.split(',');
521
- if (subPortals?.some((_) => hasPrefix(href, _))) {
522
- return true;
523
- }
524
- return !hasPrefix(href, basePath || '/');
525
- };
502
+ const isClientRouting = (href, target, basePath) => isLocalURL(href, target) &&
503
+ !env.SUB_PORTALS?.split(',')?.some(hasPrefix(href)) &&
504
+ hasPrefix(href)(basePath || '/');
526
505
 
527
506
  const getAspectsAttributes = (data) => {
528
507
  try {
@@ -537,7 +516,7 @@
537
516
  const ButtonInner = JSX((props) => {
538
517
  const { text, aboveText, appendLeft, appendRight, version = 'primary' } = props;
539
518
  const iconHideStyle = isWithText(props) && 'hidden lg:block';
540
- 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] }));
519
+ 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] }));
541
520
  });
542
521
  const buttonStyle$1 = (props) => {
543
522
  const { version, aboveText, rounded } = props;
@@ -560,7 +539,6 @@
560
539
  className,
561
540
  ].join(' ');
562
541
 
563
- /** @deprecated */
564
542
  const useFormSubmit = ({ method, href }) => useCallback((ev) => {
565
543
  if (method !== 'POST' || !href) {
566
544
  return;
@@ -580,7 +558,7 @@
580
558
  }
581
559
  document.body.appendChild(form);
582
560
  form.submit();
583
- }, []);
561
+ }, [method, href]);
584
562
 
585
563
  /** @deprecated */
586
564
  const LinkButton = JSX(({ disabled, children, method = 'LINK', href, ...rest }) => {
@@ -593,6 +571,7 @@
593
571
  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 })));
594
572
  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 })));
595
573
 
574
+ // TODO Заменить LinkButton на Button и применить RoundedIcon
596
575
  function renderBackwardButton({ version, handleClick, text = 'Вернуться назад', alwaysVisible = false, }) {
597
576
  if (!text) {
598
577
  return null;
@@ -1293,10 +1272,10 @@
1293
1272
 
1294
1273
  const Input = JSX(
1295
1274
  // eslint-disable-next-line max-lines-per-function
1296
- ({ key, className = '', id, name, type = 'text', label, placeholder, value = '', valid = true, children, onChange, onFocus, onBlur, pattern, autoFocus = false, isTextarea = false, disabled = false, }) => {
1275
+ ({ key, className, id, name, type = 'text', label, placeholder, value = '', valid = true, pattern, autoFocus = false, isTextarea = false, disabled = false, children, onChange, onFocus, onBlur, }) => {
1297
1276
  const inputRef = useRef(null);
1298
1277
  const handleChange = useCallback((e) => {
1299
- const valueWithoutSpace = (e.target?.value || '').trimStart();
1278
+ const valueWithoutSpace = (e.target?.value ?? '').trimStart();
1300
1279
  onChange && onChange(valueWithoutSpace);
1301
1280
  }, [onChange]);
1302
1281
  useEffect(() => {
@@ -1306,7 +1285,8 @@
1306
1285
  }, [autoFocus, inputRef]);
1307
1286
  const paddingStyle = children ? 'pr-3xl' : '';
1308
1287
  const validStyle = getValidStyle(valid);
1309
- 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] }));
1288
+ const ariaLabel = label ?? name ?? id;
1289
+ 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] }));
1310
1290
  });
1311
1291
  const defaultStyle$1 = 'w-full border rounded-md text-primary-text outline-none p-m';
1312
1292
 
@@ -1574,7 +1554,7 @@
1574
1554
  return inputRef;
1575
1555
  }
1576
1556
 
1577
- const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, iconVersion = 'black', onChange, disabled = false, }) => {
1557
+ const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, disabled = false, iconVersion = 'black', onChange, }) => {
1578
1558
  const [isOpen, { setFalse: close, setTrue: open }] = useBool();
1579
1559
  const [query, setQuery] = useState('');
1580
1560
  const isDisabled = getDisabled(disabled, options.length);
@@ -1598,7 +1578,7 @@
1598
1578
  onClose: handleClose,
1599
1579
  iconVersion,
1600
1580
  });
1601
- 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$1(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] })] }));
1581
+ 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$1(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] })] }));
1602
1582
  });
1603
1583
  const renderIcon$1 = (isOpen, iconVersion) => (jsx(Icon, { className: style('absolute right-0 flex self-center', { 'rotate-180': !isOpen }), iconVersion: iconVersion, name: "ArrowUpIcon", width: "16", height: "16" }));
1604
1584
  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');
@@ -1861,11 +1841,7 @@
1861
1841
  }, isDisabled ? 'text-gray hover:bg-transparent' : 'cursor-pointer');
1862
1842
 
1863
1843
  const WEEK_DAYS = ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'];
1864
- const Calendar = JSX(({ today, currentMonth, currentYear, min, max, onDateSelect = noop, setValue = noop }) => {
1865
- const handleDateClick = useCallback((date) => {
1866
- onDateSelect(date);
1867
- setValue(false);
1868
- }, []);
1844
+ const Calendar = JSX(({ today, currentMonth, currentYear, min, max, onDateSelect = noop }) => {
1869
1845
  const { firstDayOfWeek, totalDays } = useMemo(() => ({
1870
1846
  firstDayOfWeek: new Date(currentYear, currentMonth, 1).getDay() - 1,
1871
1847
  totalDays: new Date(currentYear, currentMonth + 1, 0).getDate(),
@@ -1878,7 +1854,7 @@
1878
1854
  currentMonth,
1879
1855
  min,
1880
1856
  max,
1881
- onDateClick: handleDateClick,
1857
+ onDateClick: onDateSelect,
1882
1858
  }) })] }));
1883
1859
  });
1884
1860
 
@@ -2073,16 +2049,20 @@
2073
2049
  const DatePicker = JSX(
2074
2050
  // eslint-disable-next-line max-lines-per-function
2075
2051
  ({ className = '', label = '', value, valid = true, minDate, maxDate, disabled, onChange }) => {
2076
- const [showCalendar, { setValue }] = useBool(false);
2052
+ const [isCalendarVisible, { setValue, setFalse: hideCalendar }] = useBool(false);
2077
2053
  const [selectedMonth, setSelectedMonth] = useState(value?.getMonth() || new Date().getMonth());
2078
- const [selectedYear, setSelectedYear] = useState(value?.getFullYear() || new Date().getFullYear());
2054
+ const [selectedYear, setSelectedYear] = useState(value?.getFullYear() ?? new Date().getFullYear());
2055
+ const handleDateSelect = useCallback((date) => {
2056
+ onChange?.(date);
2057
+ hideCalendar();
2058
+ }, [onChange]);
2079
2059
  const { handlePrevMonth, handleNextMonth, handleSelectMonth, handleSelectYear, monthsOptions, yearsOptions, handleChangeVisibleCalendar, ref, } = useDatePickerManager({
2080
2060
  onYearSelect: setSelectedYear,
2081
2061
  onMonthSelect: setSelectedMonth,
2082
2062
  onShowCalendar: setValue,
2083
2063
  selectedYear,
2084
2064
  selectedMonth,
2085
- showCalendar,
2065
+ showCalendar: isCalendarVisible,
2086
2066
  onChange,
2087
2067
  value,
2088
2068
  });
@@ -2095,9 +2075,9 @@
2095
2075
  disabled,
2096
2076
  setSelectedMonth,
2097
2077
  setSelectedYear,
2098
- }), showCalendar && !disabled ? (jsxs("div", { className: style('absolute bg-white z-20 select-none', {
2078
+ }), isCalendarVisible && !disabled ? (jsxs("div", { className: style('absolute bg-white z-20 select-none', {
2099
2079
  'bottom-full': spaceAbove,
2100
- }), 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] })] }));
2080
+ }), 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] })] }));
2101
2081
  });
2102
2082
 
2103
2083
  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)] })));
@@ -2134,9 +2114,9 @@
2134
2114
  onChange && onChange(!value);
2135
2115
  }, [onChange, disabled, value]);
2136
2116
  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" }));
2137
- 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$2(text)] }) }));
2117
+ 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)] }) }));
2138
2118
  });
2139
- const renderText$2 = (text) => text ? (jsx("div", { className: "ml-s", children: jsx(Text, { size: "text-l", font: "font-light", children: text }) })) : null;
2119
+ const renderText$3 = (text) => text ? (jsx("div", { className: "ml-s", children: jsx(Text, { size: "text-l", font: "font-light", children: text }) })) : null;
2140
2120
  const getCursorStyle = (disabled = false) => (disabled ? 'cursor-not-allowed' : 'cursor-pointer');
2141
2121
  const role = (isRadio = false) => (isRadio ? 'radio' : 'checkbox');
2142
2122
  const checkboxStyle = (value = false) => style('rounded border', { 'bg-primary-main': value });
@@ -2893,26 +2873,32 @@
2893
2873
 
2894
2874
  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;
2895
2875
 
2896
- const buttonStyleMap = {
2897
- 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'),
2898
- 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'),
2899
- };
2900
- const embeddedStyle = style('group/btn-embedded', 'justify-between p-0', 'bg-transparent border border-transparent outline-none');
2901
- const Button = JSX(({ className, type = 'button', version = 'primary', embedded, rounded = true, disabled, role, data, dataTheme, children, onClick, }) => {
2902
- const handleClick = useCallback(handlerDecorator((ev) => {
2903
- !disabled && onClick?.(ev);
2904
- }), [disabled, onClick]);
2876
+ const themeStyle$1 = {
2877
+ 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'),
2878
+ 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'),
2879
+ };
2880
+ const embeddedStyle = style('group/btn-embedded', 'bg-transparent border border-transparent outline-none');
2881
+ const disabledStyle = style('bg-main-gray text-main-disabled cursor-not-allowed');
2882
+ const Button = JSX(({ className, type = 'button', version = 'primary', shape = 'default', embedded, disabled, role, ariaLabel, data, dataTheme, children, onClick = noop, }) => {
2883
+ const handleClick = useCallback(role !== 'tab' ? handlerDecorator(onClick) : onClick, [
2884
+ role,
2885
+ onClick,
2886
+ ]);
2905
2887
  const aspectsAttrs = useMemo(() => getAspectsAttributes(data), [data]);
2906
- return (jsx("button", { className: style('font-sans flex items-center gap-xs relative', !disabled && !embedded && buttonStyleMap[version], {
2888
+ const isRound = shape === 'round';
2889
+ return (jsx("button", { className: style('font-sans flex items-center gap-xs', {
2890
+ [themeStyle$1[version]]: !disabled && !embedded,
2907
2891
  [embeddedStyle]: embedded,
2908
- 'rounded-md': rounded,
2909
- 'bg-main-gray text-main-disabled cursor-not-allowed': disabled,
2910
- }, className), type: type, role: role, "data-theme": dataTheme, ...aspectsAttrs, onClick: handleClick, children: children }));
2892
+ [disabledStyle]: disabled,
2893
+ }, embedded ? 'justify-between' : 'justify-center', embedded || isRound ? 'p-0' : 'px-9 py-4', {
2894
+ 'rounded-md': shape === 'default',
2895
+ 'rounded-full': isRound,
2896
+ }, className), type: type, role: role, "aria-label": ariaLabel, disabled: disabled, "aria-disabled": disabled ? 'true' : undefined, "data-theme": dataTheme, ...aspectsAttrs, onClick: handleClick, children: children }));
2911
2897
  });
2912
2898
 
2913
2899
  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" }) })));
2914
2900
 
2915
- 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 })] })));
2901
+ 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 })] })));
2916
2902
 
2917
2903
  const ResponseTypeDialog = JSX(({ ok, typeForm, onClose }) => {
2918
2904
  const statusIcon = ok ? 'ResponseOKIcon' : 'ResponseFailIcon';
@@ -3002,7 +2988,28 @@
3002
2988
 
3003
2989
  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] })));
3004
2990
 
3005
- 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] })));
2991
+ const themeStyle = {
2992
+ primary: themeStyle$1.primary,
2993
+ secondary: themeStyle$1.secondary,
2994
+ white: 'text-primary-main bg-white hover:text-white hover:bg-primary-hover active:bg-white active:text-primary-main',
2995
+ link: 'text-primary-main',
2996
+ gray: themeStyle$1.secondary,
2997
+ transparent: '',
2998
+ '': '',
2999
+ };
3000
+ const Link = JSX((props) => {
3001
+ const link = useLink();
3002
+ const { className, href, target, text, aboveText, version = 'link', rel, ariaLabel, data, children, onClick, } = link(props);
3003
+ const buttonLike = version !== 'link';
3004
+ 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', {
3005
+ [themeStyle[version]]: Boolean(version),
3006
+ [aboveText ? 'px-9 py-2.5' : 'px-9 py-4']: buttonLike,
3007
+ 'rounded-md': buttonLike,
3008
+ }, className), href: href, target: target, rel: rel, "aria-label": ariaLabel ?? `Ссылка на ${text}`, role: href ? 'link' : 'button', onClick: onClick, ...getAspectsAttributes(data), children: children ?? renderText$2(text, aboveText) }));
3009
+ });
3010
+ const renderText$2 = (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;
3011
+
3012
+ 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] })));
3006
3013
 
3007
3014
  const agreementText = 'Нажимая кнопку, вы подтверждаете согласие с ';
3008
3015
  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 : 'Отправить заявку' })] }));
@@ -3399,14 +3406,14 @@
3399
3406
 
3400
3407
  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 })));
3401
3408
 
3402
- 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 })));
3409
+ 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 })));
3403
3410
 
3404
3411
  const ToggleIcon = JSX(({ isUnfolded, ...rest }) => (jsx(Icon, { name: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', size: "small", iconVersion: "", ...rest })));
3405
3412
 
3406
- 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' : '' })] })));
3413
+ 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' : '' })] })));
3407
3414
 
3408
3415
  // TODO Не особо полезно, в итоге
3409
- const Foldable = JSX(({ className, role = 'group', children }) => (jsx("div", { className: style(className), role: role, children: children })));
3416
+ const Foldable = JSX(({ className, role = 'tablist', children }) => (jsx("div", { className: style(className), role: role, children: children })));
3410
3417
 
3411
3418
  function useResizeObserver(callback, deps) {
3412
3419
  const ref = useRef(null);
@@ -3426,7 +3433,7 @@
3426
3433
  return ref;
3427
3434
  }
3428
3435
 
3429
- const FoldableSection = JSX(({ className = '', isUnfolded, children }) => {
3436
+ const FoldableSection = JSX(({ className, isUnfolded, children }) => {
3430
3437
  const containerRef = useRef(null);
3431
3438
  const childrenWrapperRef = useResizeObserver((childrenWrapperEl) => {
3432
3439
  if (containerRef.current) {
@@ -3435,12 +3442,14 @@
3435
3442
  : '';
3436
3443
  }
3437
3444
  }, [isUnfolded]);
3438
- 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 }) }));
3445
+ return (jsx("div", { ref: containerRef, className: style('transition-max-h duration-300 overflow-hidden', {
3446
+ 'max-h-0': Boolean(containerRef.current || !isUnfolded),
3447
+ }), 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 }) }));
3439
3448
  });
3440
3449
 
3441
3450
  const FoldableCardContent = JSX(({ children }) => {
3442
3451
  const [isUnfolded, { toggle }] = useBool(false);
3443
- 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 })] })] }));
3452
+ 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 })] })] }));
3444
3453
  });
3445
3454
 
3446
3455
  const getScheduleDescription = (workScheduleWeek) => {
@@ -3774,7 +3783,7 @@
3774
3783
  return [storedValue, setValue];
3775
3784
  }
3776
3785
 
3777
- 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] })] })));
3786
+ 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 }) })] })));
3778
3787
 
3779
3788
  const CardCategoryField = JSX(({ field, input }) => {
3780
3789
  const [cardTypes, setCardTypes] = useState([]);
@@ -3859,10 +3868,9 @@
3859
3868
  }, [open, docId, isMobileMode]);
3860
3869
  };
3861
3870
 
3862
- const OPEN_DOC_BUTTON_TEXT = 'Ознакомиться';
3863
3871
  const CheckboxWithDoc = JSX(({ className, error, docId, ...props }) => {
3864
3872
  const openDocument = useDocumentDialog(docId, () => props.onChange?.(true));
3865
- 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)] }));
3873
+ 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)] }));
3866
3874
  });
3867
3875
 
3868
3876
  const ConsentField = JSX(({ field, input }) => input && input.name ? (jsx(CheckboxWithDoc, { text: CONSENTS[input.name]?.text, docId: CONSENTS[input.name]?.docId, ...field(input.name) })) : null);
@@ -4526,7 +4534,7 @@
4526
4534
  ?.filter((_) => _.required)
4527
4535
  ?.some((_) => Boolean(withValidator(field(_?.name), validatorObj[_?.name]).error)), [inputs]);
4528
4536
  const [isUnfolded, { toggle }] = useBool(true);
4529
- 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)) })] }) }));
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, 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)) })] }) }));
4530
4538
  });
4531
4539
 
4532
4540
  const renderInputs$2 = ({ field, inputs }) => {
@@ -4648,26 +4656,49 @@
4648
4656
  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] }) }));
4649
4657
  });
4650
4658
 
4651
- const Timer = JSX(({ time, setTime, className }) => {
4659
+ const Timer = JSX(({ className, seconds }) => (jsx("span", { className: className, children: formatTimer(seconds) })));
4660
+ const formatTimer = (seconds) => {
4661
+ const minutes = Math.floor(seconds / 60);
4662
+ return [minutes, seconds % 60].map((_) => String(_).padStart(2, '0')).join(':');
4663
+ };
4664
+
4665
+ const useInterval = (handler, period) => {
4666
+ const timer = useRef(null);
4667
+ const stop = useCallback(() => clearInterval(timer.current), []);
4668
+ const start = useCallback(() => {
4669
+ stop();
4670
+ timer.current = setInterval(() => handler(stop), period);
4671
+ }, [handler, period, stop]);
4652
4672
  useEffect(() => {
4653
- const timer = setInterval(() => {
4654
- setTime(time - 1);
4655
- }, 1000);
4656
- if (time === 0) {
4657
- clearInterval(timer);
4658
- }
4659
- return () => {
4660
- clearInterval(timer);
4661
- };
4662
- }, [time]);
4663
- return jsx("span", { className: className, children: secondsToMinSecPadded(time) });
4664
- });
4665
- const secondsToMinSecPadded = (time) => {
4666
- const minutes = `${Math.floor(time / 60)}`.padStart(2, '0');
4667
- const seconds = `${time % 60}`.padStart(2, '0');
4668
- return `${minutes}:${seconds}`;
4673
+ start();
4674
+ return stop;
4675
+ }, [start, stop]);
4676
+ return { start, stop };
4669
4677
  };
4670
4678
 
4679
+ function useCountDownTimer({ seconds, period = 1000, onTick, onEnd }) {
4680
+ const counter = useRef(seconds);
4681
+ const handleTick = useCallback((stop) => {
4682
+ counter.current ||= 0;
4683
+ counter.current = Math.max(0, counter.current - 1);
4684
+ try {
4685
+ onTick?.(counter.current);
4686
+ }
4687
+ finally {
4688
+ if (counter.current <= 0) {
4689
+ stop();
4690
+ onEnd?.();
4691
+ }
4692
+ }
4693
+ }, [onTick, onEnd]);
4694
+ const { start } = useInterval(handleTick, period);
4695
+ const restart = useCallback((_) => {
4696
+ counter.current = _;
4697
+ start();
4698
+ }, []);
4699
+ return restart;
4700
+ }
4701
+
4671
4702
  const InputCode = JSX(({ values, setValues, hasError, errorText }) => {
4672
4703
  const [activeIndex, setActiveIndex] = useState(0);
4673
4704
  const inputRefs = useRef([]);
@@ -4770,6 +4801,7 @@
4770
4801
  const { handleSubmit, hasError, errorText, isLoading, timeNextReq, isSubmitButtonDisabled, setTimeNextReq, setIsTimerStarted, setAttempts, } = useVerifyPhoneDialogSubmit({ values, onSuccess });
4771
4802
  const captchaDialog = useDialog(CaptchaDialog);
4772
4803
  const phoneNumber = formatPhone(phone);
4804
+ const restartTimer = useCountDownTimer({ seconds: timeNextReq, onTick: setTimeNextReq });
4773
4805
  const handleSendCode = useCallback(async () => {
4774
4806
  const isSuccessSendCode = await sendCode({
4775
4807
  phoneNumber,
@@ -4778,19 +4810,20 @@
4778
4810
  if (isSuccessSendCode) {
4779
4811
  setAttempts(0);
4780
4812
  setTimeNextReq(180);
4813
+ restartTimer(180);
4781
4814
  setIsTimerStarted(true);
4782
4815
  }
4783
4816
  else {
4784
4817
  captchaDialog.open({ phoneNumber, sendCode: handleSendCode });
4785
4818
  }
4786
- }, [phoneNumber, onClose]);
4819
+ }, [phoneNumber, restartTimer, onClose]);
4787
4820
  useEffect(() => {
4788
4821
  handleSendCode();
4789
4822
  }, []);
4790
- 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$1(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] }) }));
4823
+ 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$1(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] }) }));
4791
4824
  });
4792
4825
  const renderNextButton = (isDisabled, onClick) => (jsx(SubmitButton, { text: "\u0414\u0430\u043B\u0435\u0435", isDisabled: isDisabled, onClick: onClick }));
4793
- const renderText$1 = (timeNextReq, setTimeNextReq, handleSendCode) => timeNextReq ? (jsxs("div", { className: "flex flex-row text-l font-light text-base", children: ["\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434 \u043C\u043E\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437", jsx(Timer, { className: "text-base ml-1", time: timeNextReq, setTime: setTimeNextReq })] })) : (jsx(LinkButton, { onClick: handleSendCode, className: "text-primary-main", children: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434" }));
4826
+ const renderText$1 = (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" }) }));
4794
4827
 
4795
4828
  const defaultConsentText = {
4796
4829
  title: 'Подпишите согласие на запрос в БКИ',
@@ -5490,7 +5523,7 @@
5490
5523
  ? [blocksToRender.slice(0, topItemsCount), blocksToRender.slice(topItemsCount)]
5491
5524
  : [blocksToRender, []];
5492
5525
  const [isUnfolded, { toggle }] = useBool(false);
5493
- 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 })] })] }));
5526
+ 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 })] })] }));
5494
5527
  });
5495
5528
 
5496
5529
  const getBorderStyle = (showBorder = false) => showBorder
@@ -5712,20 +5745,18 @@
5712
5745
  behavior: isAuto ? 'auto' : 'smooth',
5713
5746
  });
5714
5747
 
5748
+ 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" }) })));
5749
+
5715
5750
  /** @deprecated */
5716
- 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
5717
- ? 'bg-secondary-light text-secondary-text'
5718
- : '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" }) })));
5719
- /** @deprecated */
5720
- 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" })));
5751
+ 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 })));
5721
5752
  /** @deprecated */
5722
- 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" })));
5753
+ 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 })));
5723
5754
 
5724
5755
  const blurBaseStyle = 'absolute top-0 bottom-0 z-40 hidden @lg:block w-20 pointer-events-none';
5725
5756
  const SwipeListScrollButtons = JSX(({ className, scroll, hasBlur, arrowsPadded, isBottom }) => {
5726
5757
  const { canScrollLeft, canScrollRight, scrollLeft, scrollRight } = scroll;
5727
5758
  const isArrowPadded = arrowsPadded && !isBottom;
5728
- 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] }));
5759
+ 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] }));
5729
5760
  });
5730
5761
  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] }));
5731
5762
  const buttonStyle = (isBottom = false) => style('absolute z-40', isBottom ? 'bottom-[56px]' : 'top-[calc(50%-24px)]');
@@ -5880,18 +5911,16 @@
5880
5911
 
5881
5912
  const getAlignStyles = (isMobile = false) => (isMobile ? 'text-left' : 'text-center');
5882
5913
 
5883
- const iconBgStyles = {
5914
+ const DEFAULT_ICON_SIZE = 44;
5915
+ const iconStyleMap = {
5884
5916
  '': 'bg-main-divider group-data-secondary:bg-white/30',
5885
5917
  primary: 'bg-main-divider',
5886
5918
  secondary: 'bg-secondary-light',
5887
5919
  opacity: 'bg-white/30',
5888
5920
  };
5889
- const RoundedIcon = JSX(({ className, defaultIconSize = 44, iconBgVersion = 'primary', size, icon, ...rest }) => {
5890
- const widthAndHeight = String(size?.width || defaultIconSize);
5891
- return icon ? (jsx("div", { style: {
5892
- width: `${widthAndHeight}px`,
5893
- height: `${widthAndHeight}px`,
5894
- }, className: style('rounded-icon object-fit flex justify-center items-center', iconBgStyles[iconBgVersion], className), children: jsx(Icon, { ...rest, width: "54%", name: icon }) })) : null;
5921
+ const RoundedIcon = JSX(({ className, iconBgVersion = 'primary', size, icon, ...rest }) => {
5922
+ const width = `${size?.width ?? DEFAULT_ICON_SIZE}px`;
5923
+ 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;
5895
5924
  });
5896
5925
 
5897
5926
  const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => {
@@ -6875,7 +6904,7 @@
6875
6904
  parent: options?.parent,
6876
6905
  });
6877
6906
  }, [isVisible, options?.parent]);
6878
- 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 }))] }));
6907
+ 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 }))] }));
6879
6908
  });
6880
6909
 
6881
6910
  const ContactsBlock = JSX(({ className, contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: style('flex', className), defaultPadding: "p-6xl", version: version, ...rest, children: [info?.length ? renderBlocks(info) : null, contacts?.length ? renderBlocks(contacts) : null] })));
@@ -6939,35 +6968,16 @@
6939
6968
 
6940
6969
  const sendSignalToProcess = (body) => doRequest('/user-data/sendSignalToProcess', 'POST', body);
6941
6970
 
6942
- const useInterval = (handler, period) => {
6943
- const timer = useRef(null);
6944
- const clearTimer = useCallback(() => timer.current && clearInterval(timer.current), []);
6945
- useEffect(() => {
6946
- timer.current = setInterval(() => handler(clearTimer), period);
6947
- return clearTimer;
6948
- }, [handler, period]);
6949
- return clearTimer;
6950
- };
6951
-
6952
- const TimerCircle = JSX(({ interval = 0, intervalExpireAction = () => null, title, __html }) => {
6971
+ const TimerCircle = JSX(({ title, interval = 0, onEnd = noop }) => {
6953
6972
  const [time, setTime] = useState(interval);
6954
- const setTimeWithHandleExpire = (value) => {
6955
- if (value === 0) {
6956
- intervalExpireAction();
6957
- }
6958
- setTime(value);
6959
- };
6973
+ useCountDownTimer({ seconds: interval, onTick: setTime, onEnd });
6960
6974
  const gradientPercentage = 100 - ((interval - time) / interval) * 100;
6961
- 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: {
6962
- background: `conic-gradient(rgb(66, 171, 68) ${gradientPercentage}%, rgb(125, 126, 127) 0deg)`,
6963
- } }), 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] })] }));
6975
+ 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: {
6976
+ background: `conic-gradient(rgb(66, 171, 68) ${gradientPercentage}%, rgb(125, 126, 127) 0deg)`,
6977
+ } }), 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 }) })] })] }));
6964
6978
  });
6965
6979
 
6966
- const CreditCardFormStatus = JSX(({ title, description: dsc, infoCard, sectionInfoTitle, sectionInfo, sectionAdditionalTitle, sectionInfoAdditional, buttonText, interval, intervalExpireAction = () => {
6967
- return;
6968
- }, ...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: {
6969
- text: infoCard?.link?.text,
6970
- } })) : null, buttonText ? (jsx(LinkButton, { href: "/natural", text: buttonText, version: "primary", className: "w-full mt-lg" })) : null] })));
6980
+ 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] })));
6971
6981
  const SectionInfo$1 = ({ title, items, countColumns = false, }) => {
6972
6982
  const isMobile = useMobileMode();
6973
6983
  if (!items) {
@@ -6979,9 +6989,9 @@
6979
6989
 
6980
6990
  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" })));
6981
6991
 
6982
- const PendingStatusContent$1 = JSX(({ handleExpireTimer }) => {
6992
+ const PendingStatusContent$1 = JSX(({ onExpire }) => {
6983
6993
  const { statusInfo } = useRetailFormStore();
6984
- 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: [
6994
+ 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: [
6985
6995
  {
6986
6996
  label: 'Название продукта',
6987
6997
  description: 'Кредитная карта',
@@ -6990,7 +7000,7 @@
6990
7000
  label: 'Категория',
6991
7001
  description: statusInfo?.cardCategory,
6992
7002
  },
6993
- ] }));
7003
+ ], onExpire: onExpire }));
6994
7004
  });
6995
7005
 
6996
7006
  const ReworkStatusContent$1 = JSX(() => {
@@ -7066,20 +7076,20 @@
7066
7076
  }
7067
7077
  })();
7068
7078
  }, [taskId]);
7069
- const trackStatus = useCallback(async (stopInterval) => {
7079
+ const trackStatus = useCallback(async (stop) => {
7070
7080
  const res = await getTaskStatus({ taskId });
7071
7081
  if (res && res?.statusCd !== STATUS_TYPE.process) {
7072
- stopInterval();
7082
+ stop();
7073
7083
  setStatus(res.statusCd);
7074
7084
  }
7075
7085
  }, [taskId]);
7076
- useInterval(trackStatus, 30000);
7077
- const handleExpire = () => setStatus(STATUS_TYPE.rework);
7086
+ useInterval(trackStatus, 30_000);
7087
+ const handleExpire = useCallback(() => setStatus(STATUS_TYPE.rework), []);
7078
7088
  return renderStatus$1(status, handleExpire);
7079
7089
  });
7080
7090
  const renderStatus$1 = (status, handleExpire) => {
7081
7091
  const statusesMap = {
7082
- IN_PROCESS: jsx(PendingStatusContent$1, { handleExpireTimer: handleExpire }),
7092
+ IN_PROCESS: jsx(PendingStatusContent$1, { onExpire: handleExpire }),
7083
7093
  CANCELLED: jsx(FailedStatusContent$1, {}),
7084
7094
  FAILED: jsx(FailedStatusContent$1, {}),
7085
7095
  DRAFT: jsx(FailedStatusContent$1, {}),
@@ -7129,7 +7139,7 @@
7129
7139
  const StepsNavigationButtons$1 = JSX(({ step, isSending, onPrevStep }) => {
7130
7140
  const isFirstStep = step === 0;
7131
7141
  const isFinalStep = step === 5;
7132
- 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 ? 'Отправить заявку' : 'Далее' })] }));
7142
+ 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 ? 'Отправить заявку' : 'Далее' })] }));
7133
7143
  });
7134
7144
 
7135
7145
  const getAdditionalInfoData = (formData) => {
@@ -7724,14 +7734,6 @@
7724
7734
  },
7725
7735
  ];
7726
7736
  const DELIVERY_CREDIT_CARD_CONTENT = [
7727
- {
7728
- title: 'Способ получения',
7729
- columns: 1,
7730
- inputs: [],
7731
- },
7732
- {
7733
- inputs: [{ name: 'methodObtain' }],
7734
- },
7735
7737
  {
7736
7738
  title: 'Адрес',
7737
7739
  columns: 1,
@@ -7869,12 +7871,8 @@
7869
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 })] }) }));
7870
7872
  });
7871
7873
 
7872
- const CreditFormStatus = JSX(({ title, description: dsc, infoCard, sectionInfoTitle, sectionInfo, sectionAdditionalTitle, sectionInfoAdditional, buttonText, interval, intervalExpireAction = () => {
7873
- return;
7874
- }, ...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, 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: {
7876
- text: infoCard?.link?.text,
7877
- } })) : 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] }));
7878
7876
  });
7879
7877
  const SectionInfo = ({ title, items, countColumns = false, }) => {
7880
7878
  const isMobile = useMobileMode();
@@ -7887,9 +7885,9 @@
7887
7885
 
7888
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" })));
7889
7887
 
7890
- const PendingStatusContent = JSX(({ handleExpireTimer }) => {
7888
+ const PendingStatusContent = JSX(({ onExpire }) => {
7891
7889
  const { statusInfo } = useRetailFormStore();
7892
- 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: [
7893
7891
  {
7894
7892
  label: 'Название продукта',
7895
7893
  description: 'Кредит на любые цели',
@@ -7910,7 +7908,7 @@
7910
7908
  label: 'Тип платежа',
7911
7909
  description: statusInfo?.calculator?.isAnnuity ? 'Аннуитетный' : 'Дифференцированный',
7912
7910
  },
7913
- ] }));
7911
+ ], onExpire: onExpire }));
7914
7912
  });
7915
7913
 
7916
7914
  const ReworkStatusContent = JSX(() => {
@@ -7972,20 +7970,20 @@
7972
7970
  }
7973
7971
  })();
7974
7972
  }, [taskId]);
7975
- const trackStatus = useCallback(async (stopInterval) => {
7973
+ const trackStatus = useCallback(async (stop) => {
7976
7974
  const res = await getTaskStatus({ taskId });
7977
7975
  if (res && res?.statusCd !== STATUS_TYPE.process) {
7978
- stopInterval();
7976
+ stop();
7979
7977
  setStatus(res.statusCd);
7980
7978
  }
7981
7979
  }, [taskId]);
7982
- useInterval(trackStatus, 30000);
7983
- const handleExpire = () => setStatus(STATUS_TYPE.rework);
7980
+ useInterval(trackStatus, 30_000);
7981
+ const handleExpire = useCallback(() => setStatus(STATUS_TYPE.rework), []);
7984
7982
  return renderStatus(status, handleExpire);
7985
7983
  });
7986
- const renderStatus = (status, handleExpire) => {
7984
+ const renderStatus = (status, onExpire) => {
7987
7985
  const statusesMap = {
7988
- IN_PROCESS: jsx(PendingStatusContent, { handleExpireTimer: handleExpire }),
7986
+ IN_PROCESS: jsx(PendingStatusContent, { onExpire: onExpire }),
7989
7987
  CANCELLED: jsx(FailedStatusContent, {}),
7990
7988
  FAILED: jsx(FailedStatusContent, {}),
7991
7989
  DRAFT: jsx(FailedStatusContent, {}),
@@ -8007,7 +8005,7 @@
8007
8005
  const StepsNavigationButtons = JSX(({ step, onPrevStep, isSending }) => {
8008
8006
  const isFirstStep = step === 0;
8009
8007
  const isFinalStep = step === 5;
8010
- 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 ? 'Отправить заявку' : 'Далее' })] }));
8011
8009
  });
8012
8010
 
8013
8011
  const PAYMENT_TYPE_DATA = {
@@ -8907,8 +8905,7 @@
8907
8905
  const { navigationItems } = rest.options?.page?.navigation ?? {};
8908
8906
  const common = rest.options?.page?.common ?? {};
8909
8907
  const { documents, relatedEnterprises, contacts, mediaLinks = [], horizontalNavigationTitle, feedbackButton, license, otherLinks = [], } = footer ?? {};
8910
- const linkStyle = '!text-left text-s font-light';
8911
- return (jsxs(BlockWrapper, { tag: "footer", className: style('grid gap-y-xl p-4xl pb-24 lg:p-xl', className), ...rest, children: [renderLogoSearchBar(common, navigationItems), 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 })] }));
8908
+ return (jsxs(BlockWrapper, { tag: "footer", className: style('grid gap-y-xl p-4xl pb-24 lg:p-xl', className), ...rest, children: [renderLogoSearchBar(common, navigationItems), 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 })] }));
8912
8909
  });
8913
8910
 
8914
8911
  const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: style('space-y-m', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isEmbedded: true }), calendar ? renderCalendar(calendar) : null] })));
@@ -8930,13 +8927,8 @@
8930
8927
  const GrantSupport = UniBlock(({ className, title, button, regionSource, data, ...rest }) => {
8931
8928
  const [region, setRegion] = useState({ key: '' });
8932
8929
  const regions = regionSource?.regions ?? [];
8933
- const buttonStyle = getRegularButtonClasses({
8934
- className: 'text-white',
8935
- version: button?.version || 'primary',
8936
- });
8937
8930
  const regionHref = regions?.find((_) => _.name === region.key)?.href;
8938
- const buttonText = button?.text ? button.text : 'Перейти';
8939
- 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] }) }));
8931
+ 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] }) }));
8940
8932
  });
8941
8933
 
8942
8934
  function useActiveRoute(items = []) {
@@ -9276,13 +9268,7 @@
9276
9268
  };
9277
9269
 
9278
9270
  /** @deprecated */
9279
- function renderArrows({ dec, inc, canDec, canInc, btnClass, className = '', }) {
9280
- const isVisible = canDec || canInc;
9281
- if (!isVisible) {
9282
- return null;
9283
- }
9284
- 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] }));
9285
- }
9271
+ 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;
9286
9272
 
9287
9273
  const InsuranceAmountBlockInner = JSX(({ className = '', cards = [], button }) => {
9288
9274
  const [selectedCardIndex, setSelectedCardIndex] = useState(0);
@@ -9433,11 +9419,7 @@
9433
9419
  return docFormat.includes('/') ? docFormat.replace(regexp, '') : docFormat;
9434
9420
  };
9435
9421
 
9436
- const ReportDialog = JSX(({ href, __html, target, onClose }) => {
9437
- const router = useRouter();
9438
- const adjustedHref = adjustHref(router)(href);
9439
- 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" })] }));
9440
- });
9422
+ 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" })] })));
9441
9423
 
9442
9424
  const ReportDialogButton = JSX(({ text, href, target, __html, icon }) => {
9443
9425
  const { open } = useDialog(ReportDialog);
@@ -9572,7 +9554,7 @@
9572
9554
  const Tag = tag;
9573
9555
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
9574
9556
  const { text, description, icon, count, tabName, ...link } = item;
9575
- 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({
9557
+ 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({
9576
9558
  text,
9577
9559
  description,
9578
9560
  icon,
@@ -9634,7 +9616,7 @@
9634
9616
  ? [filtersCheckbox.slice(0, visibleFiltersNum), filtersCheckbox.slice(visibleFiltersNum)]
9635
9617
  : [filtersCheckbox, []];
9636
9618
  const [isUnfolded, { toggle }] = useBool(false);
9637
- 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 }));
9619
+ 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 }));
9638
9620
  });
9639
9621
 
9640
9622
  const renderButtonsGroup = (data, activeButton, onButtonClick) => {
@@ -9793,7 +9775,7 @@
9793
9775
  const [containerRef, scroll] = useSwipeListScroll({
9794
9776
  itemCount: slides?.length || 0,
9795
9777
  });
9796
- return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden', className), defaultPadding: "pt-6xl", padding: padding, ...rest, children: [jsx("div", { className: "flex duration-1000", style: { transform: `translateX(-${activeSlideIndex * 100}%)` }, role: "list", children: slides.map(({ productBlock }, i) => (jsx("div", { className: "box-border grow-0 shrink-0 basis-full", role: "listitem", children: jsx(BaseProductTile, { className: "pl-6xl h-full", headlineVersion: "M", isFullWidthTitle: false, ...productBlock, ...rest }) }, String(i)))) }), jsxs("div", { className: "relative pr-xs mt-m -mb-m flex gap-xs box-border", children: [jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, itemClassName: 'h-40 flex items-stretch w-screen', gap: 8, children: slides.map(renderNavButton({ activeSlideIndex, onClick: setActiveSlideIndex })) }), scroll.canScrollLeft ? (jsx(ScrollLeftButton, { className: style('left-6', scrollButtonStyle$1), onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (jsx(ScrollRightButton, { className: style('right-6', scrollButtonStyle$1), onClick: scroll.scrollRight })) : null] })] }));
9778
+ return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden', className), defaultPadding: "pt-6xl", padding: padding, ...rest, children: [jsx("div", { className: "flex duration-1000", style: { transform: `translateX(-${activeSlideIndex * 100}%)` }, role: "list", children: slides.map(({ productBlock }, i) => (jsx("div", { className: "box-border grow-0 shrink-0 basis-full", role: "listitem", children: jsx(BaseProductTile, { className: "pl-6xl h-full", headlineVersion: "M", isFullWidthTitle: false, ...productBlock, ...rest }) }, String(i)))) }), jsxs("div", { className: "relative pr-xs mt-m -mb-m flex gap-xs box-border", children: [jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, itemClassName: 'h-40 flex items-stretch w-screen', gap: 8, children: slides.map(renderNavButton({ activeSlideIndex, onClick: setActiveSlideIndex })) }), scroll.canScrollLeft ? (jsx(ArrowLeftButton, { className: style('left-6', scrollButtonStyle$1), onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (jsx(ArrowRightButton, { className: style('right-6', scrollButtonStyle$1), onClick: scroll.scrollRight })) : null] })] }));
9797
9779
  });
9798
9780
  const renderNavButton = ({ activeSlideIndex, onClick }) => ({ nav }, i) => {
9799
9781
  const isActive = i === activeSlideIndex;
@@ -9839,7 +9821,7 @@
9839
9821
  extraProps: { className: 'w-full', padding: 'p-0' },
9840
9822
  }) }));
9841
9823
  const isAccordion = foldButtonVersion === 'accordion';
9842
- const foldButton = (jsx(DefaultFoldButton, { className: style('w-full', { 'text-h6 my-lg': isAccordion }), label: label, isUnfolded: isUnfolded, embedded: isAccordion, onClick: toggle }));
9824
+ const foldButton = (jsx(DefaultFoldButton, { className: style(isAccordion ? 'text-h6 my-lg' : 'text-h4'), label: label, isUnfolded: isUnfolded, embedded: isAccordion, onClick: toggle }));
9843
9825
  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] }) }));
9844
9826
  }, { childrenTypes: { exclude: ['RollupItem'] } });
9845
9827
 
@@ -9868,7 +9850,7 @@
9868
9850
 
9869
9851
  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" }) })] })));
9870
9852
 
9871
- 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" })] })] })));
9853
+ 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" })] })] })));
9872
9854
  const onSelectedBranch = (onChange) => (value) => {
9873
9855
  onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
9874
9856
  };
@@ -10033,7 +10015,7 @@
10033
10015
  itemCount: items?.length || 0,
10034
10016
  });
10035
10017
  useEffect(() => scrollToSelected(containerRef.current, items, activeItem), []);
10036
- 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] }));
10018
+ 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] }));
10037
10019
  });
10038
10020
  const scrollToSelected = (container, items, activeItem) => {
10039
10021
  const selectedIndex = items.findIndex((_) => _ === activeItem);
@@ -10139,7 +10121,7 @@
10139
10121
  };
10140
10122
  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 }) })));
10141
10123
 
10142
- 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 })));
10124
+ const TableInnerButton = JSX(({ className = '', isOpen, onClick }) => (jsx(DefaultFoldButton, { className: className, label: isOpen ? 'Скрыть' : 'Показать', isUnfolded: isOpen, version: "secondary", short: true, onClick: onClick })));
10143
10125
 
10144
10126
  const renderButtonsCellData = ({ buttons }) => renderButtonsSection(buttons, {
10145
10127
  buttonClassName: 'basis-0',
@@ -10284,7 +10266,7 @@
10284
10266
  const rows = (rowData || []).map((row, i) => (jsx(TariffsTableRow, { row: row, activeIndex: activeIndex, rowIdx: i, ...rest }, String(i))));
10285
10267
  const [visibleRows, hiddenRows] = hiddenRowsNum > 0 ? [rows.slice(0, -hiddenRowsNum), rows.slice(-hiddenRowsNum)] : [rows, []];
10286
10268
  const [isUnfolded, { toggle }] = useBool(false);
10287
- 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 })) })] }));
10269
+ 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 })) })] }));
10288
10270
  });
10289
10271
 
10290
10272
  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] })] })));
@@ -10471,7 +10453,7 @@
10471
10453
  globalThis.document?.body.classList.remove('no-scrollbar', 'overflow-hidden');
10472
10454
  }
10473
10455
  }, [hasDialogs]);
10474
- 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', {
10456
+ 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', {
10475
10457
  hidden: i !== dialogs.length - 1, // TODO Чего?)
10476
10458
  }), children: dialog }, String(id || i)))) })) : null;
10477
10459
  });
@@ -10490,7 +10472,7 @@
10490
10472
  left: `${popup.left}px`,
10491
10473
  top: `${popup.top}px`,
10492
10474
  ...(popup.width ? { width: `${popup.width}px` } : {}),
10493
- }, role: "dialog", children: popup.popup })) : null;
10475
+ }, role: "dialog", title: "\u0412\u0441\u043F\u043B\u044B\u0432\u0430\u044E\u0449\u0435\u0435 \u043E\u043A\u043D\u043E", children: popup.popup })) : null;
10494
10476
  });
10495
10477
 
10496
10478
  const HEADER_SLOT = 'header';
@@ -10523,7 +10505,7 @@
10523
10505
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
10524
10506
  });
10525
10507
 
10526
- const packageVersion = "0.14.761";
10508
+ const packageVersion = "0.14.763";
10527
10509
 
10528
10510
  exports.Blocks = Blocks;
10529
10511
  exports.ContentPage = ContentPage;