fumadocs-core 16.4.6 → 16.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{advanced-tbtFDsHU.js → advanced-BiZjLx5X.js} +3 -4
- package/dist/{algolia-B9GvomyW.d.ts → algolia-DWUn4vqa.d.ts} +2 -3
- package/dist/{algolia-Dbt0kj8j.js → algolia-IT2aRQE6.js} +2 -3
- package/dist/breadcrumb.d.ts +2 -3
- package/dist/breadcrumb.js +3 -4
- package/dist/{codeblock-utils-CdA7nXLP.d.ts → codeblock-utils-DA5Ql7wp.d.ts} +1 -2
- 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 -2
- package/dist/content/toc.js +2 -3
- package/dist/{definitions-Ca2P2viV.d.ts → definitions-fBNEDML4.d.ts} +1 -2
- package/dist/dynamic-link.d.ts +1 -2
- package/dist/dynamic-link.js +1 -2
- package/dist/{fetch-CiphcAUR.js → fetch-B9AxBORJ.js} +1 -2
- package/dist/framework/index.d.ts +5 -6
- package/dist/framework/index.js +1 -2
- 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/highlight/client.d.ts +2 -3
- package/dist/highlight/client.js +2 -3
- package/dist/highlight/index.d.ts +1 -1
- package/dist/highlight/index.js +1 -1
- package/dist/i18n/index.d.ts +1 -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-CL3r1pNG.js → icon-D9W4ODUt.js} +1 -2
- package/dist/{index-k5KwKJ_c.d.ts → index-Bn_dIR1t.d.ts} +6 -6
- package/dist/{index-DxhhLscI.d.ts → index-CNd0mkPr.d.ts} +1 -2
- package/dist/index-DbVQNAN8.d.ts +44 -0
- package/dist/index-Skpc1DNd.d.ts +18 -0
- package/dist/link.d.ts +3 -4
- package/dist/link.js +1 -2
- package/dist/{mdast-utils-B8O-41y4.js → mdast-utils-BqE5966y.js} +1 -2
- package/dist/mdx-plugins/codeblock-utils.d.ts +1 -1
- package/dist/mdx-plugins/codeblock-utils.js +1 -2
- package/dist/mdx-plugins/index.d.ts +15 -15
- package/dist/mdx-plugins/index.js +4 -4
- package/dist/mdx-plugins/rehype-code.d.ts +1 -1
- package/dist/mdx-plugins/rehype-code.js +2 -2
- package/dist/mdx-plugins/rehype-toc.d.ts +1 -1
- package/dist/mdx-plugins/rehype-toc.js +1 -1
- package/dist/mdx-plugins/remark-admonition.d.ts +1 -1
- package/dist/mdx-plugins/remark-admonition.js +2 -3
- package/dist/mdx-plugins/remark-code-tab.d.ts +1 -1
- package/dist/mdx-plugins/remark-code-tab.js +1 -2
- package/dist/mdx-plugins/remark-directive-admonition.d.ts +1 -1
- package/dist/mdx-plugins/remark-directive-admonition.js +1 -2
- package/dist/mdx-plugins/remark-feedback-block.d.ts +1 -1
- package/dist/mdx-plugins/remark-feedback-block.js +2 -3
- package/dist/mdx-plugins/remark-gfm.d.ts +1 -1
- package/dist/mdx-plugins/remark-heading.d.ts +1 -1
- package/dist/mdx-plugins/remark-heading.js +2 -3
- package/dist/mdx-plugins/remark-image.d.ts +1 -1
- package/dist/mdx-plugins/remark-image.js +1 -2
- package/dist/mdx-plugins/remark-mdx-files.d.ts +1 -1
- package/dist/mdx-plugins/remark-mdx-files.js +1 -2
- package/dist/mdx-plugins/remark-mdx-mermaid.d.ts +1 -1
- package/dist/mdx-plugins/remark-mdx-mermaid.js +1 -2
- package/dist/mdx-plugins/remark-npm.d.ts +1 -1
- package/dist/mdx-plugins/remark-npm.js +1 -2
- package/dist/mdx-plugins/remark-steps.d.ts +1 -1
- package/dist/mdx-plugins/remark-steps.js +1 -2
- package/dist/mdx-plugins/remark-structure.d.ts +1 -1
- package/dist/mdx-plugins/remark-structure.js +2 -3
- package/dist/{mixedbread-B0TvOHtt.js → mixedbread-B4x0e8AJ.js} +6 -5
- package/dist/negotiation/index.d.ts +1 -2
- package/dist/negotiation/index.js +1 -2
- package/dist/{normalize-url-CEfNKxaE.js → normalize-url-D88zV54r.js} +1 -2
- package/dist/{orama-cloud-yicpgD0c.js → orama-cloud-CiI54EU9.js} +3 -4
- package/dist/{orama-cloud-legacy-NJTbB19B.js → orama-cloud-legacy-DG0asrcn.js} +3 -4
- package/dist/page-tree/index.d.ts +3 -45
- package/dist/page-tree/index.js +1 -1
- package/dist/{path-CECfI3nn.js → path-B48ZWv8k.js} +2 -3
- package/dist/{rehype-code-Ct5Pb6BZ.js → rehype-code-8Te7jiPm.js} +2 -3
- package/dist/{rehype-code-BUrju-yF.d.ts → rehype-code-9wJ_hsjl.d.ts} +1 -2
- package/dist/{rehype-toc-Dcgzd_Vy.d.ts → rehype-toc-Bt9Ng_4w.d.ts} +1 -2
- package/dist/{rehype-toc-CTG0x7La.js → rehype-toc-CRXB92Tc.js} +1 -2
- package/dist/{remark-admonition-BvgS4oU1.d.ts → remark-admonition-DVevS9Wn.d.ts} +1 -2
- package/dist/{remark-code-tab-Ds_BdYXz.d.ts → remark-code-tab-DwGhoHpj.d.ts} +1 -2
- package/dist/{remark-directive-admonition-02cR5K1L.d.ts → remark-directive-admonition-DA7-ewEx.d.ts} +1 -2
- package/dist/{remark-feedback-block-fAyt4LdQ.d.ts → remark-feedback-block-PpERWDdJ.d.ts} +1 -2
- package/dist/{remark-heading-CSButCYt.d.ts → remark-heading-B02bkQ09.d.ts} +1 -2
- package/dist/{remark-image-C3MnP-3r.d.ts → remark-image-k8SDn3Hf.d.ts} +1 -2
- package/dist/{remark-mdx-files-BXUiiX3M.d.ts → remark-mdx-files-DXQKQsPS.d.ts} +1 -2
- package/dist/{remark-mdx-mermaid-C5ZBxx8x.d.ts → remark-mdx-mermaid-CzeZXfYX.d.ts} +1 -2
- package/dist/{remark-npm-DADZg0pf.d.ts → remark-npm-DS3cHDxB.d.ts} +1 -2
- package/dist/{remark-steps-CWEE34cT.d.ts → remark-steps-Bz-6C0tE.d.ts} +1 -2
- package/dist/{remark-structure-ChKxMXnK.d.ts → remark-structure-dZprfvCG.d.ts} +1 -2
- package/dist/{remove-undefined-Buxsprgu.js → remove-undefined-CiwokjLP.js} +1 -2
- package/dist/search/algolia.d.ts +2 -2
- package/dist/search/algolia.js +1 -2
- package/dist/search/client.d.ts +8 -7
- package/dist/search/client.js +7 -8
- package/dist/search/index.d.ts +1 -2
- package/dist/search/index.js +1 -1
- package/dist/search/orama-cloud-legacy.d.ts +6 -7
- package/dist/search/orama-cloud-legacy.js +1 -2
- package/dist/search/orama-cloud.d.ts +6 -7
- package/dist/search/orama-cloud.js +1 -2
- package/dist/search/server.d.ts +6 -4
- package/dist/search/server.js +5 -6
- package/dist/{search-DzqmOjzV.js → search-CBAFoCmV.js} +1 -2
- package/dist/{server-CjGgVKx_.d.ts → server-BqqfVZaS.d.ts} +4 -5
- package/dist/{shiki-B4NO99XD.js → shiki-BMakKE6A.js} +1 -2
- package/dist/{shiki-vKy7H_iw.d.ts → shiki-BjMLCq9L.d.ts} +1 -2
- package/dist/source/client/index.d.ts +4 -18
- package/dist/source/client/index.js +21 -12
- package/dist/source/index.d.ts +4 -2
- package/dist/source/index.js +118 -66
- 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 +4 -2
- package/dist/source/plugins/slugs.js +2 -3
- package/dist/source/plugins/status-badges.d.ts +53 -0
- package/dist/source/plugins/status-badges.js +54 -0
- package/dist/source/schema.d.ts +1 -2
- package/dist/source/schema.js +1 -2
- package/dist/{static-C_WBOzek.js → static-Dg4_dKaf.js} +2 -3
- package/dist/toc.d.ts +1 -2
- package/dist/toc.js +1 -2
- package/dist/{util-d5FlPx1Z.d.ts → util-C1pcIt82.d.ts} +1 -2
- package/dist/{util-Dn-wseQ5.js → util-E8U2ttCR.js} +1 -2
- package/dist/utils/use-effect-event.d.ts +1 -2
- package/dist/utils/use-effect-event.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-D10VxgVc.js → utils-BllAiz19.js} +1 -2
- package/package.json +14 -14
- package/dist/advanced-tbtFDsHU.js.map +0 -1
- package/dist/algolia-B9GvomyW.d.ts.map +0 -1
- package/dist/algolia-Dbt0kj8j.js.map +0 -1
- package/dist/breadcrumb.d.ts.map +0 -1
- package/dist/breadcrumb.js.map +0 -1
- package/dist/codeblock-utils-CdA7nXLP.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-Ca2P2viV.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-CiphcAUR.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-CL3r1pNG.js.map +0 -1
- package/dist/index-DxhhLscI.d.ts.map +0 -1
- package/dist/index-k5KwKJ_c.d.ts.map +0 -1
- package/dist/link.d.ts.map +0 -1
- package/dist/link.js.map +0 -1
- package/dist/mdast-utils-B8O-41y4.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-feedback-block.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-B0TvOHtt.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-CEfNKxaE.js.map +0 -1
- package/dist/orama-cloud-legacy-NJTbB19B.js.map +0 -1
- package/dist/orama-cloud-yicpgD0c.js.map +0 -1
- package/dist/page-tree/index.d.ts.map +0 -1
- package/dist/path-CECfI3nn.js.map +0 -1
- package/dist/rehype-code-BUrju-yF.d.ts.map +0 -1
- package/dist/rehype-code-Ct5Pb6BZ.js.map +0 -1
- package/dist/rehype-toc-CTG0x7La.js.map +0 -1
- package/dist/rehype-toc-Dcgzd_Vy.d.ts.map +0 -1
- package/dist/remark-admonition-BvgS4oU1.d.ts.map +0 -1
- package/dist/remark-code-tab-Ds_BdYXz.d.ts.map +0 -1
- package/dist/remark-directive-admonition-02cR5K1L.d.ts.map +0 -1
- package/dist/remark-feedback-block-fAyt4LdQ.d.ts.map +0 -1
- package/dist/remark-heading-CSButCYt.d.ts.map +0 -1
- package/dist/remark-image-C3MnP-3r.d.ts.map +0 -1
- package/dist/remark-mdx-files-BXUiiX3M.d.ts.map +0 -1
- package/dist/remark-mdx-mermaid-C5ZBxx8x.d.ts.map +0 -1
- package/dist/remark-npm-DADZg0pf.d.ts.map +0 -1
- package/dist/remark-steps-CWEE34cT.d.ts.map +0 -1
- package/dist/remark-structure-ChKxMXnK.d.ts.map +0 -1
- package/dist/remove-undefined-Buxsprgu.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-legacy.d.ts.map +0 -1
- package/dist/search/orama-cloud-legacy.js.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-DzqmOjzV.js.map +0 -1
- package/dist/server-CjGgVKx_.d.ts.map +0 -1
- package/dist/shiki-B4NO99XD.js.map +0 -1
- package/dist/shiki-vKy7H_iw.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-C_WBOzek.js.map +0 -1
- package/dist/toc.d.ts.map +0 -1
- package/dist/toc.js.map +0 -1
- package/dist/util-Dn-wseQ5.js.map +0 -1
- package/dist/util-d5FlPx1Z.d.ts.map +0 -1
- package/dist/utils/use-effect-event.d.ts.map +0 -1
- 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-D10VxgVc.js.map +0 -1
- /package/dist/{chunk-C9UIFEcR.js → chunk-CQNP8FC4.js} +0 -0
- /package/dist/{remark-gfm-jrvaEZw5.d.ts → remark-gfm-Cvcfjik1.d.ts} +0 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { a as Separator$1, n as Item$1, t as Folder$1 } from "../../definitions-fBNEDML4.js";
|
|
2
|
+
import "../../index-DbVQNAN8.js";
|
|
3
|
+
import { s as LoaderPlugin } from "../../index-Bn_dIR1t.js";
|
|
4
|
+
import "../../index-Skpc1DNd.js";
|
|
5
|
+
import { ReactNode } from "react";
|
|
6
|
+
|
|
7
|
+
//#region src/source/plugins/status-badges.d.ts
|
|
8
|
+
interface Item extends Item$1 {
|
|
9
|
+
/**
|
|
10
|
+
* Status badge to display in the sidebar (e.g., "new", "beta", "deprecated", "experimental").
|
|
11
|
+
*/
|
|
12
|
+
status?: string;
|
|
13
|
+
}
|
|
14
|
+
interface Folder extends Omit<Folder$1, 'children' | 'index'> {
|
|
15
|
+
index?: Item;
|
|
16
|
+
children: Node[];
|
|
17
|
+
}
|
|
18
|
+
type Separator = Separator$1;
|
|
19
|
+
type Node = Item | Folder | Separator;
|
|
20
|
+
/**
|
|
21
|
+
* Plugin to add status badges to pages in the sidebar.
|
|
22
|
+
*
|
|
23
|
+
* This reads the `status` field from page frontmatter and adds it to the page tree item.
|
|
24
|
+
* Define the `renderBadge` option to render it.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* import { loader } from 'fumadocs-core/source';
|
|
29
|
+
* import { statusBadgesPlugin } from 'fumadocs-core/source/status-badges';
|
|
30
|
+
*
|
|
31
|
+
* export const source = loader({
|
|
32
|
+
* plugins: [
|
|
33
|
+
* statusBadgesPlugin({
|
|
34
|
+
* renderBadge: (status) => <span>{status}</span>,
|
|
35
|
+
* }),
|
|
36
|
+
* ],
|
|
37
|
+
* // ...
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* Then in your frontmatter:
|
|
42
|
+
* ```yaml
|
|
43
|
+
* ---
|
|
44
|
+
* title: My Page
|
|
45
|
+
* status: new
|
|
46
|
+
* ---
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
declare function statusBadgesPlugin(options?: {
|
|
50
|
+
renderBadge?: (status: string) => ReactNode;
|
|
51
|
+
}): LoaderPlugin;
|
|
52
|
+
//#endregion
|
|
53
|
+
export { Folder, Item, Node, Separator, statusBadgesPlugin };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/source/plugins/status-badges.tsx
|
|
4
|
+
/**
|
|
5
|
+
* Plugin to add status badges to pages in the sidebar.
|
|
6
|
+
*
|
|
7
|
+
* This reads the `status` field from page frontmatter and adds it to the page tree item.
|
|
8
|
+
* Define the `renderBadge` option to render it.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* import { loader } from 'fumadocs-core/source';
|
|
13
|
+
* import { statusBadgesPlugin } from 'fumadocs-core/source/status-badges';
|
|
14
|
+
*
|
|
15
|
+
* export const source = loader({
|
|
16
|
+
* plugins: [
|
|
17
|
+
* statusBadgesPlugin({
|
|
18
|
+
* renderBadge: (status) => <span>{status}</span>,
|
|
19
|
+
* }),
|
|
20
|
+
* ],
|
|
21
|
+
* // ...
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* Then in your frontmatter:
|
|
26
|
+
* ```yaml
|
|
27
|
+
* ---
|
|
28
|
+
* title: My Page
|
|
29
|
+
* status: new
|
|
30
|
+
* ---
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
function statusBadgesPlugin(options = {}) {
|
|
34
|
+
const { renderBadge = (status) => /* @__PURE__ */ jsx("span", {
|
|
35
|
+
"data-status": status,
|
|
36
|
+
children: status
|
|
37
|
+
}) } = options;
|
|
38
|
+
return {
|
|
39
|
+
name: "fumadocs:status-badges",
|
|
40
|
+
transformPageTree: { file(node, filePath) {
|
|
41
|
+
if (!filePath) return node;
|
|
42
|
+
const file = this.storage.read(filePath);
|
|
43
|
+
if (file?.format === "page" && "status" in file.data && typeof file.data.status === "string") {
|
|
44
|
+
const status = file.data.status;
|
|
45
|
+
node.name = /* @__PURE__ */ jsxs(Fragment, { children: [node.name, renderBadge(status)] });
|
|
46
|
+
node.status = status;
|
|
47
|
+
}
|
|
48
|
+
return node;
|
|
49
|
+
} }
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//#endregion
|
|
54
|
+
export { statusBadgesPlugin };
|
package/dist/source/schema.d.ts
CHANGED
package/dist/source/schema.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as searchSimple, t as searchAdvanced } from "./advanced-
|
|
1
|
+
import { n as searchSimple, t as searchAdvanced } from "./advanced-BiZjLx5X.js";
|
|
2
2
|
import { create, load } from "@orama/orama";
|
|
3
3
|
|
|
4
4
|
//#region src/search/client/static.ts
|
|
@@ -47,5 +47,4 @@ async function search(query, options) {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
//#endregion
|
|
50
|
-
export { search };
|
|
51
|
-
//# sourceMappingURL=static-C_WBOzek.js.map
|
|
50
|
+
export { search };
|
package/dist/toc.d.ts
CHANGED
|
@@ -52,5 +52,4 @@ declare function TOCItem({
|
|
|
52
52
|
...props
|
|
53
53
|
}: TOCItemProps): react_jsx_runtime0.JSX.Element;
|
|
54
54
|
//#endregion
|
|
55
|
-
export { AnchorProvider, AnchorProviderProps, ScrollProvider, ScrollProviderProps, TOCItem, TOCItemProps, TOCItemType, TableOfContents, useActiveAnchor, useActiveAnchors };
|
|
56
|
-
//# sourceMappingURL=toc.d.ts.map
|
|
55
|
+
export { AnchorProvider, AnchorProviderProps, ScrollProvider, ScrollProviderProps, TOCItem, TOCItemProps, TOCItemType, TableOfContents, useActiveAnchor, useActiveAnchors };
|
package/dist/toc.js
CHANGED
|
@@ -134,5 +134,4 @@ function useAnchorObserver(watch, single) {
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
//#endregion
|
|
137
|
-
export { AnchorProvider, ScrollProvider, TOCItem, useActiveAnchor, useActiveAnchors };
|
|
138
|
-
//# sourceMappingURL=toc.js.map
|
|
137
|
+
export { AnchorProvider, ScrollProvider, TOCItem, useActiveAnchor, useActiveAnchors };
|
|
@@ -4,5 +4,4 @@ import { Pluggable } from "unified";
|
|
|
4
4
|
type Thenable<T> = T | PromiseLike<T>;
|
|
5
5
|
type ResolvePlugins = Thenable<Pluggable>[] | ((v: Pluggable[]) => Thenable<Pluggable>[]);
|
|
6
6
|
//#endregion
|
|
7
|
-
export { ResolvePlugins as t };
|
|
8
|
-
//# sourceMappingURL=util-d5FlPx1Z.d.ts.map
|
|
7
|
+
export { ResolvePlugins as t };
|
|
@@ -130,5 +130,4 @@ function visit(root, visitor) {
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
//#endregion
|
|
133
|
-
export { flattenTree as a, visit as c, findSiblings as i, findParent as n, getPageTreePeers as o, findPath as r, getPageTreeRoots as s, findNeighbour as t };
|
|
134
|
-
//# sourceMappingURL=utils-D10VxgVc.js.map
|
|
133
|
+
export { flattenTree as a, visit as c, findSiblings as i, findParent as n, getPageTreePeers as o, findPath as r, getPageTreeRoots as s, findNeighbour as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fumadocs-core",
|
|
3
|
-
"version": "16.4.
|
|
3
|
+
"version": "16.4.8",
|
|
4
4
|
"description": "The React.js library for building a documentation website",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Docs",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"access": "public"
|
|
113
113
|
},
|
|
114
114
|
"dependencies": {
|
|
115
|
-
"@formatjs/intl-localematcher": "^0.
|
|
115
|
+
"@formatjs/intl-localematcher": "^0.8.0",
|
|
116
116
|
"@orama/orama": "^3.1.18",
|
|
117
117
|
"@shikijs/rehype": "^3.21.0",
|
|
118
118
|
"@shikijs/transformers": "^3.21.0",
|
|
@@ -130,36 +130,36 @@
|
|
|
130
130
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
131
131
|
"shiki": "^3.21.0",
|
|
132
132
|
"tinyglobby": "^0.2.15",
|
|
133
|
-
"unist-util-visit": "^5.
|
|
133
|
+
"unist-util-visit": "^5.1.0"
|
|
134
134
|
},
|
|
135
135
|
"devDependencies": {
|
|
136
136
|
"@mdx-js/mdx": "^3.1.1",
|
|
137
|
-
"@mixedbread/sdk": "^0.50.
|
|
137
|
+
"@mixedbread/sdk": "^0.50.1",
|
|
138
138
|
"@orama/core": "^1.2.16",
|
|
139
139
|
"@oramacloud/client": "^2.1.4",
|
|
140
|
-
"@tanstack/react-router": "1.
|
|
140
|
+
"@tanstack/react-router": "1.154.13",
|
|
141
141
|
"@types/estree-jsx": "^1.0.5",
|
|
142
142
|
"@types/hast": "^3.0.4",
|
|
143
143
|
"@types/mdast": "^4.0.4",
|
|
144
144
|
"@types/negotiator": "^0.6.4",
|
|
145
|
-
"@types/node": "25.0.
|
|
146
|
-
"@types/react": "^19.2.
|
|
145
|
+
"@types/node": "25.0.10",
|
|
146
|
+
"@types/react": "^19.2.9",
|
|
147
147
|
"@types/react-dom": "^19.2.3",
|
|
148
|
-
"algoliasearch": "5.
|
|
149
|
-
"lucide-react": "^0.
|
|
148
|
+
"algoliasearch": "5.47.0",
|
|
149
|
+
"lucide-react": "^0.563.0",
|
|
150
150
|
"mdast-util-mdx-jsx": "^3.2.0",
|
|
151
151
|
"mdast-util-mdxjs-esm": "^2.0.1",
|
|
152
|
-
"next": "16.1.
|
|
152
|
+
"next": "16.1.4",
|
|
153
153
|
"react-router": "^7.12.0",
|
|
154
154
|
"remark-directive": "^4.0.0",
|
|
155
155
|
"remark-mdx": "^3.1.1",
|
|
156
|
-
"remove-markdown": "^0.6.
|
|
157
|
-
"tsdown": "^0.
|
|
156
|
+
"remove-markdown": "^0.6.3",
|
|
157
|
+
"tsdown": "^0.19.0",
|
|
158
158
|
"typescript": "^5.9.3",
|
|
159
159
|
"unified": "^11.0.5",
|
|
160
160
|
"vfile": "^6.0.3",
|
|
161
|
-
"waku": "1.0.0-alpha.
|
|
162
|
-
"zod": "^4.3.
|
|
161
|
+
"waku": "1.0.0-alpha.2",
|
|
162
|
+
"zod": "^4.3.6",
|
|
163
163
|
"eslint-config-custom": "0.0.0",
|
|
164
164
|
"tsconfig": "0.0.0"
|
|
165
165
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"advanced-tbtFDsHU.js","names":["list: SortedResult[]"],"sources":["../src/search/orama/search/simple.ts","../src/search/orama/search/advanced.ts"],"sourcesContent":["import { type Orama, search, type SearchParams } from '@orama/orama';\nimport { type SimpleDocument, type simpleSchema } from '@/search/orama/create-db';\nimport { createContentHighlighter, type SortedResult } from '@/search';\n\nexport async function searchSimple(\n db: Orama<typeof simpleSchema>,\n query: string,\n params: Partial<SearchParams<Orama<typeof simpleSchema>, SimpleDocument>> = {},\n): Promise<SortedResult[]> {\n const highlighter = createContentHighlighter(query);\n const result = await search(db, {\n term: query,\n tolerance: 1,\n ...params,\n boost: {\n title: 2,\n ...('boost' in params ? params.boost : undefined),\n },\n });\n\n return result.hits.map<SortedResult>((hit) => ({\n type: 'page',\n content: hit.document.title,\n breadcrumbs: hit.document.breadcrumbs,\n contentWithHighlights: highlighter.highlight(hit.document.title),\n id: hit.document.url,\n url: hit.document.url,\n }));\n}\n","import { getByID, type Orama, search, type SearchParams } from '@orama/orama';\nimport { type AdvancedDocument, type advancedSchema } from '@/search/orama/create-db';\nimport { removeUndefined } from '@/utils/remove-undefined';\nimport { createContentHighlighter, type SortedResult } from '@/search';\n\nexport async function searchAdvanced(\n db: Orama<typeof advancedSchema>,\n query: string,\n tag: string | string[] = [],\n {\n mode = 'fulltext',\n ...override\n }: Partial<SearchParams<Orama<typeof advancedSchema>, AdvancedDocument>> = {},\n): Promise<SortedResult[]> {\n if (typeof tag === 'string') tag = [tag];\n\n let params = {\n ...override,\n mode,\n where: removeUndefined({\n tags:\n tag.length > 0\n ? {\n containsAll: tag,\n }\n : undefined,\n ...override.where,\n }),\n groupBy: {\n properties: ['page_id'],\n maxResult: 8,\n ...override.groupBy,\n },\n } as SearchParams<typeof db, AdvancedDocument>;\n\n if (query.length > 0) {\n params = {\n ...params,\n term: query,\n properties: mode === 'fulltext' ? ['content'] : ['content', 'embeddings'],\n } as SearchParams<typeof db, AdvancedDocument>;\n }\n\n const highlighter = createContentHighlighter(query);\n const result = await search(db, params);\n const list: SortedResult[] = [];\n for (const item of result.groups ?? []) {\n const pageId = item.values[0] as string;\n\n const page = getByID(db, pageId);\n if (!page) continue;\n\n list.push({\n id: pageId,\n type: 'page',\n content: page.content,\n breadcrumbs: page.breadcrumbs,\n contentWithHighlights: highlighter.highlight(page.content),\n url: page.url,\n });\n\n for (const hit of item.result) {\n if (hit.document.type === 'page') continue;\n\n list.push({\n id: hit.document.id.toString(),\n content: hit.document.content,\n breadcrumbs: hit.document.breadcrumbs,\n contentWithHighlights: highlighter.highlight(hit.document.content),\n type: hit.document.type as SortedResult['type'],\n url: hit.document.url,\n });\n }\n }\n return list;\n}\n"],"mappings":";;;;;AAIA,eAAsB,aACpB,IACA,OACA,SAA4E,EAAE,EACrD;CACzB,MAAM,cAAc,yBAAyB,MAAM;AAWnD,SAVe,MAAM,OAAO,IAAI;EAC9B,MAAM;EACN,WAAW;EACX,GAAG;EACH,OAAO;GACL,OAAO;GACP,GAAI,WAAW,SAAS,OAAO,QAAQ;GACxC;EACF,CAAC,EAEY,KAAK,KAAmB,SAAS;EAC7C,MAAM;EACN,SAAS,IAAI,SAAS;EACtB,aAAa,IAAI,SAAS;EAC1B,uBAAuB,YAAY,UAAU,IAAI,SAAS,MAAM;EAChE,IAAI,IAAI,SAAS;EACjB,KAAK,IAAI,SAAS;EACnB,EAAE;;;;;ACtBL,eAAsB,eACpB,IACA,OACA,MAAyB,EAAE,EAC3B,EACE,OAAO,YACP,GAAG,aACsE,EAAE,EACpD;AACzB,KAAI,OAAO,QAAQ,SAAU,OAAM,CAAC,IAAI;CAExC,IAAI,SAAS;EACX,GAAG;EACH;EACA,OAAO,gBAAgB;GACrB,MACE,IAAI,SAAS,IACT,EACE,aAAa,KACd,GACD;GACN,GAAG,SAAS;GACb,CAAC;EACF,SAAS;GACP,YAAY,CAAC,UAAU;GACvB,WAAW;GACX,GAAG,SAAS;GACb;EACF;AAED,KAAI,MAAM,SAAS,EACjB,UAAS;EACP,GAAG;EACH,MAAM;EACN,YAAY,SAAS,aAAa,CAAC,UAAU,GAAG,CAAC,WAAW,aAAa;EAC1E;CAGH,MAAM,cAAc,yBAAyB,MAAM;CACnD,MAAM,SAAS,MAAM,OAAO,IAAI,OAAO;CACvC,MAAMA,OAAuB,EAAE;AAC/B,MAAK,MAAM,QAAQ,OAAO,UAAU,EAAE,EAAE;EACtC,MAAM,SAAS,KAAK,OAAO;EAE3B,MAAM,OAAO,QAAQ,IAAI,OAAO;AAChC,MAAI,CAAC,KAAM;AAEX,OAAK,KAAK;GACR,IAAI;GACJ,MAAM;GACN,SAAS,KAAK;GACd,aAAa,KAAK;GAClB,uBAAuB,YAAY,UAAU,KAAK,QAAQ;GAC1D,KAAK,KAAK;GACX,CAAC;AAEF,OAAK,MAAM,OAAO,KAAK,QAAQ;AAC7B,OAAI,IAAI,SAAS,SAAS,OAAQ;AAElC,QAAK,KAAK;IACR,IAAI,IAAI,SAAS,GAAG,UAAU;IAC9B,SAAS,IAAI,SAAS;IACtB,aAAa,IAAI,SAAS;IAC1B,uBAAuB,YAAY,UAAU,IAAI,SAAS,QAAQ;IAClE,MAAM,IAAI,SAAS;IACnB,KAAK,IAAI,SAAS;IACnB,CAAC;;;AAGN,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"algolia-B9GvomyW.d.ts","names":[],"sources":["../src/search/algolia.ts"],"sourcesContent":[],"mappings":";;;;UAGiB,cAAA;;AAAjB;AA2BA;EAkBsB,GAAA,EAAA,MAAI;EAAS,KAAA,EAAA,MAAA;EAAwB,WAAA,CAAA,EAAA,MAAA;EAAc,WAAA,CAAA,EAAA,MAAA,EAAA;EAAO;AAMhF;AAyDA;EACU,GAAA,EAAA,MAAA;EAEG,UAAA,EAjGC,cAiGD;EACV;;AASH;;;;;;;UA9FiB,WAAA;;;;;;;;aASJ;;;;;;;;iBASS,IAAA,SAAa,wBAAwB,cAAc;iBAMnD,gBAAA,SAAyB,mCAAmC;iBAyD5D,eAAA,SACZ,6CAEG,mBACV;UASc,SAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"algolia-Dbt0kj8j.js","names":["grouped: SortedResult[]"],"sources":["../src/search/client/algolia.ts"],"sourcesContent":["import type { BaseIndex } from '@/search/algolia';\nimport type { Hit, LiteClient, SearchResponse } from 'algoliasearch/lite';\nimport { createContentHighlighter, type SortedResult } from '@/search';\n\nexport interface AlgoliaOptions {\n indexName: string;\n client: LiteClient;\n\n /**\n * Filter results with specific tag.\n */\n tag?: string;\n\n locale?: string;\n\n onSearch?: (\n query: string,\n tag?: string,\n locale?: string,\n ) => Promise<{\n results: SearchResponse<BaseIndex>[];\n }>;\n}\n\nexport function groupResults(hits: Hit<BaseIndex>[]): SortedResult[] {\n const grouped: SortedResult[] = [];\n const scannedUrls = new Set<string>();\n\n for (const hit of hits) {\n if (!scannedUrls.has(hit.url)) {\n scannedUrls.add(hit.url);\n\n grouped.push({\n id: hit.url,\n type: 'page',\n breadcrumbs: hit.breadcrumbs,\n url: hit.url,\n content: hit.title,\n });\n }\n\n grouped.push({\n id: hit.objectID,\n type: hit.content === hit.section ? 'heading' : 'text',\n url: hit.section_id ? `${hit.url}#${hit.section_id}` : hit.url,\n content: hit.content,\n });\n }\n\n return grouped;\n}\n\nexport async function searchDocs(\n query: string,\n { indexName, onSearch, client, locale, tag }: AlgoliaOptions,\n): Promise<SortedResult[]> {\n if (query.trim().length === 0) return [];\n\n const result = onSearch\n ? await onSearch(query, tag, locale)\n : await client.searchForHits<BaseIndex>({\n requests: [\n {\n type: 'default',\n indexName,\n query,\n distinct: 5,\n hitsPerPage: 10,\n filters: tag ? `tag:${tag}` : undefined,\n },\n ],\n });\n\n const highlighter = createContentHighlighter(query);\n return groupResults(result.results[0].hits).flatMap((hit) => {\n if (hit.type === 'page') {\n return {\n ...hit,\n contentWithHighlights: hit.contentWithHighlights ?? highlighter.highlight(hit.content),\n };\n }\n\n return [];\n });\n}\n"],"mappings":";;;AAwBA,SAAgB,aAAa,MAAwC;CACnE,MAAMA,UAA0B,EAAE;CAClC,MAAM,8BAAc,IAAI,KAAa;AAErC,MAAK,MAAM,OAAO,MAAM;AACtB,MAAI,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE;AAC7B,eAAY,IAAI,IAAI,IAAI;AAExB,WAAQ,KAAK;IACX,IAAI,IAAI;IACR,MAAM;IACN,aAAa,IAAI;IACjB,KAAK,IAAI;IACT,SAAS,IAAI;IACd,CAAC;;AAGJ,UAAQ,KAAK;GACX,IAAI,IAAI;GACR,MAAM,IAAI,YAAY,IAAI,UAAU,YAAY;GAChD,KAAK,IAAI,aAAa,GAAG,IAAI,IAAI,GAAG,IAAI,eAAe,IAAI;GAC3D,SAAS,IAAI;GACd,CAAC;;AAGJ,QAAO;;AAGT,eAAsB,WACpB,OACA,EAAE,WAAW,UAAU,QAAQ,QAAQ,OACd;AACzB,KAAI,MAAM,MAAM,CAAC,WAAW,EAAG,QAAO,EAAE;CAExC,MAAM,SAAS,WACX,MAAM,SAAS,OAAO,KAAK,OAAO,GAClC,MAAM,OAAO,cAAyB,EACpC,UAAU,CACR;EACE,MAAM;EACN;EACA;EACA,UAAU;EACV,aAAa;EACb,SAAS,MAAM,OAAO,QAAQ;EAC/B,CACF,EACF,CAAC;CAEN,MAAM,cAAc,yBAAyB,MAAM;AACnD,QAAO,aAAa,OAAO,QAAQ,GAAG,KAAK,CAAC,SAAS,QAAQ;AAC3D,MAAI,IAAI,SAAS,OACf,QAAO;GACL,GAAG;GACH,uBAAuB,IAAI,yBAAyB,YAAY,UAAU,IAAI,QAAQ;GACvF;AAGH,SAAO,EAAE;GACT"}
|
package/dist/breadcrumb.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.d.ts","names":[],"sources":["../src/breadcrumb.tsx"],"sourcesContent":[],"mappings":";;;;UAKiB,cAAA;QACT;EADS,GAAA,CAAA,EAAA,MAAA;AAKjB;AA8BgB,UA9BC,iBAAA,CA8BY;EAErB;;;;AAMR;EAEQ,WAAA,CAAA,EAAA,OAAA,GAAA;IACG;;;IAKK,GAAA,EAAA,MAAA;EACR,CAAA;EACA;;;;AAyDR;;;;;;;;;iBA3EgB,aAAA,oBAER,gBACI,oBACT;iBAIa,kBAAA,oBAER,gBACG,oBACR;iBAIa,0BAAA,OACR,YACA,iBACG,oBACR;;;;;;;;;iBAuDa,UAAA,QAAkB,sBAA+B"}
|
package/dist/breadcrumb.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.js","names":["items: BreadcrumbItem[]"],"sources":["../src/breadcrumb.tsx"],"sourcesContent":["import { type ReactNode, useMemo } from 'react';\nimport type * as PageTree from '@/page-tree/definitions';\nimport { normalizeUrl } from '@/utils/normalize-url';\nimport { findPath } from '@/page-tree/utils';\n\nexport interface BreadcrumbItem {\n name: ReactNode;\n url?: string;\n}\n\nexport interface BreadcrumbOptions {\n /**\n * Include the root folders in the breadcrumb items array.\n *\n * @defaultValue false\n */\n includeRoot?:\n | boolean\n | {\n /**\n * Specify the url of root\n */\n url: string;\n };\n\n /**\n * Include the page itself in the breadcrumb items array\n *\n * @defaultValue false\n */\n includePage?: boolean;\n\n /**\n * Count separator as an item\n *\n * @defaultValue false\n */\n includeSeparator?: boolean;\n}\n\nexport function useBreadcrumb(\n url: string,\n tree: PageTree.Root,\n options?: BreadcrumbOptions,\n): BreadcrumbItem[] {\n return useMemo(() => getBreadcrumbItems(url, tree, options), [tree, url, options]);\n}\n\nexport function getBreadcrumbItems(\n url: string,\n tree: PageTree.Root,\n options: BreadcrumbOptions = {},\n): BreadcrumbItem[] {\n return getBreadcrumbItemsFromPath(tree, searchPath(tree.children, url) ?? [], options);\n}\n\nexport function getBreadcrumbItemsFromPath(\n tree: PageTree.Root,\n path: PageTree.Node[],\n options: BreadcrumbOptions,\n): BreadcrumbItem[] {\n const { includePage = false, includeSeparator = false, includeRoot = false } = options;\n let items: BreadcrumbItem[] = [];\n for (let i = 0; i < path.length; i++) {\n const item = path[i];\n\n switch (item.type) {\n case 'page':\n if (includePage)\n items.push({\n name: item.name,\n url: item.url,\n });\n break;\n case 'folder':\n if (item.root && !includeRoot) {\n items = [];\n break;\n }\n\n // only show the index node of folders if possible\n if (i === path.length - 1 || item.index !== path[i + 1]) {\n items.push({\n name: item.name,\n url: item.index?.url,\n });\n }\n break;\n case 'separator':\n if (item.name && includeSeparator)\n items.push({\n name: item.name,\n });\n break;\n }\n }\n\n if (includeRoot) {\n items.unshift({\n name: tree.name,\n url: typeof includeRoot === 'object' ? includeRoot.url : undefined,\n });\n }\n\n return items;\n}\n\n/**\n * Search the path of a node in the tree by a specified url\n *\n * - When the page doesn't exist, return null\n *\n * @returns The path to the target node from root\n * @internal Don't use this on your own\n */\nexport function searchPath(nodes: PageTree.Node[], url: string): PageTree.Node[] | null {\n const normalizedUrl = normalizeUrl(url);\n\n return findPath(nodes, (node) => node.type === 'page' && node.url === normalizedUrl);\n}\n"],"mappings":";;;;;AAwCA,SAAgB,cACd,KACA,MACA,SACkB;AAClB,QAAO,cAAc,mBAAmB,KAAK,MAAM,QAAQ,EAAE;EAAC;EAAM;EAAK;EAAQ,CAAC;;AAGpF,SAAgB,mBACd,KACA,MACA,UAA6B,EAAE,EACb;AAClB,QAAO,2BAA2B,MAAM,WAAW,KAAK,UAAU,IAAI,IAAI,EAAE,EAAE,QAAQ;;AAGxF,SAAgB,2BACd,MACA,MACA,SACkB;CAClB,MAAM,EAAE,cAAc,OAAO,mBAAmB,OAAO,cAAc,UAAU;CAC/E,IAAIA,QAA0B,EAAE;AAChC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;EACpC,MAAM,OAAO,KAAK;AAElB,UAAQ,KAAK,MAAb;GACE,KAAK;AACH,QAAI,YACF,OAAM,KAAK;KACT,MAAM,KAAK;KACX,KAAK,KAAK;KACX,CAAC;AACJ;GACF,KAAK;AACH,QAAI,KAAK,QAAQ,CAAC,aAAa;AAC7B,aAAQ,EAAE;AACV;;AAIF,QAAI,MAAM,KAAK,SAAS,KAAK,KAAK,UAAU,KAAK,IAAI,GACnD,OAAM,KAAK;KACT,MAAM,KAAK;KACX,KAAK,KAAK,OAAO;KAClB,CAAC;AAEJ;GACF,KAAK;AACH,QAAI,KAAK,QAAQ,iBACf,OAAM,KAAK,EACT,MAAM,KAAK,MACZ,CAAC;AACJ;;;AAIN,KAAI,YACF,OAAM,QAAQ;EACZ,MAAM,KAAK;EACX,KAAK,OAAO,gBAAgB,WAAW,YAAY,MAAM;EAC1D,CAAC;AAGJ,QAAO;;;;;;;;;;AAWT,SAAgB,WAAW,OAAwB,KAAqC;CACtF,MAAM,gBAAgB,aAAa,IAAI;AAEvC,QAAO,SAAS,QAAQ,SAAS,KAAK,SAAS,UAAU,KAAK,QAAQ,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codeblock-utils-CdA7nXLP.d.ts","names":[],"sources":["../src/mdx-plugins/codeblock-utils.ts"],"sourcesContent":[],"mappings":";;;;UAGiB,oBAAA;eACF;EADE,YAAA,CAAA,EAAA,MAAA;EACF,OAAA,CAAA,EAAA;IASA,EAAA,EAAA,MAAA;EAAe,CAAA,GAAA,KAAA;EAIhB,QAAA,EAAA;IAAY,KAAA,EAAA,MAAA;IAIV,QAAA,EAAA,CARD,YAQsB,GARP,IAQO,CAAA,EAAA;EACnC,CAAA,EAAA;EACA,IAAA,EAAA;IACA,KAAA,EAAA,MAAA;IACA,QAAA,EARY,YAQZ,EAAA;EAEC,CAAA,EAAA;;AAAwC,iBAN3B,qBAAA,CAM2B;EAAA,OAAA;EAAA,YAAA;EAAA,QAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAAxC,oBAAwC,CAAA,EAAjB,iBAAiB;AA6D1B,UAAA,mBAAmB,CAAA,aAAA,MAAA,GAAA,MAAA,CAAA,CAAA;EACP,UAAA,EAAf,OAAe,CAAP,MAAO,CAAA,IAAA,EAAA,MAAA,GAAA,IAAA,CAAA,CAAA;EAAP,IAAA,EAAA,MAAA;;;AAOtB;;AAGuB,iBAHP,wBAGO,CAAA,aAAA,MAAA,GAAA,MAAA,CAAA,CAAA,IAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EADN,IACM,EAAA,CAAA,EAApB,mBAAoB,CAAA,IAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","names":[],"sources":["../../src/content/github.ts"],"sourcesContent":[],"mappings":";UAQiB,0BAAA;EAAA;AA6CjB;;EAEE,IAAA,EAAA,MAAA;EACA;EACA,KAAA,EAAA,MAAA;EACA;;;EAGQ,IAAA,EAAA,MAAA;EACP;;;EAAoC,KAAA,CAAA,EAAA,MAAA;;;;;;;;;;;;;;WApB5B;YAEC;;;;;;;;iBASU,iBAAA;;;;;;;;UAQZ;GACP,6BAA6B,QAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","names":[],"sources":["../../src/content/github.ts"],"sourcesContent":["type Response = {\n commit: {\n committer: {\n date: string;\n };\n };\n}[];\n\nexport interface GetGithubLastCommitOptions {\n /**\n * Repository name, like \"fumadocs\"\n */\n repo: string;\n\n /** Owner of repository */\n owner: string;\n\n /**\n * Path to file\n */\n path: string;\n\n /**\n * GitHub access token\n */\n token?: string;\n\n /**\n * SHA or ref (branch or tag) name.\n */\n sha?: string;\n\n /**\n * Base URL for GitHub API\n * @default \"https://api.github.com\"\n * @link https://docs.github.com/en/get-started/using-github-docs/about-versions-of-github-docs#determining-which-github-product-you-use\n */\n baseUrl?: string;\n\n /**\n * Custom query parameters\n */\n params?: Record<string, string>;\n\n options?: RequestInit;\n}\n\n/**\n * Get the last edit time of a file using GitHub API\n *\n * By default, this will cache the result forever.\n * Set `options.next.revalidate` to customise this.\n */\nexport async function getGithubLastEdit({\n repo,\n token,\n owner,\n path,\n sha,\n baseUrl = 'https://api.github.com',\n options = {},\n params: customParams = {},\n}: GetGithubLastCommitOptions): Promise<Date | null> {\n const headers = new Headers(options.headers);\n const params = new URLSearchParams();\n params.set('path', path);\n params.set('page', '1');\n params.set('per_page', '1');\n\n if (sha) params.set('sha', sha);\n\n for (const [key, value] of Object.entries(customParams)) {\n params.set(key, value);\n }\n\n if (token) {\n headers.append('authorization', token);\n }\n\n const res = await fetch(`${baseUrl}/repos/${owner}/${repo}/commits?${params.toString()}`, {\n cache: 'force-cache',\n ...options,\n headers,\n });\n\n if (!res.ok) throw new Error(`Failed to fetch last edit time from Git ${await res.text()}`);\n const data = (await res.json()) as Response;\n\n if (data.length === 0) return null;\n return new Date(data[0].commit.committer.date);\n}\n"],"mappings":";;;;;;;AAqDA,eAAsB,kBAAkB,EACtC,MACA,OACA,OACA,MACA,KACA,UAAU,0BACV,UAAU,EAAE,EACZ,QAAQ,eAAe,EAAE,IAC0B;CACnD,MAAM,UAAU,IAAI,QAAQ,QAAQ,QAAQ;CAC5C,MAAM,SAAS,IAAI,iBAAiB;AACpC,QAAO,IAAI,QAAQ,KAAK;AACxB,QAAO,IAAI,QAAQ,IAAI;AACvB,QAAO,IAAI,YAAY,IAAI;AAE3B,KAAI,IAAK,QAAO,IAAI,OAAO,IAAI;AAE/B,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,aAAa,CACrD,QAAO,IAAI,KAAK,MAAM;AAGxB,KAAI,MACF,SAAQ,OAAO,iBAAiB,MAAM;CAGxC,MAAM,MAAM,MAAM,MAAM,GAAG,QAAQ,SAAS,MAAM,GAAG,KAAK,WAAW,OAAO,UAAU,IAAI;EACxF,OAAO;EACP,GAAG;EACH;EACD,CAAC;AAEF,KAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM,2CAA2C,MAAM,IAAI,MAAM,GAAG;CAC3F,MAAM,OAAQ,MAAM,IAAI,MAAM;AAE9B,KAAI,KAAK,WAAW,EAAG,QAAO;AAC9B,QAAO,IAAI,KAAK,KAAK,GAAG,OAAO,UAAU,KAAK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/content/index.ts"],"sourcesContent":[],"mappings":";;;;;;;UAqBiB,aAAA;eACF;;AADE,iBAIK,QAAA,CAHP;EAAA,QAAA,EAIH,OAJa;EAAA,aAAA;EAAA,aAAA;EAAA,GAAA;CAAA,EAQtB,aARsB,GAAA;EAGH,aAAQ,CAAA,EAMZ,aANY;EAClB,aAAA,CAAA,EAMM,aANN;EACV,QAAA,EAMU,UANV;CACA,CAAA,EAMD,OANC,CAMD,MAAA,CAAA,YANC,CAAA,OAAA,EAAA,MAAA,GAKoB,MAAA,CACrB,qBANC,CAAA,GAAA,CAAA,CAAA,GAMD,QANC,CAMD,SANC,CAAA,GAAA,CAAA,MAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GAMD,MAAA,CAAA,WAAA,GAAA,MAAA,CAAA,YANC,CAAA,OAAA,EAAA,MAAA,GAMD,MAAA,CAAA,qBANC,CAAA,GAAA,CAAA,CAAA,GAMD,QANC,CAMD,SANC,CAAA,GAAA,IAAA,GAAA,SAAA,CAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/content/index.ts"],"sourcesContent":["import { remark } from 'remark';\nimport remarkGfm from 'remark-gfm';\nimport remarkRehype from 'remark-rehype';\nimport type { Compatible } from 'vfile';\nimport { type Components, toJsxRuntime } from 'hast-util-to-jsx-runtime';\nimport type { Root } from 'hast';\nimport * as JsxRuntime from 'react/jsx-runtime';\nimport type { PluggableList, Processor } from 'unified';\nimport type { ReactNode } from 'react';\n\nfunction rehypeReact(this: Processor, options: MarkdownProps = {}) {\n this.compiler = (tree, file) => {\n return toJsxRuntime(tree as Root, {\n development: false,\n filePath: file.path,\n ...JsxRuntime,\n ...options,\n });\n };\n}\n\nexport interface MarkdownProps {\n components?: Components;\n}\n\nexport async function Markdown({\n children: content,\n remarkPlugins = [],\n rehypePlugins = [],\n ...options\n}: MarkdownProps & {\n remarkPlugins?: PluggableList;\n rehypePlugins?: PluggableList;\n children: Compatible;\n}) {\n const processor = remark()\n .use(remarkGfm)\n .use(remarkPlugins)\n .use(remarkRehype)\n .use(rehypePlugins)\n .use(rehypeReact, options);\n\n return (await processor.process(content)).result as ReactNode;\n}\n"],"mappings":";;;;;;;AAUA,SAAS,YAA6B,UAAyB,EAAE,EAAE;AACjE,MAAK,YAAY,MAAM,SAAS;AAC9B,SAAO,aAAa,MAAc;GAChC,aAAa;GACb,UAAU,KAAK;GACf,GAAG;GACH,GAAG;GACJ,CAAC;;;AAQN,eAAsB,SAAS,EAC7B,UAAU,SACV,gBAAgB,EAAE,EAClB,gBAAgB,EAAE,EAClB,GAAG,WAKF;AAQD,SAAQ,MAPU,QAAQ,CACvB,IAAI,UAAU,CACd,IAAI,cAAc,CAClB,IAAI,aAAa,CACjB,IAAI,cAAc,CAClB,IAAI,aAAa,QAAQ,CAEJ,QAAQ,QAAQ,EAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preset-bundler.d.ts","names":[],"sources":["../../../src/content/mdx/preset-bundler.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;KAIY,uBAAA,GAA0B,KACpC,YAAY;kBAGI;kBACA;2BAES;yBACF;uBACF;yBACE;qBACJ;sBACC;AAZtB,CAAA;;;;AAIkB,iBAcI,SAAA,CAdJ,OAAA,CAAA,EAcuB,uBAdvB,CAAA,EAcsD,OAdtD,CAc8D,gBAd9D,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preset-bundler.js","names":[],"sources":["../../../src/content/mdx/preset-bundler.ts"],"sourcesContent":["import type { ProcessorOptions } from '@mdx-js/mdx';\nimport type * as Plugins from '@/mdx-plugins';\nimport { resolvePlugins, type ResolvePlugins } from '@/content/mdx/util';\n\nexport type MDXBundlerPresetOptions = Omit<\n NonNullable<ProcessorOptions>,\n 'rehypePlugins' | 'remarkPlugins'\n> & {\n rehypePlugins?: ResolvePlugins;\n remarkPlugins?: ResolvePlugins;\n\n remarkStructureOptions?: Plugins.StructureOptions | false;\n remarkHeadingOptions?: Plugins.RemarkHeadingOptions;\n remarkImageOptions?: Plugins.RemarkImageOptions | false;\n remarkCodeTabOptions?: Plugins.RemarkCodeTabOptions | false;\n remarkNpmOptions?: Plugins.RemarkNpmOptions | false;\n rehypeCodeOptions?: Plugins.RehypeCodeOptions | false;\n};\n\n/**\n * apply MDX processor presets\n */\nexport async function mdxPreset(options: MDXBundlerPresetOptions = {}): Promise<ProcessorOptions> {\n const {\n rehypeCodeOptions,\n remarkImageOptions,\n remarkHeadingOptions,\n remarkStructureOptions,\n remarkCodeTabOptions,\n remarkNpmOptions,\n ...mdxOptions\n } = options;\n\n const remarkPlugins = await resolvePlugins(\n (v) => [\n import('remark-gfm').then((mod) => mod.default),\n import('@/mdx-plugins/remark-heading').then((mod) => [\n mod.remarkHeading,\n {\n generateToc: false,\n ...remarkHeadingOptions,\n },\n ]),\n remarkImageOptions !== false &&\n import('@/mdx-plugins/remark-image').then((mod) => [\n mod.remarkImage,\n {\n ...remarkImageOptions,\n useImport: remarkImageOptions?.useImport ?? true,\n },\n ]),\n remarkCodeTabOptions !== false &&\n import('@/mdx-plugins/remark-code-tab').then((mod) => [\n mod.remarkCodeTab,\n remarkCodeTabOptions,\n ]),\n remarkNpmOptions !== false &&\n import('@/mdx-plugins/remark-npm').then((mod) => [mod.remarkNpm, remarkNpmOptions]),\n ...v,\n remarkStructureOptions !== false &&\n import('@/mdx-plugins/remark-structure').then((mod) => [\n mod.remarkStructure,\n {\n exportAs: 'structuredData',\n ...remarkStructureOptions,\n } satisfies Plugins.StructureOptions,\n ]),\n ],\n mdxOptions.remarkPlugins,\n );\n\n const rehypePlugins = await resolvePlugins(\n (v) => [\n rehypeCodeOptions !== false &&\n import('@/mdx-plugins/rehype-code').then((mod) => [mod.rehypeCode, rehypeCodeOptions]),\n ...v,\n import('@/mdx-plugins/rehype-toc').then((mod) => mod.rehypeToc),\n ],\n mdxOptions.rehypePlugins,\n );\n\n return {\n ...mdxOptions,\n remarkPlugins,\n rehypePlugins,\n };\n}\n"],"mappings":";;;;;;AAsBA,eAAsB,UAAU,UAAmC,EAAE,EAA6B;CAChG,MAAM,EACJ,mBACA,oBACA,sBACA,wBACA,sBACA,kBACA,GAAG,eACD;CAEJ,MAAM,gBAAgB,MAAM,gBACzB,MAAM;EACL,OAAO,cAAc,MAAM,QAAQ,IAAI,QAAQ;EAC/C,OAAO,uCAAgC,MAAM,QAAQ,CACnD,IAAI,eACJ;GACE,aAAa;GACb,GAAG;GACJ,CACF,CAAC;EACF,uBAAuB,SACrB,OAAO,qCAA8B,MAAM,QAAQ,CACjD,IAAI,aACJ;GACE,GAAG;GACH,WAAW,oBAAoB,aAAa;GAC7C,CACF,CAAC;EACJ,yBAAyB,SACvB,OAAO,wCAAiC,MAAM,QAAQ,CACpD,IAAI,eACJ,qBACD,CAAC;EACJ,qBAAqB,SACnB,OAAO,mCAA4B,MAAM,QAAQ,CAAC,IAAI,WAAW,iBAAiB,CAAC;EACrF,GAAG;EACH,2BAA2B,SACzB,OAAO,yCAAkC,MAAM,QAAQ,CACrD,IAAI,iBACJ;GACE,UAAU;GACV,GAAG;GACJ,CACF,CAAC;EACL,EACD,WAAW,cACZ;CAED,MAAM,gBAAgB,MAAM,gBACzB,MAAM;EACL,sBAAsB,SACpB,OAAO,oCAA6B,MAAM,QAAQ,CAAC,IAAI,YAAY,kBAAkB,CAAC;EACxF,GAAG;EACH,OAAO,mCAA4B,MAAM,QAAQ,IAAI,UAAU;EAChE,EACD,WAAW,cACZ;AAED,QAAO;EACL,GAAG;EACH;EACA;EACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preset-runtime.d.ts","names":[],"sources":["../../../src/content/mdx/preset-runtime.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;KAIY,uBAAA,GAA0B,KACpC,YAAY;kBAGI;kBACA;2BAES;yBACF;uBACF;yBACE;qBACJ;sBACC;AAZtB,CAAA;;;;AAIkB,iBAcI,SAAA,CAdJ,OAAA,CAAA,EAcuB,uBAdvB,CAAA,EAcsD,OAdtD,CAc8D,gBAd9D,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preset-runtime.js","names":[],"sources":["../../../src/content/mdx/preset-runtime.ts"],"sourcesContent":["import type { ProcessorOptions } from '@mdx-js/mdx';\nimport type * as Plugins from '@/mdx-plugins';\nimport { resolvePlugins, type ResolvePlugins } from '@/content/mdx/util';\n\nexport type MDXRuntimePresetOptions = Omit<\n NonNullable<ProcessorOptions>,\n 'rehypePlugins' | 'remarkPlugins'\n> & {\n rehypePlugins?: ResolvePlugins;\n remarkPlugins?: ResolvePlugins;\n\n remarkStructureOptions?: Plugins.StructureOptions | false;\n remarkHeadingOptions?: Plugins.RemarkHeadingOptions;\n remarkImageOptions?: Plugins.RemarkImageOptions | false;\n remarkCodeTabOptions?: Plugins.RemarkCodeTabOptions | false;\n remarkNpmOptions?: Plugins.RemarkNpmOptions | false;\n rehypeCodeOptions?: Plugins.RehypeCodeOptions | false;\n};\n\n/**\n * apply MDX processor presets\n */\nexport async function mdxPreset(options: MDXRuntimePresetOptions = {}): Promise<ProcessorOptions> {\n const {\n rehypeCodeOptions,\n remarkImageOptions,\n remarkHeadingOptions,\n remarkStructureOptions,\n remarkCodeTabOptions,\n remarkNpmOptions,\n outputFormat = 'function-body',\n ...mdxOptions\n } = options;\n\n const remarkPlugins = await resolvePlugins(\n (v) => [\n import('remark-gfm').then((mod) => mod.default),\n import('@/mdx-plugins/remark-heading').then((mod) => [\n mod.remarkHeading,\n {\n generateToc: false,\n ...remarkHeadingOptions,\n },\n ]),\n remarkImageOptions !== false &&\n import('@/mdx-plugins/remark-image').then((mod) => [mod.remarkImage, remarkImageOptions]),\n remarkCodeTabOptions !== false &&\n import('@/mdx-plugins/remark-code-tab').then((mod) => [\n mod.remarkCodeTab,\n remarkCodeTabOptions,\n ]),\n remarkNpmOptions !== false &&\n import('@/mdx-plugins/remark-npm').then((mod) => [mod.remarkNpm, remarkNpmOptions]),\n ...v,\n remarkStructureOptions !== false &&\n import('@/mdx-plugins/remark-structure').then((mod) => [\n mod.remarkStructure,\n {\n exportAs: 'structuredData',\n ...remarkStructureOptions,\n } satisfies Plugins.StructureOptions,\n ]),\n ],\n mdxOptions.remarkPlugins,\n );\n\n const rehypePlugins = await resolvePlugins(\n (v) => [\n rehypeCodeOptions !== false &&\n import('@/mdx-plugins/rehype-code').then((mod) => [mod.rehypeCode, rehypeCodeOptions]),\n ...v,\n import('@/mdx-plugins/rehype-toc').then((mod) => mod.rehypeToc),\n ],\n mdxOptions.rehypePlugins,\n );\n\n return {\n ...mdxOptions,\n outputFormat,\n remarkPlugins,\n rehypePlugins,\n };\n}\n"],"mappings":";;;;;;AAsBA,eAAsB,UAAU,UAAmC,EAAE,EAA6B;CAChG,MAAM,EACJ,mBACA,oBACA,sBACA,wBACA,sBACA,kBACA,eAAe,iBACf,GAAG,eACD;CAEJ,MAAM,gBAAgB,MAAM,gBACzB,MAAM;EACL,OAAO,cAAc,MAAM,QAAQ,IAAI,QAAQ;EAC/C,OAAO,uCAAgC,MAAM,QAAQ,CACnD,IAAI,eACJ;GACE,aAAa;GACb,GAAG;GACJ,CACF,CAAC;EACF,uBAAuB,SACrB,OAAO,qCAA8B,MAAM,QAAQ,CAAC,IAAI,aAAa,mBAAmB,CAAC;EAC3F,yBAAyB,SACvB,OAAO,wCAAiC,MAAM,QAAQ,CACpD,IAAI,eACJ,qBACD,CAAC;EACJ,qBAAqB,SACnB,OAAO,mCAA4B,MAAM,QAAQ,CAAC,IAAI,WAAW,iBAAiB,CAAC;EACrF,GAAG;EACH,2BAA2B,SACzB,OAAO,yCAAkC,MAAM,QAAQ,CACrD,IAAI,iBACJ;GACE,UAAU;GACV,GAAG;GACJ,CACF,CAAC;EACL,EACD,WAAW,cACZ;CAED,MAAM,gBAAgB,MAAM,gBACzB,MAAM;EACL,sBAAsB,SACpB,OAAO,oCAA6B,MAAM,QAAQ,CAAC,IAAI,YAAY,kBAAkB,CAAC;EACxF,GAAG;EACH,OAAO,mCAA4B,MAAM,QAAQ,IAAI,UAAU;EAChE,EACD,WAAW,cACZ;AAED,QAAO;EACL,GAAG;EACH;EACA;EACA;EACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toc.d.ts","names":[],"sources":["../../src/content/toc.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAWA;AAQA;;AAEiB,iBAVD,kBAAA,CAUC,OAAA,EAV2B,UAU3B,CAAA,EAVwC,WAUxC,EAAA;;;;;;;iBAFD,kBAAA,UACL,2BACM,gBACd,QAAQ"}
|
package/dist/content/toc.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toc.js","names":["result"],"sources":["../../src/content/toc.ts"],"sourcesContent":["import { remark } from 'remark';\nimport { remarkHeading } from '@/mdx-plugins/remark-heading';\nimport type { PluggableList } from 'unified';\nimport type { Compatible } from 'vfile';\nimport type { TOCItemType } from '@/toc';\n\n/**\n * Get Table of Contents from markdown/mdx document (using remark)\n *\n * @param content - Markdown content or file\n */\nexport function getTableOfContents(content: Compatible): TOCItemType[];\n\n/**\n * Get Table of Contents from markdown/mdx document (using remark)\n *\n * @param content - Markdown content or file\n * @param remarkPlugins - remark plugins to be applied first\n */\nexport function getTableOfContents(\n content: Compatible,\n remarkPlugins: PluggableList,\n): Promise<TOCItemType[]>;\n\nexport function getTableOfContents(\n content: Compatible,\n remarkPlugins?: PluggableList,\n): TOCItemType[] | Promise<TOCItemType[]> {\n if (remarkPlugins) {\n return remark()\n .use(remarkPlugins)\n .use(remarkHeading)\n .process(content)\n .then((result) => {\n if ('toc' in result.data) return result.data.toc as TOCItemType[];\n\n return [];\n });\n }\n\n // compatible with sync usages\n const result = remark().use(remarkHeading).processSync(content);\n\n if ('toc' in result.data) return result.data.toc as TOCItemType[];\n return [];\n}\n"],"mappings":";;;;;AAwBA,SAAgB,mBACd,SACA,eACwC;AACxC,KAAI,cACF,QAAO,QAAQ,CACZ,IAAI,cAAc,CAClB,IAAI,cAAc,CAClB,QAAQ,QAAQ,CAChB,MAAM,aAAW;AAChB,MAAI,SAASA,SAAO,KAAM,QAAOA,SAAO,KAAK;AAE7C,SAAO,EAAE;GACT;CAIN,MAAM,SAAS,QAAQ,CAAC,IAAI,cAAc,CAAC,YAAY,QAAQ;AAE/D,KAAI,SAAS,OAAO,KAAM,QAAO,OAAO,KAAK;AAC7C,QAAO,EAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"definitions-Ca2P2viV.d.ts","names":[],"sources":["../src/page-tree/definitions.ts"],"sourcesContent":[],"mappings":";;;UAEU,EAAA;;AAF6B;AASvC;EACQ,GAAA,CAAA,EAAA,MAAA;;AAKK,UANI,IAAA,SAAa,EAMjB,CAAA;EANiB,IAAA,EACtB,SADsB;EAAE,QAAA,EAEpB,IAFoB,EAAA;EASpB;;;EAA0B,QAAA,CAAA,EAHzB,IAGyB;;AAErB,KAFL,IAAA,GAAO,IAEG,GAFI,SAEJ,GAFgB,MAEhB;AASd,UATS,IAAA,SAAa,EAStB,CAAA;EASQ;;;EAlBgB,IAAA,CAAA,EAAA;IAsBf,IAAA,EAAA,MAAU;EAElB,CAAA;EACA,IAAA,EAAA,MAAA;EAH0B,IAAA,EAb3B,SAa2B;EAAE,GAAA,EAAA,MAAA;EAMpB;;;;;EAgBL,QAAA,CAAA,EAAA,OAAA;EAhBoB,WAAA,CAAA,EAVhB,SAUgB;EAAE,IAAA,CAAA,EATzB,SASyB;;UANjB,SAAA,SAAkB;;SAE1B;SACA;;UAGQ,MAAA,SAAe;;;;;;;;QASxB;gBACQ;;;;UAIN;SACD;YACG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-link.d.ts","names":[],"sources":["../src/dynamic-link.tsx"],"sourcesContent":[],"mappings":";;;;KAMY,gBAAA,GAAmB;;;AAA/B;AAQA;;AAAwB,cAAX,WAAW,EAAA,MAAA,CAAA,yBAAA,CAAA,SAAA,GAAA,MAAA,CAAA,aAAA,CAAA,iBAAA,CAAA,CAAA"}
|
package/dist/dynamic-link.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-link.js","names":[],"sources":["../src/dynamic-link.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef, useMemo } from 'react';\nimport Link, { type LinkProps } from './link';\nimport { useParams } from '@/framework';\n\nexport type DynamicLinkProps = LinkProps;\n\n/**\n * Extends the default `Link` component\n *\n * It supports dynamic hrefs, which means you can use `/[lang]/my-page` with `dynamicHrefs` enabled\n */\n\nexport const DynamicLink = forwardRef<HTMLAnchorElement, DynamicLinkProps>(\n ({ href, ...props }, ref) => {\n const params = useParams();\n\n const url = useMemo(() => {\n return href?.replace(/\\[.*]/, (key) => {\n const mappedKey = key.slice(1, -1);\n const value = mappedKey in params ? params[mappedKey] : undefined;\n if (!value) return '';\n\n return typeof value === 'string' ? value : value.join('/');\n });\n }, [params, href]);\n\n return <Link ref={ref} href={url} {...props} />;\n },\n);\n\nDynamicLink.displayName = 'DynamicLink';\n\nexport default DynamicLink;\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAa,cAAc,YACxB,EAAE,MAAM,GAAG,SAAS,QAAQ;CAC3B,MAAM,SAAS,WAAW;AAY1B,QAAO,oBAAC;EAAU;EAAK,MAVX,cAAc;AACxB,UAAO,MAAM,QAAQ,UAAU,QAAQ;IACrC,MAAM,YAAY,IAAI,MAAM,GAAG,GAAG;IAClC,MAAM,QAAQ,aAAa,SAAS,OAAO,aAAa;AACxD,QAAI,CAAC,MAAO,QAAO;AAEnB,WAAO,OAAO,UAAU,WAAW,QAAQ,MAAM,KAAK,IAAI;KAC1D;KACD,CAAC,QAAQ,KAAK,CAAC;EAEgB,GAAI;GAAS;EAElD;AAED,YAAY,cAAc;AAE1B,2BAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-CiphcAUR.js","names":[],"sources":["../src/search/client/fetch.ts"],"sourcesContent":["import type { SortedResult } from '@/search';\n\nexport interface FetchOptions {\n /**\n * API route for search endpoint, support absolute URLs.\n *\n * @defaultValue '/api/search'\n */\n api?: string;\n\n /**\n * Filter results with specific tag(s).\n */\n tag?: string | string[];\n\n /**\n * Filter by locale\n */\n locale?: string;\n}\n\nconst cache = new Map<string, SortedResult[]>();\n\nexport async function fetchDocs(\n query: string,\n { api = '/api/search', locale, tag }: FetchOptions,\n): Promise<SortedResult[]> {\n const url = new URL(api, window.location.origin);\n url.searchParams.set('query', query);\n if (locale) url.searchParams.set('locale', locale);\n if (tag) url.searchParams.set('tag', Array.isArray(tag) ? tag.join(',') : tag);\n\n const key = url.toString();\n const cached = cache.get(key);\n if (cached) return cached;\n\n const res = await fetch(url);\n if (!res.ok) throw new Error(await res.text());\n const result = (await res.json()) as SortedResult[];\n cache.set(key, result);\n return result;\n}\n"],"mappings":";AAqBA,MAAM,wBAAQ,IAAI,KAA6B;AAE/C,eAAsB,UACpB,OACA,EAAE,MAAM,eAAe,QAAQ,OACN;CACzB,MAAM,MAAM,IAAI,IAAI,KAAK,OAAO,SAAS,OAAO;AAChD,KAAI,aAAa,IAAI,SAAS,MAAM;AACpC,KAAI,OAAQ,KAAI,aAAa,IAAI,UAAU,OAAO;AAClD,KAAI,IAAK,KAAI,aAAa,IAAI,OAAO,MAAM,QAAQ,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;CAE9E,MAAM,MAAM,IAAI,UAAU;CAC1B,MAAM,SAAS,MAAM,IAAI,IAAI;AAC7B,KAAI,OAAQ,QAAO;CAEnB,MAAM,MAAM,MAAM,MAAM,IAAI;AAC5B,KAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM,MAAM,IAAI,MAAM,CAAC;CAC9C,MAAM,SAAU,MAAM,IAAI,MAAM;AAChC,OAAM,IAAI,KAAK,OAAO;AACtB,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/framework/index.tsx"],"sourcesContent":[],"mappings":";;;;;UAKiB,UAAA,SAAmB,KAAK;;;AAAzC;;EAMiB,GAAA,CAAA,EAAA,MAAA,GAAA,YAAA;EANmB;;AAYnC;EAMgB,QAAA,CAAM,EAAA,OAAA;AAKvB;UATU,SAAA,SAAkB,cAWT,CAAA,GAAA,CAAA,CAAA;EACA,QAAA,CAAA,EAAA,OAAA;;AAEV,UAVQ,MAAA,CAUR;EAMI,IAAA,EAAA,CAAA,GAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAAH,OAAA,EAAA,GAAA,GAAA,IAAA;;AAaM,UAxBC,SAAA,CAwBgB;EAC/B,WAAA,EAAA,GAAA,GAAA,MAAA;EACA,SAAA,EAAA,GAAA,GAxBiB,MAwBjB,CAAA,MAAA,EAAA,MAAA,GAAA,MAAA,EAAA,CAAA;EACA,SAAA,EAAA,GAAA,GAxBiB,MAwBjB;EACA,IAAA,CAAA,EAvBO,EAuBP,CAtBE,cAsBF,CAAA,GAAA,CAAA,GAAA;IACA,QAAA,CAAA,EAAA,OAAA;EACA,CAAA,CAAA;EACC,KAAA,CAAA,EApBO,EAoBP,CApBU,UAoBV,CAAA;;AAAmC,iBAPtB,iBAAA,CAOsB;EAAA,IAAA;EAAA,SAAA;EAAA,SAAA;EAAA,WAAA;EAAA,KAAA;EAAA;AAetC,CAfsC,EAAnC,SAAmC,GAAA;EAAA,QAAA,EAAX,SAAW;AAetC,CAAA,CAAA,EAfsC,kBAAA,CAAA,GAAA,CAAA,OAeX;AAIX,iBAJA,WAAA,CAAA,CAIS,EAAA,MAAA;AAIT,iBAJA,SAAA,CAAA,CAIS,EAJA,MAIA;AAIT,iBAJA,SAAA,CAAA,CAIa,EAJJ,MAIc,CAAA,MAAA,EAAA,MAAA,GAAA,MAAA,EAAA,CAAA;AAavB,iBAbA,KAAA,CAaY,KAAS,EAbR,UAaQ,CAAA,EAbE,kBAAA,CAAA,GAAA,CAAA,OAaF;iBAArB,IAAA,QAAY,YAAS,kBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Link","usePathname","useRouter","useParams","Image"],"sources":["../../src/framework/index.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps, FC, ReactNode } from 'react';\nimport { createContext, use, useMemo } from 'react';\nimport type { StaticImport } from 'next/dist/shared/lib/get-img-props';\n\nexport interface ImageProps extends Omit<ComponentProps<'img'>, 'src'> {\n sizes?: string;\n\n /**\n * Next.js Image component has other allowed type for `src`\n */\n src?: string | StaticImport;\n\n /**\n * priority of image (from Next.js)\n */\n priority?: boolean;\n}\n\ninterface LinkProps extends ComponentProps<'a'> {\n prefetch?: boolean;\n}\n\nexport interface Router {\n push: (url: string) => void;\n refresh: () => void;\n}\n\nexport interface Framework {\n usePathname: () => string;\n useParams: () => Record<string, string | string[]>;\n useRouter: () => Router;\n\n Link?: FC<\n ComponentProps<'a'> & {\n prefetch?: boolean;\n }\n >;\n\n Image?: FC<ImageProps>;\n}\n\nconst notImplemented = () => {\n throw new Error('You need to wrap your application inside `FrameworkProvider`.');\n};\n\nconst FrameworkContext = createContext<Framework>({\n useParams: notImplemented,\n useRouter: notImplemented,\n usePathname: notImplemented,\n});\n\nexport function FrameworkProvider({\n Link,\n useRouter,\n useParams,\n usePathname,\n Image,\n children,\n}: Framework & { children: ReactNode }) {\n const framework = useMemo(\n () => ({\n usePathname,\n useRouter,\n Link,\n Image,\n useParams,\n }),\n [Link, usePathname, useRouter, useParams, Image],\n );\n\n return <FrameworkContext value={framework}>{children}</FrameworkContext>;\n}\n\nexport function usePathname() {\n return use(FrameworkContext).usePathname();\n}\n\nexport function useRouter() {\n return use(FrameworkContext).useRouter();\n}\n\nexport function useParams() {\n return use(FrameworkContext).useParams();\n}\n\nexport function Image(props: ImageProps) {\n const { Image } = use(FrameworkContext);\n if (!Image) {\n const { src, alt, priority, ...rest } = props;\n\n return (\n <img alt={alt} src={src as string} fetchPriority={priority ? 'high' : 'auto'} {...rest} />\n );\n }\n\n return <Image {...props} />;\n}\n\nexport function Link(props: LinkProps) {\n const { Link } = use(FrameworkContext);\n if (!Link) {\n const { href, prefetch: _, ...rest } = props;\n return <a href={href} {...rest} />;\n }\n\n return <Link {...props} />;\n}\n"],"mappings":";;;;;;AA0CA,MAAM,uBAAuB;AAC3B,OAAM,IAAI,MAAM,gEAAgE;;AAGlF,MAAM,mBAAmB,cAAyB;CAChD,WAAW;CACX,WAAW;CACX,aAAa;CACd,CAAC;AAEF,SAAgB,kBAAkB,EAChC,cACA,wBACA,wBACA,4BACA,gBACA,YACsC;AAYtC,QAAO,oBAAC;EAAiB,OAXP,eACT;GACL;GACA;GACA;GACA;GACA;GACD,GACD;GAACA;GAAMC;GAAaC;GAAWC;GAAWC;GAAM,CACjD;EAE2C;GAA4B;;AAG1E,SAAgB,cAAc;AAC5B,QAAO,IAAI,iBAAiB,CAAC,aAAa;;AAG5C,SAAgB,YAAY;AAC1B,QAAO,IAAI,iBAAiB,CAAC,WAAW;;AAG1C,SAAgB,YAAY;AAC1B,QAAO,IAAI,iBAAiB,CAAC,WAAW;;AAG1C,SAAgB,MAAM,OAAmB;CACvC,MAAM,EAAE,mBAAU,IAAI,iBAAiB;AACvC,KAAI,CAACA,SAAO;EACV,MAAM,EAAE,KAAK,KAAK,UAAU,GAAG,SAAS;AAExC,SACE,oBAAC;GAAS;GAAU;GAAe,eAAe,WAAW,SAAS;GAAQ,GAAI;IAAQ;;AAI9F,QAAO,oBAACA,WAAM,GAAI,QAAS;;AAG7B,SAAgB,KAAK,OAAkB;CACrC,MAAM,EAAE,iBAAS,IAAI,iBAAiB;AACtC,KAAI,CAACJ,QAAM;EACT,MAAM,EAAE,MAAM,UAAU,GAAG,GAAG,SAAS;AACvC,SAAO,oBAAC;GAAQ;GAAM,GAAI;IAAQ;;AAGpC,QAAO,oBAACA,UAAK,GAAI,QAAS"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"next.d.ts","names":[],"sources":["../../src/framework/next.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOgB,YAAA;;QAER;SACC;;YAEG;SACH;EANO,KAAA,CAAA,EAON,SAPkB,CAAA,OAAA,CAAA;CAC1B,CAAA,EAOD,kBAAA,CAAA,GAAA,CAAA,OAPC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"next.js","names":[],"sources":["../../src/framework/next.tsx"],"sourcesContent":["'use client';\nimport { type Framework, FrameworkProvider } from '@/framework/index';\nimport type { ReactNode } from 'react';\nimport { useParams, usePathname, useRouter } from 'next/navigation';\nimport Link from 'next/link';\nimport Image from 'next/image';\n\nexport function NextProvider({\n children,\n Link: CustomLink,\n Image: CustomImage,\n}: {\n children: ReactNode;\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n}) {\n return (\n <FrameworkProvider\n usePathname={usePathname}\n useRouter={useRouter}\n useParams={useParams}\n Link={CustomLink ?? (Link as Framework['Link'])}\n Image={CustomImage ?? (Image as Framework['Image'])}\n >\n {children}\n </FrameworkProvider>\n );\n}\n"],"mappings":";;;;;;;;;AAOA,SAAgB,aAAa,EAC3B,UACA,MAAM,YACN,OAAO,eAKN;AACD,QACE,oBAAC;EACc;EACF;EACA;EACX,MAAM,cAAe;EACrB,OAAO,eAAgB;EAEtB;GACiB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-router.d.ts","names":[],"sources":["../../src/framework/react-router.tsx"],"sourcesContent":[],"mappings":";;;;;iBAoCgB,mBAAA;;QAER;SACC;;YAEG;SACH;EANO,KAAA,CAAA,EAON,SAPM,CAAA,OAAmB,CAAA;CACjC,CAAA,EAOD,kBAAA,CAAA,GAAA,CAAA,OAPC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-router.js","names":["framework: Framework"],"sources":["../../src/framework/react-router.tsx"],"sourcesContent":["import { type ReactNode, useMemo } from 'react';\nimport { type Framework, FrameworkProvider } from '@/framework/index';\nimport { Link, useLocation, useNavigate, useParams, useRevalidator } from 'react-router';\n\nconst framework: Framework = {\n usePathname() {\n return useLocation().pathname;\n },\n useParams() {\n return useParams() as Record<string, string | string[]>;\n },\n useRouter() {\n const navigate = useNavigate();\n const revalidator = useRevalidator();\n\n return useMemo(\n () => ({\n push(url) {\n navigate(url);\n },\n refresh() {\n void revalidator.revalidate();\n },\n }),\n [navigate, revalidator],\n );\n },\n Link({ href, prefetch, ...props }) {\n return (\n <Link to={href!} prefetch={prefetch ? 'intent' : 'none'} {...props}>\n {props.children}\n </Link>\n );\n },\n};\n\nexport function ReactRouterProvider({\n children,\n Link: CustomLink,\n Image: CustomImage,\n}: {\n children: ReactNode;\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n}) {\n return (\n <FrameworkProvider\n {...framework}\n Link={CustomLink ?? framework.Link}\n Image={CustomImage ?? framework.Image}\n >\n {children}\n </FrameworkProvider>\n );\n}\n"],"mappings":";;;;;;AAIA,MAAMA,YAAuB;CAC3B,cAAc;AACZ,SAAO,aAAa,CAAC;;CAEvB,YAAY;AACV,SAAO,WAAW;;CAEpB,YAAY;EACV,MAAM,WAAW,aAAa;EAC9B,MAAM,cAAc,gBAAgB;AAEpC,SAAO,eACE;GACL,KAAK,KAAK;AACR,aAAS,IAAI;;GAEf,UAAU;AACR,IAAK,YAAY,YAAY;;GAEhC,GACD,CAAC,UAAU,YAAY,CACxB;;CAEH,KAAK,EAAE,MAAM,UAAU,GAAG,SAAS;AACjC,SACE,oBAAC;GAAK,IAAI;GAAO,UAAU,WAAW,WAAW;GAAQ,GAAI;aAC1D,MAAM;IACF;;CAGZ;AAED,SAAgB,oBAAoB,EAClC,UACA,MAAM,YACN,OAAO,eAKN;AACD,QACE,oBAAC;EACC,GAAI;EACJ,MAAM,cAAc,UAAU;EAC9B,OAAO,eAAe,UAAU;EAE/B;GACiB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tanstack.d.ts","names":[],"sources":["../../src/framework/tanstack.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAuDgB,iBAAA,gBAAA,CAAgB;EAAA,QAAA;EAAA,IAAA,EAExB,UAFwB;EAAA,KAAA,EAGvB;CAHuB,EAAA;EAC9B,QAAA,EAIU,SAJV;EACM,IAAA,CAAA,EAIC,SAJD,CAAA,MAAA,CAAA;EACC,KAAA,CAAA,EAIC,SAJD,CAAA,OAAA,CAAA;CAEG,CAAA,EAGX,kBAAA,CAAA,GAAA,CAAA,OAHW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tanstack.js","names":["framework: Framework"],"sources":["../../src/framework/tanstack.tsx"],"sourcesContent":["import { type ReactNode, useRef, useMemo } from 'react';\nimport { type Framework, FrameworkProvider } from '@/framework/index';\nimport { useParams, Link, useRouter, useRouterState } from '@tanstack/react-router';\n\nconst framework: Framework = {\n Link({ href, prefetch = true, ...props }) {\n return (\n <Link to={href} preload={prefetch ? 'intent' : false} {...props}>\n {props.children}\n </Link>\n );\n },\n usePathname() {\n const { isLoading, pathname } = useRouterState({\n select: (state) => ({\n isLoading: state.isLoading,\n pathname: state.location.pathname,\n }),\n });\n\n const activePathname = useRef(pathname);\n return useMemo(() => {\n if (isLoading) {\n return activePathname.current;\n }\n\n activePathname.current = pathname;\n return pathname;\n }, [isLoading, pathname]);\n },\n useRouter() {\n const router = useRouter();\n\n return useMemo(\n () => ({\n push(url) {\n void router.navigate({\n href: url,\n });\n },\n refresh() {\n void router.invalidate();\n },\n }),\n [router],\n );\n },\n useParams() {\n return useParams({ strict: false });\n },\n};\n\n/**\n * Fumadocs adapter for Tanstack Router/Start\n */\nexport function TanstackProvider({\n children,\n Link: CustomLink,\n Image: CustomImage,\n}: {\n children: ReactNode;\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n}) {\n return (\n <FrameworkProvider\n {...framework}\n Link={CustomLink ?? framework.Link}\n Image={CustomImage ?? framework.Image}\n >\n {children}\n </FrameworkProvider>\n );\n}\n"],"mappings":";;;;;;AAIA,MAAMA,YAAuB;CAC3B,KAAK,EAAE,MAAM,WAAW,MAAM,GAAG,SAAS;AACxC,SACE,oBAAC;GAAK,IAAI;GAAM,SAAS,WAAW,WAAW;GAAO,GAAI;aACvD,MAAM;IACF;;CAGX,cAAc;EACZ,MAAM,EAAE,WAAW,aAAa,eAAe,EAC7C,SAAS,WAAW;GAClB,WAAW,MAAM;GACjB,UAAU,MAAM,SAAS;GAC1B,GACF,CAAC;EAEF,MAAM,iBAAiB,OAAO,SAAS;AACvC,SAAO,cAAc;AACnB,OAAI,UACF,QAAO,eAAe;AAGxB,kBAAe,UAAU;AACzB,UAAO;KACN,CAAC,WAAW,SAAS,CAAC;;CAE3B,YAAY;EACV,MAAM,SAAS,WAAW;AAE1B,SAAO,eACE;GACL,KAAK,KAAK;AACR,IAAK,OAAO,SAAS,EACnB,MAAM,KACP,CAAC;;GAEJ,UAAU;AACR,IAAK,OAAO,YAAY;;GAE3B,GACD,CAAC,OAAO,CACT;;CAEH,YAAY;AACV,SAAO,UAAU,EAAE,QAAQ,OAAO,CAAC;;CAEtC;;;;AAKD,SAAgB,iBAAiB,EAC/B,UACA,MAAM,YACN,OAAO,eAKN;AACD,QACE,oBAAC;EACC,GAAI;EACJ,MAAM,cAAc,UAAU;EAC9B,OAAO,eAAe,UAAU;EAE/B;GACiB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"waku.d.ts","names":[],"sources":["../../src/framework/waku.tsx"],"sourcesContent":[],"mappings":";;;;;iBA+CgB,YAAA;;QAER;SACC;;YAEG;SACH;EANO,KAAA,CAAA,EAON,SAPkB,CAAA,OAAA,CAAA;CAC1B,CAAA,EAOD,kBAAA,CAAA,GAAA,CAAA,OAPC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"waku.js","names":["framework: Framework","WakuLink"],"sources":["../../src/framework/waku.tsx"],"sourcesContent":["'use client';\n\nimport { type ReactNode, useMemo } from 'react';\nimport { Link as WakuLink, useRouter } from 'waku';\nimport { type Framework, FrameworkProvider } from './index.js';\n\nconst framework: Framework = {\n usePathname() {\n const { path } = useRouter();\n return path;\n },\n useParams() {\n const { query } = useRouter();\n return useMemo(() => {\n const params = new URLSearchParams(query);\n return Object.fromEntries(\n Array.from(params.entries()).map(([key, value]) => [\n key,\n Array.isArray(value) ? value[0] : value,\n ]),\n );\n }, [query]);\n },\n useRouter() {\n const router = useRouter();\n\n return useMemo(\n () => ({\n push(url: string) {\n void router.push(url);\n },\n refresh() {\n void router.push(router.path);\n },\n }),\n [router],\n );\n },\n Link({ href, prefetch = true, ...props }) {\n return (\n <WakuLink to={href!} unstable_prefetchOnEnter={prefetch} {...props}>\n {props.children}\n </WakuLink>\n );\n },\n};\n\nexport function WakuProvider({\n children,\n Link: CustomLink,\n Image: CustomImage,\n}: {\n children: ReactNode;\n Link?: Framework['Link'];\n Image?: Framework['Image'];\n}) {\n return (\n <FrameworkProvider\n {...framework}\n Link={CustomLink ?? framework.Link}\n Image={CustomImage ?? framework.Image}\n >\n {children}\n </FrameworkProvider>\n );\n}\n"],"mappings":";;;;;;;;AAMA,MAAMA,YAAuB;CAC3B,cAAc;EACZ,MAAM,EAAE,SAAS,WAAW;AAC5B,SAAO;;CAET,YAAY;EACV,MAAM,EAAE,UAAU,WAAW;AAC7B,SAAO,cAAc;GACnB,MAAM,SAAS,IAAI,gBAAgB,MAAM;AACzC,UAAO,OAAO,YACZ,MAAM,KAAK,OAAO,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CACjD,KACA,MAAM,QAAQ,MAAM,GAAG,MAAM,KAAK,MACnC,CAAC,CACH;KACA,CAAC,MAAM,CAAC;;CAEb,YAAY;EACV,MAAM,SAAS,WAAW;AAE1B,SAAO,eACE;GACL,KAAK,KAAa;AAChB,IAAK,OAAO,KAAK,IAAI;;GAEvB,UAAU;AACR,IAAK,OAAO,KAAK,OAAO,KAAK;;GAEhC,GACD,CAAC,OAAO,CACT;;CAEH,KAAK,EAAE,MAAM,WAAW,MAAM,GAAG,SAAS;AACxC,SACE,oBAACC;GAAS,IAAI;GAAO,0BAA0B;GAAU,GAAI;aAC1D,MAAM;IACE;;CAGhB;AAED,SAAgB,aAAa,EAC3B,UACA,MAAM,YACN,OAAO,eAKN;AACD,QACE,oBAAC;EACC,GAAI;EACJ,MAAM,cAAc,UAAU;EAC9B,OAAO,eAAe,UAAU;EAE/B;GACiB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","names":[],"sources":["../../src/highlight/client.tsx"],"sourcesContent":[],"mappings":";;;;;;;AAWA;;;AAIG,iBAJa,QAAA,CAIb,IAAA,EAAA,MAAA,EAAA,OAAA,EAFQ,gBAER,EAAA,IAAA,CAAA,EADM,cACN,CAAA,EAAA,SAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","names":["promises: Record<string, Promise<ReactNode>>"],"sources":["../../src/highlight/client.tsx"],"sourcesContent":["'use client';\nimport { type DependencyList, type ReactNode, use, useMemo } from 'react';\nimport { highlight, type HighlightOptions } from './shiki';\n\nconst promises: Record<string, Promise<ReactNode>> = {};\n\n/**\n * get highlighted results, should be used with React Suspense API.\n *\n * note: results are cached with (lang, code) as keys, if this is not the desired behaviour, pass a `deps` instead.\n */\nexport function useShiki(\n code: string,\n options: HighlightOptions,\n deps?: DependencyList,\n): ReactNode {\n const key = useMemo(() => {\n return deps ? JSON.stringify(deps) : `${options.lang}:${code}`;\n }, [code, deps, options.lang]);\n\n return use((promises[key] ??= highlight(code, options)));\n}\n"],"mappings":";;;;;;AAIA,MAAMA,WAA+C,EAAE;;;;;;AAOvD,SAAgB,SACd,MACA,SACA,MACW;CACX,MAAM,MAAM,cAAc;AACxB,SAAO,OAAO,KAAK,UAAU,KAAK,GAAG,GAAG,QAAQ,KAAK,GAAG;IACvD;EAAC;EAAM;EAAM,QAAQ;EAAK,CAAC;AAE9B,QAAO,IAAK,SAAS,SAAS,UAAU,MAAM,QAAQ,CAAE"}
|
package/dist/i18n/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/i18n/index.ts"],"sourcesContent":["export interface I18nConfig<Languages extends string = string> {\n /**\n * Supported locale codes.\n *\n * A page tree will be built for each language.\n */\n languages: Languages[];\n\n /**\n * Default locale if not specified\n */\n defaultLanguage: Languages;\n\n /**\n * Don't show the locale prefix on URL.\n *\n * - `always`: Always hide the prefix\n * - `default-locale`: Only hide the default locale\n * - `never`: Never hide the prefix\n *\n * This API uses `NextResponse.rewrite`.\n *\n * @defaultValue 'never'\n */\n hideLocale?: 'always' | 'default-locale' | 'never';\n\n /**\n * Used by `loader()`, specify the way to parse i18n file structure.\n *\n * @defaultValue 'dot'\n */\n parser?: 'dot' | 'dir' | 'none';\n\n /**\n * the fallback language when the page has no translations available for a given locale.\n *\n * Default to ``defaultLanguage`, no fallback when set to `null`.\n */\n fallbackLanguage?: Languages | null;\n}\n\nexport function defineI18n<Languages extends string>(\n config: I18nConfig<Languages>,\n): I18nConfig<Languages> {\n return config;\n}\n"],"mappings":";AAyCA,SAAgB,WACd,QACuB;AACvB,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","names":[],"sources":["../../src/i18n/middleware.ts"],"sourcesContent":[],"mappings":";;;;;UAMU,iBAAA,SAA0B;;AAFyB;AAgB7D;;;EASyC,MAAA,CAAA,EAjB9B,YAiB8B,GAAA,CAAA,CAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,GAAA,MAAA,CAAA;EAKzB;;;EAGH,UAAA,CAAA,EAAA,MAgBZ;AAED;AACE,UApCe,YAAA,CAoCf;EACA;;;EAGA,GAAA,EAAA,CAAA,GAAA,EApCW,OAoCX,EAAA,GAAA,MAAA,GAAA,SAAA;EACC;;;aAhCU,4BAA4B;;;;gBAKzB,YAAY;;cAGf,kBAAkB;iBAkBf,oBAAA;;;;;;GAMb,oBAAoB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","names":["DefaultFormatter: URLFormatter","formatter: URLFormatter","matchLocale"],"sources":["../../src/i18n/middleware.ts"],"sourcesContent":["import { match as matchLocale } from '@formatjs/intl-localematcher';\nimport { type NextProxy, NextResponse } from 'next/server';\nimport type { I18nConfig } from '@/i18n';\nimport { getNegotiator } from '@/negotiation';\nimport type { NextURL } from 'next/dist/server/web/next-url';\n\ninterface MiddlewareOptions extends I18nConfig {\n /**\n * Either:\n * - A formatter object\n * - A function that adds the locale prefix to pathname\n */\n format?: URLFormatter | ((locale: string, pathname: string) => string);\n\n /**\n * the cookie to store locale code when `hideLocale` is set to `always`.\n */\n cookieName?: string;\n}\n\nexport interface URLFormatter {\n /**\n * get locale code from request URL\n */\n get: (url: NextURL) => string | undefined;\n\n /**\n * add locale code to request URL (which is missing the locale).\n */\n add: (url: NextURL, locale: string) => URL;\n\n /**\n * remove locale code from request URL\n */\n remove: (url: NextURL) => URL;\n}\n\nexport const DefaultFormatter: URLFormatter = {\n get(url) {\n const segs = url.pathname.split('/');\n if (segs.length > 1 && segs[1]) return segs[1];\n },\n add(url, locale) {\n const next = new URL(url);\n next.pathname = `${url.basePath}/${locale}/${url.pathname}`.replaceAll(/\\/+/g, '/');\n return next;\n },\n remove(url) {\n const next = new URL(url);\n const pathname = url.pathname.split('/').slice(2).join('/');\n next.pathname = `${url.basePath}/${pathname}`.replaceAll(/\\/+/g, '/');\n return next;\n },\n};\n\nexport function createI18nMiddleware({\n languages,\n defaultLanguage,\n format = DefaultFormatter,\n cookieName = 'FD_LOCALE',\n hideLocale = 'never',\n}: MiddlewareOptions): NextProxy {\n let formatter: URLFormatter;\n if (typeof format === 'function') {\n formatter = {\n ...DefaultFormatter,\n add(url, locale) {\n const next = new URL(url);\n next.pathname = format(locale, url.pathname);\n return next;\n },\n };\n } else {\n formatter = format;\n }\n\n return (request) => {\n const url = request.nextUrl;\n let pathLocale = formatter.get(url);\n if (pathLocale && !languages.includes(pathLocale)) pathLocale = undefined;\n\n if (!pathLocale) {\n if (hideLocale === 'default-locale') {\n return NextResponse.rewrite(formatter.add(url, defaultLanguage));\n }\n\n const finalLanguages = getNegotiator(request).languages(languages);\n const preferred = matchLocale(finalLanguages, languages, defaultLanguage);\n if (hideLocale === 'always') {\n const locale = request.cookies.get(cookieName)?.value ?? preferred;\n\n return NextResponse.rewrite(formatter.add(url, locale));\n }\n\n return NextResponse.redirect(formatter.add(url, preferred));\n }\n\n // Remove explicit locale\n if (\n hideLocale === 'always' ||\n (hideLocale === 'default-locale' && pathLocale === defaultLanguage)\n ) {\n const res = NextResponse.redirect(formatter.remove(url));\n res.cookies.set(cookieName, pathLocale);\n return res;\n }\n\n return NextResponse.next();\n };\n}\n"],"mappings":";;;;;AAqCA,MAAaA,mBAAiC;CAC5C,IAAI,KAAK;EACP,MAAM,OAAO,IAAI,SAAS,MAAM,IAAI;AACpC,MAAI,KAAK,SAAS,KAAK,KAAK,GAAI,QAAO,KAAK;;CAE9C,IAAI,KAAK,QAAQ;EACf,MAAM,OAAO,IAAI,IAAI,IAAI;AACzB,OAAK,WAAW,GAAG,IAAI,SAAS,GAAG,OAAO,GAAG,IAAI,WAAW,WAAW,QAAQ,IAAI;AACnF,SAAO;;CAET,OAAO,KAAK;EACV,MAAM,OAAO,IAAI,IAAI,IAAI;EACzB,MAAM,WAAW,IAAI,SAAS,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI;AAC3D,OAAK,WAAW,GAAG,IAAI,SAAS,GAAG,WAAW,WAAW,QAAQ,IAAI;AACrE,SAAO;;CAEV;AAED,SAAgB,qBAAqB,EACnC,WACA,iBACA,SAAS,kBACT,aAAa,aACb,aAAa,WACkB;CAC/B,IAAIC;AACJ,KAAI,OAAO,WAAW,WACpB,aAAY;EACV,GAAG;EACH,IAAI,KAAK,QAAQ;GACf,MAAM,OAAO,IAAI,IAAI,IAAI;AACzB,QAAK,WAAW,OAAO,QAAQ,IAAI,SAAS;AAC5C,UAAO;;EAEV;KAED,aAAY;AAGd,SAAQ,YAAY;EAClB,MAAM,MAAM,QAAQ;EACpB,IAAI,aAAa,UAAU,IAAI,IAAI;AACnC,MAAI,cAAc,CAAC,UAAU,SAAS,WAAW,CAAE,cAAa;AAEhE,MAAI,CAAC,YAAY;AACf,OAAI,eAAe,iBACjB,QAAO,aAAa,QAAQ,UAAU,IAAI,KAAK,gBAAgB,CAAC;GAIlE,MAAM,YAAYC,MADK,cAAc,QAAQ,CAAC,UAAU,UAAU,EACpB,WAAW,gBAAgB;AACzE,OAAI,eAAe,UAAU;IAC3B,MAAM,SAAS,QAAQ,QAAQ,IAAI,WAAW,EAAE,SAAS;AAEzD,WAAO,aAAa,QAAQ,UAAU,IAAI,KAAK,OAAO,CAAC;;AAGzD,UAAO,aAAa,SAAS,UAAU,IAAI,KAAK,UAAU,CAAC;;AAI7D,MACE,eAAe,YACd,eAAe,oBAAoB,eAAe,iBACnD;GACA,MAAM,MAAM,aAAa,SAAS,UAAU,OAAO,IAAI,CAAC;AACxD,OAAI,QAAQ,IAAI,YAAY,WAAW;AACvC,UAAO;;AAGT,SAAO,aAAa,MAAM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-CL3r1pNG.js","names":[],"sources":["../src/source/plugins/icon.ts"],"sourcesContent":["import type { LoaderPlugin } from '@/source';\nimport type { ReactNode } from 'react';\nimport type * as PageTree from '@/page-tree/definitions';\n\nexport type IconResolver = (icon: string | undefined) => ReactNode;\n\nexport function iconPlugin(resolveIcon: IconResolver): LoaderPlugin {\n function replaceIcon<T extends PageTree.Node>(node: T): T {\n if (node.icon === undefined || typeof node.icon === 'string')\n node.icon = resolveIcon(node.icon);\n\n return node;\n }\n\n return {\n name: 'fumadocs:icon',\n transformPageTree: {\n file: replaceIcon,\n folder: replaceIcon,\n separator: replaceIcon,\n },\n };\n}\n"],"mappings":";AAMA,SAAgB,WAAW,aAAyC;CAClE,SAAS,YAAqC,MAAY;AACxD,MAAI,KAAK,SAAS,UAAa,OAAO,KAAK,SAAS,SAClD,MAAK,OAAO,YAAY,KAAK,KAAK;AAEpC,SAAO;;AAGT,QAAO;EACL,MAAM;EACN,mBAAmB;GACjB,MAAM;GACN,QAAQ;GACR,WAAW;GACZ;EACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DxhhLscI.d.ts","names":[],"sources":["../src/i18n/index.ts"],"sourcesContent":[],"mappings":";UAAiB;EAAA;;;;;EAyCD,SAAA,EAnCH,SAmCa,EAAA;EACL;;;EAClB,eAAA,EAhCgB,SAgChB;EAAU;;;;;;;;;;;;;;;;;;;;;;;qBALQ;;iBAGL,6CACN,WAAW,aAClB,WAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-k5KwKJ_c.d.ts","names":[],"sources":["../src/source/source.ts","../src/source/storage/file-system.ts","../src/source/storage/content.ts","../src/source/page-tree/builder.ts","../src/source/plugins/slugs.ts","../src/source/plugins/icon.ts","../src/source/loader.ts","../src/source/path.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/link.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","names":[],"sources":["../src/link.tsx"],"sourcesContent":[],"mappings":";;;;UAIiB,SAAA,SAAkB,qBAAqB;;;AAAxD;AAYC;;EAES,QAAA,CAAA,EAAA,OAAA;EAAA;;;;;cAAJ,MAAI,MAAA,CAAA,0BAAA,YAAA,MAAA,CAAA,cAAA"}
|
package/dist/link.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","names":["Base"],"sources":["../src/link.tsx"],"sourcesContent":["'use client';\nimport { type AnchorHTMLAttributes, forwardRef } from 'react';\nimport { Link as Base } from '@/framework';\n\nexport interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * If the href is an external URL\n *\n * automatically determined by default\n */\n external?: boolean;\n\n /**\n * Prefetch links, supported on Next.js\n */\n prefetch?: boolean;\n}\n\nconst Link = forwardRef<HTMLAnchorElement, LinkProps>(\n (\n {\n href = '#',\n // any protocol\n external = href.match(/^\\w+:/) ||\n // protocol relative URL\n href.startsWith('//'),\n prefetch,\n children,\n ...props\n },\n ref,\n ) => {\n if (external) {\n return (\n <a ref={ref} href={href} rel=\"noreferrer noopener\" target=\"_blank\" {...props}>\n {children}\n </a>\n );\n }\n\n return (\n <Base ref={ref} href={href} prefetch={prefetch} {...props}>\n {children}\n </Base>\n );\n },\n);\n\nLink.displayName = 'Link';\n\nexport { Link as default };\n"],"mappings":";;;;;;;AAkBA,MAAM,OAAO,YAET,EACE,OAAO,KAEP,WAAW,KAAK,MAAM,QAAQ,IAE5B,KAAK,WAAW,KAAK,EACvB,UACA,UACA,GAAG,SAEL,QACG;AACH,KAAI,SACF,QACE,oBAAC;EAAO;EAAW;EAAM,KAAI;EAAsB,QAAO;EAAS,GAAI;EACpE;GACC;AAIR,QACE,oBAACA;EAAU;EAAW;EAAgB;EAAU,GAAI;EACjD;GACI;EAGZ;AAED,KAAK,cAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mdast-utils-B8O-41y4.js","names":[],"sources":["../src/mdx-plugins/mdast-utils.ts"],"sourcesContent":["import type { RootContent } from 'mdast';\nimport { valueToEstree } from 'estree-util-value-to-estree';\n\nexport function flattenNode(node: RootContent): string {\n if ('children' in node) return node.children.map((child) => flattenNode(child)).join('');\n\n if ('value' in node && typeof node.value === 'string') return node.value;\n\n return '';\n}\n\nexport function toMdxExport(name: string, value: unknown): RootContent {\n return {\n type: 'mdxjsEsm',\n value: '',\n data: {\n estree: {\n type: 'Program',\n sourceType: 'module',\n body: [\n {\n type: 'ExportNamedDeclaration',\n attributes: [],\n specifiers: [],\n source: null,\n declaration: {\n type: 'VariableDeclaration',\n kind: 'let',\n declarations: [\n {\n type: 'VariableDeclarator',\n id: {\n type: 'Identifier',\n name,\n },\n init: valueToEstree(value),\n },\n ],\n },\n },\n ],\n },\n },\n };\n}\n"],"mappings":";;;AAGA,SAAgB,YAAY,MAA2B;AACrD,KAAI,cAAc,KAAM,QAAO,KAAK,SAAS,KAAK,UAAU,YAAY,MAAM,CAAC,CAAC,KAAK,GAAG;AAExF,KAAI,WAAW,QAAQ,OAAO,KAAK,UAAU,SAAU,QAAO,KAAK;AAEnE,QAAO;;AAGT,SAAgB,YAAY,MAAc,OAA6B;AACrE,QAAO;EACL,MAAM;EACN,OAAO;EACP,MAAM,EACJ,QAAQ;GACN,MAAM;GACN,YAAY;GACZ,MAAM,CACJ;IACE,MAAM;IACN,YAAY,EAAE;IACd,YAAY,EAAE;IACd,QAAQ;IACR,aAAa;KACX,MAAM;KACN,MAAM;KACN,cAAc,CACZ;MACE,MAAM;MACN,IAAI;OACF,MAAM;OACN;OACD;MACD,MAAM,cAAc,MAAM;MAC3B,CACF;KACF;IACF,CACF;GACF,EACF;EACF"}
|