intelicoreact 0.0.7 → 0.0.8
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 +20 -19
- package/dist/Atomic/FormElements/Input/Input.js +85 -46
- package/dist/Atomic/FormElements/Input/Input.stories.js +16 -22
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +18 -43
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +42 -10
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +3 -156
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +11 -9
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +3 -3
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +254 -0
- package/dist/Atomic/FormElements/NumericInput/NumericInput.scss +135 -0
- package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +121 -0
- package/dist/Atomic/UI/Arrow/Arrow.js +6 -6
- package/dist/Constants/index.constants.js +8 -0
- package/dist/Functions/inputExecutor.js +58 -0
- package/package.json +6 -5
- package/src/Atomic/FormElements/Dropdown/Dropdown.js +36 -39
- package/src/Atomic/FormElements/Input/Input.js +86 -36
- package/src/Atomic/FormElements/Input/Input.stories.js +40 -29
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +187 -214
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +42 -10
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +35 -123
- package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +10 -7
- package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +2 -2
- package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +1 -1
- package/src/Atomic/FormElements/NumericInput/NumericInput.js +220 -0
- package/src/Atomic/FormElements/NumericInput/NumericInput.scss +135 -0
- package/src/Atomic/FormElements/NumericInput/NumericInput.stories.js +94 -0
- package/src/Atomic/UI/Arrow/Arrow.js +4 -4
- package/src/Constants/index.constants.js +41 -0
- package/src/Functions/inputExecutor.js +62 -0
- package/src/Functions/utils.js +4 -1
|
@@ -21,8 +21,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
21
21
|
|
|
22
22
|
var _reactFeather = require("react-feather");
|
|
23
23
|
|
|
24
|
-
var _Label = _interopRequireDefault(require("../Label/Label"));
|
|
25
|
-
|
|
26
24
|
require("./Dropdown.scss");
|
|
27
25
|
|
|
28
26
|
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); }
|
|
@@ -38,7 +36,8 @@ var RC = 'dropdown';
|
|
|
38
36
|
var Dropdown = function Dropdown(_ref) {
|
|
39
37
|
var _options$find, _filteredOptions$find;
|
|
40
38
|
|
|
41
|
-
var options = _ref.options,
|
|
39
|
+
var _ref$options = _ref.options,
|
|
40
|
+
options = _ref$options === void 0 ? [] : _ref$options,
|
|
42
41
|
value = _ref.value,
|
|
43
42
|
error = _ref.error,
|
|
44
43
|
onChange = _ref.onChange,
|
|
@@ -58,6 +57,7 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
58
57
|
setSearchValue = _useState4[1];
|
|
59
58
|
|
|
60
59
|
var dropdownRef = (0, _react.useRef)(null);
|
|
60
|
+
if (!options) return null;
|
|
61
61
|
var filteredGroups = options.filter(function (item) {
|
|
62
62
|
var _item$items;
|
|
63
63
|
|
|
@@ -85,28 +85,35 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
85
85
|
return item === null || item === void 0 ? void 0 : (_item$label = item.label) === null || _item$label === void 0 ? void 0 : _item$label.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || '');
|
|
86
86
|
});
|
|
87
87
|
var filteredOptions = [].concat((0, _toConsumableArray2.default)(filteredItems), (0, _toConsumableArray2.default)(filteredGroups));
|
|
88
|
-
var modalBtnTrigger = entity && entity !== '' && typeof entity === 'string';
|
|
88
|
+
var modalBtnTrigger = entity && entity !== '' && typeof entity === 'string';
|
|
89
|
+
|
|
90
|
+
var onChangeHandler = function onChangeHandler(item) {
|
|
91
|
+
setIsOpen(false);
|
|
92
|
+
setSearchValue(null);
|
|
93
|
+
onChange(item.value);
|
|
94
|
+
}; // decorator
|
|
95
|
+
|
|
89
96
|
|
|
90
|
-
var getDepends = function getDepends(
|
|
91
|
-
var newOnChange = function newOnChange(
|
|
92
|
-
if (
|
|
97
|
+
var getDepends = function getDepends(getDependsTrigger) {
|
|
98
|
+
var newOnChange = function newOnChange(e) {
|
|
99
|
+
if (e.value === 'open_modal') {
|
|
93
100
|
onChange('open_modal');
|
|
94
101
|
} else {
|
|
95
|
-
onChangeHandler(
|
|
102
|
+
onChangeHandler(e);
|
|
96
103
|
}
|
|
97
|
-
}; //add pseudo option
|
|
104
|
+
}; // add pseudo option
|
|
98
105
|
|
|
99
106
|
|
|
100
107
|
var newOptions = [{
|
|
101
|
-
label:
|
|
108
|
+
label: "New ".concat(entity),
|
|
102
109
|
value: 'open_modal',
|
|
103
110
|
className: 'dropdown__list-item--modal'
|
|
104
111
|
}].concat((0, _toConsumableArray2.default)(filteredOptions));
|
|
105
112
|
return {
|
|
106
|
-
onChange: function onChange(
|
|
107
|
-
return
|
|
113
|
+
onChange: function onChange(changeItem) {
|
|
114
|
+
return getDependsTrigger ? newOnChange(changeItem) : onChangeHandler(changeItem);
|
|
108
115
|
},
|
|
109
|
-
options:
|
|
116
|
+
options: getDependsTrigger ? newOptions : options
|
|
110
117
|
};
|
|
111
118
|
};
|
|
112
119
|
|
|
@@ -117,12 +124,6 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
117
124
|
}
|
|
118
125
|
};
|
|
119
126
|
|
|
120
|
-
var onChangeHandler = function onChangeHandler(item) {
|
|
121
|
-
setIsOpen(false);
|
|
122
|
-
setSearchValue(null);
|
|
123
|
-
onChange(item.value);
|
|
124
|
-
};
|
|
125
|
-
|
|
126
127
|
var onSearchHandler = function onSearchHandler(name) {
|
|
127
128
|
setSearchValue(name);
|
|
128
129
|
};
|
|
@@ -19,10 +19,12 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
19
19
|
|
|
20
20
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
21
21
|
|
|
22
|
-
var _reactFeather = require("react-feather");
|
|
23
|
-
|
|
24
22
|
var _reactInputMask = _interopRequireDefault(require("react-input-mask"));
|
|
25
23
|
|
|
24
|
+
var _index = require("../../../Constants/index.constants");
|
|
25
|
+
|
|
26
|
+
var _inputExecutor = require("../../../Functions/inputExecutor");
|
|
27
|
+
|
|
26
28
|
require("./Input.scss");
|
|
27
29
|
|
|
28
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); }
|
|
@@ -35,30 +37,30 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
35
37
|
|
|
36
38
|
var Input = function Input(_ref) {
|
|
37
39
|
var onChange = _ref.onChange,
|
|
40
|
+
onBlur = _ref.onBlur,
|
|
41
|
+
onFocus = _ref.onFocus,
|
|
42
|
+
onKeyUp = _ref.onKeyUp,
|
|
43
|
+
isNotBlinkErrors = _ref.isNotBlinkErrors,
|
|
44
|
+
isPriceInput = _ref.isPriceInput,
|
|
45
|
+
isOnlyNumber = _ref.isOnlyNumber,
|
|
46
|
+
isOnlyString = _ref.isOnlyString,
|
|
47
|
+
isTwoDigitAfterDot = _ref.isTwoDigitAfterDot,
|
|
38
48
|
disabled = _ref.disabled,
|
|
39
49
|
withDelete = _ref.withDelete,
|
|
40
|
-
isNumeric = _ref.isNumeric,
|
|
41
|
-
_ref$numStep = _ref.numStep,
|
|
42
|
-
numStep = _ref$numStep === void 0 ? 1 : _ref$numStep,
|
|
43
|
-
_ref$min = _ref.min,
|
|
44
|
-
min = _ref$min === void 0 ? 0 : _ref$min,
|
|
45
|
-
max = _ref.max,
|
|
46
50
|
value = _ref.value,
|
|
47
51
|
placeholder = _ref.placeholder,
|
|
48
52
|
className = _ref.className,
|
|
49
53
|
_ref$type = _ref.type,
|
|
50
54
|
type = _ref$type === void 0 ? 'text' : _ref$type,
|
|
51
|
-
onBlur = _ref.onBlur,
|
|
52
|
-
onFocus = _ref.onFocus,
|
|
53
|
-
onKeyUp = _ref.onKeyUp,
|
|
54
55
|
mask = _ref.mask,
|
|
55
56
|
maskChar = _ref.maskChar,
|
|
56
57
|
formatChars = _ref.formatChars,
|
|
57
58
|
error = _ref.error,
|
|
58
59
|
icon = _ref.icon,
|
|
59
|
-
symbolsLimit = _ref.symbolsLimit
|
|
60
|
+
symbolsLimit = _ref.symbolsLimit,
|
|
61
|
+
blinkTime = _ref.blinkTime;
|
|
62
|
+
var DEFAULT_BLINK_TIME = 100; // STATES
|
|
60
63
|
|
|
61
|
-
// STATES
|
|
62
64
|
var _useState = (0, _react.useState)(false),
|
|
63
65
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
64
66
|
isFocused = _useState2[0],
|
|
@@ -69,20 +71,36 @@ var Input = function Input(_ref) {
|
|
|
69
71
|
isEditing = _useState4[0],
|
|
70
72
|
setEditing = _useState4[1];
|
|
71
73
|
|
|
72
|
-
var inputRef = (0, _react.useRef)(null);
|
|
74
|
+
var inputRef = (0, _react.useRef)(null);
|
|
75
|
+
var previousValueRef = (0, _react.useRef)(value);
|
|
76
|
+
|
|
77
|
+
var _useState5 = (0, _react.useState)(false),
|
|
78
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
79
|
+
isAttemptToChange = _useState6[0],
|
|
80
|
+
setIsAttemptToChange = _useState6[1];
|
|
81
|
+
|
|
82
|
+
var _useState7 = (0, _react.useState)(false),
|
|
83
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
84
|
+
isToHighlightError = _useState8[0],
|
|
85
|
+
setIsToHighlightError = _useState8[1];
|
|
86
|
+
|
|
87
|
+
var onlyNumbers = _inputExecutor.formatInput.onlyNumbers,
|
|
88
|
+
onlyString = _inputExecutor.formatInput.onlyString;
|
|
89
|
+
var _formatInput$priceInp = _inputExecutor.formatInput.priceInput,
|
|
90
|
+
addCommas = _formatInput$priceInp.addCommas,
|
|
91
|
+
removeComma = _formatInput$priceInp.removeComma; // HANDLES
|
|
73
92
|
|
|
74
93
|
var handle = {
|
|
75
94
|
change: function change(e) {
|
|
76
95
|
var inputValue = e.target ? e.target.value : e;
|
|
77
96
|
|
|
78
|
-
if (
|
|
79
|
-
inputValue =
|
|
80
|
-
|
|
81
|
-
if (min && +min > inputValue) {
|
|
82
|
-
inputValue = min;
|
|
83
|
-
} else if (max && +max < inputValue) inputValue = max;
|
|
84
|
-
} else if (symbolsLimit && inputValue.length > +symbolsLimit) inputValue = inputValue.substring(0, +symbolsLimit);
|
|
97
|
+
if (symbolsLimit && inputValue.length > +symbolsLimit) {
|
|
98
|
+
inputValue = inputValue.substring(0, +symbolsLimit);
|
|
99
|
+
}
|
|
85
100
|
|
|
101
|
+
if (isOnlyNumber && !isTwoDigitAfterDot) inputValue = onlyNumbers(inputValue);
|
|
102
|
+
if (isTwoDigitAfterDot) inputValue = onlyNumbers(inputValue, true);
|
|
103
|
+
if (isOnlyString) inputValue = onlyString(inputValue);
|
|
86
104
|
onChange(inputValue.toString());
|
|
87
105
|
},
|
|
88
106
|
toggleEdit: function toggleEdit() {
|
|
@@ -91,17 +109,47 @@ var Input = function Input(_ref) {
|
|
|
91
109
|
},
|
|
92
110
|
focus: function focus(e) {
|
|
93
111
|
setIsFocused(true);
|
|
112
|
+
if (isPriceInput && isOnlyNumber && !isTwoDigitAfterDot) onChange(removeComma(value));
|
|
94
113
|
if (onFocus) onFocus(e);
|
|
95
114
|
},
|
|
96
115
|
blur: function blur(e) {
|
|
97
116
|
setIsFocused(false);
|
|
98
117
|
setEditing(false);
|
|
118
|
+
|
|
119
|
+
if (isPriceInput && isOnlyNumber && !isTwoDigitAfterDot) {
|
|
120
|
+
onChange(addCommas(value));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (isTwoDigitAfterDot && !isPriceInput) {
|
|
124
|
+
onChange(cutOffsingleDot(value));
|
|
125
|
+
}
|
|
126
|
+
|
|
99
127
|
if (onBlur) onBlur(e);
|
|
100
128
|
},
|
|
101
129
|
keyUp: function keyUp(e) {
|
|
102
|
-
|
|
130
|
+
if (!isNotBlinkErrors) {
|
|
131
|
+
var _previousValueRef$cur;
|
|
132
|
+
|
|
133
|
+
var changedValue = '' + (value !== null && value !== void 0 ? value : '');
|
|
134
|
+
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];
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (onKeyUp) onKeyUp(e.keyCode, e);
|
|
103
146
|
}
|
|
104
147
|
};
|
|
148
|
+
|
|
149
|
+
function cutOffsingleDot(value) {
|
|
150
|
+
return value.slice(-1) === '.' ? value.slice(0, -1) : value;
|
|
151
|
+
}
|
|
152
|
+
|
|
105
153
|
(0, _react.useEffect)(function () {
|
|
106
154
|
if (isEditing) inputRef.current.focus();
|
|
107
155
|
}, [isEditing, isFocused]);
|
|
@@ -114,9 +162,7 @@ var Input = function Input(_ref) {
|
|
|
114
162
|
onChange: handle.change,
|
|
115
163
|
onFocus: handle.focus,
|
|
116
164
|
onBlur: handle.blur,
|
|
117
|
-
onKeyUp: handle.keyUp
|
|
118
|
-
min: min,
|
|
119
|
-
max: max
|
|
165
|
+
onKeyUp: handle.keyUp
|
|
120
166
|
}, maskChar ? {
|
|
121
167
|
maskChar: maskChar
|
|
122
168
|
} : {}), formatChars ? {
|
|
@@ -131,31 +177,24 @@ var Input = function Input(_ref) {
|
|
|
131
177
|
}));
|
|
132
178
|
}
|
|
133
179
|
|
|
134
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
180
|
+
return /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, uniProps, {
|
|
135
181
|
ref: inputRef,
|
|
136
|
-
type:
|
|
137
|
-
}))
|
|
138
|
-
className: "input__nums"
|
|
139
|
-
}, /*#__PURE__*/_react.default.createElement("button", {
|
|
140
|
-
onClick: function onClick() {
|
|
141
|
-
return handle.change(value - numStep);
|
|
142
|
-
},
|
|
143
|
-
className: (0, _classnames.default)("input__num-btn", {
|
|
144
|
-
disabled: value <= min
|
|
145
|
-
})
|
|
146
|
-
}, /*#__PURE__*/_react.default.createElement(_reactFeather.Minus, null)), /*#__PURE__*/_react.default.createElement("button", {
|
|
147
|
-
onClick: function onClick() {
|
|
148
|
-
return handle.change(+value + +numStep);
|
|
149
|
-
},
|
|
150
|
-
className: (0, _classnames.default)("input__num-btn", {
|
|
151
|
-
disabled: value >= max
|
|
152
|
-
})
|
|
153
|
-
}, /*#__PURE__*/_react.default.createElement(_reactFeather.Plus, null))));
|
|
182
|
+
type: isPriceInput ? 'text' : type
|
|
183
|
+
}));
|
|
154
184
|
}
|
|
155
185
|
|
|
186
|
+
(0, _react.useEffect)(function () {
|
|
187
|
+
if (!isNotBlinkErrors && isAttemptToChange) {
|
|
188
|
+
setIsAttemptToChange(null);
|
|
189
|
+
setIsToHighlightError(true);
|
|
190
|
+
setTimeout(function () {
|
|
191
|
+
setIsToHighlightError(false);
|
|
192
|
+
}, blinkTime || DEFAULT_BLINK_TIME);
|
|
193
|
+
}
|
|
194
|
+
}, [isAttemptToChange]);
|
|
156
195
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
157
|
-
className: (0, _classnames.default)("input__wrap", (0, _defineProperty2.default)({}, "input__wrap_focus", isFocused), (0, _defineProperty2.default)({}, "input__wrap_error", error), (0, _defineProperty2.default)({}, "input__wrap_disabled", disabled))
|
|
158
|
-
}, renderInput(), icon, withDelete &&
|
|
196
|
+
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
|
+
}, renderInput(), icon, withDelete && /*#__PURE__*/_react.default.createElement("span", {
|
|
159
198
|
className: (0, _classnames.default)("input__close", {
|
|
160
199
|
hidden: !value
|
|
161
200
|
}),
|
|
@@ -34,20 +34,20 @@ var _default = {
|
|
|
34
34
|
error: {
|
|
35
35
|
description: 'text - coloring input if is errored'
|
|
36
36
|
},
|
|
37
|
+
isPriceInput: {
|
|
38
|
+
description: 'boolean - if true, the input will be styled as PriceInput'
|
|
39
|
+
},
|
|
37
40
|
withDelete: {
|
|
38
41
|
description: 'boolean - add clear-cross by hover'
|
|
39
42
|
},
|
|
40
|
-
|
|
41
|
-
description: 'boolean -
|
|
42
|
-
},
|
|
43
|
-
numStep: {
|
|
44
|
-
description: 'number/text - plus/minus buttons factor (default: 1)'
|
|
43
|
+
isOnlyNumber: {
|
|
44
|
+
description: 'boolean - only numbers'
|
|
45
45
|
},
|
|
46
|
-
|
|
47
|
-
description: '
|
|
46
|
+
isOnlyString: {
|
|
47
|
+
description: 'boolean - only strings'
|
|
48
48
|
},
|
|
49
|
-
|
|
50
|
-
description: '
|
|
49
|
+
isTwoDigitAfterDot: {
|
|
50
|
+
description: 'boolean - only two digits after dot'
|
|
51
51
|
},
|
|
52
52
|
placeholder: {
|
|
53
53
|
description: 'text'
|
|
@@ -103,21 +103,15 @@ var InputTemplate = Template.bind({});
|
|
|
103
103
|
exports.InputTemplate = InputTemplate;
|
|
104
104
|
InputTemplate.args = {
|
|
105
105
|
type: 'text',
|
|
106
|
+
isOnlyNumber: false,
|
|
107
|
+
isOnlyString: false,
|
|
108
|
+
isPriceInput: false,
|
|
109
|
+
isTwoDigitAfterDot: false,
|
|
106
110
|
disabled: false,
|
|
107
111
|
error: '',
|
|
112
|
+
mask: '',
|
|
108
113
|
withDelete: true,
|
|
109
|
-
|
|
110
|
-
numStep: 1,
|
|
111
|
-
min: '0',
|
|
112
|
-
max: '5',
|
|
114
|
+
symbolsLimit: 255,
|
|
113
115
|
placeholder: 'Placeholder',
|
|
114
|
-
|
|
115
|
-
// maskChar: '_',
|
|
116
|
-
// formatChars: {
|
|
117
|
-
// 'n': '[0-9]',
|
|
118
|
-
// 's': '[A-Za-z]',
|
|
119
|
-
// '*': '[A-Za-z0-9]'
|
|
120
|
-
// },
|
|
121
|
-
icon: /*#__PURE__*/_react.default.createElement(_reactFeather.User, null),
|
|
122
|
-
symbolsLimit: 225
|
|
116
|
+
icon: /*#__PURE__*/_react.default.createElement(_reactFeather.User, null)
|
|
123
117
|
};
|
|
@@ -44,27 +44,18 @@ var InputDateRange = function InputDateRange(props) {
|
|
|
44
44
|
id = props.id,
|
|
45
45
|
label = props.label,
|
|
46
46
|
className = props.className,
|
|
47
|
-
buttonsTypes = props.buttonsTypes,
|
|
48
47
|
value = props.value,
|
|
49
48
|
_props$onChange = props.onChange,
|
|
50
49
|
onChange = _props$onChange === void 0 ? function () {} : _props$onChange,
|
|
51
50
|
error = props.error,
|
|
52
51
|
disabled = props.disabled,
|
|
53
52
|
isHoverable = props.isHoverable,
|
|
54
|
-
short = props.short,
|
|
55
53
|
_props$isCompact = props.isCompact,
|
|
56
54
|
isCompact = _props$isCompact === void 0 ? false : _props$isCompact,
|
|
57
|
-
_props$isIntervalsHid = props.isIntervalsHidden,
|
|
58
|
-
isIntervalsHidden = _props$isIntervalsHid === void 0 ? false : _props$isIntervalsHid,
|
|
59
|
-
_props$isCompareHidde = props.isCompareHidden,
|
|
60
|
-
isCompareHidden = _props$isCompareHidde === void 0 ? false : _props$isCompareHidde,
|
|
61
55
|
_props$hideArrows = props.hideArrows,
|
|
62
56
|
hideArrows = _props$hideArrows === void 0 ? false : _props$hideArrows,
|
|
63
57
|
isOptionsRight = props.isOptionsRight,
|
|
64
|
-
|
|
65
|
-
isShortWeekNames = props.isShortWeekNames,
|
|
66
|
-
isUseAbs = props.isUseAbs,
|
|
67
|
-
absTooltip = props.absTooltip;
|
|
58
|
+
isUseAbs = props.isUseAbs;
|
|
68
59
|
var actualValues = (0, _dependencies.getActualDateRange)(value);
|
|
69
60
|
|
|
70
61
|
var _useToggle = (0, _dependencies.useToggle)(false),
|
|
@@ -85,7 +76,6 @@ var InputDateRange = function InputDateRange(props) {
|
|
|
85
76
|
|
|
86
77
|
var ref = !isUseAbs ? (0, _dependencies.useClickOutside)(toggleOff) : (0, _react.useRef)(null);
|
|
87
78
|
var internalContainerRef = (0, _react.useRef)(null);
|
|
88
|
-
var isEndDateNearFuture = (0, _momentTimezone.default)(actualValues === null || actualValues === void 0 ? void 0 : actualValues.end).isSameOrAfter((0, _momentTimezone.default)());
|
|
89
79
|
|
|
90
80
|
var handleChange = function handleChange(input) {
|
|
91
81
|
var newValue = (0, _dependencies.getActualDateRange)(input);
|
|
@@ -108,6 +98,12 @@ var InputDateRange = function InputDateRange(props) {
|
|
|
108
98
|
|
|
109
99
|
var Range = function Range() {
|
|
110
100
|
var SYMBOLS_QUANTITY_IF_TIME_ADDED = 13;
|
|
101
|
+
|
|
102
|
+
if (!actualValues.start && value.start) {
|
|
103
|
+
actualValues.start = value.start;
|
|
104
|
+
actualValues.end = value.end || '';
|
|
105
|
+
}
|
|
106
|
+
|
|
111
107
|
var start = actualValues.start,
|
|
112
108
|
end = actualValues.end;
|
|
113
109
|
if (!start || !end) return null;
|
|
@@ -136,7 +132,8 @@ var InputDateRange = function InputDateRange(props) {
|
|
|
136
132
|
var start = actualValues.start,
|
|
137
133
|
end = actualValues.end;
|
|
138
134
|
var intervalHoursCount = (0, _momentTimezone.default)(end).diff(start, 'hours');
|
|
139
|
-
var newEnd
|
|
135
|
+
var newEnd;
|
|
136
|
+
var newStart;
|
|
140
137
|
var endHours = (0, _momentTimezone.default)(end).hours();
|
|
141
138
|
var startHours = (0, _momentTimezone.default)(start).hours();
|
|
142
139
|
|
|
@@ -165,33 +162,7 @@ var InputDateRange = function InputDateRange(props) {
|
|
|
165
162
|
var handleArrowClick = function handleArrowClick(type) {
|
|
166
163
|
slideInterval(type === 'right' ? 'forward' : 'back');
|
|
167
164
|
toggleOff();
|
|
168
|
-
};
|
|
169
|
-
// () => ({
|
|
170
|
-
// body: OpenedPart,
|
|
171
|
-
// props: {
|
|
172
|
-
// ...props,
|
|
173
|
-
// key: `${actualValues.start}-${actualValues.end}-${actualValues.intervalKey}-${current}-${isCompare}`,
|
|
174
|
-
// actualValues,
|
|
175
|
-
// current,
|
|
176
|
-
// setCurrent,
|
|
177
|
-
// isCompare,
|
|
178
|
-
// setIsCompare,
|
|
179
|
-
// toggleOff,
|
|
180
|
-
// onChange,
|
|
181
|
-
// },
|
|
182
|
-
// clickOutsideCallback: () => toggleOff(),
|
|
183
|
-
// top: internalContainerRef.current?.getBoundingClientRect()?.bottom || 0,
|
|
184
|
-
// left: internalContainerRef.current?.getBoundingClientRect()?.left || 0,
|
|
185
|
-
// }),
|
|
186
|
-
// [isToggled, value, actualValues, current, isCompare],
|
|
187
|
-
// );
|
|
188
|
-
// useEffect(() => {
|
|
189
|
-
// if (current && isUseAbs && absTooltip) onChange(current, 'absTooltip/props/current');
|
|
190
|
-
// }, [current]);
|
|
191
|
-
// useEffect(() => {
|
|
192
|
-
// if (isUseAbs) onChange(isToggled ? absData : null, 'absTooltip');
|
|
193
|
-
// }, [isToggled]);
|
|
194
|
-
|
|
165
|
+
};
|
|
195
166
|
|
|
196
167
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
197
168
|
ref: internalContainerRef,
|
|
@@ -207,8 +178,12 @@ var InputDateRange = function InputDateRange(props) {
|
|
|
207
178
|
}, label), /*#__PURE__*/_react.default.createElement("div", {
|
|
208
179
|
className: "date-range-input__wraper",
|
|
209
180
|
ref: ref,
|
|
210
|
-
onMouseEnter: isHoverable
|
|
211
|
-
|
|
181
|
+
onMouseEnter: isHoverable ? toggleOn : function () {
|
|
182
|
+
return null;
|
|
183
|
+
},
|
|
184
|
+
onMouseLeave: isHoverable ? toggleOff : function () {
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
212
187
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
213
188
|
className: (0, _classnames.default)('date-range-input__absolut-wraper', {
|
|
214
189
|
'date-range-input__absolut-wraper_right-position': isOptionsRight
|
|
@@ -230,14 +205,14 @@ var InputDateRange = function InputDateRange(props) {
|
|
|
230
205
|
type: "left",
|
|
231
206
|
className: "date-range-input__arrow",
|
|
232
207
|
onClick: function onClick() {
|
|
233
|
-
return handleArrowClick(
|
|
208
|
+
return handleArrowClick('left');
|
|
234
209
|
},
|
|
235
210
|
disabled: disabled || (actualValues === null || actualValues === void 0 ? void 0 : actualValues.intervalKey) === _dependencies.ALL_TIME_KEY
|
|
236
211
|
}), /*#__PURE__*/_react.default.createElement(_Arrow.default, {
|
|
237
212
|
type: "right",
|
|
238
213
|
className: "date-range-input__arrow",
|
|
239
214
|
onClick: function onClick() {
|
|
240
|
-
return handleArrowClick(
|
|
215
|
+
return handleArrowClick('right');
|
|
241
216
|
},
|
|
242
217
|
disabled: disabled || (actualValues === null || actualValues === void 0 ? void 0 : actualValues.intervalKey) === _dependencies.ALL_TIME_KEY || (actualValues === null || actualValues === void 0 ? void 0 : actualValues.intervalKey) === 'today' || (0, _momentTimezone.default)(actualValues === null || actualValues === void 0 ? void 0 : actualValues.end).add((0, _momentTimezone.default)(actualValues === null || actualValues === void 0 ? void 0 : actualValues.end).diff(actualValues === null || actualValues === void 0 ? void 0 : actualValues.start, 'hours'), 'hours').isAfter((0, _momentTimezone.default)().add(1, 'day').startOf('day'))
|
|
243
218
|
}))), isToggled && !isUseAbs && /*#__PURE__*/_react.default.createElement(_OpenedPart.default, (0, _extends2.default)({}, props, {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import "../../node_modules/anme/scss/anme-mixins-media";
|
|
2
|
+
|
|
1
3
|
:root {
|
|
2
4
|
--input-height: 28px;
|
|
3
5
|
--label-line-height: 16px;
|
|
@@ -11,14 +13,14 @@
|
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
.date-range-input {
|
|
14
|
-
position: relative;
|
|
16
|
+
/*position: relative;
|
|
15
17
|
width: 335px;
|
|
16
|
-
height: calc(var(--input-height) + var(--label-line-height));
|
|
18
|
+
//height: calc(var(--input-height) + var(--label-line-height));
|
|
17
19
|
|
|
18
20
|
display: flex;
|
|
19
21
|
flex-flow: column nowrap;
|
|
20
22
|
justify-content: flex-end;
|
|
21
|
-
align-items: flex-start
|
|
23
|
+
align-items: flex-start;*/
|
|
22
24
|
|
|
23
25
|
input::-webkit-outer-spin-button,
|
|
24
26
|
input::-webkit-inner-spin-button {
|
|
@@ -205,7 +207,7 @@
|
|
|
205
207
|
border: 1px solid var(--border-color);
|
|
206
208
|
border-radius: var(--border-radius);
|
|
207
209
|
background: #FFFFFF;
|
|
208
|
-
|
|
210
|
+
box-shadow: 0 4px 25px rgba(0, 0, 0, 0.25);
|
|
209
211
|
&_right-position-once-element {
|
|
210
212
|
justify-content: flex-end;
|
|
211
213
|
}
|
|
@@ -222,15 +224,15 @@
|
|
|
222
224
|
position: relative;
|
|
223
225
|
|
|
224
226
|
width: 100%;
|
|
225
|
-
padding:
|
|
227
|
+
padding: 0 20px 0 30px;
|
|
226
228
|
|
|
227
229
|
text-transform: capitalize;
|
|
228
230
|
white-space: nowrap;
|
|
229
231
|
font-style: normal;
|
|
230
232
|
font-weight: 300;
|
|
231
233
|
font-family: var(--font-family);
|
|
232
|
-
font-size:
|
|
233
|
-
line-height:
|
|
234
|
+
font-size: 12px;
|
|
235
|
+
line-height: 24px;
|
|
234
236
|
cursor: pointer;
|
|
235
237
|
|
|
236
238
|
display: flex;
|
|
@@ -242,6 +244,9 @@
|
|
|
242
244
|
// background-color: rgba(128, 128, 128, 0.1);
|
|
243
245
|
background-color: #F2F2F8;
|
|
244
246
|
}
|
|
247
|
+
&_active {
|
|
248
|
+
background: #f2f2f8;
|
|
249
|
+
}
|
|
245
250
|
|
|
246
251
|
&-icon-active {
|
|
247
252
|
position: absolute;
|
|
@@ -293,7 +298,7 @@
|
|
|
293
298
|
|
|
294
299
|
&>div:not(.date-picker__inputs-separator) {
|
|
295
300
|
width: 110px;
|
|
296
|
-
height: 100%;
|
|
301
|
+
min-height: 100%;
|
|
297
302
|
margin-right: 9px;
|
|
298
303
|
|
|
299
304
|
border: 1px solid var(--border-color);
|
|
@@ -323,6 +328,9 @@
|
|
|
323
328
|
.date-picker__inputs-separator {
|
|
324
329
|
margin-right: 9px;
|
|
325
330
|
}
|
|
331
|
+
input {
|
|
332
|
+
font-weight: 300;
|
|
333
|
+
}
|
|
326
334
|
}
|
|
327
335
|
|
|
328
336
|
&__date-input {
|
|
@@ -348,7 +356,7 @@
|
|
|
348
356
|
|
|
349
357
|
&>.dropdown__trigger {
|
|
350
358
|
width: 100%;
|
|
351
|
-
height:
|
|
359
|
+
height: 28px;
|
|
352
360
|
padding-left: 10px;
|
|
353
361
|
padding-right: 15px;
|
|
354
362
|
|
|
@@ -420,7 +428,7 @@
|
|
|
420
428
|
|
|
421
429
|
font-size: calc(var(--font-size) + 2px);
|
|
422
430
|
line-height: calc(var(--line-height) + 4px);
|
|
423
|
-
|
|
431
|
+
|
|
424
432
|
font-style: normal;
|
|
425
433
|
font-weight: 500;
|
|
426
434
|
|
|
@@ -592,3 +600,27 @@
|
|
|
592
600
|
height: 100%;
|
|
593
601
|
}
|
|
594
602
|
}
|
|
603
|
+
|
|
604
|
+
@include lgDown {
|
|
605
|
+
.opened-part__intervals-list {
|
|
606
|
+
display: none;
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
@include mdDown {
|
|
611
|
+
.date-picker__inputs-block {
|
|
612
|
+
flex-flow: wrap;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
.date-picker__header {
|
|
616
|
+
flex-flow: row wrap
|
|
617
|
+
}
|
|
618
|
+
.date-picker__calendars-wrapper {
|
|
619
|
+
display: block;
|
|
620
|
+
margin: auto;
|
|
621
|
+
}
|
|
622
|
+
.date-picker__calendars .range-calendar {
|
|
623
|
+
margin: 0!important;
|
|
624
|
+
width: 100%;
|
|
625
|
+
}
|
|
626
|
+
}
|