import * as React from 'react'; import LoadingIndicator, { LoadingIndicatorProps } from './LoadingIndicator'; export interface MakeLoadableProps { isLoading?: boolean; loadingIndicatorProps?: LoadingIndicatorProps; } const makeLoadable =

( BaseComponent: React.ComponentType

, ): React.FC

=> { const LoadableComponent = ({ isLoading = false, loadingIndicatorProps = {}, ...rest }: MakeLoadableProps) => isLoading ? : ; LoadableComponent.displayName = `Loadable${BaseComponent.displayName || BaseComponent.name || 'Component'}`; return LoadableComponent; }; export default makeLoadable;