kui-complex 0.0.43 → 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.
Files changed (165) hide show
  1. package/Avatar/cjs/index.js +12 -11
  2. package/Avatar/cjs/index.js.map +1 -1
  3. package/Avatar/index.d.ts +8 -12
  4. package/Avatar/index.js +9 -8
  5. package/Avatar/index.js.map +1 -1
  6. package/ButtonSelect/cjs/index.js +12 -3
  7. package/ButtonSelect/cjs/index.js.map +1 -1
  8. package/ButtonSelect/index.js +12 -3
  9. package/ButtonSelect/index.js.map +1 -1
  10. package/ButtonTab/cjs/index.js +6 -5
  11. package/ButtonTab/cjs/index.js.map +1 -1
  12. package/ButtonTab/cjs/package.json +4 -1
  13. package/ButtonTab/index.d.ts +4 -2
  14. package/ButtonTab/index.js +4 -3
  15. package/ButtonTab/index.js.map +1 -1
  16. package/ButtonTab/package.json +4 -1
  17. package/ButtonsPanel/cjs/index.js +6 -6
  18. package/ButtonsPanel/cjs/index.js.map +1 -1
  19. package/ButtonsPanel/index.d.ts +3 -7
  20. package/ButtonsPanel/index.js +7 -7
  21. package/ButtonsPanel/index.js.map +1 -1
  22. package/CalendarHeaderWithSelect/cjs/index.js +36 -21
  23. package/CalendarHeaderWithSelect/cjs/index.js.map +1 -1
  24. package/CalendarHeaderWithSelect/cjs/package.json +1 -0
  25. package/CalendarHeaderWithSelect/index.d.ts +11 -6
  26. package/CalendarHeaderWithSelect/index.js +36 -21
  27. package/CalendarHeaderWithSelect/index.js.map +1 -1
  28. package/CalendarHeaderWithSelect/package.json +1 -0
  29. package/CalendarStandardContainer/cjs/index.js +4 -3
  30. package/CalendarStandardContainer/cjs/index.js.map +1 -1
  31. package/CalendarStandardContainer/index.d.ts +4 -3
  32. package/CalendarStandardContainer/index.js +4 -3
  33. package/CalendarStandardContainer/index.js.map +1 -1
  34. package/CalendarStandardHeader/cjs/index.js +4 -3
  35. package/CalendarStandardHeader/cjs/index.js.map +1 -1
  36. package/CalendarStandardHeader/index.d.ts +3 -1
  37. package/CalendarStandardHeader/index.js +4 -3
  38. package/CalendarStandardHeader/index.js.map +1 -1
  39. package/DesktopInputWithMonthPicker/cjs/index.js +11 -11
  40. package/DesktopInputWithMonthPicker/cjs/index.js.map +1 -1
  41. package/DesktopInputWithMonthPicker/index.d.ts +3 -1
  42. package/DesktopInputWithMonthPicker/index.js +12 -12
  43. package/DesktopInputWithMonthPicker/index.js.map +1 -1
  44. package/DesktopMenuPanel/cjs/index.js +10 -10
  45. package/DesktopMenuPanel/cjs/index.js.map +1 -1
  46. package/DesktopMenuPanel/index.d.ts +4 -2
  47. package/DesktopMenuPanel/index.js +8 -8
  48. package/DesktopMenuPanel/index.js.map +1 -1
  49. package/InputPassword/cjs/index.js +8 -8
  50. package/InputPassword/cjs/index.js.map +1 -1
  51. package/InputPassword/index.d.ts +6 -5
  52. package/InputPassword/index.js +9 -9
  53. package/InputPassword/index.js.map +1 -1
  54. package/InputSelect/cjs/index.js +12 -3
  55. package/InputSelect/cjs/index.js.map +1 -1
  56. package/InputSelect/index.js +12 -3
  57. package/InputSelect/index.js.map +1 -1
  58. package/InputSelectDropdown/cjs/index.js +12 -3
  59. package/InputSelectDropdown/cjs/index.js.map +1 -1
  60. package/InputSelectDropdown/index.d.ts +4 -2
  61. package/InputSelectDropdown/index.js +12 -3
  62. package/InputSelectDropdown/index.js.map +1 -1
  63. package/InputTextAreaMobile/cjs/index.js +3 -3
  64. package/InputTextAreaMobile/cjs/index.js.map +1 -1
  65. package/InputTextAreaMobile/index.d.ts +3 -1
  66. package/InputTextAreaMobile/index.js +3 -3
  67. package/InputTextAreaMobile/index.js.map +1 -1
  68. package/InputWithController/cjs/index.js +2 -2
  69. package/InputWithController/cjs/index.js.map +1 -1
  70. package/InputWithController/index.d.ts +5 -5
  71. package/InputWithController/index.js +2 -2
  72. package/InputWithController/index.js.map +1 -1
  73. package/InputWithDatePicker/cjs/index.js +84 -41
  74. package/InputWithDatePicker/cjs/index.js.map +1 -1
  75. package/InputWithDatePicker/index.d.ts +6 -1
  76. package/InputWithDatePicker/index.js +86 -42
  77. package/InputWithDatePicker/index.js.map +1 -1
  78. package/InputWithMonthPicker/cjs/index.js +17 -17
  79. package/InputWithMonthPicker/cjs/index.js.map +1 -1
  80. package/InputWithMonthPicker/index.js +18 -18
  81. package/InputWithMonthPicker/index.js.map +1 -1
  82. package/MenuItem/cjs/index.js +7 -7
  83. package/MenuItem/cjs/index.js.map +1 -1
  84. package/MenuItem/index.d.ts +4 -2
  85. package/MenuItem/index.js +5 -5
  86. package/MenuItem/index.js.map +1 -1
  87. package/MenuPanel/cjs/index.js +13 -13
  88. package/MenuPanel/cjs/index.js.map +1 -1
  89. package/MenuPanel/index.d.ts +4 -7
  90. package/MenuPanel/index.js +15 -15
  91. package/MenuPanel/index.js.map +1 -1
  92. package/MobileInputWithMonthPicker/cjs/index.js +13 -13
  93. package/MobileInputWithMonthPicker/cjs/index.js.map +1 -1
  94. package/MobileInputWithMonthPicker/index.d.ts +3 -1
  95. package/MobileInputWithMonthPicker/index.js +14 -14
  96. package/MobileInputWithMonthPicker/index.js.map +1 -1
  97. package/MobileMenuPanel/cjs/index.js +11 -11
  98. package/MobileMenuPanel/cjs/index.js.map +1 -1
  99. package/MobileMenuPanel/index.d.ts +4 -2
  100. package/MobileMenuPanel/index.js +8 -8
  101. package/MobileMenuPanel/index.js.map +1 -1
  102. package/ModalFooter/cjs/index.js +4 -3
  103. package/ModalFooter/cjs/index.js.map +1 -1
  104. package/ModalFooter/index.d.ts +6 -8
  105. package/ModalFooter/index.js +5 -4
  106. package/ModalFooter/index.js.map +1 -1
  107. package/MonthPickerContainer/cjs/index.js +5 -4
  108. package/MonthPickerContainer/cjs/index.js.map +1 -1
  109. package/MonthPickerContainer/index.d.ts +1 -1
  110. package/MonthPickerContainer/index.js +5 -4
  111. package/MonthPickerContainer/index.js.map +1 -1
  112. package/MonthPickerHeader/cjs/index.js +4 -3
  113. package/MonthPickerHeader/cjs/index.js.map +1 -1
  114. package/MonthPickerHeader/index.d.ts +3 -1
  115. package/MonthPickerHeader/index.js +5 -4
  116. package/MonthPickerHeader/index.js.map +1 -1
  117. package/PassportStrengthBar/cjs/index.js +4 -3
  118. package/PassportStrengthBar/cjs/index.js.map +1 -1
  119. package/PassportStrengthBar/cjs/package.json +4 -1
  120. package/PassportStrengthBar/index.d.ts +4 -2
  121. package/PassportStrengthBar/index.js +5 -4
  122. package/PassportStrengthBar/index.js.map +1 -1
  123. package/PassportStrengthBar/package.json +4 -1
  124. package/SelectMonth/cjs/index.js +19 -10
  125. package/SelectMonth/cjs/index.js.map +1 -1
  126. package/SelectMonth/index.d.ts +6 -2
  127. package/SelectMonth/index.js +19 -10
  128. package/SelectMonth/index.js.map +1 -1
  129. package/SelectYear/cjs/index.js +21 -10
  130. package/SelectYear/cjs/index.js.map +1 -1
  131. package/SelectYear/index.d.ts +6 -5
  132. package/SelectYear/index.js +21 -10
  133. package/SelectYear/index.js.map +1 -1
  134. package/Switch/cjs/index.js +4 -3
  135. package/Switch/cjs/index.js.map +1 -1
  136. package/Switch/cjs/package.json +1 -0
  137. package/Switch/index.d.ts +8 -6
  138. package/Switch/index.js +4 -3
  139. package/Switch/index.js.map +1 -1
  140. package/Switch/package.json +1 -0
  141. package/Table/cjs/index.js +2 -1
  142. package/Table/cjs/index.js.map +1 -1
  143. package/Table/index.d.ts +1 -1
  144. package/Table/index.js +2 -1
  145. package/Table/index.js.map +1 -1
  146. package/TableRow/cjs/index.js +14 -4
  147. package/TableRow/cjs/index.js.map +1 -1
  148. package/TableRow/index.d.ts +1 -1
  149. package/TableRow/index.js +15 -4
  150. package/TableRow/index.js.map +1 -1
  151. package/TestForm/cjs/index.js +111 -66
  152. package/TestForm/cjs/index.js.map +1 -1
  153. package/TestForm/index.js +112 -67
  154. package/TestForm/index.js.map +1 -1
  155. package/UndefinedAvatar/cjs/index.js +4 -3
  156. package/UndefinedAvatar/cjs/index.js.map +1 -1
  157. package/UndefinedAvatar/index.d.ts +5 -6
  158. package/UndefinedAvatar/index.js +5 -4
  159. package/UndefinedAvatar/index.js.map +1 -1
  160. package/cjs/index.js +145 -101
  161. package/cjs/index.js.map +1 -1
  162. package/index.d.ts +83 -70
  163. package/index.js +148 -104
  164. package/index.js.map +1 -1
  165. package/package.json +1 -1
@@ -1,11 +1,10 @@
1
1
  import { jsx as jsx$1, jsxs, Fragment } from '@emotion/react/jsx-runtime';
2
2
  import { forwardRef, useState, useRef, useEffect } from 'react';
3
- import DatePicker, { registerLocale } from 'react-datepicker';
4
- import ru from 'date-fns/locale/ru';
3
+ import DatePicker from 'react-datepicker';
5
4
  import styled from '@emotion/styled';
6
5
  import { DateTime } from 'luxon';
7
6
  import _ from 'lodash';
8
- import { InputWithAdornments, Grid, theme, Caption, Button, Divider, Modal } from 'kui-basic';
7
+ import { InputWithAdornments, Grid, theme, Caption, Divider, Button, Modal } from 'kui-basic';
9
8
  import { useController } from 'react-hook-form';
