@redneckz/wildless-cms-uni-blocks 0.14.588 → 0.14.590

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 (230) hide show
  1. package/bundle/api/RetailApi/RetailApi.d.ts +3 -1
  2. package/bundle/api/RetailApi/RetailApiTypes.d.ts +3 -0
  3. package/bundle/blocks.schema.json +1 -1
  4. package/bundle/bundle.umd.js +187 -59
  5. package/bundle/bundle.umd.min.js +1 -1
  6. package/bundle/hooks/useElementSpace.d.ts +2 -0
  7. package/bundle/icons/IconName.d.ts +4 -2
  8. package/bundle/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
  9. package/bundle/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
  10. package/bundle/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
  11. package/bundle/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
  12. package/bundle/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
  13. package/bundle/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
  14. package/bundle/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
  15. package/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
  16. package/cosmos-static/icons/RefreshIcon.svg +1 -0
  17. package/cosmos-static/icons/sprites.svg +1 -0
  18. package/dist/api/RetailApi/RetailApi.d.ts +3 -1
  19. package/dist/api/RetailApi/RetailApi.js +15 -1
  20. package/dist/api/RetailApi/RetailApi.js.map +1 -1
  21. package/dist/api/RetailApi/RetailApiTypes.d.ts +3 -0
  22. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -4
  23. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  24. package/dist/hooks/useElementSpace.d.ts +2 -0
  25. package/dist/hooks/useElementSpace.js +21 -0
  26. package/dist/hooks/useElementSpace.js.map +1 -0
  27. package/dist/icons/IconName.d.ts +4 -2
  28. package/dist/icons/IconName.js +3 -1
  29. package/dist/icons/IconName.js.map +1 -1
  30. package/dist/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
  31. package/dist/ui-kit/CaptchaDialog/CaptchaDialog.js +22 -0
  32. package/dist/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -0
  33. package/dist/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
  34. package/dist/ui-kit/CaptchaDialog/checkCaptcha.js +16 -0
  35. package/dist/ui-kit/CaptchaDialog/checkCaptcha.js.map +1 -0
  36. package/dist/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
  37. package/dist/ui-kit/CaptchaDialog/createCaptcha.js +9 -0
  38. package/dist/ui-kit/CaptchaDialog/createCaptcha.js.map +1 -0
  39. package/dist/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
  40. package/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js +15 -0
  41. package/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +1 -0
  42. package/dist/ui-kit/DatePicker/DatePicker.js +5 -1
  43. package/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  44. package/dist/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
  45. package/dist/ui-kit/VerifyPhoneDialog/InputCode.js +2 -2
  46. package/dist/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
  47. package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
  48. package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +20 -29
  49. package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  50. package/dist/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
  51. package/dist/ui-kit/VerifyPhoneDialog/handleSendCode.js +21 -0
  52. package/dist/ui-kit/VerifyPhoneDialog/handleSendCode.js.map +1 -0
  53. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +1 -1
  54. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
  55. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
  56. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +59 -0
  57. package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -0
  58. package/lib/api/RetailApi/RetailApi.d.ts +3 -1
  59. package/lib/api/RetailApi/RetailApi.js +15 -1
  60. package/lib/api/RetailApi/RetailApi.js.map +1 -1
  61. package/lib/api/RetailApi/RetailApiTypes.d.ts +3 -0
  62. package/lib/common.css +1 -1
  63. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -4
  64. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  65. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
  66. package/lib/hooks/useElementSpace.d.ts +2 -0
  67. package/lib/hooks/useElementSpace.js +18 -0
  68. package/lib/hooks/useElementSpace.js.map +1 -0
  69. package/lib/icons/IconName.d.ts +4 -2
  70. package/lib/icons/IconName.js +3 -1
  71. package/lib/icons/IconName.js.map +1 -1
  72. package/lib/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
  73. package/lib/ui-kit/CaptchaDialog/CaptchaDialog.fixture.d.ts +6 -0
  74. package/lib/ui-kit/CaptchaDialog/CaptchaDialog.js +20 -0
  75. package/lib/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -0
  76. package/lib/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
  77. package/lib/ui-kit/CaptchaDialog/checkCaptcha.js +13 -0
  78. package/lib/ui-kit/CaptchaDialog/checkCaptcha.js.map +1 -0
  79. package/lib/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
  80. package/lib/ui-kit/CaptchaDialog/createCaptcha.js +6 -0
  81. package/lib/ui-kit/CaptchaDialog/createCaptcha.js.map +1 -0
  82. package/lib/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
  83. package/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js +12 -0
  84. package/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +1 -0
  85. package/lib/ui-kit/DatePicker/DatePicker.js +5 -1
  86. package/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  87. package/lib/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
  88. package/lib/ui-kit/VerifyPhoneDialog/InputCode.js +2 -2
  89. package/lib/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
  90. package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
  91. package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +21 -30
  92. package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  93. package/lib/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
  94. package/lib/ui-kit/VerifyPhoneDialog/handleSendCode.js +18 -0
  95. package/lib/ui-kit/VerifyPhoneDialog/handleSendCode.js.map +1 -0
  96. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +1 -1
  97. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
  98. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
  99. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +56 -0
  100. package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -0
  101. package/mobile/bundle/api/RetailApi/RetailApi.d.ts +3 -1
  102. package/mobile/bundle/api/RetailApi/RetailApiTypes.d.ts +3 -0
  103. package/mobile/bundle/bundle.umd.js +187 -59
  104. package/mobile/bundle/bundle.umd.min.js +1 -1
  105. package/mobile/bundle/hooks/useElementSpace.d.ts +2 -0
  106. package/mobile/bundle/icons/IconName.d.ts +4 -2
  107. package/mobile/bundle/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
  108. package/mobile/bundle/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
  109. package/mobile/bundle/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
  110. package/mobile/bundle/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
  111. package/mobile/bundle/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
  112. package/mobile/bundle/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
  113. package/mobile/bundle/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
  114. package/mobile/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
  115. package/mobile/dist/api/RetailApi/RetailApi.d.ts +3 -1
  116. package/mobile/dist/api/RetailApi/RetailApi.js +15 -1
  117. package/mobile/dist/api/RetailApi/RetailApi.js.map +1 -1
  118. package/mobile/dist/api/RetailApi/RetailApiTypes.d.ts +3 -0
  119. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -4
  120. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  121. package/mobile/dist/hooks/useElementSpace.d.ts +2 -0
  122. package/mobile/dist/hooks/useElementSpace.js +21 -0
  123. package/mobile/dist/hooks/useElementSpace.js.map +1 -0
  124. package/mobile/dist/icons/IconName.d.ts +4 -2
  125. package/mobile/dist/icons/IconName.js +3 -1
  126. package/mobile/dist/icons/IconName.js.map +1 -1
  127. package/mobile/dist/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
  128. package/mobile/dist/ui-kit/CaptchaDialog/CaptchaDialog.js +22 -0
  129. package/mobile/dist/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -0
  130. package/mobile/dist/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
  131. package/mobile/dist/ui-kit/CaptchaDialog/checkCaptcha.js +16 -0
  132. package/mobile/dist/ui-kit/CaptchaDialog/checkCaptcha.js.map +1 -0
  133. package/mobile/dist/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
  134. package/mobile/dist/ui-kit/CaptchaDialog/createCaptcha.js +9 -0
  135. package/mobile/dist/ui-kit/CaptchaDialog/createCaptcha.js.map +1 -0
  136. package/mobile/dist/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
  137. package/mobile/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js +15 -0
  138. package/mobile/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +1 -0
  139. package/mobile/dist/ui-kit/DatePicker/DatePicker.js +5 -1
  140. package/mobile/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  141. package/mobile/dist/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
  142. package/mobile/dist/ui-kit/VerifyPhoneDialog/InputCode.js +2 -2
  143. package/mobile/dist/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
  144. package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
  145. package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +20 -29
  146. package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  147. package/mobile/dist/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
  148. package/mobile/dist/ui-kit/VerifyPhoneDialog/handleSendCode.js +21 -0
  149. package/mobile/dist/ui-kit/VerifyPhoneDialog/handleSendCode.js.map +1 -0
  150. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +1 -1
  151. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
  152. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
  153. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +59 -0
  154. package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -0
  155. package/mobile/lib/api/RetailApi/RetailApi.d.ts +3 -1
  156. package/mobile/lib/api/RetailApi/RetailApi.js +15 -1
  157. package/mobile/lib/api/RetailApi/RetailApi.js.map +1 -1
  158. package/mobile/lib/api/RetailApi/RetailApiTypes.d.ts +3 -0
  159. package/mobile/lib/common.css +1 -1
  160. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -4
  161. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  162. package/mobile/lib/hooks/useElementSpace.d.ts +2 -0
  163. package/mobile/lib/hooks/useElementSpace.js +18 -0
  164. package/mobile/lib/hooks/useElementSpace.js.map +1 -0
  165. package/mobile/lib/icons/IconName.d.ts +4 -2
  166. package/mobile/lib/icons/IconName.js +3 -1
  167. package/mobile/lib/icons/IconName.js.map +1 -1
  168. package/mobile/lib/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
  169. package/mobile/lib/ui-kit/CaptchaDialog/CaptchaDialog.js +20 -0
  170. package/mobile/lib/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -0
  171. package/mobile/lib/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
  172. package/mobile/lib/ui-kit/CaptchaDialog/checkCaptcha.js +13 -0
  173. package/mobile/lib/ui-kit/CaptchaDialog/checkCaptcha.js.map +1 -0
  174. package/mobile/lib/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
  175. package/mobile/lib/ui-kit/CaptchaDialog/createCaptcha.js +6 -0
  176. package/mobile/lib/ui-kit/CaptchaDialog/createCaptcha.js.map +1 -0
  177. package/mobile/lib/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
  178. package/mobile/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js +12 -0
  179. package/mobile/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +1 -0
  180. package/mobile/lib/ui-kit/DatePicker/DatePicker.js +5 -1
  181. package/mobile/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  182. package/mobile/lib/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
  183. package/mobile/lib/ui-kit/VerifyPhoneDialog/InputCode.js +2 -2
  184. package/mobile/lib/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
  185. package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
  186. package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +21 -30
  187. package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
  188. package/mobile/lib/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
  189. package/mobile/lib/ui-kit/VerifyPhoneDialog/handleSendCode.js +18 -0
  190. package/mobile/lib/ui-kit/VerifyPhoneDialog/handleSendCode.js.map +1 -0
  191. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +1 -1
  192. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
  193. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
  194. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +56 -0
  195. package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -0
  196. package/mobile/src/api/RetailApi/RetailApi.ts +18 -1
  197. package/mobile/src/api/RetailApi/RetailApiTypes.ts +4 -0
  198. package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +3 -4
  199. package/mobile/src/hooks/useElementSpace.ts +25 -0
  200. package/mobile/src/icons/IconName.ts +5 -5
  201. package/mobile/src/icons/RefreshIcon.svg +3 -0
  202. package/mobile/src/ui-kit/CaptchaDialog/CaptchaDialog.tsx +68 -0
  203. package/mobile/src/ui-kit/CaptchaDialog/checkCaptcha.ts +25 -0
  204. package/mobile/src/ui-kit/CaptchaDialog/createCaptcha.ts +6 -0
  205. package/mobile/src/ui-kit/CaptchaDialog/useCaptchaDialog.tsx +12 -0
  206. package/mobile/src/ui-kit/DatePicker/DatePicker.tsx +9 -1
  207. package/mobile/src/ui-kit/VerifyPhoneDialog/InputCode.tsx +3 -2
  208. package/mobile/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +66 -51
  209. package/mobile/src/ui-kit/VerifyPhoneDialog/handleSendCode.ts +37 -0
  210. package/mobile/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.tsx +2 -1
  211. package/mobile/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +71 -0
  212. package/package.json +2 -2
  213. package/src/api/RetailApi/RetailApi.ts +18 -1
  214. package/src/api/RetailApi/RetailApiTypes.ts +4 -0
  215. package/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +3 -4
  216. package/src/hooks/useElementSpace.ts +25 -0
  217. package/src/icons/IconName.ts +353 -6
  218. package/src/icons/RefreshIcon.svg +3 -0
  219. package/src/ui-kit/CaptchaDialog/CaptchaDialog.fixture.tsx +11 -0
  220. package/src/ui-kit/CaptchaDialog/CaptchaDialog.tsx +68 -0
  221. package/src/ui-kit/CaptchaDialog/checkCaptcha.ts +25 -0
  222. package/src/ui-kit/CaptchaDialog/createCaptcha.ts +6 -0
  223. package/src/ui-kit/CaptchaDialog/useCaptchaDialog.tsx +12 -0
  224. package/src/ui-kit/DatePicker/DatePicker.tsx +9 -1
  225. package/src/ui-kit/VerifyPhoneDialog/InputCode.tsx +3 -2
  226. package/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.fixture.tsx +11 -8
  227. package/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +66 -51
  228. package/src/ui-kit/VerifyPhoneDialog/handleSendCode.ts +37 -0
  229. package/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.tsx +2 -1
  230. package/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +71 -0
