tenjin-ui-kit 0.3.64 → 0.3.66
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.
|
@@ -7,9 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _material = require("@mui/material");
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _fi = require("react-icons/fi");
|
|
11
10
|
var colors = _interopRequireWildcard(require("@mui/material/colors"));
|
|
12
|
-
var _system = require("@mui/system");
|
|
13
11
|
var _button = _interopRequireDefault(require("../button"));
|
|
14
12
|
var _text = _interopRequireDefault(require("../text"));
|
|
15
13
|
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); }
|
|
@@ -43,7 +41,7 @@ var determineSelectedOptions = function determineSelectedOptions(options, select
|
|
|
43
41
|
});
|
|
44
42
|
});
|
|
45
43
|
};
|
|
46
|
-
var ValueSelector = function
|
|
44
|
+
var ValueSelector = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
47
45
|
var options = _ref.options,
|
|
48
46
|
valueKey = _ref.valueKey,
|
|
49
47
|
displayKey = _ref.displayKey,
|
|
@@ -73,6 +71,43 @@ var ValueSelector = function ValueSelector(_ref) {
|
|
|
73
71
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
74
72
|
filteredLocalOptions = _useState8[0],
|
|
75
73
|
setFilteredLocalOptions = _useState8[1];
|
|
74
|
+
var _useState9 = (0, _react.useState)(-1),
|
|
75
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
76
|
+
activeIndex = _useState10[0],
|
|
77
|
+
setActiveIndex = _useState10[1];
|
|
78
|
+
var itemRefs = (0, _react.useRef)([]);
|
|
79
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
|
80
|
+
return {
|
|
81
|
+
handleKeyDown: function handleKeyDown(e) {
|
|
82
|
+
if (!["ArrowDown", "ArrowUp", "Enter"].includes(e.key)) return;
|
|
83
|
+
if (e.key === "ArrowDown") {
|
|
84
|
+
e.preventDefault();
|
|
85
|
+
setActiveIndex(function (prev) {
|
|
86
|
+
if (filteredLocalOptions.length === 0) return -1;
|
|
87
|
+
return prev < filteredLocalOptions.length - 1 ? prev + 1 : 0;
|
|
88
|
+
});
|
|
89
|
+
} else if (e.key === "ArrowUp") {
|
|
90
|
+
e.preventDefault();
|
|
91
|
+
setActiveIndex(function (prev) {
|
|
92
|
+
if (filteredLocalOptions.length === 0) return -1;
|
|
93
|
+
return prev > 0 ? prev - 1 : filteredLocalOptions.length - 1;
|
|
94
|
+
});
|
|
95
|
+
} else if (e.key === "Enter") {
|
|
96
|
+
if (activeIndex >= 0 && activeIndex < filteredLocalOptions.length) {
|
|
97
|
+
e.preventDefault();
|
|
98
|
+
handleSelection(filteredLocalOptions[activeIndex]);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
(0, _react.useEffect)(function () {
|
|
105
|
+
if (activeIndex >= 0 && itemRefs.current[activeIndex]) {
|
|
106
|
+
itemRefs.current[activeIndex].scrollIntoView({
|
|
107
|
+
block: "nearest"
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}, [activeIndex]);
|
|
76
111
|
(0, _react.useEffect)(function () {
|
|
77
112
|
resolveOptions();
|
|
78
113
|
}, []);
|
|
@@ -208,21 +243,30 @@ var ValueSelector = function ValueSelector(_ref) {
|
|
|
208
243
|
}
|
|
209
244
|
}, (filteredLocalOptions === null || filteredLocalOptions === void 0 ? void 0 : filteredLocalOptions.length) === 0 ? /*#__PURE__*/_react.default.createElement(_text.default, {
|
|
210
245
|
color: "secondary"
|
|
211
|
-
}, "No Data") : filteredLocalOptions.map(function (o) {
|
|
246
|
+
}, "No Data") : filteredLocalOptions.map(function (o, index) {
|
|
212
247
|
var altVal = o[avatarKey] === "/" ? " " : o[displayKey];
|
|
213
248
|
var bgcAvatar = colors[o[colorKey]] ? colors[o[colorKey]][500] : "red";
|
|
214
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment,
|
|
249
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
250
|
+
key: o[valueKey]
|
|
251
|
+
}, /*#__PURE__*/_react.default.createElement(_material.ListItem, {
|
|
215
252
|
dense: true,
|
|
216
253
|
disablePadding: true,
|
|
217
|
-
|
|
218
|
-
|
|
254
|
+
ref: function ref(el) {
|
|
255
|
+
return itemRefs.current[index] = el;
|
|
256
|
+
},
|
|
257
|
+
sx: _objectSpread(_objectSpread({}, o.selected && {
|
|
219
258
|
backgroundColor: "#F5FAFF"
|
|
220
|
-
}
|
|
259
|
+
}), activeIndex === index && {
|
|
260
|
+
backgroundColor: theme.palette.action.hover
|
|
261
|
+
})
|
|
221
262
|
}, /*#__PURE__*/_react.default.createElement(_material.ListItemButton, {
|
|
222
263
|
disableRipple: true,
|
|
223
264
|
dense: true,
|
|
224
265
|
onClick: function onClick() {
|
|
225
266
|
return handleSelection(o);
|
|
267
|
+
},
|
|
268
|
+
onMouseEnter: function onMouseEnter() {
|
|
269
|
+
return setActiveIndex(index);
|
|
226
270
|
}
|
|
227
271
|
}, multiple && /*#__PURE__*/_react.default.createElement(_material.ListItemIcon, {
|
|
228
272
|
sx: {
|
|
@@ -290,7 +334,7 @@ var ValueSelector = function ValueSelector(_ref) {
|
|
|
290
334
|
semibold: true,
|
|
291
335
|
variant: "caption"
|
|
292
336
|
}, "Clear Selection"))))));
|
|
293
|
-
};
|
|
337
|
+
});
|
|
294
338
|
ValueSelector.propTypes = {
|
|
295
339
|
label: _propTypes.default.string.isRequired,
|
|
296
340
|
options: _propTypes.default.array,
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.default = void 0;
|
|
8
7
|
var _material = require("@mui/material");
|
|
9
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var _react =
|
|
11
|
-
var _ValueSelector = _interopRequireDefault(require("./ValueSelector"));
|
|
9
|
+
var _react = require("react");
|
|
12
10
|
var _bs = require("react-icons/bs");
|
|
13
|
-
var _system = require("@mui/system");
|
|
14
|
-
var _text = _interopRequireDefault(require("../text"));
|
|
15
11
|
var _button = _interopRequireDefault(require("../button"));
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
var _text = _interopRequireDefault(require("../text"));
|
|
13
|
+
var _ValueSelector = _interopRequireDefault(require("./ValueSelector"));
|
|
18
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
15
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
20
16
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -75,20 +71,29 @@ var Filter = function Filter(_ref) {
|
|
|
75
71
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
76
72
|
filter = _useState8[0],
|
|
77
73
|
setFilter = _useState8[1];
|
|
74
|
+
var valueSelectorRef = (0, _react.useRef)(null);
|
|
75
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
76
|
+
if (["ArrowDown", "ArrowUp", "Enter"].includes(e.key)) {
|
|
77
|
+
e.stopPropagation();
|
|
78
|
+
}
|
|
79
|
+
if (valueSelectorRef.current) {
|
|
80
|
+
valueSelectorRef.current.handleKeyDown(e);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
78
83
|
var handleFilterChange = function handleFilterChange(e) {
|
|
79
84
|
var value = e.target.value;
|
|
80
85
|
setFilter(value);
|
|
81
86
|
};
|
|
82
|
-
return /*#__PURE__*/
|
|
83
|
-
startIcon: /*#__PURE__*/
|
|
87
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_button.default, {
|
|
88
|
+
startIcon: /*#__PURE__*/React.createElement(_bs.BsFilter, null),
|
|
84
89
|
variant: (selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.length) > 0 ? "contained" : buttonVariant,
|
|
85
90
|
onClick: handleMenuOpen
|
|
86
|
-
}, showSelectedValue ? /*#__PURE__*/
|
|
91
|
+
}, showSelectedValue ? /*#__PURE__*/React.createElement(_text.default, {
|
|
87
92
|
variant: "body2"
|
|
88
|
-
}, "".concat(label).concat(atleastOneItemSelected ? ": ".concat(selectedValues[0][displayKey]).concat(selectedValues.length > 1 ? " +".concat(selectedValues.length - 1) : "") : "")) : /*#__PURE__*/
|
|
93
|
+
}, "".concat(label).concat(atleastOneItemSelected ? ": ".concat(selectedValues[0][displayKey]).concat(selectedValues.length > 1 ? " +".concat(selectedValues.length - 1) : "") : "")) : /*#__PURE__*/React.createElement(_text.default, {
|
|
89
94
|
semibold: true,
|
|
90
95
|
variant: "body2"
|
|
91
|
-
}, label)), /*#__PURE__*/
|
|
96
|
+
}, label)), /*#__PURE__*/React.createElement(_material.Menu, {
|
|
92
97
|
sx: {
|
|
93
98
|
padding: 0,
|
|
94
99
|
paddingTop: theme.spacing(0.5),
|
|
@@ -107,6 +112,7 @@ var Filter = function Filter(_ref) {
|
|
|
107
112
|
anchorEl: menuAnchor,
|
|
108
113
|
open: Boolean(menuAnchor),
|
|
109
114
|
onClose: handleMenuClose,
|
|
115
|
+
onKeyDownCapture: handleKeyDown,
|
|
110
116
|
PaperProps: {
|
|
111
117
|
style: {
|
|
112
118
|
width: "25ch",
|
|
@@ -115,76 +121,78 @@ var Filter = function Filter(_ref) {
|
|
|
115
121
|
overflow: "auto"
|
|
116
122
|
}
|
|
117
123
|
}
|
|
118
|
-
}, /*#__PURE__*/
|
|
124
|
+
}, /*#__PURE__*/React.createElement(_material.MenuItem, {
|
|
119
125
|
disabled: true
|
|
120
|
-
}, /*#__PURE__*/
|
|
126
|
+
}, /*#__PURE__*/React.createElement(_material.Box, {
|
|
121
127
|
pb: 0.5,
|
|
122
128
|
pl: 1,
|
|
123
129
|
display: "flex",
|
|
124
130
|
flexDirection: "row",
|
|
125
131
|
alignItems: "center"
|
|
126
|
-
}, /*#__PURE__*/
|
|
132
|
+
}, /*#__PURE__*/React.createElement(_bs.BsFilter, null), /*#__PURE__*/React.createElement(_text.default, {
|
|
127
133
|
bold: true,
|
|
128
134
|
variant: "body2",
|
|
129
135
|
sx: {
|
|
130
136
|
marginLeft: "0.75rem"
|
|
131
137
|
}
|
|
132
|
-
}, (label === null || label === void 0 ? void 0 : label.toUpperCase()) || "FILTER"))), /*#__PURE__*/
|
|
138
|
+
}, (label === null || label === void 0 ? void 0 : label.toUpperCase()) || "FILTER"))), /*#__PURE__*/React.createElement(_material.Divider, null), isSearch && /*#__PURE__*/React.createElement(_material.Box, {
|
|
133
139
|
paddingLeft: 2,
|
|
134
140
|
paddingRight: 2,
|
|
135
141
|
paddingTop: 1.5,
|
|
136
142
|
paddingBottom: 1.5
|
|
137
|
-
}, /*#__PURE__*/
|
|
143
|
+
}, /*#__PURE__*/React.createElement(_material.TextField, {
|
|
138
144
|
fullWidth: true,
|
|
145
|
+
autoFocus: true,
|
|
139
146
|
value: filter,
|
|
140
147
|
onChange: handleFilterChange,
|
|
141
148
|
placeholder: "Type to search...",
|
|
142
149
|
variant: "standard"
|
|
143
|
-
})), /*#__PURE__*/
|
|
150
|
+
})), /*#__PURE__*/React.createElement(_material.Box, {
|
|
144
151
|
height: "100%"
|
|
145
|
-
}, /*#__PURE__*/
|
|
152
|
+
}, /*#__PURE__*/React.createElement(_material.Grid, {
|
|
146
153
|
container: true,
|
|
147
154
|
sx: {
|
|
148
155
|
padding: "0 0.25rem",
|
|
149
156
|
maxWidth: optionsContainerWidth,
|
|
150
157
|
width: optionsContainerWidth
|
|
151
158
|
}
|
|
152
|
-
}, /*#__PURE__*/
|
|
159
|
+
}, /*#__PURE__*/React.createElement(_material.Grid, {
|
|
153
160
|
item: true,
|
|
154
161
|
xs: 12
|
|
155
|
-
}, loading ? /*#__PURE__*/
|
|
162
|
+
}, loading ? /*#__PURE__*/React.createElement(_material.Box, {
|
|
156
163
|
style: {
|
|
157
164
|
padding: "0 0.5rem"
|
|
158
165
|
}
|
|
159
|
-
}, /*#__PURE__*/
|
|
166
|
+
}, /*#__PURE__*/React.createElement(_material.Skeleton, {
|
|
160
167
|
style: {
|
|
161
168
|
marginBottom: 5
|
|
162
169
|
},
|
|
163
170
|
variant: "rectangular",
|
|
164
171
|
width: "100%",
|
|
165
172
|
height: 10
|
|
166
|
-
}), /*#__PURE__*/
|
|
173
|
+
}), /*#__PURE__*/React.createElement(_material.Skeleton, {
|
|
167
174
|
style: {
|
|
168
175
|
marginBottom: 5
|
|
169
176
|
},
|
|
170
177
|
variant: "rectangular",
|
|
171
178
|
width: "100%",
|
|
172
179
|
height: 10
|
|
173
|
-
}), /*#__PURE__*/
|
|
180
|
+
}), /*#__PURE__*/React.createElement(_material.Skeleton, {
|
|
174
181
|
style: {
|
|
175
182
|
marginBottom: 5
|
|
176
183
|
},
|
|
177
184
|
variant: "rectangular",
|
|
178
185
|
width: "100%",
|
|
179
186
|
height: 10
|
|
180
|
-
}), /*#__PURE__*/
|
|
187
|
+
}), /*#__PURE__*/React.createElement(_material.Skeleton, {
|
|
181
188
|
style: {
|
|
182
189
|
marginBottom: 5
|
|
183
190
|
},
|
|
184
191
|
variant: "rectangular",
|
|
185
192
|
width: "100%",
|
|
186
193
|
height: 10
|
|
187
|
-
})) : /*#__PURE__*/
|
|
194
|
+
})) : /*#__PURE__*/React.createElement(_ValueSelector.default, {
|
|
195
|
+
ref: valueSelectorRef,
|
|
188
196
|
key: JSON.stringify(filter),
|
|
189
197
|
options: filter ? options.filter(function (data) {
|
|
190
198
|
return "".concat(data.id).concat(data.name).trim().toLowerCase().includes(filter.trim().toLowerCase());
|
|
@@ -23,7 +23,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
23
23
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
24
24
|
var StyledMenu = (0, _styles.withStyles)({
|
|
25
25
|
paper: {
|
|
26
|
-
width: "
|
|
26
|
+
width: "fit-content !important",
|
|
27
27
|
marginLeft: "10px",
|
|
28
28
|
zIndex: 1
|
|
29
29
|
}
|
|
@@ -62,10 +62,7 @@ var UserAvatar = function UserAvatar(_ref) {
|
|
|
62
62
|
id: "simple-menu",
|
|
63
63
|
anchorEl: menu,
|
|
64
64
|
open: Boolean(menu),
|
|
65
|
-
onClose: handleCloseMenu
|
|
66
|
-
style: {
|
|
67
|
-
width: "14rem"
|
|
68
|
-
}
|
|
65
|
+
onClose: handleCloseMenu
|
|
69
66
|
}, (loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.name) && (loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.email) && /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
70
67
|
onClick: function onClick() {
|
|
71
68
|
handleCloseMenu();
|