@nutui/nutui-react
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
30 lines (29 loc) • 1.39 kB
JavaScript
import { _ as __rest } from "./tslib.es6.js";
import React__default from "react";
import classNames from "classnames";
import { Loading1, Loading as Loading$1 } from "@nutui/icons-react";
import { C as ComponentDefaults } from "./typings.js";
const loadingMap = {
circular: Loading1,
spinner: Loading$1
};
const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), {
// 对比一下,个人感觉还是Loading1比较好看一些,所以用它作为了默认的loading图标
type: "circular",
direction: "horizontal"
});
const Loading = (props) => {
const _a = Object.assign(Object.assign({}, defaultProps), props), { className, style, children, direction, icon } = _a, rest = __rest(_a, ["className", "style", "children", "direction", "icon"]);
const classPrefix = "nut-loading";
const CurLoadingIcon = loadingMap[rest.type] || Loading1;
return React__default.createElement(
"div",
{ className: classNames(classPrefix, direction === "vertical" ? `${classPrefix}-vertical` : "", className), style },
React__default.createElement("div", { className: `${classPrefix}-icon-box` }, icon || React__default.createElement(CurLoadingIcon, { className: `${classPrefix}-icon` })),
children ? React__default.createElement("div", { className: `${classPrefix}-text` }, children) : ""
);
};
Loading.displayName = "NutLoading";
export {
Loading as default
};