onItemTapped method

void onItemTapped(
  1. TSelectItem<V> item
)

Handles item tap (selection/expansion)

Implementation

void onItemTapped(TSelectItem<V> item) {
  // Handle hierarchical expansion
  if (item.hasChildren) {
    item.expanded = !item.expanded;
    _syncItemStates(item);
    displayItemsNotifier.value = List.from(_displayItems);
    notifyListeners();
    return;
  }

  // Handle selection
  if (isMultiple) {
    item.selected = !item.selected;
  } else {
    _clearAllSelections(_internalItems);
    _clearAllSelections(_displayItems);
    item.selected = true;
  }

  _syncItemStates(item);
  displayItemsNotifier.value = List.from(_displayItems);
  notifyListeners();
}