intelicoreact 0.0.8 → 0.0.9

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 (45) hide show
  1. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +43 -19
  2. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +6 -0
  3. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +34 -7
  4. package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +20 -0
  5. package/dist/Atomic/FormElements/Dropdown/components/Loader.scss +57 -0
  6. package/dist/Atomic/FormElements/Input/Input.js +42 -18
  7. package/dist/Atomic/FormElements/Input/Input.stories.js +4 -0
  8. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +33 -31
  9. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +29 -19
  10. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +8 -2
  11. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +2 -4
  12. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +2 -0
  13. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +35 -20
  14. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +8 -2
  15. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +1 -1
  16. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +125 -87
  17. package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +6 -10
  18. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +3 -1
  19. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +4 -4
  20. package/dist/Atomic/UI/Calendar/Calendar.js +6 -4
  21. package/dist/Atomic/UI/Calendar/Calendar.scss +19 -3
  22. package/dist/Functions/inputExecutor.js +1 -1
  23. package/package.json +2 -3
  24. package/src/Atomic/FormElements/Dropdown/Dropdown.js +66 -35
  25. package/src/Atomic/FormElements/Dropdown/Dropdown.scss +6 -0
  26. package/src/Atomic/FormElements/Dropdown/Dropdown.stories.js +22 -8
  27. package/src/Atomic/FormElements/Dropdown/components/DropdownLoader.js +16 -0
  28. package/src/Atomic/FormElements/Dropdown/components/Loader.scss +57 -0
  29. package/src/Atomic/FormElements/Input/Input.js +56 -39
  30. package/src/Atomic/FormElements/Input/Input.stories.js +4 -0
  31. package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +18 -17
  32. package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +17 -14
  33. package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +5 -0
  34. package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +2 -4
  35. package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +2 -0
  36. package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +41 -20
  37. package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +5 -1
  38. package/src/Atomic/FormElements/InputDateRange/dependencies.js +1 -1
  39. package/src/Atomic/FormElements/NumericInput/NumericInput.js +107 -64
  40. package/src/Atomic/FormElements/NumericInput/NumericInput.stories.js +6 -22
  41. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +1 -1
  42. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +4 -4
  43. package/src/Atomic/UI/Calendar/Calendar.js +3 -3
  44. package/src/Atomic/UI/Calendar/Calendar.scss +19 -3
  45. package/src/Functions/inputExecutor.js +6 -15
@@ -2,13 +2,15 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
12
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
15
 
14
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -21,11 +23,13 @@ var _classnames = _interopRequireDefault(require("classnames"));
21
23
 
22
24
  var _reactFeather = require("react-feather");
23
25
 
26
+ var _DropdownLoader = _interopRequireDefault(require("./components/DropdownLoader"));
27
+
24
28
  require("./Dropdown.scss");
25
29
 
26
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
31
 
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
33
 
30
34
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
31
35
 
@@ -34,29 +38,32 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
34
38
  var RC = 'dropdown';
35
39
 
36
40
  var Dropdown = function Dropdown(_ref) {
37
- var _options$find, _filteredOptions$find;
41
+ var _options$find;
38
42
 
39
43
  var _ref$options = _ref.options,
40
44
  options = _ref$options === void 0 ? [] : _ref$options,
41
45
  value = _ref.value,
42
46
  error = _ref.error,
47
+ disabled = _ref.disabled,
43
48
  onChange = _ref.onChange,
44
49
  placeholder = _ref.placeholder,
45
50
  className = _ref.className,
46
51
  isSearchable = _ref.isSearchable,
47
- entity = _ref.entity;
52
+ entity = _ref.entity,
53
+ scrollReactionObj = _ref.scrollReactionObj;
48
54
 
49
55
  var _useState = (0, _react.useState)(false),
50
56
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
57
  isOpen = _useState2[0],
52
58
  setIsOpen = _useState2[1];
53
59
 
54
- var _useState3 = (0, _react.useState)(''),
60
+ var _useState3 = (0, _react.useState)(),
55
61
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
56
62
  searchValue = _useState4[0],
57
63
  setSearchValue = _useState4[1];
58
64
 
59
65
  var dropdownRef = (0, _react.useRef)(null);
66
+ var dropdownListRef = (0, _react.useRef)(null);
60
67
  if (!options) return null;
61
68
  var filteredGroups = options.filter(function (item) {
62
69
  var _item$items;
@@ -153,14 +160,6 @@ var Dropdown = function Dropdown(_ref) {
153
160
  })) : null;
154
161
  };
