@react-form-fields/native-base
Version:
Native Base Form Fields
20 lines • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var Checkbox_1 = require("../Checkbox");
var Radio_1 = require("../Radio");
var context_1 = require("./context");
var ListItem = React.memo(function (props) {
var item = props.item;
var _a = React.useContext(context_1.default), value = _a.value, setValue = _a.setValue, multiple = _a.multiple;
var firstValue = React.useMemo(function () { return value.values().next().value; }, [value]);
var handleChange = React.useCallback(function (checked) {
setValue(item.value, multiple ? checked : true);
}, [item.value, multiple, setValue]);
if (multiple) {
return React.createElement(Checkbox_1.default, { label: item.label, value: value.has(item.value), extraPadding: true, onChange: handleChange });
}
return React.createElement(Radio_1.default, { label: item.label, radioValue: item.value, extraPadding: true, value: firstValue, onChange: handleChange });
});
exports.default = ListItem;
//# sourceMappingURL=ListItem.js.map