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.
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ChatInlineLayout", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return ChatInlineLayout;
10
+ }
11
+ });
12
+ var _instantsearchuicomponents = require("instantsearch-ui-components");
13
+ var _react = require("react");
14
+ var ChatInlineLayout = (0, _instantsearchuicomponents.createChatInlineLayoutComponent)({
15
+ createElement: _react.createElement,
16
+ Fragment: _react.Fragment
17
+ });
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ChatOverlayLayout", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return ChatOverlayLayout;
10
+ }
11
+ });
12
+ var _instantsearchuicomponents = require("instantsearch-ui-components");
13
+ var _react = require("react");
14
+ var ChatOverlayLayout = (0, _instantsearchuicomponents.createChatOverlayLayoutComponent)({
15
+ createElement: _react.createElement,
16
+ Fragment: _react.Fragment
17
+ });
@@ -5,3 +5,5 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _export_star = require("@swc/helpers/_/_export_star");
7
7
  _export_star._(require("./Carousel"), exports);
8
+ _export_star._(require("./ChatOverlayLayout"), exports);
9
+ _export_star._(require("./ChatInlineLayout"), exports);
@@ -53,13 +53,14 @@ function createDefaultTools(itemComponent, getSearchPageURL) {
53
53
  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.MemorizeToolType, {}), _define_property._(_obj, _chat.MemorySearchToolType, {}), _define_property._(_obj, _chat.PonderToolType, {}), _obj;
54
54
  }