155
162
 
156
- (0, _react.useEffect)(function () {
157
- if (!value) setSearchValue(null);
158
- document.addEventListener('click', handleClickOutside, true);
159
- return function () {
160
- return document.removeEventListener('click', handleClickOutside, true);
161
- };
162
- }, [value]);
163
-
164
163
  var filteredOptionList = function filteredOptionList(filteredOption) {
165
164
  var _filteredOption$items;
166
165
 
@@ -183,8 +182,34 @@ var Dropdown = function Dropdown(_ref) {
183
182
  return el.value === value;
184
183
  })) === null || _item$items4$find === void 0 ? void 0 : _item$items4$find.label);
185
184
  }, null);
185
+ var doScrollCallback = (0, _react.useCallback)(function (e) {
186
+ var callback = scrollReactionObj.callback,
187
+ isWithAnyScrolling = scrollReactionObj.isWithAnyScrolling;
188
+
189
+ if (callback && typeof callback === 'function') {
190
+ if (isWithAnyScrolling) callback(e);else if (e.target.clientHeight + e.target.scrollTop >= e.target.scrollHeight) callback(e);
191
+ }
192
+ }, [filteredOptions]);
193
+ (0, _react.useEffect)(function () {
194
+ if (!value) setSearchValue(null);
195
+ document.addEventListener('click', handleClickOutside, true);
196
+ return function () {
197
+ return document.removeEventListener('click', handleClickOutside, true);
198
+ };
199
+ }, [value]);
200
+ (0, _react.useEffect)(function () {
201
+ if (scrollReactionObj && (0, _typeof2.default)(scrollReactionObj) === 'object' && isOpen && dropdownListRef && dropdownListRef.current) {
202
+ dropdownListRef.current.addEventListener('scroll', doScrollCallback);
203
+ }
204
+
205
+ return function () {
206
+ if (scrollReactionObj && (0, _typeof2.default)(scrollReactionObj) === 'object') removeEventListener('scroll', doScrollCallback);
207
+ };
208
+ }, [isOpen, dropdownListRef]);
186
209
  return /*#__PURE__*/_react.default.createElement("div", {
187
- className: (0, _classnames.default)(RC, className),
210
+ className: (0, _classnames.default)(RC, className, {
211
+ disabled: disabled
212
+ }),
188
213
  ref: dropdownRef
189
214
  }, /*#__PURE__*/_react.default.createElement("button", {
190
215
  className: "".concat(RC, "__trigger input__wrap ").concat(!value ? 'placeholder' : '', " ").concat(error ? 'error' : ''),
@@ -193,9 +218,7 @@ var Dropdown = function Dropdown(_ref) {
193
218
  }
194
219
  }, isSearchable ? /*#__PURE__*/_react.default.createElement("input", {
195
220
  className: "".concat(RC, "__input"),
196
- value: searchValue || ((_filteredOptions$find = filteredOptions.find(function (el) {
197
- return el.value === value;
198
- })) === null || _filteredOptions$find === void 0 ? void 0 : _filteredOptions$find.label) || '',
221
+ value: searchValue || selectedLabel || '',
199
222
  onChange: function onChange(e) {
200
223
  onSearchHandler(e.target.value);
201
224
  },
@@ -212,12 +235,13 @@ var Dropdown = function Dropdown(_ref) {
212
235
  return setIsOpen(!isOpen);
213
236
  }
214
237
  }, isOpen ? /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronUp, null) : /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronDown, null))), isOpen && filteredOptions.length > 0 && /*#__PURE__*/_react.default.createElement("div", {
215
- className: "".concat(RC, "__list")
238
+ className: "".concat(RC, "__list"),
239
+ ref: dropdownListRef
216
240
  }, depend.options.map(function (filteredOption) {
217
241
  var _filteredOption$items2;
218
242
 
219
243
  return (_filteredOption$items2 = filteredOption.items) !== null && _filteredOption$items2 !== void 0 && _filteredOption$items2.length ? filteredOptionList(filteredOption) : getMarkupForElement(filteredOption);
220
- })));
244
+ }), disabled && isOpen && /*#__PURE__*/_react.default.createElement(_DropdownLoader.default, null)));
221
245
  };
222
246
 
223
247
  var _default = Dropdown;
