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/cjs/index.js
CHANGED
|
@@ -11,6 +11,7 @@ var React = require('react');
|
|
|
11
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
12
|
var kuiBasic = require('kui-basic');
|
|
13
13
|
var reactRouterDom = require('react-router-dom');
|
|
14
|
+
var luxon = require('luxon');
|
|
14
15
|
var kuiIcon = require('kui-icon');
|
|
15
16
|
var _ = require('lodash');
|
|
16
17
|
var DatePicker = require('react-datepicker');
|
|
@@ -18,9 +19,8 @@ var reactHookForm = require('react-hook-form');
|
|
|
18
19
|
var InputMask = require('react-input-mask');
|
|
19
20
|
var reactScroll = require('react-scroll');
|
|
20
21
|
var ru = require('date-fns/locale/ru');
|
|
21
|
-
var luxon = require('luxon');
|
|
22
|
-
var Swiper = require('react-id-swiper');
|
|
23
22
|
var reactRouter = require('react-router');
|
|
23
|
+
var Swiper = require('react-id-swiper');
|
|
24
24
|
var ReactDOM = require('react-dom');
|
|
25
25
|
var classNames = require('classnames');
|
|
26
26
|
|
|
@@ -97,7 +97,7 @@ function __makeTemplateObject(cooked, raw) {
|
|
|
97
97
|
return cooked;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
var UndefinedAvatar = function (_a) {
|
|
100
|
+
var UndefinedAvatar = React.forwardRef(function (_a, ref) {
|
|
101
101
|
var label = _a.label, otherProps = __rest(_a, ["label"]);
|
|
102
102
|
if (!label) {
|
|
103
103
|
return jsxRuntime.jsx("div", {});
|
|
@@ -107,8 +107,8 @@ var UndefinedAvatar = function (_a) {
|
|
|
107
107
|
.map(function (el) { return el[0]; })
|
|
108
108
|
.slice(0, 3)
|
|
109
109
|
.join("");
|
|
110
|
-
return (jsxRuntime.jsx(Wrapper$8, __assign({ "data-testid": "undefined_avatar" }, { children: jsxRuntime.jsx(kuiBasic.Caption, __assign({ size: "xs", weight: 600, colorGroup: "brand", color: "main" }, otherProps, { children: formattedLabel })) })));
|
|
111
|
-
};
|
|
110
|
+
return (jsxRuntime.jsx(Wrapper$8, __assign({ "data-testid": "undefined_avatar", ref: ref }, { children: jsxRuntime.jsx(kuiBasic.Caption, __assign({ size: "xs", weight: 600, colorGroup: "brand", color: "main" }, otherProps, { children: formattedLabel })) })));
|
|
111
|
+
});
|
|
112
112
|
var Wrapper$8 = styled__default["default"].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"])), kuiBasic.theme.palette.brand.light, kuiBasic.theme.palette.brand.main);
|
|
113
113
|
var templateObject_1$u;
|
|
114
114
|
|
|
@@ -131,18 +131,18 @@ var sizeStyles = {
|
|
|
131
131
|
};
|
|
132
132
|
var templateObject_1$t, templateObject_2$f, templateObject_3$7, templateObject_4$2, templateObject_5$1, templateObject_6;
|
|
133
133
|
|
|
134
|
-
var ButtonTab = function (_a) {
|
|
134
|
+
var ButtonTab = React.forwardRef(function (_a, ref) {
|
|
135
135
|
var index = _a.index, onClick = _a.onClick, isActive = _a.isActive, label = _a.label;
|
|
136
136
|
var handleClick = function () {
|
|
137
137
|
onClick(index);
|
|
138
138
|
};
|
|
139
|
-
return (jsxRuntime$1.jsx(StyledButton, __assign({ variant: isActive ? "orange" : "white", captionWeight: isActive ? 600 : 400, onClick: handleClick, css: !isActive && inactiveStyles, size: "s" }, { children: label })));
|
|
140
|
-
};
|
|
139
|
+
return (jsxRuntime$1.jsx(StyledButton, __assign({ variant: isActive ? "orange" : "white", captionWeight: isActive ? 600 : 400, onClick: handleClick, css: !isActive && inactiveStyles, size: "s", ref: ref }, { children: label })));
|
|
140
|
+
});
|
|
141
141
|
var StyledButton = styled__default["default"](kuiBasic.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"])));
|
|
142
142
|
var inactiveStyles = react.css(templateObject_2$e || (templateObject_2$e = __makeTemplateObject(["\n p {\n color: ", ";\n }\n"], ["\n p {\n color: ", ";\n }\n"])), kuiBasic.theme.palette.grey.seventy);
|
|
143
143
|
var templateObject_1$s, templateObject_2$e;
|
|
144
144
|
|
|
145
|
-
var ButtonsPanel = function (_a) {
|
|
145
|
+
var ButtonsPanel = React.forwardRef(function (_a, ref) {
|
|
146
146
|
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"]);
|
|
147
147
|
var _b = React__namespace.useState(Number(activeTab)), value = _b[0], setValue = _b[1];
|
|
148
148
|
var navigate = reactRouterDom.useNavigate();
|
|
@@ -158,8 +158,8 @@ var ButtonsPanel = function (_a) {
|
|
|
158
158
|
React.useEffect(function () {
|
|
159
159
|
setValue(Number(activeTab));
|
|
160
160
|
}, [activeTab]);
|
|
161
|
-
return (jsxRuntime$1.jsxs(jsxRuntime$1.Fragment, { children: [jsxRuntime$1.jsx(StyledContainer$1, __assign({ css: isSticky && { position: "sticky" } }, otherProps, { children: jsxRuntime$1.jsx(kuiBasic.Container, { children: tabs.map(function (item, index) { return (jsxRuntime$1.jsx(ButtonTab, { index: index, onClick: handleChange, isActive: index === value, label: item.label }, item.label)); }) }) })), tabPanels.map(function (item, index) { return (jsxRuntime$1.jsx(Content, __assign({ role: "tabpanel", hidden: value !== index }, { children: value === index && jsxRuntime$1.jsx(jsxRuntime$1.Fragment, { children: item }) }), index)); })] }));
|
|
162
|
-
};
|
|
161
|
+
return (jsxRuntime$1.jsxs(jsxRuntime$1.Fragment, { children: [jsxRuntime$1.jsx(StyledContainer$1, __assign({ css: isSticky && { position: "sticky" }, ref: ref }, otherProps, { children: jsxRuntime$1.jsx(kuiBasic.Container, { children: tabs.map(function (item, index) { return (jsxRuntime$1.jsx(ButtonTab, { index: index, onClick: handleChange, isActive: index === value, label: item.label }, item.label)); }) }) })), tabPanels.map(function (item, index) { return (jsxRuntime$1.jsx(Content, __assign({ role: "tabpanel", hidden: value !== index }, { children: value === index && jsxRuntime$1.jsx(jsxRuntime$1.Fragment, { children: item }) }), index)); })] }));
|
|
162
|
+
});
|
|
163
163
|
ButtonsPanel.defaultProps = {
|
|
164
164
|
isSticky: false,
|
|
165
165
|
};
|
|
@@ -202,7 +202,7 @@ var InputDropdown = React.forwardRef(function (_a, ref) {
|
|
|
202
202
|
});
|
|
203
203
|
var templateObject_1$q;
|
|
204
204
|
|
|
205
|
-
var InputSelectDropdown = function (_a) {
|
|
205
|
+
var InputSelectDropdown = React.forwardRef(function (_a, ref) {
|
|
206
206
|
var options = _a.options, inputRef = _a.inputRef, isOpenDropdown = _a.isOpenDropdown, handleCloseDropdown = _a.handleCloseDropdown, handleSelect = _a.handleSelect, selectedValue = _a.selectedValue;
|
|
207
207
|
var dropdownRef = React.useRef(null);
|
|
208
208
|
React.useEffect(function () {
|
|
@@ -219,11 +219,20 @@ var InputSelectDropdown = function (_a) {
|
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
221
|
}, [isOpenDropdown]);
|
|
222
|
-
|
|
222
|
+
var forwardedRef = function (elem) {
|
|
223
|
+
if (ref) {
|
|
224
|
+
if (typeof ref === "function")
|
|
225
|
+
ref(elem);
|
|
226
|
+
else
|
|
227
|
+
ref.current = elem;
|
|
228
|
+
}
|
|
229
|
+
dropdownRef.current = elem;
|
|
230
|
+
};
|
|
231
|
+
return (jsxRuntime$1.jsx(InputDropdown, __assign({ ref: forwardedRef, buttonRef: inputRef, isOpen: isOpenDropdown, handleClose: handleCloseDropdown, css: {
|
|
223
232
|
maxHeight: "142px",
|
|
224
233
|
padding: "4px",
|
|
225
234
|
} }, { children: options.map(function (option, key) { return (jsxRuntime$1.jsx(OptionWrapper, __assign({ onClick: function () { return handleSelect(option); }, "data-value": "autocomplete_option_".concat(option.value), "data-testid": "autocomplete_option_".concat(key) }, { children: jsxRuntime$1.jsx(StyledOption, __assign({ css: selectedValue === option.value && selectedStyles }, { children: jsxRuntime$1.jsx(kuiBasic.Caption, __assign({ size: "sm", weight: 500 }, { children: option.label })) })) }), option.label)); }) })));
|
|
226
|
-
};
|
|
235
|
+
});
|
|
227
236
|
var OptionWrapper = styled__default["default"].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"])));
|
|
228
237
|
var StyledOption = styled__default["default"].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"])), kuiBasic.theme.palette.background.light1);
|
|
229
238
|
var selectedStyles = react.css(templateObject_3$6 || (templateObject_3$6 = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), kuiBasic.theme.palette.background.light1);
|
|
@@ -305,13 +314,16 @@ var StyledInput = styled__default["default"](kuiBasic.InputWithAdornments)(templ
|
|
|
305
314
|
var StyledIconWrapper = styled__default["default"].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"])));
|
|
306
315
|
var templateObject_1$o, templateObject_2$b, templateObject_3$5;
|
|
307
316
|
|
|
308
|
-
var
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
};
|
|
317
|
+
var checkDisabled$1 = function (year, min, max) {
|
|
318
|
+
return (min && year <= min) || (max && year >= max);
|
|
319
|
+
};
|
|
320
|
+
var SelectYear = React.forwardRef(function (_a, ref) {
|
|
321
|
+
var yearOptions = _a.yearOptions; _a.options; var min = _a.min, max = _a.max, props = __rest(_a, ["yearOptions", "options", "min", "max"]);
|
|
322
|
+
var formattedYearOptions = yearOptions.map(function (year) { return (__assign(__assign({}, year), { disabled: checkDisabled$1(Number(year.value), min, max) })); });
|
|
323
|
+
return (jsxRuntime.jsx(InputSelect, __assign({ ref: ref, label: "Year", options: formattedYearOptions }, props)));
|
|
324
|
+
});
|
|
314
325
|
|
|
326
|
+
var checkDisabled = function (month, min, max) { return (min && month <= min) || (max && month >= max); };
|
|
315
327
|
var monthValues = [
|
|
316
328
|
{ value: 0, label: "January" },
|
|
317
329
|
{ value: 1, label: "February" },
|
|
@@ -326,34 +338,36 @@ var monthValues = [
|
|
|
326
338
|
{ value: 10, label: "November" },
|
|
327
339
|
{ value: 11, label: "December" },
|
|
328
340
|
];
|
|
329
|
-
var SelectMonth = function (
|
|
330
|
-
|
|
331
|
-
return (
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
};
|
|
341
|
+
var SelectMonth = React.forwardRef(function (props, ref) {
|
|
342
|
+
var min = props.min, max = props.max; props.options; var other = __rest(props, ["min", "max", "options"]);
|
|
343
|
+
var formattedMonths = monthValues.map(function (month) { return (__assign(__assign({}, month), { disabled: checkDisabled(month.value, min, max) })); });
|
|
344
|
+
return (jsxRuntime.jsx(InputSelect, __assign({ ref: ref, label: "Month", options: formattedMonths }, other)));
|
|
345
|
+
});
|
|
335
346
|
|
|
336
|
-
var CalendarHeaderWithSelect = function (_a) {
|
|
337
|
-
var changeMonth = _a.changeMonth, changeYear = _a.changeYear, date = _a.date, yearOptions = _a.yearOptions;
|
|
347
|
+
var CalendarHeaderWithSelect = React.forwardRef(function (_a, ref) {
|
|
348
|
+
var changeMonth = _a.changeMonth, changeYear = _a.changeYear, date = _a.date, yearOptions = _a.yearOptions, max = _a.max, min = _a.min;
|
|
338
349
|
var year = date.getFullYear();
|
|
339
|
-
var month = date.getMonth()
|
|
340
|
-
|
|
341
|
-
|
|
350
|
+
var month = date.getMonth();
|
|
351
|
+
var currentYear = luxon.DateTime.now().year;
|
|
352
|
+
var minMonth = (min === null || min === void 0 ? void 0 : min.year) === currentYear ? min === null || min === void 0 ? void 0 : min.month : 0;
|
|
353
|
+
var maxMonth = (max === null || max === void 0 ? void 0 : max.year) === currentYear ? max === null || max === void 0 ? void 0 : max.month : 11;
|
|
354
|
+
return (jsxRuntime.jsx(Wrapper$5, __assign({ ref: ref }, { children: jsxRuntime.jsxs(kuiBasic.Grid, __assign({ container: true, spacing: 2 }, { children: [jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true, xs: 6 }, { children: jsxRuntime.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 }) })), jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true, xs: 6 }, { children: jsxRuntime.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 }) }))] })) })));
|
|
355
|
+
});
|
|
342
356
|
var Wrapper$5 = styled__default["default"].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"])));
|
|
343
357
|
var templateObject_1$n;
|
|
344
358
|
|
|
345
|
-
var CalendarStandardContainer = function (_a) {
|
|
359
|
+
var CalendarStandardContainer = React.forwardRef(function (_a, ref) {
|
|
346
360
|
_a.arrowProps; _a.showPopperArrow; var props = __rest(_a, ["arrowProps", "showPopperArrow"]);
|
|
347
|
-
return jsxRuntime.jsx(DatePickerContainer, __assign({}, props));
|
|
348
|
-
};
|
|
361
|
+
return jsxRuntime.jsx(DatePickerContainer, __assign({ ref: ref }, props));
|
|
362
|
+
});
|
|
349
363
|
var DatePickerContainer = styled__default["default"].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"])), kuiBasic.theme.palette.grey.fiftyP, kuiBasic.theme.palette.background.light3, kuiBasic.theme.palette.background.light3, kuiBasic.theme.palette.brand.main, kuiBasic.theme.palette.brand.main, kuiBasic.theme.palette.grey.fifteenB, kuiBasic.theme.palette.red.seventy, kuiBasic.theme.palette.grey.zero);
|
|
350
364
|
var templateObject_1$m;
|
|
351
365
|
|
|
352
|
-
var CalendarStandardHeader = function (_a) {
|
|
366
|
+
var CalendarStandardHeader = React.forwardRef(function (_a, ref) {
|
|
353
367
|
var decreaseMonth = _a.decreaseMonth, increaseMonth = _a.increaseMonth, nextMonthButtonDisabled = _a.nextMonthButtonDisabled, prevMonthButtonDisabled = _a.prevMonthButtonDisabled, date = _a.date;
|
|
354
368
|
var title = ___default["default"].capitalize(date.toLocaleString("ru", { month: "long", year: "numeric" })).slice(0, -3);
|
|
355
|
-
return (jsxRuntime.jsxs(HeaderWrapper, __assign({ container: true, alignItems: "center", justify: "space-between" }, { children: [jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(StyledHeading, __assign({ size: "h4" }, { children: title })) })), jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsxs(kuiBasic.Grid, __assign({ container: true, spacing: 2 }, { children: [jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(CircleButtonStyled, __assign({ isCircle: true, size: "xs", "data-testid": "prev_month_button", variant: "white", disabled: prevMonthButtonDisabled, onClick: decreaseMonth }, { children: jsxRuntime.jsx(kuiIcon.PrevArrowIcon, { width: 10, height: 10 }) })) })), jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(CircleButtonStyled, __assign({ isCircle: true, size: "xs", variant: "white", disabled: nextMonthButtonDisabled, onClick: increaseMonth }, { children: jsxRuntime.jsx(kuiIcon.NextArrowIcon, { width: 10, height: 10 }) })) }))] })) }))] })));
|
|
356
|
-
};
|
|
369
|
+
return (jsxRuntime.jsxs(HeaderWrapper, __assign({ container: true, alignItems: "center", justify: "space-between", ref: ref }, { children: [jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(StyledHeading, __assign({ size: "h4" }, { children: title })) })), jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsxs(kuiBasic.Grid, __assign({ container: true, spacing: 2 }, { children: [jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(CircleButtonStyled, __assign({ isCircle: true, size: "xs", "data-testid": "prev_month_button", variant: "white", disabled: prevMonthButtonDisabled, onClick: decreaseMonth }, { children: jsxRuntime.jsx(kuiIcon.PrevArrowIcon, { width: 10, height: 10 }) })) })), jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(CircleButtonStyled, __assign({ isCircle: true, size: "xs", variant: "white", disabled: nextMonthButtonDisabled, onClick: increaseMonth }, { children: jsxRuntime.jsx(kuiIcon.NextArrowIcon, { width: 10, height: 10 }) })) }))] })) }))] })));
|
|
370
|
+
});
|
|
357
371
|
var HeaderWrapper = styled__default["default"](kuiBasic.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"])));
|
|
358
372
|
var StyledHeading = styled__default["default"](kuiBasic.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"])));
|
|
359
373
|
var CircleButtonStyled = styled__default["default"](kuiBasic.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"])));
|
|
@@ -375,33 +389,33 @@ var InputForDatepicker = React.forwardRef(function (_a, ref) {
|
|
|
375
389
|
var IconWrapper = styled__default["default"].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"])));
|
|
376
390
|
var templateObject_1$k;
|
|
377
391
|
|
|
378
|
-
var MonthPickerContainer = function (_a) {
|
|
392
|
+
var MonthPickerContainer = React.forwardRef(function (_a, ref) {
|
|
379
393
|
_a.arrowProps; _a.showPopperArrow; var props = __rest(_a, ["arrowProps", "showPopperArrow"]);
|
|
380
|
-
return jsxRuntime.jsx(StyledContainer, __assign({}, props));
|
|
381
|
-
};
|
|
382
|
-
var StyledContainer = styled__default["default"].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"])), kuiBasic.theme.palette.background.light1, kuiBasic.theme.palette.grey.fifteenB, kuiBasic.theme.palette.grey.fifteenB, kuiBasic.theme.palette.brand.main, kuiBasic.theme.palette.grey.fifteenB);
|
|
394
|
+
return jsxRuntime.jsx(StyledContainer, __assign({ ref: ref }, props));
|
|
395
|
+
});
|
|
396
|
+
var StyledContainer = styled__default["default"].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"])), kuiBasic.theme.palette.background.light1, kuiBasic.theme.palette.grey.fifteenB, kuiBasic.theme.palette.grey.fifteenB, kuiBasic.theme.palette.brand.main, kuiBasic.theme.palette.grey.fifteenB);
|
|
383
397
|
var templateObject_1$j;
|
|
384
398
|
|
|
385
|
-
var MonthPickerHeader = function (_a) {
|
|
399
|
+
var MonthPickerHeader = React.forwardRef(function (_a, ref) {
|
|
386
400
|
var decreaseYear = _a.decreaseYear, increaseYear = _a.increaseYear, nextYearButtonDisabled = _a.nextYearButtonDisabled, prevYearButtonDisabled = _a.prevYearButtonDisabled, date = _a.date;
|
|
387
|
-
return (jsxRuntime.jsxs(StyledHeader, __assign({ container: true, alignItems: "center", justify: "space-between" }, { children: [jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(StyledIconButton, __assign({ disabled: prevYearButtonDisabled, onClick: decreaseYear }, { children: jsxRuntime.jsx(kuiIcon.ArrowBackIcon, { width: 14, height: 12 }) })) })), jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(kuiBasic.Caption, __assign({ size: "sm", weight: 600 }, { children: date.getFullYear() })) })), jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(StyledIconButton, __assign({ disabled: nextYearButtonDisabled, onClick: increaseYear }, { children: jsxRuntime.jsx(kuiIcon.ArrowNextIcon, { width: 14, height: 12 }) })) }))] })));
|
|
388
|
-
};
|
|
401
|
+
return (jsxRuntime.jsxs(StyledHeader, __assign({ container: true, alignItems: "center", justify: "space-between", ref: ref }, { children: [jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(StyledIconButton, __assign({ disabled: prevYearButtonDisabled, onClick: decreaseYear }, { children: jsxRuntime.jsx(kuiIcon.ArrowBackIcon, { width: 14, height: 12 }) })) })), jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(kuiBasic.Caption, __assign({ size: "sm", weight: 600 }, { children: date.getFullYear() })) })), jsxRuntime.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime.jsx(StyledIconButton, __assign({ disabled: nextYearButtonDisabled, onClick: increaseYear }, { children: jsxRuntime.jsx(kuiIcon.ArrowNextIcon, { width: 14, height: 12 }) })) }))] })));
|
|
402
|
+
});
|
|
389
403
|
var StyledIconButton = styled__default["default"](kuiBasic.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"])));
|
|
390
404
|
var StyledHeader = styled__default["default"](kuiBasic.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"])));
|
|
391
405
|
var templateObject_1$i, templateObject_2$9;
|
|
392
406
|
|
|
393
|
-
var DesktopInputWithMonthPicker = function (_a) {
|
|
407
|
+
var DesktopInputWithMonthPicker = React.forwardRef(function (_a, ref) {
|
|
394
408
|
var name = _a.name, form = _a.form, disabled = _a.disabled, datePickerProps = _a.datePickerProps, otherProps = __rest(_a, ["name", "form", "disabled", "datePickerProps"]);
|
|
395
|
-
return (jsxRuntime.jsx(Wrapper$4, { children: jsxRuntime.jsx(reactHookForm.Controller, { name: name, control: form.control, render: function (_a) {
|
|
409
|
+
return (jsxRuntime.jsx(Wrapper$4, __assign({ ref: ref }, { children: jsxRuntime.jsx(reactHookForm.Controller, { name: name, control: form.control, render: function (_a) {
|
|
396
410
|
var _b;
|
|
397
411
|
var field = _a.field, fieldState = _a.fieldState;
|
|
398
412
|
return (jsxRuntime.jsx(DatePicker__default["default"], __assign({ selected: field.value, onChange: field.onChange, disabled: disabled, customInput: jsxRuntime.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 (jsxRuntime.jsx(MonthPickerHeader, __assign({}, props))); } }, datePickerProps)));
|
|
399
|
-
} }) }));
|
|
400
|
-
};
|
|
413
|
+
} }) })));
|
|
414
|
+
});
|
|
401
415
|
var Wrapper$4 = styled__default["default"].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"])));
|
|
402
416
|
var templateObject_1$h;
|
|
403
417
|
|
|
404
|
-
var MenuItem = function (_a) {
|
|
418
|
+
var MenuItem = React.forwardRef(function (_a, ref) {
|
|
405
419
|
var tab = _a.tab, active = _a.active, index = _a.index, handleClick = _a.handleClick, offset = _a.offset, isScrolling = _a.isScrolling, setIsScrolling = _a.setIsScrolling;
|
|
406
420
|
var startScrolling = function () {
|
|
407
421
|
setIsScrolling(true);
|
|
@@ -432,16 +446,16 @@ var MenuItem = function (_a) {
|
|
|
432
446
|
reactScroll.Events.scrollEvent.remove("end");
|
|
433
447
|
};
|
|
434
448
|
}, []);
|
|
435
|
-
return (jsxRuntime$1.jsx(reactScroll.Link, __assign({ to: tab.label, spy: true, smooth: true, duration: 500, offset: offset, onSetActive: handleSelect }, { children: jsxRuntime$1.jsx(ButtonWrapper$1, { children: jsxRuntime$1.jsx(kuiBasic.Button, __assign({ variant: Number(active) === index ? "orange" : "transparentWithBorder", size: "xs", css: Number(active) !== index && disabledStyles }, { children: tab.label })) }) })));
|
|
436
|
-
};
|
|
449
|
+
return (jsxRuntime$1.jsx(reactScroll.Link, __assign({ to: tab.label, spy: true, smooth: true, duration: 500, offset: offset, onSetActive: handleSelect }, { children: jsxRuntime$1.jsx(ButtonWrapper$1, __assign({ ref: ref }, { children: jsxRuntime$1.jsx(kuiBasic.Button, __assign({ variant: Number(active) === index ? "orange" : "transparentWithBorder", size: "xs", css: Number(active) !== index && disabledStyles }, { children: tab.label })) })) })));
|
|
450
|
+
});
|
|
437
451
|
var ButtonWrapper$1 = styled__default["default"].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"])));
|
|
438
452
|
var disabledStyles = react.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"])), kuiBasic.theme.palette.grey.seventy);
|
|
439
453
|
var templateObject_1$g, templateObject_2$8;
|
|
440
454
|
|
|
441
|
-
var DesktopMenuPanel = function (_a) {
|
|
455
|
+
var DesktopMenuPanel = React.forwardRef(function (_a, ref) {
|
|
442
456
|
var tabs = _a.tabs, variant = _a.variant, other = __rest(_a, ["tabs", "variant"]);
|
|
443
|
-
return (jsxRuntime$1.jsx(Wrapper$3, __assign({ container: true, css: variant === "white" && { background: "white" } }, { children: tabs.map(function (tab, index) { return (jsxRuntime$1.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime$1.jsx(MenuItem, __assign({ tab: tab, index: index, offset: -121 }, other), tab.label) }), index)); }) })));
|
|
444
|
-
};
|
|
457
|
+
return (jsxRuntime$1.jsx(Wrapper$3, __assign({ container: true, css: variant === "white" && { background: "white" }, ref: ref }, { children: tabs.map(function (tab, index) { return (jsxRuntime$1.jsx(kuiBasic.Grid, __assign({ item: true }, { children: jsxRuntime$1.jsx(MenuItem, __assign({ tab: tab, index: index, offset: -121 }, other), tab.label) }), index)); }) })));
|
|
458
|
+
});
|
|
445
459
|
var Wrapper$3 = styled__default["default"](kuiBasic.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"])), kuiBasic.theme.palette.background.light1);
|
|
446
460
|
var templateObject_1$f;
|
|
447
461
|
|
|
@@ -476,7 +490,7 @@ var InputWithMask = React.forwardRef(function (_a, ref) {
|
|
|
476
490
|
});
|
|
477
491
|
|
|
478
492
|
var InputWithController = React.forwardRef(function (_a, ref) {
|
|
479
|
-
var form = _a.form, name = _a.name, error = _a.error, inputProps = __rest(_a, ["form", "name", "error"]);
|
|
493
|
+
var form = _a.form, name = _a.name, error = _a.error, value = _a.value, inputProps = __rest(_a, ["form", "name", "error", "value"]);
|
|
480
494
|
var handleChange = function (e, field) {
|
|
481
495
|
field.onChange(e);
|
|
482
496
|
if (inputProps.onChange) {
|
|
@@ -501,7 +515,7 @@ var InputWithController = React.forwardRef(function (_a, ref) {
|
|
|
501
515
|
var field = _a.field, fieldState = _a.fieldState;
|
|
502
516
|
return (jsxRuntime.jsx(kuiBasic.InputWithAdornments, __assign({ message: getError(fieldState) }, field, inputProps, { onChange: function (e) {
|
|
503
517
|
return handleChange(e, field);
|
|
504
|
-
}, value: field.value || "", ref: function (e) { return forwardedRef(e, field); } })));
|
|
518
|
+
}, value: typeof value !== "undefined" ? value : field.value || "", ref: function (e) { return forwardedRef(e, field); } })));
|
|
505
519
|
} }));
|
|
506
520
|
});
|
|
507
521
|
|
|
@@ -523,7 +537,7 @@ var strengthTexts = {
|
|
|
523
537
|
medium: "Средний",
|
|
524
538
|
hard: "Сложный",
|
|
525
539
|
};
|
|
526
|
-
var PassportStrengthBar = function (_a) {
|
|
540
|
+
var PassportStrengthBar = React.forwardRef(function (_a, ref) {
|
|
527
541
|
var strength = _a.strength;
|
|
528
542
|
var color = strength
|
|
529
543
|
? strengthColors[strength]
|
|
@@ -531,8 +545,8 @@ var PassportStrengthBar = function (_a) {
|
|
|
531
545
|
var strengthKey = strength
|
|
532
546
|
? strengthCoefficients[strength]
|
|
533
547
|
: -1;
|
|
534
|
-
return (jsxRuntime$1.jsxs(Wrapper$2, __assign({ "data-testid": "strength_bar", className: String(!strength && "hidden") }, { children: [jsxRuntime$1.jsx(ReliabilityLevelWrapper, { children: Object.keys(strengthCoefficients).map(function (item, key) { return (jsxRuntime$1.jsx(ReliabilityLevel, { children: jsxRuntime$1.jsx(StyledLinearProgress, { "data-testid": "progress_item_".concat(item), value: strengthKey >= key ? 100 : 0, color: color }) }, item)); }) }), jsxRuntime$1.jsx(kuiBasic.Caption, __assign({ "data-testid": "strength_bar_explanation", size: "s", css: { color: color } }, { children: strength && strengthTexts[strength] })), jsxRuntime$1.jsx(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" }))] })));
|
|
535
|
-
};
|
|
548
|
+
return (jsxRuntime$1.jsxs(Wrapper$2, __assign({ "data-testid": "strength_bar", className: String(!strength && "hidden"), ref: ref }, { children: [jsxRuntime$1.jsx(ReliabilityLevelWrapper, { children: Object.keys(strengthCoefficients).map(function (item, key) { return (jsxRuntime$1.jsx(ReliabilityLevel, { children: jsxRuntime$1.jsx(StyledLinearProgress, { "data-testid": "progress_item_".concat(item), value: strengthKey >= key ? 100 : 0, color: color }) }, item)); }) }), jsxRuntime$1.jsx(kuiBasic.Caption, __assign({ "data-testid": "strength_bar_explanation", size: "s", css: { color: color } }, { children: strength && strengthTexts[strength] })), jsxRuntime$1.jsx(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" }))] })));
|
|
549
|
+
});
|
|
536
550
|
var Wrapper$2 = styled__default["default"].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"])));
|
|
537
551
|
var ReliabilityLevelWrapper = styled__default["default"].div(templateObject_2$7 || (templateObject_2$7 = __makeTemplateObject(["\n display: flex;\n margin-bottom: 8px;\n"], ["\n display: flex;\n margin-bottom: 8px;\n"])));
|
|
538
552
|
var ReliabilityLevel = styled__default["default"].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"])));
|
|
@@ -548,7 +562,7 @@ var simplePasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{10,
|
|
|
548
562
|
var mediumPasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{12,}$/;
|
|
549
563
|
var strongPasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{14,}$/;
|
|
550
564
|
|
|
551
|
-
var InputPassword = function (props) {
|
|
565
|
+
var InputPassword = React.forwardRef(function (props, ref) {
|
|
552
566
|
var _a = React.useState(false), showPassword = _a[0], setShowPassword = _a[1];
|
|
553
567
|
var _b = React.useState(null), strength = _b[0], setStrength = _b[1];
|
|
554
568
|
var handleShowChange = function () {
|
|
@@ -583,12 +597,12 @@ var InputPassword = function (props) {
|
|
|
583
597
|
checkPasswordStrength(fieldValue);
|
|
584
598
|
}
|
|
585
599
|
}, []);
|
|
586
|
-
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(InputWithController, __assign({ type: showPassword ? "text" : "password", autoComplete: "new_password", onChange: handleChange, "data-testid": "input_password", endIcon: jsxRuntime.jsx(EyeIconWrapper, __assign({ "data-testid": "show_value_btn", onClick: handleShowChange }, { children: showPassword ? jsxRuntime.jsx(kuiIcon.ClosedEyeIcon, {}) : jsxRuntime.jsx(kuiIcon.OpenEyeIcon, {}) })) }, props)), jsxRuntime.jsx(PassportStrengthBar, { strength: strength })] }));
|
|
587
|
-
};
|
|
600
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(InputWithController, __assign({ type: showPassword ? "text" : "password", autoComplete: "new_password", onChange: handleChange, "data-testid": "input_password", ref: ref, endIcon: jsxRuntime.jsx(EyeIconWrapper, __assign({ "data-testid": "show_value_btn", onClick: handleShowChange }, { children: showPassword ? jsxRuntime.jsx(kuiIcon.ClosedEyeIcon, {}) : jsxRuntime.jsx(kuiIcon.OpenEyeIcon, {}) })) }, props)), jsxRuntime.jsx(PassportStrengthBar, { strength: strength })] }));
|
|
601
|
+
});
|
|
588
602
|
var EyeIconWrapper = styled__default["default"].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"])));
|
|
589
603
|
var templateObject_1$d;
|
|
590
604
|
|
|
591
|
-
var InputTextAreaMobile = function (props) { return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(InputWrapper, { children: jsxRuntime.jsx(InputWithController, __assign({}, props)) }), jsxRuntime.jsx(TextAreaWrapper, { children: jsxRuntime.jsx(InputWithController, __assign({ isTextArea: true }, props)) })] })); };
|
|
605
|
+
var InputTextAreaMobile = React.forwardRef(function (props) { return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(InputWrapper, { children: jsxRuntime.jsx(InputWithController, __assign({}, props)) }), jsxRuntime.jsx(TextAreaWrapper, { children: jsxRuntime.jsx(InputWithController, __assign({ isTextArea: true }, props)) })] })); });
|
|
592
606
|
var InputWrapper = styled__default["default"].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"])));
|
|
593
607
|
var TextAreaWrapper = styled__default["default"].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"])));
|
|
594
608
|
var templateObject_1$c, templateObject_2$6;
|
|
@@ -605,17 +619,18 @@ var useToggle = function (isModalOpen) {
|
|
|
605
619
|
return [isOpen, handleOpen, handleClose];
|
|
606
620
|
};
|
|
607
621
|
|
|
608
|
-
var ModalFooter = function (_a) {
|
|
622
|
+
var ModalFooter = React.forwardRef(function (_a, ref) {
|
|
609
623
|
var label = _a.label, button = _a.button, otherProps = __rest(_a, ["label", "button"]);
|
|
610
|
-
return (jsxRuntime.jsxs(StyledFooter, { children: [jsxRuntime.jsx(kuiBasic.Divider, {}), jsxRuntime.jsx(ButtonWrapper, { children: button || (jsxRuntime.jsx(ButtonStyled, __assign({ fullWidth: true, size: "s", endIcon: jsxRuntime.jsx(kuiIcon.CheckIcon, {}) }, otherProps, { children: label }))) })] }));
|
|
611
|
-
};
|
|
624
|
+
return (jsxRuntime.jsxs(StyledFooter, __assign({ ref: ref }, { children: [jsxRuntime.jsx(kuiBasic.Divider, {}), jsxRuntime.jsx(ButtonWrapper, { children: button || (jsxRuntime.jsx(ButtonStyled, __assign({ fullWidth: true, size: "s", endIcon: jsxRuntime.jsx(kuiIcon.CheckIcon, {}) }, otherProps, { children: label }))) })] })));
|
|
625
|
+
});
|
|
612
626
|
var StyledFooter = styled__default["default"].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"])), kuiBasic.theme.palette.grey.zero);
|
|
613
627
|
var ButtonWrapper = styled__default["default"].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"])));
|
|
614
628
|
var ButtonStyled = styled__default["default"](kuiBasic.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"])));
|
|
615
629
|
var templateObject_1$b, templateObject_2$5, templateObject_3$2;
|
|
616
630
|
|
|
617
|
-
DatePicker.registerLocale("ru", ru__default["default"]);
|
|
618
631
|
var generateYearRange = function (offsetFromCurrent, maxYearCount) {
|
|
632
|
+
if (!offsetFromCurrent || !maxYearCount)
|
|
633
|
+
return [];
|
|
619
634
|
var endYear = luxon.DateTime.now().year - offsetFromCurrent;
|
|
620
635
|
return ___default["default"].range(maxYearCount).map(function (elem) {
|
|
621
636
|
var fullYear = endYear - elem;
|
|
@@ -627,44 +642,74 @@ var generateYearRange = function (offsetFromCurrent, maxYearCount) {
|
|
|
627
642
|
};
|
|
628
643
|
var InputWithDatePicker = React.forwardRef(function (_a, ref) {
|
|
629
644
|
var _b;
|
|
630
|
-
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"]);
|
|
645
|
+
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"]);
|
|
631
646
|
var _c = reactHookForm.useController({
|
|
632
647
|
name: name,
|
|
633
648
|
control: form.control,
|
|
634
649
|
}), field = _c.field, fieldState = _c.fieldState;
|
|
635
650
|
var error = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
651
|
+
var formattedValue = field.value ? field.value.toFormat("dd.MM.yyyy") : "";
|
|
652
|
+
var formattedDate = field.value ? field.value.toJSDate() : null;
|
|
636
653
|
var _d = useToggle(), isModalOpen = _d[0], handleModalOpen = _d[1], handleModalClose = _d[2];
|
|
637
|
-
var _e = React.useState(
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
654
|
+
var _e = React.useState(formattedDate), date = _e[0], setDate = _e[1];
|
|
655
|
+
var _f = React.useState(formattedValue), value = _f[0], setValue = _f[1];
|
|
656
|
+
var yearList = generateYearRange(yearParams === null || yearParams === void 0 ? void 0 : yearParams.min, yearParams === null || yearParams === void 0 ? void 0 : yearParams.max);
|
|
657
|
+
React.useEffect(function () {
|
|
658
|
+
if (!isModalOpen) {
|
|
659
|
+
setDate(null);
|
|
660
|
+
}
|
|
661
|
+
else {
|
|
662
|
+
setDate(formattedDate);
|
|
663
|
+
}
|
|
664
|
+
}, [isModalOpen]);
|
|
642
665
|
var handleChange = function (e) {
|
|
643
666
|
var targetValue = e.target.value;
|
|
644
667
|
setValue(targetValue);
|
|
645
668
|
if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {
|
|
646
|
-
var
|
|
647
|
-
setDate(
|
|
648
|
-
field === null || field === void 0 ? void 0 : field.onChange({ target: { value:
|
|
669
|
+
var targetDate = luxon.DateTime.fromFormat(targetValue, "dd.MM.yyyy");
|
|
670
|
+
setDate(targetDate.toJSDate());
|
|
671
|
+
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: targetDate, name: name }, type: "change" });
|
|
672
|
+
if (onChange) {
|
|
673
|
+
onChange(targetDate);
|
|
674
|
+
}
|
|
649
675
|
}
|
|
650
676
|
else {
|
|
651
677
|
setDate(null);
|
|
652
678
|
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: null, name: name }, type: "change" });
|
|
679
|
+
if (onChange) {
|
|
680
|
+
onChange(null);
|
|
681
|
+
}
|
|
653
682
|
}
|
|
654
683
|
};
|
|
655
684
|
var acceptWithDateSelected = function () {
|
|
656
685
|
if (date) {
|
|
657
|
-
|
|
658
|
-
|
|
686
|
+
var dateObj = luxon.DateTime.fromJSDate(date);
|
|
687
|
+
setValue(dateObj.toFormat("dd.MM.yyyy"));
|
|
688
|
+
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: dateObj, name: name }, type: "change" });
|
|
689
|
+
if (onChange) {
|
|
690
|
+
onChange(dateObj);
|
|
691
|
+
}
|
|
659
692
|
handleModalClose();
|
|
660
693
|
}
|
|
661
694
|
};
|
|
662
|
-
|
|
695
|
+
var handleDateChange = function (newDate) {
|
|
696
|
+
setDate(newDate);
|
|
697
|
+
};
|
|
698
|
+
var forwardedRef = function (elem) {
|
|
699
|
+
if (ref) {
|
|
700
|
+
// eslint-disable-next-line no-param-reassign
|
|
701
|
+
// @ts-ignore
|
|
702
|
+
ref.current = elem;
|
|
703
|
+
}
|
|
704
|
+
field.ref(elem);
|
|
705
|
+
};
|
|
706
|
+
return (jsxRuntime$1.jsxs(jsxRuntime$1.Fragment, { children: [jsxRuntime$1.jsx(InputForDatepicker, __assign({ mask: "99.99.9999", name: name, handleCLick: handleModalOpen, value: formattedValue || value, onChange: handleChange, disabled: disabled, message: error, ref: forwardedRef }, props)), jsxRuntime$1.jsxs(kuiBasic.Modal, __assign({ title: title, description: description, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsxRuntime$1.jsx(ContentWrapper$1, { children: jsxRuntime$1.jsx(DatePicker__default["default"], __assign({ inline: true, selected: date || formattedDate, onChange: handleDateChange, calendarContainer: StyledCalendarStandardContainer, renderCustomHeader: function (headProps) { return (jsxRuntime$1.jsx(CalendarHeaderWithSelect, __assign({ yearOptions: yearList, max: max, min: min }, headProps))); }, renderDayContents: function (day) { return (jsxRuntime$1.jsx(DayContent, { children: day })); }, maxDate: max === null || max === void 0 ? void 0 : max.toJSDate(), minDate: min === null || min === void 0 ? void 0 : min.toJSDate() }, datePickerProps)) }), jsxRuntime$1.jsx(ModalFooter, { fullWidth: true, disabled: !formattedDate && !date, onClick: acceptWithDateSelected, label: footerLabel })] }))] }));
|
|
663
707
|
});
|
|
664
708
|
InputWithDatePicker.defaultProps = {
|
|
665
709
|
title: "Дата рождения",
|
|
666
710
|
description: "Выберите год, месяц и число вашего рождения",
|
|
667
711
|
yearParams: { min: 18, max: 120 },
|
|
712
|
+
footerLabel: "Подтвердить",
|
|
668
713
|
};
|
|
669
714
|
var ContentWrapper$1 = styled__default["default"].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"])));
|
|
670
715
|
var StyledCalendarStandardContainer = styled__default["default"](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"])), kuiBasic.theme.palette.background.light1, kuiBasic.theme.palette.background.light1);
|
|
@@ -694,7 +739,7 @@ var ruCustom = __assign(__assign({}, ru__default["default"]), { localize: {
|
|
|
694
739
|
dayPeriod: function () { return ""; },
|
|
695
740
|
day: function () { return ""; },
|
|
696
741
|
} });
|
|
697
|
-
var MobileInputWithMonthPicker = function (_a) {
|
|
742
|
+
var MobileInputWithMonthPicker = React.forwardRef(function (_a, ref) {
|
|
698
743
|
var _b;
|
|
699
744
|
var title = _a.title, name = _a.name, form = _a.form, disabled = _a.disabled, datePickerProps = _a.datePickerProps, props = __rest(_a, ["title", "name", "form", "disabled", "datePickerProps"]);
|
|
700
745
|
var _c = reactHookForm.useController({
|
|
@@ -730,15 +775,15 @@ var MobileInputWithMonthPicker = function (_a) {
|
|
|
730
775
|
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: date, name: name }, type: "change" });
|
|
731
776
|
handleModalClose();
|
|
732
777
|
};
|
|
733
|
-
return (jsxRuntime.jsxs(Wrapper$1, { children: [jsxRuntime.jsx(InputForDatepicker, __assign({ mask: "99.9999", name: name, handleCLick: handleModalOpen, value: value, onChange: handleChange, disabled: disabled, message: error, isLabelShrink: Boolean(field.value) }, props)), jsxRuntime.jsxs(kuiBasic.Modal, __assign({ title: title, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsxRuntime.jsx(ContentWrapper, { children: jsxRuntime.jsx(DatePicker__default["default"], __assign({ inline: true, showMonthYearPicker: true, dateFormat: "MM.yyyy", selected: date, onChange: function (newDate) { return setDate(newDate); }, locale: ruCustom, calendarContainer: MonthPickerContainer, renderCustomHeader: function (headProps) { return (jsxRuntime.jsx(MonthPickerHeader, __assign({}, headProps))); } }, datePickerProps)) }), jsxRuntime.jsx(ModalFooter, { fullWidth: true, disabled: !date, onClick: acceptWithDateSelected, label: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C" })] }))] }));
|
|
734
|
-
};
|
|
778
|
+
return (jsxRuntime.jsxs(Wrapper$1, __assign({ ref: ref }, { children: [jsxRuntime.jsx(InputForDatepicker, __assign({ mask: "99.9999", name: name, handleCLick: handleModalOpen, value: value, onChange: handleChange, disabled: disabled, message: error, isLabelShrink: Boolean(field.value) }, props)), jsxRuntime.jsxs(kuiBasic.Modal, __assign({ title: title, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsxRuntime.jsx(ContentWrapper, { children: jsxRuntime.jsx(DatePicker__default["default"], __assign({ inline: true, showMonthYearPicker: true, dateFormat: "MM.yyyy", selected: date, onChange: function (newDate) { return setDate(newDate); }, locale: ruCustom, calendarContainer: MonthPickerContainer, renderCustomHeader: function (headProps) { return (jsxRuntime.jsx(MonthPickerHeader, __assign({}, headProps))); } }, datePickerProps)) }), jsxRuntime.jsx(ModalFooter, { fullWidth: true, disabled: !date, onClick: acceptWithDateSelected, label: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C" })] }))] })));
|
|
779
|
+
});
|
|
735
780
|
var Wrapper$1 = styled__default["default"].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"])));
|
|
736
781
|
var ContentWrapper = styled__default["default"].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"])));
|
|
737
782
|
var templateObject_1$9, templateObject_2$3;
|
|
738
783
|
|
|
739
784
|
var InputWithMonthPicker = function (props) { return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(DesktopInputWithMonthPicker, __assign({}, props)), jsxRuntime.jsx(MobileInputWithMonthPicker, __assign({}, props))] })); };
|
|
740
785
|
|
|
741
|
-
var MobileMenuPanel = function (_a) {
|
|
786
|
+
var MobileMenuPanel = React.forwardRef(function (_a, ref) {
|
|
742
787
|
var tabs = _a.tabs, handleClick = _a.handleClick, variant = _a.variant, other = __rest(_a, ["tabs", "handleClick", "variant"]);
|
|
743
788
|
var swiperRef = React.useRef(null);
|
|
744
789
|
var slideTo = function (index) {
|
|
@@ -748,8 +793,8 @@ var MobileMenuPanel = function (_a) {
|
|
|
748
793
|
}, 16);
|
|
749
794
|
handleClick(index);
|
|
750
795
|
};
|
|
751
|
-
return (jsxRuntime$1.jsx(Wrapper, __assign({ css: variant === "white" && { background: "white" } }, { children: jsxRuntime$1.jsx(Swiper__default["default"], __assign({ spaceBetween: 8, slidesPerView: "auto", slideToClickedSlide: true, ref: swiperRef }, { children: tabs.map(function (tab, index) { return (jsxRuntime$1.jsx(SlideWrapper, { children: jsxRuntime$1.jsx(MenuItem, __assign({ tab: tab, index: index, handleClick: slideTo, offset: -121 }, other), tab.label) }, index)); }) })) })));
|
|
752
|
-
};
|
|
796
|
+
return (jsxRuntime$1.jsx(Wrapper, __assign({ css: variant === "white" && { background: "white" }, ref: ref }, { children: jsxRuntime$1.jsx(Swiper__default["default"], __assign({ spaceBetween: 8, slidesPerView: "auto", slideToClickedSlide: true, ref: swiperRef }, { children: tabs.map(function (tab, index) { return (jsxRuntime$1.jsx(SlideWrapper, { children: jsxRuntime$1.jsx(MenuItem, __assign({ tab: tab, index: index, handleClick: slideTo, offset: -121 }, other), tab.label) }, index)); }) })) })));
|
|
797
|
+
});
|
|
753
798
|
var Wrapper = styled__default["default"].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"])), kuiBasic.theme.palette.background.light1);
|
|
754
799
|
var SlideWrapper = styled__default["default"].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"])));
|
|
755
800
|
var templateObject_1$8, templateObject_2$2;
|
|
@@ -768,7 +813,7 @@ var useWindowWidth = function (time) {
|
|
|
768
813
|
return width;
|
|
769
814
|
};
|
|
770
815
|
|
|
771
|
-
var MenuPanel = function (_a) {
|
|
816
|
+
var MenuPanel = React.forwardRef(function (_a, ref) {
|
|
772
817
|
var tabs = _a.tabs, tabPanels = _a.tabPanels, paths = _a.paths, activeTab = _a.activeTab, variant = _a.variant;
|
|
773
818
|
var width = useWindowWidth();
|
|
774
819
|
var _b = React__namespace.useState(activeTab), value = _b[0], setValue = _b[1];
|
|
@@ -797,21 +842,21 @@ var MenuPanel = function (_a) {
|
|
|
797
842
|
if (width === 0) {
|
|
798
843
|
return null;
|
|
799
844
|
}
|
|
800
|
-
return (jsxRuntime$1.jsxs("div", { children: [width > 765 ? (jsxRuntime$1.jsx(DesktopMenuPanel, { tabs: tabs, active: value, handleClick: handleClick, variant: variant, isScrolling: isScrolling, setIsScrolling: setIsScrolling })) : (jsxRuntime$1.jsx(MobileMenuPanel, { tabs: tabs, active: value, handleClick: handleClick, variant: variant, isScrolling: isScrolling, setIsScrolling: setIsScrolling })), tabPanels.map(function (item, index) { return (jsxRuntime$1.jsx("div", __assign({ css: index === tabPanels.length - 1 && fullHeightStyles }, { children: jsxRuntime$1.jsx(reactScroll.Element, __assign({ name: tabs[index].label, "data-index": index }, { children: item }), index) }), index)); })] }));
|
|
801
|
-
};
|
|
845
|
+
return (jsxRuntime$1.jsxs("div", __assign({ ref: ref }, { children: [width > 765 ? (jsxRuntime$1.jsx(DesktopMenuPanel, { tabs: tabs, active: value, handleClick: handleClick, variant: variant, isScrolling: isScrolling, setIsScrolling: setIsScrolling })) : (jsxRuntime$1.jsx(MobileMenuPanel, { tabs: tabs, active: value, handleClick: handleClick, variant: variant, isScrolling: isScrolling, setIsScrolling: setIsScrolling })), tabPanels.map(function (item, index) { return (jsxRuntime$1.jsx("div", __assign({ css: index === tabPanels.length - 1 && fullHeightStyles }, { children: jsxRuntime$1.jsx(reactScroll.Element, __assign({ name: tabs[index].label, "data-index": index }, { children: item }), index) }), index)); })] })));
|
|
846
|
+
});
|
|
802
847
|
MenuPanel.defaultProps = {
|
|
803
848
|
variant: "grey",
|
|
804
849
|
};
|
|
805
850
|
var fullHeightStyles = react.css(templateObject_1$7 || (templateObject_1$7 = __makeTemplateObject(["\n height: calc(100vh - 121px);\n"], ["\n height: calc(100vh - 121px);\n"])));
|
|
806
851
|
var templateObject_1$7;
|
|
807
852
|
|
|
808
|
-
var Switch = function (_a) {
|
|
853
|
+
var Switch = React.forwardRef(function (_a, ref) {
|
|
809
854
|
var form = _a.form, name = _a.name, props = __rest(_a, ["form", "name"]);
|
|
810
855
|
return (jsxRuntime$1.jsx(reactHookForm.Controller, { control: form === null || form === void 0 ? void 0 : form.control, name: name, render: function (_a) {
|
|
811
856
|
var field = _a.field;
|
|
812
|
-
return (jsxRuntime$1.jsx(kuiBasic.Switch, __assign({ checked: Boolean(field.value), onChange: field.onChange, "data-testid": name }, props)));
|
|
857
|
+
return (jsxRuntime$1.jsx(kuiBasic.Switch, __assign({ checked: Boolean(field.value), onChange: field.onChange, "data-testid": name, ref: ref }, props)));
|
|
813
858
|
} }));
|
|
814
|
-
};
|
|
859
|
+
});
|
|
815
860
|
|
|
816
861
|
var InputPhoneWithForm = React.forwardRef(function (props, ref) {
|
|
817
862
|
var _a;
|
|
@@ -856,7 +901,7 @@ InputPhoneWithForm.defaultProps = {
|
|
|
856
901
|
name: "phone",
|
|
857
902
|
};
|
|
858
903
|
|
|
859
|
-
var Table = function (props) { return jsxRuntime.jsx(StyledTable, __assign({ cellSpacing: "0" }, props)); };
|
|
904
|
+
var Table = React.forwardRef(function (props, ref) { return jsxRuntime.jsx(StyledTable, __assign({ cellSpacing: "0", ref: ref }, props)); });
|
|
860
905
|
var StyledTable = styled__default["default"].table(templateObject_1$6 || (templateObject_1$6 = __makeTemplateObject(["\n width: 100%;\n border-spacing: 0;\n"], ["\n width: 100%;\n border-spacing: 0;\n"])));
|
|
861
906
|
var templateObject_1$6;
|
|
862
907
|
|
|
@@ -866,12 +911,11 @@ var templateObject_1$5;
|
|
|
866
911
|
var TableCell = styled__default["default"].td(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n padding: 0;\n"], ["\n padding: 0;\n"])));
|
|
867
912
|
var templateObject_1$4;
|
|
868
913
|
|
|
869
|
-
var TableRow = function (_a) {
|
|
914
|
+
var TableRow = React.forwardRef(function (_a, ref) {
|
|
870
915
|
var children = _a.children, other = __rest(_a, ["children"]);
|
|
871
916
|
var childrenArr = React__namespace.Children.toArray(children);
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
};
|
|
917
|
+
return (jsxRuntime.jsx("tr", __assign({ ref: ref }, { children: childrenArr.map(function (child) { return React__namespace.cloneElement(child, other); }) })));
|
|
918
|
+
});
|
|
875
919
|
|
|
876
920
|
var placementsPositions = {
|
|
877
921
|
bottomStart: {
|