// @flow import * as React from 'react'; import LoadingIndicator from './LoadingIndicator'; import type { Props as LoadingIndicatorProps } from './LoadingIndicator'; type Props = { isLoading?: boolean, loadingIndicatorProps?: LoadingIndicatorProps, }; function makeLoadable(BaseComponent: React.ComponentType): React.ComponentType { const LoadableComponent = ({ isLoading = false, loadingIndicatorProps = {}, ...rest }: Props) => isLoading ? : ; LoadableComponent.displayName = `Loadable${BaseComponent.displayName || BaseComponent.name || 'Component'}`; return LoadableComponent; } export default makeLoadable;