apeman-react-button
Version:
apeman react package for button component.
71 lines (56 loc) • 1.5 kB
JSX
/**
* Prev button component.
* @constructor ApPrevButton
*/
;
import React, {PropTypes as types} from 'react';
import classnames from 'classnames';
import ApButton from './ap_button';
import {ApIcon} from 'apeman-react-icon'
import {ApPureMixin} from 'apeman-react-mixins';
/** @lends ApPrevButton */
let ApPrevButton = React.createClass({
//--------------------
// Specs
//--------------------
propTypes: {
disabled: types.bool,
onTap: types.func,
text: types.string,
size: types.number,
icon: types.string
},
mixins: [
ApPureMixin
],
getInitialState() {
return {};
},
getDefaultProps() {
return {
disabled: false,
onTap: null,
text: null,
icon:'fa fa-caret-left'
}
},
render() {
let s = this;
let {props} = s,
{size} = props;
return (
<ApButton className={classnames('ap-prev-button', props.className)}
wide={false}
style={Object.assign({
}, props.style)}
{...props}>
<ApIcon className={classnames('ap-prev-button-icon', props.icon)}/>
<span className="ap-prev-button-text">
{props.text}
</span>
{props.children}
</ApButton>
);
}
});
module.exports = ApPrevButton;