@atlaskit/editor-plugin-expand
Version:
Expand plugin for @atlaskit/editor-core
55 lines • 2.86 kB
JavaScript
import commonMessages from '@atlaskit/editor-common/messages';
import DeleteIcon from '@atlaskit/icon/core/delete';
import { deleteExpand } from './commands';
import { getPluginState } from './pm-plugins/plugin-factory';
export var getToolbarConfig = function getToolbarConfig(api) {
return function (state, _ref) {
var _api$decorations$acti, _api$decorations, _api$analytics, _getPluginState;
var formatMessage = _ref.formatMessage;
var _ref2 = (_api$decorations$acti = api === null || api === 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 : {},
hoverDecoration = _ref2.hoverDecoration;
var editorAnalyticsAPI = api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
// JST-1060364: We are observing this crashing the editor where the `expandPlugin` doesn't exist
// in the editor (resulting in `Cannot destructure property 'expandRef' of ...`).
// For now let's add a null check to ensure we don't crash while we investigate further.
var _ref3 = (_getPluginState = getPluginState(state)) !== null && _getPluginState !== void 0 ? _getPluginState : {},
expandRef = _ref3.expandRef;
if (expandRef) {
var _state$schema$nodes = state.schema.nodes,
nestedExpand = _state$schema$nodes.nestedExpand,
expand = _state$schema$nodes.expand;
return {
title: 'Expand toolbar',
getDomRef: function getDomRef() {
return expandRef;
},
nodeType: [nestedExpand, expand],
offset: [0, 6],
items: [{
type: 'copy-button',
items: [{
state: state,
formatMessage: 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;
};
};