UNPKG

@craftercms/studio-ui

Version:

Services, components, models & utils to build CrafterCMS authoring extensions.

49 lines (47 loc) 2 kB
/* * Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 as published by * the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ import { PropsWithChildren, SuspenseProps } from 'react'; import { ErrorBoundaryProps } from '../ErrorBoundary/ErrorBoundary'; import { LoadingStateProps } from '../LoadingState/LoadingState'; import { Resource } from '../../models/Resource'; import { EmptyStateProps } from '../EmptyState/EmptyState'; export type PropsWithResource<ResourceType = unknown, Props = {}> = PropsWithChildren< { resource: Resource<ResourceType>; } & Props >; type SuspenseWithEmptyStateProps<ResourceType = unknown> = PropsWithChildren< PropsWithResource<ResourceType> & { isEmpty?(value: ResourceType): boolean; emptyStateProps?: Partial<EmptyStateProps>; } >; type SuspencifiedProps = PropsWithChildren<{ suspenseProps?: SuspenseProps; loadingStateProps?: LoadingStateProps; errorBoundaryProps?: ErrorBoundaryProps; }>; export declare function WithEmptyState<ResourceType = unknown[]>( props: SuspenseWithEmptyStateProps<ResourceType> ): JSX.Element; export declare function Suspencified(props: SuspencifiedProps): JSX.Element; export declare function SuspenseWithEmptyState<ResourceType = unknown>( props: SuspencifiedProps & { resource: Resource<ResourceType>; withEmptyStateProps?: Partial<SuspenseWithEmptyStateProps<ResourceType>>; } ): JSX.Element; export default Suspencified;