zudoku 0.44.1 → 0.45.1

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 (576) hide show
  1. package/cli.js +8 -2
  2. package/dist/app/entry.client.js +34 -21
  3. package/dist/app/entry.client.js.map +1 -1
  4. package/dist/app/main.js +7 -0
  5. package/dist/app/main.js.map +1 -1
  6. package/dist/config/validators/common.d.ts +420 -288
  7. package/dist/config/validators/common.js +10 -0
  8. package/dist/config/validators/common.js.map +1 -1
  9. package/dist/config/validators/validate.d.ts +161 -108
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/components/Footer.js +2 -2
  14. package/dist/lib/components/Footer.js.map +1 -1
  15. package/dist/lib/components/Header.js +1 -1
  16. package/dist/lib/components/Header.js.map +1 -1
  17. package/dist/lib/components/Markdown.d.ts +3 -1
  18. package/dist/lib/components/Markdown.js +8 -14
  19. package/dist/lib/components/Markdown.js.map +1 -1
  20. package/dist/lib/components/context/ZudokuContext.d.ts +1 -1
  21. package/dist/lib/components/context/ZudokuContext.js +2 -3
  22. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  23. package/dist/lib/components/index.d.ts +2 -1
  24. package/dist/lib/core/ZudokuContext.d.ts +8 -0
  25. package/dist/lib/core/ZudokuContext.js.map +1 -1
  26. package/dist/lib/errors/ErrorAlert.js +1 -1
  27. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  28. package/dist/lib/oas/graphql/circular.js +23 -18
  29. package/dist/lib/oas/graphql/circular.js.map +1 -1
  30. package/dist/lib/oas/parser/index.d.ts +3 -0
  31. package/dist/lib/oas/parser/index.js +6 -1
  32. package/dist/lib/oas/parser/index.js.map +1 -1
  33. package/dist/lib/plugins/openapi/CollapsibleCode.js +1 -1
  34. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  35. package/dist/lib/plugins/openapi/ParamInfos.js +3 -1
  36. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  37. package/dist/lib/plugins/openapi/Sidecar.js +1 -1
  38. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  39. package/dist/lib/plugins/openapi/SidecarExamples.js +1 -1
  40. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  41. package/dist/lib/plugins/openapi/playground/IdentitySelector.js +1 -3
  42. package/dist/lib/plugins/openapi/playground/IdentitySelector.js.map +1 -1
  43. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +4 -1
  44. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
  45. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +11 -12
  46. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  47. package/dist/lib/plugins/openapi/schema/utils.d.ts +5 -1
  48. package/dist/lib/plugins/openapi/schema/utils.js +9 -5
  49. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  50. package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +1 -1
  51. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +4 -0
  52. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  53. package/dist/lib/shiki.d.ts +35 -0
  54. package/dist/lib/shiki.js +103 -0
  55. package/dist/lib/shiki.js.map +1 -0
  56. package/dist/lib/ui/Callout.js +1 -1
  57. package/dist/lib/ui/Callout.js.map +1 -1
  58. package/dist/lib/ui/CodeBlock.d.ts +16 -0
  59. package/dist/lib/ui/CodeBlock.js +18 -0
  60. package/dist/lib/ui/CodeBlock.js.map +1 -0
  61. package/dist/lib/ui/SyntaxHighlight.d.ts +10 -15
  62. package/dist/lib/ui/SyntaxHighlight.js +12 -60
  63. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  64. package/dist/lib/util/MdxComponents.d.ts +9 -3
  65. package/dist/lib/util/MdxComponents.js +9 -10
  66. package/dist/lib/util/MdxComponents.js.map +1 -1
  67. package/dist/vite/api/SchemaManager.js +2 -0
  68. package/dist/vite/api/SchemaManager.js.map +1 -1
  69. package/dist/vite/config.js +34 -0
  70. package/dist/vite/config.js.map +1 -1
  71. package/dist/vite/plugin-mdx.js +4 -11
  72. package/dist/vite/plugin-mdx.js.map +1 -1
  73. package/dist/vite/plugin-shiki-register.d.ts +3 -0
  74. package/dist/vite/plugin-shiki-register.js +38 -0
  75. package/dist/vite/plugin-shiki-register.js.map +1 -0
  76. package/dist/vite/plugin.js +2 -0
  77. package/dist/vite/plugin.js.map +1 -1
  78. package/lib/AuthenticationPlugin-BTJ37DKg.js +90 -0
  79. package/lib/{AuthenticationPlugin-BlJsiGuX.js.map → AuthenticationPlugin-BTJ37DKg.js.map} +1 -1
  80. package/lib/{Button-BBNrKpQd.js → Button-Bdk_Ij3U.js} +3 -3
  81. package/lib/{Button-BBNrKpQd.js.map → Button-Bdk_Ij3U.js.map} +1 -1
  82. package/lib/{Callout-D3Ja4OPX.js → Callout-XadUe37J.js} +12 -12
  83. package/lib/{Callout-D3Ja4OPX.js.map → Callout-XadUe37J.js.map} +1 -1
  84. package/lib/{Card-BtheiD7j.js → Card-BlCYNw5W.js} +2 -2
  85. package/lib/{Card-BtheiD7j.js.map → Card-BlCYNw5W.js.map} +1 -1
  86. package/lib/{CategoryHeading-D06WK_Wo.js → CategoryHeading-DZi-Szor.js} +2 -2
  87. package/lib/{CategoryHeading-D06WK_Wo.js.map → CategoryHeading-DZi-Szor.js.map} +1 -1
  88. package/lib/{Dialog-ByYz4ABw.js → Dialog-CNf2oWXG.js} +2 -2
  89. package/lib/{Dialog-ByYz4ABw.js.map → Dialog-CNf2oWXG.js.map} +1 -1
  90. package/lib/{Drawer-CEwbkLDb.js → Drawer-BPBxzel2.js} +25 -25
  91. package/lib/{Drawer-CEwbkLDb.js.map → Drawer-BPBxzel2.js.map} +1 -1
  92. package/lib/Markdown-D96AphCL.js +7691 -0
  93. package/lib/Markdown-D96AphCL.js.map +1 -0
  94. package/lib/MdxPage-tTTaDsLc.js +84 -0
  95. package/lib/{MdxPage-DlJaCSPf.js.map → MdxPage-tTTaDsLc.js.map} +1 -1
  96. package/lib/{OasProvider-CsUksaAo.js → OasProvider-DalHQixM.js} +4 -4
  97. package/lib/{OasProvider-CsUksaAo.js.map → OasProvider-DalHQixM.js.map} +1 -1
  98. package/lib/{OperationList-BlUBNsw2.js → OperationList-BB09ENaq.js} +1896 -1932
  99. package/lib/{OperationList-BlUBNsw2.js.map → OperationList-BB09ENaq.js.map} +1 -1
  100. package/lib/{Pagination-C5Fi7z_v.js → Pagination-CtmnJOJi.js} +4 -4
  101. package/lib/{Pagination-C5Fi7z_v.js.map → Pagination-CtmnJOJi.js.map} +1 -1
  102. package/lib/RouteGuard-lkdEJoDV.js +732 -0
  103. package/lib/{RouteGuard-D2gX29iI.js.map → RouteGuard-lkdEJoDV.js.map} +1 -1
  104. package/lib/{SchemaList-BQiBukIP.js → SchemaList-BH9bgMRw.js} +40 -41
  105. package/lib/{SchemaList-BQiBukIP.js.map → SchemaList-BH9bgMRw.js.map} +1 -1
  106. package/lib/{SchemaView-Bt95NiyQ.js → SchemaView-BsB7EFRl.js} +120 -115
  107. package/lib/SchemaView-BsB7EFRl.js.map +1 -0
  108. package/lib/Select-HTio1oSE.js +211 -0
  109. package/lib/{Select-CYaEBIYK.js.map → Select-HTio1oSE.js.map} +1 -1
  110. package/lib/SlotletProvider-CTgIBRWg.js +257 -0
  111. package/lib/SlotletProvider-CTgIBRWg.js.map +1 -0
  112. package/lib/SyntaxHighlight-UxOF1xNb.js +9107 -0
  113. package/lib/SyntaxHighlight-UxOF1xNb.js.map +1 -0
  114. package/lib/{Toc-BnN4zBb3.js → Toc-Ax54Pw8S.js} +3 -3
  115. package/lib/{Toc-BnN4zBb3.js.map → Toc-Ax54Pw8S.js.map} +1 -1
  116. package/lib/{chunk-BAXFHI7N-BLTsN6tl.js → chunk-BAXFHI7N-C9WnHsLV.js} +510 -517
  117. package/lib/{chunk-BAXFHI7N-BLTsN6tl.js.map → chunk-BAXFHI7N-C9WnHsLV.js.map} +1 -1
  118. package/lib/{circular-tOWjsgLZ.js → circular-CZaZtOBs.js} +1636 -1633
  119. package/lib/{circular-tOWjsgLZ.js.map → circular-CZaZtOBs.js.map} +1 -1
  120. package/lib/{cn-qaFjX9_3.js → cn-CwJPJKOE.js} +28 -29
  121. package/lib/{cn-qaFjX9_3.js.map → cn-CwJPJKOE.js.map} +1 -1
  122. package/lib/{createServer-XtO-PVox.js → createServer-DmqFeMgf.js} +3980 -3832
  123. package/lib/createServer-DmqFeMgf.js.map +1 -0
  124. package/lib/hook-BwOB_iZo.js +1442 -0
  125. package/lib/hook-BwOB_iZo.js.map +1 -0
  126. package/lib/{index-DwT-v3zK.js → index--oeBayMa.js} +2 -2
  127. package/lib/{index-DwT-v3zK.js.map → index--oeBayMa.js.map} +1 -1
  128. package/lib/index-BnT4-Efz.js +4975 -0
  129. package/lib/index-BnT4-Efz.js.map +1 -0
  130. package/lib/{index-LNp6rxyU.js → index-BvvmIczU.js} +2 -2
  131. package/lib/{index-LNp6rxyU.js.map → index-BvvmIczU.js.map} +1 -1
  132. package/lib/{index-CuBIgTKC.js → index-CrcNWbel.js} +9 -9
  133. package/lib/{index-CuBIgTKC.js.map → index-CrcNWbel.js.map} +1 -1
  134. package/lib/{index-CPNSgwSb.js → index-Z13x6tPX.js} +5 -5
  135. package/lib/{index-CPNSgwSb.js.map → index-Z13x6tPX.js.map} +1 -1
  136. package/lib/{index-CZnufgn5.js → index-sS7O9W-R.js} +899 -949
  137. package/lib/index-sS7O9W-R.js.map +1 -0
  138. package/lib/{index-DcHeSvkE.js → index-zddirpDj.js} +581 -609
  139. package/lib/{index-DcHeSvkE.js.map → index-zddirpDj.js.map} +1 -1
  140. package/lib/invariant-DAFpPywt.js +48 -0
  141. package/lib/{invariant-Caa8-XvF.js.map → invariant-DAFpPywt.js.map} +1 -1
  142. package/lib/mutation-CL2MCRQL.js +196 -0
  143. package/lib/{mutation-Bq5bn7Hf.js.map → mutation-CL2MCRQL.js.map} +1 -1
  144. package/lib/processors/removeParameters.js +27 -28
  145. package/lib/processors/removeParameters.js.map +1 -1
  146. package/lib/processors/removePaths.js +17 -17
  147. package/lib/processors/removePaths.js.map +1 -1
  148. package/lib/ui/Accordion.js +1 -1
  149. package/lib/ui/ActionButton.js +2 -2
  150. package/lib/ui/Alert.js +2 -2
  151. package/lib/ui/AlertDialog.js +1 -1
  152. package/lib/ui/Badge.js +2 -2
  153. package/lib/ui/Breadcrumb.js +1 -1
  154. package/lib/ui/Button.js +2 -2
  155. package/lib/ui/Callout.js +7 -7
  156. package/lib/ui/Callout.js.map +1 -1
  157. package/lib/ui/Card.js +1 -1
  158. package/lib/ui/Carousel.js +175 -175
  159. package/lib/ui/Carousel.js.map +1 -1
  160. package/lib/ui/Checkbox.js +1 -1
  161. package/lib/ui/CodeBlock.js +83 -0
  162. package/lib/ui/CodeBlock.js.map +1 -0
  163. package/lib/ui/Command.js +58 -58
  164. package/lib/ui/Command.js.map +1 -1
  165. package/lib/ui/Dialog.js +1 -1
  166. package/lib/ui/Drawer.js +2 -2
  167. package/lib/ui/DropdownMenu.js +1 -1
  168. package/lib/ui/Form.js +1 -1
  169. package/lib/ui/HoverCard.js +1 -1
  170. package/lib/ui/Input.js +1 -1
  171. package/lib/ui/Label.js +2 -2
  172. package/lib/ui/Pagination.js +1 -1
  173. package/lib/ui/Popover.js +1 -1
  174. package/lib/ui/Progress.js +1 -1
  175. package/lib/ui/RadioGroup.js +1 -1
  176. package/lib/ui/ScrollArea.js +1 -1
  177. package/lib/ui/Select.js +1 -1
  178. package/lib/ui/Skeleton.js +1 -1
  179. package/lib/ui/Slider.js +1 -1
  180. package/lib/ui/Switch.js +1 -1
  181. package/lib/ui/SyntaxHighlight.js +5 -6
  182. package/lib/ui/SyntaxHighlight.js.map +1 -1
  183. package/lib/ui/Tabs.js +1 -1
  184. package/lib/ui/Textarea.js +1 -1
  185. package/lib/ui/Toggle.js +2 -2
  186. package/lib/ui/ToggleGroup.js +1 -1
  187. package/lib/ui/Tooltip.js +1 -1
  188. package/lib/ui/util.js +1 -1
  189. package/lib/{useExposedProps-DmTJxEXG.js → useExposedProps-DG8J6ewJ.js} +2 -2
  190. package/lib/{useExposedProps-DmTJxEXG.js.map → useExposedProps-DG8J6ewJ.js.map} +1 -1
  191. package/lib/zudoku.auth-auth0.js +28 -31
  192. package/lib/zudoku.auth-auth0.js.map +1 -1
  193. package/lib/zudoku.auth-clerk.js +64 -70
  194. package/lib/zudoku.auth-clerk.js.map +1 -1
  195. package/lib/zudoku.auth-openid.js +373 -382
  196. package/lib/zudoku.auth-openid.js.map +1 -1
  197. package/lib/zudoku.components.js +7 -7
  198. package/lib/zudoku.hooks.js +2 -2
  199. package/lib/zudoku.plugin-api-catalog.js +45 -45
  200. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  201. package/lib/zudoku.plugin-api-keys.js +6 -6
  202. package/lib/zudoku.plugin-custom-pages.js +3 -3
  203. package/lib/zudoku.plugin-markdown.js +25 -28
  204. package/lib/zudoku.plugin-markdown.js.map +1 -1
  205. package/lib/zudoku.plugin-openapi.js +3 -3
  206. package/lib/zudoku.plugin-redirect.js +1 -1
  207. package/lib/zudoku.plugin-search-inkeep.js +26 -27
  208. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  209. package/lib/zudoku.plugin-search-pagefind.js +107 -110
  210. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  211. package/package.json +39 -29
  212. package/src/app/entry.client.tsx +40 -25
  213. package/src/app/main.css +54 -3
  214. package/src/app/main.tsx +8 -0
  215. package/src/lib/components/Footer.tsx +3 -6
  216. package/src/lib/components/Header.tsx +1 -1
  217. package/src/lib/components/Markdown.tsx +29 -24
  218. package/src/lib/components/context/ZudokuContext.ts +2 -3
  219. package/src/lib/core/ZudokuContext.ts +5 -0
  220. package/src/lib/errors/ErrorAlert.tsx +1 -1
  221. package/src/lib/oas/graphql/circular.ts +27 -19
  222. package/src/lib/oas/parser/index.ts +6 -1
  223. package/src/lib/plugins/openapi/CollapsibleCode.tsx +5 -2
  224. package/src/lib/plugins/openapi/ParamInfos.tsx +3 -1
  225. package/src/lib/plugins/openapi/Sidecar.tsx +1 -1
  226. package/src/lib/plugins/openapi/SidecarExamples.tsx +2 -2
  227. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +22 -35
  228. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +5 -2
  229. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +23 -17
  230. package/src/lib/plugins/openapi/schema/utils.ts +18 -6
  231. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +6 -1
  232. package/src/lib/shiki.ts +133 -0
  233. package/src/lib/ui/Callout.tsx +1 -1
  234. package/src/lib/ui/CodeBlock.tsx +102 -0
  235. package/src/lib/ui/SyntaxHighlight.tsx +23 -182
  236. package/src/lib/util/MdxComponents.tsx +27 -14
  237. package/src/shiki/langs/abap.js +1 -0
  238. package/src/shiki/langs/actionscript-3.js +1 -0
  239. package/src/shiki/langs/ada.js +1 -0
  240. package/src/shiki/langs/angular-expression.js +1 -0
  241. package/src/shiki/langs/angular-html.js +1 -0
  242. package/src/shiki/langs/angular-inline-style.js +1 -0
  243. package/src/shiki/langs/angular-inline-template.js +1 -0
  244. package/src/shiki/langs/angular-let-declaration.js +1 -0
  245. package/src/shiki/langs/angular-template-blocks.js +1 -0
  246. package/src/shiki/langs/angular-template.js +1 -0
  247. package/src/shiki/langs/angular-ts.js +1 -0
  248. package/src/shiki/langs/apache.js +1 -0
  249. package/src/shiki/langs/apex.js +1 -0
  250. package/src/shiki/langs/apl.js +1 -0
  251. package/src/shiki/langs/applescript.js +1 -0
  252. package/src/shiki/langs/ara.js +1 -0
  253. package/src/shiki/langs/asciidoc.js +1 -0
  254. package/src/shiki/langs/asm.js +1 -0
  255. package/src/shiki/langs/astro.js +1 -0
  256. package/src/shiki/langs/awk.js +1 -0
  257. package/src/shiki/langs/ballerina.js +1 -0
  258. package/src/shiki/langs/bat.js +1 -0
  259. package/src/shiki/langs/beancount.js +1 -0
  260. package/src/shiki/langs/berry.js +1 -0
  261. package/src/shiki/langs/bibtex.js +1 -0
  262. package/src/shiki/langs/bicep.js +1 -0
  263. package/src/shiki/langs/blade.js +1 -0
  264. package/src/shiki/langs/bsl.js +1 -0
  265. package/src/shiki/langs/c.js +1 -0
  266. package/src/shiki/langs/cadence.js +1 -0
  267. package/src/shiki/langs/cairo.js +1 -0
  268. package/src/shiki/langs/clarity.js +1 -0
  269. package/src/shiki/langs/clojure.js +1 -0
  270. package/src/shiki/langs/cmake.js +1 -0
  271. package/src/shiki/langs/cobol.js +1 -0
  272. package/src/shiki/langs/codeowners.js +1 -0
  273. package/src/shiki/langs/codeql.js +1 -0
  274. package/src/shiki/langs/coffee.js +1 -0
  275. package/src/shiki/langs/common-lisp.js +1 -0
  276. package/src/shiki/langs/coq.js +1 -0
  277. package/src/shiki/langs/cpp-macro.js +1 -0
  278. package/src/shiki/langs/cpp.js +1 -0
  279. package/src/shiki/langs/crystal.js +1 -0
  280. package/src/shiki/langs/csharp.js +1 -0
  281. package/src/shiki/langs/css.js +1 -0
  282. package/src/shiki/langs/csv.js +1 -0
  283. package/src/shiki/langs/cue.js +1 -0
  284. package/src/shiki/langs/cypher.js +1 -0
  285. package/src/shiki/langs/d.js +1 -0
  286. package/src/shiki/langs/dart.js +1 -0
  287. package/src/shiki/langs/dax.js +1 -0
  288. package/src/shiki/langs/desktop.js +1 -0
  289. package/src/shiki/langs/diff.js +1 -0
  290. package/src/shiki/langs/docker.js +1 -0
  291. package/src/shiki/langs/dotenv.js +1 -0
  292. package/src/shiki/langs/dream-maker.js +1 -0
  293. package/src/shiki/langs/edge.js +1 -0
  294. package/src/shiki/langs/elixir.js +1 -0
  295. package/src/shiki/langs/elm.js +1 -0
  296. package/src/shiki/langs/emacs-lisp.js +1 -0
  297. package/src/shiki/langs/erb.js +1 -0
  298. package/src/shiki/langs/erlang.js +1 -0
  299. package/src/shiki/langs/es-tag-css.js +1 -0
  300. package/src/shiki/langs/es-tag-glsl.js +1 -0
  301. package/src/shiki/langs/es-tag-html.js +1 -0
  302. package/src/shiki/langs/es-tag-sql.js +1 -0
  303. package/src/shiki/langs/es-tag-xml.js +1 -0
  304. package/src/shiki/langs/fennel.js +1 -0
  305. package/src/shiki/langs/fish.js +1 -0
  306. package/src/shiki/langs/fluent.js +1 -0
  307. package/src/shiki/langs/fortran-fixed-form.js +1 -0
  308. package/src/shiki/langs/fortran-free-form.js +1 -0
  309. package/src/shiki/langs/fsharp.js +1 -0
  310. package/src/shiki/langs/gdresource.js +1 -0
  311. package/src/shiki/langs/gdscript.js +1 -0
  312. package/src/shiki/langs/gdshader.js +1 -0
  313. package/src/shiki/langs/genie.js +1 -0
  314. package/src/shiki/langs/gherkin.js +1 -0
  315. package/src/shiki/langs/git-commit.js +1 -0
  316. package/src/shiki/langs/git-rebase.js +1 -0
  317. package/src/shiki/langs/gleam.js +1 -0
  318. package/src/shiki/langs/glimmer-js.js +1 -0
  319. package/src/shiki/langs/glimmer-ts.js +1 -0
  320. package/src/shiki/langs/glsl.js +1 -0
  321. package/src/shiki/langs/gnuplot.js +1 -0
  322. package/src/shiki/langs/go.js +1 -0
  323. package/src/shiki/langs/graphql.js +1 -0
  324. package/src/shiki/langs/groovy.js +1 -0
  325. package/src/shiki/langs/hack.js +1 -0
  326. package/src/shiki/langs/haml.js +1 -0
  327. package/src/shiki/langs/handlebars.js +1 -0
  328. package/src/shiki/langs/haskell.js +1 -0
  329. package/src/shiki/langs/haxe.js +1 -0
  330. package/src/shiki/langs/hcl.js +1 -0
  331. package/src/shiki/langs/hjson.js +1 -0
  332. package/src/shiki/langs/hlsl.js +1 -0
  333. package/src/shiki/langs/html-derivative.js +1 -0
  334. package/src/shiki/langs/html.js +1 -0
  335. package/src/shiki/langs/http.js +1 -0
  336. package/src/shiki/langs/hxml.js +1 -0
  337. package/src/shiki/langs/hy.js +1 -0
  338. package/src/shiki/langs/imba.js +1 -0
  339. package/src/shiki/langs/ini.js +1 -0
  340. package/src/shiki/langs/java.js +1 -0
  341. package/src/shiki/langs/javascript.js +1 -0
  342. package/src/shiki/langs/jinja-html.js +1 -0
  343. package/src/shiki/langs/jinja.js +1 -0
  344. package/src/shiki/langs/jison.js +1 -0
  345. package/src/shiki/langs/json.js +1 -0
  346. package/src/shiki/langs/json5.js +1 -0
  347. package/src/shiki/langs/jsonc.js +1 -0
  348. package/src/shiki/langs/jsonl.js +1 -0
  349. package/src/shiki/langs/jsonnet.js +1 -0
  350. package/src/shiki/langs/jssm.js +1 -0
  351. package/src/shiki/langs/jsx.js +1 -0
  352. package/src/shiki/langs/julia.js +1 -0
  353. package/src/shiki/langs/kotlin.js +1 -0
  354. package/src/shiki/langs/kusto.js +1 -0
  355. package/src/shiki/langs/latex.js +1 -0
  356. package/src/shiki/langs/lean.js +1 -0
  357. package/src/shiki/langs/less.js +1 -0
  358. package/src/shiki/langs/liquid.js +1 -0
  359. package/src/shiki/langs/llvm.js +1 -0
  360. package/src/shiki/langs/log.js +1 -0
  361. package/src/shiki/langs/logo.js +1 -0
  362. package/src/shiki/langs/lua.js +1 -0
  363. package/src/shiki/langs/luau.js +1 -0
  364. package/src/shiki/langs/make.js +1 -0
  365. package/src/shiki/langs/markdown-vue.js +1 -0
  366. package/src/shiki/langs/markdown.js +1 -0
  367. package/src/shiki/langs/marko.js +1 -0
  368. package/src/shiki/langs/matlab.js +1 -0
  369. package/src/shiki/langs/mdc.js +1 -0
  370. package/src/shiki/langs/mdx.js +1 -0
  371. package/src/shiki/langs/mermaid.js +1 -0
  372. package/src/shiki/langs/mipsasm.js +1 -0
  373. package/src/shiki/langs/mojo.js +1 -0
  374. package/src/shiki/langs/move.js +1 -0
  375. package/src/shiki/langs/narrat.js +1 -0
  376. package/src/shiki/langs/nextflow.js +1 -0
  377. package/src/shiki/langs/nginx.js +1 -0
  378. package/src/shiki/langs/nim.js +1 -0
  379. package/src/shiki/langs/nix.js +1 -0
  380. package/src/shiki/langs/nushell.js +1 -0
  381. package/src/shiki/langs/objective-c.js +1 -0
  382. package/src/shiki/langs/objective-cpp.js +1 -0
  383. package/src/shiki/langs/ocaml.js +1 -0
  384. package/src/shiki/langs/pascal.js +1 -0
  385. package/src/shiki/langs/perl.js +1 -0
  386. package/src/shiki/langs/php.js +1 -0
  387. package/src/shiki/langs/plsql.js +1 -0
  388. package/src/shiki/langs/po.js +1 -0
  389. package/src/shiki/langs/polar.js +1 -0
  390. package/src/shiki/langs/postcss.js +1 -0
  391. package/src/shiki/langs/powerquery.js +1 -0
  392. package/src/shiki/langs/powershell.js +1 -0
  393. package/src/shiki/langs/prisma.js +1 -0
  394. package/src/shiki/langs/prolog.js +1 -0
  395. package/src/shiki/langs/proto.js +1 -0
  396. package/src/shiki/langs/pug.js +1 -0
  397. package/src/shiki/langs/puppet.js +1 -0
  398. package/src/shiki/langs/purescript.js +1 -0
  399. package/src/shiki/langs/python.js +1 -0
  400. package/src/shiki/langs/qml.js +1 -0
  401. package/src/shiki/langs/qmldir.js +1 -0
  402. package/src/shiki/langs/qss.js +1 -0
  403. package/src/shiki/langs/r.js +1 -0
  404. package/src/shiki/langs/racket.js +1 -0
  405. package/src/shiki/langs/raku.js +1 -0
  406. package/src/shiki/langs/razor.js +1 -0
  407. package/src/shiki/langs/reg.js +1 -0
  408. package/src/shiki/langs/regexp.js +1 -0
  409. package/src/shiki/langs/rel.js +1 -0
  410. package/src/shiki/langs/riscv.js +1 -0
  411. package/src/shiki/langs/rst.js +1 -0
  412. package/src/shiki/langs/ruby.js +1 -0
  413. package/src/shiki/langs/rust.js +1 -0
  414. package/src/shiki/langs/sas.js +1 -0
  415. package/src/shiki/langs/sass.js +1 -0
  416. package/src/shiki/langs/scala.js +1 -0
  417. package/src/shiki/langs/scheme.js +1 -0
  418. package/src/shiki/langs/scss.js +1 -0
  419. package/src/shiki/langs/sdbl.js +1 -0
  420. package/src/shiki/langs/shaderlab.js +1 -0
  421. package/src/shiki/langs/shellscript.js +1 -0
  422. package/src/shiki/langs/shellsession.js +1 -0
  423. package/src/shiki/langs/smalltalk.js +1 -0
  424. package/src/shiki/langs/solidity.js +1 -0
  425. package/src/shiki/langs/soy.js +1 -0
  426. package/src/shiki/langs/sparql.js +1 -0
  427. package/src/shiki/langs/splunk.js +1 -0
  428. package/src/shiki/langs/sql.js +1 -0
  429. package/src/shiki/langs/ssh-config.js +1 -0
  430. package/src/shiki/langs/stata.js +1 -0
  431. package/src/shiki/langs/stylus.js +1 -0
  432. package/src/shiki/langs/svelte.js +1 -0
  433. package/src/shiki/langs/swift.js +1 -0
  434. package/src/shiki/langs/system-verilog.js +1 -0
  435. package/src/shiki/langs/systemd.js +1 -0
  436. package/src/shiki/langs/talonscript.js +1 -0
  437. package/src/shiki/langs/tasl.js +1 -0
  438. package/src/shiki/langs/tcl.js +1 -0
  439. package/src/shiki/langs/templ.js +1 -0
  440. package/src/shiki/langs/terraform.js +1 -0
  441. package/src/shiki/langs/tex.js +1 -0
  442. package/src/shiki/langs/toml.js +1 -0
  443. package/src/shiki/langs/ts-tags.js +1 -0
  444. package/src/shiki/langs/tsv.js +1 -0
  445. package/src/shiki/langs/tsx.js +1 -0
  446. package/src/shiki/langs/turtle.js +1 -0
  447. package/src/shiki/langs/twig.js +1 -0
  448. package/src/shiki/langs/typescript.js +1 -0
  449. package/src/shiki/langs/typespec.js +1 -0
  450. package/src/shiki/langs/typst.js +1 -0
  451. package/src/shiki/langs/v.js +1 -0
  452. package/src/shiki/langs/vala.js +1 -0
  453. package/src/shiki/langs/vb.js +1 -0
  454. package/src/shiki/langs/verilog.js +1 -0
  455. package/src/shiki/langs/vhdl.js +1 -0
  456. package/src/shiki/langs/viml.js +1 -0
  457. package/src/shiki/langs/vue-directives.js +1 -0
  458. package/src/shiki/langs/vue-html.js +1 -0
  459. package/src/shiki/langs/vue-interpolations.js +1 -0
  460. package/src/shiki/langs/vue-sfc-style-variable-injection.js +1 -0
  461. package/src/shiki/langs/vue.js +1 -0
  462. package/src/shiki/langs/vyper.js +1 -0
  463. package/src/shiki/langs/wasm.js +1 -0
  464. package/src/shiki/langs/wenyan.js +1 -0
  465. package/src/shiki/langs/wgsl.js +1 -0
  466. package/src/shiki/langs/wikitext.js +1 -0
  467. package/src/shiki/langs/wit.js +1 -0
  468. package/src/shiki/langs/wolfram.js +1 -0
  469. package/src/shiki/langs/xml.js +1 -0
  470. package/src/shiki/langs/xsl.js +1 -0
  471. package/src/shiki/langs/yaml.js +1 -0
  472. package/src/shiki/langs/zenscript.js +1 -0
  473. package/src/shiki/langs/zig.js +1 -0
  474. package/src/shiki/themes/andromeeda.js +1 -0
  475. package/src/shiki/themes/aurora-x.js +1 -0
  476. package/src/shiki/themes/ayu-dark.js +1 -0
  477. package/src/shiki/themes/catppuccin-frappe.js +1 -0
  478. package/src/shiki/themes/catppuccin-latte.js +1 -0
  479. package/src/shiki/themes/catppuccin-macchiato.js +1 -0
  480. package/src/shiki/themes/catppuccin-mocha.js +1 -0
  481. package/src/shiki/themes/dark-plus.js +1 -0
  482. package/src/shiki/themes/dracula-soft.js +1 -0
  483. package/src/shiki/themes/dracula.js +1 -0
  484. package/src/shiki/themes/everforest-dark.js +1 -0
  485. package/src/shiki/themes/everforest-light.js +1 -0
  486. package/src/shiki/themes/github-dark-default.js +1 -0
  487. package/src/shiki/themes/github-dark-dimmed.js +1 -0
  488. package/src/shiki/themes/github-dark-high-contrast.js +1 -0
  489. package/src/shiki/themes/github-dark.js +1 -0
  490. package/src/shiki/themes/github-light-default.js +1 -0
  491. package/src/shiki/themes/github-light-high-contrast.js +1 -0
  492. package/src/shiki/themes/github-light.js +1 -0
  493. package/src/shiki/themes/gruvbox-dark-hard.js +1 -0
  494. package/src/shiki/themes/gruvbox-dark-medium.js +1 -0
  495. package/src/shiki/themes/gruvbox-dark-soft.js +1 -0
  496. package/src/shiki/themes/gruvbox-light-hard.js +1 -0
  497. package/src/shiki/themes/gruvbox-light-medium.js +1 -0
  498. package/src/shiki/themes/gruvbox-light-soft.js +1 -0
  499. package/src/shiki/themes/houston.js +1 -0
  500. package/src/shiki/themes/kanagawa-dragon.js +1 -0
  501. package/src/shiki/themes/kanagawa-lotus.js +1 -0
  502. package/src/shiki/themes/kanagawa-wave.js +1 -0
  503. package/src/shiki/themes/laserwave.js +1 -0
  504. package/src/shiki/themes/light-plus.js +1 -0
  505. package/src/shiki/themes/material-theme-darker.js +1 -0
  506. package/src/shiki/themes/material-theme-lighter.js +1 -0
  507. package/src/shiki/themes/material-theme-ocean.js +1 -0
  508. package/src/shiki/themes/material-theme-palenight.js +1 -0
  509. package/src/shiki/themes/material-theme.js +1 -0
  510. package/src/shiki/themes/min-dark.js +1 -0
  511. package/src/shiki/themes/min-light.js +1 -0
  512. package/src/shiki/themes/monokai.js +1 -0
  513. package/src/shiki/themes/night-owl.js +1 -0
  514. package/src/shiki/themes/nord.js +1 -0
  515. package/src/shiki/themes/one-dark-pro.js +1 -0
  516. package/src/shiki/themes/one-light.js +1 -0
  517. package/src/shiki/themes/plastic.js +1 -0
  518. package/src/shiki/themes/poimandres.js +1 -0
  519. package/src/shiki/themes/red.js +1 -0
  520. package/src/shiki/themes/rose-pine-dawn.js +1 -0
  521. package/src/shiki/themes/rose-pine-moon.js +1 -0
  522. package/src/shiki/themes/rose-pine.js +1 -0
  523. package/src/shiki/themes/slack-dark.js +1 -0
  524. package/src/shiki/themes/slack-ochin.js +1 -0
  525. package/src/shiki/themes/snazzy-light.js +1 -0
  526. package/src/shiki/themes/solarized-dark.js +1 -0
  527. package/src/shiki/themes/solarized-light.js +1 -0
  528. package/src/shiki/themes/synthwave-84.js +1 -0
  529. package/src/shiki/themes/tokyo-night.js +1 -0
  530. package/src/shiki/themes/vesper.js +1 -0
  531. package/src/shiki/themes/vitesse-black.js +1 -0
  532. package/src/shiki/themes/vitesse-dark.js +1 -0
  533. package/src/shiki/themes/vitesse-light.js +1 -0
  534. package/lib/AuthenticationPlugin-BlJsiGuX.js +0 -99
  535. package/lib/Markdown-DvdVn1O7.js +0 -17128
  536. package/lib/Markdown-DvdVn1O7.js.map +0 -1
  537. package/lib/MdxPage-DlJaCSPf.js +0 -85
  538. package/lib/RouteGuard-D2gX29iI.js +0 -744
  539. package/lib/SchemaView-Bt95NiyQ.js.map +0 -1
  540. package/lib/Select-CYaEBIYK.js +0 -223
  541. package/lib/SlotletProvider-wWbHYqWf.js +0 -340
  542. package/lib/SlotletProvider-wWbHYqWf.js.map +0 -1
  543. package/lib/SyntaxHighlight-o7q0acut.js +0 -2890
  544. package/lib/SyntaxHighlight-o7q0acut.js.map +0 -1
  545. package/lib/_commonjsHelpers-B4e78b8K.js +0 -29
  546. package/lib/_commonjsHelpers-B4e78b8K.js.map +0 -1
  547. package/lib/createServer-XtO-PVox.js.map +0 -1
  548. package/lib/hook-8GM2HXNM.js +0 -1478
  549. package/lib/hook-8GM2HXNM.js.map +0 -1
  550. package/lib/index-CZnufgn5.js.map +0 -1
  551. package/lib/index-CzUOM_vE.js +0 -5039
  552. package/lib/index-CzUOM_vE.js.map +0 -1
  553. package/lib/invariant-Caa8-XvF.js +0 -26
  554. package/lib/mutation-Bq5bn7Hf.js +0 -211
  555. package/lib/prism-bash.min-HHIMdNJ_.js +0 -7
  556. package/lib/prism-bash.min-HHIMdNJ_.js.map +0 -1
  557. package/lib/prism-csharp.min-C43x1RY2.js +0 -63
  558. package/lib/prism-csharp.min-C43x1RY2.js.map +0 -1
  559. package/lib/prism-java.min-CQzr40NQ.js +0 -35
  560. package/lib/prism-java.min-CQzr40NQ.js.map +0 -1
  561. package/lib/prism-javascript.min-CEqHqgbm.js +0 -9
  562. package/lib/prism-javascript.min-CEqHqgbm.js.map +0 -1
  563. package/lib/prism-json.min-B1GJqK1k.js +0 -2
  564. package/lib/prism-json.min-B1GJqK1k.js.map +0 -1
  565. package/lib/prism-jsstacktrace.min-BfobCF2F.js +0 -2
  566. package/lib/prism-jsstacktrace.min-BfobCF2F.js.map +0 -1
  567. package/lib/prism-markdown.min-C0Qn0m-5.js +0 -61
  568. package/lib/prism-markdown.min-C0Qn0m-5.js.map +0 -1
  569. package/lib/prism-markup-BNGj0Tvm.js +0 -174
  570. package/lib/prism-markup-BNGj0Tvm.js.map +0 -1
  571. package/lib/prism-objectivec.min-BXSWqpJJ.js +0 -2
  572. package/lib/prism-objectivec.min-BXSWqpJJ.js.map +0 -1
  573. package/lib/prism-ruby.min-L9OdQ6tU.js +0 -38
  574. package/lib/prism-ruby.min-L9OdQ6tU.js.map +0 -1
  575. package/lib/prism-typescript.min-qTySPvCh.js +0 -34
  576. package/lib/prism-typescript.min-qTySPvCh.js.map +0 -1
