UNPKG

mh-rn-component

Version:

78 lines (70 loc) 2.21 kB
"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