UNPKG

apeman-react-button

Version:
81 lines (65 loc) 5.77 kB
/** * 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