@@ -45,6 +45,7 @@
45
45
  }
46
46
 
47
47
  &__list {
48
+ position: relative;
48
49
  background: #ffffff;
49
50
  border: 1px solid #e2e5ec;
50
51
  box-shadow: 0 5px 20px rgb(0 0 0 / 15%);
@@ -177,4 +178,9 @@
177
178
  font-size: 10px;
178
179
  color: $color--secondary;
179
180
  }
181
+
182
+ &.disabled {
183
+ pointer-events: none;
184
+ opacity: 0.5;
185
+ }
180
186
  }
@@ -44,32 +44,59 @@ var _default = {
44
44
  }
45
45
  };
46
46
  exports.default = _default;
47
+ var blockStyles = {
48
+ display: 'flex',
49
+ flexFlow: 'row no-wrap',
50
+ alignItems: 'center'
51
+ };
47
52
  var buttonStyles = {
48
53
  border: 'solid 1px #000',
49
- padding: '5px'
54
+ padding: '5px',
55
+ margin: '0 0 0 50px'
50
56
  };
51
57
 
52
58
  var Template = function Template(args) {
53
- var _useState = (0, _react.useState)(''),
59
+ var _useState = (0, _react.useState)(args.value),
54
60
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
61
  value = _useState2[0],
56
62
  setValue = _useState2[1];
57
63
 
58
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
64
+ var _useState3 = (0, _react.useState)(false),
65
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
66
+ disabled = _useState4[0],
67
+ setDisabled = _useState4[1];
68
+
69
+ return /*#__PURE__*/_react.default.createElement("div", {
70
+ style: blockStyles
71
+ }, /*#__PURE__*/_react.default.createElement("div", {
72
+ key: "dropdown",
59
73
  style: {
60
74
  width: 200
61
75
  }
62
76
  }, /*#__PURE__*/_react.default.createElement(_Dropdown.default, (0, _extends2.default)({}, args, {
63
77
  value: value,
64
- onChange: setValue
78
+ onChange: setValue,
79
+ disabled: disabled,
80
+ scrollReactionObj: {
81
+ callback: function callback(e) {
82
+ return setDisabled(true);
83
+ }
84
+ }
65
85
  }))), /*#__PURE__*/_react.default.createElement("button", {
86
+ key: "reset",
87
+ style: buttonStyles,
88
+ className: "mt10",
89
+ onClick: function onClick() {
90
+ return setValue('');
91
+ }
92
+ }, "Reset"), /*#__PURE__*/_react.default.createElement("button", {
93
+ key: "enable/disable",
66
94
  style: buttonStyles,
67
95
  className: "mt10",
68
96
  onClick: function onClick() {
69
- console.log('click!');
70
- setValue('');
97
+ return setDisabled(!disabled);
71
98
  }
72
- }, "Reset"));
99
+ }, disabled ? 'enable' : 'disable'));
73
100
  };
74
101
 
