react-instantsearch 7.33.1 → 7.34.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 +3 -0
- package/dist/cjs/widgets/Autocomplete.js +8 -4
- package/dist/cjs/widgets/Chat.js +10 -14
- package/dist/cjs/widgets/ChatTrigger.js +49 -0
- package/dist/cjs/widgets/SearchBox.js +4 -2
- package/dist/cjs/widgets/index.js +1 -0
- package/dist/es/components/ChatInlineLayout.d.ts +4 -1
- package/dist/es/components/ChatInlineLayout.js +3 -0
- package/dist/es/index.js +1 -0
- package/dist/es/widgets/Autocomplete.d.ts +1 -1
- package/dist/es/widgets/Autocomplete.js +8 -4
- package/dist/es/widgets/Chat.d.ts +1 -5
- package/dist/es/widgets/Chat.js +10 -14
- package/dist/es/widgets/ChatTrigger.d.ts +24 -0
- package/dist/es/widgets/ChatTrigger.js +40 -0
- package/dist/es/widgets/SearchBox.js +9 -7
- package/dist/es/widgets/index.d.ts +1 -0
- package/dist/es/widgets/index.js +1 -0
- package/dist/umd/ReactInstantSearch.js +237 -133
- 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.34.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.34.0';
|
|
28
28
|
|
|
29
29
|
function _define_property(obj, key, value) {
|
|
30
30
|
if (key in obj) {
|
|
@@ -5980,7 +5980,7 @@
|
|
|
5980
5980
|
}
|
|
5981
5981
|
}
|
|
5982
5982
|
|
|
5983
|
-
var withUsage$
|
|
5983
|
+
var withUsage$v = createDocumentationMessageGenerator({
|
|
5984
5984
|
name: 'configure',
|
|
5985
5985
|
connector: true
|
|
5986
5986
|
});
|
|
@@ -5996,7 +5996,7 @@
|
|
|
5996
5996
|
var renderFn = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : noop, unmountFn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : noop;
|
|
5997
5997
|
return function(widgetParams) {
|
|
5998
5998
|
if (!widgetParams || !isPlainObject(widgetParams.searchParameters)) {
|
|
5999
|
-
throw new Error(withUsage$
|
|
5999
|
+
throw new Error(withUsage$v('The `searchParameters` option expects an object.'));
|
|
6000
6000
|
}
|
|
6001
6001
|
var connectorState = {};
|
|
6002
6002
|
function refine(helper) {
|
|
@@ -7620,13 +7620,13 @@
|
|
|
7620
7620
|
return null;
|
|
7621
7621
|
}
|
|
7622
7622
|
|
|
7623
|
-
var withUsage$
|
|
7623
|
+
var withUsage$u = createDocumentationMessageGenerator({
|
|
7624
7624
|
name: 'dynamic-widgets',
|
|
7625
7625
|
connector: true
|
|
7626
7626
|
});
|
|
7627
7627
|
var connectDynamicWidgets = function connectDynamicWidgets(renderFn) {
|
|
7628
7628
|
var unmountFn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : noop;
|
|
7629
|
-
checkRendering(renderFn, withUsage$
|
|
7629
|
+
checkRendering(renderFn, withUsage$u());
|
|
7630
7630
|
return function(widgetParams) {
|
|
7631
7631
|
var widgets = widgetParams.widgets, _widgetParams_maxValuesPerFacet = widgetParams.maxValuesPerFacet, maxValuesPerFacet = _widgetParams_maxValuesPerFacet === void 0 ? 20 : _widgetParams_maxValuesPerFacet, _widgetParams_facets = widgetParams.facets, facets = _widgetParams_facets === void 0 ? [
|
|
7632
7632
|
'*'
|
|
@@ -7636,10 +7636,10 @@
|
|
|
7636
7636
|
if (!(widgets && Array.isArray(widgets) && widgets.every(function(widget) {
|
|
7637
7637
|
return (typeof widget === "undefined" ? "undefined" : _type_of(widget)) === 'object';
|
|
7638
7638
|
}))) {
|
|
7639
|
-
throw new Error(withUsage$
|
|
7639
|
+
throw new Error(withUsage$u('The `widgets` option expects an array of widgets.'));
|
|
7640
7640
|
}
|
|
7641
7641
|
if (!Array.isArray(facets)) {
|
|
7642
|
-
throw new Error(withUsage$
|
|
7642
|
+
throw new Error(withUsage$u("The `facets` option only accepts an array of facets, you passed ".concat(JSON.stringify(facets))));
|
|
7643
7643
|
}
|
|
7644
7644
|
var localWidgets = new Map();
|
|
7645
7645
|
return {
|
|
@@ -7741,7 +7741,7 @@
|
|
|
7741
7741
|
results: results
|
|
7742
7742
|
});
|
|
7743
7743
|
if (!Array.isArray(attributesToRender)) {
|
|
7744
|
-
throw new Error(withUsage$
|
|
7744
|
+
throw new Error(withUsage$u('The `transformItems` option expects a function that returns an Array.'));
|
|
7745
7745
|
}
|
|
7746
7746
|
return {
|
|
7747
7747
|
attributesToRender: attributesToRender,
|
|
@@ -8062,19 +8062,19 @@
|
|
|
8062
8062
|
return toFeedSearchResults(lastResults._state, raw);
|
|
8063
8063
|
});
|
|
8064
8064
|
}
|
|
8065
|
-
var withUsage$
|
|
8065
|
+
var withUsage$t = createDocumentationMessageGenerator({
|
|
8066
8066
|
name: 'feeds',
|
|
8067
8067
|
connector: true
|
|
8068
8068
|
});
|
|
8069
8069
|
var connectFeeds = function connectFeeds(renderFn) {
|
|
8070
8070
|
var unmountFn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : noop;
|
|
8071
|
-
checkRendering(renderFn, withUsage$
|
|
8071
|
+
checkRendering(renderFn, withUsage$t());
|
|
8072
8072
|
return function(widgetParams) {
|
|
8073
8073
|
var isolated = widgetParams.isolated, _widgetParams_transformFeeds = widgetParams.transformFeeds, transformFeeds = _widgetParams_transformFeeds === void 0 ? function(feeds) {
|
|
8074
8074
|
return feeds;
|
|
8075
8075
|
} : _widgetParams_transformFeeds;
|
|
8076
8076
|
if (isolated !== false) {
|
|
8077
|
-
throw new Error(withUsage$
|
|
8077
|
+
throw new Error(withUsage$t('The `isolated` option currently only supports `false`.'));
|
|
8078
8078
|
}
|
|
8079
8079
|
return {
|
|
8080
8080
|
$$type: 'ais.feeds',
|
|
@@ -8082,7 +8082,7 @@
|
|
|
8082
8082
|
init: function init(initOptions) {
|
|
8083
8083
|
var instantSearchInstance = initOptions.instantSearchInstance;
|
|
8084
8084
|
if (!instantSearchInstance.compositionID) {
|
|
8085
|
-
throw new Error(withUsage$
|
|
8085
|
+
throw new Error(withUsage$t('The `feeds` widget requires a composition-based InstantSearch instance (compositionID must be set).'));
|
|
8086
8086
|
}
|
|
8087
8087
|
hydrateFeedsFromInitialResultsIfNeeded(instantSearchInstance, initOptions.parent);
|
|
8088
8088
|
renderFn(_object_spread_props(_object_spread({}, this.getWidgetRenderState(initOptions)), {
|
|
@@ -8128,12 +8128,12 @@
|
|
|
8128
8128
|
];
|
|
8129
8129
|
feedIDs = transformFeeds(feedIDs);
|
|
8130
8130
|
if (!Array.isArray(feedIDs)) {
|
|
8131
|
-
throw new Error(withUsage$
|
|
8131
|
+
throw new Error(withUsage$t('The `transformFeeds` option expects a function that returns an Array.'));
|
|
8132
8132
|
}
|
|
8133
8133
|
if (!feedIDs.every(function(feedID) {
|
|
8134
8134
|
return typeof feedID === 'string';
|
|
8135
8135
|
})) {
|
|
8136
|
-
throw new Error(withUsage$
|
|
8136
|
+
throw new Error(withUsage$t('The `transformFeeds` option expects a function that returns an array of feed IDs (strings).'));
|
|
8137
8137
|
}
|
|
8138
8138
|
return {
|
|
8139
8139
|
feedIDs: feedIDs,
|
|
@@ -8244,7 +8244,7 @@
|
|
|
8244
8244
|
}));
|
|
8245
8245
|
}
|
|
8246
8246
|
|
|
8247
|
-
var withUsage$
|
|
8247
|
+
var withUsage$s = createDocumentationMessageGenerator({
|
|
8248
8248
|
name: 'index-widget'
|
|
8249
8249
|
});
|
|
8250
8250
|
/**
|
|
@@ -8338,7 +8338,7 @@
|
|
|
8338
8338
|
}
|
|
8339
8339
|
var index = function index(widgetParams) {
|
|
8340
8340
|
if (widgetParams === undefined || widgetParams.indexName === undefined && !widgetParams.EXPERIMENTAL_isolated) {
|
|
8341
|
-
throw new Error(withUsage$
|
|
8341
|
+
throw new Error(withUsage$s('The `indexName` option is required.'));
|
|
8342
8342
|
}
|
|
8343
8343
|
// When isolated=true, we use an empty string as the default indexName.
|
|
8344
8344
|
// This is intentional: isolated indices do not require a real index name.
|
|
@@ -8428,7 +8428,7 @@
|
|
|
8428
8428
|
addWidgets: function addWidgets(widgets) {
|
|
8429
8429
|
var _this = this;
|
|
8430
8430
|
if (!Array.isArray(widgets)) {
|
|
8431
|
-
throw new Error(withUsage$
|
|
8431
|
+
throw new Error(withUsage$s('The `addWidgets` method expects an array of widgets.'));
|
|
8432
8432
|
}
|
|
8433
8433
|
var flatWidgets = widgets.reduce(function(acc, w) {
|
|
8434
8434
|
return acc.concat(Array.isArray(w) ? w : [
|
|
@@ -8438,7 +8438,7 @@
|
|
|
8438
8438
|
if (flatWidgets.some(function(widget) {
|
|
8439
8439
|
return typeof widget.init !== 'function' && typeof widget.render !== 'function';
|
|
8440
8440
|
})) {
|
|
8441
|
-
throw new Error(withUsage$
|
|
8441
|
+
throw new Error(withUsage$s('The widget definition expects a `render` and/or an `init` method.'));
|
|
8442
8442
|
}
|
|
8443
8443
|
flatWidgets.forEach(function(widget) {
|
|
8444
8444
|
widget.parent = _this;
|
|
@@ -8498,7 +8498,7 @@
|
|
|
8498
8498
|
removeWidgets: function removeWidgets(widgets) {
|
|
8499
8499
|
var _this = this;
|
|
8500
8500
|
if (!Array.isArray(widgets)) {
|
|
8501
|
-
throw new Error(withUsage$
|
|
8501
|
+
throw new Error(withUsage$s('The `removeWidgets` method expects an array of widgets.'));
|
|
8502
8502
|
}
|
|
8503
8503
|
var flatWidgets = widgets.reduce(function(acc, w) {
|
|
8504
8504
|
return acc.concat(Array.isArray(w) ? w : [
|
|
@@ -8508,7 +8508,7 @@
|
|
|
8508
8508
|
if (flatWidgets.some(function(widget) {
|
|
8509
8509
|
return typeof widget.dispose !== 'function';
|
|
8510
8510
|
})) {
|
|
8511
|
-
throw new Error(withUsage$
|
|
8511
|
+
throw new Error(withUsage$s('The widget definition expects a `dispose` method.'));
|
|
8512
8512
|
}
|
|
8513
8513
|
localWidgets = localWidgets.filter(function(widget) {
|
|
8514
8514
|
return flatWidgets.indexOf(widget) === -1;
|
|
@@ -10821,9 +10821,9 @@
|
|
|
10821
10821
|
};
|
|
10822
10822
|
}
|
|
10823
10823
|
|
|
10824
|
-
var version = '4.
|
|
10824
|
+
var version = '4.100.0';
|
|
10825
10825
|
|
|
10826
|
-
var withUsage$
|
|
10826
|
+
var withUsage$r = createDocumentationMessageGenerator({
|
|
10827
10827
|
name: 'instantsearch'
|
|
10828
10828
|
});
|
|
10829
10829
|
function defaultCreateURL() {
|
|
@@ -10879,7 +10879,7 @@
|
|
|
10879
10879
|
_this.setMaxListeners(100);
|
|
10880
10880
|
var _options_indexName = options.indexName, indexName = _options_indexName === void 0 ? '' : _options_indexName, compositionID = options.compositionID, numberLocale = options.numberLocale, _options_initialUiState = options.initialUiState, initialUiState = _options_initialUiState === void 0 ? {} : _options_initialUiState, _options_routing = options.routing, routing = _options_routing === void 0 ? null : _options_routing, _options_insights = options.insights, insights = _options_insights === void 0 ? undefined : _options_insights, searchFunction = options.searchFunction, _options_stalledSearchDelay = options.stalledSearchDelay, stalledSearchDelay = _options_stalledSearchDelay === void 0 ? 200 : _options_stalledSearchDelay, _options_searchClient = options.searchClient, searchClient = _options_searchClient === void 0 ? null : _options_searchClient, _options_insightsClient = options.insightsClient, insightsClient = _options_insightsClient === void 0 ? null : _options_insightsClient, _options_onStateChange = options.onStateChange, onStateChange = _options_onStateChange === void 0 ? null : _options_onStateChange, _options_future1 = options.future, future = _options_future1 === void 0 ? _object_spread({}, INSTANTSEARCH_FUTURE_DEFAULTS, options.future || {}) : _options_future1;
|
|
10881
10881
|
if (searchClient === null) {
|
|
10882
|
-
throw new Error(withUsage$
|
|
10882
|
+
throw new Error(withUsage$r('The `searchClient` option is required.'));
|
|
10883
10883
|
}
|
|
10884
10884
|
if (typeof searchClient.search !== 'function') {
|
|
10885
10885
|
throw new Error("The `searchClient` must implement a `search` method.\n\nSee: https://www.algolia.com/doc/guides/building-search-ui/going-further/backend-search/in-depth/backend-instantsearch/js/");
|
|
@@ -10888,7 +10888,7 @@
|
|
|
10888
10888
|
searchClient.addAlgoliaAgent("instantsearch.js (".concat(version, ")"));
|
|
10889
10889
|
}
|
|
10890
10890
|
if (insightsClient && typeof insightsClient !== 'function') {
|
|
10891
|
-
throw new Error(withUsage$
|
|
10891
|
+
throw new Error(withUsage$r('The `insightsClient` option should be a function.'));
|
|
10892
10892
|
}
|
|
10893
10893
|
_this.client = searchClient;
|
|
10894
10894
|
_this.future = future;
|
|
@@ -11036,12 +11036,12 @@
|
|
|
11036
11036
|
* @param widgets The array of widgets to add to InstantSearch.
|
|
11037
11037
|
*/ function addWidgets(widgets) {
|
|
11038
11038
|
if (!Array.isArray(widgets)) {
|
|
11039
|
-
throw new Error(withUsage$
|
|
11039
|
+
throw new Error(withUsage$r('The `addWidgets` method expects an array of widgets. Please use `addWidget`.'));
|
|
11040
11040
|
}
|
|
11041
11041
|
if (this.compositionID && widgets.some(function(w) {
|
|
11042
11042
|
return !Array.isArray(w) && isIndexWidget(w) && !w._isolated;
|
|
11043
11043
|
})) {
|
|
11044
|
-
throw new Error(withUsage$
|
|
11044
|
+
throw new Error(withUsage$r('The `index` widget cannot be used with a composition-based InstantSearch implementation.'));
|
|
11045
11045
|
}
|
|
11046
11046
|
this.mainIndex.addWidgets(widgets);
|
|
11047
11047
|
return this;
|
|
@@ -11070,7 +11070,7 @@
|
|
|
11070
11070
|
* The widgets must implement a `dispose()` method to clear their states.
|
|
11071
11071
|
*/ function removeWidgets(widgets) {
|
|
11072
11072
|
if (!Array.isArray(widgets)) {
|
|
11073
|
-
throw new Error(withUsage$
|
|
11073
|
+
throw new Error(withUsage$r('The `removeWidgets` method expects an array of widgets. Please use `removeWidget`.'));
|
|
11074
11074
|
}
|
|
11075
11075
|
this.mainIndex.removeWidgets(widgets);
|
|
11076
11076
|
return this;
|
|
@@ -11084,7 +11084,7 @@
|
|
|
11084
11084
|
*/ function start() {
|
|
11085
11085
|
var _this = this;
|
|
11086
11086
|
if (this.started) {
|
|
11087
|
-
throw new Error(withUsage$
|
|
11087
|
+
throw new Error(withUsage$r('The `start` method has already been called once.'));
|
|
11088
11088
|
}
|
|
11089
11089
|
// This Helper is used for the queries, we don't care about its state. The
|
|
11090
11090
|
// states are managed at the `index` level. We use this Helper to create
|
|
@@ -11286,7 +11286,7 @@
|
|
|
11286
11286
|
var _this = this;
|
|
11287
11287
|
var callOnStateChange = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
|
|
11288
11288
|
if (!this.mainHelper) {
|
|
11289
|
-
throw new Error(withUsage$
|
|
11289
|
+
throw new Error(withUsage$r('The `start` method needs to be called before `setUiState`.'));
|
|
11290
11290
|
}
|
|
11291
11291
|
// We refresh the index UI state to update the local UI state that the
|
|
11292
11292
|
// main index passes to the function form of `setUiState`.
|
|
@@ -11323,7 +11323,7 @@
|
|
|
11323
11323
|
value: function createURL() {
|
|
11324
11324
|
var nextState = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
11325
11325
|
if (!this.started) {
|
|
11326
|
-
throw new Error(withUsage$
|
|
11326
|
+
throw new Error(withUsage$r('The `start` method needs to be called before `createURL`.'));
|
|
11327
11327
|
}
|
|
11328
11328
|
return this._createURL(nextState);
|
|
11329
11329
|
}
|
|
@@ -11332,7 +11332,7 @@
|
|
|
11332
11332
|
key: "refresh",
|
|
11333
11333
|
value: function refresh() {
|
|
11334
11334
|
if (!this.mainHelper) {
|
|
11335
|
-
throw new Error(withUsage$
|
|
11335
|
+
throw new Error(withUsage$r('The `start` method needs to be called before `refresh`.'));
|
|
11336
11336
|
}
|
|
11337
11337
|
this.mainHelper.clearCache().search();
|
|
11338
11338
|
}
|
|
@@ -11839,13 +11839,13 @@
|
|
|
11839
11839
|
}, children);
|
|
11840
11840
|
}
|
|
11841
11841
|
|
|
11842
|
-
var withUsage$
|
|
11842
|
+
var withUsage$q = createDocumentationMessageGenerator({
|
|
11843
11843
|
name: 'autocomplete',
|
|
11844
11844
|
connector: true
|
|
11845
11845
|
});
|
|
11846
11846
|
var connectAutocomplete = function connectAutocomplete(renderFn) {
|
|
11847
11847
|
var unmountFn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : noop;
|
|
11848
|
-
checkRendering(renderFn, withUsage$
|
|
11848
|
+
checkRendering(renderFn, withUsage$q());
|
|
11849
11849
|
return function(widgetParams) {
|
|
11850
11850
|
var _ref = widgetParams || {}, _ref_escapeHTML = _ref.escapeHTML, escapeHTML = _ref_escapeHTML === void 0 ? true : _ref_escapeHTML, _ref_transformItems = _ref.transformItems, transformItems = _ref_transformItems === void 0 ? function(indices) {
|
|
11851
11851
|
return indices;
|
|
@@ -11954,20 +11954,20 @@
|
|
|
11954
11954
|
return useConnector(connectAutocomplete, props, additionalWidgetProperties);
|
|
11955
11955
|
}
|
|
11956
11956
|
|
|
11957
|
-
var withUsage$
|
|
11957
|
+
var withUsage$p = createDocumentationMessageGenerator({
|
|
11958
11958
|
name: 'breadcrumb',
|
|
11959
11959
|
connector: true
|
|
11960
11960
|
});
|
|
11961
11961
|
var connectBreadcrumb = function connectBreadcrumb(renderFn) {
|
|
11962
11962
|
var unmountFn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : noop;
|
|
11963
|
-
checkRendering(renderFn, withUsage$
|
|
11963
|
+
checkRendering(renderFn, withUsage$p());
|
|
11964
11964
|
var connectorState = {};
|
|
11965
11965
|
return function(widgetParams) {
|
|
11966
11966
|
var _ref = widgetParams || {}, attributes = _ref.attributes, _ref_separator = _ref.separator, separator = _ref_separator === void 0 ? ' > ' : _ref_separator, _ref_rootPath = _ref.rootPath, rootPath = _ref_rootPath === void 0 ? null : _ref_rootPath, _ref_transformItems = _ref.transformItems, transformItems = _ref_transformItems === void 0 ? function(items) {
|
|
11967
11967
|
return items;
|
|
11968
11968
|
} : _ref_transformItems;
|
|
11969
11969
|
if (!attributes || !Array.isArray(attributes) || attributes.length === 0) {
|
|
11970
|
-
throw new Error(withUsage$
|
|
11970
|
+
throw new Error(withUsage$p('The `attributes` option expects an array of strings.'));
|
|
11971
11971
|
}
|
|
11972
11972
|
var _attributes = _sliced_to_array(attributes, 1), hierarchicalFacetName = _attributes[0];
|
|
11973
11973
|
function getRefinedState(state, facetValue) {
|
|
@@ -13638,7 +13638,7 @@
|
|
|
13638
13638
|
return DefaultChatTransport;
|
|
13639
13639
|
}(HttpChatTransport);
|
|
13640
13640
|
|
|
13641
|
-
var withUsage$
|
|
13641
|
+
var withUsage$o = createDocumentationMessageGenerator({
|
|
13642
13642
|
name: 'chat',
|
|
13643
13643
|
connector: true
|
|
13644
13644
|
});
|
|
@@ -13689,15 +13689,16 @@
|
|
|
13689
13689
|
}
|
|
13690
13690
|
var connectChat = function connectChat(renderFn) {
|
|
13691
13691
|
var unmountFn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : noop;
|
|
13692
|
-
checkRendering(renderFn, withUsage$
|
|
13692
|
+
checkRendering(renderFn, withUsage$o());
|
|
13693
13693
|
return function(widgetParams) {
|
|
13694
|
-
var _ref = widgetParams || {}, _ref_resume = _ref.resume, resume = _ref_resume === void 0 ? false : _ref_resume, _ref_tools = _ref.tools, tools = _ref_tools === void 0 ? {} : _ref_tools, _ref_type = _ref.type, type = _ref_type === void 0 ? 'chat' : _ref_type, context = _ref.context, initialUserMessage = _ref.initialUserMessage, initialMessages = _ref.initialMessages, options = _object_without_properties(_ref, [
|
|
13694
|
+
var _ref = widgetParams || {}, _ref_resume = _ref.resume, resume = _ref_resume === void 0 ? false : _ref_resume, _ref_tools = _ref.tools, tools = _ref_tools === void 0 ? {} : _ref_tools, _ref_type = _ref.type, type = _ref_type === void 0 ? 'chat' : _ref_type, context = _ref.context, initialUserMessage = _ref.initialUserMessage, initialMessages = _ref.initialMessages, _ref_disableTriggerValidation = _ref.disableTriggerValidation, disableTriggerValidation = _ref_disableTriggerValidation === void 0 ? false : _ref_disableTriggerValidation, options = _object_without_properties(_ref, [
|
|
13695
13695
|
"resume",
|
|
13696
13696
|
"tools",
|
|
13697
13697
|
"type",
|
|
13698
13698
|
"context",
|
|
13699
13699
|
"initialUserMessage",
|
|
13700
|
-
"initialMessages"
|
|
13700
|
+
"initialMessages",
|
|
13701
|
+
"disableTriggerValidation"
|
|
13701
13702
|
]);
|
|
13702
13703
|
var _chatInstance;
|
|
13703
13704
|
var input = '';
|
|
@@ -13709,6 +13710,7 @@
|
|
|
13709
13710
|
var focusInput;
|
|
13710
13711
|
var setIsClearing;
|
|
13711
13712
|
var setFeedbackState;
|
|
13713
|
+
var hasValidatedEntryPoints = false;
|
|
13712
13714
|
var agentId = 'agentId' in options ? options.agentId : undefined;
|
|
13713
13715
|
var feedbackState = {};
|
|
13714
13716
|
var _sendChatMessageFeedback;
|
|
@@ -13752,6 +13754,22 @@
|
|
|
13752
13754
|
feedbackState = {};
|
|
13753
13755
|
setIsClearing(false);
|
|
13754
13756
|
};
|
|
13757
|
+
var validateEntryPoints = function validateEntryPoints(instantSearchInstance) {
|
|
13758
|
+
if (disableTriggerValidation || hasValidatedEntryPoints) {
|
|
13759
|
+
return;
|
|
13760
|
+
}
|
|
13761
|
+
// warning only relevant once mounted
|
|
13762
|
+
if (!instantSearchInstance.mainIndex) {
|
|
13763
|
+
return;
|
|
13764
|
+
}
|
|
13765
|
+
walkIndex(instantSearchInstance.mainIndex, function(indexWidget) {
|
|
13766
|
+
var widgets = indexWidget.getWidgets();
|
|
13767
|
+
if (widgets.some(function(w) {
|
|
13768
|
+
return w.opensChat === true;
|
|
13769
|
+
})) ;
|
|
13770
|
+
});
|
|
13771
|
+
hasValidatedEntryPoints = true;
|
|
13772
|
+
};
|
|
13755
13773
|
var makeChatInstance = function makeChatInstance(instantSearchInstance) {
|
|
13756
13774
|
var transport;
|
|
13757
13775
|
var client = instantSearchInstance.client;
|
|
@@ -13801,7 +13819,7 @@
|
|
|
13801
13819
|
}
|
|
13802
13820
|
if ('agentId' in options && options.agentId) {
|
|
13803
13821
|
if (!appId || !apiKey) {
|
|
13804
|
-
throw new Error(withUsage$
|
|
13822
|
+
throw new Error(withUsage$o('Could not extract Algolia credentials from the search client.'));
|
|
13805
13823
|
}
|
|
13806
13824
|
var baseApi = "https://".concat(appId, ".algolia.net/agent-studio/1/agents/").concat(agentId, "/completions?compatibilityMode=ai-sdk-5");
|
|
13807
13825
|
transport = new DefaultChatTransport({
|
|
@@ -13826,7 +13844,7 @@
|
|
|
13826
13844
|
});
|
|
13827
13845
|
}
|
|
13828
13846
|
if (!transport) {
|
|
13829
|
-
throw new Error(withUsage$
|
|
13847
|
+
throw new Error(withUsage$o('You need to provide either an `agentId` or a `transport`.'));
|
|
13830
13848
|
}
|
|
13831
13849
|
if ('chat' in options) {
|
|
13832
13850
|
return options.chat;
|
|
@@ -13878,6 +13896,7 @@
|
|
|
13878
13896
|
init: function init(initOptions) {
|
|
13879
13897
|
var _this = this;
|
|
13880
13898
|
var instantSearchInstance = initOptions.instantSearchInstance;
|
|
13899
|
+
validateEntryPoints(instantSearchInstance);
|
|
13881
13900
|
_chatInstance = makeChatInstance(instantSearchInstance);
|
|
13882
13901
|
var render = function render() {
|
|
13883
13902
|
renderFn(_object_spread_props(_object_spread({}, _this.getWidgetRenderState(initOptions)), {
|
|
@@ -13887,6 +13906,10 @@
|
|
|
13887
13906
|
setOpen = function setOpen(o) {
|
|
13888
13907
|
open = o;
|
|
13889
13908
|
render();
|
|
13909
|
+
// `open` is read by sibling widgets (e.g. `chatTrigger`) via the
|
|
13910
|
+
// shared `renderState`. Schedule a full re-render so they pick up
|
|
13911
|
+
// the new value instead of staying frozen on their initial state.
|
|
13912
|
+
initOptions.instantSearchInstance.scheduleRender();
|
|
13890
13913
|
};
|
|
13891
13914
|
focusInput = function focusInput() {
|
|
13892
13915
|
setOpen(true);
|
|
@@ -13907,7 +13930,7 @@
|
|
|
13907
13930
|
if (agentId && feedback) {
|
|
13908
13931
|
var _getAppIdAndApiKey = _sliced_to_array(getAppIdAndApiKey(initOptions.instantSearchInstance.client), 2), appId = _getAppIdAndApiKey[0], apiKey = _getAppIdAndApiKey[1];
|
|
13909
13932
|
if (!appId || !apiKey) {
|
|
13910
|
-
throw new Error(withUsage$
|
|
13933
|
+
throw new Error(withUsage$o('Could not extract Algolia credentials from the search client.'));
|
|
13911
13934
|
}
|
|
13912
13935
|
feedbackAbortController = new AbortController();
|
|
13913
13936
|
_sendChatMessageFeedback = function _sendChatMessageFeedback(messageId, vote) {
|
|
@@ -13948,6 +13971,7 @@
|
|
|
13948
13971
|
}), true);
|
|
13949
13972
|
},
|
|
13950
13973
|
render: function render(renderOptions) {
|
|
13974
|
+
validateEntryPoints(renderOptions.instantSearchInstance);
|
|
13951
13975
|
renderFn(_object_spread_props(_object_spread({}, this.getWidgetRenderState(renderOptions)), {
|
|
13952
13976
|
instantSearchInstance: renderOptions.instantSearchInstance
|
|
13953
13977
|
}), false);
|
|
@@ -14054,6 +14078,77 @@
|
|
|
14054
14078
|
return useConnector(connectChat, props, additionalWidgetProperties);
|
|
14055
14079
|
}
|
|
14056
14080
|
|
|
14081
|
+
var withUsage$n = createDocumentationMessageGenerator({
|
|
14082
|
+
name: 'chatTrigger',
|
|
14083
|
+
connector: true
|
|
14084
|
+
});
|
|
14085
|
+
// Reads the sibling chat widget's render state from the live cross-index
|
|
14086
|
+
// `instantSearchInstance.renderState` map. We resolve at call time so that
|
|
14087
|
+
// `toggleOpen` always sees the latest `open`/`setOpen` values.
|
|
14088
|
+
function getChatRenderState(options) {
|
|
14089
|
+
var _options_parent, _options_instantSearchInstance_renderState_indexId;
|
|
14090
|
+
var indexId = (_options_parent = options.parent) === null || _options_parent === void 0 ? void 0 : _options_parent.getIndexId();
|
|
14091
|
+
if (!indexId) return undefined;
|
|
14092
|
+
return (_options_instantSearchInstance_renderState_indexId = options.instantSearchInstance.renderState[indexId]) === null || _options_instantSearchInstance_renderState_indexId === void 0 ? void 0 : _options_instantSearchInstance_renderState_indexId.chat;
|
|
14093
|
+
}
|
|
14094
|
+
var connectChatTrigger = function connectChatTrigger(renderFn) {
|
|
14095
|
+
var unmountFn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : noop;
|
|
14096
|
+
checkRendering(renderFn, withUsage$n());
|
|
14097
|
+
return function(widgetParams) {
|
|
14098
|
+
var params = widgetParams !== null && widgetParams !== void 0 ? widgetParams : {};
|
|
14099
|
+
var lastOptions = null;
|
|
14100
|
+
function toggleOpen() {
|
|
14101
|
+
if (!lastOptions) return;
|
|
14102
|
+
var chatState = getChatRenderState(lastOptions);
|
|
14103
|
+
if (!chatState) return;
|
|
14104
|
+
if (chatState.open) {
|
|
14105
|
+
var _chatState_setOpen;
|
|
14106
|
+
(_chatState_setOpen = chatState.setOpen) === null || _chatState_setOpen === void 0 ? void 0 : _chatState_setOpen.call(chatState, false);
|
|
14107
|
+
} else {
|
|
14108
|
+
openChat(chatState);
|
|
14109
|
+
}
|
|
14110
|
+
}
|
|
14111
|
+
return {
|
|
14112
|
+
$$type: 'ais.chatTrigger',
|
|
14113
|
+
opensChat: true,
|
|
14114
|
+
init: function init(initOptions) {
|
|
14115
|
+
lastOptions = initOptions;
|
|
14116
|
+
renderFn(_object_spread_props(_object_spread({}, this.getWidgetRenderState(initOptions)), {
|
|
14117
|
+
instantSearchInstance: initOptions.instantSearchInstance
|
|
14118
|
+
}), true);
|
|
14119
|
+
},
|
|
14120
|
+
render: function render(renderOptions) {
|
|
14121
|
+
lastOptions = renderOptions;
|
|
14122
|
+
renderFn(_object_spread_props(_object_spread({}, this.getWidgetRenderState(renderOptions)), {
|
|
14123
|
+
instantSearchInstance: renderOptions.instantSearchInstance
|
|
14124
|
+
}), false);
|
|
14125
|
+
},
|
|
14126
|
+
dispose: function dispose() {
|
|
14127
|
+
unmountFn();
|
|
14128
|
+
},
|
|
14129
|
+
getWidgetRenderState: function getWidgetRenderState(renderOptions) {
|
|
14130
|
+
var _ref;
|
|
14131
|
+
var chatState = getChatRenderState(renderOptions);
|
|
14132
|
+
return {
|
|
14133
|
+
open: (_ref = chatState === null || chatState === void 0 ? void 0 : chatState.open) !== null && _ref !== void 0 ? _ref : false,
|
|
14134
|
+
toggleOpen: toggleOpen,
|
|
14135
|
+
widgetParams: params
|
|
14136
|
+
};
|
|
14137
|
+
},
|
|
14138
|
+
getRenderState: function getRenderState(renderState, renderOptions) {
|
|
14139
|
+
return _object_spread_props(_object_spread({}, renderState), {
|
|
14140
|
+
chatTrigger: this.getWidgetRenderState(renderOptions)
|
|
14141
|
+
});
|
|
14142
|
+
}
|
|
14143
|
+
};
|
|
14144
|
+
};
|
|
14145
|
+
};
|
|
14146
|
+
|
|
14147
|
+
function useChatTrigger() {
|
|
14148
|
+
var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, additionalWidgetProperties = arguments.length > 1 ? arguments[1] : void 0;
|
|
14149
|
+
return useConnector(connectChatTrigger, props, additionalWidgetProperties);
|
|
14150
|
+
}
|
|
14151
|
+
|
|
14057
14152
|
var withUsage$m = createDocumentationMessageGenerator({
|
|
14058
14153
|
name: 'clear-refinements',
|
|
14059
14154
|
connector: true
|
|
@@ -20130,13 +20225,9 @@
|
|
|
20130
20225
|
if (status === 'submitted') return true;
|
|
20131
20226
|
if (!lastPart) return true;
|
|
20132
20227
|
if (isPartText(lastPart)) return false;
|
|
20133
|
-
if (isPartTool(lastPart)) {
|
|
20134
|
-
|
|
20135
|
-
|
|
20136
|
-
var tool = findTool(lastPart.type, tools);
|
|
20137
|
-
return !(tool === null || tool === void 0 ? void 0 : tool.streamInput);
|
|
20138
|
-
}
|
|
20139
|
-
return true;
|
|
20228
|
+
if (isPartTool(lastPart) && lastPart.state === 'input-streaming') {
|
|
20229
|
+
var tool = findTool(lastPart.type, tools);
|
|
20230
|
+
return !(tool === null || tool === void 0 ? void 0 : tool.streamInput);
|
|
20140
20231
|
}
|
|
20141
20232
|
return true;
|
|
20142
20233
|
};
|
|
@@ -20144,7 +20235,7 @@
|
|
|
20144
20235
|
function createChatOverlayLayoutComponent(param) {
|
|
20145
20236
|
var createElement = param.createElement;
|
|
20146
20237
|
return function ChatOverlayLayout(userProps) {
|
|
20147
|
-
var open = userProps.open, maximized = userProps.maximized, headerComponent = userProps.headerComponent, messagesComponent = userProps.messagesComponent, promptComponent = userProps.promptComponent,
|
|
20238
|
+
var open = userProps.open, maximized = userProps.maximized, headerComponent = userProps.headerComponent, messagesComponent = userProps.messagesComponent, promptComponent = userProps.promptComponent, _userProps_classNames = userProps.classNames, classNames = _userProps_classNames === void 0 ? {} : _userProps_classNames, className = userProps.className; // Chat state props (destructured to avoid spreading on div)
|
|
20148
20239
|
userProps.messages;
|
|
20149
20240
|
userProps.status;
|
|
20150
20241
|
userProps.isClearing;
|
|
@@ -20162,7 +20253,6 @@
|
|
|
20162
20253
|
"headerComponent",
|
|
20163
20254
|
"messagesComponent",
|
|
20164
20255
|
"promptComponent",
|
|
20165
|
-
"toggleButtonComponent",
|
|
20166
20256
|
"classNames",
|
|
20167
20257
|
"className",
|
|
20168
20258
|
"messages",
|
|
@@ -20181,9 +20271,7 @@
|
|
|
20181
20271
|
className: cx('ais-Chat', 'ais-ChatOverlayLayout', maximized && 'ais-ChatOverlayLayout--maximized', classNames.root, className)
|
|
20182
20272
|
}), /*#__PURE__*/ createElement("div", {
|
|
20183
20273
|
className: cx('ais-Chat-container', open && 'ais-Chat-container--open', maximized && 'ais-Chat-container--maximized', classNames.container)
|
|
20184
|
-
}, headerComponent, messagesComponent, promptComponent)
|
|
20185
|
-
className: "ais-Chat-toggleButtonWrapper"
|
|
20186
|
-
}, toggleButtonComponent));
|
|
20274
|
+
}, headerComponent, messagesComponent, promptComponent));
|
|
20187
20275
|
};
|
|
20188
20276
|
}
|
|
20189
20277
|
|
|
@@ -20372,42 +20460,8 @@
|
|
|
20372
20460
|
};
|
|
20373
20461
|
}
|
|
20374
20462
|
|
|
20375
|
-
function createChatToggleButtonComponent(param) {
|
|
20376
|
-
var createElement = param.createElement;
|
|
20377
|
-
var Button = createButtonComponent({
|
|
20378
|
-
createElement: createElement
|
|
20379
|
-
});
|
|
20380
|
-
return function ChatToggleButton(userProps) {
|
|
20381
|
-
var open = userProps.open, onClick = userProps.onClick, ToggleIcon = userProps.toggleIconComponent, _userProps_classNames = userProps.classNames, classNames = _userProps_classNames === void 0 ? {} : _userProps_classNames, className = userProps.className, props = _object_without_properties(userProps, [
|
|
20382
|
-
"open",
|
|
20383
|
-
"onClick",
|
|
20384
|
-
"toggleIconComponent",
|
|
20385
|
-
"classNames",
|
|
20386
|
-
"className"
|
|
20387
|
-
]);
|
|
20388
|
-
var defaultIcon = open ? /*#__PURE__*/ createElement(ChevronUpIcon, {
|
|
20389
|
-
createElement: createElement
|
|
20390
|
-
}) : /*#__PURE__*/ createElement(SparklesIcon, {
|
|
20391
|
-
createElement: createElement
|
|
20392
|
-
});
|
|
20393
|
-
return /*#__PURE__*/ createElement(Button, _object_spread({
|
|
20394
|
-
variant: "primary",
|
|
20395
|
-
size: "md",
|
|
20396
|
-
iconOnly: true,
|
|
20397
|
-
className: cx('ais-ChatToggleButton', open && 'ais-ChatToggleButton--open', classNames.root, className),
|
|
20398
|
-
onClick: onClick
|
|
20399
|
-
}, props), ToggleIcon ? /*#__PURE__*/ createElement(ToggleIcon, {
|
|
20400
|
-
isOpen: open
|
|
20401
|
-
}) : defaultIcon);
|
|
20402
|
-
};
|
|
20403
|
-
}
|
|
20404
|
-
|
|
20405
20463
|
function createChatComponent(param) {
|
|
20406
20464
|
var createElement = param.createElement, Fragment = param.Fragment;
|
|
20407
|
-
var ChatToggleButton = createChatToggleButtonComponent({
|
|
20408
|
-
createElement: createElement,
|
|
20409
|
-
Fragment: Fragment
|
|
20410
|
-
});
|
|
20411
20465
|
var ChatHeader = createChatHeaderComponent({
|
|
20412
20466
|
createElement: createElement,
|
|
20413
20467
|
Fragment: Fragment
|
|
@@ -20429,17 +20483,15 @@
|
|
|
20429
20483
|
Fragment: Fragment
|
|
20430
20484
|
});
|
|
20431
20485
|
return function Chat(userProps) {
|
|
20432
|
-
var open = userProps.open, _userProps_maximized = userProps.maximized, maximized = _userProps_maximized === void 0 ? false : _userProps_maximized, headerProps = userProps.headerProps,
|
|
20486
|
+
var open = userProps.open, _userProps_maximized = userProps.maximized, maximized = _userProps_maximized === void 0 ? false : _userProps_maximized, headerProps = userProps.headerProps, messagesProps = userProps.messagesProps, suggestionsProps = userProps.suggestionsProps, _userProps_promptProps = userProps.promptProps, promptProps = _userProps_promptProps === void 0 ? {} : _userProps_promptProps, HeaderComponent = userProps.headerComponent, PromptComponent = userProps.promptComponent, 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, [
|
|
20433
20487
|
"open",
|
|
20434
20488
|
"maximized",
|
|
20435
20489
|
"headerProps",
|
|
20436
|
-
"toggleButtonProps",
|
|
20437
20490
|
"messagesProps",
|
|
20438
20491
|
"suggestionsProps",
|
|
20439
20492
|
"promptProps",
|
|
20440
20493
|
"headerComponent",
|
|
20441
20494
|
"promptComponent",
|
|
20442
|
-
"toggleButtonComponent",
|
|
20443
20495
|
"suggestionsComponent",
|
|
20444
20496
|
"layoutComponent",
|
|
20445
20497
|
"classNames",
|
|
@@ -20463,24 +20515,12 @@
|
|
|
20463
20515
|
var promptComponent = createElement(PromptComponent || ChatPrompt, _object_spread_props(_object_spread({}, promptProps), {
|
|
20464
20516
|
classNames: classNames.prompt
|
|
20465
20517
|
}));
|
|
20466
|
-
var toggleButtonComponent = createElement(ToggleButtonComponent || ChatToggleButton, _object_spread_props(_object_spread({}, toggleButtonProps), {
|
|
20467
|
-
classNames: classNames.toggleButton,
|
|
20468
|
-
onClick: function onClick() {
|
|
20469
|
-
var _toggleButtonProps_onClick;
|
|
20470
|
-
(_toggleButtonProps_onClick = toggleButtonProps.onClick) === null || _toggleButtonProps_onClick === void 0 ? void 0 : _toggleButtonProps_onClick.call(toggleButtonProps);
|
|
20471
|
-
if (!open) {
|
|
20472
|
-
var _promptProps_promptRef_current, _promptProps_promptRef;
|
|
20473
|
-
(_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();
|
|
20474
|
-
}
|
|
20475
|
-
}
|
|
20476
|
-
}));
|
|
20477
20518
|
return /*#__PURE__*/ createElement(LayoutComponent, _object_spread_props(_object_spread({}, props), {
|
|
20478
20519
|
open: open,
|
|
20479
20520
|
maximized: maximized,
|
|
20480
20521
|
headerComponent: headerComponent,
|
|
20481
20522
|
messagesComponent: messagesComponent,
|
|
20482
20523
|
promptComponent: promptComponent,
|
|
20483
|
-
toggleButtonComponent: toggleButtonComponent,
|
|
20484
20524
|
classNames: {
|
|
20485
20525
|
root: classNames.root,
|
|
20486
20526
|
container: classNames.container
|
|
@@ -20506,8 +20546,7 @@
|
|
|
20506
20546
|
return function ChatInlineLayout(userProps) {
|
|
20507
20547
|
var headerComponent = userProps.headerComponent, messagesComponent = userProps.messagesComponent, promptComponent = userProps.promptComponent, _userProps_classNames = userProps.classNames, classNames = _userProps_classNames === void 0 ? {} : _userProps_classNames, className = userProps.className;
|
|
20508
20548
|
userProps.open;
|
|
20509
|
-
userProps.maximized;
|
|
20510
|
-
userProps.toggleButtonComponent; // Chat state props (destructured to avoid spreading on div)
|
|
20549
|
+
userProps.maximized; // Chat state props (destructured to avoid spreading on div)
|
|
20511
20550
|
userProps.messages;
|
|
20512
20551
|
userProps.status;
|
|
20513
20552
|
userProps.isClearing;
|
|
@@ -20527,7 +20566,6 @@
|
|
|
20527
20566
|
"className",
|
|
20528
20567
|
"open",
|
|
20529
20568
|
"maximized",
|
|
20530
|
-
"toggleButtonComponent",
|
|
20531
20569
|
"messages",
|
|
20532
20570
|
"status",
|
|
20533
20571
|
"isClearing",
|
|
@@ -20552,7 +20590,7 @@
|
|
|
20552
20590
|
var createElement = param.createElement;
|
|
20553
20591
|
var originalMargins = new WeakMap();
|
|
20554
20592
|
return function ChatSidePanelLayout(userProps) {
|
|
20555
|
-
var open = userProps.open, maximized = userProps.maximized, headerComponent = userProps.headerComponent, messagesComponent = userProps.messagesComponent, promptComponent = userProps.promptComponent,
|
|
20593
|
+
var open = userProps.open, maximized = userProps.maximized, headerComponent = userProps.headerComponent, messagesComponent = userProps.messagesComponent, promptComponent = userProps.promptComponent, _userProps_classNames = userProps.classNames, classNames = _userProps_classNames === void 0 ? {} : _userProps_classNames, className = userProps.className, parentElement = userProps.parentElement; // Chat state props (destructured to avoid spreading on div)
|
|
20556
20594
|
userProps.messages;
|
|
20557
20595
|
userProps.status;
|
|
20558
20596
|
userProps.isClearing;
|
|
@@ -20570,7 +20608,6 @@
|
|
|
20570
20608
|
"headerComponent",
|
|
20571
20609
|
"messagesComponent",
|
|
20572
20610
|
"promptComponent",
|
|
20573
|
-
"toggleButtonComponent",
|
|
20574
20611
|
"classNames",
|
|
20575
20612
|
"className",
|
|
20576
20613
|
"parentElement",
|
|
@@ -20607,9 +20644,7 @@
|
|
|
20607
20644
|
className: cx('ais-Chat', 'ais-ChatSidePanelLayout', maximized && 'ais-ChatSidePanelLayout--maximized', classNames.root, className)
|
|
20608
20645
|
}), /*#__PURE__*/ createElement("div", {
|
|
20609
20646
|
className: cx('ais-Chat-container', open && 'ais-Chat-container--open', maximized && 'ais-Chat-container--maximized', classNames.container)
|
|
20610
|
-
}, headerComponent, messagesComponent, promptComponent)
|
|
20611
|
-
className: "ais-Chat-toggleButtonWrapper"
|
|
20612
|
-
}, toggleButtonComponent));
|
|
20647
|
+
}, headerComponent, messagesComponent, promptComponent));
|
|
20613
20648
|
};
|
|
20614
20649
|
}
|
|
20615
20650
|
|
|
@@ -20649,6 +20684,36 @@
|
|
|
20649
20684
|
};
|
|
20650
20685
|
}
|
|
20651
20686
|
|
|
20687
|
+
function createChatToggleButtonComponent(param) {
|
|
20688
|
+
var createElement = param.createElement;
|
|
20689
|
+
var Button = createButtonComponent({
|
|
20690
|
+
createElement: createElement
|
|
20691
|
+
});
|
|
20692
|
+
return function ChatToggleButton(userProps) {
|
|
20693
|
+
var open = userProps.open, onClick = userProps.onClick, ToggleIcon = userProps.toggleIconComponent, _userProps_classNames = userProps.classNames, classNames = _userProps_classNames === void 0 ? {} : _userProps_classNames, className = userProps.className, props = _object_without_properties(userProps, [
|
|
20694
|
+
"open",
|
|
20695
|
+
"onClick",
|
|
20696
|
+
"toggleIconComponent",
|
|
20697
|
+
"classNames",
|
|
20698
|
+
"className"
|
|
20699
|
+
]);
|
|
20700
|
+
var defaultIcon = open ? /*#__PURE__*/ createElement(ChevronUpIcon, {
|
|
20701
|
+
createElement: createElement
|
|
20702
|
+
}) : /*#__PURE__*/ createElement(SparklesIcon, {
|
|
20703
|
+
createElement: createElement
|
|
20704
|
+
});
|
|
20705
|
+
return /*#__PURE__*/ createElement(Button, _object_spread({
|
|
20706
|
+
variant: "primary",
|
|
20707
|
+
size: "md",
|
|
20708
|
+
iconOnly: true,
|
|
20709
|
+
className: cx('ais-ChatToggleButton', open && 'ais-ChatToggleButton--open', classNames.root, className),
|
|
20710
|
+
onClick: onClick
|
|
20711
|
+
}, props), ToggleIcon ? /*#__PURE__*/ createElement(ToggleIcon, {
|
|
20712
|
+
isOpen: open
|
|
20713
|
+
}) : defaultIcon);
|
|
20714
|
+
};
|
|
20715
|
+
}
|
|
20716
|
+
|
|
20652
20717
|
var DEFAULT_TRANSLATIONS$1 = {
|
|
20653
20718
|
streamingLabel: 'Curating results…'
|
|
20654
20719
|
};
|
|
@@ -22004,22 +22069,25 @@
|
|
|
22004
22069
|
};
|
|
22005
22070
|
}
|
|
22006
22071
|
function EXPERIMENTAL_Autocomplete(_0) {
|
|
22007
|
-
var _0_indices = _0.indices, indices = _0_indices === void 0 ? [] : _0_indices, showQuerySuggestions = _0.showQuerySuggestions, showPromptSuggestions = _0.showPromptSuggestions, showRecent = _0.showRecent, userSearchParameters = _0.searchParameters, detachedMediaQuery = _0.detachedMediaQuery, tmp = _0.translations, userTranslations = tmp === void 0 ? {} : tmp, props = _object_without_properties(_0, [
|
|
22072
|
+
var _0_indices = _0.indices, indices = _0_indices === void 0 ? [] : _0_indices, showQuerySuggestions = _0.showQuerySuggestions, showPromptSuggestions = _0.showPromptSuggestions, showRecent = _0.showRecent, userSearchParameters = _0.searchParameters, detachedMediaQuery = _0.detachedMediaQuery, tmp = _0.translations, userTranslations = tmp === void 0 ? {} : tmp, aiMode = _0.aiMode, props = _object_without_properties(_0, [
|
|
22008
22073
|
"indices",
|
|
22009
22074
|
"showQuerySuggestions",
|
|
22010
22075
|
"showPromptSuggestions",
|
|
22011
22076
|
"showRecent",
|
|
22012
22077
|
"searchParameters",
|
|
22013
22078
|
"detachedMediaQuery",
|
|
22014
|
-
"translations"
|
|
22079
|
+
"translations",
|
|
22080
|
+
"aiMode"
|
|
22015
22081
|
]);
|
|
22016
22082
|
var _showRecent_classNames, _showRecent_classNames1, _showRecent_classNames2, _showRecent_classNames3;
|
|
22017
22083
|
var translations = _object_spread({}, DEFAULT_TRANSLATIONS, userTranslations);
|
|
22018
22084
|
var _useInstantSearch = useInstantSearch(), indexUiState = _useInstantSearch.indexUiState, indexRenderState = _useInstantSearch.indexRenderState, status = _useInstantSearch.status;
|
|
22019
|
-
var refine = useSearchBox({}, {
|
|
22085
|
+
var refine = useSearchBox({}, _object_spread({
|
|
22020
22086
|
$$type: 'ais.autocomplete',
|
|
22021
22087
|
$$widgetType: 'ais.autocomplete'
|
|
22022
|
-
}
|
|
22088
|
+
}, aiMode ? {
|
|
22089
|
+
opensChat: true
|
|
22090
|
+
} : {})).refine;
|
|
22023
22091
|
var isSearchStalled = status === 'stalled';
|
|
22024
22092
|
var searchParameters = _object_spread({
|
|
22025
22093
|
hitsPerPage: 5
|
|
@@ -22108,6 +22176,7 @@
|
|
|
22108
22176
|
indexName: index.indexName
|
|
22109
22177
|
}, /*#__PURE__*/ React.createElement(Configure, index.searchParameters));
|
|
22110
22178
|
}), /*#__PURE__*/ React.createElement(InnerAutocomplete, _object_spread_props(_object_spread({}, props), {
|
|
22179
|
+
aiMode: aiMode,
|
|
22111
22180
|
indicesConfig: indicesConfig,
|
|
22112
22181
|
refineSearchBox: refine,
|
|
22113
22182
|
isSearchStalled: isSearchStalled,
|
|
@@ -22582,6 +22651,9 @@
|
|
|
22582
22651
|
createElement: React.createElement,
|
|
22583
22652
|
Fragment: React.Fragment
|
|
22584
22653
|
});
|
|
22654
|
+
// Marker used by `<Chat>` to auto-exempt inline layouts from the entry-point
|
|
22655
|
+
// validation, since inline chats are always visible (no trigger needed).
|
|
22656
|
+
ChatInlineLayout.$$inlineLayout = true;
|
|
22585
22657
|
|
|
22586
22658
|
var ChatSidePanelLayout = createChatSidePanelLayoutComponent({
|
|
22587
22659
|
createElement: React.createElement,
|
|
@@ -22751,16 +22823,13 @@
|
|
|
22751
22823
|
var _ref = [
|
|
22752
22824
|
_0,
|
|
22753
22825
|
_1
|
|
22754
|
-
], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), userTools = _ref2.tools,
|
|
22826
|
+
], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), userTools = _ref2.tools, headerProps = _ref2.headerProps, messagesProps = _ref2.messagesProps, promptProps = _ref2.promptProps, itemComponent = _ref2.itemComponent, layoutComponent = _ref2.layoutComponent, headerComponent = _ref2.headerComponent, headerTitleIconComponent = _ref2.headerTitleIconComponent, headerCloseIconComponent = _ref2.headerCloseIconComponent, headerMinimizeIconComponent = _ref2.headerMinimizeIconComponent, headerMaximizeIconComponent = _ref2.headerMaximizeIconComponent, loaderComponent = _ref2.loaderComponent, messagesErrorComponent = _ref2.messagesErrorComponent, promptComponent = _ref2.promptComponent, promptHeaderComponent = _ref2.promptHeaderComponent, promptFooterComponent = _ref2.promptFooterComponent, assistantMessageLeadingComponent = _ref2.assistantMessageLeadingComponent, assistantMessageFooterComponent = _ref2.assistantMessageFooterComponent, userMessageLeadingComponent = _ref2.userMessageLeadingComponent, userMessageFooterComponent = _ref2.userMessageFooterComponent, emptyComponent = _ref2.emptyComponent, actionsComponent = _ref2.actionsComponent, suggestionsComponent = _ref2.suggestionsComponent, classNames = _ref2.classNames, _ref_translations = _ref2.translations, translations = _ref_translations === void 0 ? {} : _ref_translations, title = _ref2.title, getSearchPageURL = _ref2.getSearchPageURL, _ref_disableTriggerValidation = _ref2.disableTriggerValidation, disableTriggerValidation = _ref_disableTriggerValidation === void 0 ? false : _ref_disableTriggerValidation, props = _object_without_properties(_ref2, [
|
|
22755
22827
|
"tools",
|
|
22756
|
-
"toggleButtonProps",
|
|
22757
22828
|
"headerProps",
|
|
22758
22829
|
"messagesProps",
|
|
22759
22830
|
"promptProps",
|
|
22760
22831
|
"itemComponent",
|
|
22761
22832
|
"layoutComponent",
|
|
22762
|
-
"toggleButtonComponent",
|
|
22763
|
-
"toggleButtonIconComponent",
|
|
22764
22833
|
"headerComponent",
|
|
22765
22834
|
"headerTitleIconComponent",
|
|
22766
22835
|
"headerCloseIconComponent",
|
|
@@ -22781,7 +22850,8 @@
|
|
|
22781
22850
|
"classNames",
|
|
22782
22851
|
"translations",
|
|
22783
22852
|
"title",
|
|
22784
|
-
"getSearchPageURL"
|
|
22853
|
+
"getSearchPageURL",
|
|
22854
|
+
"disableTriggerValidation"
|
|
22785
22855
|
]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
|
|
22786
22856
|
var promptTranslations = translations.prompt, headerTranslations = translations.header, messageTranslations = translations.message, messagesTranslations = translations.messages;
|
|
22787
22857
|
var _useInstantSearch = useInstantSearch(), indexUiState = _useInstantSearch.indexUiState, setIndexUiState = _useInstantSearch.setIndexUiState;
|
|
@@ -22799,8 +22869,14 @@
|
|
|
22799
22869
|
itemComponent,
|
|
22800
22870
|
userTools
|
|
22801
22871
|
]);
|
|
22872
|
+
// Inline layouts are always visible, so they don't require a `<ChatTrigger />`
|
|
22873
|
+
// (or AI mode) to be present. We detect this via a `$$inlineLayout` marker
|
|
22874
|
+
// set on the layout component, which is consistent across flavors.
|
|
22875
|
+
var isInlineLayoutComponent = typeof layoutComponent === 'function' && layoutComponent.$$inlineLayout === true;
|
|
22876
|
+
var effectiveDisableTriggerValidation = disableTriggerValidation || isInlineLayoutComponent;
|
|
22802
22877
|
var chatState = useChat(_object_spread_props(_object_spread({}, props), {
|
|
22803
|
-
tools: tools
|
|
22878
|
+
tools: tools,
|
|
22879
|
+
disableTriggerValidation: effectiveDisableTriggerValidation
|
|
22804
22880
|
}));
|
|
22805
22881
|
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;
|
|
22806
22882
|
React.useImperativeHandle(ref, function() {
|
|
@@ -22839,15 +22915,7 @@
|
|
|
22839
22915
|
layoutComponent: layoutComponent,
|
|
22840
22916
|
headerComponent: headerComponent,
|
|
22841
22917
|
promptComponent: promptComponent,
|
|
22842
|
-
toggleButtonComponent: toggleButtonComponent,
|
|
22843
22918
|
suggestionsComponent: suggestionsComponent,
|
|
22844
|
-
toggleButtonProps: _object_spread({
|
|
22845
|
-
open: open,
|
|
22846
|
-
onClick: function onClick() {
|
|
22847
|
-
return setOpen(!open);
|
|
22848
|
-
},
|
|
22849
|
-
toggleIconComponent: toggleButtonIconComponent
|
|
22850
|
-
}, toggleButtonProps),
|
|
22851
22919
|
headerProps: _object_spread({
|
|
22852
22920
|
onClose: function onClose() {
|
|
22853
22921
|
return setOpen(false);
|
|
@@ -22936,6 +23004,38 @@
|
|
|
22936
23004
|
}
|
|
22937
23005
|
var Chat = /*#__PURE__*/ React.forwardRef(ChatInner);
|
|
22938
23006
|
|
|
23007
|
+
var ChatToggleButton = createChatToggleButtonComponent({
|
|
23008
|
+
createElement: React.createElement,
|
|
23009
|
+
Fragment: React.Fragment
|
|
23010
|
+
});
|
|
23011
|
+
function ChatTrigger(_0) {
|
|
23012
|
+
var classNames = _0.classNames, toggleIconComponent = _0.toggleIconComponent, onClick = _0.onClick, _0_floating = _0.floating, floating = _0_floating === void 0 ? true : _0_floating, props = _object_without_properties(_0, [
|
|
23013
|
+
"classNames",
|
|
23014
|
+
"toggleIconComponent",
|
|
23015
|
+
"onClick",
|
|
23016
|
+
"floating"
|
|
23017
|
+
]);
|
|
23018
|
+
var _useChatTrigger = useChatTrigger({}, {
|
|
23019
|
+
$$widgetType: 'ais.chatTrigger'
|
|
23020
|
+
}), open = _useChatTrigger.open, toggleOpen = _useChatTrigger.toggleOpen;
|
|
23021
|
+
var handleClick = function handleClick() {
|
|
23022
|
+
toggleOpen();
|
|
23023
|
+
onClick === null || onClick === void 0 ? void 0 : onClick();
|
|
23024
|
+
};
|
|
23025
|
+
var rootClassName = [
|
|
23026
|
+
floating && 'ais-ChatToggleButton--floating',
|
|
23027
|
+
classNames === null || classNames === void 0 ? void 0 : classNames.root
|
|
23028
|
+
].filter(Boolean).flat();
|
|
23029
|
+
return /*#__PURE__*/ React.createElement(ChatToggleButton, _object_spread({
|
|
23030
|
+
open: open,
|
|
23031
|
+
onClick: handleClick,
|
|
23032
|
+
classNames: _object_spread_props(_object_spread({}, classNames), {
|
|
23033
|
+
root: rootClassName
|
|
23034
|
+
}),
|
|
23035
|
+
toggleIconComponent: toggleIconComponent
|
|
23036
|
+
}, props));
|
|
23037
|
+
}
|
|
23038
|
+
|
|
22939
23039
|
function ClearRefinements$1(_0) {
|
|
22940
23040
|
var _0_classNames = _0.classNames, classNames = _0_classNames === void 0 ? {} : _0_classNames, _0_disabled = _0.disabled, disabled = _0_disabled === void 0 ? false : _0_disabled, _0_onClick = _0.onClick, onClick = _0_onClick === void 0 ? function() {} : _0_onClick, translations = _0.translations, props = _object_without_properties(_0, [
|
|
22941
23041
|
"classNames",
|
|
@@ -24298,9 +24398,11 @@
|
|
|
24298
24398
|
]);
|
|
24299
24399
|
var _useSearchBox = useSearchBox({
|
|
24300
24400
|
queryHook: queryHook
|
|
24301
|
-
}, {
|
|
24401
|
+
}, _object_spread({
|
|
24302
24402
|
$$widgetType: 'ais.searchBox'
|
|
24303
|
-
}
|
|
24403
|
+
}, aiMode ? {
|
|
24404
|
+
opensChat: true
|
|
24405
|
+
} : {})), query = _useSearchBox.query, refine = _useSearchBox.refine, isSearchStalled = _useSearchBox.isSearchStalled;
|
|
24304
24406
|
var indexRenderState = useInstantSearch().indexRenderState;
|
|
24305
24407
|
var _useState = _sliced_to_array(React.useState(query), 2), inputValue = _useState[0], setInputValue = _useState[1];
|
|
24306
24408
|
var inputRef = React.useRef(null);
|
|
@@ -24712,6 +24814,7 @@
|
|
|
24712
24814
|
exports.ChatMessageLoader = ChatMessageLoader;
|
|
24713
24815
|
exports.ChatOverlayLayout = ChatOverlayLayout;
|
|
24714
24816
|
exports.ChatSidePanelLayout = ChatSidePanelLayout;
|
|
24817
|
+
exports.ChatTrigger = ChatTrigger;
|
|
24715
24818
|
exports.ClearRefinements = ClearRefinements;
|
|
24716
24819
|
exports.Configure = Configure;
|
|
24717
24820
|
exports.CurrentRefinements = CurrentRefinements;
|
|
@@ -24757,6 +24860,7 @@
|
|
|
24757
24860
|
exports.useAutocomplete = useAutocomplete;
|
|
24758
24861
|
exports.useBreadcrumb = useBreadcrumb;
|
|
24759
24862
|
exports.useChat = useChat;
|
|
24863
|
+
exports.useChatTrigger = useChatTrigger;
|
|
24760
24864
|
exports.useClearRefinements = useClearRefinements;
|
|
24761
24865
|
exports.useConfigure = useConfigure;
|
|
24762
24866
|
exports.useConnector = useConnector;
|