Skip to content

Commit 68ac497

Browse files
committed
fixup! chore(react-components): resolve issues related to React 18 types
1 parent ec20881 commit 68ac497

File tree

7 files changed

+23
-22
lines changed

7 files changed

+23
-22
lines changed

packages/react-components/react-avatar/library/src/components/AvatarGroupItem/AvatarGroupItem.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { isConformant } from '../../testing/isConformant';
66

77
const testId = 'testId';
88

9-
const ContextWrapper: React.FC = ({ children }) => (
9+
const ContextWrapper: React.FC<React.PropsWithChildren> = ({ children }) => (
1010
<AvatarGroupContext.Provider value={{ isOverflow: true }}>{children}</AvatarGroupContext.Provider>
1111
);
1212

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Breadcrumb, BreadcrumbButton, BreadcrumbItem, BreadcrumbDivider } from '@fluentui/react-components';
2+
import * as React from 'react';
23
import descriptionMd from './BreadcrumbDescription.md';
34
export { Default } from './BreadcrumbDefault.stories';
45
export { BreadcrumbSize } from './BreadcrumbSize.stories';
@@ -7,13 +8,13 @@ export { BreadcrumbWithTooltip } from './BreadcrumbWithTooltip.stories';
78

89
import type { Meta } from '@storybook/react';
910

10-
const metadata: Meta<typeof Breadcrumb> = {
11+
const metadata = {
1112
title: 'Components/Breadcrumb',
1213
component: Breadcrumb,
1314
subcomponents: {
14-
BreadcrumbItem,
15-
BreadcrumbButton,
16-
BreadcrumbDivider,
15+
BreadcrumbItem: BreadcrumbItem as React.ComponentType<unknown>,
16+
BreadcrumbButton: BreadcrumbButton as React.ComponentType<unknown>,
17+
BreadcrumbDivider: BreadcrumbDivider as React.ComponentType<unknown>,
1718
},
1819
parameters: {
1920
docs: {
@@ -22,6 +23,6 @@ const metadata: Meta<typeof Breadcrumb> = {
2223
},
2324
},
2425
},
25-
};
26+
} satisfies Meta<typeof Breadcrumb>;
2627

2728
export default metadata;

packages/react-components/react-overflow/library/src/useOverflowItem.test.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ describe('useOverflowItem', () => {
2323
(ref as React.MutableRefObject<HTMLDivElement>).current = document.createElement('div');
2424
},
2525
{
26-
wrapper: ({ children }) => <OverflowContext.Provider value={value}>{children}</OverflowContext.Provider>,
26+
wrapper: ({ children }: { children: React.ReactNode }) => (
27+
<OverflowContext.Provider value={value}>{children}</OverflowContext.Provider>
28+
),
2729
},
2830
);
2931

@@ -50,7 +52,9 @@ describe('useOverflowItem', () => {
5052
(ref as React.MutableRefObject<HTMLDivElement>).current = document.createElement('div');
5153
},
5254
{
53-
wrapper: ({ children }) => <OverflowContext.Provider value={value}>{children}</OverflowContext.Provider>,
55+
wrapper: ({ children }: { children: React.ReactNode }) => (
56+
<OverflowContext.Provider value={value}>{children}</OverflowContext.Provider>
57+
),
5458
},
5559
);
5660

packages/react-components/react-portal-compat/src/PortalCompatProvider.test.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { PortalCompatProvider, useProviderThemeClasses } from './PortalCompatPro
1010
// eslint-disable-next-line @typescript-eslint/no-empty-function
1111
const noop = () => {};
1212

