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.
@@ -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 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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"}
@@ -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;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const ExpandableToolTip: React.FC<any>;
3
+ export default ExpandableToolTip;