@@ -1122,9 +1122,9 @@
1122
1122
  onChange && onChange(!value);
1123
1123
  }, [onChange, disabled, value]);
1124
1124
  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" }));
1125
- 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$1(text)] }) }));
1125
+ 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)] }) }));
1126
1126
  });
1127
- const renderText$1 = (text) => text ? (jsx("div", { className: "ml-s", children: jsx(Text, { size: "text-l", font: "font-light", children: text }) })) : null;
1127
+ const renderText$2 = (text) => text ? (jsx("div", { className: "ml-s", children: jsx(Text, { size: "text-l", font: "font-light", children: text }) })) : null;
1128
1128
  const getCursorStyle = (disabled = false) => (disabled ? 'cursor-not-allowed' : 'cursor-pointer');
1129
1129
  const role = (isRadio = false) => (isRadio ? 'radio' : 'checkbox');
1130
1130
  const checkboxStyle = (value = false) => style('rounded border', { 'bg-primary-main': value });
@@ -1742,6 +1742,23 @@
1742
1742
 
1743
1743
  const BankEmpoleeField = JSX(({ field }) => (jsx(InputControl, { label: "\u0424\u0418\u041E \u0438\u043B\u0438 \u0434\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u0432\u0448\u0435\u0433\u043E \u0412\u0430\u0441 \u0441\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A\u0430 \u0411\u0430\u043D\u043A\u0430", ...field('bankEmpolee') })));
