Skip to content

feat: update base hooks and render functions types to support headless #35972

Merged
dmytrokirpa merged 4 commits intomicrosoft:masterfrom
dmytrokirpa:feat/export-render-fns-from-upstream-packages
Apr 11, 2026
Merged

feat: update base hooks and render functions types to support headless #35972
dmytrokirpa merged 4 commits intomicrosoft:masterfrom
dmytrokirpa:feat/export-render-fns-from-upstream-packages

Conversation

@dmytrokirpa
Copy link
Copy Markdown
Contributor

@dmytrokirpa dmytrokirpa commented Apr 10, 2026

Summary

Exposes the all hooks and render functions needed by the upcoming @fluentui/react-headless package (see #35931).

No behavior or API changes — this only widens the public surface of existing unstable exports.

Package changes

Package Change
@fluentui/react-avatar Export useAvatarGroupPopover base hook
@fluentui/react-breadcrumb Export render functions and base hooks for all sub-components
@fluentui/react-button Render function signature alignment
@fluentui/react-field Extract useFieldBase, export render/base hooks
@fluentui/react-progress Expose useProgressBar internals
@fluentui/react-rating Export base context and rating hooks
@fluentui/react-skeleton Export render functions and base hooks
@fluentui/react-slider Extract Slider.constants, expose useSliderState
@fluentui/react-spinner Export useSpinner base hook
@fluentui/react-switch Export useSwitch base hook
@fluentui/react-textarea Render function signature alignment

Related

🤖 Generated with Claude Code

…pstream packages

Exposes render functions and internal hooks needed by @fluentui/react-headless:
- react-avatar: export useAvatarGroupPopover base hook
- react-breadcrumb: export render functions and base hooks
- react-button: render function signature alignment
- react-field: extract useFieldBase, export render/base hooks
- react-progress: expose useProgressBar internals
- react-rating: export base context and hooks
- react-skeleton: export render functions and base hooks
- react-slider: extract Slider.constants, expose useSliderState
- react-spinner: export useSpinner base hook
- react-switch: export useSwitch base hook
- react-textarea: render function signature alignment

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@dmytrokirpa dmytrokirpa force-pushed the feat/export-render-fns-from-upstream-packages branch from dec603c to b3a4d75 Compare April 10, 2026 11:09
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 10, 2026

📊 Bundle size report

Package & Exports Baseline (minified/GZIP) PR Change
react-breadcrumb
@fluentui/react-breadcrumb - package
115.114 kB
31.469 kB
115.162 kB
31.475 kB
48 B
6 B
react-components
react-components: entire library
1.299 MB
324.711 kB
1.3 MB
324.812 kB
451 B
101 B
react-field
Field
22.393 kB
8.383 kB
22.393 kB
8.39 kB

7 B
react-progress
ProgressBar
20.167 kB
7.855 kB
20.212 kB
7.863 kB
45 B
8 B
react-slider
Slider
36.356 kB
12.08 kB
36.359 kB
12.03 kB
3 B
-50 B
react-spinner
Spinner
23.596 kB
7.838 kB
23.703 kB
7.858 kB
107 B
20 B
react-switch
Switch
36.155 kB
11.016 kB
36.333 kB
11.067 kB
178 B
51 B
Unchanged fixtures
Package & Exports Size (minified/GZIP)
react-avatar
Avatar
48.479 kB
15.359 kB
react-avatar
AvatarGroup
17.482 kB
7.002 kB
react-avatar
AvatarGroupItem
61.867 kB
19.384 kB
react-button
Button
33.962 kB
9.022 kB
react-button
CompoundButton
40.843 kB
10.379 kB
react-button
MenuButton
38.866 kB
10.414 kB
react-button
SplitButton
47.663 kB
12.057 kB
react-button
ToggleButton
53.634 kB
11.155 kB
react-card
Card - All
105.222 kB
29.475 kB
react-card
Card
97.84 kB
27.583 kB
react-card
CardFooter
12.774 kB
5.117 kB
react-card
CardHeader
15.303 kB
5.976 kB
react-card
CardPreview
12.854 kB
5.252 kB
react-charts
AreaChart
412.454 kB
126.449 kB
react-charts
DeclarativeChart
763.195 kB
220.506 kB
react-charts
DonutChart
322.883 kB
97.008 kB
react-charts
FunnelChart
314.436 kB
94.065 kB
react-charts
GanttChart
395.573 kB
119.965 kB
react-charts
GaugeChart
322.314 kB
96.46 kB
react-charts
GroupedVerticalBarChart
403.443 kB
122.537 kB
react-charts
HeatMapChart
397.644 kB
121.826 kB
react-charts
HorizontalBarChart
302.61 kB
89.151 kB
react-charts
HorizontalBarChartWithAxis
63 B
83 B
react-charts
Legends
242.551 kB
71.624 kB
react-charts
LineChart
423.795 kB
128.511 kB
react-charts
PolarChart
351.496 kB
107.404 kB
react-charts
SankeyChart
220.386 kB
67.867 kB
react-charts
ScatterChart
403.17 kB
122.639 kB
react-charts
Sparkline
91.393 kB
28.708 kB
react-charts
VerticalBarChart
439.914 kB
128.239 kB
react-charts
VerticalStackedBarChart
409.456 kB
124.056 kB
react-checkbox
Checkbox
33.7 kB
11.421 kB
react-combobox
Combobox (including child components)
105.599 kB
34.274 kB
react-combobox
Dropdown (including child components)
106.23 kB
34.229 kB
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-datepicker-compat
DatePicker Compat
225.158 kB
63.633 kB
react-dialog
Dialog (including children components)
102.117 kB
30.367 kB
react-input
Input
26.28 kB
8.702 kB
react-list
List
87.11 kB
25.762 kB
react-list
ListItem
111.018 kB
32.682 kB
react-message-bar
MessageBar (all components)
23.294 kB
8.63 kB
react-persona
Persona
55.434 kB
17.299 kB
react-portal-compat
PortalCompatProvider
8.386 kB
2.624 kB
react-radio
Radio
31.087 kB
9.656 kB
react-radio
RadioGroup
14.035 kB
5.7 kB
react-select
Select
26.165 kB
9.472 kB
react-spinbutton
SpinButton
33.804 kB
11.125 kB
react-swatch-picker
@fluentui/react-swatch-picker - package
104.305 kB
29.944 kB
react-table
DataGrid
159.783 kB
45.012 kB
react-table
Table (Primitives only)
40.997 kB
13.172 kB
react-table
Table as DataGrid
131.005 kB
36.012 kB
react-table
Table (Selection only)
69.391 kB
19.404 kB
react-table
Table (Sort only)
68.034 kB
19.022 kB
react-tag-picker
@fluentui/react-tag-picker - package
186.766 kB
55.907 kB
react-tags
InteractionTag
13.724 kB
5.47 kB
react-tags
Tag
29.648 kB
9.429 kB
react-tags
TagGroup
82.247 kB
24.152 kB
react-teaching-popover
TeachingPopover
112.414 kB
34.219 kB
react-textarea
Textarea
24.668 kB
8.969 kB
react-timepicker-compat
TimePicker
108.565 kB
35.848 kB
react-tree
FlatTree
148.099 kB
42.211 kB
react-tree
PersonaFlatTree
149.927 kB
42.585 kB
react-tree
PersonaTree
145.987 kB
41.411 kB
react-tree
Tree
144.165 kB
41.037 kB
🤖 This report was generated against c1144c8a16c3ef5702557825cef3a5bc5c963085

@github-actions
Copy link
Copy Markdown

Pull request demo site: URL

@dmytrokirpa dmytrokirpa changed the title feat(react-components): export base hooks and render functions from upstream packages feat: update base hooks and render functions types to support headless Apr 10, 2026
@dmytrokirpa dmytrokirpa merged commit 2c3174e into microsoft:master Apr 11, 2026
12 checks passed
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