@algolia/autocomplete-shared 1.8.3 → 1.9.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/esm/core/AutocompleteApi.d.ts +15 -0
- package/dist/esm/core/AutocompleteApi.js +1 -0
- package/dist/esm/core/AutocompleteCollection.d.ts +10 -0
- package/dist/esm/core/AutocompleteCollection.js +1 -0
- package/dist/esm/core/AutocompleteContext.d.ts +3 -0
- package/dist/esm/core/AutocompleteContext.js +1 -0
- package/dist/esm/core/AutocompleteEnvironment.d.ts +13 -0
- package/dist/esm/core/AutocompleteEnvironment.js +1 -0
- package/dist/esm/core/AutocompleteNavigator.d.ts +28 -0
- package/dist/esm/core/AutocompleteNavigator.js +1 -0
- package/dist/esm/core/AutocompleteOptions.d.ts +185 -0
- package/dist/esm/core/AutocompleteOptions.js +1 -0
- package/dist/esm/core/AutocompletePlugin.d.ts +43 -0
- package/dist/esm/core/AutocompletePlugin.js +1 -0
- package/dist/esm/core/AutocompletePropGetters.d.ts +100 -0
- package/dist/esm/core/AutocompletePropGetters.js +1 -0
- package/dist/esm/core/AutocompleteReshape.d.ts +25 -0
- package/dist/esm/core/AutocompleteReshape.js +1 -0
- package/dist/esm/core/AutocompleteSetters.d.ts +46 -0
- package/dist/esm/core/AutocompleteSetters.js +1 -0
- package/dist/esm/core/AutocompleteSource.d.ts +76 -0
- package/dist/esm/core/AutocompleteSource.js +1 -0
- package/dist/esm/core/AutocompleteState.d.ts +12 -0
- package/dist/esm/core/AutocompleteState.js +1 -0
- package/dist/esm/core/index.d.ts +11 -0
- package/dist/esm/core/index.js +11 -0
- package/dist/esm/debounce.js +0 -2
- package/dist/esm/decycle.js +4 -17
- package/dist/esm/getItemsCount.js +0 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +3 -1
- package/dist/esm/invariant.js +0 -1
- package/dist/esm/isEqual.js +0 -7
- package/dist/esm/js/AutocompleteClassNames.d.ts +28 -0
- package/dist/esm/js/AutocompleteClassNames.js +1 -0
- package/dist/esm/js/AutocompleteCollection.d.ts +6 -0
- package/dist/esm/js/AutocompleteCollection.js +1 -0
- package/dist/esm/js/AutocompleteComponents.d.ts +23 -0
- package/dist/esm/js/AutocompleteComponents.js +1 -0
- package/dist/esm/js/AutocompleteOptions.d.ts +106 -0
- package/dist/esm/js/AutocompleteOptions.js +1 -0
- package/dist/esm/js/AutocompletePlugin.d.ts +13 -0
- package/dist/esm/js/AutocompletePlugin.js +1 -0
- package/dist/esm/js/AutocompletePropGetters.d.ts +33 -0
- package/dist/esm/js/AutocompletePropGetters.js +1 -0
- package/dist/esm/js/AutocompleteRender.d.ts +15 -0
- package/dist/esm/js/AutocompleteRender.js +1 -0
- package/dist/esm/js/AutocompleteRenderer.d.ts +33 -0
- package/dist/esm/js/AutocompleteRenderer.js +1 -0
- package/dist/esm/js/AutocompleteSource.d.ts +74 -0
- package/dist/esm/js/AutocompleteSource.js +1 -0
- package/dist/esm/js/AutocompleteState.d.ts +10 -0
- package/dist/esm/js/AutocompleteState.js +1 -0
- package/dist/esm/js/AutocompleteTranslations.d.ts +5 -0
- package/dist/esm/js/AutocompleteTranslations.js +1 -0
- package/dist/esm/js/HighlightHitParams.d.ts +18 -0
- package/dist/esm/js/HighlightHitParams.js +1 -0
- package/dist/esm/js/index.d.ts +12 -0
- package/dist/esm/js/index.js +12 -0
- package/dist/esm/preset-algolia/algoliasearch.d.ts +54 -0
- package/dist/esm/preset-algolia/algoliasearch.js +1 -0
- package/dist/esm/preset-algolia/createRequester.d.ts +89 -0
- package/dist/esm/preset-algolia/createRequester.js +1 -0
- package/dist/esm/safelyRunOnBrowser.d.ts +8 -0
- package/dist/esm/safelyRunOnBrowser.js +11 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/warn.js +3 -5
- package/package.json +9 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { UserAgent } from '../UserAgent';
|
|
2
|
+
import { MultipleQueriesQuery, SearchClient, SearchForFacetValuesResponse, SearchResponse } from './algoliasearch';
|
|
3
|
+
export interface SearchParams {
|
|
4
|
+
/**
|
|
5
|
+
* The initialized Algolia search client.
|
|
6
|
+
*/
|
|
7
|
+
searchClient: SearchClient;
|
|
8
|
+
/**
|
|
9
|
+
* A list of queries to execute.
|
|
10
|
+
*/
|
|
11
|
+
queries: MultipleQueriesQuery[];
|
|
12
|
+
/**
|
|
13
|
+
* A list of user agents to add to the search client.
|
|
14
|
+
*
|
|
15
|
+
* This is useful to track usage of an integration.
|
|
16
|
+
*/
|
|
17
|
+
userAgents?: UserAgent[];
|
|
18
|
+
}
|
|
19
|
+
export declare type Fetcher = <TRecord>({ searchClient, queries, userAgents, }: SearchParams) => Promise<Array<SearchForFacetValuesResponse | SearchResponse<TRecord>>>;
|
|
20
|
+
declare type FacetHit = {
|
|
21
|
+
label: string;
|
|
22
|
+
count: number;
|
|
23
|
+
_highlightResult: {
|
|
24
|
+
label: {
|
|
25
|
+
value: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export declare type FetcherParams = Pick<Parameters<Fetcher>[0], 'searchClient' | 'queries'>;
|
|
30
|
+
export declare type RequesterParams<THit> = {
|
|
31
|
+
transformResponse(response: TransformResponseParams<THit>): TransformedRequesterResponse<THit>;
|
|
32
|
+
};
|
|
33
|
+
declare type TransformResponseParams<THit> = {
|
|
34
|
+
results: Array<SearchResponse<THit> | SearchForFacetValuesResponse>;
|
|
35
|
+
hits: Array<SearchResponse<THit>['hits']>;
|
|
36
|
+
facetHits: FacetHit[][];
|
|
37
|
+
};
|
|
38
|
+
export declare type TransformedRequesterResponse<THit> = Array<SearchResponse<THit>['hits']> | SearchResponse<THit>['hits'] | FacetHit[][] | FacetHit[];
|
|
39
|
+
export declare type TransformResponse<THit> = (response: TransformResponseParams<THit>) => TransformedRequesterResponse<THit>;
|
|
40
|
+
declare type FetcherParamsQuery<THit> = {
|
|
41
|
+
query: MultipleQueriesQuery;
|
|
42
|
+
sourceId: string;
|
|
43
|
+
transformResponse: TransformResponse<THit>;
|
|
44
|
+
};
|
|
45
|
+
export declare type ExecuteParams<THit> = {
|
|
46
|
+
searchClient: SearchClient;
|
|
47
|
+
requests: Array<FetcherParamsQuery<THit>>;
|
|
48
|
+
};
|
|
49
|
+
export declare type Execute<THit> = (params: ExecuteParams<THit>) => Promise<ExecuteResponse<THit>>;
|
|
50
|
+
export declare type ExecuteResponse<THit> = Array<{
|
|
51
|
+
items: SearchResponse<THit> | SearchForFacetValuesResponse;
|
|
52
|
+
sourceId: string;
|
|
53
|
+
transformResponse: TransformResponse<THit>;
|
|
54
|
+
}>;
|
|
55
|
+
export declare type RequestParams<THit> = FetcherParams & {
|
|
56
|
+
/**
|
|
57
|
+
* The function to transform the Algolia response before passing it to the Autocomplete state. You have access to the full Algolia results, as well as the pre-computed hits and facet hits.
|
|
58
|
+
*
|
|
59
|
+
* This is useful to manipulate the hits, or store data from the results in the [context](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/context/).
|
|
60
|
+
*/
|
|
61
|
+
transformResponse?: TransformResponse<THit>;
|
|
62
|
+
};
|
|
63
|
+
export declare type RequesterDescription<THit> = {
|
|
64
|
+
/**
|
|
65
|
+
* The search client used for this request. Multiple queries with the same client are batched (if `requesterId` is also the same).
|
|
66
|
+
*/
|
|
67
|
+
searchClient: SearchClient;
|
|
68
|
+
/**
|
|
69
|
+
* Identifies requesters to confirm their queries should be batched.
|
|
70
|
+
* This ensures that requesters with the same client but different
|
|
71
|
+
* post-processing functions don't get batched.
|
|
72
|
+
* When falsy, batching is disabled.
|
|
73
|
+
* For example, the Algolia requesters use "algolia".
|
|
74
|
+
*/
|
|
75
|
+
requesterId?: string;
|
|
76
|
+
/**
|
|
77
|
+
* The search parameters used for this query.
|
|
78
|
+
*/
|
|
79
|
+
queries: MultipleQueriesQuery[];
|
|
80
|
+
/**
|
|
81
|
+
* Transforms the response of this search before returning it to the caller.
|
|
82
|
+
*/
|
|
83
|
+
transformResponse: TransformResponse<THit>;
|
|
84
|
+
/**
|
|
85
|
+
* Post-processing function for multi-queries.
|
|
86
|
+
*/
|
|
87
|
+
execute: Execute<THit>;
|
|
88
|
+
};
|
|
89
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare type BrowserCallback<TReturn> = (params: {
|
|
2
|
+
window: typeof window;
|
|
3
|
+
}) => TReturn;
|
|
4
|
+
/**
|
|
5
|
+
* Safely runs code meant for browser environments only.
|
|
6
|
+
*/
|
|
7
|
+
export declare function safelyRunOnBrowser<TReturn>(callback: BrowserCallback<TReturn>): TReturn | undefined;
|
|
8
|
+
export {};
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "1.
|
|
1
|
+
export declare const version = "1.9.0";
|
package/dist/esm/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export var version = '1.
|
|
1
|
+
export var version = '1.9.0';
|
package/dist/esm/warn.js
CHANGED
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
export var warnCache = {
|
|
2
2
|
current: {}
|
|
3
3
|
};
|
|
4
|
+
|
|
4
5
|
/**
|
|
5
6
|
* Logs a warning if the condition is not met.
|
|
6
7
|
* This is used to log issues in development environment only.
|
|
7
8
|
*/
|
|
8
|
-
|
|
9
9
|
export function warn(condition, message) {
|
|
10
10
|
if (!(process.env.NODE_ENV !== 'production')) {
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
13
|
if (condition) {
|
|
15
14
|
return;
|
|
16
15
|
}
|
|
17
|
-
|
|
18
16
|
var sanitizedMessage = message.trim();
|
|
19
17
|
var hasAlreadyPrinted = warnCache.current[sanitizedMessage];
|
|
20
|
-
|
|
21
18
|
if (!hasAlreadyPrinted) {
|
|
22
|
-
warnCache.current[sanitizedMessage] = true;
|
|
19
|
+
warnCache.current[sanitizedMessage] = true;
|
|
23
20
|
|
|
21
|
+
// eslint-disable-next-line no-console
|
|
24
22
|
console.warn("[Autocomplete] ".concat(sanitizedMessage));
|
|
25
23
|
}
|
|
26
24
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@algolia/autocomplete-shared",
|
|
3
3
|
"description": "Shared utils for Autocomplete packages.",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.9.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/algolia/autocomplete",
|
|
7
7
|
"repository": "algolia/autocomplete",
|
|
@@ -25,5 +25,13 @@
|
|
|
25
25
|
"on:change": "concurrently \"yarn build:esm\" \"yarn build:types\"",
|
|
26
26
|
"prepare": "yarn build:esm && yarn build:types",
|
|
27
27
|
"watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@algolia/client-search": "4.16.0",
|
|
31
|
+
"algoliasearch": "4.16.0"
|
|
32
|
+
},
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"@algolia/client-search": ">= 4.9.1 < 6",
|
|
35
|
+
"algoliasearch": ">= 4.9.1 < 6"
|
|
28
36
|
}
|
|
29
37
|
}
|