@atlaskit/editor-plugin-text-formatting
Version:
Text-formatting plugin for @atlaskit/editor-core
54 lines (51 loc) • 2.75 kB
JavaScript
;
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SingleToolbarButtons = void 0;
var _react = _interopRequireWildcard(require("react"));
var _react2 = require("@emotion/react");
var _styles = require("@atlaskit/editor-common/styles");
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
/**
* @jsxRuntime classic
* @jsx jsx
*/
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
var SingleToolbarButtons = exports.SingleToolbarButtons = /*#__PURE__*/_react.default.memo(function (_ref) {
var items = _ref.items,
isReducedSpacing = _ref.isReducedSpacing,
editorView = _ref.editorView;
var onClick = (0, _react.useCallback)(function (command) {
return function () {
command(editorView.state, editorView.dispatch);
return false;
};
}, [editorView.state, editorView.dispatch]);
return (
// 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)("span", {
css:
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values
_styles.buttonGroupStyle
}, items.map(function (item) {
var _item$ariaLabel;
return (0, _react2.jsx)(_uiMenu.ToolbarButton, {
key: item.key,
testId: "editor-toolbar__".concat(String(item.content)),
buttonId: item.buttonId,
spacing: isReducedSpacing ? 'none' : 'default',
onClick: onClick(item.command),
selected: item.isActive,
disabled: item.isDisabled,
title: item.tooltipElement,
iconBefore: item.iconElement,
"aria-pressed": item.isActive,
"aria-label": (_item$ariaLabel = item['aria-label']) !== null && _item$ariaLabel !== void 0 ? _item$ariaLabel : String(item.content),
"aria-keyshortcuts": item['aria-keyshortcuts']
});
}))
);
});