@atlaskit/editor-plugin-find-replace
Version:
find replace plugin for @atlaskit/editor-core
83 lines (79 loc) • 3.2 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _reactIntl = require("react-intl");
var _analytics = require("@atlaskit/editor-common/analytics");
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
var _primitives = require("@atlaskit/primitives");
var _FindReplace = _interopRequireDefault(require("./FindReplace"));
// eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
var findReplaceWrapperStyles = (0, _primitives.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.default.createElement(_uiMenu.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: _analytics.TRIGGER_METHOD.KEYBOARD
});
}
},
fitWidth: dropdownWidthNewDesign,
zIndex: _editorSharedStyles.akEditorFloatingPanelZIndex
// eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
,
arrowKeyNavigationProviderOptions: {
type: _uiMenu.ArrowKeyNavigationType.MENU,
disableArrowKeyNavigation: true
}
}, /*#__PURE__*/_react.default.createElement(_primitives.Box, {
xcss: findReplaceWrapperStyles
}, /*#__PURE__*/_react.default.createElement(_FindReplace.default, (0, _extends2.default)({
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 = (0, _reactIntl.injectIntl)(FindReplaceDropdown);
var _default = exports.default = _default_1;