UNPKG

@atlaskit/editor-plugin-insert-block

Version:

Insert block plugin for @atlaskit/editor-core

48 lines 1.99 kB
import React from 'react'; import { Popup } from '@atlaskit/editor-common/ui'; import { OutsideClickTargetRefContext, withReactEditorViewOuterListeners as withOuterListeners } from '@atlaskit/editor-common/ui-react'; import { akEditorMenuZIndex } from '@atlaskit/editor-shared-styles'; import { EmojiPicker as AkEmojiPicker } from '@atlaskit/emoji/picker'; var EmojiPicker = function EmojiPicker(props) { var setOutsideClickTargetRef = React.useContext(OutsideClickTargetRefContext); return /*#__PURE__*/React.createElement(AkEmojiPicker, { onPickerRef: setOutsideClickTargetRef, emojiProvider: props.emojiProvider, onSelection: props.onSelection }); }; var EmojiPickerWithListeners = withOuterListeners(EmojiPicker); export var EmojiPickerPopup = function EmojiPickerPopup(_ref) { var isOpen = _ref.isOpen, targetRef = _ref.targetRef, emojiProvider = _ref.emojiProvider, onSelection = _ref.onSelection, onClickOutside = _ref.onClickOutside, onEscapeKeydown = _ref.onEscapeKeydown, onUnmount = _ref.onUnmount, popupsMountPoint = _ref.popupsMountPoint, popupsBoundariesElement = _ref.popupsBoundariesElement, popupsScrollableElement = _ref.popupsScrollableElement; if (!isOpen || !targetRef.current || !emojiProvider) { return null; } return /*#__PURE__*/React.createElement(Popup, { target: targetRef.current, fitHeight: 350, fitWidth: 350 // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed) , offset: [0, 3], mountTo: popupsMountPoint, boundariesElement: popupsBoundariesElement, scrollableElement: popupsScrollableElement, onUnmount: onUnmount, focusTrap: true, zIndex: akEditorMenuZIndex }, /*#__PURE__*/React.createElement(EmojiPickerWithListeners, { emojiProvider: emojiProvider, onSelection: onSelection, handleClickOutside: onClickOutside, handleEscapeKeydown: onEscapeKeydown })); };