react-core-ts 1.0.7 → 1.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/README.md CHANGED
@@ -29,7 +29,7 @@ npm install react-core-ts
29
29
  ```
30
30
 
31
31
  ```jsx
32
- import {AutoComplete} from 'react-core-ts';
32
+ import { AutoComplete } from 'react-core-ts';
33
33
 
34
34
  function ExampleComponent() {
35
35
  return (
@@ -46,7 +46,28 @@ function ExampleComponent() {
46
46
  }
47
47
 
48
48
  ```
49
+ You can also use the `ExpandableAutoComplete` component, which will allow you to show all selected items and have the option to inline search.
49
50
 
51
+ ```jsx
52
+ import { ExpandableAutoComplete } from 'react-core-ts';
53
+
54
+ function ExampleExpandableComponent() {
55
+ return (
56
+ <ExpandableAutoComplete
57
+ label="Search"
58
+ onChange={handleChange}
59
+ getData={fetchSuggestions}
60
+ placeholder="Type to search..."
61
+ type="auto_suggestion"
62
+ selectedItems={selectedItems}
63
+ async={true}
64
+ isMultiple={true}
65
+ expandable={true}
66
+ />
67
+ );
68
+ }
69
+
70
+ ```
50
71
  ## Props
51
72
 
52
73
  You can pass the following props to the `AutoComplete` component:
@@ -74,6 +95,13 @@ You can pass the following props to the `AutoComplete` component:
74
95
  - **nextBlock** _(function or boolean)_: Function for pagination or boolean to determine if pagination is enabled.
75
96
  - **paginationEnabled** _(boolean)_: If true, pagination for suggestions is enabled.
76
97
 
98
+ Additional props for the `ExpandableAutoComplete` component:
99
+
100
+ - **expandable** _(boolean)_: If true, enable the expandable feature.
101
+ - **textCount** _(number)_: Selected chip item text count; the default value will be `10`. If the text count is higher than this, it will show `...` prefix.
102
+ - **itemCount** _(number)_: Selected items count; the default value will be `1`. If more than this count is selected, then will show a `+ count more` button with tooltip.
103
+
104
+
77
105
  ## Contribution
78
106
 
79
107
  If you'd like to contribute to the improvement of the AutoComplete component, please follow the standard contribution guidelines for this project. Your feedback and contributions are valuable!
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { AutoSuggestionInputProps } from './commontypes';
3
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<AutoSuggestionInputProps & React.RefAttributes<HTMLInputElement>>>;
4
+ export default _default;
@@ -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 expandableTootltip_1 = __importDefault(require("./utilities/expandableTootltip"));
79
+ var filterSuggestions_1 = require("./utilities/filterSuggestions");
80
+ var icons_1 = require("./utilities/icons");
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(itemCount).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 ".concat(!expandable ? 'qbs-normal' : ''), "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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"}
@@ -18,8 +18,8 @@ export interface AutoSuggestionInputProps {
18
18
  readOnly?: boolean;
19
19
  disabled?: boolean;
20
20
  isMultiple?: boolean;
21
- desc: string;
22
- descId: string;
21
+ desc?: string;
22
+ descId?: string;
23
23
  singleSelect?: boolean;
24
24
  className?: string;
25
25
  async?: boolean;
@@ -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;