@docusaurus/theme-search-algolia 3.4.0 → 3.5.1

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.
@@ -4,10 +4,18 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import { useContextualSearchFilters } from '@docusaurus/theme-common';
8
- // Translate search-engine agnostic search filters to Algolia search filters
7
+ import { DEFAULT_SEARCH_TAG } from '@docusaurus/theme-common/internal';
8
+ import { useDocsContextualSearchTags } from '@docusaurus/plugin-content-docs/client';
9
+ import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
10
+ function useSearchTags() {
11
+ // only docs have custom search tags per version
12
+ const docsTags = useDocsContextualSearchTags();
13
+ return [DEFAULT_SEARCH_TAG, ...docsTags];
14
+ }
15
+ // Translate search-engine agnostic search tags to Algolia search filters
9
16
  export function useAlgoliaContextualFacetFilters() {
10
- const { locale, tags } = useContextualSearchFilters();
17
+ const locale = useDocusaurusContext().i18n.currentLocale;
18
+ const tags = useSearchTags();
11
19
  // Seems safe to convert locale->language, see AlgoliaSearchMetadata comment
12
20
  const languageFilter = `language:${locale}`;
13
21
  const tagsFilter = tags.map((tag) => `docusaurus_tag:${tag}`);
@@ -1,3 +1,2 @@
1
- /// <reference path="../../src/theme-search-algolia.d.ts" />
2
1
  import type { ThemeConfig } from '@docusaurus/theme-search-algolia';
3
2
  export declare function useAlgoliaThemeConfig(): ThemeConfig;
package/lib/index.js CHANGED
@@ -7,6 +7,7 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.validateThemeConfig = void 0;
10
+ exports.default = themeSearchAlgolia;
10
11
  const utils_1 = require("@docusaurus/utils");
11
12
  const theme_translations_1 = require("@docusaurus/theme-translations");
12
13
  const opensearch_1 = require("./opensearch");
@@ -49,6 +50,5 @@ function themeSearchAlgolia(context) {
49
50
  },
50
51
  };
51
52
  }
52
- exports.default = themeSearchAlgolia;
53
53
  var validateThemeConfig_1 = require("./validateThemeConfig");
54
54
  Object.defineProperty(exports, "validateThemeConfig", { enumerable: true, get: function () { return validateThemeConfig_1.validateThemeConfig; } });
package/lib/opensearch.js CHANGED
@@ -6,7 +6,9 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.createOpenSearchHeadTags = exports.createOpenSearchFile = exports.shouldCreateOpenSearchFile = void 0;
9
+ exports.shouldCreateOpenSearchFile = shouldCreateOpenSearchFile;
10
+ exports.createOpenSearchFile = createOpenSearchFile;
11
+ exports.createOpenSearchHeadTags = createOpenSearchHeadTags;
10
12
  const tslib_1 = require("tslib");
11
13
  const path_1 = tslib_1.__importDefault(require("path"));
12
14
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
@@ -25,7 +27,6 @@ function shouldCreateOpenSearchFile({ context, }) {
25
27
  const { algolia: { searchPagePath }, } = themeConfig;
26
28
  return !!searchPagePath && router !== 'hash';
27
29
  }
28
- exports.shouldCreateOpenSearchFile = shouldCreateOpenSearchFile;
29
30
  function createOpenSearchFileContent({ context, searchPagePath, }) {
30
31
  const { baseUrl, siteConfig: { title, url, favicon }, } = context;
31
32
  const siteUrl = (0, utils_1.normalizeUrl)([url, baseUrl]);
@@ -50,7 +51,6 @@ async function createOpenSearchFile({ context, }) {
50
51
  throw new Error('Generating OpenSearch file failed.', { cause: err });
51
52
  }
52
53
  }
53
- exports.createOpenSearchFile = createOpenSearchFile;
54
54
  function createOpenSearchHeadTags({ context, }) {
55
55
  const { baseUrl, siteConfig: { title }, } = context;
56
56
  return {
@@ -63,4 +63,3 @@ function createOpenSearchHeadTags({ context, }) {
63
63
  },
64
64
  };
65
65
  }
66
- exports.createOpenSearchHeadTags = createOpenSearchHeadTags;
@@ -4,5 +4,4 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- /// <reference types="react" />
8
7
  export default function SearchBar(): JSX.Element;
@@ -90,6 +90,10 @@ function DocSearch({contextualSearch, externalUrlRegex, ...props}) {
90
90
  }, []);
