@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.
@@ -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, useDocSearchKeyboardEvents} from '@docsearch/react';
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') as Promise<
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: React.ReactNode;
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
- function mergeFacetFilters(f1: FacetFilters, f2: FacetFilters): FacetFilters {
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}: DocSearchProps) {
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
- // TODO remove "as any" after React 19 upgrade
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={translations.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 <DocSearch {...(siteConfig.themeConfig.algolia as DocSearchProps)} />;
317
+ return (
318
+ <DocSearch {...(siteConfig.themeConfig.algolia as DocSearchV4Props)} />
319
+ );
303
320
  }
@@ -19,3 +19,7 @@
19
19
  .DocSearch-Container {
20
20
  z-index: calc(var(--ifm-z-index-fixed) + 1);
21
21
  }
22
+
23
+ .DocSearch-Button-Key {
24
+ padding: 0;
25
+ }
@@ -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
- className={clsx(
440
- 'col',
441
- 'col--4',
442
- 'text--right',
443
- styles.searchLogoColumn,
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: 'Search by Algolia',
450
- description: 'The ARIA label for Algolia mention',
510
+ message: 'Powered by Algolia',
511
+ description: 'The description label for Algolia mention',
451
512
  })}>
452
- <svg viewBox="0 0 168 24" className={styles.algoliaLogo}>
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
- .algoliaLogo {
37
- max-width: 150px;
36
+ .searchLogoColumn {
37
+ display: flex;
38
+ align-items: center;
39
+ gap: 0.5rem;
40
+ justify-content: flex-end;
38
41
  }
39
42
 
40
- .algoliaLogoPathFill {
41
- fill: var(--ifm-font-color-base);
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 {