kui-complex 0.0.9 → 0.0.11

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/dist/index.es.js CHANGED
@@ -4,14 +4,14 @@ import { jsx as jsx$1, jsxs, Fragment } from '@emotion/react/jsx-runtime';
4
4
  import styled from '@emotion/styled';
5
5
  import { css } from '@emotion/react';
6
6
  import { jsx, jsxs as jsxs$1, Fragment as Fragment$1 } from 'react/jsx-runtime';
7
- import { themeOld, Caption, Button, Container, Grid, InputWithAdornments, Heading, theme as theme$1, IconButton, LinearProgress, Divider, Modal, Switch as Switch$1 } from 'kui-basic';
7
+ import { theme, Caption, Button, Container, Grid, InputWithAdornments, Heading, IconButton, LinearProgress, Divider, Modal, Switch as Switch$1, InputWithCountryDropdown } from 'kui-basic';
8
8
  import * as React from 'react';
9
- import { useEffect, useRef, useState, forwardRef } from 'react';
9
+ import { useEffect, useRef, forwardRef, useState } from 'react';
10
10
  import { useHistory } from 'react-router-dom';
11
11
  import { HalfArrowIcon, PrevArrowIcon, NextArrowIcon, CalendarIcon, ArrowBackIcon, ArrowNextIcon, ClosedEyeIcon, OpenEyeIcon, CheckIcon } from 'kui-icon';
12
12
  import _ from 'lodash';
13
13
  import DatePicker, { registerLocale } from 'react-datepicker';
14
- import { Controller } from 'react-hook-form';
14
+ import { Controller, useController } from 'react-hook-form';
15
15
  import InputMask from 'react-input-mask';
16
16
  import { scroller, Events, Link, animateScroll, Element } from 'react-scroll';
17
17
  import ru from 'date-fns/locale/ru';
@@ -61,50 +61,6 @@ function __makeTemplateObject(cooked, raw) {
61
61
  return cooked;
62
62
  }
63
63
 