@@ -1,13 +1,13 @@
1
- import "./RouteGuard-D2gX29iI.js";
2
- import "./index-DwT-v3zK.js";
3
- import "./chunk-BAXFHI7N-BLTsN6tl.js";
4
- import "./hook-8GM2HXNM.js";
5
- import "./SlotletProvider-wWbHYqWf.js";
6
- import { e as d, f as k, n as l, B as S, C as h, j as B, l as c, H as E, d as H, L, M, g as R, R as Z, S as f, k as g, i as y, Z as A, b, h as j, c as v, m as w, a as x } from "./index-CzUOM_vE.js";
1
+ import "./RouteGuard-lkdEJoDV.js";
2
+ import "./index--oeBayMa.js";
3
+ import "./chunk-BAXFHI7N-C9WnHsLV.js";
4
+ import "./hook-BwOB_iZo.js";
5
+ import "./SlotletProvider-CTgIBRWg.js";
6
+ import { e as d, f as k, n as l, B as S, C as h, j as B, l as c, H as E, d as H, L, M, g as R, R as Z, S as f, k as g, i as y, Z as A, b, h as j, c as v, m as w, a as x } from "./index-BnT4-Efz.js";
7
7
  import "./ui/Button.js";
8
8
  import "./ui/Callout.js";
