elastic / elastic/eui

[EuiComboBoxOptionsList] Migrate from class to function component

Open
#9,479 1 comment 0 reactions 0 assignees View on GitHub
help wanted low hanging fruit
Dominant language
TypeScript
Stars
6.4k
Forks
911
Avg merge
2d 11h
Merged PRs (30d)
65

Description

`EuiComboBoxOptionsList` renders the dropdown options list for `EuiComboBox`, including virtualization, group labels, and option highlighting. Internal sub-component.

- **File:** `components/combo_box/combo_box_options_list/combo_box_options_list.tsx`
- **Class size:** 314 lines
- **State:** None (stateless, but complex rendering)
- **Lifecycle:** `componentDidUpdate`

**Migration notes:**

Tightly coupled to `EuiComboBox`. Should be migrated together. Despite being stateless, has `componentDidUpdate` for scroll management and focus — maps to `useEffect`.

**Acceptance criteria:**

- [ ] Convert to function component with `useEffect`
- [ ] Migrate as part of the ComboBox family
- [ ] Maintain virtualized list rendering and scroll behavior
- [ ] All existing tests pass

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.