react-core-ts 2.1.45 → 2.1.47

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.
@@ -82,6 +82,8 @@ var ModernAutoCompleteDropdown = function (_a) {
82
82
  var _2 = (0, react_1.useState)(false), refetchData = _2[0], setRefetchData = _2[1];
83
83
  var isSelectingRef = (0, react_1.useRef)(false);
84
84
  var hasUserChangedInputRef = (0, react_1.useRef)(false); // Track if user has actually typed/changed input
85
+ var requestIdRef = (0, react_1.useRef)(0);
86
+ var lastQueryRef = (0, react_1.useRef)(null);
85
87
  var _3 = (0, react_1.useState)({
86
88
  top: 0,
87
89
  left: 0,
@@ -126,6 +128,7 @@ var ModernAutoCompleteDropdown = function (_a) {
126
128
  timerRef.current = 0;
127
129
  hasUserChangedInputRef.current = true; // Mark that user has changed the input
128
130
  setInputValue(value);
131
+ discardStaleSuggestions(value);
129
132
  handleValChange(value);
130
133
  if (!value) {
131
134
  setInputValue('');
@@ -179,12 +182,26 @@ var ModernAutoCompleteDropdown = function (_a) {
179
182
  setSuggestions(filteredData_2);
180
183
  }
181
184
  };
185
+ // Results from a previous search must not show while a new, unrelated search is pending.
186
+ var discardStaleSuggestions = function (value) {
187
+ if (type !== 'auto_complete' || isStaticList)
188
+ return;
189
+ var next = value.trim().toLowerCase();
190
+ var last = lastQueryRef.current;
191
+ if (!next || last === null || !next.startsWith(last)) {
192
+ requestIdRef.current += 1;
193
+ lastQueryRef.current = null;
194
+ setSuggestions([]);
195
+ setIsLoading(false);
196
+ }
197
+ };
182
198
  var handlePickSuggestions = function (value) { return __awaiter(void 0, void 0, void 0, function () {
183
- var fetchedSuggestions, error_1;
199
+ var requestId, fetchedSuggestions, error_1;
184
200
  return __generator(this, function (_a) {
185
201
  switch (_a.label) {
186
202
  case 0:
187
203
  if (!getData) return [3 /*break*/, 4];
204
+ requestId = ++requestIdRef.current;
188
205
  setIsLoading(true);
189
206
  _a.label = 1;
190
207
  case 1:
@@ -192,7 +209,11 @@ var ModernAutoCompleteDropdown = function (_a) {
192
209
  return [4 /*yield*/, (getData === null || getData === void 0 ? void 0 : getData(value))];
193
210
  case 2:
194
211
  fetchedSuggestions = _a.sent();
212
+ if (requestId !== requestIdRef.current)
213
+ return [2 /*return*/];
195
214
  setSuggestions(fetchedSuggestions);
215
+ lastQueryRef.current =
216
+ !value || value === '*' ? '' : value.trim().toLowerCase();
196
217
  setIsLoading(false);
197
218
  if (autoDropdown) {
198
219
  setRefetchData(true);
@@ -200,6 +221,8 @@ var ModernAutoCompleteDropdown = function (_a) {
200
221
  return [3 /*break*/, 4];
201
222
  case 3:
202
223
  error_1 = _a.sent();
224
+ if (requestId !== requestIdRef.current)
225
+ return [2 /*return*/];
203
226
  setIsLoading(false);
204
227
  return [3 /*break*/, 4];
205
228
  case 4: return [2 /*return*/];
@@ -253,6 +276,7 @@ var ModernAutoCompleteDropdown = function (_a) {
253
276
  data === null || data === void 0 ? void 0 : data.push(element);
254
277
  });
255
278
  setSuggestions(fetchedSuggestions);
279
+ lastQueryRef.current = '';
256
280
  setIsLoading(false);
257
281
  if (autoDropdown) {
258
282
  setRefetchData(false);
@@ -1 +1 @@
1
- {"version":3,"file":"ReactAutoCompleteDropdown.js","sourceRoot":"","sources":["../src/ReactAutoCompleteDropdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactAutoCompleteDropdown.js","sourceRoot":"","sources":["../src/ReactAutoCompleteDropdown.tsx"],"names":[],"mappings":"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"}
@@ -438,7 +438,8 @@ ul {
438
438
  position: absolute;
439
439
  top: 50%;
440
440
  left: 8px;
441
- right: 32px;
441
+ right: auto;
442
+ max-width: calc(100% - 40px);
442
443
  transform: translateY(-50%);
443
444
  z-index: 99;
444
445
  flex-wrap: nowrap;
@@ -447,6 +448,15 @@ ul {
447
448
  pointer-events: none;
448
449
  }
449
450
 
451
+ .selected-items-outer-container.selected-items-inline.selected-items-inline-editable {
452
+ max-width: calc(100% - 130px);
453
+ }
454
+
455
+ .qbs-input-with-inline-chips {
456
+ padding-right: 56px;
457
+ text-overflow: ellipsis;
458
+ }
459
+
450
460
  .selected-items-inline .selected-items-container {
451
461
  position: static;
452
462
  flex-shrink: 0;
@@ -438,7 +438,8 @@ ul {
438
438
  position: absolute;
439
439
  top: 50%;
440
440
  left: 8px;
441
- right: 32px;
441
+ right: auto;
442
+ max-width: calc(100% - 40px);
442
443
  transform: translateY(-50%);
443
444
  z-index: 99;
444
445
  flex-wrap: nowrap;
@@ -447,6 +448,15 @@ ul {
447
448
  pointer-events: none;
448
449
  }
449
450
 
451
+ .selected-items-outer-container.selected-items-inline.selected-items-inline-editable {
452
+ max-width: calc(100% - 130px);
453
+ }
454
+
455
+ .qbs-input-with-inline-chips {
456
+ padding-right: 56px;
457
+ text-overflow: ellipsis;
458
+ }
459
+
450
460
  .selected-items-inline .selected-items-container {
451
461
  position: static;
452
462
  flex-shrink: 0;
package/docs/App.tsx CHANGED
@@ -287,6 +287,23 @@ export default function App() {
287
287
  />
288
288
  </div>
289
289
 
290
+ <div style={{ width: 300 }} id="custom-value-demo">
291
+ <ModernAutoComplete
292
+ name="custom-value-demo"
293
+ label="Auto Complete (allowCustomValue)"
294
+ id="custom-value-demo"
295
+ type="auto_complete"
296
+ placeholder="Type anything"
297
+ isCustomPlaceholder
298
+ getData={getDatas}
299
+ allowCustomValue
300
+ onChange={(e) => {
301
+ (window as any).__lastChange = e;
302
+ console.log(e, "onchange");
303
+ }}
304
+ />
305
+ </div>
306
+
290
307
  <div style={{ width: 300 }}>
291
308
  <ModernAutoComplete
292
309
  name="sample"
@@ -751,6 +768,28 @@ export default function App() {
751
768
  countOnly={false}
752
769
  />
753
770
  </div>
771
+ <div style={{ width: 300 }} id="chips-typing-demo">
772
+ <AutoCompleteWithSelectedList
773
+ label="Chips + Typing (tabInlineSearch false)"
774
+ name="chips-typing-demo"
775
+ type="auto_suggestion"
776
+ desc="name"
777
+ isMultiple={true}
778
+ singleSelect={false}
779
+ descId="id"
780
+ data={treeDropData}
781
+ itemCount={2}
782
+ placeholder="Search"
783
+ selectedItems={[
784
+ { id: 1, name: "Alpha" },
785
+ { id: 2, name: "Bravo" },
786
+ { id: 3, name: "Charlie" },
787
+ ]}
788
+ onChange={(e) => console.log(e, "onchange")}
789
+ countOnly={false}
790
+ tabInlineSearch={false}
791
+ />
792
+ </div>
754
793
  <div style={{ width: 300 }}>
755
794
  <AutoCompleteWithSelectedList
756
795
  label="Auto Suggestion With Data"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-core-ts",
3
- "version": "2.1.45",
3
+ "version": "2.1.47",
4
4
  "description": "React Components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -3,6 +3,7 @@ import React, {
3
3
  useCallback,
4
4
  useEffect,
5
5
  useImperativeHandle,
6
+ useLayoutEffect,
6
7
  useMemo,
7
8
  useRef,
8
9
  useState,
@@ -88,6 +89,8 @@ const AutoCompleteWithSelectedList = forwardRef<
88
89
  ) => {
89
90
  const dropdownRef = useRef<HTMLDivElement>(null);
90
91
  const selItemRef = useRef<HTMLDivElement>(null);
92
+ const inlineChipsRef = useRef<HTMLDivElement>(null);
93
+ const [inlineChipsWidth, setInlineChipsWidth] = useState(0);
91
94
  const itemsRef = useRef<HTMLDivElement>(null);
92
95
  const dropdownSelectedRef = useRef<HTMLDivElement>(null);
93
96
  const tabRef = useRef<HTMLUListElement>(null);
@@ -772,6 +775,28 @@ const AutoCompleteWithSelectedList = forwardRef<
772
775
  }
773
776
  };
774
777
 
778
+ const isInputEditable = !(
779
+ readOnly ||
780
+ type === 'custom_select' ||
781
+ (type === 'auto_suggestion' && !expandable && tabInlineSearch)
782
+ );
783
+ const showInlineChips =
784
+ !countOnly && !expandable && selectedItems?.length > 0;
785
+
786
+ useLayoutEffect(() => {
787
+ const el = inlineChipsRef.current;
788
+ if (!showInlineChips || !el) {
789
+ setInlineChipsWidth(0);
790
+ return;
791
+ }
792
+ const measure = () => setInlineChipsWidth(el.offsetWidth);
793
+ measure();
794
+ if (typeof ResizeObserver === 'undefined') return;
795
+ const observer = new ResizeObserver(measure);
796
+ observer.observe(el);
797
+ return () => observer.disconnect();
798
+ }, [showInlineChips, selectedItems, showAllSelected, itemCount]);
799
+
775
800
  const getSelectedRowLimit = () => {
776
801
  let maxHeight = 36;
777
802
  if (selItemRef?.current && selItemRef?.current.clientWidth < 300) {
@@ -784,8 +809,10 @@ const AutoCompleteWithSelectedList = forwardRef<
784
809
  const inline = !dropdown && !expandable;
785
810
  return (
786
811
  <div
787
- ref={selItemRef}
788
- className={`selected-items-outer-container ${inline ? 'selected-items-inline' : ''}`}
812
+ ref={inline ? inlineChipsRef : selItemRef}
813
+ className={`selected-items-outer-container ${inline ? 'selected-items-inline' : ''} ${
814
+ inline && isInputEditable && !disabled ? 'selected-items-inline-editable' : ''
815
+ }`}
789
816
  style={inline ? undefined : { maxHeight: `${getSelectedRowLimit()}px` }}
790
817
  >
791
818
  {selectedItems
@@ -803,7 +830,7 @@ const AutoCompleteWithSelectedList = forwardRef<
803
830
  title={item?.[desc]}
804
831
  enabled={item?.[desc]?.length > textCount}
805
832
  >
806
- <div key={item.id} className="selected-item">
833
+ <div key={item.id} className="selected-item qbs-selected-chip">
807
834
  {item?.[desc]?.length > textCount
808
835
  ? `${item?.[desc].substring(0, textCount)}...`
809
836
  : item?.[desc]}
@@ -824,7 +851,7 @@ const AutoCompleteWithSelectedList = forwardRef<
824
851
  <div className="selected-items-container">
825
852
  <Tooltip title={tooltipContent} enabled={true}>
826
853
  <div
827
- className={`selected-item-more qbs-rounded-full qbs-min-h-6 qbs-min-w-6 qbs-p-1 ${
854
+ className={`selected-item-more qbs-selected-chip-more qbs-rounded-full qbs-min-h-6 qbs-min-w-6 qbs-p-1 ${
828
855
  dropdown ? 'qbs-cursor-pointer' : ''
829
856
  }`}
830
857
  onClick={() => {
@@ -983,7 +1010,10 @@ const AutoCompleteWithSelectedList = forwardRef<
983
1010
  return (
984
1011
  <div
985
1012
  id={id ? `selected-list-${id}` : `selected-list-${name}`}
986
- className={fullWidth ? 'fullWidth' : 'autoWidth'}
1013
+ className={`${fullWidth ? 'fullWidth' : 'autoWidth'} ${
1014
+ selectedItems?.length > 0 ? 'qbs-has-selected' : ''
1015
+ }`}
1016
+ data-has-value={selectedItems?.length > 0 ? 'true' : 'false'}
987
1017
  ref={dropdownRef}
988
1018
  >
989
1019
  {label && (
@@ -1101,7 +1131,14 @@ const AutoCompleteWithSelectedList = forwardRef<
1101
1131
  }
1102
1132
  }}
1103
1133
  onClick={() => handleOnClick()}
1104
- className={generateClassName()}
1134
+ className={`${generateClassName()} ${
1135
+ selectedItems?.length > 0 ? 'qbs-input-has-selected' : ''
1136
+ } ${showInlineChips ? 'qbs-input-with-inline-chips' : ''}`}
1137
+ style={
1138
+ showInlineChips && inlineChipsWidth > 0
1139
+ ? { paddingLeft: inlineChipsWidth + 14 }
1140
+ : undefined
1141
+ }
1105
1142
  placeholder={
1106
1143
  selectedItems?.length > 0 || searchValue
1107
1144
  ? !tabInlineSearch && searchValue
@@ -1111,11 +1148,7 @@ const AutoCompleteWithSelectedList = forwardRef<
1111
1148
  : ''
1112
1149
  : placeholder ?? ''
1113
1150
  }
1114
- readOnly={
1115
- readOnly ||
1116
- type === 'custom_select' ||
1117
- (type === 'auto_suggestion' && !expandable && tabInlineSearch)
1118
- }
1151
+ readOnly={!isInputEditable}
1119
1152
  disabled={disabled}
1120
1153
  data-testid="custom-autocomplete"
1121
1154
  />
@@ -881,7 +881,7 @@ const AutoCompleteWithTabFilter = forwardRef<
881
881
  title={String(item?.[desc])}
882
882
  enabled={String(item?.[desc])?.length > textCount}
883
883
  >
884
- <div key={item.id} className="selected-item">
884
+ <div key={item.id} className="selected-item qbs-selected-chip">
885
885
  {String(item?.[desc])?.length > textCount
886
886
  ? `${String(item?.[desc]).substring(0, textCount)}...`
887
887
  : String(item?.[desc])}
@@ -902,7 +902,7 @@ const AutoCompleteWithTabFilter = forwardRef<
902
902
  <div className="selected-items-container">
903
903
  <Tooltip title={tooltipContent} enabled={true}>
904
904
  <div
905
- className={`selected-item-more qbs-rounded-full qbs-min-h-6 qbs-min-w-6 qbs-p-1 ${dropdown ? 'qbs-cursor-pointer' : ''
905
+ className={`selected-item-more qbs-selected-chip-more qbs-rounded-full qbs-min-h-6 qbs-min-w-6 qbs-p-1 ${dropdown ? 'qbs-cursor-pointer' : ''
906
906
  }`}
907
907
  onClick={() => {
908
908
  handleShowAllSelected(dropdown);
@@ -1120,7 +1120,8 @@ const AutoCompleteWithTabFilter = forwardRef<
1120
1120
  return (
1121
1121
  <div
1122
1122
  id={id ? `selected-list-${id}` : `selected-list-${name}`}
1123
- className={fullWidth ? 'fullWidth' : 'autoWidth'}
1123
+ className={`${fullWidth ? 'fullWidth' : 'autoWidth'} ${selectedItems?.length > 0 ? 'qbs-has-selected' : ''}`}
1124
+ data-has-value={selectedItems?.length > 0 ? 'true' : 'false'}
1124
1125
  ref={dropdownRef}
1125
1126
  >
1126
1127
  {label && (
@@ -1236,7 +1237,7 @@ const AutoCompleteWithTabFilter = forwardRef<
1236
1237
  }
1237
1238
  }}
1238
1239
  onClick={() => handleOnClick()}
1239
- className={generateClassName()}
1240
+ className={`${generateClassName()} ${selectedItems?.length > 0 ? 'qbs-input-has-selected' : ''}`}
1240
1241
  placeholder={
1241
1242
  selectedItems?.length > 0
1242
1243
  ? !tabInlineSearch && searchValue
@@ -52,6 +52,8 @@ interface AutoSuggestionInputProps {
52
52
  labelTitle?: string;
53
53
  isModern?: boolean;
54
54
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xxs';
55
+ /** When true, typed text that is not in the dropdown is kept and committed as the value. */
56
+ allowCustomValue?: boolean;
55
57
  }
56
58
 
57
59
  const ModernAutoComplete: React.FC<AutoSuggestionInputProps> = ({
@@ -87,6 +89,7 @@ const ModernAutoComplete: React.FC<AutoSuggestionInputProps> = ({
87
89
  labelTitle,
88
90
  isModern = true,
89
91
  size = 'md',
92
+ allowCustomValue = false,
90
93
  }) => {
91
94
  const [inputValue, setInputValue] = useState<any>(value?.name ?? '');
92
95
  const [isHovered, setIsHovered] = useState<boolean>(false);
@@ -110,6 +113,8 @@ const ModernAutoComplete: React.FC<AutoSuggestionInputProps> = ({
110
113
  const scrollContainerRef = useRef<HTMLUListElement | null>(null);
111
114
  const isSelectingRef = useRef(false);
112
115
  const hasUserChangedInputRef = useRef(false); // Track if user has actually typed/changed input
116
+ const requestIdRef = useRef(0);
117
+ const lastQueryRef = useRef<string | null>(null);
113
118
  const [dropPosition, setDropPosition] = useState<any>({
114
119
  top: 0,
115
120
  left: 0,
@@ -173,6 +178,7 @@ const ModernAutoComplete: React.FC<AutoSuggestionInputProps> = ({
173
178
  hasUserChangedInputRef.current = true; // Mark that user has changed the input
174
179
 
175
180
  setInputValue(value);
181
+ discardStaleSuggestions(value);
176
182
  handleValChange(value);
177
183
  if (!value) {
178
184
  setInputValue('');
@@ -242,15 +248,32 @@ const ModernAutoComplete: React.FC<AutoSuggestionInputProps> = ({
242
248
  setSuggestions(filteredData);
243
249
  }
244
250
  };
251
+ // Results from a previous search must not show while a new, unrelated search is pending.
252
+ const discardStaleSuggestions = (value: string) => {
253
+ if (type !== 'auto_complete' || isStaticList) return;
254
+ const next = value.trim().toLowerCase();
255
+ const last = lastQueryRef.current;
256
+ if (!next || last === null || !next.startsWith(last)) {
257
+ requestIdRef.current += 1;
258
+ lastQueryRef.current = null;
259
+ setSuggestions([]);
260
+ setIsLoading(false);
261
+ }
262
+ };
263
+
245
264
  const handlePickSuggestions = async (value?: string) => {
246
265
  if (getData) {
266
+ const requestId = ++requestIdRef.current;
247
267
  setHasFetchedSuggestions(false);
248
268
  setIsLoading(true);
249
269
  try {
250
270
  const fetchedSuggestions = await getData?.(value);
271
+ if (requestId !== requestIdRef.current) return;
251
272
  setSuggestions(
252
273
  Array.isArray(fetchedSuggestions) ? fetchedSuggestions : [],
253
274
  );
275
+ lastQueryRef.current =
276
+ !value || value === '*' ? '' : value.trim().toLowerCase();
254
277
  setHasFetchedSuggestions(true);
255
278
  setIsLoading(false);
256
279
  setTimeout(() => {
@@ -259,6 +282,7 @@ const ModernAutoComplete: React.FC<AutoSuggestionInputProps> = ({
259
282
  }
260
283
  }, 100);
261
284
  } catch (error) {
285
+ if (requestId !== requestIdRef.current) return;
262
286
  setHasFetchedSuggestions(false);
263
287
  setIsLoading(false);
264
288
  }
@@ -530,6 +554,21 @@ const ModernAutoComplete: React.FC<AutoSuggestionInputProps> = ({
530
554
  // const getPosition = () => {
531
555
  // return 'bottom'
532
556
  // }
557
+ const commitCustomValue = (typedValue: string) => {
558
+ const trimmed = typedValue.toString().trim();
559
+ if (!trimmed) return;
560
+ onChange({ id: undefined, name: trimmed, from: 5 });
561
+ setInputValue(trimmed);
562
+ setDropOpen(false);
563
+ hasUserChangedInputRef.current = false;
564
+ };
565
+
566
+ const rejectUnlistedValue = (typedValue: string) => {
567
+ onChange({ id: undefined, name: typedValue, from: 4 });
568
+ setInputValue('');
569
+ hasUserChangedInputRef.current = false;
570
+ };
571
+
533
572
  const selectExactMatchFromSuggestions = () => {
534
573
  // If user is clicking on dropdown, don't execute exact match logic
535
574
  if (isSelectingRef.current) {
@@ -549,9 +588,13 @@ const ModernAutoComplete: React.FC<AutoSuggestionInputProps> = ({
549
588
  }
550
589
 
551
590
  if (!filteredData || filteredData.length === 0) {
552
- // No suggestions to match against – notify parent with raw value
553
- onChange({ id: undefined, name: inputValue, from: 4 });
554
- hasUserChangedInputRef.current = false; // Reset flag
591
+ if (allowCustomValue) {
592
+ commitCustomValue(inputValue);
593
+ } else {
594
+ // No suggestions to match against – notify parent with raw value
595
+ onChange({ id: undefined, name: inputValue, from: 4 });
596
+ hasUserChangedInputRef.current = false; // Reset flag
597
+ }
555
598
  return;
556
599
  }
557
600
 
@@ -565,10 +608,11 @@ const ModernAutoComplete: React.FC<AutoSuggestionInputProps> = ({
565
608
  if (matchIndex >= 0) {
566
609
  const match = filteredData[matchIndex];
567
610
  handleSuggestionClick(match, matchIndex);
611
+ } else if (allowCustomValue) {
612
+ commitCustomValue(inputValue);
568
613
  } else {
569
- // No exact match – notify parent with typed value
570
- onChange({ id: undefined, name: inputValue, from: 4 });
571
- setInputValue('');
614
+ // No exact match – notify parent with typed value and clear input
615
+ rejectUnlistedValue(inputValue);
572
616
  }
573
617
  hasUserChangedInputRef.current = false; // Reset flag after handling
574
618
  };
@@ -590,21 +634,24 @@ const ModernAutoComplete: React.FC<AutoSuggestionInputProps> = ({
590
634
  // Exact match found - select it
591
635
  isSelectingRef.current = true;
592
636
  handleSuggestionClick(filteredData[exactMatchIndex], exactMatchIndex);
637
+ } else if (allowCustomValue) {
638
+ // Accept typed value that is not in the list
639
+ commitCustomValue(inputValue);
593
640
  } else if (dropOpen && filteredData[selectedIndex]) {
594
641
  // No exact match but dropdown is open and has highlighted item - select highlighted item
595
642
  isSelectingRef.current = true;
596
643
  handleSuggestionClick(filteredData[selectedIndex], selectedIndex);
597
644
  } else {
598
645
  // No exact match and no highlighted item - trigger invalid value action
599
- onChange({ id: undefined, name: inputValue, from: 4 });
600
- setInputValue('');
601
- hasUserChangedInputRef.current = false; // Reset flag
646
+ rejectUnlistedValue(inputValue);
602
647
  }
603
648
  } else if (inputValue && (!filteredData || filteredData.length === 0 ) && hasUserChangedInputRef.current) {
604
- // No suggestions available - trigger invalid value action
605
- onChange({ id: undefined, name: inputValue, from: 4 });
606
- setInputValue('');
607
- hasUserChangedInputRef.current = false; // Reset flag
649
+ if (allowCustomValue) {
650
+ commitCustomValue(inputValue);
651
+ } else {
652
+ // No suggestions available - trigger invalid value action
653
+ rejectUnlistedValue(inputValue);
654
+ }
608
655
  }
609
656
  // Don't prevent default - allow Tab to move focus
610
657
  };