@flexis/ui
Version:
Styleless React Components
34 lines • 2.79 kB
JavaScript
import { __decorate } from "tslib";
import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import { Bind } from '../../helpers';
import { InputValuePropType } from '../common/types';
import { style, classes } from './Checkbox.st.css';
let Checkbox = /** @class */ (() => {
class Checkbox extends PureComponent {
render() {
const { className, elementRef, ...props } = this.props;
return (<input ref={elementRef} {...props} className={style(classes.root, className)} type='checkbox' onChange={this.onChange}/>);
}
onChange(event) {
const { onChange, value } = this.props;
if (typeof onChange === 'function') {
const nextValue = typeof value !== 'undefined'
? value
: event.currentTarget.checked;
onChange(nextValue, event);
}
}
}
Checkbox.propTypes = {
elementRef: PropTypes.func,
onChange: PropTypes.func,
value: InputValuePropType
};
__decorate([
Bind()
], Checkbox.prototype, "onChange", null);
return Checkbox;
})();
export default Checkbox;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hlY2tib3guanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ2hlY2tib3gvQ2hlY2tib3gudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssRUFBRSxFQUliLGFBQWEsRUFDYixNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBRU4sSUFBSSxFQUNKLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTixrQkFBa0IsRUFDbEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ04sS0FBSyxFQUNMLE9BQU8sRUFDUCxNQUFNLG1CQUFtQixDQUFDO0FBYTNCO0lBQUEsTUFBcUIsUUFBUyxTQUFRLGFBQXFCO1FBUTFELE1BQU07WUFFTCxNQUFNLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixHQUFHLEtBQUssRUFDUixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFFZixPQUFPLENBQ04sQ0FBQyxLQUFLLENBQ0wsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ2hCLElBQUksS0FBSyxDQUFDLENBQ1YsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FDMUMsSUFBSSxDQUFDLFVBQVUsQ0FDZixRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3ZCLENBQ0YsQ0FBQztRQUNILENBQUM7UUFHTyxRQUFRLENBQUMsS0FBb0M7WUFFcEQsTUFBTSxFQUNMLFFBQVEsRUFDUixLQUFLLEVBQ0wsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBRWYsSUFBSSxPQUFPLFFBQVEsS0FBSyxVQUFVLEVBQUU7Z0JBRW5DLE1BQU0sU0FBUyxHQUFHLE9BQU8sS0FBSyxLQUFLLFdBQVc7b0JBQzdDLENBQUMsQ0FBQyxLQUFLO29CQUNQLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztnQkFFL0IsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMzQjtRQUNGLENBQUM7O0lBekNNLGtCQUFTLEdBQUc7UUFDbEIsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQzFCLFFBQVEsRUFBSSxTQUFTLENBQUMsSUFBSTtRQUMxQixLQUFLLEVBQU8sa0JBQWtCO0tBQzlCLENBQUM7SUFzQkY7UUFEQyxJQUFJLEVBQUU7NENBZ0JOO0lBQ0YsZUFBQztLQUFBO2VBNUNvQixRQUFRIn0=