Skip to content

fix(react-menu): change the signature for the useMenuTriggerBase hook#36237

Merged
dmytrokirpa merged 2 commits into
microsoft:masterfrom
dmytrokirpa:fix/menu-trigger-base-hook-signature
May 21, 2026
Merged

fix(react-menu): change the signature for the useMenuTriggerBase hook#36237
dmytrokirpa merged 2 commits into
microsoft:masterfrom
dmytrokirpa:fix/menu-trigger-base-hook-signature

Conversation

@dmytrokirpa
Copy link
Copy Markdown
Contributor

@dmytrokirpa dmytrokirpa commented May 21, 2026

Important

This change affects the public API, but as there’s been no public NPM release since the PR merged three days ago, it should be safe to change it

Previous Behavior

useMenuTriggerBase_unstable(props: MenuItemTriggerProps, options?: UseMenuTriggerOptions) => MenuTriggerState has been introduced in the #36087, but its signature is not aligned with the pattern used across Fluent codebase (props, ref?) => ...

New Behavior

Change the hook signature from:

type UseMenuTriggerOptions = {
 focusFirst?: () => void;
}

const useMenuTriggerBase_unstable = (props: MenuItemTriggerProps, options?: UseMenuTriggerOptions) => MenuTriggerState {}

to:

type MenuItemTriggerBaseProps = MenuItemTriggerProps & {
  focusFirst?: () => void;
}

const useMenuTriggerBase_unstable = (props: MenuItemTriggerBaseProps) => MenuTriggerState {
}

Also updated the only consumer of the base hook useMenutTrigger in react-headless-components-preview

Related Issue(s)

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 21, 2026

📊 Bundle size report

Package & Exports Baseline (minified/GZIP) PR Change
react-charts
AreaChart
402.187 kB
125.545 kB
402.169 kB
125.533 kB
-18 B
-12 B
react-charts
DeclarativeChart
753.135 kB
219.899 kB
753.117 kB
219.895 kB
-18 B
-4 B
react-charts
DonutChart
312.595 kB
96.285 kB
312.577 kB
96.279 kB
-18 B
-6 B
react-charts
FunnelChart
304.142 kB
93.096 kB
304.124 kB
93.089 kB
-18 B
-7 B
react-charts
GanttChart
385.275 kB
119.981 kB
385.257 kB
119.974 kB
-18 B
-7 B
react-charts
GaugeChart
312.03 kB
95.661 kB
312.012 kB
95.657 kB
-18 B
-4 B
react-charts
GroupedVerticalBarChart
393.147 kB
122.692 kB
393.129 kB
122.687 kB
-18 B
-5 B
react-charts
HeatMapChart
387.363 kB
120.921 kB
387.345 kB
120.909 kB
-18 B
-12 B
react-charts
HorizontalBarChart
292.324 kB
88.788 kB
292.306 kB
88.782 kB
-18 B
-6 B
react-charts
Legends
231.996 kB
69.627 kB
231.978 kB
69.613 kB
-18 B
-14 B
react-charts
LineChart
413.507 kB
128.543 kB
413.489 kB
128.537 kB
-18 B
-6 B
react-charts
PolarChart
340.991 kB
106.192 kB
340.973 kB
106.188 kB
-18 B
-4 B
react-charts
ScatterChart
392.89 kB
122.672 kB
392.872 kB
122.668 kB
-18 B
-4 B
react-charts
VerticalBarChart
429.634 kB
127.454 kB
429.616 kB
127.451 kB
-18 B
-3 B
react-charts
VerticalStackedBarChart
399.352 kB
124.114 kB
399.334 kB
124.109 kB
-18 B
-5 B
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
226.621 kB
68.043 kB
226.603 kB
68.04 kB
-18 B
-3 B
react-components
react-components: entire library
1.293 MB
324.757 kB
1.293 MB
324.753 kB
-18 B
-4 B
react-headless-components-preview
react-headless-components-preview: entire library
158.206 kB
45.02 kB
158.188 kB
45.012 kB
-18 B
-8 B
react-menu
Menu (including children components)
160.186 kB
50.735 kB
160.168 kB
50.733 kB
-18 B
-2 B
react-menu
Menu (including selectable components)
163.364 kB
51.365 kB
163.346 kB
51.363 kB
-18 B
-2 B
Unchanged fixtures
Package & Exports Size (minified/GZIP)
react-avatar
Avatar
47.215 kB
14.859 kB
react-avatar
AvatarGroup
16.316 kB
6.528 kB
react-avatar
AvatarGroupItem
60.361 kB
18.763 kB
react-breadcrumb
@fluentui/react-breadcrumb - package
102.926 kB
28.76 kB
react-charts
HorizontalBarChartWithAxis
63 B
83 B
react-charts
SankeyChart
212.327 kB
67.942 kB
react-charts
Sparkline
80.503 kB
26.644 kB
react-components
react-components: Button, FluentProvider & webLightTheme
66.328 kB
19.02 kB
react-components
react-components: FluentProvider & webLightTheme
39.525 kB
13.113 kB
react-datepicker-compat
DatePicker Compat
212.839 kB
61.648 kB
react-dialog
Dialog (including children components)
90.204 kB
27.895 kB
react-overflow
hooks only
11.966 kB
4.565 kB
react-persona
Persona
54.17 kB
16.793 kB
react-popover
Popover
126.153 kB
40.542 kB
react-portal-compat
PortalCompatProvider
5.567 kB
2.237 kB
react-table
DataGrid
147.069 kB
43.605 kB
react-table
Table (Primitives only)
36.931 kB
12.324 kB
react-table
Table as DataGrid
118.7 kB
33.348 kB
react-table
Table (Selection only)
65.492 kB
18.622 kB
react-table
Table (Sort only)
64.135 kB
18.232 kB
react-tag-picker
@fluentui/react-tag-picker - package
173.699 kB
54.066 kB
react-tags
InteractionTag
12.464 kB
4.95 kB
react-tags
Tag
28.389 kB
8.911 kB
react-tags
TagGroup
69.722 kB
21.383 kB
react-teaching-popover
TeachingPopover
101.1 kB
31.859 kB
react-timepicker-compat
TimePicker
104.461 kB
34.894 kB
react-tree
FlatTree
135.901 kB
40.456 kB
react-tree
PersonaFlatTree
137.729 kB
40.969 kB
react-tree
PersonaTree
133.79 kB
39.742 kB
react-tree
Tree
131.968 kB
39.259 kB
🤖 This report was generated against 68e978d61fa54355ef3a6fbbc8dc485c246a7d08

@github-actions
Copy link
Copy Markdown

Pull request demo site: URL

@dmytrokirpa dmytrokirpa marked this pull request as ready for review May 21, 2026 14:40
@dmytrokirpa dmytrokirpa requested review from a team as code owners May 21, 2026 14:40
Copy link
Copy Markdown
Contributor

@Hotell Hotell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ty !

@dmytrokirpa dmytrokirpa merged commit aa727a4 into microsoft:master May 21, 2026
14 of 15 checks passed
@dmytrokirpa dmytrokirpa deleted the fix/menu-trigger-base-hook-signature branch May 21, 2026 17:13
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.

3 participants