Skip to content

Commit

Permalink
react-accordion: Adjust signature to use ForwardRefComponent (#20080)
Browse files Browse the repository at this point in the history
* Adds ForwardRefComponent to components declaration

* Change files
  • Loading branch information
bsunderhus authored Oct 4, 2021
1 parent d66bbf4 commit a3391fb
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 125 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "prerelease",
"comment": "Adds ForwardRefComponent to components declaration",
"packageName": "@fluentui/react-accordion",
"email": "[email protected]",
"dependentChangeType": "patch"
}
123 changes: 8 additions & 115 deletions packages/react-accordion/etc/react-accordion.api.md

Large diffs are not rendered by default.

13 changes: 8 additions & 5 deletions packages/react-accordion/src/components/Accordion/Accordion.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,18 @@ import { renderAccordion } from './renderAccordion';
import { useAccordion } from './useAccordion';
import { useAccordionContextValues } from './useAccordionContextValues';
import type { AccordionProps } from './Accordion.types';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Define a styled Accordion, using the `useAccordion` and `useAccordionStyles` hooks.
*/
export const Accordion = React.forwardRef<HTMLDivElement, AccordionProps>((props, ref) => {
const state = useAccordion(props, ref);
const contextValues = useAccordionContextValues(state);
export const Accordion: ForwardRefComponent<AccordionProps> = React.forwardRef<HTMLDivElement, AccordionProps>(
(props, ref) => {
const state = useAccordion(props, ref);
const contextValues = useAccordionContextValues(state);

return renderAccordion(state, contextValues);
});
return renderAccordion(state, contextValues);
},
);

Accordion.displayName = 'Accordion';
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ import { renderAccordionHeader } from './renderAccordionHeader';
import { useAccordionHeaderStyles } from './useAccordionHeaderStyles';
import { useAccordionHeaderContextValues } from './useAccordionHeaderContextValues';
import type { AccordionHeaderProps } from './AccordionHeader.types';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Define a styled AccordionHeader, using the `useAccordionHeader` and `useAccordionHeaderStyles` hooks.
*/
export const AccordionHeader = React.forwardRef<HTMLDivElement, AccordionHeaderProps>((props, ref) => {
export const AccordionHeader: ForwardRefComponent<AccordionHeaderProps> = React.forwardRef((props, ref) => {
const state = useAccordionHeader(props, ref);
const contextValues = useAccordionHeaderContextValues(state);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import * as React from 'react';
import { useAccordionHeaderContext } from './AccordionHeaderContext';
import type { AccordionHeaderContextValue } from './AccordionHeader.types';
import type { IntrinsicShorthandProps } from '@fluentui/react-utilities';
import type { ForwardRefComponent, IntrinsicShorthandProps } from '@fluentui/react-utilities';

export type AccordionHeaderExpandIconProps = IntrinsicShorthandProps<'span'>;

export const AccordionHeaderExpandIcon = React.forwardRef<HTMLSpanElement, AccordionHeaderExpandIconProps>(
export const AccordionHeaderExpandIcon: ForwardRefComponent<AccordionHeaderExpandIconProps> = React.forwardRef(
({ children, ...rest }, ref) => {
const { open, expandIconPosition } = useAccordionHeaderContext();
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ import { useAccordionItem } from './useAccordionItem';
import { useAccordionItemContextValues } from './useAccordionItemContextValues';
import { renderAccordionItem } from './renderAccordionItem';
import type { AccordionItemProps } from './AccordionItem.types';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Define a styled AccordionItem, using the `useAccordionItem` and `useAccordionItemStyles` hooks.
*/
export const AccordionItem = React.forwardRef<HTMLElement, AccordionItemProps>((props, ref) => {
export const AccordionItem: ForwardRefComponent<AccordionItemProps> = React.forwardRef((props, ref) => {
const state = useAccordionItem(props, ref);
const contextValues = useAccordionItemContextValues(state);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ import { useAccordionPanel } from './useAccordionPanel';
import { renderAccordionPanel } from './renderAccordionPanel';
import { useAccordionPanelStyles } from './useAccordionPanelStyles';
import type { AccordionPanelProps } from './AccordionPanel.types';
import type { ForwardRefComponent } from '@fluentui/react-utilities';

/**
* Define a styled AccordionPanel, using the `useAccordionPanel` and `useAccordionPanelStyles` hooks.
*/
export const AccordionPanel = React.forwardRef<HTMLElement, AccordionPanelProps>((props, ref) => {
export const AccordionPanel: ForwardRefComponent<AccordionPanelProps> = React.forwardRef((props, ref) => {
const state = useAccordionPanel(props, ref);

useAccordionPanelStyles(state);
Expand Down

0 comments on commit a3391fb

Please sign in to comment.