fumadocs-core 16.4.1 → 16.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/dist/advanced-DSlc7qa9.js +80 -0
  2. package/dist/advanced-DSlc7qa9.js.map +1 -0
  3. package/dist/algolia-BGWM-DkQ.js +49 -0
  4. package/dist/algolia-BGWM-DkQ.js.map +1 -0
  5. package/dist/algolia-FqjcaTcD.d.ts +68 -0
  6. package/dist/algolia-FqjcaTcD.d.ts.map +1 -0
  7. package/dist/breadcrumb.d.ts +29 -27
  8. package/dist/breadcrumb.d.ts.map +1 -0
  9. package/dist/breadcrumb.js +55 -72
  10. package/dist/breadcrumb.js.map +1 -0
  11. package/dist/chunk-C1JLJEPO.js +42 -0
  12. package/dist/codeblock-utils-Dh1w8ICD.d.ts +37 -0
  13. package/dist/codeblock-utils-Dh1w8ICD.d.ts.map +1 -0
  14. package/dist/content/github.d.ts +43 -32
  15. package/dist/content/github.d.ts.map +1 -0
  16. package/dist/content/github.js +29 -43
  17. package/dist/content/github.js.map +1 -0
  18. package/dist/content/index.d.ts +20 -13
  19. package/dist/content/index.d.ts.map +1 -0
  20. package/dist/content/index.js +17 -23
  21. package/dist/content/index.js.map +1 -0
  22. package/dist/content/mdx/preset-bundler.d.ts +22 -24
  23. package/dist/content/mdx/preset-bundler.d.ts.map +1 -0
  24. package/dist/content/mdx/preset-bundler.js +38 -69
  25. package/dist/content/mdx/preset-bundler.js.map +1 -0
  26. package/dist/content/mdx/preset-runtime.d.ts +22 -24
  27. package/dist/content/mdx/preset-runtime.d.ts.map +1 -0
  28. package/dist/content/mdx/preset-runtime.js +36 -68
  29. package/dist/content/mdx/preset-runtime.js.map +1 -0
  30. package/dist/content/toc.d.ts +7 -6
  31. package/dist/content/toc.d.ts.map +1 -0
  32. package/dist/content/toc.js +15 -19
  33. package/dist/content/toc.js.map +1 -0
  34. package/dist/definitions-DJAPG-2U.d.ts +62 -0
  35. package/dist/definitions-DJAPG-2U.d.ts.map +1 -0
  36. package/dist/dynamic-link.d.ts +7 -5
  37. package/dist/dynamic-link.d.ts.map +1 -0
  38. package/dist/dynamic-link.js +29 -27
  39. package/dist/dynamic-link.js.map +1 -0
  40. package/dist/fetch-B1nmMSyw.js +20 -0
  41. package/dist/fetch-B1nmMSyw.js.map +1 -0
  42. package/dist/framework/index.d.ts +38 -29
  43. package/dist/framework/index.d.ts.map +1 -0
  44. package/dist/framework/index.js +68 -17
  45. package/dist/framework/index.js.map +1 -0
  46. package/dist/framework/next.d.ts +15 -10
  47. package/dist/framework/next.d.ts.map +1 -0
  48. package/dist/framework/next.js +18 -26
  49. package/dist/framework/next.js.map +1 -0
  50. package/dist/framework/react-router.d.ts +15 -10
  51. package/dist/framework/react-router.d.ts.map +1 -0
  52. package/dist/framework/react-router.js +42 -55
  53. package/dist/framework/react-router.js.map +1 -0
  54. package/dist/framework/tanstack.d.ts +15 -10
  55. package/dist/framework/tanstack.d.ts.map +1 -0
  56. package/dist/framework/tanstack.js +54 -69
  57. package/dist/framework/tanstack.js.map +1 -0
  58. package/dist/framework/waku.d.ts +15 -10
  59. package/dist/framework/waku.d.ts.map +1 -0
  60. package/dist/framework/waku.js +47 -58
  61. package/dist/framework/waku.js.map +1 -0
  62. package/dist/highlight/client.d.ts +6 -7
  63. package/dist/highlight/client.d.ts.map +1 -0
  64. package/dist/highlight/client.js +22 -14
  65. package/dist/highlight/client.js.map +1 -0
  66. package/dist/highlight/index.d.ts +2 -30
  67. package/dist/highlight/index.js +3 -13
  68. package/dist/i18n/index.d.ts +2 -39
  69. package/dist/i18n/index.js +6 -7
  70. package/dist/i18n/index.js.map +1 -0
  71. package/dist/i18n/middleware.d.ts +36 -28
  72. package/dist/i18n/middleware.d.ts.map +1 -0
  73. package/dist/i18n/middleware.js +55 -73
  74. package/dist/i18n/middleware.js.map +1 -0
  75. package/dist/icon-5lVe3l-0.js +19 -0
  76. package/dist/icon-5lVe3l-0.js.map +1 -0
  77. package/dist/index-BhVrX5J1.d.ts +41 -0
  78. package/dist/index-BhVrX5J1.d.ts.map +1 -0
  79. package/dist/index-Co_C8NEi.d.ts +380 -0
  80. package/dist/index-Co_C8NEi.d.ts.map +1 -0
  81. package/dist/link.d.ts +17 -15
  82. package/dist/link.d.ts.map +1 -0
  83. package/dist/link.js +29 -9
  84. package/dist/link.js.map +1 -0
  85. package/dist/mdast-utils-ix4DsXJP.js +40 -0
  86. package/dist/mdast-utils-ix4DsXJP.js.map +1 -0
  87. package/dist/mdx-plugins/codeblock-utils.d.ts +2 -29
  88. package/dist/mdx-plugins/codeblock-utils.js +71 -9
  89. package/dist/mdx-plugins/codeblock-utils.js.map +1 -0
  90. package/dist/mdx-plugins/index.d.ts +15 -20
  91. package/dist/mdx-plugins/index.js +18 -73
  92. package/dist/mdx-plugins/rehype-code.d.ts +2 -55
  93. package/dist/mdx-plugins/rehype-code.js +5 -15
  94. package/dist/mdx-plugins/rehype-toc.d.ts +2 -14
  95. package/dist/mdx-plugins/rehype-toc.js +3 -7
  96. package/dist/mdx-plugins/remark-admonition.d.ts +2 -20
  97. package/dist/mdx-plugins/remark-admonition.js +74 -8
  98. package/dist/mdx-plugins/remark-admonition.js.map +1 -0
  99. package/dist/mdx-plugins/remark-code-tab.d.ts +2 -30
  100. package/dist/mdx-plugins/remark-code-tab.js +183 -7
  101. package/dist/mdx-plugins/remark-code-tab.js.map +1 -0
  102. package/dist/mdx-plugins/remark-directive-admonition.d.ts +2 -27
  103. package/dist/mdx-plugins/remark-directive-admonition.js +60 -7
  104. package/dist/mdx-plugins/remark-directive-admonition.js.map +1 -0
  105. package/dist/mdx-plugins/remark-gfm.d.ts +2 -1
  106. package/dist/mdx-plugins/remark-gfm.js +3 -7
  107. package/dist/mdx-plugins/remark-heading.d.ts +2 -31
  108. package/dist/mdx-plugins/remark-heading.js +45 -8
  109. package/dist/mdx-plugins/remark-heading.js.map +1 -0
  110. package/dist/mdx-plugins/remark-image.d.ts +2 -57
  111. package/dist/mdx-plugins/remark-image.js +192 -7
  112. package/dist/mdx-plugins/remark-image.js.map +1 -0
  113. package/dist/mdx-plugins/remark-mdx-files.d.ts +2 -40
  114. package/dist/mdx-plugins/remark-mdx-files.js +187 -7
  115. package/dist/mdx-plugins/remark-mdx-files.js.map +1 -0
  116. package/dist/mdx-plugins/remark-mdx-mermaid.d.ts +2 -15
  117. package/dist/mdx-plugins/remark-mdx-mermaid.js +31 -7
  118. package/dist/mdx-plugins/remark-mdx-mermaid.js.map +1 -0
  119. package/dist/mdx-plugins/remark-npm.d.ts +2 -31
  120. package/dist/mdx-plugins/remark-npm.js +68 -8
  121. package/dist/mdx-plugins/remark-npm.js.map +1 -0
  122. package/dist/mdx-plugins/remark-steps.d.ts +2 -23
  123. package/dist/mdx-plugins/remark-steps.js +77 -7
  124. package/dist/mdx-plugins/remark-steps.js.map +1 -0
  125. package/dist/mdx-plugins/remark-structure.d.ts +2 -71
  126. package/dist/mdx-plugins/remark-structure.js +105 -11
  127. package/dist/mdx-plugins/remark-structure.js.map +1 -0
  128. package/dist/mixedbread-DSiQfUnN.js +88 -0
  129. package/dist/mixedbread-DSiQfUnN.js.map +1 -0
  130. package/dist/negotiation/index.d.ts +6 -4
  131. package/dist/negotiation/index.d.ts.map +1 -0
  132. package/dist/negotiation/index.js +41 -11
  133. package/dist/negotiation/index.js.map +1 -0
  134. package/dist/normalize-url-3WQZ_H_j.js +16 -0
  135. package/dist/normalize-url-3WQZ_H_j.js.map +1 -0
  136. package/dist/orama-cloud-BMDBfk05.js +84 -0
  137. package/dist/orama-cloud-BMDBfk05.js.map +1 -0
  138. package/dist/orama-cloud-legacy-CRZzZXWn.js +82 -0
  139. package/dist/orama-cloud-legacy-CRZzZXWn.js.map +1 -0
  140. package/dist/page-tree/index.d.ts +23 -11
  141. package/dist/page-tree/index.d.ts.map +1 -0
  142. package/dist/page-tree/index.js +3 -17
  143. package/dist/path-D6M0ZQvO.js +60 -0
  144. package/dist/path-D6M0ZQvO.js.map +1 -0
  145. package/dist/rehype-code-Bd52chOe.d.ts +58 -0
  146. package/dist/rehype-code-Bd52chOe.d.ts.map +1 -0
  147. package/dist/rehype-code-Dr35mETC.js +241 -0
  148. package/dist/rehype-code-Dr35mETC.js.map +1 -0
  149. package/dist/rehype-toc-BJVsblvp.d.ts +18 -0
  150. package/dist/rehype-toc-BJVsblvp.d.ts.map +1 -0
  151. package/dist/rehype-toc-Dqgey2tW.js +143 -0
  152. package/dist/rehype-toc-Dqgey2tW.js.map +1 -0
  153. package/dist/remark-admonition-Chku_iWO.d.ts +22 -0
  154. package/dist/remark-admonition-Chku_iWO.d.ts.map +1 -0
  155. package/dist/remark-code-tab-C0f6BPcw.d.ts +32 -0
  156. package/dist/remark-code-tab-C0f6BPcw.d.ts.map +1 -0
  157. package/dist/remark-directive-admonition-CBwJdh9z.d.ts +36 -0
  158. package/dist/remark-directive-admonition-CBwJdh9z.d.ts.map +1 -0
  159. package/dist/remark-gfm-B2aZXutO.d.ts +2 -0
  160. package/dist/remark-heading-CUAe4zIu.d.ts +37 -0
  161. package/dist/remark-heading-CUAe4zIu.d.ts.map +1 -0
  162. package/dist/remark-image-DMRnxsRO.d.ts +65 -0
  163. package/dist/remark-image-DMRnxsRO.d.ts.map +1 -0
  164. package/dist/remark-mdx-files-B5KMXnfh.d.ts +56 -0
  165. package/dist/remark-mdx-files-B5KMXnfh.d.ts.map +1 -0
  166. package/dist/remark-mdx-mermaid-C_4W5gfj.d.ts +17 -0
  167. package/dist/remark-mdx-mermaid-C_4W5gfj.d.ts.map +1 -0
  168. package/dist/remark-npm-CykFgJn2.d.ts +36 -0
  169. package/dist/remark-npm-CykFgJn2.d.ts.map +1 -0
  170. package/dist/remark-steps-5-DmLVv3.d.ts +28 -0
  171. package/dist/remark-steps-5-DmLVv3.d.ts.map +1 -0
  172. package/dist/remark-structure-CszwnaMR.d.ts +77 -0
  173. package/dist/remark-structure-CszwnaMR.d.ts.map +1 -0
  174. package/dist/remove-undefined-B7zJF-YS.js +19 -0
  175. package/dist/remove-undefined-B7zJF-YS.js.map +1 -0
  176. package/dist/search/algolia.d.ts +3 -69
  177. package/dist/search/algolia.js +69 -63
  178. package/dist/search/algolia.js.map +1 -0
  179. package/dist/search/client.d.ts +143 -114
  180. package/dist/search/client.d.ts.map +1 -0
  181. package/dist/search/client.js +98 -91
  182. package/dist/search/client.js.map +1 -0
  183. package/dist/search/index.d.ts +20 -18
  184. package/dist/search/index.d.ts.map +1 -0
  185. package/dist/search/index.js +3 -7
  186. package/dist/search/orama-cloud-legacy.d.ts +81 -0
  187. package/dist/search/orama-cloud-legacy.d.ts.map +1 -0
  188. package/dist/search/orama-cloud-legacy.js +50 -0
  189. package/dist/search/orama-cloud-legacy.js.map +1 -0
  190. package/dist/search/orama-cloud.d.ts +72 -70
  191. package/dist/search/orama-cloud.d.ts.map +1 -0
  192. package/dist/search/orama-cloud.js +46 -54
  193. package/dist/search/orama-cloud.js.map +1 -0
  194. package/dist/search/server.d.ts +6 -136
  195. package/dist/search/server.js +292 -369
  196. package/dist/search/server.js.map +1 -0
  197. package/dist/search-DcH54N2x.js +44 -0
  198. package/dist/search-DcH54N2x.js.map +1 -0
  199. package/dist/server-BzFuYBxW.d.ts +133 -0
  200. package/dist/server-BzFuYBxW.d.ts.map +1 -0
  201. package/dist/shiki-Bdk0JGsB.d.ts +33 -0
  202. package/dist/shiki-Bdk0JGsB.d.ts.map +1 -0
  203. package/dist/shiki-DoHr6fEj.js +80 -0
  204. package/dist/shiki-DoHr6fEj.js.map +1 -0
  205. package/dist/source/client/index.d.ts +7 -5
  206. package/dist/source/client/index.d.ts.map +1 -0
  207. package/dist/source/client/index.js +24 -35
  208. package/dist/source/client/index.js.map +1 -0
  209. package/dist/source/index.d.ts +3 -42
  210. package/dist/source/index.js +599 -752
  211. package/dist/source/index.js.map +1 -0
  212. package/dist/source/plugins/lucide-icons.d.ts +7 -7
  213. package/dist/source/plugins/lucide-icons.d.ts.map +1 -0
  214. package/dist/source/plugins/lucide-icons.js +21 -20
  215. package/dist/source/plugins/lucide-icons.js.map +1 -0
  216. package/dist/source/plugins/slugs.d.ts +3 -0
  217. package/dist/source/plugins/slugs.js +65 -0
  218. package/dist/source/plugins/slugs.js.map +1 -0
  219. package/dist/source/schema.d.ts +17 -14
  220. package/dist/source/schema.d.ts.map +1 -0
  221. package/dist/source/schema.js +26 -22
  222. package/dist/source/schema.js.map +1 -0
  223. package/dist/static-DAjBQpus.js +51 -0
  224. package/dist/static-DAjBQpus.js.map +1 -0
  225. package/dist/toc.d.ts +38 -25
  226. package/dist/toc.d.ts.map +1 -0
  227. package/dist/toc.js +123 -136
  228. package/dist/toc.js.map +1 -0
  229. package/dist/util-92szu3Vf.js +10 -0
  230. package/dist/util-92szu3Vf.js.map +1 -0
  231. package/dist/util-ofJFdM-e.d.ts +8 -0
  232. package/dist/util-ofJFdM-e.d.ts.map +1 -0
  233. package/dist/utils/use-effect-event.d.ts +3 -1
  234. package/dist/utils/use-effect-event.d.ts.map +1 -0
  235. package/dist/utils/use-effect-event.js +16 -13
  236. package/dist/utils/use-effect-event.js.map +1 -0
  237. package/dist/utils/use-media-query.d.ts +3 -1
  238. package/dist/utils/use-media-query.d.ts.map +1 -0
  239. package/dist/utils/use-media-query.js +20 -20
  240. package/dist/utils/use-media-query.js.map +1 -0
  241. package/dist/utils/use-on-change.d.ts +3 -1
  242. package/dist/utils/use-on-change.d.ts.map +1 -0
  243. package/dist/utils/use-on-change.js +23 -7
  244. package/dist/utils/use-on-change.js.map +1 -0
  245. package/dist/utils-bAoAH1Rh.js +134 -0
  246. package/dist/utils-bAoAH1Rh.js.map +1 -0
  247. package/package.json +72 -65
  248. package/dist/algolia-IZEDLPHE.js +0 -58
  249. package/dist/chunk-5PMI7QDD.js +0 -220
  250. package/dist/chunk-ADBHPKXG.js +0 -78
  251. package/dist/chunk-APKPSBSB.js +0 -74
  252. package/dist/chunk-CH7YHH7V.js +0 -222
  253. package/dist/chunk-EFVXL2PP.js +0 -144
  254. package/dist/chunk-EMWGTXSW.js +0 -19
  255. package/dist/chunk-FAEPKD7U.js +0 -20
  256. package/dist/chunk-FUUVPEA5.js +0 -29
  257. package/dist/chunk-GINBKBVQ.js +0 -12
  258. package/dist/chunk-GLRQBLGN.js +0 -59
  259. package/dist/chunk-JUF4WZ6G.js +0 -117
  260. package/dist/chunk-K4WNLOVQ.js +0 -75
  261. package/dist/chunk-L4JKQWCM.js +0 -131
  262. package/dist/chunk-MA6O2UUE.js +0 -50
  263. package/dist/chunk-ONG4RVCR.js +0 -8
  264. package/dist/chunk-OTD7MV33.js +0 -53
  265. package/dist/chunk-PFNP6PEB.js +0 -11
  266. package/dist/chunk-SH7BNTG7.js +0 -38
  267. package/dist/chunk-TWIDBWFG.js +0 -84
  268. package/dist/chunk-U67V476Y.js +0 -35
  269. package/dist/chunk-VLSDGCJE.js +0 -47
  270. package/dist/chunk-W6WTLKRA.js +0 -73
  271. package/dist/chunk-X2HFD5QJ.js +0 -275
  272. package/dist/chunk-XJ6ZQNEX.js +0 -91
  273. package/dist/chunk-XN2LKXFZ.js +0 -101
  274. package/dist/chunk-XOFXGHS4.js +0 -93
  275. package/dist/chunk-XZSI7AHE.js +0 -67
  276. package/dist/chunk-YVVDKJ2H.js +0 -34
  277. package/dist/chunk-ZMWYLUDP.js +0 -21
  278. package/dist/definitions-pJ7PybYY.d.ts +0 -60
  279. package/dist/fetch-IBTWQCJR.js +0 -22
  280. package/dist/loader-_E2HOdV0.d.ts +0 -333
  281. package/dist/mixedbread-A3WLENES.js +0 -117
  282. package/dist/orama-cloud-UZAPMPFV.js +0 -93
  283. package/dist/static-A2YJ5TXV.js +0 -62
  284. package/dist/util-bZU2QeJ2.d.ts +0 -6
