UNPKG

@atlaskit/editor-plugin-insert-block

Version:

Insert block plugin for @atlaskit/editor-core

280 lines (277 loc) 9.34 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.tableSelector = exports.table = exports.status = exports.placeholder = exports.panel = exports.mention = exports.media = exports.link = exports.layout = exports.imageUpload = exports.horizontalrule = exports.expand = exports.emoji = exports.decision = exports.date = exports.codeblock = exports.blockquote = exports.action = void 0; var _react = _interopRequireDefault(require("react")); var _react2 = require("@emotion/react"); var _memoizeOne = _interopRequireDefault(require("memoize-one")); var _keymaps = require("@atlaskit/editor-common/keymaps"); var _shortcut = require("@atlaskit/editor-shared-styles/shortcut"); var _fieldText = _interopRequireDefault(require("@atlaskit/icon-lab/core/field-text")); var _lozenge = _interopRequireDefault(require("@atlaskit/icon-lab/core/lozenge")); var _angleBrackets = _interopRequireDefault(require("@atlaskit/icon/core/angle-brackets")); var _calendar = _interopRequireDefault(require("@atlaskit/icon/core/calendar")); var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/core/chevron-down")); var _chevronRight = _interopRequireDefault(require("@atlaskit/icon/core/chevron-right")); var _decision = _interopRequireDefault(require("@atlaskit/icon/core/decision")); var _emoji = _interopRequireDefault(require("@atlaskit/icon/core/emoji")); var _grid = _interopRequireDefault(require("@atlaskit/icon/core/grid")); var _image = _interopRequireDefault(require("@atlaskit/icon/core/image")); var _layoutTwoColumns = _interopRequireDefault(require("@atlaskit/icon/core/layout-two-columns")); var _link = _interopRequireDefault(require("@atlaskit/icon/core/link")); var _mention = _interopRequireDefault(require("@atlaskit/icon/core/mention")); var _minus = _interopRequireDefault(require("@atlaskit/icon/core/minus")); var _quotationMark = _interopRequireDefault(require("@atlaskit/icon/core/quotation-mark")); var _statusInformation = _interopRequireDefault(require("@atlaskit/icon/core/status-information")); var _task = _interopRequireDefault(require("@atlaskit/icon/core/task")); var _shallowEquals = require("./shallow-equals"); /** * @jsxRuntime classic * @jsx jsx */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766 var from = function from(init) { return { content: init.content, tooltipDescription: init.tooltipDescription, value: { name: init.name }, elemBefore: (0, _react2.jsx)(init.Icon, { label: "", color: "currentColor", spacing: "spacious" }), elemAfter: init.shortcut ? // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766 (0, _react2.jsx)("div", { css: _shortcut.shortcutStyle }, init.shortcut) : undefined, 'aria-label': init.shortcut ? init.content + ' ' + init.shortcut : init.content, 'aria-haspopup': init['aria-haspopup'], 'aria-keyshortcuts': init['aria-keyshortcuts'], shortcut: init.shortcut, isDisabled: init.disabled }; }; var mem = function mem(fn) { return (0, _memoizeOne.default)(fn, _shallowEquals.shallowEquals); }; var action = exports.action = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'action', shortcut: '[]', Icon: function Icon() { return (0, _react2.jsx)(_task.default, { label: "", color: "currentColor", spacing: "spacious" }); }, 'aria-keyshortcuts': '[ ] Space' }); }); var link = exports.link = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'link', shortcut: (0, _keymaps.tooltip)(_keymaps.addLink), Icon: _link.default, 'aria-haspopup': init['aria-haspopup'], 'aria-keyshortcuts': (0, _keymaps.getAriaKeyshortcuts)(_keymaps.addLink) }); }); var media = exports.media = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'media', Icon: _image.default }); }); var imageUpload = exports.imageUpload = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'image upload', Icon: _image.default }); }); var mention = exports.mention = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'mention', Icon: _mention.default, shortcut: '@', 'aria-haspopup': init['aria-haspopup'], 'aria-keyshortcuts': 'Shift+2 Space' }); }); var emoji = exports.emoji = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'emoji', Icon: _emoji.default, shortcut: ':', 'aria-haspopup': init['aria-haspopup'], 'aria-keyshortcuts': 'Shift+;' }); }); var table = exports.table = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'table', Icon: _grid.default, shortcut: (0, _keymaps.tooltip)(_keymaps.toggleTable), 'aria-keyshortcuts': (0, _keymaps.getAriaKeyshortcuts)(_keymaps.toggleTable) }); }); var tableSelector = exports.tableSelector = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'table selector', Icon: function Icon() { return (0, _react2.jsx)(_chevronDown.default, { label: "", color: "currentColor", size: "small" }); } }); }); var layout = exports.layout = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'layout', Icon: _layoutTwoColumns.default }); }); var codeblock = exports.codeblock = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'codeblock', Icon: _angleBrackets.default, shortcut: init.shortcut, 'aria-keyshortcuts': (0, _keymaps.getAriaKeyshortcuts)(init.shortcut) }); }); var panel = exports.panel = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'panel', Icon: _statusInformation.default, shortcut: init.shortcut, 'aria-keyshortcuts': (0, _keymaps.getAriaKeyshortcuts)(init.shortcut) }); }); var blockquote = exports.blockquote = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'blockquote', Icon: _quotationMark.default, shortcut: init.shortcut, 'aria-keyshortcuts': 'Shift+. Space' }); }); var decision = exports.decision = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'decision', Icon: _decision.default, shortcut: '<>', 'aria-keyshortcuts': 'Shift+, Shift+. Space' }); }); var horizontalrule = exports.horizontalrule = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'horizontalrule', Icon: _minus.default, shortcut: '---', 'aria-keyshortcuts': '- - -' }); }); var expand = exports.expand = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'expand', Icon: function Icon(iconProps) { return (0, _react2.jsx)(_chevronRight.default, { label: iconProps.label, size: "small" }); } }); }); var date = exports.date = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'date', Icon: _calendar.default, shortcut: '//', 'aria-keyshortcuts': '/ / Enter' }); }); var placeholder = exports.placeholder = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'placeholder text', Icon: function Icon() { return (0, _react2.jsx)(_fieldText.default, { label: "", spacing: "spacious", color: "currentColor" }); } }); }); var status = exports.status = mem(function (init) { return from({ content: init.content, tooltipDescription: init.tooltipDescription, disabled: init.disabled, name: 'status', Icon: function Icon() { return (0, _react2.jsx)(_lozenge.default, { label: "", color: "currentColor", spacing: "spacious" }); } }); });