@docusaurus/theme-search-algolia 3.8.1 → 3.9.0-canary-6403
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/lib/client/index.d.ts +3 -1
- package/lib/client/index.js +3 -1
- package/lib/client/useAlgoliaAskAi.d.ts +32 -0
- package/lib/client/useAlgoliaAskAi.js +59 -0
- package/lib/client/useAlgoliaContextualFacetFilters.d.ts +3 -1
- package/lib/client/useAlgoliaContextualFacetFilters.js +11 -0
- package/lib/client/utils.d.ts +9 -0
- package/lib/client/utils.js +21 -0
- package/lib/docSearchVersion.d.ts +7 -0
- package/lib/docSearchVersion.js +13 -0
- package/lib/index.js +20 -0
- package/lib/theme/SearchBar/index.js +12 -12
- package/lib/theme/SearchBar/styles.css +4 -0
- package/lib/theme/SearchPage/index.js +70 -25
- package/lib/theme/SearchPage/styles.module.css +12 -4
- package/lib/theme/SearchTranslations/index.d.ts +47 -0
- package/lib/theme/SearchTranslations/index.js +186 -31
- package/lib/validateThemeConfig.d.ts +4 -3
- package/lib/validateThemeConfig.js +66 -4
- package/package.json +14 -14
- package/src/client/index.ts +6 -1
- package/src/client/useAlgoliaAskAi.ts +108 -0
- package/src/client/useAlgoliaContextualFacetFilters.ts +17 -1
- package/src/client/utils.ts +40 -0
- package/src/docSearchVersion.ts +12 -0
- package/src/index.ts +21 -0
- package/src/theme/SearchBar/index.tsx +41 -24
- package/src/theme/SearchBar/styles.css +4 -0
- package/src/theme/SearchPage/index.tsx +71 -25
- package/src/theme/SearchPage/styles.module.css +12 -4
- package/src/theme/SearchTranslations/index.ts +237 -32
- package/src/theme-search-algolia.d.ts +51 -16
- package/src/validateThemeConfig.ts +87 -9
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import {version as docSearchVersion} from '@docsearch/react';
|
|
9
|
+
|
|
10
|
+
// TODO Docusaurus v4: upgrade to DocSearch v4
|
|
11
|
+
// drop v3 compat, remove this file?
|
|
12
|
+
export const docSearchV3: boolean = docSearchVersion.startsWith('3.');
|
package/src/index.ts
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
createOpenSearchHeadTags,
|
|
13
13
|
shouldCreateOpenSearchFile,
|
|
14
14
|
} from './opensearch';
|
|
15
|
+
import {docSearchV3} from './docSearchVersion';
|
|
15
16
|
|
|
16
17
|
import type {LoadContext, Plugin} from '@docusaurus/types';
|
|
17
18
|
import type {ThemeConfig} from '@docusaurus/theme-search-algolia';
|
|
@@ -65,6 +66,26 @@ export default function themeSearchAlgolia(context: LoadContext): Plugin<void> {
|
|
|
65
66
|
}
|
|
66
67
|
return {};
|
|
67
68
|
},
|
|
69
|
+
|
|
70
|
+
configureWebpack() {
|
|
71
|
+
// TODO Docusaurus v4: remove after dropping DocSearch v3 support
|
|
72
|
+
if (docSearchV3) {
|
|
73
|
+
// These aliases ensure DocSearch v3 imports are compatible with
|
|
74
|
+
// the newly added DocSearch v4 entry points
|
|
75
|
+
// See https://github.com/algolia/docsearch/pull/2764
|
|
76
|
+
const docSearchV3Entry = require.resolve('@docsearch/react');
|
|
77
|
+
return {
|
|
78
|
+
resolve: {
|
|
79
|
+
alias: {
|
|
80
|
+
'@docsearch/react/version': docSearchV3Entry,
|
|
81
|
+
'@docsearch/react/useDocSearchKeyboardEvents': docSearchV3Entry,
|
|
82
|
+
'@docsearch/react/useTheme': docSearchV3Entry,
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
return undefined;
|
|
88
|
+
},
|
|
68
89
|
};
|
|
69
90
|
}
|
|
70
91
|
|
|
@@ -13,7 +13,8 @@ import React, {
|
|
|
13
13
|
type ReactNode,
|
|
14
14
|
} from 'react';
|
|
15
15
|
import {createPortal} from 'react-dom';
|
|
16
|
-
import {DocSearchButton
|
|
16
|
+
import {DocSearchButton} from '@docsearch/react/button';
|
|
17
|
+
import {useDocSearchKeyboardEvents} from '@docsearch/react/useDocSearchKeyboardEvents';
|
|
17
18
|
import Head from '@docusaurus/Head';
|
|
18
19
|
import Link from '@docusaurus/Link';
|
|
19
20
|
import {useHistory} from '@docusaurus/router';
|
|
@@ -24,6 +25,8 @@ import {
|
|
|
24
25
|
import {
|
|
25
26
|
useAlgoliaContextualFacetFilters,
|
|
26
27
|
useSearchResultUrlProcessor,
|
|
28
|
+
useAlgoliaAskAi,
|
|
29
|
+
mergeFacetFilters,
|
|
27
30
|
} from '@docusaurus/theme-search-algolia/client';
|
|
28
31
|
import Translate from '@docusaurus/Translate';
|
|
29
32
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
@@ -35,10 +38,13 @@ import type {
|
|
|
35
38
|
StoredDocSearchHit,
|
|
36
39
|
DocSearchTransformClient,
|
|
37
40
|
DocSearchHit,
|
|
41
|
+
DocSearchTranslations,
|
|
42
|
+
UseDocSearchKeyboardEventsProps,
|
|
38
43
|
} from '@docsearch/react';
|
|
39
44
|
|
|
40
45
|
import type {AutocompleteState} from '@algolia/autocomplete-core';
|
|
41
46
|
import type {FacetFilters} from 'algoliasearch/lite';
|
|
47
|
+
import type {ThemeConfigAlgolia} from '@docusaurus/theme-search-algolia';
|
|
42
48
|
|
|
43
49
|
type DocSearchProps = Omit<
|
|
44
50
|
DocSearchModalProps,
|
|
@@ -47,8 +53,20 @@ type DocSearchProps = Omit<
|
|
|
47
53
|
contextualSearch?: string;
|
|
48
54
|
externalUrlRegex?: string;
|
|
49
55
|
searchPagePath: boolean | string;
|
|
56
|
+
askAi?: Exclude<
|
|
57
|
+
(DocSearchModalProps & {askAi: unknown})['askAi'],
|
|
58
|
+
string | undefined
|
|
59
|
+
>;
|
|
50
60
|
};
|
|
51
61
|
|
|
62
|
+
// extend DocSearchProps for v4 features
|
|
63
|
+
// TODO Docusaurus v4: cleanup after we drop support for DocSearch v3
|
|
64
|
+
interface DocSearchV4Props extends DocSearchProps {
|
|
65
|
+
indexName: string;
|
|
66
|
+
askAi?: ThemeConfigAlgolia['askAi'];
|
|
67
|
+
translations?: DocSearchTranslations;
|
|
68
|
+
}
|
|
69
|
+
|
|
52
70
|
let DocSearchModal: typeof DocSearchModalType | null = null;
|
|
53
71
|
|
|
54
72
|
function importDocSearchModalIfNeeded() {
|
|
@@ -56,9 +74,7 @@ function importDocSearchModalIfNeeded() {
|
|
|
56
74
|
return Promise.resolve();
|
|
57
75
|
}
|
|
58
76
|
return Promise.all([
|
|
59
|
-
import('@docsearch/react/modal')
|
|
60
|
-
typeof import('@docsearch/react')
|
|
61
|
-
>,
|
|
77
|
+
import('@docsearch/react/modal'),
|
|
62
78
|
import('@docsearch/react/style'),
|
|
63
79
|
import('./styles.css'),
|
|
64
80
|
]).then(([{DocSearchModal: Modal}]) => {
|
|
@@ -135,7 +151,7 @@ function Hit({
|
|
|
135
151
|
children,
|
|
136
152
|
}: {
|
|
137
153
|
hit: InternalDocSearchHit | StoredDocSearchHit;
|
|
138
|
-
children:
|
|
154
|
+
children: ReactNode;
|
|
139
155
|
}) {
|
|
140
156
|
return <Link to={hit.url}>{children}</Link>;
|
|
141
157
|
}
|
|
@@ -163,14 +179,7 @@ function useSearchParameters({
|
|
|
163
179
|
contextualSearch,
|
|
164
180
|
...props
|
|
165
181
|
}: DocSearchProps): DocSearchProps['searchParameters'] {
|
|
166
|
-
|
|
167
|
-
const normalize = (f: FacetFilters): FacetFilters =>
|
|
168
|
-
typeof f === 'string' ? [f] : f;
|
|
169
|
-
return [...normalize(f1), ...normalize(f2)];
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
const contextualSearchFacetFilters =
|
|
173
|
-
useAlgoliaContextualFacetFilters() as FacetFilters;
|
|
182
|
+
const contextualSearchFacetFilters = useAlgoliaContextualFacetFilters();
|
|
174
183
|
|
|
175
184
|
const configFacetFilters: FacetFilters =
|
|
176
185
|
props.searchParameters?.facetFilters ?? [];
|
|
@@ -188,20 +197,22 @@ function useSearchParameters({
|
|
|
188
197
|
};
|
|
189
198
|
}
|
|
190
199
|
|
|
191
|
-
function DocSearch({externalUrlRegex, ...props}:
|
|
200
|
+
function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) {
|
|
192
201
|
const navigator = useNavigator({externalUrlRegex});
|
|
193
202
|
const searchParameters = useSearchParameters({...props});
|
|
194
203
|
const transformItems = useTransformItems(props);
|
|
195
204
|
const transformSearchClient = useTransformSearchClient();
|
|
196
205
|
|
|
197
206
|
const searchContainer = useRef<HTMLDivElement | null>(null);
|
|
198
|
-
|
|
199
|
-
const searchButtonRef = useRef<HTMLButtonElement>(null as any);
|
|
207
|
+
const searchButtonRef = useRef<HTMLButtonElement | null>(null);
|
|
200
208
|
const [isOpen, setIsOpen] = useState(false);
|
|
201
209
|
const [initialQuery, setInitialQuery] = useState<string | undefined>(
|
|
202
210
|
undefined,
|
|
203
211
|
);
|
|
204
212
|
|
|
213
|
+
const {isAskAiActive, currentPlaceholder, onAskAiToggle, extraAskAiProps} =
|
|
214
|
+
useAlgoliaAskAi(props);
|
|
215
|
+
|
|
205
216
|
const prepareSearchContainer = useCallback(() => {
|
|
206
217
|
if (!searchContainer.current) {
|
|
207
218
|
const divElement = document.createElement('div');
|
|
@@ -219,7 +230,8 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) {
|
|
|
219
230
|
setIsOpen(false);
|
|
220
231
|
searchButtonRef.current?.focus();
|
|
221
232
|
setInitialQuery(undefined);
|
|
222
|
-
|
|
233
|
+
onAskAiToggle(false);
|
|
234
|
+
}, [onAskAiToggle]);
|
|
223
235
|
|
|
224
236
|
const handleInput = useCallback(
|
|
225
237
|
(event: KeyboardEvent) => {
|
|
@@ -243,7 +255,13 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) {
|
|
|
243
255
|
onClose: closeModal,
|
|
244
256
|
onInput: handleInput,
|
|
245
257
|
searchButtonRef,
|
|
246
|
-
|
|
258
|
+
isAskAiActive: isAskAiActive ?? false,
|
|
259
|
+
onAskAiToggle: onAskAiToggle ?? (() => {}),
|
|
260
|
+
} satisfies UseDocSearchKeyboardEventsProps & {
|
|
261
|
+
// TODO Docusaurus v4: cleanup after we drop support for DocSearch v3
|
|
262
|
+
isAskAiActive: boolean;
|
|
263
|
+
onAskAiToggle: (askAiToggle: boolean) => void;
|
|
264
|
+
} as UseDocSearchKeyboardEventsProps);
|
|
247
265
|
|
|
248
266
|
return (
|
|
249
267
|
<>
|
|
@@ -269,8 +287,6 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) {
|
|
|
269
287
|
|
|
270
288
|
{isOpen &&
|
|
271
289
|
DocSearchModal &&
|
|
272
|
-
// TODO need to fix this React Compiler lint error
|
|
273
|
-
// eslint-disable-next-line react-compiler/react-compiler
|
|
274
290
|
searchContainer.current &&
|
|
275
291
|
createPortal(
|
|
276
292
|
<DocSearchModal
|
|
@@ -284,13 +300,12 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) {
|
|
|
284
300
|
{...(props.searchPagePath && {
|
|
285
301
|
resultsFooterComponent,
|
|
286
302
|
})}
|
|
287
|
-
placeholder={
|
|
303
|
+
placeholder={currentPlaceholder}
|
|
288
304
|
{...props}
|
|
289
305
|
translations={props.translations?.modal ?? translations.modal}
|
|
290
306
|
searchParameters={searchParameters}
|
|
307
|
+
{...extraAskAiProps}
|
|
291
308
|
/>,
|
|
292
|
-
// TODO need to fix this React Compiler lint error
|
|
293
|
-
// eslint-disable-next-line react-compiler/react-compiler
|
|
294
309
|
searchContainer.current,
|
|
295
310
|
)}
|
|
296
311
|
</>
|
|
@@ -299,5 +314,7 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) {
|
|
|
299
314
|
|
|
300
315
|
export default function SearchBar(): ReactNode {
|
|
301
316
|
const {siteConfig} = useDocusaurusContext();
|
|
302
|
-
return
|
|
317
|
+
return (
|
|
318
|
+
<DocSearch {...(siteConfig.themeConfig.algolia as DocSearchV4Props)} />
|
|
319
|
+
);
|
|
303
320
|
}
|
|
@@ -139,6 +139,65 @@ function SearchVersionSelectList({
|
|
|
139
139
|
);
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
+
function AlgoliaLogo(): ReactNode {
|
|
143
|
+
return (
|
|
144
|
+
<svg
|
|
145
|
+
width="80"
|
|
146
|
+
height="24"
|
|
147
|
+
aria-label="Algolia"
|
|
148
|
+
role="img"
|
|
149
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
150
|
+
viewBox="0 0 2196.2 500"
|
|
151
|
+
style={{maxWidth: '150px'}}>
|
|
152
|
+
<defs>
|
|
153
|
+
{/* eslint-disable-next-line @docusaurus/no-untranslated-text */}
|
|
154
|
+
<style>{`.cls-1,.cls-2{fill:#003dff}.cls-2{fill-rule:evenodd}`}</style>
|
|
155
|
+
</defs>
|
|
156
|
+
<path
|
|
157
|
+
className="cls-2"
|
|
158
|
+
d="M1070.38,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"
|
|
159
|
+
/>
|
|
160
|
+
<rect
|
|
161
|
+
className="cls-1"
|
|
162
|
+
x="1845.88"
|
|
163
|
+
y="104.73"
|
|
164
|
+
width="62.58"
|
|
165
|
+
height="277.9"
|
|
166
|
+
rx="5.9"
|
|
167
|
+
ry="5.9"
|
|
168
|
+
/>
|
|
169
|
+
<path
|
|
170
|
+
className="cls-2"
|
|
171
|
+
d="M1851.78,71.38h50.77c3.26,0,5.9-2.64,5.9-5.9V5.9c0-3.62-3.24-6.39-6.82-5.83l-50.77,7.95c-2.87,.45-4.99,2.92-4.99,5.83v51.62c0,3.26,2.64,5.9,5.9,5.9Z"
|
|
172
|
+
/>
|
|
173
|
+
<path
|
|
174
|
+
className="cls-2"
|
|
175
|
+
d="M1764.03,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"
|
|
176
|
+
/>
|
|
177
|
+
<path
|
|
178
|
+
className="cls-2"
|
|
179
|
+
d="M1631.95,142.72c-11.14-12.25-24.83-21.65-40.78-28.31-15.92-6.53-33.26-9.85-52.07-9.85-18.78,0-36.15,3.17-51.92,9.85-15.59,6.66-29.29,16.05-40.76,28.31-11.47,12.23-20.38,26.87-26.76,44.03-6.38,17.17-9.24,37.37-9.24,58.36,0,20.99,3.19,36.87,9.55,54.21,6.38,17.32,15.14,32.11,26.45,44.36,11.29,12.23,24.83,21.62,40.6,28.46,15.77,6.83,40.12,10.33,52.4,10.48,12.25,0,36.78-3.82,52.7-10.48,15.92-6.68,29.46-16.23,40.78-28.46,11.29-12.25,20.05-27.04,26.25-44.36,6.22-17.34,9.24-33.22,9.24-54.21,0-20.99-3.34-41.19-10.03-58.36-6.38-17.17-15.14-31.8-26.43-44.03Zm-44.43,163.75c-11.47,15.75-27.56,23.7-48.09,23.7-20.55,0-36.63-7.8-48.1-23.7-11.47-15.75-17.21-34.01-17.21-61.2,0-26.89,5.59-49.14,17.06-64.87,11.45-15.75,27.54-23.52,48.07-23.52,20.55,0,36.63,7.78,48.09,23.52,11.47,15.57,17.36,37.98,17.36,64.87,0,27.19-5.72,45.3-17.19,61.2Z"
|
|
180
|
+
/>
|
|
181
|
+
<path
|
|
182
|
+
className="cls-2"
|
|
183
|
+
d="M894.42,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"
|
|
184
|
+
/>
|
|
185
|
+
<path
|
|
186
|
+
className="cls-2"
|
|
187
|
+
d="M2133.97,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"
|
|
188
|
+
/>
|
|
189
|
+
<path
|
|
190
|
+
className="cls-2"
|
|
191
|
+
d="M1314.05,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-11.79,18.34-19.6,39.64-22.11,62.59-.58,5.3-.88,10.68-.88,16.14s.31,11.15,.93,16.59c4.28,38.09,23.14,71.61,50.66,94.52,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47h0c17.99,0,34.61-5.93,48.16-15.97,16.29-11.58,28.88-28.54,34.48-47.75v50.26h-.11v11.08c0,21.84-5.71,38.27-17.34,49.36-11.61,11.08-31.04,16.63-58.25,16.63-11.12,0-28.79-.59-46.6-2.41-2.83-.29-5.46,1.5-6.27,4.22l-12.78,43.11c-1.02,3.46,1.27,7.02,4.83,7.53,21.52,3.08,42.52,4.68,54.65,4.68,48.91,0,85.16-10.75,108.89-32.21,21.48-19.41,33.15-48.89,35.2-88.52V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,64.1s.65,139.13,0,143.36c-12.08,9.77-27.11,13.59-43.49,14.7-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-1.32,0-2.63-.03-3.94-.1-40.41-2.11-74.52-37.26-74.52-79.38,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33Z"
|
|
192
|
+
/>
|
|
193
|
+
<path
|
|
194
|
+
className="cls-1"
|
|
195
|
+
d="M249.83,0C113.3,0,2,110.09,.03,246.16c-2,138.19,110.12,252.7,248.33,253.5,42.68,.25,83.79-10.19,120.3-30.03,3.56-1.93,4.11-6.83,1.08-9.51l-23.38-20.72c-4.75-4.21-11.51-5.4-17.36-2.92-25.48,10.84-53.17,16.38-81.71,16.03-111.68-1.37-201.91-94.29-200.13-205.96,1.76-110.26,92-199.41,202.67-199.41h202.69V407.41l-115-102.18c-3.72-3.31-9.42-2.66-12.42,1.31-18.46,24.44-48.53,39.64-81.93,37.34-46.33-3.2-83.87-40.5-87.34-86.81-4.15-55.24,39.63-101.52,94-101.52,49.18,0,89.68,37.85,93.91,85.95,.38,4.28,2.31,8.27,5.52,11.12l29.95,26.55c3.4,3.01,8.79,1.17,9.63-3.3,2.16-11.55,2.92-23.58,2.07-35.92-4.82-70.34-61.8-126.93-132.17-131.26-80.68-4.97-148.13,58.14-150.27,137.25-2.09,77.1,61.08,143.56,138.19,145.26,32.19,.71,62.03-9.41,86.14-26.95l150.26,133.2c6.44,5.71,16.61,1.14,16.61-7.47V9.48C499.66,4.25,495.42,0,490.18,0H249.83Z"
|
|
196
|
+
/>
|
|
197
|
+
</svg>
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
|
|
142
201
|
type ResultDispatcherState = {
|
|
143
202
|
items: {
|
|
144
203
|
title: string;
|
|
@@ -435,36 +494,23 @@ function SearchPageContent(): ReactNode {
|
|
|
435
494
|
documentsFoundPlural(searchResultState.totalResults)}
|
|
436
495
|
</div>
|
|
437
496
|
|
|
438
|
-
<div
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
497
|
+
<div className={clsx('col', 'col--4', styles.searchLogoColumn)}>
|
|
498
|
+
<span>
|
|
499
|
+
{translate({
|
|
500
|
+
id: 'theme.SearchPage.algoliaLabel',
|
|
501
|
+
message: 'Powered by',
|
|
502
|
+
description:
|
|
503
|
+
'The text explain that the search powered by Algolia',
|
|
504
|
+
})}
|
|
505
|
+
</span>
|
|
445
506
|
<Link
|
|
446
507
|
to="https://www.algolia.com/"
|
|
447
508
|
aria-label={translate({
|
|
448
509
|
id: 'theme.SearchPage.algoliaLabel',
|
|
449
|
-
message: '
|
|
450
|
-
description: 'The
|
|
510
|
+
message: 'Powered by Algolia',
|
|
511
|
+
description: 'The description label for Algolia mention',
|
|
451
512
|
})}>
|
|
452
|
-
<
|
|
453
|
-
<g fill="none">
|
|
454
|
-
<path
|
|
455
|
-
className={styles.algoliaLogoPathFill}
|
|
456
|
-
d="M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"
|
|
457
|
-
/>
|
|
458
|
-
<path
|
|
459
|
-
fill="#5468FF"
|
|
460
|
-
d="M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"
|
|
461
|
-
/>
|
|
462
|
-
<path
|
|
463
|
-
fill="white"
|
|
464
|
-
d="M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"
|
|
465
|
-
/>
|
|
466
|
-
</g>
|
|
467
|
-
</svg>
|
|
513
|
+
<AlgoliaLogo />
|
|
468
514
|
</Link>
|
|
469
515
|
</div>
|
|
470
516
|
</div>
|
|
@@ -33,12 +33,20 @@
|
|
|
33
33
|
font-weight: bold;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
.
|
|
37
|
-
|
|
36
|
+
.searchLogoColumn {
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
gap: 0.5rem;
|
|
40
|
+
justify-content: flex-end;
|
|
38
41
|
}
|
|
39
42
|
|
|
40
|
-
.
|
|
41
|
-
|
|
43
|
+
.searchLogoColumn a {
|
|
44
|
+
display: flex;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.searchLogoColumn span {
|
|
48
|
+
color: var(--docsearch-muted-color);
|
|
49
|
+
font-weight: normal;
|
|
42
50
|
}
|
|
43
51
|
|
|
44
52
|
.searchResultItem {
|