UNPKG

react-jsonschema-form-semantic

Version:

A simple React component capable of building HTML forms out of a JSON schema. Uses React Semantic UI (css not bundled)

70 lines (56 loc) 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _propTypes = require("prop-types"); var _propTypes2 = _interopRequireDefault(_propTypes); var _DescriptionField = require("../fields/DescriptionField.js"); var _DescriptionField2 = _interopRequireDefault(_DescriptionField); var _semanticUiReact = require("semantic-ui-react"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function CheckboxWidget(props) { var schema = props.schema, id = props.id, value = props.value, required = props.required, disabled = props.disabled, readonly = props.readonly, label = props.label, autofocus = props.autofocus, _onChange = props.onChange; return _react2.default.createElement( "div", { className: "checkbox " + (disabled || readonly ? "disabled" : "") }, schema.description && _react2.default.createElement(_DescriptionField2.default, { description: schema.description }), _react2.default.createElement(_semanticUiReact.Form.Checkbox, { label: label, type: "checkbox", id: id, checked: typeof value === "undefined" ? false : value, required: required, disabled: disabled || readonly, autoFocus: autofocus, onChange: function onChange(event) { return _onChange(event.target.checked); } }) ); } CheckboxWidget.defaultProps = { autofocus: false }; if (process.env.NODE_ENV !== "production") { CheckboxWidget.propTypes = { schema: _propTypes2.default.object.isRequired, id: _propTypes2.default.string.isRequired, value: _propTypes2.default.bool, required: _propTypes2.default.bool, disabled: _propTypes2.default.bool, readonly: _propTypes2.default.bool, autofocus: _propTypes2.default.bool, onChange: _propTypes2.default.func }; } exports.default = CheckboxWidget;