tdesign-react
Version:
TDesign Component for React
96 lines (92 loc) • 3.51 kB
JavaScript
/**
* tdesign v1.13.2
* (c) 2025 tdesign
* @license MIT
*/
import { _ as _defineProperty } from '../../_chunks/dep-8618a2f1.js';
import { _ as _slicedToArray } from '../../_chunks/dep-118954e6.js';
import React from 'react';
import { isString } from 'lodash-es';
import classNames from 'classnames';
import { Loading } from '../../loading/index.js';
import useClassName from './useClassName.js';
import { useLocaleReceiver } from '../../locale/LocalReceiver.js';
import '../../_chunks/dep-c37cc2fd.js';
import '../../_chunks/dep-61f5e3d1.js';
import '../../loading/Loading.js';
import '../../_chunks/dep-82b8abc2.js';
import '../../hooks/useConfig.js';
import '../../config-provider/ConfigContext.js';
import '../../locale/zh_CN.js';
import '../../_chunks/dep-ab140eb0.js';
import 'dayjs';
import '../../_chunks/dep-95bd7102.js';
import '../../common/Portal.js';
import 'react-dom';
import '../../hooks/useLayoutEffect.js';
import '../../loading/gradient.js';
import '../../_chunks/dep-fab491d8.js';
import '../../_chunks/dep-f213e3a9.js';
import '../../_chunks/dep-132961ab.js';
import '../../_chunks/dep-30ed04a0.js';
import '../../hooks/useDomRefCallback.js';
import '../../loading/defaultProps.js';
import '../../hooks/useDefaultProps.js';
import '../../loading/plugin.js';
import '../../_util/react-render.js';
import '../../_chunks/dep-1aea5672.js';
import '../../common/PluginContainer.js';
import '../../config-provider/index.js';
import '../../config-provider/ConfigProvider.js';
import '../../config-provider/type.js';
import '../../loading/style/index.js';
import '../../loading/type.js';
function useAsyncLoading(props) {
var _useLocaleReceiver = useLocaleReceiver("table"),
_useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),
local = _useLocaleReceiver2[0];
var _useClassName = useClassName(),
isLoadingClass = _useClassName.isLoadingClass,
isLoadMoreClass = _useClassName.isLoadMoreClass,
asyncLoadingClass = _useClassName.asyncLoadingClass;
var classes = [asyncLoadingClass, _defineProperty(_defineProperty({}, isLoadingClass, props.asyncLoading === "loading"), isLoadMoreClass, props.asyncLoading === "load-more")];
function onLoadClick() {
var _props$onAsyncLoading;
if (typeof props.asyncLoading !== "string") return;
var status = props.asyncLoading === "loading" ? "loading" : "load-more";
(_props$onAsyncLoading = props.onAsyncLoadingClick) === null || _props$onAsyncLoading === void 0 || _props$onAsyncLoading.call(props, {
status: status
});
}
function renderAsyncLoading() {
var asyncLoadingNode = props.asyncLoading;
if (isString(asyncLoadingNode)) {
var asyncLoading = props.asyncLoading;
var loadingText = {
"load-more": local.loadingMoreText,
loading: local.loadingText
}[String(asyncLoading)];
return /* @__PURE__ */React.createElement("div", {
className: classNames(classes),
onClick: onLoadClick
}, /* @__PURE__ */React.createElement(Loading, {
loading: true,
size: "small",
text: loadingText,
indicator: asyncLoading === "loading"
}));
}
if (asyncLoadingNode) {
return /* @__PURE__ */React.createElement("div", {
className: classNames(classes),
onClick: onLoadClick
}, asyncLoadingNode);
}
return null;
}
return {
renderAsyncLoading: renderAsyncLoading
};
}
export { useAsyncLoading as default };
//# sourceMappingURL=useAsyncLoading.js.map