fix(react-combobox,react-tag-picker): separate tabster logic from the base hooks - #36497
Merged
dmytrokirpa merged 6 commits intoAug 4, 2026
Conversation
dmytrokirpa
marked this pull request as ready for review
August 3, 2026 12:32
📊 Bundle size reportUnchanged fixtures
|
|
Pull request demo site: URL |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR addresses a headless bundle size regression introduced by adding Tabster Escape-ignore handling in a shared trigger-slot utility. The Escape-ignore attribute is now applied only in the component wrapper layers (Combobox, Dropdown, TagPicker) where the popup-open Escape behavior is relevant, reducing overhead in the shared/headless path while preserving the Escape behavior when open.
Changes:
- Removed Tabster Escape-ignore attribute handling from the shared
useTriggerSlotutility in@fluentui/react-combobox. - Added an internal
useTabsterEscapeIgnorehelper hook in both@fluentui/react-comboboxand@fluentui/react-tag-picker. - Applied the helper in Combobox/Dropdown wrapper state and TagPicker Input/Button state, gated by the open state.
- Added Beachball change files for both packages.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/react-components/react-tag-picker/library/src/utils/useTabsterEscapeIgnore.ts | New internal helper to generate/merge Tabster Escape-ignore attributes. |
| packages/react-components/react-tag-picker/library/src/components/TagPickerInput/useTagPickerInput.tsx | Applies Escape-ignore Tabster attributes to the input root when the picker is open. |
| packages/react-components/react-tag-picker/library/src/components/TagPickerButton/useTagPickerButton.tsx | Applies Escape-ignore Tabster attributes to the button root when the picker is open. |
| packages/react-components/react-combobox/library/src/utils/useTriggerSlot.ts | Removes Escape-ignore Tabster handling from the shared trigger-slot path (bundle-size fix). |
| packages/react-components/react-combobox/library/src/hooks/useTabsterEscapeIgnore.ts | New internal helper to generate/merge Tabster Escape-ignore attributes. |
| packages/react-components/react-combobox/library/src/components/Dropdown/useDropdown.tsx | Applies Escape-ignore Tabster attributes to the Dropdown trigger button when open. |
| packages/react-components/react-combobox/library/src/components/Combobox/useCombobox.tsx | Applies Escape-ignore Tabster attributes to the Combobox input when open. |
| change/@fluentui-react-tag-picker-509b8d02-9b8f-4508-83f4-0e88760058a0.json | Patch change file for @fluentui/react-tag-picker. |
| change/@fluentui-react-combobox-9f5fafcd-7082-45a1-a31e-9d2605a575fb.json | Patch change file for @fluentui/react-combobox. |
bsunderhus
approved these changes
Aug 4, 2026
mainframev
approved these changes
Aug 4, 2026
Hotell
added a commit
to Hotell/fluentui
that referenced
this pull request
Aug 4, 2026
Upstream microsoft#36497 separated the tabster logic from these base hooks, so all four directives are now unused and the accompanying `none` change files are redundant.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Previous Behavior
The headless bundle included additional Tabster Escape-ignore attribute handling in a shared trigger slot path, which caused a bundle size regression after #36275.
New Behavior
Escape-ignore Tabster attributes are applied only where needed in Combobox, Dropdown, and TagPicker wrapper logic. This preserves Escape behavior when popup content is open while removing unnecessary shared-path overhead that affected headless bundle size.
Bundle size report is available below: #36497 (comment)
Related Issue(s)