@atlaskit/editor-plugin-alignment
Version:
Alignment plugin for @atlaskit/editor-core
39 lines (38 loc) • 1.4 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _keymaps = require("@atlaskit/editor-common/keymaps");
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
function AlignmentButton(_ref) {
var label = _ref.label,
isSelected = _ref.isSelected,
content = _ref.content,
shortcut = _ref.shortcut,
onClick = _ref.onClick,
value = _ref.value;
var onClickCallback = function onClickCallback(e) {
// detect if the click event comes from keyboard where screenX and screenY are 0
var isMouseEvent = e instanceof MouseEvent;
e.preventDefault();
onClick(value, isMouseEvent);
};
return /*#__PURE__*/_react.default.createElement(_uiMenu.ToolbarButton, {
disabled: false,
selected: isSelected,
title: /*#__PURE__*/_react.default.createElement(_keymaps.ToolTipContent, {
description: label,
keymap: shortcut
}),
"aria-label": shortcut ? (0, _keymaps.tooltip)(shortcut, label) : label,
"aria-pressed": isSelected,
"aria-keyshortcuts": (0, _keymaps.getAriaKeyshortcuts)(shortcut),
onClick: onClickCallback,
iconBefore: content,
titlePosition: 'bottom'
});
}
var _default = exports.default = AlignmentButton;