UNPKG

zmp-react

Version:

Build full featured iOS & Android apps using ZMP & React

46 lines (41 loc) 1.5 kB
import _extends from "@babel/runtime/helpers/extends"; import React, { forwardRef, useRef, useImperativeHandle } from 'react'; import { classNames, getExtraAttrs, emit } from '../shared/utils'; import { colorClasses } from '../shared/mixins'; var MessagebarSheetImage = /*#__PURE__*/forwardRef(function (props, ref) { var className = props.className, id = props.id, style = props.style, children = props.children, image = props.image, checked = props.checked; var extraAttrs = getExtraAttrs(props); var elRef = useRef(null); var onChange = function onChange(event) { if (event.target.checked) emit(props, 'checked', event);else emit(props, 'unchecked', event); emit(props, 'change', event); }; useImperativeHandle(ref, function () { return { el: elRef.current }; }); var classes = classNames(className, 'messagebar-sheet-image', 'checkbox', colorClasses(props)); var styles = _extends({ backgroundImage: image && "url(" + image + ")" }, style || {}); return /*#__PURE__*/React.createElement("label", _extends({ id: id, className: classes, style: styles, ref: elRef }, extraAttrs), /*#__PURE__*/React.createElement("input", { type: "checkbox", checked: checked, onChange: onChange }), /*#__PURE__*/React.createElement("i", { className: "icon icon-checkbox" }), children); }); MessagebarSheetImage.displayName = 'zmp-messagebar-sheet-image'; export default MessagebarSheetImage;