react-core-ts 1.0.7 → 1.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/ExpandableAutoComplete.d.ts +4 -0
- package/dist/ExpandableAutoComplete.js +335 -0
- package/dist/ExpandableAutoComplete.js.map +1 -0
- package/dist/commontypes.d.ts +3 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/styles/components/autocomplete.css +60 -5
- package/dist/utilities/expandableTootltip.d.ts +3 -0
- package/dist/utilities/expandableTootltip.js +155 -0
- package/dist/utilities/expandableTootltip.js.map +1 -0
- package/docs/App.tsx +31 -1
- package/package.json +1 -1
- package/src/ExpandableAutoComplete.tsx +543 -0
- package/src/commontypes.ts +3 -0
- package/src/index.tsx +2 -0
- package/src/styles/components/autocomplete.css +60 -5
- package/src/utilities/expandableTootltip.tsx +149 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
35
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
36
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
37
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
38
|
+
function step(op) {
|
|
39
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
40
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
41
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
42
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
43
|
+
switch (op[0]) {
|
|
44
|
+
case 0: case 1: t = op; break;
|
|
45
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
46
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
47
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
48
|
+
default:
|
|
49
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
50
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
51
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
52
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
53
|
+
if (t[2]) _.ops.pop();
|
|
54
|
+
_.trys.pop(); continue;
|
|
55
|
+
}
|
|
56
|
+
op = body.call(thisArg, _);
|
|
57
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
58
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
62
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
63
|
+
if (ar || !(i in from)) {
|
|
64
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
65
|
+
ar[i] = from[i];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
69
|
+
};
|
|
70
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
71
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
72
|
+
};
|
|
73
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
74
|
+
var react_1 = __importStar(require("react"));
|
|
75
|
+
var autosuggestions_1 = require("./utilities/autosuggestions");
|
|
76
|
+
var debounce_1 = require("./utilities/debounce");
|
|
77
|
+
var deepEqual_1 = require("./utilities/deepEqual");
|
|
78
|
+
var filterSuggestions_1 = require("./utilities/filterSuggestions");
|
|
79
|
+
var icons_1 = require("./utilities/icons");
|
|
80
|
+
var expandableTootltip_1 = __importDefault(require("./utilities/expandableTootltip"));
|
|
81
|
+
var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
|
|
82
|
+
var label = _a.label, onChange = _a.onChange, _b = _a.getData, getData = _b === void 0 ? function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
83
|
+
return [2 /*return*/, []];
|
|
84
|
+
}); }); } : _b, _c = _a.data, data = _c === void 0 ? [] : _c, errors = _a.errors, _d = _a.required, required = _d === void 0 ? false : _d, name = _a.name, _e = _a.fullWidth, fullWidth = _e === void 0 ? false : _e, placeholder = _a.placeholder, id = _a.id, _f = _a.type, type = _f === void 0 ? "custom_select" : _f, _g = _a.selectedItems, propsSeelctedItems = _g === void 0 ? [] : _g, _h = _a.readOnly, readOnly = _h === void 0 ? false : _h, _j = _a.disabled, disabled = _j === void 0 ? false : _j, value = _a.value, _k = _a.isMultiple, isMultiple = _k === void 0 ? false : _k, _l = _a.desc, desc = _l === void 0 ? "name" : _l, _m = _a.descId, descId = _m === void 0 ? "id" : _m, singleSelect = _a.singleSelect, className = _a.className, _o = _a.async, async = _o === void 0 ? false : _o, paginationEnabled = _a.paginationEnabled, initialLoad = _a.initialLoad, actionLabel = _a.actionLabel, handleAction = _a.handleAction, nextBlock = _a.nextBlock, notDataMessage = _a.notDataMessage, onFocus = _a.onFocus, _p = _a.expandable, expandable = _p === void 0 ? false : _p, _q = _a.textCount, textCount = _q === void 0 ? 10 : _q, _r = _a.itemCount, itemCount = _r === void 0 ? 1 : _r;
|
|
85
|
+
var dropdownRef = (0, react_1.useRef)(null);
|
|
86
|
+
// State Hooks Section
|
|
87
|
+
var _s = (0, react_1.useState)(true), isInitialRender = _s[0], setIsInitialRender = _s[1];
|
|
88
|
+
var _t = (0, react_1.useState)(value), inputValue = _t[0], setInputValue = _t[1];
|
|
89
|
+
var _u = (0, react_1.useState)(""), searchValue = _u[0], setSearchValue = _u[1];
|
|
90
|
+
var _v = (0, react_1.useState)(1), nextPage = _v[0], setNextPage = _v[1];
|
|
91
|
+
var _w = (0, react_1.useState)(false), dropOpen = _w[0], setDropOpen = _w[1];
|
|
92
|
+
var _x = (0, react_1.useState)([]), selectedItems = _x[0], setSelectedItems = _x[1];
|
|
93
|
+
// API call for suggestions through a custom hook
|
|
94
|
+
var _y = (0, react_1.useState)("bottom"), dropdownPosition = _y[0], setDropdownPosition = _y[1];
|
|
95
|
+
var inputRef = (0, react_1.useRef)(null);
|
|
96
|
+
var dropRef = (0, react_1.useRef)(null);
|
|
97
|
+
(0, react_1.useImperativeHandle)(ref, function () { return inputRef.current; });
|
|
98
|
+
var adjustDropdownPosition = function () {
|
|
99
|
+
if (inputRef.current && dropRef.current) {
|
|
100
|
+
var inputBoxRect = inputRef.current.getBoundingClientRect();
|
|
101
|
+
var viewportHeight = window.innerHeight;
|
|
102
|
+
var spaceAbove = inputBoxRect.top;
|
|
103
|
+
var spaceBelow = viewportHeight - inputBoxRect.bottom;
|
|
104
|
+
if (spaceAbove > spaceBelow) {
|
|
105
|
+
setDropdownPosition("top");
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
setDropdownPosition("bottom");
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
(0, react_1.useEffect)(function () {
|
|
113
|
+
window.addEventListener("resize", adjustDropdownPosition);
|
|
114
|
+
adjustDropdownPosition();
|
|
115
|
+
return function () {
|
|
116
|
+
window.removeEventListener("resize", adjustDropdownPosition);
|
|
117
|
+
};
|
|
118
|
+
}, [dropOpen]);
|
|
119
|
+
var _z = (0, autosuggestions_1.useSuggestions)(getData, data, dropOpen, async, paginationEnabled, initialLoad, inputValue, isMultiple, setNextPage, selectedItems
|
|
120
|
+
// nextBlock
|
|
121
|
+
), suggestions = _z.suggestions, isLoading = _z.isLoading, handlePickSuggestions = _z.handlePickSuggestions;
|
|
122
|
+
// Handling the selection of a suggestion
|
|
123
|
+
var handleSuggestionClick = (0, react_1.useCallback)(function (suggestion) {
|
|
124
|
+
if (isMultiple) {
|
|
125
|
+
setSelectedItems(function (prev) { return __spreadArray(__spreadArray([], prev, true), [suggestion], false); });
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
setInputValue(suggestion[desc]);
|
|
129
|
+
}
|
|
130
|
+
setSearchValue("");
|
|
131
|
+
setInputValue(suggestion[desc]);
|
|
132
|
+
onChange(suggestion);
|
|
133
|
+
setDropOpen(false);
|
|
134
|
+
}, []);
|
|
135
|
+
// Adding debounce to avoid making API calls on every keystroke
|
|
136
|
+
var handleChangeWithDebounce = (0, debounce_1.debounce)(function (value) {
|
|
137
|
+
if ((type === "auto_complete" || type === "auto_suggestion") && async) {
|
|
138
|
+
handlePickSuggestions(value, 1);
|
|
139
|
+
}
|
|
140
|
+
}, 1000);
|
|
141
|
+
var handleMultiSelect = function (e, suggestion) {
|
|
142
|
+
var checked = e.target.checked;
|
|
143
|
+
if (isMultiple) {
|
|
144
|
+
if (checked) {
|
|
145
|
+
setSelectedItems(function (prev) { return __spreadArray(__spreadArray([], prev, true), [suggestion], false); });
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
setSelectedItems(function (prev) {
|
|
149
|
+
return prev.filter(function (item, i) { return item[descId] !== suggestion[descId]; });
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
if (checked) {
|
|
155
|
+
setInputValue(suggestion[desc]);
|
|
156
|
+
onChange(suggestion);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
setInputValue("");
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
(0, react_1.useEffect)(function () {
|
|
164
|
+
if (!(0, deepEqual_1.deepEqual)(selectedItems, propsSeelctedItems))
|
|
165
|
+
setSelectedItems(propsSeelctedItems);
|
|
166
|
+
}, [propsSeelctedItems]);
|
|
167
|
+
// Effect to set the input value whenever `value` prop changes
|
|
168
|
+
(0, react_1.useEffect)(function () {
|
|
169
|
+
setInputValue(value !== null && value !== void 0 ? value : "");
|
|
170
|
+
}, [value]);
|
|
171
|
+
var handleChange = function (e) {
|
|
172
|
+
var _a;
|
|
173
|
+
var value = e.target.value;
|
|
174
|
+
setDropOpen(true);
|
|
175
|
+
setSearchValue(value);
|
|
176
|
+
handleChangeWithDebounce(value);
|
|
177
|
+
if (!value) {
|
|
178
|
+
setInputValue("");
|
|
179
|
+
onChange((_a = {}, _a[descId] = "", _a[desc] = "", _a));
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
var handleSuggestionChange = function (e) {
|
|
183
|
+
var value = e.target.value;
|
|
184
|
+
setDropOpen(true);
|
|
185
|
+
setSearchValue(value);
|
|
186
|
+
handleChangeWithDebounce(value);
|
|
187
|
+
};
|
|
188
|
+
var handleBlur = function () {
|
|
189
|
+
setTimeout(function () {
|
|
190
|
+
setDropOpen(false);
|
|
191
|
+
}, 200);
|
|
192
|
+
};
|
|
193
|
+
var handleClear = function () {
|
|
194
|
+
var _a;
|
|
195
|
+
if (searchValue) {
|
|
196
|
+
setSearchValue("");
|
|
197
|
+
setDropOpen(false);
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
setInputValue("");
|
|
201
|
+
onChange((_a = {}, _a[descId] = "", _a[desc] = "", _a));
|
|
202
|
+
setDropOpen(false);
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
var generateClassName = (0, react_1.useCallback)(function () {
|
|
206
|
+
return "qbs-textfield-default ".concat(className, " ").concat(errors && (errors === null || errors === void 0 ? void 0 : errors.message) ? "textfield-error" : "textfield", " ").concat(expandable ? "expandable" : "");
|
|
207
|
+
}, [errors, name]);
|
|
208
|
+
var handleRemoveSelectedItem = function (index) {
|
|
209
|
+
setSelectedItems(function (prev) {
|
|
210
|
+
return prev.filter(function (_, i) { return i !== index; });
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
(0, react_1.useEffect)(function () {
|
|
214
|
+
if (isInitialRender) {
|
|
215
|
+
setIsInitialRender(false);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
onChange(selectedItems);
|
|
219
|
+
}
|
|
220
|
+
}, [selectedItems]);
|
|
221
|
+
(0, react_1.useEffect)(function () {
|
|
222
|
+
var handleClickOutside = function (event) {
|
|
223
|
+
if (dropdownRef.current &&
|
|
224
|
+
event.target instanceof Node &&
|
|
225
|
+
!dropdownRef.current.contains(event.target)) {
|
|
226
|
+
setDropOpen(false);
|
|
227
|
+
setSearchValue("");
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
231
|
+
return function () {
|
|
232
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
233
|
+
};
|
|
234
|
+
}, []);
|
|
235
|
+
// Filtering suggestions based on type and search value
|
|
236
|
+
var selected = isMultiple ? selectedItems : inputValue;
|
|
237
|
+
var filteredData = (0, filterSuggestions_1.filterSuggestions)(suggestions, searchValue, type, desc, selected, async);
|
|
238
|
+
var isSelected = function (item, selectedItems) {
|
|
239
|
+
if (Array.isArray(selectedItems)) {
|
|
240
|
+
return selectedItems.some(function (selectedItem) { return selectedItem[desc] === item[desc]; });
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
return item[desc] === selectedItems;
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
var handleLoadMore = function () {
|
|
247
|
+
if (paginationEnabled) {
|
|
248
|
+
handlePickSuggestions(searchValue, nextPage + 1, true);
|
|
249
|
+
setNextPage(nextPage + 1);
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
var handleOnClick = function () {
|
|
253
|
+
!disabled && !readOnly ? setDropOpen(true) : "";
|
|
254
|
+
};
|
|
255
|
+
var onInputFocus = function () {
|
|
256
|
+
if (inputRef.current)
|
|
257
|
+
inputRef.current.focus();
|
|
258
|
+
handleOnClick();
|
|
259
|
+
};
|
|
260
|
+
var tooltipContent = (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > itemCount
|
|
261
|
+
? selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.slice(1).map(function (item) { return item[desc]; }).join(", ")
|
|
262
|
+
: "";
|
|
263
|
+
return (react_1.default.createElement("div", { className: fullWidth ? "fullWidth" : "autoWidth", ref: dropdownRef },
|
|
264
|
+
label && (react_1.default.createElement("div", { style: {
|
|
265
|
+
marginBottom: 5,
|
|
266
|
+
display: "flex",
|
|
267
|
+
justifyContent: "space-between",
|
|
268
|
+
} },
|
|
269
|
+
react_1.default.createElement("label", { className: "labels label-text" },
|
|
270
|
+
label,
|
|
271
|
+
required && react_1.default.createElement("span", { className: "text-error" }, " *")),
|
|
272
|
+
react_1.default.createElement("span", { onClick: function () { return handleAction === null || handleAction === void 0 ? void 0 : handleAction(); }, className: "action_label" }, actionLabel))),
|
|
273
|
+
react_1.default.createElement("div", { className: "".concat(expandable ? "qbs-expandable-container" : "qbs-container"), style: { position: "relative" } },
|
|
274
|
+
(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 0 && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
275
|
+
selectedItems
|
|
276
|
+
.slice(0, (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > itemCount
|
|
277
|
+
? itemCount
|
|
278
|
+
: selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length)
|
|
279
|
+
.map(function (item, index) {
|
|
280
|
+
var _a, _b;
|
|
281
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
282
|
+
react_1.default.createElement("div", { className: "selected-items-container" },
|
|
283
|
+
react_1.default.createElement(expandableTootltip_1.default, { title: item === null || item === void 0 ? void 0 : item[desc], enabled: ((_a = item === null || item === void 0 ? void 0 : item[desc]) === null || _a === void 0 ? void 0 : _a.length) > textCount },
|
|
284
|
+
react_1.default.createElement("div", { key: item.id, className: "selected-item" },
|
|
285
|
+
((_b = item === null || item === void 0 ? void 0 : item[desc]) === null || _b === void 0 ? void 0 : _b.length) > textCount
|
|
286
|
+
? "".concat(item === null || item === void 0 ? void 0 : item[desc].substring(0, textCount), "...")
|
|
287
|
+
: item === null || item === void 0 ? void 0 : item[desc],
|
|
288
|
+
react_1.default.createElement("button", { onClick: function () { return handleRemoveSelectedItem(index); }, className: "remove-item-btn", "aria-label": "Remove ".concat(item === null || item === void 0 ? void 0 : item[desc]) }, "X"))))));
|
|
289
|
+
}),
|
|
290
|
+
(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > itemCount && (react_1.default.createElement("div", { className: "selected-items-container" },
|
|
291
|
+
react_1.default.createElement(expandableTootltip_1.default, { title: tooltipContent, enabled: true },
|
|
292
|
+
react_1.default.createElement("div", { className: "selected-item-more" },
|
|
293
|
+
"+",
|
|
294
|
+
(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) - itemCount,
|
|
295
|
+
" more")))))),
|
|
296
|
+
react_1.default.createElement("div", { className: "qbs-textfield-expandable", "data-value": (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 0 || searchValue
|
|
297
|
+
? searchValue
|
|
298
|
+
: placeholder !== null && placeholder !== void 0 ? placeholder : "", onClick: function () { return onInputFocus(); } },
|
|
299
|
+
react_1.default.createElement("input", { id: id, ref: inputRef, type: "text", value: type === "auto_suggestion" && !expandable
|
|
300
|
+
? inputValue
|
|
301
|
+
: searchValue || inputValue, onChange: handleChange,
|
|
302
|
+
// onBlur={handleBlur}
|
|
303
|
+
onFocus: onFocus, onClick: function () { return handleOnClick(); }, className: generateClassName(), placeholder: (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 0 ? "" : placeholder !== null && placeholder !== void 0 ? placeholder : "", readOnly: readOnly ||
|
|
304
|
+
type === "custom_select" ||
|
|
305
|
+
(type == "auto_suggestion" && !expandable), disabled: disabled, "data-testid": "custom-autocomplete" })),
|
|
306
|
+
!expandable && (react_1.default.createElement("div", { className: "qbs-autocomplete-close-icon" },
|
|
307
|
+
(inputValue || searchValue) && !disabled && !readOnly && (react_1.default.createElement("button", { onClick: handleClear, className: "icon-button", "aria-label": "clear" },
|
|
308
|
+
react_1.default.createElement(icons_1.Close, null))),
|
|
309
|
+
react_1.default.createElement("button", { disabled: disabled || readOnly, type: "button", onClick: function () { return setDropOpen(!dropOpen); }, className: "icon-button", "aria-label": "toggle" },
|
|
310
|
+
react_1.default.createElement(icons_1.DropArrow, null)))),
|
|
311
|
+
dropOpen && (react_1.default.createElement("ul", { ref: dropRef, className: "qbs-autocomplete-suggestions ".concat(dropdownPosition) },
|
|
312
|
+
type == "auto_suggestion" && !expandable && (react_1.default.createElement("div", { style: { position: "relative" }, className: "react-core-ts-search-container" },
|
|
313
|
+
react_1.default.createElement("span", { className: "dropdown-search-icon" },
|
|
314
|
+
react_1.default.createElement(icons_1.Search, null)),
|
|
315
|
+
react_1.default.createElement("input", { className: "dropdown-search-input", onChange: handleSuggestionChange, value: searchValue, placeholder: "Search" }))),
|
|
316
|
+
react_1.default.createElement("div", { className: "qbs-autocomplete-suggestions-sub" },
|
|
317
|
+
(filteredData === null || filteredData === void 0 ? void 0 : filteredData.length) > 0 ? (filteredData.map(function (suggestion, idx) { return (react_1.default.createElement("div", { key: idx.toString(), className: "qbs-autocomplete-listitem-container ".concat((isMultiple || singleSelect) &&
|
|
318
|
+
"qbs-autocomplete-checkbox-container", " ").concat(isSelected(suggestion, selected) ? "is-selected" : "") },
|
|
319
|
+
(isMultiple || singleSelect) && (react_1.default.createElement("div", { className: "qbs-autocomplete-checkbox" },
|
|
320
|
+
react_1.default.createElement("input", { onChange: function (e) { return handleMultiSelect(e, suggestion); }, type: "checkbox", checked: isSelected(suggestion, selected), id: "qbs-checkbox-".concat(idx.toString()) }),
|
|
321
|
+
react_1.default.createElement("label", { htmlFor: "qbs-checkbox-".concat(idx.toString()) },
|
|
322
|
+
react_1.default.createElement("svg", { width: "8", height: "6", viewBox: "0 0 8 6", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
323
|
+
react_1.default.createElement("path", { d: "M0 3.21739L2.89883 6L8 1.06994L6.89494 0L2.89883 3.86768L1.09728 2.14745L0 3.21739Z", fill: "white" }))))),
|
|
324
|
+
react_1.default.createElement("li", { key: idx, className: "qbs-autocomplete-suggestions-item ".concat(isSelected(suggestion, selected) ? "is-selected" : ""), onClick: function () { return handleSuggestionClick(suggestion); }, "data-testid": suggestion[desc] }, suggestion[desc]))); })) : (react_1.default.createElement(react_1.default.Fragment, null, isLoading ? (react_1.default.createElement("div", { style: { display: "flex", justifyContent: "center" } },
|
|
325
|
+
react_1.default.createElement("span", null,
|
|
326
|
+
react_1.default.createElement(icons_1.Spinner, null)))) : (react_1.default.createElement("li", { className: "qbs-autocomplete-notfound", onClick: handleBlur }, notDataMessage !== null && notDataMessage !== void 0 ? notDataMessage : "No Results Found")))),
|
|
327
|
+
paginationEnabled &&
|
|
328
|
+
nextBlock !== 0 &&
|
|
329
|
+
nextBlock !== undefined &&
|
|
330
|
+
(filteredData === null || filteredData === void 0 ? void 0 : filteredData.length) > 0 && (react_1.default.createElement("div", { className: "loadMoreSection", onClick: function () { return handleLoadMore(); } },
|
|
331
|
+
react_1.default.createElement("p", { style: { margin: 2 } }, "Load More"))))))),
|
|
332
|
+
errors && (react_1.default.createElement("div", { className: "text-error text-error-label mt-[1px]", "data-testid": "autocomplete-error" }, errors.message))));
|
|
333
|
+
});
|
|
334
|
+
exports.default = react_1.default.memo(ExpandableAutoComplete);
|
|
335
|
+
//# sourceMappingURL=ExpandableAutoComplete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpandableAutoComplete.js","sourceRoot":"","sources":["../src/ExpandableAutoComplete.tsx"],"names":[],"mappings":"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"}
|
package/dist/commontypes.d.ts
CHANGED
|
@@ -32,5 +32,8 @@ export interface AutoSuggestionInputProps {
|
|
|
32
32
|
selectedItems?: any[];
|
|
33
33
|
onFocus?: (e: React.FocusEvent<HTMLInputElement, Element>) => void;
|
|
34
34
|
dopDownRef?: HTMLInputElement;
|
|
35
|
+
expandable?: boolean;
|
|
36
|
+
textCount?: number;
|
|
37
|
+
itemCount?: number;
|
|
35
38
|
}
|
|
36
39
|
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import './styles/global.css';
|
|
2
2
|
export { default as AutoComplete } from './AutoComplete';
|
|
3
3
|
export { default as CustomAutoComplete } from './AutoComplete';
|
|
4
|
+
export { default as ExpandableAutoComplete } from './ExpandableAutoComplete';
|
|
4
5
|
export { default as ToolTip } from './utilities/tooltip';
|
|
5
6
|
export { deepEqual } from './utilities/deepEqual';
|
|
6
7
|
export type { AutoSuggestionInputProps } from './commontypes';
|
package/dist/index.js
CHANGED
|
@@ -3,12 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.deepEqual = exports.ToolTip = exports.CustomAutoComplete = exports.AutoComplete = void 0;
|
|
6
|
+
exports.deepEqual = exports.ToolTip = exports.ExpandableAutoComplete = exports.CustomAutoComplete = exports.AutoComplete = void 0;
|
|
7
7
|
require("./styles/global.css");
|
|
8
8
|
var AutoComplete_1 = require("./AutoComplete");
|
|
9
9
|
Object.defineProperty(exports, "AutoComplete", { enumerable: true, get: function () { return __importDefault(AutoComplete_1).default; } });
|
|
10
10
|
var AutoComplete_2 = require("./AutoComplete");
|
|
11
11
|
Object.defineProperty(exports, "CustomAutoComplete", { enumerable: true, get: function () { return __importDefault(AutoComplete_2).default; } });
|
|
12
|
+
var ExpandableAutoComplete_1 = require("./ExpandableAutoComplete");
|
|
13
|
+
Object.defineProperty(exports, "ExpandableAutoComplete", { enumerable: true, get: function () { return __importDefault(ExpandableAutoComplete_1).default; } });
|
|
12
14
|
var tooltip_1 = require("./utilities/tooltip");
|
|
13
15
|
Object.defineProperty(exports, "ToolTip", { enumerable: true, get: function () { return __importDefault(tooltip_1).default; } });
|
|
14
16
|
var deepEqual_1 = require("./utilities/deepEqual");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;AAAA,+BAA6B;AAE7B,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,+CAA+D;AAAtD,mIAAA,OAAO,OAAsB;AACtC,+CAAyD;AAAhD,mHAAA,OAAO,OAAW;AAC3B,mDAAkD;AAAzC,sGAAA,SAAS,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;AAAA,+BAA6B;AAE7B,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,+CAA+D;AAAtD,mIAAA,OAAO,OAAsB;AACtC,mEAA6E;AAApE,iJAAA,OAAO,OAA0B;AAE1C,+CAAyD;AAAhD,mHAAA,OAAO,OAAW;AAC3B,mDAAkD;AAAzC,sGAAA,SAAS,OAAA"}
|
|
@@ -181,6 +181,55 @@ body * {
|
|
|
181
181
|
color: #313131;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
+
.qbs-expandable-container {
|
|
185
|
+
border: 1px solid #d6d8dc;
|
|
186
|
+
background: #fff;
|
|
187
|
+
box-sizing: border-box;
|
|
188
|
+
padding: 5px;
|
|
189
|
+
display: flex;
|
|
190
|
+
flex-wrap: wrap;
|
|
191
|
+
flex: 1 1 0%;
|
|
192
|
+
gap: 5px;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.qbs-textfield-default.expandable {
|
|
196
|
+
height: auto;
|
|
197
|
+
border: none;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.qbs-expandable-container .qbs-textfield-expandable {
|
|
201
|
+
flex: 1 1 auto;
|
|
202
|
+
display: inline-grid;
|
|
203
|
+
grid-template-columns: 0px min-content;
|
|
204
|
+
grid-area: 1 / 1 / 2 / 3;
|
|
205
|
+
overflow: hidden;
|
|
206
|
+
}
|
|
207
|
+
.qbs-expandable-container .qbs-textfield-expandable::after {
|
|
208
|
+
content: attr(data-value) " ";
|
|
209
|
+
visibility: hidden;
|
|
210
|
+
white-space: pre;
|
|
211
|
+
grid-area: 1 / 2;
|
|
212
|
+
font: inherit;
|
|
213
|
+
min-width: 2px;
|
|
214
|
+
border: 0px;
|
|
215
|
+
margin: 0px;
|
|
216
|
+
outline: 0px;
|
|
217
|
+
padding: 0px;
|
|
218
|
+
}
|
|
219
|
+
.qbs-expandable-container .qbs-textfield-expandable input {
|
|
220
|
+
opacity: 1;
|
|
221
|
+
width: 100%;
|
|
222
|
+
grid-area: 1 / 2;
|
|
223
|
+
min-width: 10px;
|
|
224
|
+
border: 0px;
|
|
225
|
+
margin: 0px;
|
|
226
|
+
outline: 0px;
|
|
227
|
+
padding: 0px;
|
|
228
|
+
height: auto;
|
|
229
|
+
min-height: auto;
|
|
230
|
+
border-radius: 0;
|
|
231
|
+
}
|
|
232
|
+
|
|
184
233
|
.qbs-textfield-default::placeholder {
|
|
185
234
|
font-size: 14px;
|
|
186
235
|
font-style: normal;
|
|
@@ -290,6 +339,12 @@ ul {
|
|
|
290
339
|
flex-wrap: wrap;
|
|
291
340
|
}
|
|
292
341
|
|
|
342
|
+
.qbs-expandable-container .selected-items-container {
|
|
343
|
+
position: relative;
|
|
344
|
+
top: 0;
|
|
345
|
+
left: 0;
|
|
346
|
+
}
|
|
347
|
+
|
|
293
348
|
.selected-item-more {
|
|
294
349
|
display: flex;
|
|
295
350
|
align-items: center;
|
|
@@ -467,7 +522,7 @@ span.dropdown-search-icon {
|
|
|
467
522
|
cursor: pointer;
|
|
468
523
|
}
|
|
469
524
|
|
|
470
|
-
.qbs-table-tooltip .tooltiptext {
|
|
525
|
+
.qbs-table-tooltip .tooltiptext, .tooltiptext {
|
|
471
526
|
visibility: hidden;
|
|
472
527
|
background-color: #000;
|
|
473
528
|
color: #fff;
|
|
@@ -501,21 +556,21 @@ span.dropdown-search-icon {
|
|
|
501
556
|
opacity: 1;
|
|
502
557
|
}
|
|
503
558
|
|
|
504
|
-
.qbs-table-tooltip .tooltiptext::after {
|
|
505
|
-
content:
|
|
559
|
+
.qbs-table-tooltip .tooltiptext::after, .tooltiptext::after {
|
|
560
|
+
content: "";
|
|
506
561
|
position: absolute;
|
|
507
562
|
border-width: 5px;
|
|
508
563
|
border-style: solid;
|
|
509
564
|
}
|
|
510
565
|
|
|
511
|
-
.qbs-table-tooltip.up .tooltiptext::after {
|
|
566
|
+
.qbs-table-tooltip.up .tooltiptext::after, .up.tooltiptext::after {
|
|
512
567
|
top: 100%;
|
|
513
568
|
left: 50%;
|
|
514
569
|
margin-left: -5px;
|
|
515
570
|
border-color: #000 transparent transparent transparent;
|
|
516
571
|
}
|
|
517
572
|
|
|
518
|
-
.qbs-table-tooltip.down .tooltiptext::after {
|
|
573
|
+
.qbs-table-tooltip.down .tooltiptext::after, .down.tooltiptext::after {
|
|
519
574
|
bottom: 100%;
|
|
520
575
|
left: 50%;
|
|
521
576
|
margin-left: -5px;
|