@atlaskit/editor-common
Version:
A package that contains common classes and components for editor and renderer
50 lines • 1.68 kB
JavaScript
import React, { useMemo } from 'react';
import { useIntl } from 'react-intl';
import CommentIcon from '@atlaskit/icon/core/comment';
// eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
import { Pressable, xcss } from '@atlaskit/primitives';
import Tooltip from '@atlaskit/tooltip';
import { commentMessages as messages } from '../media';
const baseStyles = xcss({
borderRadius: 'radius.small'
});
const mediumBadgeStyles = xcss({
height: 'space.300',
width: 'space.300'
});
export const CommentBadgeNext = ({
status = 'default',
onClick,
onMouseEnter,
onMouseLeave
}) => {
const intl = useIntl();
const title = intl.formatMessage(messages.viewCommentsOnMedia);
const colourToken = useMemo(() => {
switch (status) {
case 'active':
return 'color.background.accent.yellow.subtlest.pressed';
case 'entered':
return 'color.background.accent.yellow.subtlest.hovered';
default:
return 'color.background.accent.yellow.subtlest';
}
}, [status]);
return /*#__PURE__*/React.createElement(Tooltip, {
position: "top",
content: title
}, /*#__PURE__*/React.createElement(Pressable
// eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
, {
xcss: [baseStyles, mediumBadgeStyles],
padding: "space.0",
onClick: onClick,
onMouseEnter: onMouseEnter,
onMouseLeave: onMouseLeave,
backgroundColor: colourToken
}, /*#__PURE__*/React.createElement(CommentIcon, {
label: title,
spacing: "spacious",
color: "currentColor"
})));
};