9
9
  import "./ClientOnly-E7hGysn1.js";
10
- import "./Markdown-DvdVn1O7.js";
10
+ import "./Markdown-D96AphCL.js";
11
11
  import "./Spinner-mNLZ6awP.js";
12
12
  export {
13
13
  d as Bootstrap,
@@ -1,6 +1,6 @@
1
- import { z as f } from "./index-DwT-v3zK.js";
1
+ import { z as f } from "./index--oeBayMa.js";
2
2
  import { useState as m, useEffect as i } from "react";
3
- import { e as a } from "./hook-8GM2HXNM.js";
3
+ import { e as a } from "./hook-BwOB_iZo.js";
4
4
  function d(e, t) {
5
5
  const s = a(), [n, o] = m();
6
6
  return i(() => s.addEventListener(e, (...u) => {
@@ -1,42 +1,42 @@
1
- import { j as s } from "./jsx-runtime-C5mzlN2N.js";
2
- import { s as h } from "./index-LNp6rxyU.js";
3
- import { d as b, m as x } from "./chunk-BAXFHI7N-BLTsN6tl.js";
4
- import { u as j, d as y, f as p } from "./hook-8GM2HXNM.js";
5
- import { H as v } from "./RouteGuard-D2gX29iI.js";
6
- import { L as N } from "./index-CzUOM_vE.js";
7
- import { H as S, M as w } from "./Markdown-DvdVn1O7.js";
1
+ import { j as t } from "./jsx-runtime-C5mzlN2N.js";
2
+ import { s as g } from "./index-BvvmIczU.js";
3
+ import { d as b, m as x } from "./chunk-BAXFHI7N-C9WnHsLV.js";
4
+ import { u as j, d as y, f as m } from "./hook-BwOB_iZo.js";
5
+ import { H as v } from "./RouteGuard-lkdEJoDV.js";
6
+ import { L as N } from "./index-BnT4-Efz.js";
7
+ import { H as S, M as w } from "./Markdown-D96AphCL.js";
8
8
  const H = ({
9
9
  items: r,
10
10
  filterCatalogItems: o = (n) => n,
11
- label: d = "API Library",
11
+ label: c = "API Library",
12
12
  categoryLabel: a
13
13
  }) => {
14
- const n = j(), i = b({ path: "/catalog/:category" }), t = i == null ? void 0 : i.params.category, l = y({
14
+ const n = j(), s = b({ path: "/catalog/:category" })?.params.category, l = y({
15
15
  queryFn: () => o(r, { auth: n }),
16
16
  queryKey: ["catalogItems", n]
17
- }), m = t ? { "data-pagefind-ignore": "all" } : {};
18
- return /* @__PURE__ */ s.jsxs("section", { className: "pt-[--padding-content-top]", ...m, children: [
19
- /* @__PURE__ */ s.jsx(v, { children: /* @__PURE__ */ s.jsxs("title", { children: [
17
+ }), d = s ? { "data-pagefind-ignore": "all" } : {};
18
+ return /* @__PURE__ */ t.jsxs("section", { className: "pt-[--padding-content-top]", ...d, children: [
19
+ /* @__PURE__ */ t.jsx(v, { children: /* @__PURE__ */ t.jsxs("title", { children: [
20
20
  a ? `${a} - ` : "",
21
- d
21
+ c
22
22
  ] }) }),
23
- /* @__PURE__ */ s.jsxs("div", { className: "grid gap-4", children: [
24
- /* @__PURE__ */ s.jsxs(S, { level: 2, children: [
25
- d,
23
+ /* @__PURE__ */ t.jsxs("div", { className: "grid gap-4", children: [
24
+ /* @__PURE__ */ t.jsxs(S, { level: 2, children: [
25
+ c,
26
26
  a && ` - ${a}`
27
27
  ] }),
28
- /* @__PURE__ */ s.jsx("div", { className: "grid grid-cols-2 gap-4", children: l.data.filter(
29
- (e) => !t || e.categories.find(
30
- (c) => c.tags.find((u) => f(c.label, u) === t)
28
+ /* @__PURE__ */ t.jsx("div", { className: "grid grid-cols-2 gap-4", children: l.data.filter(
29
+ (e) => !s || e.categories.find(
30
+ (i) => i.tags.find((h) => u(i.label, h) === s)
31
31
  )
32
- ).map((e) => /* @__PURE__ */ s.jsx(
32
+ ).map((e) => /* @__PURE__ */ t.jsx(
33
33
  N,
34
34
  {
35
- to: p(e.path),
35
+ to: m(e.path),
36
36
  className: "no-underline hover:!text-foreground",
37
- children: /* @__PURE__ */ s.jsxs("div", { className: "border h-full rounded-lg p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal", children: [
38
- /* @__PURE__ */ s.jsx("span", { className: "font-semibold", children: e.label }),
39
- /* @__PURE__ */ s.jsx(
37
+ children: /* @__PURE__ */ t.jsxs("div", { className: "border h-full rounded-lg p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal", children: [
38
+ /* @__PURE__ */ t.jsx("span", { className: "font-semibold", children: e.label }),
39
+ /* @__PURE__ */ t.jsx(
40
40
  w,
41
41
  {
42
42
  className: "text-sm whitespace-pre-wrap mb-6 line-clamp-2",
@@ -49,58 +49,58 @@ const H = ({
49
49
  )) })
50
50
  ] })
51
51
  ] });
52
- }, f = (r, o) => h(`${r}-${o}`), A = ({
52
+ }, u = (r, o) => g(`${r}-${o}`), A = ({
53
53
  navigationId: r,
54
54
  items: o,
55
- label: d,
55
+ label: c,
56
56
  categories: a = [],
57
57
  filterCatalogItems: n
58
58
  }) => {
59
- const i = Object.fromEntries(
59
+ const p = Object.fromEntries(
60
60
  a.flatMap(
61
- (t) => [void 0, ...t.tags].map((l) => [
62
- p(r, l ? f(t.label, l) : void 0),
61
+ (s) => [void 0, ...s.tags].map((l) => [
62
+ m(r, l ? u(s.label, l) : void 0),
63
63
  l
64
64
  ])
65
65
  )
66
66
  );
67
67
  return {
68
- getSidebar: async (t) => {
69
- if (!Object.keys(i).some(
70
- (e) => x(e, t)
68
+ getSidebar: async (s) => {
69
+ if (!Object.keys(p).some(
70
+ (e) => x(e, s)
71
71
  ))
72
72
  return [];
73
- const m = a.map((e) => ({
73
+ const d = a.map((e) => ({
74
74
  type: "category",
75
75
  label: e.label,
76
76
  collapsible: !1,
77
- items: e.tags.map((c) => ({
77
+ items: e.tags.map((i) => ({
78
78
  type: "doc",
79
- id: p(r, f(e.label, c)),
80
- label: c,
79
+ id: m(r, u(e.label, i)),
80
+ label: i,
81
81
  badge: {
82
82
  label: String(
83
83
  o.filter(
84
- (u) => u.categories.find((g) => g.tags.includes(c))
84
+ (h) => h.categories.find((f) => f.tags.includes(i))
85
85
  ).length
86
86
  ),
87
87
  color: "outline"
88
88
  }
89
89
  }))
90
90
  }));
91
- return m.unshift({
91
+ return d.unshift({
92
92
  type: "doc",
93
- id: p(r),
93
+ id: m(r),
94
94
  label: "Overview",
95
95
  badge: { label: String(o.length), color: "outline" }
96
- }), m;
96
+ }), d;
97
97
  },
98
- getRoutes: () => Object.entries(i).map(([t, l]) => ({
99
- path: t,
100
- element: /* @__PURE__ */ s.jsx(
98
+ getRoutes: () => Object.entries(p).map(([s, l]) => ({
99
+ path: s,
100
+ element: /* @__PURE__ */ t.jsx(
101
101
  H,
102
102
  {
103
- label: d,
103
+ label: c,
104
104
  categoryLabel: l,
105
105
  items: o,
106
106
  filterCatalogItems: n,
@@ -112,6 +112,6 @@ const H = ({
112
112
  };
113
113
  export {
114
114
  A as apiCatalogPlugin,
115
- f as getKey
115
+ u as getKey
116
116
  };
117
117
  //# sourceMappingURL=zudoku.plugin-api-catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zudoku.plugin-api-catalog.js","sources":["../src/lib/plugins/api-catalog/Catalog.tsx","../src/lib/plugins/api-catalog/index.tsx"],"sourcesContent":["import { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { useMatch } from \"react-router\";\nimport { Link } from \"zudoku/components\";\nimport { useAuthState } from \"../../authentication/state.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { type ApiCatalogPluginOptions, getKey } from \"./index.js\";\n\nexport const Catalog = ({\n items,\n filterCatalogItems = (items) => items,\n label = \"API Library\",\n categoryLabel,\n}: Omit<ApiCatalogPluginOptions, \"navigationId\"> & {\n categoryLabel?: string;\n}) => {\n const auth = useAuthState();\n const match = useMatch({ path: \"/catalog/:category\" });\n const activeCategory = match?.params.category;\n\n const catalogItems = useSuspenseQuery({\n queryFn: () => filterCatalogItems(items, { auth }),\n queryKey: [\"catalogItems\", auth],\n });\n\n // Only index the overview page, ignore the rest\n const dataSet = activeCategory ? { \"data-pagefind-ignore\": \"all\" } : {};\n\n return (\n <section className=\"pt-[--padding-content-top]\" {...dataSet}>\n <Helmet>\n <title>\n {categoryLabel ? `${categoryLabel} - ` : \"\"}\n {label}\n </title>\n </Helmet>\n <div className=\"grid gap-4\">\n <Heading level={2}>\n {label}\n {categoryLabel && ` - ${categoryLabel}`}\n </Heading>\n\n <div className=\"grid grid-cols-2 gap-4\">\n {catalogItems.data\n .filter(\n (api) =>\n !activeCategory ||\n api.categories.find((c) =>\n c.tags.find((t) => getKey(c.label, t) === activeCategory),\n ),\n )\n .map((api) => (\n <Link\n to={joinUrl(api.path)}\n className=\"no-underline hover:!text-foreground\"\n key={api.path}\n >\n <div className=\"border h-full rounded-lg p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal\">\n <span className=\"font-semibold\">{api.label}</span>\n <Markdown\n className=\"text-sm whitespace-pre-wrap mb-6 line-clamp-2\"\n content={api.description}\n />\n </div>\n </Link>\n ))}\n </div>\n </div>\n </section>\n );\n};\n","import slugify from \"@sindresorhus/slugify\";\nimport { matchPath } from \"react-router\";\nimport type { SidebarItem } from \"../../../config/validators/SidebarSchema.js\";\nimport type { AuthState } from \"../../authentication/state.js\";\nimport type { ZudokuPlugin } from \"../../core/plugins.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { Catalog } from \"./Catalog.js\";\n\nexport const getKey = (category: string, tag: string) =>\n slugify(`${category}-${tag}`);\n\nexport type ApiCatalogItem = {\n path: string;\n label: string;\n description: string;\n categories: CatalogCategory[];\n};\n\nexport type CatalogCategory = {\n label: string;\n tags: string[];\n};\n\nexport type ApiCatalogPluginOptions = {\n navigationId: string;\n label: string;\n categories?: CatalogCategory[];\n items: ApiCatalogItem[];\n filterCatalogItems?: filterCatalogItems;\n};\n\nexport type CatalogContext<ProviderData = unknown> = {\n auth: AuthState<ProviderData>;\n};\n\nexport type filterCatalogItems<ProviderData = unknown> = (\n items: ApiCatalogItem[],\n { auth }: CatalogContext<ProviderData>,\n) => ApiCatalogItem[];\n\nexport const apiCatalogPlugin = ({\n navigationId,\n items,\n label,\n categories = [],\n filterCatalogItems,\n}: {\n navigationId: string;\n label: string;\n categories?: CatalogCategory[];\n items: ApiCatalogItem[];\n filterCatalogItems?: filterCatalogItems;\n}): ZudokuPlugin => {\n const paths = Object.fromEntries(\n categories.flatMap((category) =>\n [undefined, ...category.tags].map((tag) => [\n joinUrl(navigationId, tag ? getKey(category.label, tag) : undefined),\n tag,\n ]),\n ),\n );\n\n return {\n getSidebar: async (currentPath) => {\n const matches = Object.keys(paths).some((path) =>\n matchPath(path, currentPath),\n );\n\n if (!matches) {\n return [];\n }\n\n const sidebar: SidebarItem[] = categories.map((category) => ({\n type: \"category\" as const,\n label: category.label,\n collapsible: false,\n items: category.tags.map((tag) => ({\n type: \"doc\" as const,\n id: joinUrl(navigationId, getKey(category.label, tag)),\n label: tag,\n badge: {\n label: String(\n items.filter((api) =>\n api.categories.find((c) => c.tags.includes(tag)),\n ).length,\n ),\n color: \"outline\" as const,\n },\n })),\n }));\n\n sidebar.unshift({\n type: \"doc\" as const,\n id: joinUrl(navigationId),\n label: \"Overview\",\n badge: { label: String(items.length), color: \"outline\" as const },\n });\n\n return sidebar;\n },\n getRoutes: () =>\n Object.entries(paths).map(([path, tag]) => ({\n path,\n element: (\n <Catalog\n label={label}\n categoryLabel={tag}\n items={items}\n filterCatalogItems={filterCatalogItems}\n categories={categories}\n />\n ),\n })),\n };\n};\n"],"names":["Catalog","items","filterCatalogItems","label","categoryLabel","auth","useAuthState","match","useMatch","activeCategory","catalogItems","useSuspenseQuery","dataSet","jsxs","jsx","Helmet","Heading","api","t","getKey","Link","joinUrl","Markdown","category","tag","slugify","apiCatalogPlugin","navigationId","categories","paths","currentPath","path","matchPath","sidebar","c"],"mappings":"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"}
1
+ {"version":3,"file":"zudoku.plugin-api-catalog.js","sources":["../src/lib/plugins/api-catalog/Catalog.tsx","../src/lib/plugins/api-catalog/index.tsx"],"sourcesContent":["import { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { useMatch } from \"react-router\";\nimport { Link } from \"zudoku/components\";\nimport { useAuthState } from \"../../authentication/state.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { type ApiCatalogPluginOptions, getKey } from \"./index.js\";\n\nexport const Catalog = ({\n items,\n filterCatalogItems = (items) => items,\n label = \"API Library\",\n categoryLabel,\n}: Omit<ApiCatalogPluginOptions, \"navigationId\"> & {\n categoryLabel?: string;\n}) => {\n const auth = useAuthState();\n const match = useMatch({ path: \"/catalog/:category\" });\n const activeCategory = match?.params.category;\n\n const catalogItems = useSuspenseQuery({\n queryFn: () => filterCatalogItems(items, { auth }),\n queryKey: [\"catalogItems\", auth],\n });\n\n // Only index the overview page, ignore the rest\n const dataSet = activeCategory ? { \"data-pagefind-ignore\": \"all\" } : {};\n\n return (\n <section className=\"pt-[--padding-content-top]\" {...dataSet}>\n <Helmet>\n <title>\n {categoryLabel ? `${categoryLabel} - ` : \"\"}\n {label}\n </title>\n </Helmet>\n <div className=\"grid gap-4\">\n <Heading level={2}>\n {label}\n {categoryLabel && ` - ${categoryLabel}`}\n </Heading>\n\n <div className=\"grid grid-cols-2 gap-4\">\n {catalogItems.data\n .filter(\n (api) =>\n !activeCategory ||\n api.categories.find((c) =>\n c.tags.find((t) => getKey(c.label, t) === activeCategory),\n ),\n )\n .map((api) => (\n <Link\n to={joinUrl(api.path)}\n className=\"no-underline hover:!text-foreground\"\n key={api.path}\n >\n <div className=\"border h-full rounded-lg p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal\">\n <span className=\"font-semibold\">{api.label}</span>\n <Markdown\n className=\"text-sm whitespace-pre-wrap mb-6 line-clamp-2\"\n content={api.description}\n />\n </div>\n </Link>\n ))}\n </div>\n </div>\n </section>\n );\n};\n","import slugify from \"@sindresorhus/slugify\";\nimport { matchPath } from \"react-router\";\nimport type { SidebarItem } from \"../../../config/validators/SidebarSchema.js\";\nimport type { AuthState } from \"../../authentication/state.js\";\nimport type { ZudokuPlugin } from \"../../core/plugins.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { Catalog } from \"./Catalog.js\";\n\nexport const getKey = (category: string, tag: string) =>\n slugify(`${category}-${tag}`);\n\nexport type ApiCatalogItem = {\n path: string;\n label: string;\n description: string;\n categories: CatalogCategory[];\n};\n\nexport type CatalogCategory = {\n label: string;\n tags: string[];\n};\n\nexport type ApiCatalogPluginOptions = {\n navigationId: string;\n label: string;\n categories?: CatalogCategory[];\n items: ApiCatalogItem[];\n filterCatalogItems?: filterCatalogItems;\n};\n\nexport type CatalogContext<ProviderData = unknown> = {\n auth: AuthState<ProviderData>;\n};\n\nexport type filterCatalogItems<ProviderData = unknown> = (\n items: ApiCatalogItem[],\n { auth }: CatalogContext<ProviderData>,\n) => ApiCatalogItem[];\n\nexport const apiCatalogPlugin = ({\n navigationId,\n items,\n label,\n categories = [],\n filterCatalogItems,\n}: {\n navigationId: string;\n label: string;\n categories?: CatalogCategory[];\n items: ApiCatalogItem[];\n filterCatalogItems?: filterCatalogItems;\n}): ZudokuPlugin => {\n const paths = Object.fromEntries(\n categories.flatMap((category) =>\n [undefined, ...category.tags].map((tag) => [\n joinUrl(navigationId, tag ? getKey(category.label, tag) : undefined),\n tag,\n ]),\n ),\n );\n\n return {\n getSidebar: async (currentPath) => {\n const matches = Object.keys(paths).some((path) =>\n matchPath(path, currentPath),\n );\n\n if (!matches) {\n return [];\n }\n\n const sidebar: SidebarItem[] = categories.map((category) => ({\n type: \"category\" as const,\n label: category.label,\n collapsible: false,\n items: category.tags.map((tag) => ({\n type: \"doc\" as const,\n id: joinUrl(navigationId, getKey(category.label, tag)),\n label: tag,\n badge: {\n label: String(\n items.filter((api) =>\n api.categories.find((c) => c.tags.includes(tag)),\n ).length,\n ),\n color: \"outline\" as const,\n },\n })),\n }));\n\n sidebar.unshift({\n type: \"doc\" as const,\n id: joinUrl(navigationId),\n label: \"Overview\",\n badge: { label: String(items.length), color: \"outline\" as const },\n });\n\n return sidebar;\n },\n getRoutes: () =>\n Object.entries(paths).map(([path, tag]) => ({\n path,\n element: (\n <Catalog\n label={label}\n categoryLabel={tag}\n items={items}\n filterCatalogItems={filterCatalogItems}\n categories={categories}\n />\n ),\n })),\n };\n};\n"],"names":["Catalog","items","filterCatalogItems","label","categoryLabel","auth","useAuthState","activeCategory","useMatch","catalogItems","useSuspenseQuery","dataSet","jsxs","jsx","Helmet","Heading","api","c","t","getKey","Link","joinUrl","Markdown","category","tag","slugify","apiCatalogPlugin","navigationId","categories","paths","currentPath","path","matchPath","sidebar"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { j as e } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { RotateCwIcon as j, TrashIcon as v, EyeOffIcon as w, EyeIcon as K, CheckIcon as b, CopyIcon as k, FileKey2Icon as N } from "lucide-react";
3
- import { D as I, S as x, R as S } from "./SlotletProvider-wWbHYqWf.js";
4
- import { i as c } from "./invariant-Caa8-XvF.js";
5
- import { e as h, g, l as A, d as C } from "./hook-8GM2HXNM.js";
6
- import { u as d, S as E, a as P, b as D, c as q, d as R, e as p } from "./Select-CYaEBIYK.js";
3
+ import { D as I, S as x, R as S } from "./SlotletProvider-CTgIBRWg.js";
4
+ import { i as c } from "./invariant-DAFpPywt.js";
5
+ import { e as h, g, l as A, d as C } from "./hook-BwOB_iZo.js";
6
+ import { u as d, S as E, a as P, b as D, c as q, d as R, e as p } from "./Select-HTio1oSE.js";
7
7
  import { a as O } from "./index.esm-D2ZUREQN.js";
8
- import { a as z, L as u, O as F } from "./chunk-BAXFHI7N-BLTsN6tl.js";
8
+ import { a as z, L as u, O as F } from "./chunk-BAXFHI7N-C9WnHsLV.js";
9
9
  import { Button as l } from "./ui/Button.js";
10
10
  import { Input as T } from "./ui/Input.js";
11
11
  import { useState as y } from "react";
12
- import { c as L } from "./cn-qaFjX9_3.js";
12
+ import { c as L } from "./cn-CwJPJKOE.js";
13
13
  const V = ({ service: t }) => {
14
14
  const n = h(), i = g(), r = z(), a = O({
15
15
  defaultValues: {
@@ -1,8 +1,8 @@
1
1
  import { j as o } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import a from "react";
3
- import { P as n } from "./Markdown-DvdVn1O7.js";
4
- import { c } from "./cn-qaFjX9_3.js";
5
- import { u as p } from "./useExposedProps-DmTJxEXG.js";
3
+ import { P as n } from "./Markdown-D96AphCL.js";
4
+ import { c } from "./cn-CwJPJKOE.js";
5
+ import { u as p } from "./useExposedProps-DG8J6ewJ.js";
6
6
  const u = ({
7
7
  element: t,
8
8
  render: s,
@@ -1,18 +1,15 @@
1
- var h = Object.defineProperty;
2
- var g = (e, t, o) => t in e ? h(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
3
- var c = (e, t, o) => g(e, typeof t != "symbol" ? t + "" : t, o);
4
- import { j as d } from "./jsx-runtime-C5mzlN2N.js";
5
- const m = "/pages/**/*.{md,mdx}";
6
- class w {
1
+ import { j as f } from "./jsx-runtime-C5mzlN2N.js";
2
+ const l = "/pages/**/*.{md,mdx}";
3
+ class g {
7
4
  constructor(t) {
8
- c(this, "fileMap", /* @__PURE__ */ new Map());
9
5
  this.config = t;
10
6
  }
7
+ fileMap = /* @__PURE__ */ new Map();
11
8
  /**
12
9
  * Gets the default docs config from the zudoku config
13
10
  */
14
11
  getDocsConfigs() {
15
- return this.config.docs ? Array.isArray(this.config.docs) ? this.config.docs : [this.config.docs] : [{ files: m }];
12
+ return this.config.docs ? Array.isArray(this.config.docs) ? this.config.docs : [this.config.docs] : [{ files: l }];
16
13
  }
17
14
  /**
18
15
  * Gets the root directory from a files glob
@@ -32,47 +29,47 @@ class w {
32
29
  filesGlob: t,
33
30
  fsPath: o
34
31
  }) {
35
- const n = this.getRootDir(t), a = new RegExp(`^${n}(.*).mdx?`), s = o.match(a);
36
- return s == null ? void 0 : s.at(1);
32
+ const r = this.getRootDir(t), n = new RegExp(`^${r}(.*).mdx?`);
33
+ return o.match(n)?.at(1);
37
34
  }
38
35
  }
39
- const P = (e) => ({
36
+ const m = (a) => ({
40
37
  getRoutes: () => {
41
38
  const t = /* @__PURE__ */ new Map();
42
- return e.forEach(
43
- ({ fileImports: o, files: n, defaultOptions: a }) => Object.entries(o).flatMap(([s, i]) => {
44
- const r = w.resolveRoutePath({
45
- filesGlob: n,
39
+ return a.forEach(
40
+ ({ fileImports: o, files: r, defaultOptions: n }) => Object.entries(o).flatMap(([s, i]) => {
41
+ const e = g.resolveRoutePath({
42
+ filesGlob: r,
46
43
  fsPath: s
47
44
  });
48
- if (!r) return [];
49
- if (t.has(r))
45
+ if (!e) return [];
46
+ if (t.has(e))
50
47
  return console.warn(
51
- `Duplicate route path found for ${r}. Skipping file at '${s}'.`
48
+ `Duplicate route path found for ${e}. Skipping file at '${s}'.`
52
49
  ), [];
53
- const u = {
54
- path: r,
50
+ const c = {
51
+ path: e,
55
52
  lazy: async () => {
56
- const { MdxPage: p } = await import("./MdxPage-DlJaCSPf.js"), { default: f, ...l } = await i();
53
+ const { MdxPage: u } = await import("./MdxPage-tTTaDsLc.js"), { default: h, ...p } = await i();
57
54
  return {
58
- element: /* @__PURE__ */ d.jsx(
59
- p,
55
+ element: /* @__PURE__ */ f.jsx(
56
+ u,
60
57
  {
61
58
  file: s,
62
- mdxComponent: f,
63
- ...l,
64
- defaultOptions: a
59
+ mdxComponent: h,
60
+ ...p,
61
+ defaultOptions: n
65
62
  }
66
63
  )
67
64
  };
68
65
  }
69
66
  };
70
- t.set(r, u);
67
+ t.set(e, c);
71
68
  })
72
69
  ), [...t.values()];
73
70
  }
74
71
  });
75
72
  export {
76
- P as markdownPlugin
73
+ m as markdownPlugin
77
74
  };
78
75
  //# sourceMappingURL=zudoku.plugin-markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zudoku.plugin-markdown.js","sources":["../src/lib/plugins/markdown/resolver.ts","../src/lib/plugins/markdown/index.tsx"],"sourcesContent":["import { ZudokuDocsConfig } from \"../../../config/validators/common.js\";\nimport { ZudokuConfig } from \"../../../config/validators/validate.js\";\n\nconst DEFAULT_DOCS_FILES = \"/pages/**/*.{md,mdx}\";\n\n/**\n * Utilities for resolving markdown file paths and routes\n */\nexport class DocResolver {\n constructor(private config: ZudokuConfig) {}\n\n fileMap = new Map<string, string>();\n\n /**\n * Gets the default docs config from the zudoku config\n */\n getDocsConfigs() {\n const docsConfigs: ZudokuDocsConfig[] = this.config.docs\n ? Array.isArray(this.config.docs)\n ? this.config.docs\n : [this.config.docs]\n : [{ files: DEFAULT_DOCS_FILES }];\n\n return docsConfigs;\n }\n\n /**\n * Gets the root directory from a files glob\n */\n private static getRootDir(filesGlob: string) {\n let rootDir = filesGlob.split(\"**\")[0];\n if (!rootDir) {\n throw new Error(\"Invalid files glob. Must have '**' in the path.\");\n }\n rootDir = rootDir.replace(\"/**\", \"/\");\n return rootDir;\n }\n\n /**\n * Resolves the route path for a given file system path\n * @param options - The options to resolve the route path\n * @returns The string route path\n */\n static resolveRoutePath({\n filesGlob,\n fsPath,\n }: {\n filesGlob: string;\n fsPath: string;\n }) {\n const rootDir = this.getRootDir(filesGlob);\n const re = new RegExp(`^${rootDir}(.*).mdx?`);\n const match = fsPath.match(re);\n const routePath = match?.at(1);\n return routePath;\n }\n}\n","import type { Toc } from \"@stefanprobst/rehype-extract-toc\";\nimport type { MDXProps } from \"mdx/types.js\";\nimport { type JSX } from \"react\";\nimport { RouteObject } from \"react-router\";\nimport { ZudokuDocsConfig } from \"../../../config/validators/common.js\";\nimport type { ZudokuPlugin } from \"../../core/plugins.js\";\nimport { DocResolver } from \"./resolver.js\";\n\nexport interface MarkdownPluginOptions extends ZudokuDocsConfig {\n fileImports: Record<string, () => Promise<MDXImport>>;\n}\nexport type MarkdownPluginDefaultOptions = Pick<\n Frontmatter,\n \"toc\" | \"disablePager\"\n>;\n\nexport type Frontmatter = {\n title?: string;\n description?: string;\n category?: string;\n toc?: boolean;\n disablePager?: boolean;\n};\n\nexport type MDXImport = {\n tableOfContents: Toc;\n frontmatter: Frontmatter;\n excerpt?: string;\n default: (props: MDXProps) => JSX.Element;\n};\n\nexport const markdownPlugin = (\n options: MarkdownPluginOptions[],\n): ZudokuPlugin => ({\n getRoutes: () => {\n const routeMap = new Map<string, RouteObject>();\n options.forEach(({ fileImports, files, defaultOptions }) =>\n Object.entries(fileImports).flatMap(([file, importPromise]) => {\n const routePath = DocResolver.resolveRoutePath({\n filesGlob: files,\n fsPath: file,\n });\n\n if (!routePath) return [];\n\n if (routeMap.has(routePath)) {\n // eslint-disable-next-line no-console\n console.warn(\n `Duplicate route path found for ${routePath}. Skipping file at '${file}'.`,\n );\n return [];\n }\n\n const route: RouteObject = {\n path: routePath,\n lazy: async () => {\n const { MdxPage } = await import(\"./MdxPage.js\");\n const { default: Component, ...props } = await importPromise();\n return {\n element: (\n <MdxPage\n file={file}\n mdxComponent={Component}\n {...props}\n defaultOptions={defaultOptions}\n />\n ),\n };\n },\n };\n routeMap.set(routePath, route);\n }),\n );\n return [...routeMap.values()];\n },\n});\n"],"names":["DEFAULT_DOCS_FILES","DocResolver","config","__publicField","filesGlob","rootDir","fsPath","re","match","markdownPlugin","options","routeMap","fileImports","files","defaultOptions","file","importPromise","routePath","route","MdxPage","Component","props","jsx"],"mappings":";;;;AAGA,MAAMA,IAAqB;AAKpB,MAAMC,EAAY;AAAA,EACvB,YAAoBC,GAAsB;AAE1C,IAAAC,EAAA,qCAAc,IAAoB;AAFd,SAAA,SAAAD;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAOpB,iBAAiB;AAOR,WANiC,KAAK,OAAO,OAChD,MAAM,QAAQ,KAAK,OAAO,IAAI,IAC5B,KAAK,OAAO,OACZ,CAAC,KAAK,OAAO,IAAI,IACnB,CAAC,EAAE,OAAOF,GAAoB;AAAA,EAE3B;AAAA;AAAA;AAAA;AAAA,EAMT,OAAe,WAAWI,GAAmB;AAC3C,QAAIC,IAAUD,EAAU,MAAM,IAAI,EAAE,CAAC;AACrC,QAAI,CAACC;AACG,YAAA,IAAI,MAAM,iDAAiD;AAEzD,WAAAA,IAAAA,EAAQ,QAAQ,OAAO,GAAG,GAC7BA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQT,OAAO,iBAAiB;AAAA,IACtB,WAAAD;AAAA,IACA,QAAAE;AAAA,EAAA,GAIC;AACK,UAAAD,IAAU,KAAK,WAAWD,CAAS,GACnCG,IAAK,IAAI,OAAO,IAAIF,CAAO,WAAW,GACtCG,IAAQF,EAAO,MAAMC,CAAE;AAEtB,WADWC,KAAA,gBAAAA,EAAO,GAAG;AAAA,EACrB;AAEX;ACzBa,MAAAC,IAAiB,CAC5BC,OACkB;AAAA,EAClB,WAAW,MAAM;AACT,UAAAC,wBAAe,IAAyB;AACtC,WAAAD,EAAA;AAAA,MAAQ,CAAC,EAAE,aAAAE,GAAa,OAAAC,GAAO,gBAAAC,QACrC,OAAO,QAAQF,CAAW,EAAE,QAAQ,CAAC,CAACG,GAAMC,CAAa,MAAM;AACvD,cAAAC,IAAYhB,EAAY,iBAAiB;AAAA,UAC7C,WAAWY;AAAA,UACX,QAAQE;AAAA,QAAA,CACT;AAEG,YAAA,CAACE,EAAW,QAAO,CAAC;AAEpB,YAAAN,EAAS,IAAIM,CAAS;AAEhB,yBAAA;AAAA,YACN,kCAAkCA,CAAS,uBAAuBF,CAAI;AAAA,UACxE,GACO,CAAC;AAGV,cAAMG,IAAqB;AAAA,UACzB,MAAMD;AAAA,UACN,MAAM,YAAY;AAChB,kBAAM,EAAE,SAAAE,EAAA,IAAY,MAAM,OAAO,uBAAc,GACzC,EAAE,SAASC,GAAW,GAAGC,EAAM,IAAI,MAAML,EAAc;AACtD,mBAAA;AAAA,cACL,SACEM,gBAAAA,EAAA;AAAA,gBAACH;AAAA,gBAAA;AAAA,kBACC,MAAAJ;AAAA,kBACA,cAAcK;AAAA,kBACb,GAAGC;AAAA,kBACJ,gBAAAP;AAAA,gBAAA;AAAA,cAAA;AAAA,YAGN;AAAA,UAAA;AAAA,QAEJ;AACS,QAAAH,EAAA,IAAIM,GAAWC,CAAK;AAAA,MAC9B,CAAA;AAAA,IACH,GACO,CAAC,GAAGP,EAAS,QAAQ;AAAA,EAAA;AAEhC;"}
1
+ {"version":3,"file":"zudoku.plugin-markdown.js","sources":["../src/lib/plugins/markdown/resolver.ts","../src/lib/plugins/markdown/index.tsx"],"sourcesContent":["import { ZudokuDocsConfig } from \"../../../config/validators/common.js\";\nimport { ZudokuConfig } from \"../../../config/validators/validate.js\";\n\nconst DEFAULT_DOCS_FILES = \"/pages/**/*.{md,mdx}\";\n\n/**\n * Utilities for resolving markdown file paths and routes\n */\nexport class DocResolver {\n constructor(private config: ZudokuConfig) {}\n\n fileMap = new Map<string, string>();\n\n /**\n * Gets the default docs config from the zudoku config\n */\n getDocsConfigs() {\n const docsConfigs: ZudokuDocsConfig[] = this.config.docs\n ? Array.isArray(this.config.docs)\n ? this.config.docs\n : [this.config.docs]\n : [{ files: DEFAULT_DOCS_FILES }];\n\n return docsConfigs;\n }\n\n /**\n * Gets the root directory from a files glob\n */\n private static getRootDir(filesGlob: string) {\n let rootDir = filesGlob.split(\"**\")[0];\n if (!rootDir) {\n throw new Error(\"Invalid files glob. Must have '**' in the path.\");\n }\n rootDir = rootDir.replace(\"/**\", \"/\");\n return rootDir;\n }\n\n /**\n * Resolves the route path for a given file system path\n * @param options - The options to resolve the route path\n * @returns The string route path\n */\n static resolveRoutePath({\n filesGlob,\n fsPath,\n }: {\n filesGlob: string;\n fsPath: string;\n }) {\n const rootDir = this.getRootDir(filesGlob);\n const re = new RegExp(`^${rootDir}(.*).mdx?`);\n const match = fsPath.match(re);\n const routePath = match?.at(1);\n return routePath;\n }\n}\n","import type { Toc } from \"@stefanprobst/rehype-extract-toc\";\nimport type { MDXProps } from \"mdx/types.js\";\nimport { type JSX } from \"react\";\nimport { RouteObject } from \"react-router\";\nimport { ZudokuDocsConfig } from \"../../../config/validators/common.js\";\nimport type { ZudokuPlugin } from \"../../core/plugins.js\";\nimport { DocResolver } from \"./resolver.js\";\n\nexport interface MarkdownPluginOptions extends ZudokuDocsConfig {\n fileImports: Record<string, () => Promise<MDXImport>>;\n}\nexport type MarkdownPluginDefaultOptions = Pick<\n Frontmatter,\n \"toc\" | \"disablePager\"\n>;\n\nexport type Frontmatter = {\n title?: string;\n description?: string;\n category?: string;\n toc?: boolean;\n disablePager?: boolean;\n};\n\nexport type MDXImport = {\n tableOfContents: Toc;\n frontmatter: Frontmatter;\n excerpt?: string;\n default: (props: MDXProps) => JSX.Element;\n};\n\nexport const markdownPlugin = (\n options: MarkdownPluginOptions[],\n): ZudokuPlugin => ({\n getRoutes: () => {\n const routeMap = new Map<string, RouteObject>();\n options.forEach(({ fileImports, files, defaultOptions }) =>\n Object.entries(fileImports).flatMap(([file, importPromise]) => {\n const routePath = DocResolver.resolveRoutePath({\n filesGlob: files,\n fsPath: file,\n });\n\n if (!routePath) return [];\n\n if (routeMap.has(routePath)) {\n // eslint-disable-next-line no-console\n console.warn(\n `Duplicate route path found for ${routePath}. Skipping file at '${file}'.`,\n );\n return [];\n }\n\n const route: RouteObject = {\n path: routePath,\n lazy: async () => {\n const { MdxPage } = await import(\"./MdxPage.js\");\n const { default: Component, ...props } = await importPromise();\n return {\n element: (\n <MdxPage\n file={file}\n mdxComponent={Component}\n {...props}\n defaultOptions={defaultOptions}\n />\n ),\n };\n },\n };\n routeMap.set(routePath, route);\n }),\n );\n return [...routeMap.values()];\n },\n});\n"],"names":["DEFAULT_DOCS_FILES","DocResolver","config","filesGlob","rootDir","fsPath","re","markdownPlugin","options","routeMap","fileImports","files","defaultOptions","file","importPromise","routePath","route","MdxPage","Component","props","jsx"],"mappings":";AAGA,MAAMA,IAAqB;AAKpB,MAAMC,EAAY;AAAA,EACvB,YAAoBC,GAAsB;AAAtB,SAAA,SAAAA;AAAA,EAAA;AAAA,EAEpB,8BAAc,IAAoB;AAAA;AAAA;AAAA;AAAA,EAKlC,iBAAiB;AAOR,WANiC,KAAK,OAAO,OAChD,MAAM,QAAQ,KAAK,OAAO,IAAI,IAC5B,KAAK,OAAO,OACZ,CAAC,KAAK,OAAO,IAAI,IACnB,CAAC,EAAE,OAAOF,GAAoB;AAAA,EAE3B;AAAA;AAAA;AAAA;AAAA,EAMT,OAAe,WAAWG,GAAmB;AAC3C,QAAIC,IAAUD,EAAU,MAAM,IAAI,EAAE,CAAC;AACrC,QAAI,CAACC;AACG,YAAA,IAAI,MAAM,iDAAiD;AAEzD,WAAAA,IAAAA,EAAQ,QAAQ,OAAO,GAAG,GAC7BA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQT,OAAO,iBAAiB;AAAA,IACtB,WAAAD;AAAA,IACA,QAAAE;AAAA,EAAA,GAIC;AACK,UAAAD,IAAU,KAAK,WAAWD,CAAS,GACnCG,IAAK,IAAI,OAAO,IAAIF,CAAO,WAAW;AAGrC,WAFOC,EAAO,MAAMC,CAAE,GACJ,GAAG,CAAC;AAAA,EACtB;AAEX;ACzBa,MAAAC,IAAiB,CAC5BC,OACkB;AAAA,EAClB,WAAW,MAAM;AACT,UAAAC,wBAAe,IAAyB;AACtC,WAAAD,EAAA;AAAA,MAAQ,CAAC,EAAE,aAAAE,GAAa,OAAAC,GAAO,gBAAAC,QACrC,OAAO,QAAQF,CAAW,EAAE,QAAQ,CAAC,CAACG,GAAMC,CAAa,MAAM;AACvD,cAAAC,IAAYd,EAAY,iBAAiB;AAAA,UAC7C,WAAWU;AAAA,UACX,QAAQE;AAAA,QAAA,CACT;AAEG,YAAA,CAACE,EAAW,QAAO,CAAC;AAEpB,YAAAN,EAAS,IAAIM,CAAS;AAEhB,yBAAA;AAAA,YACN,kCAAkCA,CAAS,uBAAuBF,CAAI;AAAA,UACxE,GACO,CAAC;AAGV,cAAMG,IAAqB;AAAA,UACzB,MAAMD;AAAA,UACN,MAAM,YAAY;AAChB,kBAAM,EAAE,SAAAE,EAAA,IAAY,MAAM,OAAO,uBAAc,GACzC,EAAE,SAASC,GAAW,GAAGC,EAAM,IAAI,MAAML,EAAc;AACtD,mBAAA;AAAA,cACL,SACEM,gBAAAA,EAAA;AAAA,gBAACH;AAAA,gBAAA;AAAA,kBACC,MAAAJ;AAAA,kBACA,cAAcK;AAAA,kBACb,GAAGC;AAAA,kBACJ,gBAAAP;AAAA,gBAAA;AAAA,cAAA;AAAA,YAGN;AAAA,UAAA;AAAA,QAEJ;AACS,QAAAH,EAAA,IAAIM,GAAWC,CAAK;AAAA,MAC9B,CAAA;AAAA,IACH,GACO,CAAC,GAAGP,EAAS,QAAQ;AAAA,EAAA;AAEhC;"}
@@ -1,9 +1,9 @@
1
1
  import "./jsx-runtime-C5mzlN2N.js";
2
2
  import "lucide-react";
3
- import "./chunk-BAXFHI7N-BLTsN6tl.js";
4
- import "./hook-8GM2HXNM.js";
3
+ import "./chunk-BAXFHI7N-C9WnHsLV.js";
4
+ import "./hook-BwOB_iZo.js";
5
5
  import "./ui/Button.js";
6
- import { z as a, U as s, A } from "./index-CZnufgn5.js";
6
+ import { z as a, U as s, A } from "./index-sS7O9W-R.js";
7
7
  export {
8
8
  a as GetSidebarOperationsQuery,
9
9
  s as UNTAGGED_PATH,
@@ -1,4 +1,4 @@
1
- import { r as o } from "./chunk-BAXFHI7N-BLTsN6tl.js";
1
+ import { r as o } from "./chunk-BAXFHI7N-C9WnHsLV.js";
2
2
  const a = (r) => ({
3
3
  getRoutes: () => r.redirects.map(({ from: e, to: t }) => ({
4
4
  path: e,
@@ -1,5 +1,5 @@
1
- import { j as i } from "./jsx-runtime-C5mzlN2N.js";
2
- import { useRef as l, useState as f, useMemo as m, useEffect as u } from "react";
1
+ import { j as a } from "./jsx-runtime-C5mzlN2N.js";
2
+ import { useRef as l, useState as f, useMemo as m, useEffect as c } from "react";
3
3
  import { C as g } from "./ClientOnly-E7hGysn1.js";
4
4
  const h = {
5
5
  theme: {
@@ -20,44 +20,43 @@ const h = {
20
20
  }
21
21
  }
22
22
  }, k = {}, I = ({
23
- prefilledQuery: r,
23
+ prefilledQuery: t,
24
24
  isOpen: e,
25
- onClose: n,
26
- settings: p
25
+ onClose: r,
26
+ settings: u
27
27
  }) => {
28
- const o = l(null), c = l(null), [s, d] = f(
28
+ const i = l(null), o = l(null), [n, d] = f(
29
29
  typeof Inkeep < "u"
30
- ), a = m(
30
+ ), s = m(
31
31
  () => ({
32
32
  componentType: "CustomTrigger",
33
- targetElement: o.current,
33
+ targetElement: i.current,
34
34
  properties: {
35
35
  isOpen: e,
36
- onClose: n,
36
+ onClose: r,
37
37
  onOpen: void 0,
38
- baseSettings: { ...h, ...p },
38
+ baseSettings: { ...h, ...u },
39
39
  searchSettings: {
40
- prefilledQuery: r || void 0
40
+ prefilledQuery: t || void 0
41
41
  },
42
42
  aiChatSettings: k
43
43
  }
44
44
  }),
45
- [e, n, r, p, o]
45
+ [e, r, t, u, i]
46
46
  );
47
- return u(() => {
48
- if (s) return;
49
- const t = setInterval(() => {
50
- typeof Inkeep < "u" && (d(!0), clearInterval(t));
47
+ return c(() => {
48
+ if (n) return;
49
+ const p = setInterval(() => {
50
+ typeof Inkeep < "u" && (d(!0), clearInterval(p));
51
51
  }, 100);
52
- return () => clearInterval(t);
53
- }, [s]), u(() => {
54
- !s || c.current || (c.current = Inkeep().embed(a));
55
- }, [a, s]), u(() => {
56
- var t;
57
- (t = c.current) == null || t.render({ ...a, isOpen: e });
58
- }, [a, e]), /* @__PURE__ */ i.jsx("div", { ref: o });
59
- }, x = (r) => ({
60
- getHead: () => /* @__PURE__ */ i.jsx(
52
+ return () => clearInterval(p);
53
+ }, [n]), c(() => {
54
+ !n || o.current || (o.current = Inkeep().embed(s));
55
+ }, [s, n]), c(() => {
56
+ o.current?.render({ ...s, isOpen: e });
57
+ }, [s, e]), /* @__PURE__ */ a.jsx("div", { ref: i });
58
+ }, x = (t) => ({
59
+ getHead: () => /* @__PURE__ */ a.jsx(
61
60
  "script",
62
61
  {
63
62
  type: "module",
@@ -67,8 +66,8 @@ const h = {
67
66
  ),
68
67
  renderSearch: ({
69
68
  isOpen: e,
70
- onClose: n
71
- }) => /* @__PURE__ */ i.jsx(g, { children: /* @__PURE__ */ i.jsx(I, { isOpen: e, onClose: n, settings: r }) })
69
+ onClose: r
70
+ }) => /* @__PURE__ */ a.jsx(g, { children: /* @__PURE__ */ a.jsx(I, { isOpen: e, onClose: r, settings: t }) })
72
71
  });
73
72
  export {
74
73
  x as inkeepSearchPlugin
@@ -1 +1 @@
1
- {"version":3,"file":"zudoku.plugin-search-inkeep.js","sources":["../src/lib/plugins/search-inkeep/inkeep.ts","../src/lib/plugins/search-inkeep/index.tsx"],"sourcesContent":["const baseSettings = {\n theme: {\n components: {\n AIChatPageWrapper: {\n defaultProps: {\n size: \"shrink-vertically\",\n variant: \"no-shadow\",\n },\n },\n SearchBarTrigger: {\n defaultProps: {\n size: \"expand\",\n variant: \"subtle\", // Choose from 'emphasized' or 'subtle'\n },\n },\n },\n },\n} as const;\n\nconst modalSettings = {};\n\nconst searchSettings = {};\n\nconst aiChatSettings = {};\n\nexport { aiChatSettings, baseSettings, modalSettings, searchSettings };\n","import { useEffect, useMemo, useRef, useState } from \"react\";\nimport { ClientOnly } from \"../../components/ClientOnly.js\";\nimport type { ZudokuPlugin } from \"../../core/plugins.js\";\nimport { aiChatSettings, baseSettings } from \"./inkeep.js\";\n\ninterface PluginInkeepBaseSettings {\n apiKey?: string;\n integrationId: string;\n organizationId: string;\n organizationDisplayName?: string;\n primaryBrandColor: string;\n}\n\ninterface InkeepEmbedConfig {\n componentType: string;\n targetElement: HTMLElement;\n properties: unknown;\n}\n\ninterface InkeepWidget {\n render: (config: InkeepEmbedConfig & { isOpen: boolean }) => void;\n}\n\ndeclare global {\n let Inkeep: () => {\n embed: (config: InkeepEmbedConfig) => InkeepWidget;\n };\n}\n\nconst InkeepSearch = ({\n prefilledQuery,\n isOpen,\n onClose,\n settings,\n}: {\n isOpen: boolean;\n onClose: () => void;\n prefilledQuery?: string | null;\n settings: PluginInkeepBaseSettings;\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n const widgetRef = useRef<InkeepWidget | null>(null);\n const [isInkeepAvailable, setIsInkeepAvailable] = useState(\n typeof Inkeep !== \"undefined\",\n );\n\n const config: InkeepEmbedConfig = useMemo(\n () => ({\n componentType: \"CustomTrigger\",\n targetElement: ref.current!,\n properties: {\n isOpen,\n onClose,\n onOpen: undefined,\n baseSettings: { ...baseSettings, ...settings },\n searchSettings: {\n prefilledQuery: prefilledQuery || undefined,\n },\n aiChatSettings,\n },\n }),\n [isOpen, onClose, prefilledQuery, settings, ref],\n );\n\n useEffect(() => {\n if (isInkeepAvailable) return;\n\n const checkInkeep = setInterval(() => {\n if (typeof Inkeep !== \"undefined\") {\n setIsInkeepAvailable(true);\n clearInterval(checkInkeep);\n }\n }, 100);\n\n return () => clearInterval(checkInkeep);\n }, [isInkeepAvailable]);\n\n useEffect(() => {\n if (!isInkeepAvailable || widgetRef.current) return;\n\n widgetRef.current = Inkeep().embed(config);\n }, [config, isInkeepAvailable]);\n\n useEffect(() => {\n widgetRef.current?.render({ ...config, isOpen });\n }, [config, isOpen]);\n\n return <div ref={ref} />;\n};\n\nexport const inkeepSearchPlugin = (\n settings: PluginInkeepBaseSettings,\n): ZudokuPlugin => {\n return {\n getHead: () => {\n return (\n <script\n type=\"module\"\n src=\"https://unpkg.com/@inkeep/uikit-js@0.3.19/dist/embed.js\"\n defer\n />\n );\n },\n renderSearch: ({\n isOpen,\n onClose,\n }: {\n isOpen: boolean;\n onClose: () => void;\n }) => {\n return (\n <ClientOnly>\n <InkeepSearch isOpen={isOpen} onClose={onClose} settings={settings} />\n </ClientOnly>\n );\n },\n };\n};\n"],"names":["baseSettings","aiChatSettings","InkeepSearch","prefilledQuery","isOpen","onClose","settings","ref","useRef","widgetRef","isInkeepAvailable","setIsInkeepAvailable","useState","config","useMemo","useEffect","checkInkeep","_a","jsx","inkeepSearchPlugin","ClientOnly"],"mappings":";;;AAAA,MAAMA,IAAe;AAAA,EACnB,OAAO;AAAA,IACL,YAAY;AAAA,MACV,mBAAmB;AAAA,QACjB,cAAc;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA,QAAA;AAAA,MAEb;AAAA,MACA,kBAAkB;AAAA,QAChB,cAAc;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA;AAAA,QAAA;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAEJ,GAMMC,IAAiB,CAAC,GCMlBC,IAAe,CAAC;AAAA,EACpB,gBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AACF,MAKM;AACE,QAAAC,IAAMC,EAAuB,IAAI,GACjCC,IAAYD,EAA4B,IAAI,GAC5C,CAACE,GAAmBC,CAAoB,IAAIC;AAAA,IAChD,OAAO,SAAW;AAAA,EACpB,GAEMC,IAA4BC;AAAA,IAChC,OAAO;AAAA,MACL,eAAe;AAAA,MACf,eAAeP,EAAI;AAAA,MACnB,YAAY;AAAA,QACV,QAAAH;AAAA,QACA,SAAAC;AAAA,QACA,QAAQ;AAAA,QACR,cAAc,EAAE,GAAGL,GAAc,GAAGM,EAAS;AAAA,QAC7C,gBAAgB;AAAA,UACd,gBAAgBH,KAAkB;AAAA,QACpC;AAAA,QACA,gBAAAF;AAAA,MAAA;AAAA,IACF;AAAA,IAEF,CAACG,GAAQC,GAASF,GAAgBG,GAAUC,CAAG;AAAA,EACjD;AAEA,SAAAQ,EAAU,MAAM;AACd,QAAIL,EAAmB;AAEjB,UAAAM,IAAc,YAAY,MAAM;AAChC,MAAA,OAAO,SAAW,QACpBL,EAAqB,EAAI,GACzB,cAAcK,CAAW;AAAA,OAE1B,GAAG;AAEC,WAAA,MAAM,cAAcA,CAAW;AAAA,EAAA,GACrC,CAACN,CAAiB,CAAC,GAEtBK,EAAU,MAAM;AACV,IAAA,CAACL,KAAqBD,EAAU,YAEpCA,EAAU,UAAU,SAAS,MAAMI,CAAM;AAAA,EAAA,GACxC,CAACA,GAAQH,CAAiB,CAAC,GAE9BK,EAAU,MAAM;;AACd,KAAAE,IAAAR,EAAU,YAAV,QAAAQ,EAAmB,OAAO,EAAE,GAAGJ,GAAQ,QAAAT;EAAQ,GAC9C,CAACS,GAAQT,CAAM,CAAC,GAEZc,gBAAAA,MAAC,SAAI,KAAAX,GAAU;AACxB,GAEaY,IAAqB,CAChCb,OAEO;AAAA,EACL,SAAS,MAELY,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,KAAI;AAAA,MACJ,OAAK;AAAA,IAAA;AAAA,EACP;AAAA,EAGJ,cAAc,CAAC;AAAA,IACb,QAAAd;AAAA,IACA,SAAAC;AAAA,EAAA,4BAMGe,GACC,EAAA,UAAAF,gBAAAA,EAAA,IAAChB,KAAa,QAAAE,GAAgB,SAAAC,GAAkB,UAAAC,GAAoB,EACtE,CAAA;AAGN;"}
1
+ {"version":3,"file":"zudoku.plugin-search-inkeep.js","sources":["../src/lib/plugins/search-inkeep/inkeep.ts","../src/lib/plugins/search-inkeep/index.tsx"],"sourcesContent":["const baseSettings = {\n theme: {\n components: {\n AIChatPageWrapper: {\n defaultProps: {\n size: \"shrink-vertically\",\n variant: \"no-shadow\",\n },\n },\n SearchBarTrigger: {\n defaultProps: {\n size: \"expand\",\n variant: \"subtle\", // Choose from 'emphasized' or 'subtle'\n },\n },\n },\n },\n} as const;\n\nconst modalSettings = {};\n\nconst searchSettings = {};\n\nconst aiChatSettings = {};\n\nexport { aiChatSettings, baseSettings, modalSettings, searchSettings };\n","import { useEffect, useMemo, useRef, useState } from \"react\";\nimport { ClientOnly } from \"../../components/ClientOnly.js\";\nimport type { ZudokuPlugin } from \"../../core/plugins.js\";\nimport { aiChatSettings, baseSettings } from \"./inkeep.js\";\n\ninterface PluginInkeepBaseSettings {\n apiKey?: string;\n integrationId: string;\n organizationId: string;\n organizationDisplayName?: string;\n primaryBrandColor: string;\n}\n\ninterface InkeepEmbedConfig {\n componentType: string;\n targetElement: HTMLElement;\n properties: unknown;\n}\n\ninterface InkeepWidget {\n render: (config: InkeepEmbedConfig & { isOpen: boolean }) => void;\n}\n\ndeclare global {\n let Inkeep: () => {\n embed: (config: InkeepEmbedConfig) => InkeepWidget;\n };\n}\n\nconst InkeepSearch = ({\n prefilledQuery,\n isOpen,\n onClose,\n settings,\n}: {\n isOpen: boolean;\n onClose: () => void;\n prefilledQuery?: string | null;\n settings: PluginInkeepBaseSettings;\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n const widgetRef = useRef<InkeepWidget | null>(null);\n const [isInkeepAvailable, setIsInkeepAvailable] = useState(\n typeof Inkeep !== \"undefined\",\n );\n\n const config: InkeepEmbedConfig = useMemo(\n () => ({\n componentType: \"CustomTrigger\",\n targetElement: ref.current!,\n properties: {\n isOpen,\n onClose,\n onOpen: undefined,\n baseSettings: { ...baseSettings, ...settings },\n searchSettings: {\n prefilledQuery: prefilledQuery || undefined,\n },\n aiChatSettings,\n },\n }),\n [isOpen, onClose, prefilledQuery, settings, ref],\n );\n\n useEffect(() => {\n if (isInkeepAvailable) return;\n\n const checkInkeep = setInterval(() => {\n if (typeof Inkeep !== \"undefined\") {\n setIsInkeepAvailable(true);\n clearInterval(checkInkeep);\n }\n }, 100);\n\n return () => clearInterval(checkInkeep);\n }, [isInkeepAvailable]);\n\n useEffect(() => {\n if (!isInkeepAvailable || widgetRef.current) return;\n\n widgetRef.current = Inkeep().embed(config);\n }, [config, isInkeepAvailable]);\n\n useEffect(() => {\n widgetRef.current?.render({ ...config, isOpen });\n }, [config, isOpen]);\n\n return <div ref={ref} />;\n};\n\nexport const inkeepSearchPlugin = (\n settings: PluginInkeepBaseSettings,\n): ZudokuPlugin => {\n return {\n getHead: () => {\n return (\n <script\n type=\"module\"\n src=\"https://unpkg.com/@inkeep/uikit-js@0.3.19/dist/embed.js\"\n defer\n />\n );\n },\n renderSearch: ({\n isOpen,\n onClose,\n }: {\n isOpen: boolean;\n onClose: () => void;\n }) => {\n return (\n <ClientOnly>\n <InkeepSearch isOpen={isOpen} onClose={onClose} settings={settings} />\n </ClientOnly>\n );\n },\n };\n};\n"],"names":["baseSettings","aiChatSettings","InkeepSearch","prefilledQuery","isOpen","onClose","settings","ref","useRef","widgetRef","isInkeepAvailable","setIsInkeepAvailable","useState","config","useMemo","useEffect","checkInkeep","jsx","inkeepSearchPlugin","ClientOnly"],"mappings":";;;AAAA,MAAMA,IAAe;AAAA,EACnB,OAAO;AAAA,IACL,YAAY;AAAA,MACV,mBAAmB;AAAA,QACjB,cAAc;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA,QAAA;AAAA,MAEb;AAAA,MACA,kBAAkB;AAAA,QAChB,cAAc;AAAA,UACZ,MAAM;AAAA,UACN,SAAS;AAAA;AAAA,QAAA;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAEJ,GAMMC,IAAiB,CAAC,GCMlBC,IAAe,CAAC;AAAA,EACpB,gBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AACF,MAKM;AACE,QAAAC,IAAMC,EAAuB,IAAI,GACjCC,IAAYD,EAA4B,IAAI,GAC5C,CAACE,GAAmBC,CAAoB,IAAIC;AAAA,IAChD,OAAO,SAAW;AAAA,EACpB,GAEMC,IAA4BC;AAAA,IAChC,OAAO;AAAA,MACL,eAAe;AAAA,MACf,eAAeP,EAAI;AAAA,MACnB,YAAY;AAAA,QACV,QAAAH;AAAA,QACA,SAAAC;AAAA,QACA,QAAQ;AAAA,QACR,cAAc,EAAE,GAAGL,GAAc,GAAGM,EAAS;AAAA,QAC7C,gBAAgB;AAAA,UACd,gBAAgBH,KAAkB;AAAA,QACpC;AAAA,QACA,gBAAAF;AAAA,MAAA;AAAA,IACF;AAAA,IAEF,CAACG,GAAQC,GAASF,GAAgBG,GAAUC,CAAG;AAAA,EACjD;AAEA,SAAAQ,EAAU,MAAM;AACd,QAAIL,EAAmB;AAEjB,UAAAM,IAAc,YAAY,MAAM;AAChC,MAAA,OAAO,SAAW,QACpBL,EAAqB,EAAI,GACzB,cAAcK,CAAW;AAAA,OAE1B,GAAG;AAEC,WAAA,MAAM,cAAcA,CAAW;AAAA,EAAA,GACrC,CAACN,CAAiB,CAAC,GAEtBK,EAAU,MAAM;AACV,IAAA,CAACL,KAAqBD,EAAU,YAEpCA,EAAU,UAAU,SAAS,MAAMI,CAAM;AAAA,EAAA,GACxC,CAACA,GAAQH,CAAiB,CAAC,GAE9BK,EAAU,MAAM;AACd,IAAAN,EAAU,SAAS,OAAO,EAAE,GAAGI,GAAQ,QAAAT,GAAQ;AAAA,EAAA,GAC9C,CAACS,GAAQT,CAAM,CAAC,GAEZa,gBAAAA,MAAC,SAAI,KAAAV,GAAU;AACxB,GAEaW,IAAqB,CAChCZ,OAEO;AAAA,EACL,SAAS,MAELW,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,KAAI;AAAA,MACJ,OAAK;AAAA,IAAA;AAAA,EACP;AAAA,EAGJ,cAAc,CAAC;AAAA,IACb,QAAAb;AAAA,IACA,SAAAC;AAAA,EAAA,4BAMGc,GACC,EAAA,UAAAF,gBAAAA,EAAA,IAACf,KAAa,QAAAE,GAAgB,SAAAC,GAAkB,UAAAC,GAAoB,EACtE,CAAA;AAGN;"}