react-instantsearch 7.16.3 → 7.17.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/Autocomplete.js +114 -0
- package/dist/cjs/components/Carousel.js +19 -1
- package/dist/cjs/components/useAutocomplete.js +237 -0
- package/dist/cjs/index.umd.js +38 -0
- package/dist/cjs/lib/useStickToBottom.js +20 -0
- package/dist/cjs/ui/SearchBox.js +5 -4
- package/dist/cjs/widgets/Chat.js +258 -0
- package/dist/cjs/widgets/chat/tools/SearchIndexTool.js +120 -0
- package/dist/cjs/widgets/index.js +22 -11
- package/dist/cjs/widgets/index.umd.js +282 -0
- package/dist/es/components/Autocomplete.d.ts +20 -0
- package/dist/es/components/Autocomplete.js +106 -0
- package/dist/es/components/Carousel.d.ts +1 -1
- package/dist/es/components/Carousel.js +20 -2
- package/dist/es/components/useAutocomplete.d.ts +35 -0
- package/dist/es/components/useAutocomplete.js +231 -0
- package/dist/es/index.umd.d.ts +3 -0
- package/dist/es/index.umd.js +3 -0
- package/dist/es/lib/useStickToBottom.d.ts +1 -0
- package/dist/es/lib/useStickToBottom.js +14 -0
- package/dist/es/ui/SearchBox.d.ts +2 -1
- package/dist/es/ui/SearchBox.js +5 -4
- package/dist/es/widgets/Chat.d.ts +45 -0
- package/dist/es/widgets/Chat.js +238 -0
- package/dist/es/widgets/chat/tools/SearchIndexTool.d.ts +5 -0
- package/dist/es/widgets/chat/tools/SearchIndexTool.js +113 -0
- package/dist/es/widgets/index.d.ts +2 -1
- package/dist/es/widgets/index.js +3 -2
- package/dist/es/widgets/index.umd.d.ts +26 -0
- package/dist/es/widgets/index.umd.js +28 -0
- package/dist/umd/ReactInstantSearch.js +216 -162
- 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
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
Chat: true,
|
|
8
|
+
SearchIndexToolType: true,
|
|
9
|
+
RecommendToolType: true,
|
|
10
|
+
createDefaultTools: true
|
|
11
|
+
};
|
|
12
|
+
exports.createDefaultTools = exports.SearchIndexToolType = exports.RecommendToolType = exports.Chat = void 0;
|
|
13
|
+
var _Breadcrumb = require("./Breadcrumb");
|
|
14
|
+
Object.keys(_Breadcrumb).forEach(function (key) {
|
|
15
|
+
if (key === "default" || key === "__esModule") return;
|
|
16
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
17
|
+
if (key in exports && exports[key] === _Breadcrumb[key]) return;
|
|
18
|
+
Object.defineProperty(exports, key, {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _Breadcrumb[key];
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
var _ClearRefinements = require("./ClearRefinements");
|
|
26
|
+
Object.keys(_ClearRefinements).forEach(function (key) {
|
|
27
|
+
if (key === "default" || key === "__esModule") return;
|
|
28
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
29
|
+
if (key in exports && exports[key] === _ClearRefinements[key]) return;
|
|
30
|
+
Object.defineProperty(exports, key, {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _ClearRefinements[key];
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
var _CurrentRefinements = require("./CurrentRefinements");
|
|
38
|
+
Object.keys(_CurrentRefinements).forEach(function (key) {
|
|
39
|
+
if (key === "default" || key === "__esModule") return;
|
|
40
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
41
|
+
if (key in exports && exports[key] === _CurrentRefinements[key]) return;
|
|
42
|
+
Object.defineProperty(exports, key, {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function get() {
|
|
45
|
+
return _CurrentRefinements[key];
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
var _FrequentlyBoughtTogether = require("./FrequentlyBoughtTogether");
|
|
50
|
+
Object.keys(_FrequentlyBoughtTogether).forEach(function (key) {
|
|
51
|
+
if (key === "default" || key === "__esModule") return;
|
|
52
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
53
|
+
if (key in exports && exports[key] === _FrequentlyBoughtTogether[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function get() {
|
|
57
|
+
return _FrequentlyBoughtTogether[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
var _HierarchicalMenu = require("./HierarchicalMenu");
|
|
62
|
+
Object.keys(_HierarchicalMenu).forEach(function (key) {
|
|
63
|
+
if (key === "default" || key === "__esModule") return;
|
|
64
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
65
|
+
if (key in exports && exports[key] === _HierarchicalMenu[key]) return;
|
|
66
|
+
Object.defineProperty(exports, key, {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function get() {
|
|
69
|
+
return _HierarchicalMenu[key];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
var _Highlight = require("./Highlight");
|
|
74
|
+
Object.keys(_Highlight).forEach(function (key) {
|
|
75
|
+
if (key === "default" || key === "__esModule") return;
|
|
76
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
77
|
+
if (key in exports && exports[key] === _Highlight[key]) return;
|
|
78
|
+
Object.defineProperty(exports, key, {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function get() {
|
|
81
|
+
return _Highlight[key];
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
var _Hits = require("./Hits");
|
|
86
|
+
Object.keys(_Hits).forEach(function (key) {
|
|
87
|
+
if (key === "default" || key === "__esModule") return;
|
|
88
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
89
|
+
if (key in exports && exports[key] === _Hits[key]) return;
|
|
90
|
+
Object.defineProperty(exports, key, {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function get() {
|
|
93
|
+
return _Hits[key];
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
var _HitsPerPage = require("./HitsPerPage");
|
|
98
|
+
Object.keys(_HitsPerPage).forEach(function (key) {
|
|
99
|
+
if (key === "default" || key === "__esModule") return;
|
|
100
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
101
|
+
if (key in exports && exports[key] === _HitsPerPage[key]) return;
|
|
102
|
+
Object.defineProperty(exports, key, {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function get() {
|
|
105
|
+
return _HitsPerPage[key];
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
var _InfiniteHits = require("./InfiniteHits");
|
|
110
|
+
Object.keys(_InfiniteHits).forEach(function (key) {
|
|
111
|
+
if (key === "default" || key === "__esModule") return;
|
|
112
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
113
|
+
if (key in exports && exports[key] === _InfiniteHits[key]) return;
|
|
114
|
+
Object.defineProperty(exports, key, {
|
|
115
|
+
enumerable: true,
|
|
116
|
+
get: function get() {
|
|
117
|
+
return _InfiniteHits[key];
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
var _LookingSimilar = require("./LookingSimilar");
|
|
122
|
+
Object.keys(_LookingSimilar).forEach(function (key) {
|
|
123
|
+
if (key === "default" || key === "__esModule") return;
|
|
124
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
125
|
+
if (key in exports && exports[key] === _LookingSimilar[key]) return;
|
|
126
|
+
Object.defineProperty(exports, key, {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function get() {
|
|
129
|
+
return _LookingSimilar[key];
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
var _Menu = require("./Menu");
|
|
134
|
+
Object.keys(_Menu).forEach(function (key) {
|
|
135
|
+
if (key === "default" || key === "__esModule") return;
|
|
136
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
137
|
+
if (key in exports && exports[key] === _Menu[key]) return;
|
|
138
|
+
Object.defineProperty(exports, key, {
|
|
139
|
+
enumerable: true,
|
|
140
|
+
get: function get() {
|
|
141
|
+
return _Menu[key];
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
var _Pagination = require("./Pagination");
|
|
146
|
+
Object.keys(_Pagination).forEach(function (key) {
|
|
147
|
+
if (key === "default" || key === "__esModule") return;
|
|
148
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
149
|
+
if (key in exports && exports[key] === _Pagination[key]) return;
|
|
150
|
+
Object.defineProperty(exports, key, {
|
|
151
|
+
enumerable: true,
|
|
152
|
+
get: function get() {
|
|
153
|
+
return _Pagination[key];
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
var _PoweredBy = require("./PoweredBy");
|
|
158
|
+
Object.keys(_PoweredBy).forEach(function (key) {
|
|
159
|
+
if (key === "default" || key === "__esModule") return;
|
|
160
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
161
|
+
if (key in exports && exports[key] === _PoweredBy[key]) return;
|
|
162
|
+
Object.defineProperty(exports, key, {
|
|
163
|
+
enumerable: true,
|
|
164
|
+
get: function get() {
|
|
165
|
+
return _PoweredBy[key];
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
var _RangeInput = require("./RangeInput");
|
|
170
|
+
Object.keys(_RangeInput).forEach(function (key) {
|
|
171
|
+
if (key === "default" || key === "__esModule") return;
|
|
172
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
173
|
+
if (key in exports && exports[key] === _RangeInput[key]) return;
|
|
174
|
+
Object.defineProperty(exports, key, {
|
|
175
|
+
enumerable: true,
|
|
176
|
+
get: function get() {
|
|
177
|
+
return _RangeInput[key];
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
var _RefinementList = require("./RefinementList");
|
|
182
|
+
Object.keys(_RefinementList).forEach(function (key) {
|
|
183
|
+
if (key === "default" || key === "__esModule") return;
|
|
184
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
185
|
+
if (key in exports && exports[key] === _RefinementList[key]) return;
|
|
186
|
+
Object.defineProperty(exports, key, {
|
|
187
|
+
enumerable: true,
|
|
188
|
+
get: function get() {
|
|
189
|
+
return _RefinementList[key];
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
var _RelatedProducts = require("./RelatedProducts");
|
|
194
|
+
Object.keys(_RelatedProducts).forEach(function (key) {
|
|
195
|
+
if (key === "default" || key === "__esModule") return;
|
|
196
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
197
|
+
if (key in exports && exports[key] === _RelatedProducts[key]) return;
|
|
198
|
+
Object.defineProperty(exports, key, {
|
|
199
|
+
enumerable: true,
|
|
200
|
+
get: function get() {
|
|
201
|
+
return _RelatedProducts[key];
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
var _SearchBox = require("./SearchBox");
|
|
206
|
+
Object.keys(_SearchBox).forEach(function (key) {
|
|
207
|
+
if (key === "default" || key === "__esModule") return;
|
|
208
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
209
|
+
if (key in exports && exports[key] === _SearchBox[key]) return;
|
|
210
|
+
Object.defineProperty(exports, key, {
|
|
211
|
+
enumerable: true,
|
|
212
|
+
get: function get() {
|
|
213
|
+
return _SearchBox[key];
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
var _Snippet = require("./Snippet");
|
|
218
|
+
Object.keys(_Snippet).forEach(function (key) {
|
|
219
|
+
if (key === "default" || key === "__esModule") return;
|
|
220
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
221
|
+
if (key in exports && exports[key] === _Snippet[key]) return;
|
|
222
|
+
Object.defineProperty(exports, key, {
|
|
223
|
+
enumerable: true,
|
|
224
|
+
get: function get() {
|
|
225
|
+
return _Snippet[key];
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
var _SortBy = require("./SortBy");
|
|
230
|
+
Object.keys(_SortBy).forEach(function (key) {
|
|
231
|
+
if (key === "default" || key === "__esModule") return;
|
|
232
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
233
|
+
if (key in exports && exports[key] === _SortBy[key]) return;
|
|
234
|
+
Object.defineProperty(exports, key, {
|
|
235
|
+
enumerable: true,
|
|
236
|
+
get: function get() {
|
|
237
|
+
return _SortBy[key];
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
var _Stats = require("./Stats");
|
|
242
|
+
Object.keys(_Stats).forEach(function (key) {
|
|
243
|
+
if (key === "default" || key === "__esModule") return;
|
|
244
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
245
|
+
if (key in exports && exports[key] === _Stats[key]) return;
|
|
246
|
+
Object.defineProperty(exports, key, {
|
|
247
|
+
enumerable: true,
|
|
248
|
+
get: function get() {
|
|
249
|
+
return _Stats[key];
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
var _ToggleRefinement = require("./ToggleRefinement");
|
|
254
|
+
Object.keys(_ToggleRefinement).forEach(function (key) {
|
|
255
|
+
if (key === "default" || key === "__esModule") return;
|
|
256
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
257
|
+
if (key in exports && exports[key] === _ToggleRefinement[key]) return;
|
|
258
|
+
Object.defineProperty(exports, key, {
|
|
259
|
+
enumerable: true,
|
|
260
|
+
get: function get() {
|
|
261
|
+
return _ToggleRefinement[key];
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
var _TrendingItems = require("./TrendingItems");
|
|
266
|
+
Object.keys(_TrendingItems).forEach(function (key) {
|
|
267
|
+
if (key === "default" || key === "__esModule") return;
|
|
268
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
269
|
+
if (key in exports && exports[key] === _TrendingItems[key]) return;
|
|
270
|
+
Object.defineProperty(exports, key, {
|
|
271
|
+
enumerable: true,
|
|
272
|
+
get: function get() {
|
|
273
|
+
return _TrendingItems[key];
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
var Chat = exports.Chat = function Chat() {
|
|
278
|
+
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");
|
|
279
|
+
};
|
|
280
|
+
var SearchIndexToolType = exports.SearchIndexToolType = undefined;
|
|
281
|
+
var RecommendToolType = exports.RecommendToolType = undefined;
|
|
282
|
+
var createDefaultTools = exports.createDefaultTools = function createDefaultTools() {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { IndexConfig as UseAutocompleteIndexConfig } from './useAutocomplete';
|
|
3
|
+
import type { AutocompleteIndexClassNames } from 'instantsearch-ui-components';
|
|
4
|
+
import type { BaseHit, Hit } from 'instantsearch.js';
|
|
5
|
+
type ItemComponentProps<TItem extends BaseHit> = React.ComponentType<{
|
|
6
|
+
item: Hit<TItem>;
|
|
7
|
+
onSelect: () => void;
|
|
8
|
+
}>;
|
|
9
|
+
type IndexConfig<TItem extends BaseHit> = UseAutocompleteIndexConfig<TItem> & {
|
|
10
|
+
itemComponent: ItemComponentProps<TItem>;
|
|
11
|
+
classNames?: Partial<AutocompleteIndexClassNames>;
|
|
12
|
+
};
|
|
13
|
+
export type AutocompleteProps<TItem extends BaseHit> = {
|
|
14
|
+
indices?: Array<IndexConfig<TItem>>;
|
|
15
|
+
showSuggestions?: Partial<Pick<IndexConfig<{
|
|
16
|
+
query: string;
|
|
17
|
+
}>, 'indexName' | 'itemComponent' | 'classNames'>>;
|
|
18
|
+
};
|
|
19
|
+
export declare function EXPERIMENTAL_Autocomplete<TItem extends BaseHit = BaseHit>({ indices: userIndices, showSuggestions, }: AutocompleteProps<TItem>): React.JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
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); }
|
|
2
|
+
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; }
|
|
3
|
+
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; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
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); }
|
|
7
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
8
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
9
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
12
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
13
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
14
|
+
import { createAutocompleteComponent, createAutocompleteIndexComponent, createAutocompletePanelComponent, createAutocompleteSuggestionComponent, cx } from 'instantsearch-ui-components';
|
|
15
|
+
import React, { createElement, Fragment } from 'react';
|
|
16
|
+
import { Index, useHits, useSearchBox } from 'react-instantsearch-core';
|
|
17
|
+
import { SearchBox } from "../widgets/SearchBox.js";
|
|
18
|
+
import { useAutocomplete } from "./useAutocomplete.js";
|
|
19
|
+
var Autocomplete = createAutocompleteComponent({
|
|
20
|
+
createElement: createElement,
|
|
21
|
+
Fragment: Fragment
|
|
22
|
+
});
|
|
23
|
+
var AutocompletePanel = createAutocompletePanelComponent({
|
|
24
|
+
createElement: createElement,
|
|
25
|
+
Fragment: Fragment
|
|
26
|
+
});
|
|
27
|
+
var AutocompleteIndex = createAutocompleteIndexComponent({
|
|
28
|
+
createElement: createElement,
|
|
29
|
+
Fragment: Fragment
|
|
30
|
+
});
|
|
31
|
+
var AutocompleteSuggestion = createAutocompleteSuggestionComponent({
|
|
32
|
+
createElement: createElement,
|
|
33
|
+
Fragment: Fragment
|
|
34
|
+
});
|
|
35
|
+
function VirtualSearchBox() {
|
|
36
|
+
useSearchBox();
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
var _ref3 = /*#__PURE__*/React.createElement(VirtualSearchBox, null);
|
|
40
|
+
export function EXPERIMENTAL_Autocomplete(_ref) {
|
|
41
|
+
var _ref$indices = _ref.indices,
|
|
42
|
+
userIndices = _ref$indices === void 0 ? [] : _ref$indices,
|
|
43
|
+
showSuggestions = _ref.showSuggestions;
|
|
44
|
+
var indices = _toConsumableArray(userIndices);
|
|
45
|
+
if (showSuggestions !== null && showSuggestions !== void 0 && showSuggestions.indexName) {
|
|
46
|
+
var _showSuggestions$clas, _showSuggestions$clas2, _showSuggestions$clas3;
|
|
47
|
+
indices.unshift({
|
|
48
|
+
indexName: showSuggestions.indexName,
|
|
49
|
+
// Temporarily force casting until the coming refactoring
|
|
50
|
+
itemComponent: showSuggestions.itemComponent || AutocompleteSuggestion,
|
|
51
|
+
classNames: {
|
|
52
|
+
root: cx('ais-AutocompleteSuggestions', showSuggestions === null || showSuggestions === void 0 ? void 0 : (_showSuggestions$clas = showSuggestions.classNames) === null || _showSuggestions$clas === void 0 ? void 0 : _showSuggestions$clas.root),
|
|
53
|
+
list: cx('ais-AutocompleteSuggestionsList', showSuggestions === null || showSuggestions === void 0 ? void 0 : (_showSuggestions$clas2 = showSuggestions.classNames) === null || _showSuggestions$clas2 === void 0 ? void 0 : _showSuggestions$clas2.list),
|
|
54
|
+
item: cx('ais-AutocompleteSuggestionsItem', showSuggestions === null || showSuggestions === void 0 ? void 0 : (_showSuggestions$clas3 = showSuggestions.classNames) === null || _showSuggestions$clas3 === void 0 ? void 0 : _showSuggestions$clas3.item)
|
|
55
|
+
},
|
|
56
|
+
getQuery: function getQuery(item) {
|
|
57
|
+
return item.query;
|
|
58
|
+
},
|
|
59
|
+
onSelect: function onSelect(_ref2) {
|
|
60
|
+
var getQuery = _ref2.getQuery,
|
|
61
|
+
setQuery = _ref2.setQuery;
|
|
62
|
+
setQuery(getQuery());
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
var _useAutocomplete = useAutocomplete({
|
|
67
|
+
indices: indices
|
|
68
|
+
}),
|
|
69
|
+
getIndexProps = _useAutocomplete.getIndexProps,
|
|
70
|
+
getInputProps = _useAutocomplete.getInputProps,
|
|
71
|
+
getItemProps = _useAutocomplete.getItemProps,
|
|
72
|
+
getPanelProps = _useAutocomplete.getPanelProps,
|
|
73
|
+
getRootProps = _useAutocomplete.getRootProps;
|
|
74
|
+
return /*#__PURE__*/React.createElement(Fragment, null, _ref3, /*#__PURE__*/React.createElement(Index, _extends({
|
|
75
|
+
EXPERIMENTAL_isolated: true
|
|
76
|
+
}, getIndexProps()), /*#__PURE__*/React.createElement(Autocomplete, getRootProps(), /*#__PURE__*/React.createElement(SearchBox, {
|
|
77
|
+
inputProps: getInputProps()
|
|
78
|
+
}), /*#__PURE__*/React.createElement(AutocompletePanel, getPanelProps(), indices.map(function (index) {
|
|
79
|
+
return /*#__PURE__*/React.createElement(Index, {
|
|
80
|
+
key: index.indexName,
|
|
81
|
+
indexName: index.indexName
|
|
82
|
+
}, /*#__PURE__*/React.createElement(AutocompleteIndexComponent, _extends({}, index, {
|
|
83
|
+
getItemProps: getItemProps
|
|
84
|
+
})));
|
|
85
|
+
})))));
|
|
86
|
+
}
|
|
87
|
+
function AutocompleteIndexComponent(_ref4) {
|
|
88
|
+
var indexName = _ref4.indexName,
|
|
89
|
+
ItemComponent = _ref4.itemComponent,
|
|
90
|
+
getItemProps = _ref4.getItemProps,
|
|
91
|
+
classNames = _ref4.classNames;
|
|
92
|
+
var _useHits = useHits(),
|
|
93
|
+
items = _useHits.items;
|
|
94
|
+
return /*#__PURE__*/React.createElement(AutocompleteIndex
|
|
95
|
+
// @ts-expect-error - there seems to be problems with React.ComponentType and this, but it's actually correct
|
|
96
|
+
, {
|
|
97
|
+
ItemComponent: ItemComponent,
|
|
98
|
+
items: items.map(function (item) {
|
|
99
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
100
|
+
__indexName: indexName
|
|
101
|
+
});
|
|
102
|
+
}),
|
|
103
|
+
getItemProps: getItemProps,
|
|
104
|
+
classNames: classNames
|
|
105
|
+
});
|
|
106
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { CarouselProps as CarouselUiProps } from 'instantsearch-ui-components';
|
|
3
|
-
export type CarouselProps<TObject extends Record<string, unknown>> = Omit<CarouselUiProps<TObject>, 'listRef' | 'nextButtonRef' | 'previousButtonRef' | 'carouselIdRef'>;
|
|
3
|
+
export type CarouselProps<TObject extends Record<string, unknown>> = Omit<CarouselUiProps<TObject>, 'listRef' | 'nextButtonRef' | 'previousButtonRef' | 'carouselIdRef' | 'canScrollLeft' | 'canScrollRight' | 'setCanScrollLeft' | 'setCanScrollRight'>;
|
|
4
4
|
export declare function Carousel<TObject extends Record<string, unknown>>(props: CarouselProps<TObject>): React.JSX.Element;
|
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
3
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
6
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
7
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
2
8
|
import { createCarouselComponent, generateCarouselId } from 'instantsearch-ui-components';
|
|
3
|
-
import React, { createElement, Fragment, useRef } from 'react';
|
|
9
|
+
import React, { createElement, Fragment, useRef, useState } from 'react';
|
|
4
10
|
var CarouselUiComponent = createCarouselComponent({
|
|
5
11
|
createElement: createElement,
|
|
6
12
|
Fragment: Fragment
|
|
7
13
|
});
|
|
8
14
|
export function Carousel(props) {
|
|
15
|
+
var _useState = useState(false),
|
|
16
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
17
|
+
canScrollLeft = _useState2[0],
|
|
18
|
+
setCanScrollLeft = _useState2[1];
|
|
19
|
+
var _useState3 = useState(true),
|
|
20
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
21
|
+
canScrollRight = _useState4[0],
|
|
22
|
+
setCanScrollRight = _useState4[1];
|
|
9
23
|
var carouselRefs = {
|
|
10
24
|
listRef: useRef(null),
|
|
11
25
|
nextButtonRef: useRef(null),
|
|
12
26
|
previousButtonRef: useRef(null),
|
|
13
|
-
carouselIdRef: useRef(generateCarouselId())
|
|
27
|
+
carouselIdRef: useRef(generateCarouselId()),
|
|
28
|
+
canScrollLeft: canScrollLeft,
|
|
29
|
+
canScrollRight: canScrollRight,
|
|
30
|
+
setCanScrollLeft: setCanScrollLeft,
|
|
31
|
+
setCanScrollRight: setCanScrollRight
|
|
14
32
|
};
|
|
15
33
|
return /*#__PURE__*/React.createElement(CarouselUiComponent, _extends({}, carouselRefs, props));
|
|
16
34
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { BaseHit, Hit } from 'instantsearch.js';
|
|
2
|
+
import type { ComponentProps } from 'react';
|
|
3
|
+
export type IndexConfig<TItem extends BaseHit> = {
|
|
4
|
+
indexName: string;
|
|
5
|
+
getQuery?: (item: Hit<TItem>) => string;
|
|
6
|
+
getURL?: (item: Hit<TItem>) => string;
|
|
7
|
+
onSelect?: (params: {
|
|
8
|
+
item: Hit<TItem>;
|
|
9
|
+
getQuery: () => string;
|
|
10
|
+
getURL: () => string;
|
|
11
|
+
setQuery: (query: string) => void;
|
|
12
|
+
}) => void;
|
|
13
|
+
};
|
|
14
|
+
type GetIndexProps = () => {
|
|
15
|
+
indexId: string;
|
|
16
|
+
};
|
|
17
|
+
type GetInputProps = () => Pick<ComponentProps<'input'>, 'id' | 'role' | 'aria-activedescendant' | 'aria-autocomplete' | 'aria-controls' | 'aria-expanded' | 'aria-haspopup' | 'onBlur' | 'onFocus' | 'onKeyDown' | 'onKeyUp'>;
|
|
18
|
+
type GetItemProps = (item: {
|
|
19
|
+
__indexName: string;
|
|
20
|
+
} & Record<string, unknown>, index: number) => Pick<ComponentProps<'li'>, 'id' | 'role' | 'aria-selected' | 'onMouseEnter' | 'onMouseLeave'> & {
|
|
21
|
+
onSelect: () => void;
|
|
22
|
+
};
|
|
23
|
+
type GetPanelProps = () => Pick<ComponentProps<'div'>, 'id' | 'hidden' | 'ref' | 'role' | 'aria-labelledby'>;
|
|
24
|
+
type GetRootProps = () => Pick<ComponentProps<'div'>, 'ref'>;
|
|
25
|
+
type UseAutocomplete<TItem extends BaseHit> = (params: {
|
|
26
|
+
indices: Array<IndexConfig<TItem>>;
|
|
27
|
+
}) => {
|
|
28
|
+
getIndexProps: GetIndexProps;
|
|
29
|
+
getInputProps: GetInputProps;
|
|
30
|
+
getItemProps: GetItemProps;
|
|
31
|
+
getPanelProps: GetPanelProps;
|
|
32
|
+
getRootProps: GetRootProps;
|
|
33
|
+
};
|
|
34
|
+
export declare function useAutocomplete<TItem extends BaseHit = BaseHit>({ indices, }: Parameters<UseAutocomplete<TItem>>['0']): ReturnType<UseAutocomplete<TItem>>;
|
|
35
|
+
export {};
|