@uiw/react-native
Version:
UIW for React Native
105 lines (85 loc) • 9.49 kB
JavaScript
;
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"));
var _utils = require("../utils");
var _Div = _interopRequireDefault(require("../Typography/Div"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class CheckBox extends _react.default.Component {
constructor(props) {
super(props);
this.onPress = () => {
const {
onChange
} = this.props;
this.setState({
checked: !this.state.checked
}, () => {
onChange && onChange(this.state.checked);
});
};
this.state = {
checked: !!props.checked
};
}
UNSAFE_componentWillReceiveProps(nextProps) {
if (nextProps.checked !== this.props.checked) {
this.setState({
checked: !!nextProps.checked
});
}
}
render() {
const {
children,
style,
textStyle,
checkedIcon,
unCheckedIcon,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
checked,
disabled,
color: $color,
...otherProps
} = this.props;
const {
checked: $checked
} = this.state;
const iconName = $checked ? checkedIcon : unCheckedIcon;
const styIcon = {};
if (children) {
styIcon.marginRight = 6;
}
let colorIcon = $color;
let divStyl = {};
if (disabled) {
colorIcon = (0, _utils.color)(colorIcon).alpha(0.52).rgb().string();
divStyl.opacity = 0.5;
}
return <_reactNative.TouchableOpacity disabled={disabled} {...otherProps} style={[styles.default, style]} onPress={this.onPress}>
<_reactNative.View style={[styIcon]}>
{typeof iconName === 'string' ? <_Icon.default size={16} fill={colorIcon} name={iconName} /> : iconName}
</_reactNative.View>
{children && <_Div.default children={children} style={[divStyl, textStyle]} />}
</_reactNative.TouchableOpacity>;
}
}
exports.default = CheckBox;
CheckBox.defaultProps = {
checkedIcon: 'circle-check',
unCheckedIcon: 'circle-o',
color: '#008EF0'
};
const styles = _reactNative.StyleSheet.create({
default: {
flexDirection: 'row',
alignItems: 'center',
flex: 1
}
});
module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9DaGVja0JveC9pbmRleC50c3giXSwibmFtZXMiOlsiQ2hlY2tCb3giLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJvblByZXNzIiwib25DaGFuZ2UiLCJzZXRTdGF0ZSIsImNoZWNrZWQiLCJzdGF0ZSIsIlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwibmV4dFByb3BzIiwicmVuZGVyIiwiY2hpbGRyZW4iLCJzdHlsZSIsInRleHRTdHlsZSIsImNoZWNrZWRJY29uIiwidW5DaGVja2VkSWNvbiIsImRpc2FibGVkIiwiY29sb3IiLCIkY29sb3IiLCJvdGhlclByb3BzIiwiJGNoZWNrZWQiLCJpY29uTmFtZSIsInN0eUljb24iLCJtYXJnaW5SaWdodCIsImNvbG9ySWNvbiIsImRpdlN0eWwiLCJhbHBoYSIsInJnYiIsInN0cmluZyIsIm9wYWNpdHkiLCJzdHlsZXMiLCJkZWZhdWx0IiwiZGVmYXVsdFByb3BzIiwiU3R5bGVTaGVldCIsImNyZWF0ZSIsImZsZXhEaXJlY3Rpb24iLCJhbGlnbkl0ZW1zIiwiZmxleCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQVVBOztBQUNBOztBQUNBOzs7O0FBZ0JlLE1BQU1BLFFBQU4sU0FBdUJDLGVBQU1DLFNBQTdCLENBQXFFO0FBQ2xGQyxFQUFBQSxXQUFXLENBQUNDLEtBQUQsRUFBdUI7QUFDaEMsVUFBTUEsS0FBTjs7QUFEZ0MsU0FnQmxDQyxPQWhCa0MsR0FnQnhCLE1BQU07QUFDZCxZQUFNO0FBQUVDLFFBQUFBO0FBQUYsVUFBZSxLQUFLRixLQUExQjtBQUNBLFdBQUtHLFFBQUwsQ0FBYztBQUFFQyxRQUFBQSxPQUFPLEVBQUUsQ0FBQyxLQUFLQyxLQUFMLENBQVdEO0FBQXZCLE9BQWQsRUFBZ0QsTUFBTTtBQUNwREYsUUFBQUEsUUFBUSxJQUFJQSxRQUFRLENBQUMsS0FBS0csS0FBTCxDQUFXRCxPQUFaLENBQXBCO0FBQ0QsT0FGRDtBQUdELEtBckJpQzs7QUFFaEMsU0FBS0MsS0FBTCxHQUFhO0FBQ1hELE1BQUFBLE9BQU8sRUFBRSxDQUFDLENBQUNKLEtBQUssQ0FBQ0k7QUFETixLQUFiO0FBR0Q7O0FBTURFLEVBQUFBLGdDQUFnQyxDQUFDQyxTQUFELEVBQTJCO0FBQ3pELFFBQUlBLFNBQVMsQ0FBQ0gsT0FBVixLQUFzQixLQUFLSixLQUFMLENBQVdJLE9BQXJDLEVBQThDO0FBQzVDLFdBQUtELFFBQUwsQ0FBYztBQUFFQyxRQUFBQSxPQUFPLEVBQUUsQ0FBQyxDQUFDRyxTQUFTLENBQUNIO0FBQXZCLE9BQWQ7QUFDRDtBQUNGOztBQU9ESSxFQUFBQSxNQUFNLEdBQUc7QUFDUCxVQUFNO0FBQ0pDLE1BQUFBLFFBREk7QUFFSkMsTUFBQUEsS0FGSTtBQUdKQyxNQUFBQSxTQUhJO0FBSUpDLE1BQUFBLFdBSkk7QUFLSkMsTUFBQUEsYUFMSTtBQU1KO0FBQ0FULE1BQUFBLE9BUEk7QUFRSlUsTUFBQUEsUUFSSTtBQVNKQyxNQUFBQSxLQUFLLEVBQUVDLE1BVEg7QUFVSixTQUFHQztBQVZDLFFBV0YsS0FBS2pCLEtBWFQ7QUFZQSxVQUFNO0FBQUVJLE1BQUFBLE9BQU8sRUFBRWM7QUFBWCxRQUF3QixLQUFLYixLQUFuQztBQUNBLFVBQU1jLFFBQVEsR0FBSUQsUUFBUSxHQUFHTixXQUFILEdBQWlCQyxhQUEzQztBQUNBLFVBQU1PLE9BQTJCLEdBQUcsRUFBcEM7O0FBQ0EsUUFBSVgsUUFBSixFQUFjO0FBQ1pXLE1BQUFBLE9BQU8sQ0FBQ0MsV0FBUixHQUFzQixDQUF0QjtBQUNEOztBQUNELFFBQUlDLFNBQVMsR0FBR04sTUFBaEI7QUFDQSxRQUFJTyxPQUEyQixHQUFHLEVBQWxDOztBQUNBLFFBQUlULFFBQUosRUFBYztBQUNaUSxNQUFBQSxTQUFTLEdBQUcsa0JBQU1BLFNBQU4sRUFBaUJFLEtBQWpCLENBQXVCLElBQXZCLEVBQTZCQyxHQUE3QixHQUFtQ0MsTUFBbkMsRUFBWjtBQUNBSCxNQUFBQSxPQUFPLENBQUNJLE9BQVIsR0FBa0IsR0FBbEI7QUFDRDs7QUFDRCxXQUNFLCtCQUFrQixTQUFTLENBQUNiLFFBQUQsQ0FBM0IsQ0FBc0MsSUFBSUcsVUFBSixDQUF0QyxDQUFzRCxNQUFNLENBQUMsQ0FBQ1csTUFBTSxDQUFDQyxPQUFSLEVBQWlCbkIsS0FBakIsQ0FBRCxDQUE1RCxDQUFzRixRQUFRLENBQUMsS0FBS1QsT0FBTixDQUE5RjtBQUNOLFFBQVEsbUJBQU0sTUFBTSxDQUFDLENBQUNtQixPQUFELENBQUQsQ0FBWjtBQUNSLFVBQVUsQ0FBQyxPQUFPRCxRQUFQLEtBQW9CLFFBQXBCLEdBQStCLGVBQU0sS0FBSyxDQUFDLEVBQUQsQ0FBWCxDQUFnQixLQUFLLENBQUNHLFNBQUQsQ0FBckIsQ0FBaUMsS0FBSyxDQUFDSCxRQUFELENBQXRDLEdBQS9CLEdBQXFGQSxRQUF0RjtBQUNWLFFBQVE7QUFDUixRQUFRLENBQUNWLFFBQVEsSUFBSSxjQUFLLFNBQVMsQ0FBQ0EsUUFBRCxDQUFkLENBQXlCLE1BQU0sQ0FBQyxDQUFDYyxPQUFELEVBQVVaLFNBQVYsQ0FBRCxDQUEvQixHQUFiO0FBQ1IsTUFBTSxnQ0FORjtBQVFEOztBQXhEaUY7OztBQUEvRGYsUSxDQU9aa0MsWSxHQUFlO0FBQ3BCbEIsRUFBQUEsV0FBVyxFQUFFLGNBRE87QUFFcEJDLEVBQUFBLGFBQWEsRUFBRSxVQUZLO0FBR3BCRSxFQUFBQSxLQUFLLEVBQUU7QUFIYSxDOztBQW9EeEIsTUFBTWEsTUFBTSxHQUFHRyx3QkFBV0MsTUFBWCxDQUFrQjtBQUMvQkgsRUFBQUEsT0FBTyxFQUFFO0FBQ1BJLElBQUFBLGFBQWEsRUFBRSxLQURSO0FBRVBDLElBQUFBLFVBQVUsRUFBRSxRQUZMO0FBR1BDLElBQUFBLElBQUksRUFBRTtBQUhDO0FBRHNCLENBQWxCLENBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgVG91Y2hhYmxlT3BhY2l0eSxcbiAgVG91Y2hhYmxlT3BhY2l0eVByb3BzLFxuICBTdHlsZVNoZWV0LFxuICBWaWV3LFxuICBWaWV3UHJvcHMsXG4gIFN0eWxlUHJvcCxcbiAgVmlld1N0eWxlLFxuICBUZXh0U3R5bGUsXG59IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5pbXBvcnQgSWNvbiwgeyBJY29uc05hbWUgfSBmcm9tICcuLi9JY29uJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IERpdiBmcm9tICcuLi9UeXBvZ3JhcGh5L0Rpdic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tCb3hQcm9wcyBleHRlbmRzIFRvdWNoYWJsZU9wYWNpdHlQcm9wcyB7XG4gIHRleHRTdHlsZT86IFN0eWxlUHJvcDxUZXh0U3R5bGUgJiBWaWV3U3R5bGU+O1xuICBjaGVja2VkPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBjb2xvcj86IHN0cmluZztcbiAgY2hlY2tlZEljb24/OiBzdHJpbmcgfCBKU1guRWxlbWVudDtcbiAgdW5DaGVja2VkSWNvbj86IHN0cmluZyB8IEpTWC5FbGVtZW50O1xuICBvbkNoYW5nZT86IChjaGVja2VkOiBib29sZWFuKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrQm94U3RhdGUge1xuICBjaGVja2VkOiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDaGVja0JveCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxDaGVja0JveFByb3BzLCBDaGVja0JveFN0YXRlPiB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDaGVja0JveFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBjaGVja2VkOiAhIXByb3BzLmNoZWNrZWQsXG4gICAgfTtcbiAgfVxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNoZWNrZWRJY29uOiAnY2lyY2xlLWNoZWNrJyxcbiAgICB1bkNoZWNrZWRJY29uOiAnY2lyY2xlLW8nLFxuICAgIGNvbG9yOiAnIzAwOEVGMCcsXG4gIH07XG4gIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wczogQ2hlY2tCb3hQcm9wcykge1xuICAgIGlmIChuZXh0UHJvcHMuY2hlY2tlZCAhPT0gdGhpcy5wcm9wcy5jaGVja2VkKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgY2hlY2tlZDogISFuZXh0UHJvcHMuY2hlY2tlZCB9KTtcbiAgICB9XG4gIH1cbiAgb25QcmVzcyA9ICgpID0+IHtcbiAgICBjb25zdCB7IG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBjaGVja2VkOiAhdGhpcy5zdGF0ZS5jaGVja2VkIH0sICgpID0+IHtcbiAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKHRoaXMuc3RhdGUuY2hlY2tlZCk7XG4gICAgfSk7XG4gIH07XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjaGlsZHJlbixcbiAgICAgIHN0eWxlLFxuICAgICAgdGV4dFN0eWxlLFxuICAgICAgY2hlY2tlZEljb24sXG4gICAgICB1bkNoZWNrZWRJY29uLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgY2hlY2tlZCxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgY29sb3I6ICRjb2xvcixcbiAgICAgIC4uLm90aGVyUHJvcHNcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGNoZWNrZWQ6ICRjaGVja2VkIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGljb25OYW1lID0gKCRjaGVja2VkID8gY2hlY2tlZEljb24gOiB1bkNoZWNrZWRJY29uKSBhcyBJY29uc05hbWU7XG4gICAgY29uc3Qgc3R5SWNvbjogVmlld1Byb3BzWydzdHlsZSddID0ge307XG4gICAgaWYgKGNoaWxkcmVuKSB7XG4gICAgICBzdHlJY29uLm1hcmdpblJpZ2h0ID0gNjtcbiAgICB9XG4gICAgbGV0IGNvbG9ySWNvbiA9ICRjb2xvcjtcbiAgICBsZXQgZGl2U3R5bDogVmlld1Byb3BzWydzdHlsZSddID0ge307XG4gICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICBjb2xvckljb24gPSBjb2xvcihjb2xvckljb24pLmFscGhhKDAuNTIpLnJnYigpLnN0cmluZygpO1xuICAgICAgZGl2U3R5bC5vcGFjaXR5ID0gMC41O1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPFRvdWNoYWJsZU9wYWNpdHkgZGlzYWJsZWQ9e2Rpc2FibGVkfSB7Li4ub3RoZXJQcm9wc30gc3R5bGU9e1tzdHlsZXMuZGVmYXVsdCwgc3R5bGVdfSBvblByZXNzPXt0aGlzLm9uUHJlc3N9PlxuICAgICAgICA8VmlldyBzdHlsZT17W3N0eUljb25dfT5cbiAgICAgICAgICB7dHlwZW9mIGljb25OYW1lID09PSAnc3RyaW5nJyA/IDxJY29uIHNpemU9ezE2fSBmaWxsPXtjb2xvckljb259IG5hbWU9e2ljb25OYW1lfSAvPiA6IGljb25OYW1lfVxuICAgICAgICA8L1ZpZXc+XG4gICAgICAgIHtjaGlsZHJlbiAmJiA8RGl2IGNoaWxkcmVuPXtjaGlsZHJlbn0gc3R5bGU9e1tkaXZTdHlsLCB0ZXh0U3R5bGVdfSAvPn1cbiAgICAgIDwvVG91Y2hhYmxlT3BhY2l0eT5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IHN0eWxlcyA9IFN0eWxlU2hlZXQuY3JlYXRlKHtcbiAgZGVmYXVsdDoge1xuICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGZsZXg6IDEsXG4gIH0sXG59KTtcbiJdfQ==