@atlaskit/editor-plugin-insert-block
Version:
Insert block plugin for @atlaskit/editor-core
59 lines (58 loc) • 2.54 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 _Popup = _interopRequireDefault(require("@atlaskit/editor-common/Popup"));
var _uiReact = require("@atlaskit/editor-common/ui-react");
var _withReactEditorViewOuterListeners = _interopRequireDefault(require("@atlaskit/editor-common/ui-react/with-react-editor-view-outer-listeners"));
var _constants = require("@atlaskit/editor-shared-styles/constants");
var _emojiPicker = _interopRequireDefault(require("@atlaskit/emoji/emoji-picker"));
var EmojiPicker = function EmojiPicker(props) {
var setOutsideClickTargetRef = _react.default.useContext(_uiReact.OutsideClickTargetRefContext);
return /*#__PURE__*/_react.default.createElement(_emojiPicker.default, {
contentId: props.contentId,
onPickerRef: setOutsideClickTargetRef,
emojiProvider: props.emojiProvider,
onSelection: props.onSelection
});
};
var EmojiPickerWithListeners = (0, _withReactEditorViewOuterListeners.default)(EmojiPicker);
var EmojiPickerPopup = exports.EmojiPickerPopup = function EmojiPickerPopup(_ref) {
var contentId = _ref.contentId,
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(_Popup.default, {
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: _constants.akEditorMenuZIndex
}, /*#__PURE__*/_react.default.createElement(EmojiPickerWithListeners, {
contentId: contentId,
emojiProvider: emojiProvider,
onSelection: onSelection,
handleClickOutside: onClickOutside,
handleEscapeKeydown: onEscapeKeydown
}));
};