UNPKG

@flexis/ui

Version:

Styleless React Components

38 lines 2.93 kB
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 './Switch.st.css'; let Switch = /** @class */ (() => { class Switch extends PureComponent { render() { const { className, elementRef, ...props } = this.props; return (<input ref={elementRef} {...props} className={style(classes.root, className)} 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); } } } Switch.propTypes = { elementRef: PropTypes.func, type: PropTypes.oneOf([ 'checkbox', 'radio' ]).isRequired, onChange: PropTypes.func, value: InputValuePropType }; __decorate([ Bind() ], Switch.prototype, "onChange", null); return Switch; })(); export default Switch; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3dpdGNoLmpzeCIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1N3aXRjaC9Td2l0Y2gudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssRUFBRSxFQUliLGFBQWEsRUFDYixNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBRU4sSUFBSSxFQUNKLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTixrQkFBa0IsRUFDbEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ04sS0FBSyxFQUNMLE9BQU8sRUFDUCxNQUFNLGlCQUFpQixDQUFDO0FBY3pCO0lBQUEsTUFBcUIsTUFBTyxTQUFRLGFBQXFCO1FBWXhELE1BQU07WUFFTCxNQUFNLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixHQUFHLEtBQUssRUFDUixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFFZixPQUFPLENBQ04sQ0FBQyxLQUFLLENBQ0wsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ2hCLElBQUksS0FBSyxDQUFDLENBQ1YsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FDMUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN2QixDQUNGLENBQUM7UUFDSCxDQUFDO1FBR08sUUFBUSxDQUFDLEtBQW9DO1lBRXBELE1BQU0sRUFDTCxRQUFRLEVBQ1IsS0FBSyxFQUNMLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUVmLElBQUksT0FBTyxRQUFRLEtBQUssVUFBVSxFQUFFO2dCQUVuQyxNQUFNLFNBQVMsR0FBRyxPQUFPLEtBQUssS0FBSyxXQUFXO29CQUM3QyxDQUFDLENBQUMsS0FBSztvQkFDUCxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7Z0JBRS9CLFFBQVEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDM0I7UUFDRixDQUFDOztJQTVDTSxnQkFBUyxHQUFHO1FBQ2xCLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUMxQixJQUFJLEVBQVEsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUMzQixVQUFVO1lBQ1YsT0FBTztTQUNQLENBQUMsQ0FBQyxVQUFVO1FBQ2IsUUFBUSxFQUFJLFNBQVMsQ0FBQyxJQUFJO1FBQzFCLEtBQUssRUFBTyxrQkFBa0I7S0FDOUIsQ0FBQztJQXFCRjtRQURDLElBQUksRUFBRTswQ0FnQk47SUFDRixhQUFDO0tBQUE7ZUEvQ29CLE1BQU0ifQ==