UNPKG

tdesign-react

Version:
179 lines (171 loc) 8.11 kB
/** * tdesign v1.13.2 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var defineProperty = require('../_chunks/dep-cc768e34.js'); var slicedToArray = require('../_chunks/dep-e17e2d31.js'); var React = require('react'); var classNames = require('classnames'); var _util_style = require('../_chunks/dep-3f65dfe7.js'); var hooks_useConfig = require('../hooks/useConfig.js'); var common_Portal = require('../common/Portal.js'); var loading_gradient = require('./gradient.js'); var loading_defaultProps = require('./defaultProps.js'); var hooks_useDefaultProps = require('../hooks/useDefaultProps.js'); require('../_chunks/dep-6d4d8660.js'); require('../_chunks/dep-b7d577ac.js'); require('../_chunks/dep-3e2d2665.js'); require('../_chunks/dep-f0379c5f.js'); require('../_chunks/dep-028b759d.js'); require('../_chunks/dep-ddacd27a.js'); require('../config-provider/ConfigContext.js'); require('../_chunks/dep-3a869b87.js'); require('../_chunks/dep-ac58e1cc.js'); require('dayjs'); require('../_chunks/dep-7da96a57.js'); require('../_chunks/dep-07b911d8.js'); require('../_chunks/dep-4b02d669.js'); require('../_chunks/dep-8a116183.js'); require('../_chunks/dep-4671b9bd.js'); require('../_chunks/dep-bed9d73e.js'); require('../_chunks/dep-780eda7b.js'); require('../_chunks/dep-47bdc05f.js'); require('../_chunks/dep-cab13149.js'); require('../_chunks/dep-a30819a4.js'); require('../_chunks/dep-6a7ba247.js'); require('../_chunks/dep-c87d9752.js'); require('../_chunks/dep-bd956a2d.js'); require('../_chunks/dep-0cdb3286.js'); require('../_chunks/dep-865c186c.js'); require('../_chunks/dep-f4e58639.js'); require('../_chunks/dep-781a2854.js'); require('../_chunks/dep-1ef213f8.js'); require('../_chunks/dep-e2c832a5.js'); require('react-dom'); require('../hooks/useLayoutEffect.js'); require('../_chunks/dep-58719304.js'); require('../_chunks/dep-b8d4cf07.js'); require('../_chunks/dep-64a1054a.js'); require('../_chunks/dep-422caf30.js'); require('../hooks/useDomRefCallback.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var Loading = function Loading(props) { var _useDefaultProps = hooks_useDefaultProps["default"](props, loading_defaultProps.loadingDefaultProps), attach = _useDefaultProps.attach, indicator = _useDefaultProps.indicator, text = _useDefaultProps.text, loading = _useDefaultProps.loading, size = _useDefaultProps.size, delay = _useDefaultProps.delay, fullscreen = _useDefaultProps.fullscreen, preventScrollThrough = _useDefaultProps.preventScrollThrough, showOverlay = _useDefaultProps.showOverlay, content = _useDefaultProps.content, children = _useDefaultProps.children, inheritColor = _useDefaultProps.inheritColor, zIndex = _useDefaultProps.zIndex, className = _useDefaultProps.className, style = _useDefaultProps.style; var _useState = React.useState(function () { return delay ? false : loading; }), _useState2 = slicedToArray._slicedToArray(_useState, 2), showLoading = _useState2[0], setShowLoading = _useState2[1]; var _useConfig = hooks_useConfig["default"](), classPrefix = _useConfig.classPrefix; var name = "".concat(classPrefix, "-loading"); var centerClass = "".concat(classPrefix, "-loading--center"); var inheritColorClass = "".concat(classPrefix, "-loading--inherit-color"); var fullClass = "".concat(classPrefix, "-loading--full"); var fullscreenClass = "".concat(classPrefix, "-loading__fullscreen"); var lockClass = "".concat(classPrefix, "-loading--lock"); var overlayClass = "".concat(classPrefix, "-loading__overlay"); var relativeClass = "".concat(classPrefix, "-loading__parent"); var textClass = "".concat(classPrefix, "-loading__text"); React.useEffect(function () { var timer; if (delay && loading) { timer = setTimeout(function () { setShowLoading(loading); }, delay); } else { setShowLoading(loading); } return function () { clearTimeout(timer); }; }, [delay, loading]); var calcStyles = React.useMemo(function () { var styles = {}; if (zIndex !== void 0) { styles.zIndex = zIndex; } if (!["small", "medium", "large"].includes(size)) { styles.fontSize = size; } return styles; }, [size, zIndex]); var sizeMap = { large: "".concat(classPrefix, "-size-l"), small: "".concat(classPrefix, "-size-s"), medium: "".concat(classPrefix, "-size-m") }; var baseClasses = classNames__default["default"](centerClass, sizeMap[size], defineProperty._defineProperty({}, inheritColorClass, inheritColor), className); React.useEffect(function () { if (preventScrollThrough && fullscreen && _util_style.canUseDocument && loading) { _util_style.addClass(document.body, lockClass); } return function () { _util_style.removeClass(document.body, lockClass); }; }, [loading, preventScrollThrough, fullscreen, lockClass]); var commonContent = function commonContent() { var renderIndicator = /* @__PURE__ */React__default["default"].createElement(loading_gradient["default"], null); if (indicator && typeof indicator !== "boolean") { renderIndicator = indicator; } return /* @__PURE__ */React__default["default"].createElement(React__default["default"].Fragment, null, indicator ? renderIndicator : null, text ? /* @__PURE__ */React__default["default"].createElement("div", { className: textClass }, text) : null); }; if (fullscreen) { return loading ? /* @__PURE__ */React__default["default"].createElement("div", { className: classNames__default["default"](name, fullscreenClass, centerClass, overlayClass), style: _objectSpread(_objectSpread({}, calcStyles), style) }, /* @__PURE__ */React__default["default"].createElement("div", { className: baseClasses }, commonContent())) : null; } if (content || children) { return /* @__PURE__ */React__default["default"].createElement("div", { className: relativeClass, style: style }, content || children, showLoading ? /* @__PURE__ */React__default["default"].createElement("div", { className: classNames__default["default"](name, baseClasses, fullClass, defineProperty._defineProperty({}, overlayClass, showOverlay)), style: calcStyles }, commonContent()) : null); } if (attach) { return /* @__PURE__ */React__default["default"].createElement(common_Portal["default"], { attach: attach }, loading ? /* @__PURE__ */React__default["default"].createElement("div", { className: classNames__default["default"](name, baseClasses, fullClass, defineProperty._defineProperty({}, overlayClass, showOverlay)), style: _objectSpread(_objectSpread({}, calcStyles), style) }, commonContent()) : null); } return loading ? /* @__PURE__ */React__default["default"].createElement("div", { className: classNames__default["default"](name, baseClasses), style: _objectSpread(_objectSpread({}, calcStyles), style) }, commonContent()) : null; }; Loading.displayName = "Loading"; exports["default"] = Loading; //# sourceMappingURL=Loading.js.map