UNPKG

@atlaskit/editor-plugin-rule

Version:

Rule plugin for @atlaskit/editor-core

39 lines 1.47 kB
import React, { useCallback } from 'react'; import { useIntl } from 'react-intl'; import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics'; import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages'; import { QuickInsertMenuItem } from '@atlaskit/editor-common/quick-insert/menu-item'; import MinusIcon from '@atlaskit/icon/core/minus'; export const RuleQuickInsertMenuItem = ({ api }) => { const { formatMessage } = useIntl(); const onSelect = useCallback(({ editorView, insert, source }) => { var _api$analytics; const tr = insert(editorView.state.schema.nodes.rule.createChecked()); api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions.attachAnalyticsEvent({ action: ACTION.INSERTED, actionSubject: ACTION_SUBJECT.DOCUMENT, actionSubjectId: ACTION_SUBJECT_ID.DIVIDER, attributes: { inputMethod: source !== null && source !== void 0 ? source : INPUT_METHOD.QUICK_INSERT }, eventType: EVENT_TYPE.TRACK })(tr); return tr; }, [api]); return /*#__PURE__*/React.createElement(QuickInsertMenuItem, { iconBefore: /*#__PURE__*/React.createElement(MinusIcon, { label: "" }), onSelect: onSelect, shortcut: "---", title: formatMessage(messages.horizontalRule) }); };