ResultsScreen.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
  2. import React from 'react';
  3. import { SelectIcon, SourceIcon } from './icons';
  4. import { Results } from './Results';
  5. import { removeHighlightTags } from './utils';
  6. export function ResultsScreen(props) {
  7. return /*#__PURE__*/React.createElement("div", {
  8. className: "DocSearch-Dropdown-Container"
  9. }, props.state.collections.map(function (collection) {
  10. if (collection.items.length === 0) {
  11. return null;
  12. }
  13. var title = removeHighlightTags(collection.items[0]);
  14. return /*#__PURE__*/React.createElement(Results, _extends({}, props, {
  15. key: collection.source.sourceId,
  16. title: title,
  17. collection: collection,
  18. renderIcon: function renderIcon(_ref) {
  19. var _collection$items;
  20. var item = _ref.item,
  21. index = _ref.index;
  22. return /*#__PURE__*/React.createElement(React.Fragment, null, item.__docsearch_parent && /*#__PURE__*/React.createElement("svg", {
  23. className: "DocSearch-Hit-Tree",
  24. viewBox: "0 0 24 54"
  25. }, /*#__PURE__*/React.createElement("g", {
  26. stroke: "currentColor",
  27. fill: "none",
  28. fillRule: "evenodd",
  29. strokeLinecap: "round",
  30. strokeLinejoin: "round"
  31. }, item.__docsearch_parent !== ((_collection$items = collection.items[index + 1]) === null || _collection$items === void 0 ? void 0 : _collection$items.__docsearch_parent) ? /*#__PURE__*/React.createElement("path", {
  32. d: "M8 6v21M20 27H8.3"
  33. }) : /*#__PURE__*/React.createElement("path", {
  34. d: "M8 6v42M20 27H8.3"
  35. }))), /*#__PURE__*/React.createElement("div", {
  36. className: "DocSearch-Hit-icon"
  37. }, /*#__PURE__*/React.createElement(SourceIcon, {
  38. type: item.type
  39. })));
  40. },
  41. renderAction: function renderAction() {
  42. return /*#__PURE__*/React.createElement("div", {
  43. className: "DocSearch-Hit-action"
  44. }, /*#__PURE__*/React.createElement(SelectIcon, null));
  45. }
  46. }));
  47. }), props.resultsFooterComponent && /*#__PURE__*/React.createElement("section", {
  48. className: "DocSearch-HitsFooter"
  49. }, /*#__PURE__*/React.createElement(props.resultsFooterComponent, {
  50. state: props.state
  51. })));
  52. }