apeman-react-button
Version:
apeman react package for button component.
81 lines (65 loc) • 5.77 kB
JavaScript
/**
* Button component.
* @constructor ApButton
*/
"use strict";
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _apemanReactMixins = require('apeman-react-mixins');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/** @lends ApButton */
var ApButton = _react2.default.createClass({
displayName: 'ApButton',
//--------------------
// Specs
//--------------------
propTypes: {
disabled: _react.PropTypes.bool,
primary: _react.PropTypes.bool,
danger: _react.PropTypes.bool,
wide: _react.PropTypes.bool,
href: _react.PropTypes.string,
id: _react.PropTypes.string,
hidden: _react.PropTypes.bool
},
mixins: [_apemanReactMixins.ApTouchMixin, _apemanReactMixins.ApPureMixin],
getInitialState: function getInitialState() {
return {};
},
getDefaultProps: function getDefaultProps() {
return {
disabled: false,
primary: false,
danger: false,
wide: false,
href: null,
id: null,
hidden: false
};
},
render: function render() {
var s = this;
var props = s.props;
return _react2.default.createElement(
'a',
{ className: (0, _classnames2.default)("ap-button", props.className, {
'ap-button-primary': props.primary,
'ap-button-danger': props.danger,
'ap-button-wide': props.wide,
'ap-button-disabled': props.disabled,
'ap-button-hidden': props.hidden
}), href: props.href,
id: props.id,
style: Object.assign({}, props.style)
},
props.children
);
}
//------------------
// Helper
//------------------
});
module.exports = ApButton;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX2J1dHRvbi5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQTs7QUFFQTs7OztBQUNBOzs7O0FBRUE7Ozs7O0FBR0EsSUFBSSxXQUFXLGdCQUFNLFdBQU4sQ0FBa0I7Ozs7Ozs7QUFNN0IsZUFBVztBQUNQLGtCQUFVLGlCQUFNLElBQU47QUFDVixpQkFBUyxpQkFBTSxJQUFOO0FBQ1QsZ0JBQVEsaUJBQU0sSUFBTjtBQUNSLGNBQU0saUJBQU0sSUFBTjtBQUNOLGNBQU0saUJBQU0sTUFBTjtBQUNOLFlBQUksaUJBQU0sTUFBTjtBQUNKLGdCQUFRLGlCQUFNLElBQU47S0FQWjs7QUFVQSxZQUFRLGlFQUFSOztBQUtBLGdEQUFrQjtBQUNkLGVBQU8sRUFBUCxDQURjO0tBckJXO0FBeUI3QixnREFBa0I7QUFDZCxlQUFPO0FBQ0gsc0JBQVUsS0FBVjtBQUNBLHFCQUFTLEtBQVQ7QUFDQSxvQkFBUSxLQUFSO0FBQ0Esa0JBQU0sS0FBTjtBQUNBLGtCQUFNLElBQU47QUFDQSxnQkFBSSxJQUFKO0FBQ0Esb0JBQVEsS0FBUjtTQVBKLENBRGM7S0F6Qlc7QUFxQzdCLDhCQUFTO0FBQ0wsWUFBSSxJQUFJLElBQUosQ0FEQztZQUVBLFFBQVMsRUFBVCxNQUZBOztBQUdMLGVBQ0k7O2NBQUcsV0FBVywwQkFBVyxXQUFYLEVBQXdCLE1BQU0sU0FBTixFQUFpQjtBQUNuRCx5Q0FBcUIsTUFBTSxPQUFOO0FBQ3JCLHdDQUFvQixNQUFNLE1BQU47QUFDcEIsc0NBQWtCLE1BQU0sSUFBTjtBQUNsQiwwQ0FBc0IsTUFBTSxRQUFOO0FBQ3RCLHdDQUFvQixNQUFNLE1BQU47aUJBTFYsQ0FBWCxFQU1DLE1BQU0sTUFBTSxJQUFOO0FBQ1Asb0JBQUksTUFBTSxFQUFOO0FBQ0osdUJBQU8sT0FBTyxNQUFQLENBQWMsRUFBZCxFQUFrQixNQUFNLEtBQU4sQ0FBekI7YUFSSDtZQVNFLE1BQU0sUUFBTjtTQVZOLENBSEs7Ozs7Ozs7QUFyQ29CLENBQWxCLENBQVg7O0FBNkRKLE9BQU8sT0FBUCxHQUFpQixRQUFqQiIsImZpbGUiOiJhcF9idXR0b24uanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL29rdW5pc2hpbmlzaGkvUHJvamVjdHMvYXBlbWFuLXByb2plY3RzL2FwZW1hbi1yZWFjdC1idXR0b24vbGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCdXR0b24gY29tcG9uZW50LlxuICogQGNvbnN0cnVjdG9yIEFwQnV0dG9uXG4gKi9cblxuXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBSZWFjdCwge1Byb3BUeXBlcyBhcyB0eXBlc30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7QXBUb3VjaE1peGluLCBBcFB1cmVNaXhpbn0gZnJvbSAnYXBlbWFuLXJlYWN0LW1peGlucyc7XG5cbi8qKiBAbGVuZHMgQXBCdXR0b24gKi9cbmxldCBBcEJ1dHRvbiA9IFJlYWN0LmNyZWF0ZUNsYXNzKHtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTcGVjc1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3BUeXBlczoge1xuICAgICAgICBkaXNhYmxlZDogdHlwZXMuYm9vbCxcbiAgICAgICAgcHJpbWFyeTogdHlwZXMuYm9vbCxcbiAgICAgICAgZGFuZ2VyOiB0eXBlcy5ib29sLFxuICAgICAgICB3aWRlOiB0eXBlcy5ib29sLFxuICAgICAgICBocmVmOiB0eXBlcy5zdHJpbmcsXG4gICAgICAgIGlkOiB0eXBlcy5zdHJpbmcsXG4gICAgICAgIGhpZGRlbjogdHlwZXMuYm9vbFxuICAgIH0sXG5cbiAgICBtaXhpbnM6IFtcbiAgICAgICAgQXBUb3VjaE1peGluLFxuICAgICAgICBBcFB1cmVNaXhpblxuICAgIF0sXG5cbiAgICBnZXRJbml0aWFsU3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9LFxuXG4gICAgZ2V0RGVmYXVsdFByb3BzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgcHJpbWFyeTogZmFsc2UsXG4gICAgICAgICAgICBkYW5nZXI6IGZhbHNlLFxuICAgICAgICAgICAgd2lkZTogZmFsc2UsXG4gICAgICAgICAgICBocmVmOiBudWxsLFxuICAgICAgICAgICAgaWQ6IG51bGwsXG4gICAgICAgICAgICBoaWRkZW46IGZhbHNlXG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBsZXQgcyA9IHRoaXM7XG4gICAgICAgIGxldCB7cHJvcHN9ID0gcztcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcImFwLWJ1dHRvblwiLCBwcm9wcy5jbGFzc05hbWUsIHtcbiAgICAgICAgICAgICAgICAnYXAtYnV0dG9uLXByaW1hcnknOiBwcm9wcy5wcmltYXJ5LFxuICAgICAgICAgICAgICAgICdhcC1idXR0b24tZGFuZ2VyJzogcHJvcHMuZGFuZ2VyLFxuICAgICAgICAgICAgICAgICdhcC1idXR0b24td2lkZSc6IHByb3BzLndpZGUsXG4gICAgICAgICAgICAgICAgJ2FwLWJ1dHRvbi1kaXNhYmxlZCc6IHByb3BzLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICdhcC1idXR0b24taGlkZGVuJzogcHJvcHMuaGlkZGVuXG4gICAgICAgICAgICB9KX0gaHJlZj17cHJvcHMuaHJlZn1cbiAgICAgICAgICAgICAgIGlkPXtwcm9wcy5pZH1cbiAgICAgICAgICAgICAgIHN0eWxlPXtPYmplY3QuYXNzaWduKHt9LCBwcm9wcy5zdHlsZSl9XG4gICAgICAgICAgICA+e3Byb3BzLmNoaWxkcmVufVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gSGVscGVyXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS1cblxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gQXBCdXR0b247XG5cblxuIl19