react-instantsearch
Version:
⚡ Lightning-fast search for React, by Algolia
54 lines (51 loc) • 2.18 kB
JavaScript
import { _ as _$3 } from '@swc/helpers/esm/_object_spread.js';
import { _ as _$2 } from '@swc/helpers/esm/_object_spread_props.js';
import { _ } from '@swc/helpers/esm/_object_without_properties.js';
import { _ as _$1 } from '@swc/helpers/esm/_sliced_to_array.js';
import { createResultCardComponent } from 'instantsearch-ui-components';
import React, { createElement, Fragment, useState, useEffect } from 'react';
import { useResultCard } from 'react-instantsearch-core';
var ResultCardUi = createResultCardComponent({
createElement: createElement,
Fragment: Fragment,
useState: useState,
useEffect: useEffect
});
function ResultCard(_0) {
var _0_classNames = _0.classNames, classNames = _0_classNames === void 0 ? {} : _0_classNames, LayoutComponent = _0.layoutComponent, agentId = _0.agentId, transport = _0.transport, requestOptions = _0.requestOptions, props = _(_0, [
"classNames",
"layoutComponent",
"agentId",
"transport",
"requestOptions"
]);
// Forwarded as-is so the connector rejects `transport` + `requestOptions`.
var renderState = useResultCard({
agentId: agentId,
transport: transport,
requestOptions: requestOptions
}, {
$$widgetType: 'ais.resultCard'
});
var _useState = _$1(useState(false), 2), minimized = _useState[0], setMinimized = _useState[1];
if (LayoutComponent) {
return /*#__PURE__*/ React.createElement(LayoutComponent, renderState);
}
return /*#__PURE__*/ React.createElement(ResultCardUi, _$2(_$3({}, props), {
classNames: classNames,
status: renderState.status,
messages: renderState.messages,
error: renderState.error,
suggestions: renderState.suggestions,
onRetry: renderState.retry,
minimized: minimized,
onToggleMinimize: function onToggleMinimize() {
return setMinimized(!minimized);
},
canContinueInChat: renderState.canContinueInChat,
onContinueInChat: renderState.continueInChat,
expanded: renderState.expanded,
onExpandedChange: renderState.setExpanded
}));
}
export { ResultCard };