UNPKG

@flexis/ui

Version:

Styleless React Components

58 lines 5.13 kB
import { __decorate } from "tslib"; import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import { Bind, omit } from '../../helpers'; import { SelectValuePropType } from '../common/types'; import { style, classes } from './CustomFlatSelect.st.css'; let CustomFlatSelectOption = /** @class */ (() => { class CustomFlatSelectOption extends PureComponent { render() { const { className, optionId, id, type, name, value, checked, disabled, children, ...props } = this.props; return (<li id={optionId} role='option' aria-selected={checked} aria-disabled={disabled} {...omit(props, ['onChange'])} className={style(classes.option, className)}> <label className={classes.label}> <input className={classes.input} id={id} type={type} name={name} checked={checked} onChange={this.onChange} value={value} disabled={disabled}/> <span className={classes.face} onClick={this.onFaceClick}> {children} </span> </label> </li>); } onChange(event) { const { onChange, value } = this.props; if (typeof onChange === 'function') { onChange(value, event); } } onFaceClick(event) { const { target, currentTarget } = event; if (target === currentTarget) { return; } const input = currentTarget.previousElementSibling; input.click(); } } CustomFlatSelectOption.propTypes = { id: PropTypes.string, type: PropTypes.oneOf([ 'radio', 'checkbox' ]), name: PropTypes.string, onChange: PropTypes.func, value: SelectValuePropType, checked: PropTypes.bool, disabled: PropTypes.bool, children: PropTypes.node.isRequired }; CustomFlatSelectOption.defaultProps = { checked: false, disabled: false }; __decorate([ Bind() ], CustomFlatSelectOption.prototype, "onChange", null); return CustomFlatSelectOption; })(); export { CustomFlatSelectOption }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tRmxhdFNlbGVjdE9wdGlvbi5qc3giLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9DdXN0b21GbGF0U2VsZWN0L0N1c3RvbUZsYXRTZWxlY3RPcHRpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssRUFBRSxFQUtiLGFBQWEsRUFDYixNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBRU4sSUFBSSxFQUNKLElBQUksRUFDSixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRU4sbUJBQW1CLEVBQ25CLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNOLEtBQUssRUFDTCxPQUFPLEVBQ1AsTUFBTSwyQkFBMkIsQ0FBQztBQW1CbkM7SUFBQSxNQUFhLHNCQUF1QixTQUFRLGFBQTJDO1FBcUJ0RixNQUFNO1lBRUwsTUFBTSxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1IsRUFBRSxFQUNGLElBQUksRUFDSixJQUFJLEVBQ0osS0FBSyxFQUNMLE9BQU8sRUFDUCxRQUFRLEVBQ1IsUUFBUSxFQUNSLEdBQUcsS0FBSyxFQUNSLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUVmLE9BQU8sQ0FDTixDQUFDLEVBQUUsQ0FDRixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FDYixJQUFJLENBQUMsUUFBUSxDQUNiLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUN2QixhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FDeEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUM5QixTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUU1QztJQUFBLENBQUMsS0FBSyxDQUNMLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FFekI7S0FBQSxDQUFDLEtBQUssQ0FDTCxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQ3pCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNQLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUNYLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUNYLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUNqQixRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3hCLEtBQUssQ0FBQyxDQUFDLEtBQWUsQ0FBQyxDQUN2QixRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFFcEI7S0FBQSxDQUFDLElBQUksQ0FDSixTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQ3hCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FFMUI7TUFBQSxDQUFDLFFBQVEsQ0FDVjtLQUFBLEVBQUUsSUFBSSxDQUNQO0lBQUEsRUFBRSxLQUFLLENBQ1I7R0FBQSxFQUFFLEVBQUUsQ0FBQyxDQUNMLENBQUM7UUFDSCxDQUFDO1FBR08sUUFBUSxDQUFDLEtBQWtCO1lBRWxDLE1BQU0sRUFDTCxRQUFRLEVBQ1IsS0FBSyxFQUNMLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUVmLElBQUksT0FBTyxRQUFRLEtBQUssVUFBVSxFQUFFO2dCQUNuQyxRQUFRLENBQ1AsS0FBSyxFQUNMLEtBQUssQ0FDTCxDQUFDO2FBQ0Y7UUFDRixDQUFDO1FBRU8sV0FBVyxDQUFDLEtBQWlCO1lBRXBDLE1BQU0sRUFDTCxNQUFNLEVBQ04sYUFBYSxFQUNiLEdBQUcsS0FBSyxDQUFDO1lBRVYsSUFBSSxNQUFNLEtBQUssYUFBYSxFQUFFO2dCQUM3QixPQUFPO2FBQ1A7WUFFRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsc0JBQTBDLENBQUM7WUFFdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQzs7SUFqR00sZ0NBQVMsR0FBRztRQUNsQixFQUFFLEVBQVEsU0FBUyxDQUFDLE1BQU07UUFDMUIsSUFBSSxFQUFNLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDekIsT0FBTztZQUNQLFVBQVU7U0FDVixDQUFDO1FBQ0YsSUFBSSxFQUFNLFNBQVMsQ0FBQyxNQUFNO1FBQzFCLFFBQVEsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUN4QixLQUFLLEVBQUssbUJBQW1CO1FBQzdCLE9BQU8sRUFBRyxTQUFTLENBQUMsSUFBSTtRQUN4QixRQUFRLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDeEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtLQUNuQyxDQUFDO0lBRUssbUNBQVksR0FBRztRQUNyQixPQUFPLEVBQUcsS0FBSztRQUNmLFFBQVEsRUFBRSxLQUFLO0tBQ2YsQ0FBQztJQW1ERjtRQURDLElBQUksRUFBRTswREFjTjtJQWlCRiw2QkFBQztLQUFBO1NBcEdZLHNCQUFzQiJ9