import classNames from "classnames";
import { View, ViewProps } from "../../atoms/view";
import { Loader } from "./loader";
import useStyles from "./styles";
const defaultLoader = ;
export interface LoadingViewProps extends ViewProps {
// size?: "small" | "large" | "default";
// color?: string;
isLoading?: boolean;
/**
* Don't render children until isLoading is true
*
* @default true
*/
isLazy?: boolean;
indicatorWrapperClassName?: string | undefined;
/** @deprecated Use indicatorWrapperClassName instead */
wrapperClassName?: string | undefined;
indicator?: JSX.Element;
}
const LoadingView = ({
// size = "large",
// color = "blue",
children,
isLoading,
isLazy = true,
wrapperClassName,
indicatorWrapperClassName = wrapperClassName,
indicator = defaultLoader,
...rest
}: LoadingViewProps) => {
const classes = useStyles();
return (
{(!isLoading || !isLazy) && children}
{isLoading && (
{indicator}
)}
);
};
LoadingView.displayName = "LoadingView";
LoadingView.testIDs = {
loadingContainer: "loadingContainer",
};
export { LoadingView };