UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

48 lines 1.55 kB
import InfoIcon from '@atlaskit/icon/glyph/editor/info'; import TipIcon from '@atlaskit/icon/glyph/editor/hint'; import NoteIcon from '@atlaskit/icon/glyph/editor/note'; import WarningIcon from '@atlaskit/icon/glyph/warning'; import * as React from 'react'; import * as ReactDOM from 'react-dom'; var panelIcons = { info: InfoIcon, tip: TipIcon, note: NoteIcon, warning: WarningIcon }; var getIconDom = function (panelType) { var dom = document.createElement('span'); dom.setAttribute('contenteditable', 'false'); // Prevent IE11 resize handles on selection. dom.addEventListener('mousedown', function (e) { return e.preventDefault(); }); // tslint:disable-next-line:variable-name var Icon = panelIcons[panelType]; ReactDOM.render(React.createElement(Icon, { label: "Panel " + panelType }), dom); return dom; }; export var panel = { group: 'block', content: '(paragraph | heading | bulletList | orderedList)+', attrs: { panelType: { default: 'info' } }, parseDOM: [{ tag: 'div[data-panel-type]', getAttrs: function (dom) { return ({ 'panelType': dom.getAttribute('data-panel-type') }); } }], toDOM: function (node) { var panelType = node.attrs['panelType']; var attrs = { 'data-panel-type': panelType }; return [ 'div', attrs, getIconDom(panelType), ['div', {}, 0] ]; } }; //# sourceMappingURL=panel.js.map