kui-complex 0.0.44 → 0.0.46
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/Avatar/cjs/index.js +3 -3
- package/Avatar/cjs/index.js.map +1 -1
- package/Avatar/index.d.ts +1 -1
- package/Avatar/index.js +4 -4
- package/Avatar/index.js.map +1 -1
- package/ButtonSelect/cjs/index.js +12 -3
- package/ButtonSelect/cjs/index.js.map +1 -1
- package/ButtonSelect/index.js +12 -3
- package/ButtonSelect/index.js.map +1 -1
- package/ButtonTab/cjs/index.js +6 -5
- package/ButtonTab/cjs/index.js.map +1 -1
- package/ButtonTab/cjs/package.json +4 -1
- package/ButtonTab/index.d.ts +4 -2
- package/ButtonTab/index.js +4 -3
- package/ButtonTab/index.js.map +1 -1
- package/ButtonTab/package.json +4 -1
- package/ButtonsPanel/cjs/index.js +6 -6
- package/ButtonsPanel/cjs/index.js.map +1 -1
- package/ButtonsPanel/index.d.ts +3 -7
- package/ButtonsPanel/index.js +7 -7
- package/ButtonsPanel/index.js.map +1 -1
- package/CalendarHeaderWithSelect/cjs/index.js +36 -21
- package/CalendarHeaderWithSelect/cjs/index.js.map +1 -1
- package/CalendarHeaderWithSelect/cjs/package.json +1 -0
- package/CalendarHeaderWithSelect/index.d.ts +11 -6
- package/CalendarHeaderWithSelect/index.js +36 -21
- package/CalendarHeaderWithSelect/index.js.map +1 -1
- package/CalendarHeaderWithSelect/package.json +1 -0
- package/CalendarStandardContainer/cjs/index.js +4 -3
- package/CalendarStandardContainer/cjs/index.js.map +1 -1
- package/CalendarStandardContainer/index.d.ts +4 -3
- package/CalendarStandardContainer/index.js +4 -3
- package/CalendarStandardContainer/index.js.map +1 -1
- package/CalendarStandardHeader/cjs/index.js +4 -3
- package/CalendarStandardHeader/cjs/index.js.map +1 -1
- package/CalendarStandardHeader/index.d.ts +3 -1
- package/CalendarStandardHeader/index.js +4 -3
- package/CalendarStandardHeader/index.js.map +1 -1
- package/DesktopInputWithMonthPicker/cjs/index.js +11 -11
- package/DesktopInputWithMonthPicker/cjs/index.js.map +1 -1
- package/DesktopInputWithMonthPicker/index.d.ts +3 -1
- package/DesktopInputWithMonthPicker/index.js +12 -12
- package/DesktopInputWithMonthPicker/index.js.map +1 -1
- package/DesktopMenuPanel/cjs/index.js +10 -10
- package/DesktopMenuPanel/cjs/index.js.map +1 -1
- package/DesktopMenuPanel/index.d.ts +4 -2
- package/DesktopMenuPanel/index.js +8 -8
- package/DesktopMenuPanel/index.js.map +1 -1
- package/InputPassword/cjs/index.js +8 -8
- package/InputPassword/cjs/index.js.map +1 -1
- package/InputPassword/index.d.ts +6 -5
- package/InputPassword/index.js +9 -9
- package/InputPassword/index.js.map +1 -1
- package/InputSelect/cjs/index.js +12 -3
- package/InputSelect/cjs/index.js.map +1 -1
- package/InputSelect/index.js +12 -3
- package/InputSelect/index.js.map +1 -1
- package/InputSelectDropdown/cjs/index.js +12 -3
- package/InputSelectDropdown/cjs/index.js.map +1 -1
- package/InputSelectDropdown/index.d.ts +4 -2
- package/InputSelectDropdown/index.js +12 -3
- package/InputSelectDropdown/index.js.map +1 -1
- package/InputTextAreaMobile/cjs/index.js +3 -3
- package/InputTextAreaMobile/cjs/index.js.map +1 -1
- package/InputTextAreaMobile/index.d.ts +3 -1
- package/InputTextAreaMobile/index.js +3 -3
- package/InputTextAreaMobile/index.js.map +1 -1
- package/InputWithController/cjs/index.js +2 -2
- package/InputWithController/cjs/index.js.map +1 -1
- package/InputWithController/index.d.ts +5 -5
- package/InputWithController/index.js +2 -2
- package/InputWithController/index.js.map +1 -1
- package/InputWithDatePicker/cjs/index.js +84 -41
- package/InputWithDatePicker/cjs/index.js.map +1 -1
- package/InputWithDatePicker/index.d.ts +6 -1
- package/InputWithDatePicker/index.js +86 -42
- package/InputWithDatePicker/index.js.map +1 -1
- package/InputWithMonthPicker/cjs/index.js +17 -17
- package/InputWithMonthPicker/cjs/index.js.map +1 -1
- package/InputWithMonthPicker/index.js +18 -18
- package/InputWithMonthPicker/index.js.map +1 -1
- package/MenuItem/cjs/index.js +7 -7
- package/MenuItem/cjs/index.js.map +1 -1
- package/MenuItem/index.d.ts +4 -2
- package/MenuItem/index.js +5 -5
- package/MenuItem/index.js.map +1 -1
- package/MenuPanel/cjs/index.js +13 -13
- package/MenuPanel/cjs/index.js.map +1 -1
- package/MenuPanel/index.d.ts +4 -7
- package/MenuPanel/index.js +15 -15
- package/MenuPanel/index.js.map +1 -1
- package/MobileInputWithMonthPicker/cjs/index.js +13 -13
- package/MobileInputWithMonthPicker/cjs/index.js.map +1 -1
- package/MobileInputWithMonthPicker/index.d.ts +3 -1
- package/MobileInputWithMonthPicker/index.js +14 -14
- package/MobileInputWithMonthPicker/index.js.map +1 -1
- package/MobileMenuPanel/cjs/index.js +11 -11
- package/MobileMenuPanel/cjs/index.js.map +1 -1
- package/MobileMenuPanel/index.d.ts +4 -2
- package/MobileMenuPanel/index.js +8 -8
- package/MobileMenuPanel/index.js.map +1 -1
- package/ModalFooter/cjs/index.js +4 -3
- package/ModalFooter/cjs/index.js.map +1 -1
- package/ModalFooter/index.d.ts +6 -8
- package/ModalFooter/index.js +5 -4
- package/ModalFooter/index.js.map +1 -1
- package/MonthPickerContainer/cjs/index.js +5 -4
- package/MonthPickerContainer/cjs/index.js.map +1 -1
- package/MonthPickerContainer/index.d.ts +1 -1
- package/MonthPickerContainer/index.js +5 -4
- package/MonthPickerContainer/index.js.map +1 -1
- package/MonthPickerHeader/cjs/index.js +4 -3
- package/MonthPickerHeader/cjs/index.js.map +1 -1
- package/MonthPickerHeader/index.d.ts +3 -1
- package/MonthPickerHeader/index.js +5 -4
- package/MonthPickerHeader/index.js.map +1 -1
- package/PassportStrengthBar/cjs/index.js +4 -3
- package/PassportStrengthBar/cjs/index.js.map +1 -1
- package/PassportStrengthBar/cjs/package.json +4 -1
- package/PassportStrengthBar/index.d.ts +4 -2
- package/PassportStrengthBar/index.js +5 -4
- package/PassportStrengthBar/index.js.map +1 -1
- package/PassportStrengthBar/package.json +4 -1
- package/SelectMonth/cjs/index.js +19 -10
- package/SelectMonth/cjs/index.js.map +1 -1
- package/SelectMonth/index.d.ts +6 -2
- package/SelectMonth/index.js +19 -10
- package/SelectMonth/index.js.map +1 -1
- package/SelectYear/cjs/index.js +21 -10
- package/SelectYear/cjs/index.js.map +1 -1
- package/SelectYear/index.d.ts +6 -5
- package/SelectYear/index.js +21 -10
- package/SelectYear/index.js.map +1 -1
- package/Switch/cjs/index.js +4 -3
- package/Switch/cjs/index.js.map +1 -1
- package/Switch/cjs/package.json +1 -0
- package/Switch/index.d.ts +8 -6
- package/Switch/index.js +4 -3
- package/Switch/index.js.map +1 -1
- package/Switch/package.json +1 -0
- package/Table/cjs/index.js +2 -1
- package/Table/cjs/index.js.map +1 -1
- package/Table/index.d.ts +1 -1
- package/Table/index.js +2 -1
- package/Table/index.js.map +1 -1
- package/TableRow/cjs/index.js +14 -4
- package/TableRow/cjs/index.js.map +1 -1
- package/TableRow/index.d.ts +1 -1
- package/TableRow/index.js +15 -4
- package/TableRow/index.js.map +1 -1
- package/TestForm/cjs/index.js +111 -66
- package/TestForm/cjs/index.js.map +1 -1
- package/TestForm/index.js +112 -67
- package/TestForm/index.js.map +1 -1
- package/UndefinedAvatar/cjs/index.js +4 -3
- package/UndefinedAvatar/cjs/index.js.map +1 -1
- package/UndefinedAvatar/index.d.ts +5 -6
- package/UndefinedAvatar/index.js +5 -4
- package/UndefinedAvatar/index.js.map +1 -1
- package/cjs/index.js +140 -96
- package/cjs/index.js.map +1 -1
- package/index.d.ts +75 -60
- package/index.js +142 -98
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -6,18 +6,18 @@ import { css, Global } from '@emotion/react';
|
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { forwardRef, useEffect, useRef, useState } from 'react';
|
|
8
8
|
import { jsx, jsxs as jsxs$1, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
9
|
-
import {
|
|
9
|
+
import { Caption, theme, Button, Container, Grid, InputWithAdornments, Heading, IconButton, InputWithMask as InputWithMask$1, LinearProgress, Divider, Modal, Switch as Switch$1, InputWithCountryDropdown } from 'kui-basic';
|
|
10
10
|
import { useNavigate } from 'react-router-dom';
|
|
11
|
+
import { DateTime } from 'luxon';
|
|
11
12
|
import { HalfArrowIcon, PrevArrowIcon, NextArrowIcon, CalendarIcon, ArrowBackIcon, ArrowNextIcon, ClosedEyeIcon, OpenEyeIcon, CheckIcon } from 'kui-icon';
|
|
12
13
|
import _ from 'lodash';
|
|
13
|
-
import DatePicker
|
|
14
|
+
import DatePicker from 'react-datepicker';
|
|
14
15
|
import { Controller, useController } from 'react-hook-form';
|
|
15
16
|
import InputMask from 'react-input-mask';
|
|
16
17
|
import { scroller, Events, Link, animateScroll, Element } from 'react-scroll';
|
|
17
18
|
import ru from 'date-fns/locale/ru';
|
|
18
|
-
import { DateTime } from 'luxon';
|
|
19
|
-
import Swiper from 'react-id-swiper';
|
|
20
19
|
import { useLocation } from 'react-router';
|
|
20
|
+
import Swiper from 'react-id-swiper';
|
|
21
21
|
import * as ReactDOM from 'react-dom';
|
|
22
22
|
import classNames from 'classnames';
|
|
23
23
|
|
|
@@ -64,7 +64,7 @@ function __makeTemplateObject(cooked, raw) {
|
|
|
64
64
|
return cooked;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
var UndefinedAvatar = function (_a) {
|
|
67
|
+
var UndefinedAvatar = forwardRef(function (_a, ref) {
|
|
68
68
|
var label = _a.label, otherProps = __rest(_a, ["label"]);
|
|
69
69
|
if (!label) {
|
|
70
70
|
return jsx("div", {});
|
|
@@ -74,8 +74,8 @@ var UndefinedAvatar = function (_a) {
|
|
|
74
74
|
.map(function (el) { return el[0]; })
|
|
75
75
|
.slice(0, 3)
|
|
76
76
|
.join("");
|
|
77
|
-
return (jsx(Wrapper$8, __assign({ "data-testid": "undefined_avatar" }, { children: jsx(Caption, __assign({ size: "xs", weight: 600, colorGroup: "brand", color: "main" }, otherProps, { children: formattedLabel })) })));
|
|
78
|
-
};
|
|
77
|
+
return (jsx(Wrapper$8, __assign({ "data-testid": "undefined_avatar", ref: ref }, { children: jsx(Caption, __assign({ size: "xs", weight: 600, colorGroup: "brand", color: "main" }, otherProps, { children: formattedLabel })) })));
|
|
78
|
+
});
|
|
79
79
|
var Wrapper$8 = styled.div(templateObject_1$u || (templateObject_1$u = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n &,\n p {\n transition: all ease-out 0.3s;\n }\n @media (min-width: 900px) {\n &:hover {\n background-color: ", ";\n p {\n color: white;\n }\n }\n }\n"], ["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n &,\n p {\n transition: all ease-out 0.3s;\n }\n @media (min-width: 900px) {\n &:hover {\n background-color: ", ";\n p {\n color: white;\n }\n }\n }\n"])), theme.palette.brand.light, theme.palette.brand.main);
|
|
80
80
|
var templateObject_1$u;
|
|
81
81
|
|
|
@@ -98,18 +98,18 @@ var sizeStyles = {
|
|
|
98
98
|
};
|
|
99
99
|
var templateObject_1$t, templateObject_2$f, templateObject_3$7, templateObject_4$2, templateObject_5$1, templateObject_6;
|
|
100
100
|
|
|
101
|
-
var ButtonTab = function (_a) {
|
|
101
|
+
var ButtonTab = forwardRef(function (_a, ref) {
|
|
102
102
|
var index = _a.index, onClick = _a.onClick, isActive = _a.isActive, label = _a.label;
|
|
103
103
|
var handleClick = function () {
|
|
104
104
|
onClick(index);
|
|
105
105
|
};
|
|
106
|
-
return (jsx$1(StyledButton, __assign({ variant: isActive ? "orange" : "white", captionWeight: isActive ? 600 : 400, onClick: handleClick, css: !isActive && inactiveStyles, size: "s" }, { children: label })));
|
|
107
|
-
};
|
|
106
|
+
return (jsx$1(StyledButton, __assign({ variant: isActive ? "orange" : "white", captionWeight: isActive ? 600 : 400, onClick: handleClick, css: !isActive && inactiveStyles, size: "s", ref: ref }, { children: label })));
|
|
107
|
+
});
|
|
108
108
|
var StyledButton = styled(Button)(templateObject_1$s || (templateObject_1$s = __makeTemplateObject(["\n margin-right: 24px;\n &:last-of-type {\n margin-right: 0;\n }\n"], ["\n margin-right: 24px;\n &:last-of-type {\n margin-right: 0;\n }\n"])));
|
|
109
109
|
var inactiveStyles = css(templateObject_2$e || (templateObject_2$e = __makeTemplateObject(["\n p {\n color: ", ";\n }\n"], ["\n p {\n color: ", ";\n }\n"])), theme.palette.grey.seventy);
|
|
110
110
|
var templateObject_1$s, templateObject_2$e;
|
|
111
111
|
|
|
112
|
-
var ButtonsPanel = function (_a) {
|
|
112
|
+
var ButtonsPanel = forwardRef(function (_a, ref) {
|
|
113
113
|
var tabs = _a.tabs, tabPanels = _a.tabPanels, paths = _a.paths, activeTab = _a.activeTab, isSticky = _a.isSticky, onChange = _a.onChange, otherProps = __rest(_a, ["tabs", "tabPanels", "paths", "activeTab", "isSticky", "onChange"]);
|
|
114
114
|
var _b = React.useState(Number(activeTab)), value = _b[0], setValue = _b[1];
|
|
115
115
|
var navigate = useNavigate();
|
|
@@ -125,8 +125,8 @@ var ButtonsPanel = function (_a) {
|
|
|
125
125
|
useEffect(function () {
|
|
126
126
|
setValue(Number(activeTab));
|
|
127
127
|
}, [activeTab]);
|
|
128
|
-
return (jsxs(Fragment, { children: [jsx$1(StyledContainer$1, __assign({ css: isSticky && { position: "sticky" } }, otherProps, { children: jsx$1(Container, { children: tabs.map(function (item, index) { return (jsx$1(ButtonTab, { index: index, onClick: handleChange, isActive: index === value, label: item.label }, item.label)); }) }) })), tabPanels.map(function (item, index) { return (jsx$1(Content, __assign({ role: "tabpanel", hidden: value !== index }, { children: value === index && jsx$1(Fragment, { children: item }) }), index)); })] }));
|
|
129
|
-
};
|
|
128
|
+
return (jsxs(Fragment, { children: [jsx$1(StyledContainer$1, __assign({ css: isSticky && { position: "sticky" }, ref: ref }, otherProps, { children: jsx$1(Container, { children: tabs.map(function (item, index) { return (jsx$1(ButtonTab, { index: index, onClick: handleChange, isActive: index === value, label: item.label }, item.label)); }) }) })), tabPanels.map(function (item, index) { return (jsx$1(Content, __assign({ role: "tabpanel", hidden: value !== index }, { children: value === index && jsx$1(Fragment, { children: item }) }), index)); })] }));
|
|
129
|
+
});
|
|
130
130
|
ButtonsPanel.defaultProps = {
|
|
131
131
|
isSticky: false,
|
|
132
132
|
};
|
|
@@ -169,7 +169,7 @@ var InputDropdown = forwardRef(function (_a, ref) {
|
|
|
169
169
|
});
|
|
170
170
|
var templateObject_1$q;
|
|
171
171
|
|
|
172
|
-
var InputSelectDropdown = function (_a) {
|
|
172
|
+
var InputSelectDropdown = forwardRef(function (_a, ref) {
|
|
173
173
|
var options = _a.options, inputRef = _a.inputRef, isOpenDropdown = _a.isOpenDropdown, handleCloseDropdown = _a.handleCloseDropdown, handleSelect = _a.handleSelect, selectedValue = _a.selectedValue;
|
|
174
174
|
var dropdownRef = useRef(null);
|
|
175
175
|
useEffect(function () {
|
|
@@ -186,11 +186,20 @@ var InputSelectDropdown = function (_a) {
|
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
}, [isOpenDropdown]);
|
|
189
|
-
|
|
189
|
+
var forwardedRef = function (elem) {
|
|
190
|
+
if (ref) {
|
|
191
|
+
if (typeof ref === "function")
|
|
192
|
+
ref(elem);
|
|
193
|
+
else
|
|
194
|
+
ref.current = elem;
|
|
195
|
+
}
|
|
196
|
+
dropdownRef.current = elem;
|
|
197
|
+
};
|
|
198
|
+
return (jsx$1(InputDropdown, __assign({ ref: forwardedRef, buttonRef: inputRef, isOpen: isOpenDropdown, handleClose: handleCloseDropdown, css: {
|
|
190
199
|
maxHeight: "142px",
|
|
191
200
|
padding: "4px",
|
|
192
201
|
} }, { children: options.map(function (option, key) { return (jsx$1(OptionWrapper, __assign({ onClick: function () { return handleSelect(option); }, "data-value": "autocomplete_option_".concat(option.value), "data-testid": "autocomplete_option_".concat(key) }, { children: jsx$1(StyledOption, __assign({ css: selectedValue === option.value && selectedStyles }, { children: jsx$1(Caption, __assign({ size: "sm", weight: 500 }, { children: option.label })) })) }), option.label)); }) })));
|
|
193
|
-
};
|
|
202
|
+
});
|
|
194
203
|
var OptionWrapper = styled.div(templateObject_1$p || (templateObject_1$p = __makeTemplateObject(["\n width: 100%;\n padding: 2px 0;\n cursor: pointer;\n"], ["\n width: 100%;\n padding: 2px 0;\n cursor: pointer;\n"])));
|
|
195
204
|
var StyledOption = styled.div(templateObject_2$c || (templateObject_2$c = __makeTemplateObject(["\n padding: 8px;\n transition: all ease-out 0.3s;\n border-radius: 4px;\n &:hover {\n background-color: ", ";\n }\n"], ["\n padding: 8px;\n transition: all ease-out 0.3s;\n border-radius: 4px;\n &:hover {\n background-color: ", ";\n }\n"])), theme.palette.background.light1);
|
|
196
205
|
var selectedStyles = css(templateObject_3$6 || (templateObject_3$6 = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), theme.palette.background.light1);
|
|
@@ -272,13 +281,16 @@ var StyledInput = styled(InputWithAdornments)(templateObject_2$b || (templateObj
|
|
|
272
281
|
var StyledIconWrapper = styled.div(templateObject_3$5 || (templateObject_3$5 = __makeTemplateObject(["\n padding-right: 8px;\n padding-bottom: 4px;\n"], ["\n padding-right: 8px;\n padding-bottom: 4px;\n"])));
|
|
273
282
|
var templateObject_1$o, templateObject_2$b, templateObject_3$5;
|
|
274
283
|
|
|
275
|
-
var
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
};
|
|
284
|
+
var checkDisabled$1 = function (year, min, max) {
|
|
285
|
+
return (min && year <= min) || (max && year >= max);
|
|
286
|
+
};
|
|
287
|
+
var SelectYear = forwardRef(function (_a, ref) {
|
|
288
|
+
var yearOptions = _a.yearOptions; _a.options; var min = _a.min, max = _a.max, props = __rest(_a, ["yearOptions", "options", "min", "max"]);
|
|
289
|
+
var formattedYearOptions = yearOptions.map(function (year) { return (__assign(__assign({}, year), { disabled: checkDisabled$1(Number(year.value), min, max) })); });
|
|
290
|
+
return (jsx(InputSelect, __assign({ ref: ref, label: "Year", options: formattedYearOptions }, props)));
|
|
291
|
+
});
|
|
281
292
|
|
|
293
|
+
var checkDisabled = function (month, min, max) { return (min && month <= min) || (max && month >= max); };
|
|
282
294
|
var monthValues = [
|
|
283
295
|
{ value: 0, label: "January" },
|
|
284
296
|
{ value: 1, label: "February" },
|
|
@@ -293,34 +305,36 @@ var monthValues = [
|
|
|
293
305
|
{ value: 10, label: "November" },
|
|
294
306
|
{ value: 11, label: "December" },
|
|
295
307
|
];
|
|
296
|
-
var SelectMonth = function (
|
|
297
|
-
|
|
298
|
-
return (
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
};
|
|
308
|
+
var SelectMonth = forwardRef(function (props, ref) {
|
|
309
|
+
var min = props.min, max = props.max; props.options; var other = __rest(props, ["min", "max", "options"]);
|
|
310
|
+
var formattedMonths = monthValues.map(function (month) { return (__assign(__assign({}, month), { disabled: checkDisabled(month.value, min, max) })); });
|
|
311
|
+
return (jsx(InputSelect, __assign({ ref: ref, label: "Month", options: formattedMonths }, other)));
|
|
312
|
+
});
|
|
302
313
|
|
|
303
|
-
var CalendarHeaderWithSelect = function (_a) {
|
|
304
|
-
var changeMonth = _a.changeMonth, changeYear = _a.changeYear, date = _a.date, yearOptions = _a.yearOptions;
|
|
314
|
+
var CalendarHeaderWithSelect = forwardRef(function (_a, ref) {
|
|
315
|
+
var changeMonth = _a.changeMonth, changeYear = _a.changeYear, date = _a.date, yearOptions = _a.yearOptions, max = _a.max, min = _a.min;
|
|
305
316
|
var year = date.getFullYear();
|
|
306
|
-
var month = date.getMonth()
|
|
307
|
-
|
|
308
|
-
|
|
317
|
+
var month = date.getMonth();
|
|
318
|
+
var currentYear = DateTime.now().year;
|
|
319
|
+
var minMonth = (min === null || min === void 0 ? void 0 : min.year) === currentYear ? min === null || min === void 0 ? void 0 : min.month : 0;
|
|
320
|
+
var maxMonth = (max === null || max === void 0 ? void 0 : max.year) === currentYear ? max === null || max === void 0 ? void 0 : max.month : 11;
|
|
321
|
+
return (jsx(Wrapper$5, __assign({ ref: ref }, { children: jsxs$1(Grid, __assign({ container: true, spacing: 2 }, { children: [jsx(Grid, __assign({ item: true, xs: 6 }, { children: jsx(SelectYear, { min: min === null || min === void 0 ? void 0 : min.year, max: max === null || max === void 0 ? void 0 : max.year, yearOptions: yearOptions, value: year, handleChange: changeYear }) })), jsx(Grid, __assign({ item: true, xs: 6 }, { children: jsx(SelectMonth, { min: (Number(min === null || min === void 0 ? void 0 : min.year) >= currentYear && minMonth), max: (Number(max === null || max === void 0 ? void 0 : max.year) <= currentYear && maxMonth), value: month, handleChange: changeMonth }) }))] })) })));
|
|
322
|
+
});
|
|
309
323
|
var Wrapper$5 = styled.div(templateObject_1$n || (templateObject_1$n = __makeTemplateObject(["\n margin-bottom: 24px;\n @media (max-width: 900px) {\n padding: 0 18px;\n margin-bottom: 20px;\n }\n"], ["\n margin-bottom: 24px;\n @media (max-width: 900px) {\n padding: 0 18px;\n margin-bottom: 20px;\n }\n"])));
|
|
310
324
|
var templateObject_1$n;
|
|
311
325
|
|
|
312
|
-
var CalendarStandardContainer = function (_a) {
|
|
326
|
+
var CalendarStandardContainer = forwardRef(function (_a, ref) {
|
|
313
327
|
_a.arrowProps; _a.showPopperArrow; var props = __rest(_a, ["arrowProps", "showPopperArrow"]);
|
|
314
|
-
return jsx(DatePickerContainer, __assign({}, props));
|
|
315
|
-
};
|
|
328
|
+
return jsx(DatePickerContainer, __assign({ ref: ref }, props));
|
|
329
|
+
});
|
|
316
330
|
var DatePickerContainer = styled.div(templateObject_1$m || (templateObject_1$m = __makeTemplateObject(["\n padding: 0;\n border: none !important;\n border-radius: 0 !important;\n background: transparent !important;\n overflow: hidden;\n width: 100%;\n height: 100%;\n .react-datepicker__header {\n background-color: transparent !important;\n }\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__day-names {\n display: flex;\n justify-content: space-between;\n .react-datepicker__day-name {\n font-family: \"Inter\", sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: ", ";\n text-transform: uppercase;\n margin: 0;\n width: 33px;\n line-height: normal;\n }\n }\n .react-datepicker__month {\n padding: 0;\n margin: 20px 0 0 !important;\n border: none;\n width: 100%;\n height: calc(100% - 85px);\n .react-datepicker__week {\n display: flex;\n justify-content: space-between;\n }\n }\n .react-datepicker__week {\n margin-bottom: 10px;\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n .react-datepicker__day {\n width: 33px;\n height: 33px;\n user-select: none;\n border-radius: 50% !important;\n transition: background ease-out 0.3s;\n border: 1px solid transparent;\n margin: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: 500;\n font-size: 16px;\n &:hover {\n background: ", ";\n }\n &:active {\n background: ", ";\n }\n }\n .react-datepicker__day--outside-month,\n .react-datepicker__day--disabled {\n color: #a6aebc;\n p {\n color: #a6aebc;\n }\n }\n .react-datepicker__day--keyboard-selected {\n background: transparent;\n color: inherit;\n }\n .react-datepicker__day--selected {\n background: white;\n border: 1px solid #e1e4e8;\n color: ", ";\n p {\n color: ", ";\n }\n }\n .react-datepicker__day--selected.warning_day {\n border-color: ", ";\n background-color: ", ";\n color: ", ";\n }\n @media (max-width: 600px) {\n .react-datepicker__day {\n max-width: 48px;\n max-height: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n height: calc((100vw - (18px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n max-width: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n }\n }\n }\n @media (max-width: 350px) {\n .react-datepicker__day {\n width: calc((100vw - (6px * 7)) / 7);\n height: calc((100vw - (6px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n width: calc((100vw - (6px * 7)) / 7);\n }\n }\n }\n"], ["\n padding: 0;\n border: none !important;\n border-radius: 0 !important;\n background: transparent !important;\n overflow: hidden;\n width: 100%;\n height: 100%;\n .react-datepicker__header {\n background-color: transparent !important;\n }\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__day-names {\n display: flex;\n justify-content: space-between;\n .react-datepicker__day-name {\n font-family: \"Inter\", sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: ", ";\n text-transform: uppercase;\n margin: 0;\n width: 33px;\n line-height: normal;\n }\n }\n .react-datepicker__month {\n padding: 0;\n margin: 20px 0 0 !important;\n border: none;\n width: 100%;\n height: calc(100% - 85px);\n .react-datepicker__week {\n display: flex;\n justify-content: space-between;\n }\n }\n .react-datepicker__week {\n margin-bottom: 10px;\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n .react-datepicker__day {\n width: 33px;\n height: 33px;\n user-select: none;\n border-radius: 50% !important;\n transition: background ease-out 0.3s;\n border: 1px solid transparent;\n margin: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: 500;\n font-size: 16px;\n &:hover {\n background: ", ";\n }\n &:active {\n background: ", ";\n }\n }\n .react-datepicker__day--outside-month,\n .react-datepicker__day--disabled {\n color: #a6aebc;\n p {\n color: #a6aebc;\n }\n }\n .react-datepicker__day--keyboard-selected {\n background: transparent;\n color: inherit;\n }\n .react-datepicker__day--selected {\n background: white;\n border: 1px solid #e1e4e8;\n color: ", ";\n p {\n color: ", ";\n }\n }\n .react-datepicker__day--selected.warning_day {\n border-color: ", ";\n background-color: ", ";\n color: ", ";\n }\n @media (max-width: 600px) {\n .react-datepicker__day {\n max-width: 48px;\n max-height: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n height: calc((100vw - (18px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n max-width: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n }\n }\n }\n @media (max-width: 350px) {\n .react-datepicker__day {\n width: calc((100vw - (6px * 7)) / 7);\n height: calc((100vw - (6px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n width: calc((100vw - (6px * 7)) / 7);\n }\n }\n }\n"])), theme.palette.grey.fiftyP, theme.palette.background.light3, theme.palette.background.light3, theme.palette.brand.main, theme.palette.brand.main, theme.palette.grey.fifteenB, theme.palette.red.seventy, theme.palette.grey.zero);
|
|
317
331
|
var templateObject_1$m;
|
|
318
332
|
|
|
319
|
-
var CalendarStandardHeader = function (_a) {
|
|
333
|
+
var CalendarStandardHeader = forwardRef(function (_a, ref) {
|
|
320
334
|
var decreaseMonth = _a.decreaseMonth, increaseMonth = _a.increaseMonth, nextMonthButtonDisabled = _a.nextMonthButtonDisabled, prevMonthButtonDisabled = _a.prevMonthButtonDisabled, date = _a.date;
|
|
321
335
|
var title = _.capitalize(date.toLocaleString("ru", { month: "long", year: "numeric" })).slice(0, -3);
|
|
322
|
-
return (jsxs$1(HeaderWrapper, __assign({ container: true, alignItems: "center", justify: "space-between" }, { children: [jsx(Grid, __assign({ item: true }, { children: jsx(StyledHeading, __assign({ size: "h4" }, { children: title })) })), jsx(Grid, __assign({ item: true }, { children: jsxs$1(Grid, __assign({ container: true, spacing: 2 }, { children: [jsx(Grid, __assign({ item: true }, { children: jsx(CircleButtonStyled, __assign({ isCircle: true, size: "xs", "data-testid": "prev_month_button", variant: "white", disabled: prevMonthButtonDisabled, onClick: decreaseMonth }, { children: jsx(PrevArrowIcon, { width: 10, height: 10 }) })) })), jsx(Grid, __assign({ item: true }, { children: jsx(CircleButtonStyled, __assign({ isCircle: true, size: "xs", variant: "white", disabled: nextMonthButtonDisabled, onClick: increaseMonth }, { children: jsx(NextArrowIcon, { width: 10, height: 10 }) })) }))] })) }))] })));
|
|
323
|
-
};
|
|
336
|
+
return (jsxs$1(HeaderWrapper, __assign({ container: true, alignItems: "center", justify: "space-between", ref: ref }, { children: [jsx(Grid, __assign({ item: true }, { children: jsx(StyledHeading, __assign({ size: "h4" }, { children: title })) })), jsx(Grid, __assign({ item: true }, { children: jsxs$1(Grid, __assign({ container: true, spacing: 2 }, { children: [jsx(Grid, __assign({ item: true }, { children: jsx(CircleButtonStyled, __assign({ isCircle: true, size: "xs", "data-testid": "prev_month_button", variant: "white", disabled: prevMonthButtonDisabled, onClick: decreaseMonth }, { children: jsx(PrevArrowIcon, { width: 10, height: 10 }) })) })), jsx(Grid, __assign({ item: true }, { children: jsx(CircleButtonStyled, __assign({ isCircle: true, size: "xs", variant: "white", disabled: nextMonthButtonDisabled, onClick: increaseMonth }, { children: jsx(NextArrowIcon, { width: 10, height: 10 }) })) }))] })) }))] })));
|
|
337
|
+
});
|
|
324
338
|
var HeaderWrapper = styled(Grid)(templateObject_1$l || (templateObject_1$l = __makeTemplateObject(["\n padding: 0 6px 34px;\n @media (max-width: 600px) {\n h2 {\n font-size: 16px;\n }\n }\n"], ["\n padding: 0 6px 34px;\n @media (max-width: 600px) {\n h2 {\n font-size: 16px;\n }\n }\n"])));
|
|
325
339
|
var StyledHeading = styled(Heading)(templateObject_2$a || (templateObject_2$a = __makeTemplateObject(["\n @media (max-width: 600px) {\n font-weight: 700;\n }\n"], ["\n @media (max-width: 600px) {\n font-weight: 700;\n }\n"])));
|
|
326
340
|
var CircleButtonStyled = styled(Button)(templateObject_3$4 || (templateObject_3$4 = __makeTemplateObject(["\n border-color: transparent !important;\n &:disabled {\n background-color: white !important;\n }\n"], ["\n border-color: transparent !important;\n &:disabled {\n background-color: white !important;\n }\n"])));
|
|
@@ -342,33 +356,33 @@ var InputForDatepicker = forwardRef(function (_a, ref) {
|
|
|
342
356
|
var IconWrapper = styled.div(templateObject_1$k || (templateObject_1$k = __makeTemplateObject(["\n display: flex;\n align-items: center;\n cursor: pointer;\n z-index: 1;\n"], ["\n display: flex;\n align-items: center;\n cursor: pointer;\n z-index: 1;\n"])));
|
|
343
357
|
var templateObject_1$k;
|
|
344
358
|
|
|
345
|
-
var MonthPickerContainer = function (_a) {
|
|
359
|
+
var MonthPickerContainer = forwardRef(function (_a, ref) {
|
|
346
360
|
_a.arrowProps; _a.showPopperArrow; var props = __rest(_a, ["arrowProps", "showPopperArrow"]);
|
|
347
|
-
return jsx(StyledContainer, __assign({}, props));
|
|
348
|
-
};
|
|
349
|
-
var StyledContainer = styled.div(templateObject_1$j || (templateObject_1$j = __makeTemplateObject(["\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\n border-radius: 12px !important;\n border: 1px solid ", " !important;\n background: #fff;\n overflow: hidden;\n z-index: 5;\n .react-datepicker-wrapper,\n .react-datepicker__input-container {\n display: block;\n width: 100%;\n }\n .react-datepicker__header,\n .react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n padding: 0;\n border: none;\n background-color: #fff;\n }\n .react-datepicker__month {\n margin: 0px 8px 8px !important;\n border-radius: 12px;\n border: 1px solid ", ";\n width: 238px;\n height: 169px;\n display: flex;\n flex-direction: column;\n }\n .react-datepicker__month-text {\n margin: 4px !important;\n /*width: auto !important;*/\n width: calc(100% / 3) !important;\n position: relative;\n display: flex !important;\n justify-content: center;\n align-items: center;\n }\n\n .react-datepicker__month-wrapper {\n height: calc(100% / 4);\n display: flex;\n }\n\n .react-datepicker__month-text:after {\n content: \"\";\n display: block;\n height: calc(100% + 8px);\n width: 1px;\n position: absolute;\n top: -4px;\n right: -4px;\n background: ", ";\n }\n\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n\n .react-datepicker__month--selected,\n .react-datepicker__month-text--keyboard-selected {\n background-color: ", " !important;\n border-radius: 8px !important;\n color: white;\n }\n .react-datepicker__month-wrapper {\n border-bottom: 1px solid ", ";\n }\n\n .react-datepicker__month-wrapper:last-child {\n border-bottom: none;\n }\n\n @media (max-width: 600px) {\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__month {\n margin: 0px 16px 16px !important;\n height: calc(100% - 58px);\n text-align: center;\n width: auto;\n }\n .react-datepicker__month-text {\n margin: 8px !important;\n }\n .react-datepicker__month-text:after {\n height: calc(100% + 16px);\n top: -8px;\n right: -8px;\n }\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n }\n @media (max-width: 600px) {\n width: 100%;\n height: 262px;\n box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.1);\n }\n"], ["\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\n border-radius: 12px !important;\n border: 1px solid ", " !important;\n background: #fff;\n overflow: hidden;\n z-index: 5;\n .react-datepicker-wrapper,\n .react-datepicker__input-container {\n display: block;\n width: 100%;\n }\n .react-datepicker__header,\n .react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n padding: 0;\n border: none;\n background-color: #fff;\n }\n .react-datepicker__month {\n margin: 0px 8px 8px !important;\n border-radius: 12px;\n border: 1px solid ", ";\n width: 238px;\n height: 169px;\n display: flex;\n flex-direction: column;\n }\n .react-datepicker__month-text {\n margin: 4px !important;\n /*width: auto !important;*/\n width: calc(100% / 3) !important;\n position: relative;\n display: flex !important;\n justify-content: center;\n align-items: center;\n }\n\n .react-datepicker__month-wrapper {\n height: calc(100% / 4);\n display: flex;\n }\n\n .react-datepicker__month-text:after {\n content: \"\";\n display: block;\n height: calc(100% + 8px);\n width: 1px;\n position: absolute;\n top: -4px;\n right: -4px;\n background: ", ";\n }\n\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n\n .react-datepicker__month--selected,\n .react-datepicker__month-text--keyboard-selected {\n background-color: ", " !important;\n border-radius: 8px !important;\n color: white;\n }\n .react-datepicker__month-wrapper {\n border-bottom: 1px solid ", ";\n }\n\n .react-datepicker__month-wrapper:last-child {\n border-bottom: none;\n }\n\n @media (max-width: 600px) {\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__month {\n margin: 0px 16px 16px !important;\n height: calc(100% - 58px);\n text-align: center;\n width: auto;\n }\n .react-datepicker__month-text {\n margin: 8px !important;\n }\n .react-datepicker__month-text:after {\n height: calc(100% + 16px);\n top: -8px;\n right: -8px;\n }\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n }\n @media (max-width: 600px) {\n width: 100%;\n height: 262px;\n box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.1);\n }\n"])), theme.palette.background.light1, theme.palette.grey.fifteenB, theme.palette.grey.fifteenB, theme.palette.brand.main, theme.palette.grey.fifteenB);
|
|
361
|
+
return jsx(StyledContainer, __assign({ ref: ref }, props));
|
|
362
|
+
});
|
|
363
|
+
var StyledContainer = styled.div(templateObject_1$j || (templateObject_1$j = __makeTemplateObject(["\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\n border-radius: 12px !important;\n border: 1px solid ", " !important;\n background: #fff;\n overflow: hidden;\n z-index: 5;\n .react-datepicker-wrapper,\n .react-datepicker__input-container {\n display: block;\n width: 100%;\n }\n .react-datepicker__header,\n .react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n padding: 0;\n border: none;\n background-color: #fff;\n }\n .react-datepicker__month {\n margin: 0px 8px 8px !important;\n border-radius: 12px;\n border: 1px solid ", ";\n width: 238px;\n height: 169px;\n display: flex;\n flex-direction: column;\n }\n .react-datepicker__month-text {\n margin: 4px !important;\n /*width: auto !important;*/\n width: calc(100% / 3) !important;\n position: relative;\n display: flex !important;\n justify-content: center;\n align-items: center;\n }\n\n .react-datepicker__month-wrapper {\n height: calc(100% / 4);\n display: flex;\n }\n\n .react-datepicker__month-text:after {\n content: \"\";\n display: block;\n height: calc(100% + 8px);\n width: 1px;\n position: absolute;\n top: -4px;\n right: -4px;\n background: ", ";\n }\n\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n\n .react-datepicker__month--selected,\n .react-datepicker__month-text--keyboard-selected {\n background-color: ", " !important;\n border-radius: 8px !important;\n color: white !important;\n }\n .react-datepicker__month-wrapper {\n border-bottom: 1px solid ", ";\n }\n\n .react-datepicker__month-wrapper:last-child {\n border-bottom: none;\n }\n\n @media (max-width: 600px) {\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__month {\n margin: 0px 16px 16px !important;\n height: calc(100% - 58px);\n text-align: center;\n width: auto;\n }\n .react-datepicker__month-text {\n margin: 8px !important;\n }\n .react-datepicker__month-text:after {\n height: calc(100% + 16px);\n top: -8px;\n right: -8px;\n }\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n }\n @media (max-width: 600px) {\n width: 100%;\n height: 262px;\n box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.1);\n }\n"], ["\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\n border-radius: 12px !important;\n border: 1px solid ", " !important;\n background: #fff;\n overflow: hidden;\n z-index: 5;\n .react-datepicker-wrapper,\n .react-datepicker__input-container {\n display: block;\n width: 100%;\n }\n .react-datepicker__header,\n .react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n padding: 0;\n border: none;\n background-color: #fff;\n }\n .react-datepicker__month {\n margin: 0px 8px 8px !important;\n border-radius: 12px;\n border: 1px solid ", ";\n width: 238px;\n height: 169px;\n display: flex;\n flex-direction: column;\n }\n .react-datepicker__month-text {\n margin: 4px !important;\n /*width: auto !important;*/\n width: calc(100% / 3) !important;\n position: relative;\n display: flex !important;\n justify-content: center;\n align-items: center;\n }\n\n .react-datepicker__month-wrapper {\n height: calc(100% / 4);\n display: flex;\n }\n\n .react-datepicker__month-text:after {\n content: \"\";\n display: block;\n height: calc(100% + 8px);\n width: 1px;\n position: absolute;\n top: -4px;\n right: -4px;\n background: ", ";\n }\n\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n\n .react-datepicker__month--selected,\n .react-datepicker__month-text--keyboard-selected {\n background-color: ", " !important;\n border-radius: 8px !important;\n color: white !important;\n }\n .react-datepicker__month-wrapper {\n border-bottom: 1px solid ", ";\n }\n\n .react-datepicker__month-wrapper:last-child {\n border-bottom: none;\n }\n\n @media (max-width: 600px) {\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__month {\n margin: 0px 16px 16px !important;\n height: calc(100% - 58px);\n text-align: center;\n width: auto;\n }\n .react-datepicker__month-text {\n margin: 8px !important;\n }\n .react-datepicker__month-text:after {\n height: calc(100% + 16px);\n top: -8px;\n right: -8px;\n }\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n }\n @media (max-width: 600px) {\n width: 100%;\n height: 262px;\n box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.1);\n }\n"])), theme.palette.background.light1, theme.palette.grey.fifteenB, theme.palette.grey.fifteenB, theme.palette.brand.main, theme.palette.grey.fifteenB);
|
|
350
364
|
var templateObject_1$j;
|
|
351
365
|
|
|
352
|
-
var MonthPickerHeader = function (_a) {
|
|
366
|
+
var MonthPickerHeader = forwardRef(function (_a, ref) {
|
|
353
367
|
var decreaseYear = _a.decreaseYear, increaseYear = _a.increaseYear, nextYearButtonDisabled = _a.nextYearButtonDisabled, prevYearButtonDisabled = _a.prevYearButtonDisabled, date = _a.date;
|
|
354
|
-
return (jsxs$1(StyledHeader, __assign({ container: true, alignItems: "center", justify: "space-between" }, { children: [jsx(Grid, __assign({ item: true }, { children: jsx(StyledIconButton, __assign({ disabled: prevYearButtonDisabled, onClick: decreaseYear }, { children: jsx(ArrowBackIcon, { width: 14, height: 12 }) })) })), jsx(Grid, __assign({ item: true }, { children: jsx(Caption, __assign({ size: "sm", weight: 600 }, { children: date.getFullYear() })) })), jsx(Grid, __assign({ item: true }, { children: jsx(StyledIconButton, __assign({ disabled: nextYearButtonDisabled, onClick: increaseYear }, { children: jsx(ArrowNextIcon, { width: 14, height: 12 }) })) }))] })));
|
|
355
|
-
};
|
|
368
|
+
return (jsxs$1(StyledHeader, __assign({ container: true, alignItems: "center", justify: "space-between", ref: ref }, { children: [jsx(Grid, __assign({ item: true }, { children: jsx(StyledIconButton, __assign({ disabled: prevYearButtonDisabled, onClick: decreaseYear }, { children: jsx(ArrowBackIcon, { width: 14, height: 12 }) })) })), jsx(Grid, __assign({ item: true }, { children: jsx(Caption, __assign({ size: "sm", weight: 600 }, { children: date.getFullYear() })) })), jsx(Grid, __assign({ item: true }, { children: jsx(StyledIconButton, __assign({ disabled: nextYearButtonDisabled, onClick: increaseYear }, { children: jsx(ArrowNextIcon, { width: 14, height: 12 }) })) }))] })));
|
|
369
|
+
});
|
|
356
370
|
var StyledIconButton = styled(IconButton)(templateObject_1$i || (templateObject_1$i = __makeTemplateObject(["\n height: 36px;\n &:disabled {\n opacity: 0;\n }\n"], ["\n height: 36px;\n &:disabled {\n opacity: 0;\n }\n"])));
|
|
357
371
|
var StyledHeader = styled(Grid)(templateObject_2$9 || (templateObject_2$9 = __makeTemplateObject(["\n background: #fff;\n padding: 4px 16px;\n border-radius: 12px 12px 0 0;\n"], ["\n background: #fff;\n padding: 4px 16px;\n border-radius: 12px 12px 0 0;\n"])));
|
|
358
372
|
var templateObject_1$i, templateObject_2$9;
|
|
359
373
|
|
|
360
|
-
var DesktopInputWithMonthPicker = function (_a) {
|
|
374
|
+
var DesktopInputWithMonthPicker = forwardRef(function (_a, ref) {
|
|
361
375
|
var name = _a.name, form = _a.form, disabled = _a.disabled, datePickerProps = _a.datePickerProps, otherProps = __rest(_a, ["name", "form", "disabled", "datePickerProps"]);
|
|
362
|
-
return (jsx(Wrapper$4, { children: jsx(Controller, { name: name, control: form.control, render: function (_a) {
|
|
376
|
+
return (jsx(Wrapper$4, __assign({ ref: ref }, { children: jsx(Controller, { name: name, control: form.control, render: function (_a) {
|
|
363
377
|
var _b;
|
|
364
378
|
var field = _a.field, fieldState = _a.fieldState;
|
|
365
379
|
return (jsx(DatePicker, __assign({ selected: field.value, onChange: field.onChange, disabled: disabled, customInput: jsx(InputForDatepicker, __assign({ mask: "99.9999", name: name, disabled: disabled, message: (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message }, otherProps)), showMonthYearPicker: true, dateFormat: "MM.yyyy", popperPlacement: "bottom-end", calendarContainer: MonthPickerContainer, renderCustomHeader: function (props) { return (jsx(MonthPickerHeader, __assign({}, props))); } }, datePickerProps)));
|
|
366
|
-
} }) }));
|
|
367
|
-
};
|
|
380
|
+
} }) })));
|
|
381
|
+
});
|
|
368
382
|
var Wrapper$4 = styled.div(templateObject_1$h || (templateObject_1$h = __makeTemplateObject(["\n @media (max-width: 600px) {\n display: none;\n }\n"], ["\n @media (max-width: 600px) {\n display: none;\n }\n"])));
|
|
369
383
|
var templateObject_1$h;
|
|
370
384
|
|
|
371
|
-
var MenuItem = function (_a) {
|
|
385
|
+
var MenuItem = forwardRef(function (_a, ref) {
|
|
372
386
|
var tab = _a.tab, active = _a.active, index = _a.index, handleClick = _a.handleClick, offset = _a.offset, isScrolling = _a.isScrolling, setIsScrolling = _a.setIsScrolling;
|
|
373
387
|
var startScrolling = function () {
|
|
374
388
|
setIsScrolling(true);
|
|
@@ -399,16 +413,16 @@ var MenuItem = function (_a) {
|
|
|
399
413
|
Events.scrollEvent.remove("end");
|
|
400
414
|
};
|
|
401
415
|
}, []);
|
|
402
|
-
return (jsx$1(Link, __assign({ to: tab.label, spy: true, smooth: true, duration: 500, offset: offset, onSetActive: handleSelect }, { children: jsx$1(ButtonWrapper$1, { children: jsx$1(Button, __assign({ variant: Number(active) === index ? "orange" : "transparentWithBorder", size: "xs", css: Number(active) !== index && disabledStyles }, { children: tab.label })) }) })));
|
|
403
|
-
};
|
|
416
|
+
return (jsx$1(Link, __assign({ to: tab.label, spy: true, smooth: true, duration: 500, offset: offset, onSetActive: handleSelect }, { children: jsx$1(ButtonWrapper$1, __assign({ ref: ref }, { children: jsx$1(Button, __assign({ variant: Number(active) === index ? "orange" : "transparentWithBorder", size: "xs", css: Number(active) !== index && disabledStyles }, { children: tab.label })) })) })));
|
|
417
|
+
});
|
|
404
418
|
var ButtonWrapper$1 = styled.div(templateObject_1$g || (templateObject_1$g = __makeTemplateObject(["\n margin-right: 8px;\n width: max-content;\n max-width: 150px;\n @media (max-width: 900px) {\n max-width: unset;\n }\n"], ["\n margin-right: 8px;\n width: max-content;\n max-width: 150px;\n @media (max-width: 900px) {\n max-width: unset;\n }\n"])));
|
|
405
419
|
var disabledStyles = css(templateObject_2$8 || (templateObject_2$8 = __makeTemplateObject(["\n p {\n color: ", ";\n font-weight: 400;\n },\n"], ["\n p {\n color: ", ";\n font-weight: 400;\n },\n"])), theme.palette.grey.seventy);
|
|
406
420
|
var templateObject_1$g, templateObject_2$8;
|
|
407
421
|
|
|
408
|
-
var DesktopMenuPanel = function (_a) {
|
|
422
|
+
var DesktopMenuPanel = forwardRef(function (_a, ref) {
|
|
409
423
|
var tabs = _a.tabs, variant = _a.variant, other = __rest(_a, ["tabs", "variant"]);
|
|
410
|
-
return (jsx$1(Wrapper$3, __assign({ container: true, css: variant === "white" && { background: "white" } }, { children: tabs.map(function (tab, index) { return (jsx$1(Grid, __assign({ item: true }, { children: jsx$1(MenuItem, __assign({ tab: tab, index: index, offset: -121 }, other), tab.label) }), index)); }) })));
|
|
411
|
-
};
|
|
424
|
+
return (jsx$1(Wrapper$3, __assign({ container: true, css: variant === "white" && { background: "white" }, ref: ref }, { children: tabs.map(function (tab, index) { return (jsx$1(Grid, __assign({ item: true }, { children: jsx$1(MenuItem, __assign({ tab: tab, index: index, offset: -121 }, other), tab.label) }), index)); }) })));
|
|
425
|
+
});
|
|
412
426
|
var Wrapper$3 = styled(Grid)(templateObject_1$f || (templateObject_1$f = __makeTemplateObject(["\n position: sticky;\n top: 49px;\n left: 0;\n z-index: 11;\n background-color: ", ";\n padding: 16px 16px 24px;\n @media (max-width: 900px) {\n justify-content: space-between;\n }\n @media (max-width: 765px) {\n display: none;\n }\n"], ["\n position: sticky;\n top: 49px;\n left: 0;\n z-index: 11;\n background-color: ", ";\n padding: 16px 16px 24px;\n @media (max-width: 900px) {\n justify-content: space-between;\n }\n @media (max-width: 765px) {\n display: none;\n }\n"])), theme.palette.background.light1);
|
|
413
427
|
var templateObject_1$f;
|
|
414
428
|
|
|
@@ -443,7 +457,7 @@ var InputWithMask = forwardRef(function (_a, ref) {
|
|
|
443
457
|
});
|
|
444
458
|
|
|
445
459
|
var InputWithController = forwardRef(function (_a, ref) {
|
|
446
|
-
var form = _a.form, name = _a.name, error = _a.error, inputProps = __rest(_a, ["form", "name", "error"]);
|
|
460
|
+
var form = _a.form, name = _a.name, error = _a.error, value = _a.value, inputProps = __rest(_a, ["form", "name", "error", "value"]);
|
|
447
461
|
var handleChange = function (e, field) {
|
|
448
462
|
field.onChange(e);
|
|
449
463
|
if (inputProps.onChange) {
|
|
@@ -468,7 +482,7 @@ var InputWithController = forwardRef(function (_a, ref) {
|
|
|
468
482
|
var field = _a.field, fieldState = _a.fieldState;
|
|
469
483
|
return (jsx(InputWithAdornments, __assign({ message: getError(fieldState) }, field, inputProps, { onChange: function (e) {
|
|
470
484
|
return handleChange(e, field);
|
|
471
|
-
}, value: field.value || "", ref: function (e) { return forwardedRef(e, field); } })));
|
|
485
|
+
}, value: typeof value !== "undefined" ? value : field.value || "", ref: function (e) { return forwardedRef(e, field); } })));
|
|
472
486
|
} }));
|
|
473
487
|
});
|
|
474
488
|
|
|
@@ -490,7 +504,7 @@ var strengthTexts = {
|
|
|
490
504
|
medium: "Средний",
|
|
491
505
|
hard: "Сложный",
|
|
492
506
|
};
|
|
493
|
-
var PassportStrengthBar = function (_a) {
|
|
507
|
+
var PassportStrengthBar = forwardRef(function (_a, ref) {
|
|
494
508
|
var strength = _a.strength;
|
|
495
509
|
var color = strength
|
|
496
510
|
? strengthColors[strength]
|
|
@@ -498,8 +512,8 @@ var PassportStrengthBar = function (_a) {
|
|
|
498
512
|
var strengthKey = strength
|
|
499
513
|
? strengthCoefficients[strength]
|
|
500
514
|
: -1;
|
|
501
|
-
return (jsxs(Wrapper$2, __assign({ "data-testid": "strength_bar", className: String(!strength && "hidden") }, { children: [jsx$1(ReliabilityLevelWrapper, { children: Object.keys(strengthCoefficients).map(function (item, key) { return (jsx$1(ReliabilityLevel, { children: jsx$1(StyledLinearProgress, { "data-testid": "progress_item_".concat(item), value: strengthKey >= key ? 100 : 0, color: color }) }, item)); }) }), jsx$1(Caption, __assign({ "data-testid": "strength_bar_explanation", size: "s", css: { color: color } }, { children: strength && strengthTexts[strength] })), jsx$1(Description, __assign({ size: "s", color: "fiftyP" }, { children: "\u041F\u0430\u0440\u043E\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u0441\u043E\u0441\u0442\u043E\u044F\u0442\u044C \u0438\u0437 10 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432, \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u0446\u0438\u0444\u0440\u044B, \u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438 \u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0435 \u043B\u0430\u0442\u0438\u043D\u0441\u043A\u0438\u0435 \u0431\u0443\u0432\u044B" }))] })));
|
|
502
|
-
};
|
|
515
|
+
return (jsxs(Wrapper$2, __assign({ "data-testid": "strength_bar", className: String(!strength && "hidden"), ref: ref }, { children: [jsx$1(ReliabilityLevelWrapper, { children: Object.keys(strengthCoefficients).map(function (item, key) { return (jsx$1(ReliabilityLevel, { children: jsx$1(StyledLinearProgress, { "data-testid": "progress_item_".concat(item), value: strengthKey >= key ? 100 : 0, color: color }) }, item)); }) }), jsx$1(Caption, __assign({ "data-testid": "strength_bar_explanation", size: "s", css: { color: color } }, { children: strength && strengthTexts[strength] })), jsx$1(Description, __assign({ size: "s", color: "fiftyP" }, { children: "\u041F\u0430\u0440\u043E\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u0441\u043E\u0441\u0442\u043E\u044F\u0442\u044C \u0438\u0437 10 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432, \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u0446\u0438\u0444\u0440\u044B, \u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438 \u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0435 \u043B\u0430\u0442\u0438\u043D\u0441\u043A\u0438\u0435 \u0431\u0443\u0432\u044B" }))] })));
|
|
516
|
+
});
|
|
503
517
|
var Wrapper$2 = styled.div(templateObject_1$e || (templateObject_1$e = __makeTemplateObject(["\n margin-top: 16px;\n min-height: 86px;\n @media (max-width: 900px) {\n min-height: unset;\n }\n &.hidden {\n opacity: 0;\n @media (max-width: 900px) {\n display: none;\n }\n }\n"], ["\n margin-top: 16px;\n min-height: 86px;\n @media (max-width: 900px) {\n min-height: unset;\n }\n &.hidden {\n opacity: 0;\n @media (max-width: 900px) {\n display: none;\n }\n }\n"])));
|
|
504
518
|
var ReliabilityLevelWrapper = styled.div(templateObject_2$7 || (templateObject_2$7 = __makeTemplateObject(["\n display: flex;\n margin-bottom: 8px;\n"], ["\n display: flex;\n margin-bottom: 8px;\n"])));
|
|
505
519
|
var ReliabilityLevel = styled.div(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n width: calc(100% / 4);\n margin-right: 16px;\n &:last-of-type {\n margin-right: 0;\n }\n"], ["\n width: calc(100% / 4);\n margin-right: 16px;\n &:last-of-type {\n margin-right: 0;\n }\n"])));
|
|
@@ -515,7 +529,7 @@ var simplePasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{10,
|
|
|
515
529
|
var mediumPasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{12,}$/;
|
|
516
530
|
var strongPasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{14,}$/;
|
|
517
531
|
|
|
518
|
-
var InputPassword = function (props) {
|
|
532
|
+
var InputPassword = forwardRef(function (props, ref) {
|
|
519
533
|
var _a = useState(false), showPassword = _a[0], setShowPassword = _a[1];
|
|
520
534
|
var _b = useState(null), strength = _b[0], setStrength = _b[1];
|
|
521
535
|
var handleShowChange = function () {
|
|
@@ -550,12 +564,12 @@ var InputPassword = function (props) {
|
|
|
550
564
|
checkPasswordStrength(fieldValue);
|
|
551
565
|
}
|
|
552
566
|
}, []);
|
|
553
|
-
return (jsxs$1(Fragment$1, { children: [jsx(InputWithController, __assign({ type: showPassword ? "text" : "password", autoComplete: "new_password", onChange: handleChange, "data-testid": "input_password", endIcon: jsx(EyeIconWrapper, __assign({ "data-testid": "show_value_btn", onClick: handleShowChange }, { children: showPassword ? jsx(ClosedEyeIcon, {}) : jsx(OpenEyeIcon, {}) })) }, props)), jsx(PassportStrengthBar, { strength: strength })] }));
|
|
554
|
-
};
|
|
567
|
+
return (jsxs$1(Fragment$1, { children: [jsx(InputWithController, __assign({ type: showPassword ? "text" : "password", autoComplete: "new_password", onChange: handleChange, "data-testid": "input_password", ref: ref, endIcon: jsx(EyeIconWrapper, __assign({ "data-testid": "show_value_btn", onClick: handleShowChange }, { children: showPassword ? jsx(ClosedEyeIcon, {}) : jsx(OpenEyeIcon, {}) })) }, props)), jsx(PassportStrengthBar, { strength: strength })] }));
|
|
568
|
+
});
|
|
555
569
|
var EyeIconWrapper = styled.div(templateObject_1$d || (templateObject_1$d = __makeTemplateObject(["\n height: 18px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"], ["\n height: 18px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"])));
|
|
556
570
|
var templateObject_1$d;
|
|
557
571
|
|
|
558
|
-
var InputTextAreaMobile = function (props) { return (jsxs$1(Fragment$1, { children: [jsx(InputWrapper, { children: jsx(InputWithController, __assign({}, props)) }), jsx(TextAreaWrapper, { children: jsx(InputWithController, __assign({ isTextArea: true }, props)) })] })); };
|
|
572
|
+
var InputTextAreaMobile = forwardRef(function (props) { return (jsxs$1(Fragment$1, { children: [jsx(InputWrapper, { children: jsx(InputWithController, __assign({}, props)) }), jsx(TextAreaWrapper, { children: jsx(InputWithController, __assign({ isTextArea: true }, props)) })] })); });
|
|
559
573
|
var InputWrapper = styled.div(templateObject_1$c || (templateObject_1$c = __makeTemplateObject(["\n @media (max-width: 900px) {\n display: none;\n }\n"], ["\n @media (max-width: 900px) {\n display: none;\n }\n"])));
|
|
560
574
|
var TextAreaWrapper = styled.div(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n @media (min-width: 901px) {\n display: none;\n }\n"], ["\n @media (min-width: 901px) {\n display: none;\n }\n"])));
|
|
561
575
|
var templateObject_1$c, templateObject_2$6;
|
|
@@ -572,17 +586,18 @@ var useToggle = function (isModalOpen) {
|
|
|
572
586
|
return [isOpen, handleOpen, handleClose];
|
|
573
587
|
};
|
|
574
588
|
|
|
575
|
-
var ModalFooter = function (_a) {
|
|
589
|
+
var ModalFooter = forwardRef(function (_a, ref) {
|
|
576
590
|
var label = _a.label, button = _a.button, otherProps = __rest(_a, ["label", "button"]);
|
|
577
|
-
return (jsxs$1(StyledFooter, { children: [jsx(Divider, {}), jsx(ButtonWrapper, { children: button || (jsx(ButtonStyled, __assign({ fullWidth: true, size: "s", endIcon: jsx(CheckIcon, {}) }, otherProps, { children: label }))) })] }));
|
|
578
|
-
};
|
|
591
|
+
return (jsxs$1(StyledFooter, __assign({ ref: ref }, { children: [jsx(Divider, {}), jsx(ButtonWrapper, { children: button || (jsx(ButtonStyled, __assign({ fullWidth: true, size: "s", endIcon: jsx(CheckIcon, {}) }, otherProps, { children: label }))) })] })));
|
|
592
|
+
});
|
|
579
593
|
var StyledFooter = styled.div(templateObject_1$b || (templateObject_1$b = __makeTemplateObject(["\n background: ", ";\n border-radius: 0 0 12px 12px;\n z-index: 10;\n position: sticky;\n bottom: 0;\n left: 0;\n"], ["\n background: ", ";\n border-radius: 0 0 12px 12px;\n z-index: 10;\n position: sticky;\n bottom: 0;\n left: 0;\n"])), theme.palette.grey.zero);
|
|
580
594
|
var ButtonWrapper = styled.div(templateObject_2$5 || (templateObject_2$5 = __makeTemplateObject(["\n display: flex;\n justify-content: flex-end;\n padding: 24px 40px;\n @media (max-width: 600px) {\n padding: 24px 16px;\n }\n"], ["\n display: flex;\n justify-content: flex-end;\n padding: 24px 40px;\n @media (max-width: 600px) {\n padding: 24px 16px;\n }\n"])));
|
|
581
595
|
var ButtonStyled = styled(Button)(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject(["\n @media (max-width: 600px) {\n width: 100%;\n }\n"], ["\n @media (max-width: 600px) {\n width: 100%;\n }\n"])));
|
|
582
596
|
var templateObject_1$b, templateObject_2$5, templateObject_3$2;
|
|
583
597
|
|
|
584
|
-
registerLocale("ru", ru);
|
|
585
598
|
var generateYearRange = function (offsetFromCurrent, maxYearCount) {
|
|
599
|
+
if (!offsetFromCurrent || !maxYearCount)
|
|
600
|
+
return [];
|
|
586
601
|
var endYear = DateTime.now().year - offsetFromCurrent;
|
|
587
602
|
return _.range(maxYearCount).map(function (elem) {
|
|
588
603
|
var fullYear = endYear - elem;
|
|
@@ -594,44 +609,74 @@ var generateYearRange = function (offsetFromCurrent, maxYearCount) {
|
|
|
594
609
|
};
|
|
595
610
|
var InputWithDatePicker = forwardRef(function (_a, ref) {
|
|
596
611
|
var _b;
|
|
597
|
-
var title = _a.title, description = _a.description, name = _a.name, form = _a.form, disabled = _a.disabled, yearParams = _a.yearParams, props = __rest(_a, ["title", "description", "name", "form", "disabled", "yearParams"]);
|
|
612
|
+
var title = _a.title, description = _a.description, name = _a.name, form = _a.form, disabled = _a.disabled, yearParams = _a.yearParams, onChange = _a.onChange, max = _a.max, min = _a.min, footerLabel = _a.footerLabel, datePickerProps = _a.datePickerProps, props = __rest(_a, ["title", "description", "name", "form", "disabled", "yearParams", "onChange", "max", "min", "footerLabel", "datePickerProps"]);
|
|
598
613
|
var _c = useController({
|
|
599
614
|
name: name,
|
|
600
615
|
control: form.control,
|
|
601
616
|
}), field = _c.field, fieldState = _c.fieldState;
|
|
602
617
|
var error = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
618
|
+
var formattedValue = field.value ? field.value.toFormat("dd.MM.yyyy") : "";
|
|
619
|
+
var formattedDate = field.value ? field.value.toJSDate() : null;
|
|
603
620
|
var _d = useToggle(), isModalOpen = _d[0], handleModalOpen = _d[1], handleModalClose = _d[2];
|
|
604
|
-
var _e = useState(
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
621
|
+
var _e = useState(formattedDate), date = _e[0], setDate = _e[1];
|
|
622
|
+
var _f = useState(formattedValue), value = _f[0], setValue = _f[1];
|
|
623
|
+
var yearList = generateYearRange(yearParams === null || yearParams === void 0 ? void 0 : yearParams.min, yearParams === null || yearParams === void 0 ? void 0 : yearParams.max);
|
|
624
|
+
useEffect(function () {
|
|
625
|
+
if (!isModalOpen) {
|
|
626
|
+
setDate(null);
|
|
627
|
+
}
|
|
628
|
+
else {
|
|
629
|
+
setDate(formattedDate);
|
|
630
|
+
}
|
|
631
|
+
}, [isModalOpen]);
|
|
609
632
|
var handleChange = function (e) {
|
|
610
633
|
var targetValue = e.target.value;
|
|
611
634
|
setValue(targetValue);
|
|
612
635
|
if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {
|
|
613
|
-
var
|
|
614
|
-
setDate(
|
|
615
|
-
field === null || field === void 0 ? void 0 : field.onChange({ target: { value:
|
|
636
|
+
var targetDate = DateTime.fromFormat(targetValue, "dd.MM.yyyy");
|
|
637
|
+
setDate(targetDate.toJSDate());
|
|
638
|
+
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: targetDate, name: name }, type: "change" });
|
|
639
|
+
if (onChange) {
|
|
640
|
+
onChange(targetDate);
|
|
641
|
+
}
|
|
616
642
|
}
|
|
617
643
|
else {
|
|
618
644
|
setDate(null);
|
|
619
645
|
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: null, name: name }, type: "change" });
|
|
646
|
+
if (onChange) {
|
|
647
|
+
onChange(null);
|
|
648
|
+
}
|
|
620
649
|
}
|
|
621
650
|
};
|
|
622
651
|
var acceptWithDateSelected = function () {
|
|
623
652
|
if (date) {
|
|
624
|
-
|
|
625
|
-
|
|
653
|
+
var dateObj = DateTime.fromJSDate(date);
|
|
654
|
+
setValue(dateObj.toFormat("dd.MM.yyyy"));
|
|
655
|
+
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: dateObj, name: name }, type: "change" });
|
|
656
|
+
if (onChange) {
|
|
657
|
+
onChange(dateObj);
|
|
658
|
+
}
|
|
626
659
|
handleModalClose();
|
|
627
660
|
}
|
|
628
661
|
};
|
|
629
|
-
|
|
662
|
+
var handleDateChange = function (newDate) {
|
|
663
|
+
setDate(newDate);
|
|
664
|
+
};
|
|
665
|
+
var forwardedRef = function (elem) {
|
|
666
|
+
if (ref) {
|
|
667
|
+
// eslint-disable-next-line no-param-reassign
|
|
668
|
+
// @ts-ignore
|
|
669
|
+
ref.current = elem;
|
|
670
|
+
}
|
|
671
|
+
field.ref(elem);
|
|
672
|
+
};
|
|
673
|
+
return (jsxs(Fragment, { children: [jsx$1(InputForDatepicker, __assign({ mask: "99.99.9999", name: name, handleCLick: handleModalOpen, value: formattedValue || value, onChange: handleChange, disabled: disabled, message: error, ref: forwardedRef }, props)), jsxs(Modal, __assign({ title: title, description: description, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsx$1(ContentWrapper$1, { children: jsx$1(DatePicker, __assign({ inline: true, selected: date || formattedDate, onChange: handleDateChange, calendarContainer: StyledCalendarStandardContainer, renderCustomHeader: function (headProps) { return (jsx$1(CalendarHeaderWithSelect, __assign({ yearOptions: yearList, max: max, min: min }, headProps))); }, renderDayContents: function (day) { return (jsx$1(DayContent, { children: day })); }, maxDate: max === null || max === void 0 ? void 0 : max.toJSDate(), minDate: min === null || min === void 0 ? void 0 : min.toJSDate() }, datePickerProps)) }), jsx$1(ModalFooter, { fullWidth: true, disabled: !formattedDate && !date, onClick: acceptWithDateSelected, label: footerLabel })] }))] }));
|
|
630
674
|
});
|
|
631
675
|
InputWithDatePicker.defaultProps = {
|
|
632
676
|
title: "Дата рождения",
|
|
633
677
|
description: "Выберите год, месяц и число вашего рождения",
|
|
634
678
|
yearParams: { min: 18, max: 120 },
|
|
679
|
+
footerLabel: "Подтвердить",
|
|
635
680
|
};
|
|
636
681
|
var ContentWrapper$1 = styled.div(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\n padding: 36px 40px 24px;\n @media (max-width: 600px) {\n padding: 20px 0 0;\n }\n"], ["\n padding: 36px 40px 24px;\n @media (max-width: 600px) {\n padding: 20px 0 0;\n }\n"])));
|
|
637
682
|
var StyledCalendarStandardContainer = styled(CalendarStandardContainer)(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["\n height: 410px;\n .react-datepicker__header {\n padding: 0 !important;\n }\n .react-datepicker__day-names {\n padding: 35px 22px 0;\n background-color: ", ";\n border-radius: 16px 16px 0 0;\n @media (max-width: 900px) {\n padding: 24px 16px 0;\n }\n }\n .react-datepicker__month {\n justify-content: space-between;\n height: calc(100% - 124px);\n background-color: ", ";\n border-radius: 0 0 16px 16px;\n padding: 20px 22px 24px;\n margin: 0 !important;\n box-sizing: border-box;\n @media (max-width: 900px) {\n padding: 20px 16px 24px;\n }\n }\n @media (max-width: 600px) {\n height: auto;\n margin-bottom: -4px;\n }\n"], ["\n height: 410px;\n .react-datepicker__header {\n padding: 0 !important;\n }\n .react-datepicker__day-names {\n padding: 35px 22px 0;\n background-color: ", ";\n border-radius: 16px 16px 0 0;\n @media (max-width: 900px) {\n padding: 24px 16px 0;\n }\n }\n .react-datepicker__month {\n justify-content: space-between;\n height: calc(100% - 124px);\n background-color: ", ";\n border-radius: 0 0 16px 16px;\n padding: 20px 22px 24px;\n margin: 0 !important;\n box-sizing: border-box;\n @media (max-width: 900px) {\n padding: 20px 16px 24px;\n }\n }\n @media (max-width: 600px) {\n height: auto;\n margin-bottom: -4px;\n }\n"])), theme.palette.background.light1, theme.palette.background.light1);
|
|
@@ -661,7 +706,7 @@ var ruCustom = __assign(__assign({}, ru), { localize: {
|
|
|
661
706
|
dayPeriod: function () { return ""; },
|
|
662
707
|
day: function () { return ""; },
|
|
663
708
|
} });
|
|
664
|
-
var MobileInputWithMonthPicker = function (_a) {
|
|
709
|
+
var MobileInputWithMonthPicker = forwardRef(function (_a, ref) {
|
|
665
710
|
var _b;
|
|
666
711
|
var title = _a.title, name = _a.name, form = _a.form, disabled = _a.disabled, datePickerProps = _a.datePickerProps, props = __rest(_a, ["title", "name", "form", "disabled", "datePickerProps"]);
|
|
667
712
|
var _c = useController({
|
|
@@ -697,15 +742,15 @@ var MobileInputWithMonthPicker = function (_a) {
|
|
|
697
742
|
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: date, name: name }, type: "change" });
|
|
698
743
|
handleModalClose();
|
|
699
744
|
};
|
|
700
|
-
return (jsxs$1(Wrapper$1, { children: [jsx(InputForDatepicker, __assign({ mask: "99.9999", name: name, handleCLick: handleModalOpen, value: value, onChange: handleChange, disabled: disabled, message: error, isLabelShrink: Boolean(field.value) }, props)), jsxs$1(Modal, __assign({ title: title, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsx(ContentWrapper, { children: jsx(DatePicker, __assign({ inline: true, showMonthYearPicker: true, dateFormat: "MM.yyyy", selected: date, onChange: function (newDate) { return setDate(newDate); }, locale: ruCustom, calendarContainer: MonthPickerContainer, renderCustomHeader: function (headProps) { return (jsx(MonthPickerHeader, __assign({}, headProps))); } }, datePickerProps)) }), jsx(ModalFooter, { fullWidth: true, disabled: !date, onClick: acceptWithDateSelected, label: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C" })] }))] }));
|
|
701
|
-
};
|
|
745
|
+
return (jsxs$1(Wrapper$1, __assign({ ref: ref }, { children: [jsx(InputForDatepicker, __assign({ mask: "99.9999", name: name, handleCLick: handleModalOpen, value: value, onChange: handleChange, disabled: disabled, message: error, isLabelShrink: Boolean(field.value) }, props)), jsxs$1(Modal, __assign({ title: title, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsx(ContentWrapper, { children: jsx(DatePicker, __assign({ inline: true, showMonthYearPicker: true, dateFormat: "MM.yyyy", selected: date, onChange: function (newDate) { return setDate(newDate); }, locale: ruCustom, calendarContainer: MonthPickerContainer, renderCustomHeader: function (headProps) { return (jsx(MonthPickerHeader, __assign({}, headProps))); } }, datePickerProps)) }), jsx(ModalFooter, { fullWidth: true, disabled: !date, onClick: acceptWithDateSelected, label: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C" })] }))] })));
|
|
746
|
+
});
|
|
702
747
|
var Wrapper$1 = styled.div(templateObject_1$9 || (templateObject_1$9 = __makeTemplateObject(["\n @media (min-width: 601px) {\n display: none;\n }\n"], ["\n @media (min-width: 601px) {\n display: none;\n }\n"])));
|
|
703
748
|
var ContentWrapper = styled.div(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject(["\n @media (max-width: 600px) {\n padding: 16px 16px 8px;\n }\n"], ["\n @media (max-width: 600px) {\n padding: 16px 16px 8px;\n }\n"])));
|
|
704
749
|
var templateObject_1$9, templateObject_2$3;
|
|
705
750
|
|
|
706
751
|
var InputWithMonthPicker = function (props) { return (jsxs$1(Fragment$1, { children: [jsx(DesktopInputWithMonthPicker, __assign({}, props)), jsx(MobileInputWithMonthPicker, __assign({}, props))] })); };
|
|
707
752
|
|
|
708
|
-
var MobileMenuPanel = function (_a) {
|
|
753
|
+
var MobileMenuPanel = forwardRef(function (_a, ref) {
|
|
709
754
|
var tabs = _a.tabs, handleClick = _a.handleClick, variant = _a.variant, other = __rest(_a, ["tabs", "handleClick", "variant"]);
|
|
710
755
|
var swiperRef = useRef(null);
|
|
711
756
|
var slideTo = function (index) {
|
|
@@ -715,8 +760,8 @@ var MobileMenuPanel = function (_a) {
|
|
|
715
760
|
}, 16);
|
|
716
761
|
handleClick(index);
|
|
717
762
|
};
|
|
718
|
-
return (jsx$1(Wrapper, __assign({ css: variant === "white" && { background: "white" } }, { children: jsx$1(Swiper, __assign({ spaceBetween: 8, slidesPerView: "auto", slideToClickedSlide: true, ref: swiperRef }, { children: tabs.map(function (tab, index) { return (jsx$1(SlideWrapper, { children: jsx$1(MenuItem, __assign({ tab: tab, index: index, handleClick: slideTo, offset: -121 }, other), tab.label) }, index)); }) })) })));
|
|
719
|
-
};
|
|
763
|
+
return (jsx$1(Wrapper, __assign({ css: variant === "white" && { background: "white" }, ref: ref }, { children: jsx$1(Swiper, __assign({ spaceBetween: 8, slidesPerView: "auto", slideToClickedSlide: true, ref: swiperRef }, { children: tabs.map(function (tab, index) { return (jsx$1(SlideWrapper, { children: jsx$1(MenuItem, __assign({ tab: tab, index: index, handleClick: slideTo, offset: -121 }, other), tab.label) }, index)); }) })) })));
|
|
764
|
+
});
|
|
720
765
|
var Wrapper = styled.div(templateObject_1$8 || (templateObject_1$8 = __makeTemplateObject(["\n position: sticky;\n top: 49px;\n left: 0;\n z-index: 11;\n background: ", ";\n padding: 16px 0 24px;\n @media (min-width: 766px) {\n display: none;\n }\n"], ["\n position: sticky;\n top: 49px;\n left: 0;\n z-index: 11;\n background: ", ";\n padding: 16px 0 24px;\n @media (min-width: 766px) {\n display: none;\n }\n"])), theme.palette.background.light1);
|
|
721
766
|
var SlideWrapper = styled.div(templateObject_2$2 || (templateObject_2$2 = __makeTemplateObject(["\n width: max-content !important;\n &:first-of-type {\n padding-left: 16px;\n }\n"], ["\n width: max-content !important;\n &:first-of-type {\n padding-left: 16px;\n }\n"])));
|
|
722
767
|
var templateObject_1$8, templateObject_2$2;
|
|
@@ -735,7 +780,7 @@ var useWindowWidth = function (time) {
|
|
|
735
780
|
return width;
|
|
736
781
|
};
|
|
737
782
|
|
|
738
|
-
var MenuPanel = function (_a) {
|
|
783
|
+
var MenuPanel = forwardRef(function (_a, ref) {
|
|
739
784
|
var tabs = _a.tabs, tabPanels = _a.tabPanels, paths = _a.paths, activeTab = _a.activeTab, variant = _a.variant;
|
|
740
785
|
var width = useWindowWidth();
|
|
741
786
|
var _b = React.useState(activeTab), value = _b[0], setValue = _b[1];
|
|
@@ -764,21 +809,21 @@ var MenuPanel = function (_a) {
|
|
|
764
809
|
if (width === 0) {
|
|
765
810
|
return null;
|
|
766
811
|
}
|
|
767
|
-
return (jsxs("div", { children: [width > 765 ? (jsx$1(DesktopMenuPanel, { tabs: tabs, active: value, handleClick: handleClick, variant: variant, isScrolling: isScrolling, setIsScrolling: setIsScrolling })) : (jsx$1(MobileMenuPanel, { tabs: tabs, active: value, handleClick: handleClick, variant: variant, isScrolling: isScrolling, setIsScrolling: setIsScrolling })), tabPanels.map(function (item, index) { return (jsx$1("div", __assign({ css: index === tabPanels.length - 1 && fullHeightStyles }, { children: jsx$1(Element, __assign({ name: tabs[index].label, "data-index": index }, { children: item }), index) }), index)); })] }));
|
|
768
|
-
};
|
|
812
|
+
return (jsxs("div", __assign({ ref: ref }, { children: [width > 765 ? (jsx$1(DesktopMenuPanel, { tabs: tabs, active: value, handleClick: handleClick, variant: variant, isScrolling: isScrolling, setIsScrolling: setIsScrolling })) : (jsx$1(MobileMenuPanel, { tabs: tabs, active: value, handleClick: handleClick, variant: variant, isScrolling: isScrolling, setIsScrolling: setIsScrolling })), tabPanels.map(function (item, index) { return (jsx$1("div", __assign({ css: index === tabPanels.length - 1 && fullHeightStyles }, { children: jsx$1(Element, __assign({ name: tabs[index].label, "data-index": index }, { children: item }), index) }), index)); })] })));
|
|
813
|
+
});
|
|
769
814
|
MenuPanel.defaultProps = {
|
|
770
815
|
variant: "grey",
|
|
771
816
|
};
|
|
772
817
|
var fullHeightStyles = css(templateObject_1$7 || (templateObject_1$7 = __makeTemplateObject(["\n height: calc(100vh - 121px);\n"], ["\n height: calc(100vh - 121px);\n"])));
|
|
773
818
|
var templateObject_1$7;
|
|
774
819
|
|
|
775
|
-
var Switch = function (_a) {
|
|
820
|
+
var Switch = forwardRef(function (_a, ref) {
|
|
776
821
|
var form = _a.form, name = _a.name, props = __rest(_a, ["form", "name"]);
|
|
777
822
|
return (jsx$1(Controller, { control: form === null || form === void 0 ? void 0 : form.control, name: name, render: function (_a) {
|
|
778
823
|
var field = _a.field;
|
|
779
|
-
return (jsx$1(Switch$1, __assign({ checked: Boolean(field.value), onChange: field.onChange, "data-testid": name }, props)));
|
|
824
|
+
return (jsx$1(Switch$1, __assign({ checked: Boolean(field.value), onChange: field.onChange, "data-testid": name, ref: ref }, props)));
|
|
780
825
|
} }));
|
|
781
|
-
};
|
|
826
|
+
});
|
|
782
827
|
|
|
783
828
|
var InputPhoneWithForm = forwardRef(function (props, ref) {
|
|
784
829
|
var _a;
|
|
@@ -823,7 +868,7 @@ InputPhoneWithForm.defaultProps = {
|
|
|
823
868
|
name: "phone",
|
|
824
869
|
};
|
|
825
870
|
|
|
826
|
-
var Table = function (props) { return jsx(StyledTable, __assign({ cellSpacing: "0" }, props)); };
|
|
871
|
+
var Table = forwardRef(function (props, ref) { return jsx(StyledTable, __assign({ cellSpacing: "0", ref: ref }, props)); });
|
|
827
872
|
var StyledTable = styled.table(templateObject_1$6 || (templateObject_1$6 = __makeTemplateObject(["\n width: 100%;\n border-spacing: 0;\n"], ["\n width: 100%;\n border-spacing: 0;\n"])));
|
|
828
873
|
var templateObject_1$6;
|
|
829
874
|
|
|
@@ -833,12 +878,11 @@ var templateObject_1$5;
|
|
|
833
878
|
var TableCell = styled.td(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n padding: 0;\n"], ["\n padding: 0;\n"])));
|
|
834
879
|
var templateObject_1$4;
|
|
835
880
|
|
|
836
|
-
var TableRow = function (_a) {
|
|
881
|
+
var TableRow = forwardRef(function (_a, ref) {
|
|
837
882
|
var children = _a.children, other = __rest(_a, ["children"]);
|
|
838
883
|
var childrenArr = React.Children.toArray(children);
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
};
|
|
884
|
+
return (jsx("tr", __assign({ ref: ref }, { children: childrenArr.map(function (child) { return React.cloneElement(child, other); }) })));
|
|
885
|
+
});
|
|
842
886
|
|
|
843
887
|
var placementsPositions = {
|
|
844
888
|
bottomStart: {
|