UNPKG

@atlaskit/editor-plugin-hyperlink

Version:

Hyperlink plugin for @atlaskit/editor-core

39 lines (38 loc) 1.74 kB
/* eslint-disable @atlaskit/design-system/no-css-tagged-template-expression -- needs manual remediation */ /** * @jsxRuntime classic * @jsx jsx */ import { useCallback } from 'react'; // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766 import { jsx } from '@emotion/react'; import { injectIntl } from 'react-intl'; import { INPUT_METHOD } from '@atlaskit/editor-common/analytics'; import { addLink, getAriaKeyshortcuts } from '@atlaskit/editor-common/keymaps'; import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages'; import { ToolbarButton } from '@atlaskit/editor-common/ui-menu'; import LinkIcon from '@atlaskit/icon/core/link'; var PrimaryToolbarComponentWithIntl = function PrimaryToolbarComponentWithIntl(_ref) { var api = _ref.api, intl = _ref.intl; var formatMessage = intl.formatMessage; var content = formatMessage(messages.link); var onClick = useCallback(function () { var _api$core, _api$hyperlink; api === null || api === void 0 || (_api$core = api.core) === null || _api$core === void 0 || _api$core.actions.execute(api === null || api === void 0 || (_api$hyperlink = api.hyperlink) === null || _api$hyperlink === void 0 ? void 0 : _api$hyperlink.commands.showLinkToolbar(INPUT_METHOD.TOOLBAR)); }, [api]); return jsx(ToolbarButton, { onClick: onClick, "aria-haspopup": "dialog", "aria-keyshortcuts": getAriaKeyshortcuts(addLink), "aria-label": content, testId: content, title: content, iconBefore: jsx(LinkIcon, { label: content, color: "currentColor", spacing: "spacious" }) }); }; export var PrimaryToolbarComponent = injectIntl(PrimaryToolbarComponentWithIntl);