/* eslint-disable max-len */ import React from "react"; import classNames from "classnames"; import "./Preloader.scss"; import JDanimation, {Animation} from "../animation/Animations"; export type PreloaderSize = "large" | "tiny" | "medium" | "small"; export interface IPreloaderConfigProps extends React.HTMLAttributes { page?: boolean; size?: PreloaderSize; loading?: boolean; position?: "center"; floating?: boolean; animation?: Animation[]; noAnimation?: boolean; wrapClassName?: string; } const JDpreloader: React.FC = ({ page, size = "tiny", position, className, wrapClassName, loading = false, floating, noAnimation, animation = [Animation.zoomIn, Animation.zoomOut], ...props }) => { const wrapClasses = classNames("preloader__wrap", wrapClassName, { "preloader__wrap--center": position === "center" }); const classes = classNames("preloader", className, { "preloader--tiny": size === "tiny", "preloader--large": size === "large", "preloader--medium": size === "medium", "preloader--small": size === "small", "preloader--floating": floating }); const UnPagePreloader = () => ( {loading && ( )} ); const PagePreloader = () => ( {loading && (
)} ); const returnFn = () => { if (page) { return ; } else { return ; } }; return returnFn(); }; export default JDpreloader;