intelicoreact 0.0.6 → 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/CheckboxInput/CheckboxInput.js +6 -2
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +91 -60
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +2 -1
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +84 -28
- package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +27 -3
- package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +50 -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 +124 -50
- package/dist/Atomic/FormElements/Input/Input.stories.js +19 -15
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +33 -31
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +29 -19
- package/dist/Atomic/FormElements/InputDateRange/{components/InputDateRange.js → InputDateRange.js} +54 -62
- package/dist/Atomic/FormElements/InputDateRange/{components/InputDateRange.scss → InputDateRange.scss} +254 -228
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +15 -160
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +72 -34
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +26 -11
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +14 -6
- package/dist/Atomic/FormElements/InputDateRange/{index.js → dependencies.js} +19 -18
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +292 -0
- package/dist/Atomic/FormElements/NumericInput/NumericInput.scss +135 -0
- package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +117 -0
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +10 -3
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +4 -4
- package/dist/Atomic/FormElements/Table/Table.scss +1 -1
- package/dist/Atomic/FormElements/Textarea/Textarea.scss +1 -1
- package/dist/Atomic/MainMenu/MainMenu.scss +2 -2
- package/dist/Atomic/UI/Accordion/Accordion.scss +2 -2
- package/dist/Atomic/UI/Arrow/Arrow.js +6 -6
- package/dist/Atomic/UI/Arrow/Arrow.scss +0 -3
- package/dist/Atomic/UI/Calendar/Calendar.js +8 -5
- package/dist/Atomic/UI/Calendar/Calendar.scss +19 -3
- package/dist/Atomic/UI/Calendar/Calendar.stories.js +3 -2
- package/dist/Atomic/UI/Status/Status.scss +1 -1
- package/dist/Constants/index.constants.js +8 -0
- package/dist/Functions/inputExecutor.js +58 -0
- package/dist/Molecular/Datepicker/Datepicker.js +451 -0
- package/dist/Molecular/Datepicker/Datepicker.scss +8 -0
- package/dist/Molecular/Datepicker/Datepicker.stories.js +44 -0
- package/dist/{Atomic/FormElements/Calendar → Molecular/Datepicker/components}/Calendar.js +50 -39
- package/dist/scss/_vars.scss +3 -1
- package/dist/scss/main.scss +1 -1
- package/package.json +5 -4
- package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.js +12 -2
- package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.scss +91 -60
- package/src/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +4 -3
- package/src/Atomic/FormElements/Dropdown/Dropdown.js +104 -39
- package/src/Atomic/FormElements/Dropdown/Dropdown.scss +27 -3
- package/src/Atomic/FormElements/Dropdown/Dropdown.stories.js +42 -15
- 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 +108 -37
- package/src/Atomic/FormElements/Input/Input.stories.js +43 -22
- 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 +219 -0
- package/src/Atomic/FormElements/InputDateRange/{components/InputDateRange.scss → InputDateRange.scss} +254 -228
- package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +38 -117
- package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +92 -53
- package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +14 -5
- package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +5 -3
- package/src/Atomic/FormElements/InputDateRange/{index.js → dependencies.js} +16 -12
- package/src/Atomic/FormElements/NumericInput/NumericInput.js +263 -0
- package/src/Atomic/FormElements/NumericInput/NumericInput.scss +135 -0
- package/src/Atomic/FormElements/NumericInput/NumericInput.stories.js +78 -0
- package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +6 -3
- package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +4 -4
- package/src/Atomic/FormElements/Table/Table.scss +1 -1
- package/src/Atomic/FormElements/Textarea/Textarea.scss +1 -1
- package/src/Atomic/MainMenu/MainMenu.scss +2 -2
- package/src/Atomic/UI/Accordion/Accordion.scss +2 -2
- package/src/Atomic/UI/Arrow/Arrow.js +4 -4
- package/src/Atomic/UI/Arrow/Arrow.scss +0 -3
- package/src/Atomic/UI/Calendar/Calendar.js +4 -4
- package/src/Atomic/UI/Calendar/Calendar.scss +19 -3
- package/src/Atomic/UI/Calendar/Calendar.stories.js +2 -1
- package/src/Atomic/UI/Status/Status.scss +1 -1
- package/src/Constants/index.constants.js +41 -0
- package/src/Functions/inputExecutor.js +53 -0
- package/src/Functions/utils.js +4 -1
- package/src/Molecular/Datepicker/Datepicker.js +346 -0
- package/src/Molecular/Datepicker/Datepicker.scss +8 -0
- package/src/Molecular/Datepicker/Datepicker.stories.js +27 -0
- package/src/Molecular/Datepicker/components/Calendar.js +118 -0
- package/src/scss/_vars.scss +3 -1
- package/src/scss/main.scss +1 -1
- package/dist/Atomic/FormElements/Calendar/Calendar.scss +0 -543
- package/dist/Atomic/FormElements/Calendar/Calendar.stories.js +0 -33
- package/dist/scss/anme/_anme-bootstrap-grid.scss +0 -748
- package/dist/scss/anme/_anme-elements.scss +0 -269
- package/dist/scss/anme/_anme-grid.scss +0 -111
- package/dist/scss/anme/_anme-justify.scss +0 -111
- package/dist/scss/anme/_anme-mixins-media.scss +0 -116
- package/dist/scss/anme/_anme-mixins.scss +0 -166
- package/dist/scss/anme/_anme-normalize.scss +0 -8
- package/dist/scss/anme/_anme-overall.scss +0 -34
- package/dist/scss/anme/_anme-padding-margins.scss +0 -419
- package/dist/scss/anme/_anme-table.scss +0 -81
- package/dist/scss/anme/_anme-theme.scss +0 -275
- package/dist/scss/anme/_anme-vars.scss +0 -91
- package/dist/scss/anme/_code-styling.scss +0 -23
- package/dist/scss/anme/styles.scss +0 -12
- package/src/Atomic/FormElements/InputDateRange/components/InputDateRange.js +0 -230
- package/src/scss/anme/_anme-bootstrap-grid.scss +0 -748
- package/src/scss/anme/_anme-elements.scss +0 -269
- package/src/scss/anme/_anme-grid.scss +0 -111
- package/src/scss/anme/_anme-justify.scss +0 -111
- package/src/scss/anme/_anme-mixins-media.scss +0 -116
- package/src/scss/anme/_anme-mixins.scss +0 -166
- package/src/scss/anme/_anme-normalize.scss +0 -8
- package/src/scss/anme/_anme-overall.scss +0 -34
- package/src/scss/anme/_anme-padding-margins.scss +0 -419
- package/src/scss/anme/_anme-table.scss +0 -81
- package/src/scss/anme/_anme-theme.scss +0 -275
- package/src/scss/anme/_anme-vars.scss +0 -91
- package/src/scss/anme/_code-styling.scss +0 -23
- package/src/scss/anme/styles.scss +0 -12
|
@@ -21,7 +21,8 @@ var CheckboxInput = function CheckboxInput(_ref) {
|
|
|
21
21
|
value = _ref.value,
|
|
22
22
|
_onChange = _ref.onChange,
|
|
23
23
|
disabled = _ref.disabled,
|
|
24
|
-
className = _ref.className
|
|
24
|
+
className = _ref.className,
|
|
25
|
+
isStark = _ref.isStark;
|
|
25
26
|
return /*#__PURE__*/_react.default.createElement("label", {
|
|
26
27
|
className: (0, _classnames.default)('checkbox-input', className, (0, _defineProperty2.default)({}, "checkbox-input_disabled", disabled)),
|
|
27
28
|
htmlFor: id
|
|
@@ -35,7 +36,10 @@ var CheckboxInput = function CheckboxInput(_ref) {
|
|
|
35
36
|
return _onChange(!value, e);
|
|
36
37
|
},
|
|
37
38
|
checked: value,
|
|
38
|
-
disabled: disabled
|
|
39
|
+
disabled: disabled,
|
|
40
|
+
ref: function ref(elem) {
|
|
41
|
+
if (elem) elem.indeterminate = isStark;
|
|
42
|
+
}
|
|
39
43
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
40
44
|
className: "checkbox-input__mark"
|
|
41
45
|
})), label && /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -1,76 +1,107 @@
|
|
|
1
1
|
.checkbox-input {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
display: flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
cursor: pointer;
|
|
5
|
+
|
|
6
|
+
&_disabled {
|
|
7
|
+
opacity: 0.5;
|
|
8
|
+
pointer-events: none;
|
|
9
|
+
cursor: auto;
|
|
10
|
+
}
|
|
5
11
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
cursor: auto;
|
|
12
|
+
&:hover {
|
|
13
|
+
.checkbox-input__input {
|
|
14
|
+
background-color: rgba(#6b81dd, 0.2);
|
|
10
15
|
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&__input {
|
|
19
|
+
position: relative;
|
|
20
|
+
height: 14px;
|
|
21
|
+
width: 14px;
|
|
22
|
+
min-width: 14px;
|
|
23
|
+
border: 1px solid #9aa0b9;
|
|
24
|
+
border-radius: 2px;
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
margin-right: 5px;
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
transition: background-color 0.2s ease;
|
|
29
|
+
background-color: #ffff;
|
|
11
30
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
background-color: rgba(#6b81dd, .2);
|
|
15
|
-
}
|
|
31
|
+
&_checked {
|
|
32
|
+
border-color: #6b81dd;
|
|
16
33
|
}
|
|
17
34
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
min-width: 14px;
|
|
23
|
-
border: 1px solid #9AA0B9;
|
|
24
|
-
border-radius: 2px;
|
|
25
|
-
overflow: hidden;
|
|
26
|
-
margin-right: 5px;
|
|
27
|
-
cursor: pointer;
|
|
28
|
-
transition: background-color .2s ease;
|
|
29
|
-
background-color: #ffff;
|
|
35
|
+
.checkbox-input__checkbox:checked ~ .checkbox-input__mark {
|
|
36
|
+
display: block;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
30
39
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
40
|
+
&__checkbox {
|
|
41
|
+
opacity: 0;
|
|
42
|
+
position: absolute;
|
|
43
|
+
height: 0;
|
|
44
|
+
width: 0;
|
|
45
|
+
}
|
|
34
46
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
47
|
+
&__mark {
|
|
48
|
+
display: none;
|
|
49
|
+
position: absolute;
|
|
50
|
+
width: 14px;
|
|
51
|
+
height: 14px;
|
|
52
|
+
background-color: #6b81dd;
|
|
38
53
|
|
|
54
|
+
&:after {
|
|
55
|
+
content: "";
|
|
56
|
+
position: absolute;
|
|
57
|
+
top: -2px;
|
|
58
|
+
bottom: 0;
|
|
59
|
+
left: 0;
|
|
60
|
+
right: 0;
|
|
61
|
+
margin: auto;
|
|
62
|
+
width: 4px;
|
|
63
|
+
height: 8px;
|
|
64
|
+
border: solid white;
|
|
65
|
+
border-radius: 2px;
|
|
66
|
+
border-width: 0 2px 2px 0;
|
|
67
|
+
transform: rotate(45deg);
|
|
39
68
|
}
|
|
69
|
+
}
|
|
40
70
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
width: 0;
|
|
46
|
-
}
|
|
71
|
+
&__label {
|
|
72
|
+
font-size: 13px;
|
|
73
|
+
user-select: none;
|
|
74
|
+
}
|
|
47
75
|
|
|
48
|
-
|
|
49
|
-
|
|
76
|
+
input[type="checkbox" i] {
|
|
77
|
+
&:indeterminate {
|
|
78
|
+
display: block;
|
|
79
|
+
width: 100%;
|
|
80
|
+
height: 100%;
|
|
81
|
+
&:after {
|
|
82
|
+
content: "";
|
|
50
83
|
position: absolute;
|
|
51
|
-
|
|
52
|
-
|
|
84
|
+
top: 0;
|
|
85
|
+
bottom: 0;
|
|
86
|
+
left: 0;
|
|
87
|
+
right: 0;
|
|
88
|
+
margin: auto;
|
|
89
|
+
width: 100%;
|
|
90
|
+
height: 100%;
|
|
53
91
|
background-color: #6b81dd;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
border-width: 0 2px 2px 0;
|
|
68
|
-
transform: rotate(45deg);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
&__label{
|
|
73
|
-
font-size: 13px;
|
|
74
|
-
user-select: none;
|
|
92
|
+
}
|
|
93
|
+
&:before {
|
|
94
|
+
content: "";
|
|
95
|
+
position: absolute;
|
|
96
|
+
top: 50%;
|
|
97
|
+
left: 50%;
|
|
98
|
+
transform: translate(-50%, -50%);
|
|
99
|
+
width: 65%;
|
|
100
|
+
border: solid white;
|
|
101
|
+
border-radius: 2px;
|
|
102
|
+
border-width: 0 2px 2px 0;
|
|
103
|
+
z-index: 1;
|
|
104
|
+
}
|
|
75
105
|
}
|
|
106
|
+
}
|
|
76
107
|
}
|
|
@@ -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,13 +23,13 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
21
23
|
|
|
22
24
|
var _reactFeather = require("react-feather");
|
|
23
25
|
|
|
24
|
-
var
|
|
26
|
+
var _DropdownLoader = _interopRequireDefault(require("./components/DropdownLoader"));
|
|
25
27
|
|
|
26
28
|
require("./Dropdown.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); }
|
|
29
31
|
|
|
30
|
-
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; }
|
|
31
33
|
|
|
32
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; }
|
|
33
35
|
|
|
@@ -38,25 +40,31 @@ var RC = 'dropdown';
|
|
|
38
40
|
var Dropdown = function Dropdown(_ref) {
|
|
39
41
|
var _options$find;
|
|
40
42
|
|
|
41
|
-
var options = _ref.options,
|
|
43
|
+
var _ref$options = _ref.options,
|
|
44
|
+
options = _ref$options === void 0 ? [] : _ref$options,
|
|
42
45
|
value = _ref.value,
|
|
43
46
|
error = _ref.error,
|
|
47
|
+
disabled = _ref.disabled,
|
|
44
48
|
onChange = _ref.onChange,
|
|
45
49
|
placeholder = _ref.placeholder,
|
|
46
50
|
className = _ref.className,
|
|
47
|
-
isSearchable = _ref.isSearchable
|
|
51
|
+
isSearchable = _ref.isSearchable,
|
|
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);
|
|
67
|
+
if (!options) return null;
|
|
60
68
|
var filteredGroups = options.filter(function (item) {
|
|
61
69
|
var _item$items;
|
|
62
70
|
|
|
@@ -84,6 +92,37 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
84
92
|
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()) || '');
|
|
85
93
|
});
|
|
86
94
|
var filteredOptions = [].concat((0, _toConsumableArray2.default)(filteredItems), (0, _toConsumableArray2.default)(filteredGroups));
|
|
95
|
+
var modalBtnTrigger = entity && entity !== '' && typeof entity === 'string';
|
|
96
|
+
|
|
97
|
+
var onChangeHandler = function onChangeHandler(item) {
|
|
98
|
+
setIsOpen(false);
|
|
99
|
+
setSearchValue(null);
|
|
100
|
+
onChange(item.value);
|
|
101
|
+
}; // decorator
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
var getDepends = function getDepends(getDependsTrigger) {
|
|
105
|
+
var newOnChange = function newOnChange(e) {
|
|
106
|
+
if (e.value === 'open_modal') {
|
|
107
|
+
onChange('open_modal');
|
|
108
|
+
} else {
|
|
109
|
+
onChangeHandler(e);
|
|
110
|
+
}
|
|
111
|
+
}; // add pseudo option
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
var newOptions = [{
|
|
115
|
+
label: "New ".concat(entity),
|
|
116
|
+
value: 'open_modal',
|
|
117
|
+
className: 'dropdown__list-item--modal'
|
|
118
|
+
}].concat((0, _toConsumableArray2.default)(filteredOptions));
|
|
119
|
+
return {
|
|
120
|
+
onChange: function onChange(changeItem) {
|
|
121
|
+
return getDependsTrigger ? newOnChange(changeItem) : onChangeHandler(changeItem);
|
|
122
|
+
},
|
|
123
|
+
options: getDependsTrigger ? newOptions : options
|
|
124
|
+
};
|
|
125
|
+
};
|
|
87
126
|
|
|
88
127
|
var handleClickOutside = function handleClickOutside(event) {
|
|
89
128
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
@@ -92,12 +131,6 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
92
131
|
}
|
|
93
132
|
};
|
|
94
133
|
|
|
95
|
-
var onChangeHandler = function onChangeHandler(item) {
|
|
96
|
-
setIsOpen(false);
|
|
97
|
-
setSearchValue(null);
|
|
98
|
-
onChange(item.value);
|
|
99
|
-
};
|
|
100
|
-
|
|
101
134
|
var onSearchHandler = function onSearchHandler(name) {
|
|
102
135
|
setSearchValue(name);
|
|
103
136
|
};
|
|
@@ -108,11 +141,13 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
108
141
|
}) : text;
|
|
109
142
|
};
|
|
110
143
|
|
|
144
|
+
var depend = getDepends(modalBtnTrigger);
|
|
145
|
+
|
|
111
146
|
var getMarkupForElement = function getMarkupForElement(item) {
|
|
112
147
|
return item.label.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || '') ? /*#__PURE__*/_react.default.createElement("button", {
|
|
113
148
|
key: item.value,
|
|
114
149
|
onClick: function onClick() {
|
|
115
|
-
return
|
|
150
|
+
return depend.onChange(item);
|
|
116
151
|
},
|
|
117
152
|
className: (0, _classnames.default)("".concat(RC, "__list-item"), (0, _defineProperty2.default)({}, "".concat(RC, "__list-item_active"), item.value === value), (0, _defineProperty2.default)({}, "".concat(RC, "__list-item_disabled"), item.disabled))
|
|
118
153
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -125,13 +160,6 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
125
160
|
})) : null;
|
|
126
161
|
};
|
|
127
162
|
|
|
128
|
-
(0, _react.useEffect)(function () {
|
|
129
|
-
document.addEventListener('click', handleClickOutside, true);
|
|
130
|
-
return function () {
|
|
131
|
-
return document.removeEventListener('click', handleClickOutside, true);
|
|
132
|
-
};
|
|
133
|
-
});
|
|
134
|
-
|
|
135
163
|
var filteredOptionList = function filteredOptionList(filteredOption) {
|
|
136
164
|
var _filteredOption$items;
|
|
137
165
|
|
|
@@ -154,8 +182,34 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
154
182
|
return el.value === value;
|
|
155
183
|
})) === null || _item$items4$find === void 0 ? void 0 : _item$items4$find.label);
|
|
156
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]);
|
|
157
209
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
158
|
-
className: (0, _classnames.default)(RC, className
|
|
210
|
+
className: (0, _classnames.default)(RC, className, {
|
|
211
|
+
disabled: disabled
|
|
212
|
+
}),
|
|
159
213
|
ref: dropdownRef
|
|
160
214
|
}, /*#__PURE__*/_react.default.createElement("button", {
|
|
161
215
|
className: "".concat(RC, "__trigger input__wrap ").concat(!value ? 'placeholder' : '', " ").concat(error ? 'error' : ''),
|
|
@@ -164,13 +218,14 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
164
218
|
}
|
|
165
219
|
}, isSearchable ? /*#__PURE__*/_react.default.createElement("input", {
|
|
166
220
|
className: "".concat(RC, "__input"),
|
|
167
|
-
value: searchValue
|
|
221
|
+
value: searchValue || selectedLabel || '',
|
|
168
222
|
onChange: function onChange(e) {
|
|
169
|
-
|
|
223
|
+
onSearchHandler(e.target.value);
|
|
170
224
|
},
|
|
171
225
|
placeholder: placeholder,
|
|
172
|
-
onFocus: function onFocus() {
|
|
173
|
-
|
|
226
|
+
onFocus: function onFocus(e) {
|
|
227
|
+
e.target.select();
|
|
228
|
+
setIsOpen(true);
|
|
174
229
|
}
|
|
175
230
|
}) : /*#__PURE__*/_react.default.createElement("span", {
|
|
176
231
|
className: "text"
|
|
@@ -180,12 +235,13 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
180
235
|
return setIsOpen(!isOpen);
|
|
181
236
|
}
|
|
182
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", {
|
|
183
|
-
className: "".concat(RC, "__list")
|
|
184
|
-
|
|
238
|
+
className: "".concat(RC, "__list"),
|
|
239
|
+
ref: dropdownListRef
|
|
240
|
+
}, depend.options.map(function (filteredOption) {
|
|
185
241
|
var _filteredOption$items2;
|
|
186
242
|
|
|
187
243
|
return (_filteredOption$items2 = filteredOption.items) !== null && _filteredOption$items2 !== void 0 && _filteredOption$items2.length ? filteredOptionList(filteredOption) : getMarkupForElement(filteredOption);
|
|
188
|
-
})));
|
|
244
|
+
}), disabled && isOpen && /*#__PURE__*/_react.default.createElement(_DropdownLoader.default, null)));
|
|
189
245
|
};
|
|
190
246
|
|
|
191
247
|
var _default = Dropdown;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
flex-direction: column;
|
|
6
6
|
position: relative;
|
|
7
7
|
width: 100%;
|
|
8
|
+
border-radius: 7px;
|
|
8
9
|
|
|
9
10
|
&__trigger {
|
|
10
11
|
background: #ffffff;
|
|
@@ -28,8 +29,8 @@
|
|
|
28
29
|
&.error {
|
|
29
30
|
border-color: $color--secondary;
|
|
30
31
|
}
|
|
31
|
-
&.placeholder .text{
|
|
32
|
-
opacity: .7;
|
|
32
|
+
&.placeholder .text {
|
|
33
|
+
opacity: 0.7;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -44,6 +45,7 @@
|
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
&__list {
|
|
48
|
+
position: relative;
|
|
47
49
|
background: #ffffff;
|
|
48
50
|
border: 1px solid #e2e5ec;
|
|
49
51
|
box-shadow: 0 5px 20px rgb(0 0 0 / 15%);
|
|
@@ -85,7 +87,24 @@
|
|
|
85
87
|
width: 100%;
|
|
86
88
|
height: 24px;
|
|
87
89
|
white-space: nowrap;
|
|
88
|
-
|
|
90
|
+
overflow-x: hidden;
|
|
91
|
+
|
|
92
|
+
&--modal {
|
|
93
|
+
color: #1f7499;
|
|
94
|
+
font-size: 14px;
|
|
95
|
+
line-height: 20px;
|
|
96
|
+
letter-spacing: 0.2px;
|
|
97
|
+
position: relative;
|
|
98
|
+
&:after {
|
|
99
|
+
content: "";
|
|
100
|
+
position: absolute;
|
|
101
|
+
bottom: -2px;
|
|
102
|
+
height: 1px;
|
|
103
|
+
width: 300%;
|
|
104
|
+
transform: translateX(-50%);
|
|
105
|
+
background-color: #e8e9ec;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
89
108
|
&:hover,
|
|
90
109
|
&_active {
|
|
91
110
|
background: $color--gray--gentle;
|
|
@@ -159,4 +178,9 @@
|
|
|
159
178
|
font-size: 10px;
|
|
160
179
|
color: $color--secondary;
|
|
161
180
|
}
|
|
181
|
+
|
|
182
|
+
&.disabled {
|
|
183
|
+
pointer-events: none;
|
|
184
|
+
opacity: 0.5;
|
|
185
|
+
}
|
|
162
186
|
}
|
|
@@ -37,37 +37,76 @@ var _default = {
|
|
|
37
37
|
},
|
|
38
38
|
onChange: {
|
|
39
39
|
description: 'callback return selected value'
|
|
40
|
+
},
|
|
41
|
+
entity: {
|
|
42
|
+
description: 'string'
|
|
40
43
|
}
|
|
41
44
|
}
|
|
42
45
|
};
|
|
43
46
|
exports.default = _default;
|
|
47
|
+
var blockStyles = {
|
|
48
|
+
display: 'flex',
|
|
49
|
+
flexFlow: 'row no-wrap',
|
|
50
|
+
alignItems: 'center'
|
|
51
|
+
};
|
|
52
|
+
var buttonStyles = {
|
|
53
|
+
border: 'solid 1px #000',
|
|
54
|
+
padding: '5px',
|
|
55
|
+
margin: '0 0 0 50px'
|
|
56
|
+
};
|
|
44
57
|
|
|
45
58
|
var Template = function Template(args) {
|
|
46
|
-
var _useState = (0, _react.useState)(
|
|
59
|
+
var _useState = (0, _react.useState)(args.value),
|
|
47
60
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
48
61
|
value = _useState2[0],
|
|
49
62
|
setValue = _useState2[1];
|
|
50
63
|
|
|
64
|
+
var _useState3 = (0, _react.useState)(false),
|
|
65
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
66
|
+
disabled = _useState4[0],
|
|
67
|
+
setDisabled = _useState4[1];
|
|
68
|
+
|
|
51
69
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
70
|
+
style: blockStyles
|
|
71
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
72
|
+
key: "dropdown",
|
|
52
73
|
style: {
|
|
53
74
|
width: 200
|
|
54
75
|
}
|
|
55
76
|
}, /*#__PURE__*/_react.default.createElement(_Dropdown.default, (0, _extends2.default)({}, args, {
|
|
56
77
|
value: value,
|
|
57
|
-
onChange: setValue
|
|
58
|
-
|
|
78
|
+
onChange: setValue,
|
|
79
|
+
disabled: disabled,
|
|
80
|
+
scrollReactionObj: {
|
|
81
|
+
callback: function callback(e) {
|
|
82
|
+
return setDisabled(true);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
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",
|
|
94
|
+
style: buttonStyles,
|
|
95
|
+
className: "mt10",
|
|
96
|
+
onClick: function onClick() {
|
|
97
|
+
return setDisabled(!disabled);
|
|
98
|
+
}
|
|
99
|
+
}, disabled ? 'enable' : 'disable'));
|
|
59
100
|
};
|
|
60
101
|
|
|
61
102
|
var DropdownTemplate = Template.bind({});
|
|
62
103
|
exports.DropdownTemplate = DropdownTemplate;
|
|
63
104
|
DropdownTemplate.args = {
|
|
105
|
+
entity: 'entity',
|
|
106
|
+
value: 'drop6',
|
|
64
107
|
placeholder: 'Placeholder',
|
|
65
108
|
isSearchable: true,
|
|
66
109
|
options: [{
|
|
67
|
-
label: 'Dropdown1',
|
|
68
|
-
value: 'drop1',
|
|
69
|
-
className: 'status status--approved'
|
|
70
|
-
}, {
|
|
71
110
|
label: 'Dropdown2',
|
|
72
111
|
value: 'drop2'
|
|
73
112
|
}, {
|
|
@@ -77,6 +116,10 @@ DropdownTemplate.args = {
|
|
|
77
116
|
}, {
|
|
78
117
|
label: 'Dropdown4',
|
|
79
118
|
value: 'drop4'
|
|
119
|
+
}, {
|
|
120
|
+
label: 'Dropdown1',
|
|
121
|
+
value: 'drop1',
|
|
122
|
+
className: 'status status--approved'
|
|
80
123
|
}, {
|
|
81
124
|
label: 'Dropdown5',
|
|
82
125
|
value: 'drop5'
|
|
@@ -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
|
+
}
|