10
9
  import { jsx, jsxs as jsxs$1 } from 'react/jsx-runtime';
11
10
  import InputMask from 'react-input-mask';
@@ -120,7 +119,7 @@ var InputDropdown = forwardRef(function (_a, ref) {
120
119
  });
121
120
  var templateObject_1$6;
122
121
 
123
- var InputSelectDropdown = function (_a) {
122
+ var InputSelectDropdown = forwardRef(function (_a, ref) {
124
123
  var options = _a.options, inputRef = _a.inputRef, isOpenDropdown = _a.isOpenDropdown, handleCloseDropdown = _a.handleCloseDropdown, handleSelect = _a.handleSelect, selectedValue = _a.selectedValue;
125
124
  var dropdownRef = useRef(null);
126
125
  useEffect(function () {
@@ -137,11 +136,20 @@ var InputSelectDropdown = function (_a) {
137
136
  }
138
137
  }
139
138
  }, [isOpenDropdown]);
140
- return (jsx$1(InputDropdown, __assign({ ref: dropdownRef, buttonRef: inputRef, isOpen: isOpenDropdown, handleClose: handleCloseDropdown, css: {
139
+ var forwardedRef = function (elem) {
140
+ if (ref) {
141
+ if (typeof ref === "function")
142
+ ref(elem);
143
+ else
144
+ ref.current = elem;
145
+ }
146
+ dropdownRef.current = elem;
147
+ };
148
+ return (jsx$1(InputDropdown, __assign({ ref: forwardedRef, buttonRef: inputRef, isOpen: isOpenDropdown, handleClose: handleCloseDropdown, css: {
141
149
  maxHeight: "142px",
142
150
  padding: "4px",
143
151
  } }, { children: options.map(function (option, key) { return (jsx$1(OptionWrapper, __assign({ onClick: function () { return handleSelect(option); }, "data-value": "autocomplete_option_".concat(option.value), "data-testid": "autocomplete_option_".concat(key) }, { children: jsx$1(StyledOption, __assign({ css: selectedValue === option.value && selectedStyles }, { children: jsx$1(Caption, __assign({ size: "sm", weight: 500 }, { children: option.label })) })) }), option.label)); }) })));
144
- };
152
+ });
145
153
  var OptionWrapper = styled.div(templateObject_1$5 || (templateObject_1$5 = __makeTemplateObject(["\n width: 100%;\n padding: 2px 0;\n cursor: pointer;\n"], ["\n width: 100%;\n padding: 2px 0;\n cursor: pointer;\n"])));
146
154
  var StyledOption = styled.div(templateObject_2$3 || (templateObject_2$3 = __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);
147
155
  var selectedStyles = css(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), theme.palette.background.light1);
@@ -223,13 +231,16 @@ var StyledInput = styled(InputWithAdornments)(templateObject_2$2 || (templateObj
223
231
  var StyledIconWrapper = styled.div(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject(["\n padding-right: 8px;\n padding-bottom: 4px;\n"], ["\n padding-right: 8px;\n padding-bottom: 4px;\n"])));
224
232
  var templateObject_1$4, templateObject_2$2, templateObject_3$2;
225
233
 
226
- var SelectYear = function (_a) {
227
- var yearOptions = _a.yearOptions; _a.options; var props = __rest(_a, ["yearOptions", "options"]);
228
- return (
229
- // @ts-ignore
230
- jsx(InputSelect, __assign({ label: "Year", options: yearOptions }, props)));
231
- };
234
+ var checkDisabled$1 = function (year, min, max) {
235
+ return (min && year <= min) || (max && year >= max);
236
+ };
237
+ var SelectYear = forwardRef(function (_a, ref) {
238
+ var yearOptions = _a.yearOptions; _a.options; var min = _a.min, max = _a.max, props = __rest(_a, ["yearOptions", "options", "min", "max"]);
239
+ var formattedYearOptions = yearOptions.map(function (year) { return (__assign(__assign({}, year), { disabled: checkDisabled$1(Number(year.value), min, max) })); });
240
+ return (jsx(InputSelect, __assign({ ref: ref, label: "Year", options: formattedYearOptions }, props)));
241
+ });
232
242
 
243
+ var checkDisabled = function (month, min, max) { return (min && month <= min) || (max && month >= max); };
233
244
  var monthValues = [
234
245
  { value: 0, label: "January" },
235
246
  { value: 1, label: "February" },
@@ -244,40 +255,43 @@ var monthValues = [
244
255
  { value: 10, label: "November" },
245
256
  { value: 11, label: "December" },
246
257
  ];
247
- var SelectMonth = function (_a) {
248
- _a.options; var props = __rest(_a, ["options"]);
249
- return (
250
- // @ts-ignore
251
- jsx(InputSelect, __assign({ label: "Month", options: monthValues }, props)));
252
- };
258
+ var SelectMonth = forwardRef(function (props, ref) {
259
+ var min = props.min, max = props.max; props.options; var other = __rest(props, ["min", "max", "options"]);
260
+ var formattedMonths = monthValues.map(function (month) { return (__assign(__assign({}, month), { disabled: checkDisabled(month.value, min, max) })); });
261
+ return (jsx(InputSelect, __assign({ ref: ref, label: "Month", options: formattedMonths }, other)));
262
+ });
253
263
 
254
- var CalendarHeaderWithSelect = function (_a) {
255
- var changeMonth = _a.changeMonth, changeYear = _a.changeYear, date = _a.date, yearOptions = _a.yearOptions;
264
+ var CalendarHeaderWithSelect = forwardRef(function (_a, ref) {
265
+ var changeMonth = _a.changeMonth, changeYear = _a.changeYear, date = _a.date, yearOptions = _a.yearOptions, max = _a.max, min = _a.min;
256
266
  var year = date.getFullYear();
257
- var month = date.getMonth() + 1;
258
- return (jsx(Wrapper, { 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 }) }))] })) }));
259
- };
267
+ var month = date.getMonth();
268
+ var currentYear = DateTime.now().year;
269
+ var minMonth = (min === null || min === void 0 ? void 0 : min.year) === currentYear ? min === null || min === void 0 ? void 0 : min.month : 0;
270
+ var maxMonth = (max === null || max === void 0 ? void 0 : max.year) === currentYear ? max === null || max === void 0 ? void 0 : max.month : 11;
271
+ return (jsx(Wrapper, __assign({ ref: ref }, { children: jsxs$1(Grid, __assign({ container: true, spacing: 2 }, { children: [jsx(Grid, __assign({ item: true, xs: 6 }, { children: jsx(SelectYear, { min: min === null || min === void 0 ? void 0 : min.year, max: max === null || max === void 0 ? void 0 : max.year, yearOptions: yearOptions, value: year, handleChange: changeYear }) })), jsx(Grid, __assign({ item: true, xs: 6 }, { children: jsx(SelectMonth, { min: (Number(min === null || min === void 0 ? void 0 : min.year) >= currentYear && minMonth), max: (Number(max === null || max === void 0 ? void 0 : max.year) <= currentYear && maxMonth), value: month, handleChange: changeMonth }) }))] })) })));
272
+ });
260
273
  var Wrapper = styled.div(templateObject_1$3 || (templateObject_1$3 = __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"])));
261
274
  var templateObject_1$3;
262
275
 
263
- var ModalFooter = function (_a) {
276
+ var ModalFooter = forwardRef(function (_a, ref) {
264
277
  var label = _a.label, button = _a.button, otherProps = __rest(_a, ["label", "button"]);
265
- return (jsxs$1(StyledFooter, { children: [jsx(Divider, {}), jsx(ButtonWrapper, { children: button || (jsx(ButtonStyled, __assign({ fullWidth: true, size: "s", endIcon: jsx(CheckIcon, {}) }, otherProps, { children: label }))) })] }));
266
- };
278
+ return (jsxs$1(StyledFooter, __assign({ ref: ref }, { children: [jsx(Divider, {}), jsx(ButtonWrapper, { children: button || (jsx(ButtonStyled, __assign({ fullWidth: true, size: "s", endIcon: jsx(CheckIcon, {}) }, otherProps, { children: label }))) })] })));
279
+ });
267
280
  var StyledFooter = styled.div(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n background: ", ";\n border-radius: 0 0 12px 12px;\n z-index: 10;\n position: sticky;\n bottom: 0;\n left: 0;\n"], ["\n background: ", ";\n border-radius: 0 0 12px 12px;\n z-index: 10;\n position: sticky;\n bottom: 0;\n left: 0;\n"])), theme.palette.grey.zero);
268
281
  var ButtonWrapper = styled.div(templateObject_2$1 || (templateObject_2$1 = __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"])));
269
282
  var ButtonStyled = styled(Button)(templateObject_3$1 || (templateObject_3$1 = __makeTemplateObject(["\n @media (max-width: 600px) {\n width: 100%;\n }\n"], ["\n @media (max-width: 600px) {\n width: 100%;\n }\n"])));
270
283
  var templateObject_1$2, templateObject_2$1, templateObject_3$1;
271
284
 
272
- var CalendarStandardContainer = function (_a) {
285
+ var CalendarStandardContainer = forwardRef(function (_a, ref) {
273
286
  _a.arrowProps; _a.showPopperArrow; var props = __rest(_a, ["arrowProps", "showPopperArrow"]);
274
- return jsx(DatePickerContainer, __assign({}, props));
275
- };
287
+ return jsx(DatePickerContainer, __assign({ ref: ref }, props));
288
+ });
276
289
  var DatePickerContainer = styled.div(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n padding: 0;\n border: none !important;\n border-radius: 0 !important;\n background: transparent !important;\n overflow: hidden;\n width: 100%;\n height: 100%;\n .react-datepicker__header {\n background-color: transparent !important;\n }\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__day-names {\n display: flex;\n justify-content: space-between;\n .react-datepicker__day-name {\n font-family: \"Inter\", sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: ", ";\n text-transform: uppercase;\n margin: 0;\n width: 33px;\n line-height: normal;\n }\n }\n .react-datepicker__month {\n padding: 0;\n margin: 20px 0 0 !important;\n border: none;\n width: 100%;\n height: calc(100% - 85px);\n .react-datepicker__week {\n display: flex;\n justify-content: space-between;\n }\n }\n .react-datepicker__week {\n margin-bottom: 10px;\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n .react-datepicker__day {\n width: 33px;\n height: 33px;\n user-select: none;\n border-radius: 50% !important;\n transition: background ease-out 0.3s;\n border: 1px solid transparent;\n margin: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: 500;\n font-size: 16px;\n &:hover {\n background: ", ";\n }\n &:active {\n background: ", ";\n }\n }\n .react-datepicker__day--outside-month,\n .react-datepicker__day--disabled {\n color: #a6aebc;\n p {\n color: #a6aebc;\n }\n }\n .react-datepicker__day--keyboard-selected {\n background: transparent;\n color: inherit;\n }\n .react-datepicker__day--selected {\n background: white;\n border: 1px solid #e1e4e8;\n color: ", ";\n p {\n color: ", ";\n }\n }\n .react-datepicker__day--selected.warning_day {\n border-color: ", ";\n background-color: ", ";\n color: ", ";\n }\n @media (max-width: 600px) {\n .react-datepicker__day {\n max-width: 48px;\n max-height: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n height: calc((100vw - (18px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n max-width: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n }\n }\n }\n @media (max-width: 350px) {\n .react-datepicker__day {\n width: calc((100vw - (6px * 7)) / 7);\n height: calc((100vw - (6px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n width: calc((100vw - (6px * 7)) / 7);\n }\n }\n }\n"], ["\n padding: 0;\n border: none !important;\n border-radius: 0 !important;\n background: transparent !important;\n overflow: hidden;\n width: 100%;\n height: 100%;\n .react-datepicker__header {\n background-color: transparent !important;\n }\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__day-names {\n display: flex;\n justify-content: space-between;\n .react-datepicker__day-name {\n font-family: \"Inter\", sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: ", ";\n text-transform: uppercase;\n margin: 0;\n width: 33px;\n line-height: normal;\n }\n }\n .react-datepicker__month {\n padding: 0;\n margin: 20px 0 0 !important;\n border: none;\n width: 100%;\n height: calc(100% - 85px);\n .react-datepicker__week {\n display: flex;\n justify-content: space-between;\n }\n }\n .react-datepicker__week {\n margin-bottom: 10px;\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n .react-datepicker__day {\n width: 33px;\n height: 33px;\n user-select: none;\n border-radius: 50% !important;\n transition: background ease-out 0.3s;\n border: 1px solid transparent;\n margin: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: 500;\n font-size: 16px;\n &:hover {\n background: ", ";\n }\n &:active {\n background: ", ";\n }\n }\n .react-datepicker__day--outside-month,\n .react-datepicker__day--disabled {\n color: #a6aebc;\n p {\n color: #a6aebc;\n }\n }\n .react-datepicker__day--keyboard-selected {\n background: transparent;\n color: inherit;\n }\n .react-datepicker__day--selected {\n background: white;\n border: 1px solid #e1e4e8;\n color: ", ";\n p {\n color: ", ";\n }\n }\n .react-datepicker__day--selected.warning_day {\n border-color: ", ";\n background-color: ", ";\n color: ", ";\n }\n @media (max-width: 600px) {\n .react-datepicker__day {\n max-width: 48px;\n max-height: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n height: calc((100vw - (18px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n max-width: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n }\n }\n }\n @media (max-width: 350px) {\n .react-datepicker__day {\n width: calc((100vw - (6px * 7)) / 7);\n height: calc((100vw - (6px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n width: calc((100vw - (6px * 7)) / 7);\n }\n }\n }\n"])), theme.palette.grey.fiftyP, theme.palette.background.light3, theme.palette.background.light3, theme.palette.brand.main, theme.palette.brand.main, theme.palette.grey.fifteenB, theme.palette.red.seventy, theme.palette.grey.zero);
277
290
  var templateObject_1$1;
278
291
 
279
- registerLocale("ru", ru);
280
292
  var generateYearRange = function (offsetFromCurrent, maxYearCount) {
293
+ if (!offsetFromCurrent || !maxYearCount)
294
+ return [];
281
295
  var endYear = DateTime.now().year - offsetFromCurrent;
282
296
  return _.range(maxYearCount).map(function (elem) {
283
297
  var fullYear = endYear - elem;
@@ -289,44 +303,74 @@ var generateYearRange = function (offsetFromCurrent, maxYearCount) {
289
303
  };
290
304
  var InputWithDatePicker = forwardRef(function (_a, ref) {
291
305
  var _b;
292
- 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"]);
306
+ 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"]);
293
307
  var _c = useController({
294
308
  name: name,
295
309
  control: form.control,
296
310
  }), field = _c.field, fieldState = _c.fieldState;
297
311
  var error = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
312
+ var formattedValue = field.value ? field.value.toFormat("dd.MM.yyyy") : "";
313
+ var formattedDate = field.value ? field.value.toJSDate() : null;
298
314
  var _d = useToggle(), isModalOpen = _d[0], handleModalOpen = _d[1], handleModalClose = _d[2];
299
- var _e = useState(field.value
300
- ? DateTime.fromJSDate(new Date(String(field.value))).toFormat("dd.MM.yyyy")
301
- : null), value = _e[0], setValue = _e[1];
302
- var _f = useState(value ? DateTime.fromFormat(value, "dd.MM.yyyy").toJSDate() : null), date = _f[0], setDate = _f[1];
303
- var yearList = generateYearRange(yearParams.min, yearParams.max);
315
+ var _e = useState(formattedDate), date = _e[0], setDate = _e[1];
316
+ var _f = useState(formattedValue), value = _f[0], setValue = _f[1];
317
+ var yearList = generateYearRange(yearParams === null || yearParams === void 0 ? void 0 : yearParams.min, yearParams === null || yearParams === void 0 ? void 0 : yearParams.max);
318
+ useEffect(function () {
319
+ if (!isModalOpen) {
320
+ setDate(null);
321
+ }
322
+ else {
323
+ setDate(formattedDate);
324
+ }
325
+ }, [isModalOpen]);
304
326
  var handleChange = function (e) {
305
327
  var targetValue = e.target.value;
306
328
  setValue(targetValue);
307
329
  if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {
308
- var jsDate = DateTime.fromFormat(targetValue, "dd.MM.yyyy").toJSDate();
309
- setDate(jsDate);
310
- field === null || field === void 0 ? void 0 : field.onChange({ target: { value: jsDate, name: name }, type: "change" });
330
+ var targetDate = DateTime.fromFormat(targetValue, "dd.MM.yyyy");
331
+ setDate(targetDate.toJSDate());
332
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: targetDate, name: name }, type: "change" });
333
+ if (onChange) {
334
+ onChange(targetDate);
335
+ }
311
336
  }
312
337
  else {
313
338
  setDate(null);
314
339
  field === null || field === void 0 ? void 0 : field.onChange({ target: { value: null, name: name }, type: "change" });
340
+ if (onChange) {
341
+ onChange(null);
342
+ }
315
343
  }
316
344
  };
317
345
  var acceptWithDateSelected = function () {
318
346
  if (date) {
319
- setValue(DateTime.fromJSDate(date).toFormat("dd.MM.yyyy"));
320
- field === null || field === void 0 ? void 0 : field.onChange({ target: { value: date, name: name }, type: "change" });
347
+ var dateObj = DateTime.fromJSDate(date);
348
+ setValue(dateObj.toFormat("dd.MM.yyyy"));
349
+ field === null || field === void 0 ? void 0 : field.onChange({ target: { value: dateObj, name: name }, type: "change" });
350
+ if (onChange) {
351
+ onChange(dateObj);
352
+ }
321
353
  handleModalClose();
322
354
  }
323
355
  };
324
- return (jsxs(Fragment, { children: [jsx$1(InputForDatepicker, __assign({ mask: "99.99.9999", name: name, handleCLick: handleModalOpen, value: value, onChange: handleChange, disabled: disabled, message: error, ref: ref }, props)), jsxs(Modal, __assign({ title: title, description: description, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsx$1(ContentWrapper, { 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" })] }))] }));
356
+ var handleDateChange = function (newDate) {
357
+ setDate(newDate);
358
+ };
359
+ var forwardedRef = function (elem) {
360
+ if (ref) {
361
+ // eslint-disable-next-line no-param-reassign
362
+ // @ts-ignore
363
+ ref.current = elem;
364
+ }
365
+ field.ref(elem);
366
+ };
367
+ return (jsxs(Fragment, { children: [jsx$1(InputForDatepicker, __assign({ mask: "99.99.9999", name: name, handleCLick: handleModalOpen, value: formattedValue || value, onChange: handleChange, disabled: disabled, message: error, ref: forwardedRef }, props)), jsxs(Modal, __assign({ title: title, description: description, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsx$1(ContentWrapper, { children: jsx$1(DatePicker, __assign({ inline: true, selected: date || formattedDate, onChange: handleDateChange, calendarContainer: StyledCalendarStandardContainer, renderCustomHeader: function (headProps) { return (jsx$1(CalendarHeaderWithSelect, __assign({ yearOptions: yearList, max: max, min: min }, headProps))); }, renderDayContents: function (day) { return (jsx$1(DayContent, { children: day })); }, maxDate: max === null || max === void 0 ? void 0 : max.toJSDate(), minDate: min === null || min === void 0 ? void 0 : min.toJSDate() }, datePickerProps)) }), jsx$1(ModalFooter, { fullWidth: true, disabled: !formattedDate && !date, onClick: acceptWithDateSelected, label: footerLabel })] }))] }));
325
368
  });
326
369
  InputWithDatePicker.defaultProps = {
327
370
  title: "Дата рождения",
328
371
  description: "Выберите год, месяц и число вашего рождения",
329
372
  yearParams: { min: 18, max: 120 },
373
+ footerLabel: "Подтвердить",
330
374
  };
331
375
  var ContentWrapper = styled.div(templateObject_1 || (templateObject_1 = __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"])));
332
376
  var StyledCalendarStandardContainer = styled(CalendarStandardContainer)(templateObject_2 || (templateObject_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);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../src/components/InputForDatepicker/index.tsx","../../src/hooks/useToggle.ts","../../src/utils/regexp.ts","../../src/components/InputDropdown/index.tsx","../../src/components/InputSelectDropdown/index.tsx","../../src/utils/form.ts","../../src/components/InputSelect/index.tsx","../../src/components/SelectYear/index.tsx","../../src/components/SelectMonth/index.tsx","../../src/components/CalendarHeaderWithSelect/index.tsx","../../src/components/ModalFooter/index.tsx","../../src/components/CalendarStandardContainer/index.tsx","../../src/components/InputWithDatePicker/index.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import * as React from \"react\"\r\nimport { ForwardedRef, forwardRef } from \"react\"\r\nimport InputMask from \"react-input-mask\"\r\nimport styled from \"@emotion/styled\"\r\nimport { CalendarIcon } from \"kui-icon\"\r\nimport { InputWithAdornments } from \"kui-basic\"\r\n\r\nconst InputForDatepicker = forwardRef(\r\n (\r\n { onClick, onBlur, onFocus, ...props }: any,\r\n ref: ForwardedRef<HTMLInputElement>\r\n ) => {\r\n const { onChange, readOnly, disabled, mask, handleCLick, ...other } = props\r\n\r\n const handleIconClick = () => {\r\n if (handleCLick) {\r\n handleCLick()\r\n } else {\r\n onClick()\r\n }\r\n }\r\n\r\n return (\r\n <InputMask\r\n mask={mask}\r\n onChange={onChange}\r\n value={props.value}\r\n maskPlaceholder={null}\r\n alwaysShowMask={false}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n >\r\n {() => (\r\n <InputWithAdornments\r\n onChange={onChange}\r\n disabled={disabled}\r\n value={props.value}\r\n endIcon={\r\n <IconWrapper onClick={handleIconClick}>\r\n <CalendarIcon width={19} height={21} />\r\n </IconWrapper>\r\n }\r\n {...other}\r\n ref={ref}\r\n />\r\n )}\r\n </InputMask>\r\n )\r\n }\r\n)\r\n\r\nexport default InputForDatepicker\r\n\r\nconst IconWrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n z-index: 1;\r\n`\r\n","import { useState } from \"react\"\r\n\r\nconst useToggle: (isModalOpen?: boolean) => [boolean, () => void, () => void] =\r\n (isModalOpen: boolean = false) => {\r\n const [isOpen, setIsOpen] = useState(isModalOpen)\r\n\r\n const handleClose = () => {\r\n setIsOpen(false)\r\n }\r\n\r\n const handleOpen = () => {\r\n setIsOpen(true)\r\n }\r\n\r\n return [isOpen, handleOpen, handleClose]\r\n }\r\n\r\nexport default useToggle\r\n","const phoneRegExp =\r\n /^((\\\\+[1-9]{1,4}[ \\\\-]*)|(\\\\([0-9]{2,3}\\\\)[ \\\\-]*)|([0-9]{2,4})[ \\\\-]*)*?[0-9]{3,4}?[ \\\\-]*[0-9]{3,4}?$/\r\n\r\nconst isValidWithMaskExp = /^[^_]+$/\r\n\r\nconst dateRegExp =\r\n /(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\\d\\d/\r\n\r\nconst monthYearRegExp = /(0[1-9]|1[012])[- /.](19|20)\\d\\d/\r\n\r\nconst emailRegExp = /^[-\\w.]+@([A-z0-9][-A-z0-9]+\\.)+[A-z]{2,4}$/\r\n\r\nconst carNumberRegExp = /^([А-Яа-я]{1}[0-9]{3}[А-Яа-я]{2}\\s{0,1}[0-9]{2,3})?$/\r\n\r\nconst innRegExp = /^(([0-9]{12})|([0-9]{10}))?$/\r\n\r\nconst corrAccountRegExp = /^(301[0-9]{17})?$/\r\n\r\nconst accountRegExp = /^408([0-9]{17})?$/\r\n\r\nconst bicRegExp = /^([0-9]{9})?$/\r\n\r\nconst swiftRegExp = /^([A-Za-z]{6}\\w{2}\\d{0,3})?$/\r\n\r\nconst simplePasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{10,}$/\r\n\r\nconst mediumPasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{12,}$/\r\n\r\nconst strongPasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{14,}$/\r\n\r\nexport {\r\n phoneRegExp,\r\n dateRegExp,\r\n isValidWithMaskExp,\r\n emailRegExp,\r\n carNumberRegExp,\r\n innRegExp,\r\n monthYearRegExp,\r\n corrAccountRegExp,\r\n accountRegExp,\r\n bicRegExp,\r\n swiftRegExp,\r\n simplePasswordRegExp,\r\n mediumPasswordRegExp,\r\n strongPasswordRegExp,\r\n}\r\n","/** @jsxImportSource @emotion/react */\r\nimport * as React from \"react\"\r\nimport { ForwardedRef, forwardRef, RefObject, useEffect, useRef } from \"react\"\r\nimport { css } from \"@emotion/react\"\r\nimport { Grid, theme } from \"kui-basic\"\r\nimport { InputDropdownProps } from \"./types\"\r\n\r\ntype StylesProps = {\r\n isOpen: boolean\r\n}\r\n\r\nconst dropdownStyles = ({ isOpen }: StylesProps) => css`\r\n width: 100%;\r\n max-height: 389px;\r\n display: ${isOpen ? \"flex\" : \"none\"};\r\n position: absolute;\r\n background: ${theme.palette.grey.zero};\r\n z-index: 3;\r\n border: 1px solid ${theme.palette.grey.fifteenB};\r\n top: 64px;\r\n box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1);\r\n border-radius: 8px;\r\n overflow: auto;\r\n -ms-overflow-style: none;\r\n scrollbar-width: none;\r\n overflow-y: scroll;\r\n user-select: none;\r\n &::-webkit-scrollbar {\r\n width: 0px;\r\n },\r\n`\r\n\r\nconst InputDropdown = forwardRef(\r\n (\r\n {\r\n isOpen,\r\n handleClose,\r\n buttonRef,\r\n children,\r\n ...otherProps\r\n }: InputDropdownProps,\r\n ref: ForwardedRef<HTMLDivElement>\r\n ) => {\r\n const dropdownRef = useRef<HTMLDivElement | null>(null)\r\n\r\n const closePopUp = (e: any) => {\r\n if (dropdownRef.current && buttonRef && buttonRef.current) {\r\n if (\r\n !dropdownRef.current.contains(e.target) &&\r\n !buttonRef.current.contains(e.target)\r\n ) {\r\n handleClose()\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", closePopUp)\r\n return () => {\r\n document.removeEventListener(\"click\", closePopUp)\r\n }\r\n })\r\n\r\n if (!isOpen) {\r\n return null\r\n }\r\n\r\n const forwardedRef = (elem: HTMLDivElement) => {\r\n if (typeof ref === \"function\") ref(elem)\r\n else if (ref) ref.current = elem\r\n\r\n dropdownRef.current = elem\r\n }\r\n\r\n return (\r\n <Grid\r\n data-testid=\"input_dropdown\"\r\n container\r\n ref={forwardedRef}\r\n css={dropdownStyles({ isOpen })}\r\n {...otherProps}\r\n >\r\n {children}\r\n </Grid>\r\n )\r\n }\r\n)\r\n\r\nexport default InputDropdown\r\n","/** @jsxImportSource @emotion/react */\r\nimport * as React from \"react\"\r\nimport { useEffect, useRef } from \"react\"\r\nimport styled from \"@emotion/styled\"\r\nimport { css } from \"@emotion/react\"\r\nimport { Caption, theme } from \"kui-basic\"\r\nimport { InputSelectDropdownProps } from \"./types\"\r\nimport { OptionParams } from \"../InputSelect/types\"\r\nimport InputDropdown from \"../InputDropdown\"\r\n\r\nconst InputSelectDropdown = ({\r\n options,\r\n inputRef,\r\n isOpenDropdown,\r\n handleCloseDropdown,\r\n handleSelect,\r\n selectedValue,\r\n}: InputSelectDropdownProps) => {\r\n const dropdownRef = useRef<HTMLDivElement>(null)\r\n\r\n useEffect(() => {\r\n if (isOpenDropdown) {\r\n const element = document.querySelector(\r\n `[data-value=autocomplete_option_${selectedValue}]`\r\n )\r\n const coordinates = element?.getBoundingClientRect()\r\n\r\n if (coordinates && inputRef.current && element) {\r\n dropdownRef.current?.scrollTo({\r\n top:\r\n coordinates.top -\r\n inputRef.current.clientHeight -\r\n element.clientHeight,\r\n })\r\n }\r\n }\r\n }, [isOpenDropdown])\r\n\r\n return (\r\n <InputDropdown\r\n ref={dropdownRef}\r\n buttonRef={inputRef}\r\n isOpen={isOpenDropdown}\r\n handleClose={handleCloseDropdown}\r\n css={{\r\n maxHeight: \"142px\",\r\n padding: \"4px\",\r\n }}\r\n >\r\n {options.map((option: OptionParams, key: number) => (\r\n <OptionWrapper\r\n key={option.label}\r\n onClick={() => handleSelect(option)}\r\n data-value={`autocomplete_option_${option.value}`}\r\n data-testid={`autocomplete_option_${key}`}\r\n >\r\n <StyledOption css={selectedValue === option.value && selectedStyles}>\r\n <Caption size=\"sm\" weight={500}>\r\n {option.label}\r\n </Caption>\r\n </StyledOption>\r\n </OptionWrapper>\r\n ))}\r\n </InputDropdown>\r\n )\r\n}\r\n\r\nexport default InputSelectDropdown\r\n\r\nconst OptionWrapper = styled.div`\r\n width: 100%;\r\n padding: 2px 0;\r\n cursor: pointer;\r\n`\r\n\r\nconst StyledOption = styled.div`\r\n padding: 8px;\r\n transition: all ease-out 0.3s;\r\n border-radius: 4px;\r\n &:hover {\r\n background-color: ${theme.palette.background.light1};\r\n }\r\n`\r\n\r\nconst selectedStyles = css`\r\n background-color: ${theme.palette.background.light1};\r\n`\r\n","import { UseFormReturn } from \"react-hook-form\"\r\nimport { FieldError, FieldErrors } from \"react-hook-form/dist/types/errors\"\r\n\r\nconst getFormValue = <T extends object>(\r\n name?: string,\r\n form?: UseFormReturn<T> | null\r\n) => {\r\n const names = name?.split(\".\")\r\n let fieldValue = form?.control._formValues\r\n names?.forEach((field: string) => {\r\n if (fieldValue) {\r\n fieldValue = fieldValue[field]\r\n }\r\n })\r\n return fieldValue\r\n}\r\n\r\nconst getFormError = <T extends object>(\r\n name?: string,\r\n form?: UseFormReturn<T> | null\r\n) => {\r\n const names = name?.split(\".\")\r\n let fieldError = form?.formState.errors\r\n names?.forEach((field) => {\r\n if (fieldError) {\r\n // @ts-ignore\r\n fieldError = fieldError[field as keyof FieldErrors<T>]\r\n }\r\n })\r\n return (fieldError as FieldError)?.message\r\n}\r\n\r\nexport { getFormValue, getFormError }\r\n","/** @jsxImportSource @emotion/react */\r\nimport * as React from \"react\"\r\nimport { ForwardedRef, forwardRef, RefObject, useRef, useState } from \"react\"\r\nimport styled from \"@emotion/styled\"\r\nimport { FieldValues, Path } from \"react-hook-form\"\r\nimport { HalfArrowIcon } from \"kui-icon\"\r\nimport { InputWithAdornments } from \"kui-basic\"\r\nimport InputSelectDropdown from \"../InputSelectDropdown\"\r\nimport { InputSelectProps, OptionParams } from \"./types\"\r\nimport { getFormError, getFormValue } from \"../../utils/form\"\r\n\r\nconst InputSelect = forwardRef(\r\n (props: InputSelectProps, ref: ForwardedRef<HTMLInputElement>) => {\r\n const {\r\n options,\r\n name,\r\n handleChange,\r\n form,\r\n iconProps,\r\n value: defaultValue,\r\n ...other\r\n } = props\r\n const [isOpenDropdown, setIsOpenDropDown] = useState(false)\r\n const [value, setValue] = useState<\r\n string | number | undefined | FieldValues\r\n >(defaultValue || getFormValue(name, form))\r\n const error = getFormError(name, form)\r\n const inputRef = useRef<HTMLInputElement>(null)\r\n const selectedLabel = options?.find(\r\n (option: OptionParams) => String(option.value) === String(value)\r\n )?.label\r\n\r\n const register = form?.register(name!)\r\n\r\n const handleOpenDropdown = () => {\r\n if (inputRef?.current?.parentElement?.parentElement) {\r\n inputRef?.current?.parentElement?.parentElement.focus()\r\n }\r\n setIsOpenDropDown((prev) => !prev)\r\n }\r\n\r\n const handleCloseDropdown = () => {\r\n setIsOpenDropDown(false)\r\n }\r\n\r\n const handleSelect = (option: OptionParams) => {\r\n setValue(option.value)\r\n if (handleChange) {\r\n handleChange(option.value)\r\n }\r\n if (form) {\r\n register?.onChange({\r\n target: { value: option.value, name },\r\n type: \"change\",\r\n })\r\n }\r\n handleCloseDropdown()\r\n }\r\n\r\n const forwardedRef = (e: HTMLInputElement) => {\r\n if (ref) {\r\n // eslint-disable-next-line no-param-reassign\r\n // @ts-ignore\r\n ref.current = e\r\n }\r\n // @ts-ignore\r\n inputRef.current = e\r\n register?.ref(e)\r\n }\r\n\r\n return (\r\n <Wrapper>\r\n <input name={name} autoComplete=\"off\" hidden />\r\n <StyledInput\r\n onClick={handleOpenDropdown}\r\n readOnly\r\n value={selectedLabel}\r\n message={error}\r\n {...other}\r\n endIcon={\r\n !props.disabled && (\r\n <StyledIconWrapper>\r\n <HalfArrowIcon\r\n width={12}\r\n height={13}\r\n css={[\r\n { transition: \"all linear .2s\" },\r\n isOpenDropdown && { transform: \"rotate(180deg)\" },\r\n ]}\r\n {...iconProps}\r\n />\r\n </StyledIconWrapper>\r\n )\r\n }\r\n {...register}\r\n ref={forwardedRef}\r\n />\r\n {options && options.length > 0 && !props.disabled && (\r\n <InputSelectDropdown\r\n options={options}\r\n inputRef={\r\n {\r\n current: inputRef?.current?.parentElement?.parentElement,\r\n } as RefObject<HTMLDivElement>\r\n }\r\n isOpenDropdown={isOpenDropdown}\r\n handleCloseDropdown={handleCloseDropdown}\r\n handleSelect={handleSelect}\r\n selectedValue={value}\r\n />\r\n )}\r\n </Wrapper>\r\n )\r\n }\r\n)\r\n\r\nexport default InputSelect\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n text-align: left;\r\n width: fit-content;\r\n`\r\n\r\nconst StyledInput = styled(InputWithAdornments)`\r\n cursor: pointer;\r\n input,\r\n label {\r\n cursor: pointer !important;\r\n }\r\n`\r\n\r\nconst StyledIconWrapper = styled.div`\r\n padding-right: 8px;\r\n padding-bottom: 4px;\r\n`\r\n","import * as React from \"react\"\r\nimport { SelectYearProps } from \"./types\"\r\nimport InputSelect from \"../InputSelect\"\r\n\r\nconst SelectYear = ({ yearOptions, options, ...props }: SelectYearProps) => (\r\n // @ts-ignore\r\n <InputSelect label=\"Year\" options={yearOptions} {...props} />\r\n)\r\n\r\nexport default SelectYear\r\n","import * as React from \"react\"\r\nimport { FieldValues } from \"react-hook-form\"\r\nimport InputSelect from \"../InputSelect\"\r\nimport { InputSelectProps } from \"../InputSelect/types\"\r\n\r\nconst monthValues = [\r\n { value: 0, label: \"January\" },\r\n { value: 1, label: \"February\" },\r\n { value: 2, label: \"March\" },\r\n { value: 3, label: \"April\" },\r\n { value: 4, label: \"May\" },\r\n { value: 5, label: \"June\" },\r\n { value: 6, label: \"July\" },\r\n { value: 7, label: \"August\" },\r\n { value: 8, label: \"September\" },\r\n { value: 9, label: \"October\" },\r\n { value: 10, label: \"November\" },\r\n { value: 11, label: \"December\" },\r\n]\r\n\r\nconst SelectMonth = ({ options, ...props }: InputSelectProps) => (\r\n // @ts-ignore\r\n <InputSelect label=\"Month\" options={monthValues} {...props} />\r\n)\r\n\r\nexport default SelectMonth\r\n","import * as React from \"react\"\r\nimport styled from \"@emotion/styled\"\r\nimport { Grid } from \"kui-basic\"\r\nimport { CalendarHeaderProps } from \"./types\"\r\nimport SelectYear from \"../SelectYear\"\r\nimport SelectMonth from \"../SelectMonth\"\r\n\r\nconst CalendarHeaderWithSelect = ({\r\n changeMonth,\r\n changeYear,\r\n date,\r\n yearOptions,\r\n}: CalendarHeaderProps) => {\r\n const year = date.getFullYear()\r\n const month = date.getMonth() + 1\r\n\r\n return (\r\n <Wrapper>\r\n <Grid container spacing={2}>\r\n <Grid item xs={6}>\r\n <SelectYear\r\n yearOptions={yearOptions}\r\n value={year}\r\n handleChange={changeYear}\r\n />\r\n </Grid>\r\n <Grid item xs={6}>\r\n <SelectMonth value={month} handleChange={changeMonth} />\r\n </Grid>\r\n </Grid>\r\n </Wrapper>\r\n )\r\n}\r\n\r\nexport default CalendarHeaderWithSelect\r\n\r\nconst Wrapper = styled.div`\r\n margin-bottom: 24px;\r\n @media (max-width: 900px) {\r\n padding: 0 18px;\r\n margin-bottom: 20px;\r\n }\r\n`\r\n","import * as React from \"react\"\r\nimport styled from \"@emotion/styled\"\r\nimport { Button, Divider, theme } from \"kui-basic\"\r\nimport { CheckIcon } from \"kui-icon\"\r\nimport { ModalFooterProps } from \"./types\"\r\n\r\nconst ModalFooter = ({ label, button, ...otherProps }: ModalFooterProps) => (\r\n <StyledFooter>\r\n <Divider />\r\n <ButtonWrapper>\r\n {button || (\r\n <ButtonStyled\r\n fullWidth\r\n size=\"s\"\r\n endIcon={<CheckIcon />}\r\n {...otherProps}\r\n >\r\n {label}\r\n </ButtonStyled>\r\n )}\r\n </ButtonWrapper>\r\n </StyledFooter>\r\n)\r\n\r\nexport default ModalFooter\r\n\r\nconst StyledFooter = styled.div`\r\n background: ${theme.palette.grey.zero};\r\n border-radius: 0 0 12px 12px;\r\n z-index: 10;\r\n position: sticky;\r\n bottom: 0;\r\n left: 0;\r\n`\r\n\r\nconst ButtonWrapper = styled.div`\r\n display: flex;\r\n justify-content: flex-end;\r\n padding: 24px 40px;\r\n @media (max-width: 600px) {\r\n padding: 24px 16px;\r\n }\r\n`\r\n\r\nconst ButtonStyled = styled(Button)`\r\n @media (max-width: 600px) {\r\n width: 100%;\r\n }\r\n`\r\n","import * as React from \"react\"\r\nimport styled from \"@emotion/styled\"\r\nimport { theme } from \"kui-basic\"\r\nimport { CalendarContainerProps } from \"./types\"\r\n\r\nconst CalendarStandardContainer = ({\r\n arrowProps,\r\n showPopperArrow,\r\n ...props\r\n}: CalendarContainerProps) => <DatePickerContainer {...props} />\r\n\r\nexport default CalendarStandardContainer\r\n\r\nconst DatePickerContainer = styled.div`\r\n padding: 0;\r\n border: none !important;\r\n border-radius: 0 !important;\r\n background: transparent !important;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 100%;\r\n .react-datepicker__header {\r\n background-color: transparent !important;\r\n }\r\n .react-datepicker__month-container {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n .react-datepicker__day-names {\r\n display: flex;\r\n justify-content: space-between;\r\n .react-datepicker__day-name {\r\n font-family: \"Inter\", sans-serif;\r\n font-weight: 600;\r\n font-size: 14px;\r\n color: ${theme.palette.grey.fiftyP};\r\n text-transform: uppercase;\r\n margin: 0;\r\n width: 33px;\r\n line-height: normal;\r\n }\r\n }\r\n .react-datepicker__month {\r\n padding: 0;\r\n margin: 20px 0 0 !important;\r\n border: none;\r\n width: 100%;\r\n height: calc(100% - 85px);\r\n .react-datepicker__week {\r\n display: flex;\r\n justify-content: space-between;\r\n }\r\n }\r\n .react-datepicker__week {\r\n margin-bottom: 10px;\r\n &:last-of-type {\r\n margin-bottom: 0;\r\n }\r\n }\r\n .react-datepicker__day {\r\n width: 33px;\r\n height: 33px;\r\n user-select: none;\r\n border-radius: 50% !important;\r\n transition: background ease-out 0.3s;\r\n border: 1px solid transparent;\r\n margin: 0;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-weight: 500;\r\n font-size: 16px;\r\n &:hover {\r\n background: ${theme.palette.background.light3};\r\n }\r\n &:active {\r\n background: ${theme.palette.background.light3};\r\n }\r\n }\r\n .react-datepicker__day--outside-month,\r\n .react-datepicker__day--disabled {\r\n color: #a6aebc;\r\n p {\r\n color: #a6aebc;\r\n }\r\n }\r\n .react-datepicker__day--keyboard-selected {\r\n background: transparent;\r\n color: inherit;\r\n }\r\n .react-datepicker__day--selected {\r\n background: white;\r\n border: 1px solid #e1e4e8;\r\n color: ${theme.palette.brand.main};\r\n p {\r\n color: ${theme.palette.brand.main};\r\n }\r\n }\r\n .react-datepicker__day--selected.warning_day {\r\n border-color: ${theme.palette.grey.fifteenB};\r\n background-color: ${theme.palette.red.seventy};\r\n color: ${theme.palette.grey.zero};\r\n }\r\n @media (max-width: 600px) {\r\n .react-datepicker__day {\r\n max-width: 48px;\r\n max-height: 48px;\r\n width: calc((100vw - (18px * 7)) / 7);\r\n height: calc((100vw - (18px * 7)) / 7);\r\n }\r\n .react-datepicker__day-names {\r\n .react-datepicker__day-name {\r\n max-width: 48px;\r\n width: calc((100vw - (18px * 7)) / 7);\r\n }\r\n }\r\n }\r\n @media (max-width: 350px) {\r\n .react-datepicker__day {\r\n width: calc((100vw - (6px * 7)) / 7);\r\n height: calc((100vw - (6px * 7)) / 7);\r\n }\r\n .react-datepicker__day-names {\r\n .react-datepicker__day-name {\r\n width: calc((100vw - (6px * 7)) / 7);\r\n }\r\n }\r\n }\r\n`\r\n","/** @jsxImportSource @emotion/react */\r\nimport * as React from \"react\"\r\nimport { ForwardedRef, forwardRef, SyntheticEvent, useState } from \"react\"\r\nimport DatePicker, { registerLocale } from \"react-datepicker\"\r\nimport ru from \"date-fns/locale/ru\"\r\nimport styled from \"@emotion/styled\"\r\nimport { DateTime } from \"luxon\"\r\nimport _ from \"lodash\"\r\nimport { Modal, theme } from \"kui-basic\"\r\nimport { useController } from \"react-hook-form\"\r\nimport InputForDatepicker from \"../InputForDatepicker\"\r\nimport { InputWithDatePickerProps } from \"./types\"\r\nimport useToggle from \"../../hooks/useToggle\"\r\nimport { isValidWithMaskExp } from \"../../utils/regexp\"\r\nimport CalendarHeaderWithSelect from \"../CalendarHeaderWithSelect\"\r\nimport ModalFooter from \"../ModalFooter\"\r\nimport CalendarStandardContainer from \"../CalendarStandardContainer\"\r\n\r\nregisterLocale(\"ru\", ru)\r\n\r\nconst generateYearRange = (offsetFromCurrent: number, maxYearCount: number) => {\r\n const endYear = DateTime.now().year - offsetFromCurrent\r\n\r\n return _.range(maxYearCount).map((elem) => {\r\n const fullYear = endYear - elem\r\n return {\r\n value: fullYear,\r\n label: fullYear,\r\n }\r\n })\r\n}\r\n\r\nconst InputWithDatePicker = forwardRef(\r\n (\r\n {\r\n title,\r\n description,\r\n name,\r\n form,\r\n disabled,\r\n yearParams,\r\n ...props\r\n }: InputWithDatePickerProps,\r\n ref: ForwardedRef<HTMLInputElement>\r\n ) => {\r\n const { field, fieldState } = useController({\r\n name: name!,\r\n control: form.control,\r\n })\r\n const error = fieldState.error?.message\r\n\r\n const [isModalOpen, handleModalOpen, handleModalClose] = useToggle()\r\n const [value, setValue] = useState(\r\n field.value\r\n ? DateTime.fromJSDate(new Date(String(field.value))).toFormat(\r\n \"dd.MM.yyyy\"\r\n )\r\n : null\r\n )\r\n const [date, setDate] = useState<Date | null>(\r\n value ? DateTime.fromFormat(value, \"dd.MM.yyyy\").toJSDate() : null\r\n )\r\n const yearList = generateYearRange(yearParams!.min, yearParams!.max)\r\n\r\n const handleChange = (e: SyntheticEvent<HTMLInputElement>) => {\r\n const targetValue = (e.target as HTMLInputElement).value\r\n setValue(targetValue)\r\n if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {\r\n const jsDate = DateTime.fromFormat(targetValue, \"dd.MM.yyyy\").toJSDate()\r\n setDate(jsDate)\r\n field?.onChange({ target: { value: jsDate, name }, type: \"change\" })\r\n } else {\r\n setDate(null)\r\n field?.onChange({ target: { value: null, name }, type: \"change\" })\r\n }\r\n }\r\n\r\n const acceptWithDateSelected = () => {\r\n if (date) {\r\n setValue(DateTime.fromJSDate(date).toFormat(\"dd.MM.yyyy\"))\r\n field?.onChange({ target: { value: date, name }, type: \"change\" })\r\n handleModalClose()\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n <InputForDatepicker\r\n mask=\"99.99.9999\"\r\n name={name}\r\n handleCLick={handleModalOpen}\r\n value={value}\r\n onChange={handleChange}\r\n disabled={disabled}\r\n message={error}\r\n ref={ref as any}\r\n {...props}\r\n />\r\n <Modal\r\n title={title}\r\n description={description}\r\n isOpen={isModalOpen}\r\n handleClose={handleModalClose}\r\n >\r\n <ContentWrapper>\r\n <DatePicker\r\n inline\r\n selected={date}\r\n onChange={(newDate) => setDate(newDate)}\r\n locale=\"ru\"\r\n calendarContainer={StyledCalendarStandardContainer}\r\n renderCustomHeader={(headProps) => (\r\n <CalendarHeaderWithSelect\r\n yearOptions={yearList}\r\n {...headProps}\r\n />\r\n )}\r\n renderDayContents={(day: number) => (\r\n <DayContent>{day}</DayContent>\r\n )}\r\n />\r\n </ContentWrapper>\r\n <ModalFooter\r\n fullWidth\r\n disabled={!date}\r\n onClick={acceptWithDateSelected}\r\n label=\"Подтвердить\"\r\n />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n)\r\n\r\nInputWithDatePicker.defaultProps = {\r\n title: \"Дата рождения\",\r\n description: \"Выберите год, месяц и число вашего рождения\",\r\n yearParams: { min: 18, max: 120 },\r\n}\r\n\r\nexport default InputWithDatePicker\r\n\r\nconst ContentWrapper = styled.div`\r\n padding: 36px 40px 24px;\r\n @media (max-width: 600px) {\r\n padding: 20px 0 0;\r\n }\r\n`\r\n\r\nconst StyledCalendarStandardContainer = styled(CalendarStandardContainer)`\r\n height: 410px;\r\n .react-datepicker__header {\r\n padding: 0 !important;\r\n }\r\n .react-datepicker__day-names {\r\n padding: 35px 22px 0;\r\n background-color: ${theme.palette.background.light1};\r\n border-radius: 16px 16px 0 0;\r\n @media (max-width: 900px) {\r\n padding: 24px 16px 0;\r\n }\r\n }\r\n .react-datepicker__month {\r\n justify-content: space-between;\r\n height: calc(100% - 124px);\r\n background-color: ${theme.palette.background.light1};\r\n border-radius: 0 0 16px 16px;\r\n padding: 20px 22px 24px;\r\n margin: 0 !important;\r\n box-sizing: border-box;\r\n @media (max-width: 900px) {\r\n padding: 20px 16px 24px;\r\n }\r\n }\r\n @media (max-width: 600px) {\r\n height: auto;\r\n margin-bottom: -4px;\r\n }\r\n`\r\n\r\nconst DayContent = styled.span`\r\n padding-top: 1px;\r\n @media (max-width: 600px) {\r\n font-weight: 400;\r\n }\r\n`\r\n"],"names":["_jsx","templateObject_1","templateObject_2","templateObject_3","_jsxs","Wrapper","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../src/components/InputForDatepicker/index.tsx","../../src/hooks/useToggle.ts","../../src/utils/regexp.ts","../../src/components/InputDropdown/index.tsx","../../src/components/InputSelectDropdown/index.tsx","../../src/utils/form.ts","../../src/components/InputSelect/index.tsx","../../src/components/SelectYear/index.tsx","../../src/components/SelectMonth/index.tsx","../../src/components/CalendarHeaderWithSelect/index.tsx","../../src/components/ModalFooter/index.tsx","../../src/components/CalendarStandardContainer/index.tsx","../../src/components/InputWithDatePicker/index.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import * as React from \"react\"\r\nimport { ForwardedRef, forwardRef } from \"react\"\r\nimport InputMask from \"react-input-mask\"\r\nimport styled from \"@emotion/styled\"\r\nimport { CalendarIcon } from \"kui-icon\"\r\nimport { InputWithAdornments } from \"kui-basic\"\r\n\r\nconst InputForDatepicker = forwardRef(\r\n (\r\n { onClick, onBlur, onFocus, ...props }: any,\r\n ref: ForwardedRef<HTMLInputElement>\r\n ) => {\r\n const { onChange, readOnly, disabled, mask, handleCLick, ...other } = props\r\n\r\n const handleIconClick = () => {\r\n if (handleCLick) {\r\n handleCLick()\r\n } else {\r\n onClick()\r\n }\r\n }\r\n\r\n return (\r\n <InputMask\r\n mask={mask}\r\n onChange={onChange}\r\n value={props.value}\r\n maskPlaceholder={null}\r\n alwaysShowMask={false}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n >\r\n {() => (\r\n <InputWithAdornments\r\n onChange={onChange}\r\n disabled={disabled}\r\n value={props.value}\r\n endIcon={\r\n <IconWrapper onClick={handleIconClick}>\r\n <CalendarIcon width={19} height={21} />\r\n </IconWrapper>\r\n }\r\n {...other}\r\n ref={ref}\r\n />\r\n )}\r\n </InputMask>\r\n )\r\n }\r\n)\r\n\r\nexport default InputForDatepicker\r\n\r\nconst IconWrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n z-index: 1;\r\n`\r\n","import { useState } from \"react\"\r\n\r\nconst useToggle: (isModalOpen?: boolean) => [boolean, () => void, () => void] =\r\n (isModalOpen: boolean = false) => {\r\n const [isOpen, setIsOpen] = useState(isModalOpen)\r\n\r\n const handleClose = () => {\r\n setIsOpen(false)\r\n }\r\n\r\n const handleOpen = () => {\r\n setIsOpen(true)\r\n }\r\n\r\n return [isOpen, handleOpen, handleClose]\r\n }\r\n\r\nexport default useToggle\r\n","const phoneRegExp =\r\n /^((\\\\+[1-9]{1,4}[ \\\\-]*)|(\\\\([0-9]{2,3}\\\\)[ \\\\-]*)|([0-9]{2,4})[ \\\\-]*)*?[0-9]{3,4}?[ \\\\-]*[0-9]{3,4}?$/\r\n\r\nconst isValidWithMaskExp = /^[^_]+$/\r\n\r\nconst dateRegExp =\r\n /(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\\d\\d/\r\n\r\nconst monthYearRegExp = /(0[1-9]|1[012])[- /.](19|20)\\d\\d/\r\n\r\nconst emailRegExp = /^[-\\w.]+@([A-z0-9][-A-z0-9]+\\.)+[A-z]{2,4}$/\r\n\r\nconst carNumberRegExp = /^([А-Яа-я]{1}[0-9]{3}[А-Яа-я]{2}\\s{0,1}[0-9]{2,3})?$/\r\n\r\nconst innRegExp = /^(([0-9]{12})|([0-9]{10}))?$/\r\n\r\nconst corrAccountRegExp = /^(301[0-9]{17})?$/\r\n\r\nconst accountRegExp = /^408([0-9]{17})?$/\r\n\r\nconst bicRegExp = /^([0-9]{9})?$/\r\n\r\nconst swiftRegExp = /^([A-Za-z]{6}\\w{2}\\d{0,3})?$/\r\n\r\nconst simplePasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{10,}$/\r\n\r\nconst mediumPasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{12,}$/\r\n\r\nconst strongPasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{14,}$/\r\n\r\nexport {\r\n phoneRegExp,\r\n dateRegExp,\r\n isValidWithMaskExp,\r\n emailRegExp,\r\n carNumberRegExp,\r\n innRegExp,\r\n monthYearRegExp,\r\n corrAccountRegExp,\r\n accountRegExp,\r\n bicRegExp,\r\n swiftRegExp,\r\n simplePasswordRegExp,\r\n mediumPasswordRegExp,\r\n strongPasswordRegExp,\r\n}\r\n","/** @jsxImportSource @emotion/react */\r\nimport * as React from \"react\"\r\nimport { ForwardedRef, forwardRef, RefObject, useEffect, useRef } from \"react\"\r\nimport { css } from \"@emotion/react\"\r\nimport { Grid, theme } from \"kui-basic\"\r\nimport { InputDropdownProps } from \"./types\"\r\n\r\ntype StylesProps = {\r\n isOpen: boolean\r\n}\r\n\r\nconst dropdownStyles = ({ isOpen }: StylesProps) => css`\r\n width: 100%;\r\n max-height: 389px;\r\n display: ${isOpen ? \"flex\" : \"none\"};\r\n position: absolute;\r\n background: ${theme.palette.grey.zero};\r\n z-index: 3;\r\n border: 1px solid ${theme.palette.grey.fifteenB};\r\n top: 64px;\r\n box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1);\r\n border-radius: 8px;\r\n overflow: auto;\r\n -ms-overflow-style: none;\r\n scrollbar-width: none;\r\n overflow-y: scroll;\r\n user-select: none;\r\n &::-webkit-scrollbar {\r\n width: 0px;\r\n },\r\n`\r\n\r\nconst InputDropdown = forwardRef(\r\n (\r\n {\r\n isOpen,\r\n handleClose,\r\n buttonRef,\r\n children,\r\n ...otherProps\r\n }: InputDropdownProps,\r\n ref: ForwardedRef<HTMLDivElement>\r\n ) => {\r\n const dropdownRef = useRef<HTMLDivElement | null>(null)\r\n\r\n const closePopUp = (e: any) => {\r\n if (dropdownRef.current && buttonRef && buttonRef.current) {\r\n if (\r\n !dropdownRef.current.contains(e.target) &&\r\n !buttonRef.current.contains(e.target)\r\n ) {\r\n handleClose()\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", closePopUp)\r\n return () => {\r\n document.removeEventListener(\"click\", closePopUp)\r\n }\r\n })\r\n\r\n if (!isOpen) {\r\n return null\r\n }\r\n\r\n const forwardedRef = (elem: HTMLDivElement) => {\r\n if (typeof ref === \"function\") ref(elem)\r\n else if (ref) ref.current = elem\r\n\r\n dropdownRef.current = elem\r\n }\r\n\r\n return (\r\n <Grid\r\n data-testid=\"input_dropdown\"\r\n container\r\n ref={forwardedRef}\r\n css={dropdownStyles({ isOpen })}\r\n {...otherProps}\r\n >\r\n {children}\r\n </Grid>\r\n )\r\n }\r\n)\r\n\r\nexport default InputDropdown\r\n","/** @jsxImportSource @emotion/react */\nimport * as React from \"react\"\nimport { ForwardedRef, forwardRef, useEffect, useRef } from \"react\"\nimport styled from \"@emotion/styled\"\nimport { css } from \"@emotion/react\"\nimport { Caption, theme } from \"kui-basic\"\nimport { InputSelectDropdownProps } from \"./types\"\nimport { OptionParams } from \"../InputSelect/types\"\nimport InputDropdown from \"../InputDropdown\"\n\nconst InputSelectDropdown = forwardRef(\n (\n {\n options,\n inputRef,\n isOpenDropdown,\n handleCloseDropdown,\n handleSelect,\n selectedValue,\n }: InputSelectDropdownProps,\n ref: ForwardedRef<HTMLDivElement>\n ) => {\n const dropdownRef = useRef<HTMLDivElement | null>(null)\n\n useEffect(() => {\n if (isOpenDropdown) {\n const element = document.querySelector(\n `[data-value=autocomplete_option_${selectedValue}]`\n )\n const coordinates = element?.getBoundingClientRect()\n\n if (coordinates && inputRef.current && element) {\n dropdownRef.current?.scrollTo({\n top:\n coordinates.top -\n inputRef.current.clientHeight -\n element.clientHeight,\n })\n }\n }\n }, [isOpenDropdown])\n\n const forwardedRef = (elem: HTMLDivElement) => {\n if (ref) {\n if (typeof ref === \"function\") ref(elem)\n else ref.current = elem\n }\n dropdownRef.current = elem\n }\n\n return (\n <InputDropdown\n ref={forwardedRef}\n buttonRef={inputRef}\n isOpen={isOpenDropdown}\n handleClose={handleCloseDropdown}\n css={{\n maxHeight: \"142px\",\n padding: \"4px\",\n }}\n >\n {options.map((option: OptionParams, key: number) => (\n <OptionWrapper\n key={option.label}\n onClick={() => handleSelect(option)}\n data-value={`autocomplete_option_${option.value}`}\n data-testid={`autocomplete_option_${key}`}\n >\n <StyledOption\n css={selectedValue === option.value && selectedStyles}\n >\n <Caption size=\"sm\" weight={500}>\n {option.label}\n </Caption>\n </StyledOption>\n </OptionWrapper>\n ))}\n </InputDropdown>\n )\n }\n)\n\nexport default InputSelectDropdown\n\nconst OptionWrapper = styled.div`\n width: 100%;\n padding: 2px 0;\n cursor: pointer;\n`\n\nconst StyledOption = styled.div`\n padding: 8px;\n transition: all ease-out 0.3s;\n border-radius: 4px;\n &:hover {\n background-color: ${theme.palette.background.light1};\n }\n`\n\nconst selectedStyles = css`\n background-color: ${theme.palette.background.light1};\n`\n","import { UseFormReturn } from \"react-hook-form\"\r\nimport { FieldError, FieldErrors } from \"react-hook-form/dist/types/errors\"\r\n\r\nconst getFormValue = <T extends object>(\r\n name?: string,\r\n form?: UseFormReturn<T> | null\r\n) => {\r\n const names = name?.split(\".\")\r\n let fieldValue = form?.control._formValues\r\n names?.forEach((field: string) => {\r\n if (fieldValue) {\r\n fieldValue = fieldValue[field]\r\n }\r\n })\r\n return fieldValue\r\n}\r\n\r\nconst getFormError = <T extends object>(\r\n name?: string,\r\n form?: UseFormReturn<T> | null\r\n) => {\r\n const names = name?.split(\".\")\r\n let fieldError = form?.formState.errors\r\n names?.forEach((field) => {\r\n if (fieldError) {\r\n // @ts-ignore\r\n fieldError = fieldError[field as keyof FieldErrors<T>]\r\n }\r\n })\r\n return (fieldError as FieldError)?.message\r\n}\r\n\r\nexport { getFormValue, getFormError }\r\n","/** @jsxImportSource @emotion/react */\r\nimport * as React from \"react\"\r\nimport { ForwardedRef, forwardRef, RefObject, useRef, useState } from \"react\"\r\nimport styled from \"@emotion/styled\"\r\nimport { FieldValues, Path } from \"react-hook-form\"\r\nimport { HalfArrowIcon } from \"kui-icon\"\r\nimport { InputWithAdornments } from \"kui-basic\"\r\nimport InputSelectDropdown from \"../InputSelectDropdown\"\r\nimport { InputSelectProps, OptionParams } from \"./types\"\r\nimport { getFormError, getFormValue } from \"../../utils/form\"\r\n\r\nconst InputSelect = forwardRef(\r\n (props: InputSelectProps, ref: ForwardedRef<HTMLInputElement>) => {\r\n const {\r\n options,\r\n name,\r\n handleChange,\r\n form,\r\n iconProps,\r\n value: defaultValue,\r\n ...other\r\n } = props\r\n const [isOpenDropdown, setIsOpenDropDown] = useState(false)\r\n const [value, setValue] = useState<\r\n string | number | undefined | FieldValues\r\n >(defaultValue || getFormValue(name, form))\r\n const error = getFormError(name, form)\r\n const inputRef = useRef<HTMLInputElement>(null)\r\n const selectedLabel = options?.find(\r\n (option: OptionParams) => String(option.value) === String(value)\r\n )?.label\r\n\r\n const register = form?.register(name!)\r\n\r\n const handleOpenDropdown = () => {\r\n if (inputRef?.current?.parentElement?.parentElement) {\r\n inputRef?.current?.parentElement?.parentElement.focus()\r\n }\r\n setIsOpenDropDown((prev) => !prev)\r\n }\r\n\r\n const handleCloseDropdown = () => {\r\n setIsOpenDropDown(false)\r\n }\r\n\r\n const handleSelect = (option: OptionParams) => {\r\n setValue(option.value)\r\n if (handleChange) {\r\n handleChange(option.value)\r\n }\r\n if (form) {\r\n register?.onChange({\r\n target: { value: option.value, name },\r\n type: \"change\",\r\n })\r\n }\r\n handleCloseDropdown()\r\n }\r\n\r\n const forwardedRef = (e: HTMLInputElement) => {\r\n if (ref) {\r\n // eslint-disable-next-line no-param-reassign\r\n // @ts-ignore\r\n ref.current = e\r\n }\r\n // @ts-ignore\r\n inputRef.current = e\r\n register?.ref(e)\r\n }\r\n\r\n return (\r\n <Wrapper>\r\n <input name={name} autoComplete=\"off\" hidden />\r\n <StyledInput\r\n onClick={handleOpenDropdown}\r\n readOnly\r\n value={selectedLabel}\r\n message={error}\r\n {...other}\r\n endIcon={\r\n !props.disabled && (\r\n <StyledIconWrapper>\r\n <HalfArrowIcon\r\n width={12}\r\n height={13}\r\n css={[\r\n { transition: \"all linear .2s\" },\r\n isOpenDropdown && { transform: \"rotate(180deg)\" },\r\n ]}\r\n {...iconProps}\r\n />\r\n </StyledIconWrapper>\r\n )\r\n }\r\n {...register}\r\n ref={forwardedRef}\r\n />\r\n {options && options.length > 0 && !props.disabled && (\r\n <InputSelectDropdown\r\n options={options}\r\n inputRef={\r\n {\r\n current: inputRef?.current?.parentElement?.parentElement,\r\n } as RefObject<HTMLDivElement>\r\n }\r\n isOpenDropdown={isOpenDropdown}\r\n handleCloseDropdown={handleCloseDropdown}\r\n handleSelect={handleSelect}\r\n selectedValue={value}\r\n />\r\n )}\r\n </Wrapper>\r\n )\r\n }\r\n)\r\n\r\nexport default InputSelect\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n text-align: left;\r\n width: fit-content;\r\n`\r\n\r\nconst StyledInput = styled(InputWithAdornments)`\r\n cursor: pointer;\r\n input,\r\n label {\r\n cursor: pointer !important;\r\n }\r\n`\r\n\r\nconst StyledIconWrapper = styled.div`\r\n padding-right: 8px;\r\n padding-bottom: 4px;\r\n`\r\n","import * as React from \"react\"\nimport { ForwardedRef, forwardRef } from \"react\"\nimport { SelectYearProps } from \"./types\"\nimport InputSelect from \"../InputSelect\"\n\nconst checkDisabled = (year: number, min?: number, max?: number) =>\n (min && year <= min) || (max && year >= max)\n\nconst SelectYear = forwardRef(\n (\n { yearOptions, options, min, max, ...props }: SelectYearProps,\n ref: ForwardedRef<HTMLInputElement>\n ) => {\n const formattedYearOptions = yearOptions.map((year) => ({\n ...year,\n disabled: checkDisabled(Number(year.value), min, max),\n }))\n\n return (\n <InputSelect\n ref={ref as any}\n label=\"Year\"\n options={formattedYearOptions}\n {...props}\n />\n )\n }\n)\n\nexport default SelectYear\n","import * as React from \"react\"\nimport { FieldValues } from \"react-hook-form\"\nimport { ForwardedRef, forwardRef } from \"react\"\nimport InputSelect from \"../InputSelect\"\nimport { InputSelectProps } from \"../InputSelect/types\"\nimport { SelectMonthProps } from \"./types\"\n\nconst checkDisabled = (\n month: number,\n min?: number | false,\n max?: number | false\n) => (min && month <= min) || (max && month >= max)\n\nconst monthValues = [\n { value: 0, label: \"January\" },\n { value: 1, label: \"February\" },\n { value: 2, label: \"March\" },\n { value: 3, label: \"April\" },\n { value: 4, label: \"May\" },\n { value: 5, label: \"June\" },\n { value: 6, label: \"July\" },\n { value: 7, label: \"August\" },\n { value: 8, label: \"September\" },\n { value: 9, label: \"October\" },\n { value: 10, label: \"November\" },\n { value: 11, label: \"December\" },\n]\n\nconst SelectMonth = forwardRef(\n (props: SelectMonthProps, ref: ForwardedRef<HTMLInputElement>) => {\n const { min, max, options, ...other } = props\n const formattedMonths = monthValues.map((month) => ({\n ...month,\n disabled: checkDisabled(month.value, min, max),\n }))\n\n return (\n <InputSelect\n ref={ref as any}\n label=\"Month\"\n options={formattedMonths}\n {...other}\n />\n )\n }\n)\n\nexport default SelectMonth\n","import * as React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Grid } from \"kui-basic\"\nimport { ForwardedRef, forwardRef } from \"react\"\nimport { DateTime } from \"luxon\"\nimport { CalendarHeaderProps } from \"./types\"\nimport SelectYear from \"../SelectYear\"\nimport SelectMonth from \"../SelectMonth\"\nimport * as fs from \"fs\"\n\nconst CalendarHeaderWithSelect = forwardRef(\n (\n {\n changeMonth,\n changeYear,\n date,\n yearOptions,\n max,\n min,\n }: CalendarHeaderProps,\n ref: ForwardedRef<HTMLDivElement>\n ) => {\n const year = date.getFullYear()\n const month = date.getMonth()\n const currentYear = DateTime.now().year\n const minMonth = min?.year === currentYear ? min?.month : 0\n const maxMonth = max?.year === currentYear ? max?.month : 11\n\n return (\n <Wrapper ref={ref}>\n <Grid container spacing={2}>\n <Grid item xs={6}>\n <SelectYear\n min={min?.year}\n max={max?.year}\n yearOptions={yearOptions}\n value={year}\n handleChange={changeYear}\n />\n </Grid>\n <Grid item xs={6}>\n <SelectMonth\n min={(Number(min?.year) >= currentYear && minMonth) as any}\n max={(Number(max?.year) <= currentYear && maxMonth) as any}\n value={month}\n handleChange={changeMonth}\n />\n </Grid>\n </Grid>\n </Wrapper>\n )\n }\n)\n\nexport default CalendarHeaderWithSelect\n\nconst Wrapper = styled.div`\n margin-bottom: 24px;\n @media (max-width: 900px) {\n padding: 0 18px;\n margin-bottom: 20px;\n }\n`\n","import * as React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Button, Divider, theme } from \"kui-basic\"\nimport { CheckIcon } from \"kui-icon\"\nimport { ForwardedRef, forwardRef } from \"react\"\nimport { ModalFooterProps } from \"./types\"\n\nconst ModalFooter = forwardRef(\n (\n { label, button, ...otherProps }: ModalFooterProps,\n ref: ForwardedRef<HTMLDivElement>\n ) => (\n <StyledFooter ref={ref}>\n <Divider />\n <ButtonWrapper>\n {button || (\n <ButtonStyled\n fullWidth\n size=\"s\"\n endIcon={<CheckIcon />}\n {...otherProps}\n >\n {label}\n </ButtonStyled>\n )}\n </ButtonWrapper>\n </StyledFooter>\n )\n)\n\nexport default ModalFooter\n\nconst StyledFooter = styled.div`\n background: ${theme.palette.grey.zero};\n border-radius: 0 0 12px 12px;\n z-index: 10;\n position: sticky;\n bottom: 0;\n left: 0;\n`\n\nconst ButtonWrapper = styled.div`\n display: flex;\n justify-content: flex-end;\n padding: 24px 40px;\n @media (max-width: 600px) {\n padding: 24px 16px;\n }\n`\n\nconst ButtonStyled = styled(Button)`\n @media (max-width: 600px) {\n width: 100%;\n }\n`\n","import * as React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { theme } from \"kui-basic\"\nimport { ForwardedRef, forwardRef } from \"react\"\nimport { CalendarContainerProps } from \"./types\"\n\nconst CalendarStandardContainer = forwardRef(\n (\n { arrowProps, showPopperArrow, ...props }: CalendarContainerProps,\n ref: ForwardedRef<HTMLDivElement>\n ) => <DatePickerContainer ref={ref} {...props} />\n)\n\nexport default CalendarStandardContainer\n\nconst DatePickerContainer = styled.div`\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: ${theme.palette.grey.fiftyP};\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: ${theme.palette.background.light3};\n }\n &:active {\n background: ${theme.palette.background.light3};\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: ${theme.palette.brand.main};\n p {\n color: ${theme.palette.brand.main};\n }\n }\n .react-datepicker__day--selected.warning_day {\n border-color: ${theme.palette.grey.fifteenB};\n background-color: ${theme.palette.red.seventy};\n color: ${theme.palette.grey.zero};\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","/** @jsxImportSource @emotion/react */\nimport * as React from \"react\"\nimport {\n ForwardedRef,\n forwardRef,\n SyntheticEvent,\n useEffect,\n useState,\n} from \"react\"\nimport DatePicker from \"react-datepicker\"\nimport styled from \"@emotion/styled\"\nimport { DateTime } from \"luxon\"\nimport _ from \"lodash\"\nimport { Modal, theme } from \"kui-basic\"\nimport { useController } from \"react-hook-form\"\nimport InputForDatepicker from \"../InputForDatepicker\"\nimport { InputWithDatePickerProps } from \"./types\"\nimport useToggle from \"../../hooks/useToggle\"\nimport { isValidWithMaskExp } from \"../../utils/regexp\"\nimport CalendarHeaderWithSelect from \"../CalendarHeaderWithSelect\"\nimport ModalFooter from \"../ModalFooter\"\nimport CalendarStandardContainer from \"../CalendarStandardContainer\"\n\nconst generateYearRange = (\n offsetFromCurrent?: number,\n maxYearCount?: number\n) => {\n if (!offsetFromCurrent || !maxYearCount) return []\n const endYear = DateTime.now().year - offsetFromCurrent\n\n return _.range(maxYearCount).map((elem) => {\n const fullYear = endYear - elem\n return {\n value: fullYear,\n label: fullYear,\n }\n })\n}\n\nconst InputWithDatePicker = forwardRef(\n (\n {\n title,\n description,\n name,\n form,\n disabled,\n yearParams,\n onChange,\n max,\n min,\n footerLabel,\n datePickerProps,\n ...props\n }: InputWithDatePickerProps,\n ref: ForwardedRef<HTMLInputElement>\n ) => {\n const { field, fieldState } = useController({\n name: name!,\n control: form.control,\n })\n const error = fieldState.error?.message\n\n const formattedValue = field.value ? field.value.toFormat(\"dd.MM.yyyy\") : \"\"\n const formattedDate = field.value ? field.value.toJSDate() : null\n\n const [isModalOpen, handleModalOpen, handleModalClose] = useToggle()\n const [date, setDate] = useState<Date | null>(formattedDate)\n const [value, setValue] = useState(formattedValue)\n const yearList = generateYearRange(yearParams?.min, yearParams?.max)\n\n useEffect(() => {\n if (!isModalOpen) {\n setDate(null)\n } else {\n setDate(formattedDate)\n }\n }, [isModalOpen])\n\n const handleChange = (e: SyntheticEvent<HTMLInputElement>) => {\n const targetValue = (e.target as HTMLInputElement).value\n setValue(targetValue)\n if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {\n const targetDate = DateTime.fromFormat(targetValue, \"dd.MM.yyyy\")\n setDate(targetDate.toJSDate())\n field?.onChange({ target: { value: targetDate, name }, type: \"change\" })\n if (onChange) {\n onChange(targetDate)\n }\n } else {\n setDate(null)\n field?.onChange({ target: { value: null, name }, type: \"change\" })\n if (onChange) {\n onChange(null)\n }\n }\n }\n\n const acceptWithDateSelected = () => {\n if (date) {\n const dateObj = DateTime.fromJSDate(date)\n setValue(dateObj.toFormat(\"dd.MM.yyyy\"))\n field?.onChange({ target: { value: dateObj, name }, type: \"change\" })\n if (onChange) {\n onChange(dateObj)\n }\n handleModalClose()\n }\n }\n\n const handleDateChange = (newDate: Date | null) => {\n setDate(newDate)\n }\n\n const forwardedRef = (elem: HTMLInputElement) => {\n if (ref) {\n // eslint-disable-next-line no-param-reassign\n // @ts-ignore\n ref.current = elem\n }\n field.ref(elem)\n }\n\n return (\n <>\n <InputForDatepicker\n mask=\"99.99.9999\"\n name={name}\n handleCLick={handleModalOpen}\n value={formattedValue || value}\n onChange={handleChange}\n disabled={disabled}\n message={error}\n ref={forwardedRef as any}\n {...props}\n />\n <Modal\n title={title}\n description={description}\n isOpen={isModalOpen}\n handleClose={handleModalClose}\n >\n <ContentWrapper>\n <DatePicker\n inline\n selected={date || formattedDate}\n onChange={handleDateChange}\n calendarContainer={StyledCalendarStandardContainer}\n renderCustomHeader={(headProps) => (\n <CalendarHeaderWithSelect\n yearOptions={yearList}\n max={max}\n min={min}\n {...headProps}\n />\n )}\n renderDayContents={(day: number) => (\n <DayContent>{day}</DayContent>\n )}\n maxDate={max?.toJSDate()}\n minDate={min?.toJSDate()}\n {...datePickerProps}\n />\n </ContentWrapper>\n <ModalFooter\n fullWidth\n disabled={!formattedDate && !date}\n onClick={acceptWithDateSelected}\n label={footerLabel}\n />\n </Modal>\n </>\n )\n }\n)\n\nInputWithDatePicker.defaultProps = {\n title: \"Дата рождения\",\n description: \"Выберите год, месяц и число вашего рождения\",\n yearParams: { min: 18, max: 120 },\n footerLabel: \"Подтвердить\",\n}\n\nexport default InputWithDatePicker\n\nconst ContentWrapper = styled.div`\n padding: 36px 40px 24px;\n @media (max-width: 600px) {\n padding: 20px 0 0;\n }\n`\n\nconst StyledCalendarStandardContainer = styled(CalendarStandardContainer)`\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: ${theme.palette.background.light1};\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: ${theme.palette.background.light1};\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\nconst DayContent = styled.span`\n padding-top: 1px;\n @media (max-width: 600px) {\n font-weight: 400;\n }\n`\n"],"names":["_jsx","templateObject_1","templateObject_2","templateObject_3","_jsxs","Wrapper","checkDisabled","_Fragment"],"mappings":"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"}