UNPKG

react-instantsearch

Version:
70 lines (67 loc) 3.25 kB
import { _ as _$2 } from '@swc/helpers/esm/_object_spread.js'; import { _ as _$1 } from '@swc/helpers/esm/_object_spread_props.js'; import { _ } from '@swc/helpers/esm/_object_without_properties.js'; import { createPromptSuggestionsComponent } from 'instantsearch-ui-components'; import React, { createElement, Fragment } from 'react'; import { usePromptSuggestions } from 'react-instantsearch-core'; var PromptSuggestionsUi = createPromptSuggestionsComponent({ createElement: createElement, Fragment: Fragment }); function PromptSuggestions(_0) { var _0_classNames = _0.classNames, classNames = _0_classNames === void 0 ? {} : _0_classNames, LayoutComponent = _0.layoutComponent, onSuggestionClickOverride = _0.onSuggestionClick, // Connector params — forwarded to the hook, not the UI root. agentId = _0.agentId, transport = _0.transport, configurationId = _0.configurationId, transformHits = _0.transformHits, context = _0.context, transformItems = _0.transformItems, props = _(_0, [ "classNames", "layoutComponent", "onSuggestionClick", "agentId", "transport", "configurationId", "transformHits", "context", "transformItems" ]); var source = agentId !== undefined ? { agentId: agentId, transport: transport } : { transport: transport }; var _usePromptSuggestions = usePromptSuggestions(_$1(_$2({}, source), { configurationId: configurationId, transformHits: transformHits, context: context, transformItems: transformItems }), { $$widgetType: 'ais.promptSuggestions' }), suggestions = _usePromptSuggestions.suggestions, isLoading = _usePromptSuggestions.isLoading, error = _usePromptSuggestions.error, onSuggestionClick = _usePromptSuggestions.onSuggestionClick, isChatBusy = _usePromptSuggestions.isChatBusy, sendToChat = _usePromptSuggestions.sendToChat; if (!sendToChat && !onSuggestionClickOverride) { throw new Error('No <Chat> widget is mounted on this index, so there is nothing to send a clicked suggestion to. Mount a <Chat> on the same index, or pass `onSuggestionClick` to handle the click yourself.'); } var handleClick = onSuggestionClickOverride ? function(prompt) { return onSuggestionClickOverride(prompt, { // `sendToChat` is only absent when the override above owns the click, // in which case falling through to the chat is a no-op. sendToChat: sendToChat !== null && sendToChat !== void 0 ? sendToChat : function() { return false; } }); } : onSuggestionClick; if (LayoutComponent) { return /*#__PURE__*/ React.createElement(LayoutComponent, { suggestions: suggestions, isLoading: isLoading, error: error, onSuggestionClick: handleClick, isChatBusy: isChatBusy }); } return /*#__PURE__*/ React.createElement(PromptSuggestionsUi, _$1(_$2({}, props), { classNames: classNames, suggestions: suggestions, isLoading: isLoading, onSuggestionClick: handleClick, disabled: isChatBusy })); } export { PromptSuggestions };