refactor: prepare types for React 19 (#10746)

This commit is contained in:
Sébastien Lorber 2024-12-06 18:03:04 +01:00 committed by GitHub
parent e9f0641620
commit f9825af43e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
296 changed files with 1105 additions and 915 deletions

View file

@ -50,7 +50,7 @@ export function DocProvider({
}: {
children: ReactNode;
content: PropDocContent;
}): JSX.Element {
}): ReactNode {
const contextValue = useContextValue(content);
return <Context.Provider value={contextValue}>{children}</Context.Provider>;
}

View file

@ -36,7 +36,7 @@ export function DocSidebarItemsExpandedStateProvider({
children,
}: {
children: ReactNode;
}): JSX.Element {
}): ReactNode {
const [expandedItem, setExpandedItem] = useState<number | null>(null);
const contextValue = useMemo(
() => ({expandedItem, setExpandedItem}),

View file

@ -163,7 +163,7 @@ function DocsPreferredVersionContextProviderUnsafe({
children,
}: {
children: ReactNode;
}): JSX.Element {
}): ReactNode {
const value = useContextValue();
return <Context.Provider value={value}>{children}</Context.Provider>;
}
@ -176,7 +176,7 @@ export function DocsPreferredVersionContextProvider({
children,
}: {
children: ReactNode;
}): JSX.Element {
}): ReactNode {
return (
<DocsPreferredVersionContextProviderUnsafe>
{children}

View file

@ -30,7 +30,7 @@ export function DocsSidebarProvider({
children: ReactNode;
name: string | undefined;
items: PropSidebar | undefined;
}): JSX.Element {
}): ReactNode {
const stableValue: ContextValue | null = useMemo(
() => (name && items ? {name, items} : null),
[name, items],

View file

@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/
import {useMemo} from 'react';
import {type ReactNode, useMemo} from 'react';
import {matchPath, useLocation} from '@docusaurus/router';
import renderRoutes from '@docusaurus/renderRoutes';
import {
@ -363,7 +363,7 @@ Available doc ids are:
*/
export function useDocRootMetadata({route}: DocRootProps): null | {
/** The element that should be rendered at the current location. */
docElement: JSX.Element;
docElement: ReactNode;
/**
* The name of the sidebar associated with the current doc. `sidebarName` and
* `sidebarItems` correspond to the value of {@link useDocsSidebar}.

View file

@ -20,7 +20,7 @@ export function DocsVersionProvider({
}: {
children: ReactNode;
version: PropVersionMetadata | null;
}): JSX.Element {
}): ReactNode {
return <Context.Provider value={version}>{children}</Context.Provider>;
}

View file

@ -562,10 +562,11 @@ declare module '@docusaurus/plugin-content-docs' {
}
declare module '@theme/DocItem' {
import type {ReactNode} from 'react';
import type {PropDocContent} from '@docusaurus/plugin-content-docs';
export type DocumentRoute = {
readonly component: () => JSX.Element;
readonly component: () => ReactNode;
readonly exact: boolean;
readonly path: string;
readonly sidebar?: string;
@ -576,10 +577,11 @@ declare module '@theme/DocItem' {
readonly content: PropDocContent;
}
export default function DocItem(props: Props): JSX.Element;
export default function DocItem(props: Props): ReactNode;
}
declare module '@theme/DocCategoryGeneratedIndexPage' {
import type {ReactNode} from 'react';
import type {PropCategoryGeneratedIndex} from '@docusaurus/plugin-content-docs';
export interface Props {
@ -588,39 +590,45 @@ declare module '@theme/DocCategoryGeneratedIndexPage' {
export default function DocCategoryGeneratedIndexPage(
props: Props,
): JSX.Element;
): ReactNode;
}
declare module '@theme/DocTagsListPage' {
import type {ReactNode} from 'react';
import type {PropTagsListPage} from '@docusaurus/plugin-content-docs';
export interface Props extends PropTagsListPage {}
export default function DocTagsListPage(props: Props): JSX.Element;
export default function DocTagsListPage(props: Props): ReactNode;
}
declare module '@theme/DocTagDocListPage' {
import type {ReactNode} from 'react';
import type {PropTagDocList} from '@docusaurus/plugin-content-docs';
export interface Props {
readonly tag: PropTagDocList;
}
export default function DocTagDocListPage(props: Props): JSX.Element;
export default function DocTagDocListPage(props: Props): ReactNode;
}
declare module '@theme/DocBreadcrumbs' {
export default function DocBreadcrumbs(): JSX.Element;
import type {ReactNode} from 'react';
export default function DocBreadcrumbs(): ReactNode;
}
declare module '@theme/DocsRoot' {
import type {ReactNode} from 'react';
import type {RouteConfigComponentProps} from 'react-router-config';
import type {Required} from 'utility-types';
export interface Props extends Required<RouteConfigComponentProps, 'route'> {}
export default function DocsRoot(props: Props): JSX.Element;
export default function DocsRoot(props: Props): ReactNode;
}
declare module '@theme/DocVersionRoot' {
import type {ReactNode} from 'react';
import type {PropVersionMetadata} from '@docusaurus/plugin-content-docs';
import type {RouteConfigComponentProps} from 'react-router-config';
import type {Required} from 'utility-types';
@ -629,14 +637,15 @@ declare module '@theme/DocVersionRoot' {
readonly version: PropVersionMetadata;
}
export default function DocVersionRoot(props: Props): JSX.Element;
export default function DocVersionRoot(props: Props): ReactNode;
}
declare module '@theme/DocRoot' {
import type {ReactNode} from 'react';
import type {RouteConfigComponentProps} from 'react-router-config';
import type {Required} from 'utility-types';
export interface Props extends Required<RouteConfigComponentProps, 'route'> {}
export default function DocRoot(props: Props): JSX.Element;
export default function DocRoot(props: Props): ReactNode;
}