@@ -1,60 +1,52 @@
1
- import "../chunk-U67V476Y.js";
2
-
3
- // src/search/orama-cloud.ts
1
+ //#region src/search/orama-cloud.ts
4
2
  async function sync(orama, options) {
5
- const { autoDeploy = true } = options;
6
- const index = orama.index.set(options.index);
7
- await index.transaction.open();
8
- await index.transaction.insertDocuments(
9
- options.documents.flatMap(toIndex)
10
- );
11
- if (autoDeploy) await index.transaction.commit();
3
+ const { autoDeploy = true } = options;
4
+ const index = orama.index.set(options.index);
5
+ await index.transaction.open();
6
+ await index.transaction.insertDocuments(options.documents.flatMap(toIndex));
7
+ if (autoDeploy) await index.transaction.commit();
12
8
  }
13
9
  async function syncI18n(orama, options) {
14
- const { autoDeploy = true, indexes } = options;
15
- const tasks = options.documents.map(async (document) => {
16
- const index = orama.index.set(indexes[document.locale]);
17
- await index.transaction.open();
18
- await index.transaction.insertDocuments(
19
- document.items.flatMap(toIndex)
20
- );
21
- if (autoDeploy) await index.transaction.commit();
22
- });
23
- await Promise.all(tasks);
10
+ const { autoDeploy = true, indexes } = options;
11
+ const tasks = options.documents.map(async (document) => {
12
+ const index = orama.index.set(indexes[document.locale]);
13
+ await index.transaction.open();
14
+ await index.transaction.insertDocuments(document.items.flatMap(toIndex));
15
+ if (autoDeploy) await index.transaction.commit();
16
+ });
17
+ await Promise.all(tasks);
24
18
  }
