react-instantsearch 7.41.0 → 7.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Carousel.js +3 -1
- package/dist/cjs/widgets/Autocomplete.js +1 -1
- package/dist/cjs/widgets/Chat.js +32 -9
- package/dist/cjs/widgets/PromptSuggestions.js +66 -0
- package/dist/cjs/widgets/chat/tools/DisplayResultsTool.js +36 -30
- package/dist/cjs/widgets/chat/tools/SearchIndexTool.js +1 -0
- package/dist/cjs/widgets/index.js +1 -0
- package/dist/es/components/Carousel.js +4 -2
- package/dist/es/index.js +1 -0
- package/dist/es/widgets/Autocomplete.js +1 -1
- package/dist/es/widgets/Chat.d.ts +4 -0
- package/dist/es/widgets/Chat.js +40 -17
- package/dist/es/widgets/PromptSuggestions.d.ts +23 -0
- package/dist/es/widgets/PromptSuggestions.js +57 -0
- package/dist/es/widgets/chat/tools/DisplayResultsTool.js +37 -31
- package/dist/es/widgets/chat/tools/SearchIndexTool.js +2 -1
- package/dist/es/widgets/index.d.ts +1 -0
- package/dist/es/widgets/index.js +1 -0
- package/dist/umd/ReactInstantSearch.js +1570 -362
- package/dist/umd/ReactInstantSearch.min.js +3 -3
- package/package.json +5 -5
|
@@ -16,7 +16,9 @@ var _instantsearchuicomponents = require("instantsearch-ui-components");
|
|
|
16
16
|
var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
17
17
|
var CarouselUiComponent = (0, _instantsearchuicomponents.createCarouselComponent)({
|
|
18
18
|
createElement: _react.createElement,
|
|
19
|
-
Fragment: _react.Fragment
|
|
19
|
+
Fragment: _react.Fragment,
|
|
20
|
+
useEffect: _react.useEffect,
|
|
21
|
+
useRef: _react.useRef
|
|
20
22
|
});
|
|
21
23
|
function Carousel(props) {
|
|
22
24
|
var _useState = _sliced_to_array._((0, _react.useState)(false), 2), canScrollLeft = _useState[0], setCanScrollLeft = _useState[1];
|
package/dist/cjs/widgets/Chat.js
CHANGED
|
@@ -59,11 +59,28 @@ function createDefaultTools(itemComponent, getSearchPageURL) {
|
|
|
59
59
|
var _obj;
|
|
60
60
|
return _obj = {}, _define_property._(_obj, _chat.SearchIndexToolType, (0, _SearchIndexTool.createCarouselTool)(true, itemComponent, getSearchPageURL)), _define_property._(_obj, _chat.RecommendToolType, (0, _SearchIndexTool.createCarouselTool)(false, itemComponent, getSearchPageURL)), _define_property._(_obj, _chat.DisplayResultsToolType, (0, _DisplayResultsTool.createDisplayResultsTool)(itemComponent)), _define_property._(_obj, _chat.MemorizeToolType, {}), _define_property._(_obj, _chat.MemorySearchToolType, {}), _define_property._(_obj, _chat.PonderToolType, {}), _obj;
|
|
61
61
|
}
|
|
62
|
+
function mergeToolOptions(defaultTools, userTools) {
|
|
63
|
+
if (!userTools) {
|
|
64
|
+
return defaultTools;
|
|
65
|
+
}
|
|
66
|
+
var tools = _object_spread._({}, defaultTools, userTools);
|
|
67
|
+
Object.keys(userTools).forEach(function(toolName) {
|
|
68
|
+
var _defaultTools_toolName;
|
|
69
|
+
var userTool = userTools[toolName];
|
|
70
|
+
var defaultStreamInput = (_defaultTools_toolName = defaultTools[toolName]) === null || _defaultTools_toolName === void 0 ? void 0 : _defaultTools_toolName.streamInput;
|
|
71
|
+
if (userTool.layoutComponent !== undefined && userTool.streamInput === undefined && defaultStreamInput !== undefined) {
|
|
72
|
+
tools[toolName] = _object_spread_props._(_object_spread._({}, userTool), {
|
|
73
|
+
streamInput: defaultStreamInput
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return tools;
|
|
78
|
+
}
|
|
62
79
|
function ChatInner(_0, _1) {
|
|
63
80
|
var _ref = [
|
|
64
81
|
_0,
|
|
65
82
|
_1
|
|
66
|
-
], _ref1 = _to_array._(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), userTools = _ref2.tools, headerProps = _ref2.headerProps, messagesProps = _ref2.messagesProps, promptProps = _ref2.promptProps, itemComponent = _ref2.itemComponent, layoutComponent = _ref2.layoutComponent, headerComponent = _ref2.headerComponent, headerTitleIconComponent = _ref2.headerTitleIconComponent, headerCloseIconComponent = _ref2.headerCloseIconComponent, headerMinimizeIconComponent = _ref2.headerMinimizeIconComponent, headerMaximizeIconComponent = _ref2.headerMaximizeIconComponent, loaderComponent = _ref2.loaderComponent, messagesErrorComponent = _ref2.messagesErrorComponent, promptComponent = _ref2.promptComponent, promptHeaderComponent = _ref2.promptHeaderComponent, promptFooterComponent = _ref2.promptFooterComponent, assistantMessageLeadingComponent = _ref2.assistantMessageLeadingComponent, assistantMessageFooterComponent = _ref2.assistantMessageFooterComponent, userMessageLeadingComponent = _ref2.userMessageLeadingComponent, userMessageFooterComponent = _ref2.userMessageFooterComponent, emptyComponent = _ref2.emptyComponent, actionsComponent = _ref2.actionsComponent, suggestionsComponent = _ref2.suggestionsComponent, classNames = _ref2.classNames, _ref_translations = _ref2.translations, translations = _ref_translations === void 0 ? {} : _ref_translations, title = _ref2.title, getSearchPageURL = _ref2.getSearchPageURL, _ref_disableTriggerValidation = _ref2.disableTriggerValidation, disableTriggerValidation = _ref_disableTriggerValidation === void 0 ? false : _ref_disableTriggerValidation, props = _object_without_properties._(_ref2, [
|
|
83
|
+
], _ref1 = _to_array._(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), userTools = _ref2.tools, headerProps = _ref2.headerProps, messagesProps = _ref2.messagesProps, promptProps = _ref2.promptProps, itemComponent = _ref2.itemComponent, layoutComponent = _ref2.layoutComponent, headerComponent = _ref2.headerComponent, headerTitleIconComponent = _ref2.headerTitleIconComponent, headerCloseIconComponent = _ref2.headerCloseIconComponent, headerMinimizeIconComponent = _ref2.headerMinimizeIconComponent, headerMaximizeIconComponent = _ref2.headerMaximizeIconComponent, loaderComponent = _ref2.loaderComponent, messagesErrorComponent = _ref2.messagesErrorComponent, promptComponent = _ref2.promptComponent, promptHeaderComponent = _ref2.promptHeaderComponent, promptFooterComponent = _ref2.promptFooterComponent, assistantMessageLeadingComponent = _ref2.assistantMessageLeadingComponent, assistantMessageFooterComponent = _ref2.assistantMessageFooterComponent, userMessageLeadingComponent = _ref2.userMessageLeadingComponent, userMessageFooterComponent = _ref2.userMessageFooterComponent, emptyComponent = _ref2.emptyComponent, actionsComponent = _ref2.actionsComponent, suggestionsComponent = _ref2.suggestionsComponent, classNames = _ref2.classNames, _ref_translations = _ref2.translations, translations = _ref_translations === void 0 ? {} : _ref_translations, title = _ref2.title, getSearchPageURL = _ref2.getSearchPageURL, _ref_disableTriggerValidation = _ref2.disableTriggerValidation, disableTriggerValidation = _ref_disableTriggerValidation === void 0 ? false : _ref_disableTriggerValidation, showReasoning = _ref2.showReasoning, props = _object_without_properties._(_ref2, [
|
|
67
84
|
"tools",
|
|
68
85
|
"headerProps",
|
|
69
86
|
"messagesProps",
|
|
@@ -91,7 +108,8 @@ function ChatInner(_0, _1) {
|
|
|
91
108
|
"translations",
|
|
92
109
|
"title",
|
|
93
110
|
"getSearchPageURL",
|
|
94
|
-
"disableTriggerValidation"
|
|
111
|
+
"disableTriggerValidation",
|
|
112
|
+
"showReasoning"
|
|
95
113
|
]), _rest1 = _sliced_to_array._(_rest, 1), ref = _rest1[0];
|
|
96
114
|
var promptTranslations = translations.prompt, headerTranslations = translations.header, messageTranslations = translations.message, messagesTranslations = translations.messages;
|
|
97
115
|
var _useInstantSearch = (0, _reactinstantsearchcore.useInstantSearch)(), indexUiState = _useInstantSearch.indexUiState, setIndexUiState = _useInstantSearch.setIndexUiState;
|
|
@@ -103,7 +121,7 @@ function ChatInner(_0, _1) {
|
|
|
103
121
|
}), scrollRef = _useStickToBottom1.scrollRef, contentRef = _useStickToBottom1.contentRef, scrollToBottom = _useStickToBottom1.scrollToBottom, isAtBottom = _useStickToBottom1.isAtBottom;
|
|
104
122
|
var tools = (0, _react.useMemo)(function() {
|
|
105
123
|
var defaults = createDefaultTools(itemComponent, getSearchPageURL);
|
|
106
|
-
return
|
|
124
|
+
return mergeToolOptions(defaults, userTools);
|
|
107
125
|
}, [
|
|
108
126
|
getSearchPageURL,
|
|
109
127
|
itemComponent,
|
|
@@ -158,6 +176,10 @@ function ChatInner(_0, _1) {
|
|
|
158
176
|
status,
|
|
159
177
|
scrollToBottom
|
|
160
178
|
]);
|
|
179
|
+
var _ref3 = messagesProps !== null && messagesProps !== void 0 ? messagesProps : {}, callerAssistantMessageProps = _ref3.assistantMessageProps, callerUserMessageProps = _ref3.userMessageProps, restMessagesProps = _object_without_properties._(_ref3, [
|
|
180
|
+
"assistantMessageProps",
|
|
181
|
+
"userMessageProps"
|
|
182
|
+
]);
|
|
161
183
|
return /*#__PURE__*/ _react.default.createElement(ChatUiComponent, {
|
|
162
184
|
title: title,
|
|
163
185
|
open: open,
|
|
@@ -213,17 +235,18 @@ function ChatInner(_0, _1) {
|
|
|
213
235
|
errorComponent: messagesErrorComponent,
|
|
214
236
|
emptyComponent: emptyComponent,
|
|
215
237
|
actionsComponent: actionsComponent,
|
|
238
|
+
translations: messagesTranslations,
|
|
239
|
+
messageTranslations: messageTranslations
|
|
240
|
+
}, restMessagesProps), {
|
|
216
241
|
assistantMessageProps: _object_spread._({
|
|
217
242
|
leadingComponent: assistantMessageLeadingComponent,
|
|
218
|
-
footerComponent: assistantMessageFooterComponent
|
|
219
|
-
|
|
243
|
+
footerComponent: assistantMessageFooterComponent,
|
|
244
|
+
showReasoning: showReasoning
|
|
245
|
+
}, callerAssistantMessageProps),
|
|
220
246
|
userMessageProps: _object_spread._({
|
|
221
247
|
leadingComponent: userMessageLeadingComponent,
|
|
222
248
|
footerComponent: userMessageFooterComponent
|
|
223
|
-
},
|
|
224
|
-
translations: messagesTranslations,
|
|
225
|
-
messageTranslations: messageTranslations
|
|
226
|
-
}, messagesProps), {
|
|
249
|
+
}, callerUserMessageProps),
|
|
227
250
|
error: error
|
|
228
251
|
}),
|
|
229
252
|
promptProps: _object_spread._({
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "PromptSuggestions", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function() {
|
|
9
|
+
return PromptSuggestions;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
13
|
+
var _object_spread = require("@swc/helpers/_/_object_spread");
|
|
14
|
+
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
|
|
15
|
+
var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
|
|
16
|
+
var _instantsearchuicomponents = require("instantsearch-ui-components");
|
|
17
|
+
var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
18
|
+
var _reactinstantsearchcore = require("react-instantsearch-core");
|
|
19
|
+
var PromptSuggestionsUi = (0, _instantsearchuicomponents.createPromptSuggestionsComponent)({
|
|
20
|
+
createElement: _react.createElement,
|
|
21
|
+
Fragment: _react.Fragment
|
|
22
|
+
});
|
|
23
|
+
function PromptSuggestions(_0) {
|
|
24
|
+
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.
|
|
25
|
+
agentId = _0.agentId, transport = _0.transport, configurationId = _0.configurationId, transformHits = _0.transformHits, context = _0.context, transformItems = _0.transformItems, props = _object_without_properties._(_0, [
|
|
26
|
+
"classNames",
|
|
27
|
+
"layoutComponent",
|
|
28
|
+
"onSuggestionClick",
|
|
29
|
+
"agentId",
|
|
30
|
+
"transport",
|
|
31
|
+
"configurationId",
|
|
32
|
+
"transformHits",
|
|
33
|
+
"context",
|
|
34
|
+
"transformItems"
|
|
35
|
+
]);
|
|
36
|
+
var _usePromptSuggestions = (0, _reactinstantsearchcore.usePromptSuggestions)({
|
|
37
|
+
agentId: agentId,
|
|
38
|
+
transport: transport,
|
|
39
|
+
configurationId: configurationId,
|
|
40
|
+
transformHits: transformHits,
|
|
41
|
+
context: context,
|
|
42
|
+
transformItems: transformItems
|
|
43
|
+
}, {
|
|
44
|
+
$$widgetType: 'ais.promptSuggestions'
|
|
45
|
+
}), suggestions = _usePromptSuggestions.suggestions, isLoading = _usePromptSuggestions.isLoading, onSuggestionClick = _usePromptSuggestions.onSuggestionClick, isChatBusy = _usePromptSuggestions.isChatBusy, sendToChat = _usePromptSuggestions.sendToChat;
|
|
46
|
+
var handleClick = onSuggestionClickOverride ? function(prompt) {
|
|
47
|
+
return onSuggestionClickOverride(prompt, {
|
|
48
|
+
sendToChat: sendToChat
|
|
49
|
+
});
|
|
50
|
+
} : onSuggestionClick;
|
|
51
|
+
if (LayoutComponent) {
|
|
52
|
+
return /*#__PURE__*/ _react.default.createElement(LayoutComponent, {
|
|
53
|
+
suggestions: suggestions,
|
|
54
|
+
isLoading: isLoading,
|
|
55
|
+
onSuggestionClick: handleClick,
|
|
56
|
+
isChatBusy: isChatBusy
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return /*#__PURE__*/ _react.default.createElement(PromptSuggestionsUi, _object_spread_props._(_object_spread._({}, props), {
|
|
60
|
+
classNames: classNames,
|
|
61
|
+
suggestions: suggestions,
|
|
62
|
+
isLoading: isLoading,
|
|
63
|
+
onSuggestionClick: handleClick,
|
|
64
|
+
disabled: isChatBusy
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
@@ -17,11 +17,43 @@ function createDisplayResultsTool(itemComponent) {
|
|
|
17
17
|
var DisplayResultsUIComponent = (0, _instantsearchuicomponents.createDisplayResultsToolComponent)({
|
|
18
18
|
createElement: _react.createElement,
|
|
19
19
|
Fragment: _react.Fragment,
|
|
20
|
-
|
|
20
|
+
useEffect: _react.useEffect,
|
|
21
|
+
useMemo: _react.useMemo,
|
|
22
|
+
useRef: _react.useRef
|
|
21
23
|
});
|
|
22
24
|
var Button = (0, _instantsearchuicomponents.createButtonComponent)({
|
|
23
25
|
createElement: _react.createElement
|
|
24
26
|
});
|
|
27
|
+
var DisplayResultsCarouselHeader = function DisplayResultsCarouselHeader(param) {
|
|
28
|
+
var nbItems = param.nbItems, canScrollLeft = param.canScrollLeft, canScrollRight = param.canScrollRight, scrollLeft = param.scrollLeft, scrollRight = param.scrollRight;
|
|
29
|
+
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
30
|
+
className: "ais-ChatToolDisplayResultsCarouselHeader"
|
|
31
|
+
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
32
|
+
className: "ais-ChatToolDisplayResultsCarouselHeaderCount"
|
|
33
|
+
}, nbItems, " result", nbItems > 1 ? 's' : ''), /*#__PURE__*/ _react.default.createElement("div", {
|
|
34
|
+
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButtons"
|
|
35
|
+
}, /*#__PURE__*/ _react.default.createElement(Button, {
|
|
36
|
+
variant: "outline",
|
|
37
|
+
size: "sm",
|
|
38
|
+
iconOnly: true,
|
|
39
|
+
"aria-label": "Previous",
|
|
40
|
+
onClick: scrollLeft,
|
|
41
|
+
disabled: !canScrollLeft,
|
|
42
|
+
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton"
|
|
43
|
+
}, /*#__PURE__*/ _react.default.createElement(_instantsearchuicomponents.ChevronLeftIcon, {
|
|
44
|
+
createElement: _react.createElement
|
|
45
|
+
})), /*#__PURE__*/ _react.default.createElement(Button, {
|
|
46
|
+
variant: "outline",
|
|
47
|
+
size: "sm",
|
|
48
|
+
iconOnly: true,
|
|
49
|
+
"aria-label": "Next",
|
|
50
|
+
onClick: scrollRight,
|
|
51
|
+
disabled: !canScrollRight,
|
|
52
|
+
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton"
|
|
53
|
+
}, /*#__PURE__*/ _react.default.createElement(_instantsearchuicomponents.ChevronRightIcon, {
|
|
54
|
+
createElement: _react.createElement
|
|
55
|
+
}))));
|
|
56
|
+
};
|
|
25
57
|
var DisplayResultsLayoutComponent = function DisplayResultsLayoutComponent(toolProps) {
|
|
26
58
|
return /*#__PURE__*/ _react.default.createElement(DisplayResultsUIComponent, {
|
|
27
59
|
toolProps: toolProps,
|
|
@@ -32,39 +64,13 @@ function createDisplayResultsTool(itemComponent) {
|
|
|
32
64
|
itemComponent: itemComponent,
|
|
33
65
|
sendEvent: sendEvent,
|
|
34
66
|
showNavigation: false,
|
|
35
|
-
headerComponent:
|
|
36
|
-
var canScrollLeft = param.canScrollLeft, canScrollRight = param.canScrollRight, scrollLeft = param.scrollLeft, scrollRight = param.scrollRight;
|
|
37
|
-
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
38
|
-
className: "ais-ChatToolDisplayResultsCarouselHeader"
|
|
39
|
-
}, /*#__PURE__*/ _react.default.createElement("div", {
|
|
40
|
-
className: "ais-ChatToolDisplayResultsCarouselHeaderCount"
|
|
41
|
-
}, items.length, " result", items.length > 1 ? 's' : ''), /*#__PURE__*/ _react.default.createElement("div", {
|
|
42
|
-
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButtons"
|
|
43
|
-
}, /*#__PURE__*/ _react.default.createElement(Button, {
|
|
44
|
-
variant: "outline",
|
|
45
|
-
size: "sm",
|
|
46
|
-
iconOnly: true,
|
|
47
|
-
onClick: scrollLeft,
|
|
48
|
-
disabled: !canScrollLeft,
|
|
49
|
-
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton"
|
|
50
|
-
}, /*#__PURE__*/ _react.default.createElement(_instantsearchuicomponents.ChevronLeftIcon, {
|
|
51
|
-
createElement: _react.createElement
|
|
52
|
-
})), /*#__PURE__*/ _react.default.createElement(Button, {
|
|
53
|
-
variant: "outline",
|
|
54
|
-
size: "sm",
|
|
55
|
-
iconOnly: true,
|
|
56
|
-
onClick: scrollRight,
|
|
57
|
-
disabled: !canScrollRight,
|
|
58
|
-
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton"
|
|
59
|
-
}, /*#__PURE__*/ _react.default.createElement(_instantsearchuicomponents.ChevronRightIcon, {
|
|
60
|
-
createElement: _react.createElement
|
|
61
|
-
}))));
|
|
62
|
-
}
|
|
67
|
+
headerComponent: DisplayResultsCarouselHeader
|
|
63
68
|
});
|
|
64
69
|
}
|
|
65
70
|
});
|
|
66
71
|
};
|
|
67
72
|
return {
|
|
68
|
-
layoutComponent: DisplayResultsLayoutComponent
|
|
73
|
+
layoutComponent: DisplayResultsLayoutComponent,
|
|
74
|
+
streamInput: true
|
|
69
75
|
};
|
|
70
76
|
}
|
|
@@ -16,6 +16,7 @@ function createCarouselTool(showViewAll, itemComponent, getSearchPageURL) {
|
|
|
16
16
|
var SearchLayoutUIComponent = (0, _instantsearchuicomponents.createCarouselToolComponent)({
|
|
17
17
|
createElement: _react.createElement,
|
|
18
18
|
Fragment: _react.Fragment,
|
|
19
|
+
useEffect: _react.useEffect,
|
|
19
20
|
useMemo: _react.useMemo,
|
|
20
21
|
useRef: _react.useRef,
|
|
21
22
|
useState: _react.useState
|
|
@@ -7,6 +7,7 @@ var _export_star = require("@swc/helpers/_/_export_star");
|
|
|
7
7
|
_export_star._(require("./Autocomplete"), exports);
|
|
8
8
|
_export_star._(require("./Breadcrumb"), exports);
|
|
9
9
|
_export_star._(require("./Chat"), exports);
|
|
10
|
+
_export_star._(require("./PromptSuggestions"), exports);
|
|
10
11
|
_export_star._(require("./ChatTrigger"), exports);
|
|
11
12
|
_export_star._(require("./ClearRefinements"), exports);
|
|
12
13
|
_export_star._(require("./CurrentRefinements"), exports);
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { _ as _$1 } from '@swc/helpers/esm/_object_spread.js';
|
|
2
2
|
import { _ } from '@swc/helpers/esm/_sliced_to_array.js';
|
|
3
3
|
import { createCarouselComponent, generateCarouselId } from 'instantsearch-ui-components';
|
|
4
|
-
import React, { createElement, Fragment,
|
|
4
|
+
import React, { createElement, Fragment, useEffect, useRef, useState } from 'react';
|
|
5
5
|
|
|
6
6
|
var CarouselUiComponent = createCarouselComponent({
|
|
7
7
|
createElement: createElement,
|
|
8
|
-
Fragment: Fragment
|
|
8
|
+
Fragment: Fragment,
|
|
9
|
+
useEffect: useEffect,
|
|
10
|
+
useRef: useRef
|
|
9
11
|
});
|
|
10
12
|
function Carousel(props) {
|
|
11
13
|
var _useState = _(useState(false), 2), canScrollLeft = _useState[0], setCanScrollLeft = _useState[1];
|
package/dist/es/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { Autocomplete, EXPERIMENTAL_Autocomplete } from './widgets/Autocomplete.
|
|
|
4
4
|
export { Breadcrumb } from './widgets/Breadcrumb.js';
|
|
5
5
|
export { DisplayResultsToolType, MemorizeToolType, MemorySearchToolType, PonderToolType, RecommendToolType, SearchIndexToolType } from 'instantsearch.js/es/lib/chat/index.js';
|
|
6
6
|
export { Chat, createDefaultTools } from './widgets/Chat.js';
|
|
7
|
+
export { PromptSuggestions } from './widgets/PromptSuggestions.js';
|
|
7
8
|
export { ChatTrigger } from './widgets/ChatTrigger.js';
|
|
8
9
|
export { ClearRefinements } from './widgets/ClearRefinements.js';
|
|
9
10
|
export { CurrentRefinements } from './widgets/CurrentRefinements.js';
|
|
@@ -38,6 +38,10 @@ export type ChatProps<TObject, TUiMessage extends UIMessage = UIMessage> = Omit<
|
|
|
38
38
|
userMessageLeadingComponent?: ChatMessageProps['leadingComponent'];
|
|
39
39
|
userMessageFooterComponent?: ChatMessageProps['footerComponent'];
|
|
40
40
|
suggestionsComponent?: ChatUiProps['suggestionsComponent'];
|
|
41
|
+
/**
|
|
42
|
+
* Whether to render reasoning parts
|
|
43
|
+
*/
|
|
44
|
+
showReasoning?: boolean;
|
|
41
45
|
translations?: Partial<{
|
|
42
46
|
prompt: ChatUiProps['promptProps']['translations'];
|
|
43
47
|
header: ChatUiProps['headerProps']['translations'];
|
package/dist/es/widgets/Chat.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { _ } from '@swc/helpers/esm/_define_property.js';
|
|
2
|
-
import { _ as _$
|
|
3
|
-
import { _ as _$
|
|
2
|
+
import { _ as _$5 } from '@swc/helpers/esm/_object_spread.js';
|
|
3
|
+
import { _ as _$4 } from '@swc/helpers/esm/_object_spread_props.js';
|
|
4
4
|
import { _ as _$2 } from '@swc/helpers/esm/_object_without_properties.js';
|
|
5
5
|
import { _ as _$3 } from '@swc/helpers/esm/_sliced_to_array.js';
|
|
6
6
|
import { _ as _$1 } from '@swc/helpers/esm/_to_array.js';
|
|
@@ -23,11 +23,28 @@ function createDefaultTools(itemComponent, getSearchPageURL) {
|
|
|
23
23
|
var _obj;
|
|
24
24
|
return _obj = {}, _(_obj, SearchIndexToolType, createCarouselTool(true, itemComponent, getSearchPageURL)), _(_obj, RecommendToolType, createCarouselTool(false, itemComponent, getSearchPageURL)), _(_obj, DisplayResultsToolType, createDisplayResultsTool(itemComponent)), _(_obj, MemorizeToolType, {}), _(_obj, MemorySearchToolType, {}), _(_obj, PonderToolType, {}), _obj;
|
|
25
25
|
}
|
|
26
|
+
function mergeToolOptions(defaultTools, userTools) {
|
|
27
|
+
if (!userTools) {
|
|
28
|
+
return defaultTools;
|
|
29
|
+
}
|
|
30
|
+
var tools = _$5({}, defaultTools, userTools);
|
|
31
|
+
Object.keys(userTools).forEach(function(toolName) {
|
|
32
|
+
var _defaultTools_toolName;
|
|
33
|
+
var userTool = userTools[toolName];
|
|
34
|
+
var defaultStreamInput = (_defaultTools_toolName = defaultTools[toolName]) === null || _defaultTools_toolName === void 0 ? void 0 : _defaultTools_toolName.streamInput;
|
|
35
|
+
if (userTool.layoutComponent !== undefined && userTool.streamInput === undefined && defaultStreamInput !== undefined) {
|
|
36
|
+
tools[toolName] = _$4(_$5({}, userTool), {
|
|
37
|
+
streamInput: defaultStreamInput
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return tools;
|
|
42
|
+
}
|
|
26
43
|
function ChatInner(_0, _1) {
|
|
27
44
|
var _ref = [
|
|
28
45
|
_0,
|
|
29
46
|
_1
|
|
30
|
-
], _ref1 = _$1(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), userTools = _ref2.tools, headerProps = _ref2.headerProps, messagesProps = _ref2.messagesProps, promptProps = _ref2.promptProps, itemComponent = _ref2.itemComponent, layoutComponent = _ref2.layoutComponent, headerComponent = _ref2.headerComponent, headerTitleIconComponent = _ref2.headerTitleIconComponent, headerCloseIconComponent = _ref2.headerCloseIconComponent, headerMinimizeIconComponent = _ref2.headerMinimizeIconComponent, headerMaximizeIconComponent = _ref2.headerMaximizeIconComponent, loaderComponent = _ref2.loaderComponent, messagesErrorComponent = _ref2.messagesErrorComponent, promptComponent = _ref2.promptComponent, promptHeaderComponent = _ref2.promptHeaderComponent, promptFooterComponent = _ref2.promptFooterComponent, assistantMessageLeadingComponent = _ref2.assistantMessageLeadingComponent, assistantMessageFooterComponent = _ref2.assistantMessageFooterComponent, userMessageLeadingComponent = _ref2.userMessageLeadingComponent, userMessageFooterComponent = _ref2.userMessageFooterComponent, emptyComponent = _ref2.emptyComponent, actionsComponent = _ref2.actionsComponent, suggestionsComponent = _ref2.suggestionsComponent, classNames = _ref2.classNames, _ref_translations = _ref2.translations, translations = _ref_translations === void 0 ? {} : _ref_translations, title = _ref2.title, getSearchPageURL = _ref2.getSearchPageURL, _ref_disableTriggerValidation = _ref2.disableTriggerValidation, disableTriggerValidation = _ref_disableTriggerValidation === void 0 ? false : _ref_disableTriggerValidation, props = _$2(_ref2, [
|
|
47
|
+
], _ref1 = _$1(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), userTools = _ref2.tools, headerProps = _ref2.headerProps, messagesProps = _ref2.messagesProps, promptProps = _ref2.promptProps, itemComponent = _ref2.itemComponent, layoutComponent = _ref2.layoutComponent, headerComponent = _ref2.headerComponent, headerTitleIconComponent = _ref2.headerTitleIconComponent, headerCloseIconComponent = _ref2.headerCloseIconComponent, headerMinimizeIconComponent = _ref2.headerMinimizeIconComponent, headerMaximizeIconComponent = _ref2.headerMaximizeIconComponent, loaderComponent = _ref2.loaderComponent, messagesErrorComponent = _ref2.messagesErrorComponent, promptComponent = _ref2.promptComponent, promptHeaderComponent = _ref2.promptHeaderComponent, promptFooterComponent = _ref2.promptFooterComponent, assistantMessageLeadingComponent = _ref2.assistantMessageLeadingComponent, assistantMessageFooterComponent = _ref2.assistantMessageFooterComponent, userMessageLeadingComponent = _ref2.userMessageLeadingComponent, userMessageFooterComponent = _ref2.userMessageFooterComponent, emptyComponent = _ref2.emptyComponent, actionsComponent = _ref2.actionsComponent, suggestionsComponent = _ref2.suggestionsComponent, classNames = _ref2.classNames, _ref_translations = _ref2.translations, translations = _ref_translations === void 0 ? {} : _ref_translations, title = _ref2.title, getSearchPageURL = _ref2.getSearchPageURL, _ref_disableTriggerValidation = _ref2.disableTriggerValidation, disableTriggerValidation = _ref_disableTriggerValidation === void 0 ? false : _ref_disableTriggerValidation, showReasoning = _ref2.showReasoning, props = _$2(_ref2, [
|
|
31
48
|
"tools",
|
|
32
49
|
"headerProps",
|
|
33
50
|
"messagesProps",
|
|
@@ -55,7 +72,8 @@ function ChatInner(_0, _1) {
|
|
|
55
72
|
"translations",
|
|
56
73
|
"title",
|
|
57
74
|
"getSearchPageURL",
|
|
58
|
-
"disableTriggerValidation"
|
|
75
|
+
"disableTriggerValidation",
|
|
76
|
+
"showReasoning"
|
|
59
77
|
]), _rest1 = _$3(_rest, 1), ref = _rest1[0];
|
|
60
78
|
var promptTranslations = translations.prompt, headerTranslations = translations.header, messageTranslations = translations.message, messagesTranslations = translations.messages;
|
|
61
79
|
var _useInstantSearch = useInstantSearch(), indexUiState = _useInstantSearch.indexUiState, setIndexUiState = _useInstantSearch.setIndexUiState;
|
|
@@ -67,7 +85,7 @@ function ChatInner(_0, _1) {
|
|
|
67
85
|
}), scrollRef = _useStickToBottom.scrollRef, contentRef = _useStickToBottom.contentRef, scrollToBottom = _useStickToBottom.scrollToBottom, isAtBottom = _useStickToBottom.isAtBottom;
|
|
68
86
|
var tools = useMemo(function() {
|
|
69
87
|
var defaults = createDefaultTools(itemComponent, getSearchPageURL);
|
|
70
|
-
return
|
|
88
|
+
return mergeToolOptions(defaults, userTools);
|
|
71
89
|
}, [
|
|
72
90
|
getSearchPageURL,
|
|
73
91
|
itemComponent,
|
|
@@ -78,7 +96,7 @@ function ChatInner(_0, _1) {
|
|
|
78
96
|
// set on the layout component, which is consistent across flavors.
|
|
79
97
|
var isInlineLayoutComponent = typeof layoutComponent === 'function' && layoutComponent.$$inlineLayout === true;
|
|
80
98
|
var effectiveDisableTriggerValidation = disableTriggerValidation || isInlineLayoutComponent;
|
|
81
|
-
var chatState = useChat(_$
|
|
99
|
+
var chatState = useChat(_$4(_$5({}, props), {
|
|
82
100
|
tools: tools,
|
|
83
101
|
disableTriggerValidation: effectiveDisableTriggerValidation
|
|
84
102
|
}));
|
|
@@ -122,6 +140,10 @@ function ChatInner(_0, _1) {
|
|
|
122
140
|
status,
|
|
123
141
|
scrollToBottom
|
|
124
142
|
]);
|
|
143
|
+
var _ref3 = messagesProps !== null && messagesProps !== void 0 ? messagesProps : {}, callerAssistantMessageProps = _ref3.assistantMessageProps, callerUserMessageProps = _ref3.userMessageProps, restMessagesProps = _$2(_ref3, [
|
|
144
|
+
"assistantMessageProps",
|
|
145
|
+
"userMessageProps"
|
|
146
|
+
]);
|
|
125
147
|
return /*#__PURE__*/ React.createElement(ChatUiComponent, {
|
|
126
148
|
title: title,
|
|
127
149
|
open: open,
|
|
@@ -134,7 +156,7 @@ function ChatInner(_0, _1) {
|
|
|
134
156
|
headerComponent: headerComponent,
|
|
135
157
|
promptComponent: promptComponent,
|
|
136
158
|
suggestionsComponent: suggestionsComponent,
|
|
137
|
-
headerProps: _$
|
|
159
|
+
headerProps: _$5({
|
|
138
160
|
onClose: function onClose() {
|
|
139
161
|
return setOpen(false);
|
|
140
162
|
},
|
|
@@ -150,7 +172,7 @@ function ChatInner(_0, _1) {
|
|
|
150
172
|
maximizeIconComponent: headerMaximizeIconComponent,
|
|
151
173
|
translations: headerTranslations
|
|
152
174
|
}, headerProps),
|
|
153
|
-
messagesProps: _$
|
|
175
|
+
messagesProps: _$4(_$5({
|
|
154
176
|
status: status,
|
|
155
177
|
onReload: function onReload(messageId) {
|
|
156
178
|
return regenerate({
|
|
@@ -177,20 +199,21 @@ function ChatInner(_0, _1) {
|
|
|
177
199
|
errorComponent: messagesErrorComponent,
|
|
178
200
|
emptyComponent: emptyComponent,
|
|
179
201
|
actionsComponent: actionsComponent,
|
|
180
|
-
|
|
202
|
+
translations: messagesTranslations,
|
|
203
|
+
messageTranslations: messageTranslations
|
|
204
|
+
}, restMessagesProps), {
|
|
205
|
+
assistantMessageProps: _$5({
|
|
181
206
|
leadingComponent: assistantMessageLeadingComponent,
|
|
182
|
-
footerComponent: assistantMessageFooterComponent
|
|
183
|
-
|
|
184
|
-
|
|
207
|
+
footerComponent: assistantMessageFooterComponent,
|
|
208
|
+
showReasoning: showReasoning
|
|
209
|
+
}, callerAssistantMessageProps),
|
|
210
|
+
userMessageProps: _$5({
|
|
185
211
|
leadingComponent: userMessageLeadingComponent,
|
|
186
212
|
footerComponent: userMessageFooterComponent
|
|
187
|
-
},
|
|
188
|
-
translations: messagesTranslations,
|
|
189
|
-
messageTranslations: messageTranslations
|
|
190
|
-
}, messagesProps), {
|
|
213
|
+
}, callerUserMessageProps),
|
|
191
214
|
error: error
|
|
192
215
|
}),
|
|
193
|
-
promptProps: _$
|
|
216
|
+
promptProps: _$5({
|
|
194
217
|
promptRef: promptRef,
|
|
195
218
|
status: status,
|
|
196
219
|
value: input,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PromptSuggestionsOwnProps } from 'instantsearch-ui-components';
|
|
3
|
+
import type { UsePromptSuggestionsProps } from 'react-instantsearch-core';
|
|
4
|
+
/**
|
|
5
|
+
* Props passed to a custom `layoutComponent`. Mirrors the connector render
|
|
6
|
+
* state so a layout component owns the full markup.
|
|
7
|
+
*/
|
|
8
|
+
export type PromptSuggestionsLayoutComponentProps = {
|
|
9
|
+
suggestions: string[];
|
|
10
|
+
isLoading: boolean;
|
|
11
|
+
onSuggestionClick: (prompt: string) => void;
|
|
12
|
+
isChatBusy: boolean;
|
|
13
|
+
};
|
|
14
|
+
export type PromptSuggestionsOnSuggestionClick = (prompt: string, helpers: {
|
|
15
|
+
sendToChat: (prompt: string) => boolean;
|
|
16
|
+
}) => void;
|
|
17
|
+
type OwnedUiProps = 'suggestions' | 'isLoading' | 'onSuggestionClick' | 'disabled' | 'skeletonCount';
|
|
18
|
+
export type PromptSuggestionsProps = Omit<PromptSuggestionsOwnProps, OwnedUiProps> & UsePromptSuggestionsProps & {
|
|
19
|
+
layoutComponent?: (props: PromptSuggestionsLayoutComponentProps) => JSX.Element | null;
|
|
20
|
+
onSuggestionClick?: PromptSuggestionsOnSuggestionClick;
|
|
21
|
+
};
|
|
22
|
+
export declare function PromptSuggestions({ classNames, layoutComponent: LayoutComponent, onSuggestionClick: onSuggestionClickOverride, agentId, transport, configurationId, transformHits, context, transformItems, ...props }: PromptSuggestionsProps): React.JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { _ as _$2 } from '@swc/helpers/esm/_object_spread.js';
|
|
2
|
+
import { _ as _$1 } from '@swc/helpers/esm/_object_spread_props.js';
|
|
3
|
+
import { _ } from '@swc/helpers/esm/_object_without_properties.js';
|
|
4
|
+
import { createPromptSuggestionsComponent } from 'instantsearch-ui-components';
|
|
5
|
+
import React, { createElement, Fragment } from 'react';
|
|
6
|
+
import { usePromptSuggestions } from 'react-instantsearch-core';
|
|
7
|
+
|
|
8
|
+
var PromptSuggestionsUi = createPromptSuggestionsComponent({
|
|
9
|
+
createElement: createElement,
|
|
10
|
+
Fragment: Fragment
|
|
11
|
+
});
|
|
12
|
+
function PromptSuggestions(_0) {
|
|
13
|
+
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.
|
|
14
|
+
agentId = _0.agentId, transport = _0.transport, configurationId = _0.configurationId, transformHits = _0.transformHits, context = _0.context, transformItems = _0.transformItems, props = _(_0, [
|
|
15
|
+
"classNames",
|
|
16
|
+
"layoutComponent",
|
|
17
|
+
"onSuggestionClick",
|
|
18
|
+
"agentId",
|
|
19
|
+
"transport",
|
|
20
|
+
"configurationId",
|
|
21
|
+
"transformHits",
|
|
22
|
+
"context",
|
|
23
|
+
"transformItems"
|
|
24
|
+
]);
|
|
25
|
+
var _usePromptSuggestions = usePromptSuggestions({
|
|
26
|
+
agentId: agentId,
|
|
27
|
+
transport: transport,
|
|
28
|
+
configurationId: configurationId,
|
|
29
|
+
transformHits: transformHits,
|
|
30
|
+
context: context,
|
|
31
|
+
transformItems: transformItems
|
|
32
|
+
}, {
|
|
33
|
+
$$widgetType: 'ais.promptSuggestions'
|
|
34
|
+
}), suggestions = _usePromptSuggestions.suggestions, isLoading = _usePromptSuggestions.isLoading, onSuggestionClick = _usePromptSuggestions.onSuggestionClick, isChatBusy = _usePromptSuggestions.isChatBusy, sendToChat = _usePromptSuggestions.sendToChat;
|
|
35
|
+
var handleClick = onSuggestionClickOverride ? function(prompt) {
|
|
36
|
+
return onSuggestionClickOverride(prompt, {
|
|
37
|
+
sendToChat: sendToChat
|
|
38
|
+
});
|
|
39
|
+
} : onSuggestionClick;
|
|
40
|
+
if (LayoutComponent) {
|
|
41
|
+
return /*#__PURE__*/ React.createElement(LayoutComponent, {
|
|
42
|
+
suggestions: suggestions,
|
|
43
|
+
isLoading: isLoading,
|
|
44
|
+
onSuggestionClick: handleClick,
|
|
45
|
+
isChatBusy: isChatBusy
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return /*#__PURE__*/ React.createElement(PromptSuggestionsUi, _$1(_$2({}, props), {
|
|
49
|
+
classNames: classNames,
|
|
50
|
+
suggestions: suggestions,
|
|
51
|
+
isLoading: isLoading,
|
|
52
|
+
onSuggestionClick: handleClick,
|
|
53
|
+
disabled: isChatBusy
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { PromptSuggestions };
|
|
@@ -1,16 +1,48 @@
|
|
|
1
1
|
import { createDisplayResultsToolComponent, createButtonComponent, ChevronLeftIcon, ChevronRightIcon } from 'instantsearch-ui-components';
|
|
2
|
-
import React, { createElement, Fragment, useMemo } from 'react';
|
|
2
|
+
import React, { createElement, Fragment, useEffect, useMemo, useRef } from 'react';
|
|
3
3
|
import { Carousel } from '../../../components/Carousel.js';
|
|
4
4
|
|
|
5
5
|
function createDisplayResultsTool(itemComponent) {
|
|
6
6
|
var DisplayResultsUIComponent = createDisplayResultsToolComponent({
|
|
7
7
|
createElement: createElement,
|
|
8
8
|
Fragment: Fragment,
|
|
9
|
-
|
|
9
|
+
useEffect: useEffect,
|
|
10
|
+
useMemo: useMemo,
|
|
11
|
+
useRef: useRef
|
|
10
12
|
});
|
|
11
13
|
var Button = createButtonComponent({
|
|
12
14
|
createElement: createElement
|
|
13
15
|
});
|
|
16
|
+
var DisplayResultsCarouselHeader = function DisplayResultsCarouselHeader(param) {
|
|
17
|
+
var nbItems = param.nbItems, canScrollLeft = param.canScrollLeft, canScrollRight = param.canScrollRight, scrollLeft = param.scrollLeft, scrollRight = param.scrollRight;
|
|
18
|
+
return /*#__PURE__*/ React.createElement("div", {
|
|
19
|
+
className: "ais-ChatToolDisplayResultsCarouselHeader"
|
|
20
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
21
|
+
className: "ais-ChatToolDisplayResultsCarouselHeaderCount"
|
|
22
|
+
}, nbItems, " result", nbItems > 1 ? 's' : ''), /*#__PURE__*/ React.createElement("div", {
|
|
23
|
+
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButtons"
|
|
24
|
+
}, /*#__PURE__*/ React.createElement(Button, {
|
|
25
|
+
variant: "outline",
|
|
26
|
+
size: "sm",
|
|
27
|
+
iconOnly: true,
|
|
28
|
+
"aria-label": "Previous",
|
|
29
|
+
onClick: scrollLeft,
|
|
30
|
+
disabled: !canScrollLeft,
|
|
31
|
+
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton"
|
|
32
|
+
}, /*#__PURE__*/ React.createElement(ChevronLeftIcon, {
|
|
33
|
+
createElement: createElement
|
|
34
|
+
})), /*#__PURE__*/ React.createElement(Button, {
|
|
35
|
+
variant: "outline",
|
|
36
|
+
size: "sm",
|
|
37
|
+
iconOnly: true,
|
|
38
|
+
"aria-label": "Next",
|
|
39
|
+
onClick: scrollRight,
|
|
40
|
+
disabled: !canScrollRight,
|
|
41
|
+
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton"
|
|
42
|
+
}, /*#__PURE__*/ React.createElement(ChevronRightIcon, {
|
|
43
|
+
createElement: createElement
|
|
44
|
+
}))));
|
|
45
|
+
};
|
|
14
46
|
var DisplayResultsLayoutComponent = function DisplayResultsLayoutComponent(toolProps) {
|
|
15
47
|
return /*#__PURE__*/ React.createElement(DisplayResultsUIComponent, {
|
|
16
48
|
toolProps: toolProps,
|
|
@@ -21,40 +53,14 @@ function createDisplayResultsTool(itemComponent) {
|
|
|
21
53
|
itemComponent: itemComponent,
|
|
22
54
|
sendEvent: sendEvent,
|
|
23
55
|
showNavigation: false,
|
|
24
|
-
headerComponent:
|
|
25
|
-
var canScrollLeft = param.canScrollLeft, canScrollRight = param.canScrollRight, scrollLeft = param.scrollLeft, scrollRight = param.scrollRight;
|
|
26
|
-
return /*#__PURE__*/ React.createElement("div", {
|
|
27
|
-
className: "ais-ChatToolDisplayResultsCarouselHeader"
|
|
28
|
-
}, /*#__PURE__*/ React.createElement("div", {
|
|
29
|
-
className: "ais-ChatToolDisplayResultsCarouselHeaderCount"
|
|
30
|
-
}, items.length, " result", items.length > 1 ? 's' : ''), /*#__PURE__*/ React.createElement("div", {
|
|
31
|
-
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButtons"
|
|
32
|
-
}, /*#__PURE__*/ React.createElement(Button, {
|
|
33
|
-
variant: "outline",
|
|
34
|
-
size: "sm",
|
|
35
|
-
iconOnly: true,
|
|
36
|
-
onClick: scrollLeft,
|
|
37
|
-
disabled: !canScrollLeft,
|
|
38
|
-
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton"
|
|
39
|
-
}, /*#__PURE__*/ React.createElement(ChevronLeftIcon, {
|
|
40
|
-
createElement: createElement
|
|
41
|
-
})), /*#__PURE__*/ React.createElement(Button, {
|
|
42
|
-
variant: "outline",
|
|
43
|
-
size: "sm",
|
|
44
|
-
iconOnly: true,
|
|
45
|
-
onClick: scrollRight,
|
|
46
|
-
disabled: !canScrollRight,
|
|
47
|
-
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton"
|
|
48
|
-
}, /*#__PURE__*/ React.createElement(ChevronRightIcon, {
|
|
49
|
-
createElement: createElement
|
|
50
|
-
}))));
|
|
51
|
-
}
|
|
56
|
+
headerComponent: DisplayResultsCarouselHeader
|
|
52
57
|
});
|
|
53
58
|
}
|
|
54
59
|
});
|
|
55
60
|
};
|
|
56
61
|
return {
|
|
57
|
-
layoutComponent: DisplayResultsLayoutComponent
|
|
62
|
+
layoutComponent: DisplayResultsLayoutComponent,
|
|
63
|
+
streamInput: true
|
|
58
64
|
};
|
|
59
65
|
}
|
|
60
66
|
|