sag_components 2.0.0-beta313 → 2.0.0-beta315

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -47950,7 +47950,10 @@ const NewItemList = ({
47950
47950
  itemAndPackage,
47951
47951
  searchValue = "",
47952
47952
  onSearchChange = null,
47953
+ searchResults = null,
47954
+ // Server-side search results (separate from itemAndPackage)
47953
47955
  filteredVendors = null,
47956
+ // Deprecated: use searchResults instead
47954
47957
  isSearchLoading = false,
47955
47958
  onLastRowsReached = () => {},
47956
47959
  lastRowsThreshold = 3
@@ -47981,20 +47984,28 @@ const NewItemList = ({
47981
47984
  }
47982
47985
  };
47983
47986
 
47987
+ // Resolve searchResults (prefer new prop, fallback to deprecated filteredVendors)
47988
+ const serverSearchResults = searchResults !== null ? searchResults : filteredVendors;
47989
+
47984
47990
  // DEFINE filteredItems BEFORE using it
47991
+ // Logic:
47992
+ // - When NOT searching: show static itemAndPackage (never changes length)
47993
+ // - When searching with external/server-side search: show searchResults (can change length)
47994
+ // - When searching with internal search: filter itemAndPackage locally
47985
47995
  const filteredItems = React$1.useMemo(() => {
47986
- // Use external results if provided
47987
- if (filteredVendors !== null) {
47988
- return filteredVendors;
47989
- }
47990
-
47991
- // Safety check
47992
47996
  if (!itemAndPackage || !Array.isArray(itemAndPackage)) {
47993
47997
  return [];
47994
47998
  }
47995
-
47996
- // Internal filtering
47997
- if (!currentSearchValue) return itemAndPackage;
47999
+ if (!currentSearchValue) {
48000
+ return itemAndPackage;
48001
+ }
48002
+ if (isExternalSearch) {
48003
+ if (serverSearchResults !== null) {
48004
+ return serverSearchResults;
48005
+ } else {
48006
+ return [];
48007
+ }
48008
+ }
47998
48009
  const searchLower = currentSearchValue.toLowerCase();
47999
48010
  const results = [];
48000
48011
  const startsWithResults = [];
@@ -48006,8 +48017,9 @@ const NewItemList = ({
48006
48017
  results.push(itemAndPackage[i]);
48007
48018
  }
48008
48019
  }
48009
- return [...startsWithResults, ...results];
48010
- }, [currentSearchValue, itemAndPackage, filteredVendors]);
48020
+ const finalResults = [...startsWithResults, ...results];
48021
+ return finalResults;
48022
+ }, [currentSearchValue, itemAndPackage, serverSearchResults, isExternalSearch]);
48011
48023
 
48012
48024
  // ONLY ONE scroll detection useEffect
48013
48025
  React$1.useEffect(() => {
@@ -48080,7 +48092,7 @@ const NewItemList = ({
48080
48092
  type: "search",
48081
48093
  placeholder: "Search",
48082
48094
  onChange: handleSearchChange
48083
- }), /*#__PURE__*/React__default["default"].createElement(VendorSearchResult, null, isSearchLoading ? "Searching..." : currentSearchValue !== "" ? `${filteredItems.length === 0 ? "No" : filteredItems.length} Vendors Found` : " ")), /*#__PURE__*/React__default["default"].createElement(VendorListWrapper$1, {
48095
+ }), /*#__PURE__*/React__default["default"].createElement(VendorSearchResult, null, currentSearchValue === "" ? " " : isSearchLoading ? "Searching..." : serverSearchResults === null ? "..." : `${filteredItems.length === 0 ? "No" : filteredItems.length} Vendors Found`)), /*#__PURE__*/React__default["default"].createElement(VendorListWrapper$1, {
48084
48096
  ref: scrollWrapperRef,
48085
48097
  headerHeight: headerHeight
48086
48098
  }, FixedSizeList ? /*#__PURE__*/React__default["default"].createElement(FixedSizeList, {
@@ -57336,7 +57348,10 @@ const ItemManagerPanel = _ref => {
57336
57348
  SubTitleColor = "#8B8989",
57337
57349
  searchValue = "",
57338
57350
  onSearchChange = null,
57351
+ searchResults = null,
57352
+ // Server-side search results (separate from itemAndPackage)
57339
57353
  filteredVendors = null,
57354
+ // Deprecated: use searchResults instead
57340
57355
  isSearchLoading = false,
57341
57356
  isLoading = false,
57342
57357
  isLoadingText = "Loading Vendors...",
@@ -57564,6 +57579,7 @@ const ItemManagerPanel = _ref => {
57564
57579
  onVendorClick: handleVendorClick,
57565
57580
  searchValue: searchValue,
57566
57581
  onSearchChange: onSearchChange,
57582
+ searchResults: searchResults,
57567
57583
  filteredVendors: filteredVendors,
57568
57584
  isSearchLoading: isSearchLoading,
57569
57585
  onLastRowsReached: onLastRowsReached,