55
55
  function Chat(_0) {
56
- 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, [
56
+ 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, [
57
57
  "tools",
58
58
  "toggleButtonProps",
59
59
  "headerProps",
60
60
  "messagesProps",
61
61
  "promptProps",
62
62
  "itemComponent",
63
+ "layoutComponent",
63
64
  "toggleButtonComponent",
64
65
  "toggleButtonIconComponent",
65
66
  "headerComponent",
@@ -102,7 +103,7 @@ function Chat(_0) {
102
103
  var chatState = (0, _reactinstantsearchcore.useChat)(_object_spread_props._(_object_spread._({}, props), {
103
104
  tools: tools
104
105
  }));
105
- var messages = chatState.messages, sendMessage = chatState.sendMessage, status = chatState.status, regenerate = chatState.regenerate, stop = chatState.stop; chatState.error; var 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;
106
+ 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;
106
107
  var wasOpenRef = (0, _react.useRef)(false);
107
108
  (0, _react.useEffect)(function() {
108
109
  var shouldFocusPrompt = !wasOpenRef.current && open;
@@ -120,6 +121,11 @@ function Chat(_0) {
120
121
  title: title,
121
122
  open: open,
122
123
  maximized: maximized,
124
+ sendMessage: sendMessage,
125
+ regenerate: regenerate,
126
+ stop: stop,
127
+ error: error,
128
+ layoutComponent: layoutComponent,
123
129
  headerComponent: headerComponent,
124
130
  promptComponent: promptComponent,
125
131
  toggleButtonComponent: toggleButtonComponent,
@@ -157,6 +163,8 @@ function Chat(_0) {
157
163
  onClose: function onClose() {
158
164
  return setOpen(false);
159
165
  },
166
+ onFeedback: onFeedback,
167
+ feedbackState: feedbackState,
160
168
  messages: messages,
161
169
  tools: toolsFromConnector,
162
170
  indexUiState: indexUiState,
@@ -0,0 +1 @@
1
+ export declare const ChatInlineLayout: (userProps: import("instantsearch-ui-components").ChatLayoutOwnProps) => JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { createChatInlineLayoutComponent } from 'instantsearch-ui-components';
2
+ import { createElement, Fragment } from 'react';
3
+
4
+ var ChatInlineLayout = createChatInlineLayoutComponent({
5
+ createElement: createElement,
6
+ Fragment: Fragment
7
+ });
8
+
9
+ export { ChatInlineLayout };
@@ -0,0 +1,3 @@
1
+ import type { ChatLayoutOwnProps } from 'instantsearch-ui-components';
2
+ export type { ChatLayoutOwnProps };
3
+ export declare const ChatOverlayLayout: (userProps: ChatLayoutOwnProps) => JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { createChatOverlayLayoutComponent } from 'instantsearch-ui-components';
2
+ import { createElement, Fragment } from 'react';
3
+
4
+ var ChatOverlayLayout = createChatOverlayLayoutComponent({
5
+ createElement: createElement,
6
+ Fragment: Fragment
7
+ });
8
+
9
+ export { ChatOverlayLayout };
@@ -1 +1,3 @@
1
1
  export * from './Carousel';
2
+ export * from './ChatOverlayLayout';
3
+ export * from './ChatInlineLayout';
@@ -1 +1,3 @@
1
1
  export { Carousel } from './Carousel.js';
2
+ export { ChatOverlayLayout } from './ChatOverlayLayout.js';
3
+ export { ChatInlineLayout } from './ChatInlineLayout.js';
package/dist/es/index.js CHANGED
@@ -28,3 +28,5 @@ export { ToggleRefinement } from './widgets/ToggleRefinement.js';
28
28
  export { TrendingItems } from './widgets/TrendingItems.js';
29
29
  export { FilterSuggestions } from './widgets/FilterSuggestions.js';
30
30
  export { Carousel } from './components/Carousel.js';
31
+ export { ChatOverlayLayout } from './components/ChatOverlayLayout.js';
32
+ export { ChatInlineLayout } from './components/ChatInlineLayout.js';
@@ -1,13 +1,13 @@
1
1
  import { SearchIndexToolType, RecommendToolType, MemorizeToolType, MemorySearchToolType, PonderToolType } from 'instantsearch.js/es/lib/chat';
2
2
  import React from 'react';
3
3
  export { SearchIndexToolType, RecommendToolType, MemorizeToolType, MemorySearchToolType, PonderToolType, };
4
- import type { ChatProps as ChatUiProps, RecommendComponentProps, RecordWithObjectID, UserClientSideTool, UserClientSideTools, ChatMessageProps } from 'instantsearch-ui-components';
4
+ import type { ChatProps as ChatUiProps, ChatLayoutOwnProps, RecommendComponentProps, RecordWithObjectID, UserClientSideTool, UserClientSideTools, ChatMessageProps } from 'instantsearch-ui-components';
5
5
  import type { IndexUiState } from 'instantsearch.js';
6
6
  import type { UIMessage } from 'instantsearch.js/es/lib/chat';
7
7
  import type { UseChatProps } from 'react-instantsearch-core';
8
8
  export declare function createDefaultTools<TObject extends RecordWithObjectID>(itemComponent?: ItemComponent<TObject>, getSearchPageURL?: (nextUiState: IndexUiState) => string): UserClientSideTools;
9
9
  type ItemComponent<TObject> = RecommendComponentProps<TObject>['itemComponent'];
10
- type UiProps = Pick<ChatUiProps, 'open' | 'headerProps' | 'toggleButtonProps' | 'messagesProps' | 'promptProps' | 'suggestionsProps' | 'headerComponent' | 'promptComponent' | 'suggestionsComponent'>;
10
+ type UiProps = Pick<ChatUiProps, 'open' | 'headerProps' | 'toggleButtonProps' | 'messagesProps' | 'promptProps' | 'suggestionsProps' | 'headerComponent' | 'promptComponent' | 'suggestionsComponent' | 'layoutComponent' | 'sendMessage' | 'regenerate' | 'stop' | 'error'>;
11
11
  type UserToggleButtonProps = Omit<ChatUiProps['toggleButtonProps'], 'open' | 'onClick'>;
12
12
  type UserHeaderProps = Omit<ChatUiProps['headerProps'], 'onClose'>;
13
13
  type UserMessagesProps = Omit<ChatUiProps['messagesProps'], 'messages' | 'tools' | 'indexUiState' | 'setIndexUiState' | 'scrollRef' | 'contentRef' | 'messageComponent' | 'leadingComponent' | 'footerComponent' | 'suggestionsComponent' | 'translations' | 'classNames'>;
@@ -22,6 +22,7 @@ export type ChatProps<TObject, TUiMessage extends UIMessage = UIMessage> = Omit<
22
22
  headerProps?: UserHeaderProps;
23
23
  messagesProps?: UserMessagesProps;
24
24
  promptProps?: UserPromptProps;
25
+ layoutComponent?: (props: ChatLayoutOwnProps) => JSX.Element;
25
26
  toggleButtonComponent?: ChatUiProps['toggleButtonComponent'];
26
27
  toggleButtonIconComponent?: ChatUiProps['toggleButtonProps']['toggleIconComponent'];
27
28
  headerComponent?: ChatUiProps['headerComponent'];
@@ -47,4 +48,4 @@ export type ChatProps<TObject, TUiMessage extends UIMessage = UIMessage> = Omit<
47
48
  messages: ChatUiProps['messagesProps']['translations'];
48
49
  }>;
49
50
  };
50
- export declare function Chat<TObject extends RecordWithObjectID, TUiMessage extends UIMessage>({ tools: userTools, toggleButtonProps, headerProps, messagesProps, promptProps, itemComponent, toggleButtonComponent, toggleButtonIconComponent, headerComponent, headerTitleIconComponent, headerCloseIconComponent, headerMinimizeIconComponent, headerMaximizeIconComponent, messagesLoaderComponent, messagesErrorComponent, promptComponent, promptHeaderComponent, promptFooterComponent, assistantMessageLeadingComponent, assistantMessageFooterComponent, userMessageLeadingComponent, userMessageFooterComponent, actionsComponent, suggestionsComponent, classNames, translations, title, getSearchPageURL, ...props }: ChatProps<TObject, TUiMessage>): React.JSX.Element;
51
+ export declare function Chat<TObject extends RecordWithObjectID, TUiMessage extends UIMessage>({ tools: userTools, toggleButtonProps, headerProps, messagesProps, promptProps, itemComponent, layoutComponent, toggleButtonComponent, toggleButtonIconComponent, headerComponent, headerTitleIconComponent, headerCloseIconComponent, headerMinimizeIconComponent, headerMaximizeIconComponent, messagesLoaderComponent, messagesErrorComponent, promptComponent, promptHeaderComponent, promptFooterComponent, assistantMessageLeadingComponent, assistantMessageFooterComponent, userMessageLeadingComponent, userMessageFooterComponent, actionsComponent, suggestionsComponent, classNames, translations, title, getSearchPageURL, ...props }: ChatProps<TObject, TUiMessage>): React.JSX.Element;
@@ -20,13 +20,14 @@ function createDefaultTools(itemComponent, getSearchPageURL) {
20
20
  return _obj = {}, _(_obj, SearchIndexToolType, createCarouselTool(true, itemComponent, getSearchPageURL)), _(_obj, RecommendToolType, createCarouselTool(false, itemComponent, getSearchPageURL)), _(_obj, MemorizeToolType, {}), _(_obj, MemorySearchToolType, {}), _(_obj, PonderToolType, {}), _obj;
21
21
  }
22
22
  function Chat(_0) {
23
- 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 = _$1(_0, [
23
+ 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 = _$1(_0, [
24
24
  "tools",
25
25
  "toggleButtonProps",
26
26
  "headerProps",
27
27
  "messagesProps",
28
28
  "promptProps",
29
29
  "itemComponent",
30
+ "layoutComponent",
30
31
  "toggleButtonComponent",
31
32
  "toggleButtonIconComponent",
32
33
  "headerComponent",
@@ -69,7 +70,7 @@ function Chat(_0) {
69
70
  var chatState = useChat(_$4(_$3({}, props), {
70
71
  tools: tools
71
72
  }));
72
- var messages = chatState.messages, sendMessage = chatState.sendMessage, status = chatState.status, regenerate = chatState.regenerate, stop = chatState.stop; chatState.error; var 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;
73
+ 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;
73
74
  var wasOpenRef = useRef(false);
74
75
  useEffect(function() {
75
76
  var shouldFocusPrompt = !wasOpenRef.current && open;
@@ -87,6 +88,11 @@ function Chat(_0) {
87
88
  title: title,
88
89
  open: open,
89
90
  maximized: maximized,
91
+ sendMessage: sendMessage,
92
+ regenerate: regenerate,
93
+ stop: stop,
94
+ error: error,
95
+ layoutComponent: layoutComponent,
90
96
  headerComponent: headerComponent,
91
97
  promptComponent: promptComponent,
92
98
  toggleButtonComponent: toggleButtonComponent,
@@ -124,6 +130,8 @@ function Chat(_0) {
124
130
  onClose: function onClose() {
125
131
  return setOpen(false);
126
132
  },
133
+ onFeedback: onFeedback,
134
+ feedbackState: feedbackState,
127
135
  messages: messages,
128
136
  tools: toolsFromConnector,
129
137
  indexUiState: indexUiState,