1744
1744
 
1745
+ const useElementSpace = (ref, heightEl) => {
1746
+ const [spaceAbove, setSpaceAbove] = useState(false);
1747
+ useEffect(() => {
1748
+ const handleResize = () => {
1749
+ if (ref?.current) {
1750
+ const { top } = ref.current.getBoundingClientRect();
1751
+ const hasSpaceAbove = top > heightEl;
1752
+ setSpaceAbove(hasSpaceAbove);
1753
+ }
1754
+ };
1755
+ handleResize();
1756
+ window.addEventListener('resize', handleResize);
1757
+ return () => window.removeEventListener('resize', handleResize);
1758
+ }, [ref]);
1759
+ return spaceAbove;
1760
+ };
1761
+
1745
1762
  const DAY_COUNT = 6;
1746
1763
  const WEEK_COUNT = 7;
1747
1764
  const renderCalendarCells = ({ today, firstDayOfWeek, totalDays, currentMonth, currentYear, min, max, onDateClick, }) => {
@@ -1880,7 +1897,10 @@
1880
1897
  selectedMonth,
1881
1898
  showCalendar,
1882
1899
  });
1883
- return (jsxs("div", { className: style('space-y-xs', className), ref: ref, children: [renderLabel(label), jsxs("div", { className: "relative", children: [renderDatePickerForm(handleChangeVisibleCalendar, value, valid), showCalendar ? (jsxs("div", { className: "absolute bg-white z-20 select-none bottom-full", 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 })] })) : null] })] }));
1900
+ const spaceAbove = useElementSpace(ref, 370);
1901
+ return (jsxs("div", { className: style('space-y-xs', className), ref: ref, children: [renderLabel(label), jsxs("div", { className: "relative", children: [renderDatePickerForm(handleChangeVisibleCalendar, value, valid), showCalendar ? (jsxs("div", { className: style('absolute bg-white z-20 select-none', {
1902
+ 'bottom-full': spaceAbove,
1903
+ }), 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] })] }));
1884
1904
  });
1885
1905
  const renderDatePickerForm = (handleChangeVisibleCalendar, value, valid) => (jsxs("div", { onClick: handleChangeVisibleCalendar, className: style(formStyle, valid ? 'border-gray' : 'border-error'), children: [jsx(Paragraph, { children: value && formatDate(value) }), jsx(Icon, { ...ICON_PROPS, name: "CalendarIcon" })] }));
1886
1906
 
@@ -2550,6 +2570,7 @@
2550
2570
 
2551
2571
  const renderSubmitButton = (button, className) => (jsx(Button, { className: style('w-full @xl:w-auto', className), type: "submit", children: button?.text ? button.text : 'Отправить заявку' }));
2552
2572
 
2573
+ const getResponse = (response) => (isJSON(response) ? response.json() : response);
2553
2574
  const getAthorizationHeaders = () => {
2554
2575
  const token = sessionStorage.getItem('accessToken');
2555
2576
  return token ? { Authorization: `Bearer ${token}` } : null;
@@ -2563,7 +2584,18 @@
2563
2584
  },
2564
2585
  credentials: 'include',
2565
2586
  body: body ? JSON.stringify(body) : null,
2566
- }).then((response) => (isJSON(response) ? response.json() : response));
2587
+ })
2588
+ .then((response) => {
2589
+ if (response.ok) {
2590
+ return getResponse(response);
2591
+ }
2592
+ else {
2593
+ throw response;
2594
+ }
2595
+ })
2596
+ .catch((error) => {
2597
+ throw error;
2598
+ });
2567
2599
  const saveToken = (data) => {
2568
2600
  sessionStorage.setItem('accessToken', data.access_token);
2569
2601
  sessionStorage.setItem('refreshToken', data.refresh_token);
@@ -2575,6 +2607,8 @@
2575
2607
  UpdateUserTask: async (body) => await request('/user-data/updateUserTask', 'PUT', body),
2576
2608
  SendCode: async (body) => await request('/sms/sendCode', 'POST', body),
2577
2609
  CheckCode: async (body) => await request('/sms/checkCode', 'POST', body).then(saveToken),
2610
+ CreateCaptcha: async (phoneNumber) => await request(`/sms/createCaptcha?phoneNumber=${phoneNumber}`, 'GET'),
2611
+ CheckCaptcha: async (body) => await request('/sms/checkCaptcha', 'POST', body),
2578
2612
  };
