@atlaskit/editor-common
Version:
A package that contains common classes and components for editor and renderer
55 lines • 1.45 kB
JavaScript
import MinusIcon from '@atlaskit/icon/core/minus';
import SmartLinkCardIcon from '@atlaskit/icon/core/smart-link-card';
import SmartLinkEmbedIcon from '@atlaskit/icon/core/smart-link-embed';
import SmartLinkInlineIcon from '@atlaskit/icon/core/smart-link-inline';
import { cardMessages as messages } from '../messages';
import { IconCard } from './ui/assets/card';
import { IconEmbed } from './ui/assets/embed';
import { IconInline } from './ui/assets/inline';
import { IconUrl } from './ui/assets/url';
const appearancePropsMap = {
url: {
title: messages.urlTitle,
icon: MinusIcon,
iconFallback: IconUrl
},
inline: {
title: messages.inlineTitle,
icon: SmartLinkInlineIcon,
iconFallback: IconInline
},
block: {
title: messages.blockTitle,
icon: SmartLinkCardIcon,
iconFallback: IconCard
},
embed: {
title: messages.embedTitle,
icon: SmartLinkEmbedIcon,
iconFallback: IconEmbed
}
};
export const getButtonGroupOption = (intl, dispatchCommand, {
disabled,
onClick,
selected,
appearance,
testId,
tooltip
}) => {
const {
title,
icon,
iconFallback
} = appearancePropsMap[appearance !== null && appearance !== void 0 ? appearance : 'url'];
return {
title: intl.formatMessage(title),
icon,
iconFallback,
onClick: () => dispatchCommand(onClick),
disabled: Boolean(disabled),
tooltipContent: tooltip || null,
testId,
selected
};
};