instantsearch.js 4.84.0 → 4.85.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/cjs/connectors/chat/connectChat.js +2 -1
- package/cjs/lib/utils/getAlgoliaAgent.js +10 -0
- package/cjs/lib/utils/index.js +11 -0
- package/cjs/lib/version.js +1 -1
- package/cjs/middlewares/createMetadataMiddleware.js +1 -2
- package/cjs/widgets/autocomplete/autocomplete.js +17 -7
- package/cjs/widgets/chat/chat.js +3 -3
- package/dist/instantsearch.development.d.ts +4 -0
- package/dist/instantsearch.development.js +54 -38
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +4 -0
- package/dist/instantsearch.production.min.d.ts +4 -0
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/connectors/chat/connectChat.js +3 -2
- package/es/lib/utils/getAlgoliaAgent.d.ts +1 -0
- package/es/lib/utils/getAlgoliaAgent.js +4 -0
- package/es/lib/utils/index.d.ts +1 -0
- package/es/lib/utils/index.js +1 -0
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/middlewares/createMetadataMiddleware.js +2 -3
- package/es/widgets/autocomplete/autocomplete.d.ts +4 -0
- package/es/widgets/autocomplete/autocomplete.js +18 -8
- package/es/widgets/chat/chat.js +4 -4
- package/package.json +6 -6
|
@@ -80,7 +80,8 @@ var connectChat = exports.default = function connectChat(renderFn) {
|
|
|
80
80
|
api: "https://".concat(appId, ".algolia.net/agent-studio/1/agents/").concat(agentId, "/completions?compatibilityMode=ai-sdk-5"),
|
|
81
81
|
headers: {
|
|
82
82
|
'x-algolia-application-id': appId,
|
|
83
|
-
'x-algolia-api-Key': apiKey
|
|
83
|
+
'x-algolia-api-Key': apiKey,
|
|
84
|
+
'x-algolia-agent': (0, _utils.getAlgoliaAgent)(instantSearchInstance.client)
|
|
84
85
|
}
|
|
85
86
|
});
|
|
86
87
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getAlgoliaAgent = getAlgoliaAgent;
|
|
7
|
+
function getAlgoliaAgent(client) {
|
|
8
|
+
var clientTyped = client;
|
|
9
|
+
return clientTyped.transporter && clientTyped.transporter.userAgent ? clientTyped.transporter.userAgent.value : clientTyped._ua;
|
|
10
|
+
}
|
package/cjs/lib/utils/index.js
CHANGED
|
@@ -223,6 +223,17 @@ Object.keys(_geoSearch).forEach(function (key) {
|
|
|
223
223
|
}
|
|
224
224
|
});
|
|
225
225
|
});
|
|
226
|
+
var _getAlgoliaAgent = require("./getAlgoliaAgent");
|
|
227
|
+
Object.keys(_getAlgoliaAgent).forEach(function (key) {
|
|
228
|
+
if (key === "default" || key === "__esModule") return;
|
|
229
|
+
if (key in exports && exports[key] === _getAlgoliaAgent[key]) return;
|
|
230
|
+
Object.defineProperty(exports, key, {
|
|
231
|
+
enumerable: true,
|
|
232
|
+
get: function get() {
|
|
233
|
+
return _getAlgoliaAgent[key];
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
});
|
|
226
237
|
var _getAppIdAndApiKey = require("./getAppIdAndApiKey");
|
|
227
238
|
Object.keys(_getAppIdAndApiKey).forEach(function (key) {
|
|
228
239
|
if (key === "default" || key === "__esModule") return;
|
package/cjs/lib/version.js
CHANGED
|
@@ -70,8 +70,7 @@ function createMetadataMiddleware() {
|
|
|
70
70
|
subscribe: function subscribe() {
|
|
71
71
|
// using setTimeout here to delay extraction until widgets have been added in a tick (e.g. Vue)
|
|
72
72
|
setTimeout(function () {
|
|
73
|
-
|
|
74
|
-
payload.ua = client.transporter && client.transporter.userAgent ? client.transporter.userAgent.value : client._ua;
|
|
73
|
+
payload.ua = (0, _utils.getAlgoliaAgent)(instantSearchInstance.client);
|
|
75
74
|
extractWidgetPayload(instantSearchInstance.mainIndex.getWidgets(), instantSearchInstance, payload);
|
|
76
75
|
instantSearchInstance.middleware.forEach(function (middleware) {
|
|
77
76
|
return payload.widgets.push({
|
|
@@ -110,13 +110,14 @@ function AutocompleteWrapper(_ref) {
|
|
|
110
110
|
indices = _ref.indices,
|
|
111
111
|
getSearchPageURL = _ref.getSearchPageURL,
|
|
112
112
|
userOnSelect = _ref.onSelect,
|
|
113
|
-
|
|
113
|
+
refineAutocomplete = _ref.refine,
|
|
114
114
|
cssClasses = _ref.cssClasses,
|
|
115
115
|
renderState = _ref.renderState,
|
|
116
116
|
instantSearchInstance = _ref.instantSearchInstance,
|
|
117
117
|
showRecent = _ref.showRecent,
|
|
118
118
|
showSuggestions = _ref.showSuggestions,
|
|
119
|
-
templates = _ref.templates
|
|
119
|
+
templates = _ref.templates,
|
|
120
|
+
placeholder = _ref.placeholder;
|
|
120
121
|
var isolatedIndex = renderState.isolatedIndex,
|
|
121
122
|
targetIndex = renderState.targetIndex;
|
|
122
123
|
var searchboxQuery = isolatedIndex === null || isolatedIndex === void 0 ? void 0 : (_isolatedIndex$getHel = isolatedIndex.getHelper()) === null || _isolatedIndex$getHel === void 0 ? void 0 : _isolatedIndex$getHel.state.query;
|
|
@@ -135,6 +136,7 @@ function AutocompleteWrapper(_ref) {
|
|
|
135
136
|
return ['ais.hits', 'ais.infiniteHits'].includes($$type);
|
|
136
137
|
})) !== null && _targetIndex$getWidge !== void 0 ? _targetIndex$getWidge : false;
|
|
137
138
|
var onRefine = function onRefine(query) {
|
|
139
|
+
refineAutocomplete(query);
|
|
138
140
|
instantSearchInstance.setUiState(function (uiState) {
|
|
139
141
|
var _objectSpread2;
|
|
140
142
|
return _objectSpread(_objectSpread({}, uiState), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, targetIndex.getIndexId(), _objectSpread(_objectSpread({}, uiState[targetIndex.getIndexId()]), {}, {
|
|
@@ -165,7 +167,8 @@ function AutocompleteWrapper(_ref) {
|
|
|
165
167
|
return;
|
|
166
168
|
}
|
|
167
169
|
setQuery(query);
|
|
168
|
-
}
|
|
170
|
+
},
|
|
171
|
+
placeholder: placeholder
|
|
169
172
|
}),
|
|
170
173
|
getInputProps = _usePropGetters.getInputProps,
|
|
171
174
|
getItemProps = _usePropGetters.getItemProps,
|
|
@@ -264,11 +267,16 @@ function AutocompleteWrapper(_ref) {
|
|
|
264
267
|
}));
|
|
265
268
|
};
|
|
266
269
|
var elementId = indexName === (showSuggestions === null || showSuggestions === void 0 ? void 0 : showSuggestions.indexName) ? 'suggestions' : indexName;
|
|
270
|
+
var filteredHits = elementId === 'suggestions' && showRecent ? hits.filter(function (suggestionHit) {
|
|
271
|
+
return !(0, _utils.find)(storageHits, function (storageHit) {
|
|
272
|
+
return storageHit.query === suggestionHit.query;
|
|
273
|
+
});
|
|
274
|
+
}) : hits;
|
|
267
275
|
elements[elementId] = (0, _preact.h)(AutocompleteIndex, {
|
|
268
276
|
key: indexId,
|
|
269
277
|
HeaderComponent: headerComponent,
|
|
270
278
|
ItemComponent: itemComponent,
|
|
271
|
-
items:
|
|
279
|
+
items: filteredHits.map(function (item) {
|
|
272
280
|
return _objectSpread(_objectSpread({}, item), {}, {
|
|
273
281
|
__indexName: indexId
|
|
274
282
|
});
|
|
@@ -284,11 +292,11 @@ function AutocompleteWrapper(_ref) {
|
|
|
284
292
|
inputProps: _objectSpread(_objectSpread({}, getInputProps()), {}, {
|
|
285
293
|
// @ts-ignore - This clashes with some ambient React JSX declarations.
|
|
286
294
|
onInput: function onInput(evt) {
|
|
287
|
-
return
|
|
295
|
+
return refineAutocomplete(evt.currentTarget.value);
|
|
288
296
|
}
|
|
289
297
|
}),
|
|
290
298
|
onClear: function onClear() {
|
|
291
|
-
|
|
299
|
+
onRefine('');
|
|
292
300
|
},
|
|
293
301
|
isSearchStalled: instantSearchInstance.status === 'stalled'
|
|
294
302
|
}), (0, _preact.h)(AutocompletePanel, getPanelProps(), templates.panel ? (0, _preact.h)(_Template.default, _extends({}, renderState.templateProps, {
|
|
@@ -316,7 +324,8 @@ function EXPERIMENTAL_autocomplete(widgetParams) {
|
|
|
316
324
|
_ref0$templates = _ref0.templates,
|
|
317
325
|
templates = _ref0$templates === void 0 ? {} : _ref0$templates,
|
|
318
326
|
_ref0$cssClasses = _ref0.cssClasses,
|
|
319
|
-
userCssClasses = _ref0$cssClasses === void 0 ? {} : _ref0$cssClasses
|
|
327
|
+
userCssClasses = _ref0$cssClasses === void 0 ? {} : _ref0$cssClasses,
|
|
328
|
+
placeholder = _ref0.placeholder;
|
|
320
329
|
if (!container) {
|
|
321
330
|
throw new Error(withUsage('The `container` option is required.'));
|
|
322
331
|
}
|
|
@@ -367,6 +376,7 @@ function EXPERIMENTAL_autocomplete(widgetParams) {
|
|
|
367
376
|
cssClasses: cssClasses,
|
|
368
377
|
showRecent: showRecent,
|
|
369
378
|
showSuggestions: showSuggestions,
|
|
379
|
+
placeholder: placeholder,
|
|
370
380
|
renderState: {
|
|
371
381
|
indexTemplateProps: [],
|
|
372
382
|
isolatedIndex: undefined,
|
package/cjs/widgets/chat/chat.js
CHANGED
|
@@ -57,13 +57,13 @@ function getDefinedProperties(obj) {
|
|
|
57
57
|
return value !== undefined;
|
|
58
58
|
}));
|
|
59
59
|
}
|
|
60
|
-
var _ref6 = (0, _preact.h)(_instantsearchUiComponents.
|
|
60
|
+
var _ref6 = (0, _preact.h)(_instantsearchUiComponents.ArrowRightIcon, {
|
|
61
61
|
createElement: _preact.h
|
|
62
62
|
});
|
|
63
|
-
var _ref7 = (0, _preact.h)(_instantsearchUiComponents.
|
|
63
|
+
var _ref7 = (0, _preact.h)(_instantsearchUiComponents.ChevronLeftIcon, {
|
|
64
64
|
createElement: _preact.h
|
|
65
65
|
});
|
|
66
|
-
var _ref8 = (0, _preact.h)(_instantsearchUiComponents.
|
|
66
|
+
var _ref8 = (0, _preact.h)(_instantsearchUiComponents.ChevronRightIcon, {
|
|
67
67
|
createElement: _preact.h
|
|
68
68
|
});
|
|
69
69
|
function createCarouselTool(showViewAll, templates, getSearchPageURL) {
|
|
@@ -379,6 +379,10 @@ declare type AutocompleteWidgetParams<TItem extends BaseHit> = {
|
|
|
379
379
|
* CSS classes to add.
|
|
380
380
|
*/
|
|
381
381
|
cssClasses?: AutocompleteCSSClasses;
|
|
382
|
+
/**
|
|
383
|
+
* Placeholder text for the search input.
|
|
384
|
+
*/
|
|
385
|
+
placeholder?: string;
|
|
382
386
|
};
|
|
383
387
|
|
|
384
388
|
declare type BaseHit = Record<string, any>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! InstantSearch.js 4.
|
|
1
|
+
/*! InstantSearch.js 4.85.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' ? module.exports = factory() :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(factory) :
|
|
@@ -1127,6 +1127,11 @@
|
|
|
1127
1127
|
return insideBoundingBoxStringToBoundingBox(value);
|
|
1128
1128
|
}
|
|
1129
1129
|
|
|
1130
|
+
function getAlgoliaAgent(client) {
|
|
1131
|
+
var clientTyped = client;
|
|
1132
|
+
return clientTyped.transporter && clientTyped.transporter.userAgent ? clientTyped.transporter.userAgent.value : clientTyped._ua;
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1130
1135
|
// typed as any, since it accepts the _real_ js clients, not the interface we otherwise expect
|
|
1131
1136
|
function getAppIdAndApiKey(searchClient) {
|
|
1132
1137
|
if (searchClient.appId && searchClient.apiKey) {
|
|
@@ -14500,8 +14505,7 @@
|
|
|
14500
14505
|
subscribe: function subscribe() {
|
|
14501
14506
|
// using setTimeout here to delay extraction until widgets have been added in a tick (e.g. Vue)
|
|
14502
14507
|
setTimeout(function () {
|
|
14503
|
-
|
|
14504
|
-
payload.ua = client.transporter && client.transporter.userAgent ? client.transporter.userAgent.value : client._ua;
|
|
14508
|
+
payload.ua = getAlgoliaAgent(instantSearchInstance.client);
|
|
14505
14509
|
extractWidgetPayload(instantSearchInstance.mainIndex.getWidgets(), instantSearchInstance, payload);
|
|
14506
14510
|
instantSearchInstance.middleware.forEach(function (middleware) {
|
|
14507
14511
|
return payload.widgets.push({
|
|
@@ -16486,7 +16490,7 @@
|
|
|
16486
16490
|
};
|
|
16487
16491
|
}
|
|
16488
16492
|
|
|
16489
|
-
var version$1 = '4.
|
|
16493
|
+
var version$1 = '4.85.0';
|
|
16490
16494
|
|
|
16491
16495
|
var withUsage$v = createDocumentationMessageGenerator({
|
|
16492
16496
|
name: 'instantsearch'
|
|
@@ -17262,7 +17266,7 @@
|
|
|
17262
17266
|
onSelect = _getItemProps.onSelect,
|
|
17263
17267
|
itemProps = _objectWithoutProperties$1(_getItemProps, _excluded$a);
|
|
17264
17268
|
return createElement("li", _extends$1({
|
|
17265
|
-
key: item.objectID
|
|
17269
|
+
key: "".concat(itemProps.id, ":").concat(item.objectID)
|
|
17266
17270
|
}, itemProps, {
|
|
17267
17271
|
className: cx('ais-AutocompleteIndexItem', classNames.item, className)
|
|
17268
17272
|
}), createElement(ItemComponent, {
|
|
@@ -17273,16 +17277,23 @@
|
|
|
17273
17277
|
};
|
|
17274
17278
|
}
|
|
17275
17279
|
|
|
17276
|
-
var _excluded$b = ["children", "classNames"];
|
|
17280
|
+
var _excluded$b = ["children", "classNames", "hidden"];
|
|
17277
17281
|
function createAutocompletePanelComponent(_ref) {
|
|
17278
17282
|
var createElement = _ref.createElement;
|
|
17279
17283
|
return function AutocompletePanel(userProps) {
|
|
17280
17284
|
var children = userProps.children,
|
|
17281
17285
|
_userProps$classNames = userProps.classNames,
|
|
17282
17286
|
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
17287
|
+
hidden = userProps.hidden,
|
|
17283
17288
|
props = _objectWithoutProperties$1(userProps, _excluded$b);
|
|
17284
17289
|
return createElement("div", _extends$1({}, props, {
|
|
17285
|
-
|
|
17290
|
+
"aria-hidden": hidden,
|
|
17291
|
+
className: cx('ais-AutocompletePanel', !hidden && 'ais-AutocompletePanel--open', classNames.root, props.className),
|
|
17292
|
+
onMouseDown: function onMouseDown(event) {
|
|
17293
|
+
// Prevents the autocomplete panel from blurring the input when
|
|
17294
|
+
// clicking inside the panel.
|
|
17295
|
+
event.preventDefault();
|
|
17296
|
+
}
|
|
17286
17297
|
}), createElement("div", {
|
|
17287
17298
|
className: cx('ais-AutocompletePanelLayout', classNames.layout)
|
|
17288
17299
|
}, children));
|
|
@@ -17431,25 +17442,21 @@
|
|
|
17431
17442
|
|
|
17432
17443
|
var _slicedToArray$1 = unwrapExports(slicedToArray);
|
|
17433
17444
|
|
|
17434
|
-
function
|
|
17445
|
+
function SubmitIcon(_ref) {
|
|
17435
17446
|
var createElement = _ref.createElement;
|
|
17436
17447
|
return createElement("svg", {
|
|
17437
17448
|
className: "ais-AutocompleteSubmitIcon",
|
|
17438
17449
|
viewBox: "0 0 24 24",
|
|
17439
|
-
width: "20",
|
|
17440
|
-
height: "20",
|
|
17441
17450
|
fill: "currentColor"
|
|
17442
17451
|
}, createElement("path", {
|
|
17443
17452
|
d: "M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"
|
|
17444
17453
|
}));
|
|
17445
17454
|
}
|
|
17446
|
-
function
|
|
17455
|
+
function LoadingIcon(_ref2) {
|
|
17447
17456
|
var createElement = _ref2.createElement;
|
|
17448
17457
|
return createElement("svg", {
|
|
17449
17458
|
className: "ais-AutocompleteLoadingIcon",
|
|
17450
|
-
viewBox: "0 0 100 100"
|
|
17451
|
-
width: "20",
|
|
17452
|
-
height: "20"
|
|
17459
|
+
viewBox: "0 0 100 100"
|
|
17453
17460
|
}, createElement("circle", {
|
|
17454
17461
|
cx: "50",
|
|
17455
17462
|
cy: "50",
|
|
@@ -17467,19 +17474,17 @@
|
|
|
17467
17474
|
keyTimes: "0;0.40;0.65;1"
|
|
17468
17475
|
})));
|
|
17469
17476
|
}
|
|
17470
|
-
function
|
|
17477
|
+
function ClearIcon(_ref3) {
|
|
17471
17478
|
var createElement = _ref3.createElement;
|
|
17472
17479
|
return createElement("svg", {
|
|
17473
17480
|
className: "ais-AutocompleteClearIcon",
|
|
17474
17481
|
viewBox: "0 0 24 24",
|
|
17475
|
-
width: "18",
|
|
17476
|
-
height: "18",
|
|
17477
17482
|
fill: "currentColor"
|
|
17478
17483
|
}, createElement("path", {
|
|
17479
17484
|
d: "M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"
|
|
17480
17485
|
}));
|
|
17481
17486
|
}
|
|
17482
|
-
function
|
|
17487
|
+
function ClockIcon(_ref4) {
|
|
17483
17488
|
var createElement = _ref4.createElement;
|
|
17484
17489
|
return createElement("svg", {
|
|
17485
17490
|
viewBox: "0 0 24 24",
|
|
@@ -17488,7 +17493,7 @@
|
|
|
17488
17493
|
d: "M12.516 6.984v5.25l4.5 2.672-0.75 1.266-5.25-3.188v-6h1.5zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z"
|
|
17489
17494
|
}));
|
|
17490
17495
|
}
|
|
17491
|
-
function
|
|
17496
|
+
function TrashIcon(_ref5) {
|
|
17492
17497
|
var createElement = _ref5.createElement;
|
|
17493
17498
|
return createElement("svg", {
|
|
17494
17499
|
viewBox: "0 0 24 24",
|
|
@@ -17514,7 +17519,7 @@
|
|
|
17514
17519
|
className: cx('ais-AutocompleteItemContent', 'ais-AutocompleteRecentSearchItemContent', classNames.content)
|
|
17515
17520
|
}, createElement("div", {
|
|
17516
17521
|
className: cx('ais-AutocompleteItemIcon', 'ais-AutocompleteRecentSearchItemIcon', classNames.content)
|
|
17517
|
-
}, createElement(
|
|
17522
|
+
}, createElement(ClockIcon, {
|
|
17518
17523
|
createElement: createElement
|
|
17519
17524
|
})), createElement("div", {
|
|
17520
17525
|
className: cx('ais-AutocompleteItemContentBody', 'ais-AutocompleteRecentSearchItemContentBody', classNames.content)
|
|
@@ -17527,7 +17532,7 @@
|
|
|
17527
17532
|
evt.stopPropagation();
|
|
17528
17533
|
onRemoveRecentSearch();
|
|
17529
17534
|
}
|
|
17530
|
-
}, createElement(
|
|
17535
|
+
}, createElement(TrashIcon, {
|
|
17531
17536
|
createElement: createElement
|
|
17532
17537
|
}))));
|
|
17533
17538
|
};
|
|
@@ -17564,12 +17569,12 @@
|
|
|
17564
17569
|
className: "ais-AutocompleteSubmitButton",
|
|
17565
17570
|
type: "submit",
|
|
17566
17571
|
title: "Submit"
|
|
17567
|
-
}, createElement(
|
|
17572
|
+
}, createElement(SubmitIcon, {
|
|
17568
17573
|
createElement: createElement
|
|
17569
17574
|
}))), createElement("div", {
|
|
17570
17575
|
className: "ais-AutocompleteLoadingIndicator",
|
|
17571
17576
|
hidden: !isSearchStalled
|
|
17572
|
-
}, createElement(
|
|
17577
|
+
}, createElement(LoadingIcon, {
|
|
17573
17578
|
createElement: createElement
|
|
17574
17579
|
}))), createElement("div", {
|
|
17575
17580
|
className: "ais-AutocompleteInputWrapper"
|
|
@@ -17582,7 +17587,6 @@
|
|
|
17582
17587
|
autoCapitalize: "off",
|
|
17583
17588
|
enterKeyHint: "search",
|
|
17584
17589
|
spellCheck: "false",
|
|
17585
|
-
placeholder: "",
|
|
17586
17590
|
maxLength: 512,
|
|
17587
17591
|
type: "search",
|
|
17588
17592
|
value: query
|
|
@@ -17594,7 +17598,7 @@
|
|
|
17594
17598
|
title: "Clear",
|
|
17595
17599
|
hidden: query.length === 0 || isSearchStalled,
|
|
17596
17600
|
onClick: onClear
|
|
17597
|
-
}, createElement(
|
|
17601
|
+
}, createElement(ClearIcon, {
|
|
17598
17602
|
createElement: createElement
|
|
17599
17603
|
}))));
|
|
17600
17604
|
};
|
|
@@ -17614,7 +17618,7 @@
|
|
|
17614
17618
|
className: cx('ais-AutocompleteItemContent', 'ais-AutocompleteSuggestionItemContent', classNames.content)
|
|
17615
17619
|
}, createElement("div", {
|
|
17616
17620
|
className: cx('ais-AutocompleteItemIcon', 'ais-AutocompleteSuggestionItemIcon', classNames.content)
|
|
17617
|
-
}, createElement(
|
|
17621
|
+
}, createElement(SubmitIcon, {
|
|
17618
17622
|
createElement: createElement
|
|
17619
17623
|
})), createElement("div", {
|
|
17620
17624
|
className: cx('ais-AutocompleteItemContentBody', 'ais-AutocompleteSuggestionItemContentBody', classNames.content)
|
|
@@ -17632,7 +17636,8 @@
|
|
|
17632
17636
|
var indices = _ref2.indices,
|
|
17633
17637
|
indicesConfig = _ref2.indicesConfig,
|
|
17634
17638
|
onRefine = _ref2.onRefine,
|
|
17635
|
-
globalOnSelect = _ref2.onSelect
|
|
17639
|
+
globalOnSelect = _ref2.onSelect,
|
|
17640
|
+
placeholder = _ref2.placeholder;
|
|
17636
17641
|
var getElementId = createGetElementId(useId());
|
|
17637
17642
|
var inputRef = useRef(null);
|
|
17638
17643
|
var rootRef = useRef(null);
|
|
@@ -17728,6 +17733,7 @@
|
|
|
17728
17733
|
'aria-haspopup': 'grid',
|
|
17729
17734
|
'aria-controls': getElementId('panel'),
|
|
17730
17735
|
'aria-activedescendant': activeDescendant,
|
|
17736
|
+
placeholder: placeholder,
|
|
17731
17737
|
onFocus: function onFocus() {
|
|
17732
17738
|
return setIsOpen(true);
|
|
17733
17739
|
},
|
|
@@ -18198,9 +18204,9 @@
|
|
|
18198
18204
|
Fragment: Fragment
|
|
18199
18205
|
}) : _userProps$itemCompon,
|
|
18200
18206
|
_userProps$previousIc = userProps.previousIconComponent,
|
|
18201
|
-
|
|
18207
|
+
PreviousIcon = _userProps$previousIc === void 0 ? PreviousIconDefaultComponent : _userProps$previousIc,
|
|
18202
18208
|
_userProps$nextIconCo = userProps.nextIconComponent,
|
|
18203
|
-
|
|
18209
|
+
NextIcon = _userProps$nextIconCo === void 0 ? NextIconDefaultComponent : _userProps$nextIconCo,
|
|
18204
18210
|
HeaderComponent = userProps.headerComponent,
|
|
18205
18211
|
_userProps$showNaviga = userProps.showNavigation,
|
|
18206
18212
|
showNavigation = _userProps$showNaviga === void 0 ? true : _userProps$showNaviga,
|
|
@@ -18269,7 +18275,7 @@
|
|
|
18269
18275
|
event.preventDefault();
|
|
18270
18276
|
scrollLeft();
|
|
18271
18277
|
}
|
|
18272
|
-
}, createElement(
|
|
18278
|
+
}, createElement(PreviousIcon, {
|
|
18273
18279
|
createElement: createElement
|
|
18274
18280
|
})), createElement("ol", {
|
|
18275
18281
|
className: cx(cssClasses.list),
|
|
@@ -18315,7 +18321,7 @@
|
|
|
18315
18321
|
event.preventDefault();
|
|
18316
18322
|
scrollRight();
|
|
18317
18323
|
}
|
|
18318
|
-
}, createElement(
|
|
18324
|
+
}, createElement(NextIcon, {
|
|
18319
18325
|
createElement: createElement
|
|
18320
18326
|
})));
|
|
18321
18327
|
};
|
|
@@ -20477,13 +20483,14 @@
|
|
|
20477
20483
|
indices = _ref.indices,
|
|
20478
20484
|
getSearchPageURL = _ref.getSearchPageURL,
|
|
20479
20485
|
userOnSelect = _ref.onSelect,
|
|
20480
|
-
|
|
20486
|
+
refineAutocomplete = _ref.refine,
|
|
20481
20487
|
cssClasses = _ref.cssClasses,
|
|
20482
20488
|
renderState = _ref.renderState,
|
|
20483
20489
|
instantSearchInstance = _ref.instantSearchInstance,
|
|
20484
20490
|
showRecent = _ref.showRecent,
|
|
20485
20491
|
showSuggestions = _ref.showSuggestions,
|
|
20486
|
-
templates = _ref.templates
|
|
20492
|
+
templates = _ref.templates,
|
|
20493
|
+
placeholder = _ref.placeholder;
|
|
20487
20494
|
var isolatedIndex = renderState.isolatedIndex,
|
|
20488
20495
|
targetIndex = renderState.targetIndex;
|
|
20489
20496
|
var searchboxQuery = isolatedIndex === null || isolatedIndex === void 0 ? void 0 : (_isolatedIndex$getHel = isolatedIndex.getHelper()) === null || _isolatedIndex$getHel === void 0 ? void 0 : _isolatedIndex$getHel.state.query;
|
|
@@ -20502,6 +20509,7 @@
|
|
|
20502
20509
|
return ['ais.hits', 'ais.infiniteHits'].includes($$type);
|
|
20503
20510
|
})) !== null && _targetIndex$getWidge !== void 0 ? _targetIndex$getWidge : false;
|
|
20504
20511
|
var onRefine = function onRefine(query) {
|
|
20512
|
+
refineAutocomplete(query);
|
|
20505
20513
|
instantSearchInstance.setUiState(function (uiState) {
|
|
20506
20514
|
var _objectSpread2$1;
|
|
20507
20515
|
return _objectSpread2(_objectSpread2({}, uiState), {}, (_objectSpread2$1 = {}, _defineProperty(_objectSpread2$1, targetIndex.getIndexId(), _objectSpread2(_objectSpread2({}, uiState[targetIndex.getIndexId()]), {}, {
|
|
@@ -20532,7 +20540,8 @@
|
|
|
20532
20540
|
return;
|
|
20533
20541
|
}
|
|
20534
20542
|
setQuery(query);
|
|
20535
|
-
}
|
|
20543
|
+
},
|
|
20544
|
+
placeholder: placeholder
|
|
20536
20545
|
}),
|
|
20537
20546
|
getInputProps = _usePropGetters.getInputProps,
|
|
20538
20547
|
getItemProps = _usePropGetters.getItemProps,
|
|
@@ -20631,11 +20640,16 @@
|
|
|
20631
20640
|
}));
|
|
20632
20641
|
};
|
|
20633
20642
|
var elementId = indexName === (showSuggestions === null || showSuggestions === void 0 ? void 0 : showSuggestions.indexName) ? 'suggestions' : indexName;
|
|
20643
|
+
var filteredHits = elementId === 'suggestions' && showRecent ? hits.filter(function (suggestionHit) {
|
|
20644
|
+
return !find(storageHits, function (storageHit) {
|
|
20645
|
+
return storageHit.query === suggestionHit.query;
|
|
20646
|
+
});
|
|
20647
|
+
}) : hits;
|
|
20634
20648
|
elements[elementId] = h(AutocompleteIndex, {
|
|
20635
20649
|
key: indexId,
|
|
20636
20650
|
HeaderComponent: headerComponent,
|
|
20637
20651
|
ItemComponent: itemComponent,
|
|
20638
|
-
items:
|
|
20652
|
+
items: filteredHits.map(function (item) {
|
|
20639
20653
|
return _objectSpread2(_objectSpread2({}, item), {}, {
|
|
20640
20654
|
__indexName: indexId
|
|
20641
20655
|
});
|
|
@@ -20651,11 +20665,11 @@
|
|
|
20651
20665
|
inputProps: _objectSpread2(_objectSpread2({}, getInputProps()), {}, {
|
|
20652
20666
|
// @ts-ignore - This clashes with some ambient React JSX declarations.
|
|
20653
20667
|
onInput: function onInput(evt) {
|
|
20654
|
-
return
|
|
20668
|
+
return refineAutocomplete(evt.currentTarget.value);
|
|
20655
20669
|
}
|
|
20656
20670
|
}),
|
|
20657
20671
|
onClear: function onClear() {
|
|
20658
|
-
|
|
20672
|
+
onRefine('');
|
|
20659
20673
|
},
|
|
20660
20674
|
isSearchStalled: instantSearchInstance.status === 'stalled'
|
|
20661
20675
|
}), h(AutocompletePanel, getPanelProps(), templates.panel ? h(Template, _extends({}, renderState.templateProps, {
|
|
@@ -20683,7 +20697,8 @@
|
|
|
20683
20697
|
_ref0$templates = _ref0.templates,
|
|
20684
20698
|
templates = _ref0$templates === void 0 ? {} : _ref0$templates,
|
|
20685
20699
|
_ref0$cssClasses = _ref0.cssClasses,
|
|
20686
|
-
userCssClasses = _ref0$cssClasses === void 0 ? {} : _ref0$cssClasses
|
|
20700
|
+
userCssClasses = _ref0$cssClasses === void 0 ? {} : _ref0$cssClasses,
|
|
20701
|
+
placeholder = _ref0.placeholder;
|
|
20687
20702
|
if (!container) {
|
|
20688
20703
|
throw new Error(withUsage$z('The `container` option is required.'));
|
|
20689
20704
|
}
|
|
@@ -20734,6 +20749,7 @@
|
|
|
20734
20749
|
cssClasses: cssClasses,
|
|
20735
20750
|
showRecent: showRecent,
|
|
20736
20751
|
showSuggestions: showSuggestions,
|
|
20752
|
+
placeholder: placeholder,
|
|
20737
20753
|
renderState: {
|
|
20738
20754
|
indexTemplateProps: [],
|
|
20739
20755
|
isolatedIndex: undefined,
|