2579
2613
 
2580
2614
  const getUpdateUserProfileData = (profileId, formData) => {
@@ -2639,6 +2673,71 @@
2639
2673
  },
2640
2674
  });
2641
2675
 
2676
+ const ICON_SIZE$1 = { width: '118', height: '24' };
2677
+
2678
+ const logoTitleSizeStyle = '';
2679
+
2680
+ const ICON_VERSION_MAP = {
2681
+ 'bg-white': 'color',
2682
+ transparent: 'white',
2683
+ };
2684
+ const SVG_COLOR = {
2685
+ 'bg-white': 'text-primary-main',
2686
+ transparent: 'text-white',
2687
+ };
2688
+ const renderImage = (bgColor, image, size) => {
2689
+ const img = image?.src
2690
+ ? image
2691
+ : {
2692
+ icon: image?.icon || 'LogoIcon',
2693
+ iconVersion: ICON_VERSION_MAP[bgColor],
2694
+ };
2695
+ return (jsx(Img, { image: img, className: SVG_COLOR[bgColor], width: size?.width, height: size?.height }));
2696
+ };
2697
+
2698
+ const TEXT_COLOR = {
2699
+ 'bg-white': 'text-primary-text',
2700
+ transparent: 'text-white',
2701
+ };
2702
+ const Logo = JSX(({ className, href = '/', logo, children, targetBlank, bgColor = 'bg-white', showTitle = true, data, }) => (jsxs("a", { className: style('inline-flex items-center font-sans no-underline', className), href: logo?.href ?? href, target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title ?? 'Россельхозбанк', ...getAspectsAttributes(data), children: [renderImage(bgColor, logo?.image, ICON_SIZE$1), showTitle
2703
+ ? children ?? (jsx("div", { className: "ml-s", children: jsx(Text, { font: "font-medium", color: TEXT_COLOR[bgColor], size: logoTitleSizeStyle, children: logo?.title ?? 'Россельхозбанк' }) }))
2704
+ : null] })));
2705
+
2706
+ const checkCaptcha = async ({ code, setHasError, close, sendCode = noop, }) => {
2707
+ const response = await RETAIL_API.CheckCaptcha({ captchaText: code });
2708
+ if ((await response.text()) === 'ERROR') {
2709
+ setHasError(true);
2710
+ }
2711
+ else {
2712
+ sendCode();
2713
+ close?.();
2714
+ }
2715
+ };
2716
+
2717
+ const createCaptcha = async (setCaptcha, phoneNumber) => {
2718
+ const response = await RETAIL_API.CreateCaptcha(phoneNumber);
2719
+ setCaptcha(URL.createObjectURL(await response.blob()));
2720
+ };
2721
+
2722
+ const CaptchaDialog = JSX(({ phoneNumber, close, sendCode, onClose }) => {
2723
+ const [captcha, setCaptcha] = useState('');
2724
+ const [code, setCode] = useState('');
2725
+ const [hasError, setHasError] = useState(false);
2726
+ useEffect(() => {
2727
+ createCaptcha(setCaptcha, phoneNumber);
2728
+ }, []);
2729
+ return (jsx(Dialog, { head: jsx(Logo, {}), onClose: onClose, className: "my-6xl max-w-lg w-full min-h-fit mx-auto rounded-lg", children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md", children: [jsxs("div", { className: "flex h-[140px] w-[300px]", children: [jsx("img", { className: "grow", src: captcha }), jsx("div", { onClick: () => createCaptcha(setCaptcha, phoneNumber), className: "flex w-8 items-center justify-center cursor-pointer", children: jsx(Icon, { iconVersion: "normal", name: "RefreshIcon" }) })] }), jsx(Input, { className: "w-[300px]", onChange: setCode, value: code, placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0434 \u0441 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438" }), hasError ? jsx("div", { className: "text-error", children: "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043E\u0434" }) : null, jsxs("div", { className: "flex w-[310px] justify-between", children: [jsx(Button, { onClick: close, version: "secondary", children: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F" }), jsx(Button, { type: "submit", disabled: !code, onClick: () => checkCaptcha({ code, setHasError, close, sendCode }), version: "secondary", children: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C" })] })] }) }));
2730
+ });
2731
+
2732
+ const useCaptchaDialog = (initialProps, onClose) => {
2733
+ const { open, close, closeAll } = useDialogManager();
2734
+ return {
2735
+ open: () => open(jsx(CaptchaDialog, { close: close, onClose: onClose, ...initialProps })),
2736
+ close,
2737
+ closeAll,
2738
+ };
2739
+ };
2740
+
2642
2741
  const Loader = JSX(({ color = 'text-primary-main', position = 'absolute', blur = true }) => (jsx("div", { className: style('flex justify-center items-center h-full w-full z-50', position, {
2643
2742
  'backdrop-blur': blur,
2644
2743
  }), children: jsx("div", { className: style('inline-block h-28 w-28', 'animate-spin rounded-full', 'border-8 border-solid border-current', 'border-r-transparent', color), role: "status" }) })));
