@guardian/threads
Version:
29 lines • 1.55 kB
JavaScript
import { __extends } from "tslib";
import React, { Component } from 'react';
import { PopOver } from '../../PopOver/PopOver';
import { Menu } from '../../Menu/Menu';
import { MenuItem } from '../../Menu/MenuItem';
var ChipSuggestions = /** @class */ (function (_super) {
__extends(ChipSuggestions, _super);
function ChipSuggestions() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.state = {
mouseOver: false,
};
return _this;
}
ChipSuggestions.prototype.render = function () {
if (this.props.filteredSuggestions === []) {
return false;
}
var mouseOver = this.state.mouseOver;
var _a = this.props, top = _a.top, left = _a.left, currentIndex = _a.currentIndex, onSuggestionClicked = _a.onSuggestionClicked, setSuggestionIndex = _a.setSuggestionIndex;
return (React.createElement(PopOver, { top: top, left: left, origin: "left", onClose: function () {
/* Closing handled by parent input state */
} },
React.createElement(Menu, { isPopover: true }, this.props.filteredSuggestions.map(function (s, idx) { return (React.createElement(MenuItem, { key: s.name, emulateHover: !mouseOver && currentIndex === idx, label: s.name, onClick: function () { return onSuggestionClicked(idx); }, onMouseOver: function () { return setSuggestionIndex(idx); } })); }))));
};
return ChipSuggestions;
}(Component));
export { ChipSuggestions };
//# sourceMappingURL=ChipSuggestions.js.map