64
- var paletteBasic = themeOld.palette, themeBasicParams = __rest(themeOld, ["palette"]);
65
- var palette = {
66
- brand: __assign(__assign({}, paletteBasic.primary), { background: paletteBasic.primary.light2 }),
67
- grey: {
68
- seventy: paletteBasic.secondary.main,
69
- sixty: paletteBasic.secondary.gray60,
70
- fiftyP: paletteBasic.secondary.gray50,
71
- fourty: paletteBasic.secondary.gray40,
72
- thirty: paletteBasic.secondary.gray30,
73
- fifteenB: paletteBasic.secondary.gray15,
74
- zero: paletteBasic.secondary.white,
75
- },
76
- background: __assign(__assign({}, paletteBasic.background), { light1: paletteBasic.background.main, light4: "#C5C6C7" }),
77
- green: {
78
- fiftyP: paletteBasic.success.main,
79
- seventy: paletteBasic.success.green70,
80
- sixty: paletteBasic.success.green60,
81
- ten: paletteBasic.success.green10,
82
- five: paletteBasic.success.green5,
83
- },
84
- red: {
85
- fiftyP: paletteBasic.error.main,
86
- seventy: paletteBasic.error.red70,
87
- sixty: paletteBasic.error.red60,
88
- ten: paletteBasic.error.red10,
89
- five: paletteBasic.error.red5,
90
- },
91
- blue: {
92
- fiftyP: paletteBasic.info.main,
93
- seventy: paletteBasic.info.blue70,
94
- sixty: paletteBasic.info.blue60,
95
- ten: paletteBasic.info.blue10,
96
- five: paletteBasic.info.blue5,
97
- },
98
- purple: {
99
- fiftyP: paletteBasic.purple.main,
100
- seventy: paletteBasic.purple.purple70,
101
- sixty: paletteBasic.purple.purple60,
102
- ten: paletteBasic.purple.purple10,
103
- five: paletteBasic.purple.purple5,
104
- },
105
- };
106
- var theme = __assign({ palette: palette }, themeBasicParams);
107
-
108
64
  var UndefinedAvatar = function (_a) {
109
65
  var label = _a.label, otherProps = __rest(_a, ["label"]);
110
66
  if (!label) {
@@ -128,7 +84,7 @@ var Wrapper$7 = styled.div(templateObject_1$m || (templateObject_1$m = __makeTem
128
84
  var StyledImage = styled.img(templateObject_2$d || (templateObject_2$d = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n object-fit: cover;\n"], ["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n object-fit: cover;\n"])));
129
85
  var largeAvatarCSS = function (_a) {
130
86
  var avatarSize = _a.avatarSize;
131
- return avatarSize === "lg" && css(templateObject_3$5 || (templateObject_3$5 = __makeTemplateObject(["\n font-size: 32px;\n "], ["\n font-size: 32px;\n "])));
87
+ return avatarSize === "lg" && css(templateObject_3$6 || (templateObject_3$6 = __makeTemplateObject(["\n font-size: 32px;\n "], ["\n font-size: 32px;\n "])));
132
88
  };
133
89
  var StyledUndefinedAvatar = styled(UndefinedAvatar, {
134
90
  shouldForwardProp: function (prop) { return prop !== "size"; },
@@ -137,7 +93,7 @@ var sizeStyles = {
137
93
  s: css(templateObject_5$1 || (templateObject_5$1 = __makeTemplateObject(["\n width: 40px;\n height: 40px;\n @media (max-width: 600px) {\n width: 32px;\n height: 32px;\n }\n "], ["\n width: 40px;\n height: 40px;\n @media (max-width: 600px) {\n width: 32px;\n height: 32px;\n }\n "]))),
138
94
  lg: css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n width: 80px;\n height: 80px;\n "], ["\n width: 80px;\n height: 80px;\n "]))),
139
95
  };
140
- var templateObject_1$m, templateObject_2$d, templateObject_3$5, templateObject_4$1, templateObject_5$1, templateObject_6;
96
+ var templateObject_1$m, templateObject_2$d, templateObject_3$6, templateObject_4$1, templateObject_5$1, templateObject_6;
141
97
 
142
98
  var ButtonTab = function (_a) {
143
99
  var index = _a.index, onClick = _a.onClick, isActive = _a.isActive, label = _a.label;
@@ -219,8 +175,8 @@ var InputSelectDropdown = function (_a) {
219
175
  };
220
176
  var OptionWrapper = styled.div(templateObject_1$i || (templateObject_1$i = __makeTemplateObject(["\n width: 100%;\n padding: 2px 0;\n cursor: pointer;\n"], ["\n width: 100%;\n padding: 2px 0;\n cursor: pointer;\n"])));
221
177
  var StyledOption = styled.div(templateObject_2$a || (templateObject_2$a = __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);
222
- var selectedStyles = css(templateObject_3$4 || (templateObject_3$4 = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), theme.palette.background.light1);
223
- var templateObject_1$i, templateObject_2$a, templateObject_3$4;
178
+ var selectedStyles = css(templateObject_3$5 || (templateObject_3$5 = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), theme.palette.background.light1);
179
+ var templateObject_1$i, templateObject_2$a, templateObject_3$5;
224
180
 
225
181
  var getFormValue = function (name, form) {
226
182
  var names = name === null || name === void 0 ? void 0 : name.split(".");
@@ -244,17 +200,17 @@ var getFormError = function (name, form) {
244
200
  return fieldError === null || fieldError === void 0 ? void 0 : fieldError.message;
245
201
  };
246
202
 
247
- var InputSelect = function (_a) {
248
- var _b, _c, _d, _e;
249
- var options = _a.options, name = _a.name; _a.isLoading; var disabled = _a.disabled, handleChange = _a.handleChange, form = _a.form, valueProp = _a.value, inputProps = __rest(_a, ["options", "name", "isLoading", "disabled", "handleChange", "form", "value"]);
250
- var _f = useState(false), isOpenDropdown = _f[0], setIsOpenDropDown = _f[1];
251
- var _g = useState(getFormValue(name, form)), value = _g[0], setValue = _g[1];
203
+ var InputSelect = forwardRef(function (props, ref) {
204
+ var _a, _b, _c;
205
+ var options = props.options, name = props.name, handleChange = props.handleChange, form = props.form, other = __rest(props, ["options", "name", "handleChange", "form"]);
206
+ var _d = useState(false), isOpenDropdown = _d[0], setIsOpenDropDown = _d[1];
207
+ var _e = useState(getFormValue(name, form)), value = _e[0], setValue = _e[1];
208
+ var error = getFormError(name, form);
252
209
  var inputRef = useRef(null);
253
- var selectedLabel = (_b = options === null || options === void 0 ? void 0 : options.find(function (option) {
254
- return String(option.value) === String(valueProp || value);
255
- })) === null || _b === void 0 ? void 0 : _b.label;
256
- var error = (_c = form === null || form === void 0 ? void 0 : form.formState.errors[name]) === null || _c === void 0 ? void 0 : _c.message;
257
- var control = form === null || form === void 0 ? void 0 : form.control.register(name);
210
+ var selectedLabel = (_a = options === null || options === void 0 ? void 0 : options.find(function (option) {
211
+ return String(option.value) === String(other.value || value);
212
+ })) === null || _a === void 0 ? void 0 : _a.label;
213
+ var register = form === null || form === void 0 ? void 0 : form.register(name);
258
214
  var handleOpenDropdown = function () {
259
215
  var _a, _b, _c, _d;
260
216
  if ((_b = (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement) {
@@ -271,27 +227,40 @@ var InputSelect = function (_a) {
271
227
  handleChange(option.value);
272
228
  }
273
229
  if (form) {
274
- control === null || control === void 0 ? void 0 : control.onChange({
230
+ register === null || register === void 0 ? void 0 : register.onChange({
275
231
  target: { value: option.value, name: name },
276
232
  type: "change",
277
233
  });
278
234
  }
279
235
  handleCloseDropdown();
280
236
  };
281
- return (jsxs(Wrapper$6, { children: [jsx$1("input", { name: name, autoComplete: "off", hidden: true }), jsx$1(StyledInput, __assign({ onClick: handleOpenDropdown, ref: inputRef, disabled: disabled, readOnly: true, value: selectedLabel, errorMessage: error }, inputProps, { endIcon: !disabled && (jsx$1(HalfArrowIcon, { width: 12, height: 13, css: [
282
- { transition: "all linear .2s" },
283
- isOpenDropdown && { transform: "rotate(180deg)" },
284
- ] })) }, form.register(name))), options.length > 0 && !disabled && (jsx$1(InputSelectDropdown, { options: options, inputRef: {
285
- current: (_e = (_d = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _d === void 0 ? void 0 : _d.parentElement) === null || _e === void 0 ? void 0 : _e.parentElement,
286
- }, isOpenDropdown: isOpenDropdown, handleCloseDropdown: handleCloseDropdown, handleSelect: handleSelect, selectedValue: valueProp || value }))] }));
287
- };
237
+ var forwardedRef = function (e) {
238
+ if (ref) {
239
+ // eslint-disable-next-line no-param-reassign
240
+ // @ts-ignore
241
+ ref.current = e;
242
+ }
243
+ // @ts-ignore
244
+ inputRef.current = e;
245
+ register === null || register === void 0 ? void 0 : register.ref(e);
246
+ };
247
+ return (jsxs(Wrapper$6, { children: [jsx$1("input", { name: name, autoComplete: "off", hidden: true }), jsx$1(StyledInput, __assign({ onClick: handleOpenDropdown, readOnly: true, value: selectedLabel, errorMessage: error }, other, { endIcon: !props.disabled && (jsx$1(StyledIconWrapper, { children: jsx$1(HalfArrowIcon, { width: 12, height: 13, css: [
248
+ { transition: "all linear .2s" },
249
+ isOpenDropdown && { transform: "rotate(180deg)" },
250
+ ] }) })) }, register, { ref: forwardedRef })), options && options.length > 0 && !props.disabled && (jsx$1(InputSelectDropdown, { options: options, inputRef: {
251
+ current: (_c = (_b = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _b === void 0 ? void 0 : _b.parentElement) === null || _c === void 0 ? void 0 : _c.parentElement,
252
+ }, isOpenDropdown: isOpenDropdown, handleCloseDropdown: handleCloseDropdown, handleSelect: handleSelect, selectedValue: other.value || value }))] }));
253
+ });
288
254
  var Wrapper$6 = styled.div(templateObject_1$h || (templateObject_1$h = __makeTemplateObject(["\n position: relative;\n text-align: left;\n"], ["\n position: relative;\n text-align: left;\n"])));
289
255
  var StyledInput = styled(InputWithAdornments)(templateObject_2$9 || (templateObject_2$9 = __makeTemplateObject(["\n cursor: pointer;\n input,\n label {\n cursor: pointer !important;\n }\n"], ["\n cursor: pointer;\n input,\n label {\n cursor: pointer !important;\n }\n"])));
290
- var templateObject_1$h, templateObject_2$9;
256
+ var StyledIconWrapper = styled.div(templateObject_3$4 || (templateObject_3$4 = __makeTemplateObject(["\n padding-right: 8px;\n height: 13px;\n"], ["\n padding-right: 8px;\n height: 13px;\n"])));
257
+ var templateObject_1$h, templateObject_2$9, templateObject_3$4;
291
258
 
292
259
  var SelectYear = function (_a) {
293
260
  var yearOptions = _a.yearOptions; _a.options; var props = __rest(_a, ["yearOptions", "options"]);
294
- return (jsx(InputSelect, __assign({ label: "Year", options: yearOptions }, props)));
261
+ return (
262
+ // @ts-ignore
263
+ jsx(InputSelect, __assign({ label: "Year", options: yearOptions }, props)));
295
264
  };
296
265
 
297
266
  var monthValues = [
@@ -310,13 +279,15 @@ var monthValues = [
310
279
  ];
311
280
  var SelectMonth = function (_a) {
312
281
  _a.options; var props = __rest(_a, ["options"]);
313
- return (jsx(InputSelect, __assign({ label: "Month", options: monthValues }, props)));
282
+ return (
283
+ // @ts-ignore
284
+ jsx(InputSelect, __assign({ label: "Month", options: monthValues }, props)));
314
285
  };
315
286
 
316
287
  var CalendarHeaderWithSelect = function (_a) {
317
288
  var changeMonth = _a.changeMonth, changeYear = _a.changeYear, date = _a.date, yearOptions = _a.yearOptions;
318
289
  var year = date.getFullYear();
319
- var month = date.getMonth();
290
+ var month = date.getMonth() + 1;
320
291
  return (jsx(Wrapper$5, { children: jsxs$1(Grid, __assign({ container: true, spacing: 2 }, { children: [jsx(Grid, __assign({ item: true, xs: 6 }, { children: jsx(SelectYear, { yearOptions: yearOptions, value: year, handleChange: changeYear }) })), jsx(Grid, __assign({ item: true, xs: 6 }, { children: jsx(SelectMonth, { value: month, handleChange: changeMonth }) }))] })) }));
321
292
  };
322
293
  var Wrapper$5 = styled.div(templateObject_1$g || (templateObject_1$g = __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"])));
@@ -340,7 +311,7 @@ var CircleButtonStyled = styled(Button)(templateObject_3$3 || (templateObject_3$
340
311
  var templateObject_1$e, templateObject_2$8, templateObject_3$3;
341
312
 
342
313
  var InputForDatepicker = forwardRef(function (_a, ref) {
343
- var onClick = _a.onClick; _a.onBlur; _a.onFocus; var props = __rest(_a, ["onClick", "onBlur", "onFocus"]);
314
+ var onClick = _a.onClick, onBlur = _a.onBlur, onFocus = _a.onFocus, props = __rest(_a, ["onClick", "onBlur", "onFocus"]);
344
315
  var onChange = props.onChange, readOnly = props.readOnly, disabled = props.disabled, mask = props.mask, handleCLick = props.handleCLick, other = __rest(props, ["onChange", "readOnly", "disabled", "mask", "handleCLick"]);
345
316
  var handleIconClick = function () {
346
317
  if (handleCLick) {
@@ -350,7 +321,7 @@ var InputForDatepicker = forwardRef(function (_a, ref) {
350
321
  onClick();
351
322
  }
352
323
  };
353
- return (jsx(InputMask, __assign({ mask: mask, onChange: onChange, value: props.value, maskPlaceholder: null, alwaysShowMask: false, disabled: disabled, readOnly: readOnly }, { children: function () { return (jsx(InputWithAdornments, __assign({ onChange: onChange, disabled: disabled, value: props.value, endIcon: jsx(IconWrapper, __assign({ onClick: handleIconClick }, { children: jsx(CalendarIcon, { width: 19, height: 21 }) })) }, other, { ref: ref }))); } })));
324
+ return (jsx(InputMask, __assign({ mask: mask, onChange: onChange, value: props.value, maskPlaceholder: null, alwaysShowMask: false, disabled: disabled, readOnly: readOnly, onFocus: onFocus, onBlur: onBlur }, { children: function () { return (jsx(InputWithAdornments, __assign({ onChange: onChange, disabled: disabled, value: props.value, endIcon: jsx(IconWrapper, __assign({ onClick: handleIconClick }, { children: jsx(CalendarIcon, { width: 19, height: 21 }) })) }, other, { ref: ref }))); } })));
354
325
  });
355
326
  var IconWrapper = styled.div(templateObject_1$d || (templateObject_1$d = __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"])));
356
327
  var templateObject_1$d;
@@ -359,7 +330,7 @@ var MonthPickerContainer = function (_a) {
359
330
  _a.arrowProps; _a.showPopperArrow; var props = __rest(_a, ["arrowProps", "showPopperArrow"]);
360
331
  return jsx(StyledContainer, __assign({}, props));
361
332
  };
362
- var StyledContainer = styled.div(templateObject_1$c || (templateObject_1$c = __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 }\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 }\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$1.palette.background.light1, theme$1.palette.grey.fifteenB, theme$1.palette.grey.fifteenB, theme$1.palette.brand.main, theme$1.palette.grey.fifteenB);
333
+ var StyledContainer = styled.div(templateObject_1$c || (templateObject_1$c = __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 }\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 }\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);
363
334
  var templateObject_1$c;
364
335
 
365
336
  var MonthPickerHeader = function (_a) {
@@ -372,11 +343,10 @@ var templateObject_1$b, templateObject_2$7;
372
343
 
373
344
  var DesktopInputWithMonthPicker = function (_a) {
374
345
  var name = _a.name, form = _a.form, disabled = _a.disabled, datePickerProps = _a.datePickerProps, otherProps = __rest(_a, ["name", "form", "disabled", "datePickerProps"]);
375
- var error = getFormError(name, form);
376
- var formValue = getFormValue(name, form);
377
346
  return (jsx(Wrapper$4, { children: jsx(Controller, { name: name, control: form.control, render: function (_a) {
378
- var field = _a.field;
379
- return (jsx(DatePicker, __assign({ selected: field.value, onChange: field.onChange, disabled: disabled, customInput: jsx(InputForDatepicker, __assign({ mask: "99.9999", name: name, disabled: disabled, error: error, isLabelShrink: Boolean(formValue) }, otherProps)), showMonthYearPicker: true, dateFormat: "MM.yyyy", popperPlacement: "bottom-end", calendarContainer: MonthPickerContainer, renderCustomHeader: function (props) { return (jsx(MonthPickerHeader, __assign({}, props))); } }, datePickerProps)));
347
+ var _b;
348
+ var field = _a.field, fieldState = _a.fieldState;
349
+ return (jsx(DatePicker, __assign({ selected: field.value, onChange: field.onChange, disabled: disabled, customInput: jsx(InputForDatepicker, __assign({ mask: "99.9999", name: name, disabled: disabled, errorMessage: (_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)));
380
350
  } }) }));
381
351
  };
382
352
  var Wrapper$4 = styled.div(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\n @media (max-width: 600px) {\n display: none;\n }\n"], ["\n @media (max-width: 600px) {\n display: none;\n }\n"])));
@@ -426,27 +396,33 @@ var DesktopMenuPanel = function (_a) {
426
396
  var Wrapper$3 = styled(Grid)(templateObject_1$8 || (templateObject_1$8 = __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);
427
397
  var templateObject_1$8;
428
398
 
429
- var InputWithForm = forwardRef(function (_a, ref) {
430
- var form = _a.form, name = _a.name, errorProp = _a.error, otherProps = __rest(_a, ["form", "name", "error"]);
431
- var error = typeof errorProp !== "undefined" && String(errorProp).length > 0
432
- ? errorProp
433
- : getFormError(name, form);
434
- return (jsx(InputWithAdornments, __assign({ errorMessage: error, inputRef: ref }, form === null || form === void 0 ? void 0 : form.register(name), otherProps)));
435
- });
436
-
437
399
  var InputWithController = forwardRef(function (_a, ref) {
438
- var form = _a.form, name = _a.name, defaultValue = _a.defaultValue, inputProps = __rest(_a, ["form", "name", "defaultValue"]);
400
+ var form = _a.form, name = _a.name, error = _a.error, inputProps = __rest(_a, ["form", "name", "error"]);
439
401
  var handleChange = function (e, field) {
440
402
  field.onChange(e);
441
403
  if (inputProps.onChange) {
442
404
  inputProps.onChange(e);
443
405
  }
444
406
  };
445
- return (jsx(Controller, { control: form === null || form === void 0 ? void 0 : form.control, name: name, defaultValue: defaultValue, render: function (_a) {
446
- var field = _a.field;
447
- return (jsx(InputWithForm, __assign({ ref: ref, name: name, form: form }, inputProps, { onBlur: field.onBlur, onChange: function (e) {
407
+ var forwardedRef = function (elem, field) {
408
+ if (ref) {
409
+ // eslint-disable-next-line no-param-reassign
410
+ // @ts-ignore
411
+ ref.current = elem;
412
+ }
413
+ field.ref(elem);
414
+ };
415
+ var getError = function (fieldState) {
416
+ var _a;
417
+ return typeof error !== "undefined" && String(error).length > 0
418
+ ? error
419
+ : (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message;
420
+ };
421
+ return (jsx(Controller, { control: form === null || form === void 0 ? void 0 : form.control, name: name, render: function (_a) {
422
+ var field = _a.field, fieldState = _a.fieldState;
423
+ return (jsx(InputWithAdornments, __assign({ errorMessage: getError(fieldState) }, field, inputProps, { onChange: function (e) {
448
424
  return handleChange(e, field);
449
- }, value: field.value || "" })));
425
+ }, value: field.value || "", ref: function (e) { return forwardedRef(e, field); } })));
450
426
  } }));
451
427
  });
452
428
 
@@ -571,13 +547,18 @@ var generateYearRange = function (offsetFromCurrent, maxYearCount) {
571
547
  });
572
548
  };
573
549
  var InputWithDatePicker = forwardRef(function (_a, ref) {
550
+ var _b;
574
551
  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"]);
575
- var fieldValue = getFormValue(name, form);
576
- var error = getFormError(name, form);
577
- var control = form.control.register(name);
578
- var _b = useToggle(), isModalOpen = _b[0], handleModalOpen = _b[1], handleModalClose = _b[2];
579
- var _c = useState(DateTime.fromJSDate(new Date(String(fieldValue))).toFormat("dd.MM.yyyy")), value = _c[0], setValue = _c[1];
580
- var _d = useState(DateTime.fromFormat(value, "dd.MM.yyyy").toJSDate()), date = _d[0], setDate = _d[1];
552
+ var _c = useController({
553
+ name: name,
554
+ control: form.control,
555
+ }), field = _c.field, fieldState = _c.fieldState;
556
+ var error = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
557
+ var _d = useToggle(), isModalOpen = _d[0], handleModalOpen = _d[1], handleModalClose = _d[2];
558
+ var _e = useState(field.value
559
+ ? DateTime.fromJSDate(new Date(String(field.value))).toFormat("dd.MM.yyyy")
560
+ : null), value = _e[0], setValue = _e[1];
561
+ var _f = useState(value ? DateTime.fromFormat(value, "dd.MM.yyyy").toJSDate() : null), date = _f[0], setDate = _f[1];
581
562
  var yearList = generateYearRange(yearParams.min, yearParams.max);
582
563
  var handleChange = function (e) {
583
564
  var targetValue = e.target.value;
@@ -585,21 +566,21 @@ var InputWithDatePicker = forwardRef(function (_a, ref) {
585
566
  if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {
586
567
  var jsDate = DateTime.fromFormat(targetValue, "dd.MM.yyyy").toJSDate();
587
568
  setDate(jsDate);
588
- control === null || control === void 0 ? void 0 : control.onChange({ target: { value: jsDate, name: name }, type: "change" });
569
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: jsDate, name: name }, type: "change" });
589
570
  }
590
571
  else {
591
572
  setDate(null);
592
- control === null || control === void 0 ? void 0 : control.onChange({ target: { value: null, name: name }, type: "change" });
573
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: null, name: name }, type: "change" });
593
574
  }
594
575
  };
595
576
  var acceptWithDateSelected = function () {
596
577
  if (date) {
597
578
  setValue(DateTime.fromJSDate(date).toFormat("dd.MM.yyyy"));
598
- control === null || control === void 0 ? void 0 : control.onChange({ target: { value: date, name: name }, type: "change" });
579
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: date, name: name }, type: "change" });
599
580
  handleModalClose();
600
581
  }
601
582
  };
602
- return (jsxs(Fragment, { children: [jsx$1(InputForDatepicker, __assign({ mask: "99.99.9999", name: name, handleCLick: handleModalOpen, value: value, onChange: handleChange, disabled: disabled, error: error, isLabelShrink: Boolean(fieldValue), ref: ref }, props)), jsxs(Modal, __assign({ title: title, description: description, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsx$1(ContentWrapper$1, { children: jsx$1(DatePicker, { inline: true, selected: date, onChange: function (newDate) { return setDate(newDate); }, locale: "ru", calendarContainer: StyledCalendarStandardContainer, renderCustomHeader: function (headProps) { return (jsx$1(CalendarHeaderWithSelect, __assign({ yearOptions: yearList }, headProps))); }, renderDayContents: function (day) { return (jsx$1(DayContent, { children: day })); } }) }), jsx$1(ModalFooter, { fullWidth: true, disabled: !date, onClick: acceptWithDateSelected, label: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C" })] }))] }));
583
+ return (jsxs(Fragment, { children: [jsx$1(InputForDatepicker, __assign({ mask: "99.99.9999", name: name, handleCLick: handleModalOpen, value: value, onChange: handleChange, disabled: disabled, errorMessage: error, ref: ref }, props)), jsxs(Modal, __assign({ title: title, description: description, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsx$1(ContentWrapper$1, { children: jsx$1(DatePicker, { inline: true, selected: date, onChange: function (newDate) { return setDate(newDate); }, locale: "ru", calendarContainer: StyledCalendarStandardContainer, renderCustomHeader: function (headProps) { return (jsx$1(CalendarHeaderWithSelect, __assign({ yearOptions: yearList }, headProps))); }, renderDayContents: function (day) { return (jsx$1(DayContent, { children: day })); } }) }), jsx$1(ModalFooter, { fullWidth: true, disabled: !date, onClick: acceptWithDateSelected, label: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C" })] }))] }));
603
584
  });
604
585
  InputWithDatePicker.defaultProps = {
605
586
  title: "Дата рождения",
@@ -607,7 +588,7 @@ InputWithDatePicker.defaultProps = {
607
588
  yearParams: { min: 18, max: 120 },
608
589
  };
609
590
  var ContentWrapper$1 = styled.div(templateObject_1$3 || (templateObject_1$3 = __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"])));
610
- var StyledCalendarStandardContainer = styled(CalendarStandardContainer)(templateObject_2$2 || (templateObject_2$2 = __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 @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 @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);
591
+ var StyledCalendarStandardContainer = styled(CalendarStandardContainer)(templateObject_2$2 || (templateObject_2$2 = __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);
611
592
  var DayContent = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding-top: 1px;\n @media (max-width: 600px) {\n font-weight: 400;\n }\n"], ["\n padding-top: 1px;\n @media (max-width: 600px) {\n font-weight: 400;\n }\n"])));
612
593
  var templateObject_1$3, templateObject_2$2, templateObject_3;
613
594
 
@@ -635,24 +616,29 @@ var ruCustom = __assign(__assign({}, ru), { localize: {
635
616
  day: function () { return ""; },
636
617
  } });
637
618
  var MobileInputWithMonthPicker = function (_a) {
619
+ var _b;
638
620
  var title = _a.title, name = _a.name, form = _a.form, disabled = _a.disabled, datePickerProps = _a.datePickerProps, props = __rest(_a, ["title", "name", "form", "disabled", "datePickerProps"]);
639
- var fieldValue = getFormValue(name, form);
640
- var error = getFormError(name, form);
641
- var control = form.control.register(name);
642
- var _b = useToggle(), isModalOpen = _b[0], handleModalOpen = _b[1], handleModalClose = _b[2];
643
- var _c = useState(DateTime.fromJSDate(new Date(String(fieldValue))).toFormat("MM.yyyy")), value = _c[0], setValue = _c[1];
644
- var _d = useState(DateTime.fromFormat(value, "MM.yyyy").toJSDate()), date = _d[0], setDate = _d[1];
621
+ var _c = useController({
622
+ name: name,
623
+ control: form.control,
624
+ }), field = _c.field, fieldState = _c.fieldState;
625
+ var error = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
626
+ var _d = useToggle(), isModalOpen = _d[0], handleModalOpen = _d[1], handleModalClose = _d[2];
627
+ var _e = useState(field.value
628
+ ? DateTime.fromJSDate(new Date(String(field.value))).toFormat("MM.yyyy")
629
+ : null), value = _e[0], setValue = _e[1];
630
+ var _f = useState(value ? DateTime.fromFormat(value, "MM.yyyy").toJSDate() : null), date = _f[0], setDate = _f[1];
645
631
  var handleChange = function (e) {
646
632
  var targetValue = e.target.value;
647
633
  setValue(targetValue);
648
634
  if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {
649
635
  var jsDate = DateTime.fromFormat(targetValue, "MM.yyyy").toJSDate();
650
636
  setDate(jsDate);
651
- control === null || control === void 0 ? void 0 : control.onChange({ target: { value: jsDate, name: name }, type: "change" });
637
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: jsDate, name: name }, type: "change" });
652
638
  }
653
639
  else {
654
640
  setDate(null);
655
- control === null || control === void 0 ? void 0 : control.onChange({ target: { value: null, name: name }, type: "change" });
641
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: null, name: name }, type: "change" });
656
642
  }
657
643
  };
658
644
  var acceptWithDateSelected = function () {
@@ -662,10 +648,10 @@ var MobileInputWithMonthPicker = function (_a) {
662
648
  else {
663
649
  setValue("");
664
650
  }
665
- control === null || control === void 0 ? void 0 : control.onChange({ target: { value: date, name: name }, type: "change" });
651
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: date, name: name }, type: "change" });
666
652
  handleModalClose();
667
653
  };
668
- return (jsxs$1(Wrapper$1, { children: [jsx(InputForDatepicker, __assign({ mask: "99.9999", name: name, handleCLick: handleModalOpen, value: value, onChange: handleChange, disabled: disabled, error: error, isLabelShrink: Boolean(fieldValue) }, 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" })] }))] }));
654
+ return (jsxs$1(Wrapper$1, { children: [jsx(InputForDatepicker, __assign({ mask: "99.9999", name: name, handleCLick: handleModalOpen, value: value, onChange: handleChange, disabled: disabled, errorMessage: 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" })] }))] }));
669
655
  };
670
656
  var Wrapper$1 = styled.div(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n @media (min-width: 601px) {\n display: none;\n }\n"], ["\n @media (min-width: 601px) {\n display: none;\n }\n"])));
671
657
  var ContentWrapper = styled.div(templateObject_2$1 || (templateObject_2$1 = __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"])));
@@ -747,5 +733,45 @@ var Switch = function (_a) {
747
733
  } }));
748
734
  };
749
735
 
750
- export { Avatar, ButtonTab, ButtonsPanel, CalendarHeaderWithSelect, CalendarStandardContainer, CalendarStandardHeader, DesktopInputWithMonthPicker, DesktopMenuPanel, InputDropdown, InputForDatepicker, InputPassword, InputSelect, InputSelectDropdown, InputTextAreaMobile, InputWithController, InputWithDatePicker, InputWithForm, InputWithMonthPicker, MenuItem, MenuPanel, MobileInputWithMonthPicker, MobileMenuPanel, MonthPickerContainer, MonthPickerHeader, PassportStrengthBar, SelectMonth, SelectYear, Switch, UndefinedAvatar };
736
+ var InputPhoneWithForm = forwardRef(function (props, ref) {
737
+ var _a;
738
+ var form = props.form, name = props.name, hiddenInputProps = props.hiddenInputProps, error = props.error, other = __rest(props, ["form", "name", "hiddenInputProps", "error"]);
739
+ var codeRegister = useController({
740
+ control: form.control,
741
+ name: "".concat(name, ".phoneCode"),
742
+ });
743
+ var phoneRegister = useController({
744
+ control: form.control,
745
+ name: "".concat(name, ".phoneNumber"),
746
+ });
747
+ var errorMessage = typeof error !== "undefined" && String(error).length > 0
748
+ ? error
749
+ : (_a = phoneRegister.fieldState.error) === null || _a === void 0 ? void 0 : _a.message;
750
+ var handleCountryChange = function (country) {
751
+ codeRegister.field.onChange({
752
+ target: { value: country.phoneCode, name: "".concat(name, ".phoneCode") },
753
+ type: "change",
754
+ });
755
+ };
756
+ var handleChange = function (e) {
757
+ phoneRegister.field.onChange(e);
758
+ if (other.onChange) {
759
+ other.onChange(e);
760
+ }
761
+ };
762
+ var forwardedRef = function (elem) {
763
+ if (ref) {
764
+ // eslint-disable-next-line no-param-reassign
765
+ // @ts-ignore
766
+ ref.current = elem;
767
+ }
768
+ phoneRegister.field.ref(elem);
769
+ };
770
+ return (jsx(InputWithCountryDropdown, __assign({ errorMessage: errorMessage, hiddenInputProps: __assign(__assign({}, codeRegister.field), hiddenInputProps), onSelectCountry: handleCountryChange }, phoneRegister.field, other, { onChange: handleChange, ref: forwardedRef, autoComplete: "false" })));
771
+ });
772
+ InputPhoneWithForm.defaultProps = {
773
+ name: "phone",
774
+ };
775
+
776
+ export { Avatar, ButtonTab, ButtonsPanel, CalendarHeaderWithSelect, CalendarStandardContainer, CalendarStandardHeader, DesktopInputWithMonthPicker, DesktopMenuPanel, InputDropdown, InputForDatepicker, InputPassword, InputPhoneWithForm, InputSelect, InputSelectDropdown, InputTextAreaMobile, InputWithController, InputWithDatePicker, InputWithMonthPicker, MenuItem, MenuPanel, MobileInputWithMonthPicker, MobileMenuPanel, MonthPickerContainer, MonthPickerHeader, PassportStrengthBar, SelectMonth, SelectYear, Switch, UndefinedAvatar };
751
777
  //# sourceMappingURL=index.es.js.map