UNPKG

@atlaskit/editor-plugin-find-replace

Version:

find replace plugin for @atlaskit/editor-core

75 lines (73 loc) 2.8 kB
import _extends from "@babel/runtime/helpers/extends"; import React from 'react'; import { injectIntl } from 'react-intl'; import { TRIGGER_METHOD } from '@atlaskit/editor-common/analytics'; import { ArrowKeyNavigationType, Dropdown } from '@atlaskit/editor-common/ui-menu'; import { akEditorFloatingPanelZIndex } from '@atlaskit/editor-shared-styles'; // eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss import { Box, xcss } from '@atlaskit/primitives'; import FindReplace from './FindReplace'; var findReplaceWrapperStyles = xcss({ display: 'flex', flexDirection: 'column' }); // Magic number taken from ../FindReplaceToolbarButton.tsx var dropdownWidthNewDesign = 382; var FindReplaceDropdown = function FindReplaceDropdown(props) { var findText = props.findText, replaceText = props.replaceText, isActive = props.isActive, index = props.index, numMatches = props.numMatches, popupsMountPoint = props.popupsMountPoint, numReplaceable = props.numReplaceable, onCancel = props.onCancel; if (!popupsMountPoint) { return null; } return /*#__PURE__*/React.createElement(Dropdown, { target: popupsMountPoint, mountTo: popupsMountPoint, forcePlacement: true, alignX: 'right', alignY: 'start' // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed) , offset: [4, 0], isOpen: isActive // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed) , handleEscapeKeydown: function handleEscapeKeydown() { if (isActive) { onCancel({ triggerMethod: TRIGGER_METHOD.KEYBOARD }); } }, fitWidth: dropdownWidthNewDesign, zIndex: akEditorFloatingPanelZIndex // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed) , arrowKeyNavigationProviderOptions: { type: ArrowKeyNavigationType.MENU, disableArrowKeyNavigation: true } }, /*#__PURE__*/React.createElement(Box, { xcss: findReplaceWrapperStyles }, /*#__PURE__*/React.createElement(FindReplace, _extends({ findText: findText, replaceText: replaceText // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed) , count: { index: index, total: numMatches, totalReplaceable: numReplaceable } // Ignored via go/ees005 // eslint-disable-next-line react/jsx-props-no-spreading }, props)))); }; // eslint-disable-next-line @typescript-eslint/ban-types var _default_1 = injectIntl(FindReplaceDropdown); export default _default_1;