Skip to content

feat(react-headless-components-preview): export data attribute utility - #36596

Merged
Dmytro Kirpa (dmytrokirpa) merged 1 commit into
microsoft:masterfrom
dmytrokirpa:feat/headless-data-attribute-value-util
Aug 19, 2026
Merged

feat(react-headless-components-preview): export data attribute utility#36596
Dmytro Kirpa (dmytrokirpa) merged 1 commit into
microsoft:masterfrom
dmytrokirpa:feat/headless-data-attribute-value-util

Conversation

@dmytrokirpa

Copy link
Copy Markdown
Contributor

Summary

  • rename stringifyDataAttribute to toDataAttributeValue and improve its public JSDoc
  • export the utility from @fluentui/react-headless-components-preview/utils
  • update headless component consumers and generated API documentation
  • add the required Beachball change file

Validation

  • yarn nx run react-headless-components-preview:test --testPathPatterns=toDataAttributeValue.test.ts
  • yarn nx run react-headless-components-preview:generate-api
  • yarn nx run react-headless-components-preview:build

Expose toDataAttributeValue through the /utils subpath and use the renamed helper throughout headless components.
@github-actions

Copy link
Copy Markdown

📊 Bundle size report

Package & Exports Baseline (minified/GZIP) PR Change
react-headless-components-preview
react-headless-components-preview: entire library
238.141 kB
67.044 kB
238.048 kB
67.02 kB
-93 B
-24 B
react-headless-components-preview
@fluentui/react-headless-components-preview/tag-picker
53.957 kB
17.729 kB
53.982 kB
17.74 kB
25 B
11 B
react-headless-components-preview
@fluentui/react-headless-components-preview/teaching-popover
36.016 kB
11.985 kB
36.041 kB
11.992 kB
25 B
7 B

🤖 This report was generated against 42f76ebac7435ab290cb3281ad065e939e51e1ee

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Exports toDataAttributeValue as a public headless-components utility and migrates existing consumers from the previous internal name.

Changes:

  • Renames and documents the utility, including string boolean handling and tests.
  • Adds the /utils package entry point and generated API report.
  • Updates consumers and adds a Beachball change file.

Reviewed changes

