zudoku 0.0.0-ec30b50 → 0.0.0-ed94abf

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 (900) hide show
  1. package/README.md +1 -1
  2. package/cli.js +3 -0
  3. package/dist/app/entry.client.d.ts +5 -0
  4. package/dist/app/entry.client.js +3 -0
  5. package/dist/app/entry.client.js.map +1 -1
  6. package/dist/app/entry.server.d.ts +8 -6
  7. package/dist/app/entry.server.js +12 -8
  8. package/dist/app/entry.server.js.map +1 -1
  9. package/dist/app/main.js +10 -5
  10. package/dist/app/main.js.map +1 -1
  11. package/dist/app/tailwind.js +20 -0
  12. package/dist/app/tailwind.js.map +1 -1
  13. package/dist/cli/build/handler.d.ts +1 -3
  14. package/dist/cli/build/handler.js +9 -1
  15. package/dist/cli/build/handler.js.map +1 -1
  16. package/dist/cli/cli.js +5 -0
  17. package/dist/cli/cli.js.map +1 -1
  18. package/dist/cli/cmds/build.d.ts +11 -3
  19. package/dist/cli/cmds/build.js +20 -13
  20. package/dist/cli/cmds/build.js.map +1 -1
  21. package/dist/cli/cmds/dev.d.ts +1 -1
  22. package/dist/cli/cmds/dev.js.map +1 -1
  23. package/dist/cli/cmds/preview.d.ts +16 -0
  24. package/dist/cli/cmds/preview.js +25 -0
  25. package/dist/cli/cmds/preview.js.map +1 -0
  26. package/dist/cli/common/machine-id/lib.js +1 -0
  27. package/dist/cli/common/machine-id/lib.js.map +1 -1
  28. package/dist/cli/common/utils/ports.d.ts +1 -1
  29. package/dist/cli/common/utils/ports.js +16 -15
  30. package/dist/cli/common/utils/ports.js.map +1 -1
  31. package/dist/cli/dev/handler.js +10 -12
  32. package/dist/cli/dev/handler.js.map +1 -1
  33. package/dist/cli/preview/handler.d.ts +3 -0
  34. package/dist/cli/preview/handler.js +35 -0
  35. package/dist/cli/preview/handler.js.map +1 -0
  36. package/dist/config/ZuploBuildConfig.d.ts +155 -0
  37. package/dist/config/ZuploBuildConfig.js +29 -0
  38. package/dist/config/ZuploBuildConfig.js.map +1 -0
  39. package/dist/config/common.d.ts +5 -3
  40. package/dist/config/config.d.ts +18 -16
  41. package/dist/config/loader.d.ts +7 -6
  42. package/dist/config/loader.js +21 -29
  43. package/dist/config/loader.js.map +1 -1
  44. package/dist/config/validators/BuildSchema.d.ts +60 -0
  45. package/dist/config/validators/BuildSchema.js +31 -0
  46. package/dist/config/validators/BuildSchema.js.map +1 -0
  47. package/dist/config/validators/InputSidebarSchema.d.ts +15 -15
  48. package/dist/config/validators/InputSidebarSchema.js +10 -1
  49. package/dist/config/validators/InputSidebarSchema.js.map +1 -1
  50. package/dist/config/validators/common.d.ts +3205 -691
  51. package/dist/config/validators/common.js +132 -21
  52. package/dist/config/validators/common.js.map +1 -1
  53. package/dist/config/validators/icon-types.d.ts +1 -1
  54. package/dist/config/validators/validate.d.ts +1192 -305
  55. package/dist/index.d.ts +2 -1
  56. package/dist/index.js +1 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/lib/MissingIcon.d.ts +2 -0
  59. package/dist/lib/MissingIcon.js +7 -0
  60. package/dist/lib/MissingIcon.js.map +1 -0
  61. package/dist/lib/authentication/authentication.d.ts +1 -0
  62. package/dist/lib/authentication/hook.d.ts +1 -0
  63. package/dist/lib/authentication/hook.js +11 -1
  64. package/dist/lib/authentication/hook.js.map +1 -1
  65. package/dist/lib/authentication/providers/auth0.d.ts +2 -2
  66. package/dist/lib/authentication/providers/auth0.js +1 -0
  67. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  68. package/dist/lib/authentication/providers/clerk.d.ts +2 -2
  69. package/dist/lib/authentication/providers/clerk.js +25 -6
  70. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  71. package/dist/lib/authentication/providers/openid.d.ts +5 -3
  72. package/dist/lib/authentication/providers/openid.js +24 -10
  73. package/dist/lib/authentication/providers/openid.js.map +1 -1
  74. package/dist/lib/authentication/providers/supabase.d.ts +4 -0
  75. package/dist/lib/authentication/providers/supabase.js +117 -0
  76. package/dist/lib/authentication/providers/supabase.js.map +1 -0
  77. package/dist/lib/authentication/state.d.ts +0 -26
  78. package/dist/lib/authentication/state.js +9 -18
  79. package/dist/lib/authentication/state.js.map +1 -1
  80. package/dist/lib/components/AnchorLink.d.ts +2 -2
  81. package/dist/lib/components/AnchorLink.js +5 -4
  82. package/dist/lib/components/AnchorLink.js.map +1 -1
  83. package/dist/lib/components/Banner.js +1 -1
  84. package/dist/lib/components/Banner.js.map +1 -1
  85. package/dist/lib/components/Bootstrap.d.ts +2 -1
  86. package/dist/lib/components/Bootstrap.js +3 -2
  87. package/dist/lib/components/Bootstrap.js.map +1 -1
  88. package/dist/lib/components/BuildCheck.d.ts +4 -0
  89. package/dist/lib/components/BuildCheck.js +22 -0
  90. package/dist/lib/components/BuildCheck.js.map +1 -0
  91. package/dist/lib/components/Footer.d.ts +1 -0
  92. package/dist/lib/components/Footer.js +32 -0
  93. package/dist/lib/components/Footer.js.map +1 -0
  94. package/dist/lib/components/Header.js +4 -4
  95. package/dist/lib/components/Header.js.map +1 -1
  96. package/dist/lib/components/Heading.d.ts +2 -2
  97. package/dist/lib/components/InlineCode.d.ts +2 -1
  98. package/dist/lib/components/InlineCode.js +2 -9
  99. package/dist/lib/components/InlineCode.js.map +1 -1
  100. package/dist/lib/components/Layout.js +8 -28
  101. package/dist/lib/components/Layout.js.map +1 -1
  102. package/dist/lib/components/Main.d.ts +2 -0
  103. package/dist/lib/components/Main.js +17 -0
  104. package/dist/lib/components/Main.js.map +1 -0
  105. package/dist/lib/components/MobileTopNavigation.js +6 -3
  106. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  107. package/dist/lib/components/Pagination.d.ts +11 -0
  108. package/dist/lib/components/Pagination.js +10 -0
  109. package/dist/lib/components/Pagination.js.map +1 -0
  110. package/dist/lib/components/Search.js +7 -1
  111. package/dist/lib/components/Search.js.map +1 -1
  112. package/dist/lib/components/ThemeSwitch.js +8 -5
  113. package/dist/lib/components/ThemeSwitch.js.map +1 -1
  114. package/dist/lib/components/TopNavigation.d.ts +3 -2
  115. package/dist/lib/components/TopNavigation.js +28 -14
  116. package/dist/lib/components/TopNavigation.js.map +1 -1
  117. package/dist/lib/components/Zudoku.d.ts +1 -1
  118. package/dist/lib/components/Zudoku.js +13 -8
  119. package/dist/lib/components/Zudoku.js.map +1 -1
  120. package/dist/lib/components/cache.d.ts +7 -0
  121. package/dist/lib/components/cache.js +7 -0
  122. package/dist/lib/components/cache.js.map +1 -1
  123. package/dist/lib/components/context/BypassProtectedRoutesContext.d.ts +1 -0
  124. package/dist/lib/components/context/BypassProtectedRoutesContext.js +3 -0
  125. package/dist/lib/components/context/BypassProtectedRoutesContext.js.map +1 -0
  126. package/dist/lib/components/context/RouterEventsEmitter.d.ts +1 -0
  127. package/dist/lib/components/context/RouterEventsEmitter.js +17 -0
  128. package/dist/lib/components/context/RouterEventsEmitter.js.map +1 -0
  129. package/dist/lib/components/context/ViewportAnchorContext.d.ts +2 -4
  130. package/dist/lib/components/context/ViewportAnchorContext.js +5 -10
  131. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  132. package/dist/lib/components/context/ZudokuContext.d.ts +2 -2
  133. package/dist/lib/components/context/ZudokuContext.js +21 -9
  134. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  135. package/dist/lib/components/index.d.ts +11 -3
  136. package/dist/lib/components/index.js +4 -0
  137. package/dist/lib/components/index.js.map +1 -1
  138. package/dist/lib/components/navigation/PoweredByZudoku.d.ts +3 -0
  139. package/dist/lib/components/navigation/PoweredByZudoku.js +7 -0
  140. package/dist/lib/components/navigation/PoweredByZudoku.js.map +1 -0
  141. package/dist/lib/components/navigation/Sidebar.d.ts +3 -1
  142. package/dist/lib/components/navigation/Sidebar.js +3 -12
  143. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  144. package/dist/lib/components/navigation/SidebarBadge.d.ts +2 -0
  145. package/dist/lib/components/navigation/SidebarBadge.js +3 -1
  146. package/dist/lib/components/navigation/SidebarBadge.js.map +1 -1
  147. package/dist/lib/components/navigation/SidebarCategory.d.ts +2 -2
  148. package/dist/lib/components/navigation/SidebarCategory.js +10 -6
  149. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  150. package/dist/lib/components/navigation/SidebarItem.d.ts +1 -0
  151. package/dist/lib/components/navigation/SidebarItem.js +17 -11
  152. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  153. package/dist/lib/components/navigation/SidebarWrapper.d.ts +7 -6
  154. package/dist/lib/components/navigation/SidebarWrapper.js +18 -3
  155. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
  156. package/dist/lib/{plugins/markdown → components/navigation}/Toc.js +5 -7
  157. package/dist/lib/components/navigation/Toc.js.map +1 -0
  158. package/dist/lib/components/navigation/ZudokuLogo.d.ts +6 -0
  159. package/dist/lib/components/navigation/ZudokuLogo.js +5 -0
  160. package/dist/lib/components/navigation/ZudokuLogo.js.map +1 -0
  161. package/dist/lib/components/navigation/ZuploLogo.d.ts +3 -0
  162. package/dist/lib/components/navigation/ZuploLogo.js +4 -0
  163. package/dist/lib/components/navigation/ZuploLogo.js.map +1 -0
  164. package/dist/lib/core/RouteGuard.d.ts +2 -1
  165. package/dist/lib/core/RouteGuard.js +35 -11
  166. package/dist/lib/core/RouteGuard.js.map +1 -1
  167. package/dist/lib/core/ZudokuContext.d.ts +33 -7
  168. package/dist/lib/core/ZudokuContext.js +29 -6
  169. package/dist/lib/core/ZudokuContext.js.map +1 -1
  170. package/dist/lib/core/plugins.d.ts +17 -7
  171. package/dist/lib/core/plugins.js +3 -0
  172. package/dist/lib/core/plugins.js.map +1 -1
  173. package/dist/lib/errors/ErrorAlert.js +6 -1
  174. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  175. package/dist/lib/hooks/index.d.ts +3 -0
  176. package/dist/lib/hooks/index.js +5 -0
  177. package/dist/lib/hooks/index.js.map +1 -0
  178. package/dist/lib/hooks/useEvent.d.ts +11 -0
  179. package/dist/lib/hooks/useEvent.js +19 -0
  180. package/dist/lib/hooks/useEvent.js.map +1 -0
  181. package/dist/lib/hooks/useEvent.test.js +100 -0
  182. package/dist/lib/hooks/useEvent.test.js.map +1 -0
  183. package/dist/lib/icons.d.ts +1 -0
  184. package/dist/lib/icons.js +1 -0
  185. package/dist/lib/icons.js.map +1 -1
  186. package/dist/lib/oas/graphql/index.d.ts +17 -4
  187. package/dist/lib/oas/graphql/index.js +151 -38
  188. package/dist/lib/oas/graphql/index.js.map +1 -1
  189. package/dist/lib/oas/parser/dereference/index.js +2 -0
  190. package/dist/lib/oas/parser/dereference/index.js.map +1 -1
  191. package/dist/lib/oas/parser/index.d.ts +5 -3
  192. package/dist/lib/oas/parser/index.js +0 -22
  193. package/dist/lib/oas/parser/index.js.map +1 -1
  194. package/dist/lib/oas/parser/upgrade/index.js +2 -1
  195. package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
  196. package/dist/lib/plugins/api-catalog/Catalog.d.ts +4 -2
  197. package/dist/lib/plugins/api-catalog/Catalog.js +16 -26
  198. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -1
  199. package/dist/lib/plugins/api-catalog/index.d.ts +1 -0
  200. package/dist/lib/plugins/api-catalog/index.js +39 -8
  201. package/dist/lib/plugins/api-catalog/index.js.map +1 -1
  202. package/dist/lib/plugins/api-keys/CreateApiKey.js +7 -3
  203. package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
  204. package/dist/lib/plugins/api-keys/index.d.ts +1 -0
  205. package/dist/lib/plugins/api-keys/index.js +1 -0
  206. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  207. package/dist/lib/plugins/markdown/MdxPage.d.ts +1 -1
  208. package/dist/lib/plugins/markdown/MdxPage.js +3 -9
  209. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  210. package/dist/lib/plugins/markdown/resolver.d.ts +0 -6
  211. package/dist/lib/plugins/markdown/resolver.js +0 -29
  212. package/dist/lib/plugins/markdown/resolver.js.map +1 -1
  213. package/dist/lib/plugins/openapi/ColorizedParam.js +1 -1
  214. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  215. package/dist/lib/plugins/openapi/Endpoint.js +1 -1
  216. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  217. package/dist/lib/plugins/openapi/{OpenApiRoute.d.ts → OasProvider.d.ts} +1 -2
  218. package/dist/lib/plugins/openapi/OasProvider.js +29 -0
  219. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -0
  220. package/dist/lib/plugins/openapi/OperationList.d.ts +2 -2
  221. package/dist/lib/plugins/openapi/OperationList.js +63 -18
  222. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  223. package/dist/lib/plugins/openapi/OperationListItem.d.ts +1 -1
  224. package/dist/lib/plugins/openapi/OperationListItem.js +7 -12
  225. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  226. package/dist/lib/plugins/openapi/ParamInfos.d.ts +6 -0
  227. package/dist/lib/plugins/openapi/ParamInfos.js +42 -0
  228. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -0
  229. package/dist/lib/plugins/openapi/ParameterList.d.ts +2 -1
  230. package/dist/lib/plugins/openapi/ParameterList.js +3 -2
  231. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  232. package/dist/lib/plugins/openapi/ParameterListItem.js +9 -4
  233. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  234. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +1 -1
  235. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +3 -1
  236. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  237. package/dist/lib/plugins/openapi/SchemaList.d.ts +1 -0
  238. package/dist/lib/plugins/openapi/SchemaList.js +52 -0
  239. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -0
  240. package/dist/lib/plugins/openapi/Sidecar.js +39 -10
  241. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  242. package/dist/lib/plugins/openapi/SidecarExamples.js +2 -2
  243. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  244. package/dist/lib/plugins/openapi/SimpleSelect.js +1 -1
  245. package/dist/lib/plugins/openapi/SimpleSelect.js.map +1 -1
  246. package/dist/lib/plugins/openapi/client/GraphQLClient.d.ts +1 -1
  247. package/dist/lib/plugins/openapi/client/GraphQLClient.js +1 -1
  248. package/dist/lib/plugins/openapi/client/GraphQLClient.js.map +1 -1
  249. package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +6 -2
  250. package/dist/lib/plugins/openapi/client/useCreateQuery.js +6 -5
  251. package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
  252. package/dist/lib/plugins/openapi/components/EnumValues.d.ts +5 -0
  253. package/dist/lib/plugins/openapi/components/EnumValues.js +15 -0
  254. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -0
  255. package/dist/lib/plugins/openapi/components/SelectOnClick.d.ts +5 -0
  256. package/dist/lib/plugins/openapi/components/SelectOnClick.js +16 -0
  257. package/dist/lib/plugins/openapi/components/SelectOnClick.js.map +1 -0
  258. package/dist/lib/plugins/openapi/graphql/gql.d.ts +9 -5
  259. package/dist/lib/plugins/openapi/graphql/gql.js +5 -15
  260. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  261. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +108 -55
  262. package/dist/lib/plugins/openapi/graphql/graphql.js +59 -34
  263. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  264. package/dist/lib/plugins/openapi/index.d.ts +10 -7
  265. package/dist/lib/plugins/openapi/index.js +56 -142
  266. package/dist/lib/plugins/openapi/index.js.map +1 -1
  267. package/dist/lib/plugins/openapi/interfaces.d.ts +36 -10
  268. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +2 -2
  269. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -5
  270. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  271. package/dist/lib/plugins/openapi/playground/Headers.js +1 -1
  272. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  273. package/dist/lib/plugins/openapi/playground/IdentityDialog.d.ts +11 -0
  274. package/dist/lib/plugins/openapi/playground/IdentityDialog.js +14 -0
  275. package/dist/lib/plugins/openapi/playground/IdentityDialog.js.map +1 -0
  276. package/dist/lib/plugins/openapi/playground/IdentitySelector.d.ts +7 -0
  277. package/dist/lib/plugins/openapi/playground/IdentitySelector.js +10 -0
  278. package/dist/lib/plugins/openapi/playground/IdentitySelector.js.map +1 -0
  279. package/dist/lib/plugins/openapi/playground/PathParams.d.ts +3 -2
  280. package/dist/lib/plugins/openapi/playground/PathParams.js +3 -2
  281. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  282. package/dist/lib/plugins/openapi/playground/Playground.d.ts +14 -3
  283. package/dist/lib/plugins/openapi/playground/Playground.js +84 -30
  284. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  285. package/dist/lib/plugins/openapi/playground/QueryParams.js +1 -1
  286. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  287. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +7 -0
  288. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +8 -0
  289. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -0
  290. package/dist/lib/plugins/openapi/playground/rememberedIdentity.d.ts +17 -0
  291. package/dist/lib/plugins/openapi/playground/rememberedIdentity.js +11 -0
  292. package/dist/lib/plugins/openapi/playground/rememberedIdentity.js.map +1 -0
  293. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js +1 -1
  294. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js.map +1 -1
  295. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +20 -14
  296. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  297. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +6 -4
  298. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +4 -3
  299. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  300. package/dist/lib/plugins/openapi/processors/removeExtensions.d.ts +8 -0
  301. package/dist/lib/plugins/openapi/{post-processors → processors}/removeExtensions.js +1 -1
  302. package/dist/lib/plugins/openapi/processors/removeExtensions.js.map +1 -0
  303. package/dist/lib/plugins/openapi/{post-processors → processors}/removeExtensions.test.js +26 -6
  304. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js.map +1 -0
  305. package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.d.ts +3 -1
  306. package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.js +1 -1
  307. package/dist/lib/plugins/openapi/processors/removeParameters.js.map +1 -0
  308. package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.test.js +53 -25
  309. package/dist/lib/plugins/openapi/processors/removeParameters.test.js.map +1 -0
  310. package/dist/lib/plugins/openapi/{post-processors → processors}/removePaths.d.ts +3 -1
  311. package/dist/lib/plugins/openapi/{post-processors → processors}/removePaths.js +1 -1
  312. package/dist/lib/plugins/openapi/processors/removePaths.js.map +1 -0
  313. package/dist/lib/plugins/openapi/processors/removePaths.test.js +144 -0
  314. package/dist/lib/plugins/openapi/processors/removePaths.test.js.map +1 -0
  315. package/dist/lib/plugins/openapi/processors/traverse.js.map +1 -0
  316. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.d.ts +1 -2
  317. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +2 -2
  318. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +1 -1
  319. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.d.ts +2 -1
  320. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js +2 -2
  321. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js.map +1 -1
  322. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.d.ts +0 -1
  323. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js +1 -1
  324. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js.map +1 -1
  325. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.d.ts +4 -0
  326. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +12 -0
  327. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -0
  328. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +2 -4
  329. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +18 -13
  330. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  331. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -2
  332. package/dist/lib/plugins/openapi/schema/SchemaView.js +33 -48
  333. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  334. package/dist/lib/plugins/openapi/schema/utils.d.ts +1 -0
  335. package/dist/lib/plugins/openapi/schema/utils.js +3 -1
  336. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  337. package/dist/lib/plugins/openapi/state.d.ts +25 -0
  338. package/dist/lib/plugins/openapi/state.js +18 -0
  339. package/dist/lib/plugins/openapi/state.js.map +1 -0
  340. package/dist/lib/plugins/openapi/util/createSidebarCategory.d.ts +9 -0
  341. package/dist/lib/plugins/openapi/util/createSidebarCategory.js +23 -0
  342. package/dist/lib/plugins/openapi/util/createSidebarCategory.js.map +1 -0
  343. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +10 -0
  344. package/dist/lib/plugins/openapi/util/getRoutes.js +80 -0
  345. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -0
  346. package/dist/lib/plugins/openapi/util/methodColorMap.d.ts +2 -0
  347. package/dist/lib/plugins/openapi/util/methodColorMap.js +10 -0
  348. package/dist/lib/plugins/openapi/util/methodColorMap.js.map +1 -0
  349. package/dist/lib/plugins/search-pagefind/PagefindSearch.d.ts +6 -0
  350. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +80 -0
  351. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -0
  352. package/dist/lib/plugins/search-pagefind/ResultList.d.ts +8 -0
  353. package/dist/lib/plugins/search-pagefind/ResultList.js +32 -0
  354. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -0
  355. package/dist/lib/plugins/search-pagefind/get-results.d.ts +10 -0
  356. package/dist/lib/plugins/search-pagefind/get-results.js +42 -0
  357. package/dist/lib/plugins/search-pagefind/get-results.js.map +1 -0
  358. package/dist/lib/plugins/search-pagefind/index.d.ts +6 -0
  359. package/dist/lib/plugins/search-pagefind/index.js +9 -0
  360. package/dist/lib/plugins/search-pagefind/index.js.map +1 -0
  361. package/dist/lib/plugins/search-pagefind/types.d.ts +85 -0
  362. package/dist/lib/plugins/search-pagefind/types.js +2 -0
  363. package/dist/lib/plugins/search-pagefind/types.js.map +1 -0
  364. package/dist/lib/ui/Badge.d.ts +1 -1
  365. package/dist/lib/ui/Button.d.ts +2 -2
  366. package/dist/lib/ui/Button.js +2 -1
  367. package/dist/lib/ui/Button.js.map +1 -1
  368. package/dist/lib/ui/Callout.d.ts +2 -1
  369. package/dist/lib/ui/Callout.js +3 -2
  370. package/dist/lib/ui/Callout.js.map +1 -1
  371. package/dist/lib/ui/Checkbox.d.ts +2 -8
  372. package/dist/lib/ui/Checkbox.js +1 -13
  373. package/dist/lib/ui/Checkbox.js.map +1 -1
  374. package/dist/lib/ui/Command.d.ts +7 -1
  375. package/dist/lib/ui/Command.js +2 -2
  376. package/dist/lib/ui/Command.js.map +1 -1
  377. package/dist/lib/ui/Form.d.ts +1 -1
  378. package/dist/lib/ui/Select.js +1 -1
  379. package/dist/lib/ui/Select.js.map +1 -1
  380. package/dist/lib/ui/Stepper.d.ts +3 -0
  381. package/dist/lib/ui/Stepper.js +7 -0
  382. package/dist/lib/ui/Stepper.js.map +1 -0
  383. package/dist/lib/ui/SyntaxHighlight.d.ts +15 -0
  384. package/dist/lib/ui/SyntaxHighlight.js +62 -0
  385. package/dist/lib/ui/SyntaxHighlight.js.map +1 -0
  386. package/dist/lib/ui/util.d.ts +2 -0
  387. package/dist/lib/ui/util.js +3 -0
  388. package/dist/lib/ui/util.js.map +1 -0
  389. package/dist/lib/util/MdxComponents.d.ts +6 -2
  390. package/dist/lib/util/MdxComponents.js +8 -3
  391. package/dist/lib/util/MdxComponents.js.map +1 -1
  392. package/dist/lib/util/detectOS.d.ts +1 -0
  393. package/dist/lib/util/detectOS.js +11 -0
  394. package/dist/lib/util/detectOS.js.map +1 -0
  395. package/dist/lib/util/joinPath.d.ts +3 -0
  396. package/dist/lib/util/joinPath.js +3 -0
  397. package/dist/lib/util/joinPath.js.map +1 -1
  398. package/dist/lib/util/traverse.d.ts +2 -8
  399. package/dist/lib/util/traverse.js +2 -2
  400. package/dist/lib/util/traverse.js.map +1 -1
  401. package/dist/lib/util/types.d.ts +7 -0
  402. package/dist/lib/util/types.js +2 -0
  403. package/dist/lib/util/types.js.map +1 -0
  404. package/dist/lib/util/useLatest.d.ts +1 -0
  405. package/dist/lib/util/useLatest.js +15 -0
  406. package/dist/lib/util/useLatest.js.map +1 -0
  407. package/dist/lib/util/useOnScreen.d.ts +3 -2
  408. package/dist/lib/util/useOnScreen.js +3 -3
  409. package/dist/lib/util/useOnScreen.js.map +1 -1
  410. package/dist/lib/util/useScrollToAnchor.js +26 -20
  411. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  412. package/dist/vite/api/schema-codegen.d.ts +1 -1
  413. package/dist/vite/api/schema-codegen.js +34 -11
  414. package/dist/vite/api/schema-codegen.js.map +1 -1
  415. package/dist/vite/api/schema-codegen.test.js +66 -0
  416. package/dist/vite/api/schema-codegen.test.js.map +1 -1
  417. package/dist/vite/build.js +27 -16
  418. package/dist/vite/build.js.map +1 -1
  419. package/dist/vite/config.d.ts +2 -5
  420. package/dist/vite/config.js +66 -70
  421. package/dist/vite/config.js.map +1 -1
  422. package/dist/vite/config.test.js +1 -1
  423. package/dist/vite/config.test.js.map +1 -1
  424. package/dist/vite/create-pagefind-index.d.ts +4 -0
  425. package/dist/vite/create-pagefind-index.js +12 -0
  426. package/dist/vite/create-pagefind-index.js.map +1 -0
  427. package/dist/vite/css/plugin.d.ts +2 -2
  428. package/dist/vite/css/plugin.js.map +1 -1
  429. package/dist/vite/dev-server.d.ts +4 -2
  430. package/dist/vite/dev-server.js +42 -12
  431. package/dist/vite/dev-server.js.map +1 -1
  432. package/dist/vite/error-handler.d.ts +1 -1
  433. package/dist/vite/error-handler.js +1 -1
  434. package/dist/vite/error-handler.js.map +1 -1
  435. package/dist/vite/output.d.ts +14 -2
  436. package/dist/vite/output.js +12 -14
  437. package/dist/vite/output.js.map +1 -1
  438. package/dist/vite/plugin-api-keys.d.ts +2 -2
  439. package/dist/vite/plugin-api-keys.js +5 -5
  440. package/dist/vite/plugin-api-keys.js.map +1 -1
  441. package/dist/vite/plugin-api.d.ts +2 -2
  442. package/dist/vite/plugin-api.js +98 -54
  443. package/dist/vite/plugin-api.js.map +1 -1
  444. package/dist/vite/plugin-auth.d.ts +2 -2
  445. package/dist/vite/plugin-auth.js +3 -3
  446. package/dist/vite/plugin-auth.js.map +1 -1
  447. package/dist/vite/plugin-component.d.ts +2 -2
  448. package/dist/vite/plugin-component.js +7 -2
  449. package/dist/vite/plugin-component.js.map +1 -1
  450. package/dist/vite/plugin-config-reload.d.ts +4 -3
  451. package/dist/vite/plugin-config-reload.js +13 -6
  452. package/dist/vite/plugin-config-reload.js.map +1 -1
  453. package/dist/vite/plugin-config.d.ts +2 -2
  454. package/dist/vite/plugin-config.js +9 -5
  455. package/dist/vite/plugin-config.js.map +1 -1
  456. package/dist/vite/plugin-custom-pages.d.ts +2 -2
  457. package/dist/vite/plugin-custom-pages.js +3 -3
  458. package/dist/vite/plugin-custom-pages.js.map +1 -1
  459. package/dist/vite/plugin-docs.d.ts +3 -3
  460. package/dist/vite/plugin-docs.js +23 -6
  461. package/dist/vite/plugin-docs.js.map +1 -1
  462. package/dist/vite/plugin-frontmatter.d.ts +2 -2
  463. package/dist/vite/plugin-frontmatter.js +5 -4
  464. package/dist/vite/plugin-frontmatter.js.map +1 -1
  465. package/dist/vite/plugin-mdx.d.ts +2 -2
  466. package/dist/vite/plugin-mdx.js +32 -27
  467. package/dist/vite/plugin-mdx.js.map +1 -1
  468. package/dist/vite/plugin-redirect.d.ts +2 -2
  469. package/dist/vite/plugin-redirect.js +3 -3
  470. package/dist/vite/plugin-redirect.js.map +1 -1
  471. package/dist/vite/plugin-search.d.ts +2 -2
  472. package/dist/vite/plugin-search.js +5 -1
  473. package/dist/vite/plugin-search.js.map +1 -1
  474. package/dist/vite/plugin-sidebar.d.ts +3 -2
  475. package/dist/vite/plugin-sidebar.js +15 -6
  476. package/dist/vite/plugin-sidebar.js.map +1 -1
  477. package/dist/vite/plugin-theme-css.d.ts +2 -2
  478. package/dist/vite/plugin-theme-css.js.map +1 -1
  479. package/dist/vite/plugin.d.ts +2 -2
  480. package/dist/vite/plugin.js.map +1 -1
  481. package/dist/vite/prerender/FileWritingResponse.d.ts +25 -0
  482. package/dist/vite/prerender/FileWritingResponse.js +51 -0
  483. package/dist/vite/prerender/FileWritingResponse.js.map +1 -0
  484. package/dist/vite/prerender/InMemoryResponse.d.ts +16 -0
  485. package/dist/vite/prerender/InMemoryResponse.js +32 -0
  486. package/dist/vite/prerender/InMemoryResponse.js.map +1 -0
  487. package/dist/vite/prerender/PrerenderResponse.d.ts +10 -0
  488. package/dist/vite/prerender/PrerenderResponse.js +2 -0
  489. package/dist/vite/prerender/PrerenderResponse.js.map +1 -0
  490. package/dist/vite/prerender/prerender.d.ts +15 -0
  491. package/dist/vite/prerender/prerender.js +109 -0
  492. package/dist/vite/prerender/prerender.js.map +1 -0
  493. package/dist/vite/prerender/worker.d.ts +13 -0
  494. package/dist/vite/prerender/worker.js +59 -0
  495. package/dist/vite/prerender/worker.js.map +1 -0
  496. package/dist/vite/reporter.d.ts +3 -0
  497. package/dist/vite/reporter.js +33 -0
  498. package/dist/vite/reporter.js.map +1 -0
  499. package/dist/vite/sitemap.js +2 -1
  500. package/dist/vite/sitemap.js.map +1 -1
  501. package/dist/zuplo/enrich-with-zuplo.d.ts +3 -3
  502. package/dist/zuplo/enrich-with-zuplo.js +18 -17
  503. package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
  504. package/dist/zuplo/env.d.ts +26 -0
  505. package/dist/zuplo/env.js +17 -0
  506. package/dist/zuplo/env.js.map +1 -1
  507. package/dist/zuplo/with-zuplo-processors.d.ts +2 -2
  508. package/dist/zuplo/with-zuplo-processors.js +6 -6
  509. package/dist/zuplo/with-zuplo-processors.js.map +1 -1
  510. package/dist/zuplo/with-zuplo.d.ts +4 -1
  511. package/dist/zuplo/with-zuplo.js +6 -5
  512. package/dist/zuplo/with-zuplo.js.map +1 -1
  513. package/lib/{AuthenticationPlugin-DeEA69mE.js → AuthenticationPlugin-CJOFRBk3.js} +4 -4
  514. package/lib/{AuthenticationPlugin-DeEA69mE.js.map → AuthenticationPlugin-CJOFRBk3.js.map} +1 -1
  515. package/lib/Button-BBNrKpQd.js +49 -0
  516. package/lib/Button-BBNrKpQd.js.map +1 -0
  517. package/lib/Callout-D3Ja4OPX.js +230 -0
  518. package/lib/Callout-D3Ja4OPX.js.map +1 -0
  519. package/lib/{CategoryHeading-MYL1u_6K.js → CategoryHeading-D06WK_Wo.js} +3 -3
  520. package/lib/{CategoryHeading-MYL1u_6K.js.map → CategoryHeading-D06WK_Wo.js.map} +1 -1
  521. package/lib/Dialog-ByYz4ABw.js +98 -0
  522. package/lib/Dialog-ByYz4ABw.js.map +1 -0
  523. package/lib/Drawer-CEwbkLDb.js +1133 -0
  524. package/lib/Drawer-CEwbkLDb.js.map +1 -0
  525. package/lib/{Markdown-8mv9nhGd.js → Markdown-C5h6bxbE.js} +8031 -6095
  526. package/lib/Markdown-C5h6bxbE.js.map +1 -0
  527. package/lib/MdxPage-DhGqXQTK.js +85 -0
  528. package/lib/MdxPage-DhGqXQTK.js.map +1 -0
  529. package/lib/OasProvider-q0ncKgHr.js +34 -0
  530. package/lib/OasProvider-q0ncKgHr.js.map +1 -0
  531. package/lib/OperationList-CW4jENLV.js +5069 -0
  532. package/lib/OperationList-CW4jENLV.js.map +1 -0
  533. package/lib/Pagination-DsG3YIT_.js +48 -0
  534. package/lib/Pagination-DsG3YIT_.js.map +1 -0
  535. package/lib/{index.esm-9-TF9KQB.js → RouteGuard-BZ_VsiXc.js} +196 -144
  536. package/lib/RouteGuard-BZ_VsiXc.js.map +1 -0
  537. package/lib/SchemaList-n24-qSa5.js +148 -0
  538. package/lib/SchemaList-n24-qSa5.js.map +1 -0
  539. package/lib/SchemaView-DCSWtnYr.js +357 -0
  540. package/lib/SchemaView-DCSWtnYr.js.map +1 -0
  541. package/lib/{Select-BcAbBUmk.js → Select-Dg5R11Dx.js} +71 -71
  542. package/lib/{Select-BcAbBUmk.js.map → Select-Dg5R11Dx.js.map} +1 -1
  543. package/lib/SlotletProvider-VUmTNmLZ.js +340 -0
  544. package/lib/SlotletProvider-VUmTNmLZ.js.map +1 -0
  545. package/lib/Spinner-mNLZ6awP.js +7 -0
  546. package/lib/Spinner-mNLZ6awP.js.map +1 -0
  547. package/lib/{SyntaxHighlight-B0L4SC_N.js → SyntaxHighlight-CxhyyMkF.js} +500 -596
  548. package/lib/SyntaxHighlight-CxhyyMkF.js.map +1 -0
  549. package/lib/Toc-BK39DQvI.js +92 -0
  550. package/lib/Toc-BK39DQvI.js.map +1 -0
  551. package/lib/{_commonjsHelpers-BkfeUUK-.js → _commonjsHelpers-B4e78b8K.js} +2 -2
  552. package/lib/_commonjsHelpers-B4e78b8K.js.map +1 -0
  553. package/lib/{chunk-SYFQ2XB5-QijJrSf0.js → chunk-KNED5TY2-BUPjb3LQ.js} +584 -583
  554. package/lib/chunk-KNED5TY2-BUPjb3LQ.js.map +1 -0
  555. package/lib/{circular-DxaIIlWD.js → circular-ByJI6Mci.js} +5461 -4993
  556. package/lib/circular-ByJI6Mci.js.map +1 -0
  557. package/lib/context-Lrf2Y9bR.js +22 -0
  558. package/lib/{context-rwLGh-6_.js.map → context-Lrf2Y9bR.js.map} +1 -1
  559. package/lib/{createServer-E3cXjB0P.js → createServer-DLN7APz_.js} +4641 -4927
  560. package/lib/createServer-DLN7APz_.js.map +1 -0
  561. package/lib/hook-pPrHCB6G.js +1478 -0
  562. package/lib/hook-pPrHCB6G.js.map +1 -0
  563. package/lib/index-Bn6Lc9tq.js +9 -0
  564. package/lib/index-Bn6Lc9tq.js.map +1 -0
  565. package/lib/index-CBpciIfE.js +2054 -0
  566. package/lib/index-CBpciIfE.js.map +1 -0
  567. package/lib/index-CPNSgwSb.js +36 -0
  568. package/lib/{index-Djenk2Hj.js.map → index-CPNSgwSb.js.map} +1 -1
  569. package/lib/index-CuBIgTKC.js +316 -0
  570. package/lib/index-CuBIgTKC.js.map +1 -0
  571. package/lib/{index-Dl3Yl0yb.js → index-DcHeSvkE.js} +51 -38
  572. package/lib/index-DcHeSvkE.js.map +1 -0
  573. package/lib/index-DwT-v3zK.js +86 -0
  574. package/lib/index-DwT-v3zK.js.map +1 -0
  575. package/lib/{index-CjJS0l4l.js → index-LNp6rxyU.js} +2 -2
  576. package/lib/{index-CjJS0l4l.js.map → index-LNp6rxyU.js.map} +1 -1
  577. package/lib/index-bu-rfaLA.js +2227 -0
  578. package/lib/index-bu-rfaLA.js.map +1 -0
  579. package/lib/index.esm-D2ZUREQN.js +1216 -0
  580. package/lib/index.esm-D2ZUREQN.js.map +1 -0
  581. package/lib/jsx-runtime-C5mzlN2N.js +285 -0
  582. package/lib/jsx-runtime-C5mzlN2N.js.map +1 -0
  583. package/lib/mutation-Csa9eQDM.js +211 -0
  584. package/lib/mutation-Csa9eQDM.js.map +1 -0
  585. package/lib/objectEntries-yMIkr2mI.js +5 -0
  586. package/lib/objectEntries-yMIkr2mI.js.map +1 -0
  587. package/lib/prism-bash.min-HHIMdNJ_.js.map +1 -1
  588. package/lib/{prism-csharp.min-bQAo2pmx.js → prism-csharp.min-C43x1RY2.js} +2 -2
  589. package/lib/{prism-csharp.min-bQAo2pmx.js.map → prism-csharp.min-C43x1RY2.js.map} +1 -1
  590. package/lib/{prism-java.min-BpvsOuIa.js → prism-java.min-CQzr40NQ.js} +2 -2
  591. package/lib/{prism-java.min-BpvsOuIa.js.map → prism-java.min-CQzr40NQ.js.map} +1 -1
  592. package/lib/prism-javascript.min-CEqHqgbm.js.map +1 -1
  593. package/lib/prism-json.min-B1GJqK1k.js.map +1 -1
  594. package/lib/prism-jsstacktrace.min-BfobCF2F.js +2 -0
  595. package/lib/prism-jsstacktrace.min-BfobCF2F.js.map +1 -0
  596. package/lib/prism-markdown.min-C0Qn0m-5.js.map +1 -1
  597. package/lib/prism-markup-BNGj0Tvm.js.map +1 -1
  598. package/lib/prism-objectivec.min-BXSWqpJJ.js.map +1 -1
  599. package/lib/{prism-ruby.min-Dx9KO9ds.js → prism-ruby.min-L9OdQ6tU.js} +2 -2
  600. package/lib/{prism-ruby.min-Dx9KO9ds.js.map → prism-ruby.min-L9OdQ6tU.js.map} +1 -1
  601. package/lib/{prism-typescript.min-CD7H2IYQ.js → prism-typescript.min-qTySPvCh.js} +2 -2
  602. package/lib/{prism-typescript.min-CD7H2IYQ.js.map → prism-typescript.min-qTySPvCh.js.map} +1 -1
  603. package/lib/processors/removeExtensions.js +11 -0
  604. package/lib/processors/removeExtensions.js.map +1 -0
  605. package/lib/{post-processors → processors}/removeParameters.js +1 -1
  606. package/lib/processors/removeParameters.js.map +1 -0
  607. package/lib/{post-processors → processors}/removePaths.js +1 -1
  608. package/lib/processors/removePaths.js.map +1 -0
  609. package/lib/{post-processors → processors}/traverse.js +2 -2
  610. package/lib/processors/traverse.js.map +1 -0
  611. package/lib/ui/Accordion.js +1 -1
  612. package/lib/ui/ActionButton.js +11 -10
  613. package/lib/ui/ActionButton.js.map +1 -1
  614. package/lib/ui/Alert.js +2 -2
  615. package/lib/ui/AlertDialog.js +1 -1
  616. package/lib/ui/Badge.js +2 -2
  617. package/lib/ui/Breadcrumb.js +4 -4
  618. package/lib/ui/Button.js +13 -12
  619. package/lib/ui/Button.js.map +1 -1
  620. package/lib/ui/Callout.js +40 -21
  621. package/lib/ui/Callout.js.map +1 -1
  622. package/lib/ui/Card.js +1 -1
  623. package/lib/ui/Carousel.js +207 -207
  624. package/lib/ui/Carousel.js.map +1 -1
  625. package/lib/ui/Checkbox.js +16 -26
  626. package/lib/ui/Checkbox.js.map +1 -1
  627. package/lib/ui/Command.js +105 -78
  628. package/lib/ui/Command.js.map +1 -1
  629. package/lib/ui/Dialog.js +1 -1
  630. package/lib/ui/Drawer.js +14 -1151
  631. package/lib/ui/Drawer.js.map +1 -1
  632. package/lib/ui/DropdownMenu.js +1 -1
  633. package/lib/ui/Form.js +5 -5
  634. package/lib/ui/HoverCard.js +1 -1
  635. package/lib/ui/Input.js +1 -1
  636. package/lib/ui/Label.js +2 -2
  637. package/lib/ui/Pagination.js +10 -10
  638. package/lib/ui/Popover.js +1 -1
  639. package/lib/ui/Progress.js +1 -1
  640. package/lib/ui/RadioGroup.js +1 -1
  641. package/lib/ui/ScrollArea.js +1 -1
  642. package/lib/ui/Select.js +2 -2
  643. package/lib/ui/Select.js.map +1 -1
  644. package/lib/ui/Skeleton.js +1 -1
  645. package/lib/ui/Slider.js +1 -1
  646. package/lib/ui/Stepper.js +6 -0
  647. package/lib/ui/Stepper.js.map +1 -0
  648. package/lib/ui/Switch.js +1 -1
  649. package/lib/ui/SyntaxHighlight.js +11 -0
  650. package/lib/ui/SyntaxHighlight.js.map +1 -0
  651. package/lib/ui/Tabs.js +1 -1
  652. package/lib/ui/Textarea.js +1 -1
  653. package/lib/ui/Toggle.js +2 -2
  654. package/lib/ui/ToggleGroup.js +1 -1
  655. package/lib/ui/Tooltip.js +1 -1
  656. package/lib/ui/util.js +6 -0
  657. package/lib/ui/util.js.map +1 -0
  658. package/lib/{useExposedProps-Bbf99zic.js → useExposedProps-Dq2yUQIG.js} +2 -2
  659. package/lib/{useExposedProps-Bbf99zic.js.map → useExposedProps-Dq2yUQIG.js.map} +1 -1
  660. package/lib/useLatest-hmRS46UF.js +11 -0
  661. package/lib/useLatest-hmRS46UF.js.map +1 -0
  662. package/lib/zudoku.auth-auth0.js +15 -14
  663. package/lib/zudoku.auth-auth0.js.map +1 -1
  664. package/lib/zudoku.auth-clerk.js +67 -49
  665. package/lib/zudoku.auth-clerk.js.map +1 -1
  666. package/lib/zudoku.auth-openid.js +370 -405
  667. package/lib/zudoku.auth-openid.js.map +1 -1
  668. package/lib/zudoku.components.js +33 -1303
  669. package/lib/zudoku.components.js.map +1 -1
  670. package/lib/zudoku.hooks.js +19 -0
  671. package/lib/zudoku.hooks.js.map +1 -0
  672. package/lib/zudoku.icons.js +10 -0
  673. package/lib/zudoku.icons.js.map +1 -1
  674. package/lib/zudoku.plugin-api-catalog.js +106 -112
  675. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  676. package/lib/zudoku.plugin-api-keys.js +108 -106
  677. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  678. package/lib/zudoku.plugin-custom-pages.js +3 -3
  679. package/lib/zudoku.plugin-markdown.js +23 -44
  680. package/lib/zudoku.plugin-markdown.js.map +1 -1
  681. package/lib/zudoku.plugin-openapi.js +6 -7
  682. package/lib/zudoku.plugin-openapi.js.map +1 -1
  683. package/lib/zudoku.plugin-redirect.js +1 -1
  684. package/lib/zudoku.plugin-search-inkeep.js +9 -9
  685. package/lib/zudoku.plugin-search-pagefind.js +233 -0
  686. package/lib/zudoku.plugin-search-pagefind.js.map +1 -0
  687. package/lib/zudoku.plugins.js +14 -0
  688. package/lib/zudoku.plugins.js.map +1 -0
  689. package/package.json +100 -74
  690. package/src/app/entry.client.tsx +10 -0
  691. package/src/app/entry.server.tsx +23 -13
  692. package/src/app/main.css +106 -58
  693. package/src/app/main.tsx +15 -2
  694. package/src/app/tailwind.ts +20 -0
  695. package/src/lib/MissingIcon.tsx +22 -0
  696. package/src/lib/authentication/authentication.ts +2 -0
  697. package/src/lib/authentication/hook.ts +12 -1
  698. package/src/lib/authentication/providers/auth0.tsx +3 -2
  699. package/src/lib/authentication/providers/clerk.tsx +32 -8
  700. package/src/lib/authentication/providers/openid.tsx +31 -15
  701. package/src/lib/authentication/providers/supabase.tsx +157 -0
  702. package/src/lib/authentication/state.ts +9 -37
  703. package/src/lib/components/AnchorLink.tsx +9 -7
  704. package/src/lib/components/Banner.tsx +1 -0
  705. package/src/lib/components/Bootstrap.tsx +13 -6
  706. package/src/lib/components/BuildCheck.tsx +60 -0
  707. package/src/lib/components/Footer.tsx +139 -0
  708. package/src/lib/components/Header.tsx +12 -8
  709. package/src/lib/components/Heading.tsx +1 -1
  710. package/src/lib/components/InlineCode.tsx +13 -16
  711. package/src/lib/components/Layout.tsx +27 -65
  712. package/src/lib/components/Main.tsx +50 -0
  713. package/src/lib/components/MobileTopNavigation.tsx +27 -18
  714. package/src/lib/components/Pagination.tsx +50 -0
  715. package/src/lib/components/Search.tsx +14 -3
  716. package/src/lib/components/ThemeSwitch.tsx +28 -8
  717. package/src/lib/components/TopNavigation.tsx +51 -24
  718. package/src/lib/components/Zudoku.tsx +18 -7
  719. package/src/lib/components/cache.ts +8 -0
  720. package/src/lib/components/context/BypassProtectedRoutesContext.ts +3 -0
  721. package/src/lib/components/context/RouterEventsEmitter.tsx +19 -0
  722. package/src/lib/components/context/ViewportAnchorContext.tsx +6 -15
  723. package/src/lib/components/context/ZudokuContext.ts +30 -10
  724. package/src/lib/components/index.ts +4 -0
  725. package/src/lib/components/navigation/PoweredByZudoku.tsx +28 -0
  726. package/src/lib/components/navigation/Sidebar.tsx +37 -44
  727. package/src/lib/components/navigation/SidebarBadge.tsx +4 -1
  728. package/src/lib/components/navigation/SidebarCategory.tsx +15 -12
  729. package/src/lib/components/navigation/SidebarItem.tsx +22 -29
  730. package/src/lib/components/navigation/SidebarWrapper.tsx +42 -23
  731. package/src/lib/{plugins/markdown → components/navigation}/Toc.tsx +5 -14
  732. package/src/lib/components/navigation/ZudokuLogo.tsx +25 -0
  733. package/src/lib/components/navigation/ZuploLogo.tsx +14 -0
  734. package/src/lib/core/RouteGuard.tsx +73 -12
  735. package/src/lib/core/ZudokuContext.ts +64 -13
  736. package/src/lib/core/plugins.ts +29 -7
  737. package/src/lib/errors/ErrorAlert.tsx +24 -17
  738. package/src/lib/hooks/index.ts +5 -0
  739. package/src/lib/hooks/useEvent.test.tsx +149 -0
  740. package/src/lib/hooks/useEvent.ts +41 -0
  741. package/src/lib/icons.ts +1 -0
  742. package/src/lib/oas/graphql/index.ts +206 -54
  743. package/src/lib/oas/parser/dereference/index.ts +2 -0
  744. package/src/lib/oas/parser/index.ts +7 -29
  745. package/src/lib/oas/parser/upgrade/index.ts +2 -1
  746. package/src/lib/plugins/api-catalog/Catalog.tsx +50 -100
  747. package/src/lib/plugins/api-catalog/index.tsx +66 -15
  748. package/src/lib/plugins/api-keys/CreateApiKey.tsx +7 -3
  749. package/src/lib/plugins/api-keys/index.tsx +3 -0
  750. package/src/lib/plugins/markdown/MdxPage.tsx +15 -47
  751. package/src/lib/plugins/markdown/resolver.ts +0 -33
  752. package/src/lib/plugins/openapi/ColorizedParam.tsx +1 -1
  753. package/src/lib/plugins/openapi/Endpoint.tsx +1 -1
  754. package/src/lib/plugins/openapi/OasProvider.tsx +51 -0
  755. package/src/lib/plugins/openapi/OperationList.tsx +171 -81
  756. package/src/lib/plugins/openapi/OperationListItem.tsx +118 -104
  757. package/src/lib/plugins/openapi/ParamInfos.tsx +87 -0
  758. package/src/lib/plugins/openapi/ParameterList.tsx +4 -0
  759. package/src/lib/plugins/openapi/ParameterListItem.tsx +35 -23
  760. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +8 -1
  761. package/src/lib/plugins/openapi/SchemaList.tsx +151 -0
  762. package/src/lib/plugins/openapi/Sidecar.tsx +50 -14
  763. package/src/lib/plugins/openapi/SidecarExamples.tsx +1 -2
  764. package/src/lib/plugins/openapi/SimpleSelect.tsx +1 -1
  765. package/src/lib/plugins/openapi/client/GraphQLClient.tsx +1 -1
  766. package/src/lib/plugins/openapi/client/useCreateQuery.ts +13 -5
  767. package/src/lib/plugins/openapi/components/EnumValues.tsx +58 -0
  768. package/src/lib/plugins/openapi/components/SelectOnClick.tsx +29 -0
  769. package/src/lib/plugins/openapi/graphql/gql.ts +34 -17
  770. package/src/lib/plugins/openapi/graphql/graphql.ts +172 -86
  771. package/src/lib/plugins/openapi/index.tsx +82 -177
  772. package/src/lib/plugins/openapi/interfaces.ts +44 -15
  773. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +30 -32
  774. package/src/lib/plugins/openapi/playground/Headers.tsx +0 -1
  775. package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +74 -0
  776. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +54 -0
  777. package/src/lib/plugins/openapi/playground/PathParams.tsx +8 -2
  778. package/src/lib/plugins/openapi/playground/Playground.tsx +199 -110
  779. package/src/lib/plugins/openapi/playground/QueryParams.tsx +0 -1
  780. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +51 -0
  781. package/src/lib/plugins/openapi/playground/rememberedIdentity.ts +26 -0
  782. package/src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx +1 -1
  783. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +25 -5
  784. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +67 -45
  785. package/src/lib/plugins/openapi/{post-processors → processors}/removeExtensions.test.ts +29 -9
  786. package/src/lib/plugins/openapi/{post-processors → processors}/removeExtensions.ts +5 -3
  787. package/src/lib/plugins/openapi/{post-processors → processors}/removeParameters.test.ts +67 -33
  788. package/src/lib/plugins/openapi/{post-processors → processors}/removeParameters.ts +5 -3
  789. package/src/lib/plugins/openapi/processors/removePaths.test.ts +167 -0
  790. package/src/lib/plugins/openapi/{post-processors → processors}/removePaths.ts +5 -3
  791. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +1 -8
  792. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.tsx +3 -0
  793. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.tsx +6 -3
  794. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +36 -0
  795. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +47 -50
  796. package/src/lib/plugins/openapi/schema/SchemaView.tsx +84 -138
  797. package/src/lib/plugins/openapi/schema/utils.ts +7 -1
  798. package/src/lib/plugins/openapi/state.ts +36 -0
  799. package/src/lib/plugins/openapi/util/createSidebarCategory.tsx +37 -0
  800. package/src/lib/plugins/openapi/util/getRoutes.tsx +126 -0
  801. package/src/lib/plugins/openapi/util/methodColorMap.tsx +11 -0
  802. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +164 -0
  803. package/src/lib/plugins/search-pagefind/ResultList.tsx +105 -0
  804. package/src/lib/plugins/search-pagefind/get-results.tsx +75 -0
  805. package/src/lib/plugins/search-pagefind/index.tsx +21 -0
  806. package/src/lib/plugins/search-pagefind/types.ts +118 -0
  807. package/src/lib/ui/Button.tsx +4 -2
  808. package/src/lib/ui/Callout.tsx +29 -10
  809. package/src/lib/ui/Checkbox.tsx +8 -24
  810. package/src/lib/ui/Command.tsx +25 -3
  811. package/src/lib/ui/Select.tsx +1 -1
  812. package/src/lib/ui/Stepper.tsx +8 -0
  813. package/src/lib/ui/SyntaxHighlight.tsx +186 -0
  814. package/src/lib/ui/util.tsx +3 -0
  815. package/src/lib/util/MdxComponents.tsx +9 -4
  816. package/src/lib/util/detectOS.ts +9 -0
  817. package/src/lib/util/joinPath.tsx +3 -0
  818. package/src/lib/util/traverse.ts +4 -8
  819. package/src/lib/util/types.ts +7 -0
  820. package/src/lib/util/useLatest.ts +18 -0
  821. package/src/lib/util/useOnScreen.ts +6 -4
  822. package/src/lib/util/useScrollToAnchor.ts +30 -20
  823. package/client.d.ts +0 -8
  824. package/dist/lib/components/SyntaxHighlight.d.ts +0 -12
  825. package/dist/lib/components/SyntaxHighlight.js +0 -53
  826. package/dist/lib/components/SyntaxHighlight.js.map +0 -1
  827. package/dist/lib/components/context/PluginSystem.js +0 -2
  828. package/dist/lib/components/context/PluginSystem.js.map +0 -1
  829. package/dist/lib/plugins/markdown/Toc.js.map +0 -1
  830. package/dist/lib/plugins/openapi/OpenApiRoute.js +0 -25
  831. package/dist/lib/plugins/openapi/OpenApiRoute.js.map +0 -1
  832. package/dist/lib/plugins/openapi/post-processors/removeExtensions.d.ts +0 -7
  833. package/dist/lib/plugins/openapi/post-processors/removeExtensions.js.map +0 -1
  834. package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js.map +0 -1
  835. package/dist/lib/plugins/openapi/post-processors/removeParameters.js.map +0 -1
  836. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js.map +0 -1
  837. package/dist/lib/plugins/openapi/post-processors/removePaths.js.map +0 -1
  838. package/dist/lib/plugins/openapi/post-processors/removePaths.test.js +0 -104
  839. package/dist/lib/plugins/openapi/post-processors/removePaths.test.js.map +0 -1
  840. package/dist/lib/plugins/openapi/post-processors/traverse.js.map +0 -1
  841. package/dist/vite/prerender.d.ts +0 -22
  842. package/dist/vite/prerender.js +0 -89
  843. package/dist/vite/prerender.js.map +0 -1
  844. package/lib/Markdown-8mv9nhGd.js.map +0 -1
  845. package/lib/MdxPage-BalfwlsD.js +0 -193
  846. package/lib/MdxPage-BalfwlsD.js.map +0 -1
  847. package/lib/OpenApiRoute-ULLXjfro.js +0 -36
  848. package/lib/OpenApiRoute-ULLXjfro.js.map +0 -1
  849. package/lib/OperationList-B3VX94x4.js +0 -5179
  850. package/lib/OperationList-B3VX94x4.js.map +0 -1
  851. package/lib/SlotletProvider-D0mFmGJu.js +0 -221
  852. package/lib/SlotletProvider-D0mFmGJu.js.map +0 -1
  853. package/lib/Spinner-BlzrEEk1.js +0 -51
  854. package/lib/Spinner-BlzrEEk1.js.map +0 -1
  855. package/lib/SyntaxHighlight-B0L4SC_N.js.map +0 -1
  856. package/lib/ZudokuContext-dUyBGMap.js +0 -1229
  857. package/lib/ZudokuContext-dUyBGMap.js.map +0 -1
  858. package/lib/__vite-browser-external-BYRIRx8p.js +0 -9
  859. package/lib/__vite-browser-external-BYRIRx8p.js.map +0 -1
  860. package/lib/_commonjsHelpers-BkfeUUK-.js.map +0 -1
  861. package/lib/chunk-SYFQ2XB5-QijJrSf0.js.map +0 -1
  862. package/lib/circular-DxaIIlWD.js.map +0 -1
  863. package/lib/context-rwLGh-6_.js +0 -22
  864. package/lib/createServer-E3cXjB0P.js.map +0 -1
  865. package/lib/hook-NIpDSpau.js +0 -227
  866. package/lib/hook-NIpDSpau.js.map +0 -1
  867. package/lib/index-B7mqiOei.js +0 -509
  868. package/lib/index-B7mqiOei.js.map +0 -1
  869. package/lib/index-Djenk2Hj.js +0 -36
  870. package/lib/index-Dl3Yl0yb.js.map +0 -1
  871. package/lib/index-P0YUtHIb.js +0 -2065
  872. package/lib/index-P0YUtHIb.js.map +0 -1
  873. package/lib/index.esm-9-TF9KQB.js.map +0 -1
  874. package/lib/index.esm-CrSoEshU.js +0 -1207
  875. package/lib/index.esm-CrSoEshU.js.map +0 -1
  876. package/lib/joinUrl-nLx9pD-Z.js +0 -20
  877. package/lib/joinUrl-nLx9pD-Z.js.map +0 -1
  878. package/lib/jsx-runtime-Bdg6XQ1m.js +0 -446
  879. package/lib/jsx-runtime-Bdg6XQ1m.js.map +0 -1
  880. package/lib/post-processors/removeExtensions.js +0 -11
  881. package/lib/post-processors/removeExtensions.js.map +0 -1
  882. package/lib/post-processors/removeParameters.js.map +0 -1
  883. package/lib/post-processors/removePaths.js.map +0 -1
  884. package/lib/post-processors/traverse.js.map +0 -1
  885. package/lib/state-bfQxaDxU.js +0 -211
  886. package/lib/state-bfQxaDxU.js.map +0 -1
  887. package/lib/useScrollToAnchor-BVCQSeKB.js +0 -286
  888. package/lib/useScrollToAnchor-BVCQSeKB.js.map +0 -1
  889. package/src/lib/components/SyntaxHighlight.tsx +0 -171
  890. package/src/lib/components/context/PluginSystem.ts +0 -0
  891. package/src/lib/plugins/openapi/OpenApiRoute.tsx +0 -51
  892. package/src/lib/plugins/openapi/post-processors/removePaths.test.ts +0 -126
  893. /package/dist/lib/{plugins/markdown → components/navigation}/Toc.d.ts +0 -0
  894. /package/dist/lib/{components/context/PluginSystem.d.ts → hooks/useEvent.test.d.ts} +0 -0
  895. /package/dist/lib/plugins/openapi/{post-processors → processors}/removeExtensions.test.d.ts +0 -0
  896. /package/dist/lib/plugins/openapi/{post-processors → processors}/removeParameters.test.d.ts +0 -0
  897. /package/dist/lib/plugins/openapi/{post-processors → processors}/removePaths.test.d.ts +0 -0
  898. /package/dist/lib/plugins/openapi/{post-processors → processors}/traverse.d.ts +0 -0
  899. /package/dist/lib/plugins/openapi/{post-processors → processors}/traverse.js +0 -0
  900. /package/src/lib/plugins/openapi/{post-processors → processors}/traverse.ts +0 -0
