mh-rn-component
Version:
78 lines (70 loc) • 2.21 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _Icon = _interopRequireDefault(require("../Icon"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const Checkbox = _ref => {
let {
onPress,
onChange,
disabled,
activeIcon,
inactiveIcon,
rightIcon,
checkedColor = "#2376b7",
iconSize = 20,
...rest
} = _ref;
return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableWithoutFeedback, {
disabled: disabled,
testID: "Radio",
onPress: onPress && (() => onPress(rest.value || '')) || onChange && (() => onChange(!rest.checked))
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: [styles.radio, disabled && styles.disabled, rest.style]
}, rightIcon && /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
style: styles.ml4
}, rest.children || rest.label), /*#__PURE__*/_react.default.createElement(_reactNative.View, null, !rest.checked ? inactiveIcon ? inactiveIcon : /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
style: [styles.checkBox, {
width: iconSize,
height: iconSize,
borderRadius: iconSize / 2
}]
}) : activeIcon ? activeIcon : /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
style: {
width: iconSize,
height: iconSize
}
}, /*#__PURE__*/_react.default.createElement(_Icon.default, {
name: "checkcircle",
size: iconSize,
color: checkedColor
}))), !rightIcon && /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
style: styles.ml4
}, rest.children || rest.label)));
};
const styles = _reactNative.StyleSheet.create({
radio: {
flexDirection: 'row',
alignItems: 'center',
minWidth: 80,
paddingBottom: 8
},
checkBox: {
borderWidth: 2,
borderColor: '#333',
overflow: 'hidden'
},
disabled: {
opacity: 0.5
},
ml4: {
marginLeft: 4
}
});
var _default = Checkbox;
exports.default = _default;
//# sourceMappingURL=index.js.map