@@ -2663,7 +2762,24 @@
2663
2762
  return `${minutes}:${seconds}`;
2664
2763
  };
2665
2764
 
2666
- const InputCode = JSX(({ values, setValues, hasError }) => {
2765
+ const handleSendCode = async ({ phoneNumber, captchaDialog, setTimeNextReq, setIsTimerStarted, setAttemps, }) => {
2766
+ try {
2767
+ await RETAIL_API.SendCode({
2768
+ phoneNumber: phoneNumber,
2769
+ smsCodesSetName: { key: 'AUTHENTICATION' },
2770
+ });
2771
+ setAttemps(0);
2772
+ setTimeNextReq(180);
2773
+ setIsTimerStarted(true);
2774
+ }
2775
+ catch (e) {
2776
+ if (e?.status === 429) {
2777
+ captchaDialog.open();
2778
+ }
2779
+ }
2780
+ };
2781
+
2782
+ const InputCode = JSX(({ values, setValues, hasError, errorText }) => {
2667
2783
  const [activeIndex, setActiveIndex] = useState(0);
2668
2784
  const inputRefs = useRef([]);
2669
2785
  useEffect(() => {
@@ -2700,7 +2816,7 @@
2700
2816
  inputRefs.current = [];
2701
2817
  }
2702
2818
  inputRefs.current[index] = ref;
2703
- }, onFocus: (event) => event.target.select(), onKeyDown: handleKeyDown(index), className: getInputStyle(index, values, hasError) }, index))) }), hasError ? jsx("div", { className: "text-error", children: "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043E\u0434" }) : null] }));
2819
+ }, onFocus: (event) => event.target.select(), onKeyDown: handleKeyDown(index), className: getInputStyle(index, values, hasError) }, index))) }), hasError ? jsx("div", { className: "text-error", children: errorText }) : null] }));
2704
2820
  });
