react-core-ts 1.0.8 → 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!
@@ -1,4 +1,4 @@
1
- import React from "react";
2
- import { AutoSuggestionInputProps } from "./commontypes";
1
+ import React from 'react';
2
+ import { AutoSuggestionInputProps } from './commontypes';
3
3
  declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<AutoSuggestionInputProps & React.RefAttributes<HTMLInputElement>>>;
4
4
  export default _default;
@@ -75,23 +75,23 @@ var react_1 = __importStar(require("react"));
75
75
  var autosuggestions_1 = require("./utilities/autosuggestions");
76
76
  var debounce_1 = require("./utilities/debounce");
77
77
  var deepEqual_1 = require("./utilities/deepEqual");
78
+ var expandableTootltip_1 = __importDefault(require("./utilities/expandableTootltip"));
78
79
  var filterSuggestions_1 = require("./utilities/filterSuggestions");
79
80
  var icons_1 = require("./utilities/icons");
80
- var expandableTootltip_1 = __importDefault(require("./utilities/expandableTootltip"));
81
81
  var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
82
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
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;
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
85
  var dropdownRef = (0, react_1.useRef)(null);
86
86
  // State Hooks Section
87
87
  var _s = (0, react_1.useState)(true), isInitialRender = _s[0], setIsInitialRender = _s[1];
88
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];
89
+ var _u = (0, react_1.useState)(''), searchValue = _u[0], setSearchValue = _u[1];
90
90
  var _v = (0, react_1.useState)(1), nextPage = _v[0], setNextPage = _v[1];
91
91
  var _w = (0, react_1.useState)(false), dropOpen = _w[0], setDropOpen = _w[1];
92
92
  var _x = (0, react_1.useState)([]), selectedItems = _x[0], setSelectedItems = _x[1];
93
93
  // API call for suggestions through a custom hook
94
- var _y = (0, react_1.useState)("bottom"), dropdownPosition = _y[0], setDropdownPosition = _y[1];
94
+ var _y = (0, react_1.useState)('bottom'), dropdownPosition = _y[0], setDropdownPosition = _y[1];
95
95
  var inputRef = (0, react_1.useRef)(null);
96
96
  var dropRef = (0, react_1.useRef)(null);
97
97
  (0, react_1.useImperativeHandle)(ref, function () { return inputRef.current; });
@@ -102,18 +102,18 @@ var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
102
102
  var spaceAbove = inputBoxRect.top;
103
103
  var spaceBelow = viewportHeight - inputBoxRect.bottom;
104
104
  if (spaceAbove > spaceBelow) {
105
- setDropdownPosition("top");
105
+ setDropdownPosition('top');
106
106
  }
107
107
  else {
108
- setDropdownPosition("bottom");
108
+ setDropdownPosition('bottom');
109
109
  }
110
110
  }
111
111
  };
112
112
  (0, react_1.useEffect)(function () {
113
- window.addEventListener("resize", adjustDropdownPosition);
113
+ window.addEventListener('resize', adjustDropdownPosition);
114
114
  adjustDropdownPosition();
115
115
  return function () {
116
- window.removeEventListener("resize", adjustDropdownPosition);
116
+ window.removeEventListener('resize', adjustDropdownPosition);
117
117
  };
118
118
  }, [dropOpen]);
119
119
  var _z = (0, autosuggestions_1.useSuggestions)(getData, data, dropOpen, async, paginationEnabled, initialLoad, inputValue, isMultiple, setNextPage, selectedItems
@@ -127,14 +127,14 @@ var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
127
127
  else {
128
128
  setInputValue(suggestion[desc]);
129
129
  }
130
- setSearchValue("");
130
+ setSearchValue('');
131
131
  setInputValue(suggestion[desc]);
132
132
  onChange(suggestion);
133
133
  setDropOpen(false);
134
134
  }, []);
135
135
  // Adding debounce to avoid making API calls on every keystroke
136
136
  var handleChangeWithDebounce = (0, debounce_1.debounce)(function (value) {
137
- if ((type === "auto_complete" || type === "auto_suggestion") && async) {
137
+ if ((type === 'auto_complete' || type === 'auto_suggestion') && async) {
138
138
  handlePickSuggestions(value, 1);
139
139
  }
140
140
  }, 1000);
@@ -156,7 +156,7 @@ var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
156
156
  onChange(suggestion);
157
157
  }
158
158
  else {
159
- setInputValue("");
159
+ setInputValue('');
160
160
  }
161
161
  }
162
162
  };
@@ -166,7 +166,7 @@ var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
166
166
  }, [propsSeelctedItems]);
167
167
  // Effect to set the input value whenever `value` prop changes
168
168
  (0, react_1.useEffect)(function () {
169
- setInputValue(value !== null && value !== void 0 ? value : "");
169
+ setInputValue(value !== null && value !== void 0 ? value : '');
170
170
  }, [value]);
171
171
  var handleChange = function (e) {
172
172
  var _a;
@@ -175,8 +175,8 @@ var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
175
175
  setSearchValue(value);
176
176
  handleChangeWithDebounce(value);
177
177
  if (!value) {
178
- setInputValue("");
179
- onChange((_a = {}, _a[descId] = "", _a[desc] = "", _a));
178
+ setInputValue('');
179
+ onChange((_a = {}, _a[descId] = '', _a[desc] = '', _a));
180
180
  }
181
181
  };