75
102
  var DropdownTemplate = Template.bind({});
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ require("./Loader.scss");
9
+
10
+ var DropdownLoader = function DropdownLoader(_ref) {
11
+ var variant = _ref.variant;
12
+ return /*#__PURE__*/React.createElement("div", {
13
+ className: "dropdown-loader-box j5"
14
+ }, /*#__PURE__*/React.createElement("div", {
15
+ className: "lds-ring".concat(variant === 'little' ? ' lds-ring_little' : '')
16
+ }, /*#__PURE__*/React.createElement("div", null), /*#__PURE__*/React.createElement("div", null), /*#__PURE__*/React.createElement("div", null), /*#__PURE__*/React.createElement("div", null)));
17
+ };
18
+
19
+ var _default = DropdownLoader;
20
+ exports.default = _default;
@@ -0,0 +1,57 @@
1
+ @mixin fill-parent {
2
+ left: 0;
3
+ top: 0;
4
+ width: 100%;
5
+ height: 100%;
6
+ }
7
+
8
+ .dropdown-loader-box {
9
+ position: absolute;
10
+ @include fill-parent;
11
+ background: #fff;
12
+ opacity: 0.1;
13
+ z-index: 100;
14
+ }
15
+ .lds-ring {
16
+ display: inline-block;
17
+ position: relative;
18
+ width: 100px;
19
+ height: 100px;
20
+ }
21
+ .lds-ring.lds-ring_little {
22
+ width: 20px;
23
+ height: 20px;
24
+ }
25
+ .lds-ring div {
26
+ box-sizing: border-box;
27
+ display: block;
28
+ position: absolute;
29
+ width: 84px;
30
+ height: 84px;
31
+ margin: 8px;
32
+ border: 8px solid #000;
33
+ border-radius: 50%;
34
+ animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
35
+ border-color: #000 transparent transparent transparent;
36
+ }
37
+ .lds-ring_little div {
38
+ width: 20px;
39
+ height: 20px;
40
+ }
41
+ .lds-ring div:nth-child(1) {
42
+ animation-delay: -0.45s;
43
+ }
44
+ .lds-ring div:nth-child(2) {
45
+ animation-delay: -0.3s;
46
+ }
47
+ .lds-ring div:nth-child(3) {
48
+ animation-delay: -0.15s;
49
+ }
50
+ @keyframes lds-ring {
51
+ 0% {
52
+ transform: rotate(0deg);
53
+ }
54
+ 100% {
55
+ transform: rotate(360deg);
56
+ }
57
+ }
@@ -58,7 +58,9 @@ var Input = function Input(_ref) {
58
58
  error = _ref.error,
59
59
  icon = _ref.icon,
60
60
  symbolsLimit = _ref.symbolsLimit,
61
- blinkTime = _ref.blinkTime;
61
+ blinkTime = _ref.blinkTime,
62
+ _ref$isFocusDefault = _ref.isFocusDefault,
63
+ isFocusDefault = _ref$isFocusDefault === void 0 ? false : _ref$isFocusDefault;
62
64
  var DEFAULT_BLINK_TIME = 100; // STATES
63
65
 
64
66
  var _useState = (0, _react.useState)(false),
@@ -88,7 +90,8 @@ var Input = function Input(_ref) {
88
90
  onlyString = _inputExecutor.formatInput.onlyString;
89
91
  var _formatInput$priceInp = _inputExecutor.formatInput.priceInput,
90
92
  addCommas = _formatInput$priceInp.addCommas,
91
- removeComma = _formatInput$priceInp.removeComma; // HANDLES
93
+ removeComma = _formatInput$priceInp.removeComma;
94
+ var isUseErrorsBlink = !isNotBlinkErrors && !mask; // HANDLES
92
95
 
93
96
  var handle = {
94
97
  change: function change(e) {
@@ -109,37 +112,54 @@ var Input = function Input(_ref) {
109
112
  },
110
113
  focus: function focus(e) {
111
114
  setIsFocused(true);
112
- if (isPriceInput && isOnlyNumber && !isTwoDigitAfterDot) onChange(removeComma(value));
115
+ if (isPriceInput && isOnlyNumber) onChange(removeComma(value));
113
116
  if (onFocus) onFocus(e);
114
117
  },
115
118
  blur: function blur(e) {
116
119
  setIsFocused(false);
117
120
  setEditing(false);
118
121
 
119
- if (isPriceInput && isOnlyNumber && !isTwoDigitAfterDot) {
120
- onChange(addCommas(value));
122
+ if (isTwoDigitAfterDot) {
123
+ onChange(cutOffsingleDot(value));
121
124
  }
122
125
 
123
- if (isTwoDigitAfterDot && !isPriceInput) {
124
- onChange(cutOffsingleDot(value));
126
+ if (isPriceInput && isOnlyNumber) {
127
+ onChange(addCommas(value));
125
128
  }
126
129
 
127
130
  if (onBlur) onBlur(e);
128
131
  },
129
132
  keyUp: function keyUp(e) {
130
- if (!isNotBlinkErrors) {
133
+ if (isUseErrorsBlink) {
131
134
  var _previousValueRef$cur;
132
135
 
133
136
  var changedValue = '' + (value !== null && value !== void 0 ? value : '');
134
137
  var previousValue = '' + ((_previousValueRef$cur = previousValueRef.current) !== null && _previousValueRef$cur !== void 0 ? _previousValueRef$cur : '');
135
-
136
- var currentSet = function () {
137
- if (previousValue.length < changedValue.length) return value.slice(previousValue.length - changedValue.length);else return changedValue.includes(e.key) ? e.key : '';
138
- }();
139
-
140
- if (!_index.KEYBOARD_SERVICE_KEYS.includes(e.key) && changedValue === previousValue) setIsAttemptToChange(true);
141
- console.log(changedValue, previousValue);
142
- if (_index.KEYBOARD_SERVICE_KEYS.includes(e.key) || !currentSet) previousValueRef.current = value;else previousValueRef.current = previousValue + currentSet[0];
138
+ var short = previousValue.length <= changedValue.length ? previousValue : changedValue;
139
+ var long = previousValue.length > changedValue.length ? previousValue : changedValue;
140
+ var infoAboutDifferencesSameness = short.split('').reduce(function (acc, symbol, idx) {
141
+ if (acc.countOn && symbol === long[idx]) acc.same.push(symbol);else {
142
+ acc.countOn = false;
143
+ acc.differences.push([idx, symbol]);
144
+ }
145
+ return acc;
146
+ }, {
147
+ same: [],
148
+ countOn: true,
149
+ differences: []
150
+ });
151
+ var samePart = infoAboutDifferencesSameness.same.join('');
152
+ var differencesLength = infoAboutDifferencesSameness.differences.length;
153
+ var currentSet = changedValue.replace(samePart, '');
154
+
155
+ var getNext = function getNext(inputPartToAdd, correctedSamePart) {
156
+ var partToAdd = inputPartToAdd || currentSet;
157
+ var currentSamePart = correctedSamePart || samePart;
158
+ return changedValue.includes(e.key) && e.key !== changedValue[changedValue.length - 1] ? currentSamePart + (partToAdd[0] || '') : changedValue;
159
+ };
160
+
161
+ if (!_index.KEYBOARD_SERVICE_KEYS.includes(e.key) && changedValue === previousValue) setIsAttemptToChange(!(!differencesLength && e.key === changedValue[changedValue.length - 2]));
162
+ if (!previousValueRef.current || _index.KEYBOARD_SERVICE_KEYS.includes(e.key)) previousValueRef.current = getNext();else if (changedValue === samePart) previousValueRef.current = getNext(changedValue, changedValue.slice(0, -1));else previousValueRef.current = getNext();
143
163
  }
144
164
 
145
165
  if (onKeyUp) onKeyUp(e.keyCode, e);
@@ -147,7 +167,7 @@ var Input = function Input(_ref) {
147
167
  };
148
168
 
149
169
  function cutOffsingleDot(value) {
150
- return value.slice(-1) === '.' ? value.slice(0, -1) : value;
170
+ return value.toString().slice(-1) === '.' ? value.slice(0, -1) : value;
151
171
  }
152
172
 
153
173
  (0, _react.useEffect)(function () {
@@ -184,7 +204,7 @@ var Input = function Input(_ref) {
184
204
  }
185
205
 
186
206
  (0, _react.useEffect)(function () {
187
- if (!isNotBlinkErrors && isAttemptToChange) {
207
+ if (isUseErrorsBlink && isAttemptToChange) {
188
208
  setIsAttemptToChange(null);
189
209
  setIsToHighlightError(true);
190
210
  setTimeout(function () {
@@ -192,6 +212,10 @@ var Input = function Input(_ref) {
192
212
  }, blinkTime || DEFAULT_BLINK_TIME);
193
213
  }
194
214
  }, [isAttemptToChange]);
215
+ (0, _react.useEffect)(function () {
216
+ if (inputRef !== null && inputRef !== void 0 && inputRef.current && typeof isFocusDefault === 'boolean') setIsFocused(isFocusDefault);
217
+ setEditing(isFocusDefault);
218
+ }, [inputRef, isFocusDefault]);
195
219
  return /*#__PURE__*/_react.default.createElement("div", {
196
220
  className: (0, _classnames.default)("input__wrap", (0, _defineProperty2.default)({}, "input__wrap_focus", isFocused), (0, _defineProperty2.default)({}, "input__wrap_error", error || isToHighlightError), (0, _defineProperty2.default)({}, "input__wrap_disabled", disabled))
197
221
  }, renderInput(), icon, withDelete && /*#__PURE__*/_react.default.createElement("span", {
@@ -49,6 +49,9 @@ var _default = {
49
49
  isTwoDigitAfterDot: {
50
50
  description: 'boolean - only two digits after dot'
51
51
  },
52
+ isFocusDefault: {
53
+ description: 'boolean - if true, input will be focused on mount'
54
+ },
52
55
  placeholder: {
53
56
  description: 'text'
54
57
  },
@@ -103,6 +106,7 @@ var InputTemplate = Template.bind({});
103
106
  exports.InputTemplate = InputTemplate;
104
107
  InputTemplate.args = {
105
108
  type: 'text',
109
+ isFocusDefault: false,
106
110
  isOnlyNumber: false,
107
111
  isOnlyString: false,
108
112
  isPriceInput: false,
@@ -26,49 +26,48 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
26
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
27
 
28
28
  var InputCalendar = function InputCalendar(_ref) {
29
- var data = _ref.data,
30
- params = _ref.params;
31
-
32
- var _useState = (0, _react.useState)(data),
29
+ var value = _ref.value,
30
+ minDate = _ref.minDate,
31
+ maxDate = _ref.maxDate,
32
+ onChange = _ref.onChange,
33
+ _ref$className = _ref.className,
34
+ className = _ref$className === void 0 ? '' : _ref$className,
35
+ _ref$placeholder = _ref.placeholder,
36
+ placeholder = _ref$placeholder === void 0 ? 'mm/dd/yyyy' : _ref$placeholder,
37
+ _ref$mask = _ref.mask,
38
+ mask = _ref$mask === void 0 ? '99/99/9999' : _ref$mask;
39
+
40
+ var _useState = (0, _react.useState)(false),
33
41
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
34
- date = _useState2[0],
35
- setDate = _useState2[1];
36
-
37
- var _useState3 = (0, _react.useState)(date),
38
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
39
- inputValue = _useState4[0],
40
- setInputValue = _useState4[1];
41
-
42
- var _useState5 = (0, _react.useState)(false),
43
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
44
- isOpened = _useState6[0],
45
- setIsOpened = _useState6[1];
42
+ isOpened = _useState2[0],
43
+ setIsOpened = _useState2[1];
46
44
 
47
45
  var calendarRef = (0, _react.useRef)(null);
48
46
  (0, _useClickOutside.useClickOutside)(calendarRef, function () {
49
47
  return setIsOpened(false);
50
48
  });
51
49
 
52
- var changeInputValue = function changeInputValue(value) {
53
- if (!value.includes('_') && value) {
54
- setDate((0, _moment.default)(value).format('L'));
55
- setInputValue((0, _moment.default)(value).format('L'));
56
- } else {
57
- setInputValue(value);
58
- }
50
+ var changeInputValue = function changeInputValue(val) {
51
+ if (onChange) onChange(val);
59
52
  };
60
53
 
61
- var changeCalendarDay = function changeCalendarDay(value) {
62
- setDate(value);
63
- setInputValue(value);
54
+ var changeCalendarDay = function changeCalendarDay(val) {
55
+ if (onChange) onChange(val);
56
+ };
57
+
58
+ var getCalendarValue = function getCalendarValue(value) {
59
+ var date = (0, _moment.default)(value).format('L');
60
+ if (date !== "Invalid date") return date;
61
+ return (0, _moment.default)(new Date()).format('L');
64
62
  };
65
63
 
66
64
  return /*#__PURE__*/_react.default.createElement("div", {
67
- className: "calendar-container",
65
+ className: "input__wrap calendar-container ".concat(className),
68
66
  ref: calendarRef
69
67
  }, /*#__PURE__*/_react.default.createElement(_reactInputMask.default, {
70
- mask: "99/99/9999",
71
- value: inputValue,
68
+ mask: mask,
69
+ placeholder: placeholder,
70
+ value: value,
72
71
  onChange: function onChange(e) {
73
72
  return changeInputValue(e.target.value);
74
73
  },
@@ -77,11 +76,14 @@ var InputCalendar = function InputCalendar(_ref) {
77
76
  return setIsOpened(!isOpened);
78
77
  }
79
78
  }), isOpened ? /*#__PURE__*/_react.default.createElement(_Calendar.default, {
80
- date: date,
79
+ date: getCalendarValue(value),
81
80
  setDate: function setDate(newDate) {
82
81
  return changeCalendarDay(newDate);
83
82
  },
84
- params: params
83
+ params: {
84
+ minDate: minDate,
85
+ maxDate: maxDate
86
+ }
85
87
  }) : null);
86
88
  };
87
89
 
@@ -7,11 +7,13 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.Calendar = exports.default = void 0;
10
+ exports.CalendarTemplate = exports.default = void 0;
11
11
 
12
- var _react = _interopRequireWildcard(require("react"));
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
15
 
14
- var _yup = require("yup");
16
+ var _react = _interopRequireWildcard(require("react"));
15
17
 
16
18
  var _InputCalendar = _interopRequireDefault(require("./InputCalendar"));
17
19
 
@@ -21,26 +23,34 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
21
23
 
22
24
  global.lng = 'en';
23
25
  var _default = {
24
- title: 'Form Elements/InputCalendar',
25
- component: _InputCalendar.default
26
+ title: 'Form Elements/Input Calendar',
27
+ component: _InputCalendar.default,
28
+ argTypes: {
29
+ value: {
30
+ description: 'string (mm.dd.yyyy)'
31
+ }
32
+ }
26
33
  };
27
34
  exports.default = _default;
28
35
 
29
36
  var Template = function Template(args) {
30
- var params = {
31
- minDate: args === null || args === void 0 ? void 0 : args.minDate,
32
- maxDate: args === null || args === void 0 ? void 0 : args.maxDate
33
- };
34
- return /*#__PURE__*/_react.default.createElement(_InputCalendar.default, {
35
- data: args.date,
36
- params: params
37
- });
37
+ var _useState = (0, _react.useState)(''),
38
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
39
+ date = _useState2[0],
40
+ setDate = _useState2[1];
41
+
42
+ return /*#__PURE__*/_react.default.createElement(_InputCalendar.default, (0, _extends2.default)({}, args, {
43
+ value: date,
44
+ onChange: function onChange(val) {
45
+ return setDate(val);
46
+ }
47
+ }));
38
48
  };
39
49
 
40
- var Calendar = Template.bind({});
41
- exports.Calendar = Calendar;
42
- Calendar.args = {
43
- date: '10/14/2021',
44
- minDate: '10/11/2021',
45
- maxDate: '10/25/2021'
50
+ var CalendarTemplate = Template.bind({});
51
+ exports.CalendarTemplate = CalendarTemplate;
52
+ CalendarTemplate.args = {
53
+ value: '',
54
+ minDate: '10/14/2020',
55
+ maxDate: '10/14/2022'
46
56
  };
@@ -55,7 +55,11 @@ var InputDateRange = function InputDateRange(props) {
55
55
  _props$hideArrows = props.hideArrows,
56
56
  hideArrows = _props$hideArrows === void 0 ? false : _props$hideArrows,
57
57
  isOptionsRight = props.isOptionsRight,
58
- isUseAbs = props.isUseAbs;
58
+ isUseAbs = props.isUseAbs,
59
+ _props$minDate = props.minDate,
60
+ minDate = _props$minDate === void 0 ? null : _props$minDate,
61
+ _props$maxDate = props.maxDate,
62
+ maxDate = _props$maxDate === void 0 ? null : _props$maxDate;
59
63
  var actualValues = (0, _dependencies.getActualDateRange)(value);
60
64
 
61
65
  var _useToggle = (0, _dependencies.useToggle)(false),
@@ -223,7 +227,9 @@ var InputDateRange = function InputDateRange(props) {
223
227
  isCompare: isCompare,
224
228
  setIsCompare: setIsCompare,
225
229
  toggleOff: toggleOff,
226
- onChange: handleChange
230
+ onChange: handleChange,
231
+ minDate: minDate ? (0, _momentTimezone.default)(minDate) : null,
232
+ maxDate: maxDate ? (0, _momentTimezone.default)(maxDate) : null
227
233
  })))), error && /*#__PURE__*/_react.default.createElement("span", {
228
234
  className: "date-range-input__error-block"
229
235
  }, error));
@@ -1,5 +1,3 @@
1
- @import "../../node_modules/anme/scss/anme-mixins-media";
2
-
3
1
  :root {
4
2
  --input-height: 28px;
5
3
  --label-line-height: 16px;
@@ -601,13 +599,13 @@
601
599
  }
602
600
  }
603
601
 
604
- @include lgDown {
602
+ @media screen and (max-width: 992px) {
605
603
  .opened-part__intervals-list {
606
604
  display: none;
607
605
  }
608
606
  }
609
607
 
610
- @include mdDown {
608
+ @media screen and (max-width: 745px) {
611
609
  .date-picker__inputs-block {
612
610
  flex-flow: wrap;
613
611
  }
@@ -77,6 +77,8 @@ InputDateRangeTemplate.args = {
77
77
  error: false,
78
78
  disabled: false,
79
79
  isHoverable: false,
80
+ minDate: "",
81
+ maxDate: "",
80
82
  // short: true,
81
83
  isCompact: false,
82
84
  // isFocused: true,