"use strict";

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

var React = _interopRequireWildcard(require("react"));

var _one = require("remax/one");

var _classnames = _interopRequireDefault(require("classnames"));

var _utils = require("./../_utils");

var _common = require("./../common");

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

var prefixCls = (0, _common.getPrefixCls)('loading');

var Loading = function Loading(props) {
  var style = props.style,
      vertical = props.vertical,
      type = props.type,
      _props$color = props.color,
      color = _props$color === void 0 ? '#999' : _props$color,
      _props$gapColor = props.gapColor,
      gapColor = _props$gapColor === void 0 ? '#FDFFFD' : _props$gapColor,
      _props$size = props.size,
      size = _props$size === void 0 ? '28px' : _props$size,
      className = props.className;
  var new_style = Object.assign(Object.assign({}, style), {
    fontSize: (0, _utils.addUnit)(size)
  });

  var renderText = function renderText() {
    var text = props.text,
        _props$textSize = props.textSize,
        textSize = _props$textSize === void 0 ? "28px" : _props$textSize,
        textColor = props.textColor;

    if (text) {
      return /*#__PURE__*/React.createElement(_one.View, {
        className: "".concat(prefixCls, "-text"),
        style: {
          fontSize: textSize,
          color: textColor || color
        }
      }, text);
    }
  };

  if (type === 'gap') {
    return /*#__PURE__*/React.createElement(_one.View, {
      className: (0, _classnames.default)(prefixCls, className, _defineProperty({}, "".concat(prefixCls, "-vertical "), vertical))
    }, /*#__PURE__*/React.createElement(_one.View, {
      className: "".concat(prefixCls, "-gap"),
      style: Object.assign(Object.assign({}, new_style), {
        border: "1Px solid ".concat(color)
      })
    }, /*#__PURE__*/React.createElement(_one.View, {
      className: "".concat(prefixCls, "-gap-fill"),
      style: {
        backgroundColor: gapColor
      }
    })), renderText());
  }

  if (type === 'wave') {
    return /*#__PURE__*/React.createElement(_one.View, {
      className: (0, _classnames.default)(prefixCls, className, _defineProperty({}, "".concat(prefixCls, "-vertical "), vertical))
    }, /*#__PURE__*/React.createElement(_one.View, {
      className: "".concat(prefixCls, "-wave")
    }, /*#__PURE__*/React.createElement(_one.View, {
      style: {
        backgroundColor: color
      }
    }), /*#__PURE__*/React.createElement(_one.View, {
      style: {
        backgroundColor: color
      }
    }), /*#__PURE__*/React.createElement(_one.View, {
      style: {
        backgroundColor: color
      }
    }), /*#__PURE__*/React.createElement(_one.View, {
      style: {
        backgroundColor: color
      }
    }), /*#__PURE__*/React.createElement(_one.View, {
      style: {
        backgroundColor: color
      }
    })), renderText());
  }

  return /*#__PURE__*/React.createElement(_one.View, {
    className: (0, _classnames.default)(prefixCls, className, _defineProperty({}, "".concat(prefixCls, "-vertical "), vertical))
  }, /*#__PURE__*/React.createElement(_one.View, {
    className: "".concat(prefixCls, "-content"),
    style: Object.assign(Object.assign({}, new_style), {
      borderColor: "".concat(color, " ").concat(color, " transparent")
    })
  }), renderText());
};

var _default = Loading;
exports.default = _default;