react-instantsearch 7.37.0 → 7.38.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/widgets/Chat.js
CHANGED
|
@@ -52,7 +52,8 @@ var _SearchIndexTool = require("./chat/tools/SearchIndexTool");
|
|
|
52
52
|
var ChatUiComponent = (0, _instantsearchuicomponents.createChatComponent)({
|
|
53
53
|
createElement: _react.createElement,
|
|
54
54
|
Fragment: _react.Fragment,
|
|
55
|
-
memo: _react.memo
|
|
55
|
+
memo: _react.memo,
|
|
56
|
+
useState: _react.useState
|
|
56
57
|
});
|
|
57
58
|
function createDefaultTools(itemComponent, getSearchPageURL) {
|
|
58
59
|
var _obj;
|
|
@@ -117,7 +118,7 @@ function ChatInner(_0, _1) {
|
|
|
117
118
|
tools: tools,
|
|
118
119
|
disableTriggerValidation: effectiveDisableTriggerValidation
|
|
119
120
|
}));
|
|
120
|
-
var messages = chatState.messages, sendMessage = chatState.sendMessage, status = chatState.status, regenerate = chatState.regenerate, stop = chatState.stop, error = chatState.error, input = chatState.input, setInput = chatState.setInput, open = chatState.open, setOpen = chatState.setOpen,
|
|
121
|
+
var messages = chatState.messages, sendMessage = chatState.sendMessage, status = chatState.status, regenerate = chatState.regenerate, stop = chatState.stop, error = chatState.error, input = chatState.input, setInput = chatState.setInput, open = chatState.open, setOpen = chatState.setOpen, clearMessages = chatState.clearMessages, toolsFromConnector = chatState.tools, suggestions = chatState.suggestions, onFeedback = chatState.sendChatMessageFeedback, feedbackState = chatState.feedbackState;
|
|
121
122
|
(0, _react.useImperativeHandle)(ref, function() {
|
|
122
123
|
return {
|
|
123
124
|
setOpen: setOpen,
|
|
@@ -178,7 +179,7 @@ function ChatInner(_0, _1) {
|
|
|
178
179
|
return setMaximized(!maximized);
|
|
179
180
|
},
|
|
180
181
|
onClear: clearMessages,
|
|
181
|
-
canClear: Boolean(messages === null || messages === void 0 ? void 0 : messages.length)
|
|
182
|
+
canClear: Boolean(messages === null || messages === void 0 ? void 0 : messages.length),
|
|
182
183
|
titleIconComponent: headerTitleIconComponent,
|
|
183
184
|
closeIconComponent: headerCloseIconComponent,
|
|
184
185
|
minimizeIconComponent: headerMinimizeIconComponent,
|
|
@@ -204,8 +205,6 @@ function ChatInner(_0, _1) {
|
|
|
204
205
|
tools: toolsFromConnector,
|
|
205
206
|
indexUiState: indexUiState,
|
|
206
207
|
setIndexUiState: setIndexUiState,
|
|
207
|
-
isClearing: isClearing,
|
|
208
|
-
onClearTransitionEnd: onClearTransitionEnd,
|
|
209
208
|
isScrollAtBottom: isAtBottom,
|
|
210
209
|
scrollRef: scrollRef,
|
|
211
210
|
contentRef: contentRef,
|
package/dist/es/widgets/Chat.js
CHANGED
|
@@ -16,7 +16,8 @@ import { createCarouselTool } from './chat/tools/SearchIndexTool.js';
|
|
|
16
16
|
var ChatUiComponent = createChatComponent({
|
|
17
17
|
createElement: createElement,
|
|
18
18
|
Fragment: Fragment,
|
|
19
|
-
memo: memo
|
|
19
|
+
memo: memo,
|
|
20
|
+
useState: useState
|
|
20
21
|
});
|
|
21
22
|
function createDefaultTools(itemComponent, getSearchPageURL) {
|
|
22
23
|
var _obj;
|
|
@@ -81,7 +82,7 @@ function ChatInner(_0, _1) {
|
|
|
81
82
|
tools: tools,
|
|
82
83
|
disableTriggerValidation: effectiveDisableTriggerValidation
|
|
83
84
|
}));
|
|
84
|
-
var messages = chatState.messages, sendMessage = chatState.sendMessage, status = chatState.status, regenerate = chatState.regenerate, stop = chatState.stop, error = chatState.error, input = chatState.input, setInput = chatState.setInput, open = chatState.open, setOpen = chatState.setOpen,
|
|
85
|
+
var messages = chatState.messages, sendMessage = chatState.sendMessage, status = chatState.status, regenerate = chatState.regenerate, stop = chatState.stop, error = chatState.error, input = chatState.input, setInput = chatState.setInput, open = chatState.open, setOpen = chatState.setOpen, clearMessages = chatState.clearMessages, toolsFromConnector = chatState.tools, suggestions = chatState.suggestions, onFeedback = chatState.sendChatMessageFeedback, feedbackState = chatState.feedbackState;
|
|
85
86
|
useImperativeHandle(ref, function() {
|
|
86
87
|
return {
|
|
87
88
|
setOpen: setOpen,
|
|
@@ -142,7 +143,7 @@ function ChatInner(_0, _1) {
|
|
|
142
143
|
return setMaximized(!maximized);
|
|
143
144
|
},
|
|
144
145
|
onClear: clearMessages,
|
|
145
|
-
canClear: Boolean(messages === null || messages === void 0 ? void 0 : messages.length)
|
|
146
|
+
canClear: Boolean(messages === null || messages === void 0 ? void 0 : messages.length),
|
|
146
147
|
titleIconComponent: headerTitleIconComponent,
|
|
147
148
|
closeIconComponent: headerCloseIconComponent,
|
|
148
149
|
minimizeIconComponent: headerMinimizeIconComponent,
|
|
@@ -168,8 +169,6 @@ function ChatInner(_0, _1) {
|
|
|
168
169
|
tools: toolsFromConnector,
|
|
169
170
|
indexUiState: indexUiState,
|
|
170
171
|
setIndexUiState: setIndexUiState,
|
|
171
|
-
isClearing: isClearing,
|
|
172
|
-
onClearTransitionEnd: onClearTransitionEnd,
|
|
173
172
|
isScrollAtBottom: isAtBottom,
|
|
174
173
|
scrollRef: scrollRef,
|
|
175
174
|
contentRef: contentRef,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! React InstantSearch 7.
|
|
1
|
+
/*! React InstantSearch 7.38.0 | © Algolia, Inc. and contributors; MIT License | https://github.com/algolia/instantsearch */
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
26
26
|
|
|
27
|
-
var version$2 = '7.
|
|
27
|
+
var version$2 = '7.38.0';
|
|
28
28
|
|
|
29
29
|
function _define_property(obj, key, value) {
|
|
30
30
|
if (key in obj) {
|
|
@@ -6890,10 +6890,11 @@
|
|
|
6890
6890
|
|
|
6891
6891
|
var hasAlphanumeric = new RegExp(/\w/i);
|
|
6892
6892
|
function getHighlightFromSiblings(parts, i) {
|
|
6893
|
+
var _ref, _ref1;
|
|
6893
6894
|
var _parts_, _parts_1;
|
|
6894
6895
|
var current = parts[i];
|
|
6895
|
-
var isNextHighlighted = ((_parts_ = parts[i + 1]) === null || _parts_ === void 0 ? void 0 : _parts_.isHighlighted)
|
|
6896
|
-
var isPreviousHighlighted = ((_parts_1 = parts[i - 1]) === null || _parts_1 === void 0 ? void 0 : _parts_1.isHighlighted)
|
|
6896
|
+
var isNextHighlighted = (_ref = (_parts_ = parts[i + 1]) === null || _parts_ === void 0 ? void 0 : _parts_.isHighlighted) !== null && _ref !== void 0 ? _ref : true;
|
|
6897
|
+
var isPreviousHighlighted = (_ref1 = (_parts_1 = parts[i - 1]) === null || _parts_1 === void 0 ? void 0 : _parts_1.isHighlighted) !== null && _ref1 !== void 0 ? _ref1 : true;
|
|
6897
6898
|
if (!hasAlphanumeric.test(unescape$1(current.value)) && isPreviousHighlighted === isNextHighlighted) {
|
|
6898
6899
|
return isPreviousHighlighted;
|
|
6899
6900
|
}
|
|
@@ -10821,7 +10822,7 @@
|
|
|
10821
10822
|
};
|
|
10822
10823
|
}
|
|
10823
10824
|
|
|
10824
|
-
var version = '4.
|
|
10825
|
+
var version = '4.104.0';
|
|
10825
10826
|
|
|
10826
10827
|
var withUsage$r = createDocumentationMessageGenerator({
|
|
10827
10828
|
name: 'instantsearch'
|
|
@@ -13884,12 +13885,10 @@
|
|
|
13884
13885
|
var _chatInstance;
|
|
13885
13886
|
var input = '';
|
|
13886
13887
|
var open = false;
|
|
13887
|
-
var isClearing = false;
|
|
13888
13888
|
var sendEvent;
|
|
13889
13889
|
var setInput;
|
|
13890
13890
|
var setOpen;
|
|
13891
13891
|
var focusInput;
|
|
13892
|
-
var setIsClearing;
|
|
13893
13892
|
var setFeedbackState;
|
|
13894
13893
|
var hasValidatedEntryPoints = false;
|
|
13895
13894
|
var agentId = 'agentId' in options ? options.agentId : undefined;
|
|
@@ -13919,21 +13918,17 @@
|
|
|
13919
13918
|
_chatInstance.messages = messagesParam;
|
|
13920
13919
|
};
|
|
13921
13920
|
var clearMessages = function clearMessages() {
|
|
13922
|
-
if (!_chatInstance.messages || _chatInstance.messages.length === 0) {
|
|
13923
|
-
return;
|
|
13924
|
-
}
|
|
13925
13921
|
var status = _chatInstance.status;
|
|
13926
13922
|
if (status === 'submitted' || status === 'streaming') {
|
|
13927
13923
|
_chatInstance.stop();
|
|
13928
13924
|
}
|
|
13929
|
-
|
|
13930
|
-
|
|
13931
|
-
|
|
13925
|
+
// Reset the non-reactive state first: `setMessages` and `clearError` emit
|
|
13926
|
+
// ChatState callbacks that synchronously re-render, so they must run last
|
|
13927
|
+
// for that render to see the cleared feedback and rotated conversation id.
|
|
13928
|
+
feedbackState = {};
|
|
13929
|
+
_chatInstance.resetConversationId();
|
|
13932
13930
|
setMessages([]);
|
|
13933
13931
|
_chatInstance.clearError();
|
|
13934
|
-
_chatInstance.resetConversationId();
|
|
13935
|
-
feedbackState = {};
|
|
13936
|
-
setIsClearing(false);
|
|
13937
13932
|
};
|
|
13938
13933
|
var validateEntryPoints = function validateEntryPoints(instantSearchInstance) {
|
|
13939
13934
|
if (disableTriggerValidation || hasValidatedEntryPoints) {
|
|
@@ -13999,22 +13994,37 @@
|
|
|
13999
13994
|
}));
|
|
14000
13995
|
}
|
|
14001
13996
|
if ('agentId' in options && options.agentId) {
|
|
13997
|
+
var _options_requestOptions, _options_requestOptions1;
|
|
14002
13998
|
if (!appId || !apiKey) {
|
|
14003
13999
|
throw new Error(withUsage$o('Could not extract Algolia credentials from the search client.'));
|
|
14004
14000
|
}
|
|
14005
|
-
var
|
|
14001
|
+
var createApi = function createApi() {
|
|
14002
|
+
var bypassCache = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
|
|
14003
|
+
var _options_requestOptions;
|
|
14004
|
+
var api = new URL("https://".concat(appId, ".algolia.net/agent-studio/1/agents/").concat(agentId, "/completions"));
|
|
14005
|
+
var queryParameters = _object_spread(_object_spread_props(_object_spread({}, (_options_requestOptions = options.requestOptions) === null || _options_requestOptions === void 0 ? void 0 : _options_requestOptions.queryParameters), {
|
|
14006
|
+
compatibilityMode: 'ai-sdk-5'
|
|
14007
|
+
}), bypassCache ? {
|
|
14008
|
+
cache: false
|
|
14009
|
+
} : {});
|
|
14010
|
+
api.search = new URLSearchParams(queryParameters).toString();
|
|
14011
|
+
return api.toString();
|
|
14012
|
+
};
|
|
14013
|
+
var baseApi = createApi();
|
|
14006
14014
|
transport = new DefaultChatTransport({
|
|
14007
14015
|
api: baseApi,
|
|
14008
|
-
headers: {
|
|
14016
|
+
headers: _object_spread_props(_object_spread({}, _instanceof((_options_requestOptions = options.requestOptions) === null || _options_requestOptions === void 0 ? void 0 : _options_requestOptions.headers, Headers) ? Object.fromEntries(options.requestOptions.headers.entries()) : (_options_requestOptions1 = options.requestOptions) === null || _options_requestOptions1 === void 0 ? void 0 : _options_requestOptions1.headers), {
|
|
14017
|
+
// Preserve the required Algolia identity headers and chat agent
|
|
14018
|
+
// marker, even when requestOptions.headers contains the same keys.
|
|
14009
14019
|
'x-algolia-application-id': appId,
|
|
14010
14020
|
'x-algolia-api-key': apiKey,
|
|
14011
14021
|
'x-algolia-agent': "".concat(getAlgoliaAgent(client), "; chat")
|
|
14012
|
-
},
|
|
14022
|
+
}),
|
|
14013
14023
|
prepareSendMessagesRequest: function prepareSendMessagesRequest(param) {
|
|
14014
14024
|
var id = param.id, messages = param.messages, trigger = param.trigger, messageId = param.messageId;
|
|
14015
14025
|
return {
|
|
14016
14026
|
// Bypass cache when regenerating to ensure fresh responses
|
|
14017
|
-
api: trigger === 'regenerate-message' ?
|
|
14027
|
+
api: trigger === 'regenerate-message' ? createApi(true) : baseApi,
|
|
14018
14028
|
body: {
|
|
14019
14029
|
id: id,
|
|
14020
14030
|
messageId: messageId,
|
|
@@ -14099,10 +14109,6 @@
|
|
|
14099
14109
|
input = i;
|
|
14100
14110
|
render();
|
|
14101
14111
|
};
|
|
14102
|
-
setIsClearing = function setIsClearing(value) {
|
|
14103
|
-
isClearing = value;
|
|
14104
|
-
render();
|
|
14105
|
-
};
|
|
14106
14112
|
setFeedbackState = function setFeedbackState(messageId, state) {
|
|
14107
14113
|
feedbackState = _object_spread_props(_object_spread({}, feedbackState), _define_property({}, messageId, state));
|
|
14108
14114
|
render();
|
|
@@ -14221,9 +14227,7 @@
|
|
|
14221
14227
|
focusInput: focusInput,
|
|
14222
14228
|
setMessages: setMessages,
|
|
14223
14229
|
suggestions: getSuggestionsFromMessages(_chatInstance.messages),
|
|
14224
|
-
isClearing: isClearing,
|
|
14225
14230
|
clearMessages: clearMessages,
|
|
14226
|
-
onClearTransitionEnd: onClearTransitionEnd,
|
|
14227
14231
|
tools: toolsWithAddToolResult,
|
|
14228
14232
|
sendChatMessageFeedback: _sendChatMessageFeedback,
|
|
14229
14233
|
feedbackState: feedbackState,
|
|
@@ -20448,9 +20452,8 @@
|
|
|
20448
20452
|
Fragment: Fragment
|
|
20449
20453
|
});
|
|
20450
20454
|
// Skip re-rendering (and re-compiling the markdown of) completed messages on
|
|
20451
|
-
// every streaming delta.
|
|
20452
|
-
|
|
20453
|
-
var MemoizedDefaultMessage = memo ? memo(DefaultMessageComponent, areMessagePropsEqual) : DefaultMessageComponent;
|
|
20455
|
+
// every streaming delta.
|
|
20456
|
+
var MemoizedDefaultMessage = memo(DefaultMessageComponent, areMessagePropsEqual);
|
|
20454
20457
|
var DefaultLoaderComponent = createChatMessageLoaderComponent({
|
|
20455
20458
|
createElement: createElement
|
|
20456
20459
|
});
|
|
@@ -20827,8 +20830,11 @@
|
|
|
20827
20830
|
};
|
|
20828
20831
|
}
|
|
20829
20832
|
|
|
20833
|
+
function prefersReducedMotion() {
|
|
20834
|
+
return typeof window !== 'undefined' && typeof window.matchMedia === 'function' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
20835
|
+
}
|
|
20830
20836
|
function createChatComponent(param) {
|
|
20831
|
-
var createElement = param.createElement, Fragment = param.Fragment, memo = param.memo;
|
|
20837
|
+
var createElement = param.createElement, Fragment = param.Fragment, memo = param.memo, useState = param.useState;
|
|
20832
20838
|
var ChatHeader = createChatHeaderComponent({
|
|
20833
20839
|
createElement: createElement,
|
|
20834
20840
|
Fragment: Fragment
|
|
@@ -20869,11 +20875,38 @@
|
|
|
20869
20875
|
"stop",
|
|
20870
20876
|
"error"
|
|
20871
20877
|
]);
|
|
20878
|
+
var _useState = _sliced_to_array(useState(false), 2), isClearing = _useState[0], setIsClearing = _useState[1];
|
|
20879
|
+
var commitClear = headerProps.onClear || messagesProps.onNewConversation;
|
|
20880
|
+
var startClear = function startClear() {
|
|
20881
|
+
if (!commitClear) {
|
|
20882
|
+
return;
|
|
20883
|
+
}
|
|
20884
|
+
// Reduced motion disables the transition, so `transitionend` never fires;
|
|
20885
|
+
// commit immediately instead of waiting for it.
|
|
20886
|
+
if (prefersReducedMotion()) {
|
|
20887
|
+
commitClear();
|
|
20888
|
+
return;
|
|
20889
|
+
}
|
|
20890
|
+
// Stop streaming now so the assistant stops immediately, not after the fade.
|
|
20891
|
+
if (messagesProps.status === 'submitted' || messagesProps.status === 'streaming') {
|
|
20892
|
+
stop();
|
|
20893
|
+
}
|
|
20894
|
+
setIsClearing(true);
|
|
20895
|
+
};
|
|
20896
|
+
var finishClear = function finishClear() {
|
|
20897
|
+
commitClear === null || commitClear === void 0 ? void 0 : commitClear();
|
|
20898
|
+
setIsClearing(false);
|
|
20899
|
+
};
|
|
20872
20900
|
var headerComponent = createElement(HeaderComponent || ChatHeader, _object_spread_props(_object_spread({}, headerProps), {
|
|
20901
|
+
onClear: commitClear ? startClear : headerProps.onClear,
|
|
20902
|
+
canClear: headerProps.canClear && !isClearing,
|
|
20873
20903
|
classNames: classNames.header,
|
|
20874
20904
|
maximized: maximized
|
|
20875
20905
|
}));
|
|
20876
20906
|
var messagesComponent = /*#__PURE__*/ createElement(ChatMessages, _object_spread_props(_object_spread({}, messagesProps), {
|
|
20907
|
+
isClearing: isClearing,
|
|
20908
|
+
onClearTransitionEnd: finishClear,
|
|
20909
|
+
onNewConversation: commitClear ? startClear : messagesProps.onNewConversation,
|
|
20877
20910
|
error: error,
|
|
20878
20911
|
classNames: classNames.messages,
|
|
20879
20912
|
messageClassNames: classNames.message,
|
|
@@ -20898,9 +20931,9 @@
|
|
|
20898
20931
|
messages: messagesProps.messages,
|
|
20899
20932
|
status: messagesProps.status,
|
|
20900
20933
|
tools: messagesProps.tools,
|
|
20901
|
-
isClearing:
|
|
20902
|
-
clearMessages: headerProps.onClear,
|
|
20903
|
-
onClearTransitionEnd:
|
|
20934
|
+
isClearing: isClearing,
|
|
20935
|
+
clearMessages: commitClear ? startClear : headerProps.onClear,
|
|
20936
|
+
onClearTransitionEnd: finishClear,
|
|
20904
20937
|
suggestions: suggestionsProps.suggestions,
|
|
20905
20938
|
sendMessage: sendMessage,
|
|
20906
20939
|
regenerate: regenerate,
|
|
@@ -23395,7 +23428,8 @@
|
|
|
23395
23428
|
var ChatUiComponent = createChatComponent({
|
|
23396
23429
|
createElement: React.createElement,
|
|
23397
23430
|
Fragment: React.Fragment,
|
|
23398
|
-
memo: React.memo
|
|
23431
|
+
memo: React.memo,
|
|
23432
|
+
useState: React.useState
|
|
23399
23433
|
});
|
|
23400
23434
|
function createDefaultTools(itemComponent, getSearchPageURL) {
|
|
23401
23435
|
var _obj;
|
|
@@ -23460,7 +23494,7 @@
|
|
|
23460
23494
|
tools: tools,
|
|
23461
23495
|
disableTriggerValidation: effectiveDisableTriggerValidation
|
|
23462
23496
|
}));
|
|
23463
|
-
var messages = chatState.messages, sendMessage = chatState.sendMessage, status = chatState.status, regenerate = chatState.regenerate, stop = chatState.stop, error = chatState.error, input = chatState.input, setInput = chatState.setInput, open = chatState.open, setOpen = chatState.setOpen,
|
|
23497
|
+
var messages = chatState.messages, sendMessage = chatState.sendMessage, status = chatState.status, regenerate = chatState.regenerate, stop = chatState.stop, error = chatState.error, input = chatState.input, setInput = chatState.setInput, open = chatState.open, setOpen = chatState.setOpen, clearMessages = chatState.clearMessages, toolsFromConnector = chatState.tools, suggestions = chatState.suggestions, onFeedback = chatState.sendChatMessageFeedback, feedbackState = chatState.feedbackState;
|
|
23464
23498
|
React.useImperativeHandle(ref, function() {
|
|
23465
23499
|
return {
|
|
23466
23500
|
setOpen: setOpen,
|
|
@@ -23524,7 +23558,7 @@
|
|
|
23524
23558
|
return setMaximized(!maximized);
|
|
23525
23559
|
},
|
|
23526
23560
|
onClear: clearMessages,
|
|
23527
|
-
canClear: Boolean(messages === null || messages === void 0 ? void 0 : messages.length)
|
|
23561
|
+
canClear: Boolean(messages === null || messages === void 0 ? void 0 : messages.length),
|
|
23528
23562
|
titleIconComponent: headerTitleIconComponent,
|
|
23529
23563
|
closeIconComponent: headerCloseIconComponent,
|
|
23530
23564
|
minimizeIconComponent: headerMinimizeIconComponent,
|
|
@@ -23550,8 +23584,6 @@
|
|
|
23550
23584
|
tools: toolsFromConnector,
|
|
23551
23585
|
indexUiState: indexUiState,
|
|
23552
23586
|
setIndexUiState: setIndexUiState,
|
|
23553
|
-
isClearing: isClearing,
|
|
23554
|
-
onClearTransitionEnd: onClearTransitionEnd,
|
|
23555
23587
|
isScrollAtBottom: isAtBottom,
|
|
23556
23588
|
scrollRef: scrollRef,
|
|
23557
23589
|
contentRef: contentRef,
|