UNPKG

ukelli-ui

Version:

[![Build Status](https://travis-ci.org/ukelli/ukelli-ui.svg?branch=master)](https://travis-ci.org/ukelli/ukelli-ui) [![install size](https://packagephobia.now.sh/badge?p=ukelli-ui)](https://packagephobia.now.sh/result?p=ukelli-ui)

81 lines (65 loc) 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _icon = require("../icon"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } /* eslint-disable react/button-has-type */ var defaultProps = { loading: false, disabled: false, type: 'button', color: 'theme', className: '', icon: '' }; var Button = function Button(props) { var gm = window.$UKE.getUkeKeyMap; var loading = props.loading, disabled = props.disabled, _props$text = props.text, text = _props$text === void 0 ? gm('提交') : _props$text, icon = props.icon, type = props.type, color = props.color, className = props.className, _onClick = props.onClick; var clickable = !disabled && !loading; var iconDOM = icon ? _react.default.createElement(_icon.Icon, { n: icon, classNames: ['btn-icon'] }) : null; return _react.default.createElement("button", { disabled: !clickable, type: type, className: "btn flat ".concat(color, " ").concat(className), onClick: function onClick(e) { if (!disabled) _onClick(e); } }, iconDOM, text); }; Button.defaultProps = defaultProps; Button.propTypes = { /** 是否加载中 */ loading: _propTypes.default.bool, /** 设置 btn 的 class */ className: _propTypes.default.string, /** 设置 btn 的 icon, 可以使用 iconMapper 来引用 */ icon: _propTypes.default.string, /** btn 的字 */ text: _propTypes.default.string, /** btn 的类型 */ type: _propTypes.default.string, /** btn 的颜色 [theme, red, gold...] */ color: _propTypes.default.string, /** 是否禁用 */ disabled: _propTypes.default.bool, /** 点击处理 */ onClick: _propTypes.default.func.isRequired }; var _default = Button; exports.default = _default;