@atlaskit/editor-plugin-insert-block
Version:
Insert block plugin for @atlaskit/editor-core
55 lines (54 loc) • 2.24 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.EmojiPickerPopup = void 0;
var _react = _interopRequireDefault(require("react"));
var _ui = require("@atlaskit/editor-common/ui");
var _uiReact = require("@atlaskit/editor-common/ui-react");
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
var _picker = require("@atlaskit/emoji/picker");
var EmojiPicker = function EmojiPicker(props) {
var setOutsideClickTargetRef = _react.default.useContext(_uiReact.OutsideClickTargetRefContext);
return /*#__PURE__*/_react.default.createElement(_picker.EmojiPicker, {
onPickerRef: setOutsideClickTargetRef,
emojiProvider: props.emojiProvider,
onSelection: props.onSelection
});
};
var EmojiPickerWithListeners = (0, _uiReact.withReactEditorViewOuterListeners)(EmojiPicker);
var EmojiPickerPopup = exports.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.default.createElement(_ui.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: _editorSharedStyles.akEditorMenuZIndex
}, /*#__PURE__*/_react.default.createElement(EmojiPickerWithListeners, {
emojiProvider: emojiProvider,
onSelection: onSelection,
handleClickOutside: onClickOutside,
handleEscapeKeydown: onEscapeKeydown
}));
};