UNPKG

@netdata/netdata-ui

Version:

netdata UI kit

106 lines (105 loc) 4.2 kB
"use strict"; exports.__esModule = true; exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _tabs = require("../../../components/tabs"); var _flex = _interopRequireDefault(require("../../../components/templates/flex")); var _typography = require("../../../components/typography"); var _theme = require("../../../theme"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } var Link = _styledComponents["default"].a.withConfig({ displayName: "results__Link", componentId: "sc-3ulv4x-0" })(["text-decoration:none;&:hover,&:visited{color:", ";}"], (0, _theme.getColor)("primary")); var Section = function Section(_ref) { var title = _ref.title, description = _ref.description, url = _ref.url; return /*#__PURE__*/_react["default"].createElement(_flex["default"], { gap: 2, column: true }, /*#__PURE__*/_react["default"].createElement(_typography.Text, { strong: true, dangerouslySetInnerHTML: { __html: (title == null ? void 0 : title.snippet) || (title == null ? void 0 : title.raw) || "Untitled" } }), !!description && /*#__PURE__*/_react["default"].createElement(_typography.Text, { dangerouslySetInnerHTML: { __html: ((description == null ? void 0 : description.snippet) || (description == null ? void 0 : description.raw) || "No description") + "&hellip;" } }), /*#__PURE__*/_react["default"].createElement(_flex["default"], { alignSelf: "end" }, /*#__PURE__*/_react["default"].createElement(_typography.Text, { as: Link, color: "primary", href: url, target: "_blank" }, "Read \u2192"))); }; var Container = function Container(props) { return /*#__PURE__*/_react["default"].createElement(_flex["default"], _extends({ overflow: { vertical: "auto" }, padding: [6, 4], gap: 6, column: true }, props)); }; var StyledTabs = (0, _styledComponents["default"])(_tabs.Tabs).withConfig({ displayName: "results__StyledTabs", componentId: "sc-3ulv4x-1" })(["width:100%;.tabs > *{min-width:160px;max-width:100%;}"]); var keys = ["learn", // "github-cloud", // "github-agent", "community"]; var tabValuesByKey = { learn: "learn.netdata", community: "discourse", "github-cloud": "netdata-cloud", "github-agent": "netdata" }; var tabNameByKey = { learn: "Documentation", community: "Community", "github-cloud": "Github / Cloud", "github-agent": "Github / Agent" }; var SearchResults = function SearchResults(_ref2) { var results = _ref2.results; return /*#__PURE__*/_react["default"].createElement(_flex["default"], { overflow: { vertical: "auto" }, "data-testid": "searchResults", flex: true, width: "1000px", height: "60vh" }, /*#__PURE__*/_react["default"].createElement(StyledTabs, null, keys.map(function (key) { var tabResults = results[tabValuesByKey[key]]; var tabResultsCount = tabResults == null ? void 0 : tabResults.length; return /*#__PURE__*/_react["default"].createElement(_tabs.Tab, { key: key, label: "" + tabNameByKey[key] + (tabResultsCount ? " (" + tabResultsCount + ")" : "") }, /*#__PURE__*/_react["default"].createElement(Container, null, !tabResultsCount ? /*#__PURE__*/_react["default"].createElement(_flex["default"], { padding: [4] }, /*#__PURE__*/_react["default"].createElement(_typography.Text, { strong: true }, "No results")) : tabResults.map(function (result) { var id = result.id, url = result.url, title = result.title, description = result.description; return /*#__PURE__*/_react["default"].createElement(Section, { key: id.raw, url: url.raw, title: title, description: description }); }))); }))); }; var _default = exports["default"] = SearchResults;