1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- "use strict";
- "use client";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _react = _interopRequireWildcard(require("react"));
- var _LoadingOutlined = _interopRequireDefault(require("@ant-design/icons/LoadingOutlined"));
- var _classnames = _interopRequireDefault(require("classnames"));
- var _rcMotion = _interopRequireDefault(require("rc-motion"));
- var _IconWrapper = _interopRequireDefault(require("./IconWrapper"));
- const InnerLoadingIcon = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
- const {
- prefixCls,
- className,
- style,
- iconClassName
- } = props;
- const mergedIconCls = (0, _classnames.default)(`${prefixCls}-loading-icon`, className);
- return /*#__PURE__*/_react.default.createElement(_IconWrapper.default, {
- prefixCls: prefixCls,
- className: mergedIconCls,
- style: style,
- ref: ref
- }, /*#__PURE__*/_react.default.createElement(_LoadingOutlined.default, {
- className: iconClassName
- }));
- });
- const getCollapsedWidth = () => ({
- width: 0,
- opacity: 0,
- transform: 'scale(0)'
- });
- const getRealWidth = node => ({
- width: node.scrollWidth,
- opacity: 1,
- transform: 'scale(1)'
- });
- const DefaultLoadingIcon = props => {
- const {
- prefixCls,
- loading,
- existIcon,
- className,
- style,
- mount
- } = props;
- const visible = !!loading;
- if (existIcon) {
- return /*#__PURE__*/_react.default.createElement(InnerLoadingIcon, {
- prefixCls: prefixCls,
- className: className,
- style: style
- });
- }
- return /*#__PURE__*/_react.default.createElement(_rcMotion.default, {
- visible: visible,
- // Used for minus flex gap style only
- motionName: `${prefixCls}-loading-icon-motion`,
- motionAppear: !mount,
- motionEnter: !mount,
- motionLeave: !mount,
- removeOnLeave: true,
- onAppearStart: getCollapsedWidth,
- onAppearActive: getRealWidth,
- onEnterStart: getCollapsedWidth,
- onEnterActive: getRealWidth,
- onLeaveStart: getRealWidth,
- onLeaveActive: getCollapsedWidth
- }, ({
- className: motionCls,
- style: motionStyle
- }, ref) => {
- const mergedStyle = Object.assign(Object.assign({}, style), motionStyle);
- return /*#__PURE__*/_react.default.createElement(InnerLoadingIcon, {
- prefixCls: prefixCls,
- className: (0, _classnames.default)(className, motionCls),
- style: mergedStyle,
- ref: ref
- });
- });
- };
- var _default = exports.default = DefaultLoadingIcon;
|