Copilot reviewed 75 out of 75 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/react-components/react-headless-components-preview/library/src/utils/toDataAttributeValue.ts Implements and documents the renamed utility.
packages/react-components/react-headless-components-preview/library/src/utils/toDataAttributeValue.test.ts Tests supported value conversions.
packages/react-components/react-headless-components-preview/library/src/utils/stringifyDataAttribute.ts Removes the superseded utility.
packages/react-components/react-headless-components-preview/library/src/utils/stringifyDataAttribute.test.ts Removes superseded tests.
packages/react-components/react-headless-components-preview/library/src/utils/index.ts Updates the internal utility export.
packages/react-components/react-headless-components-preview/library/src/utils.ts Adds the public utility entry point.
packages/react-components/react-headless-components-preview/library/src/components/Tooltip/useTooltip.ts Migrates tooltip state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Toolbar/useToolbar.ts Migrates toolbar state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarToggleButton/useToolbarToggleButton.ts Migrates toggle-button attributes.
packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarRadioButton/useToolbarRadioButton.ts Migrates radio-button attributes.
packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarGroup/useToolbarGroup.ts Migrates group orientation conversion.
packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarDivider/useToolbarDivider.ts Migrates divider orientation conversion.
packages/react-components/react-headless-components-preview/library/src/components/Toolbar/ToolbarButton/useToolbarButton.ts Migrates toolbar-button attributes.
packages/react-components/react-headless-components-preview/library/src/components/ToggleButton/useToggleButton.ts Migrates toggle-button attributes.
packages/react-components/react-headless-components-preview/library/src/components/Textarea/useTextarea.ts Migrates disabled and invalid attributes.
packages/react-components/react-headless-components-preview/library/src/components/TeachingPopover/TeachingPopoverCarouselNavButton/useTeachingPopoverCarouselNavButton.ts Migrates selected-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/TagPicker/TagPickerInput/useTagPickerInput.ts Migrates disabled conversion and focuses utility imports.
packages/react-components/react-headless-components-preview/library/src/components/TagPicker/TagPickerGroup/useTagPickerGroup.ts Migrates disabled conversion and focuses utility imports.
packages/react-components/react-headless-components-preview/library/src/components/TagPicker/TagPickerControl/useTagPickerControl.ts Migrates control state attributes.
packages/react-components/react-headless-components-preview/library/src/components/TagPicker/TagPickerButton/useTagPickerButton.ts Migrates disabled conversion.
packages/react-components/react-headless-components-preview/library/src/components/TagGroup/useTagGroup.ts Migrates tag-group attributes.
packages/react-components/react-headless-components-preview/library/src/components/Tag/useTag.ts Migrates tag state attributes.
packages/react-components/react-headless-components-preview/library/src/components/TabList/Tab/useTab.ts Migrates tab state attributes.
packages/react-components/react-headless-components-preview/library/src/components/Switch/useSwitch.ts Migrates switch state attributes.
packages/react-components/react-headless-components-preview/library/src/components/SwatchPicker/ImageSwatch/useImageSwatch.ts Migrates selected conversion.
packages/react-components/react-headless-components-preview/library/src/components/SwatchPicker/EmptySwatch/useEmptySwatch.ts Migrates swatch state attributes.
packages/react-components/react-headless-components-preview/library/src/components/SwatchPicker/ColorSwatch/useColorSwatch.ts Migrates swatch state attributes.
packages/react-components/react-headless-components-preview/library/src/components/SpinButton/useSpinButton.ts Migrates disabled and ARIA-invalid conversion.
packages/react-components/react-headless-components-preview/library/src/components/Slider/useSlider.ts Migrates slider state attributes.
packages/react-components/react-headless-components-preview/library/src/components/Select/useSelect.ts Migrates disabled and ARIA-invalid conversion.
packages/react-components/react-headless-components-preview/library/src/components/SearchBox/useSearchBox.ts Migrates search-box attributes.
packages/react-components/react-headless-components-preview/library/src/components/RadioGroup/Radio/useRadio.ts Migrates disabled conversion.
packages/react-components/react-headless-components-preview/library/src/components/ProgressBar/useProgressBar.ts Migrates indeterminate conversion.
packages/react-components/react-headless-components-preview/library/src/components/Popover/PopoverTrigger/usePopoverTrigger.ts Migrates trigger open-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Popover/PopoverSurface/usePopoverSurface.ts Migrates surface open-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Nav/NavSubItem/useNavSubItem.ts Migrates selected conversion.
packages/react-components/react-headless-components-preview/library/src/components/Nav/NavItem/useNavItem.ts Migrates selected conversion.
packages/react-components/react-headless-components-preview/library/src/components/Nav/NavCategoryItem/useNavCategoryItem.ts Migrates navigation state attributes.
packages/react-components/react-headless-components-preview/library/src/components/MessageBar/useMessageBar.ts Migrates intent conversion.
packages/react-components/react-headless-components-preview/library/src/components/MessageBar/MessageBarActions/useMessageBarActions.ts Migrates action-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/MenuButton/useMenuButton.ts Migrates menu-button attributes.
packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuTrigger/useMenuTrigger.ts Migrates trigger open-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemSwitch/useMenuItemSwitch.ts Migrates switch-item attributes.
packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemRadio/useMenuItemRadio.ts Migrates radio-item attributes.
packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemLink/useMenuItemLink.ts Migrates disabled conversion.
packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItemCheckbox/useMenuItemCheckbox.ts Migrates checkbox-item attributes.
packages/react-components/react-headless-components-preview/library/src/components/Menu/MenuItem/useMenuItem.ts Migrates menu-item attributes.
packages/react-components/react-headless-components-preview/library/src/components/Link/useLink.ts Migrates link state attributes.
packages/react-components/react-headless-components-preview/library/src/components/Label/useLabel.ts Migrates label state attributes.
packages/react-components/react-headless-components-preview/library/src/components/InteractionTag/useInteractionTag.ts Migrates interaction-tag attributes.
packages/react-components/react-headless-components-preview/library/src/components/InteractionTag/InteractionTagSecondary/useInteractionTagSecondary.ts Migrates secondary-tag attributes.
packages/react-components/react-headless-components-preview/library/src/components/InteractionTag/InteractionTagPrimary/useInteractionTagPrimary.ts Migrates primary-tag attributes.
packages/react-components/react-headless-components-preview/library/src/components/Input/useInput.ts Migrates disabled and ARIA-invalid conversion.
packages/react-components/react-headless-components-preview/library/src/components/InfoLabel/InfoButton/useInfoButton.tsx Migrates popover open-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Dropdown/useDropdown.ts Migrates dropdown state attributes.
packages/react-components/react-headless-components-preview/library/src/components/Dropdown/Option/useOption.ts Migrates option state attributes.
packages/react-components/react-headless-components-preview/library/src/components/Drawer/OverlayDrawer/useOverlayDrawer.ts Migrates overlay open-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Drawer/InlineDrawer/useInlineDrawer.ts Migrates inline open-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerHeader/useDrawerHeader.ts Migrates scroll-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Drawer/DrawerFooter/useDrawerFooter.ts Migrates scroll-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Dialog/DialogSurface/useDialogSurface.ts Migrates dialog open-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/CompoundButton/useCompoundButton.ts Migrates compound-button attributes.
packages/react-components/react-headless-components-preview/library/src/components/Combobox/useCombobox.ts Migrates combobox state attributes.
packages/react-components/react-headless-components-preview/library/src/components/ColorPicker/AlphaSlider/useAlphaSlider.ts Migrates transparency conversion.
packages/react-components/react-headless-components-preview/library/src/components/Checkbox/useCheckbox.ts Migrates checkbox state attributes.
packages/react-components/react-headless-components-preview/library/src/components/Card/useCard.ts Migrates card state attributes.
packages/react-components/react-headless-components-preview/library/src/components/Button/useButton.ts Migrates button state attributes.
packages/react-components/react-headless-components-preview/library/src/components/Breadcrumb/BreadcrumbButton/useBreadcrumbButton.ts Migrates current-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Accordion/useAccordion.ts Migrates accordion state attributes.
packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionPanel/useAccordionPanel.ts Migrates panel open-state conversion.
packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionItem/useAccordionItem.ts Migrates item state attributes.
packages/react-components/react-headless-components-preview/library/src/components/Accordion/AccordionHeader/useAccordionHeader.ts Migrates header state attributes.
packages/react-components/react-headless-components-preview/library/package.json Publishes the /utils entry point.
packages/react-components/react-headless-components-preview/library/etc/utils.api.md Records the generated public API.
change/@fluentui-react-headless-components-preview-2a6fb260-36cb-47d2-8495-c719a4952a0d.json Adds the package change record.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown

Pull request demo site: URL

@dmytrokirpa
Dmytro Kirpa (dmytrokirpa) merged commit 370b262 into microsoft:master Aug 19, 2026
13 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.

3 participants