@atlaskit/editor-plugin-insert-block
Version:
Insert block plugin for @atlaskit/editor-core
280 lines (277 loc) • 9.34 kB
JavaScript
;
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"
});
}
});
});