182
182
  var handleSuggestionChange = function (e) {
@@ -193,17 +193,17 @@ var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
193
193
  var handleClear = function () {
194
194
  var _a;
195
195
  if (searchValue) {
196
- setSearchValue("");
196
+ setSearchValue('');
197
197
  setDropOpen(false);
198
198
  }
199
199
  else {
200
- setInputValue("");
201
- onChange((_a = {}, _a[descId] = "", _a[desc] = "", _a));
200
+ setInputValue('');
201
+ onChange((_a = {}, _a[descId] = '', _a[desc] = '', _a));
202
202
  setDropOpen(false);
203
203
  }
204
204
  };
205
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" : "");
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
207
  }, [errors, name]);
208
208
  var handleRemoveSelectedItem = function (index) {
209
209
  setSelectedItems(function (prev) {
@@ -224,12 +224,12 @@ var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
224
224
  event.target instanceof Node &&
225
225
  !dropdownRef.current.contains(event.target)) {
226
226
  setDropOpen(false);
227
- setSearchValue("");
227
+ setSearchValue('');
228
228
  }
229
229
  };
230
- document.addEventListener("mousedown", handleClickOutside);
230
+ document.addEventListener('mousedown', handleClickOutside);
231
231
  return function () {
232
- document.removeEventListener("mousedown", handleClickOutside);
232
+ document.removeEventListener('mousedown', handleClickOutside);
233
233
  };
234
234
  }, []);
235
235
  // Filtering suggestions based on type and search value
@@ -250,7 +250,7 @@ var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
250
250
  }
251
251
  };
252
252
  var handleOnClick = function () {
253
- !disabled && !readOnly ? setDropOpen(true) : "";
253
+ !disabled && !readOnly ? setDropOpen(true) : '';
254
254
  };
255
255
  var onInputFocus = function () {
256
256
  if (inputRef.current)
@@ -258,19 +258,19 @@ var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
258
258
  handleOnClick();
259
259
  };
