@entur/dropdown 5.0.7 → 5.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.
@@ -835,7 +835,7 @@ debounceTimeout) {
835
835
  return isItemsFunction ? itemsOrItemsResolver : function () {
836
836
  return Promise.resolve(itemsOrItemsResolver);
837
837
  };
838
- }, [itemsOrItemsResolver, isItemsFunction]);
838
+ }, [isItemsFunction]);
839
839
  var _React$useReducer = React.useReducer(reducer, {
840
840
  items: isItemsFunction ? [] : itemsOrItemsResolver,
841
841
  loading: false
@@ -1500,11 +1500,20 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
1500
1500
  var listItemsWithoutSelectAll = listItems.filter(function (item) {
1501
1501
  return item.value !== selectAll.value;
1502
1502
  });
1503
- var allListItemsAreSelected = listItemsWithoutSelectAll.filter(function (item) {
1504
- return !selectedItems.includes(item);
1505
- }).length === 0;
1506
- var someListItemsAreSelected = listItemsWithoutSelectAll.some(function (item) {
1507
- return selectedItems.includes(item);
1503
+ var unselectedItemsInListItems = listItemsWithoutSelectAll.filter(function (listItem) {
1504
+ return !selectedItems.some(function (selectedItem) {
1505
+ return selectedItem.value === listItem.value;
1506
+ });
1507
+ });
1508
+ var allListItemsAreSelected = !listItemsWithoutSelectAll.some(function (listItem) {
1509
+ return !selectedItems.some(function (selectedItem) {
1510
+ return selectedItem.value === listItem.value;
1511
+ });
1512
+ });
1513
+ var someListItemsAreSelected = listItemsWithoutSelectAll.some(function (listItem) {
1514
+ return selectedItems.some(function (selectedItem) {
1515
+ return selectedItem.value === listItem.value;
1516
+ });
1508
1517
  });
1509
1518
  var addClickedItemToSelectedItems = function addClickedItemToSelectedItems(clickedItem, onChange) {
1510
1519
  return onChange([].concat(selectedItems, [clickedItem]));
@@ -1545,14 +1554,15 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
1545
1554
  return false;
1546
1555
  };
1547
1556
  var selectAllUnselectedItemsInListItems = function selectAllUnselectedItemsInListItems(onChange) {
1548
- onChange([].concat(selectedItems, listItemsWithoutSelectAll.filter(function (item) {
1549
- return !selectedItems.includes(item);
1550
- })));
1557
+ onChange([].concat(selectedItems, unselectedItemsInListItems));
1551
1558
  };
1552
1559
  var unselectAllListItems = function unselectAllListItems(onChange) {
1553
- onChange(selectedItems.filter(function (item) {
1554
- return !listItemsWithoutSelectAll.includes(item);
1555
- }));
1560
+ var selectedItemsWithoutItemsInListItems = selectedItems.filter(function (selectedItem) {
1561
+ return !listItemsWithoutSelectAll.some(function (listItem) {
1562
+ return listItem.value === selectedItem.value;
1563
+ });
1564
+ });
1565
+ onChange(selectedItemsWithoutItemsInListItems);
1556
1566
  };
1557
1567
  return {
1558
1568
  addClickedItemToSelectedItems: addClickedItemToSelectedItems,
@@ -1930,7 +1940,10 @@ var MultiSelect = function MultiSelect(_ref) {
1930
1940
  };
1931
1941
  var updateListItems = function updateListItems(_ref3) {
1932
1942
  var inputValue = _ref3.inputValue;
1933
- if (typeof initialItems === 'function') fetchItems(inputValue != null ? inputValue : EMPTY_INPUT); // fetch items only if user provides a function as items
1943
+ var shouldRefetchItems =
1944
+ // fetch items only if user provides a function with inputValue argument as items
1945
+ typeof initialItems === 'function' && initialItems.length > 0; // Function.length == number of arguments
1946
+ if (shouldRefetchItems) fetchItems(inputValue != null ? inputValue : EMPTY_INPUT);
1934
1947
  filterListItems({
1935
1948
  inputValue: inputValue != null ? inputValue : EMPTY_INPUT
1936
1949
  });