@majoo-ui/react 1.61.16-rc.1 → 1.61.16-rc.2

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.
Files changed (2) hide show
  1. package/index.esm.js +19 -11
  2. package/package.json +1 -1
package/index.esm.js CHANGED
@@ -15920,6 +15920,10 @@ function InputResourceList({
15920
15920
  return 0;
15921
15921
  });
15922
15922
  }, [data, query, checkedItems]);
15923
+ const isItemDisabled = item => !!((item === null || item === void 0 ? void 0 : item.disabled) || disabledItems && disabledItems.includes(item.value));
15924
+ const selectableAvailableData = useMemo(() => {
15925
+ return availableData.filter(item => !isItemDisabled(item));
15926
+ }, [availableData, disabledItems]);
15923
15927
  const renderCheckbox = (resource, index) => {
15924
15928
  var _a, _b;
15925
15929
  const isDisabled = resource.disabled || disabledItems && disabledItems.includes(resource.value);
@@ -16032,25 +16036,28 @@ function InputResourceList({
16032
16036
  setSortType(sortType === 'asc' ? 'desc' : 'asc');
16033
16037
  }
16034
16038
  function toggleCheckAll() {
16035
- const allAvailableItemsSelected = availableData.every(item => checkedItems.some(checkedItem => checkedItem.value === item.value));
16036
- if (allAvailableItemsSelected) {
16037
- const newCheckedItems = checkedItems.filter(checkedItem => !availableData.some(item => item.value === checkedItem.value));
16039
+ const selectable = selectableAvailableData;
16040
+ const allSelectableItemsSelected = selectable.length > 0 && selectable.every(item => checkedItems.some(checkedItem => checkedItem.value === item.value));
16041
+ if (allSelectableItemsSelected) {
16042
+ const newCheckedItems = checkedItems.filter(checkedItem => !selectable.some(item => item.value === checkedItem.value));
16038
16043
  onChange === null || onChange === void 0 ? void 0 : onChange(isValueString ? newCheckedItems.map(item => item.value) : newCheckedItems);
16039
16044
  } else {
16040
- const newCheckedItems = [...checkedItems, ...availableData.filter(item => !checkedItems.some(checkedItem => checkedItem.value === item.value))];
16045
+ const itemsToAdd = selectable.filter(item => !checkedItems.some(checkedItem => checkedItem.value === item.value));
16046
+ const newCheckedItems = [...checkedItems, ...itemsToAdd];
16041
16047
  onChange === null || onChange === void 0 ? void 0 : onChange(isValueString ? newCheckedItems.map(item => item.value) : newCheckedItems);
16042
16048
  }
16043
16049
  }
16044
16050
  function handleCheckedAllExpandable() {
16045
16051
  const allItems = data || [];
16046
- const allItemValues = allItems.map(i => i.value);
16052
+ const selectableAllItems = allItems.filter(item => !isItemDisabled(item));
16053
+ const allItemValues = selectableAllItems.map(i => i.value);
16047
16054
  const currentValues = checkedItems.map(i => i.value);
16048
- const areAllSelected = allItems.length > 0 && allItems.every(item => currentValues.includes(item.value));
16055
+ const areAllSelected = selectableAllItems.length > 0 && selectableAllItems.every(item => currentValues.includes(item.value));
16049
16056
  let newCheckedItems;
16050
16057
  if (areAllSelected) {
16051
16058
  newCheckedItems = checkedItems.filter(item => !allItemValues.includes(item.value));
16052
16059
  } else {
16053
- const itemsToAdd = allItems.filter(item => !currentValues.includes(item.value));
16060
+ const itemsToAdd = selectableAllItems.filter(item => !currentValues.includes(item.value));
16054
16061
  newCheckedItems = [...checkedItems, ...itemsToAdd];
16055
16062
  }
16056
16063
  onChange === null || onChange === void 0 ? void 0 : onChange(isValueString ? newCheckedItems.map(item => item.value) : newCheckedItems);
@@ -16077,8 +16084,8 @@ function InputResourceList({
16077
16084
  }
16078
16085
  }, {
16079
16086
  children: [!hideSelectAll && jsx(InputCheckbox, {
16080
- checked: availableData.length > 0 && availableData.every(item => checkedItems.some(checkedItem => checkedItem.value === item.value)),
16081
- indeterminate: availableData.some(item => checkedItems.some(checkedItem => checkedItem.value === item.value)) && !availableData.every(item => checkedItems.some(checkedItem => checkedItem.value === item.value)),
16087
+ checked: selectableAvailableData.length > 0 && selectableAvailableData.every(item => checkedItems.some(checkedItem => checkedItem.value === item.value)),
16088
+ indeterminate: selectableAvailableData.some(item => checkedItems.some(checkedItem => checkedItem.value === item.value)) && !(selectableAvailableData.length > 0 && selectableAvailableData.every(item => checkedItems.some(checkedItem => checkedItem.value === item.value))),
16082
16089
  onCheckedChange: toggleCheckAll,
16083
16090
  css: {
16084
16091
  marginRight: '$spacing-02'
@@ -16195,9 +16202,10 @@ function InputResourceList({
16195
16202
  }), void 0);
16196
16203
  if (expandable) {
16197
16204
  const allItems = data || [];
16205
+ const selectableAllItems = allItems.filter(item => !isItemDisabled(item));
16198
16206
  const checkedValues = checkedItems.map(i => i.value);
16199
- const isAllSelected = allItems.length > 0 && allItems.every(item => checkedValues.includes(item.value));
16200
- const isIndeterminate = !isAllSelected && allItems.some(item => checkedValues.includes(item.value));
16207
+ const isAllSelected = selectableAllItems.length > 0 && selectableAllItems.every(item => checkedValues.includes(item.value));
16208
+ const isIndeterminate = !isAllSelected && selectableAllItems.some(item => checkedValues.includes(item.value));
16201
16209
  return jsxs(Box, {
16202
16210
  children: [jsxs(Flex$1, Object.assign({
16203
16211
  justify: "between",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@majoo-ui/react",
3
- "version": "1.61.16-rc.1",
3
+ "version": "1.61.16-rc.2",
4
4
  "main": "./index.esm.js",
5
5
  "exports": {
6
6
  ".": {