91
91
  const handleInput = useCallback(
92
92
  (event) => {
93
+ if (event.key === 'f' && (event.metaKey || event.ctrlKey)) {
94
+ // ignore browser's ctrl+f
95
+ return;
96
+ }
93
97
  // prevents duplicate key insertion in the modal input
94
98
  event.preventDefault();
95
99
  setInitialQuery(event.key);
@@ -4,5 +4,4 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- /// <reference types="react" />
8
7
  export default function SearchPage(): JSX.Element;
@@ -175,6 +175,8 @@ function SearchPageContent() {
175
175
  : [];
176
176
  const algoliaClient = algoliaSearch(appId, apiKey);
177
177
  const algoliaHelper = algoliaSearchHelper(algoliaClient, indexName, {
178
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
179
+ // @ts-ignore: why errors happens after upgrading to TS 5.5 ?
178
180
  hitsPerPage: 15,
179
181
  advancedSyntax: true,
180
182
  disjunctiveFacets,
@@ -6,7 +6,8 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.validateThemeConfig = exports.Schema = exports.DEFAULT_CONFIG = void 0;
9
+ exports.Schema = exports.DEFAULT_CONFIG = void 0;
10
+ exports.validateThemeConfig = validateThemeConfig;
10
11
  const utils_1 = require("@docusaurus/utils");
11
12
  const utils_validation_1 = require("@docusaurus/utils-validation");
12
13
  exports.DEFAULT_CONFIG = {
@@ -54,4 +55,3 @@ exports.Schema = utils_validation_1.Joi.object({
54
55
  function validateThemeConfig({ validate, themeConfig, }) {
55
56
  return validate(exports.Schema, themeConfig);
56
57
  }
57
- exports.validateThemeConfig = validateThemeConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/theme-search-algolia",
3
- "version": "3.4.0",
3
+ "version": "3.5.1",
4
4
  "description": "Algolia search component for Docusaurus.",
5
5
  "main": "lib/index.js",
6
6
  "sideEffects": [
@@ -34,13 +34,13 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@docsearch/react": "^3.5.2",
37
- "@docusaurus/core": "3.4.0",
38
- "@docusaurus/logger": "3.4.0",
39
- "@docusaurus/plugin-content-docs": "3.4.0",
40
- "@docusaurus/theme-common": "3.4.0",
41
- "@docusaurus/theme-translations": "3.4.0",
42
- "@docusaurus/utils": "3.4.0",
43
- "@docusaurus/utils-validation": "3.4.0",
37
+ "@docusaurus/core": "3.5.1",
38
+ "@docusaurus/logger": "3.5.1",
39
+ "@docusaurus/plugin-content-docs": "3.5.1",
40
+ "@docusaurus/theme-common": "3.5.1",
41
+ "@docusaurus/theme-translations": "3.5.1",
42
+ "@docusaurus/utils": "3.5.1",
43
+ "@docusaurus/utils-validation": "3.5.1",
44
44
  "algoliasearch": "^4.18.0",
45
45
  "algoliasearch-helper": "^3.13.3",
46
46
  "clsx": "^2.0.0",
@@ -51,7 +51,7 @@
51
51
  "utility-types": "^3.10.0"
52
52
  },
53
53
  "devDependencies": {
54
- "@docusaurus/module-type-aliases": "3.4.0"
54
+ "@docusaurus/module-type-aliases": "3.5.1"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "react": "^18.0.0",
@@ -60,5 +60,5 @@
60
60
  "engines": {
61
61
  "node": ">=18.0"
62
62
  },
63
- "gitHead": "49e9a2143274a8dd795659b417b470bc42abbd6e"
63
+ "gitHead": "5acbc57bd62f3f808ef72007cd67d4c410d13829"
64
64
  }
@@ -5,11 +5,20 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import {useContextualSearchFilters} from '@docusaurus/theme-common';
8
+ import {DEFAULT_SEARCH_TAG} from '@docusaurus/theme-common/internal';
9
+ import {useDocsContextualSearchTags} from '@docusaurus/plugin-content-docs/client';
10
+ import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
9
11
 
10
- // Translate search-engine agnostic search filters to Algolia search filters
12
+ function useSearchTags() {
13
+ // only docs have custom search tags per version
14
+ const docsTags = useDocsContextualSearchTags();
15
+ return [DEFAULT_SEARCH_TAG, ...docsTags];
16
+ }
17
+
18
+ // Translate search-engine agnostic search tags to Algolia search filters
11
19
  export function useAlgoliaContextualFacetFilters(): [string, string[]] {
12
- const {locale, tags} = useContextualSearchFilters();
20
+ const locale = useDocusaurusContext().i18n.currentLocale;
21
+ const tags = useSearchTags();
13
22
 
14
23
  // Seems safe to convert locale->language, see AlgoliaSearchMetadata comment
15
24
  const languageFilter = `language:${locale}`;
@@ -156,6 +156,10 @@ function DocSearch({
156
156
 
157
157
  const handleInput = useCallback(
158
158
  (event: KeyboardEvent) => {
159
+ if (event.key === 'f' && (event.metaKey || event.ctrlKey)) {
160
+ // ignore browser's ctrl+f
161
+ return;
162
+ }
159
163
  // prevents duplicate key insertion in the modal input
160
164
  event.preventDefault();
161
165
  setInitialQuery(event.key);
@@ -221,6 +221,8 @@ function SearchPageContent(): JSX.Element {
221
221
 
222
222
  const algoliaClient = algoliaSearch(appId, apiKey);
223
223
  const algoliaHelper = algoliaSearchHelper(algoliaClient, indexName, {
224
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
225
+ // @ts-ignore: why errors happens after upgrading to TS 5.5 ?
224
226
  hitsPerPage: 15,
225
227
  advancedSyntax: true,
226
228
  disjunctiveFacets,