@hanzo/docs-core 16.5.0 → 16.5.3
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/LICENSE +21 -0
- package/README.md +3 -3
- package/dist/{advanced-BRT5Ij43.js → advanced-BH0syJ-M.js} +3 -4
- package/dist/{algolia-CQPXCnjV.js → algolia-C7Crg8-5.js} +2 -3
- package/dist/breadcrumb.d.ts +2 -3
- package/dist/breadcrumb.js +3 -4
- package/dist/{chunk-B-ezknvj.js → chunk-CaR5F9JI.js} +3 -3
- package/dist/content/github.d.ts +1 -2
- package/dist/content/github.js +1 -2
- package/dist/content/index.d.ts +3 -4
- package/dist/content/index.js +1 -2
- package/dist/content/mdx/preset-bundler.d.ts +9 -10
- package/dist/content/mdx/preset-bundler.js +2 -3
- package/dist/content/mdx/preset-runtime.d.ts +9 -10
- package/dist/content/mdx/preset-runtime.js +2 -3
- package/dist/content/toc.d.ts +1 -3
- package/dist/content/toc.js +4 -5
- package/dist/create-i18n-Cv3Cocbs.d.ts +51 -0
- package/dist/{definitions-DuxDer_c.d.ts → definitions-DSNTbAwC.d.ts} +1 -2
- package/dist/dynamic-link.d.ts +3 -4
- package/dist/dynamic-link.js +1 -3
- package/dist/{fetch-B5e9CFfN.js → fetch-HotVeLLF.js} +1 -2
- package/dist/framework/index.d.ts +5 -6
- package/dist/framework/index.js +18 -19
- package/dist/framework/next.d.ts +3 -4
- package/dist/framework/next.js +1 -2
- package/dist/framework/react-router.d.ts +3 -4
- package/dist/framework/react-router.js +1 -2
- package/dist/framework/tanstack.d.ts +3 -4
- package/dist/framework/tanstack.js +1 -2
- package/dist/framework/waku.d.ts +3 -4
- package/dist/framework/waku.js +1 -2
- package/dist/hast-utils-BmGqqmvo.js +15 -0
- package/dist/highlight/client.d.ts +2 -4
- package/dist/highlight/client.js +7 -13
- package/dist/highlight/config.d.ts +15 -0
- package/dist/highlight/config.js +18 -0
- package/dist/highlight/core/client.d.ts +31 -0
- package/dist/highlight/core/client.js +68 -0
- package/dist/highlight/core/index.d.ts +27 -0
- package/dist/highlight/core/index.js +69 -0
- package/dist/highlight/index.d.ts +34 -2
- package/dist/highlight/index.js +57 -2
- package/dist/i18n/index.d.ts +39 -1
- package/dist/i18n/index.js +1 -2
- package/dist/i18n/middleware.d.ts +2 -3
- package/dist/i18n/middleware.js +1 -2
- package/dist/{icon-BWwSDabM.js → icon-OtPFhyk1.js} +1 -2
- package/dist/link.d.ts +3 -4
- package/dist/link.js +1 -2
- package/dist/{mdast-utils-mc9-X-PK.js → mdast-utils-gJMY143g.js} +1 -2
- package/dist/mdx-plugins/codeblock-utils.d.ts +35 -1
- package/dist/mdx-plugins/codeblock-utils.js +1 -2
- package/dist/mdx-plugins/index.d.ts +18 -15
- package/dist/mdx-plugins/index.js +7 -5
- package/dist/mdx-plugins/rehype-code.core.d.ts +38 -0
- package/dist/mdx-plugins/rehype-code.core.js +104 -0
- package/dist/mdx-plugins/rehype-code.d.ts +18 -2
- package/dist/mdx-plugins/rehype-code.js +24 -3
- package/dist/mdx-plugins/rehype-toc.d.ts +16 -1
- package/dist/mdx-plugins/rehype-toc.js +127 -1
- package/dist/mdx-plugins/remark-admonition.d.ts +20 -1
- package/dist/mdx-plugins/remark-admonition.js +2 -3
- package/dist/mdx-plugins/remark-code-tab.d.ts +30 -1
- package/dist/mdx-plugins/remark-code-tab.js +4 -5
- package/dist/mdx-plugins/remark-directive-admonition.d.ts +34 -1
- package/dist/mdx-plugins/remark-directive-admonition.js +1 -2
- package/dist/mdx-plugins/remark-feedback-block.d.ts +51 -0
- package/dist/mdx-plugins/remark-feedback-block.js +47 -0
- package/dist/mdx-plugins/remark-gfm.d.ts +2 -2
- package/dist/mdx-plugins/remark-heading.d.ts +35 -1
- package/dist/mdx-plugins/remark-heading.js +2 -3
- package/dist/mdx-plugins/remark-image.d.ts +63 -1
- package/dist/mdx-plugins/remark-image.js +1 -2
- package/dist/mdx-plugins/remark-mdx-files.d.ts +55 -2
- package/dist/mdx-plugins/remark-mdx-files.js +103 -13
- package/dist/mdx-plugins/remark-mdx-mermaid.d.ts +15 -1
- package/dist/mdx-plugins/remark-mdx-mermaid.js +1 -2
- package/dist/mdx-plugins/remark-npm.d.ts +34 -1
- package/dist/mdx-plugins/remark-npm.js +1 -2
- package/dist/mdx-plugins/remark-steps.d.ts +26 -1
- package/dist/mdx-plugins/remark-steps.js +1 -2
- package/dist/mdx-plugins/remark-structure.d.ts +75 -1
- package/dist/mdx-plugins/remark-structure.js +7 -8
- package/dist/{mixedbread-DlByNYSd.js → mixedbread-Bx9drx9S.js} +6 -5
- package/dist/negotiation/index.d.ts +1 -2
- package/dist/negotiation/index.js +1 -2
- package/dist/{normalize-url-ChLsV26G.js → normalize-url-DUHbcuVM.js} +1 -2
- package/dist/{orama-cloud-DH3g37zc.js → orama-cloud-ByznDyOk.js} +6 -7
- package/dist/orama-cloud-legacy-BbgJnf5f.js +81 -0
- package/dist/page-tree/index.d.ts +3 -45
- package/dist/page-tree/index.js +1 -1
- package/dist/{index-2U6Tl4--.d.ts → path-B77y3W0_.d.ts} +111 -98
- package/dist/{path-DHIjrDBP.js → path-D0Bwm6Fs.js} +2 -3
- package/dist/{remove-undefined-Cfs4o_mM.js → remove-undefined-CJm9cyrC.js} +1 -2
- package/dist/search/algolia.d.ts +66 -2
- package/dist/search/algolia.js +1 -2
- package/dist/search/client.d.ts +30 -7
- package/dist/search/client.js +27 -22
- package/dist/search/index.d.ts +1 -2
- package/dist/search/index.js +41 -1
- package/dist/search/orama-cloud-legacy.d.ts +77 -0
- package/dist/search/orama-cloud-legacy.js +49 -0
- package/dist/search/orama-cloud.d.ts +5 -9
- package/dist/search/orama-cloud.js +1 -2
- package/dist/search/server.d.ts +87 -4
- package/dist/search/server.js +7 -8
- package/dist/source/client/index.d.ts +13 -11
- package/dist/source/client/index.js +22 -13
- package/dist/source/index.d.ts +5 -3
- package/dist/source/index.js +428 -333
- package/dist/source/plugins/lucide-icons.d.ts +5 -4
- package/dist/source/plugins/lucide-icons.js +2 -3
- package/dist/source/plugins/slugs.d.ts +24 -2
- package/dist/source/plugins/slugs.js +2 -3
- package/dist/source/plugins/status-badges.d.ts +52 -0
- package/dist/source/plugins/status-badges.js +54 -0
- package/dist/source/schema.d.ts +1 -3
- package/dist/source/schema.js +1 -2
- package/dist/{static-Dq8pA8Ay.js → static-DTxK4eHk.js} +5 -6
- package/dist/toc.d.ts +1 -2
- package/dist/toc.js +1 -2
- package/dist/{rehype-code-sM9Tq-r7.js → transformer-icon-BYedaeE8.js} +1 -96
- package/dist/transformer-icon-D7-6aFzt.d.ts +18 -0
- package/dist/types-BSnJn7kF.d.ts +6 -0
- package/dist/{util-CK2ykiif.d.ts → util-C60LmklF.d.ts} +1 -2
- package/dist/{util-s9piKHsk.js → util-De0ALHOx.js} +1 -2
- package/dist/utils/use-media-query.d.ts +1 -2
- package/dist/utils/use-media-query.js +1 -2
- package/dist/utils/use-on-change.d.ts +1 -2
- package/dist/utils/use-on-change.js +1 -2
- package/dist/{utils-DUvi2WkD.js → utils-Bc53B3CJ.js} +8 -7
- package/dist/utils-IgHyYnrz.d.ts +45 -0
- package/package.json +68 -38
- package/dist/advanced-BRT5Ij43.js.map +0 -1
- package/dist/algolia-CQPXCnjV.js.map +0 -1
- package/dist/algolia-Cc1y6qWl.d.ts +0 -68
- package/dist/algolia-Cc1y6qWl.d.ts.map +0 -1
- package/dist/breadcrumb.d.ts.map +0 -1
- package/dist/breadcrumb.js.map +0 -1
- package/dist/codeblock-utils-DDnYb8gi.d.ts +0 -37
- package/dist/codeblock-utils-DDnYb8gi.d.ts.map +0 -1
- package/dist/content/github.d.ts.map +0 -1
- package/dist/content/github.js.map +0 -1
- package/dist/content/index.d.ts.map +0 -1
- package/dist/content/index.js.map +0 -1
- package/dist/content/mdx/preset-bundler.d.ts.map +0 -1
- package/dist/content/mdx/preset-bundler.js.map +0 -1
- package/dist/content/mdx/preset-runtime.d.ts.map +0 -1
- package/dist/content/mdx/preset-runtime.js.map +0 -1
- package/dist/content/toc.d.ts.map +0 -1
- package/dist/content/toc.js.map +0 -1
- package/dist/definitions-DuxDer_c.d.ts.map +0 -1
- package/dist/dynamic-link.d.ts.map +0 -1
- package/dist/dynamic-link.js.map +0 -1
- package/dist/fetch-B5e9CFfN.js.map +0 -1
- package/dist/framework/index.d.ts.map +0 -1
- package/dist/framework/index.js.map +0 -1
- package/dist/framework/next.d.ts.map +0 -1
- package/dist/framework/next.js.map +0 -1
- package/dist/framework/react-router.d.ts.map +0 -1
- package/dist/framework/react-router.js.map +0 -1
- package/dist/framework/tanstack.d.ts.map +0 -1
- package/dist/framework/tanstack.js.map +0 -1
- package/dist/framework/waku.d.ts.map +0 -1
- package/dist/framework/waku.js.map +0 -1
- package/dist/highlight/client.d.ts.map +0 -1
- package/dist/highlight/client.js.map +0 -1
- package/dist/i18n/index.js.map +0 -1
- package/dist/i18n/middleware.d.ts.map +0 -1
- package/dist/i18n/middleware.js.map +0 -1
- package/dist/icon-BWwSDabM.js.map +0 -1
- package/dist/index-2U6Tl4--.d.ts.map +0 -1
- package/dist/index-Bw-DCOra.d.ts +0 -41
- package/dist/index-Bw-DCOra.d.ts.map +0 -1
- package/dist/link.d.ts.map +0 -1
- package/dist/link.js.map +0 -1
- package/dist/mdast-utils-mc9-X-PK.js.map +0 -1
- package/dist/mdx-plugins/codeblock-utils.js.map +0 -1
- package/dist/mdx-plugins/remark-admonition.js.map +0 -1
- package/dist/mdx-plugins/remark-code-tab.js.map +0 -1
- package/dist/mdx-plugins/remark-directive-admonition.js.map +0 -1
- package/dist/mdx-plugins/remark-heading.js.map +0 -1
- package/dist/mdx-plugins/remark-image.js.map +0 -1
- package/dist/mdx-plugins/remark-mdx-files.js.map +0 -1
- package/dist/mdx-plugins/remark-mdx-mermaid.js.map +0 -1
- package/dist/mdx-plugins/remark-npm.js.map +0 -1
- package/dist/mdx-plugins/remark-steps.js.map +0 -1
- package/dist/mdx-plugins/remark-structure.js.map +0 -1
- package/dist/mixedbread-DlByNYSd.js.map +0 -1
- package/dist/negotiation/index.d.ts.map +0 -1
- package/dist/negotiation/index.js.map +0 -1
- package/dist/normalize-url-ChLsV26G.js.map +0 -1
- package/dist/orama-cloud-DH3g37zc.js.map +0 -1
- package/dist/page-tree/index.d.ts.map +0 -1
- package/dist/path-DHIjrDBP.js.map +0 -1
- package/dist/rehype-code-sM9Tq-r7.js.map +0 -1
- package/dist/rehype-code-vVWG4-ej.d.ts +0 -58
- package/dist/rehype-code-vVWG4-ej.d.ts.map +0 -1
- package/dist/rehype-toc-DJvSyE0o.d.ts +0 -18
- package/dist/rehype-toc-DJvSyE0o.d.ts.map +0 -1
- package/dist/rehype-toc-DVwJcwvA.js +0 -143
- package/dist/rehype-toc-DVwJcwvA.js.map +0 -1
- package/dist/remark-admonition-DOwBWzsH.d.ts +0 -22
- package/dist/remark-admonition-DOwBWzsH.d.ts.map +0 -1
- package/dist/remark-code-tab-CXsYlims.d.ts +0 -32
- package/dist/remark-code-tab-CXsYlims.d.ts.map +0 -1
- package/dist/remark-directive-admonition-BCm_yiU9.d.ts +0 -36
- package/dist/remark-directive-admonition-BCm_yiU9.d.ts.map +0 -1
- package/dist/remark-gfm-CeWpMwyk.d.ts +0 -2
- package/dist/remark-heading-CXvCY0go.d.ts +0 -37
- package/dist/remark-heading-CXvCY0go.d.ts.map +0 -1
- package/dist/remark-image-CvUis4R1.d.ts +0 -65
- package/dist/remark-image-CvUis4R1.d.ts.map +0 -1
- package/dist/remark-mdx-files-DOYafA4x.d.ts +0 -42
- package/dist/remark-mdx-files-DOYafA4x.d.ts.map +0 -1
- package/dist/remark-mdx-mermaid-BdSUUiCG.d.ts +0 -17
- package/dist/remark-mdx-mermaid-BdSUUiCG.d.ts.map +0 -1
- package/dist/remark-npm-Bo08HqcQ.d.ts +0 -36
- package/dist/remark-npm-Bo08HqcQ.d.ts.map +0 -1
- package/dist/remark-steps-CHJN-rtm.d.ts +0 -28
- package/dist/remark-steps-CHJN-rtm.d.ts.map +0 -1
- package/dist/remark-structure-DGuWR82i.d.ts +0 -77
- package/dist/remark-structure-DGuWR82i.d.ts.map +0 -1
- package/dist/remove-undefined-Cfs4o_mM.js.map +0 -1
- package/dist/search/algolia.js.map +0 -1
- package/dist/search/client.d.ts.map +0 -1
- package/dist/search/client.js.map +0 -1
- package/dist/search/index.d.ts.map +0 -1
- package/dist/search/orama-cloud.d.ts.map +0 -1
- package/dist/search/orama-cloud.js.map +0 -1
- package/dist/search/server.js.map +0 -1
- package/dist/search-D6ChCLhY.js +0 -44
- package/dist/search-D6ChCLhY.js.map +0 -1
- package/dist/server-DmY4lGBs.d.ts +0 -133
- package/dist/server-DmY4lGBs.d.ts.map +0 -1
- package/dist/shiki-B5wNmyIZ.js +0 -80
- package/dist/shiki-B5wNmyIZ.js.map +0 -1
- package/dist/shiki-Dq3XIYAT.d.ts +0 -33
- package/dist/shiki-Dq3XIYAT.d.ts.map +0 -1
- package/dist/source/client/index.d.ts.map +0 -1
- package/dist/source/client/index.js.map +0 -1
- package/dist/source/index.js.map +0 -1
- package/dist/source/plugins/lucide-icons.d.ts.map +0 -1
- package/dist/source/plugins/lucide-icons.js.map +0 -1
- package/dist/source/plugins/slugs.js.map +0 -1
- package/dist/source/schema.d.ts.map +0 -1
- package/dist/source/schema.js.map +0 -1
- package/dist/static-Dq8pA8Ay.js.map +0 -1
- package/dist/toc.d.ts.map +0 -1
- package/dist/toc.js.map +0 -1
- package/dist/util-CK2ykiif.d.ts.map +0 -1
- package/dist/util-s9piKHsk.js.map +0 -1
- package/dist/utils/use-effect-event.d.ts +0 -11
- package/dist/utils/use-effect-event.d.ts.map +0 -1
- package/dist/utils/use-effect-event.js +0 -19
- package/dist/utils/use-effect-event.js.map +0 -1
- package/dist/utils/use-media-query.d.ts.map +0 -1
- package/dist/utils/use-media-query.js.map +0 -1
- package/dist/utils/use-on-change.d.ts.map +0 -1
- package/dist/utils/use-on-change.js.map +0 -1
- package/dist/utils-DUvi2WkD.js.map +0 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { a as Separator, i as Root, n as Item, t as Folder } from "./definitions-
|
|
2
|
-
import {
|
|
1
|
+
import { a as Separator, i as Root, n as Item, r as Node, t as Folder } from "./definitions-DSNTbAwC.js";
|
|
2
|
+
import { I18nConfig } from "./i18n/index.js";
|
|
3
|
+
import { SlugFn } from "./source/plugins/slugs.js";
|
|
4
|
+
import { SerializedPageTree } from "./source/client/index.js";
|
|
3
5
|
import { ReactNode } from "react";
|
|
4
6
|
|
|
5
7
|
//#region src/source/source.d.ts
|
|
6
|
-
interface Source<Config
|
|
7
|
-
files: VirtualFile<Config
|
|
8
|
+
interface Source<Config extends SourceConfig = SourceConfig> {
|
|
9
|
+
files: VirtualFile<Config>[];
|
|
8
10
|
}
|
|
9
11
|
interface SourceConfig {
|
|
10
12
|
pageData: PageData;
|
|
@@ -24,7 +26,7 @@ interface PageData {
|
|
|
24
26
|
title?: string;
|
|
25
27
|
description?: string | undefined;
|
|
26
28
|
}
|
|
27
|
-
type VirtualFile<Config
|
|
29
|
+
type VirtualFile<Config extends SourceConfig = SourceConfig> = VirtualPage<Config['pageData']> | VirtualMeta<Config['metaData']>;
|
|
28
30
|
interface BaseVirtualFile {
|
|
29
31
|
/**
|
|
30
32
|
* Virtualized path (relative to content directory)
|
|
@@ -58,31 +60,32 @@ type _ConfigUnion_<T extends Record<string, Source>> = { [K in keyof T]: T[K] ex
|
|
|
58
60
|
};
|
|
59
61
|
} : never }[keyof T];
|
|
60
62
|
declare function multiple<T extends Record<string, Source>>(sources: T): Source<_ConfigUnion_<T>>;
|
|
61
|
-
declare function source<Page
|
|
62
|
-
pages: VirtualPage<Page
|
|
63
|
-
metas: VirtualMeta<Meta
|
|
63
|
+
declare function source<Page extends PageData, Meta extends MetaData>(config: {
|
|
64
|
+
pages: VirtualPage<Page>[];
|
|
65
|
+
metas: VirtualMeta<Meta>[];
|
|
64
66
|
}): Source<{
|
|
65
|
-
pageData: Page
|
|
66
|
-
metaData: Meta
|
|
67
|
+
pageData: Page;
|
|
68
|
+
metaData: Meta;
|
|
67
69
|
}>;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
files<Page$1 extends PageData, Meta$1 extends MetaData>(fn: (files: VirtualFile<Config$1>[]) => (VirtualPage<Page$1> | VirtualMeta<Meta$1>)[]): typeof update<{
|
|
73
|
-
pageData: Page$1;
|
|
74
|
-
metaData: Meta$1;
|
|
70
|
+
interface _SourceUpdate_<Config extends SourceConfig> {
|
|
71
|
+
files: <Page extends PageData, Meta extends MetaData>(fn: (files: VirtualFile<Config>[]) => (VirtualPage<Page> | VirtualMeta<Meta>)[]) => _SourceUpdate_<{
|
|
72
|
+
pageData: Page;
|
|
73
|
+
metaData: Meta;
|
|
75
74
|
}>;
|
|
76
|
-
page<V extends PageData>(fn: (page: VirtualPage<Config
|
|
75
|
+
page: <V extends PageData>(fn: (page: VirtualPage<Config['pageData']>) => VirtualPage<V>) => _SourceUpdate_<{
|
|
77
76
|
pageData: V;
|
|
78
|
-
metaData: Config
|
|
77
|
+
metaData: Config['metaData'];
|
|
79
78
|
}>;
|
|
80
|
-
meta<V extends MetaData>(fn: (meta: VirtualMeta<Config
|
|
81
|
-
pageData: Config
|
|
79
|
+
meta: <V extends MetaData>(fn: (meta: VirtualMeta<Config['metaData']>) => VirtualMeta<V>) => _SourceUpdate_<{
|
|
80
|
+
pageData: Config['pageData'];
|
|
82
81
|
metaData: V;
|
|
83
82
|
}>;
|
|
84
|
-
build()
|
|
85
|
-
}
|
|
83
|
+
build: () => Source<Config>;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* update a source object in-place.
|
|
87
|
+
*/
|
|
88
|
+
declare function update<Config extends SourceConfig>(source: Source<Config>): _SourceUpdate_<Config>;
|
|
86
89
|
//#endregion
|
|
87
90
|
//#region src/source/storage/file-system.d.ts
|
|
88
91
|
/**
|
|
@@ -110,49 +113,53 @@ declare class FileSystem<File> {
|
|
|
110
113
|
}
|
|
111
114
|
//#endregion
|
|
112
115
|
//#region src/source/storage/content.d.ts
|
|
113
|
-
type ContentStorage<Config
|
|
114
|
-
type ContentStorageFile<Config
|
|
115
|
-
interface ContentStorageMetaFile<Config
|
|
116
|
+
type ContentStorage<Config extends SourceConfig = SourceConfig> = FileSystem<ContentStorageFile<Config>>;
|
|
117
|
+
type ContentStorageFile<Config extends SourceConfig = SourceConfig> = ContentStorageMetaFile<Config> | ContentStoragePageFile<Config>;
|
|
118
|
+
interface ContentStorageMetaFile<Config extends SourceConfig = SourceConfig> {
|
|
116
119
|
path: string;
|
|
117
120
|
absolutePath?: string;
|
|
118
121
|
format: 'meta';
|
|
119
|
-
data: Config
|
|
122
|
+
data: Config['metaData'];
|
|
120
123
|
}
|
|
121
|
-
interface ContentStoragePageFile<Config
|
|
124
|
+
interface ContentStoragePageFile<Config extends SourceConfig = SourceConfig> {
|
|
122
125
|
path: string;
|
|
123
126
|
absolutePath?: string;
|
|
124
127
|
format: 'page';
|
|
125
128
|
slugs: string[];
|
|
126
|
-
data: Config
|
|
129
|
+
data: Config['pageData'];
|
|
127
130
|
}
|
|
128
131
|
/**
|
|
129
|
-
*
|
|
130
|
-
* @returns a map of locale and its content storage.
|
|
132
|
+
* convert input files into virtual file system.
|
|
131
133
|
*
|
|
132
134
|
* in the storage, locale codes are removed from file paths, hence the same file will have same file paths in every storage.
|
|
133
135
|
*/
|
|
134
|
-
declare function
|
|
136
|
+
declare function createContentStorageBuilder(loaderConfig: ResolvedLoaderConfig): {
|
|
137
|
+
i18n(): Record<string, ContentStorage>;
|
|
138
|
+
single(): ContentStorage;
|
|
139
|
+
};
|
|
135
140
|
//#endregion
|
|
136
141
|
//#region src/source/page-tree/builder.d.ts
|
|
137
|
-
interface PageTreeBuilderContext<Config
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
transformers: PageTreeTransformer<Config$1>[];
|
|
142
|
+
interface PageTreeBuilderContext<Config extends SourceConfig = SourceConfig> {
|
|
143
|
+
idPrefix: string;
|
|
144
|
+
noRef: boolean;
|
|
145
|
+
transformers: PageTreeTransformer<Config>[];
|
|
142
146
|
builder: PageTreeBuilder;
|
|
143
|
-
storage: ContentStorage<Config
|
|
147
|
+
storage: ContentStorage<Config>;
|
|
144
148
|
getUrl: ResolvedLoaderConfig['url'];
|
|
145
|
-
storages?: Record<string, ContentStorage<Config
|
|
149
|
+
storages?: Record<string, ContentStorage<Config>>;
|
|
146
150
|
locale?: string;
|
|
151
|
+
custom?: Record<string, unknown>;
|
|
147
152
|
}
|
|
148
|
-
interface PageTreeTransformer<Config
|
|
149
|
-
file?: (this: PageTreeBuilderContext<Config
|
|
150
|
-
folder?: (this: PageTreeBuilderContext<Config
|
|
151
|
-
separator?: (this: PageTreeBuilderContext<Config
|
|
152
|
-
root?: (this: PageTreeBuilderContext<Config
|
|
153
|
+
interface PageTreeTransformer<Config extends SourceConfig = SourceConfig> {
|
|
154
|
+
file?: (this: PageTreeBuilderContext<Config>, node: Item, filePath?: string) => Item;
|
|
155
|
+
folder?: (this: PageTreeBuilderContext<Config>, node: Folder, folderPath: string, metaPath?: string) => Folder;
|
|
156
|
+
separator?: (this: PageTreeBuilderContext<Config>, node: Separator) => Separator;
|
|
157
|
+
root?: (this: PageTreeBuilderContext<Config>, node: Root) => Root;
|
|
153
158
|
}
|
|
154
|
-
interface PageTreeOptions<Config
|
|
155
|
-
|
|
159
|
+
interface PageTreeOptions<Config extends LoaderConfig = LoaderConfig> {
|
|
160
|
+
/** generate URL from page */
|
|
161
|
+
url: ResolvedLoaderConfig['url'];
|
|
162
|
+
idPrefix?: string;
|
|
156
163
|
/**
|
|
157
164
|
* Remove references to the file path of original nodes (`$ref`)
|
|
158
165
|
*
|
|
@@ -168,33 +175,40 @@ interface PageTreeOptions<Config$1 extends LoaderConfig = LoaderConfig> {
|
|
|
168
175
|
/**
|
|
169
176
|
* Additional page tree transformers to apply
|
|
170
177
|
*/
|
|
171
|
-
transformers?: PageTreeTransformer<Config
|
|
178
|
+
transformers?: PageTreeTransformer<Config['source']>[];
|
|
179
|
+
/** custom context */
|
|
180
|
+
context?: Record<string, unknown>;
|
|
172
181
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
182
|
+
declare class PageTreeBuilder {
|
|
183
|
+
private readonly flattenPathToFullPath;
|
|
184
|
+
private readonly transformers;
|
|
185
|
+
/** virtual file path -> output page tree node (if cached) */
|
|
186
|
+
private readonly pathToNode;
|
|
187
|
+
/** unfinished nodes */
|
|
188
|
+
private readonly unfinished;
|
|
189
|
+
private readonly ownerMap;
|
|
190
|
+
private _nextId;
|
|
191
|
+
/** passed as additional information to transformers */
|
|
192
|
+
private readonly ctx;
|
|
193
|
+
private readonly storage;
|
|
194
|
+
constructor(input: ContentStorage | [locale: string, storages: Record<string, ContentStorage>], options: PageTreeOptions);
|
|
195
|
+
resolveFlattenPath(name: string, format: string): string;
|
|
196
|
+
/**
|
|
197
|
+
* try to register as the owner of `node`.
|
|
198
|
+
*
|
|
199
|
+
* when a node is referenced by multiple folders, this determines which folder they should belong to.
|
|
200
|
+
*
|
|
201
|
+
* @returns whether the owner owns the node.
|
|
202
|
+
*/
|
|
203
|
+
private own;
|
|
204
|
+
private transferOwner;
|
|
205
|
+
private generateId;
|
|
206
|
+
buildPaths(paths: string[], filter?: (file: string) => boolean, reversed?: boolean): Node[];
|
|
207
|
+
private resolveFolderItem;
|
|
208
|
+
folder(folderPath: string): Folder | undefined;
|
|
209
|
+
file(path: string): Item | undefined;
|
|
210
|
+
root(id?: string, path?: string): Root;
|
|
176
211
|
}
|
|
177
|
-
declare function createPageTreeBuilder(loaderConfig: ResolvedLoaderConfig): PageTreeBuilder;
|
|
178
|
-
//#endregion
|
|
179
|
-
//#region src/source/plugins/slugs.d.ts
|
|
180
|
-
/**
|
|
181
|
-
* a function to generate slugs, return `undefined` to fallback to default generation.
|
|
182
|
-
*/
|
|
183
|
-
type SlugFn<Config$1 extends LoaderConfig = LoaderConfig> = (file: ContentStoragePageFile<Config$1['source']>) => string[] | undefined;
|
|
184
|
-
/**
|
|
185
|
-
* Generate slugs for pages if missing
|
|
186
|
-
*/
|
|
187
|
-
declare function slugsPlugin<Config$1 extends LoaderConfig = LoaderConfig>(slugFn?: SlugFn<Config$1>): LoaderPlugin<Config$1>;
|
|
188
|
-
/**
|
|
189
|
-
* Generate slugs from file data (e.g. frontmatter).
|
|
190
|
-
*
|
|
191
|
-
* @param key - the property name in file data to generate slugs, default to `slug`.
|
|
192
|
-
*/
|
|
193
|
-
declare function slugsFromData<Config$1 extends LoaderConfig = LoaderConfig>(key?: string): SlugFn<Config$1>;
|
|
194
|
-
/**
|
|
195
|
-
* Convert file path into slugs, also encode non-ASCII characters, so they can work in pathname
|
|
196
|
-
*/
|
|
197
|
-
declare function getSlugs(file: string): string[];
|
|
198
212
|
//#endregion
|
|
199
213
|
//#region src/source/plugins/icon.d.ts
|
|
200
214
|
type IconResolver = (icon: string | undefined) => ReactNode;
|
|
@@ -211,7 +225,7 @@ interface LoaderOptions<C extends LoaderConfig = LoaderConfig> {
|
|
|
211
225
|
/**
|
|
212
226
|
* Additional options for page tree builder
|
|
213
227
|
*/
|
|
214
|
-
pageTree?: PageTreeOptions<C
|
|
228
|
+
pageTree?: Partial<PageTreeOptions<C>>;
|
|
215
229
|
plugins?: LoaderPluginOption[] | ((context: {
|
|
216
230
|
typedPlugin: (plugin: LoaderPlugin<C>) => LoaderPlugin;
|
|
217
231
|
}) => LoaderPluginOption[]);
|
|
@@ -222,7 +236,7 @@ interface ResolvedLoaderConfig {
|
|
|
222
236
|
source: Source;
|
|
223
237
|
url: (slugs: string[], locale?: string) => string;
|
|
224
238
|
plugins?: LoaderPlugin[];
|
|
225
|
-
pageTree?: PageTreeOptions
|
|
239
|
+
pageTree?: Partial<PageTreeOptions>;
|
|
226
240
|
i18n?: I18nConfig | undefined;
|
|
227
241
|
}
|
|
228
242
|
interface SharedFileInfo {
|
|
@@ -246,8 +260,8 @@ interface Page<Data = PageData> extends SharedFileInfo {
|
|
|
246
260
|
interface Meta<Data = MetaData> extends SharedFileInfo {
|
|
247
261
|
data: Data;
|
|
248
262
|
}
|
|
249
|
-
interface LoaderOutput<Config
|
|
250
|
-
pageTree: Config
|
|
263
|
+
interface LoaderOutput<Config extends LoaderConfig> {
|
|
264
|
+
pageTree: Config['i18n'] extends I18nConfig ? Record<string, Root> : Root;
|
|
251
265
|
getPageTree: (locale?: string) => Root;
|
|
252
266
|
/**
|
|
253
267
|
* get referenced page from href, supported:
|
|
@@ -262,7 +276,7 @@ interface LoaderOutput<Config$1 extends LoaderConfig> {
|
|
|
262
276
|
*/
|
|
263
277
|
dir?: string;
|
|
264
278
|
}) => {
|
|
265
|
-
page: Page<Config
|
|
279
|
+
page: Page<Config['source']['pageData']>;
|
|
266
280
|
hash?: string;
|
|
267
281
|
} | undefined;
|
|
268
282
|
/**
|
|
@@ -270,7 +284,7 @@ interface LoaderOutput<Config$1 extends LoaderConfig> {
|
|
|
270
284
|
*
|
|
271
285
|
* - relative file paths, like `./my/page.mdx`.
|
|
272
286
|
*/
|
|
273
|
-
resolveHref: (href: string, parent: Page<Config
|
|
287
|
+
resolveHref: (href: string, parent: Page<Config['source']['pageData']>) => string;
|
|
274
288
|
/**
|
|
275
289
|
* @internal
|
|
276
290
|
*/
|
|
@@ -278,24 +292,24 @@ interface LoaderOutput<Config$1 extends LoaderConfig> {
|
|
|
278
292
|
/**
|
|
279
293
|
* Get a list of pages from specified language
|
|
280
294
|
*
|
|
281
|
-
* @param language - If
|
|
295
|
+
* @param language - If unspecified, list pages from all languages.
|
|
282
296
|
*/
|
|
283
|
-
getPages: (language?: string) => Page<Config
|
|
297
|
+
getPages: (language?: string) => Page<Config['source']['pageData']>[];
|
|
284
298
|
/**
|
|
285
299
|
* get each language and its pages, empty if i18n is not enabled.
|
|
286
300
|
*/
|
|
287
301
|
getLanguages: () => {
|
|
288
302
|
language: string;
|
|
289
|
-
pages: Page<Config
|
|
303
|
+
pages: Page<Config['source']['pageData']>[];
|
|
290
304
|
}[];
|
|
291
305
|
/**
|
|
292
306
|
* Get page with slugs, the slugs can also be URI encoded.
|
|
293
307
|
*
|
|
294
|
-
* @param language - If
|
|
308
|
+
* @param language - If unspecified, the default language will be used.
|
|
295
309
|
*/
|
|
296
|
-
getPage: (slugs: string[] | undefined, language?: string) => Page<Config
|
|
297
|
-
getNodePage: (node: Item, language?: string) => Page<Config
|
|
298
|
-
getNodeMeta: (node: Folder, language?: string) => Meta<Config
|
|
310
|
+
getPage: (slugs: string[] | undefined, language?: string) => Page<Config['source']['pageData']> | undefined;
|
|
311
|
+
getNodePage: (node: Item, language?: string) => Page<Config['source']['pageData']> | undefined;
|
|
312
|
+
getNodeMeta: (node: Folder, language?: string) => Meta<Config['source']['metaData']> | undefined;
|
|
299
313
|
/**
|
|
300
314
|
* generate static params for Next.js SSG
|
|
301
315
|
*
|
|
@@ -306,26 +320,26 @@ interface LoaderOutput<Config$1 extends LoaderConfig> {
|
|
|
306
320
|
/**
|
|
307
321
|
* serialize page tree for non-RSC environments
|
|
308
322
|
*/
|
|
309
|
-
serializePageTree: (tree: Root) => Promise<
|
|
323
|
+
serializePageTree: (tree: Root) => Promise<SerializedPageTree>;
|
|
310
324
|
}
|
|
311
325
|
declare function createGetUrl(baseUrl: string, i18n?: I18nConfig): ResolvedLoaderConfig['url'];
|
|
312
|
-
declare function loader<Config
|
|
313
|
-
source: NoInfer<Config
|
|
326
|
+
declare function loader<Config extends SourceConfig, I18n extends I18nConfig | undefined = undefined>(source: Source<Config>, options: LoaderOptions<{
|
|
327
|
+
source: NoInfer<Config>;
|
|
314
328
|
i18n: I18n;
|
|
315
329
|
}>): LoaderOutput<{
|
|
316
|
-
source: Config
|
|
330
|
+
source: Config;
|
|
317
331
|
i18n: I18n;
|
|
318
332
|
}>;
|
|
319
|
-
declare function loader<Config
|
|
320
|
-
source: NoInfer<Config
|
|
333
|
+
declare function loader<Config extends SourceConfig, I18n extends I18nConfig | undefined = undefined>(options: LoaderOptions<{
|
|
334
|
+
source: NoInfer<Config>;
|
|
321
335
|
i18n: I18n;
|
|
322
336
|
}> & {
|
|
323
|
-
source: Source<Config
|
|
337
|
+
source: Source<Config>;
|
|
324
338
|
}): LoaderOutput<{
|
|
325
|
-
source: Config
|
|
339
|
+
source: Config;
|
|
326
340
|
i18n: I18n;
|
|
327
341
|
}>;
|
|
328
|
-
interface LoaderPlugin<Config
|
|
342
|
+
interface LoaderPlugin<Config extends LoaderConfig = LoaderConfig> {
|
|
329
343
|
name?: string;
|
|
330
344
|
/**
|
|
331
345
|
* Change the order of plugin:
|
|
@@ -341,14 +355,14 @@ interface LoaderPlugin<Config$1 extends LoaderConfig = LoaderConfig> {
|
|
|
341
355
|
* transform the storage after loading
|
|
342
356
|
*/
|
|
343
357
|
transformStorage?: (context: {
|
|
344
|
-
storage: ContentStorage<Config
|
|
358
|
+
storage: ContentStorage<Config['source']>;
|
|
345
359
|
}) => void;
|
|
346
360
|
/**
|
|
347
361
|
* transform the generated page tree
|
|
348
362
|
*/
|
|
349
|
-
transformPageTree?: PageTreeTransformer<Config
|
|
363
|
+
transformPageTree?: PageTreeTransformer<Config['source']>;
|
|
350
364
|
}
|
|
351
|
-
type LoaderPluginOption<Config
|
|
365
|
+
type LoaderPluginOption<Config extends LoaderConfig = LoaderConfig> = LoaderPlugin<Config> | LoaderPluginOption<Config>[] | undefined;
|
|
352
366
|
type InferPageType<Utils extends LoaderOutput<any>> = Utils extends LoaderOutput<infer Config> ? Page<Config['source']['pageData']> : never;
|
|
353
367
|
type InferMetaType<Utils extends LoaderOutput<any>> = Utils extends LoaderOutput<infer Config> ? Meta<Config['source']['metaData']> : never;
|
|
354
368
|
declare namespace path_d_exports {
|
|
@@ -375,5 +389,4 @@ declare function splitPath(path: string): string[];
|
|
|
375
389
|
declare function joinPath(...paths: string[]): string;
|
|
376
390
|
declare function slash(path: string): string;
|
|
377
391
|
//#endregion
|
|
378
|
-
export {
|
|
379
|
-
//# sourceMappingURL=index-2U6Tl4--.d.ts.map
|
|
392
|
+
export { _SourceUpdate_ as A, FileSystem as C, SourceConfig as D, Source as E, source as M, update as N, VirtualFile as O, createContentStorageBuilder as S, PageData as T, PageTreeTransformer as _, LoaderOptions as a, ContentStorageMetaFile as b, LoaderPluginOption as c, ResolvedLoaderConfig as d, createGetUrl as f, PageTreeOptions as g, PageTreeBuilderContext as h, LoaderConfig as i, multiple as j, _ConfigUnion_ as k, Meta as l, PageTreeBuilder as m, InferMetaType as n, LoaderOutput as o, loader as p, InferPageType as r, LoaderPlugin as s, path_d_exports as t, Page as u, ContentStorage as v, MetaData as w, ContentStoragePageFile as x, ContentStorageFile as y };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as __exportAll } from "./chunk-
|
|
1
|
+
import { n as __exportAll } from "./chunk-CaR5F9JI.js";
|
|
2
2
|
|
|
3
3
|
//#region src/source/path.ts
|
|
4
4
|
var path_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -56,5 +56,4 @@ function slash(path) {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
//#endregion
|
|
59
|
-
export { path_exports as a, joinPath as i, dirname as n, slash as o, extname as r, splitPath as s, basename as t };
|
|
60
|
-
//# sourceMappingURL=path-DHIjrDBP.js.map
|
|
59
|
+
export { path_exports as a, joinPath as i, dirname as n, slash as o, extname as r, splitPath as s, basename as t };
|
package/dist/search/algolia.d.ts
CHANGED
|
@@ -1,3 +1,67 @@
|
|
|
1
|
-
import "../remark-structure
|
|
2
|
-
import {
|
|
1
|
+
import { StructuredData } from "../mdx-plugins/remark-structure.js";
|
|
2
|
+
import { Algoliasearch } from "algoliasearch";
|
|
3
|
+
|
|
4
|
+
//#region src/search/algolia.d.ts
|
|
5
|
+
interface DocumentRecord {
|
|
6
|
+
/**
|
|
7
|
+
* The ID of document, must be unique
|
|
8
|
+
*/
|
|
9
|
+
_id: string;
|
|
10
|
+
title: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
breadcrumbs?: string[];
|
|
13
|
+
/**
|
|
14
|
+
* URL to the page
|
|
15
|
+
*/
|
|
16
|
+
url: string;
|
|
17
|
+
structured: StructuredData;
|
|
18
|
+
/**
|
|
19
|
+
* Tag to filter results
|
|
20
|
+
*/
|
|
21
|
+
tag?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Data to be added to each section index
|
|
24
|
+
*/
|
|
25
|
+
extra_data?: object;
|
|
26
|
+
}
|
|
27
|
+
interface SyncOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Index Name for documents.
|
|
30
|
+
*/
|
|
31
|
+
indexName?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Search indexes
|
|
34
|
+
*/
|
|
35
|
+
documents: DocumentRecord[];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Update index settings and replace all objects
|
|
39
|
+
*
|
|
40
|
+
* @param client - Algolia Admin Client
|
|
41
|
+
* @param options - Index Options
|
|
42
|
+
*/
|
|
43
|
+
declare function sync(client: Algoliasearch, options: SyncOptions): Promise<void>;
|
|
44
|
+
declare function setIndexSettings(client: Algoliasearch, indexName: string): Promise<void>;
|
|
45
|
+
declare function updateDocuments(client: Algoliasearch, indexName: string, documents: DocumentRecord[]): Promise<void>;
|
|
46
|
+
interface BaseIndex {
|
|
47
|
+
objectID: string;
|
|
48
|
+
title: string;
|
|
49
|
+
url: string;
|
|
50
|
+
tag?: string;
|
|
51
|
+
/**
|
|
52
|
+
* The id of page, used for distinct
|
|
53
|
+
*/
|
|
54
|
+
page_id: string;
|
|
55
|
+
/**
|
|
56
|
+
* Heading content
|
|
57
|
+
*/
|
|
58
|
+
section?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Heading (anchor) id
|
|
61
|
+
*/
|
|
62
|
+
section_id?: string;
|
|
63
|
+
breadcrumbs?: string[];
|
|
64
|
+
content: string;
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
3
67
|
export { BaseIndex, DocumentRecord, SyncOptions, setIndexSettings, sync, updateDocuments };
|
package/dist/search/algolia.js
CHANGED
package/dist/search/client.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import "../definitions-
|
|
2
|
-
import "../
|
|
3
|
-
import {
|
|
1
|
+
import "../definitions-DSNTbAwC.js";
|
|
2
|
+
import "../utils-IgHyYnrz.js";
|
|
3
|
+
import { BaseIndex } from "./algolia.js";
|
|
4
4
|
import { SortedResult } from "./index.js";
|
|
5
|
-
import "../
|
|
6
|
-
import "../
|
|
5
|
+
import "../create-i18n-Cv3Cocbs.js";
|
|
6
|
+
import "../path-B77y3W0_.js";
|
|
7
|
+
import "./server.js";
|
|
7
8
|
import { DependencyList } from "react";
|
|
8
9
|
import { AnyOrama } from "@orama/orama";
|
|
9
10
|
import { LiteClient, SearchResponse } from "algoliasearch/lite";
|
|
10
11
|
import { OramaCloud, OramaCloudSearchParams } from "@orama/core";
|
|
12
|
+
import { ClientSearchParams, OramaClient } from "@oramacloud/client";
|
|
11
13
|
import Mixedbread from "@mixedbread/sdk";
|
|
12
14
|
|
|
13
15
|
//#region src/search/client/fetch.d.ts
|
|
@@ -81,6 +83,26 @@ interface OramaCloudOptions {
|
|
|
81
83
|
locale?: string;
|
|
82
84
|
}
|
|
83
85
|
//#endregion
|
|
86
|
+
//#region src/search/client/orama-cloud-legacy.d.ts
|
|
87
|
+
interface OramaCloudLegacyOptions {
|
|
88
|
+
client: OramaClient;
|
|
89
|
+
/**
|
|
90
|
+
* The type of your index.
|
|
91
|
+
*
|
|
92
|
+
* You can set it to `crawler` if you use crawler instead of the JSON index with schema provided by Hanzo Docs
|
|
93
|
+
*/
|
|
94
|
+
index?: 'default' | 'crawler';
|
|
95
|
+
params?: ClientSearchParams;
|
|
96
|
+
/**
|
|
97
|
+
* Filter results with specific tag.
|
|
98
|
+
*/
|
|
99
|
+
tag?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Filter by locale (unsupported at the moment)
|
|
102
|
+
*/
|
|
103
|
+
locale?: string;
|
|
104
|
+
}
|
|
105
|
+
//#endregion
|
|
84
106
|
//#region src/search/client/mixedbread.d.ts
|
|
85
107
|
interface MixedbreadOptions {
|
|
86
108
|
/**
|
|
@@ -120,6 +142,8 @@ type Client = ({
|
|
|
120
142
|
} & AlgoliaOptions) | ({
|
|
121
143
|
type: 'orama-cloud';
|
|
122
144
|
} & OramaCloudOptions) | ({
|
|
145
|
+
type: 'orama-cloud-legacy';
|
|
146
|
+
} & OramaCloudLegacyOptions) | ({
|
|
123
147
|
type: 'mixedbread';
|
|
124
148
|
} & MixedbreadOptions);
|
|
125
149
|
/**
|
|
@@ -142,5 +166,4 @@ declare function useDocsSearch(clientOptions: Client & {
|
|
|
142
166
|
allowEmpty?: boolean;
|
|
143
167
|
}, deps?: DependencyList): UseDocsSearch;
|
|
144
168
|
//#endregion
|
|
145
|
-
export { type AlgoliaOptions, Client, type FetchOptions, type OramaCloudOptions, type StaticOptions, useDocsSearch };
|
|
146
|
-
//# sourceMappingURL=client.d.ts.map
|
|
169
|
+
export { type AlgoliaOptions, Client, type FetchOptions, type OramaCloudOptions, type StaticOptions, useDocsSearch };
|
package/dist/search/client.js
CHANGED
|
@@ -52,27 +52,33 @@ function useDocsSearch(clientOptions, deps) {
|
|
|
52
52
|
};
|
|
53
53
|
async function run() {
|
|
54
54
|
if (debouncedValue.length === 0 && !allowEmpty) return "empty";
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
switch (client.type) {
|
|
56
|
+
case "fetch": {
|
|
57
|
+
const { fetchDocs } = await import("../fetch-HotVeLLF.js");
|
|
58
|
+
return fetchDocs(debouncedValue, client);
|
|
59
|
+
}
|
|
60
|
+
case "algolia": {
|
|
61
|
+
const { searchDocs } = await import("../algolia-C7Crg8-5.js");
|
|
62
|
+
return searchDocs(debouncedValue, client);
|
|
63
|
+
}
|
|
64
|
+
case "orama-cloud": {
|
|
65
|
+
const { searchDocs } = await import("../orama-cloud-ByznDyOk.js");
|
|
66
|
+
return searchDocs(debouncedValue, client);
|
|
67
|
+
}
|
|
68
|
+
case "orama-cloud-legacy": {
|
|
69
|
+
const { searchDocs } = await import("../orama-cloud-legacy-BbgJnf5f.js");
|
|
70
|
+
return searchDocs(debouncedValue, client);
|
|
71
|
+
}
|
|
72
|
+
case "mixedbread": {
|
|
73
|
+
const { search } = await import("../mixedbread-Bx9drx9S.js");
|
|
74
|
+
return search(debouncedValue, client);
|
|
75
|
+
}
|
|
76
|
+
case "static": {
|
|
77
|
+
const { search } = await import("../static-DTxK4eHk.js");
|
|
78
|
+
return search(debouncedValue, client);
|
|
79
|
+
}
|
|
80
|
+
default: throw new Error("unknown search client");
|
|
58
81
|
}
|
|
59
|
-
if (client.type === "algolia") {
|
|
60
|
-
const { searchDocs } = await import("../algolia-CQPXCnjV.js");
|
|
61
|
-
return searchDocs(debouncedValue, client);
|
|
62
|
-
}
|
|
63
|
-
if (client.type === "orama-cloud") {
|
|
64
|
-
const { searchDocs } = await import("../orama-cloud-DH3g37zc.js");
|
|
65
|
-
return searchDocs(debouncedValue, client);
|
|
66
|
-
}
|
|
67
|
-
if (client.type === "static") {
|
|
68
|
-
const { search: search$1 } = await import("../static-Dq8pA8Ay.js");
|
|
69
|
-
return search$1(debouncedValue, client);
|
|
70
|
-
}
|
|
71
|
-
if (client.type === "mixedbread") {
|
|
72
|
-
const { search: search$1 } = await import("../mixedbread-DlByNYSd.js");
|
|
73
|
-
return search$1(debouncedValue, client);
|
|
74
|
-
}
|
|
75
|
-
throw new Error("unknown search client");
|
|
76
82
|
}
|
|
77
83
|
run().then((res) => {
|
|
78
84
|
if (interrupt) return;
|
|
@@ -96,5 +102,4 @@ function useDocsSearch(clientOptions, deps) {
|
|
|
96
102
|
}
|
|
97
103
|
|
|
98
104
|
//#endregion
|
|
99
|
-
export { useDocsSearch };
|
|
100
|
-
//# sourceMappingURL=client.js.map
|
|
105
|
+
export { useDocsSearch };
|
package/dist/search/index.d.ts
CHANGED
|
@@ -24,5 +24,4 @@ declare function createContentHighlighter(query: string | RegExp): {
|
|
|
24
24
|
highlight(content: string): HighlightedText[];
|
|
25
25
|
};
|
|
26
26
|
//#endregion
|
|
27
|
-
export { HighlightedText, ReactSortedResult, SortedResult, createContentHighlighter };
|
|
28
|
-
//# sourceMappingURL=index.d.ts.map
|
|
27
|
+
export { HighlightedText, ReactSortedResult, SortedResult, createContentHighlighter };
|
package/dist/search/index.js
CHANGED
|
@@ -1,3 +1,43 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/search/index.ts
|
|
2
|
+
function escapeRegExp(input) {
|
|
3
|
+
return input.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
4
|
+
}
|
|
5
|
+
function buildRegexFromQuery(q) {
|
|
6
|
+
const trimmed = q.trim();
|
|
7
|
+
if (trimmed.length === 0) return null;
|
|
8
|
+
const terms = Array.from(new Set(trimmed.split(/\s+/).map((t) => t.trim()).filter(Boolean)));
|
|
9
|
+
if (terms.length === 0) return null;
|
|
10
|
+
const escaped = terms.map(escapeRegExp).join("|");
|
|
11
|
+
return new RegExp(`(${escaped})`, "gi");
|
|
12
|
+
}
|
|
13
|
+
function createContentHighlighter(query) {
|
|
14
|
+
const regex = typeof query === "string" ? buildRegexFromQuery(query) : query;
|
|
15
|
+
return { highlight(content) {
|
|
16
|
+
if (!regex) return [{
|
|
17
|
+
type: "text",
|
|
18
|
+
content
|
|
19
|
+
}];
|
|
20
|
+
const out = [];
|
|
21
|
+
let i = 0;
|
|
22
|
+
for (const match of content.matchAll(regex)) {
|
|
23
|
+
if (i < match.index) out.push({
|
|
24
|
+
type: "text",
|
|
25
|
+
content: content.substring(i, match.index)
|
|
26
|
+
});
|
|
27
|
+
out.push({
|
|
28
|
+
type: "text",
|
|
29
|
+
content: match[0],
|
|
30
|
+
styles: { highlight: true }
|
|
31
|
+
});
|
|
32
|
+
i = match.index + match[0].length;
|
|
33
|
+
}
|
|
34
|
+
if (i < content.length) out.push({
|
|
35
|
+
type: "text",
|
|
36
|
+
content: content.substring(i)
|
|
37
|
+
});
|
|
38
|
+
return out;
|
|
39
|
+
} };
|
|
40
|
+
}
|
|
2
41
|
|
|
42
|
+
//#endregion
|
|
3
43
|
export { createContentHighlighter };
|