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,99 +1,106 @@
1
- import {
2
- useOnChange
3
- } from "../chunk-EMWGTXSW.js";
4
- import "../chunk-U67V476Y.js";
1
+ import { useOnChange } from "../utils/use-on-change.js";
2
+ import { useEffect, useRef, useState } from "react";
5
3
 
6
- // src/search/client.ts
7
- import { useRef, useState as useState2 } from "react";
8
-
9
- // src/utils/use-debounce.ts
10
- import { useEffect, useState } from "react";
4
+ //#region src/utils/use-debounce.ts
11
5
  function useDebounce(value, delayMs = 1e3) {
12
- const [debouncedValue, setDebouncedValue] = useState(value);
13
- useEffect(() => {
14
- if (delayMs === 0) return;
15
- const handler = window.setTimeout(() => {
16
- setDebouncedValue(value);
17
- }, delayMs);
18
- return () => clearTimeout(handler);
19
- }, [delayMs, value]);
20
- if (delayMs === 0) return value;
21
- return debouncedValue;
6
+ const [debouncedValue, setDebouncedValue] = useState(value);
7
+ useEffect(() => {
8
+ if (delayMs === 0) return;
9
+ const handler = window.setTimeout(() => {
10
+ setDebouncedValue(value);
11
+ }, delayMs);
12
+ return () => clearTimeout(handler);
13
+ }, [delayMs, value]);
14
+ if (delayMs === 0) return value;
15
+ return debouncedValue;
22
16
  }
23
17
 
24
- // src/search/client.ts
18
+ //#endregion
19
+ //#region src/search/client.ts
25
20
  function isDeepEqual(a, b) {
26
- if (a === b) return true;
27
- if (Array.isArray(a) && Array.isArray(b)) {
28
- return b.length === a.length && a.every((v, i) => isDeepEqual(v, b[i]));
29
- }
30
- if (typeof a === "object" && a && typeof b === "object" && b) {
31
- const aKeys = Object.keys(a);
32
- const bKeys = Object.keys(b);
33
- return aKeys.length === bKeys.length && aKeys.every(
34
- (key) => Object.hasOwn(b, key) && isDeepEqual(a[key], b[key])
35
- );
36
- }
37
- return false;
21
+ if (a === b) return true;
22
+ if (Array.isArray(a) && Array.isArray(b)) return b.length === a.length && a.every((v, i) => isDeepEqual(v, b[i]));
23
+ if (typeof a === "object" && a && typeof b === "object" && b) {
24
+ const aKeys = Object.keys(a);
25
+ const bKeys = Object.keys(b);
26
+ return aKeys.length === bKeys.length && aKeys.every((key) => Object.hasOwn(b, key) && isDeepEqual(a[key], b[key]));
27
+ }
28
+ return false;
38
29
  }
30
+ /**
31
+ * Provide a hook to query different official search clients.
32
+ *
33
+ * Note: it will re-query when its parameters changed, make sure to use `useMemo()` on `clientOptions` or define `deps` array.
34
+ */
39
35
  function useDocsSearch(clientOptions, deps) {
40
- const { delayMs = 100, allowEmpty = false, ...client } = clientOptions;
41
- const [search, setSearch] = useState2("");
42
- const [results, setResults] = useState2("empty");
43
- const [error, setError] = useState2();
44
- const [isLoading, setIsLoading] = useState2(false);
45
- const debouncedValue = useDebounce(search, delayMs);
46
- const onStart = useRef(void 0);
47
- useOnChange(
48
- [deps ?? clientOptions, debouncedValue],
49
- () => {
50
- if (onStart.current) {
51
- onStart.current();
52
- onStart.current = void 0;
53
- }
54
- setIsLoading(true);
55
- let interrupt = false;
56
- onStart.current = () => {
57
- interrupt = true;
58
- };
59
- async function run() {
60
- if (debouncedValue.length === 0 && !allowEmpty) return "empty";
61
- if (client.type === "fetch") {
62
- const { fetchDocs } = await import("../fetch-IBTWQCJR.js");
63
- return fetchDocs(debouncedValue, client);
64
- }
65
- if (client.type === "algolia") {
66
- const { searchDocs } = await import("../algolia-IZEDLPHE.js");
67
- return searchDocs(debouncedValue, client);
68
- }
69
- if (client.type === "orama-cloud") {
70
- const { searchDocs } = await import("../orama-cloud-UZAPMPFV.js");
71
- return searchDocs(debouncedValue, client);
72
- }
73
- if (client.type === "static") {
74
- const { search: search2 } = await import("../static-A2YJ5TXV.js");
75
- return search2(debouncedValue, client);
76
- }
77
- if (client.type === "mixedbread") {
78
- const { search: search2 } = await import("../mixedbread-A3WLENES.js");
79
- return search2(debouncedValue, client);
80
- }
81
- throw new Error("unknown search client");
82
- }
83
- void run().then((res) => {
84
- if (interrupt) return;
85
- setError(void 0);
86
- setResults(res);
87
- }).catch((err) => {
88
- setError(err);
89
- }).finally(() => {
90
- setIsLoading(false);
91
- });
92
- },
93
- deps ? void 0 : (a, b) => !isDeepEqual(a, b)
94
- );
95
- return { search, setSearch, query: { isLoading, data: results, error } };
36
+ const { delayMs = 100, allowEmpty = false, ...client } = clientOptions;
37
+ const [search, setSearch] = useState("");
38
+ const [results, setResults] = useState("empty");
39
+ const [error, setError] = useState();
40
+ const [isLoading, setIsLoading] = useState(false);
41
+ const debouncedValue = useDebounce(search, delayMs);
42
+ const onStart = useRef(void 0);
43
+ useOnChange([deps ?? clientOptions, debouncedValue], () => {
44
+ if (onStart.current) {
45
+ onStart.current();
46
+ onStart.current = void 0;
47
+ }
48
+ setIsLoading(true);
49
+ let interrupt = false;
50
+ onStart.current = () => {
51
+ interrupt = true;
52
+ };
53
+ async function run() {
54
+ if (debouncedValue.length === 0 && !allowEmpty) return "empty";
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");
81
+ }
82
+ }
83
+ run().then((res) => {
84
+ if (interrupt) return;
85
+ setError(void 0);
86
+ setResults(res);
87
+ }).catch((err) => {
88
+ setError(err);
89
+ }).finally(() => {
90
+ setIsLoading(false);
91
+ });
92
+ }, deps ? void 0 : (a, b) => !isDeepEqual(a, b));
93
+ return {
94
+ search,
95
+ setSearch,
96
+ query: {
97
+ isLoading,
98
+ data: results,
99
+ error
100
+ }
101
+ };
96
102
  }
97
- export {
98
- useDocsSearch
99
- };
103
+
104
+ //#endregion
105
+ export { useDocsSearch };
106
+ //# sourceMappingURL=client.js.map
@@ -0,0 +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 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"}
@@ -1,26 +1,28 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode } from "react";
2
2
 
3
+ //#region src/search/index.d.ts
3
4
  interface SortedResult<Content = string> {
4
- id: string;
5
- url: string;
6
- type: 'page' | 'heading' | 'text';
7
- content: Content;
8
- /**
9
- * breadcrumbs to be displayed on UI
10
- */
11
- breadcrumbs?: Content[];
12
- contentWithHighlights?: HighlightedText<Content>[];
5
+ id: string;
6
+ url: string;
7
+ type: 'page' | 'heading' | 'text';
8
+ content: Content;
9
+ /**
10
+ * breadcrumbs to be displayed on UI
11
+ */
12
+ breadcrumbs?: Content[];
13
+ contentWithHighlights?: HighlightedText<Content>[];
13
14
  }
14
15
  type ReactSortedResult = SortedResult<ReactNode>;
15
16
  interface HighlightedText<Content = string> {
16
- type: 'text';
17
- content: Content;
18
- styles?: {
19
- highlight?: boolean;
20
- };
17
+ type: 'text';
18
+ content: Content;
19
+ styles?: {
20
+ highlight?: boolean;
21
+ };
21
22
  }
22
23
  declare function createContentHighlighter(query: string | RegExp): {
23
- highlight(content: string): HighlightedText[];
24
+ highlight(content: string): HighlightedText[];
24
25
  };
25
-
26
- export { type HighlightedText, type ReactSortedResult, type SortedResult, createContentHighlighter };
26
+ //#endregion
27
+ export { HighlightedText, ReactSortedResult, SortedResult, createContentHighlighter };
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/search/index.ts"],"sourcesContent":[],"mappings":";;;UAEiB;;EAAA,GAAA,EAAA,MAAA;EAIN,IAAA,EAAA,MAAA,GAAA,SAAA,GAAA,MAAA;EAKK,OAAA,EALL,OAKK;EAC0B;;;EAG9B,WAAA,CAAA,EAJI,OAIa,EAAA;EAEZ,qBAAe,CAAA,EALN,eAOf,CAP+B,OAOxB,CAAA,EAAA;AA0BlB;KA9BY,iBAAA,GAAoB,aAAa;UAE5B;;WAEN;;;;;iBA0BK,wBAAA,iBAAyC;8BAIzB"}
@@ -1,7 +1,3 @@
1
- import {
2
- createContentHighlighter
3
- } from "../chunk-OTD7MV33.js";
4
- import "../chunk-U67V476Y.js";
5
- export {
6
- createContentHighlighter
7
- };
1
+ import { t as createContentHighlighter } from "../search-DcH54N2x.js";
2
+
3
+ export { createContentHighlighter };
@@ -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,79 +1,81 @@
1
- import { StructuredData } from '../mdx-plugins/remark-structure.js';
2
- import '../mdx-plugins/remark-heading.js';
3
- import '../mdx-plugins/remark-code-tab.js';
4
- import { OramaCloud } from '@orama/core';
5
- import 'mdast';
6
- import 'unified';
7
- import 'mdast-util-mdx-jsx';
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 { OramaCloud } from "@orama/core";
8
8
 
9
+ //#region src/search/orama-cloud.d.ts
9
10
  interface SyncOptions {
10
- /**
11
- * Index name to sync
12
- */
13
- index: string;
14
- documents: OramaDocument[];
15
- /**
16
- * Deploy changes
17
- *
18
- * @defaultValue true
19
- */
20
- autoDeploy?: boolean;
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
+ }[];
21
34
  }
22
- type I18nSyncOptions = Omit<SyncOptions, 'index' | 'documents'> & {
23
- /**
24
- * Indexes to sync.
25
- *
26
- * Pairs of `locale`-`index`.
27
- **/
28
- indexes: Record<string, string>;
29
- documents: {
30
- locale: string;
31
- items: OramaDocument[];
32
- }[];
33
- };
34
35
  interface OramaDocument {
35
- /**
36
- * The ID of document, must be unique
37
- */
38
- id: string;
39
- title: string;
40
- description?: string;
41
- /**
42
- * URL to the page
43
- */
44
- url: string;
45
- structured: StructuredData;
46
- /**
47
- * Tag to filter results
48
- */
49
- tag?: string;
50
- /**
51
- * Data to be added to each section index
52
- */
53
- extra_data?: object;
54
- breadcrumbs?: string[];
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[];
55
56
  }
56
57
  interface OramaIndex {
57
- id: string;
58
- title: string;
59
- url: string;
60
- tag?: string;
61
- /**
62
- * The id of page, used for `group by`
63
- */
64
- page_id: string;
65
- /**
66
- * Heading content
67
- */
68
- section?: string;
69
- breadcrumbs?: string[];
70
- /**
71
- * Heading (anchor) id
72
- */
73
- section_id?: string;
74
- content: string;
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;
75
76
  }
76
77
  declare function sync(orama: OramaCloud, options: SyncOptions): Promise<void>;
77
78
  declare function syncI18n(orama: OramaCloud, options: I18nSyncOptions): Promise<void>;
78
-
79
- export { type I18nSyncOptions, type OramaDocument, type OramaIndex, type SyncOptions, sync, syncI18n };
79
+ //#endregion
80
+ export { I18nSyncOptions, OramaDocument, OramaIndex, SyncOptions, sync, syncI18n };
81
+ //# sourceMappingURL=orama-cloud.d.ts.map
@@ -0,0 +1 @@
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"}