UNPKG

emoji-mart-lazyload

Version:

Customizable Slack-like emoji picker for React

90 lines (77 loc) 3.6 kB
import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } import React from 'react'; import PropTypes from 'prop-types'; import NimbleEmoji from './emoji/nimble-emoji'; import Skins from './skins'; var SkinsEmoji = /*#__PURE__*/function (_Skins) { _inherits(SkinsEmoji, _Skins); var _super = _createSuper(SkinsEmoji); function SkinsEmoji(props) { var _this; _classCallCheck(this, SkinsEmoji); _this = _super.call(this, props); _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this)); return _this; } _createClass(SkinsEmoji, [{ key: "render", value: function render() { var _this$props = this.props, skin = _this$props.skin, emojiProps = _this$props.emojiProps, data = _this$props.data, skinEmoji = _this$props.skinEmoji, i18n = _this$props.i18n; var opened = this.state.opened; var skinToneNodes = []; for (var skinTone = 1; skinTone <= 6; skinTone++) { var selected = skinTone === skin; skinToneNodes.push( /*#__PURE__*/React.createElement("span", { key: "skin-tone-".concat(skinTone), className: "emoji-mart-skin-swatch custom".concat(selected ? ' selected' : '') }, /*#__PURE__*/React.createElement("span", { onClick: this.handleClick, "data-skin": skinTone, className: "emoji-mart-skin-tone-".concat(skinTone) }, NimbleEmoji({ emoji: skinEmoji, data: data, skin: skinTone, backgroundImageFn: emojiProps.backgroundImageFn, "native": emojiProps["native"], set: emojiProps.set, sheetSize: emojiProps.sheetSize, size: 23 })))); } return /*#__PURE__*/React.createElement("div", { className: "emoji-mart-skin-swatches custom".concat(opened ? ' opened' : '') }, /*#__PURE__*/React.createElement("div", { className: "emoji-mart-skin-text".concat(opened ? ' opened' : '') }, i18n.skintext), skinToneNodes); } }]); return SkinsEmoji; }(Skins); export { SkinsEmoji as default }; SkinsEmoji.propTypes /* remove-proptypes */ = { onChange: PropTypes.func, skin: PropTypes.number.isRequired, emojiProps: PropTypes.object.isRequired, skinTone: PropTypes.number, skinEmoji: PropTypes.string.isRequired, i18n: PropTypes.object }; SkinsEmoji.defaultProps = { onChange: function onChange() {}, skinTone: null };