react-instantsearch 7.28.1 → 7.29.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/ChatInlineLayout.js +17 -0
- package/dist/cjs/components/ChatOverlayLayout.js +17 -0
- package/dist/cjs/components/index.js +2 -0
- package/dist/cjs/widgets/Chat.js +10 -2
- package/dist/es/components/ChatInlineLayout.d.ts +1 -0
- package/dist/es/components/ChatInlineLayout.js +9 -0
- package/dist/es/components/ChatOverlayLayout.d.ts +3 -0
- package/dist/es/components/ChatOverlayLayout.js +9 -0
- package/dist/es/components/index.d.ts +2 -0
- package/dist/es/components/index.js +2 -0
- package/dist/es/index.js +2 -0
- package/dist/es/widgets/Chat.d.ts +4 -3
- package/dist/es/widgets/Chat.js +10 -2
- package/dist/umd/ReactInstantSearch.js +354 -26
- package/dist/umd/ReactInstantSearch.min.js +3 -3
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! React InstantSearch 7.
|
|
1
|
+
/*! React InstantSearch 7.29.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.29.0';
|
|
28
28
|
|
|
29
29
|
function _define_property(obj, key, value) {
|
|
30
30
|
if (key in obj) {
|
|
@@ -9684,7 +9684,7 @@
|
|
|
9684
9684
|
};
|
|
9685
9685
|
}
|
|
9686
9686
|
|
|
9687
|
-
var version = '4.
|
|
9687
|
+
var version = '4.93.0';
|
|
9688
9688
|
|
|
9689
9689
|
function hydrateSearchClient(client, results) {
|
|
9690
9690
|
if (!results) {
|
|
@@ -12578,6 +12578,30 @@
|
|
|
12578
12578
|
return DefaultChatTransport;
|
|
12579
12579
|
}(HttpChatTransport);
|
|
12580
12580
|
|
|
12581
|
+
function sendChatMessageFeedback(param) {
|
|
12582
|
+
var agentId = param.agentId, vote = param.vote, messageId = param.messageId, appId = param.appId, apiKey = param.apiKey;
|
|
12583
|
+
return fetch("https://".concat(appId, ".algolia.net/agent-studio/1/feedback"), {
|
|
12584
|
+
method: 'POST',
|
|
12585
|
+
body: JSON.stringify({
|
|
12586
|
+
messageId: messageId,
|
|
12587
|
+
agentId: agentId,
|
|
12588
|
+
vote: vote
|
|
12589
|
+
}),
|
|
12590
|
+
headers: {
|
|
12591
|
+
'x-algolia-application-id': appId,
|
|
12592
|
+
'x-algolia-api-key': apiKey,
|
|
12593
|
+
'content-type': 'application/json'
|
|
12594
|
+
}
|
|
12595
|
+
}).then(function(response) {
|
|
12596
|
+
if (response.status >= 300) {
|
|
12597
|
+
return response.json().then(function(data) {
|
|
12598
|
+
throw new Error("Feedback request failed with status ".concat(response.status, ": ").concat(data.message));
|
|
12599
|
+
});
|
|
12600
|
+
}
|
|
12601
|
+
return response.json();
|
|
12602
|
+
});
|
|
12603
|
+
}
|
|
12604
|
+
|
|
12581
12605
|
/**
|
|
12582
12606
|
* Clears the refinements of a SearchParameters object based on rules provided.
|
|
12583
12607
|
* The included attributes list is applied before the excluded attributes list. If the list
|
|
@@ -12797,7 +12821,11 @@
|
|
|
12797
12821
|
var setOpen;
|
|
12798
12822
|
var focusInput;
|
|
12799
12823
|
var setIsClearing;
|
|
12824
|
+
var setFeedbackState;
|
|
12800
12825
|
var agentId = 'agentId' in options ? options.agentId : undefined;
|
|
12826
|
+
var feedbackState = {};
|
|
12827
|
+
var _sendChatMessageFeedback;
|
|
12828
|
+
var feedbackAbortController;
|
|
12801
12829
|
// Extract suggestions from the last assistant message's data-suggestions part
|
|
12802
12830
|
var getSuggestionsFromMessages = function getSuggestionsFromMessages(messages) {
|
|
12803
12831
|
// Find the last assistant message (iterate from end)
|
|
@@ -12829,6 +12857,7 @@
|
|
|
12829
12857
|
var onClearTransitionEnd = function onClearTransitionEnd() {
|
|
12830
12858
|
setMessages([]);
|
|
12831
12859
|
_chatInstance.clearError();
|
|
12860
|
+
feedbackState = {};
|
|
12832
12861
|
setIsClearing(false);
|
|
12833
12862
|
};
|
|
12834
12863
|
var makeChatInstance = function makeChatInstance(instantSearchInstance) {
|
|
@@ -12963,6 +12992,33 @@
|
|
|
12963
12992
|
isClearing = value;
|
|
12964
12993
|
render();
|
|
12965
12994
|
};
|
|
12995
|
+
setFeedbackState = function setFeedbackState(messageId, state) {
|
|
12996
|
+
feedbackState = _object_spread_props(_object_spread({}, feedbackState), _define_property({}, messageId, state));
|
|
12997
|
+
render();
|
|
12998
|
+
};
|
|
12999
|
+
var feedback = 'feedback' in options ? options.feedback : undefined;
|
|
13000
|
+
if (agentId && feedback) {
|
|
13001
|
+
var _getAppIdAndApiKey = _sliced_to_array(getAppIdAndApiKey(initOptions.instantSearchInstance.client), 2), appId = _getAppIdAndApiKey[0], apiKey = _getAppIdAndApiKey[1];
|
|
13002
|
+
if (!appId || !apiKey) {
|
|
13003
|
+
throw new Error(withUsage$m('Could not extract Algolia credentials from the search client.'));
|
|
13004
|
+
}
|
|
13005
|
+
feedbackAbortController = new AbortController();
|
|
13006
|
+
_sendChatMessageFeedback = function _sendChatMessageFeedback(messageId, vote) {
|
|
13007
|
+
if (feedbackState[messageId] !== undefined) {
|
|
13008
|
+
return;
|
|
13009
|
+
}
|
|
13010
|
+
setFeedbackState(messageId, 'sending');
|
|
13011
|
+
sendChatMessageFeedback({
|
|
13012
|
+
agentId: agentId,
|
|
13013
|
+
vote: vote,
|
|
13014
|
+
messageId: messageId,
|
|
13015
|
+
appId: appId,
|
|
13016
|
+
apiKey: apiKey
|
|
13017
|
+
}).finally(function() {
|
|
13018
|
+
setFeedbackState(messageId, vote);
|
|
13019
|
+
});
|
|
13020
|
+
};
|
|
13021
|
+
}
|
|
12966
13022
|
_chatInstance['~registerErrorCallback'](render);
|
|
12967
13023
|
_chatInstance['~registerMessagesCallback'](render);
|
|
12968
13024
|
_chatInstance['~registerStatusCallback'](render);
|
|
@@ -13023,6 +13079,8 @@
|
|
|
13023
13079
|
clearMessages: clearMessages,
|
|
13024
13080
|
onClearTransitionEnd: onClearTransitionEnd,
|
|
13025
13081
|
tools: toolsWithAddToolResult,
|
|
13082
|
+
sendChatMessageFeedback: _sendChatMessageFeedback,
|
|
13083
|
+
feedbackState: feedbackState,
|
|
13026
13084
|
widgetParams: widgetParams,
|
|
13027
13085
|
// Chat instance render state
|
|
13028
13086
|
addToolResult: _chatInstance.addToolResult,
|
|
@@ -13038,6 +13096,7 @@
|
|
|
13038
13096
|
};
|
|
13039
13097
|
},
|
|
13040
13098
|
dispose: function dispose() {
|
|
13099
|
+
feedbackAbortController === null || feedbackAbortController === void 0 ? void 0 : feedbackAbortController.abort();
|
|
13041
13100
|
unmountFn();
|
|
13042
13101
|
},
|
|
13043
13102
|
shouldRender: function shouldRender() {
|
|
@@ -17330,6 +17389,20 @@
|
|
|
17330
17389
|
};
|
|
17331
17390
|
}
|
|
17332
17391
|
|
|
17392
|
+
// WebKit can keep this SVG spinner animating while the loading slot is hidden (`hidden` / not stalled),
|
|
17393
|
+
// which wastes work. We pause SMIL when idle and unpause when `isSearchStalled`.
|
|
17394
|
+
// Same approach as autocomplete-js.
|
|
17395
|
+
// https://github.com/algolia/autocomplete/issues/1322
|
|
17396
|
+
function syncLoadingSvgAnimation(element, isSearchStalled) {
|
|
17397
|
+
if (!element || typeof element.pauseAnimations !== 'function' || typeof element.unpauseAnimations !== 'function') {
|
|
17398
|
+
return;
|
|
17399
|
+
}
|
|
17400
|
+
if (isSearchStalled) {
|
|
17401
|
+
element.unpauseAnimations();
|
|
17402
|
+
} else {
|
|
17403
|
+
element.pauseAnimations();
|
|
17404
|
+
}
|
|
17405
|
+
}
|
|
17333
17406
|
function SubmitIcon(param) {
|
|
17334
17407
|
var createElement = param.createElement;
|
|
17335
17408
|
return /*#__PURE__*/ createElement("svg", {
|
|
@@ -17341,10 +17414,13 @@
|
|
|
17341
17414
|
}));
|
|
17342
17415
|
}
|
|
17343
17416
|
function LoadingIcon(param) {
|
|
17344
|
-
var createElement = param.createElement;
|
|
17417
|
+
var createElement = param.createElement, isSearchStalled = param.isSearchStalled;
|
|
17345
17418
|
return /*#__PURE__*/ createElement("svg", {
|
|
17346
17419
|
className: "ais-AutocompleteLoadingIcon",
|
|
17347
|
-
viewBox: "0 0 100 100"
|
|
17420
|
+
viewBox: "0 0 100 100",
|
|
17421
|
+
ref: function ref(element) {
|
|
17422
|
+
return syncLoadingSvgAnimation(element, isSearchStalled);
|
|
17423
|
+
}
|
|
17348
17424
|
}, /*#__PURE__*/ createElement("circle", {
|
|
17349
17425
|
cx: "50",
|
|
17350
17426
|
cy: "50",
|
|
@@ -17732,6 +17808,51 @@
|
|
|
17732
17808
|
stroke: "currentColor"
|
|
17733
17809
|
}));
|
|
17734
17810
|
}
|
|
17811
|
+
function CheckIcon(param) {
|
|
17812
|
+
var createElement = param.createElement;
|
|
17813
|
+
return /*#__PURE__*/ createElement("svg", {
|
|
17814
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
17815
|
+
viewBox: "0 0 24 24",
|
|
17816
|
+
fill: "none",
|
|
17817
|
+
stroke: "currentColor",
|
|
17818
|
+
strokeLinecap: "round",
|
|
17819
|
+
strokeLinejoin: "round"
|
|
17820
|
+
}, /*#__PURE__*/ createElement("path", {
|
|
17821
|
+
d: "M21.801 10A10 10 0 1 1 17 3.335"
|
|
17822
|
+
}), /*#__PURE__*/ createElement("path", {
|
|
17823
|
+
d: "m9 11 3 3L22 4"
|
|
17824
|
+
}));
|
|
17825
|
+
}
|
|
17826
|
+
function ThumbsUpIcon(param) {
|
|
17827
|
+
var createElement = param.createElement;
|
|
17828
|
+
return /*#__PURE__*/ createElement("svg", {
|
|
17829
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
17830
|
+
viewBox: "0 0 24 24",
|
|
17831
|
+
fill: "none",
|
|
17832
|
+
stroke: "currentColor",
|
|
17833
|
+
strokeLinecap: "round",
|
|
17834
|
+
strokeLinejoin: "round"
|
|
17835
|
+
}, /*#__PURE__*/ createElement("path", {
|
|
17836
|
+
d: "M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"
|
|
17837
|
+
}), /*#__PURE__*/ createElement("path", {
|
|
17838
|
+
d: "M7 10v12"
|
|
17839
|
+
}));
|
|
17840
|
+
}
|
|
17841
|
+
function ThumbsDownIcon(param) {
|
|
17842
|
+
var createElement = param.createElement;
|
|
17843
|
+
return /*#__PURE__*/ createElement("svg", {
|
|
17844
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
17845
|
+
viewBox: "0 0 24 24",
|
|
17846
|
+
fill: "none",
|
|
17847
|
+
stroke: "currentColor",
|
|
17848
|
+
strokeLinecap: "round",
|
|
17849
|
+
strokeLinejoin: "round"
|
|
17850
|
+
}, /*#__PURE__*/ createElement("path", {
|
|
17851
|
+
d: "M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z"
|
|
17852
|
+
}), /*#__PURE__*/ createElement("path", {
|
|
17853
|
+
d: "M17 14V2"
|
|
17854
|
+
}));
|
|
17855
|
+
}
|
|
17735
17856
|
function ChevronLeftIcon(param) {
|
|
17736
17857
|
var createElement = param.createElement;
|
|
17737
17858
|
return /*#__PURE__*/ createElement("svg", {
|
|
@@ -17845,14 +17966,16 @@
|
|
|
17845
17966
|
}, /*#__PURE__*/ createElement("button", {
|
|
17846
17967
|
className: "ais-AutocompleteSubmitButton",
|
|
17847
17968
|
type: "submit",
|
|
17848
|
-
title: "Submit"
|
|
17969
|
+
title: "Submit",
|
|
17970
|
+
hidden: isSearchStalled
|
|
17849
17971
|
}, /*#__PURE__*/ createElement(SubmitIcon, {
|
|
17850
17972
|
createElement: createElement
|
|
17851
17973
|
}))), /*#__PURE__*/ createElement("div", {
|
|
17852
17974
|
className: "ais-AutocompleteLoadingIndicator",
|
|
17853
17975
|
hidden: !isSearchStalled
|
|
17854
17976
|
}, /*#__PURE__*/ createElement(LoadingIcon, {
|
|
17855
|
-
createElement: createElement
|
|
17977
|
+
createElement: createElement,
|
|
17978
|
+
isSearchStalled: isSearchStalled
|
|
17856
17979
|
}))), /*#__PURE__*/ createElement("div", {
|
|
17857
17980
|
className: "ais-AutocompleteInputWrapper"
|
|
17858
17981
|
}, /*#__PURE__*/ createElement("input", _object_spread({
|
|
@@ -18814,7 +18937,7 @@
|
|
|
18814
18937
|
Fragment: Fragment
|
|
18815
18938
|
});
|
|
18816
18939
|
return function DefaultMessage(param) {
|
|
18817
|
-
var message = param.message, status = param.status, userMessageProps = param.userMessageProps, assistantMessageProps = param.assistantMessageProps, tools = param.tools, indexUiState = param.indexUiState, setIndexUiState = param.setIndexUiState, onReload = param.onReload, onClose = param.onClose, actionsComponent = param.actionsComponent, classNames = param.classNames, messageTranslations = param.messageTranslations, translations = param.translations, suggestionsElement = param.suggestionsElement;
|
|
18940
|
+
var message = param.message, status = param.status, userMessageProps = param.userMessageProps, assistantMessageProps = param.assistantMessageProps, tools = param.tools, indexUiState = param.indexUiState, setIndexUiState = param.setIndexUiState, onReload = param.onReload, onClose = param.onClose, onFeedback = param.onFeedback, feedbackState = param.feedbackState, actionsComponent = param.actionsComponent, classNames = param.classNames, messageTranslations = param.messageTranslations, translations = param.translations, suggestionsElement = param.suggestionsElement;
|
|
18818
18941
|
var defaultAssistantActions = _to_consumable_array(hasTextContent(message) ? [
|
|
18819
18942
|
{
|
|
18820
18943
|
title: translations.copyToClipboardLabel,
|
|
@@ -18838,6 +18961,60 @@
|
|
|
18838
18961
|
}
|
|
18839
18962
|
}
|
|
18840
18963
|
]);
|
|
18964
|
+
var messageFeedback = feedbackState === null || feedbackState === void 0 ? void 0 : feedbackState[message.id];
|
|
18965
|
+
var hasVoted = messageFeedback !== undefined;
|
|
18966
|
+
if (onFeedback) {
|
|
18967
|
+
var isSending = messageFeedback === 'sending';
|
|
18968
|
+
if (isSending) {
|
|
18969
|
+
defaultAssistantActions.push({
|
|
18970
|
+
title: translations.sendingFeedbackLabel,
|
|
18971
|
+
icon: function icon() {
|
|
18972
|
+
return /*#__PURE__*/ createElement("span", {
|
|
18973
|
+
className: "ais-ChatMessage-feedbackSpinner"
|
|
18974
|
+
}, /*#__PURE__*/ createElement(LoadingSpinnerIcon, {
|
|
18975
|
+
createElement: createElement
|
|
18976
|
+
}));
|
|
18977
|
+
},
|
|
18978
|
+
disabled: true
|
|
18979
|
+
});
|
|
18980
|
+
} else if (hasVoted) {
|
|
18981
|
+
defaultAssistantActions.push({
|
|
18982
|
+
title: translations.feedbackThankYouText,
|
|
18983
|
+
icon: function icon() {
|
|
18984
|
+
return /*#__PURE__*/ createElement("span", {
|
|
18985
|
+
className: "ais-ChatMessage-feedbackCheck"
|
|
18986
|
+
}, /*#__PURE__*/ createElement(CheckIcon, {
|
|
18987
|
+
createElement: createElement
|
|
18988
|
+
}), /*#__PURE__*/ createElement("span", {
|
|
18989
|
+
className: "ais-ChatMessage-feedbackText"
|
|
18990
|
+
}, translations.feedbackThankYouText));
|
|
18991
|
+
},
|
|
18992
|
+
disabled: true
|
|
18993
|
+
});
|
|
18994
|
+
} else {
|
|
18995
|
+
defaultAssistantActions.push({
|
|
18996
|
+
title: translations.thumbsUpLabel,
|
|
18997
|
+
icon: function icon() {
|
|
18998
|
+
return /*#__PURE__*/ createElement(ThumbsUpIcon, {
|
|
18999
|
+
createElement: createElement
|
|
19000
|
+
});
|
|
19001
|
+
},
|
|
19002
|
+
onClick: function onClick(m) {
|
|
19003
|
+
return onFeedback(m.id, 1);
|
|
19004
|
+
}
|
|
19005
|
+
}, {
|
|
19006
|
+
title: translations.thumbsDownLabel,
|
|
19007
|
+
icon: function icon() {
|
|
19008
|
+
return /*#__PURE__*/ createElement(ThumbsDownIcon, {
|
|
19009
|
+
createElement: createElement
|
|
19010
|
+
});
|
|
19011
|
+
},
|
|
19012
|
+
onClick: function onClick(m) {
|
|
19013
|
+
return onFeedback(m.id, 0);
|
|
19014
|
+
}
|
|
19015
|
+
});
|
|
19016
|
+
}
|
|
19017
|
+
}
|
|
18841
19018
|
var messageProps = message.role === 'user' ? userMessageProps : assistantMessageProps;
|
|
18842
19019
|
var defaultActions = message.role === 'user' ? undefined : defaultAssistantActions;
|
|
18843
19020
|
return /*#__PURE__*/ createElement(ChatMessage, _object_spread({
|
|
@@ -18875,7 +19052,7 @@
|
|
|
18875
19052
|
});
|
|
18876
19053
|
return function ChatMessages(userProps) {
|
|
18877
19054
|
var _lastMessage_parts;
|
|
18878
|
-
var _userProps_classNames = userProps.classNames, classNames = _userProps_classNames === void 0 ? {} : _userProps_classNames, _userProps_messageClassNames = userProps.messageClassNames, messageClassNames = _userProps_messageClassNames === void 0 ? {} : _userProps_messageClassNames, messageTranslations = userProps.messageTranslations, _userProps_messages = userProps.messages, messages = _userProps_messages === void 0 ? [] : _userProps_messages, MessageComponent = userProps.messageComponent, LoaderComponent = userProps.loaderComponent, ErrorComponent = userProps.errorComponent, ActionsComponent = userProps.actionsComponent, tools = userProps.tools, indexUiState = userProps.indexUiState, setIndexUiState = userProps.setIndexUiState, _userProps_status = userProps.status, status = _userProps_status === void 0 ? 'ready' : _userProps_status, _userProps_hideScrollToBottom = userProps.hideScrollToBottom, hideScrollToBottom = _userProps_hideScrollToBottom === void 0 ? false : _userProps_hideScrollToBottom, onReload = userProps.onReload, onClose = userProps.onClose, userTranslations = userProps.translations, userMessageProps = userProps.userMessageProps, assistantMessageProps = userProps.assistantMessageProps, _userProps_isClearing = userProps.isClearing, isClearing = _userProps_isClearing === void 0 ? false : _userProps_isClearing, onClearTransitionEnd = userProps.onClearTransitionEnd, isScrollAtBottom = userProps.isScrollAtBottom, scrollRef = userProps.scrollRef, contentRef = userProps.contentRef, onScrollToBottom = userProps.onScrollToBottom, suggestionsElement = userProps.suggestionsElement, props = _object_without_properties(userProps, [
|
|
19055
|
+
var _userProps_classNames = userProps.classNames, classNames = _userProps_classNames === void 0 ? {} : _userProps_classNames, _userProps_messageClassNames = userProps.messageClassNames, messageClassNames = _userProps_messageClassNames === void 0 ? {} : _userProps_messageClassNames, messageTranslations = userProps.messageTranslations, _userProps_messages = userProps.messages, messages = _userProps_messages === void 0 ? [] : _userProps_messages, MessageComponent = userProps.messageComponent, LoaderComponent = userProps.loaderComponent, ErrorComponent = userProps.errorComponent, ActionsComponent = userProps.actionsComponent, tools = userProps.tools, indexUiState = userProps.indexUiState, setIndexUiState = userProps.setIndexUiState, _userProps_status = userProps.status, status = _userProps_status === void 0 ? 'ready' : _userProps_status, _userProps_hideScrollToBottom = userProps.hideScrollToBottom, hideScrollToBottom = _userProps_hideScrollToBottom === void 0 ? false : _userProps_hideScrollToBottom, onReload = userProps.onReload, onClose = userProps.onClose, userTranslations = userProps.translations, userMessageProps = userProps.userMessageProps, assistantMessageProps = userProps.assistantMessageProps, _userProps_isClearing = userProps.isClearing, isClearing = _userProps_isClearing === void 0 ? false : _userProps_isClearing, onClearTransitionEnd = userProps.onClearTransitionEnd, isScrollAtBottom = userProps.isScrollAtBottom, scrollRef = userProps.scrollRef, contentRef = userProps.contentRef, onScrollToBottom = userProps.onScrollToBottom, suggestionsElement = userProps.suggestionsElement, onFeedback = userProps.onFeedback, feedbackState = userProps.feedbackState, props = _object_without_properties(userProps, [
|
|
18879
19056
|
"classNames",
|
|
18880
19057
|
"messageClassNames",
|
|
18881
19058
|
"messageTranslations",
|
|
@@ -18900,12 +19077,18 @@
|
|
|
18900
19077
|
"scrollRef",
|
|
18901
19078
|
"contentRef",
|
|
18902
19079
|
"onScrollToBottom",
|
|
18903
|
-
"suggestionsElement"
|
|
19080
|
+
"suggestionsElement",
|
|
19081
|
+
"onFeedback",
|
|
19082
|
+
"feedbackState"
|
|
18904
19083
|
]);
|
|
18905
19084
|
var translations = _object_spread({
|
|
18906
19085
|
scrollToBottomLabel: 'Scroll to bottom',
|
|
18907
19086
|
copyToClipboardLabel: 'Copy to clipboard',
|
|
18908
|
-
regenerateLabel: 'Regenerate'
|
|
19087
|
+
regenerateLabel: 'Regenerate',
|
|
19088
|
+
thumbsUpLabel: 'Like',
|
|
19089
|
+
thumbsDownLabel: 'Dislike',
|
|
19090
|
+
feedbackThankYouText: 'Thanks for your feedback!',
|
|
19091
|
+
sendingFeedbackLabel: 'Sending feedback...'
|
|
18909
19092
|
}, userTranslations);
|
|
18910
19093
|
var cssClasses = {
|
|
18911
19094
|
root: cx('ais-ChatMessages', classNames.root),
|
|
@@ -18949,6 +19132,8 @@
|
|
|
18949
19132
|
indexUiState: indexUiState,
|
|
18950
19133
|
setIndexUiState: setIndexUiState,
|
|
18951
19134
|
onReload: onReload,
|
|
19135
|
+
onFeedback: onFeedback,
|
|
19136
|
+
feedbackState: feedbackState,
|
|
18952
19137
|
actionsComponent: ActionsComponent,
|
|
18953
19138
|
onClose: onClose,
|
|
18954
19139
|
translations: translations,
|
|
@@ -18976,6 +19161,52 @@
|
|
|
18976
19161
|
};
|
|
18977
19162
|
}
|
|
18978
19163
|
|
|
19164
|
+
function createChatOverlayLayoutComponent(param) {
|
|
19165
|
+
var createElement = param.createElement;
|
|
19166
|
+
return function ChatOverlayLayout(userProps) {
|
|
19167
|
+
var open = userProps.open, maximized = userProps.maximized, headerComponent = userProps.headerComponent, messagesComponent = userProps.messagesComponent, promptComponent = userProps.promptComponent, toggleButtonComponent = userProps.toggleButtonComponent, _userProps_classNames = userProps.classNames, classNames = _userProps_classNames === void 0 ? {} : _userProps_classNames, className = userProps.className; // Chat state props (destructured to avoid spreading on div)
|
|
19168
|
+
userProps.messages;
|
|
19169
|
+
userProps.status;
|
|
19170
|
+
userProps.isClearing;
|
|
19171
|
+
userProps.clearMessages;
|
|
19172
|
+
userProps.onClearTransitionEnd;
|
|
19173
|
+
userProps.suggestions;
|
|
19174
|
+
userProps.tools;
|
|
19175
|
+
userProps.sendMessage;
|
|
19176
|
+
userProps.regenerate;
|
|
19177
|
+
userProps.stop;
|
|
19178
|
+
userProps.error;
|
|
19179
|
+
var rest = _object_without_properties(userProps, [
|
|
19180
|
+
"open",
|
|
19181
|
+
"maximized",
|
|
19182
|
+
"headerComponent",
|
|
19183
|
+
"messagesComponent",
|
|
19184
|
+
"promptComponent",
|
|
19185
|
+
"toggleButtonComponent",
|
|
19186
|
+
"classNames",
|
|
19187
|
+
"className",
|
|
19188
|
+
"messages",
|
|
19189
|
+
"status",
|
|
19190
|
+
"isClearing",
|
|
19191
|
+
"clearMessages",
|
|
19192
|
+
"onClearTransitionEnd",
|
|
19193
|
+
"suggestions",
|
|
19194
|
+
"tools",
|
|
19195
|
+
"sendMessage",
|
|
19196
|
+
"regenerate",
|
|
19197
|
+
"stop",
|
|
19198
|
+
"error"
|
|
19199
|
+
]);
|
|
19200
|
+
return /*#__PURE__*/ createElement("div", _object_spread_props(_object_spread({}, rest), {
|
|
19201
|
+
className: cx('ais-Chat', 'ais-ChatOverlayLayout', maximized && 'ais-ChatOverlayLayout--maximized', classNames.root, className)
|
|
19202
|
+
}), /*#__PURE__*/ createElement("div", {
|
|
19203
|
+
className: cx('ais-Chat-container', open && 'ais-Chat-container--open', maximized && 'ais-Chat-container--maximized', classNames.container)
|
|
19204
|
+
}, headerComponent, messagesComponent, promptComponent), /*#__PURE__*/ createElement("div", {
|
|
19205
|
+
className: "ais-Chat-toggleButtonWrapper"
|
|
19206
|
+
}, toggleButtonComponent));
|
|
19207
|
+
};
|
|
19208
|
+
}
|
|
19209
|
+
|
|
18979
19210
|
function createChatPromptComponent(param) {
|
|
18980
19211
|
var createElement = param.createElement;
|
|
18981
19212
|
var Button = createButtonComponent({
|
|
@@ -19213,8 +19444,12 @@
|
|
|
19213
19444
|
createElement: createElement,
|
|
19214
19445
|
Fragment: Fragment
|
|
19215
19446
|
});
|
|
19447
|
+
var OverlayLayout = createChatOverlayLayoutComponent({
|
|
19448
|
+
createElement: createElement,
|
|
19449
|
+
Fragment: Fragment
|
|
19450
|
+
});
|
|
19216
19451
|
return function Chat(userProps) {
|
|
19217
|
-
var open = userProps.open, _userProps_maximized = userProps.maximized, maximized = _userProps_maximized === void 0 ? false : _userProps_maximized, headerProps = userProps.headerProps, toggleButtonProps = userProps.toggleButtonProps, messagesProps = userProps.messagesProps, suggestionsProps = userProps.suggestionsProps, _userProps_promptProps = userProps.promptProps, promptProps = _userProps_promptProps === void 0 ? {} : _userProps_promptProps, HeaderComponent = userProps.headerComponent, PromptComponent = userProps.promptComponent, ToggleButtonComponent = userProps.toggleButtonComponent, SuggestionsComponent = userProps.suggestionsComponent, _userProps_classNames = userProps.classNames, classNames = _userProps_classNames === void 0 ? {} : _userProps_classNames, className = userProps.className, props = _object_without_properties(userProps, [
|
|
19452
|
+
var open = userProps.open, _userProps_maximized = userProps.maximized, maximized = _userProps_maximized === void 0 ? false : _userProps_maximized, headerProps = userProps.headerProps, toggleButtonProps = userProps.toggleButtonProps, messagesProps = userProps.messagesProps, suggestionsProps = userProps.suggestionsProps, _userProps_promptProps = userProps.promptProps, promptProps = _userProps_promptProps === void 0 ? {} : _userProps_promptProps, HeaderComponent = userProps.headerComponent, PromptComponent = userProps.promptComponent, ToggleButtonComponent = userProps.toggleButtonComponent, SuggestionsComponent = userProps.suggestionsComponent, tmp = userProps.layoutComponent, LayoutComponent = tmp === void 0 ? OverlayLayout : tmp, _userProps_classNames = userProps.classNames, classNames = _userProps_classNames === void 0 ? {} : _userProps_classNames, className = userProps.className, sendMessage = userProps.sendMessage, regenerate = userProps.regenerate, stop = userProps.stop, error = userProps.error, props = _object_without_properties(userProps, [
|
|
19218
19453
|
"open",
|
|
19219
19454
|
"maximized",
|
|
19220
19455
|
"headerProps",
|
|
@@ -19226,27 +19461,29 @@
|
|
|
19226
19461
|
"promptComponent",
|
|
19227
19462
|
"toggleButtonComponent",
|
|
19228
19463
|
"suggestionsComponent",
|
|
19464
|
+
"layoutComponent",
|
|
19229
19465
|
"classNames",
|
|
19230
|
-
"className"
|
|
19466
|
+
"className",
|
|
19467
|
+
"sendMessage",
|
|
19468
|
+
"regenerate",
|
|
19469
|
+
"stop",
|
|
19470
|
+
"error"
|
|
19231
19471
|
]);
|
|
19232
|
-
|
|
19233
|
-
className: cx('ais-Chat', maximized && 'ais-Chat--maximized', classNames.root, className)
|
|
19234
|
-
}), /*#__PURE__*/ createElement("div", {
|
|
19235
|
-
className: cx('ais-Chat-container', open && 'ais-Chat-container--open', maximized && 'ais-Chat-container--maximized', classNames.container)
|
|
19236
|
-
}, createElement(HeaderComponent || ChatHeader, _object_spread_props(_object_spread({}, headerProps), {
|
|
19472
|
+
var headerComponent = createElement(HeaderComponent || ChatHeader, _object_spread_props(_object_spread({}, headerProps), {
|
|
19237
19473
|
classNames: classNames.header,
|
|
19238
19474
|
maximized: maximized
|
|
19239
|
-
}))
|
|
19475
|
+
}));
|
|
19476
|
+
var messagesComponent = /*#__PURE__*/ createElement(ChatMessages, _object_spread_props(_object_spread({}, messagesProps), {
|
|
19240
19477
|
classNames: classNames.messages,
|
|
19241
19478
|
messageClassNames: classNames.message,
|
|
19242
19479
|
suggestionsElement: createElement(SuggestionsComponent || ChatPromptSuggestions, _object_spread_props(_object_spread({}, suggestionsProps), {
|
|
19243
19480
|
classNames: classNames.suggestions
|
|
19244
19481
|
}))
|
|
19245
|
-
}))
|
|
19482
|
+
}));
|
|
19483
|
+
var promptComponent = createElement(PromptComponent || ChatPrompt, _object_spread_props(_object_spread({}, promptProps), {
|
|
19246
19484
|
classNames: classNames.prompt
|
|
19247
|
-
}))
|
|
19248
|
-
|
|
19249
|
-
}, createElement(ToggleButtonComponent || ChatToggleButton, _object_spread_props(_object_spread({}, toggleButtonProps), {
|
|
19485
|
+
}));
|
|
19486
|
+
var toggleButtonComponent = createElement(ToggleButtonComponent || ChatToggleButton, _object_spread_props(_object_spread({}, toggleButtonProps), {
|
|
19250
19487
|
classNames: classNames.toggleButton,
|
|
19251
19488
|
onClick: function onClick() {
|
|
19252
19489
|
var _toggleButtonProps_onClick;
|
|
@@ -19256,7 +19493,78 @@
|
|
|
19256
19493
|
(_promptProps_promptRef = promptProps.promptRef) === null || _promptProps_promptRef === void 0 ? void 0 : (_promptProps_promptRef_current = _promptProps_promptRef.current) === null || _promptProps_promptRef_current === void 0 ? void 0 : _promptProps_promptRef_current.focus();
|
|
19257
19494
|
}
|
|
19258
19495
|
}
|
|
19259
|
-
}))
|
|
19496
|
+
}));
|
|
19497
|
+
return /*#__PURE__*/ createElement(LayoutComponent, _object_spread_props(_object_spread({}, props), {
|
|
19498
|
+
open: open,
|
|
19499
|
+
maximized: maximized,
|
|
19500
|
+
headerComponent: headerComponent,
|
|
19501
|
+
messagesComponent: messagesComponent,
|
|
19502
|
+
promptComponent: promptComponent,
|
|
19503
|
+
toggleButtonComponent: toggleButtonComponent,
|
|
19504
|
+
classNames: {
|
|
19505
|
+
root: classNames.root,
|
|
19506
|
+
container: classNames.container
|
|
19507
|
+
},
|
|
19508
|
+
className: className,
|
|
19509
|
+
messages: messagesProps.messages,
|
|
19510
|
+
status: messagesProps.status,
|
|
19511
|
+
tools: messagesProps.tools,
|
|
19512
|
+
isClearing: messagesProps.isClearing,
|
|
19513
|
+
clearMessages: headerProps.onClear,
|
|
19514
|
+
onClearTransitionEnd: messagesProps.onClearTransitionEnd,
|
|
19515
|
+
suggestions: suggestionsProps.suggestions,
|
|
19516
|
+
sendMessage: sendMessage,
|
|
19517
|
+
regenerate: regenerate,
|
|
19518
|
+
stop: stop,
|
|
19519
|
+
error: error
|
|
19520
|
+
}));
|
|
19521
|
+
};
|
|
19522
|
+
}
|
|
19523
|
+
|
|
19524
|
+
function createChatInlineLayoutComponent(param) {
|
|
19525
|
+
var createElement = param.createElement;
|
|
19526
|
+
return function ChatInlineLayout(userProps) {
|
|
19527
|
+
var headerComponent = userProps.headerComponent, messagesComponent = userProps.messagesComponent, promptComponent = userProps.promptComponent, _userProps_classNames = userProps.classNames, classNames = _userProps_classNames === void 0 ? {} : _userProps_classNames, className = userProps.className;
|
|
19528
|
+
userProps.open;
|
|
19529
|
+
userProps.maximized;
|
|
19530
|
+
userProps.toggleButtonComponent; // Chat state props (destructured to avoid spreading on div)
|
|
19531
|
+
userProps.messages;
|
|
19532
|
+
userProps.status;
|
|
19533
|
+
userProps.isClearing;
|
|
19534
|
+
userProps.clearMessages;
|
|
19535
|
+
userProps.onClearTransitionEnd;
|
|
19536
|
+
userProps.suggestions;
|
|
19537
|
+
userProps.tools;
|
|
19538
|
+
userProps.sendMessage;
|
|
19539
|
+
userProps.regenerate;
|
|
19540
|
+
userProps.stop;
|
|
19541
|
+
userProps.error;
|
|
19542
|
+
var rest = _object_without_properties(userProps, [
|
|
19543
|
+
"headerComponent",
|
|
19544
|
+
"messagesComponent",
|
|
19545
|
+
"promptComponent",
|
|
19546
|
+
"classNames",
|
|
19547
|
+
"className",
|
|
19548
|
+
"open",
|
|
19549
|
+
"maximized",
|
|
19550
|
+
"toggleButtonComponent",
|
|
19551
|
+
"messages",
|
|
19552
|
+
"status",
|
|
19553
|
+
"isClearing",
|
|
19554
|
+
"clearMessages",
|
|
19555
|
+
"onClearTransitionEnd",
|
|
19556
|
+
"suggestions",
|
|
19557
|
+
"tools",
|
|
19558
|
+
"sendMessage",
|
|
19559
|
+
"regenerate",
|
|
19560
|
+
"stop",
|
|
19561
|
+
"error"
|
|
19562
|
+
]);
|
|
19563
|
+
return /*#__PURE__*/ createElement("div", _object_spread_props(_object_spread({}, rest), {
|
|
19564
|
+
className: cx('ais-Chat', 'ais-ChatInlineLayout', classNames.root, className)
|
|
19565
|
+
}), /*#__PURE__*/ createElement("div", {
|
|
19566
|
+
className: cx('ais-Chat-container', classNames.container)
|
|
19567
|
+
}, headerComponent, messagesComponent, promptComponent));
|
|
19260
19568
|
};
|
|
19261
19569
|
}
|
|
19262
19570
|
|
|
@@ -21032,6 +21340,16 @@
|
|
|
21032
21340
|
return /*#__PURE__*/ React.createElement(CarouselUiComponent, _object_spread({}, carouselRefs, props));
|
|
21033
21341
|
}
|
|
21034
21342
|
|
|
21343
|
+
var ChatOverlayLayout = createChatOverlayLayoutComponent({
|
|
21344
|
+
createElement: React.createElement,
|
|
21345
|
+
Fragment: React.Fragment
|
|
21346
|
+
});
|
|
21347
|
+
|
|
21348
|
+
var ChatInlineLayout = createChatInlineLayoutComponent({
|
|
21349
|
+
createElement: React.createElement,
|
|
21350
|
+
Fragment: React.Fragment
|
|
21351
|
+
});
|
|
21352
|
+
|
|
21035
21353
|
function createCarouselTool(showViewAll, itemComponent, getSearchPageURL) {
|
|
21036
21354
|
var Button = createButtonComponent({
|
|
21037
21355
|
createElement: React.createElement
|
|
@@ -21130,13 +21448,14 @@
|
|
|
21130
21448
|
return _obj = {}, _define_property(_obj, SearchIndexToolType$1, createCarouselTool(true, itemComponent, getSearchPageURL)), _define_property(_obj, RecommendToolType, createCarouselTool(false, itemComponent, getSearchPageURL)), _define_property(_obj, MemorizeToolType, {}), _define_property(_obj, MemorySearchToolType, {}), _define_property(_obj, PonderToolType, {}), _obj;
|
|
21131
21449
|
}
|
|
21132
21450
|
function Chat(_0) {
|
|
21133
|
-
var userTools = _0.tools, toggleButtonProps = _0.toggleButtonProps, headerProps = _0.headerProps, messagesProps = _0.messagesProps, promptProps = _0.promptProps, itemComponent = _0.itemComponent, toggleButtonComponent = _0.toggleButtonComponent, toggleButtonIconComponent = _0.toggleButtonIconComponent, headerComponent = _0.headerComponent, headerTitleIconComponent = _0.headerTitleIconComponent, headerCloseIconComponent = _0.headerCloseIconComponent, headerMinimizeIconComponent = _0.headerMinimizeIconComponent, headerMaximizeIconComponent = _0.headerMaximizeIconComponent, messagesLoaderComponent = _0.messagesLoaderComponent, messagesErrorComponent = _0.messagesErrorComponent, promptComponent = _0.promptComponent, promptHeaderComponent = _0.promptHeaderComponent, promptFooterComponent = _0.promptFooterComponent, assistantMessageLeadingComponent = _0.assistantMessageLeadingComponent, assistantMessageFooterComponent = _0.assistantMessageFooterComponent, userMessageLeadingComponent = _0.userMessageLeadingComponent, userMessageFooterComponent = _0.userMessageFooterComponent, actionsComponent = _0.actionsComponent, suggestionsComponent = _0.suggestionsComponent, classNames = _0.classNames, _0_translations = _0.translations, translations = _0_translations === void 0 ? {} : _0_translations, title = _0.title, getSearchPageURL = _0.getSearchPageURL, props = _object_without_properties(_0, [
|
|
21451
|
+
var userTools = _0.tools, toggleButtonProps = _0.toggleButtonProps, headerProps = _0.headerProps, messagesProps = _0.messagesProps, promptProps = _0.promptProps, itemComponent = _0.itemComponent, layoutComponent = _0.layoutComponent, toggleButtonComponent = _0.toggleButtonComponent, toggleButtonIconComponent = _0.toggleButtonIconComponent, headerComponent = _0.headerComponent, headerTitleIconComponent = _0.headerTitleIconComponent, headerCloseIconComponent = _0.headerCloseIconComponent, headerMinimizeIconComponent = _0.headerMinimizeIconComponent, headerMaximizeIconComponent = _0.headerMaximizeIconComponent, messagesLoaderComponent = _0.messagesLoaderComponent, messagesErrorComponent = _0.messagesErrorComponent, promptComponent = _0.promptComponent, promptHeaderComponent = _0.promptHeaderComponent, promptFooterComponent = _0.promptFooterComponent, assistantMessageLeadingComponent = _0.assistantMessageLeadingComponent, assistantMessageFooterComponent = _0.assistantMessageFooterComponent, userMessageLeadingComponent = _0.userMessageLeadingComponent, userMessageFooterComponent = _0.userMessageFooterComponent, actionsComponent = _0.actionsComponent, suggestionsComponent = _0.suggestionsComponent, classNames = _0.classNames, _0_translations = _0.translations, translations = _0_translations === void 0 ? {} : _0_translations, title = _0.title, getSearchPageURL = _0.getSearchPageURL, props = _object_without_properties(_0, [
|
|
21134
21452
|
"tools",
|
|
21135
21453
|
"toggleButtonProps",
|
|
21136
21454
|
"headerProps",
|
|
21137
21455
|
"messagesProps",
|
|
21138
21456
|
"promptProps",
|
|
21139
21457
|
"itemComponent",
|
|
21458
|
+
"layoutComponent",
|
|
21140
21459
|
"toggleButtonComponent",
|
|
21141
21460
|
"toggleButtonIconComponent",
|
|
21142
21461
|
"headerComponent",
|
|
@@ -21179,7 +21498,7 @@
|
|
|
21179
21498
|
var chatState = useChat(_object_spread_props(_object_spread({}, props), {
|
|
21180
21499
|
tools: tools
|
|
21181
21500
|
}));
|
|
21182
|
-
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, isClearing = chatState.isClearing, clearMessages = chatState.clearMessages, onClearTransitionEnd = chatState.onClearTransitionEnd, toolsFromConnector = chatState.tools, suggestions = chatState.suggestions;
|
|
21501
|
+
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, isClearing = chatState.isClearing, clearMessages = chatState.clearMessages, onClearTransitionEnd = chatState.onClearTransitionEnd, toolsFromConnector = chatState.tools, suggestions = chatState.suggestions, onFeedback = chatState.sendChatMessageFeedback, feedbackState = chatState.feedbackState;
|
|
21183
21502
|
var wasOpenRef = React.useRef(false);
|
|
21184
21503
|
React.useEffect(function() {
|
|
21185
21504
|
var shouldFocusPrompt = !wasOpenRef.current && open;
|
|
@@ -21200,6 +21519,11 @@
|
|
|
21200
21519
|
title: title,
|
|
21201
21520
|
open: open,
|
|
21202
21521
|
maximized: maximized,
|
|
21522
|
+
sendMessage: sendMessage,
|
|
21523
|
+
regenerate: regenerate,
|
|
21524
|
+
stop: stop,
|
|
21525
|
+
error: error,
|
|
21526
|
+
layoutComponent: layoutComponent,
|
|
21203
21527
|
headerComponent: headerComponent,
|
|
21204
21528
|
promptComponent: promptComponent,
|
|
21205
21529
|
toggleButtonComponent: toggleButtonComponent,
|
|
@@ -21237,6 +21561,8 @@
|
|
|
21237
21561
|
onClose: function onClose() {
|
|
21238
21562
|
return setOpen(false);
|
|
21239
21563
|
},
|
|
21564
|
+
onFeedback: onFeedback,
|
|
21565
|
+
feedbackState: feedbackState,
|
|
21240
21566
|
messages: messages,
|
|
21241
21567
|
tools: toolsFromConnector,
|
|
21242
21568
|
indexUiState: indexUiState,
|
|
@@ -22974,6 +23300,8 @@
|
|
|
22974
23300
|
exports.Breadcrumb = Breadcrumb;
|
|
22975
23301
|
exports.Carousel = Carousel;
|
|
22976
23302
|
exports.Chat = Chat;
|
|
23303
|
+
exports.ChatInlineLayout = ChatInlineLayout;
|
|
23304
|
+
exports.ChatOverlayLayout = ChatOverlayLayout;
|
|
22977
23305
|
exports.ClearRefinements = ClearRefinements;
|
|
22978
23306
|
exports.Configure = Configure;
|
|
22979
23307
|
exports.CurrentRefinements = CurrentRefinements;
|