Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

react-menu: Adjust signature to use ForwardRefComponent #20087

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "prerelease",
"comment": "Adds ForwardRefComponent to react-menu components declaration",
"packageName": "@fluentui/react-menu",
"email": "[email protected]",
"dependentChangeType": "patch"
}
109 changes: 9 additions & 100 deletions packages/react-menu/etc/react-menu.api.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ import { useMenuDivider } from './useMenuDivider';
import { useMenuDividerStyles } from './useMenuDividerStyles';
import { renderMenuDivider } from './renderMenuDivider';
import type { MenuDividerProps } from './MenuDivider.types';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Define a styled MenuDivider, using the `useMenuDivider` hook.
*/
export const MenuDivider = React.forwardRef<HTMLDivElement, MenuDividerProps>((props, ref) => {
export const MenuDivider: ForwardRefComponent<MenuDividerProps> = React.forwardRef((props, ref) => {
const state = useMenuDivider(props, ref);
useMenuDividerStyles(state);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ import { useMenuGroup } from './useMenuGroup';
import { renderMenuGroup } from './renderMenuGroup';
import { useMenuGroupContextValues } from './useMenuGroupContextValues';
import type { MenuGroupProps } from './MenuGroup.types';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Define a styled MenuGroup, using the `useMenuGroup` hook.
*/
export const MenuGroup = React.forwardRef<HTMLDivElement, MenuGroupProps>((props, ref) => {
export const MenuGroup: ForwardRefComponent<MenuGroupProps> = React.forwardRef((props, ref) => {
const state = useMenuGroup(props, ref);
const contextValues = useMenuGroupContextValues(state);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ import { useMenuGroupHeader } from './useMenuGroupHeader';
import { useMenuGroupHeaderStyles } from './useMenuGroupHeaderStyles';
import { renderMenuGroupHeader } from './renderMenuGroupHeader';
import type { MenuGroupHeaderProps } from './MenuGroupHeader.types';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Define a styled MenuGroupHeader, using the `useMenuGroupHeader` hook.
*/
export const MenuGroupHeader = React.forwardRef<HTMLDivElement, MenuGroupHeaderProps>((props, ref) => {
export const MenuGroupHeader: ForwardRefComponent<MenuGroupHeaderProps> = React.forwardRef((props, ref) => {
const state = useMenuGroupHeader(props, ref);
useMenuGroupHeaderStyles(state);

Expand Down
3 changes: 2 additions & 1 deletion packages/react-menu/src/components/MenuItem/MenuItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ import { useMenuItemStyles } from './useMenuItemStyles';
import { useCheckmarkStyles } from '../../selectable/index';
import type { MenuItemProps } from './MenuItem.types';
import type { MenuItemCheckboxState } from '../MenuItemCheckbox/index';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Define a styled MenuItem, using the `useMenuItem` and `useMenuItemStyles` hook.
*/
export const MenuItem = React.forwardRef<HTMLElement, MenuItemProps>((props, ref) => {
export const MenuItem: ForwardRefComponent<MenuItemProps> = React.forwardRef((props, ref) => {
const state = useMenuItem(props, ref);

useMenuItemStyles(state);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ import { useMenuItemCheckbox } from './useMenuItemCheckbox';
import { renderMenuItemCheckbox } from './renderMenuItemCheckbox';
import { useMenuItemCheckBoxStyles } from './useMenuItemCheckboxStyles';
import type { MenuItemCheckboxProps } from './MenuItemCheckbox.types';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Define a styled MenuItemCheckbox, using the `useMenuItemCheckbox` hook.
*/
export const MenuItemCheckbox = React.forwardRef<HTMLElement, MenuItemCheckboxProps>((props, ref) => {
export const MenuItemCheckbox: ForwardRefComponent<MenuItemCheckboxProps> = React.forwardRef((props, ref) => {
const state = useMenuItemCheckbox(props, ref);
useMenuItemCheckBoxStyles(state);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ import { useMenuItemRadio } from './useMenuItemRadio';
import { renderMenuItemRadio } from './renderMenuItemRadio';
import { useMenuItemRadioStyles } from './useMenuItemRadioStyles';
import type { MenuItemRadioProps } from './MenuItemRadio.types';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Define a styled MenuItemRadio, using the `useMenuItemRadio` hook.
*/
export const MenuItemRadio = React.forwardRef<HTMLElement, MenuItemRadioProps>((props, ref) => {
export const MenuItemRadio: ForwardRefComponent<MenuItemRadioProps> = React.forwardRef((props, ref) => {
const state = useMenuItemRadio(props, ref);
useMenuItemRadioStyles(state);

Expand Down
5 changes: 3 additions & 2 deletions packages/react-menu/src/components/MenuList/MenuList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ import * as React from 'react';
import { useMenuList } from './useMenuList';
import { renderMenuList } from './renderMenuList';
import { useMenuListContextValues } from './useMenuListContextValues';
import type { MenuListProps } from './MenuList.types';
import { useMenuListStyles } from './useMenuListStyles';
import type { MenuListProps } from './MenuList.types';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Define a styled MenuList, using the `useMenuList` hook.
*/
export const MenuList = React.forwardRef<HTMLDivElement, MenuListProps>((props, ref) => {
export const MenuList: ForwardRefComponent<MenuListProps> = React.forwardRef((props, ref) => {
const state = useMenuList(props, ref);
const contextValues = useMenuListContextValues(state);
useMenuListStyles(state);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ import { useMenuPopover } from './useMenuPopover';
import { useMenuPopoverStyles } from './useMenuPopoverStyles';
import { renderMenuPopover } from './renderMenuPopover';
import type { MenuPopoverProps } from './MenuPopover.types';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Popover intended to wrap `MenuList` and adds styling and interaction support specific to menus
*/
export const MenuPopover = React.forwardRef<HTMLElement, MenuPopoverProps>((props, ref) => {
export const MenuPopover: ForwardRefComponent<MenuPopoverProps> = React.forwardRef((props, ref) => {
const state = useMenuPopover(props, ref);

useMenuPopoverStyles(state);
Expand Down