@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.
- package/bundle/api/RetailApi/RetailApi.d.ts +3 -1
- package/bundle/api/RetailApi/RetailApiTypes.d.ts +3 -0
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +187 -59
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/hooks/useElementSpace.d.ts +2 -0
- package/bundle/icons/IconName.d.ts +4 -2
- package/bundle/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
- package/bundle/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
- package/bundle/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
- package/bundle/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
- package/bundle/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
- package/bundle/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
- package/bundle/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
- package/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
- package/cosmos-static/icons/RefreshIcon.svg +1 -0
- package/cosmos-static/icons/sprites.svg +1 -0
- package/dist/api/RetailApi/RetailApi.d.ts +3 -1
- package/dist/api/RetailApi/RetailApi.js +15 -1
- package/dist/api/RetailApi/RetailApi.js.map +1 -1
- package/dist/api/RetailApi/RetailApiTypes.d.ts +3 -0
- package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -4
- package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/dist/hooks/useElementSpace.d.ts +2 -0
- package/dist/hooks/useElementSpace.js +21 -0
- package/dist/hooks/useElementSpace.js.map +1 -0
- package/dist/icons/IconName.d.ts +4 -2
- package/dist/icons/IconName.js +3 -1
- package/dist/icons/IconName.js.map +1 -1
- package/dist/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
- package/dist/ui-kit/CaptchaDialog/CaptchaDialog.js +22 -0
- package/dist/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -0
- package/dist/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
- package/dist/ui-kit/CaptchaDialog/checkCaptcha.js +16 -0
- package/dist/ui-kit/CaptchaDialog/checkCaptcha.js.map +1 -0
- package/dist/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
- package/dist/ui-kit/CaptchaDialog/createCaptcha.js +9 -0
- package/dist/ui-kit/CaptchaDialog/createCaptcha.js.map +1 -0
- package/dist/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
- package/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js +15 -0
- package/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +1 -0
- package/dist/ui-kit/DatePicker/DatePicker.js +5 -1
- package/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
- package/dist/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
- package/dist/ui-kit/VerifyPhoneDialog/InputCode.js +2 -2
- package/dist/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
- package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
- package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +20 -29
- package/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/dist/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
- package/dist/ui-kit/VerifyPhoneDialog/handleSendCode.js +21 -0
- package/dist/ui-kit/VerifyPhoneDialog/handleSendCode.js.map +1 -0
- package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +1 -1
- package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
- package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
- package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +59 -0
- package/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -0
- package/lib/api/RetailApi/RetailApi.d.ts +3 -1
- package/lib/api/RetailApi/RetailApi.js +15 -1
- package/lib/api/RetailApi/RetailApi.js.map +1 -1
- package/lib/api/RetailApi/RetailApiTypes.d.ts +3 -0
- package/lib/common.css +1 -1
- package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -4
- package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
- package/lib/hooks/useElementSpace.d.ts +2 -0
- package/lib/hooks/useElementSpace.js +18 -0
- package/lib/hooks/useElementSpace.js.map +1 -0
- package/lib/icons/IconName.d.ts +4 -2
- package/lib/icons/IconName.js +3 -1
- package/lib/icons/IconName.js.map +1 -1
- package/lib/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
- package/lib/ui-kit/CaptchaDialog/CaptchaDialog.fixture.d.ts +6 -0
- package/lib/ui-kit/CaptchaDialog/CaptchaDialog.js +20 -0
- package/lib/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -0
- package/lib/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
- package/lib/ui-kit/CaptchaDialog/checkCaptcha.js +13 -0
- package/lib/ui-kit/CaptchaDialog/checkCaptcha.js.map +1 -0
- package/lib/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
- package/lib/ui-kit/CaptchaDialog/createCaptcha.js +6 -0
- package/lib/ui-kit/CaptchaDialog/createCaptcha.js.map +1 -0
- package/lib/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
- package/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js +12 -0
- package/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +1 -0
- package/lib/ui-kit/DatePicker/DatePicker.js +5 -1
- package/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
- package/lib/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
- package/lib/ui-kit/VerifyPhoneDialog/InputCode.js +2 -2
- package/lib/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
- package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
- package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +21 -30
- package/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/lib/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
- package/lib/ui-kit/VerifyPhoneDialog/handleSendCode.js +18 -0
- package/lib/ui-kit/VerifyPhoneDialog/handleSendCode.js.map +1 -0
- package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +1 -1
- package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
- package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
- package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +56 -0
- package/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -0
- package/mobile/bundle/api/RetailApi/RetailApi.d.ts +3 -1
- package/mobile/bundle/api/RetailApi/RetailApiTypes.d.ts +3 -0
- package/mobile/bundle/bundle.umd.js +187 -59
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/hooks/useElementSpace.d.ts +2 -0
- package/mobile/bundle/icons/IconName.d.ts +4 -2
- package/mobile/bundle/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
- package/mobile/bundle/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
- package/mobile/bundle/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
- package/mobile/bundle/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
- package/mobile/bundle/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
- package/mobile/bundle/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
- package/mobile/bundle/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
- package/mobile/bundle/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
- package/mobile/dist/api/RetailApi/RetailApi.d.ts +3 -1
- package/mobile/dist/api/RetailApi/RetailApi.js +15 -1
- package/mobile/dist/api/RetailApi/RetailApi.js.map +1 -1
- package/mobile/dist/api/RetailApi/RetailApiTypes.d.ts +3 -0
- package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -4
- package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/mobile/dist/hooks/useElementSpace.d.ts +2 -0
- package/mobile/dist/hooks/useElementSpace.js +21 -0
- package/mobile/dist/hooks/useElementSpace.js.map +1 -0
- package/mobile/dist/icons/IconName.d.ts +4 -2
- package/mobile/dist/icons/IconName.js +3 -1
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
- package/mobile/dist/ui-kit/CaptchaDialog/CaptchaDialog.js +22 -0
- package/mobile/dist/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -0
- package/mobile/dist/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
- package/mobile/dist/ui-kit/CaptchaDialog/checkCaptcha.js +16 -0
- package/mobile/dist/ui-kit/CaptchaDialog/checkCaptcha.js.map +1 -0
- package/mobile/dist/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
- package/mobile/dist/ui-kit/CaptchaDialog/createCaptcha.js +9 -0
- package/mobile/dist/ui-kit/CaptchaDialog/createCaptcha.js.map +1 -0
- package/mobile/dist/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
- package/mobile/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js +15 -0
- package/mobile/dist/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +1 -0
- package/mobile/dist/ui-kit/DatePicker/DatePicker.js +5 -1
- package/mobile/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
- package/mobile/dist/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
- package/mobile/dist/ui-kit/VerifyPhoneDialog/InputCode.js +2 -2
- package/mobile/dist/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
- package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
- package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +20 -29
- package/mobile/dist/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/mobile/dist/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
- package/mobile/dist/ui-kit/VerifyPhoneDialog/handleSendCode.js +21 -0
- package/mobile/dist/ui-kit/VerifyPhoneDialog/handleSendCode.js.map +1 -0
- package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +1 -1
- package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
- package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
- package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +59 -0
- package/mobile/dist/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -0
- package/mobile/lib/api/RetailApi/RetailApi.d.ts +3 -1
- package/mobile/lib/api/RetailApi/RetailApi.js +15 -1
- package/mobile/lib/api/RetailApi/RetailApi.js.map +1 -1
- package/mobile/lib/api/RetailApi/RetailApiTypes.d.ts +3 -0
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -4
- package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/mobile/lib/hooks/useElementSpace.d.ts +2 -0
- package/mobile/lib/hooks/useElementSpace.js +18 -0
- package/mobile/lib/hooks/useElementSpace.js.map +1 -0
- package/mobile/lib/icons/IconName.d.ts +4 -2
- package/mobile/lib/icons/IconName.js +3 -1
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/ui-kit/CaptchaDialog/CaptchaDialog.d.ts +7 -0
- package/mobile/lib/ui-kit/CaptchaDialog/CaptchaDialog.js +20 -0
- package/mobile/lib/ui-kit/CaptchaDialog/CaptchaDialog.js.map +1 -0
- package/mobile/lib/ui-kit/CaptchaDialog/checkCaptcha.d.ts +8 -0
- package/mobile/lib/ui-kit/CaptchaDialog/checkCaptcha.js +13 -0
- package/mobile/lib/ui-kit/CaptchaDialog/checkCaptcha.js.map +1 -0
- package/mobile/lib/ui-kit/CaptchaDialog/createCaptcha.d.ts +1 -0
- package/mobile/lib/ui-kit/CaptchaDialog/createCaptcha.js +6 -0
- package/mobile/lib/ui-kit/CaptchaDialog/createCaptcha.js.map +1 -0
- package/mobile/lib/ui-kit/CaptchaDialog/useCaptchaDialog.d.ts +6 -0
- package/mobile/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js +12 -0
- package/mobile/lib/ui-kit/CaptchaDialog/useCaptchaDialog.js.map +1 -0
- package/mobile/lib/ui-kit/DatePicker/DatePicker.js +5 -1
- package/mobile/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
- package/mobile/lib/ui-kit/VerifyPhoneDialog/InputCode.d.ts +1 -0
- package/mobile/lib/ui-kit/VerifyPhoneDialog/InputCode.js +2 -2
- package/mobile/lib/ui-kit/VerifyPhoneDialog/InputCode.js.map +1 -1
- package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +3 -3
- package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js +21 -30
- package/mobile/lib/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/mobile/lib/ui-kit/VerifyPhoneDialog/handleSendCode.d.ts +15 -0
- package/mobile/lib/ui-kit/VerifyPhoneDialog/handleSendCode.js +18 -0
- package/mobile/lib/ui-kit/VerifyPhoneDialog/handleSendCode.js.map +1 -0
- package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js +1 -1
- package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.js.map +1 -1
- package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +16 -0
- package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +56 -0
- package/mobile/lib/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -0
- package/mobile/src/api/RetailApi/RetailApi.ts +18 -1
- package/mobile/src/api/RetailApi/RetailApiTypes.ts +4 -0
- package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +3 -4
- package/mobile/src/hooks/useElementSpace.ts +25 -0
- package/mobile/src/icons/IconName.ts +5 -5
- package/mobile/src/icons/RefreshIcon.svg +3 -0
- package/mobile/src/ui-kit/CaptchaDialog/CaptchaDialog.tsx +68 -0
- package/mobile/src/ui-kit/CaptchaDialog/checkCaptcha.ts +25 -0
- package/mobile/src/ui-kit/CaptchaDialog/createCaptcha.ts +6 -0
- package/mobile/src/ui-kit/CaptchaDialog/useCaptchaDialog.tsx +12 -0
- package/mobile/src/ui-kit/DatePicker/DatePicker.tsx +9 -1
- package/mobile/src/ui-kit/VerifyPhoneDialog/InputCode.tsx +3 -2
- package/mobile/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +66 -51
- package/mobile/src/ui-kit/VerifyPhoneDialog/handleSendCode.ts +37 -0
- package/mobile/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.tsx +2 -1
- package/mobile/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +71 -0
- package/package.json +2 -2
- package/src/api/RetailApi/RetailApi.ts +18 -1
- package/src/api/RetailApi/RetailApiTypes.ts +4 -0
- package/src/components/ApplicationLeadForm/useApplicationLeadApi.ts +3 -4
- package/src/hooks/useElementSpace.ts +25 -0
- package/src/icons/IconName.ts +353 -6
- package/src/icons/RefreshIcon.svg +3 -0
- package/src/ui-kit/CaptchaDialog/CaptchaDialog.fixture.tsx +11 -0
- package/src/ui-kit/CaptchaDialog/CaptchaDialog.tsx +68 -0
- package/src/ui-kit/CaptchaDialog/checkCaptcha.ts +25 -0
- package/src/ui-kit/CaptchaDialog/createCaptcha.ts +6 -0
- package/src/ui-kit/CaptchaDialog/useCaptchaDialog.tsx +12 -0
- package/src/ui-kit/DatePicker/DatePicker.tsx +9 -1
- package/src/ui-kit/VerifyPhoneDialog/InputCode.tsx +3 -2
- package/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.fixture.tsx +11 -8
- package/src/ui-kit/VerifyPhoneDialog/VerifyPhoneDialog.tsx +66 -51
- package/src/ui-kit/VerifyPhoneDialog/handleSendCode.ts +37 -0
- package/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialog.tsx +2 -1
- package/src/ui-kit/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +71 -0
package/bundle/bundle.umd.js
CHANGED
|
@@ -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$
|
|
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$
|
|
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
|
-
|
|
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
|
-
})
|
|
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
|
|
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:
|
|
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
|
|
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(
|
|
2720
|
-
const
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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.
|
|
7434
|
+
const packageVersion = "0.14.589";
|
|
7307
7435
|
|
|
7308
7436
|
exports.Blocks = Blocks;
|
|
7309
7437
|
exports.ContentPage = ContentPage;
|