@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.
@@ -839,7 +839,7 @@ debounceTimeout) {
839
839
  return isItemsFunction ? itemsOrItemsResolver : function () {
840
840
  return Promise.resolve(itemsOrItemsResolver);
841
841
  };
842
- }, [itemsOrItemsResolver, isItemsFunction]);
842
+ }, [isItemsFunction]);
843
843
  var _React$useReducer = React.useReducer(reducer, {
844
844
  items: isItemsFunction ? [] : itemsOrItemsResolver,
845
845
  loading: false
@@ -1504,11 +1504,20 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
1504
1504
  var listItemsWithoutSelectAll = listItems.filter(function (item) {
1505
1505
  return item.value !== selectAll.value;
1506
1506
  });
1507
- var allListItemsAreSelected = listItemsWithoutSelectAll.filter(function (item) {
1508
- return !selectedItems.includes(item);
1509
- }).length === 0;
1510
- var someListItemsAreSelected = listItemsWithoutSelectAll.some(function (item) {
1511
- return selectedItems.includes(item);
1507
+ var unselectedItemsInListItems = listItemsWithoutSelectAll.filter(function (listItem) {
1508
+ return !selectedItems.some(function (selectedItem) {
1509
+ return selectedItem.value === listItem.value;
1510
+ });
1511
+ });
1512
+ var allListItemsAreSelected = !listItemsWithoutSelectAll.some(function (listItem) {
1513
+ return !selectedItems.some(function (selectedItem) {
1514
+ return selectedItem.value === listItem.value;
1515
+ });
1516
+ });
1517
+ var someListItemsAreSelected = listItemsWithoutSelectAll.some(function (listItem) {
1518
+ return selectedItems.some(function (selectedItem) {
1519
+ return selectedItem.value === listItem.value;
1520
+ });
1512
1521
  });
1513
1522
  var addClickedItemToSelectedItems = function addClickedItemToSelectedItems(clickedItem, onChange) {
1514
1523
  return onChange([].concat(selectedItems, [clickedItem]));
@@ -1549,14 +1558,15 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
1549
1558
  return false;
1550
1559
  };
1551
1560
  var selectAllUnselectedItemsInListItems = function selectAllUnselectedItemsInListItems(onChange) {
1552
- onChange([].concat(selectedItems, listItemsWithoutSelectAll.filter(function (item) {
1553
- return !selectedItems.includes(item);
1554
- })));
1561
+ onChange([].concat(selectedItems, unselectedItemsInListItems));
1555
1562
  };
1556
1563
  var unselectAllListItems = function unselectAllListItems(onChange) {
1557
- onChange(selectedItems.filter(function (item) {
1558
- return !listItemsWithoutSelectAll.includes(item);
1559
- }));
1564
+ var selectedItemsWithoutItemsInListItems = selectedItems.filter(function (selectedItem) {
1565
+ return !listItemsWithoutSelectAll.some(function (listItem) {
1566
+ return listItem.value === selectedItem.value;
1567
+ });
1568
+ });
1569
+ onChange(selectedItemsWithoutItemsInListItems);
1560
1570
  };
1561
1571
  return {
1562
1572
  addClickedItemToSelectedItems: addClickedItemToSelectedItems,
@@ -1934,7 +1944,10 @@ var MultiSelect = function MultiSelect(_ref) {
1934
1944
  };
1935
1945
  var updateListItems = function updateListItems(_ref3) {
1936
1946
  var inputValue = _ref3.inputValue;
1937
- if (typeof initialItems === 'function') fetchItems(inputValue != null ? inputValue : EMPTY_INPUT); // fetch items only if user provides a function as items
1947
+ var shouldRefetchItems =
1948
+ // fetch items only if user provides a function with inputValue argument as items
1949
+ typeof initialItems === 'function' && initialItems.length > 0; // Function.length == number of arguments
1950
+ if (shouldRefetchItems) fetchItems(inputValue != null ? inputValue : EMPTY_INPUT);
1938
1951
  filterListItems({
1939
1952
  inputValue: inputValue != null ? inputValue : EMPTY_INPUT
1940
1953
  });