13-
const TestWrapperWithMultipleClasses: React.FC = props => {
13+
const TestWrapperWithMultipleClasses: React.FC<React.PropsWithChildren> = props => {
1414
// Creates a second className with CSS variables
1515
const { styleTagId } = useFluentProviderThemeStyleTag({
1616
theme: { borderRadiusCircular: '50px' },
@@ -32,7 +32,7 @@ describe('useProviderThemeClasses', () => {
3232

3333
it('handles classes from FluentProvider', () => {
3434
const { result } = renderHook(() => useProviderThemeClasses(), {
35-
wrapper: props => (
35+
wrapper: (props: React.PropsWithChildren) => (
3636
<FluentProvider theme={{ colorNeutralBackground1: '#ccc' }}>
3737
<PortalCompatProvider>{props.children}</PortalCompatProvider>
3838
</FluentProvider>
@@ -61,7 +61,7 @@ describe('useProviderThemeClasses', () => {
6161

6262
it('handles classes with custom ID prefix', () => {
6363
const { result } = renderHook(() => useProviderThemeClasses(), {
64-
wrapper: props => (
64+
wrapper: (props: React.PropsWithChildren) => (
6565
<IdPrefixProvider value="custom1-">
6666
<FluentProvider theme={{ colorNeutralBackground1: '#ccc' }}>
6767
<PortalCompatProvider>{props.children}</PortalCompatProvider>
@@ -79,7 +79,7 @@ describe('useProviderThemeClasses', () => {
7979

8080
it('handles classes with a React 18 compatible ID', () => {
8181
const { result } = renderHook(() => useProviderThemeClasses(), {
82-
wrapper: props => (
82+
wrapper: (props: React.PropsWithChildren) => (
8383
<ThemeClassNameProvider value="fui-FluentProviderR1a">
8484
<PortalCompatProvider>{props.children}</PortalCompatProvider>
8585
</ThemeClassNameProvider>
@@ -95,7 +95,7 @@ describe('useProviderThemeClasses', () => {
9595

9696
it('returns only proper classes', () => {
9797
const { result } = renderHook(() => useProviderThemeClasses(), {
98-
wrapper: props => (
98+
wrapper: (props: React.PropsWithChildren) => (
9999
<ThemeClassNameProvider value="foo bar baz">
100100
<PortalCompatProvider>{props.children}</PortalCompatProvider>
101101
</ThemeClassNameProvider>
@@ -133,7 +133,7 @@ describe('PortalCompatProvider', () => {
133133
it('during register adds a className from "ThemeClassNameContext" context', () => {
134134
const element = document.createElement('div');
135135
const { result } = renderHook(() => usePortalCompat(), {
136-
wrapper: props => (
136+
wrapper: (props: React.PropsWithChildren) => (
137137
<FluentProvider theme={{ colorNeutralBackground1: '#ccc' }}>
138138
<PortalCompatProvider>{props.children}</PortalCompatProvider>
139139
</FluentProvider>
@@ -167,7 +167,7 @@ describe('PortalCompatProvider', () => {
167167
const element = document.createElement('div');
168168

169169
const { result } = renderHook(() => usePortalCompat(), {
170-
wrapper: props => (
170+
wrapper: (props: React.PropsWithChildren) => (
171171
<FluentProvider theme={{ colorNeutralBackground1: '#ccc' }}>
172172
<PortalCompatProvider>{props.children}</PortalCompatProvider>
173173
</FluentProvider>

packages/react-components/react-provider/stories/src/Provider/FluentProviderFrame.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const FrameRenderer: React.FunctionComponent<FrameRendererProps> = ({ children }
5353
);
5454
};
5555

56-
const Example: React.FC = props => {
56+
const Example: React.FC<React.PropsWithChildren> = props => {
5757
const styles = useExampleStyles();
5858

5959
return (

packages/react-components/react-tags/stories/src/TagGroup/TagGroupOverflow.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ const OverflowMenuItem = (props: OverflowMenuItemProps) => {
8787

8888
return (
8989
<MenuItem key={tag.value} className={styles.menuItem}>
90-
<Tag {...tag} as="span" className={styles.tag} />
90+
<Tag {...tag} className={styles.tag} />
9191
</MenuItem>
9292
);
9393
};

packages/react-components/react-tree/library/src/hooks/useSubtree.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,7 @@ export function useSubtree(
2626
open,
2727
components: {
2828
root: 'div',
29-
// TODO: remove once React v18 slot API is modified
30-
// This is a problem at the moment due to UnknownSlotProps assumption
31-
// that `children` property is `ReactNode`, which in this case is not valid
32-
// as PresenceComponentProps['children'] is `ReactElement`
33-
collapseMotion: Collapse as React.FC<PresenceMotionSlotProps>,
29+
collapseMotion: Collapse,
3430
},
3531
level: parentLevel + 1,
3632
root: slot.always(

0 commit comments

Comments
 (0)