25
19
  function toIndex(page) {
26
- let id = 0;
27
- const indexes = [];
28
- const scannedHeadings = /* @__PURE__ */ new Set();
29
- function createIndex(section, sectionId, content) {
30
- return {
31
- id: `${page.id}-${(id++).toString()}`,
32
- title: page.title,
33
- url: page.url,
34
- // TODO: explicit declare enums
35
- page_id: page.id,
36
- tag: page.tag,
37
- section,
38
- section_id: sectionId,
39
- content,
40
- breadcrumbs: page.breadcrumbs,
41
- ...page.extra_data
42
- };
43
- }
44
- if (page.description)
45
- indexes.push(createIndex(void 0, void 0, page.description));
46
- page.structured.contents.forEach((p) => {
47
- const heading = p.heading ? page.structured.headings.find((h) => p.heading === h.id) : null;
48
- const index = createIndex(heading?.content, heading?.id, p.content);
49
- if (heading && !scannedHeadings.has(heading.id)) {
50
- scannedHeadings.add(heading.id);
51
- indexes.push(createIndex(heading.content, heading.id, heading.content));
52
- }
53
- indexes.push(index);
54
- });
55
- return indexes;
20
+ let id = 0;
21
+ const indexes = [];
22
+ const scannedHeadings = /* @__PURE__ */ new Set();
23
+ function createIndex(section, sectionId, content) {
24
+ return {
25
+ id: `${page.id}-${(id++).toString()}`,
26
+ title: page.title,
27
+ url: page.url,
28
+ page_id: page.id,
29
+ tag: page.tag,
30
+ section,
31
+ section_id: sectionId,
32
+ content,
33
+ breadcrumbs: page.breadcrumbs,
34
+ ...page.extra_data
35
+ };
36
+ }
37
+ if (page.description) indexes.push(createIndex(void 0, void 0, page.description));
38
+ page.structured.contents.forEach((p) => {
39
+ const heading = p.heading ? page.structured.headings.find((h) => p.heading === h.id) : null;
40
+ const index = createIndex(heading?.content, heading?.id, p.content);
41
+ if (heading && !scannedHeadings.has(heading.id)) {
42
+ scannedHeadings.add(heading.id);
43
+ indexes.push(createIndex(heading.content, heading.id, heading.content));
44
+ }
45
+ indexes.push(index);
46
+ });
47
+ return indexes;
56
48
  }
57
- export {
58
- sync,
59
- syncI18n
60
- };
49
+
50
+ //#endregion
51
+ export { sync, syncI18n };
52
+ //# sourceMappingURL=orama-cloud.js.map
@@ -0,0 +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 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"}
@@ -1,136 +1,6 @@
1
- import { TypedDocument, Orama, Language, RawData, create, SearchParams } from '@orama/orama';
2
- import { StructuredData } from '../mdx-plugins/remark-structure.js';
3
- import { SortedResult } from './index.js';
4
- export { HighlightedText, ReactSortedResult, createContentHighlighter } from './index.js';
5
- import { I18nConfig } from '../i18n/index.js';
6
- import { b as LoaderConfig, f as LoaderOutput, d as Page } from '../loader-_E2HOdV0.js';
7
- import 'mdast';
8
- import 'unified';
9
- import 'mdast-util-mdx-jsx';
10
- import 'react';
11
- import '../definitions-pJ7PybYY.js';
12
-
13
- type SimpleDocument = TypedDocument<Orama<typeof simpleSchema>>;
14
- declare const simpleSchema: {
15
- readonly url: "string";
16
- readonly title: "string";
17
- readonly breadcrumbs: "string[]";
18
- readonly description: "string";
19
- readonly content: "string";
20
- readonly keywords: "string";
21
- };
22
- type AdvancedDocument = TypedDocument<Orama<typeof advancedSchema>>;
23
- declare const advancedSchema: {
24
- readonly content: "string";
25
- readonly page_id: "string";
26
- readonly type: "string";
27
- readonly breadcrumbs: "string[]";
28
- readonly tags: "enum[]";
29
- readonly url: "string";
30
- readonly embeddings: "vector[512]";
31
- };
32
-
33
- type Awaitable<T> = T | Promise<T>;
34
- interface Options<C extends LoaderConfig> extends Omit<AdvancedOptions, 'indexes'> {
35
- localeMap?: {
36
- [K in C['i18n'] extends I18nConfig<infer Languages> ? Languages : string]?: Partial<AdvancedOptions> | Language;
37
- };
38
- buildIndex?: (page: Page<C['source']['pageData']>) => Awaitable<AdvancedIndex>;
39
- }
40
- declare function createFromSource<C extends LoaderConfig>(source: LoaderOutput<C>, options?: Options<C>): SearchAPI;
41
-
42
- type I18nOptions<O extends SimpleOptions | AdvancedOptions, Idx> = Omit<O, 'language' | 'indexes'> & {
43
- i18n: I18nConfig;
44
- /**
45
- * Map locale name from i18n config to Orama compatible `language` or options
46
- */
47
- localeMap?: Record<string, Language | Partial<O> | undefined>;
48
- indexes: WithLocale<Idx>[] | Dynamic<WithLocale<Idx>>;
49
- };
50
- type I18nSimpleOptions = I18nOptions<SimpleOptions, Index>;
51
- type I18nAdvancedOptions = I18nOptions<AdvancedOptions, AdvancedIndex>;
52
- type WithLocale<T> = T & {
53
- locale: string;
54
- };
55
- declare function createI18nSearchAPI<T extends 'simple' | 'advanced'>(type: T, options: T extends 'simple' ? I18nSimpleOptions : I18nAdvancedOptions): SearchAPI;
56
-
57
- type SearchType = 'simple' | 'advanced';
58
- type ExportedData = (RawData & {
59
- type: SearchType;
60
- }) | {
61
- type: 'i18n';
62
- data: Record<string, RawData & {
63
- type: SearchType;
64
- }>;
65
- };
66
- interface SearchServer {
67
- search: (query: string, options?: {
68
- locale?: string;
69
- tag?: string | string[];
70
- mode?: 'vector' | 'full';
71
- }) => Promise<SortedResult[]>;
72
- /**
73
- * Export the database
74
- *
75
- * You can reference the exported database to implement client-side search
76
- */
77
- export: () => Promise<ExportedData>;
78
- }
79
- interface SearchAPI extends SearchServer {
80
- GET: (request: Request) => Promise<Response>;
81
- /**
82
- * `GET` route handler that exports search indexes for static search.
83
- */
84
- staticGET: () => Promise<Response>;
85
- }
86
- /**
87
- * Resolve indexes dynamically
88
- */
89
- type Dynamic<T> = () => T[] | Promise<T[]>;
90
- type OramaInput = Parameters<typeof create>[0];
91
- type SharedOptions = Pick<OramaInput, 'sort' | 'components' | 'plugins'> & {
92
- language?: string;
93
- tokenizer?: Required<OramaInput>['components']['tokenizer'];
94
- };
95
- interface SimpleOptions extends SharedOptions {
96
- indexes: Index[] | Dynamic<Index>;
97
- /**
98
- * Customise search options on server
99
- */
100
- search?: Partial<SearchParams<Orama<typeof simpleSchema>, SimpleDocument>>;
101
- }
102
- interface AdvancedOptions extends SharedOptions {
103
- indexes: AdvancedIndex[] | Dynamic<AdvancedIndex>;
104
- /**
105
- * Customise search options on server
106
- */
107
- search?: Partial<SearchParams<Orama<typeof advancedSchema>, AdvancedDocument>>;
108
- }
109
- declare function createSearchAPI<T extends SearchType>(type: T, options: T extends 'simple' ? SimpleOptions : AdvancedOptions): SearchAPI;
110
- interface Index {
111
- title: string;
112
- description?: string;
113
- breadcrumbs?: string[];
114
- content: string;
115
- url: string;
116
- keywords?: string;
117
- }
118
- declare function initSimpleSearch(options: SimpleOptions): SearchServer;
119
- interface AdvancedIndex {
120
- id: string;
121
- title: string;
122
- description?: string;
123
- breadcrumbs?: string[];
124
- /**
125
- * Required if tag filter is enabled
126
- */
127
- tag?: string | string[];
128
- /**
129
- * preprocess mdx content with `structure`
130
- */
131
- structuredData: StructuredData;
132
- url: string;
133
- }
134
- declare function initAdvancedSearch(options: AdvancedOptions): SearchServer;
135
-
136
- export { type AdvancedIndex, type AdvancedOptions, type Dynamic, type ExportedData, type Index, type SearchAPI, type SearchServer, type SimpleOptions, SortedResult, createFromSource, createI18nSearchAPI, createSearchAPI, initAdvancedSearch, initSimpleSearch };
1
+ import "../definitions-DJAPG-2U.js";
2
+ import "../remark-structure-CszwnaMR.js";
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-BzFuYBxW.js";
5
+ import "../index-Co_C8NEi.js";
6
+ export { AdvancedIndex, AdvancedOptions, Dynamic, ExportedData, HighlightedText, Index, ReactSortedResult, SearchAPI, SearchServer, SimpleOptions, SortedResult, createContentHighlighter, createFromSource, createI18nSearchAPI, createSearchAPI, initAdvancedSearch, initSimpleSearch };