UNPKG

@atlaskit/editor-plugin-expand

Version:

Expand plugin for @atlaskit/editor-core

54 lines 2.4 kB
import commonMessages from '@atlaskit/editor-common/messages'; import { findDomRefAtPos } from '@atlaskit/editor-prosemirror/utils'; import DeleteIcon from '@atlaskit/icon/core/delete'; import { deleteExpand } from './commands'; import { findSelectedParentExpandNode } from './utils'; export const getToolbarConfig = api => (state, { formatMessage }) => { var _api$decorations$acti, _api$decorations, _api$analytics; const { hoverDecoration } = (_api$decorations$acti = api === null || api === void 0 ? void 0 : (_api$decorations = api.decorations) === null || _api$decorations === void 0 ? void 0 : _api$decorations.actions) !== null && _api$decorations$acti !== void 0 ? _api$decorations$acti : {}; const editorAnalyticsAPI = api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions; const selectedExpandNode = findSelectedParentExpandNode(state); if (selectedExpandNode) { const { nestedExpand, expand } = state.schema.nodes; return { title: 'Expand toolbar', getDomRef: view => // Ignored via go/ees005 // eslint-disable-next-line @atlaskit/editor/no-as-casting findDomRefAtPos(selectedExpandNode.pos, view.domAtPos.bind(view)), nodeType: [nestedExpand, expand], offset: [0, 6], items: [{ type: 'copy-button', items: [{ state, formatMessage, nodeType: [nestedExpand, expand] }] }, { type: 'separator' }, { id: 'editor.expand.delete', type: 'button', appearance: 'danger', focusEditoronEnter: true, icon: DeleteIcon, onClick: deleteExpand(editorAnalyticsAPI), onMouseEnter: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], true), onMouseLeave: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], false), onFocus: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], true), onBlur: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], false), title: formatMessage(commonMessages.remove), tabIndex: null }] }; } return; };