UNPKG

@forchange/aui

Version:

ai-boss 业务 ui 组件库

66 lines (57 loc) 2.17 kB
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import * as React from 'react'; import classnames from 'classnames'; import Popover from 'antd/lib/popover'; import 'antd/lib/popover/style/css'; import { getPrefixCls } from '../style/config'; import code from './code'; import "./style/index.css"; class EmojiPanel extends React.Component { constructor(props) { super(props); this.state = { displayName: 'emoji-panel' }; } clickHandle(code) { if (this.props.onSelect) { this.props.onSelect(String.fromCodePoint(code)); } } get content() { const prefixCls = getPrefixCls(this.state.displayName); return React.createElement("ul", { className: `${prefixCls}-emoji-list` }, code.map((item, index) => { const num = parseInt(item, 16); return React.createElement("li", { className: `${prefixCls}-emoji-item`, onClick: () => { this.clickHandle(num); }, key: index }, String.fromCodePoint(num)); })); } render() { const prefixCls = getPrefixCls(this.state.displayName); const { className, overlayClassName, trigger = 'click', ...extraProps } = this.props; const emojiPanelCls = classnames(prefixCls, className); const popOverCls = classnames(`${prefixCls}-popover`, overlayClassName); return React.createElement("div", { className: emojiPanelCls }, React.createElement(Popover, _extends({ trigger: trigger, content: this.content, overlayClassName: popOverCls }, extraProps), this.props.children)); } } _defineProperty(EmojiPanel, "defaultProps", {}); export default EmojiPanel;