UNPKG

@atlaskit/editor-common

Version:

A package that contains common classes and components for editor and renderer

83 lines 2.82 kB
import React from 'react'; import { injectIntl } from 'react-intl-next'; import Rusha from 'rusha'; import Blog16Icon from '@atlaskit/icon-object/glyph/blog/16'; import Bug16Icon from '@atlaskit/icon-object/glyph/bug/16'; import Issue16Icon from '@atlaskit/icon-object/glyph/issue/16'; import Page16Icon from '@atlaskit/icon-object/glyph/page/16'; import Story16Icon from '@atlaskit/icon-object/glyph/story/16'; import Task16Icon from '@atlaskit/icon-object/glyph/task/16'; import { utilMessages } from './messages'; export function filterUniqueItems(arr, comparator) { return arr.filter((firstItem, index, self) => { return self.findIndex(secondItem => comparator ? comparator(firstItem, secondItem) : firstItem === secondItem) === index; }); } const Issue16 = props => { const { intl } = props; return /*#__PURE__*/React.createElement(Issue16Icon, { label: intl.formatMessage(utilMessages.hyperlinkIconIssueLabel) }); }; const Bug16 = props => { const { intl } = props; return /*#__PURE__*/React.createElement(Bug16Icon, { label: intl.formatMessage(utilMessages.hyperlinkIconBugLabel) }); }; const Story16 = props => { const { intl } = props; return /*#__PURE__*/React.createElement(Story16Icon, { label: intl.formatMessage(utilMessages.hyperlinkIconStoryLabel) }); }; const Task16 = props => { const { intl } = props; return /*#__PURE__*/React.createElement(Task16Icon, { label: intl.formatMessage(utilMessages.hyperlinkIconTaskLabel) }); }; const Page16 = props => { const { intl } = props; return /*#__PURE__*/React.createElement(Page16Icon, { label: intl.formatMessage(utilMessages.hyperlinkIconPageLabel) }); }; const Blog16 = props => { const { intl } = props; return /*#__PURE__*/React.createElement(Blog16Icon, { label: intl.formatMessage(utilMessages.hyperlinkIconBlogLabel) }); }; const IntlIssue16Icon = injectIntl(Issue16); const IntlBug16Icon = injectIntl(Bug16); const IntlStory16Icon = injectIntl(Story16); const IntlTask16Icon = injectIntl(Task16); const IntlPage16Icon = injectIntl(Page16); const IntlBlog16Icon = injectIntl(Blog16); export const mapContentTypeToIcon = { 'jira.issue': /*#__PURE__*/React.createElement(IntlIssue16Icon, null), 'jira.issue.bug': /*#__PURE__*/React.createElement(IntlBug16Icon, null), 'jira.issue.story': /*#__PURE__*/React.createElement(IntlStory16Icon, null), 'jira.issue.task': /*#__PURE__*/React.createElement(IntlTask16Icon, null), 'confluence.page': /*#__PURE__*/React.createElement(IntlPage16Icon, null), 'confluence.blogpost': /*#__PURE__*/React.createElement(IntlBlog16Icon, null) }; export const sha1 = input => { return Rusha.createHash().update(input).digest('hex'); }; export const wordCount = input => { return input.split(' ').length; };