UNPKG

zmp-react

Version:

Build full featured iOS & Android apps using ZMP & React

46 lines (42 loc) 1.52 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 MessagebarAttachment = /*#__PURE__*/forwardRef(function (props, ref) { var className = props.className, id = props.id, style = props.style, children = props.children, image = props.image, _props$deletable = props.deletable, deletable = _props$deletable === void 0 ? true : _props$deletable; var extraAttrs = getExtraAttrs(props); var elRef = useRef(null); var onClick = function onClick(event) { emit(props, 'attachmentClick', event); }; var onDeleteClick = function onDeleteClick(event) { emit(props, 'attachmentDelete', event); }; useImperativeHandle(ref, function () { return { el: elRef.current }; }); var classes = classNames(className, 'messagebar-attachment', colorClasses(props)); return /*#__PURE__*/React.createElement("div", _extends({ id: id, style: style, className: classes, ref: elRef }, extraAttrs, { onClick: onClick }), image && /*#__PURE__*/React.createElement("img", { src: image }), deletable && /*#__PURE__*/React.createElement("span", { className: "messagebar-attachment-delete", onClick: onDeleteClick }), children); }); MessagebarAttachment.displayName = 'zmp-messagebar-attachment'; export default MessagebarAttachment;