zudoku 0.0.0-reset-hash-value.ac516c6d → 0.0.0-z06bf8c86

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 (829) hide show
  1. package/client.d.ts +8 -0
  2. package/dist/app/entry.server.js +14 -1
  3. package/dist/app/entry.server.js.map +1 -1
  4. package/dist/app/main.d.ts +91 -1
  5. package/dist/app/main.js +5 -1
  6. package/dist/app/main.js.map +1 -1
  7. package/dist/app/sentry.js +1 -1
  8. package/dist/cli/common/version-check.js +12 -3
  9. package/dist/cli/common/version-check.js.map +1 -1
  10. package/dist/config/config.d.ts +15 -44
  11. package/dist/config/loader.js +3 -1
  12. package/dist/config/loader.js.map +1 -1
  13. package/dist/config/validators/BuildSchema.d.ts +5 -4
  14. package/dist/config/validators/BuildSchema.js +23 -5
  15. package/dist/config/validators/BuildSchema.js.map +1 -1
  16. package/dist/config/validators/InputNavigationSchema.d.ts +126 -124
  17. package/dist/config/validators/InputNavigationSchema.js +1 -0
  18. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  19. package/dist/config/validators/NavigationSchema.js +8 -5
  20. package/dist/config/validators/NavigationSchema.js.map +1 -1
  21. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  22. package/dist/config/validators/validate.d.ts +264 -23
  23. package/dist/config/validators/validate.js +56 -11
  24. package/dist/config/validators/validate.js.map +1 -1
  25. package/dist/config/validators/validate.test.js +43 -0
  26. package/dist/config/validators/validate.test.js.map +1 -1
  27. package/dist/flat-config.d.ts +59 -23
  28. package/dist/index.d.ts +2 -1
  29. package/dist/index.js +2 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/lib/auth/issuer.js +3 -0
  32. package/dist/lib/auth/issuer.js.map +1 -1
  33. package/dist/lib/authentication/authentication.d.ts +19 -10
  34. package/dist/lib/authentication/components/CallbackHandler.js +1 -1
  35. package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
  36. package/dist/lib/authentication/components/OAuthErrorPage.js +1 -1
  37. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -1
  38. package/dist/lib/authentication/components/SignIn.js +8 -5
  39. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  40. package/dist/lib/authentication/components/SignOut.js +6 -6
  41. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  42. package/dist/lib/authentication/components/SignUp.js +7 -5
  43. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  44. package/dist/lib/authentication/hook.d.ts +5 -2
  45. package/dist/lib/authentication/hook.js +22 -8
  46. package/dist/lib/authentication/hook.js.map +1 -1
  47. package/dist/lib/authentication/providers/auth0.js +18 -9
  48. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  49. package/dist/lib/authentication/providers/azureb2c.d.ts +4 -4
  50. package/dist/lib/authentication/providers/azureb2c.js +3 -3
  51. package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
  52. package/dist/lib/authentication/providers/clerk.js +2 -24
  53. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  54. package/dist/lib/authentication/providers/firebase.d.ts +4 -0
  55. package/dist/lib/authentication/providers/firebase.js +273 -0
  56. package/dist/lib/authentication/providers/firebase.js.map +1 -0
  57. package/dist/lib/authentication/providers/openid.d.ts +7 -7
  58. package/dist/lib/authentication/providers/openid.js +3 -3
  59. package/dist/lib/authentication/providers/openid.js.map +1 -1
  60. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.d.ts +8 -0
  61. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js +39 -0
  62. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js.map +1 -0
  63. package/dist/lib/authentication/providers/supabase.js +36 -46
  64. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  65. package/dist/lib/authentication/state.d.ts +1 -5
  66. package/dist/lib/authentication/state.js +2 -14
  67. package/dist/lib/authentication/state.js.map +1 -1
  68. package/dist/lib/authentication/ui/EmailVerificationUi.d.ts +4 -0
  69. package/dist/lib/authentication/ui/EmailVerificationUi.js +34 -0
  70. package/dist/lib/authentication/ui/EmailVerificationUi.js.map +1 -0
  71. package/dist/lib/authentication/ui/ZudokuAuthUi.d.ts +29 -0
  72. package/dist/lib/authentication/ui/ZudokuAuthUi.js +160 -0
  73. package/dist/lib/authentication/ui/ZudokuAuthUi.js.map +1 -0
  74. package/dist/lib/authentication/ui/icons/Apple.d.ts +3 -0
  75. package/dist/lib/authentication/ui/icons/Apple.js +4 -0
  76. package/dist/lib/authentication/ui/icons/Apple.js.map +1 -0
  77. package/dist/lib/authentication/ui/icons/Facebook.d.ts +3 -0
  78. package/dist/lib/authentication/ui/icons/Facebook.js +4 -0
  79. package/dist/lib/authentication/ui/icons/Facebook.js.map +1 -0
  80. package/dist/lib/authentication/ui/icons/Github.d.ts +3 -0
  81. package/dist/lib/authentication/ui/icons/Github.js +4 -0
  82. package/dist/lib/authentication/ui/icons/Github.js.map +1 -0
  83. package/dist/lib/authentication/ui/icons/Google.d.ts +3 -0
  84. package/dist/lib/authentication/ui/icons/Google.js +4 -0
  85. package/dist/lib/authentication/ui/icons/Google.js.map +1 -0
  86. package/dist/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
  87. package/dist/lib/authentication/ui/icons/Microsoft.js +4 -0
  88. package/dist/lib/authentication/ui/icons/Microsoft.js.map +1 -0
  89. package/dist/lib/authentication/ui/icons/X.d.ts +3 -0
  90. package/dist/lib/authentication/ui/icons/X.js +4 -0
  91. package/dist/lib/authentication/ui/icons/X.js.map +1 -0
  92. package/dist/lib/authentication/utils/relativeRedirectUrl.d.ts +1 -0
  93. package/dist/lib/authentication/utils/relativeRedirectUrl.js +8 -0
  94. package/dist/lib/authentication/utils/relativeRedirectUrl.js.map +1 -0
  95. package/dist/lib/components/Autocomplete.d.ts +3 -1
  96. package/dist/lib/components/Autocomplete.js +6 -2
  97. package/dist/lib/components/Autocomplete.js.map +1 -1
  98. package/dist/lib/components/Heading.d.ts +1 -1
  99. package/dist/lib/components/Layout.js +3 -2
  100. package/dist/lib/components/Layout.js.map +1 -1
  101. package/dist/lib/components/Mermaid.d.ts +7 -0
  102. package/dist/lib/components/Mermaid.js +42 -0
  103. package/dist/lib/components/Mermaid.js.map +1 -0
  104. package/dist/lib/components/PagefindSearchMeta.d.ts +8 -0
  105. package/dist/lib/components/PagefindSearchMeta.js +7 -0
  106. package/dist/lib/components/PagefindSearchMeta.js.map +1 -0
  107. package/dist/lib/components/Pagination.js +2 -2
  108. package/dist/lib/components/Pagination.js.map +1 -1
  109. package/dist/lib/components/Zudoku.js +5 -8
  110. package/dist/lib/components/Zudoku.js.map +1 -1
  111. package/dist/lib/components/index.d.ts +7 -2
  112. package/dist/lib/components/index.js +4 -0
  113. package/dist/lib/components/index.js.map +1 -1
  114. package/dist/lib/components/navigation/NavigationItem.js +4 -4
  115. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  116. package/dist/lib/components/navigation/Toc.js +1 -1
  117. package/dist/lib/components/navigation/Toc.js.map +1 -1
  118. package/dist/lib/core/RouteGuard.d.ts +1 -1
  119. package/dist/lib/core/RouteGuard.js +22 -25
  120. package/dist/lib/core/RouteGuard.js.map +1 -1
  121. package/dist/lib/core/ZudokuContext.d.ts +1 -0
  122. package/dist/lib/core/ZudokuContext.js +2 -0
  123. package/dist/lib/core/ZudokuContext.js.map +1 -1
  124. package/dist/lib/core/__internal.d.ts +1 -1
  125. package/dist/lib/core/plugins.d.ts +14 -4
  126. package/dist/lib/core/plugins.js +1 -0
  127. package/dist/lib/core/plugins.js.map +1 -1
  128. package/dist/lib/core/react-query.d.ts +1 -0
  129. package/dist/lib/core/react-query.js +2 -0
  130. package/dist/lib/core/react-query.js.map +1 -0
  131. package/dist/lib/core/transform-config.d.ts +2 -0
  132. package/dist/lib/core/transform-config.js +22 -0
  133. package/dist/lib/core/transform-config.js.map +1 -0
  134. package/dist/lib/errors/ErrorAlert.js +1 -1
  135. package/dist/lib/errors/ErrorMessage.d.ts +3 -0
  136. package/dist/lib/errors/ErrorMessage.js +16 -0
  137. package/dist/lib/errors/ErrorMessage.js.map +1 -0
  138. package/dist/lib/errors/RouterError.d.ts +3 -1
  139. package/dist/lib/errors/RouterError.js +3 -2
  140. package/dist/lib/errors/RouterError.js.map +1 -1
  141. package/dist/lib/hooks/index.d.ts +4 -2
  142. package/dist/lib/oas/graphql/circular.d.ts +2 -0
  143. package/dist/lib/oas/graphql/circular.js +32 -10
  144. package/dist/lib/oas/graphql/circular.js.map +1 -1
  145. package/dist/lib/oas/graphql/circular.test.d.ts +1 -0
  146. package/dist/lib/oas/graphql/circular.test.js +152 -0
  147. package/dist/lib/oas/graphql/circular.test.js.map +1 -0
  148. package/dist/lib/oas/graphql/index.js +7 -3
  149. package/dist/lib/oas/graphql/index.js.map +1 -1
  150. package/dist/lib/oas/parser/index.d.ts +1 -0
  151. package/dist/lib/oas/parser/index.js +7 -3
  152. package/dist/lib/oas/parser/index.js.map +1 -1
  153. package/dist/lib/plugins/api-keys/ProtectedRoute.js +4 -1
  154. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  155. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +9 -172
  156. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  157. package/dist/lib/plugins/api-keys/index.d.ts +11 -4
  158. package/dist/lib/plugins/api-keys/index.js +36 -22
  159. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  160. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.d.ts +12 -0
  161. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.js +133 -0
  162. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.js.map +1 -0
  163. package/dist/lib/plugins/api-keys/settings/ApiKeyList.d.ts +4 -0
  164. package/dist/lib/plugins/api-keys/settings/ApiKeyList.js +33 -0
  165. package/dist/lib/plugins/api-keys/settings/ApiKeyList.js.map +1 -0
  166. package/dist/lib/plugins/api-keys/settings/RevealApiKey.d.ts +6 -0
  167. package/dist/lib/plugins/api-keys/settings/RevealApiKey.js +39 -0
  168. package/dist/lib/plugins/api-keys/settings/RevealApiKey.js.map +1 -0
  169. package/dist/lib/plugins/markdown/MdxPage.d.ts +2 -1
  170. package/dist/lib/plugins/markdown/MdxPage.js +3 -2
  171. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  172. package/dist/lib/plugins/markdown/index.d.ts +1 -0
  173. package/dist/lib/plugins/markdown/index.js +1 -1
  174. package/dist/lib/plugins/markdown/index.js.map +1 -1
  175. package/dist/lib/plugins/openapi/CollapsibleCode.d.ts +1 -0
  176. package/dist/lib/plugins/openapi/CollapsibleCode.js +2 -1
  177. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  178. package/dist/lib/plugins/openapi/DownloadSchemaButton.d.ts +3 -0
  179. package/dist/lib/plugins/openapi/DownloadSchemaButton.js +47 -0
  180. package/dist/lib/plugins/openapi/DownloadSchemaButton.js.map +1 -0
  181. package/dist/lib/plugins/openapi/Endpoint.js +3 -6
  182. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  183. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
  184. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +10 -0
  185. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js.map +1 -0
  186. package/dist/lib/plugins/openapi/OasProvider.js +26 -13
  187. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  188. package/dist/lib/plugins/openapi/OperationList.js +15 -5
  189. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  190. package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -1
  191. package/dist/lib/plugins/openapi/OperationListItem.js +4 -3
  192. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  193. package/dist/lib/plugins/openapi/ParamInfos.js +1 -0
  194. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  195. package/dist/lib/plugins/openapi/ParameterList.js +7 -4
  196. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  197. package/dist/lib/plugins/openapi/ParameterListItem.js +17 -6
  198. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  199. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +9 -2
  200. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +5 -2
  201. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  202. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +4 -2
  203. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +26 -4
  204. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  205. package/dist/lib/plugins/openapi/SchemaList.js +2 -1
  206. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
  207. package/dist/lib/plugins/openapi/Sidecar.d.ts +2 -2
  208. package/dist/lib/plugins/openapi/Sidecar.js +64 -28
  209. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  210. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  211. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  212. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +9 -2
  213. package/dist/lib/plugins/openapi/SidecarExamples.js +24 -43
  214. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  215. package/dist/lib/plugins/openapi/components/ConstValue.js +1 -1
  216. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -1
  217. package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
  218. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
  219. package/dist/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
  220. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js +5 -0
  221. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js.map +1 -0
  222. package/dist/lib/plugins/openapi/components/ResponseContent.js +5 -6
  223. package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -1
  224. package/dist/lib/plugins/openapi/index.js +15 -14
  225. package/dist/lib/plugins/openapi/index.js.map +1 -1
  226. package/dist/lib/plugins/openapi/interfaces.d.ts +32 -13
  227. package/dist/lib/plugins/openapi/playground/BodyPanel.js +67 -15
  228. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
  229. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +2 -2
  230. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -1
  231. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -1
  232. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  233. package/dist/lib/plugins/openapi/playground/Headers.js +23 -83
  234. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  235. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +10 -2
  236. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +8 -1
  237. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -1
  238. package/dist/lib/plugins/openapi/playground/PathParams.js +2 -3
  239. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  240. package/dist/lib/plugins/openapi/playground/Playground.d.ts +7 -0
  241. package/dist/lib/plugins/openapi/playground/Playground.js +70 -28
  242. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  243. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +3 -2
  244. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  245. package/dist/lib/plugins/openapi/playground/QueryParams.js +16 -40
  246. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  247. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +2 -1
  248. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +10 -2
  249. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -1
  250. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
  251. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js +19 -0
  252. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js.map +1 -0
  253. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +1 -1
  254. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -1
  255. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.d.ts +1 -0
  256. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js +540 -0
  257. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js.map +1 -0
  258. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
  259. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js +205 -0
  260. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js.map +1 -0
  261. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.d.ts +1 -1
  262. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +1 -1
  263. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -1
  264. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +23 -21
  265. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  266. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +1 -1
  267. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  268. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js +2 -0
  269. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js.map +1 -1
  270. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +1 -1
  271. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
  272. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +17 -8
  273. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  274. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -1
  275. package/dist/lib/plugins/openapi/schema/SchemaView.js +31 -16
  276. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  277. package/dist/lib/plugins/openapi/schema/UnionView.js +2 -5
  278. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -1
  279. package/dist/lib/plugins/openapi/schema/union-helpers.js +0 -1
  280. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -1
  281. package/dist/lib/plugins/openapi/schema/utils.d.ts +2 -2
  282. package/dist/lib/plugins/openapi/schema/utils.js +11 -3
  283. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  284. package/dist/lib/plugins/openapi/util/createHttpSnippet.js +24 -1
  285. package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -1
  286. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +9 -11
  287. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  288. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +9 -1
  289. package/dist/lib/plugins/openapi/util/getRoutes.js +30 -2
  290. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  291. package/dist/lib/plugins/search-pagefind/IndexingDialog.d.ts +3 -0
  292. package/dist/lib/plugins/search-pagefind/IndexingDialog.js +64 -0
  293. package/dist/lib/plugins/search-pagefind/IndexingDialog.js.map +1 -0
  294. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +22 -5
  295. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  296. package/dist/lib/plugins/search-pagefind/ResultList.js +5 -4
  297. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  298. package/dist/lib/shiki.d.ts +2 -2
  299. package/dist/lib/shiki.js +31 -14
  300. package/dist/lib/shiki.js.map +1 -1
  301. package/dist/lib/ui/Badge.d.ts +3 -3
  302. package/dist/lib/ui/Badge.js +9 -7
  303. package/dist/lib/ui/Badge.js.map +1 -1
  304. package/dist/lib/ui/Button.d.ts +2 -2
  305. package/dist/lib/ui/Button.js +10 -8
  306. package/dist/lib/ui/Button.js.map +1 -1
  307. package/dist/lib/ui/ButtonGroup.d.ts +11 -0
  308. package/dist/lib/ui/ButtonGroup.js +28 -0
  309. package/dist/lib/ui/ButtonGroup.js.map +1 -0
  310. package/dist/lib/ui/Callout.d.ts +5 -5
  311. package/dist/lib/ui/Callout.js +5 -5
  312. package/dist/lib/ui/Callout.js.map +1 -1
  313. package/dist/lib/ui/Checkbox.d.ts +2 -2
  314. package/dist/lib/ui/Checkbox.js +4 -4
  315. package/dist/lib/ui/Checkbox.js.map +1 -1
  316. package/dist/lib/ui/CodeBlock.d.ts +0 -1
  317. package/dist/lib/ui/CodeBlock.js +1 -1
  318. package/dist/lib/ui/CodeBlock.js.map +1 -1
  319. package/dist/lib/ui/Collapsible.d.ts +4 -4
  320. package/dist/lib/ui/Collapsible.js +11 -4
  321. package/dist/lib/ui/Collapsible.js.map +1 -1
  322. package/dist/lib/ui/Command.js +2 -2
  323. package/dist/lib/ui/Command.js.map +1 -1
  324. package/dist/lib/ui/Dialog.d.ts +12 -18
  325. package/dist/lib/ui/Dialog.js +30 -17
  326. package/dist/lib/ui/Dialog.js.map +1 -1
  327. package/dist/lib/ui/DropdownMenu.d.ts +21 -23
  328. package/dist/lib/ui/DropdownMenu.js +47 -32
  329. package/dist/lib/ui/DropdownMenu.js.map +1 -1
  330. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +3 -2
  331. package/dist/lib/ui/EmbeddedCodeBlock.js +4 -3
  332. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  333. package/dist/lib/ui/Frame.d.ts +8 -0
  334. package/dist/lib/ui/Frame.js +22 -0
  335. package/dist/lib/ui/Frame.js.map +1 -0
  336. package/dist/lib/ui/Item.d.ts +23 -0
  337. package/dist/lib/ui/Item.js +67 -0
  338. package/dist/lib/ui/Item.js.map +1 -0
  339. package/dist/lib/ui/Kbd.d.ts +3 -0
  340. package/dist/lib/ui/Kbd.js +10 -0
  341. package/dist/lib/ui/Kbd.js.map +1 -0
  342. package/dist/lib/ui/NativeSelect.d.ts +5 -0
  343. package/dist/lib/ui/NativeSelect.js +14 -0
  344. package/dist/lib/ui/NativeSelect.js.map +1 -0
  345. package/dist/lib/ui/ReactComponentDoc.d.ts +1 -1
  346. package/dist/lib/ui/ReactComponentDoc.js +2 -2
  347. package/dist/lib/ui/ReactComponentDoc.js.map +1 -1
  348. package/dist/lib/ui/Select.d.ts +13 -11
  349. package/dist/lib/ui/Select.js +34 -23
  350. package/dist/lib/ui/Select.js.map +1 -1
  351. package/dist/lib/ui/Separator.d.ts +4 -0
  352. package/dist/lib/ui/Separator.js +8 -0
  353. package/dist/lib/ui/Separator.js.map +1 -0
  354. package/dist/lib/ui/SyntaxHighlight.d.ts +1 -0
  355. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  356. package/dist/lib/ui/Tooltip.d.ts +7 -7
  357. package/dist/lib/ui/Tooltip.js +16 -10
  358. package/dist/lib/ui/Tooltip.js.map +1 -1
  359. package/dist/lib/util/MdxComponents.d.ts +3 -1
  360. package/dist/lib/util/MdxComponents.js +5 -2
  361. package/dist/lib/util/MdxComponents.js.map +1 -1
  362. package/dist/lib/util/createVariantComponent.d.ts +5 -2
  363. package/dist/lib/util/createVariantComponent.js +5 -2
  364. package/dist/lib/util/createVariantComponent.js.map +1 -1
  365. package/dist/lib/util/flattenAllOf.d.ts +4 -0
  366. package/dist/lib/util/flattenAllOf.js +88 -0
  367. package/dist/lib/util/flattenAllOf.js.map +1 -0
  368. package/dist/lib/util/flattenAllOf.test.d.ts +1 -0
  369. package/dist/lib/util/flattenAllOf.test.js +587 -0
  370. package/dist/lib/util/flattenAllOf.test.js.map +1 -0
  371. package/dist/lib/util/invariant.d.ts +1 -1
  372. package/dist/lib/util/invariant.js +2 -2
  373. package/dist/lib/util/invariant.js.map +1 -1
  374. package/dist/lib/util/readFrontmatter.d.ts +6 -0
  375. package/dist/lib/util/readFrontmatter.js +12 -0
  376. package/dist/lib/util/readFrontmatter.js.map +1 -0
  377. package/dist/lib/util/syncZustandState.d.ts +5 -0
  378. package/dist/lib/util/syncZustandState.js +14 -0
  379. package/dist/lib/util/syncZustandState.js.map +1 -0
  380. package/dist/vite/api/SchemaManager.d.ts +20 -2
  381. package/dist/vite/api/SchemaManager.js +79 -31
  382. package/dist/vite/api/SchemaManager.js.map +1 -1
  383. package/dist/vite/api/SchemaManager.test.js +113 -2
  384. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  385. package/dist/vite/config.js +13 -1
  386. package/dist/vite/config.js.map +1 -1
  387. package/dist/vite/dev-server.js +25 -0
  388. package/dist/vite/dev-server.js.map +1 -1
  389. package/dist/vite/error-handler.js +1 -5
  390. package/dist/vite/error-handler.js.map +1 -1
  391. package/dist/vite/mdx/remark-last-modified.js +57 -3
  392. package/dist/vite/mdx/remark-last-modified.js.map +1 -1
  393. package/dist/vite/mdx/remark-link-rewrite.js +1 -1
  394. package/dist/vite/pagefind-dev-index.d.ts +16 -0
  395. package/dist/vite/pagefind-dev-index.js +68 -0
  396. package/dist/vite/pagefind-dev-index.js.map +1 -0
  397. package/dist/vite/plugin-api-keys.js +5 -1
  398. package/dist/vite/plugin-api-keys.js.map +1 -1
  399. package/dist/vite/plugin-api.js +57 -8
  400. package/dist/vite/plugin-api.js.map +1 -1
  401. package/dist/vite/plugin-docs.js +1 -1
  402. package/dist/vite/plugin-docs.js.map +1 -1
  403. package/dist/vite/plugin-frontmatter.js +3 -5
  404. package/dist/vite/plugin-frontmatter.js.map +1 -1
  405. package/dist/vite/plugin-markdown-export.js +8 -7
  406. package/dist/vite/plugin-markdown-export.js.map +1 -1
  407. package/dist/vite/plugin-mdx.js +36 -30
  408. package/dist/vite/plugin-mdx.js.map +1 -1
  409. package/dist/vite/plugin-theme.js +10 -1
  410. package/dist/vite/plugin-theme.js.map +1 -1
  411. package/dist/vite/prerender/prerender.js +1 -19
  412. package/dist/vite/prerender/prerender.js.map +1 -1
  413. package/dist/vite/prerender/utils.d.ts +2 -0
  414. package/dist/vite/prerender/utils.js +30 -0
  415. package/dist/vite/prerender/utils.js.map +1 -0
  416. package/dist/vite/prerender/worker.js +3 -0
  417. package/dist/vite/prerender/worker.js.map +1 -1
  418. package/dist/vite/zuplo.d.ts +13 -0
  419. package/dist/vite/zuplo.js +15 -0
  420. package/dist/vite/zuplo.js.map +1 -0
  421. package/lib/ActionButton-B0CXL1Lq.js +25 -0
  422. package/lib/ActionButton-B0CXL1Lq.js.map +1 -0
  423. package/lib/Button-GUVe7pmt.js +54 -0
  424. package/lib/Button-GUVe7pmt.js.map +1 -0
  425. package/lib/{Card-KFniaZn5.js → Card-DCdq37aA.js} +2 -2
  426. package/lib/{Card-KFniaZn5.js.map → Card-DCdq37aA.js.map} +1 -1
  427. package/lib/ClaudeLogo-DJ9bU-sO.js +69 -0
  428. package/lib/ClaudeLogo-DJ9bU-sO.js.map +1 -0
  429. package/lib/{Command-CJY6q3PF.js → Command-N6VujV30.js} +26 -26
  430. package/lib/Command-N6VujV30.js.map +1 -0
  431. package/lib/Dialog-hlvmmQ_c.js +144 -0
  432. package/lib/Dialog-hlvmmQ_c.js.map +1 -0
  433. package/lib/{Drawer-Ci7XwhqT.js → Drawer-Ch7927PF.js} +7 -7
  434. package/lib/{Drawer-Ci7XwhqT.js.map → Drawer-Ch7927PF.js.map} +1 -1
  435. package/lib/DropdownMenu-DN0jNrjj.js +104 -0
  436. package/lib/DropdownMenu-DN0jNrjj.js.map +1 -0
  437. package/lib/Frame-DKlOmSkU.js +205 -0
  438. package/lib/Frame-DKlOmSkU.js.map +1 -0
  439. package/lib/HydrationBoundary-CNF2ZV3E.js +601 -0
  440. package/lib/HydrationBoundary-CNF2ZV3E.js.map +1 -0
  441. package/lib/IndexingDialog-D0YdGfbn.js +100 -0
  442. package/lib/IndexingDialog-D0YdGfbn.js.map +1 -0
  443. package/lib/Input-Cx-GeKoF.js +22 -0
  444. package/lib/Input-Cx-GeKoF.js.map +1 -0
  445. package/lib/MdxPage-stpAoBtx.js +210 -0
  446. package/lib/MdxPage-stpAoBtx.js.map +1 -0
  447. package/lib/Mermaid-Koc3z8mU.js +102 -0
  448. package/lib/Mermaid-Koc3z8mU.js.map +1 -0
  449. package/lib/{OAuthErrorPage-DJUOdr6Q.js → OAuthErrorPage-DJ811Bn_.js} +16 -16
  450. package/lib/OAuthErrorPage-DJ811Bn_.js.map +1 -0
  451. package/lib/OasProvider-CS_ASmBB.js +48 -0
  452. package/lib/OasProvider-CS_ASmBB.js.map +1 -0
  453. package/lib/OperationList-Dq_AB4W9.js +5820 -0
  454. package/lib/OperationList-Dq_AB4W9.js.map +1 -0
  455. package/lib/RouteGuard--A04ESy8.js +77 -0
  456. package/lib/RouteGuard--A04ESy8.js.map +1 -0
  457. package/lib/{SchemaList-1eLKXqn8.js → SchemaList-BJZJv1gD.js} +28 -27
  458. package/lib/SchemaList-BJZJv1gD.js.map +1 -0
  459. package/lib/SchemaView-U4JMYB3N.js +438 -0
  460. package/lib/SchemaView-U4JMYB3N.js.map +1 -0
  461. package/lib/Secret-BDBqq4p3.js +243 -0
  462. package/lib/Secret-BDBqq4p3.js.map +1 -0
  463. package/lib/Separator-BXt1LYnm.js +27 -0
  464. package/lib/Separator-BXt1LYnm.js.map +1 -0
  465. package/lib/SignUp-DCBViNUi.js +50 -0
  466. package/lib/SignUp-DCBViNUi.js.map +1 -0
  467. package/lib/{SyntaxHighlight-B0laqAqK.js → SyntaxHighlight-Dshjn3Zf.js} +1784 -1699
  468. package/lib/SyntaxHighlight-Dshjn3Zf.js.map +1 -0
  469. package/lib/{Toc-KzXCRqrX.js → Toc-Cgz6CPiE.js} +6 -6
  470. package/lib/Toc-Cgz6CPiE.js.map +1 -0
  471. package/lib/ZudokuContext-BZB1TWdT.js +387 -0
  472. package/lib/ZudokuContext-BZB1TWdT.js.map +1 -0
  473. package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js +9 -0
  474. package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js.map +1 -0
  475. package/lib/chunk-EPOLDU6W-C6C8jAwd.js +8558 -0
  476. package/lib/chunk-EPOLDU6W-C6C8jAwd.js.map +1 -0
  477. package/lib/{circular-D6wbrxuf.js → circular-BmMJjG1v.js} +6459 -6030
  478. package/lib/circular-BmMJjG1v.js.map +1 -0
  479. package/lib/{cn-dYga0KKN.js → cn-5-Gd1Dss.js} +531 -498
  480. package/lib/cn-5-Gd1Dss.js.map +1 -0
  481. package/lib/createServer-CLSZ7hWJ.js +16693 -0
  482. package/lib/createServer-CLSZ7hWJ.js.map +1 -0
  483. package/lib/createVariantComponent-Dc0vtOvr.js +18 -0
  484. package/lib/createVariantComponent-Dc0vtOvr.js.map +1 -0
  485. package/lib/{errors-XqO6MsfU.js → errors-b9I-fAOY.js} +3 -3
  486. package/lib/{errors-XqO6MsfU.js.map → errors-b9I-fAOY.js.map} +1 -1
  487. package/lib/firebase-BCXX7Qv5.js +7614 -0
  488. package/lib/firebase-BCXX7Qv5.js.map +1 -0
  489. package/lib/hook-BGlHBdET.js +52 -0
  490. package/lib/hook-BGlHBdET.js.map +1 -0
  491. package/lib/{ErrorAlert-VBJ8aHH7.js → index-CL8eDnQW.js} +5503 -4505
  492. package/lib/index-CL8eDnQW.js.map +1 -0
  493. package/lib/index-CrcNWbel.js.map +1 -1
  494. package/lib/index-DBjOT2H1.js +133 -0
  495. package/lib/index-DBjOT2H1.js.map +1 -0
  496. package/lib/index-O9RHI87z.js +3680 -0
  497. package/lib/index-O9RHI87z.js.map +1 -0
  498. package/lib/{index-C5L4favO.js → index-UOLtazB8.js} +2 -2
  499. package/lib/{index-C5L4favO.js.map → index-UOLtazB8.js.map} +1 -1
  500. package/lib/index.esm-BYObtETB.js.map +1 -1
  501. package/lib/{index.esm-BnYHxCYC.js → index.esm-B_0dvNjB.js} +20 -20
  502. package/lib/{index.esm-BnYHxCYC.js.map → index.esm-B_0dvNjB.js.map} +1 -1
  503. package/lib/index.esm-C5CBsVzN.js +34 -0
  504. package/lib/index.esm-C5CBsVzN.js.map +1 -0
  505. package/lib/{invariant-Bm-FVUQE.js → invariant-BJAl77rw.js} +6 -6
  506. package/lib/invariant-BJAl77rw.js.map +1 -0
  507. package/lib/jsx-runtime-BzflLqGi.js.map +1 -1
  508. package/lib/{mutation-CdGPxHNX.js → mutation-BISOc7OM.js} +70 -44
  509. package/lib/mutation-BISOc7OM.js.map +1 -0
  510. package/lib/ui/Accordion.js +1 -1
  511. package/lib/ui/ActionButton.js +2 -2
  512. package/lib/ui/Alert.js +1 -1
  513. package/lib/ui/AlertDialog.js +1 -1
  514. package/lib/ui/Badge.js +27 -13
  515. package/lib/ui/Badge.js.map +1 -1
  516. package/lib/ui/Breadcrumb.js +1 -1
  517. package/lib/ui/Button.js +28 -25
  518. package/lib/ui/Button.js.map +1 -1
  519. package/lib/ui/ButtonGroup.js +77 -0
  520. package/lib/ui/ButtonGroup.js.map +1 -0
  521. package/lib/ui/Callout.js +19 -19
  522. package/lib/ui/Callout.js.map +1 -1
  523. package/lib/ui/Card.js +1 -1
  524. package/lib/ui/Carousel.js +1 -1
  525. package/lib/ui/Carousel.js.map +1 -1
  526. package/lib/ui/Checkbox.js +29 -26
  527. package/lib/ui/Checkbox.js.map +1 -1
  528. package/lib/ui/CodeBlock.js +217 -7
  529. package/lib/ui/CodeBlock.js.map +1 -1
  530. package/lib/ui/Collapsible.js +32 -5
  531. package/lib/ui/Collapsible.js.map +1 -1
  532. package/lib/ui/Command.js +5 -5
  533. package/lib/ui/Command.js.map +1 -1
  534. package/lib/ui/Dialog.js +136 -106
  535. package/lib/ui/Dialog.js.map +1 -1
  536. package/lib/ui/Drawer.js +3 -3
  537. package/lib/ui/DropdownMenu.js +227 -140
  538. package/lib/ui/DropdownMenu.js.map +1 -1
  539. package/lib/ui/EmbeddedCodeBlock.js +36 -32
  540. package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  541. package/lib/ui/Form.js +1 -1
  542. package/lib/ui/Frame.js +81 -0
  543. package/lib/ui/Frame.js.map +1 -0
  544. package/lib/ui/HoverCard.js +1 -1
  545. package/lib/ui/Input.js +1 -1
  546. package/lib/ui/Item.js +188 -0
  547. package/lib/ui/Item.js.map +1 -0
  548. package/lib/ui/Kbd.js +32 -0
  549. package/lib/ui/Kbd.js.map +1 -0
  550. package/lib/ui/Label.js +1 -1
  551. package/lib/ui/NativeSelect.js +57 -0
  552. package/lib/ui/NativeSelect.js.map +1 -0
  553. package/lib/ui/Pagination.js +1 -1
  554. package/lib/ui/Popover.js +1 -1
  555. package/lib/ui/Progress.js +1 -1
  556. package/lib/ui/RadioGroup.js +1 -1
  557. package/lib/ui/ReactComponentDoc.js +13 -13
  558. package/lib/ui/ReactComponentDoc.js.map +1 -1
  559. package/lib/ui/ScrollArea.js +1 -1
  560. package/lib/ui/Secret.js +1 -1
  561. package/lib/ui/Select.js +166 -116
  562. package/lib/ui/Select.js.map +1 -1
  563. package/lib/ui/Separator.js +27 -0
  564. package/lib/ui/Separator.js.map +1 -0
  565. package/lib/ui/Skeleton.js +1 -1
  566. package/lib/ui/Slider.js +1 -1
  567. package/lib/ui/Switch.js +1 -1
  568. package/lib/ui/SyntaxHighlight.js +4 -4
  569. package/lib/ui/Tabs.js +11 -11
  570. package/lib/ui/Textarea.js +1 -1
  571. package/lib/ui/Toggle.js +1 -1
  572. package/lib/ui/ToggleGroup.js +1 -1
  573. package/lib/ui/Tooltip.js +55 -28
  574. package/lib/ui/Tooltip.js.map +1 -1
  575. package/lib/ui/Value.js +1 -1
  576. package/lib/ui/util.js +1 -1
  577. package/lib/useMutation-CFMGlAMW.js +119 -0
  578. package/lib/useMutation-CFMGlAMW.js.map +1 -0
  579. package/lib/useSuspenseQuery-CSB_rVek.js +1226 -0
  580. package/lib/useSuspenseQuery-CSB_rVek.js.map +1 -0
  581. package/lib/zudoku.__internal.js +826 -1325
  582. package/lib/zudoku.__internal.js.map +1 -1
  583. package/lib/zudoku.auth-auth0.js +19 -19
  584. package/lib/zudoku.auth-auth0.js.map +1 -1
  585. package/lib/zudoku.auth-azureb2c.js +28 -28
  586. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  587. package/lib/zudoku.auth-clerk.js +41 -64
  588. package/lib/zudoku.auth-clerk.js.map +1 -1
  589. package/lib/zudoku.auth-firebase.js +10 -0
  590. package/lib/zudoku.auth-firebase.js.map +1 -0
  591. package/lib/zudoku.auth-openid.js +52 -55
  592. package/lib/zudoku.auth-openid.js.map +1 -1
  593. package/lib/zudoku.auth-supabase.js +107 -60
  594. package/lib/zudoku.auth-supabase.js.map +1 -1
  595. package/lib/zudoku.components.js +23 -21
  596. package/lib/zudoku.hooks.js +11 -24
  597. package/lib/zudoku.hooks.js.map +1 -1
  598. package/lib/zudoku.mermaid.js +10 -0
  599. package/lib/zudoku.mermaid.js.map +1 -0
  600. package/lib/zudoku.plugin-api-catalog.js +8 -8
  601. package/lib/zudoku.plugin-api-keys.js +607 -543
  602. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  603. package/lib/zudoku.plugin-custom-pages.js +1 -1
  604. package/lib/zudoku.plugin-markdown.js +10 -9
  605. package/lib/zudoku.plugin-markdown.js.map +1 -1
  606. package/lib/zudoku.plugin-openapi.js +6 -7
  607. package/lib/zudoku.plugin-openapi.js.map +1 -1
  608. package/lib/zudoku.plugin-redirect.js +1 -1
  609. package/lib/zudoku.plugin-search-pagefind.js +185 -226
  610. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  611. package/lib/zudoku.plugins.js +9 -8
  612. package/lib/zudoku.plugins.js.map +1 -1
  613. package/lib/zudoku.react-query.js +440 -0
  614. package/lib/zudoku.react-query.js.map +1 -0
  615. package/lib/zudoku.router.js +1130 -1404
  616. package/lib/zudoku.router.js.map +1 -1
  617. package/package.json +77 -45
  618. package/src/app/entry.server.tsx +16 -6
  619. package/src/app/main.css +61 -9
  620. package/src/app/main.tsx +5 -1
  621. package/src/app/sentry.ts +1 -1
  622. package/src/lib/auth/issuer.ts +3 -0
  623. package/src/lib/authentication/authentication.ts +29 -5
  624. package/src/lib/authentication/components/CallbackHandler.tsx +1 -1
  625. package/src/lib/authentication/components/OAuthErrorPage.tsx +1 -1
  626. package/src/lib/authentication/components/SignIn.tsx +10 -5
  627. package/src/lib/authentication/components/SignOut.tsx +7 -6
  628. package/src/lib/authentication/components/SignUp.tsx +8 -8
  629. package/src/lib/authentication/hook.ts +37 -10
  630. package/src/lib/authentication/providers/auth0.tsx +23 -11
  631. package/src/lib/authentication/providers/azureb2c.tsx +10 -3
  632. package/src/lib/authentication/providers/clerk.tsx +9 -28
  633. package/src/lib/authentication/providers/firebase.tsx +376 -0
  634. package/src/lib/authentication/providers/openid.tsx +18 -15
  635. package/src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx +75 -0
  636. package/src/lib/authentication/providers/supabase.tsx +61 -59
  637. package/src/lib/authentication/state.ts +3 -23
  638. package/src/lib/authentication/ui/EmailVerificationUi.tsx +129 -0
  639. package/src/lib/authentication/ui/ZudokuAuthUi.tsx +477 -0
  640. package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
  641. package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
  642. package/src/lib/authentication/ui/icons/Github.tsx +16 -0
  643. package/src/lib/authentication/ui/icons/Google.tsx +16 -0
  644. package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
  645. package/src/lib/authentication/ui/icons/X.tsx +10 -0
  646. package/src/lib/authentication/utils/relativeRedirectUrl.ts +12 -0
  647. package/src/lib/components/Autocomplete.tsx +11 -2
  648. package/src/lib/components/Layout.tsx +3 -2
  649. package/src/lib/components/Mermaid.tsx +68 -0
  650. package/src/lib/components/PagefindSearchMeta.tsx +14 -0
  651. package/src/lib/components/Pagination.tsx +4 -5
  652. package/src/lib/components/Zudoku.tsx +7 -10
  653. package/src/lib/components/index.ts +4 -0
  654. package/src/lib/components/navigation/NavigationItem.tsx +16 -23
  655. package/src/lib/components/navigation/Toc.tsx +3 -3
  656. package/src/lib/core/RouteGuard.tsx +69 -43
  657. package/src/lib/core/ZudokuContext.ts +3 -0
  658. package/src/lib/core/plugins.ts +23 -3
  659. package/src/lib/core/react-query.ts +1 -0
  660. package/src/lib/core/transform-config.ts +29 -0
  661. package/src/lib/errors/ErrorAlert.tsx +1 -1
  662. package/src/lib/errors/ErrorMessage.tsx +38 -0
  663. package/src/lib/errors/RouterError.tsx +7 -2
  664. package/src/lib/oas/graphql/circular.test.ts +186 -0
  665. package/src/lib/oas/graphql/circular.ts +49 -10
  666. package/src/lib/oas/graphql/index.ts +7 -3
  667. package/src/lib/oas/parser/index.ts +10 -3
  668. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +11 -7
  669. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +36 -476
  670. package/src/lib/plugins/api-keys/index.tsx +76 -32
  671. package/src/lib/plugins/api-keys/settings/ApiKeyItem.tsx +342 -0
  672. package/src/lib/plugins/api-keys/settings/ApiKeyList.tsx +67 -0
  673. package/src/lib/plugins/api-keys/settings/RevealApiKey.tsx +124 -0
  674. package/src/lib/plugins/markdown/MdxPage.tsx +4 -1
  675. package/src/lib/plugins/markdown/index.tsx +2 -0
  676. package/src/lib/plugins/openapi/CollapsibleCode.tsx +5 -3
  677. package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +115 -0
  678. package/src/lib/plugins/openapi/Endpoint.tsx +20 -27
  679. package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
  680. package/src/lib/plugins/openapi/OasProvider.tsx +38 -17
  681. package/src/lib/plugins/openapi/OperationList.tsx +46 -21
  682. package/src/lib/plugins/openapi/OperationListItem.tsx +15 -12
  683. package/src/lib/plugins/openapi/ParamInfos.tsx +1 -0
  684. package/src/lib/plugins/openapi/ParameterList.tsx +37 -23
  685. package/src/lib/plugins/openapi/ParameterListItem.tsx +105 -54
  686. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +48 -7
  687. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +101 -33
  688. package/src/lib/plugins/openapi/SchemaList.tsx +4 -0
  689. package/src/lib/plugins/openapi/Sidecar.tsx +148 -67
  690. package/src/lib/plugins/openapi/SidecarBox.tsx +26 -4
  691. package/src/lib/plugins/openapi/SidecarExamples.tsx +91 -79
  692. package/src/lib/plugins/openapi/components/ConstValue.tsx +1 -1
  693. package/src/lib/plugins/openapi/components/EnumValues.tsx +2 -2
  694. package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
  695. package/src/lib/plugins/openapi/components/ResponseContent.tsx +63 -53
  696. package/src/lib/plugins/openapi/index.tsx +25 -36
  697. package/src/lib/plugins/openapi/interfaces.ts +33 -7
  698. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +246 -30
  699. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +10 -6
  700. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +3 -2
  701. package/src/lib/plugins/openapi/playground/Headers.tsx +103 -219
  702. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +33 -1
  703. package/src/lib/plugins/openapi/playground/PathParams.tsx +26 -34
  704. package/src/lib/plugins/openapi/playground/Playground.tsx +88 -35
  705. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +10 -31
  706. package/src/lib/plugins/openapi/playground/QueryParams.tsx +82 -136
  707. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +20 -1
  708. package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
  709. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
  710. package/src/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.tsx +872 -0
  711. package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +349 -0
  712. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +2 -2
  713. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +102 -62
  714. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +1 -1
  715. package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +3 -0
  716. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +1 -1
  717. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +89 -55
  718. package/src/lib/plugins/openapi/schema/SchemaView.tsx +100 -60
  719. package/src/lib/plugins/openapi/schema/UnionView.tsx +6 -17
  720. package/src/lib/plugins/openapi/schema/union-helpers.ts +0 -1
  721. package/src/lib/plugins/openapi/schema/utils.ts +20 -6
  722. package/src/lib/plugins/openapi/util/createHttpSnippet.ts +29 -1
  723. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +11 -11
  724. package/src/lib/plugins/openapi/util/getRoutes.tsx +38 -3
  725. package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +163 -0
  726. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +61 -22
  727. package/src/lib/plugins/search-pagefind/ResultList.tsx +8 -3
  728. package/src/lib/shiki.ts +37 -14
  729. package/src/lib/ui/Badge.tsx +21 -12
  730. package/src/lib/ui/Button.tsx +11 -9
  731. package/src/lib/ui/ButtonGroup.tsx +82 -0
  732. package/src/lib/ui/Callout.tsx +10 -5
  733. package/src/lib/ui/Checkbox.tsx +23 -24
  734. package/src/lib/ui/CodeBlock.tsx +3 -4
  735. package/src/lib/ui/Collapsible.tsx +26 -4
  736. package/src/lib/ui/Command.tsx +3 -3
  737. package/src/lib/ui/Dialog.tsx +112 -106
  738. package/src/lib/ui/DropdownMenu.tsx +226 -170
  739. package/src/lib/ui/EmbeddedCodeBlock.tsx +24 -19
  740. package/src/lib/ui/Frame.tsx +81 -0
  741. package/src/lib/ui/Item.tsx +192 -0
  742. package/src/lib/ui/Kbd.tsx +28 -0
  743. package/src/lib/ui/NativeSelect.tsx +47 -0
  744. package/src/lib/ui/ReactComponentDoc.tsx +17 -17
  745. package/src/lib/ui/Select.tsx +153 -126
  746. package/src/lib/ui/Separator.tsx +25 -0
  747. package/src/lib/ui/SyntaxHighlight.tsx +6 -1
  748. package/src/lib/ui/Tooltip.tsx +54 -32
  749. package/src/lib/util/MdxComponents.tsx +5 -5
  750. package/src/lib/util/createVariantComponent.tsx +31 -5
  751. package/src/lib/util/flattenAllOf.test.ts +689 -0
  752. package/src/lib/util/flattenAllOf.ts +122 -0
  753. package/src/lib/util/invariant.ts +2 -1
  754. package/src/lib/util/readFrontmatter.ts +13 -0
  755. package/src/lib/util/syncZustandState.ts +22 -0
  756. package/src/shiki/langs/c3.js +1 -0
  757. package/src/shiki/langs/gn.js +1 -0
  758. package/src/shiki/langs/markdown-nix.js +1 -0
  759. package/src/shiki/langs/moonbit.js +1 -0
  760. package/src/shiki/langs/openscad.js +1 -0
  761. package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +0 -4
  762. package/dist/lib/plugins/openapi/playground/InlineInput.js +0 -3
  763. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +0 -1
  764. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.d.ts +0 -5
  765. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js +0 -7
  766. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js.map +0 -1
  767. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.d.ts +0 -4
  768. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js +0 -10
  769. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js.map +0 -1
  770. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.d.ts +0 -5
  771. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js +0 -16
  772. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js.map +0 -1
  773. package/dist/vite/create-pagefind-index.d.ts +0 -4
  774. package/dist/vite/create-pagefind-index.js +0 -12
  775. package/dist/vite/create-pagefind-index.js.map +0 -1
  776. package/lib/Button-DmS4u8Lj.js +0 -51
  777. package/lib/Button-DmS4u8Lj.js.map +0 -1
  778. package/lib/CodeBlock-CanTUJLl.js +0 -221
  779. package/lib/CodeBlock-CanTUJLl.js.map +0 -1
  780. package/lib/Command-CJY6q3PF.js.map +0 -1
  781. package/lib/Dialog-BOl0QB3n.js +0 -114
  782. package/lib/Dialog-BOl0QB3n.js.map +0 -1
  783. package/lib/DropdownMenu-BZ2NKQ3K.js +0 -126
  784. package/lib/DropdownMenu-BZ2NKQ3K.js.map +0 -1
  785. package/lib/ErrorAlert-VBJ8aHH7.js.map +0 -1
  786. package/lib/MdxPage-DFRNwSsc.js +0 -239
  787. package/lib/MdxPage-DFRNwSsc.js.map +0 -1
  788. package/lib/OAuthErrorPage-DJUOdr6Q.js.map +0 -1
  789. package/lib/OasProvider-BMUgPYQU.js +0 -36
  790. package/lib/OasProvider-BMUgPYQU.js.map +0 -1
  791. package/lib/OperationList-DVig5I94.js +0 -5446
  792. package/lib/OperationList-DVig5I94.js.map +0 -1
  793. package/lib/Pagination-CT4VUR6u.js +0 -37
  794. package/lib/Pagination-CT4VUR6u.js.map +0 -1
  795. package/lib/RouteGuard-BPWQlxy5.js +0 -56
  796. package/lib/RouteGuard-BPWQlxy5.js.map +0 -1
  797. package/lib/RouterError-fm21cqlj.js +0 -41
  798. package/lib/RouterError-fm21cqlj.js.map +0 -1
  799. package/lib/SchemaList-1eLKXqn8.js.map +0 -1
  800. package/lib/SchemaView-fq3uKfOA.js +0 -458
  801. package/lib/SchemaView-fq3uKfOA.js.map +0 -1
  802. package/lib/Select-CPoGZU_V.js +0 -372
  803. package/lib/Select-CPoGZU_V.js.map +0 -1
  804. package/lib/SignUp-BraHuRN_.js +0 -56
  805. package/lib/SignUp-BraHuRN_.js.map +0 -1
  806. package/lib/SyntaxHighlight-B0laqAqK.js.map +0 -1
  807. package/lib/Toc-KzXCRqrX.js.map +0 -1
  808. package/lib/ZudokuContext-BXTZApgy.js +0 -1506
  809. package/lib/ZudokuContext-BXTZApgy.js.map +0 -1
  810. package/lib/chunk-PVWAREVJ-BO6B-RAk.js +0 -7965
  811. package/lib/chunk-PVWAREVJ-BO6B-RAk.js.map +0 -1
  812. package/lib/circular-D6wbrxuf.js.map +0 -1
  813. package/lib/cn-dYga0KKN.js.map +0 -1
  814. package/lib/createServer-C5aY10Bc.js +0 -12559
  815. package/lib/createServer-C5aY10Bc.js.map +0 -1
  816. package/lib/hook-CAebs2rv.js +0 -31
  817. package/lib/hook-CAebs2rv.js.map +0 -1
  818. package/lib/index-BPSpOxTK.js +0 -1058
  819. package/lib/index-BPSpOxTK.js.map +0 -1
  820. package/lib/index-Bb9AsFlk.js +0 -3318
  821. package/lib/index-Bb9AsFlk.js.map +0 -1
  822. package/lib/invariant-Bm-FVUQE.js.map +0 -1
  823. package/lib/mutation-CdGPxHNX.js.map +0 -1
  824. package/lib/useExposedProps-Cd7Yg_uG.js +0 -113
  825. package/lib/useExposedProps-Cd7Yg_uG.js.map +0 -1
  826. package/src/lib/plugins/openapi/playground/InlineInput.tsx +0 -6
  827. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.tsx +0 -36
  828. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.tsx +0 -25
  829. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx +0 -42
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HydrationBoundary-CNF2ZV3E.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/hydration.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/queryClient.js","../../../node_modules/.pnpm/@tanstack+react-query@5.90.12_react@19.2.3/node_modules/@tanstack/react-query/build/modern/HydrationBoundary.js"],"sourcesContent":["// src/hydration.ts\nimport { tryResolveSync } from \"./thenable.js\";\nimport { noop } from \"./utils.js\";\nfunction defaultTransformerFn(data) {\n return data;\n}\nfunction dehydrateMutation(mutation) {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n ...mutation.options.scope && { scope: mutation.options.scope },\n ...mutation.meta && { meta: mutation.meta }\n };\n}\nfunction dehydrateQuery(query, serializeData, shouldRedactErrors) {\n const dehydratePromise = () => {\n const promise = query.promise?.then(serializeData).catch((error) => {\n if (!shouldRedactErrors(error)) {\n return Promise.reject(error);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`\n );\n }\n return Promise.reject(new Error(\"redacted\"));\n });\n promise?.catch(noop);\n return promise;\n };\n return {\n dehydratedAt: Date.now(),\n state: {\n ...query.state,\n ...query.state.data !== void 0 && {\n data: serializeData(query.state.data)\n }\n },\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...query.state.status === \"pending\" && {\n promise: dehydratePromise()\n },\n ...query.meta && { meta: query.meta }\n };\n}\nfunction defaultShouldDehydrateMutation(mutation) {\n return mutation.state.isPaused;\n}\nfunction defaultShouldDehydrateQuery(query) {\n return query.state.status === \"success\";\n}\nfunction defaultShouldRedactErrors(_) {\n return true;\n}\nfunction dehydrate(client, options = {}) {\n const filterMutation = options.shouldDehydrateMutation ?? client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;\n const mutations = client.getMutationCache().getAll().flatMap(\n (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []\n );\n const filterQuery = options.shouldDehydrateQuery ?? client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;\n const shouldRedactErrors = options.shouldRedactErrors ?? client.getDefaultOptions().dehydrate?.shouldRedactErrors ?? defaultShouldRedactErrors;\n const serializeData = options.serializeData ?? client.getDefaultOptions().dehydrate?.serializeData ?? defaultTransformerFn;\n const queries = client.getQueryCache().getAll().flatMap(\n (query) => filterQuery(query) ? [dehydrateQuery(query, serializeData, shouldRedactErrors)] : []\n );\n return { mutations, queries };\n}\nfunction hydrate(client, dehydratedState, options) {\n if (typeof dehydratedState !== \"object\" || dehydratedState === null) {\n return;\n }\n const mutationCache = client.getMutationCache();\n const queryCache = client.getQueryCache();\n const deserializeData = options?.defaultOptions?.deserializeData ?? client.getDefaultOptions().hydrate?.deserializeData ?? defaultTransformerFn;\n const mutations = dehydratedState.mutations || [];\n const queries = dehydratedState.queries || [];\n mutations.forEach(({ state, ...mutationOptions }) => {\n mutationCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.mutations,\n ...options?.defaultOptions?.mutations,\n ...mutationOptions\n },\n state\n );\n });\n queries.forEach(\n ({ queryKey, state, queryHash, meta, promise, dehydratedAt }) => {\n const syncData = promise ? tryResolveSync(promise) : void 0;\n const rawData = state.data === void 0 ? syncData?.data : state.data;\n const data = rawData === void 0 ? rawData : deserializeData(rawData);\n let query = queryCache.get(queryHash);\n const existingQueryIsPending = query?.state.status === \"pending\";\n const existingQueryIsFetching = query?.state.fetchStatus === \"fetching\";\n if (query) {\n const hasNewerSyncData = syncData && // We only need this undefined check to handle older dehydration\n // payloads that might not have dehydratedAt\n dehydratedAt !== void 0 && dehydratedAt > query.state.dataUpdatedAt;\n if (state.dataUpdatedAt > query.state.dataUpdatedAt || hasNewerSyncData) {\n const { fetchStatus: _ignored, ...serializedState } = state;\n query.setState({\n ...serializedState,\n data\n });\n }\n } else {\n query = queryCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.queries,\n ...options?.defaultOptions?.queries,\n queryKey,\n queryHash,\n meta\n },\n // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n {\n ...state,\n data,\n fetchStatus: \"idle\",\n status: data !== void 0 ? \"success\" : state.status\n }\n );\n }\n if (promise && !existingQueryIsPending && !existingQueryIsFetching && // Only hydrate if dehydration is newer than any existing data,\n // this is always true for new queries\n (dehydratedAt === void 0 || dehydratedAt > query.state.dataUpdatedAt)) {\n query.fetch(void 0, {\n // RSC transformed promises are not thenable\n initialPromise: Promise.resolve(promise).then(deserializeData)\n }).catch(noop);\n }\n }\n );\n}\nexport {\n defaultShouldDehydrateMutation,\n defaultShouldDehydrateQuery,\n dehydrate,\n hydrate\n};\n//# sourceMappingURL=hydration.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, ensureQueryFn } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n const page = await queryFn(queryFnContext);\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n}\nfunction hasNextPage(options, data) {\n if (!data) return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam) return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Set();\n this.#scopes = /* @__PURE__ */ new Map();\n this.#mutationId = 0;\n }\n #mutations;\n #scopes;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n client,\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n this.#scopes.set(scope, [mutation]);\n }\n }\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation);\n if (index !== -1) {\n scopedMutations.splice(index, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope);\n }\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = this.#scopes.get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === \"pending\"\n );\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: \"removed\", mutation });\n });\n this.#mutations.clear();\n this.#scopes.clear();\n });\n }\n getAll() {\n return Array.from(this.#mutations);\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id;\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options);\n }\n if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(\n options.queryHash\n )?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(\n {\n type: \"active\",\n ...filters\n },\n options\n );\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n },\n options\n );\n });\n }\n refetchQueries(filters, options = {}) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled() && !query.isStatic()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n ensureInfiniteQueryData(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.ensureQueryData(options);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","\"use client\";\n\n// src/HydrationBoundary.tsx\nimport * as React from \"react\";\nimport { hydrate } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nvar HydrationBoundary = ({\n children,\n options = {},\n state,\n queryClient\n}) => {\n const client = useQueryClient(queryClient);\n const optionsRef = React.useRef(options);\n React.useEffect(() => {\n optionsRef.current = options;\n });\n const hydrationQueue = React.useMemo(() => {\n if (state) {\n if (typeof state !== \"object\") {\n return;\n }\n const queryCache = client.getQueryCache();\n const queries = state.queries || [];\n const newQueries = [];\n const existingQueries = [];\n for (const dehydratedQuery of queries) {\n const existingQuery = queryCache.get(dehydratedQuery.queryHash);\n if (!existingQuery) {\n newQueries.push(dehydratedQuery);\n } else {\n const hydrationIsNewer = dehydratedQuery.state.dataUpdatedAt > existingQuery.state.dataUpdatedAt || dehydratedQuery.promise && existingQuery.state.status !== \"pending\" && existingQuery.state.fetchStatus !== \"fetching\" && dehydratedQuery.dehydratedAt !== void 0 && dehydratedQuery.dehydratedAt > existingQuery.state.dataUpdatedAt;\n if (hydrationIsNewer) {\n existingQueries.push(dehydratedQuery);\n }\n }\n }\n if (newQueries.length > 0) {\n hydrate(client, { queries: newQueries }, optionsRef.current);\n }\n if (existingQueries.length > 0) {\n return existingQueries;\n }\n }\n return void 0;\n }, [client, state]);\n React.useEffect(() => {\n if (hydrationQueue) {\n hydrate(client, { queries: hydrationQueue }, optionsRef.current);\n }\n }, [client, hydrationQueue]);\n return children;\n};\nexport {\n HydrationBoundary\n};\n//# sourceMappingURL=HydrationBoundary.js.map"],"names":["defaultTransformerFn","data","dehydrateMutation","mutation","dehydrateQuery","query","serializeData","shouldRedactErrors","dehydratePromise","promise","error","noop","defaultShouldDehydrateMutation","defaultShouldDehydrateQuery","defaultShouldRedactErrors","_","dehydrate","client","options","filterMutation","mutations","filterQuery","queries","hydrate","dehydratedState","mutationCache","queryCache","deserializeData","state","mutationOptions","queryKey","queryHash","meta","dehydratedAt","syncData","tryResolveSync","rawData","existingQueryIsPending","existingQueryIsFetching","hasNewerSyncData","_ignored","serializedState","infiniteQueryBehavior","pages","context","direction","oldPages","oldPageParams","result","currentPage","fetchFn","cancelled","addSignalProperty","object","queryFn","ensureQueryFn","fetchPage","param","previous","queryFnContext","queryFnContext2","page","maxPages","addTo","addToStart","addToEnd","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","hasNextPage","hasPreviousPage","MutationCache","Subscribable","config","#mutations","#scopes","#mutationId","Mutation","scope","scopeFor","scopedMutations","index","firstPendingMutation","m","notifyManager","filters","defaultedFilters","matchMutation","event","listener","pausedMutations","x","QueryCache","#queries","hashQueryKeyByOptions","Query","queryInMap","matchQuery","QueryClient","#queryCache","#mutationCache","#defaultOptions","#queryDefaults","#mutationDefaults","#mountCount","#unsubscribeFocus","#unsubscribeOnline","focusManager","focused","onlineManager","online","defaultedOptions","cachedData","resolveStaleTime","updater","prevData","functionalUpdate","cancelOptions","defaultedCancelOptions","promises","fetchOptions","hashKey","defaults","queryDefault","partialMatchKey","mutationKey","skipToken","HydrationBoundary","children","queryClient","useQueryClient","optionsRef","React","hydrationQueue","newQueries","existingQueries","dehydratedQuery","existingQuery"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
@@ -0,0 +1,100 @@
1
+ import { j as e } from "./jsx-runtime-BzflLqGi.js";
2
+ import { DialogTrigger as c } from "@radix-ui/react-dialog";
3
+ import { useState as u, useCallback as x, useEffect as m } from "react";
4
+ import { B as d } from "./Button-GUVe7pmt.js";
5
+ import { D as g, a as p, b as h, c as f, d as j, e as D } from "./Dialog-hlvmmQ_c.js";
6
+ const C = ({
7
+ total: i,
8
+ current: s,
9
+ barLength: a = 25,
10
+ emptyChar: r = "░",
11
+ filledChar: o = "█"
12
+ }) => {
13
+ const t = Math.round(s / i * 100), l = Math.round(t / 100 * a), n = a - l;
14
+ return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
15
+ o.repeat(l),
16
+ r.repeat(n),
17
+ " ",
18
+ t,
19
+ "% (",
20
+ s,
21
+ "/",
22
+ i,
23
+ ")"
24
+ ] });
25
+ }, F = ({ children: i }) => {
26
+ const [s, a] = u({
27
+ status: "idle"
28
+ }), r = x(() => {
29
+ a({ status: "indexing", total: 0, current: 0, path: "" });
30
+ const t = new EventSource("/__z/pagefind-reindex");
31
+ return t.onmessage = (l) => {
32
+ const n = JSON.parse(l.data);
33
+ n.type === "progress" ? a({
34
+ status: "indexing",
35
+ total: n.total,
36
+ current: n.current,
37
+ path: n.path
38
+ }) : n.type === "complete" && (t.close(), n.success ? a({ status: "complete", indexed: n.indexed }) : a({
39
+ status: "error",
40
+ message: n.error ?? "Indexing failed"
41
+ }));
42
+ }, t.onerror = () => {
43
+ t.close(), a({
44
+ status: "error",
45
+ message: "Connection lost during indexing"
46
+ });
47
+ }, () => t.close();
48
+ }, []);
49
+ m(() => {
50
+ if (s.status === "idle")
51
+ return r();
52
+ }, [s.status, r]);
53
+ const o = () => {
54
+ s.status === "complete" && window.location.reload();
55
+ };
56
+ return /* @__PURE__ */ e.jsxs(g, { children: [
57
+ /* @__PURE__ */ e.jsx(c, { asChild: !0, children: i }),
58
+ /* @__PURE__ */ e.jsxs(
59
+ p,
60
+ {
61
+ className: "max-w-sm! top-1/3",
62
+ showCloseButton: !1,
63
+ onInteractOutside: (t) => t.preventDefault(),
64
+ children: [
65
+ /* @__PURE__ */ e.jsxs(h, { children: [
66
+ /* @__PURE__ */ e.jsxs(f, { children: [
67
+ s.status === "indexing" && "Building Search Index",
68
+ s.status === "complete" && "Indexing Complete",
69
+ s.status === "error" && "Indexing Failed",
70
+ s.status === "idle" && "Build Search Index"
71
+ ] }),
72
+ /* @__PURE__ */ e.jsxs(j, { children: [
73
+ s.status === "indexing" && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
74
+ s.total > 0 && /* @__PURE__ */ e.jsx("div", { className: "font-mono text-sm mb-2", children: /* @__PURE__ */ e.jsx(C, { ...s }) }),
75
+ s.path && /* @__PURE__ */ e.jsx("span", { className: "block text-xs truncate", children: s.path })
76
+ ] }),
77
+ s.status === "complete" && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
78
+ "Successfully indexed ",
79
+ s.indexed,
80
+ " pages."
81
+ ] }),
82
+ s.status === "error" && /* @__PURE__ */ e.jsx("span", { className: "text-destructive", children: s.message })
83
+ ] })
84
+ ] }),
85
+ /* @__PURE__ */ e.jsx(D, { children: /* @__PURE__ */ e.jsxs("div", { className: "flex justify-end gap-2", children: [
86
+ s.status === "complete" && /* @__PURE__ */ e.jsx(d, { size: "sm", onClick: o, children: "Close and reload" }),
87
+ s.status === "error" && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
88
+ /* @__PURE__ */ e.jsx(d, { variant: "outline", onClick: o, children: "Cancel" }),
89
+ /* @__PURE__ */ e.jsx(d, { onClick: r, children: "Retry" })
90
+ ] })
91
+ ] }) })
92
+ ]
93
+ }
94
+ )
95
+ ] });
96
+ };
97
+ export {
98
+ F as default
99
+ };
100
+ //# sourceMappingURL=IndexingDialog-D0YdGfbn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexingDialog-D0YdGfbn.js","sources":["../src/lib/plugins/search-pagefind/IndexingDialog.tsx"],"sourcesContent":["import { DialogTrigger } from \"@radix-ui/react-dialog\";\nimport {\n type PropsWithChildren,\n useCallback,\n useEffect,\n useState,\n} from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"zudoku/ui/Dialog.js\";\n\ntype IndexingState =\n | { status: \"idle\" }\n | { status: \"indexing\"; total: number; current: number; path: string }\n | { status: \"complete\"; indexed: number }\n | { status: \"error\"; message: string };\n\nconst ProgressBar = ({\n total,\n current,\n barLength = 25,\n emptyChar = \"░\",\n filledChar = \"█\",\n}: {\n total: number;\n current: number;\n barLength?: number;\n emptyChar?: string;\n filledChar?: string;\n}) => {\n const percent = Math.round((current / total) * 100);\n const filled = Math.round((percent / 100) * barLength);\n const empty = barLength - filled;\n\n return (\n <>\n {filledChar.repeat(filled)}\n {emptyChar.repeat(empty)} {percent}% ({current}/{total})\n </>\n );\n};\n\nconst IndexingDialog = ({ children }: PropsWithChildren) => {\n const [indexingState, setIndexingState] = useState<IndexingState>({\n status: \"idle\",\n });\n\n const startIndexing = useCallback(() => {\n setIndexingState({ status: \"indexing\", total: 0, current: 0, path: \"\" });\n\n const eventSource = new EventSource(\"/__z/pagefind-reindex\");\n\n eventSource.onmessage = (event) => {\n const data = JSON.parse(event.data);\n\n if (data.type === \"progress\") {\n setIndexingState({\n status: \"indexing\",\n total: data.total,\n current: data.current,\n path: data.path,\n });\n } else if (data.type === \"complete\") {\n eventSource.close();\n if (data.success) {\n setIndexingState({ status: \"complete\", indexed: data.indexed });\n } else {\n setIndexingState({\n status: \"error\",\n message: data.error ?? \"Indexing failed\",\n });\n }\n }\n };\n\n eventSource.onerror = () => {\n eventSource.close();\n setIndexingState({\n status: \"error\",\n message: \"Connection lost during indexing\",\n });\n };\n\n return () => eventSource.close();\n }, []);\n\n useEffect(() => {\n if (indexingState.status !== \"idle\") return;\n return startIndexing();\n }, [indexingState.status, startIndexing]);\n\n const handleDone = () => {\n if (indexingState.status !== \"complete\") return;\n window.location.reload();\n };\n\n return (\n <Dialog>\n <DialogTrigger asChild>{children}</DialogTrigger>\n <DialogContent\n className=\"max-w-sm! top-1/3\"\n showCloseButton={false}\n onInteractOutside={(e) => e.preventDefault()}\n >\n <DialogHeader>\n <DialogTitle>\n {indexingState.status === \"indexing\" && \"Building Search Index\"}\n {indexingState.status === \"complete\" && \"Indexing Complete\"}\n {indexingState.status === \"error\" && \"Indexing Failed\"}\n {indexingState.status === \"idle\" && \"Build Search Index\"}\n </DialogTitle>\n <DialogDescription>\n {indexingState.status === \"indexing\" && (\n <>\n {indexingState.total > 0 && (\n <div className=\"font-mono text-sm mb-2\">\n <ProgressBar {...indexingState} />\n </div>\n )}\n {indexingState.path && (\n <span className=\"block text-xs truncate\">\n {indexingState.path}\n </span>\n )}\n </>\n )}\n {indexingState.status === \"complete\" && (\n <>Successfully indexed {indexingState.indexed} pages.</>\n )}\n {indexingState.status === \"error\" && (\n <span className=\"text-destructive\">{indexingState.message}</span>\n )}\n </DialogDescription>\n </DialogHeader>\n <DialogFooter>\n <div className=\"flex justify-end gap-2\">\n {indexingState.status === \"complete\" && (\n <Button size=\"sm\" onClick={handleDone}>\n Close and reload\n </Button>\n )}\n {indexingState.status === \"error\" && (\n <>\n <Button variant=\"outline\" onClick={handleDone}>\n Cancel\n </Button>\n <Button onClick={startIndexing}>Retry</Button>\n </>\n )}\n </div>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default IndexingDialog;\n"],"names":["ProgressBar","total","current","barLength","emptyChar","filledChar","percent","filled","empty","jsxs","Fragment","IndexingDialog","children","indexingState","setIndexingState","useState","startIndexing","useCallback","eventSource","event","data","useEffect","handleDone","Dialog","jsx","DialogTrigger","DialogContent","e","DialogHeader","DialogTitle","DialogDescription","DialogFooter","Button"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { j as i } from "./jsx-runtime-BzflLqGi.js";
2
+ import * as s from "react";
3
+ import { c as n } from "./cn-5-Gd1Dss.js";
4
+ const a = s.forwardRef(
5
+ ({ className: e, type: r, ...o }, t) => /* @__PURE__ */ i.jsx(
6
+ "input",
7
+ {
8
+ type: r,
9
+ className: n(
10
+ "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
11
+ e
12
+ ),
13
+ ref: t,
14
+ ...o
15
+ }
16
+ )
17
+ );
18
+ a.displayName = "Input";
19
+ export {
20
+ a as I
21
+ };
22
+ //# sourceMappingURL=Input-Cx-GeKoF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input-Cx-GeKoF.js","sources":["../src/lib/ui/Input.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\ntype InputProps = React.InputHTMLAttributes<HTMLInputElement>;\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n"],"names":["Input","React","className","type","props","ref","jsx","cn"],"mappings":";;;AAKA,MAAMA,IAAQC,EAAM;AAAA,EAClB,CAAC,EAAE,WAAAC,GAAW,MAAAC,GAAM,GAAGC,EAAA,GAASC,MAE5BC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAH;AAAA,MACA,WAAWI;AAAA,QACT;AAAA,QACAL;AAAA,MAAA;AAAA,MAEF,KAAAG;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EAAA;AAIZ;AACAJ,EAAM,cAAc;"}
@@ -0,0 +1,210 @@
1
+ import { j as e } from "./jsx-runtime-BzflLqGi.js";
2
+ import { s as H } from "./index-UOLtazB8.js";
3
+ import { H as R } from "./index.esm-B_0dvNjB.js";
4
+ import { CheckIcon as U, CopyIcon as _, ChevronDownIcon as $, Link2Icon as A, ExternalLinkIcon as q, EditIcon as B } from "lucide-react";
5
+ import { useState as F, useEffect as G } from "react";
6
+ import { a as V } from "./chunk-EPOLDU6W-C6C8jAwd.js";
7
+ import { B as j } from "./Button-GUVe7pmt.js";
8
+ import { D as W, a as X, b as J, c as l } from "./DropdownMenu-DN0jNrjj.js";
9
+ import { C as K } from "./CategoryHeading-DhmodDcq.js";
10
+ import { T as O, H as f } from "./index-CL8eDnQW.js";
11
+ import { T as Q } from "./Toc-Cgz6CPiE.js";
12
+ import { b as Y, j as Z, c as ee } from "./ZudokuContext-BZB1TWdT.js";
13
+ import { C as se, a as oe, P as ie } from "./ClaudeLogo-DJ9bU-sO.js";
14
+ import { u as ne } from "./index-DBjOT2H1.js";
15
+ const ae = {
16
+ h2: ({ children: i, id: n }) => /* @__PURE__ */ e.jsx(f, { level: 2, id: n, registerNavigationAnchor: !0, children: i }),
17
+ h3: ({ children: i, id: n }) => /* @__PURE__ */ e.jsx(f, { level: 3, id: n, registerNavigationAnchor: !0, children: i })
18
+ }, ve = ({
19
+ mdxComponent: i,
20
+ basePath: n,
21
+ frontmatter: o = {},
22
+ defaultOptions: a,
23
+ __filepath: c,
24
+ tableOfContents: m,
25
+ excerpt: b
26
+ }) => {
27
+ const k = Y()?.categoryLabel, y = V(), [T, u] = F(!1), t = o.title, w = o.description ?? b, p = o.category ?? k, M = o.toc === !1 || a?.toc === !1, E = t ?? m.find((s) => s.depth === 1)?.value, I = o.disable_pager ?? o.disablePager ?? a?.disablePager ?? !1, v = o.showLastModified ?? a?.showLastModified ?? !0, r = o.lastModifiedTime ? new Date(o.lastModifiedTime) : null, d = o.suggestEdit !== !1 && (o.suggestEdit ?? a?.suggestEdit), x = d ? d.url.replaceAll("{filePath}", c) : null, L = d ? d.text || "Edit this page" : null, P = o.copyPage !== !1 && a?.copyPage !== !1, C = Z(n, `${y.pathname}.md`), z = async () => {
28
+ const s = await fetch(C);
29
+ if (!s.ok) throw new Error("Failed to fetch markdown");
30
+ const S = await s.text();
31
+ navigator.clipboard.writeText(S), u(!0), setTimeout(() => u(!1), 2e3);
32
+ }, N = m.find((s) => s.depth === 1)?.children ?? // if `title` is provided by frontmatter it does not appear in the table of contents
33
+ m.filter((s) => s.depth === 2), D = !M && N.length > 0, { prev: g, next: h } = ee();
34
+ return G(() => {
35
+ if (process.env.NODE_ENV === "development")
36
+ return window.__getReactRefreshIgnoredExports = ({ id: s }) => {
37
+ if (s.endsWith(c))
38
+ return ["frontmatter", "tableOfContents"];
39
+ }, () => {
40
+ window.__getReactRefreshIgnoredExports = void 0;
41
+ };
42
+ }, [c]), /* @__PURE__ */ e.jsxs(
43
+ "div",
44
+ {
45
+ className: "grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between",
46
+ "data-pagefind-filter": "section:markdown",
47
+ "data-pagefind-meta": "section:markdown",
48
+ children: [
49
+ /* @__PURE__ */ e.jsxs(R, { children: [
50
+ /* @__PURE__ */ e.jsx("title", { children: E }),
51
+ w && /* @__PURE__ */ e.jsx("meta", { name: "description", content: w })
52
+ ] }),
53
+ /* @__PURE__ */ e.jsxs(O, { className: "max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)", children: [
54
+ (p || t) && /* @__PURE__ */ e.jsxs("header", { className: "flex items-start justify-between gap-4", children: [
55
+ /* @__PURE__ */ e.jsxs("div", { className: "flex-1", children: [
56
+ p && /* @__PURE__ */ e.jsx(K, { children: p }),
57
+ t && /* @__PURE__ */ e.jsx(f, { level: 1, id: H(t), children: t })
58
+ ] }),
59
+ P && /* @__PURE__ */ e.jsxs("div", { className: "flex items-center border rounded-md", children: [
60
+ /* @__PURE__ */ e.jsxs(
61
+ j,
62
+ {
63
+ variant: "ghost",
64
+ size: "sm",
65
+ onClick: z,
66
+ className: "rounded-r-none border-r gap-2 h-7",
67
+ children: [
68
+ T ? /* @__PURE__ */ e.jsx(U, { size: 14, className: "text-emerald-600" }) : /* @__PURE__ */ e.jsx(_, { size: 14 }),
69
+ /* @__PURE__ */ e.jsx("span", { children: "Copy page" })
70
+ ]
71
+ }
72
+ ),
73
+ /* @__PURE__ */ e.jsxs(W, { children: [
74
+ /* @__PURE__ */ e.jsx(X, { asChild: !0, children: /* @__PURE__ */ e.jsx(
75
+ j,
76
+ {
77
+ variant: "ghost",
78
+ size: "icon-xs",
79
+ className: "rounded-l-none",
80
+ children: /* @__PURE__ */ e.jsx($, { size: 14 })
81
+ }
82
+ ) }),
83
+ /* @__PURE__ */ e.jsxs(J, { align: "end", children: [
84
+ /* @__PURE__ */ e.jsxs(
85
+ l,
86
+ {
87
+ className: "gap-2",
88
+ onClick: () => void navigator.clipboard.writeText(window.location.href),
89
+ children: [
90
+ /* @__PURE__ */ e.jsx(A, { className: "size-4" }),
91
+ "Copy link to page"
92
+ ]
93
+ }
94
+ ),
95
+ /* @__PURE__ */ e.jsx(l, { className: "gap-2", asChild: !0, children: /* @__PURE__ */ e.jsxs(
96
+ "a",
97
+ {
98
+ href: C,
99
+ target: "_blank",
100
+ rel: "noopener noreferrer",
101
+ children: [
102
+ /* @__PURE__ */ e.jsx(q, { className: "size-4" }),
103
+ "Open Markdown page"
104
+ ]
105
+ }
106
+ ) }),
107
+ /* @__PURE__ */ e.jsxs(
108
+ l,
109
+ {
110
+ className: "gap-2",
111
+ onClick: () => {
112
+ const s = encodeURIComponent(
113
+ `Help me understand this documentation page: ${window.location.href}`
114
+ );
115
+ window.open(
116
+ `https://claude.ai/new?q=${s}`,
117
+ "_blank"
118
+ );
119
+ },
120
+ children: [
121
+ /* @__PURE__ */ e.jsx(se, { className: "size-4" }),
122
+ "Open in Claude"
123
+ ]
124
+ }
125
+ ),
126
+ /* @__PURE__ */ e.jsxs(
127
+ l,
128
+ {
129
+ className: "gap-2",
130
+ onClick: () => {
131
+ const s = encodeURIComponent(
132
+ `Help me understand this documentation page: ${window.location.href}`
133
+ );
134
+ window.open(
135
+ `https://chatgpt.com/?q=${s}`,
136
+ "_blank"
137
+ );
138
+ },
139
+ children: [
140
+ /* @__PURE__ */ e.jsx(oe, { className: "size-4" }),
141
+ "Open in ChatGPT"
142
+ ]
143
+ }
144
+ )
145
+ ] })
146
+ ] })
147
+ ] })
148
+ ] }),
149
+ /* @__PURE__ */ e.jsx(
150
+ i,
151
+ {
152
+ components: { ...ne(), ...ae }
153
+ }
154
+ ),
155
+ /* @__PURE__ */ e.jsx("div", { className: "h-16" }),
156
+ v && r || x ? /* @__PURE__ */ e.jsxs("div", { className: "flex justify-between text-xs text-muted-foreground ", children: [
157
+ /* @__PURE__ */ e.jsx("div", {}),
158
+ /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
159
+ /* @__PURE__ */ e.jsx("div", { children: x && /* @__PURE__ */ e.jsx(j, { asChild: !0, variant: "ghost", size: "sm", children: /* @__PURE__ */ e.jsxs(
160
+ "a",
161
+ {
162
+ href: x,
163
+ target: "_blank",
164
+ rel: "noopener noreferrer",
165
+ className: "flex items-center gap-1",
166
+ children: [
167
+ /* @__PURE__ */ e.jsx(B, { size: 12 }),
168
+ L
169
+ ]
170
+ }
171
+ ) }) }),
172
+ /* @__PURE__ */ e.jsx("div", { children: v && r && /* @__PURE__ */ e.jsxs(
173
+ "div",
174
+ {
175
+ title: r.toLocaleString(void 0, {
176
+ dateStyle: "full",
177
+ timeStyle: "medium"
178
+ }),
179
+ children: [
180
+ "Last modified on",
181
+ " ",
182
+ /* @__PURE__ */ e.jsx("time", { dateTime: r.toISOString(), children: r.toLocaleDateString("en-US", {
183
+ dateStyle: "long"
184
+ }) })
185
+ ]
186
+ }
187
+ ) })
188
+ ] })
189
+ ] }) : null,
190
+ !I && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
191
+ /* @__PURE__ */ e.jsx("div", { className: "h-px bg-border mt-2 mb-6" }),
192
+ /* @__PURE__ */ e.jsx(
193
+ ie,
194
+ {
195
+ prev: g ? { to: g.id, label: g.label ?? "" } : void 0,
196
+ next: h ? { to: h.id, label: h.label ?? "" } : void 0,
197
+ className: "mb-10"
198
+ }
199
+ )
200
+ ] })
201
+ ] }),
202
+ /* @__PURE__ */ e.jsx("div", { className: "hidden xl:block", "data-pagefind-ignore": "all", children: D && /* @__PURE__ */ e.jsx(Q, { entries: N }) })
203
+ ]
204
+ }
205
+ );
206
+ };
207
+ export {
208
+ ve as MdxPage
209
+ };
210
+ //# sourceMappingURL=MdxPage-stpAoBtx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MdxPage-stpAoBtx.js","sources":["../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["import { useMDXComponents } from \"@mdx-js/react\";\nimport slugify from \"@sindresorhus/slugify\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport {\n CheckIcon,\n ChevronDownIcon,\n CopyIcon,\n EditIcon,\n ExternalLinkIcon,\n Link2Icon,\n} from \"lucide-react\";\nimport { type PropsWithChildren, useEffect, useState } from \"react\";\nimport { useLocation } from \"react-router\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"zudoku/ui/DropdownMenu.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { ChatGPTLogo } from \"./assets/ChatGPTLogo.js\";\nimport { ClaudeLogo } from \"./assets/ClaudeLogo.js\";\nimport type { MarkdownPluginDefaultOptions, MDXImport } from \"./index.js\";\n\ndeclare global {\n interface Window {\n __getReactRefreshIgnoredExports?: (args: {\n id: string;\n }) => string[] | undefined;\n }\n}\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n basePath,\n frontmatter = {},\n defaultOptions,\n __filepath,\n tableOfContents,\n excerpt,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n basePath: string;\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n const location = useLocation();\n const [isCopied, setIsCopied] = useState(false);\n\n const title = frontmatter.title;\n const description = frontmatter.description ?? excerpt;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n title ?? tableOfContents.find((item) => item.depth === 1)?.value;\n const hidePager =\n frontmatter.disable_pager ??\n frontmatter.disablePager ??\n defaultOptions?.disablePager ??\n false;\n\n const showLastModified =\n frontmatter.showLastModified ?? defaultOptions?.showLastModified ?? true;\n\n const lastModifiedDate = frontmatter.lastModifiedTime\n ? new Date(frontmatter.lastModifiedTime)\n : null;\n\n const editConfig =\n frontmatter.suggestEdit !== false &&\n (frontmatter.suggestEdit ?? defaultOptions?.suggestEdit);\n\n const editUrl = editConfig\n ? editConfig.url.replaceAll(\"{filePath}\", __filepath)\n : null;\n const editText = editConfig ? editConfig.text || \"Edit this page\" : null;\n\n const copyMarkdownConfig =\n frontmatter.copyPage !== false && defaultOptions?.copyPage !== false;\n\n const markdownUrl = joinUrl(basePath, `${location.pathname}.md`);\n\n const handleCopyMarkdown = async () => {\n const response = await fetch(markdownUrl);\n if (!response.ok) throw new Error(\"Failed to fetch markdown\");\n const markdown = await response.text();\n void navigator.clipboard.writeText(markdown);\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n };\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"development\") {\n window.__getReactRefreshIgnoredExports = ({ id }) => {\n if (!id.endsWith(__filepath)) return;\n\n return [\"frontmatter\", \"tableOfContents\"];\n };\n\n return () => {\n window.__getReactRefreshIgnoredExports = undefined;\n };\n }\n }, [__filepath]);\n\n return (\n <div\n className=\"grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:markdown\"\n data-pagefind-meta=\"section:markdown\"\n >\n <Helmet>\n <title>{pageTitle}</title>\n {description && <meta name=\"description\" content={description} />}\n </Helmet>\n <Typography className=\"max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)\">\n {(category || title) && (\n <header className=\"flex items-start justify-between gap-4\">\n <div className=\"flex-1\">\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title)}>\n {title}\n </Heading>\n )}\n </div>\n {copyMarkdownConfig && (\n <div className=\"flex items-center border rounded-md\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleCopyMarkdown}\n className=\"rounded-r-none border-r gap-2 h-7\"\n >\n {isCopied ? (\n <CheckIcon size={14} className=\"text-emerald-600\" />\n ) : (\n <CopyIcon size={14} />\n )}\n <span>Copy page</span>\n </Button>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-xs\"\n className=\"rounded-l-none\"\n >\n <ChevronDownIcon size={14} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() =>\n void navigator.clipboard.writeText(window.location.href)\n }\n >\n <Link2Icon className=\"size-4\" />\n Copy link to page\n </DropdownMenuItem>\n <DropdownMenuItem className=\"gap-2\" asChild>\n <a\n href={markdownUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <ExternalLinkIcon className=\"size-4\" />\n Open Markdown page\n </a>\n </DropdownMenuItem>\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this documentation page: ${window.location.href}`,\n );\n window.open(\n `https://claude.ai/new?q=${prompt}`,\n \"_blank\",\n );\n }}\n >\n <ClaudeLogo className=\"size-4\" />\n Open in Claude\n </DropdownMenuItem>\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this documentation page: ${window.location.href}`,\n );\n window.open(\n `https://chatgpt.com/?q=${prompt}`,\n \"_blank\",\n );\n }}\n >\n <ChatGPTLogo className=\"size-4\" />\n Open in ChatGPT\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n )}\n </header>\n )}\n\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n <div className=\"h-16\" />\n {(showLastModified && lastModifiedDate) || editUrl ? (\n <div className=\"flex justify-between text-xs text-muted-foreground \">\n <div />\n <div className=\"flex items-center gap-2\">\n <div>\n {editUrl && (\n <Button asChild variant=\"ghost\" size=\"sm\">\n <a\n href={editUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1\"\n >\n <EditIcon size={12} />\n {editText}\n </a>\n </Button>\n )}\n </div>\n <div>\n {showLastModified && lastModifiedDate && (\n <div\n title={lastModifiedDate.toLocaleString(undefined, {\n dateStyle: \"full\",\n timeStyle: \"medium\",\n })}\n >\n Last modified on{\" \"}\n <time dateTime={lastModifiedDate.toISOString()}>\n {lastModifiedDate.toLocaleDateString(\"en-US\", {\n dateStyle: \"long\",\n })}\n </time>\n </div>\n )}\n </div>\n </div>\n </div>\n ) : null}\n {!hidePager && (\n <>\n <div className=\"h-px bg-border mt-2 mb-6\" />\n <Pagination\n prev={prev ? { to: prev.id, label: prev.label ?? \"\" } : undefined}\n next={next ? { to: next.id, label: next.label ?? \"\" } : undefined}\n className=\"mb-10\"\n />\n </>\n )}\n </Typography>\n <div className=\"hidden xl:block\" data-pagefind-ignore=\"all\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["MarkdownHeadings","children","id","jsx","Heading","MdxPage","MdxComponent","basePath","frontmatter","defaultOptions","__filepath","tableOfContents","excerpt","categoryTitle","useCurrentItem","location","useLocation","isCopied","setIsCopied","useState","title","description","category","hideToc","pageTitle","item","hidePager","showLastModified","lastModifiedDate","editConfig","editUrl","editText","copyMarkdownConfig","markdownUrl","joinUrl","handleCopyMarkdown","response","markdown","tocEntries","showToc","prev","next","usePrevNext","useEffect","jsxs","Helmet","Typography","CategoryHeading","slugify","Button","CheckIcon","CopyIcon","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","DropdownMenuItem","Link2Icon","ExternalLinkIcon","prompt","ClaudeLogo","ChatGPTLogo","useMDXComponents","EditIcon","Fragment","Pagination","Toc"],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { j as r } from "./jsx-runtime-BzflLqGi.js";
2
+ import { e as f } from "./useSuspenseQuery-CSB_rVek.js";
3
+ import { useId as p } from "react";
4
+ import { c as g } from "./index-DI5SPFK9.js";
5
+ import { c as i } from "./cn-5-Gd1Dss.js";
6
+ import { a as v } from "./index-DBjOT2H1.js";
7
+ import { S as x } from "./Spinner-CI6bRyZw.js";
8
+ const h = g(
9
+ "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
10
+ {
11
+ variants: {
12
+ variant: {
13
+ default: "bg-card text-card-foreground",
14
+ destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
15
+ }
16
+ },
17
+ defaultVariants: {
18
+ variant: "default"
19
+ }
20
+ }
21
+ );
22
+ function w({
23
+ className: e,
24
+ variant: t,
25
+ ...a
26
+ }) {
27
+ return /* @__PURE__ */ r.jsx(
28
+ "div",
29
+ {
30
+ "data-slot": "alert",
31
+ role: "alert",
32
+ className: i(h({ variant: t }), e),
33
+ ...a
34
+ }
35
+ );
36
+ }
37
+ function y({ className: e, ...t }) {
38
+ return /* @__PURE__ */ r.jsx(
39
+ "div",
40
+ {
41
+ "data-slot": "alert-title",
42
+ className: i(
43
+ "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
44
+ e
45
+ ),
46
+ ...t
47
+ }
48
+ );
49
+ }
50
+ function j({
51
+ className: e,
52
+ ...t
53
+ }) {
54
+ return /* @__PURE__ */ r.jsx(
55
+ "div",
56
+ {
57
+ "data-slot": "alert-description",
58
+ className: i(
59
+ "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
60
+ e
61
+ ),
62
+ ...t
63
+ }
64
+ );
65
+ }
66
+ let s = null;
67
+ const b = () => (s || (s = import("mermaid").then((e) => e.default).catch((e) => {
68
+ throw new Error(
69
+ "Mermaid is not installed. Please install it with: npm install mermaid",
70
+ { cause: e }
71
+ );
72
+ })), s), P = ({ chart: e, config: t, ...a }) => {
73
+ const d = p(), n = v(), {
74
+ data: m,
75
+ error: o,
76
+ isPending: c
77
+ } = f({
78
+ queryKey: ["mermaid", e, t, n.resolvedTheme],
79
+ queryFn: async () => {
80
+ const l = await b();
81
+ l.initialize({
82
+ theme: n.resolvedTheme === "dark" ? "dark" : "base",
83
+ ...t
84
+ });
85
+ const { svg: u } = await l.render(d, e);
86
+ return u;
87
+ },
88
+ enabled: typeof window < "u",
89
+ retry: !1
90
+ });
91
+ return o ? /* @__PURE__ */ r.jsxs(w, { className: "flex flex-col gap-2", variant: "destructive", children: [
92
+ /* @__PURE__ */ r.jsx(y, { children: "Mermaid Error" }),
93
+ /* @__PURE__ */ r.jsx(j, { className: "overflow-auto wrap-break-word whitespace-pre-wrap font-mono text-xs", children: o.message })
94
+ ] }) : c ? /* @__PURE__ */ r.jsx(x, {}) : /* @__PURE__ */ r.jsx("div", { ...a, dangerouslySetInnerHTML: { __html: m } });
95
+ };
96
+ export {
97
+ w as A,
98
+ P as M,
99
+ y as a,
100
+ j as b
101
+ };
102
+ //# sourceMappingURL=Mermaid-Koc3z8mU.js.map