@atlaskit/editor-plugin-text-formatting
Version:
Text-formatting plugin for @atlaskit/editor-core
62 lines • 1.9 kB
JavaScript
import React from 'react';
import { useEditorToolbar } from '@atlaskit/editor-common/toolbar/context';
import { UNDERLINE_BUTTON_GROUP, UNDERLINE_BUTTON, TEXT_SECTION_PRIMARY_TOOLBAR } from '@atlaskit/editor-common/toolbar/keys';
import { TEXT_SECTION_PRIMARY_TOOLBAR_RANK } from '@atlaskit/editor-common/toolbar/rank';
import { Show } from '@atlaskit/editor-toolbar/show';
import { ToolbarButtonGroup } from '@atlaskit/editor-toolbar/toolbar-button-group';
import { FormatOptions } from '../types';
import { FormatButton } from './Component';
import { formatOptions } from './utils';
const UnderlineButtonGroup = ({
children
}) => {
const {
editorAppearance
} = useEditorToolbar();
if (editorAppearance === 'full-page') {
return /*#__PURE__*/React.createElement(Show, {
above: "xl"
}, /*#__PURE__*/React.createElement(ToolbarButtonGroup, null, children));
}
};
export const underlineButtonGroup = api => [{
type: UNDERLINE_BUTTON_GROUP.type,
key: UNDERLINE_BUTTON_GROUP.key,
parents: [{
type: TEXT_SECTION_PRIMARY_TOOLBAR.type,
key: TEXT_SECTION_PRIMARY_TOOLBAR.key,
rank: TEXT_SECTION_PRIMARY_TOOLBAR_RANK[UNDERLINE_BUTTON_GROUP.key]
}],
component: ({
children
}) => {
return /*#__PURE__*/React.createElement(UnderlineButtonGroup, null, children);
}
}, {
type: UNDERLINE_BUTTON.type,
key: UNDERLINE_BUTTON.key,
parents: [{
type: UNDERLINE_BUTTON_GROUP.type,
key: UNDERLINE_BUTTON_GROUP.key,
rank: 100
}],
component: ({
parents
}) => {
const {
icon,
command,
shortcut,
title
} = formatOptions().underline;
return /*#__PURE__*/React.createElement(FormatButton, {
api: api,
parents: parents,
icon: icon,
title: title,
shortcut: shortcut,
optionType: FormatOptions.underline,
toggleMarkWithAnalyticsCallback: command
});
}
}];