2705
2821
  const getInputStyle = (index, values, hasError = false) => {
2706
2822
  const isInputEmpty = !values[index];
@@ -2711,42 +2827,85 @@
2711
2827
  return (jsx(Button, { type: "button", onClick: onClick, disabled: isDisabled, children: jsx(Text, { font: "font-medium", children: text }) }));
2712
2828
  });
2713
2829
 
2714
- const VerifyPhoneDialog = JSX(({ title, phone, description, __html, code = true, codeLength = 4, textButton = '', onClose, href = '', }) => {
2715
- const { close } = useDialogManager();
2716
- const [values, setValues] = useState(Array(codeLength).fill(''));
2830
+ const useVerifyPhoneDialogSubmit = ({ close, values }) => {
2717
2831
  const [hasError, setHasError] = useState(false);
2832
+ const [errorText, setErrorText] = useState('');
2718
2833
  const [isLoading, setIsLoading] = useState(false);
2719
- const [timeNextReq, setTimeNextReq] = useState(180);
2720
- const isValidCode = useMemo(() => values.every(Boolean), [values]);
2721
- useEffect(() => {
2722
- RETAIL_API.SendCode({
2723
- phoneNumber: phone,
2724
- smsCodesSetName: { key: 'AUTHENTICATION' },
2725
- });
2834
+ const [timeNextReq, setTimeNextReq] = useState(0);
2835
+ const [isTimerStarted, setIsTimerStarted] = useState(false);
2836
+ const [attemps, setAttemps] = useState(0);
2837
+ const resetError = useCallback(() => {
2838
+ setHasError(false);
2839
+ setErrorText('');
2726
2840
  }, []);
2841
+ const isTimeExpired = useMemo(() => timeNextReq === 0 && isTimerStarted, [timeNextReq, isTimerStarted]);
2842
+ const isSubmitButtonDisabled = useMemo(() => attemps > 2 || !values.every(Boolean) || isTimeExpired, [values]);
2727
2843
  const handleSubmit = useCallback(async () => {
2728
2844
  try {
2845
+ setIsTimerStarted(false);
2846
+ setTimeNextReq(0);
2847
+ setAttemps(attemps + 1);
2729
2848
  setIsLoading(true);
2730
2849
  await RETAIL_API.CheckCode({
2731
2850
  smsText: values.join(''),
2732
2851
  smsCodesSetName: { key: 'AUTHENTICATION' },
2733
2852
  });
2734
- globalThis.location.href = href;
2735
- close();
2736
- onClose && onClose();
2853
+ resetError();
2854
+ close && close();
2737
2855
  }
2738
2856
  catch {
2739
2857
  setIsLoading(false);
2858
+ attemps > 1 ? setErrorText('Исчерпан лимит ввода смс-кода') : setErrorText('Неверный код');
2740
2859
  setHasError(true);
2741
2860
  }
2742
- }, [values]);
2743
- return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-lg", children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md", children: [jsx(Headline, { className: "w-full", title: title, description: description, headlineVersion: "S", isEmbedded: true }), code ? jsx(InputCode, { values: values, setValues: setValues, hasError: hasError }) : null, timeNextReq ? (jsxs("div", { className: "flex flex-row text-l font-light text-primary-main", 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-primary-main ml-1", time: timeNextReq, setTime: setTimeNextReq })] })) : (jsx(LinkButton, { className: "text-primary-main", children: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434" })), jsx(RichText, { itemSize: "list-s", __html: __html }), textButton ? (jsx(SubmitButton, { isDisabled: !isValidCode, onClick: handleSubmit, text: textButton })) : null, isLoading ? jsx(Loader, { blur: false }) : null] }) }));
2861
+ }, [values, attemps]);
2862
+ useEffect(() => {
2863
+ if (isTimeExpired) {
2864
+ setHasError(true);
2865
+ setErrorText('Код просрочен');
2866
+ }
2867
+ else {
2868
+ setHasError(false);
2869
+ }
2870
+ }, [isTimeExpired]);
2871
+ return {
2872
+ handleSubmit,
2873
+ hasError,
2874
+ errorText,
2875
+ isLoading,
2876
+ timeNextReq,
2877
+ isSubmitButtonDisabled,
2878
+ setTimeNextReq,
2879
+ setIsTimerStarted,
2880
+ setAttemps,
2881
+ };
2882
+ };
2883
+
2884
+ const VerifyPhoneDialog = JSX(({ close = noop, onClose = noop, title, description, __html, code = true, codeLength = 4, textButton = '', phoneNumber = '+79999999999', }) => {
2885
+ const [values, setValues] = useState(Array(codeLength).fill(''));
2886
+ const { handleSubmit, hasError, errorText, isLoading, timeNextReq, isSubmitButtonDisabled, setTimeNextReq, setIsTimerStarted, setAttemps, } = useVerifyPhoneDialogSubmit({ values, close });
2887
+ const sendCode = useCallback(() => {
2888
+ handleSendCode({
2889
+ phoneNumber,
2890
+ captchaDialog,
2891
+ setTimeNextReq,
2892
+ setIsTimerStarted,
2893
+ setAttemps,
2894
+ });
2895
+ }, []);
2896
+ const captchaDialog = useCaptchaDialog({ phoneNumber, sendCode }, onClose);
2897
+ useEffect(() => {
2898
+ sendCode();
2899
+ }, []);
2900
+ return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-lg", children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md", children: [jsx(Headline, { className: "w-full", title: title, description: description, headlineVersion: "S", isEmbedded: true }), code ? (jsx(InputCode, { values: values, setValues: setValues, errorText: errorText, hasError: hasError })) : null, renderText$1(timeNextReq, setTimeNextReq, sendCode), jsx(RichText, { itemSize: "list-s", __html: __html }), renderTextButton(textButton, isSubmitButtonDisabled, handleSubmit), isLoading ? jsx(Loader, { blur: false }) : null] }) }));
2744
2901
  });
