es-grid-template
Version:
es-grid-template
29 lines • 984 B
JavaScript
import React from 'react';
import { Classes } from "./styles";
import ComponentSpinner from "../../grid-component/LoadingSpinner";
const DefaultLoadingIcon = /*#__PURE__*/React.memo(() => /*#__PURE__*/React.createElement(ComponentSpinner, null));
function DefaultLoadingContentWrapper({
children,
visible
}) {
return /*#__PURE__*/React.createElement("div", {
className: "art-loading-content-wrapper",
style: {
filter: visible ? 'blur(0px)' : 'none'
}
}, children);
}
export default function Loading({
visible,
children,
LoadingContentWrapper = DefaultLoadingContentWrapper,
LoadingIcon = DefaultLoadingIcon
}) {
return /*#__PURE__*/React.createElement("div", {
className: Classes.loadingWrapper
}, visible && /*#__PURE__*/React.createElement("div", {
className: "spinner-loading"
}, /*#__PURE__*/React.createElement(LoadingIcon, null)), /*#__PURE__*/React.createElement(LoadingContentWrapper, {
visible: !!visible
}, children));
}