UNPKG

@atlaskit/editor-plugin-media

Version:

Media plugin for @atlaskit/editor-core

35 lines 1.42 kB
import React from 'react'; import { injectIntl } from 'react-intl-next'; import { useSharedPluginState } from '@atlaskit/editor-common/hooks'; import { TOOLBAR_BUTTON, ToolbarButton } from '@atlaskit/editor-common/ui-menu'; import AttachmentIcon from '@atlaskit/icon/glyph/editor/attachment'; import { toolbarMediaMessages } from './toolbar-media-messages'; var onClickMediaButton = function onClickMediaButton(pluginState) { return function () { pluginState.showMediaPicker(); return true; }; }; var ToolbarMedia = function ToolbarMedia(_ref) { var isDisabled = _ref.isDisabled, isReducedSpacing = _ref.isReducedSpacing, intl = _ref.intl, api = _ref.api; var _useSharedPluginState = useSharedPluginState(api, ['media']), mediaState = _useSharedPluginState.mediaState; if (!(mediaState !== null && mediaState !== void 0 && mediaState.allowsUploads)) { return null; } var toolbarMediaTitle = toolbarMediaMessages.toolbarMediaTitle; return /*#__PURE__*/React.createElement(ToolbarButton, { buttonId: TOOLBAR_BUTTON.MEDIA, onClick: onClickMediaButton(mediaState), disabled: isDisabled, title: intl.formatMessage(toolbarMediaTitle), spacing: isReducedSpacing ? 'none' : 'default', iconBefore: /*#__PURE__*/React.createElement(AttachmentIcon, { label: intl.formatMessage(toolbarMediaTitle) }) }); }; export default injectIntl(ToolbarMedia);