kui-complex 0.0.146 → 0.0.148
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DesktopInputWithMonthPicker/cjs/index.js +11 -8
- package/DesktopInputWithMonthPicker/cjs/index.js.map +1 -1
- package/DesktopInputWithMonthPicker/index.js +13 -10
- package/DesktopInputWithMonthPicker/index.js.map +1 -1
- package/InputWithDatePicker/cjs/index.js +17 -25
- package/InputWithDatePicker/cjs/index.js.map +1 -1
- package/InputWithDatePicker/index.js +17 -25
- package/InputWithDatePicker/index.js.map +1 -1
- package/InputWithMonthPicker/cjs/index.js +11 -8
- package/InputWithMonthPicker/cjs/index.js.map +1 -1
- package/InputWithMonthPicker/index.js +13 -10
- package/InputWithMonthPicker/index.js.map +1 -1
- package/cjs/index.js +28 -33
- package/cjs/index.js.map +1 -1
- package/index.js +29 -34
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import classNames from 'classnames';
|
|
|
12
12
|
import { HalfArrowIcon, PrevArrowIcon, NextArrowIcon, CalendarIcon, ArrowBackIcon, ArrowNextIcon, ClosedEyeIcon, OpenEyeIcon, CheckIcon, PlusIcon, FileIcon, EditIcon, TrashIcon } from 'kui-icon';
|
|
13
13
|
import _ from 'lodash';
|
|
14
14
|
import DatePicker from 'react-datepicker';
|
|
15
|
-
import {
|
|
15
|
+
import { useController, Controller, useWatch } from 'react-hook-form';
|
|
16
16
|
import { scroller, Events, Link as Link$1, animateScroll, Element } from 'react-scroll';
|
|
17
17
|
import { DateTime } from 'luxon';
|
|
18
18
|
import ru from 'date-fns/locale/ru';
|
|
@@ -441,19 +441,22 @@ var StyledHeader = styled(Grid)(templateObject_2$i || (templateObject_2$i = __ma
|
|
|
441
441
|
var templateObject_1$u, templateObject_2$i;
|
|
442
442
|
|
|
443
443
|
var DesktopInputWithMonthPicker = forwardRef(function (_a, ref) {
|
|
444
|
+
var _b;
|
|
444
445
|
var name = _a.name, form = _a.form, disabled = _a.disabled, datePickerProps = _a.datePickerProps, onChange = _a.onChange, otherProps = __rest(_a, ["name", "form", "disabled", "datePickerProps", "onChange"]);
|
|
445
|
-
var
|
|
446
|
-
var
|
|
446
|
+
var _c = useState(), changedValue = _c[0], setChangedValue = _c[1];
|
|
447
|
+
var _d = useController({
|
|
448
|
+
name: name,
|
|
449
|
+
control: form.control,
|
|
450
|
+
}), field = _d.field, fieldState = _d.fieldState;
|
|
451
|
+
var handleChange = function (date) {
|
|
447
452
|
field.onChange(date);
|
|
448
|
-
setChangedValue(date);
|
|
449
453
|
if (onChange)
|
|
450
454
|
onChange(date);
|
|
451
455
|
};
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
} }) })));
|
|
456
|
+
useEffect(function () {
|
|
457
|
+
setChangedValue(field.value);
|
|
458
|
+
}, [field.value]);
|
|
459
|
+
return (jsx(Wrapper$4, __assign({ ref: ref }, { children: jsx(DatePicker, __assign({ selected: field.value, onChange: handleChange, disabled: disabled, customInput: jsx(InputForDatepicker, __assign({ mask: "00.0000", name: name, disabled: disabled, message: (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message }, otherProps), changedValue), showMonthYearPicker: true, dateFormat: "MM.yyyy", popperPlacement: "bottom-end", calendarContainer: MonthPickerContainer, renderCustomHeader: function (props) { return (jsx(MonthPickerHeader, __assign({}, props))); } }, datePickerProps)) })));
|
|
457
460
|
});
|
|
458
461
|
var Wrapper$4 = styled.div(templateObject_1$t || (templateObject_1$t = __makeTemplateObject(["\n @media (max-width: 600px) {\n display: none;\n }\n"], ["\n @media (max-width: 600px) {\n display: none;\n }\n"])));
|
|
459
462
|
var templateObject_1$t;
|
|
@@ -682,33 +685,32 @@ var InputWithDatePicker = forwardRef(function (_a, ref) {
|
|
|
682
685
|
control: form.control,
|
|
683
686
|
}), field = _c.field, fieldState = _c.fieldState;
|
|
684
687
|
var error = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
685
|
-
var
|
|
686
|
-
var
|
|
688
|
+
var formValue = field.value;
|
|
689
|
+
var formattedValue = formValue ? formValue.toFormat("dd.MM.yyyy") : "";
|
|
690
|
+
var formattedDate = formValue ? formValue.toJSDate() : null;
|
|
687
691
|
var _d = useToggle(), isModalOpen = _d[0], handleModalOpen = _d[1], handleModalClose = _d[2];
|
|
688
|
-
var _e = useState(formattedDate),
|
|
689
|
-
var _f = useState(formattedValue),
|
|
692
|
+
var _e = useState(formattedDate), calendarDate = _e[0], setCalendarDate = _e[1];
|
|
693
|
+
var _f = useState(formattedValue), inputValue = _f[0], setInputValue = _f[1];
|
|
690
694
|
var yearList = generateYearRange(yearParams === null || yearParams === void 0 ? void 0 : yearParams.min, yearParams === null || yearParams === void 0 ? void 0 : yearParams.max);
|
|
695
|
+
var forwardedRef = useForkRef(ref, field.ref);
|
|
691
696
|
useEffect(function () {
|
|
692
|
-
if (
|
|
693
|
-
|
|
694
|
-
}
|
|
695
|
-
else {
|
|
696
|
-
setDate(formattedDate);
|
|
697
|
+
if (formattedValue) {
|
|
698
|
+
setInputValue(formattedValue);
|
|
697
699
|
}
|
|
698
|
-
}, [
|
|
700
|
+
}, [formattedValue]);
|
|
699
701
|
var handleChange = function (e) {
|
|
700
702
|
var targetValue = e.target.value;
|
|
701
|
-
|
|
703
|
+
setInputValue(targetValue);
|
|
702
704
|
if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {
|
|
703
705
|
var targetDate = DateTime.fromFormat(targetValue, "dd.MM.yyyy");
|
|
704
|
-
|
|
706
|
+
setCalendarDate(targetDate.toJSDate());
|
|
705
707
|
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: targetDate, name: name }, type: "change" });
|
|
706
708
|
if (onChange) {
|
|
707
709
|
onChange(targetDate);
|
|
708
710
|
}
|
|
709
711
|
}
|
|
710
712
|
else {
|
|
711
|
-
|
|
713
|
+
setCalendarDate(null);
|
|
712
714
|
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: null, name: name }, type: "change" });
|
|
713
715
|
if (onChange) {
|
|
714
716
|
onChange(null);
|
|
@@ -716,9 +718,9 @@ var InputWithDatePicker = forwardRef(function (_a, ref) {
|
|
|
716
718
|
}
|
|
717
719
|
};
|
|
718
720
|
var acceptWithDateSelected = function () {
|
|
719
|
-
if (
|
|
720
|
-
var dateObj = DateTime.fromJSDate(
|
|
721
|
-
|
|
721
|
+
if (calendarDate) {
|
|
722
|
+
var dateObj = DateTime.fromJSDate(calendarDate);
|
|
723
|
+
setInputValue(dateObj.toFormat("dd.MM.yyyy"));
|
|
722
724
|
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: dateObj, name: name }, type: "change" });
|
|
723
725
|
if (onChange) {
|
|
724
726
|
onChange(dateObj);
|
|
@@ -727,16 +729,9 @@ var InputWithDatePicker = forwardRef(function (_a, ref) {
|
|
|
727
729
|
}
|
|
728
730
|
};
|
|
729
731
|
var handleDateChange = function (newDate) {
|
|
730
|
-
|
|
732
|
+
setCalendarDate(newDate);
|
|
731
733
|
};
|
|
732
|
-
|
|
733
|
-
useEffect(function () {
|
|
734
|
-
setValue(formattedValue);
|
|
735
|
-
}, [formattedValue]);
|
|
736
|
-
useEffect(function () {
|
|
737
|
-
setDate(formattedDate);
|
|
738
|
-
}, [formattedDate]);
|
|
739
|
-
return (jsxs$1(Fragment, { children: [jsx$1(InputForDatepicker, __assign({ mask: "00.00.0000", name: name, handleClick: handleModalOpen, value: formattedValue || value, onChange: handleChange, disabled: disabled, message: error, ref: forwardedRef }, props)), jsxs$1(StyledModal, __assign({ title: title, description: description, isOpen: isModalOpen, handleClose: handleModalClose, alignTitle: alignTitle }, { children: [jsx$1(ContentWrapper$2, { 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 })] }))] }));
|
|
734
|
+
return (jsxs$1(Fragment, { children: [jsx$1(InputForDatepicker, __assign({ mask: "00.00.0000", name: name, handleClick: handleModalOpen, value: formattedValue || inputValue, onChange: handleChange, disabled: disabled, message: error, ref: forwardedRef }, props)), jsxs$1(StyledModal, __assign({ title: title, description: description, isOpen: isModalOpen, handleClose: handleModalClose, alignTitle: alignTitle }, { children: [jsx$1(ContentWrapper$2, { children: jsx$1(DatePicker, __assign({ inline: true, selected: calendarDate || 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 && !calendarDate, onClick: acceptWithDateSelected, label: footerLabel })] }))] }));
|
|
740
735
|
});
|
|
741
736
|
InputWithDatePicker.defaultProps = {
|
|
742
737
|
alignTitle: "center",
|