UNPKG

@atlaskit/editor-plugin-find-replace

Version:

find replace plugin for @atlaskit/editor-core

61 lines 2.09 kB
import _extends from "@babel/runtime/helpers/extends"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; import React from 'react'; import { IconButton } from '@atlaskit/button/new'; import { findKeymapByDescription, ToolTipContent } from '@atlaskit/editor-common/keymaps'; import Tooltip from '@atlaskit/tooltip'; // eslint-disable-next-line @repo/internal/react/no-class-components export class FindReplaceTooltipButton extends React.PureComponent { constructor(...args) { super(...args); _defineProperty(this, "buttonRef", /*#__PURE__*/React.createRef()); _defineProperty(this, "handleClick", () => { this.props.onClick(this.buttonRef); }); } render() { const { title, icon: Icon, iconSize, keymapDescription, disabled, isPressed, appearance } = this.props; const pressedProps = { ...(typeof isPressed === 'boolean' && { 'aria-pressed': isPressed }) }; return /*#__PURE__*/React.createElement(Tooltip, { content: /*#__PURE__*/React.createElement(ToolTipContent, { description: title, keymap: findKeymapByDescription(keymapDescription) }), hideTooltipOnClick: true, position: 'top' }, /*#__PURE__*/React.createElement(IconButton, _extends({ id: "afterInputSection", label: title, appearance: appearance, testId: title, ref: this.buttonRef // Ignored via go/ees005 // eslint-disable-next-line react/jsx-props-no-spreading, @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed) , icon: iconProps => /*#__PURE__*/React.createElement(Icon, _extends({}, iconProps, { size: iconSize })), isDisabled: disabled, onClick: this.handleClick, isSelected: isPressed // Ignored via go/ees005 // eslint-disable-next-line react/jsx-props-no-spreading }, pressedProps))); } } _defineProperty(FindReplaceTooltipButton, "defaultProps", { keymapDescription: 'no-keymap', appearance: 'subtle' });