intelicoreact 0.2.51 → 0.2.52

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.
@@ -84,15 +84,15 @@
84
84
  // border-right: none;
85
85
  // }
86
86
 
87
- // & > button:not(:first-child),
87
+ // & > button:not(:first-of-type),
88
88
  // & > button:nth-child(n + 3) {
89
89
  // border-top-left-radius: 0;
90
90
  // border-bottom-left-radius: 0;
91
91
  // border-right: none;
92
92
  // }
93
93
 
94
- // & button:not(:first-child),
95
- // & button:not(:first-child) button {
94
+ // & button:not(:first-of-type),
95
+ // & button:not(:first-of-type) button {
96
96
  // border-top-left-radius: 0;
97
97
  // border-bottom-left-radius: 0;
98
98
  // }
@@ -44,7 +44,11 @@ var InputCalendar = function InputCalendar(_ref) {
44
44
  _ref$mask = _ref.mask,
45
45
  mask = _ref$mask === void 0 ? '99/99/9999' : _ref$mask,
46
46
  isListTop = _ref.isListTop,
47
- disabled = _ref.disabled;
47
+ disabled = _ref.disabled,
48
+ _ref$onKeyDown = _ref.onKeyDown,
49
+ onKeyDownProp = _ref$onKeyDown === void 0 ? function (e) {} : _ref$onKeyDown,
50
+ _ref$onKeyUp = _ref.onKeyUp,
51
+ onKeyUpProp = _ref$onKeyUp === void 0 ? function (e) {} : _ref$onKeyUp;
48
52
 
49
53
  var _useState = (0, _react.useState)(false),
50
54
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -53,10 +57,11 @@ var InputCalendar = function InputCalendar(_ref) {
53
57
 
54
58
  var _useState3 = (0, _react.useState)(false),
55
59
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
56
- isOpenedByOnFocus = _useState4[0],
57
- setOpenedByOnFocus = _useState4[1];
60
+ isOpenedByEnter = _useState4[0],
61
+ setOpenedByEnter = _useState4[1];
58
62
 
59
63
  var calendarRef = (0, _react.useRef)(null);
64
+ var inputRef = (0, _react.useRef)(null);
60
65
  var formattedMinDate = (0, _momentTimezone.default)(minDate, format).format(format) !== 'Invalid date' ? (0, _momentTimezone.default)(minDate, format).format(format) : null;
61
66
  var formattedMaxDate = (0, _momentTimezone.default)(maxDate, format).format(format) !== 'Invalid date' ? (0, _momentTimezone.default)(maxDate, format).format(format) : null;
62
67
  var momentMinDate = (0, _momentTimezone.default)(formattedMinDate, format).startOf('day');
@@ -80,23 +85,43 @@ var InputCalendar = function InputCalendar(_ref) {
80
85
  };
81
86
 
82
87
  (0, _react.useEffect)(function () {
83
- if (!isOpened) setOpenedByOnFocus(false);
88
+ if (!isOpened) {
89
+ handleBlur();
90
+ }
84
91
  }, [isOpened]);
85
92
 
86
93
  var handleBlur = function handleBlur(e) {
87
- var value = e.target.value;
94
+ var _inputRef$current;
95
+
96
+ var value = inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value;
88
97
  if ((0, _momentTimezone.default)(value, format).format(format) === 'Invalid date') onChange(formattedMaxDate !== null && formattedMaxDate !== void 0 ? formattedMaxDate : '');else if ((0, _momentTimezone.default)(value, format).startOf('day').isBefore(momentMinDate, 'days')) onChange(formattedMinDate);else if ((0, _momentTimezone.default)(value, format).endOf('day').isAfter(momentMaxDate, 'days')) onChange(formattedMaxDate);else onChange((0, _momentTimezone.default)(value, format).format(format));
89
98
  };
90
99
 
91
- var onKeyUp = function onKeyUp(e) {
92
- if (!isOpenedByOnFocus) {
93
- if (e.key === 'Enter') e.target.blur();
94
- setIsOpened(false);
95
- } else if (e.target.value.replace(/[^0-9]/g, "").length === 8) {
96
- e.target.blur();
97
- handleBlur(e);
100
+ var onKeyDown = function onKeyDown(e) {
101
+ if (isOpened && [9, 13].includes(e.keyCode)) {
102
+ var _inputRef$current2;
103
+
98
104
  setIsOpened(false);
105
+ setOpenedByEnter(true);
106
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.blur();
99
107
  }
108
+
109
+ onKeyDownProp(e);
110
+ };
111
+
112
+ var onKeyUp = function onKeyUp(e) {
113
+ var isValidLenght = e.target.value.replace(/[^0-9]/g, '').length === 8;
114
+
115
+ if ([9, 13].includes(e.keyCode)) {
116
+ var _inputRef$current3;
117
+
118
+ setIsOpened(true);
119
+ setOpenedByEnter(true);
120
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.focus();
121
+ }
122
+
123
+ if (isValidLenght) handleBlur();
124
+ onKeyUpProp(e);
100
125
  };
101
126
 
102
127
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -112,12 +137,12 @@ var InputCalendar = function InputCalendar(_ref) {
112
137
  return changeInputValue(e.target.value);
113
138
  },
114
139
  className: "calendar-dropdown",
115
- onFocus: function onFocus(e) {
116
- setOpenedByOnFocus(true);
117
- setIsOpened(true);
140
+ onClick: function onClick() {
141
+ return setIsOpened(true);
118
142
  },
119
- onBlur: !isOpened ? handleBlur : function () {},
120
- onKeyUp: onKeyUp
143
+ onKeyUp: onKeyUp,
144
+ onKeyDown: onKeyDown,
145
+ ref: inputRef
121
146
  }), isOpened ? /*#__PURE__*/_react.default.createElement(_Calendar.default, {
122
147
  date: getCalendarValue(value),
123
148
  setDate: function setDate(newDate) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "0.2.51",
3
+ "version": "0.2.52",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [