react-instantsearch 7.22.1 → 7.23.1
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/Autocomplete.js +17 -7
- package/dist/cjs/widgets/Chat.js +32 -3
- package/dist/cjs/widgets/FilterSuggestions.js +56 -0
- package/dist/cjs/widgets/index.js +11 -0
- package/dist/cjs/widgets/index.umd.js +19 -1
- package/dist/es/widgets/Autocomplete.d.ts +2 -0
- package/dist/es/widgets/Autocomplete.js +17 -7
- package/dist/es/widgets/Chat.d.ts +6 -5
- package/dist/es/widgets/Chat.js +16 -5
- package/dist/es/widgets/FilterSuggestions.d.ts +20 -0
- package/dist/es/widgets/FilterSuggestions.js +48 -0
- package/dist/es/widgets/index.d.ts +1 -0
- package/dist/es/widgets/index.js +2 -1
- package/dist/es/widgets/index.umd.d.ts +4 -0
- package/dist/es/widgets/index.umd.js +4 -0
- package/dist/umd/ReactInstantSearch.js +10496 -5750
- package/dist/umd/ReactInstantSearch.js.map +1 -1
- package/dist/umd/ReactInstantSearch.min.js +1 -1
- package/dist/umd/ReactInstantSearch.min.js.map +1 -1
- package/package.json +5 -5
- package/dist/cjs/index.umd.js +0 -38
- package/dist/es/index.umd.d.ts +0 -3
- package/dist/es/index.umd.js +0 -3
|
@@ -10,7 +10,7 @@ var _reactInstantsearchCore = require("react-instantsearch-core");
|
|
|
10
10
|
var _AutocompleteSearch = require("../components/AutocompleteSearch");
|
|
11
11
|
var _ReverseHighlight = require("./ReverseHighlight");
|
|
12
12
|
var _excluded = ["indices", "showSuggestions", "showRecent", "searchParameters"],
|
|
13
|
-
_excluded2 = ["indicesConfig", "refineSearchBox", "getSearchPageURL", "onSelect", "indexUiState", "isSearchPage", "panelComponent", "showRecent", "recentSearchConfig", "showSuggestions", "placeholder"];
|
|
13
|
+
_excluded2 = ["indicesConfig", "refineSearchBox", "getSearchPageURL", "onSelect", "indexUiState", "isSearchPage", "panelComponent", "showRecent", "recentSearchConfig", "showSuggestions", "transformItems", "placeholder"];
|
|
14
14
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
15
15
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
16
16
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
@@ -149,9 +149,12 @@ function InnerAutocomplete(_ref3) {
|
|
|
149
149
|
showRecent = _ref3.showRecent,
|
|
150
150
|
recentSearchConfig = _ref3.recentSearchConfig,
|
|
151
151
|
showSuggestions = _ref3.showSuggestions,
|
|
152
|
+
transformItems = _ref3.transformItems,
|
|
152
153
|
placeholder = _ref3.placeholder,
|
|
153
154
|
props = _objectWithoutProperties(_ref3, _excluded2);
|
|
154
|
-
var _useAutocomplete = (0, _reactInstantsearchCore.useAutocomplete)(
|
|
155
|
+
var _useAutocomplete = (0, _reactInstantsearchCore.useAutocomplete)({
|
|
156
|
+
transformItems: transformItems
|
|
157
|
+
}),
|
|
155
158
|
indices = _useAutocomplete.indices,
|
|
156
159
|
refineAutocomplete = _useAutocomplete.refine,
|
|
157
160
|
currentRefinement = _useAutocomplete.currentRefinement;
|
|
@@ -159,7 +162,8 @@ function InnerAutocomplete(_ref3) {
|
|
|
159
162
|
showRecent: showRecent,
|
|
160
163
|
query: currentRefinement,
|
|
161
164
|
indices: indices,
|
|
162
|
-
indicesConfig: indicesConfig
|
|
165
|
+
indicesConfig: indicesConfig,
|
|
166
|
+
suggestionsIndexName: showSuggestions === null || showSuggestions === void 0 ? void 0 : showSuggestions.indexName
|
|
163
167
|
}),
|
|
164
168
|
storage = _useStorage.storage,
|
|
165
169
|
storageHits = _useStorage.storageHits,
|
|
@@ -226,7 +230,7 @@ function InnerAutocomplete(_ref3) {
|
|
|
226
230
|
key: "recentSearches"
|
|
227
231
|
});
|
|
228
232
|
}
|
|
229
|
-
indices.forEach(function (_ref6
|
|
233
|
+
indices.forEach(function (_ref6) {
|
|
230
234
|
var indexId = _ref6.indexId,
|
|
231
235
|
indexName = _ref6.indexName,
|
|
232
236
|
hits = _ref6.hits;
|
|
@@ -236,21 +240,27 @@ function InnerAutocomplete(_ref3) {
|
|
|
236
240
|
return storageHit.query === suggestionHit.query;
|
|
237
241
|
});
|
|
238
242
|
}) : hits;
|
|
243
|
+
var currentIndexConfig = indicesConfig.find(function (config) {
|
|
244
|
+
return config.indexName === indexName;
|
|
245
|
+
});
|
|
246
|
+
if (!currentIndexConfig) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
239
249
|
elements[elementId] = /*#__PURE__*/_react.default.createElement(AutocompleteIndex, {
|
|
240
250
|
key: indexId
|
|
241
251
|
// @ts-expect-error - there seems to be problems with React.ComponentType and this, but it's actually correct
|
|
242
252
|
,
|
|
243
|
-
HeaderComponent:
|
|
253
|
+
HeaderComponent: currentIndexConfig.headerComponent
|
|
244
254
|
// @ts-expect-error - there seems to be problems with React.ComponentType and this, but it's actually correct
|
|
245
255
|
,
|
|
246
|
-
ItemComponent:
|
|
256
|
+
ItemComponent: currentIndexConfig.itemComponent,
|
|
247
257
|
items: filteredHits.map(function (item) {
|
|
248
258
|
return _objectSpread(_objectSpread({}, item), {}, {
|
|
249
259
|
__indexName: indexId
|
|
250
260
|
});
|
|
251
261
|
}),
|
|
252
262
|
getItemProps: getItemProps,
|
|
253
|
-
classNames:
|
|
263
|
+
classNames: currentIndexConfig.classNames
|
|
254
264
|
});
|
|
255
265
|
});
|
|
256
266
|
return /*#__PURE__*/_react.default.createElement(Autocomplete, _extends({}, props, getRootProps()), /*#__PURE__*/_react.default.createElement(_AutocompleteSearch.AutocompleteSearch, {
|
package/dist/cjs/widgets/Chat.js
CHANGED
|
@@ -4,6 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Chat = Chat;
|
|
7
|
+
Object.defineProperty(exports, "MemorizeToolType", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _chat.MemorizeToolType;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "MemorySearchToolType", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _chat.MemorySearchToolType;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "PonderToolType", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function get() {
|
|
22
|
+
return _chat.PonderToolType;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
7
25
|
Object.defineProperty(exports, "RecommendToolType", {
|
|
8
26
|
enumerable: true,
|
|
9
27
|
get: function get() {
|
|
@@ -23,7 +41,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
23
41
|
var _reactInstantsearchCore = require("react-instantsearch-core");
|
|
24
42
|
var _useStickToBottom2 = require("../lib/useStickToBottom");
|
|
25
43
|
var _SearchIndexTool = require("./chat/tools/SearchIndexTool");
|
|
26
|
-
var _excluded = ["tools", "toggleButtonProps", "headerProps", "messagesProps", "promptProps", "itemComponent", "toggleButtonComponent", "toggleButtonIconComponent", "headerComponent", "headerTitleIconComponent", "headerCloseIconComponent", "headerMinimizeIconComponent", "headerMaximizeIconComponent", "messagesLoaderComponent", "messagesErrorComponent", "promptComponent", "promptHeaderComponent", "promptFooterComponent", "assistantMessageLeadingComponent", "assistantMessageFooterComponent", "userMessageLeadingComponent", "userMessageFooterComponent", "actionsComponent", "classNames", "translations", "title", "getSearchPageURL"];
|
|
44
|
+
var _excluded = ["tools", "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"];
|
|
27
45
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
28
46
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
29
47
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -45,7 +63,7 @@ var ChatUiComponent = (0, _instantsearchUiComponents.createChatComponent)({
|
|
|
45
63
|
});
|
|
46
64
|
function createDefaultTools(itemComponent, getSearchPageURL) {
|
|
47
65
|
var _ref;
|
|
48
|
-
return _ref = {}, _defineProperty(_ref, _chat.SearchIndexToolType, (0, _SearchIndexTool.createCarouselTool)(true, itemComponent, getSearchPageURL)), _defineProperty(_ref, _chat.RecommendToolType, (0, _SearchIndexTool.createCarouselTool)(false, itemComponent, getSearchPageURL)), _ref;
|
|
66
|
+
return _ref = {}, _defineProperty(_ref, _chat.SearchIndexToolType, (0, _SearchIndexTool.createCarouselTool)(true, itemComponent, getSearchPageURL)), _defineProperty(_ref, _chat.RecommendToolType, (0, _SearchIndexTool.createCarouselTool)(false, itemComponent, getSearchPageURL)), _defineProperty(_ref, _chat.MemorizeToolType, {}), _defineProperty(_ref, _chat.MemorySearchToolType, {}), _defineProperty(_ref, _chat.PonderToolType, {}), _ref;
|
|
49
67
|
}
|
|
50
68
|
function Chat(_ref2) {
|
|
51
69
|
var userTools = _ref2.tools,
|
|
@@ -71,6 +89,7 @@ function Chat(_ref2) {
|
|
|
71
89
|
userMessageLeadingComponent = _ref2.userMessageLeadingComponent,
|
|
72
90
|
userMessageFooterComponent = _ref2.userMessageFooterComponent,
|
|
73
91
|
actionsComponent = _ref2.actionsComponent,
|
|
92
|
+
suggestionsComponent = _ref2.suggestionsComponent,
|
|
74
93
|
classNames = _ref2.classNames,
|
|
75
94
|
_ref2$translations = _ref2.translations,
|
|
76
95
|
translations = _ref2$translations === void 0 ? {} : _ref2$translations,
|
|
@@ -117,7 +136,8 @@ function Chat(_ref2) {
|
|
|
117
136
|
isClearing = chatState.isClearing,
|
|
118
137
|
clearMessages = chatState.clearMessages,
|
|
119
138
|
onClearTransitionEnd = chatState.onClearTransitionEnd,
|
|
120
|
-
toolsFromConnector = chatState.tools
|
|
139
|
+
toolsFromConnector = chatState.tools,
|
|
140
|
+
suggestions = chatState.suggestions;
|
|
121
141
|
if (process.env.NODE_ENV === 'development' && error) {
|
|
122
142
|
throw error;
|
|
123
143
|
}
|
|
@@ -128,6 +148,7 @@ function Chat(_ref2) {
|
|
|
128
148
|
headerComponent: headerComponent,
|
|
129
149
|
promptComponent: promptComponent,
|
|
130
150
|
toggleButtonComponent: toggleButtonComponent,
|
|
151
|
+
suggestionsComponent: suggestionsComponent,
|
|
131
152
|
toggleButtonProps: _objectSpread({
|
|
132
153
|
open: open,
|
|
133
154
|
onClick: function onClick() {
|
|
@@ -205,6 +226,14 @@ function Chat(_ref2) {
|
|
|
205
226
|
headerComponent: promptHeaderComponent,
|
|
206
227
|
footerComponent: promptFooterComponent
|
|
207
228
|
}, promptProps),
|
|
229
|
+
suggestionsProps: {
|
|
230
|
+
suggestions: suggestions,
|
|
231
|
+
onSuggestionClick: function onSuggestionClick(suggestion) {
|
|
232
|
+
sendMessage({
|
|
233
|
+
text: suggestion
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
},
|
|
208
237
|
classNames: classNames
|
|
209
238
|
});
|
|
210
239
|
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FilterSuggestions = FilterSuggestions;
|
|
8
|
+
var _instantsearchUiComponents = require("instantsearch-ui-components");
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _reactInstantsearchCore = require("react-instantsearch-core");
|
|
11
|
+
var _excluded = ["agentId", "attributes", "maxSuggestions", "debounceMs", "hitsToSample", "transformItems", "itemComponent", "headerComponent", "emptyComponent", "transport"];
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
14
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
15
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
16
|
+
var FilterSuggestionsUiComponent = (0, _instantsearchUiComponents.createFilterSuggestionsComponent)({
|
|
17
|
+
createElement: _react.createElement,
|
|
18
|
+
Fragment: _react.Fragment
|
|
19
|
+
});
|
|
20
|
+
function FilterSuggestions(_ref) {
|
|
21
|
+
var agentId = _ref.agentId,
|
|
22
|
+
attributes = _ref.attributes,
|
|
23
|
+
maxSuggestions = _ref.maxSuggestions,
|
|
24
|
+
debounceMs = _ref.debounceMs,
|
|
25
|
+
hitsToSample = _ref.hitsToSample,
|
|
26
|
+
transformItems = _ref.transformItems,
|
|
27
|
+
itemComponent = _ref.itemComponent,
|
|
28
|
+
headerComponent = _ref.headerComponent,
|
|
29
|
+
emptyComponent = _ref.emptyComponent,
|
|
30
|
+
transport = _ref.transport,
|
|
31
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
32
|
+
var _useFilterSuggestions = (0, _reactInstantsearchCore.useFilterSuggestions)({
|
|
33
|
+
agentId: agentId,
|
|
34
|
+
attributes: attributes,
|
|
35
|
+
maxSuggestions: maxSuggestions,
|
|
36
|
+
debounceMs: debounceMs,
|
|
37
|
+
hitsToSample: hitsToSample,
|
|
38
|
+
transformItems: transformItems,
|
|
39
|
+
transport: transport
|
|
40
|
+
}, {
|
|
41
|
+
$$widgetType: 'ais.filterSuggestions'
|
|
42
|
+
}),
|
|
43
|
+
suggestions = _useFilterSuggestions.suggestions,
|
|
44
|
+
isLoading = _useFilterSuggestions.isLoading,
|
|
45
|
+
refine = _useFilterSuggestions.refine;
|
|
46
|
+
var uiProps = {
|
|
47
|
+
suggestions: suggestions,
|
|
48
|
+
isLoading: isLoading,
|
|
49
|
+
refine: refine,
|
|
50
|
+
skeletonCount: maxSuggestions,
|
|
51
|
+
itemComponent: itemComponent,
|
|
52
|
+
headerComponent: headerComponent,
|
|
53
|
+
emptyComponent: emptyComponent
|
|
54
|
+
};
|
|
55
|
+
return /*#__PURE__*/_react.default.createElement(FilterSuggestionsUiComponent, _extends({}, props, uiProps));
|
|
56
|
+
}
|
|
@@ -277,4 +277,15 @@ Object.keys(_TrendingItems).forEach(function (key) {
|
|
|
277
277
|
return _TrendingItems[key];
|
|
278
278
|
}
|
|
279
279
|
});
|
|
280
|
+
});
|
|
281
|
+
var _FilterSuggestions = require("./FilterSuggestions");
|
|
282
|
+
Object.keys(_FilterSuggestions).forEach(function (key) {
|
|
283
|
+
if (key === "default" || key === "__esModule") return;
|
|
284
|
+
if (key in exports && exports[key] === _FilterSuggestions[key]) return;
|
|
285
|
+
Object.defineProperty(exports, key, {
|
|
286
|
+
enumerable: true,
|
|
287
|
+
get: function get() {
|
|
288
|
+
return _FilterSuggestions[key];
|
|
289
|
+
}
|
|
290
|
+
});
|
|
280
291
|
});
|
|
@@ -7,9 +7,12 @@ var _exportNames = {
|
|
|
7
7
|
Chat: true,
|
|
8
8
|
SearchIndexToolType: true,
|
|
9
9
|
RecommendToolType: true,
|
|
10
|
+
MemorizeToolType: true,
|
|
11
|
+
MemorySearchToolType: true,
|
|
12
|
+
PonderToolType: true,
|
|
10
13
|
createDefaultTools: true
|
|
11
14
|
};
|
|
12
|
-
exports.createDefaultTools = exports.SearchIndexToolType = exports.RecommendToolType = exports.Chat = void 0;
|
|
15
|
+
exports.createDefaultTools = exports.SearchIndexToolType = exports.RecommendToolType = exports.PonderToolType = exports.MemorySearchToolType = exports.MemorizeToolType = exports.Chat = void 0;
|
|
13
16
|
var _Autocomplete = require("./Autocomplete");
|
|
14
17
|
Object.keys(_Autocomplete).forEach(function (key) {
|
|
15
18
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -34,6 +37,18 @@ Object.keys(_Breadcrumb).forEach(function (key) {
|
|
|
34
37
|
}
|
|
35
38
|
});
|
|
36
39
|
});
|
|
40
|
+
var _FilterSuggestions = require("./FilterSuggestions");
|
|
41
|
+
Object.keys(_FilterSuggestions).forEach(function (key) {
|
|
42
|
+
if (key === "default" || key === "__esModule") return;
|
|
43
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
44
|
+
if (key in exports && exports[key] === _FilterSuggestions[key]) return;
|
|
45
|
+
Object.defineProperty(exports, key, {
|
|
46
|
+
enumerable: true,
|
|
47
|
+
get: function get() {
|
|
48
|
+
return _FilterSuggestions[key];
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
});
|
|
37
52
|
var _ClearRefinements = require("./ClearRefinements");
|
|
38
53
|
Object.keys(_ClearRefinements).forEach(function (key) {
|
|
39
54
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -303,4 +318,7 @@ var Chat = exports.Chat = function Chat() {
|
|
|
303
318
|
};
|
|
304
319
|
var SearchIndexToolType = exports.SearchIndexToolType = undefined;
|
|
305
320
|
var RecommendToolType = exports.RecommendToolType = undefined;
|
|
321
|
+
var MemorizeToolType = exports.MemorizeToolType = undefined;
|
|
322
|
+
var MemorySearchToolType = exports.MemorySearchToolType = undefined;
|
|
323
|
+
var PonderToolType = exports.PonderToolType = undefined;
|
|
306
324
|
var createDefaultTools = exports.createDefaultTools = function createDefaultTools() {};
|
|
@@ -3,6 +3,7 @@ import { useAutocomplete } from 'react-instantsearch-core';
|
|
|
3
3
|
import type { PlainSearchParameters } from 'algoliasearch-helper';
|
|
4
4
|
import type { AutocompleteIndexClassNames, AutocompleteIndexConfig, AutocompleteClassNames, AutocompleteIndexProps } from 'instantsearch-ui-components';
|
|
5
5
|
import type { BaseHit, IndexUiState } from 'instantsearch.js';
|
|
6
|
+
import type { TransformItemsIndicesConfig } from 'instantsearch.js/es/connectors/autocomplete/connectAutocomplete';
|
|
6
7
|
import type { ComponentProps } from 'react';
|
|
7
8
|
type AutocompleteSearchParameters = Omit<PlainSearchParameters, 'index'>;
|
|
8
9
|
type IndexConfig<TItem extends BaseHit> = AutocompleteIndexConfig<TItem> & {
|
|
@@ -40,6 +41,7 @@ export type AutocompleteProps<TItem extends BaseHit> = ComponentProps<'div'> & {
|
|
|
40
41
|
};
|
|
41
42
|
getSearchPageURL?: (nextUiState: IndexUiState) => string;
|
|
42
43
|
onSelect?: AutocompleteIndexConfig<TItem>['onSelect'];
|
|
44
|
+
transformItems?: (indices: TransformItemsIndicesConfig[]) => TransformItemsIndicesConfig[];
|
|
43
45
|
panelComponent?: (props: {
|
|
44
46
|
elements: PanelElements;
|
|
45
47
|
indices: ReturnType<typeof useAutocomplete>['indices'];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var _excluded = ["indices", "showSuggestions", "showRecent", "searchParameters"],
|
|
2
|
-
_excluded2 = ["indicesConfig", "refineSearchBox", "getSearchPageURL", "onSelect", "indexUiState", "isSearchPage", "panelComponent", "showRecent", "recentSearchConfig", "showSuggestions", "placeholder"];
|
|
2
|
+
_excluded2 = ["indicesConfig", "refineSearchBox", "getSearchPageURL", "onSelect", "indexUiState", "isSearchPage", "panelComponent", "showRecent", "recentSearchConfig", "showSuggestions", "transformItems", "placeholder"];
|
|
3
3
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
4
4
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
5
5
|
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
@@ -142,9 +142,12 @@ function InnerAutocomplete(_ref3) {
|
|
|
142
142
|
showRecent = _ref3.showRecent,
|
|
143
143
|
recentSearchConfig = _ref3.recentSearchConfig,
|
|
144
144
|
showSuggestions = _ref3.showSuggestions,
|
|
145
|
+
transformItems = _ref3.transformItems,
|
|
145
146
|
placeholder = _ref3.placeholder,
|
|
146
147
|
props = _objectWithoutProperties(_ref3, _excluded2);
|
|
147
|
-
var _useAutocomplete = useAutocomplete(
|
|
148
|
+
var _useAutocomplete = useAutocomplete({
|
|
149
|
+
transformItems: transformItems
|
|
150
|
+
}),
|
|
148
151
|
indices = _useAutocomplete.indices,
|
|
149
152
|
refineAutocomplete = _useAutocomplete.refine,
|
|
150
153
|
currentRefinement = _useAutocomplete.currentRefinement;
|
|
@@ -152,7 +155,8 @@ function InnerAutocomplete(_ref3) {
|
|
|
152
155
|
showRecent: showRecent,
|
|
153
156
|
query: currentRefinement,
|
|
154
157
|
indices: indices,
|
|
155
|
-
indicesConfig: indicesConfig
|
|
158
|
+
indicesConfig: indicesConfig,
|
|
159
|
+
suggestionsIndexName: showSuggestions === null || showSuggestions === void 0 ? void 0 : showSuggestions.indexName
|
|
156
160
|
}),
|
|
157
161
|
storage = _useStorage.storage,
|
|
158
162
|
storageHits = _useStorage.storageHits,
|
|
@@ -219,7 +223,7 @@ function InnerAutocomplete(_ref3) {
|
|
|
219
223
|
key: "recentSearches"
|
|
220
224
|
});
|
|
221
225
|
}
|
|
222
|
-
indices.forEach(function (_ref6
|
|
226
|
+
indices.forEach(function (_ref6) {
|
|
223
227
|
var indexId = _ref6.indexId,
|
|
224
228
|
indexName = _ref6.indexName,
|
|
225
229
|
hits = _ref6.hits;
|
|
@@ -229,21 +233,27 @@ function InnerAutocomplete(_ref3) {
|
|
|
229
233
|
return storageHit.query === suggestionHit.query;
|
|
230
234
|
});
|
|
231
235
|
}) : hits;
|
|
236
|
+
var currentIndexConfig = indicesConfig.find(function (config) {
|
|
237
|
+
return config.indexName === indexName;
|
|
238
|
+
});
|
|
239
|
+
if (!currentIndexConfig) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
232
242
|
elements[elementId] = /*#__PURE__*/React.createElement(AutocompleteIndex, {
|
|
233
243
|
key: indexId
|
|
234
244
|
// @ts-expect-error - there seems to be problems with React.ComponentType and this, but it's actually correct
|
|
235
245
|
,
|
|
236
|
-
HeaderComponent:
|
|
246
|
+
HeaderComponent: currentIndexConfig.headerComponent
|
|
237
247
|
// @ts-expect-error - there seems to be problems with React.ComponentType and this, but it's actually correct
|
|
238
248
|
,
|
|
239
|
-
ItemComponent:
|
|
249
|
+
ItemComponent: currentIndexConfig.itemComponent,
|
|
240
250
|
items: filteredHits.map(function (item) {
|
|
241
251
|
return _objectSpread(_objectSpread({}, item), {}, {
|
|
242
252
|
__indexName: indexId
|
|
243
253
|
});
|
|
244
254
|
}),
|
|
245
255
|
getItemProps: getItemProps,
|
|
246
|
-
classNames:
|
|
256
|
+
classNames: currentIndexConfig.classNames
|
|
247
257
|
});
|
|
248
258
|
});
|
|
249
259
|
return /*#__PURE__*/React.createElement(Autocomplete, _extends({}, props, getRootProps()), /*#__PURE__*/React.createElement(AutocompleteSearch, {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { SearchIndexToolType, RecommendToolType } from 'instantsearch.js/es/lib/chat';
|
|
1
|
+
import { SearchIndexToolType, RecommendToolType, MemorizeToolType, MemorySearchToolType, PonderToolType } from 'instantsearch.js/es/lib/chat';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
export { SearchIndexToolType, RecommendToolType };
|
|
3
|
+
export { SearchIndexToolType, RecommendToolType, MemorizeToolType, MemorySearchToolType, PonderToolType, };
|
|
4
4
|
import type { ChatProps as ChatUiProps, 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' | 'headerComponent' | 'promptComponent'>;
|
|
10
|
+
type UiProps = Pick<ChatUiProps, 'open' | 'headerProps' | 'toggleButtonProps' | 'messagesProps' | 'promptProps' | 'suggestionsProps' | 'headerComponent' | 'promptComponent' | 'suggestionsComponent'>;
|
|
11
11
|
type UserToggleButtonProps = Omit<ChatUiProps['toggleButtonProps'], 'open' | 'onClick'>;
|
|
12
12
|
type UserHeaderProps = Omit<ChatUiProps['headerProps'], 'onClose'>;
|
|
13
|
-
type UserMessagesProps = Omit<ChatUiProps['messagesProps'], 'messages' | 'tools' | 'indexUiState' | 'setIndexUiState' | 'scrollRef' | 'contentRef' | 'messageComponent' | 'leadingComponent' | 'footerComponent' | 'translations' | 'classNames'>;
|
|
13
|
+
type UserMessagesProps = Omit<ChatUiProps['messagesProps'], 'messages' | 'tools' | 'indexUiState' | 'setIndexUiState' | 'scrollRef' | 'contentRef' | 'messageComponent' | 'leadingComponent' | 'footerComponent' | 'suggestionsComponent' | 'translations' | 'classNames'>;
|
|
14
14
|
type UserPromptProps = Omit<ChatUiProps['promptProps'], 'value' | 'onInput' | 'onSubmit' | 'headerComponent' | 'footerComponent'>;
|
|
15
15
|
export type Tool = UserClientSideTool;
|
|
16
16
|
export type Tools = UserClientSideTools;
|
|
@@ -39,6 +39,7 @@ export type ChatProps<TObject, TUiMessage extends UIMessage = UIMessage> = Omit<
|
|
|
39
39
|
assistantMessageFooterComponent?: ChatMessageProps['footerComponent'];
|
|
40
40
|
userMessageLeadingComponent?: ChatMessageProps['leadingComponent'];
|
|
41
41
|
userMessageFooterComponent?: ChatMessageProps['footerComponent'];
|
|
42
|
+
suggestionsComponent?: ChatUiProps['suggestionsComponent'];
|
|
42
43
|
translations?: Partial<{
|
|
43
44
|
prompt: ChatUiProps['promptProps']['translations'];
|
|
44
45
|
header: ChatUiProps['headerProps']['translations'];
|
|
@@ -46,4 +47,4 @@ export type ChatProps<TObject, TUiMessage extends UIMessage = UIMessage> = Omit<
|
|
|
46
47
|
messages: ChatUiProps['messagesProps']['translations'];
|
|
47
48
|
}>;
|
|
48
49
|
};
|
|
49
|
-
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, classNames, translations, title, getSearchPageURL, ...props }: ChatProps<TObject, TUiMessage>): React.JSX.Element;
|
|
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;
|
package/dist/es/widgets/Chat.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["tools", "toggleButtonProps", "headerProps", "messagesProps", "promptProps", "itemComponent", "toggleButtonComponent", "toggleButtonIconComponent", "headerComponent", "headerTitleIconComponent", "headerCloseIconComponent", "headerMinimizeIconComponent", "headerMaximizeIconComponent", "messagesLoaderComponent", "messagesErrorComponent", "promptComponent", "promptHeaderComponent", "promptFooterComponent", "assistantMessageLeadingComponent", "assistantMessageFooterComponent", "userMessageLeadingComponent", "userMessageFooterComponent", "actionsComponent", "classNames", "translations", "title", "getSearchPageURL"];
|
|
1
|
+
var _excluded = ["tools", "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"];
|
|
2
2
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
3
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -14,19 +14,19 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
|
|
|
14
14
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
15
15
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
16
|
import { createChatComponent } from 'instantsearch-ui-components';
|
|
17
|
-
import { SearchIndexToolType, RecommendToolType } from "instantsearch.js/es/lib/chat/index.js";
|
|
17
|
+
import { SearchIndexToolType, RecommendToolType, MemorizeToolType, MemorySearchToolType, PonderToolType } from "instantsearch.js/es/lib/chat/index.js";
|
|
18
18
|
import React, { createElement, Fragment } from 'react';
|
|
19
19
|
import { useInstantSearch, useChat } from 'react-instantsearch-core';
|
|
20
20
|
import { useStickToBottom } from "../lib/useStickToBottom.js";
|
|
21
21
|
import { createCarouselTool } from "./chat/tools/SearchIndexTool.js";
|
|
22
|
-
export { SearchIndexToolType, RecommendToolType };
|
|
22
|
+
export { SearchIndexToolType, RecommendToolType, MemorizeToolType, MemorySearchToolType, PonderToolType };
|
|
23
23
|
var ChatUiComponent = createChatComponent({
|
|
24
24
|
createElement: createElement,
|
|
25
25
|
Fragment: Fragment
|
|
26
26
|
});
|
|
27
27
|
export function createDefaultTools(itemComponent, getSearchPageURL) {
|
|
28
28
|
var _ref;
|
|
29
|
-
return _ref = {}, _defineProperty(_ref, SearchIndexToolType, createCarouselTool(true, itemComponent, getSearchPageURL)), _defineProperty(_ref, RecommendToolType, createCarouselTool(false, itemComponent, getSearchPageURL)), _ref;
|
|
29
|
+
return _ref = {}, _defineProperty(_ref, SearchIndexToolType, createCarouselTool(true, itemComponent, getSearchPageURL)), _defineProperty(_ref, RecommendToolType, createCarouselTool(false, itemComponent, getSearchPageURL)), _defineProperty(_ref, MemorizeToolType, {}), _defineProperty(_ref, MemorySearchToolType, {}), _defineProperty(_ref, PonderToolType, {}), _ref;
|
|
30
30
|
}
|
|
31
31
|
export function Chat(_ref2) {
|
|
32
32
|
var userTools = _ref2.tools,
|
|
@@ -52,6 +52,7 @@ export function Chat(_ref2) {
|
|
|
52
52
|
userMessageLeadingComponent = _ref2.userMessageLeadingComponent,
|
|
53
53
|
userMessageFooterComponent = _ref2.userMessageFooterComponent,
|
|
54
54
|
actionsComponent = _ref2.actionsComponent,
|
|
55
|
+
suggestionsComponent = _ref2.suggestionsComponent,
|
|
55
56
|
classNames = _ref2.classNames,
|
|
56
57
|
_ref2$translations = _ref2.translations,
|
|
57
58
|
translations = _ref2$translations === void 0 ? {} : _ref2$translations,
|
|
@@ -98,7 +99,8 @@ export function Chat(_ref2) {
|
|
|
98
99
|
isClearing = chatState.isClearing,
|
|
99
100
|
clearMessages = chatState.clearMessages,
|
|
100
101
|
onClearTransitionEnd = chatState.onClearTransitionEnd,
|
|
101
|
-
toolsFromConnector = chatState.tools
|
|
102
|
+
toolsFromConnector = chatState.tools,
|
|
103
|
+
suggestions = chatState.suggestions;
|
|
102
104
|
if (process.env.NODE_ENV === 'development' && error) {
|
|
103
105
|
throw error;
|
|
104
106
|
}
|
|
@@ -109,6 +111,7 @@ export function Chat(_ref2) {
|
|
|
109
111
|
headerComponent: headerComponent,
|
|
110
112
|
promptComponent: promptComponent,
|
|
111
113
|
toggleButtonComponent: toggleButtonComponent,
|
|
114
|
+
suggestionsComponent: suggestionsComponent,
|
|
112
115
|
toggleButtonProps: _objectSpread({
|
|
113
116
|
open: open,
|
|
114
117
|
onClick: function onClick() {
|
|
@@ -186,6 +189,14 @@ export function Chat(_ref2) {
|
|
|
186
189
|
headerComponent: promptHeaderComponent,
|
|
187
190
|
footerComponent: promptFooterComponent
|
|
188
191
|
}, promptProps),
|
|
192
|
+
suggestionsProps: {
|
|
193
|
+
suggestions: suggestions,
|
|
194
|
+
onSuggestionClick: function onSuggestionClick(suggestion) {
|
|
195
|
+
sendMessage({
|
|
196
|
+
text: suggestion
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
},
|
|
189
200
|
classNames: classNames
|
|
190
201
|
});
|
|
191
202
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FilterSuggestionsProps as FilterSuggestionsUiComponentProps } from 'instantsearch-ui-components';
|
|
3
|
+
import type { UseFilterSuggestionsProps } from 'react-instantsearch-core';
|
|
4
|
+
type UiProps = Pick<FilterSuggestionsUiComponentProps, 'suggestions' | 'isLoading' | 'refine' | 'skeletonCount' | 'itemComponent' | 'headerComponent' | 'emptyComponent'>;
|
|
5
|
+
export type FilterSuggestionsProps = Omit<FilterSuggestionsUiComponentProps, keyof UiProps> & UseFilterSuggestionsProps & {
|
|
6
|
+
/**
|
|
7
|
+
* Component to render each suggestion item.
|
|
8
|
+
*/
|
|
9
|
+
itemComponent?: FilterSuggestionsUiComponentProps['itemComponent'];
|
|
10
|
+
/**
|
|
11
|
+
* Component to render the header. Set to `false` to disable the header.
|
|
12
|
+
*/
|
|
13
|
+
headerComponent?: FilterSuggestionsUiComponentProps['headerComponent'];
|
|
14
|
+
/**
|
|
15
|
+
* Component to render when there are no suggestions.
|
|
16
|
+
*/
|
|
17
|
+
emptyComponent?: FilterSuggestionsUiComponentProps['emptyComponent'];
|
|
18
|
+
};
|
|
19
|
+
export declare function FilterSuggestions({ agentId, attributes, maxSuggestions, debounceMs, hitsToSample, transformItems, itemComponent, headerComponent, emptyComponent, transport, ...props }: FilterSuggestionsProps): React.JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var _excluded = ["agentId", "attributes", "maxSuggestions", "debounceMs", "hitsToSample", "transformItems", "itemComponent", "headerComponent", "emptyComponent", "transport"];
|
|
2
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
3
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
4
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
5
|
+
import { createFilterSuggestionsComponent } from 'instantsearch-ui-components';
|
|
6
|
+
import React, { createElement, Fragment } from 'react';
|
|
7
|
+
import { useFilterSuggestions } from 'react-instantsearch-core';
|
|
8
|
+
var FilterSuggestionsUiComponent = createFilterSuggestionsComponent({
|
|
9
|
+
createElement: createElement,
|
|
10
|
+
Fragment: Fragment
|
|
11
|
+
});
|
|
12
|
+
export function FilterSuggestions(_ref) {
|
|
13
|
+
var agentId = _ref.agentId,
|
|
14
|
+
attributes = _ref.attributes,
|
|
15
|
+
maxSuggestions = _ref.maxSuggestions,
|
|
16
|
+
debounceMs = _ref.debounceMs,
|
|
17
|
+
hitsToSample = _ref.hitsToSample,
|
|
18
|
+
transformItems = _ref.transformItems,
|
|
19
|
+
itemComponent = _ref.itemComponent,
|
|
20
|
+
headerComponent = _ref.headerComponent,
|
|
21
|
+
emptyComponent = _ref.emptyComponent,
|
|
22
|
+
transport = _ref.transport,
|
|
23
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
24
|
+
var _useFilterSuggestions = useFilterSuggestions({
|
|
25
|
+
agentId: agentId,
|
|
26
|
+
attributes: attributes,
|
|
27
|
+
maxSuggestions: maxSuggestions,
|
|
28
|
+
debounceMs: debounceMs,
|
|
29
|
+
hitsToSample: hitsToSample,
|
|
30
|
+
transformItems: transformItems,
|
|
31
|
+
transport: transport
|
|
32
|
+
}, {
|
|
33
|
+
$$widgetType: 'ais.filterSuggestions'
|
|
34
|
+
}),
|
|
35
|
+
suggestions = _useFilterSuggestions.suggestions,
|
|
36
|
+
isLoading = _useFilterSuggestions.isLoading,
|
|
37
|
+
refine = _useFilterSuggestions.refine;
|
|
38
|
+
var uiProps = {
|
|
39
|
+
suggestions: suggestions,
|
|
40
|
+
isLoading: isLoading,
|
|
41
|
+
refine: refine,
|
|
42
|
+
skeletonCount: maxSuggestions,
|
|
43
|
+
itemComponent: itemComponent,
|
|
44
|
+
headerComponent: headerComponent,
|
|
45
|
+
emptyComponent: emptyComponent
|
|
46
|
+
};
|
|
47
|
+
return /*#__PURE__*/React.createElement(FilterSuggestionsUiComponent, _extends({}, props, uiProps));
|
|
48
|
+
}
|
package/dist/es/widgets/index.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
export * from './Autocomplete';
|
|
2
2
|
export * from './Breadcrumb';
|
|
3
3
|
export declare const Chat: () => never;
|
|
4
|
+
export * from './FilterSuggestions';
|
|
4
5
|
export declare const SearchIndexToolType: undefined;
|
|
5
6
|
export declare const RecommendToolType: undefined;
|
|
7
|
+
export declare const MemorizeToolType: undefined;
|
|
8
|
+
export declare const MemorySearchToolType: undefined;
|
|
9
|
+
export declare const PonderToolType: undefined;
|
|
6
10
|
export declare const createDefaultTools: () => void;
|
|
7
11
|
export * from './ClearRefinements';
|
|
8
12
|
export * from './CurrentRefinements';
|
|
@@ -3,8 +3,12 @@ export * from "./Breadcrumb.js";
|
|
|
3
3
|
export var Chat = function Chat() {
|
|
4
4
|
throw new Error("\"<Chat>\" is not available from the UMD build.\n\nPlease use React InstantSearch with a packaging system:\nhttps://www.algolia.com/doc/guides/building-search-ui/installation/react/#install-react-instantsearch-as-an-npm-package");
|
|
5
5
|
};
|
|
6
|
+
export * from "./FilterSuggestions.js";
|
|
6
7
|
export var SearchIndexToolType = undefined;
|
|
7
8
|
export var RecommendToolType = undefined;
|
|
9
|
+
export var MemorizeToolType = undefined;
|
|
10
|
+
export var MemorySearchToolType = undefined;
|
|
11
|
+
export var PonderToolType = undefined;
|
|
8
12
|
export var createDefaultTools = function createDefaultTools() {};
|
|
9
13
|
export * from "./ClearRefinements.js";
|
|
10
14
|
export * from "./CurrentRefinements.js";
|