Skip to content

feat(react-combobox): add base hooks for Combobox and Dropdown#35915

Merged
dmytrokirpa merged 4 commits into
microsoft:masterfrom
dmytrokirpa:feat/react-combobox-base-hooks
Apr 1, 2026
Merged

feat(react-combobox): add base hooks for Combobox and Dropdown#35915
dmytrokirpa merged 4 commits into
microsoft:masterfrom
dmytrokirpa:feat/react-combobox-base-hooks

Conversation

@dmytrokirpa

@dmytrokirpa dmytrokirpa commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds useComboboxBase_unstable for Combobox (omits appearance, size; expandIcon/clearIcon without default icon children)
  • Adds useDropdownBase_unstable for Dropdown (omits appearance, size; expandIcon/clearButton without default icon children)
  • Exports ComboboxBaseHookProps, ComboboxBaseHookState, DropdownBaseHookProps, DropdownBaseHookState from package index
  • Note: naming uses *HookProps/*HookState suffix to avoid conflict with existing ComboboxBaseProps/ComboboxBaseState types (shared internal state between Combobox and Dropdown)
  • Listbox, Option, OptionGroup skipped — no design-only state props

Part of the base state hooks RFC: docs/react-v9/contributing/rfcs/react-components/convergence/base-state-hooks.md

Test plan

  • Existing tests pass
  • TypeScript passes (tsc --noEmit)
  • Lint passes

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown

Pull request demo site: URL

Comment thread change/@fluentui-react-combobox-base-hooks.json
@github-actions

github-actions Bot commented Mar 30, 2026

Copy link
Copy Markdown

📊 Bundle size report

Package & Exports Baseline (minified/GZIP) PR Change
react-combobox
Combobox (including child components)
105.208 kB
34.168 kB
105.599 kB
34.274 kB
391 B
106 B
react-combobox
Dropdown (including child components)
105.832 kB
34.1 kB
106.23 kB
34.229 kB
398 B
129 B
react-components
react-components: entire library
1.297 MB
324.275 kB
1.298 MB
324.435 kB
662 B
160 B
react-tag-picker
@fluentui/react-tag-picker - package
186.596 kB
55.849 kB
186.726 kB
55.891 kB
130 B
42 B
react-timepicker-compat
TimePicker
108.174 kB
35.695 kB
108.565 kB
35.848 kB
391 B
153 B
Unchanged fixtures
Package & Exports Size (minified/GZIP)
react-components
react-components: Button, FluentProvider & webLightTheme
70.397 kB
19.96 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
236.743 kB
68.75 kB
react-components
react-components: FluentProvider & webLightTheme
43.612 kB
14.022 kB
react-portal-compat
PortalCompatProvider
8.386 kB
2.624 kB
🤖 This report was generated against 51317b2404ffd14b04619e696ee5ed44beee066d

@dmytrokirpa dmytrokirpa merged commit d743ae8 into microsoft:master Apr 1, 2026
12 checks passed
tudorpopams pushed a commit to tudorpopams/fluentui that referenced this pull request Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants