UNPKG

cozy-search

Version:

UI components about search bar and IA assistant

88 lines (68 loc) 4.08 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _cozyDataproxyLib = require("cozy-dataproxy-lib"); var _List = _interopRequireDefault(require("cozy-ui/transpiled/react/List")); var _ListItemSkeleton = _interopRequireDefault(require("cozy-ui/transpiled/react/Skeletons/ListItemSkeleton")); var _NoResultItem = _interopRequireDefault(require("./NoResultItem")); var _NotEnoughItem = _interopRequireDefault(require("./NotEnoughItem")); var _ResultMenuItem = _interopRequireDefault(require("./ResultMenuItem")); var _SearchProvider = require("../Search/SearchProvider"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var SearchResult = function SearchResult(_ref) { var onClear = _ref.onClear; var _useSearch = (0, _SearchProvider.useSearch)(), isLoading = _useSearch.isLoading, results = _useSearch.results, selectedIndex = _useSearch.selectedIndex, searchValue = _useSearch.searchValue; if (isLoading && !(results !== null && results !== void 0 && results.length)) { return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ListItemSkeleton.default, { hasSecondary: true }), /*#__PURE__*/_react.default.createElement(_ListItemSkeleton.default, { hasSecondary: true }), /*#__PURE__*/_react.default.createElement(_ListItemSkeleton.default, { hasSecondary: true })); } if (!isLoading && !(results !== null && results !== void 0 && results.length)) { if (searchValue.length >= 3) { return /*#__PURE__*/_react.default.createElement(_NoResultItem.default, null); } else { return /*#__PURE__*/_react.default.createElement(_NotEnoughItem.default, null); } } return results.map(function (result, idx) { return /*#__PURE__*/_react.default.createElement(_ResultMenuItem.default, { key: result.id || idx, icon: result.icon, slug: result.slug, url: result.url, primaryText: result.primary, secondaryText: result.secondary, secondaryUrl: result.secondaryUrl, query: searchValue, highlightQuery: "true", selected: selectedIndex === idx, onClear: onClear }); }); }; var ResultMenuContent = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) { var onClear = _ref2.onClear; var _useDataProxy = (0, _cozyDataproxyLib.useDataProxy)(), dataProxyServicesAvailable = _useDataProxy.dataProxyServicesAvailable; return /*#__PURE__*/_react.default.createElement(_List.default, { ref: ref }, dataProxyServicesAvailable && /*#__PURE__*/_react.default.createElement(SearchResult, { onClear: onClear })); }); ResultMenuContent.displayName = 'ResultMenuContent'; var _default = ResultMenuContent; exports.default = _default;