import * as React from 'react';
import { ReactNode } from 'react';
import { ResourceContextValue } from './ResourceContext';
import { ResourceContextProvider } from './ResourceContextProvider';
/**
* Wrap children with a ResourceContext provider only if the value is defined.
*
* Allows a component to work outside of a resource context.
*
* @example
*
* import { OptionalResourceContextProvider, EditButton } from 'react-admin';
*
* const Button = ({ resource }) => (
*
*
*
* );
*/
export const OptionalResourceContextProvider = ({
value,
children,
}: {
value?: ResourceContextValue;
children: ReactNode;
}) =>
value ? (
{children}
) : (
children
);