UNPKG

@lyra/form-builder

Version:
66 lines (52 loc) 1.78 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _checkbox = require('part:@lyra/components/toggles/checkbox'); var _checkbox2 = _interopRequireDefault(_checkbox); var _Preview = require('../../Preview'); var _Preview2 = _interopRequireDefault(_Preview); var _legacyOptionsSupport = require('./legacyOptionsSupport'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /*:: import type {Type} from '../../typedefs'*/ /*:: type Props = { type: Type, value: any, checked: boolean, onChange: (boolean, any) => void, readOnly: ?boolean }*/ class Item extends _react2.default.PureComponent /*:: <Props>*/ { constructor(...args) { var _temp; return _temp = super(...args), this.handleChange = (event /*: SyntheticEvent<HTMLInputElement>*/) => { var _props = this.props; const onChange = _props.onChange, value = _props.value; onChange(event.currentTarget.checked, value); }, _temp; } render() { var _props2 = this.props; const value = _props2.value, checked = _props2.checked, type = _props2.type, readOnly = _props2.readOnly; return _react2.default.createElement( _checkbox2.default, { onChange: this.handleChange, checked: checked, readOnly: readOnly || type.readOnly }, (0, _legacyOptionsSupport.isLegacyOptionsItem)(value) ? value.title : _react2.default.createElement(_Preview2.default, { layout: 'inline', type: type, value: (0, _legacyOptionsSupport.resolveValueWithLegacyOptionsSupport)(value) }) ); } } exports.default = Item;