UNPKG

@uiw/react-native

Version:
105 lines (85 loc) 9.49 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")); 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==