es-grid-template
Version:
es-grid-template
36 lines (35 loc) • 1.29 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = Loading;
var _react = _interopRequireDefault(require("react"));
var _styles = require("./styles");
var _LoadingSpinner = _interopRequireDefault(require("../../grid-component/LoadingSpinner"));
const DefaultLoadingIcon = /*#__PURE__*/_react.default.memo(() => /*#__PURE__*/_react.default.createElement(_LoadingSpinner.default, null));
function DefaultLoadingContentWrapper({
children,
visible
}) {
return /*#__PURE__*/_react.default.createElement("div", {
className: "art-loading-content-wrapper",
style: {
filter: visible ? 'blur(0px)' : 'none'
}
}, children);
}
function Loading({
visible,
children,
LoadingContentWrapper = DefaultLoadingContentWrapper,
LoadingIcon = DefaultLoadingIcon
}) {
return /*#__PURE__*/_react.default.createElement("div", {
className: _styles.Classes.loadingWrapper
}, visible && /*#__PURE__*/_react.default.createElement("div", {
className: "spinner-loading"
}, /*#__PURE__*/_react.default.createElement(LoadingIcon, null)), /*#__PURE__*/_react.default.createElement(LoadingContentWrapper, {
visible: !!visible
}, children));
}