@@ -1,211 +0,0 @@
1
- import w, { useMemo as k } from "react";
2
- const _ = (e) => {
3
- let t;
4
- const n = /* @__PURE__ */ new Set(), o = (i, g) => {
5
- const m = typeof i == "function" ? i(t) : i;
6
- if (!Object.is(m, t)) {
7
- const v = t;
8
- t = g ?? (typeof m != "object" || m === null) ? m : Object.assign({}, t, m), n.forEach((f) => f(t, v));
9
- }
10
- }, a = () => t, u = { setState: o, getState: a, getInitialState: () => d, subscribe: (i) => (n.add(i), () => n.delete(i)) }, d = t = e(o, a, u);
11
- return u;
12
- }, R = (e) => e ? _(e) : _, L = (e) => e;
13
- function P(e, t = L) {
14
- const n = w.useSyncExternalStore(
15
- e.subscribe,
16
- () => t(e.getState()),
17
- () => t(e.getInitialState())
18
- );
19
- return w.useDebugValue(n), n;
20
- }
21
- const x = (e) => {
22
- const t = R(e), n = (o) => P(t, o);
23
- return Object.assign(n, t), n;
24
- }, E = (e) => x;
25
- function O(e, t) {
26
- let n;
27
- try {
28
- n = e();
29
- } catch {
30
- return;
31
- }
32
- return {
33
- getItem: (a) => {
34
- var r;
35
- const S = (d) => d === null ? null : JSON.parse(d, void 0), u = (r = n.getItem(a)) != null ? r : null;
36
- return u instanceof Promise ? u.then(S) : S(u);
37
- },
38
- setItem: (a, r) => n.setItem(
39
- a,
40
- JSON.stringify(r, void 0)
41
- ),
42
- removeItem: (a) => n.removeItem(a)
43
- };
44
- }
45
- const b = (e) => (t) => {
46
- try {
47
- const n = e(t);
48
- return n instanceof Promise ? n : {
49
- then(o) {
50
- return b(o)(n);
51
- },
52
- catch(o) {
53
- return this;
54
- }
55
- };
56
- } catch (n) {
57
- return {
58
- then(o) {
59
- return this;
60
- },
61
- catch(o) {
62
- return b(o)(n);
63
- }
64
- };
65
- }
66
- }, D = (e, t) => (n, o, a) => {
67
- let r = {
68
- storage: O(() => localStorage),
69
- partialize: (s) => s,
70
- version: 0,
71
- merge: (s, h) => ({
72
- ...h,
73
- ...s
74
- }),
75
- ...t
76
- }, S = !1;
77
- const u = /* @__PURE__ */ new Set(), d = /* @__PURE__ */ new Set();
78
- let i = r.storage;
79
- if (!i)
80
- return e(
81
- (...s) => {
82
- console.warn(
83
- `[zustand persist middleware] Unable to update item '${r.name}', the given storage is currently unavailable.`
84
- ), n(...s);
85
- },
86
- o,
87
- a
88
- );
89
- const g = () => {
90
- const s = r.partialize({ ...o() });
91
- return i.setItem(r.name, {
92
- state: s,
93
- version: r.version
94
- });
95
- }, m = a.setState;
96
- a.setState = (s, h) => {
97
- m(s, h), g();
98
- };
99
- const v = e(
100
- (...s) => {
101
- n(...s), g();
102
- },
103
- o,
104
- a
105
- );
106
- a.getInitialState = () => v;
107
- let f;
108
- const I = () => {
109
- var s, h;
110
- if (!i) return;
111
- S = !1, u.forEach((c) => {
112
- var l;
113
- return c((l = o()) != null ? l : v);
114
- });
115
- const p = ((h = r.onRehydrateStorage) == null ? void 0 : h.call(r, (s = o()) != null ? s : v)) || void 0;
116
- return b(i.getItem.bind(i))(r.name).then((c) => {
117
- if (c)
118
- if (typeof c.version == "number" && c.version !== r.version) {
119
- if (r.migrate) {
120
- const l = r.migrate(
121
- c.state,
122
- c.version
123
- );
124
- return l instanceof Promise ? l.then((y) => [!0, y]) : [!0, l];
125
- }
126
- console.error(
127
- "State loaded from storage couldn't be migrated since no migrate function was provided"
128
- );
129
- } else
130
- return [!1, c.state];
131
- return [!1, void 0];
132
- }).then((c) => {
133
- var l;
134
- const [y, j] = c;
135
- if (f = r.merge(
136
- j,
137
- (l = o()) != null ? l : v
138
- ), n(f, !0), y)
139
- return g();
140
- }).then(() => {
141
- p == null || p(f, void 0), f = o(), S = !0, d.forEach((c) => c(f));
142
- }).catch((c) => {
143
- p == null || p(void 0, c);
144
- });
145
- };
146
- return a.persist = {
147
- setOptions: (s) => {
148
- r = {
149
- ...r,
150
- ...s
151
- }, s.storage && (i = s.storage);
152
- },
153
- clearStorage: () => {
154
- i == null || i.removeItem(r.name);
155
- },
156
- getOptions: () => r,
157
- rehydrate: () => I(),
158
- hasHydrated: () => S,
159
- onHydrate: (s) => (u.add(s), () => {
160
- u.delete(s);
161
- }),
162
- onFinishHydration: (s) => (d.add(s), () => {
163
- d.delete(s);
164
- })
165
- }, r.skipHydration || I(), f || v;
166
- }, H = D, F = (e) => {
167
- const t = (n) => {
168
- n.key === e.persist.getOptions().name && n.newValue && e.persist.rehydrate();
169
- };
170
- return window.addEventListener("storage", t), () => {
171
- window.removeEventListener("storage", t);
172
- };
173
- }, J = E()(
174
- H(
175
- (e) => ({
176
- isAuthenticated: !1,
177
- isPending: !1,
178
- profile: null,
179
- providerData: null
180
- }),
181
- {
182
- name: "auth-state",
183
- storage: O(() => localStorage)
184
- // partialize: (s) => ({ state: s }),
185
- }
186
- )
187
- );
188
- typeof window < "u" && F(J);
189
- const N = E()(
190
- H(
191
- (e) => ({
192
- selectedServer: void 0,
193
- setSelectedServer: (t) => e({ selectedServer: t })
194
- }),
195
- { name: "zudoku-selected-server" }
196
- )
197
- ), C = (e) => {
198
- const { selectedServer: t, setSelectedServer: n } = N();
199
- return { selectedServer: k(
200
- () => {
201
- var a;
202
- return t && e.some((r) => r.url === t) ? t : ((a = e.at(0)) == null ? void 0 : a.url) ?? "";
203
- },
204
- [t, e]
205
- ), setSelectedServer: n };
206
- };
207
- export {
208
- C as a,
209
- J as u
210
- };
211
- //# sourceMappingURL=state-bfQxaDxU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-bfQxaDxU.js","sources":["../../../node_modules/.pnpm/zustand@5.0.3_@types+react@19.0.7_react@19.0.0_use-sync-external-store@1.2.2_react@19.0.0_/node_modules/zustand/esm/vanilla.mjs","../../../node_modules/.pnpm/zustand@5.0.3_@types+react@19.0.7_react@19.0.0_use-sync-external-store@1.2.2_react@19.0.0_/node_modules/zustand/esm/react.mjs","../../../node_modules/.pnpm/zustand@5.0.3_@types+react@19.0.7_react@19.0.0_use-sync-external-store@1.2.2_react@19.0.0_/node_modules/zustand/esm/middleware.mjs","../src/lib/authentication/state.ts"],"sourcesContent":["const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n () => selector(api.getState()),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nexport { create, useStore };\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...a) => api.dispatch(...a), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === undefined) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === undefined ? { type: anonymousActionType || \"anonymous\" } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === undefined) {\n connection == null ? undefined : connection.send(action, get());\n return r;\n }\n connection == null ? undefined : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? undefined : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? undefined : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...a) => {\n if ((import.meta.env ? import.meta.env.MODE : undefined) !== \"production\" && a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === undefined) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === undefined || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === undefined) {\n return connection == null ? undefined : connection.init(api.getState());\n }\n return connection == null ? undefined : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === undefined) {\n connection == null ? undefined : connection.init(api.getState());\n return;\n }\n return connection == null ? undefined : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === undefined) {\n setStateFromDevtools(state);\n connection == null ? undefined : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? undefined : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === undefined) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? undefined : _a.state;\n if (!lastComputedState) return;\n if (store === undefined) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? undefined : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== undefined) f(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? undefined : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? undefined : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nconst combine = (initialState, create) => (...a) => Object.assign({}, initialState, create(...a));\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? undefined : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(\n name,\n JSON.stringify(newValue, options == null ? undefined : options.replacer)\n ),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? undefined : _b.call(options, (_a = get()) != null ? _a : configResult)) || undefined;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, undefined];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? undefined : postRehydrationCallback(stateFromStorage, undefined);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? undefined : postRehydrationCallback(undefined, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? undefined : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n","import { useMemo } from \"react\";\nimport { create, type Mutate, type StoreApi } from \"zustand\";\nimport { createJSONStorage, persist } from \"zustand/middleware\";\n\nexport interface AuthState<ProviderData = unknown> {\n isAuthenticated: boolean;\n isPending: boolean;\n profile: UserProfile | null;\n providerData: ProviderData | null;\n}\n\nexport class Authentication {\n async setLoggedIn(isLoggedIn: boolean) {}\n async setProfile() {}\n async setPersistentProviderData() {}\n}\n\nexport type StoreWithPersist<T> = Mutate<\n StoreApi<T>,\n [[\"zustand/persist\", unknown]]\n>;\n\nexport const withStorageDOMEvents = <T>(store: StoreWithPersist<T>) => {\n const storageEventCallback = (e: StorageEvent) => {\n if (e.key === store.persist.getOptions().name && e.newValue) {\n void store.persist.rehydrate();\n }\n };\n\n window.addEventListener(\"storage\", storageEventCallback);\n\n return () => {\n window.removeEventListener(\"storage\", storageEventCallback);\n };\n};\n\nexport const useAuthState = create<AuthState>()(\n persist(\n (state) => ({\n isAuthenticated: false,\n isPending: false,\n profile: null,\n providerData: null,\n }),\n {\n name: \"auth-state\",\n storage: createJSONStorage(() => localStorage),\n // partialize: (s) => ({ state: s }),\n },\n ),\n);\n\nif (typeof window !== \"undefined\") {\n withStorageDOMEvents(useAuthState);\n}\n\nexport interface UserProfile {\n sub: string;\n email: string | undefined;\n emailVerified: boolean;\n name: string | undefined;\n pictureUrl: string | undefined;\n [key: string]: string | boolean | undefined;\n}\n\ninterface SelectedServerState {\n selectedServer?: string;\n setSelectedServer: (newServer: string) => void;\n}\n\nexport const useSelectedServerStore = create<SelectedServerState>()(\n persist(\n (set) => ({\n selectedServer: undefined,\n setSelectedServer: (newServer: string) =>\n set({ selectedServer: newServer }),\n }),\n { name: \"zudoku-selected-server\" },\n ),\n);\n\n/**\n * Simple wrapper for `useSelectedServerStore` to fall back to first of the provided servers\n */\nexport const useSelectedServer = (servers: Array<{ url: string }>) => {\n const { selectedServer, setSelectedServer } = useSelectedServerStore();\n\n const finalSelectedServer = useMemo(\n () =>\n selectedServer && servers.some((s) => s.url === selectedServer)\n ? selectedServer\n : (servers.at(0)?.url ?? \"\"),\n [selectedServer, servers],\n );\n\n return { selectedServer: finalSelectedServer, setSelectedServer };\n};\n"],"names":["createStoreImpl","createState","state","listeners","setState","partial","replace","nextState","previousState","listener","getState","api","initialState","createStore","identity","arg","useStore","selector","slice","React","createImpl","useBoundStore","create","createJSONStorage","getStorage","options","storage","name","_a","parse","str2","str","newValue","toThenable","fn","input","result","onFulfilled","_onRejected","e","_onFulfilled","onRejected","persistImpl","config","baseOptions","set","get","persistedState","currentState","hasHydrated","hydrationListeners","finishHydrationListeners","args","setItem","savedSetState","configResult","stateFromStorage","hydrate","_b","cb","_a2","postRehydrationCallback","deserializedStorageValue","migration","migrationResult","migrated","migratedState","newOptions","persist","withStorageDOMEvents","store","storageEventCallback","useAuthState","useSelectedServerStore","newServer","useSelectedServer","servers","selectedServer","setSelectedServer","useMemo","s"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,286 +0,0 @@
1
- import h, { useState as A, useEffect as I, useCallback as D } from "react";
2
- import { u as T, L as E, e as V, f as g, b as P } from "./chunk-SYFQ2XB5-QijJrSf0.js";
3
- import { u as m } from "./Markdown-8mv9nhGd.js";
4
- import { j as t } from "./jsx-runtime-Bdg6XQ1m.js";
5
- import { c as _ } from "./index-Djenk2Hj.js";
6
- import { ChevronRightIcon as z, ExternalLinkIcon as B } from "lucide-react";
7
- import { i as R, j as H } from "./ZudokuContext-dUyBGMap.js";
8
- import { c as i } from "./cn-qaFjX9_3.js";
9
- import * as x from "@radix-ui/react-collapsible";
10
- const p = {}, M = h.createContext(p);
11
- function W(e) {
12
- const n = h.useContext(M);
13
- return h.useMemo(
14
- function() {
15
- return typeof e == "function" ? e(n) : { ...n, ...e };
16
- },
17
- [n, e]
18
- );
19
- }
20
- function se(e) {
21
- let n;
22
- return e.disableParentContext ? n = typeof e.components == "function" ? e.components(p) : e.components || p : n = W(e.components), h.createElement(
23
- M.Provider,
24
- { value: n },
25
- e.children
26
- );
27
- }
28
- const F = (e) => {
29
- const n = T(), s = L(), a = typeof e.to == "string" ? e.to : e.to.hash, l = (r) => {
30
- var c;
31
- (c = e.onClick) == null || c.call(e, r), !(!(a != null && a.startsWith("#")) || a !== n.hash) && (r.preventDefault(), s(a));
32
- };
33
- return /* @__PURE__ */ t.jsx(E, { ...e, onClick: l });
34
- }, X = {
35
- green: "bg-green-400 dark:bg-green-800",
36
- blue: "bg-sky-400 dark:bg-sky-800",
37
- yellow: "bg-yellow-400 dark:bg-yellow-800",
38
- red: "bg-red-400 dark:bg-red-800",
39
- purple: "bg-purple-400 dark:bg-purple-600",
40
- indigo: "bg-indigo-400 dark:bg-indigo-600",
41
- gray: "bg-gray-400 dark:bg-gray-600"
42
- }, $ = {
43
- green: "text-green-500 dark:text-green-600",
44
- blue: "text-sky-400 dark:text-sky-600",
45
- yellow: "text-yellow-400 dark:text-yellow-600",
46
- red: "text-red-400 dark:text-red-600",
47
- purple: "text-purple-400 dark:text-purple-600",
48
- indigo: "text-indigo-400 dark:text-indigo-600",
49
- gray: "text-gray-400 dark:text-gray-600"
50
- }, b = ({
51
- color: e,
52
- label: n,
53
- className: s,
54
- invert: a
55
- }) => /* @__PURE__ */ t.jsx(
56
- "span",
57
- {
58
- className: i(
59
- "mt-0.5 flex items-center duration-200 transition-opacity text-center uppercase font-mono text-[0.65rem] font-bold rounded text-background dark:text-zinc-50 h-4 px-1",
60
- a ? $[e] : X[e],
61
- s
62
- ),
63
- children: n
64
- }
65
- ), U = ({
66
- category: e,
67
- onRequestClose: n
68
- }) => {
69
- var v, w;
70
- const s = R(e), [a, l] = A(!1), r = e.collapsible ?? !0, c = e.collapsed ?? !0, k = !!(!r || !c || s), [j, u] = A(k), f = V(((v = e.link) == null ? void 0 : v.id) ?? "");
71
- I(() => {
72
- s && u(!0);
73
- }, [s]);
74
- const C = r && /* @__PURE__ */ t.jsx(
75
- "button",
76
- {
77
- type: "button",
78
- onClick: (o) => {
79
- o.preventDefault(), u((O) => !O), l(!0);
80
- },
81
- children: /* @__PURE__ */ t.jsx(
82
- z,
83
- {
84
- size: 16,
85
- className: i(
86
- a && "transition",
87
- "shrink-0 group-data-[state=open]:rotate-90"
88
- )
89
- }
90
- )
91
- }
92
- ), y = e.icon && /* @__PURE__ */ t.jsx(
93
- e.icon,
94
- {
95
- size: 16,
96
- className: i("align-[-0.125em] ", f && "text-primary")
97
- }
98
- ), N = d({
99
- className: [
100
- "text-start font-medium",
101
- r || typeof e.link < "u" ? "cursor-pointer" : "cursor-default hover:bg-transparent"
102
- ]
103
- });
104
- return /* @__PURE__ */ t.jsxs(
105
- x.Root,
106
- {
107
- className: "flex flex-col",
108
- defaultOpen: k,
109
- open: j,
110
- onOpenChange: () => u(!0),
111
- children: [
112
- /* @__PURE__ */ t.jsx(x.Trigger, { className: "group", asChild: !0, disabled: !r, children: ((w = e.link) == null ? void 0 : w.type) === "doc" ? /* @__PURE__ */ t.jsxs(
113
- g,
114
- {
115
- to: H(e.link.id),
116
- className: N,
117
- onClick: () => {
118
- l(!0), f && !j && u(!0);
119
- },
120
- children: [
121
- y,
122
- /* @__PURE__ */ t.jsxs(
123
- "div",
124
- {
125
- className: i(
126
- "flex items-center gap-2 justify-between w-full",
127
- f ? "text-primary" : "text-foreground/80"
128
- ),
129
- children: [
130
- /* @__PURE__ */ t.jsx("div", { className: "truncate", children: e.label }),
131
- C
132
- ]
133
- }
134
- )
135
- ]
136
- }
137
- ) : /* @__PURE__ */ t.jsxs("div", { onClick: () => l(!0), className: N, children: [
138
- y,
139
- /* @__PURE__ */ t.jsxs("div", { className: "flex items-center justify-between w-full", children: [
140
- /* @__PURE__ */ t.jsx("div", { className: "flex gap-2 truncate w-full", children: e.label }),
141
- C
142
- ] })
143
- ] }) }),
144
- /* @__PURE__ */ t.jsx(
145
- x.Content,
146
- {
147
- className: i(
148
- // CollapsibleContent class is used to animate and it should only be applied when the user has triggered the toggle
149
- a && "CollapsibleContent",
150
- e.items.length === 0 && "hidden",
151
- "ms-6 my-1"
152
- ),
153
- children: /* @__PURE__ */ t.jsx("ul", { className: "relative after:absolute after:-left-[--padding-nav-item] after:translate-x-[1.5px] after:top-0 after:bottom-0 after:w-px after:bg-border", children: e.items.map((o) => /* @__PURE__ */ t.jsx(
154
- G,
155
- {
156
- onRequestClose: n,
157
- item: o
158
- },
159
- ("id" in o ? o.id : "") + ("href" in o ? o.href : "") + o.label
160
- )) })
161
- }
162
- )
163
- ]
164
- }
165
- );
166
- }, d = _(
167
- "flex items-center gap-2 px-[--padding-nav-item] py-1.5 rounded-lg hover:bg-accent",
168
- {
169
- variants: {
170
- isActive: {
171
- true: "text-primary font-medium",
172
- false: "text-foreground/80"
173
- },
174
- isMuted: {
175
- true: "text-foreground/30",
176
- false: ""
177
- }
178
- },
179
- defaultVariants: {
180
- isActive: !1
181
- }
182
- }
183
- ), S = "data-anchor", G = ({
184
- item: e,
185
- onRequestClose: n
186
- }) => {
187
- var l, r;
188
- const { activeAnchor: s } = m(), [a] = P();
189
- switch (e.type) {
190
- case "category":
191
- return /* @__PURE__ */ t.jsx(U, { category: e, onRequestClose: n });
192
- case "doc":
193
- return /* @__PURE__ */ t.jsxs(
194
- g,
195
- {
196
- className: ({ isActive: c }) => d({ isActive: c }),
197
- to: H(e.id),
198
- onClick: n,
199
- children: [
200
- e.icon && /* @__PURE__ */ t.jsx(e.icon, { size: 16, className: "align-[-0.125em]" }),
201
- e.badge ? /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
202
- /* @__PURE__ */ t.jsx("span", { className: "truncate flex-1", title: e.label, children: e.label }),
203
- /* @__PURE__ */ t.jsx(b, { ...e.badge })
204
- ] }) : e.label
205
- ]
206
- }
207
- );
208
- case "link":
209
- return e.href.startsWith("#") ? /* @__PURE__ */ t.jsx(
210
- F,
211
- {
212
- to: { hash: e.href, search: a.toString() },
213
- [S]: e.href.slice(1),
214
- className: d({
215
- isActive: e.href.slice(1) === s,
216
- className: ((l = e.badge) == null ? void 0 : l.placement) !== "start" && "justify-between"
217
- }),
218
- onClick: n,
219
- children: e.badge ? /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
220
- /* @__PURE__ */ t.jsx("span", { className: "truncate", title: e.label, children: e.label }),
221
- /* @__PURE__ */ t.jsx(b, { ...e.badge })
222
- ] }) : /* @__PURE__ */ t.jsx("span", { className: "break-all", children: e.label })
223
- }
224
- ) : e.href.startsWith("http") ? /* @__PURE__ */ t.jsxs(
225
- "a",
226
- {
227
- className: d(),
228
- href: e.href,
229
- target: "_blank",
230
- rel: "noopener noreferrer",
231
- onClick: n,
232
- children: [
233
- /* @__PURE__ */ t.jsx("span", { className: "whitespace-normal", children: e.label }),
234
- /* @__PURE__ */ t.jsx("span", { className: "whitespace-nowrap", children: /* @__PURE__ */ t.jsx(B, { className: "inline -translate-y-0.5", size: 12 }) })
235
- ]
236
- }
237
- ) : /* @__PURE__ */ t.jsx(
238
- g,
239
- {
240
- className: d({
241
- isActive: e.href.split("#")[1] === s,
242
- className: ((r = e.badge) == null ? void 0 : r.placement) !== "start" && "justify-between"
243
- }),
244
- to: e.href,
245
- children: e.badge ? /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
246
- /* @__PURE__ */ t.jsx("span", { className: "truncate", title: e.label, children: e.label }),
247
- /* @__PURE__ */ t.jsx(b, { ...e.badge })
248
- ] }) : /* @__PURE__ */ t.jsx("span", { className: "break-all", children: e.label })
249
- }
250
- );
251
- }
252
- }, J = (e, n = { block: "center" }) => {
253
- if (!e) return;
254
- const s = e.getBoundingClientRect();
255
- s.top >= 0 && s.left >= 0 && s.bottom <= (window.innerHeight || document.documentElement.clientHeight) && s.right <= (window.innerWidth || document.documentElement.clientWidth) || e.scrollIntoView(n);
256
- }, L = () => {
257
- const { setActiveAnchor: e } = m();
258
- return D(
259
- (s) => {
260
- const a = s.replace(/^#/, "").split("/").at(0), l = document.getElementById(decodeURIComponent(a)), r = document.querySelector(
261
- `[${S}="${a}"]`
262
- );
263
- return l ? (l.scrollIntoView(), J(r), requestIdleCallback(() => e(a)), !0) : !1;
264
- },
265
- [e]
266
- );
267
- }, ae = () => {
268
- const e = T(), { setActiveAnchor: n } = m(), s = L();
269
- I(() => {
270
- if (e.hash && !s(e.hash)) {
271
- const a = new MutationObserver((l, r) => {
272
- s(e.hash) && r.disconnect();
273
- });
274
- return a.observe(document.body, { childList: !0, subtree: !0 }), () => a.disconnect();
275
- }
276
- }, [e.hash, s, n]);
277
- };
278
- export {
279
- F as A,
280
- se as M,
281
- G as S,
282
- ae as a,
283
- J as s,
284
- W as u
285
- };
286
- //# sourceMappingURL=useScrollToAnchor-BVCQSeKB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useScrollToAnchor-BVCQSeKB.js","sources":["../../../node_modules/.pnpm/@mdx-js+react@3.1.0_@types+react@19.0.7_react@19.0.0/node_modules/@mdx-js/react/lib/index.js","../src/lib/components/AnchorLink.tsx","../src/lib/components/navigation/SidebarBadge.tsx","../src/lib/components/navigation/SidebarCategory.tsx","../src/lib/components/navigation/SidebarItem.tsx","../src/lib/util/scrollIntoViewIfNeeded.ts","../src/lib/util/useScrollToAnchor.ts"],"sourcesContent":["/**\n * @import {MDXComponents} from 'mdx/types.js'\n * @import {Component, ReactElement, ReactNode} from 'react'\n */\n\n/**\n * @callback MergeComponents\n * Custom merge function.\n * @param {Readonly<MDXComponents>} currentComponents\n * Current components from the context.\n * @returns {MDXComponents}\n * Additional components.\n *\n * @typedef Props\n * Configuration for `MDXProvider`.\n * @property {ReactNode | null | undefined} [children]\n * Children (optional).\n * @property {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @property {boolean | null | undefined} [disableParentContext=false]\n * Turn off outer component context (default: `false`).\n */\n\nimport React from 'react'\n\n/** @type {Readonly<MDXComponents>} */\nconst emptyComponents = {}\n\nconst MDXContext = React.createContext(emptyComponents)\n\n/**\n * Get current components from the MDX Context.\n *\n * @param {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @returns {MDXComponents}\n * Current components.\n */\nexport function useMDXComponents(components) {\n const contextComponents = React.useContext(MDXContext)\n\n // Memoize to avoid unnecessary top-level context changes\n return React.useMemo(\n function () {\n // Custom merge via a function prop\n if (typeof components === 'function') {\n return components(contextComponents)\n }\n\n return {...contextComponents, ...components}\n },\n [contextComponents, components]\n )\n}\n\n/**\n * Provider for MDX context.\n *\n * @param {Readonly<Props>} properties\n * Properties.\n * @returns {ReactElement}\n * Element.\n * @satisfies {Component}\n */\nexport function MDXProvider(properties) {\n /** @type {Readonly<MDXComponents>} */\n let allComponents\n\n if (properties.disableParentContext) {\n allComponents =\n typeof properties.components === 'function'\n ? properties.components(emptyComponents)\n : properties.components || emptyComponents\n } else {\n allComponents = useMDXComponents(properties.components)\n }\n\n return React.createElement(\n MDXContext.Provider,\n {value: allComponents},\n properties.children\n )\n}\n","import React from \"react\";\nimport { Link, type LinkProps, useLocation } from \"react-router\";\nimport { useScrollToHash } from \"../util/useScrollToAnchor.js\";\n\n/**\n * Link that scrolls to anchor even if the hash is already set in the URL.\n */\nexport const AnchorLink = (props: LinkProps) => {\n const location = useLocation();\n const scrollToHash = useScrollToHash();\n const hash = typeof props.to === \"string\" ? props.to : props.to.hash;\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n props.onClick?.(event);\n if (!hash?.startsWith(\"#\") || hash !== location.hash) return;\n\n event.preventDefault();\n scrollToHash(hash);\n };\n\n return <Link {...props} onClick={handleClick} />;\n};\n","import { cn } from \"../../util/cn.js\";\n\nexport const ColorMap = {\n green: \"bg-green-400 dark:bg-green-800\",\n blue: \"bg-sky-400 dark:bg-sky-800\",\n yellow: \"bg-yellow-400 dark:bg-yellow-800\",\n red: \"bg-red-400 dark:bg-red-800\",\n purple: \"bg-purple-400 dark:bg-purple-600\",\n indigo: \"bg-indigo-400 dark:bg-indigo-600\",\n gray: \"bg-gray-400 dark:bg-gray-600\",\n};\n\nexport const ColorMapInvert = {\n green: \"text-green-500 dark:text-green-600\",\n blue: \"text-sky-400 dark:text-sky-600\",\n yellow: \"text-yellow-400 dark:text-yellow-600\",\n red: \"text-red-400 dark:text-red-600\",\n purple: \"text-purple-400 dark:text-purple-600\",\n indigo: \"text-indigo-400 dark:text-indigo-600\",\n gray: \"text-gray-400 dark:text-gray-600\",\n};\n\nexport const SidebarBadge = ({\n color,\n label,\n className,\n invert,\n}: {\n color: keyof typeof ColorMap;\n label: string;\n className?: string;\n invert?: boolean;\n}) => {\n return (\n <span\n className={cn(\n \"mt-0.5 flex items-center duration-200 transition-opacity text-center uppercase font-mono text-[0.65rem] font-bold rounded text-background dark:text-zinc-50 h-4 px-1\",\n invert ? ColorMapInvert[color] : ColorMap[color],\n className,\n )}\n >\n {label}\n </span>\n );\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { ChevronRightIcon } from \"lucide-react\";\nimport { useEffect, useState } from \"react\";\nimport { NavLink, useMatch } from \"react-router\";\nimport type { SidebarItemCategory } from \"../../../config/validators/SidebarSchema.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { joinPath } from \"../../util/joinPath.js\";\nimport { navigationListItem, SidebarItem } from \"./SidebarItem.js\";\nimport { useIsCategoryOpen } from \"./utils.js\";\n\nexport const SidebarCategory = ({\n category,\n onRequestClose,\n}: {\n category: SidebarItemCategory;\n onRequestClose?: () => void;\n}) => {\n const isCategoryOpen = useIsCategoryOpen(category);\n const [hasInteracted, setHasInteracted] = useState(false);\n\n const isCollapsible = category.collapsible ?? true;\n const isCollapsed = category.collapsed ?? true;\n const isDefaultOpen = Boolean(\n !isCollapsible || !isCollapsed || isCategoryOpen,\n );\n const [open, setOpen] = useState(isDefaultOpen);\n const isActive = useMatch(category.link?.id ?? \"\");\n\n useEffect(() => {\n // this is triggered when an item from the sidebar is clicked\n // and the sidebar, enclosing this item, is not opened\n if (isCategoryOpen) {\n setOpen(true);\n }\n }, [isCategoryOpen]);\n\n const ToggleButton = isCollapsible && (\n <button\n type=\"button\"\n onClick={(e) => {\n e.preventDefault();\n setOpen((prev) => !prev);\n setHasInteracted(true);\n }}\n >\n <ChevronRightIcon\n size={16}\n className={cn(\n hasInteracted && \"transition\",\n \"shrink-0 group-data-[state=open]:rotate-90\",\n )}\n />\n </button>\n );\n\n const icon = category.icon && (\n <category.icon\n size={16}\n className={cn(\"align-[-0.125em] \", isActive && \"text-primary\")}\n />\n );\n\n const styles = navigationListItem({\n className: [\n \"text-start font-medium\",\n isCollapsible || typeof category.link !== \"undefined\"\n ? \"cursor-pointer\"\n : \"cursor-default hover:bg-transparent\",\n ],\n });\n\n return (\n <Collapsible.Root\n className=\"flex flex-col\"\n defaultOpen={isDefaultOpen}\n open={open}\n onOpenChange={() => setOpen(true)}\n >\n <Collapsible.Trigger className=\"group\" asChild disabled={!isCollapsible}>\n {category.link?.type === \"doc\" ? (\n <NavLink\n to={joinPath(category.link.id)}\n className={styles}\n onClick={() => {\n setHasInteracted(true);\n // if it is the current path and closed then open it because there's no path change to trigger the open\n if (isActive && !open) {\n setOpen(true);\n }\n }}\n >\n {icon}\n <div\n className={cn(\n \"flex items-center gap-2 justify-between w-full\",\n isActive ? \"text-primary\" : \"text-foreground/80\",\n )}\n >\n <div className=\"truncate\">{category.label}</div>\n {ToggleButton}\n </div>\n </NavLink>\n ) : (\n <div onClick={() => setHasInteracted(true)} className={styles}>\n {icon}\n <div className=\"flex items-center justify-between w-full\">\n <div className=\"flex gap-2 truncate w-full\">{category.label}</div>\n {ToggleButton}\n </div>\n </div>\n )}\n </Collapsible.Trigger>\n <Collapsible.Content\n className={cn(\n // CollapsibleContent class is used to animate and it should only be applied when the user has triggered the toggle\n hasInteracted && \"CollapsibleContent\",\n category.items.length === 0 && \"hidden\",\n \"ms-6 my-1\",\n )}\n >\n <ul className=\"relative after:absolute after:-left-[--padding-nav-item] after:translate-x-[1.5px] after:top-0 after:bottom-0 after:w-px after:bg-border\">\n {category.items.map((item) => (\n <SidebarItem\n key={\n (\"id\" in item ? item.id : \"\") +\n (\"href\" in item ? item.href : \"\") +\n item.label\n }\n onRequestClose={onRequestClose}\n item={item}\n />\n ))}\n </ul>\n </Collapsible.Content>\n </Collapsible.Root>\n );\n};\n","import { cva } from \"class-variance-authority\";\nimport { ExternalLinkIcon } from \"lucide-react\";\nimport { NavLink, useSearchParams } from \"react-router\";\n\nimport type { SidebarItem as SidebarItemType } from \"../../../config/validators/SidebarSchema.js\";\nimport { joinPath } from \"../../util/joinPath.js\";\nimport { AnchorLink } from \"../AnchorLink.js\";\nimport { useViewportAnchor } from \"../context/ViewportAnchorContext.js\";\nimport { SidebarBadge } from \"./SidebarBadge.js\";\nimport { SidebarCategory } from \"./SidebarCategory.js\";\n\nexport const navigationListItem = cva(\n \"flex items-center gap-2 px-[--padding-nav-item] py-1.5 rounded-lg hover:bg-accent\",\n {\n variants: {\n isActive: {\n true: \"text-primary font-medium\",\n false: \"text-foreground/80\",\n },\n isMuted: {\n true: \"text-foreground/30\",\n false: \"\",\n },\n },\n defaultVariants: {\n isActive: false,\n },\n },\n);\n\nexport const DATA_ANCHOR_ATTR = \"data-anchor\";\n\nexport const SidebarItem = ({\n item,\n onRequestClose,\n}: {\n item: SidebarItemType;\n onRequestClose?: () => void;\n}) => {\n const { activeAnchor } = useViewportAnchor();\n const [searchParams] = useSearchParams();\n\n switch (item.type) {\n case \"category\":\n return (\n <SidebarCategory category={item} onRequestClose={onRequestClose} />\n );\n case \"doc\":\n return (\n <NavLink\n className={({ isActive }) => navigationListItem({ isActive })}\n to={joinPath(item.id)}\n onClick={onRequestClose}\n >\n {item.icon && <item.icon size={16} className=\"align-[-0.125em]\" />}\n {item.badge ? (\n <>\n <span className=\"truncate flex-1\" title={item.label}>\n {item.label}\n </span>\n <SidebarBadge {...item.badge} />\n </>\n ) : (\n item.label\n )}\n </NavLink>\n );\n case \"link\":\n return item.href.startsWith(\"#\") ? (\n <AnchorLink\n to={{ hash: item.href, search: searchParams.toString() }}\n {...{ [DATA_ANCHOR_ATTR]: item.href.slice(1) }}\n className={navigationListItem({\n isActive: item.href.slice(1) === activeAnchor,\n className: item.badge?.placement !== \"start\" && \"justify-between\",\n })}\n onClick={onRequestClose}\n >\n {item.badge ? (\n <>\n <span className=\"truncate\" title={item.label}>\n {item.label}\n </span>\n <SidebarBadge {...item.badge} />\n </>\n ) : (\n <span className=\"break-all\">{item.label}</span>\n )}\n </AnchorLink>\n ) : !item.href.startsWith(\"http\") ? (\n <NavLink\n className={navigationListItem({\n isActive: item.href.split(\"#\")[1] === activeAnchor,\n className: item.badge?.placement !== \"start\" && \"justify-between\",\n })}\n to={item.href}\n >\n {item.badge ? (\n <>\n <span className=\"truncate\" title={item.label}>\n {item.label}\n </span>\n <SidebarBadge {...item.badge} />\n </>\n ) : (\n <span className=\"break-all\">{item.label}</span>\n )}\n </NavLink>\n ) : (\n <a\n className={navigationListItem()}\n href={item.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n onClick={onRequestClose}\n >\n <span className=\"whitespace-normal\">{item.label}</span>\n {/* This prevents that the icon would be positioned in its own line if the text fills a line entirely */}\n <span className=\"whitespace-nowrap\">\n <ExternalLinkIcon className=\"inline -translate-y-0.5\" size={12} />\n </span>\n </a>\n );\n }\n};\n","export const scrollIntoViewIfNeeded = (\n element: Element | null,\n options: ScrollIntoViewOptions = { block: \"center\" },\n) => {\n if (!element) return;\n\n const rect = element.getBoundingClientRect();\n const isInView =\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <=\n (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth);\n\n if (isInView) return;\n\n element.scrollIntoView(options);\n};\n","import { useCallback, useEffect } from \"react\";\nimport { useLocation } from \"react-router\";\nimport { useViewportAnchor } from \"../components/context/ViewportAnchorContext.js\";\nimport { DATA_ANCHOR_ATTR } from \"../components/navigation/SidebarItem.js\";\nimport { scrollIntoViewIfNeeded } from \"./scrollIntoViewIfNeeded.js\";\n\nexport const useScrollToHash = () => {\n const { setActiveAnchor } = useViewportAnchor();\n\n const scrollToHash = useCallback(\n (hash: string) => {\n const cleanHash = hash\n .replace(/^#/, \"\")\n // Operation list items might have subdivisions that the sidebar doesn't show.\n // The subdivisions are separated by a slash so we need to remove everything before the slash to get the sidebar correct item.\n .split(\"/\")\n .at(0)!;\n const element = document.getElementById(decodeURIComponent(cleanHash));\n const link = document.querySelector(\n `[${DATA_ANCHOR_ATTR}=\"${cleanHash}\"]`,\n );\n\n if (element) {\n element.scrollIntoView();\n scrollIntoViewIfNeeded(link);\n requestIdleCallback(() => setActiveAnchor(cleanHash));\n return true;\n }\n\n // Scroll didn't happen\n return false;\n },\n [setActiveAnchor],\n );\n\n return scrollToHash;\n};\n\nexport const useScrollToAnchor = () => {\n const location = useLocation();\n const { setActiveAnchor } = useViewportAnchor();\n const scrollToHash = useScrollToHash();\n\n useEffect(() => {\n if (!location.hash) return;\n\n if (!scrollToHash(location.hash)) {\n const observer = new MutationObserver((_, obs) => {\n if (!scrollToHash(location.hash)) return;\n obs.disconnect();\n });\n\n observer.observe(document.body, { childList: true, subtree: true });\n\n return () => observer.disconnect();\n }\n }, [location.hash, scrollToHash, setActiveAnchor]);\n};\n"],"names":["emptyComponents","MDXContext","React","useMDXComponents","components","contextComponents","MDXProvider","properties","allComponents","AnchorLink","props","location","useLocation","scrollToHash","useScrollToHash","hash","handleClick","event","_a","jsx","Link","ColorMap","ColorMapInvert","SidebarBadge","color","label","className","invert","cn","SidebarCategory","category","onRequestClose","isCategoryOpen","useIsCategoryOpen","hasInteracted","setHasInteracted","useState","isCollapsible","isCollapsed","isDefaultOpen","open","setOpen","isActive","useMatch","useEffect","ToggleButton","e","prev","ChevronRightIcon","icon","styles","navigationListItem","jsxs","Collapsible","_b","NavLink","joinPath","item","SidebarItem","cva","DATA_ANCHOR_ATTR","activeAnchor","useViewportAnchor","searchParams","useSearchParams","Fragment","ExternalLinkIcon","scrollIntoViewIfNeeded","element","options","rect","setActiveAnchor","useCallback","cleanHash","link","useScrollToAnchor","observer","_","obs"],"mappings":"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","x_google_ignoreList":[0]}