2902
+ const renderTextButton = (textButton, isDisabled, handleSubmit) => textButton ? (jsx(SubmitButton, { isDisabled: isDisabled, onClick: handleSubmit, text: textButton })) : null;
2903
+ const renderText$1 = (timeNextReq, setTimeNextReq, sendCode) => timeNextReq ? (jsxs("div", { className: "flex flex-row text-l font-light text-primary-main", 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-primary-main ml-1", time: timeNextReq, setTime: setTimeNextReq })] })) : (jsx(LinkButton, { onClick: sendCode, className: "text-primary-main", children: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u043A\u043E\u0434" }));
2745
2904
 
2746
2905
  const useVerifyPhoneDialog = (props) => {
2747
2906
  const { open, close } = useDialogManager();
2748
2907
  return {
2749
- open: (options = {}) => open(jsx(VerifyPhoneDialog, { ...props }), options),
2908
+ open: (options = {}) => open(jsx(VerifyPhoneDialog, { onClose: close, ...props }), options),
2750
2909
  close,
2751
2910
  };
2752
2911
  };
@@ -2773,7 +2932,7 @@
2773
2932
  programId,
2774
2933
  });
2775
2934
  await RETAIL_API.UpdateUserTask(getUpdateUserTaskData(participantId, taskId, profileId, formData));
2776
- setResponseStatus('OK');
2935
+ globalThis.location.href = '/credit-lead';
2777
2936
  }
2778
2937
  catch {
2779
2938
  setResponseStatus('Fail');
@@ -2781,7 +2940,7 @@
2781
2940
  };
2782
2941
  // eslint-disable-next-line react-hooks/rules-of-hooks
2783
2942
  const verifyPhoneDialog = useVerifyPhoneDialog({
2784
- onClose: handleSuccessVerify,
2943
+ close: handleSuccessVerify,
2785
2944
  ...verifyPhoneContent(formData?.phone),
2786
2945
  });
2787
2946
  verifyPhoneDialog.open();
@@ -2799,14 +2958,13 @@
2799
2958
  const verifyPhoneContent = (phone) => ({
2800
2959
  title: 'Подтвердите номер телефона',
2801
2960
  description: `Мы отправили код на ${phone}`,
2802
- phone: formatPhone(phone),
2961
+ phoneNumber: formatPhone(phone),
2803
2962
  textButton: 'Оформить',
2804
2963
  __html: `<span>Вводя код, я подтверждаю, что ознакомлен и подписываю:</span>
2805
2964
  <ul><li>соглашение о порядке использования простой электронной подписи,
2806
2965
  </li><li>согласие на обработку персональных данных,
2807
2966
  </li><li>предоставление и подписание прочих согласий Банка,
2808
2967
  </li><li>согласие на запрос в ПФР</li></ul>`,
2809
- href: '/credit-lead',
2810
2968
  });
2811
2969
 
2812
2970
  const useInitApplicationLead = () => {
@@ -4555,7 +4713,7 @@
4555
4713
  return null;
4556
4714
  };
4557
4715
 
