fumadocs-core 16.4.2 → 16.4.4
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-BRT5Ij43.js → advanced-DSlc7qa9.js} +3 -3
- package/dist/{advanced-BRT5Ij43.js.map → advanced-DSlc7qa9.js.map} +1 -1
- package/dist/{algolia-CQPXCnjV.js → algolia-BGWM-DkQ.js} +2 -2
- package/dist/{algolia-CQPXCnjV.js.map → algolia-BGWM-DkQ.js.map} +1 -1
- package/dist/{algolia-CBBN8R6-.d.ts → algolia-FqjcaTcD.d.ts} +2 -2
- package/dist/{algolia-CBBN8R6-.d.ts.map → algolia-FqjcaTcD.d.ts.map} +1 -1
- package/dist/breadcrumb.d.ts +1 -1
- package/dist/breadcrumb.js +2 -2
- package/dist/{codeblock-utils-lld8UiQo.d.ts → codeblock-utils-Dh1w8ICD.d.ts} +1 -1
- package/dist/{codeblock-utils-lld8UiQo.d.ts.map → codeblock-utils-Dh1w8ICD.d.ts.map} +1 -1
- package/dist/content/index.d.ts +2 -2
- package/dist/content/mdx/preset-bundler.d.ts +8 -8
- package/dist/content/mdx/preset-bundler.js +1 -1
- package/dist/content/mdx/preset-runtime.d.ts +8 -8
- package/dist/content/mdx/preset-runtime.js +1 -1
- package/dist/content/toc.js +1 -1
- package/dist/{definitions-DuxDer_c.d.ts → definitions-DJAPG-2U.d.ts} +1 -1
- package/dist/{definitions-DuxDer_c.d.ts.map → definitions-DJAPG-2U.d.ts.map} +1 -1
- package/dist/{fetch-B5e9CFfN.js → fetch-B1nmMSyw.js} +1 -1
- package/dist/{fetch-B5e9CFfN.js.map → fetch-B1nmMSyw.js.map} +1 -1
- package/dist/framework/index.d.ts +4 -4
- package/dist/framework/next.d.ts +2 -2
- package/dist/framework/react-router.d.ts +2 -2
- package/dist/framework/tanstack.d.ts +2 -2
- package/dist/framework/waku.d.ts +2 -2
- package/dist/highlight/client.d.ts +1 -1
- package/dist/highlight/client.js +1 -1
- 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/middleware.d.ts +1 -1
- package/dist/{icon-Dt7IObrc.js → icon-5lVe3l-0.js} +1 -1
- package/dist/{icon-Dt7IObrc.js.map → icon-5lVe3l-0.js.map} +1 -1
- package/dist/{index-Bw-DCOra.d.ts → index-BhVrX5J1.d.ts} +1 -1
- package/dist/{index-Bw-DCOra.d.ts.map → index-BhVrX5J1.d.ts.map} +1 -1
- package/dist/{index-2U6Tl4--.d.ts → index-Co_C8NEi.d.ts} +16 -15
- package/dist/index-Co_C8NEi.d.ts.map +1 -0
- package/dist/link.d.ts +2 -2
- package/dist/{mdast-utils-mc9-X-PK.js → mdast-utils-ix4DsXJP.js} +1 -1
- package/dist/{mdast-utils-mc9-X-PK.js.map → mdast-utils-ix4DsXJP.js.map} +1 -1
- package/dist/mdx-plugins/codeblock-utils.d.ts +1 -1
- package/dist/mdx-plugins/index.d.ts +14 -14
- 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 +1 -1
- package/dist/mdx-plugins/remark-code-tab.d.ts +1 -1
- package/dist/mdx-plugins/remark-directive-admonition.d.ts +1 -1
- 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 +1 -1
- package/dist/mdx-plugins/remark-image.d.ts +1 -1
- package/dist/mdx-plugins/remark-mdx-files.d.ts +1 -1
- package/dist/mdx-plugins/remark-mdx-mermaid.d.ts +1 -1
- package/dist/mdx-plugins/remark-npm.d.ts +1 -1
- package/dist/mdx-plugins/remark-steps.d.ts +1 -1
- package/dist/mdx-plugins/remark-structure.d.ts +1 -1
- package/dist/mdx-plugins/remark-structure.js +1 -1
- package/dist/{mixedbread-DlByNYSd.js → mixedbread-DSiQfUnN.js} +2 -2
- package/dist/{mixedbread-DlByNYSd.js.map → mixedbread-DSiQfUnN.js.map} +1 -1
- package/dist/{normalize-url-DP9-1I-S.js → normalize-url-3WQZ_H_j.js} +1 -1
- package/dist/{normalize-url-DP9-1I-S.js.map → normalize-url-3WQZ_H_j.js.map} +1 -1
- package/dist/{orama-cloud-DH3g37zc.js → orama-cloud-BMDBfk05.js} +3 -3
- package/dist/{orama-cloud-DH3g37zc.js.map → orama-cloud-BMDBfk05.js.map} +1 -1
- package/dist/orama-cloud-legacy-CRZzZXWn.js +82 -0
- package/dist/orama-cloud-legacy-CRZzZXWn.js.map +1 -0
- package/dist/page-tree/index.d.ts +1 -1
- package/dist/page-tree/index.js +1 -1
- package/dist/{path-DHIjrDBP.js → path-D6M0ZQvO.js} +2 -2
- package/dist/{path-DHIjrDBP.js.map → path-D6M0ZQvO.js.map} +1 -1
- package/dist/{rehype-code-vVWG4-ej.d.ts → rehype-code-Bd52chOe.d.ts} +1 -1
- package/dist/{rehype-code-vVWG4-ej.d.ts.map → rehype-code-Bd52chOe.d.ts.map} +1 -1
- package/dist/{rehype-code-CdiZ1Y6P.js → rehype-code-j8FAEnuU.js} +8 -3
- package/dist/{rehype-code-CdiZ1Y6P.js.map → rehype-code-j8FAEnuU.js.map} +1 -1
- package/dist/{rehype-toc-DJvSyE0o.d.ts → rehype-toc-BJVsblvp.d.ts} +1 -1
- package/dist/{rehype-toc-DJvSyE0o.d.ts.map → rehype-toc-BJVsblvp.d.ts.map} +1 -1
- package/dist/{rehype-toc-DVwJcwvA.js → rehype-toc-Dqgey2tW.js} +1 -1
- package/dist/{rehype-toc-DVwJcwvA.js.map → rehype-toc-Dqgey2tW.js.map} +1 -1
- package/dist/{remark-admonition-DOwBWzsH.d.ts → remark-admonition-Chku_iWO.d.ts} +1 -1
- package/dist/{remark-admonition-DOwBWzsH.d.ts.map → remark-admonition-Chku_iWO.d.ts.map} +1 -1
- package/dist/{remark-code-tab-CXsYlims.d.ts → remark-code-tab-C0f6BPcw.d.ts} +1 -1
- package/dist/{remark-code-tab-CXsYlims.d.ts.map → remark-code-tab-C0f6BPcw.d.ts.map} +1 -1
- package/dist/{remark-directive-admonition-BCm_yiU9.d.ts → remark-directive-admonition-CBwJdh9z.d.ts} +1 -1
- package/dist/{remark-directive-admonition-BCm_yiU9.d.ts.map → remark-directive-admonition-CBwJdh9z.d.ts.map} +1 -1
- package/dist/{remark-heading-CXvCY0go.d.ts → remark-heading-CUAe4zIu.d.ts} +1 -1
- package/dist/{remark-heading-CXvCY0go.d.ts.map → remark-heading-CUAe4zIu.d.ts.map} +1 -1
- package/dist/{remark-image-CvUis4R1.d.ts → remark-image-DMRnxsRO.d.ts} +1 -1
- package/dist/{remark-image-CvUis4R1.d.ts.map → remark-image-DMRnxsRO.d.ts.map} +1 -1
- package/dist/{remark-mdx-files-B31xFFG4.d.ts → remark-mdx-files-B5KMXnfh.d.ts} +1 -1
- package/dist/{remark-mdx-files-B31xFFG4.d.ts.map → remark-mdx-files-B5KMXnfh.d.ts.map} +1 -1
- package/dist/{remark-mdx-mermaid-BdSUUiCG.d.ts → remark-mdx-mermaid-C_4W5gfj.d.ts} +1 -1
- package/dist/{remark-mdx-mermaid-BdSUUiCG.d.ts.map → remark-mdx-mermaid-C_4W5gfj.d.ts.map} +1 -1
- package/dist/{remark-npm-BIvIEKT2.d.ts → remark-npm-CykFgJn2.d.ts} +1 -1
- package/dist/{remark-npm-BIvIEKT2.d.ts.map → remark-npm-CykFgJn2.d.ts.map} +1 -1
- package/dist/{remark-steps-CHJN-rtm.d.ts → remark-steps-5-DmLVv3.d.ts} +1 -1
- package/dist/{remark-steps-CHJN-rtm.d.ts.map → remark-steps-5-DmLVv3.d.ts.map} +1 -1
- package/dist/{remark-structure-RZD2gGKp.d.ts → remark-structure-CszwnaMR.d.ts} +1 -1
- package/dist/{remark-structure-RZD2gGKp.d.ts.map → remark-structure-CszwnaMR.d.ts.map} +1 -1
- package/dist/{remove-undefined-Cfs4o_mM.js → remove-undefined-B7zJF-YS.js} +1 -1
- package/dist/{remove-undefined-Cfs4o_mM.js.map → remove-undefined-B7zJF-YS.js.map} +1 -1
- package/dist/search/algolia.d.ts +2 -2
- package/dist/search/client.d.ts +28 -5
- package/dist/search/client.d.ts.map +1 -1
- package/dist/search/client.js +26 -20
- package/dist/search/client.js.map +1 -1
- package/dist/search/index.js +1 -1
- package/dist/search/orama-cloud-legacy.d.ts +81 -0
- package/dist/search/orama-cloud-legacy.d.ts.map +1 -0
- package/dist/search/orama-cloud-legacy.js +50 -0
- package/dist/search/orama-cloud-legacy.js.map +1 -0
- package/dist/search/orama-cloud.d.ts +7 -7
- package/dist/search/orama-cloud.d.ts.map +1 -1
- package/dist/search/orama-cloud.js.map +1 -1
- package/dist/search/server.d.ts +4 -4
- package/dist/search/server.js +4 -4
- package/dist/{search-D6ChCLhY.js → search-DcH54N2x.js} +1 -1
- package/dist/{search-D6ChCLhY.js.map → search-DcH54N2x.js.map} +1 -1
- package/dist/{server-CPR_fgkH.d.ts → server-BzFuYBxW.d.ts} +4 -4
- package/dist/{server-CPR_fgkH.d.ts.map → server-BzFuYBxW.d.ts.map} +1 -1
- package/dist/{shiki-CIBQys54.d.ts → shiki-Bdk0JGsB.d.ts} +1 -1
- package/dist/{shiki-CIBQys54.d.ts.map → shiki-Bdk0JGsB.d.ts.map} +1 -1
- package/dist/{shiki-4oMYwHED.js → shiki-DoHr6fEj.js} +1 -1
- package/dist/{shiki-4oMYwHED.js.map → shiki-DoHr6fEj.js.map} +1 -1
- package/dist/source/client/index.d.ts +1 -1
- package/dist/source/client/index.js +1 -1
- package/dist/source/index.d.ts +3 -3
- package/dist/source/index.js +4 -4
- package/dist/source/index.js.map +1 -1
- package/dist/source/plugins/lucide-icons.d.ts +2 -2
- package/dist/source/plugins/lucide-icons.js +1 -1
- package/dist/source/plugins/slugs.d.ts +2 -2
- package/dist/source/plugins/slugs.js +1 -1
- package/dist/{static-Dq8pA8Ay.js → static-DAjBQpus.js} +2 -2
- package/dist/{static-Dq8pA8Ay.js.map → static-DAjBQpus.js.map} +1 -1
- package/dist/toc.d.ts +4 -4
- package/dist/{util-s9piKHsk.js → util-92szu3Vf.js} +1 -1
- package/dist/{util-s9piKHsk.js.map → util-92szu3Vf.js.map} +1 -1
- package/dist/{util-CK2ykiif.d.ts → util-ofJFdM-e.d.ts} +1 -1
- package/dist/util-ofJFdM-e.d.ts.map +1 -0
- package/dist/{utils-DUvi2WkD.js → utils-bAoAH1Rh.js} +1 -1
- package/dist/{utils-DUvi2WkD.js.map → utils-bAoAH1Rh.js.map} +1 -1
- package/package.json +13 -8
- package/dist/index-2U6Tl4--.d.ts.map +0 -1
- package/dist/util-CK2ykiif.d.ts.map +0 -1
- /package/dist/{chunk-B-ezknvj.js → chunk-C1JLJEPO.js} +0 -0
- /package/dist/{remark-gfm-CeWpMwyk.d.ts → remark-gfm-B2aZXutO.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehype-toc-
|
|
1
|
+
{"version":3,"file":"rehype-toc-Dqgey2tW.js","names":["output: {\n title: JSXElement;\n url: string;\n depth: number;\n }[]","declaration: Declaration"],"sources":["../src/mdx-plugins/hast-utils.ts","../src/mdx-plugins/rehype-toc.ts"],"sourcesContent":["import type { Element, Root, RootContent } from 'hast';\n\n/**\n * Visit a node with filtered tag names\n */\nexport function visit(\n node: RootContent | Root,\n tagNames: string[],\n handler: (node: Element) => 'skip' | undefined,\n): void {\n if (node.type === 'element' && tagNames.includes(node.tagName)) {\n const result = handler(node);\n if (result === 'skip') return;\n }\n\n if ('children' in node)\n node.children.forEach((n) => {\n visit(n, tagNames, handler);\n });\n}\n","import type { Processor, Transformer } from 'unified';\nimport type { Root, RootContent } from 'hast';\nimport { toEstree } from 'hast-util-to-estree';\nimport type { Declaration, JSXElement } from 'estree-jsx';\nimport { visit } from '@/mdx-plugins/hast-utils';\n\nexport interface RehypeTocOptions {\n /**\n * Export generated toc as a variable\n *\n * @defaultValue true\n */\n exportToc?: boolean;\n}\n\nconst TocOnlyTag = '[toc]';\nconst NoTocTag = '[!toc]';\n\nexport function rehypeToc(\n this: Processor,\n { exportToc = true }: RehypeTocOptions = {},\n): Transformer<Root, Root> {\n return (tree) => {\n const output: {\n title: JSXElement;\n url: string;\n depth: number;\n }[] = [];\n\n visit(tree, ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'], (element) => {\n const id = element.properties.id;\n if (typeof id !== 'string') return 'skip';\n let isTocOnly = false;\n\n const last = element.children.at(-1);\n if (last?.type === 'text' && last.value.endsWith(TocOnlyTag)) {\n isTocOnly = true;\n last.value = last.value.substring(0, last.value.length - TocOnlyTag.length).trimEnd();\n } else if (last?.type === 'text' && last.value.endsWith(NoTocTag)) {\n last.value = last.value.substring(0, last.value.length - NoTocTag.length).trimEnd();\n return 'skip';\n }\n\n const estree = toEstree(element, {\n elementAttributeNameCase: 'react',\n stylePropertyNameCase: 'dom',\n });\n\n if (estree.body[0].type === 'ExpressionStatement')\n output.push({\n title: estree.body[0].expression as unknown as JSXElement,\n depth: Number(element.tagName.slice(1)),\n url: `#${id}`,\n });\n\n if (isTocOnly) {\n Object.assign(element, {\n type: 'comment',\n value: '',\n } satisfies RootContent);\n }\n\n return 'skip';\n });\n\n const declaration: Declaration = {\n type: 'VariableDeclaration',\n kind: 'const',\n declarations: [\n {\n type: 'VariableDeclarator',\n id: {\n type: 'Identifier',\n name: 'toc',\n },\n init: {\n type: 'ArrayExpression',\n elements: output.map((item) => ({\n type: 'ObjectExpression',\n properties: [\n {\n type: 'Property',\n method: false,\n shorthand: false,\n computed: false,\n key: {\n type: 'Identifier',\n name: 'depth',\n },\n value: {\n type: 'Literal',\n value: item.depth,\n },\n kind: 'init',\n },\n {\n type: 'Property',\n method: false,\n shorthand: false,\n computed: false,\n key: {\n type: 'Identifier',\n name: 'url',\n },\n value: {\n type: 'Literal',\n value: item.url,\n },\n kind: 'init',\n },\n {\n type: 'Property',\n method: false,\n shorthand: false,\n computed: false,\n key: {\n type: 'Identifier',\n name: 'title',\n },\n value: {\n type: 'JSXFragment',\n openingFragment: { type: 'JSXOpeningFragment' },\n closingFragment: { type: 'JSXClosingFragment' },\n children: item.title.children,\n },\n kind: 'init',\n },\n ],\n })),\n },\n },\n ],\n };\n\n tree.children.push({\n type: 'mdxjsEsm',\n value: '',\n data: {\n estree: {\n type: 'Program',\n body: [\n exportToc\n ? {\n type: 'ExportNamedDeclaration',\n declaration,\n attributes: [],\n specifiers: [],\n }\n : declaration,\n ],\n sourceType: 'module',\n comments: [],\n },\n },\n } satisfies RootContent);\n };\n}\n"],"mappings":";;;;;;AAKA,SAAgB,MACd,MACA,UACA,SACM;AACN,KAAI,KAAK,SAAS,aAAa,SAAS,SAAS,KAAK,QAAQ,EAE5D;MADe,QAAQ,KAAK,KACb,OAAQ;;AAGzB,KAAI,cAAc,KAChB,MAAK,SAAS,SAAS,MAAM;AAC3B,QAAM,GAAG,UAAU,QAAQ;GAC3B;;;;;ACHN,MAAM,aAAa;AACnB,MAAM,WAAW;AAEjB,SAAgB,UAEd,EAAE,YAAY,SAA2B,EAAE,EAClB;AACzB,SAAQ,SAAS;EACf,MAAMA,SAIA,EAAE;AAER,QAAM,MAAM;GAAC;GAAM;GAAM;GAAM;GAAM;GAAM;GAAK,GAAG,YAAY;GAC7D,MAAM,KAAK,QAAQ,WAAW;AAC9B,OAAI,OAAO,OAAO,SAAU,QAAO;GACnC,IAAI,YAAY;GAEhB,MAAM,OAAO,QAAQ,SAAS,GAAG,GAAG;AACpC,OAAI,MAAM,SAAS,UAAU,KAAK,MAAM,SAAS,WAAW,EAAE;AAC5D,gBAAY;AACZ,SAAK,QAAQ,KAAK,MAAM,UAAU,GAAG,KAAK,MAAM,SAAS,EAAkB,CAAC,SAAS;cAC5E,MAAM,SAAS,UAAU,KAAK,MAAM,SAAS,SAAS,EAAE;AACjE,SAAK,QAAQ,KAAK,MAAM,UAAU,GAAG,KAAK,MAAM,SAAS,EAAgB,CAAC,SAAS;AACnF,WAAO;;GAGT,MAAM,SAAS,SAAS,SAAS;IAC/B,0BAA0B;IAC1B,uBAAuB;IACxB,CAAC;AAEF,OAAI,OAAO,KAAK,GAAG,SAAS,sBAC1B,QAAO,KAAK;IACV,OAAO,OAAO,KAAK,GAAG;IACtB,OAAO,OAAO,QAAQ,QAAQ,MAAM,EAAE,CAAC;IACvC,KAAK,IAAI;IACV,CAAC;AAEJ,OAAI,UACF,QAAO,OAAO,SAAS;IACrB,MAAM;IACN,OAAO;IACR,CAAuB;AAG1B,UAAO;IACP;EAEF,MAAMC,cAA2B;GAC/B,MAAM;GACN,MAAM;GACN,cAAc,CACZ;IACE,MAAM;IACN,IAAI;KACF,MAAM;KACN,MAAM;KACP;IACD,MAAM;KACJ,MAAM;KACN,UAAU,OAAO,KAAK,UAAU;MAC9B,MAAM;MACN,YAAY;OACV;QACE,MAAM;QACN,QAAQ;QACR,WAAW;QACX,UAAU;QACV,KAAK;SACH,MAAM;SACN,MAAM;SACP;QACD,OAAO;SACL,MAAM;SACN,OAAO,KAAK;SACb;QACD,MAAM;QACP;OACD;QACE,MAAM;QACN,QAAQ;QACR,WAAW;QACX,UAAU;QACV,KAAK;SACH,MAAM;SACN,MAAM;SACP;QACD,OAAO;SACL,MAAM;SACN,OAAO,KAAK;SACb;QACD,MAAM;QACP;OACD;QACE,MAAM;QACN,QAAQ;QACR,WAAW;QACX,UAAU;QACV,KAAK;SACH,MAAM;SACN,MAAM;SACP;QACD,OAAO;SACL,MAAM;SACN,iBAAiB,EAAE,MAAM,sBAAsB;SAC/C,iBAAiB,EAAE,MAAM,sBAAsB;SAC/C,UAAU,KAAK,MAAM;SACtB;QACD,MAAM;QACP;OACF;MACF,EAAE;KACJ;IACF,CACF;GACF;AAED,OAAK,SAAS,KAAK;GACjB,MAAM;GACN,OAAO;GACP,MAAM,EACJ,QAAQ;IACN,MAAM;IACN,MAAM,CACJ,YACI;KACE,MAAM;KACN;KACA,YAAY,EAAE;KACd,YAAY,EAAE;KACf,GACD,YACL;IACD,YAAY;IACZ,UAAU,EAAE;IACb,EACF;GACF,CAAuB"}
|
|
@@ -19,4 +19,4 @@ interface RemarkAdmonitionOptions {
|
|
|
19
19
|
declare function remarkAdmonition(options?: RemarkAdmonitionOptions): Transformer<Root, Root>;
|
|
20
20
|
//#endregion
|
|
21
21
|
export { remarkAdmonition as n, RemarkAdmonitionOptions as t };
|
|
22
|
-
//# sourceMappingURL=remark-admonition-
|
|
22
|
+
//# sourceMappingURL=remark-admonition-Chku_iWO.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-admonition-
|
|
1
|
+
{"version":3,"file":"remark-admonition-Chku_iWO.d.ts","names":[],"sources":["../src/mdx-plugins/remark-admonition.ts"],"sourcesContent":[],"mappings":";;;;UAKiB,uBAAA;;EAAA;AAgBjB;;EAAqF,OAAA,CAAA,EAVzE,MAUyE,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;;iBAArE,gBAAA,WAA0B,0BAA+B,YAAY,MAAM"}
|
|
@@ -29,4 +29,4 @@ declare const Types: {
|
|
|
29
29
|
declare function remarkCodeTab(this: Processor, options?: RemarkCodeTabOptions): Transformer<Root, Root>;
|
|
30
30
|
//#endregion
|
|
31
31
|
export { remarkCodeTab as n, RemarkCodeTabOptions as t };
|
|
32
|
-
//# sourceMappingURL=remark-code-tab-
|
|
32
|
+
//# sourceMappingURL=remark-code-tab-C0f6BPcw.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-code-tab-
|
|
1
|
+
{"version":3,"file":"remark-code-tab-C0f6BPcw.d.ts","names":[],"sources":["../src/mdx-plugins/remark-code-tab.ts"],"sourcesContent":[],"mappings":";;;;;KAMK,OAAA,gBAAuB;UACX,oBAAA;EADZ,IAAA,CAAA,EAEI,OAFG;EACK;AAShB;;;;EAAA,QAAA,CAAA,EAAA,OAAA;AAAA;eA6Hc,OAAA,CAAA;EACJ,UAAA,QAAA,CAAA;IAGN,GAAA,CAAA,EAAA,MAAA;EAvHU;;cAkJT,KA9ID,EAAA;EAAiB,aAAA,EAAA;IAmJN,OAAA,CAAA,SAAa,EApCd,SAoCc,EAAA,KAAA,EAnClB,IAmCkB,EAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,CAAA,EAhCxB,iBAgCwB;EACrB,CAAA;EACG,IAAA,EAAA;IACI,OAAA,CAAA,SAAA,EA1JA,SA0JA,EAAA,KAAA,EAzJJ,IAyJI,EAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,CAAA,EAtJV,iBAsJU;EAAM,CAAA;CAAlB;AAAW,iBAHE,aAAA,CAGF,IAAA,EAFN,SAEM,EAAA,OAAA,CAAA,EADH,oBACG,CAAA,EAAX,WAAW,CAAC,IAAD,EAAO,IAAP,CAAA"}
|
package/dist/{remark-directive-admonition-BCm_yiU9.d.ts → remark-directive-admonition-CBwJdh9z.d.ts}
RENAMED
|
@@ -33,4 +33,4 @@ declare function remarkDirectiveAdmonition({
|
|
|
33
33
|
}?: RemarkDirectiveAdmonitionOptions): Transformer<Root, Root>;
|
|
34
34
|
//#endregion
|
|
35
35
|
export { remarkDirectiveAdmonition as n, RemarkDirectiveAdmonitionOptions as t };
|
|
36
|
-
//# sourceMappingURL=remark-directive-admonition-
|
|
36
|
+
//# sourceMappingURL=remark-directive-admonition-CBwJdh9z.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-directive-admonition-
|
|
1
|
+
{"version":3,"file":"remark-directive-admonition-CBwJdh9z.d.ts","names":[],"sources":["../src/mdx-plugins/remark-directive-admonition.ts"],"sourcesContent":[],"mappings":";;;;UAKiB,gCAAA;;AAAjB;AAuBA;EAEI,IAAA,CAAA,EAAA;IACA,gBAAA,CAAA,EAAA,MAAA;IACA,YAAA,CAAA,EAAA,MAAA;IAEF,kBAAA,CAAA,EAAA,MAAA;EASC,CAAA;EAAoD;;;;;UAvB7C;;;;;;;iBAQM,yBAAA;;;;;;;IAeb,mCAAwC,YAAY,MAAM"}
|
|
@@ -34,4 +34,4 @@ declare function remarkHeading({
|
|
|
34
34
|
}?: RemarkHeadingOptions): Transformer<Root, Root>;
|
|
35
35
|
//#endregion
|
|
36
36
|
export { remarkHeading as n, RemarkHeadingOptions as t };
|
|
37
|
-
//# sourceMappingURL=remark-heading-
|
|
37
|
+
//# sourceMappingURL=remark-heading-CUAe4zIu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-heading-
|
|
1
|
+
{"version":3,"file":"remark-heading-CUAe4zIu.d.ts","names":[],"sources":["../src/mdx-plugins/remark-heading.ts"],"sourcesContent":[],"mappings":";;;;;gCAUuC;IARI,WAAA,CAAA,EAAA;MAAA,EAAA,CAAA,EAAA,MAAA;IAQJ,CAAA;EAAI;;AAS1B,UAAA,oBAAA,CAAoB;EAqBrB,IAAA,CAAA,EAAA,CAAA,IAAA,EApBA,IAoBa,EAAA,OAAA,EApBE,OAoBF,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA;EACrB;;;;;EAGyC,QAAA,CAAA,EAAA,OAAA;EAAlB;;;;;;;;;;iBAJf,aAAA;QACR;;;IAGL,uBAA4B,YAAY,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-image-
|
|
1
|
+
{"version":3,"file":"remark-image-DMRnxsRO.d.ts","names":[],"sources":["../src/mdx-plugins/remark-image.ts"],"sourcesContent":[],"mappings":";;;;KAYK,oBAAA;;AAVsC;AAmB3C;EA4DgB,OAAA,CAAA,EAAA,MAAW;CACzB,GAAA,OAAA;AACA,UA9De,kBAAA,CA8Df;EACA;;;EAGC,SAAA,CAAA,EAAA,MAAA;EAAsC;;;;;;;;;;;;;;;mDA5CU;;;;;;;;;;;;;;;;;;;;aAsBtC;;;;;iBAgBG,WAAA;;;;;;IAMb,qBAA0B,YAAY,MAAM"}
|
|
@@ -53,4 +53,4 @@ interface RemarkMdxFilesOptions {
|
|
|
53
53
|
declare function remarkMdxFiles(options?: RemarkMdxFilesOptions): Transformer<Root, Root>;
|
|
54
54
|
//#endregion
|
|
55
55
|
export { remarkMdxFiles as a, ToMdxOptions as i, FolderNode as n, RemarkMdxFilesOptions as r, FileNode as t };
|
|
56
|
-
//# sourceMappingURL=remark-mdx-files-
|
|
56
|
+
//# sourceMappingURL=remark-mdx-files-B5KMXnfh.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-mdx-files-
|
|
1
|
+
{"version":3,"file":"remark-mdx-files-B5KMXnfh.d.ts","names":[],"sources":["../src/mdx-plugins/remark-mdx-files.ts"],"sourcesContent":[],"mappings":";;;;;UAOiB,QAAA;;EAAA,IAAA,EAAA,MAAQ;EAMR,IAAA,EAAA,MAAA;AAOjB;AAIK,UAXY,UAAA,CAWL;EAEK,KAAA,EAAA,MAAA;EAKA,IAAA,EAAA,QAAA;EAAe,IAAA,EAAA,MAAA;EAAiB,QAAA,EAdrC,IAcqC,EAAA;;AA+GjC,UA1HC,YAAA,CA0Ha;EAAU,cAAA,EAAA,OAAA;;KAtHnC,IAAA,GAAO,QAsH2E,GAtHhE,UAsHgE;AAAlB,UApHpD,qBAAA,CAoHoD;EAAW;;;;iBA/G/D,eAAe,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+GjC,cAAA,WAAwB,wBAA6B,YAAY,MAAM"}
|
|
@@ -14,4 +14,4 @@ interface RemarkMdxMermaidOptions {
|
|
|
14
14
|
declare function remarkMdxMermaid(options?: RemarkMdxMermaidOptions): Transformer<Root, Root>;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { remarkMdxMermaid as n, RemarkMdxMermaidOptions as t };
|
|
17
|
-
//# sourceMappingURL=remark-mdx-mermaid-
|
|
17
|
+
//# sourceMappingURL=remark-mdx-mermaid-C_4W5gfj.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-mdx-mermaid-
|
|
1
|
+
{"version":3,"file":"remark-mdx-mermaid-C_4W5gfj.d.ts","names":[],"sources":["../src/mdx-plugins/remark-mdx-mermaid.ts"],"sourcesContent":[],"mappings":";;;;UAoBiB,uBAAA;;AAAjB;AAUA;EAA0C,IAAA,CAAA,EAAA,MAAA;;;;;iBAA1B,gBAAA,WAA0B,0BAA+B,YAAY,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-npm-
|
|
1
|
+
{"version":3,"file":"remark-npm-CykFgJn2.d.ts","names":[],"sources":["../src/mdx-plugins/remark-npm.ts"],"sourcesContent":[],"mappings":";;;;UAMU,cAAA;;EAAA;AAcV;AAoBA;EACE,KAAA,CAAA,EAAA,MAAA;EACA;;;EAM2C,OAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,MAAA,GAAA,SAAA;;AAAP,UA5BrB,gBAAA,CA4BqB;;;;;;;;;oBAhBlB;;;;;iBAQJ,SAAA;;;IAQb,mBAAwB,YAAY,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-steps-
|
|
1
|
+
{"version":3,"file":"remark-steps-5-DmLVv3.d.ts","names":[],"sources":["../src/mdx-plugins/remark-steps.ts"],"sourcesContent":[],"mappings":";;;;UAKiB,kBAAA;;AAAjB;AAqBA;;;EAGG,KAAA,CAAA,EAAA,MAAA;EAAsC;;;;;;;;;;iBAHzB,WAAA;;;IAGb,qBAA0B,YAAY,MAAM"}
|
|
@@ -74,4 +74,4 @@ declare function remarkStructure({
|
|
|
74
74
|
declare function structure(content: string, remarkPlugins?: PluggableList, options?: StructureOptions): StructuredData;
|
|
75
75
|
//#endregion
|
|
76
76
|
export { structure as a, remarkStructureDefaultOptions as i, StructuredData as n, remarkStructure as r, StructureOptions as t };
|
|
77
|
-
//# sourceMappingURL=remark-structure-
|
|
77
|
+
//# sourceMappingURL=remark-structure-CszwnaMR.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-structure-
|
|
1
|
+
{"version":3,"file":"remark-structure-CszwnaMR.d.ts","names":[],"sources":["../src/mdx-plugins/remark-structure.ts"],"sourcesContent":[],"mappings":";;;;;UAaU,SAAA;;EAAA,OAAA,EAAA,MAAO;AAAA;AAUjB,UALU,OAAA,CAKO;EAQA,OAAA,EAAA,MAAA,GAAA,SAAgB;EAMJ,OAAA,EAAA,MAAA;;AAYV,UA1BF,cAAA,CA0BE;EAAkB,QAAA,EAzBzB,SAyByB,EAAA;EAAyB;AAO7D;;UAAA,EA5BW,OA4BX,EAAA;;AAAA,UAzBgB,gBAAA,CAyBhB;EAAA;;;;;EAoBY,KAAA,CAAA,EAAA,MAAA,EAAA,GAAA,CAAA,CAAA,IAAA,EAvCgB,KA+CS,EAAA,GAAA,OAAA,CAAA;EAOtB;;;;;;EAI6B,oBAAA,CAAA,EAAA,MAAA,EAAA,GAAA,CAAA,CAAA,IAAA,EA/C/B,iBA+C+B,EAAA,SAAA,EA9C1B,eA8C0B,GA9CR,yBA8CQ,EAAA,GAAA,OAAA,CAAA;EAAlB;;AAwG3B;EAEiB,QAAA,CAAA,EAAA,MAAA,GAAA,OAAA;;eAEd,OAAA,CAAA;EAAc,UAAA,IAAA,CAAA;;;;;;;;;;;;oBAnIG;;;cAIP;;+BAQyB;;;;;;;;iBAOtB,eAAA;;;;IAIb,mBAAwB,YAAY,MAAM;;;;iBAwG7B,SAAA,kCAEC,yBACN,mBACR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-undefined-
|
|
1
|
+
{"version":3,"file":"remove-undefined-B7zJF-YS.js","names":[],"sources":["../src/utils/remove-undefined.ts"],"sourcesContent":["export function removeUndefined<T extends object>(value: T, deep = false): T {\n const obj = value as Record<string, unknown>;\n\n for (const key in obj) {\n if (obj[key] === undefined) delete obj[key];\n if (!deep) continue;\n\n const entry = obj[key];\n\n if (typeof entry === 'object' && entry !== null) {\n removeUndefined(entry, deep);\n continue;\n }\n\n if (Array.isArray(entry)) {\n for (const item of entry) removeUndefined(item, deep);\n }\n }\n\n return value;\n}\n"],"mappings":";AAAA,SAAgB,gBAAkC,OAAU,OAAO,OAAU;CAC3E,MAAM,MAAM;AAEZ,MAAK,MAAM,OAAO,KAAK;AACrB,MAAI,IAAI,SAAS,OAAW,QAAO,IAAI;AACvC,MAAI,CAAC,KAAM;EAEX,MAAM,QAAQ,IAAI;AAElB,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,mBAAgB,OAAO,KAAK;AAC5B;;AAGF,MAAI,MAAM,QAAQ,MAAM,CACtB,MAAK,MAAM,QAAQ,MAAO,iBAAgB,MAAM,KAAK;;AAIzD,QAAO"}
|
package/dist/search/algolia.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "../remark-structure-
|
|
2
|
-
import { a as sync, i as setIndexSettings, n as DocumentRecord, o as updateDocuments, r as SyncOptions, t as BaseIndex } from "../algolia-
|
|
1
|
+
import "../remark-structure-CszwnaMR.js";
|
|
2
|
+
import { a as sync, i as setIndexSettings, n as DocumentRecord, o as updateDocuments, r as SyncOptions, t as BaseIndex } from "../algolia-FqjcaTcD.js";
|
|
3
3
|
export { BaseIndex, DocumentRecord, SyncOptions, setIndexSettings, sync, updateDocuments };
|
package/dist/search/client.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import "../definitions-
|
|
2
|
-
import "../remark-structure-
|
|
3
|
-
import { t as BaseIndex } from "../algolia-
|
|
1
|
+
import "../definitions-DJAPG-2U.js";
|
|
2
|
+
import "../remark-structure-CszwnaMR.js";
|
|
3
|
+
import { t as BaseIndex } from "../algolia-FqjcaTcD.js";
|
|
4
4
|
import { SortedResult } from "./index.js";
|
|
5
|
-
import "../server-
|
|
6
|
-
import "../index-
|
|
5
|
+
import "../server-BzFuYBxW.js";
|
|
6
|
+
import "../index-Co_C8NEi.js";
|
|
7
7
|
import { DependencyList } from "react";
|
|
8
8
|
import { AnyOrama } from "@orama/orama";
|
|
9
9
|
import { LiteClient, SearchResponse } from "algoliasearch/lite";
|
|
10
10
|
import { OramaCloud, OramaCloudSearchParams } from "@orama/core";
|
|
11
|
+
import { ClientSearchParams, OramaClient } from "@oramacloud/client";
|
|
11
12
|
import Mixedbread from "@mixedbread/sdk";
|
|
12
13
|
|
|
13
14
|
//#region src/search/client/fetch.d.ts
|
|
@@ -81,6 +82,26 @@ interface OramaCloudOptions {
|
|
|
81
82
|
locale?: string;
|
|
82
83
|
}
|
|
83
84
|
//#endregion
|
|
85
|
+
//#region src/search/client/orama-cloud-legacy.d.ts
|
|
86
|
+
interface OramaCloudLegacyOptions {
|
|
87
|
+
client: OramaClient;
|
|
88
|
+
/**
|
|
89
|
+
* The type of your index.
|
|
90
|
+
*
|
|
91
|
+
* You can set it to `crawler` if you use crawler instead of the JSON index with schema provided by Fumadocs
|
|
92
|
+
*/
|
|
93
|
+
index?: 'default' | 'crawler';
|
|
94
|
+
params?: ClientSearchParams;
|
|
95
|
+
/**
|
|
96
|
+
* Filter results with specific tag.
|
|
97
|
+
*/
|
|
98
|
+
tag?: string;
|
|
99
|
+
/**
|
|
100
|
+
* Filter by locale (unsupported at the moment)
|
|
101
|
+
*/
|
|
102
|
+
locale?: string;
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
84
105
|
//#region src/search/client/mixedbread.d.ts
|
|
85
106
|
interface MixedbreadOptions {
|
|
86
107
|
/**
|
|
@@ -120,6 +141,8 @@ type Client = ({
|
|
|
120
141
|
} & AlgoliaOptions) | ({
|
|
121
142
|
type: 'orama-cloud';
|
|
122
143
|
} & OramaCloudOptions) | ({
|
|
144
|
+
type: 'orama-cloud-legacy';
|
|
145
|
+
} & OramaCloudLegacyOptions) | ({
|
|
123
146
|
type: 'mixedbread';
|
|
124
147
|
} & MixedbreadOptions);
|
|
125
148
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","names":[],"sources":["../../src/search/client/fetch.ts","../../src/search/client/static.ts","../../src/search/client/algolia.ts","../../src/search/client/orama-cloud.ts","../../src/search/client/mixedbread.ts","../../src/search/client.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","names":[],"sources":["../../src/search/client/fetch.ts","../../src/search/client/static.ts","../../src/search/client/algolia.ts","../../src/search/client/orama-cloud.ts","../../src/search/client/orama-cloud-legacy.ts","../../src/search/client/mixedbread.ts","../../src/search/client.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;UAEiB,YAAA;;;;;;;;;;;;;AAAjB;;;;;UCIiB,aAAA;;;;;;;mCAQkB,WAAW,QAAQ;;;;;;ADZtD;;;;;;UEEiB,cAAA;;UAEP;;;;;;+DAaH;aACM,eAAe;;AFlB5B;;;UGWiB,iBAAA;UACP;;;;;;;WAOC,QAAQ;;;;EHnBF,GAAA,CAAA,EAAA,MAAA;;;;ECIA,MAAA,CAAA,EAAA,MAAA;;;;UGOA,uBAAA;UACP;;;;;;;WAOC;;;;EJnBM,GAAA,CAAA,EAAA,MAAA;;;;ECIA,MAAA,CAAA,EAAA,MAAA;;;;UIAA,iBAAA;;;;;;;;UASP;;;;ELbO,GAAA,CAAA,EAAA,MAAA;;;;ECIA,MAAA,CAAA,EAAA,MAAA;;;;UKKP,aAAA;;;;;WAKC;INdM,KAAA,CAAA,EMeL,KNfiB;;;KMmBjB,MAAA;ELfK,IAAA,EAAA,OAAA;CAQkB,GKU3B,YLV2B,CAAA,GAAA,CAAA;EAAmB,IAAA,EAAA,QAAA;CAAR,GKatC,aLbsC,CAAA,GAAA,CAAA;EAAO,IAAA,EAAA,SAAA;IKgB7C;;IAGA;EJ7BS,IAAA,EAAA,oBAAc;CAErB,GI8BF,uBJ9BE,CAAA,GAAA,CAAA;EAckB,IAAA,EAAA,YAAA;CAAf,GImBL,iBJnBK,CAAA;;;;;;ACPI,iBGwDD,aAAA,CHxDkB,aAAA,EGyDjB,MHzDiB,GAAA;EACxB;;;;;;;ACDV;;;;ECPiB,UAAA,CAAA,EAAA,OAAiB;UC+EzB,iBACN"}
|
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-B1nmMSyw.js");
|
|
58
|
+
return fetchDocs(debouncedValue, client);
|
|
59
|
+
}
|
|
60
|
+
case "algolia": {
|
|
61
|
+
const { searchDocs } = await import("../algolia-BGWM-DkQ.js");
|
|
62
|
+
return searchDocs(debouncedValue, client);
|
|
63
|
+
}
|
|
64
|
+
case "orama-cloud": {
|
|
65
|
+
const { searchDocs } = await import("../orama-cloud-BMDBfk05.js");
|
|
66
|
+
return searchDocs(debouncedValue, client);
|
|
67
|
+
}
|
|
68
|
+
case "orama-cloud-legacy": {
|
|
69
|
+
const { searchDocs } = await import("../orama-cloud-legacy-CRZzZXWn.js");
|
|
70
|
+
return searchDocs(debouncedValue, client);
|
|
71
|
+
}
|
|
72
|
+
case "mixedbread": {
|
|
73
|
+
const { search: search$1 } = await import("../mixedbread-DSiQfUnN.js");
|
|
74
|
+
return search$1(debouncedValue, client);
|
|
75
|
+
}
|
|
76
|
+
case "static": {
|
|
77
|
+
const { search: search$1 } = await import("../static-DAjBQpus.js");
|
|
78
|
+
return search$1(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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","names":["search"],"sources":["../../src/utils/use-debounce.ts","../../src/search/client.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport function useDebounce<T>(value: T, delayMs = 1000): T {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n if (delayMs === 0) return;\n const handler = window.setTimeout(() => {\n setDebouncedValue(value);\n }, delayMs);\n\n return () => clearTimeout(handler);\n }, [delayMs, value]);\n\n if (delayMs === 0) return value;\n return debouncedValue;\n}\n","import { type DependencyList, useRef, useState } from 'react';\nimport { useDebounce } from '@/utils/use-debounce';\nimport { type FetchOptions } from '@/search/client/fetch';\nimport { useOnChange } from '@/utils/use-on-change';\nimport { type StaticOptions } from '@/search/client/static';\nimport { type AlgoliaOptions } from '@/search/client/algolia';\nimport { type OramaCloudOptions } from '@/search/client/orama-cloud';\nimport { type MixedbreadOptions } from '@/search/client/mixedbread';\nimport type { SortedResult } from '@/search';\n\ninterface UseDocsSearch {\n search: string;\n setSearch: (v: string) => void;\n query: {\n isLoading: boolean;\n data?: SortedResult[] | 'empty';\n error?: Error;\n };\n}\n\nexport type Client =\n | ({\n type: 'fetch';\n } & FetchOptions)\n | ({\n type: 'static';\n } & StaticOptions)\n | ({\n type: 'algolia';\n } & AlgoliaOptions)\n | ({\n type: 'orama-cloud';\n } & OramaCloudOptions)\n | ({\n type: 'mixedbread';\n } & MixedbreadOptions);\n\nfunction isDeepEqual(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n\n if (Array.isArray(a) && Array.isArray(b)) {\n return b.length === a.length && a.every((v, i) => isDeepEqual(v, b[i]));\n }\n\n if (typeof a === 'object' && a && typeof b === 'object' && b) {\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n return (\n aKeys.length === bKeys.length &&\n aKeys.every(\n (key) =>\n Object.hasOwn(b, key) && isDeepEqual(a[key as keyof object], b[key as keyof object]),\n )\n );\n }\n\n return false;\n}\n\n/**\n * Provide a hook to query different official search clients.\n *\n * Note: it will re-query when its parameters changed, make sure to use `useMemo()` on `clientOptions` or define `deps` array.\n */\nexport function useDocsSearch(\n clientOptions: Client & {\n /**\n * The debounced delay for performing a search (in ms).\n * .\n * @defaultValue 100\n */\n delayMs?: number;\n\n /**\n * still perform search even if query is empty.\n *\n * @defaultValue false\n */\n allowEmpty?: boolean;\n },\n deps?: DependencyList,\n): UseDocsSearch {\n const { delayMs = 100, allowEmpty = false, ...client } = clientOptions;\n\n const [search, setSearch] = useState('');\n const [results, setResults] = useState<SortedResult[] | 'empty'>('empty');\n const [error, setError] = useState<Error>();\n const [isLoading, setIsLoading] = useState(false);\n const debouncedValue = useDebounce(search, delayMs);\n const onStart = useRef<() => void>(undefined);\n\n useOnChange(\n [deps ?? clientOptions, debouncedValue],\n () => {\n if (onStart.current) {\n onStart.current();\n onStart.current = undefined;\n }\n\n setIsLoading(true);\n let interrupt = false;\n onStart.current = () => {\n interrupt = true;\n };\n\n async function run(): Promise<SortedResult[] | 'empty'> {\n if (debouncedValue.length === 0 && !allowEmpty) return 'empty';\n
|
|
1
|
+
{"version":3,"file":"client.js","names":["search"],"sources":["../../src/utils/use-debounce.ts","../../src/search/client.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport function useDebounce<T>(value: T, delayMs = 1000): T {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n if (delayMs === 0) return;\n const handler = window.setTimeout(() => {\n setDebouncedValue(value);\n }, delayMs);\n\n return () => clearTimeout(handler);\n }, [delayMs, value]);\n\n if (delayMs === 0) return value;\n return debouncedValue;\n}\n","import { type DependencyList, useRef, useState } from 'react';\nimport { useDebounce } from '@/utils/use-debounce';\nimport { type FetchOptions } from '@/search/client/fetch';\nimport { useOnChange } from '@/utils/use-on-change';\nimport { type StaticOptions } from '@/search/client/static';\nimport { type AlgoliaOptions } from '@/search/client/algolia';\nimport { type OramaCloudOptions } from '@/search/client/orama-cloud';\nimport { type OramaCloudLegacyOptions } from '@/search/client/orama-cloud-legacy';\nimport { type MixedbreadOptions } from '@/search/client/mixedbread';\nimport type { SortedResult } from '@/search';\n\ninterface UseDocsSearch {\n search: string;\n setSearch: (v: string) => void;\n query: {\n isLoading: boolean;\n data?: SortedResult[] | 'empty';\n error?: Error;\n };\n}\n\nexport type Client =\n | ({\n type: 'fetch';\n } & FetchOptions)\n | ({\n type: 'static';\n } & StaticOptions)\n | ({\n type: 'algolia';\n } & AlgoliaOptions)\n | ({\n type: 'orama-cloud';\n } & OramaCloudOptions)\n | ({\n type: 'orama-cloud-legacy';\n } & OramaCloudLegacyOptions)\n | ({\n type: 'mixedbread';\n } & MixedbreadOptions);\n\nfunction isDeepEqual(a: unknown, b: unknown): boolean {\n if (a === b) return true;\n\n if (Array.isArray(a) && Array.isArray(b)) {\n return b.length === a.length && a.every((v, i) => isDeepEqual(v, b[i]));\n }\n\n if (typeof a === 'object' && a && typeof b === 'object' && b) {\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n return (\n aKeys.length === bKeys.length &&\n aKeys.every(\n (key) =>\n Object.hasOwn(b, key) && isDeepEqual(a[key as keyof object], b[key as keyof object]),\n )\n );\n }\n\n return false;\n}\n\n/**\n * Provide a hook to query different official search clients.\n *\n * Note: it will re-query when its parameters changed, make sure to use `useMemo()` on `clientOptions` or define `deps` array.\n */\nexport function useDocsSearch(\n clientOptions: Client & {\n /**\n * The debounced delay for performing a search (in ms).\n * .\n * @defaultValue 100\n */\n delayMs?: number;\n\n /**\n * still perform search even if query is empty.\n *\n * @defaultValue false\n */\n allowEmpty?: boolean;\n },\n deps?: DependencyList,\n): UseDocsSearch {\n const { delayMs = 100, allowEmpty = false, ...client } = clientOptions;\n\n const [search, setSearch] = useState('');\n const [results, setResults] = useState<SortedResult[] | 'empty'>('empty');\n const [error, setError] = useState<Error>();\n const [isLoading, setIsLoading] = useState(false);\n const debouncedValue = useDebounce(search, delayMs);\n const onStart = useRef<() => void>(undefined);\n\n useOnChange(\n [deps ?? clientOptions, debouncedValue],\n () => {\n if (onStart.current) {\n onStart.current();\n onStart.current = undefined;\n }\n\n setIsLoading(true);\n let interrupt = false;\n onStart.current = () => {\n interrupt = true;\n };\n\n async function run(): Promise<SortedResult[] | 'empty'> {\n if (debouncedValue.length === 0 && !allowEmpty) return 'empty';\n switch (client.type) {\n case 'fetch': {\n const { fetchDocs } = await import('./client/fetch');\n return fetchDocs(debouncedValue, client);\n }\n case 'algolia': {\n const { searchDocs } = await import('./client/algolia');\n return searchDocs(debouncedValue, client);\n }\n case 'orama-cloud': {\n const { searchDocs } = await import('./client/orama-cloud');\n return searchDocs(debouncedValue, client);\n }\n case 'orama-cloud-legacy': {\n const { searchDocs } = await import('./client/orama-cloud-legacy');\n return searchDocs(debouncedValue, client);\n }\n case 'mixedbread': {\n const { search } = await import('./client/mixedbread');\n return search(debouncedValue, client);\n }\n case 'static': {\n const { search } = await import('./client/static');\n return search(debouncedValue, client);\n }\n default:\n throw new Error('unknown search client');\n }\n }\n\n void run()\n .then((res) => {\n if (interrupt) return;\n\n setError(undefined);\n setResults(res);\n })\n .catch((err: Error) => {\n setError(err);\n })\n .finally(() => {\n setIsLoading(false);\n });\n },\n deps ? undefined : (a, b) => !isDeepEqual(a, b),\n );\n\n return { search, setSearch, query: { isLoading, data: results, error } };\n}\n\nexport type { OramaCloudOptions, FetchOptions, StaticOptions, AlgoliaOptions };\n"],"mappings":";;;;AAEA,SAAgB,YAAe,OAAU,UAAU,KAAS;CAC1D,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,MAAM;AAE3D,iBAAgB;AACd,MAAI,YAAY,EAAG;EACnB,MAAM,UAAU,OAAO,iBAAiB;AACtC,qBAAkB,MAAM;KACvB,QAAQ;AAEX,eAAa,aAAa,QAAQ;IACjC,CAAC,SAAS,MAAM,CAAC;AAEpB,KAAI,YAAY,EAAG,QAAO;AAC1B,QAAO;;;;;AC0BT,SAAS,YAAY,GAAY,GAAqB;AACpD,KAAI,MAAM,EAAG,QAAO;AAEpB,KAAI,MAAM,QAAQ,EAAE,IAAI,MAAM,QAAQ,EAAE,CACtC,QAAO,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,YAAY,GAAG,EAAE,GAAG,CAAC;AAGzE,KAAI,OAAO,MAAM,YAAY,KAAK,OAAO,MAAM,YAAY,GAAG;EAC5D,MAAM,QAAQ,OAAO,KAAK,EAAE;EAC5B,MAAM,QAAQ,OAAO,KAAK,EAAE;AAE5B,SACE,MAAM,WAAW,MAAM,UACvB,MAAM,OACH,QACC,OAAO,OAAO,GAAG,IAAI,IAAI,YAAY,EAAE,MAAsB,EAAE,KAAqB,CACvF;;AAIL,QAAO;;;;;;;AAQT,SAAgB,cACd,eAeA,MACe;CACf,MAAM,EAAE,UAAU,KAAK,aAAa,OAAO,GAAG,WAAW;CAEzD,MAAM,CAAC,QAAQ,aAAa,SAAS,GAAG;CACxC,MAAM,CAAC,SAAS,cAAc,SAAmC,QAAQ;CACzE,MAAM,CAAC,OAAO,YAAY,UAAiB;CAC3C,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;CACjD,MAAM,iBAAiB,YAAY,QAAQ,QAAQ;CACnD,MAAM,UAAU,OAAmB,OAAU;AAE7C,aACE,CAAC,QAAQ,eAAe,eAAe,QACjC;AACJ,MAAI,QAAQ,SAAS;AACnB,WAAQ,SAAS;AACjB,WAAQ,UAAU;;AAGpB,eAAa,KAAK;EAClB,IAAI,YAAY;AAChB,UAAQ,gBAAgB;AACtB,eAAY;;EAGd,eAAe,MAAyC;AACtD,OAAI,eAAe,WAAW,KAAK,CAAC,WAAY,QAAO;AACvD,WAAQ,OAAO,MAAf;IACE,KAAK,SAAS;KACZ,MAAM,EAAE,cAAc,MAAM,OAAO;AACnC,YAAO,UAAU,gBAAgB,OAAO;;IAE1C,KAAK,WAAW;KACd,MAAM,EAAE,eAAe,MAAM,OAAO;AACpC,YAAO,WAAW,gBAAgB,OAAO;;IAE3C,KAAK,eAAe;KAClB,MAAM,EAAE,eAAe,MAAM,OAAO;AACpC,YAAO,WAAW,gBAAgB,OAAO;;IAE3C,KAAK,sBAAsB;KACzB,MAAM,EAAE,eAAe,MAAM,OAAO;AACpC,YAAO,WAAW,gBAAgB,OAAO;;IAE3C,KAAK,cAAc;KACjB,MAAM,EAAE,qBAAW,MAAM,OAAO;AAChC,YAAOA,SAAO,gBAAgB,OAAO;;IAEvC,KAAK,UAAU;KACb,MAAM,EAAE,qBAAW,MAAM,OAAO;AAChC,YAAOA,SAAO,gBAAgB,OAAO;;IAEvC,QACE,OAAM,IAAI,MAAM,wBAAwB;;;AAI9C,EAAK,KAAK,CACP,MAAM,QAAQ;AACb,OAAI,UAAW;AAEf,YAAS,OAAU;AACnB,cAAW,IAAI;IACf,CACD,OAAO,QAAe;AACrB,YAAS,IAAI;IACb,CACD,cAAc;AACb,gBAAa,MAAM;IACnB;IAEN,OAAO,UAAa,GAAG,MAAM,CAAC,YAAY,GAAG,EAAE,CAChD;AAED,QAAO;EAAE;EAAQ;EAAW,OAAO;GAAE;GAAW,MAAM;GAAS;GAAO;EAAE"}
|
package/dist/search/index.js
CHANGED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import "../remark-gfm-B2aZXutO.js";
|
|
2
|
+
import "../rehype-code-Bd52chOe.js";
|
|
3
|
+
import { n as StructuredData } from "../remark-structure-CszwnaMR.js";
|
|
4
|
+
import "../remark-heading-CUAe4zIu.js";
|
|
5
|
+
import "../remark-code-tab-C0f6BPcw.js";
|
|
6
|
+
import "../mdx-plugins/index.js";
|
|
7
|
+
import { CloudManager } from "@oramacloud/client";
|
|
8
|
+
|
|
9
|
+
//#region src/search/orama-cloud-legacy.d.ts
|
|
10
|
+
interface SyncOptions {
|
|
11
|
+
/**
|
|
12
|
+
* Index name to sync
|
|
13
|
+
*/
|
|
14
|
+
index: string;
|
|
15
|
+
documents: OramaDocument[];
|
|
16
|
+
/**
|
|
17
|
+
* Deploy changes
|
|
18
|
+
*
|
|
19
|
+
* @defaultValue true
|
|
20
|
+
*/
|
|
21
|
+
autoDeploy?: boolean;
|
|
22
|
+
}
|
|
23
|
+
interface I18nSyncOptions extends Omit<SyncOptions, 'index' | 'documents'> {
|
|
24
|
+
/**
|
|
25
|
+
* Indexes to sync.
|
|
26
|
+
*
|
|
27
|
+
* Pairs of `locale`-`index`.
|
|
28
|
+
**/
|
|
29
|
+
indexes: Record<string, string>;
|
|
30
|
+
documents: {
|
|
31
|
+
locale: string;
|
|
32
|
+
items: OramaDocument[];
|
|
33
|
+
}[];
|
|
34
|
+
}
|
|
35
|
+
interface OramaDocument {
|
|
36
|
+
/**
|
|
37
|
+
* The ID of document, must be unique
|
|
38
|
+
*/
|
|
39
|
+
id: string;
|
|
40
|
+
title: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
/**
|
|
43
|
+
* URL to the page
|
|
44
|
+
*/
|
|
45
|
+
url: string;
|
|
46
|
+
structured: StructuredData;
|
|
47
|
+
/**
|
|
48
|
+
* Tag to filter results
|
|
49
|
+
*/
|
|
50
|
+
tag?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Data to be added to each section index
|
|
53
|
+
*/
|
|
54
|
+
extra_data?: object;
|
|
55
|
+
breadcrumbs?: string[];
|
|
56
|
+
}
|
|
57
|
+
interface OramaIndex {
|
|
58
|
+
id: string;
|
|
59
|
+
title: string;
|
|
60
|
+
url: string;
|
|
61
|
+
tag?: string;
|
|
62
|
+
/**
|
|
63
|
+
* The id of page, used for `group by`
|
|
64
|
+
*/
|
|
65
|
+
page_id: string;
|
|
66
|
+
/**
|
|
67
|
+
* Heading content
|
|
68
|
+
*/
|
|
69
|
+
section?: string;
|
|
70
|
+
breadcrumbs?: string[];
|
|
71
|
+
/**
|
|
72
|
+
* Heading (anchor) id
|
|
73
|
+
*/
|
|
74
|
+
section_id?: string;
|
|
75
|
+
content: string;
|
|
76
|
+
}
|
|
77
|
+
declare function sync(cloudManager: CloudManager, options: SyncOptions): Promise<void>;
|
|
78
|
+
declare function syncI18n(cloudManager: CloudManager, options: I18nSyncOptions): Promise<void>;
|
|
79
|
+
//#endregion
|
|
80
|
+
export { I18nSyncOptions, OramaDocument, OramaIndex, SyncOptions, sync, syncI18n };
|
|
81
|
+
//# sourceMappingURL=orama-cloud-legacy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orama-cloud-legacy.d.ts","names":[],"sources":["../../src/search/orama-cloud-legacy.ts"],"sourcesContent":[],"mappings":";;;;;;;;;UAGiB,WAAA;;;;;aAMJ;;AANb;AAgBA;;;EAUW,UAAA,CAAA,EAAA,OAAA;;AAVkC,UAA5B,eAAA,SAAwB,IAAI,CAAC,WAAD,EAAA,OAAA,GAAA,WAAA,CAAA,CAAA;EAc5B;AA2BjB;AA4BA;;;EAA8E,OAAA,EA/DnE,MA+DmE,CAAA,MAAA,EAAA,MAAA,CAAA;EAAO,SAAA,EAAA;IAQ/D,MAAA,EAAQ,MAAA;IACd,KAAA,EApEL,aAoEK,EAAA;EACL,CAAA,EAAA;;AACD,UAlEO,aAAA,CAkEP;;;;;;;;;;;cArDI;;;;;;;;;;;UAcG,UAAA;;;;;;;;;;;;;;;;;;;;iBA4BK,IAAA,eAAmB,uBAAuB,cAAc;iBAQxD,QAAA,eACN,uBACL,kBACR"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//#region src/search/orama-cloud-legacy.ts
|
|
2
|
+
async function sync(cloudManager, options) {
|
|
3
|
+
const { autoDeploy = true } = options;
|
|
4
|
+
const index = cloudManager.index(options.index);
|
|
5
|
+
await index.snapshot(options.documents.flatMap(toIndex));
|
|
6
|
+
if (autoDeploy) await index.deploy();
|
|
7
|
+
}
|
|
8
|
+
async function syncI18n(cloudManager, options) {
|
|
9
|
+
const { autoDeploy = true } = options;
|
|
10
|
+
const tasks = options.documents.map(async (document) => {
|
|
11
|
+
const index = cloudManager.index(options.indexes[document.locale]);
|
|
12
|
+
await index.snapshot(document.items.flatMap(toIndex));
|
|
13
|
+
if (autoDeploy) await index.deploy();
|
|
14
|
+
});
|
|
15
|
+
await Promise.all(tasks);
|
|
16
|
+
}
|
|
17
|
+
function toIndex(page) {
|
|
18
|
+
let id = 0;
|
|
19
|
+
const indexes = [];
|
|
20
|
+
const scannedHeadings = /* @__PURE__ */ new Set();
|
|
21
|
+
function createIndex(section, sectionId, content) {
|
|
22
|
+
return {
|
|
23
|
+
id: `${page.id}-${(id++).toString()}`,
|
|
24
|
+
title: page.title,
|
|
25
|
+
url: page.url,
|
|
26
|
+
page_id: page.id,
|
|
27
|
+
tag: page.tag,
|
|
28
|
+
section,
|
|
29
|
+
section_id: sectionId,
|
|
30
|
+
content,
|
|
31
|
+
breadcrumbs: page.breadcrumbs,
|
|
32
|
+
...page.extra_data
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if (page.description) indexes.push(createIndex(void 0, void 0, page.description));
|
|
36
|
+
page.structured.contents.forEach((p) => {
|
|
37
|
+
const heading = p.heading ? page.structured.headings.find((h) => p.heading === h.id) : null;
|
|
38
|
+
const index = createIndex(heading?.content, heading?.id, p.content);
|
|
39
|
+
if (heading && !scannedHeadings.has(heading.id)) {
|
|
40
|
+
scannedHeadings.add(heading.id);
|
|
41
|
+
indexes.push(createIndex(heading.content, heading.id, heading.content));
|
|
42
|
+
}
|
|
43
|
+
indexes.push(index);
|
|
44
|
+
});
|
|
45
|
+
return indexes;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
export { sync, syncI18n };
|
|
50
|
+
//# sourceMappingURL=orama-cloud-legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orama-cloud-legacy.js","names":["indexes: OramaIndex[]"],"sources":["../../src/search/orama-cloud-legacy.ts"],"sourcesContent":["import type { CloudManager } from '@oramacloud/client';\nimport type { StructuredData } from '@/mdx-plugins';\n\nexport interface SyncOptions {\n /**\n * Index name to sync\n */\n index: string;\n\n documents: OramaDocument[];\n\n /**\n * Deploy changes\n *\n * @defaultValue true\n */\n autoDeploy?: boolean;\n}\n\nexport interface I18nSyncOptions extends Omit<SyncOptions, 'index' | 'documents'> {\n /**\n * Indexes to sync.\n *\n * Pairs of `locale`-`index`.\n **/\n indexes: Record<string, string>;\n\n documents: {\n locale: string;\n items: OramaDocument[];\n }[];\n}\n\nexport interface OramaDocument {\n /**\n * The ID of document, must be unique\n */\n id: string;\n\n title: string;\n description?: string;\n\n /**\n * URL to the page\n */\n url: string;\n structured: StructuredData;\n\n /**\n * Tag to filter results\n */\n tag?: string;\n\n /**\n * Data to be added to each section index\n */\n extra_data?: object;\n breadcrumbs?: string[];\n}\n\nexport interface OramaIndex {\n id: string;\n\n title: string;\n url: string;\n\n tag?: string;\n\n /**\n * The id of page, used for `group by`\n */\n page_id: string;\n\n /**\n * Heading content\n */\n section?: string;\n\n breadcrumbs?: string[];\n\n /**\n * Heading (anchor) id\n */\n section_id?: string;\n\n content: string;\n}\n\nexport async function sync(cloudManager: CloudManager, options: SyncOptions): Promise<void> {\n const { autoDeploy = true } = options;\n const index = cloudManager.index(options.index);\n\n await index.snapshot(options.documents.flatMap(toIndex));\n if (autoDeploy) await index.deploy();\n}\n\nexport async function syncI18n(\n cloudManager: CloudManager,\n options: I18nSyncOptions,\n): Promise<void> {\n const { autoDeploy = true } = options;\n\n const tasks = options.documents.map(async (document) => {\n const index = cloudManager.index(options.indexes[document.locale]);\n\n await index.snapshot(document.items.flatMap(toIndex));\n if (autoDeploy) await index.deploy();\n });\n\n await Promise.all(tasks);\n}\n\nfunction toIndex(page: OramaDocument): OramaIndex[] {\n let id = 0;\n const indexes: OramaIndex[] = [];\n const scannedHeadings = new Set<string>();\n\n function createIndex(\n section: string | undefined,\n sectionId: string | undefined,\n content: string,\n ): OramaIndex {\n return {\n id: `${page.id}-${(id++).toString()}`,\n title: page.title,\n url: page.url,\n page_id: page.id,\n tag: page.tag,\n section,\n section_id: sectionId,\n content,\n breadcrumbs: page.breadcrumbs,\n ...page.extra_data,\n };\n }\n\n if (page.description) indexes.push(createIndex(undefined, undefined, page.description));\n\n page.structured.contents.forEach((p) => {\n const heading = p.heading ? page.structured.headings.find((h) => p.heading === h.id) : null;\n\n const index = createIndex(heading?.content, heading?.id, p.content);\n\n if (heading && !scannedHeadings.has(heading.id)) {\n scannedHeadings.add(heading.id);\n\n indexes.push(createIndex(heading.content, heading.id, heading.content));\n }\n\n indexes.push(index);\n });\n\n return indexes;\n}\n"],"mappings":";AAwFA,eAAsB,KAAK,cAA4B,SAAqC;CAC1F,MAAM,EAAE,aAAa,SAAS;CAC9B,MAAM,QAAQ,aAAa,MAAM,QAAQ,MAAM;AAE/C,OAAM,MAAM,SAAS,QAAQ,UAAU,QAAQ,QAAQ,CAAC;AACxD,KAAI,WAAY,OAAM,MAAM,QAAQ;;AAGtC,eAAsB,SACpB,cACA,SACe;CACf,MAAM,EAAE,aAAa,SAAS;CAE9B,MAAM,QAAQ,QAAQ,UAAU,IAAI,OAAO,aAAa;EACtD,MAAM,QAAQ,aAAa,MAAM,QAAQ,QAAQ,SAAS,QAAQ;AAElE,QAAM,MAAM,SAAS,SAAS,MAAM,QAAQ,QAAQ,CAAC;AACrD,MAAI,WAAY,OAAM,MAAM,QAAQ;GACpC;AAEF,OAAM,QAAQ,IAAI,MAAM;;AAG1B,SAAS,QAAQ,MAAmC;CAClD,IAAI,KAAK;CACT,MAAMA,UAAwB,EAAE;CAChC,MAAM,kCAAkB,IAAI,KAAa;CAEzC,SAAS,YACP,SACA,WACA,SACY;AACZ,SAAO;GACL,IAAI,GAAG,KAAK,GAAG,IAAI,MAAM,UAAU;GACnC,OAAO,KAAK;GACZ,KAAK,KAAK;GACV,SAAS,KAAK;GACd,KAAK,KAAK;GACV;GACA,YAAY;GACZ;GACA,aAAa,KAAK;GAClB,GAAG,KAAK;GACT;;AAGH,KAAI,KAAK,YAAa,SAAQ,KAAK,YAAY,QAAW,QAAW,KAAK,YAAY,CAAC;AAEvF,MAAK,WAAW,SAAS,SAAS,MAAM;EACtC,MAAM,UAAU,EAAE,UAAU,KAAK,WAAW,SAAS,MAAM,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG;EAEvF,MAAM,QAAQ,YAAY,SAAS,SAAS,SAAS,IAAI,EAAE,QAAQ;AAEnE,MAAI,WAAW,CAAC,gBAAgB,IAAI,QAAQ,GAAG,EAAE;AAC/C,mBAAgB,IAAI,QAAQ,GAAG;AAE/B,WAAQ,KAAK,YAAY,QAAQ,SAAS,QAAQ,IAAI,QAAQ,QAAQ,CAAC;;AAGzE,UAAQ,KAAK,MAAM;GACnB;AAEF,QAAO"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import "../remark-gfm-
|
|
2
|
-
import "../rehype-code-
|
|
3
|
-
import { n as StructuredData } from "../remark-structure-
|
|
4
|
-
import "../remark-heading-
|
|
5
|
-
import "../remark-code-tab-
|
|
1
|
+
import "../remark-gfm-B2aZXutO.js";
|
|
2
|
+
import "../rehype-code-Bd52chOe.js";
|
|
3
|
+
import { n as StructuredData } from "../remark-structure-CszwnaMR.js";
|
|
4
|
+
import "../remark-heading-CUAe4zIu.js";
|
|
5
|
+
import "../remark-code-tab-C0f6BPcw.js";
|
|
6
6
|
import "../mdx-plugins/index.js";
|
|
7
7
|
import { OramaCloud } from "@orama/core";
|
|
8
8
|
|
|
@@ -20,7 +20,7 @@ interface SyncOptions {
|
|
|
20
20
|
*/
|
|
21
21
|
autoDeploy?: boolean;
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
interface I18nSyncOptions extends Omit<SyncOptions, 'index' | 'documents'> {
|
|
24
24
|
/**
|
|
25
25
|
* Indexes to sync.
|
|
26
26
|
*
|
|
@@ -31,7 +31,7 @@ type I18nSyncOptions = Omit<SyncOptions, 'index' | 'documents'> & {
|
|
|
31
31
|
locale: string;
|
|
32
32
|
items: OramaDocument[];
|
|
33
33
|
}[];
|
|
34
|
-
}
|
|
34
|
+
}
|
|
35
35
|
interface OramaDocument {
|
|
36
36
|
/**
|
|
37
37
|
* The ID of document, must be unique
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orama-cloud.d.ts","names":[],"sources":["../../src/search/orama-cloud.ts"],"sourcesContent":[],"mappings":";;;;;;;;;UAGiB,WAAA;;;;;aAMJ;;AANb;AAgBA;;;
|
|
1
|
+
{"version":3,"file":"orama-cloud.d.ts","names":[],"sources":["../../src/search/orama-cloud.ts"],"sourcesContent":[],"mappings":";;;;;;;;;UAGiB,WAAA;;;;;aAMJ;;AANb;AAgBA;;;EAUW,UAAA,CAAA,EAAA,OAAA;;AAVkC,UAA5B,eAAA,SAAwB,IAAI,CAAC,WAAD,EAAA,OAAA,GAAA,WAAA,CAAA,CAAA;EAc5B;AA2BjB;AA4BA;;;EAAqE,OAAA,EA/D1D,MA+D0D,CAAA,MAAA,EAAA,MAAA,CAAA;EAAO,SAAA,EAAA;IAYtD,MAAA,EAAQ,MAAA;IAAQ,KAAA,EAvE3B,aAuE2B,EAAA;EAAqB,CAAA,EAAA;;AAAyB,UAnEnE,aAAA,CAmEmE;;;;;;;;;;;cAtDtE;;;;;;;;;;;UAcG,UAAA;;;;;;;;;;;;;;;;;;;;iBA4BK,IAAA,QAAY,qBAAqB,cAAc;iBAY/C,QAAA,QAAgB,qBAAqB,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orama-cloud.js","names":["indexes: OramaIndex[]"],"sources":["../../src/search/orama-cloud.ts"],"sourcesContent":["import type { StructuredData } from '@/mdx-plugins';\nimport { type AnyObject, type OramaCloud } from '@orama/core';\n\nexport interface SyncOptions {\n /**\n * Index name to sync\n */\n index: string;\n\n documents: OramaDocument[];\n\n /**\n * Deploy changes\n *\n * @defaultValue true\n */\n autoDeploy?: boolean;\n}\n\nexport
|
|
1
|
+
{"version":3,"file":"orama-cloud.js","names":["indexes: OramaIndex[]"],"sources":["../../src/search/orama-cloud.ts"],"sourcesContent":["import type { StructuredData } from '@/mdx-plugins';\nimport { type AnyObject, type OramaCloud } from '@orama/core';\n\nexport interface SyncOptions {\n /**\n * Index name to sync\n */\n index: string;\n\n documents: OramaDocument[];\n\n /**\n * Deploy changes\n *\n * @defaultValue true\n */\n autoDeploy?: boolean;\n}\n\nexport interface I18nSyncOptions extends Omit<SyncOptions, 'index' | 'documents'> {\n /**\n * Indexes to sync.\n *\n * Pairs of `locale`-`index`.\n **/\n indexes: Record<string, string>;\n\n documents: {\n locale: string;\n items: OramaDocument[];\n }[];\n}\n\nexport interface OramaDocument {\n /**\n * The ID of document, must be unique\n */\n id: string;\n\n title: string;\n description?: string;\n\n /**\n * URL to the page\n */\n url: string;\n structured: StructuredData;\n\n /**\n * Tag to filter results\n */\n tag?: string;\n\n /**\n * Data to be added to each section index\n */\n extra_data?: object;\n breadcrumbs?: string[];\n}\n\nexport interface OramaIndex {\n id: string;\n\n title: string;\n url: string;\n\n tag?: string;\n\n /**\n * The id of page, used for `group by`\n */\n page_id: string;\n\n /**\n * Heading content\n */\n section?: string;\n\n breadcrumbs?: string[];\n\n /**\n * Heading (anchor) id\n */\n section_id?: string;\n\n content: string;\n}\n\nexport async function sync(orama: OramaCloud, options: SyncOptions): Promise<void> {\n const { autoDeploy = true } = options;\n const index = orama.index.set(options.index);\n await index.transaction.open();\n\n await index.transaction.insertDocuments(\n options.documents.flatMap(toIndex) as unknown as AnyObject[],\n );\n\n if (autoDeploy) await index.transaction.commit();\n}\n\nexport async function syncI18n(orama: OramaCloud, options: I18nSyncOptions): Promise<void> {\n const { autoDeploy = true, indexes } = options;\n\n const tasks = options.documents.map(async (document) => {\n const index = orama.index.set(indexes[document.locale]);\n await index.transaction.open();\n\n await index.transaction.insertDocuments(\n document.items.flatMap(toIndex) as unknown as AnyObject[],\n );\n\n if (autoDeploy) await index.transaction.commit();\n });\n\n await Promise.all(tasks);\n}\n\nfunction toIndex(page: OramaDocument): OramaIndex[] {\n let id = 0;\n const indexes: OramaIndex[] = [];\n const scannedHeadings = new Set<string>();\n\n function createIndex(\n section: string | undefined,\n sectionId: string | undefined,\n content: string,\n ): OramaIndex {\n return {\n id: `${page.id}-${(id++).toString()}`,\n title: page.title,\n url: page.url,\n // TODO: explicit declare enums\n page_id: page.id,\n tag: page.tag,\n section,\n section_id: sectionId,\n content,\n breadcrumbs: page.breadcrumbs,\n ...page.extra_data,\n };\n }\n\n if (page.description) indexes.push(createIndex(undefined, undefined, page.description));\n\n page.structured.contents.forEach((p) => {\n const heading = p.heading ? page.structured.headings.find((h) => p.heading === h.id) : null;\n\n const index = createIndex(heading?.content, heading?.id, p.content);\n\n if (heading && !scannedHeadings.has(heading.id)) {\n scannedHeadings.add(heading.id);\n\n indexes.push(createIndex(heading.content, heading.id, heading.content));\n }\n\n indexes.push(index);\n });\n\n return indexes;\n}\n"],"mappings":";AAwFA,eAAsB,KAAK,OAAmB,SAAqC;CACjF,MAAM,EAAE,aAAa,SAAS;CAC9B,MAAM,QAAQ,MAAM,MAAM,IAAI,QAAQ,MAAM;AAC5C,OAAM,MAAM,YAAY,MAAM;AAE9B,OAAM,MAAM,YAAY,gBACtB,QAAQ,UAAU,QAAQ,QAAQ,CACnC;AAED,KAAI,WAAY,OAAM,MAAM,YAAY,QAAQ;;AAGlD,eAAsB,SAAS,OAAmB,SAAyC;CACzF,MAAM,EAAE,aAAa,MAAM,YAAY;CAEvC,MAAM,QAAQ,QAAQ,UAAU,IAAI,OAAO,aAAa;EACtD,MAAM,QAAQ,MAAM,MAAM,IAAI,QAAQ,SAAS,QAAQ;AACvD,QAAM,MAAM,YAAY,MAAM;AAE9B,QAAM,MAAM,YAAY,gBACtB,SAAS,MAAM,QAAQ,QAAQ,CAChC;AAED,MAAI,WAAY,OAAM,MAAM,YAAY,QAAQ;GAChD;AAEF,OAAM,QAAQ,IAAI,MAAM;;AAG1B,SAAS,QAAQ,MAAmC;CAClD,IAAI,KAAK;CACT,MAAMA,UAAwB,EAAE;CAChC,MAAM,kCAAkB,IAAI,KAAa;CAEzC,SAAS,YACP,SACA,WACA,SACY;AACZ,SAAO;GACL,IAAI,GAAG,KAAK,GAAG,IAAI,MAAM,UAAU;GACnC,OAAO,KAAK;GACZ,KAAK,KAAK;GAEV,SAAS,KAAK;GACd,KAAK,KAAK;GACV;GACA,YAAY;GACZ;GACA,aAAa,KAAK;GAClB,GAAG,KAAK;GACT;;AAGH,KAAI,KAAK,YAAa,SAAQ,KAAK,YAAY,QAAW,QAAW,KAAK,YAAY,CAAC;AAEvF,MAAK,WAAW,SAAS,SAAS,MAAM;EACtC,MAAM,UAAU,EAAE,UAAU,KAAK,WAAW,SAAS,MAAM,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG;EAEvF,MAAM,QAAQ,YAAY,SAAS,SAAS,SAAS,IAAI,EAAE,QAAQ;AAEnE,MAAI,WAAW,CAAC,gBAAgB,IAAI,QAAQ,GAAG,EAAE;AAC/C,mBAAgB,IAAI,QAAQ,GAAG;AAE/B,WAAQ,KAAK,YAAY,QAAQ,SAAS,QAAQ,IAAI,QAAQ,QAAQ,CAAC;;AAGzE,UAAQ,KAAK,MAAM;GACnB;AAEF,QAAO"}
|
package/dist/search/server.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "../definitions-
|
|
2
|
-
import "../remark-structure-
|
|
1
|
+
import "../definitions-DJAPG-2U.js";
|
|
2
|
+
import "../remark-structure-CszwnaMR.js";
|
|
3
3
|
import { HighlightedText, ReactSortedResult, SortedResult, createContentHighlighter } from "./index.js";
|
|
4
|
-
import { a as Index, c as SimpleOptions, d as initSimpleSearch, f as createI18nSearchAPI, i as ExportedData, l as createSearchAPI, n as AdvancedOptions, o as SearchAPI, p as createFromSource, r as Dynamic, s as SearchServer, t as AdvancedIndex, u as initAdvancedSearch } from "../server-
|
|
5
|
-
import "../index-
|
|
4
|
+
import { a as Index, c as SimpleOptions, d as initSimpleSearch, f as createI18nSearchAPI, i as ExportedData, l as createSearchAPI, n as AdvancedOptions, o as SearchAPI, p as createFromSource, r as Dynamic, s as SearchServer, t as AdvancedIndex, u as initAdvancedSearch } from "../server-BzFuYBxW.js";
|
|
5
|
+
import "../index-Co_C8NEi.js";
|
|
6
6
|
export { AdvancedIndex, AdvancedOptions, Dynamic, ExportedData, HighlightedText, Index, ReactSortedResult, SearchAPI, SearchServer, SimpleOptions, SortedResult, createContentHighlighter, createFromSource, createI18nSearchAPI, createSearchAPI, initAdvancedSearch, initSimpleSearch };
|
package/dist/search/server.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as findPath } from "../utils-
|
|
2
|
-
import { t as createContentHighlighter } from "../search-
|
|
3
|
-
import { n as searchSimple, t as searchAdvanced } from "../advanced-
|
|
4
|
-
import { r as extname, t as basename } from "../path-
|
|
1
|
+
import { r as findPath } from "../utils-bAoAH1Rh.js";
|
|
2
|
+
import { t as createContentHighlighter } from "../search-DcH54N2x.js";
|
|
3
|
+
import { n as searchSimple, t as searchAdvanced } from "../advanced-DSlc7qa9.js";
|
|
4
|
+
import { r as extname, t as basename } from "../path-D6M0ZQvO.js";
|
|
5
5
|
import { create, insertMultiple, save } from "@orama/orama";
|
|
6
6
|
|
|
7
7
|
//#region src/search/orama/create-endpoint.ts
|