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.
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +43 -19
- package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +6 -0
- package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +34 -7
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +20 -0
- package/dist/Atomic/FormElements/Dropdown/components/Loader.scss +57 -0
- package/dist/Atomic/FormElements/Input/Input.js +42 -18
- package/dist/Atomic/FormElements/Input/Input.stories.js +4 -0
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +33 -31
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +29 -19
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +8 -2
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +2 -4
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +2 -0
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +35 -20
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +8 -2
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +1 -1
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +125 -87
- package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +6 -10
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +3 -1
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +4 -4
- package/dist/Atomic/UI/Calendar/Calendar.js +6 -4
- package/dist/Atomic/UI/Calendar/Calendar.scss +19 -3
- package/dist/Functions/inputExecutor.js +1 -1
- package/package.json +2 -3
- package/src/Atomic/FormElements/Dropdown/Dropdown.js +66 -35
- package/src/Atomic/FormElements/Dropdown/Dropdown.scss +6 -0
- package/src/Atomic/FormElements/Dropdown/Dropdown.stories.js +22 -8
- package/src/Atomic/FormElements/Dropdown/components/DropdownLoader.js +16 -0
- package/src/Atomic/FormElements/Dropdown/components/Loader.scss +57 -0
- package/src/Atomic/FormElements/Input/Input.js +56 -39
- package/src/Atomic/FormElements/Input/Input.stories.js +4 -0
- package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +18 -17
- package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +17 -14
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +5 -0
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +2 -4
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +2 -0
- package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +41 -20
- package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +5 -1
- package/src/Atomic/FormElements/InputDateRange/dependencies.js +1 -1
- package/src/Atomic/FormElements/NumericInput/NumericInput.js +107 -64
- package/src/Atomic/FormElements/NumericInput/NumericInput.stories.js +6 -22
- package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +1 -1
- package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +4 -4
- package/src/Atomic/UI/Calendar/Calendar.js +3 -3
- package/src/Atomic/UI/Calendar/Calendar.scss +19 -3
- 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
|
|
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 ||
|
|
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
|
|
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 ||
|
|
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
|
-
|
|
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
|
-
|
|
70
|
-
setValue('');
|
|
97
|
+
return setDisabled(!disabled);
|
|
71
98
|
}
|
|
72
|
-
},
|
|
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;
|
|
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
|
|
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 (
|
|
120
|
-
onChange(
|
|
122
|
+
if (isTwoDigitAfterDot) {
|
|
123
|
+
onChange(cutOffsingleDot(value));
|
|
121
124
|
}
|
|
122
125
|
|
|
123
|
-
if (
|
|
124
|
-
onChange(
|
|
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 (
|
|
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
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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 (
|
|
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
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
-
|
|
35
|
-
|
|
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(
|
|
53
|
-
if (
|
|
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(
|
|
62
|
-
|
|
63
|
-
|
|
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:
|
|
71
|
-
|
|
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:
|
|
79
|
+
date: getCalendarValue(value),
|
|
81
80
|
setDate: function setDate(newDate) {
|
|
82
81
|
return changeCalendarDay(newDate);
|
|
83
82
|
},
|
|
84
|
-
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.
|
|
10
|
+
exports.CalendarTemplate = exports.default = void 0;
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
15
|
|
|
14
|
-
var
|
|
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/
|
|
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
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
|
41
|
-
exports.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
minDate: '10/
|
|
45
|
-
maxDate: '10/
|
|
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
|
-
@
|
|
602
|
+
@media screen and (max-width: 992px) {
|
|
605
603
|
.opened-part__intervals-list {
|
|
606
604
|
display: none;
|
|
607
605
|
}
|
|
608
606
|
}
|
|
609
607
|
|
|
610
|
-
@
|
|
608
|
+
@media screen and (max-width: 745px) {
|
|
611
609
|
.date-picker__inputs-block {
|
|
612
610
|
flex-flow: wrap;
|
|
613
611
|
}
|