cozy-search
Version:
UI components about search bar and IA assistant
91 lines (75 loc) • 4.27 kB
JavaScript
"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 _AppIcon = _interopRequireDefault(require("cozy-ui/transpiled/react/AppIcon"));
var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
var _ListItem = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItem"));
var _ListItemIcon = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemIcon"));
var _ListItemText = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemText"));
var _SuggestionItemTextHighlighted = _interopRequireDefault(require("./SuggestionItemTextHighlighted"));
var _SuggestionItemTextSecondary = _interopRequireDefault(require("./SuggestionItemTextSecondary"));
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 styles = {
"resultMenu": "styles__resultMenu___o76q-",
"resultMenu-inner": "styles__resultMenu-inner___2Lf0d",
"resultMenuItem": "styles__resultMenuItem___3-bLe"
};
var ResultMenuItem = function ResultMenuItem(_ref) {
var icon = _ref.icon,
url = _ref.url,
primaryText = _ref.primaryText,
secondaryText = _ref.secondaryText,
secondaryUrl = _ref.secondaryUrl,
slug = _ref.slug,
selected = _ref.selected,
query = _ref.query,
_ref$highlightQuery = _ref.highlightQuery,
highlightQuery = _ref$highlightQuery === void 0 ? false : _ref$highlightQuery,
onClear = _ref.onClear;
var itemRef = (0, _react.useRef)();
var iconComponent = icon.type === 'component' ? /*#__PURE__*/_react.default.createElement(_Icon.default, {
icon: icon.component,
size: 32
}) : icon.type === 'app' ? /*#__PURE__*/_react.default.createElement(_AppIcon.default, {
app: icon.app
}) : icon;
var primary = highlightQuery ? /*#__PURE__*/_react.default.createElement(_SuggestionItemTextHighlighted.default, {
text: primaryText,
query: query
}) : primaryText;
var secondary = highlightQuery ? /*#__PURE__*/_react.default.createElement(_SuggestionItemTextSecondary.default, {
text: secondaryText,
query: query,
slug: slug,
url: secondaryUrl
}) : secondaryText;
(0, _react.useEffect)(function () {
if (selected) {
var _itemRef$current;
itemRef === null || itemRef === void 0 ? void 0 : (_itemRef$current = itemRef.current) === null || _itemRef$current === void 0 ? void 0 : _itemRef$current.scrollIntoView({
behavior: 'smooth',
block: 'nearest',
inline: 'nearest'
});
}
}, [selected]);
return /*#__PURE__*/_react.default.createElement(_ListItem.default, {
component: "a",
href: url,
ref: itemRef,
size: "small",
selected: selected,
className: styles.resultMenuItem,
onClick: onClear
}, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, iconComponent), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
primary: primary,
secondary: secondary
}));
};
var _default = ResultMenuItem;
exports.default = _default;