4558
- const ICON_SIZE$1 = { width: '24', height: '24' };
4716
+ const ICON_SIZE = { width: '24', height: '24' };
4559
4717
  const PaginationContainer = ({ currentPage, onPageChange, totalPages, }) => {
4560
4718
  const pages = useMemo(() => Array.from({ length: totalPages }).fill({
4561
4719
  currentPage,
@@ -4574,7 +4732,7 @@
4574
4732
  }, [currentPage, totalPages]);
4575
4733
  const handleFirstPage = useCallback(() => onPageChange(1), []);
4576
4734
  const handleLastPage = useCallback(() => onPageChange(totalPages), [totalPages]);
4577
- return (jsxs("div", { className: "flex gap-m items-center", children: [jsx("div", { onClick: handlePrevPage, children: jsx(Icon, { name: "ArrowLeftIcon", iconVersion: "black", imageClassName: getIconStyle(currentPage === 1), ...ICON_SIZE$1 }) }), jsxs("div", { className: "flex @lg:gap-2xs", children: [currentPage > 1 ? (jsx("div", { onClick: handleFirstPage, className: paginationBlockStyle, "aria-label": "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430 1", children: "1" })) : null, currentPage > 3 ? jsx("div", { className: "py-m @lg:px-s", children: "..." }) : null, pages.map(renderPages), currentPage < totalPages - 2 ? jsx("div", { className: "py-m @lg:px-s", children: "..." }) : null, currentPage < totalPages ? (jsx("div", { onClick: handleLastPage, className: paginationBlockStyle, "aria-label": `Страница ${totalPages}`, children: totalPages })) : null] }), jsx("div", { onClick: handleNextPage, children: jsx(Icon, { className: "rotate-180", name: "ArrowLeftIcon", iconVersion: "black", imageClassName: getIconStyle(currentPage === totalPages), ...ICON_SIZE$1 }) })] }));
4735
+ return (jsxs("div", { className: "flex gap-m items-center", children: [jsx("div", { onClick: handlePrevPage, children: jsx(Icon, { name: "ArrowLeftIcon", iconVersion: "black", imageClassName: getIconStyle(currentPage === 1), ...ICON_SIZE }) }), jsxs("div", { className: "flex @lg:gap-2xs", children: [currentPage > 1 ? (jsx("div", { onClick: handleFirstPage, className: paginationBlockStyle, "aria-label": "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430 1", children: "1" })) : null, currentPage > 3 ? jsx("div", { className: "py-m @lg:px-s", children: "..." }) : null, pages.map(renderPages), currentPage < totalPages - 2 ? jsx("div", { className: "py-m @lg:px-s", children: "..." }) : null, currentPage < totalPages ? (jsx("div", { onClick: handleLastPage, className: paginationBlockStyle, "aria-label": `Страница ${totalPages}`, children: totalPages })) : null] }), jsx("div", { onClick: handleNextPage, children: jsx(Icon, { className: "rotate-180", name: "ArrowLeftIcon", iconVersion: "black", imageClassName: getIconStyle(currentPage === totalPages), ...ICON_SIZE }) })] }));
4578
4736
  };
4579
4737
  const getIconStyle = (condition) => condition ? 'opacity-20' : 'cursor-pointer hover:opacity-60';
4580
4738
 
@@ -4895,36 +5053,6 @@
4895
5053
 
4896
5054
  const LEFT_COLUMN_STYLE = 'w-full lg:w-52';
4897
5055
 
4898
- const ICON_SIZE = { width: '118', height: '24' };
4899
-
4900
- const logoTitleSizeStyle = '';
4901
-
4902
- const ICON_VERSION_MAP = {
4903
- 'bg-white': 'color',
4904
- transparent: 'white',
4905
- };
4906
- const SVG_COLOR = {
4907
- 'bg-white': 'text-primary-main',
4908
- transparent: 'text-white',
4909
- };
4910
- const renderImage = (bgColor, image, size) => {
4911
- const img = image?.src
4912
- ? image
4913
- : {
4914
- icon: image?.icon || 'LogoIcon',
4915
- iconVersion: ICON_VERSION_MAP[bgColor],
4916
- };
4917
- return (jsx(Img, { image: img, className: SVG_COLOR[bgColor], width: size?.width, height: size?.height }));
4918
- };
4919
-
4920
- const TEXT_COLOR = {
4921
- 'bg-white': 'text-primary-text',
4922
- transparent: 'text-white',
4923
- };
4924
- const Logo = JSX(({ className, href = '/', logo, children, targetBlank, bgColor = 'bg-white', showTitle = true, data, }) => (jsxs("a", { className: style('inline-flex items-center font-sans no-underline', className), href: logo?.href ?? href, target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title ?? 'Россельхозбанк', ...getAspectsAttributes(data), children: [renderImage(bgColor, logo?.image, ICON_SIZE), showTitle
4925
- ? children ?? (jsx("div", { className: "ml-s", children: jsx(Text, { font: "font-medium", color: TEXT_COLOR[bgColor], size: logoTitleSizeStyle, children: logo?.title ?? 'Россельхозбанк' }) }))
4926
- : null] })));
4927
-
4928
5056
  function useDebouncedEffect(effect, deps, delay = 300) {
4929
5057
  useEffect(() => {
4930
5058
  const timerId = globalThis.setTimeout(effect, delay);
@@ -7303,7 +7431,7 @@
7303
7431
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
7304
7432
  });
7305
7433
 
7306
- const packageVersion = "0.14.587";
7434
+ const packageVersion = "0.14.589";
7307
7435
 
7308
7436
  exports.Blocks = Blocks;
7309
7437
  exports.ContentPage = ContentPage;