260
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 },
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
264
  label && (react_1.default.createElement("div", { style: {
265
265
  marginBottom: 5,
266
- display: "flex",
267
- justifyContent: "space-between",
266
+ display: 'flex',
267
+ justifyContent: 'space-between',
268
268
  } },
269
269
  react_1.default.createElement("label", { className: "labels label-text" },
270
270
  label,
271
271
  required && react_1.default.createElement("span", { className: "text-error" }, " *")),
272
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" } },
273
+ react_1.default.createElement("div", { className: "".concat(expandable ? 'qbs-expandable-container' : 'qbs-container'), style: { position: 'relative' } },
274
274
  (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 0 && (react_1.default.createElement(react_1.default.Fragment, null,
275
275
  selectedItems
276
276
  .slice(0, (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > itemCount
@@ -293,37 +293,37 @@ var ExpandableAutoComplete = (0, react_1.forwardRef)(function (_a, ref) {
293
293
  "+",
294
294
  (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) - itemCount,
295
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
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
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
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
300
  ? inputValue
301
301
  : searchValue || inputValue, onChange: handleChange,
302
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" })),
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
306
  !expandable && (react_1.default.createElement("div", { className: "qbs-autocomplete-close-icon" },
307
307
  (inputValue || searchValue) && !disabled && !readOnly && (react_1.default.createElement("button", { onClick: handleClear, className: "icon-button", "aria-label": "clear" },
308
308
  react_1.default.createElement(icons_1.Close, null))),
309
309
  react_1.default.createElement("button", { disabled: disabled || readOnly, type: "button", onClick: function () { return setDropOpen(!dropOpen); }, className: "icon-button", "aria-label": "toggle" },
310
310
  react_1.default.createElement(icons_1.DropArrow, null)))),
311
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" },
312
+ type == 'auto_suggestion' && !expandable && (react_1.default.createElement("div", { style: { position: 'relative' }, className: "react-core-ts-search-container" },
313
313
  react_1.default.createElement("span", { className: "dropdown-search-icon" },
314
314
  react_1.default.createElement(icons_1.Search, null)),
315
315
  react_1.default.createElement("input", { className: "dropdown-search-input", onChange: handleSuggestionChange, value: searchValue, placeholder: "Search" }))),
316
316
  react_1.default.createElement("div", { className: "qbs-autocomplete-suggestions-sub" },
317
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" : "") },
318
+ 'qbs-autocomplete-checkbox-container', " ").concat(isSelected(suggestion, selected) ? 'is-selected' : '') },
319
319
  (isMultiple || singleSelect) && (react_1.default.createElement("div", { className: "qbs-autocomplete-checkbox" },
320
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
321
  react_1.default.createElement("label", { htmlFor: "qbs-checkbox-".concat(idx.toString()) },
322
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
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" } },
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
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")))),
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
327
  paginationEnabled &&
328
328
  nextBlock !== 0 &&
329
329
  nextBlock !== undefined &&
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandableAutoComplete.js","sourceRoot":"","sources":["../src/ExpandableAutoComplete.tsx"],"names":[],"mappings":"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"}
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;
@@ -0,0 +1,578 @@
1
+ body * {
2
+ box-sizing: border-box;
3
+ }
4
+ :root {
5
+ --grey-dark: #4a4a4a;
6
+ --grey-light: #d3d3d3;
7
+ --blue-navy: #001f3f;
8
+ --input-disabled: #a9a9a9;
9
+ --error-light: #f08080;
10
+ --error-extra-light: #fddede;
11
+ --success: #28a745;
12
+ --success-light: #d4edda;
13
+ --blue-light: #add8e6;
14
+ }
15
+ :root {
16
+ --blue-navy: #001f3f;
17
+ --table-hover: #your-hover-color; /* Replace with your actual color code */
18
+ }
19
+
20
+ .custom-spinner {
21
+ width: 24px !important; /* w-6 */
22
+ height: 24px; /* h-6 */
23
+ color: transparent; /* text-table-hover */
24
+ fill: var(--blue-navy); /* fill-blue-navy */
25
+ animation: spin 1s linear infinite; /* animate-spin */
26
+ width: 15px;
27
+ position: relative;
28
+ top: 1px;
29
+ }
30
+
31
+ @keyframes spin {
32
+ 0% {
33
+ transform: rotate(0deg);
34
+ }
35
+ 100% {
36
+ transform: rotate(360deg);
37
+ }
38
+ }
39
+
40
+ .textfield,
41
+ .textfield-big {
42
+ outline: none;
43
+ color: var(--grey-dark);
44
+ border-color: var(--grey-light);
45
+ background-color: white;
46
+ }
47
+
48
+ .textfield:focus,
49
+ .textfield-big:focus {
50
+ border-color: var(--blue-navy);
51
+ }
52
+
53
+ .textfield:disabled,
54
+ .textfield-big:disabled {
55
+ color: var(--input-disabled);
56
+ }
57
+
58
+ .textfield-error,
59
+ .textfield-big-error {
60
+ outline: none;
61
+ color: var(--error-light) !important;
62
+ border-color: var(--error-light) !important;
63
+ background-color: var(--error-extra-light) !important ;
64
+ }
65
+
66
+ .textfield-error::placeholder,
67
+ .textfield-big-error::placeholder {
68
+ color: var(--error-light);
69
+ }
70
+
71
+ .textfield-success {
72
+ outline: none;
73
+ color: var(--success);
74
+ border-color: var(--success);
75
+ background-color: var(--success-light);
76
+ }
77
+
78
+ .textfield-success:focus {
79
+ ring-width: 0;
80
+ }
81
+
82
+ .textfield-success::placeholder {
83
+ color: var(--success);
84
+ }
85
+
86
+ .textfield-editable {
87
+ outline: none;
88
+ color: var(--grey-dark);
89
+ border-color: var(--blue-navy);
90
+ background-color: var(--blue-light);
91
+ }
92
+
93
+ .textfield-editable::placeholder {
94
+ color: var(--grey-dark);
95
+ }
96
+
97
+ .qbs-autocomplete-suggestions {
98
+ position: absolute;
99
+ height: auto;
100
+ width: 100%;
101
+ padding: 8px; /* Corresponding to p-1.5 in Tailwind */
102
+ z-index: 99;
103
+ margin-top: 4px;
104
+ margin-bottom: 0;
105
+ border-radius: 8px;
106
+ background: #fff;
107
+ box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15);
108
+ }
109
+ .qbs-autocomplete-suggestions.bottom {
110
+ top: 100%; /* Position below the input */
111
+ /* Other styling */
112
+ }
113
+
114
+ .qbs-autocomplete-suggestions.top {
115
+ bottom: 100%; /* Position above the input */
116
+ /* Other styling */
117
+ }
118
+ .qbs-autocomplete-suggestions-item {
119
+ cursor: pointer;
120
+ padding: 6px 8px;
121
+ border-radius: 6px;
122
+ color: #222;
123
+ font-size: 14px;
124
+ font-weight: 500;
125
+ line-height: 20px; /* 142.857% */
126
+ width: 100%;
127
+ display: flex;
128
+ align-items: flex-start;
129
+ gap: 8px;
130
+ }
131
+ .qbs-autocomplete-suggestions-item:hover {
132
+ background: #f8f8f8;
133
+ border-radius: 6px;
134
+ }
135
+
136
+ /* When value.id is equal to suggestion.id */
137
+ .is-selected {
138
+ border-radius: 6px;
139
+ background: var(--neutrals-grey-20, #f4f4f4);
140
+ }
141
+
142
+ /* When value.id is NOT equal to suggestion.id */
143
+ .qbs-autocomplete-suggestions-item .is-not-selected:hover {
144
+ background-color: #f1f5f9; /* Replace with actual color code for 'hover:bg-table-hover' */
145
+ }
146
+
147
+ .qbs-autocomplete-notfound {
148
+ cursor: pointer;
149
+ padding: 6px 8px;
150
+ border-radius: 6px;
151
+ font-size: 12px;
152
+ font-weight: 500;
153
+ }
154
+
155
+ .qbs-autocomplete-close-icon {
156
+ position: absolute;
157
+ top: calc(50% - 7px);
158
+ right: 2px; /* right-1 */
159
+ padding-left: 0.25rem; /* px-1 */
160
+ padding-right: 0.25rem; /* px-1 */
161
+ display: flex;
162
+ justify-content: center;
163
+ align-items: center;
164
+ background-color: white; /* bg-white */
165
+ }
166
+ .qbs-textfield-default {
167
+ width: 100%;
168
+ position: relative;
169
+ padding-right: 8px;
170
+ min-height: 36px;
171
+ height: 36px;
172
+ border-radius: 6px;
173
+ padding-left: 8px;
174
+ border: 1px solid #d6d8dc;
175
+ background: #fff;
176
+ box-sizing: border-box;
177
+ font-size: 14px;
178
+ font-style: normal;
179
+ font-weight: 500;
180
+ line-height: 20px;
181
+ color: #313131;
182
+ }
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
+
233
+ .qbs-textfield-default::placeholder {
234
+ font-size: 14px;
235
+ font-style: normal;
236
+ font-weight: 500;
237
+ line-height: 20px;
238
+ }
239
+
240
+ .qbs-autocomplete-close-icon button:focus-within {
241
+ outline: none;
242
+ }
243
+
244
+ .fullWidth {
245
+ width: 100%;
246
+ }
247
+
248
+ .autoWidth {
249
+ width: auto;
250
+ }
251
+ .icon-button {
252
+ background: transparent;
253
+ border: none;
254
+ display: inline-flex;
255
+ cursor: pointer;
256
+ padding: 0px 1px;
257
+ }
258
+ .labels {
259
+ font-size: 12px;
260
+ }
261
+ .dropdown-search-input {
262
+ min-width: -webkit-fill-available;
263
+ border-radius: 6px;
264
+ border: 1px solid var(--border-card-color-default, #d6d8dc);
265
+ background: var(--surface-input-bg-color-default, #fff);
266
+ color: #313131;
267
+ font-size: 14px;
268
+ height: 36px;
269
+ padding: 0px 8px;
270
+ font-style: normal;
271
+ font-weight: 500;
272
+ line-height: 20px;
273
+ padding-left: 32px;
274
+ }
275
+ .qbs-autocomplete-suggestions-sub {
276
+ position: relative;
277
+ overflow: auto;
278
+ max-height: 192px;
279
+ top: 0;
280
+ display: flex;
281
+ flex-direction: column;
282
+ gap: 4px;
283
+ }
284
+ .qbs-autocomplete-listitem-container {
285
+ display: flex;
286
+ align-items: center;
287
+ gap: 0px;
288
+ }
289
+ ul {
290
+ list-style-type: none;
291
+ }
292
+
293
+ .react-core-ts-search-container {
294
+ display: flex;
295
+ align-items: center;
296
+ gap: var(--spacing-4, 4px);
297
+ align-self: stretch;
298
+ margin-bottom: 4px;
299
+ }
300
+ .selected-item {
301
+ display: flex;
302
+ align-items: center;
303
+ justify-content: space-between;
304
+ padding: 3px 6px;
305
+ margin: 0;
306
+ background-color: #e0e0e0;
307
+ color: #333;
308
+ border-radius: 6px;
309
+ border: 1px solid rgba(231, 100, 88, 0.1);
310
+ background: rgba(231, 100, 88, 0.1);
311
+ font-size: 12px;
312
+ font-style: normal;
313
+ font-weight: 500;
314
+ line-height: 16px;
315
+ color: #e76458;
316
+ gap: 6px;
317
+ height: 22px;
318
+ }
319
+
320
+ .remove-item-btn {
321
+ background-color: transparent;
322
+ border: none;
323
+ color: #e76458;
324
+ cursor: pointer;
325
+ }
326
+
327
+ .remove-item-btn:hover {
328
+ color: #e76458;
329
+ }
330
+
331
+ .selected-items-container {
332
+ display: flex;
333
+ gap: 12px;
334
+ align-items: center;
335
+ position: absolute;
336
+ left: 8px;
337
+ z-index: 99;
338
+ top: 6.5px;
339
+ flex-wrap: wrap;
340
+ }
341
+
342
+ .qbs-expandable-container .selected-items-container {
343
+ position: relative;
344
+ top: 0;
345
+ left: 0;
346
+ }
347
+
348
+ .selected-item-more {
349
+ display: flex;
350
+ align-items: center;
351
+ justify-content: center;
352
+ padding: 3px 8px;
353
+ margin: 0;
354
+ border-radius: 6px;
355
+ background: #c63a3a;
356
+ font-size: 12px;
357
+ font-style: normal;
358
+ font-weight: 500;
359
+ line-height: 16px;
360
+ color: #fff;
361
+ height: 22px;
362
+ }
363
+
364
+ .loadMoreSection {
365
+ margin: 0;
366
+ cursor: pointer;
367
+ display: flex;
368
+ justify-content: flex-start;
369
+ padding: 8px;
370
+ }
371
+ .loadMoreSection p {
372
+ color: #336cfc;
373
+ font-size: 14px;
374
+ font-style: normal;
375
+ font-weight: 500;
376
+ line-height: 20px;
377
+ margin: 0;
378
+ }
379
+ ::-webkit-scrollbar-track {
380
+ -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0);
381
+ border-radius: 0px;
382
+ background-color: transparent;
383
+ }
384
+
385
+ ::-webkit-scrollbar {
386
+ width: 6px;
387
+ height: 4px;
388
+ background-color: transparent;
389
+ }
390
+
391
+ ::-webkit-scrollbar-thumb {
392
+ border-radius: 100px;
393
+ -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0);
394
+ background-color: #ddd;
395
+ }
396
+
397
+ .qbs-autocomplete-suggestions-item.is-selected {
398
+ color: #e76458;
399
+ background: #f8f8f8;
400
+ }
401
+
402
+ span.dropdown-search-icon {
403
+ position: absolute;
404
+ left: 8px;
405
+ top: 10px;
406
+ }
407
+
408
+ .dropdown-search-input:focus {
409
+ outline: none;
410
+ border: 1px solid #222;
411
+ }
412
+
413
+ .qbs-autocomplete-checkbox-container {
414
+ gap: 8px;
415
+ padding: 6px 8px;
416
+ display: flex;
417
+ align-items: flex-start;
418
+ }
419
+
420
+ .qbs-autocomplete-checkbox-container .qbs-autocomplete-suggestions-item {
421
+ padding: 0;
422
+ pointer-events: none;
423
+ }
424
+
425
+ .qbs-autocomplete-checkbox-container:hover {
426
+ background: #f8f8f8;
427
+ border-radius: 6px;
428
+ }
429
+
430
+ .qbs-autocomplete-checkbox-container.is-selected {
431
+ background: #f8f8f8;
432
+ border-radius: 6px;
433
+ }
434
+
435
+ .qbs-autocomplete-checkbox {
436
+ position: relative;
437
+ display: flex;
438
+ align-items: center;
439
+ justify-content: center;
440
+ }
441
+
442
+ .qbs-autocomplete-checkbox input {
443
+ opacity: 0;
444
+ }
445
+
446
+ .qbs-autocomplete-checkbox input ~ label {
447
+ position: absolute;
448
+ border-radius: 3px;
449
+ border: 1px solid #999696;
450
+ width: 16px;
451
+ height: 16px;
452
+ top: 3px;
453
+ transition: all 0.2s ease;
454
+ cursor: pointer;
455
+ }
456
+
457
+ .qbs-autocomplete-checkbox input ~ label svg {
458
+ opacity: 0;
459
+ transition: all 0.2s ease;
460
+ position: absolute;
461
+ left: 3px;
462
+ top: 3px;
463
+ width: 9px;
464
+ height: 9px;
465
+ }
466
+
467
+ .qbs-autocomplete-checkbox input:checked ~ label {
468
+ transition: all 0.2s ease;
469
+ border-radius: 3px;
470
+ background: #e76458;
471
+ border-color: #e76458;
472
+ }
473
+ .qbs-autocomplete-checkbox input:checked ~ label svg {
474
+ opacity: 1;
475
+ transition: all 0.2s ease;
476
+ }
477
+
478
+ .action_label {
479
+ font-size: 14px;
480
+ color: #4c7ad6;
481
+ }
482
+ /* Tooltip.css */
483
+ /* .tooltip-wrapper {
484
+ position: relative;
485
+ display: inline-block;
486
+ }
487
+
488
+ .tooltip-content {
489
+ visibility: hidden;
490
+ width: max-content;
491
+ background-color: black;
492
+ color: white;
493
+ text-align: center;
494
+ max-width: 150px;
495
+ padding: 5px 10px;
496
+ border-radius: 6px;
497
+ position: absolute;
498
+ z-index: 1;
499
+ bottom: 125%;
500
+ left: 50%;
501
+ transform: translateX(-50%);
502
+ transition: visibility 0.2s ease-in-out;
503
+ }
504
+
505
+ .tooltip-content::after {
506
+ content: '';
507
+ position: absolute;
508
+ top: 100%;
509
+ left: 50%;
510
+ margin-left: -5px;
511
+ border-width: 5px;
512
+ border-style: solid;
513
+ border-color: black transparent transparent transparent;
514
+ }
515
+
516
+ .tooltip-wrapper:hover .tooltip-content {
517
+ visibility: visible;
518
+ } */
519
+ .qbs-table-tooltip {
520
+ position: relative;
521
+ display: contents;
522
+ cursor: pointer;
523
+ }
524
+
525
+ .qbs-table-tooltip .tooltiptext, .tooltiptext {
526
+ visibility: hidden;
527
+ background-color: #000;
528
+ color: #fff;
529
+ text-align: center;
530
+ padding: 6px;
531
+ border-radius: 4px;
532
+ position: absolute;
533
+ z-index: 9999;
534
+ opacity: 0;
535
+ transition: opacity 0.3s;
536
+ font-size: 14px;
537
+ font-style: normal;
538
+ font-weight: 400;
539
+ line-height: 16px;
540
+ max-width: 300px;
541
+ }
542
+
543
+ .qbs-table-tooltip.up .tooltiptext {
544
+ bottom: 125%;
545
+ left: 0%;
546
+ }
547
+
548
+ .qbs-table-tooltip.down .tooltiptext {
549
+ top: 125%;
550
+ right: 0px;
551
+ left: auto;
552
+ }
553
+
554
+ .qbs-table-tooltip:hover .tooltiptext {
555
+ visibility: visible;
556
+ opacity: 1;
557
+ }
558
+
559
+ .qbs-table-tooltip .tooltiptext::after, .tooltiptext::after {
560
+ content: "";
561
+ position: absolute;
562
+ border-width: 5px;
563
+ border-style: solid;
564
+ }
565
+
566
+ .qbs-table-tooltip.up .tooltiptext::after, .up.tooltiptext::after {
567
+ top: 100%;
568
+ left: 50%;
569
+ margin-left: -5px;
570
+ border-color: #000 transparent transparent transparent;
571
+ }
572
+
573
+ .qbs-table-tooltip.down .tooltiptext::after, .down.tooltiptext::after {
574
+ bottom: 100%;
575
+ left: 50%;
576
+ margin-left: -5px;
577
+ border-color: transparent transparent #000 transparent;
578
+ }
@@ -0,0 +1 @@
1
+ @import './components/autocomplete.css';
@@ -11,6 +11,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.filterSuggestions = void 0;
13
13
  var filterSuggestions = function (data, query, type, desc, inputValue, async) {
14
+ console.log(type, async, query, data, desc);
14
15
  if ((type === 'custom_search_select' ||
15
16
  type === 'auto_complete' ||
16
17
  type === 'auto_suggestion') &&
@@ -1 +1 @@
1
- {"version":3,"file":"filterSuggestions.js","sourceRoot":"","sources":["../../src/utilities/filterSuggestions.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIO,IAAM,iBAAiB,GAAG,UAC/B,IAAY,EACZ,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,UAAmB,EACnB,KAAe;IAEf,IACE,CAAC,IAAI,KAAK,sBAAsB;QAC9B,IAAI,KAAK,eAAe;QACxB,IAAI,KAAK,iBAAiB,CAAC;QAC7B,CAAC,KAAK;QACN,KAAK,EACL;QACA,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,UAAC,IAAI;YACvB,OAAA,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAAtD,CAAsD,CACvD,CAAC;KACH;IACD,OAAO,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC,CAAC;AApBW,QAAA,iBAAiB,qBAoB5B;AAEF,IAAM,eAAe,GAAG,UACtB,YAAmB,EACnB,aAA6B,EAC7B,IAAS;IAET,OAAO,kBAAI,YAAY,QAAE,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;QACjC,IAAI,WAAoB,CAAC;QACzB,IAAI,WAAoB,CAAC;QAEzB,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAChC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAtB,CAAsB,CAAC,CAAC;YACnE,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAtB,CAAsB,CAAC,CAAC;SACpE;aAAM;YACL,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC;YACxC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC;SACzC;QAED,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"filterSuggestions.js","sourceRoot":"","sources":["../../src/utilities/filterSuggestions.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIO,IAAM,iBAAiB,GAAG,UAC/B,IAAY,EACZ,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,UAAmB,EACnB,KAAe;IAEf,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,IACE,CAAC,IAAI,KAAK,sBAAsB;QAC9B,IAAI,KAAK,eAAe;QACxB,IAAI,KAAK,iBAAiB,CAAC;QAC7B,CAAC,KAAK;QACN,KAAK,EACL;QACA,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,UAAC,IAAI;YACvB,OAAA,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAAtD,CAAsD,CACvD,CAAC;KACH;IACD,OAAO,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC,CAAC;AArBW,QAAA,iBAAiB,qBAqB5B;AAEF,IAAM,eAAe,GAAG,UACtB,YAAmB,EACnB,aAA6B,EAC7B,IAAS;IAET,OAAO,kBAAI,YAAY,QAAE,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;QACjC,IAAI,WAAoB,CAAC;QACzB,IAAI,WAAoB,CAAC;QAEzB,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAChC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAtB,CAAsB,CAAC,CAAC;YACnE,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAtB,CAAsB,CAAC,CAAC;SACpE;aAAM;YACL,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC;YACxC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC;SACzC;QAED,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-core-ts",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "React Components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -5,15 +5,15 @@ import React, {
5
5
  useImperativeHandle,
6
6
  useRef,
7
7
  useState,
8
- } from "react";
8
+ } from 'react';
9
9
 
10
- import { AutoSuggestionInputProps } from "./commontypes";
11
- import { useSuggestions } from "./utilities/autosuggestions";
12
- import { debounce } from "./utilities/debounce";
13
- import { deepEqual } from "./utilities/deepEqual";
14
- import { filterSuggestions } from "./utilities/filterSuggestions";
15
- import { Close, DropArrow, Search, Spinner } from "./utilities/icons";
16
- import { default as Tooltip } from "./utilities/expandableTootltip";
10
+ import { AutoSuggestionInputProps } from './commontypes';
11
+ import { useSuggestions } from './utilities/autosuggestions';
12
+ import { debounce } from './utilities/debounce';
13
+ import { deepEqual } from './utilities/deepEqual';
14
+ import { default as Tooltip } from './utilities/expandableTootltip';
15
+ import { filterSuggestions } from './utilities/filterSuggestions';
16
+ import { Close, DropArrow, Search, Spinner } from './utilities/icons';
17
17
 
18
18
  type ValueProps = {
19
19
  [key: string]: string;
@@ -34,14 +34,14 @@ const ExpandableAutoComplete = forwardRef<
34
34
  fullWidth = false,
35
35
  placeholder,
36
36
  id,
37
- type = "custom_select",
37
+ type = 'custom_select',
38
38
  selectedItems: propsSeelctedItems = [],
39
39
  readOnly = false,
40
40
  disabled = false,
41
41
  value,
42
42
  isMultiple = false,
43
- desc = "name",
44
- descId = "id",
43
+ desc = 'name',
44
+ descId = 'id',
45
45
  singleSelect,
46
46
  className,
47
47
  async = false,
@@ -63,12 +63,12 @@ const ExpandableAutoComplete = forwardRef<
63
63
  const [isInitialRender, setIsInitialRender] = useState(true);
64
64
 
65
65
  const [inputValue, setInputValue] = useState<string>(value);
66
- const [searchValue, setSearchValue] = useState<string>("");
66
+ const [searchValue, setSearchValue] = useState<string>('');
67
67
  const [nextPage, setNextPage] = useState<number | undefined>(1);
68
68
  const [dropOpen, setDropOpen] = useState<boolean>(false);
69
69
  const [selectedItems, setSelectedItems] = useState<ValueProps[]>([]);
70
70
  // API call for suggestions through a custom hook
71
- const [dropdownPosition, setDropdownPosition] = useState("bottom");
71
+ const [dropdownPosition, setDropdownPosition] = useState('bottom');
72
72
  const inputRef = useRef(null);
73
73
  const dropRef = useRef(null);
74
74
  useImperativeHandle(ref, () => inputRef.current);
@@ -81,19 +81,19 @@ const ExpandableAutoComplete = forwardRef<
81
81
  const spaceAbove = inputBoxRect.top;
82
82
  const spaceBelow = viewportHeight - inputBoxRect.bottom;
83
83
  if (spaceAbove > spaceBelow) {
84
- setDropdownPosition("top");
84
+ setDropdownPosition('top');
85
85
  } else {
86
- setDropdownPosition("bottom");
86
+ setDropdownPosition('bottom');
87
87
  }
88
88
  }
89
89
  };
90
90
 
91
91
  useEffect(() => {
92
- window.addEventListener("resize", adjustDropdownPosition);
92
+ window.addEventListener('resize', adjustDropdownPosition);
93
93
  adjustDropdownPosition();
94
94
 
95
95
  return () => {
96
- window.removeEventListener("resize", adjustDropdownPosition);
96
+ window.removeEventListener('resize', adjustDropdownPosition);
97
97
  };
98
98
  }, [dropOpen]);
99
99
 
@@ -118,7 +118,7 @@ const ExpandableAutoComplete = forwardRef<
118
118
  } else {
119
119
  setInputValue(suggestion[desc]);
120
120
  }
121
- setSearchValue("");
121
+ setSearchValue('');
122
122
  setInputValue(suggestion[desc]);
123
123
  onChange(suggestion);
124
124
  setDropOpen(false);
@@ -126,7 +126,7 @@ const ExpandableAutoComplete = forwardRef<
126
126
 
127
127
  // Adding debounce to avoid making API calls on every keystroke
128
128
  const handleChangeWithDebounce = debounce((value) => {
129
- if ((type === "auto_complete" || type === "auto_suggestion") && async) {
129
+ if ((type === 'auto_complete' || type === 'auto_suggestion') && async) {
130
130
  handlePickSuggestions(value, 1);
131
131
  }
132
132
  }, 1000);
@@ -148,7 +148,7 @@ const ExpandableAutoComplete = forwardRef<
148
148
  setInputValue(suggestion[desc]);
149
149
  onChange(suggestion);
150
150
  } else {
151
- setInputValue("");
151
+ setInputValue('');
152
152
  }
153
153
  }
154
154
  };
@@ -158,7 +158,7 @@ const ExpandableAutoComplete = forwardRef<
158
158
  }, [propsSeelctedItems]);
159
159
  // Effect to set the input value whenever `value` prop changes
160
160
  useEffect(() => {
161
- setInputValue(value ?? "");
161
+ setInputValue(value ?? '');
162
162
  }, [value]);
163
163
 
164
164
  const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
@@ -167,8 +167,8 @@ const ExpandableAutoComplete = forwardRef<
167
167
  setSearchValue(value);
168
168
  handleChangeWithDebounce(value);
169
169
  if (!value) {
170
- setInputValue("");
171
- onChange({ [descId]: "", [desc]: "" });
170
+ setInputValue('');
171
+ onChange({ [descId]: '', [desc]: '' });
172
172
  }
173
173
  };
174
174
  const handleSuggestionChange = (e: React.ChangeEvent<HTMLInputElement>) => {
@@ -186,19 +186,19 @@ const ExpandableAutoComplete = forwardRef<
186
186
 
187
187
  const handleClear = () => {
188
188
  if (searchValue) {
189
- setSearchValue("");
189
+ setSearchValue('');
190
190
  setDropOpen(false);
191
191
  } else {
192
- setInputValue("");
193
- onChange({ [descId]: "", [desc]: "" });
192
+ setInputValue('');
193
+ onChange({ [descId]: '', [desc]: '' });
194
194
  setDropOpen(false);
195
195
  }
196
196
  };
197
197
 
198
198
  const generateClassName = useCallback(() => {
199
199
  return `qbs-textfield-default ${className} ${
200
- errors && errors?.message ? "textfield-error" : "textfield"
201
- } ${expandable ? "expandable" : ""}`;
200
+ errors && errors?.message ? 'textfield-error' : 'textfield'
201
+ } ${expandable ? 'expandable' : ''}`;
202
202
  }, [errors, name]);
203
203
  const handleRemoveSelectedItem = (index: number) => {
204
204
  setSelectedItems((prev) => {
@@ -222,12 +222,12 @@ const ExpandableAutoComplete = forwardRef<
222
222
  !dropdownRef.current.contains(event.target)
223
223
  ) {
224
224
  setDropOpen(false);
225
- setSearchValue("");
225
+ setSearchValue('');
226
226
  }
227
227
  };
228
- document.addEventListener("mousedown", handleClickOutside as any);
228
+ document.addEventListener('mousedown', handleClickOutside as any);
229
229
  return () => {
230
- document.removeEventListener("mousedown", handleClickOutside as any);
230
+ document.removeEventListener('mousedown', handleClickOutside as any);
231
231
  };
232
232
  }, []);
233
233
 
@@ -262,7 +262,7 @@ const ExpandableAutoComplete = forwardRef<
262
262
  };
263
263
 
264
264
  const handleOnClick = () => {
265
- !disabled && !readOnly ? setDropOpen(true) : "";
265
+ !disabled && !readOnly ? setDropOpen(true) : '';
266
266
  };
267
267
  const onInputFocus = () => {
268
268
  if (inputRef.current) inputRef.current.focus();
@@ -271,19 +271,19 @@ const ExpandableAutoComplete = forwardRef<
271
271
  const tooltipContent =
272
272
  selectedItems?.length > itemCount
273
273
  ? selectedItems
274
- ?.slice(1)
274
+ ?.slice(itemCount)
275
275
  .map((item) => item[desc])
276
- .join(", ")
277
- : "";
276
+ .join(', ')
277
+ : '';
278
278
 
279
279
  return (
280
- <div className={fullWidth ? "fullWidth" : "autoWidth"} ref={dropdownRef}>
280
+ <div className={fullWidth ? 'fullWidth' : 'autoWidth'} ref={dropdownRef}>
281
281
  {label && (
282
282
  <div
283
283
  style={{
284
284
  marginBottom: 5,
285
- display: "flex",
286
- justifyContent: "space-between",
285
+ display: 'flex',
286
+ justifyContent: 'space-between',
287
287
  }}
288
288
  >
289
289
  <label className={`labels label-text`}>
@@ -299,9 +299,9 @@ const ExpandableAutoComplete = forwardRef<
299
299
 
300
300
  <div
301
301
  className={`${
302
- expandable ? "qbs-expandable-container" : "qbs-container"
302
+ expandable ? 'qbs-expandable-container' : 'qbs-container'
303
303
  }`}
304
- style={{ position: "relative" }}
304
+ style={{ position: 'relative' }}
305
305
  >
306
306
  {selectedItems?.length > 0 && (
307
307
  <>
@@ -349,11 +349,13 @@ const ExpandableAutoComplete = forwardRef<
349
349
  )}
350
350
 
351
351
  <div
352
- className="qbs-textfield-expandable"
352
+ className={`qbs-textfield-expandable ${
353
+ !expandable ? 'qbs-normal' : ''
354
+ }`}
353
355
  data-value={
354
356
  selectedItems?.length > 0 || searchValue
355
357
  ? searchValue
356
- : placeholder ?? ""
358
+ : placeholder ?? ''
357
359
  }
358
360
  onClick={() => onInputFocus()}
359
361
  >
@@ -362,7 +364,7 @@ const ExpandableAutoComplete = forwardRef<
362
364
  ref={inputRef}
363
365
  type="text"
364
366
  value={
365
- type === "auto_suggestion" && !expandable
367
+ type === 'auto_suggestion' && !expandable
366
368
  ? inputValue
367
369
  : searchValue || inputValue
368
370
  }
@@ -371,11 +373,11 @@ const ExpandableAutoComplete = forwardRef<
371
373
  onFocus={onFocus}
372
374
  onClick={() => handleOnClick()}
373
375
  className={generateClassName()}
374
- placeholder={selectedItems?.length > 0 ? "" : placeholder ?? ""}
376
+ placeholder={selectedItems?.length > 0 ? '' : placeholder ?? ''}
375
377
  readOnly={
376
378
  readOnly ||
377
- type === "custom_select" ||
378
- (type == "auto_suggestion" && !expandable)
379
+ type === 'custom_select' ||
380
+ (type == 'auto_suggestion' && !expandable)
379
381
  }
380
382
  disabled={disabled}
381
383
  data-testid="custom-autocomplete"
@@ -415,9 +417,9 @@ const ExpandableAutoComplete = forwardRef<
415
417
  ref={dropRef}
416
418
  className={`qbs-autocomplete-suggestions ${dropdownPosition}`}
417
419
  >
418
- {type == "auto_suggestion" && !expandable && (
420
+ {type == 'auto_suggestion' && !expandable && (
419
421
  <div
420
- style={{ position: "relative" }}
422
+ style={{ position: 'relative' }}
421
423
  className="react-core-ts-search-container"
422
424
  >
423
425
  <span className="dropdown-search-icon">
@@ -449,9 +451,9 @@ const ExpandableAutoComplete = forwardRef<
449
451
  key={idx.toString()}
450
452
  className={`qbs-autocomplete-listitem-container ${
451
453
  (isMultiple || singleSelect) &&
452
- "qbs-autocomplete-checkbox-container"
454
+ 'qbs-autocomplete-checkbox-container'
453
455
  } ${
454
- isSelected(suggestion, selected) ? "is-selected" : ""
456
+ isSelected(suggestion, selected) ? 'is-selected' : ''
455
457
  }`}
456
458
  >
457
459
  {(isMultiple || singleSelect) && (
@@ -481,7 +483,7 @@ const ExpandableAutoComplete = forwardRef<
481
483
  <li
482
484
  key={idx}
483
485
  className={`qbs-autocomplete-suggestions-item ${
484
- isSelected(suggestion, selected) ? "is-selected" : ""
486
+ isSelected(suggestion, selected) ? 'is-selected' : ''
485
487
  }`}
486
488
  onClick={() => handleSuggestionClick(suggestion)}
487
489
  data-testid={suggestion[desc]}
@@ -494,7 +496,7 @@ const ExpandableAutoComplete = forwardRef<
494
496
  <>
495
497
  {isLoading ? (
496
498
  <div
497
- style={{ display: "flex", justifyContent: "center" }}
499
+ style={{ display: 'flex', justifyContent: 'center' }}
498
500
  >
499
501
  <span>
500
502
  <Spinner />
@@ -505,7 +507,7 @@ const ExpandableAutoComplete = forwardRef<
505
507
  className="qbs-autocomplete-notfound"
506
508
  onClick={handleBlur}
507
509
  >
508
- {notDataMessage ?? "No Results Found"}
510
+ {notDataMessage ?? 'No Results Found'}
509
511
  </li>
510
512
  )}
511
513
  </>
@@ -21,8 +21,8 @@ export interface AutoSuggestionInputProps {
21
21
  readOnly?: boolean;
22
22
  disabled?: boolean;
23
23
  isMultiple?: boolean;
24
- desc: string;
25
- descId: string;
24
+ desc?: string;
25
+ descId?: string;
26
26
  singleSelect?: boolean;
27
27
  className?: string;
28
28
  async?: boolean;
@@ -10,6 +10,7 @@ export const filterSuggestions = (
10
10
  inputValue?: string,
11
11
  async?: boolean
12
12
  ): Item[] => {
13
+ console.log(type, async, query, data, desc);
13
14
  if (
14
15
  (type === 'custom_search_select' ||
15
16
  type === 'auto_complete' ||