zudoku 0.0.0-fcb84d6 → 0.0.0-ff3751f

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 (455) hide show
  1. package/README.md +121 -0
  2. package/cli.js +2 -2
  3. package/dist/app/entry.client.js +2 -2
  4. package/dist/app/entry.client.js.map +1 -1
  5. package/dist/app/entry.server.js +3 -0
  6. package/dist/app/entry.server.js.map +1 -1
  7. package/dist/app/main.d.ts +1 -0
  8. package/dist/app/main.js +9 -26
  9. package/dist/app/main.js.map +1 -1
  10. package/dist/app/standalone.js.map +1 -1
  11. package/dist/cli/cli.js +1 -2
  12. package/dist/cli/cli.js.map +1 -1
  13. package/dist/cli/common/machine-id/lib.js.map +1 -1
  14. package/dist/cli/common/outdated.js.map +1 -1
  15. package/dist/cli/common/utils/box.js.map +1 -1
  16. package/dist/config/validators/InputSidebarSchema.d.ts +2 -2
  17. package/dist/config/validators/SidebarSchema.d.ts +24 -1
  18. package/dist/config/validators/SidebarSchema.js +76 -39
  19. package/dist/config/validators/SidebarSchema.js.map +1 -1
  20. package/dist/config/validators/validate.d.ts +406 -260
  21. package/dist/config/validators/validate.js +23 -7
  22. package/dist/config/validators/validate.js.map +1 -1
  23. package/dist/index.d.ts +4 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/lib/authentication/components/CallbackHandler.js +21 -31
  27. package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
  28. package/dist/lib/authentication/hook.d.ts +1 -1
  29. package/dist/lib/authentication/hook.js +1 -1
  30. package/dist/lib/authentication/hook.js.map +1 -1
  31. package/dist/lib/components/Header.js +6 -1
  32. package/dist/lib/components/Header.js.map +1 -1
  33. package/dist/lib/components/Heading.d.ts +1 -1
  34. package/dist/lib/components/MobileTopNavigation.js +4 -1
  35. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  36. package/dist/lib/components/SlotletProvider.d.ts +2 -1
  37. package/dist/lib/components/SlotletProvider.js.map +1 -1
  38. package/dist/lib/components/SyntaxHighlight.js +4 -1
  39. package/dist/lib/components/SyntaxHighlight.js.map +1 -1
  40. package/dist/lib/components/TopNavigation.d.ts +3 -0
  41. package/dist/lib/components/TopNavigation.js +38 -5
  42. package/dist/lib/components/TopNavigation.js.map +1 -1
  43. package/dist/lib/components/context/ZudokuContext.d.ts +6 -10
  44. package/dist/lib/components/context/ZudokuContext.js +26 -20
  45. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  46. package/dist/lib/components/index.d.ts +17 -8
  47. package/dist/lib/components/index.js +10 -3
  48. package/dist/lib/components/index.js.map +1 -1
  49. package/dist/lib/components/navigation/Sidebar.js +3 -3
  50. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  51. package/dist/lib/components/navigation/SidebarCategory.js +12 -7
  52. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  53. package/dist/lib/components/navigation/SidebarItem.js +3 -5
  54. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  55. package/dist/lib/components/navigation/utils.js +10 -14
  56. package/dist/lib/components/navigation/utils.js.map +1 -1
  57. package/dist/lib/core/DevPortalContext.d.ts +3 -6
  58. package/dist/lib/core/DevPortalContext.js.map +1 -1
  59. package/dist/lib/core/plugins.d.ts +1 -0
  60. package/dist/lib/core/plugins.js.map +1 -1
  61. package/dist/lib/errors/ErrorAlert.d.ts +1 -1
  62. package/dist/lib/errors/ErrorAlert.js +8 -3
  63. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  64. package/dist/lib/plugins/api-keys/CreateApiKey.js +1 -1
  65. package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
  66. package/dist/lib/plugins/custom-pages/CustomPage.js +2 -2
  67. package/dist/lib/plugins/markdown/index.d.ts +5 -6
  68. package/dist/lib/plugins/markdown/index.js +31 -3
  69. package/dist/lib/plugins/markdown/index.js.map +1 -1
  70. package/dist/lib/plugins/markdown/resolver.d.ts +38 -0
  71. package/dist/lib/plugins/markdown/resolver.js +75 -0
  72. package/dist/lib/plugins/markdown/resolver.js.map +1 -0
  73. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  74. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  75. package/dist/lib/plugins/openapi/Sidecar.js +2 -2
  76. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  77. package/dist/lib/plugins/openapi/client/worker.js.map +1 -1
  78. package/dist/lib/plugins/openapi/index.js.map +1 -1
  79. package/dist/lib/plugins/openapi/playground/Playground.js +2 -1
  80. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  81. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +1 -1
  82. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  83. package/dist/lib/plugins/redirect/index.d.ts +2 -5
  84. package/dist/lib/plugins/redirect/index.js +1 -1
  85. package/dist/lib/plugins/redirect/index.js.map +1 -1
  86. package/dist/lib/ui/Accordion.d.ts +7 -0
  87. package/dist/lib/ui/Accordion.js +14 -0
  88. package/dist/lib/ui/Accordion.js.map +1 -0
  89. package/dist/lib/ui/Alert.d.ts +8 -0
  90. package/dist/lib/ui/Alert.js +23 -0
  91. package/dist/lib/ui/Alert.js.map +1 -0
  92. package/dist/lib/ui/AlertDialog.d.ts +20 -0
  93. package/dist/lib/ui/AlertDialog.js +27 -0
  94. package/dist/lib/ui/AlertDialog.js.map +1 -0
  95. package/dist/lib/ui/AspectRatio.d.ts +3 -0
  96. package/dist/lib/ui/AspectRatio.js +4 -0
  97. package/dist/lib/ui/AspectRatio.js.map +1 -0
  98. package/dist/lib/ui/Badge.d.ts +9 -0
  99. package/dist/lib/ui/Badge.js +21 -0
  100. package/dist/lib/ui/Badge.js.map +1 -0
  101. package/dist/lib/ui/Breadcrumb.d.ts +19 -0
  102. package/dist/lib/ui/Breadcrumb.js +24 -0
  103. package/dist/lib/ui/Breadcrumb.js.map +1 -0
  104. package/dist/lib/ui/Button.d.ts +2 -3
  105. package/dist/lib/ui/Button.js +1 -1
  106. package/dist/lib/ui/Button.js.map +1 -1
  107. package/dist/lib/ui/Carousel.d.ts +18 -0
  108. package/dist/lib/ui/Carousel.js +99 -0
  109. package/dist/lib/ui/Carousel.js.map +1 -0
  110. package/dist/lib/ui/Checkbox.d.ts +4 -0
  111. package/dist/lib/ui/Checkbox.js +9 -0
  112. package/dist/lib/ui/Checkbox.js.map +1 -0
  113. package/dist/lib/ui/Collapsible.d.ts +5 -0
  114. package/dist/lib/ui/Collapsible.js +6 -0
  115. package/dist/lib/ui/Collapsible.js.map +1 -0
  116. package/dist/lib/ui/Command.d.ts +80 -0
  117. package/dist/lib/ui/Command.js +31 -0
  118. package/dist/lib/ui/Command.js.map +1 -0
  119. package/dist/lib/{components → ui}/Dialog.js +2 -2
  120. package/dist/lib/ui/Dialog.js.map +1 -0
  121. package/dist/lib/ui/Form.d.ts +23 -0
  122. package/dist/lib/ui/Form.js +63 -0
  123. package/dist/lib/ui/Form.js.map +1 -0
  124. package/dist/lib/ui/HoverCard.d.ts +6 -0
  125. package/dist/lib/ui/HoverCard.js +10 -0
  126. package/dist/lib/ui/HoverCard.js.map +1 -0
  127. package/dist/lib/ui/Label.d.ts +5 -0
  128. package/dist/lib/ui/Label.js +10 -0
  129. package/dist/lib/ui/Label.js.map +1 -0
  130. package/dist/lib/ui/Pagination.d.ts +28 -0
  131. package/dist/lib/ui/Pagination.js +24 -0
  132. package/dist/lib/ui/Pagination.js.map +1 -0
  133. package/dist/lib/ui/Popover.d.ts +6 -0
  134. package/dist/lib/ui/Popover.js +10 -0
  135. package/dist/lib/ui/Popover.js.map +1 -0
  136. package/dist/lib/ui/Progress.d.ts +4 -0
  137. package/dist/lib/ui/Progress.js +8 -0
  138. package/dist/lib/ui/Progress.js.map +1 -0
  139. package/dist/lib/ui/RadioGroup.d.ts +5 -0
  140. package/dist/lib/ui/RadioGroup.js +15 -0
  141. package/dist/lib/ui/RadioGroup.js.map +1 -0
  142. package/dist/lib/ui/ScrollArea.d.ts +5 -0
  143. package/dist/lib/ui/ScrollArea.js +12 -0
  144. package/dist/lib/ui/ScrollArea.js.map +1 -0
  145. package/dist/lib/ui/Select.js.map +1 -0
  146. package/dist/lib/ui/Skeleton.d.ts +2 -0
  147. package/dist/lib/ui/Skeleton.js +7 -0
  148. package/dist/lib/ui/Skeleton.js.map +1 -0
  149. package/dist/lib/ui/Slider.d.ts +4 -0
  150. package/dist/lib/ui/Slider.js +8 -0
  151. package/dist/lib/ui/Slider.js.map +1 -0
  152. package/dist/lib/ui/Switch.d.ts +4 -0
  153. package/dist/lib/ui/Switch.js +8 -0
  154. package/dist/lib/ui/Switch.js.map +1 -0
  155. package/dist/lib/ui/Textarea.d.ts +4 -0
  156. package/dist/lib/ui/Textarea.js +9 -0
  157. package/dist/lib/ui/Textarea.js.map +1 -0
  158. package/dist/lib/ui/Toggle.d.ts +12 -0
  159. package/dist/lib/ui/Toggle.js +26 -0
  160. package/dist/lib/ui/Toggle.js.map +1 -0
  161. package/dist/lib/ui/ToggleGroup.d.ts +12 -0
  162. package/dist/lib/ui/ToggleGroup.js +21 -0
  163. package/dist/lib/ui/ToggleGroup.js.map +1 -0
  164. package/dist/lib/ui/Tooltip.d.ts +7 -0
  165. package/dist/lib/ui/Tooltip.js +11 -0
  166. package/dist/lib/ui/Tooltip.js.map +1 -0
  167. package/dist/lib/util/MdxComponents.js.map +1 -1
  168. package/dist/lib/util/invariant.d.ts +9 -0
  169. package/dist/lib/util/invariant.js +7 -3
  170. package/dist/lib/util/invariant.js.map +1 -1
  171. package/dist/lib/util/useExposedProps.js +3 -2
  172. package/dist/lib/util/useExposedProps.js.map +1 -1
  173. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  174. package/dist/vite/build.js +12 -3
  175. package/dist/vite/build.js.map +1 -1
  176. package/dist/vite/config.d.ts +2 -8
  177. package/dist/vite/config.js +24 -59
  178. package/dist/vite/config.js.map +1 -1
  179. package/dist/vite/debug.d.ts +1 -0
  180. package/dist/vite/debug.js +10 -0
  181. package/dist/vite/debug.js.map +1 -0
  182. package/dist/vite/dev-server.js +1 -1
  183. package/dist/vite/dev-server.js.map +1 -1
  184. package/dist/vite/output.d.ts +101 -0
  185. package/dist/vite/output.js +30 -0
  186. package/dist/vite/output.js.map +1 -0
  187. package/dist/vite/plugin-component.js +17 -7
  188. package/dist/vite/plugin-component.js.map +1 -1
  189. package/dist/vite/plugin-config-reload.js +0 -2
  190. package/dist/vite/plugin-config-reload.js.map +1 -1
  191. package/dist/vite/plugin-config.d.ts +2 -3
  192. package/dist/vite/plugin-config.js +2 -3
  193. package/dist/vite/plugin-config.js.map +1 -1
  194. package/dist/vite/plugin-docs.js +37 -26
  195. package/dist/vite/plugin-docs.js.map +1 -1
  196. package/dist/vite/plugin-frontmatter.d.ts +2 -1
  197. package/dist/vite/plugin-frontmatter.js +27 -24
  198. package/dist/vite/plugin-frontmatter.js.map +1 -1
  199. package/dist/vite/plugin-search.d.ts +3 -0
  200. package/dist/vite/plugin-search.js +26 -0
  201. package/dist/vite/plugin-search.js.map +1 -0
  202. package/dist/vite/plugin-sidebar.js +7 -6
  203. package/dist/vite/plugin-sidebar.js.map +1 -1
  204. package/dist/vite/plugin.js +4 -2
  205. package/dist/vite/plugin.js.map +1 -1
  206. package/dist/vite/prerender.d.ts +5 -1
  207. package/dist/vite/prerender.js +6 -5
  208. package/dist/vite/prerender.js.map +1 -1
  209. package/lib/{utils-C8S3st2k.js → AnchorLink-BbB2q-jx.js} +231 -275
  210. package/lib/AnchorLink-BbB2q-jx.js.map +1 -0
  211. package/lib/{AuthenticationPlugin-D1nhROkO.js → AuthenticationPlugin-C9BHGXlE.js} +3 -3
  212. package/lib/{AuthenticationPlugin-D1nhROkO.js.map → AuthenticationPlugin-C9BHGXlE.js.map} +1 -1
  213. package/lib/{CategoryHeading-B7TlPvuN.js → CategoryHeading-Bb9dqxD3.js} +4 -4
  214. package/lib/{CategoryHeading-B7TlPvuN.js.map → CategoryHeading-Bb9dqxD3.js.map} +1 -1
  215. package/lib/ClientOnly-CVN6leDu.js +11 -0
  216. package/lib/ClientOnly-CVN6leDu.js.map +1 -0
  217. package/lib/{DeveloperHint-B_QCCafl.js → DeveloperHint-DHdLXGHA.js} +2 -2
  218. package/lib/{DeveloperHint-B_QCCafl.js.map → DeveloperHint-DHdLXGHA.js.map} +1 -1
  219. package/lib/Dialog-k70Qfukb.js +67 -0
  220. package/lib/Dialog-k70Qfukb.js.map +1 -0
  221. package/lib/{Markdown-Y__eLG0x.js → Markdown-BDcCAWwm.js} +4268 -6650
  222. package/lib/Markdown-BDcCAWwm.js.map +1 -0
  223. package/lib/{MdxPage-B4FcPIi5.js → MdxPage-DKMH_t0f.js} +33 -31
  224. package/lib/{MdxPage-B4FcPIi5.js.map → MdxPage-DKMH_t0f.js.map} +1 -1
  225. package/lib/{OperationList-DuPG2FA2.js → OperationList-Tj7ubW_t.js} +131 -128
  226. package/lib/OperationList-Tj7ubW_t.js.map +1 -0
  227. package/lib/{Route-Bb3QClHu.js → Route-C3DGB6OS.js} +3 -3
  228. package/lib/{Route-Bb3QClHu.js.map → Route-C3DGB6OS.js.map} +1 -1
  229. package/lib/Select-Bagt3Bme.js +223 -0
  230. package/lib/Select-Bagt3Bme.js.map +1 -0
  231. package/lib/SlotletProvider-Da7eFgd2.js +241 -0
  232. package/lib/SlotletProvider-Da7eFgd2.js.map +1 -0
  233. package/lib/Spinner-C6zroowC.js +40 -0
  234. package/lib/Spinner-C6zroowC.js.map +1 -0
  235. package/lib/StaggeredRender-DDHSzQKE.js +17 -0
  236. package/lib/StaggeredRender-DDHSzQKE.js.map +1 -0
  237. package/lib/{ZudokuContext-MRoel6bS.js → ZudokuContext-BKXGJTmu.js} +460 -411
  238. package/lib/ZudokuContext-BKXGJTmu.js.map +1 -0
  239. package/lib/__vite-browser-external-BYRIRx8p.js +9 -0
  240. package/lib/__vite-browser-external-BYRIRx8p.js.map +1 -0
  241. package/lib/_commonjsHelpers-BkfeUUK-.js +29 -0
  242. package/lib/_commonjsHelpers-BkfeUUK-.js.map +1 -0
  243. package/lib/assets/worker-Bf8vjASY.js.map +1 -1
  244. package/lib/cn-BmFQLtkS.js +2279 -0
  245. package/lib/cn-BmFQLtkS.js.map +1 -0
  246. package/lib/hook-sn0zMTkE.js +229 -0
  247. package/lib/hook-sn0zMTkE.js.map +1 -0
  248. package/lib/{index-CCa8ojDW.js → index-AjWCJNGC.js} +1332 -1606
  249. package/lib/index-AjWCJNGC.js.map +1 -0
  250. package/lib/index-Bn6Lc9tq.js +9 -0
  251. package/lib/{index-DJqnphbT.js.map → index-Bn6Lc9tq.js.map} +1 -1
  252. package/lib/index-BuAyrJe3.js +46 -0
  253. package/lib/index-BuAyrJe3.js.map +1 -0
  254. package/lib/{index-DFN92YJN.js → index-CRo94sKK.js} +5 -4
  255. package/lib/{index-DFN92YJN.js.map → index-CRo94sKK.js.map} +1 -1
  256. package/lib/{index-D06ATMgg.js → index-LNp6rxyU.js} +2 -2
  257. package/lib/{index-D06ATMgg.js.map → index-LNp6rxyU.js.map} +1 -1
  258. package/lib/index.esm-C5mr_sKO.js +1193 -0
  259. package/lib/index.esm-C5mr_sKO.js.map +1 -0
  260. package/lib/invariant-Caa8-XvF.js +26 -0
  261. package/lib/invariant-Caa8-XvF.js.map +1 -0
  262. package/lib/ui/Accordion.js +47 -0
  263. package/lib/ui/Accordion.js.map +1 -0
  264. package/lib/ui/Alert.js +51 -0
  265. package/lib/ui/Alert.js.map +1 -0
  266. package/lib/ui/AlertDialog.js +114 -0
  267. package/lib/ui/AlertDialog.js.map +1 -0
  268. package/lib/ui/AspectRatio.js +6 -0
  269. package/lib/ui/AspectRatio.js.map +1 -0
  270. package/lib/ui/Badge.js +27 -0
  271. package/lib/ui/Badge.js.map +1 -0
  272. package/lib/ui/Breadcrumb.js +94 -0
  273. package/lib/ui/Breadcrumb.js.map +1 -0
  274. package/lib/ui/Button.js +49 -0
  275. package/lib/ui/Button.js.map +1 -0
  276. package/lib/ui/Callout.js +77 -0
  277. package/lib/ui/Callout.js.map +1 -0
  278. package/lib/ui/Card.js +62 -0
  279. package/lib/ui/Card.js.map +1 -0
  280. package/lib/ui/Carousel.js +1410 -0
  281. package/lib/ui/Carousel.js.map +1 -0
  282. package/lib/ui/Checkbox.js +28 -0
  283. package/lib/ui/Checkbox.js.map +1 -0
  284. package/lib/ui/Collapsible.js +8 -0
  285. package/lib/ui/Collapsible.js.map +1 -0
  286. package/lib/ui/Command.js +550 -0
  287. package/lib/ui/Command.js.map +1 -0
  288. package/lib/ui/Dialog.js +101 -0
  289. package/lib/ui/Dialog.js.map +1 -0
  290. package/lib/ui/Drawer.js +1153 -0
  291. package/lib/ui/Drawer.js.map +1 -0
  292. package/lib/ui/DropdownMenu.js +145 -0
  293. package/lib/ui/DropdownMenu.js.map +1 -0
  294. package/lib/ui/Form.js +95 -0
  295. package/lib/ui/Form.js.map +1 -0
  296. package/lib/ui/HoverCard.js +24 -0
  297. package/lib/ui/HoverCard.js.map +1 -0
  298. package/lib/ui/Input.js +22 -0
  299. package/lib/ui/Input.js.map +1 -0
  300. package/lib/ui/Label.js +20 -0
  301. package/lib/ui/Label.js.map +1 -0
  302. package/lib/ui/Pagination.js +106 -0
  303. package/lib/ui/Pagination.js.map +1 -0
  304. package/lib/ui/Popover.js +24 -0
  305. package/lib/ui/Popover.js.map +1 -0
  306. package/lib/ui/Progress.js +27 -0
  307. package/lib/ui/Progress.js.map +1 -0
  308. package/lib/ui/RadioGroup.js +32 -0
  309. package/lib/ui/RadioGroup.js.map +1 -0
  310. package/lib/ui/ScrollArea.js +39 -0
  311. package/lib/ui/ScrollArea.js.map +1 -0
  312. package/lib/ui/Select.js +122 -0
  313. package/lib/ui/Select.js.map +1 -0
  314. package/lib/ui/Skeleton.js +18 -0
  315. package/lib/ui/Skeleton.js.map +1 -0
  316. package/lib/ui/Slider.js +24 -0
  317. package/lib/ui/Slider.js.map +1 -0
  318. package/lib/ui/Switch.js +28 -0
  319. package/lib/ui/Switch.js.map +1 -0
  320. package/lib/ui/Tabs.js +47 -0
  321. package/lib/ui/Tabs.js.map +1 -0
  322. package/lib/ui/Textarea.js +21 -0
  323. package/lib/ui/Textarea.js.map +1 -0
  324. package/lib/ui/Toggle.js +38 -0
  325. package/lib/ui/Toggle.js.map +1 -0
  326. package/lib/ui/ToggleGroup.js +42 -0
  327. package/lib/ui/ToggleGroup.js.map +1 -0
  328. package/lib/ui/Tooltip.js +24 -0
  329. package/lib/ui/Tooltip.js.map +1 -0
  330. package/lib/urql-core-KJnLL26g.js.map +1 -1
  331. package/lib/useExposedProps-ChOIUaS4.js +9 -0
  332. package/lib/useExposedProps-ChOIUaS4.js.map +1 -0
  333. package/lib/zudoku.auth-clerk.js +1 -1
  334. package/lib/zudoku.auth-openid.js +477 -483
  335. package/lib/zudoku.auth-openid.js.map +1 -1
  336. package/lib/zudoku.components.js +907 -2881
  337. package/lib/zudoku.components.js.map +1 -1
  338. package/lib/zudoku.openapi-worker.js +2 -2
  339. package/lib/zudoku.plugin-api-keys.js +69 -76
  340. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  341. package/lib/zudoku.plugin-custom-pages.js +9 -8
  342. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  343. package/lib/zudoku.plugin-markdown.js +93 -27
  344. package/lib/zudoku.plugin-markdown.js.map +1 -1
  345. package/lib/zudoku.plugin-openapi.js +7 -8
  346. package/lib/zudoku.plugin-openapi.js.map +1 -1
  347. package/lib/zudoku.plugin-redirect.js +1 -1
  348. package/lib/zudoku.plugin-redirect.js.map +1 -1
  349. package/lib/zudoku.plugin-search-inkeep.js +9 -13
  350. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  351. package/package.json +32 -9
  352. package/src/app/entry.client.tsx +4 -2
  353. package/src/app/entry.server.tsx +4 -0
  354. package/src/app/main.css +4 -1
  355. package/src/app/main.tsx +12 -30
  356. package/src/app/standalone.tsx +1 -1
  357. package/src/lib/authentication/components/CallbackHandler.tsx +20 -51
  358. package/src/lib/authentication/hook.ts +1 -1
  359. package/src/lib/components/Header.tsx +17 -2
  360. package/src/lib/components/MobileTopNavigation.tsx +5 -1
  361. package/src/lib/components/SlotletProvider.tsx +2 -0
  362. package/src/lib/components/SyntaxHighlight.tsx +5 -1
  363. package/src/lib/components/TopNavigation.tsx +70 -23
  364. package/src/lib/components/context/ZudokuContext.ts +28 -20
  365. package/src/lib/components/index.ts +13 -4
  366. package/src/lib/components/navigation/Sidebar.tsx +5 -5
  367. package/src/lib/components/navigation/SidebarCategory.tsx +13 -13
  368. package/src/lib/components/navigation/SidebarItem.tsx +3 -5
  369. package/src/lib/components/navigation/utils.ts +11 -16
  370. package/src/lib/core/DevPortalContext.ts +3 -2
  371. package/src/lib/core/plugins.ts +2 -0
  372. package/src/lib/errors/ErrorAlert.tsx +18 -5
  373. package/src/lib/plugins/api-keys/CreateApiKey.tsx +2 -2
  374. package/src/lib/plugins/custom-pages/CustomPage.tsx +2 -2
  375. package/src/lib/plugins/markdown/index.tsx +49 -12
  376. package/src/lib/plugins/markdown/resolver.ts +92 -0
  377. package/src/lib/plugins/openapi/Endpoint.tsx +2 -2
  378. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +1 -1
  379. package/src/lib/plugins/openapi/Sidecar.tsx +3 -3
  380. package/src/lib/plugins/openapi/client/worker.ts +2 -2
  381. package/src/lib/plugins/openapi/index.tsx +1 -1
  382. package/src/lib/plugins/openapi/playground/Playground.tsx +4 -3
  383. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +1 -1
  384. package/src/lib/plugins/redirect/index.tsx +3 -7
  385. package/src/lib/ui/Accordion.tsx +56 -0
  386. package/src/lib/ui/{Note.tsx → Alert.tsx} +11 -10
  387. package/src/lib/ui/AlertDialog.tsx +139 -0
  388. package/src/lib/ui/AspectRatio.tsx +5 -0
  389. package/src/lib/ui/Badge.tsx +36 -0
  390. package/src/lib/ui/Breadcrumb.tsx +115 -0
  391. package/src/lib/ui/Button.tsx +1 -1
  392. package/src/lib/ui/Carousel.tsx +260 -0
  393. package/src/lib/ui/Checkbox.tsx +28 -0
  394. package/src/lib/ui/Collapsible.tsx +9 -0
  395. package/src/lib/ui/Command.tsx +151 -0
  396. package/src/lib/{components → ui}/Dialog.tsx +4 -3
  397. package/src/lib/ui/Form.tsx +177 -0
  398. package/src/lib/ui/HoverCard.tsx +27 -0
  399. package/src/lib/ui/Label.tsx +24 -0
  400. package/src/lib/ui/Pagination.tsx +117 -0
  401. package/src/lib/ui/Popover.tsx +29 -0
  402. package/src/lib/ui/Progress.tsx +26 -0
  403. package/src/lib/ui/RadioGroup.tsx +42 -0
  404. package/src/lib/ui/ScrollArea.tsx +46 -0
  405. package/src/lib/ui/Skeleton.tsx +15 -0
  406. package/src/lib/ui/Slider.tsx +26 -0
  407. package/src/lib/ui/Switch.tsx +27 -0
  408. package/src/lib/ui/Textarea.tsx +23 -0
  409. package/src/lib/ui/Toggle.tsx +43 -0
  410. package/src/lib/ui/ToggleGroup.tsx +59 -0
  411. package/src/lib/ui/Tooltip.tsx +28 -0
  412. package/src/lib/util/MdxComponents.tsx +0 -1
  413. package/src/lib/util/invariant.ts +15 -3
  414. package/src/lib/util/useExposedProps.tsx +8 -2
  415. package/src/lib/util/useScrollToAnchor.ts +1 -1
  416. package/dist/internal.d.ts +0 -1
  417. package/dist/internal.js +0 -2
  418. package/dist/internal.js.map +0 -1
  419. package/dist/lib/components/Dialog.js.map +0 -1
  420. package/dist/lib/components/Select.js.map +0 -1
  421. package/dist/lib/plugins/markdown/generateRoutes.d.ts +0 -3
  422. package/dist/lib/plugins/markdown/generateRoutes.js +0 -21
  423. package/dist/lib/plugins/markdown/generateRoutes.js.map +0 -1
  424. package/dist/lib/ui/Note.d.ts +0 -8
  425. package/dist/lib/ui/Note.js +0 -23
  426. package/dist/lib/ui/Note.js.map +0 -1
  427. package/lib/ErrorPage-DqqAV1dr.js +0 -16
  428. package/lib/ErrorPage-DqqAV1dr.js.map +0 -1
  429. package/lib/Input-a9rLgbP_.js +0 -2229
  430. package/lib/Input-a9rLgbP_.js.map +0 -1
  431. package/lib/Markdown-Y__eLG0x.js.map +0 -1
  432. package/lib/OperationList-DuPG2FA2.js.map +0 -1
  433. package/lib/SidebarBadge-BdzN0ZBK.js +0 -503
  434. package/lib/SidebarBadge-BdzN0ZBK.js.map +0 -1
  435. package/lib/SlotletProvider-DmqWiVFt.js +0 -239
  436. package/lib/SlotletProvider-DmqWiVFt.js.map +0 -1
  437. package/lib/Spinner-3cQDBVGr.js +0 -7
  438. package/lib/Spinner-3cQDBVGr.js.map +0 -1
  439. package/lib/ZudokuContext-MRoel6bS.js.map +0 -1
  440. package/lib/index-BijFM__9.js +0 -124
  441. package/lib/index-BijFM__9.js.map +0 -1
  442. package/lib/index-CCa8ojDW.js.map +0 -1
  443. package/lib/index-DJqnphbT.js +0 -35
  444. package/lib/index-_GxJ8hpM.js +0 -2867
  445. package/lib/index-_GxJ8hpM.js.map +0 -1
  446. package/lib/joinPath-B7kNnUX4.js +0 -8
  447. package/lib/joinPath-B7kNnUX4.js.map +0 -1
  448. package/lib/useExposedProps-BWwxa-Hg.js +0 -9
  449. package/lib/useExposedProps-BWwxa-Hg.js.map +0 -1
  450. package/lib/utils-C8S3st2k.js.map +0 -1
  451. package/src/lib/plugins/markdown/generateRoutes.tsx +0 -38
  452. /package/dist/lib/{components → ui}/Dialog.d.ts +0 -0
  453. /package/dist/lib/{components → ui}/Select.d.ts +0 -0
  454. /package/dist/lib/{components → ui}/Select.js +0 -0
  455. /package/src/lib/{components → ui}/Select.tsx +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"OperationList-DuPG2FA2.js","sources":["../src/lib/plugins/openapi/graphql/fragment-masking.ts","../src/lib/plugins/openapi/Endpoint.tsx","../src/lib/util/groupBy.ts","../src/lib/util/renderIf.ts","../src/lib/plugins/openapi/ParameterListItem.tsx","../src/lib/plugins/openapi/ParameterList.tsx","../src/lib/util/objectEntries.ts","../src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.tsx","../src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.tsx","../src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx","../src/lib/plugins/openapi/schema/utils.ts","../src/lib/plugins/openapi/schema/SchemaComponents.tsx","../src/lib/plugins/openapi/schema/SchemaView.tsx","../src/lib/plugins/openapi/OperationListItem.tsx","../src/lib/plugins/openapi/OperationList.tsx"],"sourcesContent":["/* eslint-disable */\nimport type {\n DocumentTypeDecoration,\n ResultOf,\n TypedDocumentNode,\n} from \"@graphql-typed-document-node/core\";\nimport type { FragmentDefinitionNode } from \"graphql\";\nimport type { Incremental } from \"./graphql.js\";\n\nexport type FragmentType<\n TDocumentType extends DocumentTypeDecoration<any, any>,\n> =\n TDocumentType extends DocumentTypeDecoration<infer TType, any>\n ? [TType] extends [{ \" $fragmentName\"?: infer TKey }]\n ? TKey extends string\n ? { \" $fragmentRefs\"?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>,\n): TType;\n// return nullable if `fragmentType` is undefined\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | undefined,\n): TType | undefined;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | null,\n): TType | null;\n// return nullable if `fragmentType` is nullable or undefined\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | null\n | undefined,\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: Array<FragmentType<DocumentTypeDecoration<TType, any>>>,\n): Array<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | Array<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): Array<TType> | null | undefined;\n// return readonly array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>,\n): ReadonlyArray<TType>;\n// return readonly array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | Array<FragmentType<DocumentTypeDecoration<TType, any>>>\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): TType | Array<TType> | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>,\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data:\n | FragmentType<TypedDocumentNode<Incremental<TFrag>, any>>\n | null\n | undefined,\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (\n queryNode as {\n __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> };\n }\n ).__meta__?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as\n | FragmentDefinitionNode\n | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every((field) => data && field in data);\n}\n","import { CheckIcon, CopyIcon } from \"lucide-react\";\nimport { useState, useTransition } from \"react\";\nimport { useQuery } from \"urql\";\nimport { useSelectedServerStore } from \"../../authentication/state.js\";\nimport { InlineCode } from \"../../components/InlineCode.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport { SimpleSelect } from \"./SimpleSelect.js\";\n\nconst ServersQuery = graphql(/* GraphQL */ `\n query ServersQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n }\n`);\n\nconst CopyButton = ({ url }: { url: string }) => {\n const [isCopied, setIsCopied] = useState(false);\n\n return (\n <Button\n onClick={() => {\n void navigator.clipboard.writeText(url).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n });\n }}\n variant=\"ghost\"\n size=\"icon\"\n >\n {isCopied ? (\n <CheckIcon className=\"text-green-600\" size={14} />\n ) : (\n <CopyIcon size={14} strokeWidth={1.3} />\n )}\n </Button>\n );\n};\n\nconst context = { suspense: true } as const;\n\nexport const Endpoint = () => {\n const [result] = useQuery({\n query: ServersQuery,\n variables: useOasConfig(),\n context,\n });\n const [, startTransition] = useTransition();\n const { selectedServer, setSelectedServer } = useSelectedServerStore();\n\n if (!result.data) return null;\n\n const { servers } = result.data.schema;\n\n if (servers.length === 1) {\n return (\n <div className=\"flex items-center gap-2\">\n <span className=\"font-medium text-sm\">Endpoint:</span>\n <InlineCode className=\"text-xs px-2 py-1.5\" selectOnClick>\n {servers[0].url}\n </InlineCode>\n <CopyButton url={servers[0].url} />\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"font-medium text-sm\">\n {servers.length > 1 ? \"Endpoints\" : \"Endpoint\"}:\n </span>\n\n <SimpleSelect\n className=\"font-mono text-xs bg-border/50 dark:bg-border/70 py-1.5 max-w-[450px] truncate\"\n onChange={(e) =>\n startTransition(() => {\n setSelectedServer(e.target.value);\n })\n }\n value={selectedServer ?? result.data.schema.url}\n showChevrons={servers.length > 1}\n options={servers.map((server) => ({\n value: server.url,\n label: server.url,\n }))}\n />\n <CopyButton url={selectedServer ?? result.data.schema.url} />\n </div>\n );\n};\n","export const groupBy = <\n T extends Record<PropertyKey, any>,\n KeySelector extends (item: T) => PropertyKey,\n>(\n arr: T[],\n keySelector: KeySelector,\n): Partial<Record<ReturnType<KeySelector>, T[]>> => {\n return arr.reduce(\n (accumulator, val) => {\n const groupedKey = keySelector(val) as ReturnType<KeySelector>;\n if (!accumulator[groupedKey]) {\n accumulator[groupedKey] = [];\n }\n accumulator[groupedKey].push(val);\n return accumulator;\n },\n {} as Record<ReturnType<KeySelector>, T[]>,\n );\n};\n","export const renderIf = <G, R>(\n variable: G | undefined | null,\n callback: (variable: G) => R,\n): R | undefined => (variable ? callback(variable) : undefined);\n","import { Markdown } from \"../../components/Markdown.js\";\nimport { type SchemaObject } from \"../../oas/graphql/index.js\";\nimport { ColorizedParam } from \"./ColorizedParam.js\";\nimport type { OperationListItemResult } from \"./OperationList.js\";\nimport type { ParameterGroup } from \"./OperationListItem.js\";\n\nconst getParameterSchema = (\n parameter: ParameterListItemResult,\n): SchemaObject => {\n if (parameter.schema != null && typeof parameter.schema === \"object\") {\n return parameter.schema;\n }\n return {\n type: \"string\",\n };\n};\n\nexport type ParameterListItemResult = NonNullable<\n OperationListItemResult[\"parameters\"]\n>[number];\n\nexport const ParameterListItem = ({\n parameter,\n group,\n id,\n}: {\n parameter: ParameterListItemResult;\n group: ParameterGroup;\n id: string;\n}) => (\n <li className=\"p-4 bg-border/20 text-sm flex flex-col gap-1\">\n <div className=\"flex items-center gap-2\">\n <code>\n {group === \"path\" ? (\n <ColorizedParam\n name={parameter.name}\n backgroundOpacity=\"15%\"\n slug={id + \"-\" + parameter.name.toLocaleLowerCase()}\n />\n ) : (\n parameter.name\n )}\n </code>\n {parameter.required && (\n <span className=\"py-px px-1.5 font-medium bg-primary/75 text-muted rounded-lg\">\n required\n </span>\n )}\n {getParameterSchema(parameter).type && (\n <span className=\"text-muted-foreground\">\n {getParameterSchema(parameter).type}\n </span>\n )}\n </div>\n {parameter.description && (\n <Markdown\n content={parameter.description}\n className=\"text-sm prose-p:my-1 prose-code:whitespace-pre-line\"\n />\n )}\n </li>\n);\n","import { Heading } from \"../../components/Heading.js\";\nimport { Card } from \"../../ui/Card.js\";\nimport type { ParameterGroup } from \"./OperationListItem.js\";\nimport {\n ParameterListItem,\n type ParameterListItemResult,\n} from \"./ParameterListItem.js\";\n\nexport const ParameterList = ({\n group,\n parameters,\n id,\n}: {\n group: ParameterGroup;\n parameters: ParameterListItemResult[];\n id: string;\n}) => (\n <>\n <Heading level={3} id={`${id}/${group}-parameters`} className=\"capitalize\">\n {group === \"header\" ? \"Headers\" : `${group} Parameters`}\n </Heading>\n <Card>\n <ul className=\"list-none m-0 px-0 divide-y \">\n {parameters\n .sort((a, b) => (a.required === b.required ? 0 : a.required ? -1 : 1))\n .map((parameter) => (\n <ParameterListItem\n key={`${parameter.name}-${parameter.in}`}\n parameter={parameter}\n id={id}\n group={group}\n />\n ))}\n </ul>\n </Card>\n </>\n);\n","type ValueOf<T> = T[keyof T];\ntype Entries<T> = [keyof T, ValueOf<T>][];\n\nexport const objectEntries = <T extends object>(obj: T): Entries<T> =>\n Object.entries(obj) as Entries<T>;\n","import {\n ChevronDownIcon,\n CircleDotIcon,\n CircleFadingPlusIcon,\n CircleIcon,\n} from \"lucide-react\";\nimport { cn } from \"../../../../util/cn.js\";\n\nimport type { LogicalGroupType } from \"../utils.js\";\n\nconst iconMap = {\n AND: <CircleFadingPlusIcon size={16} className=\"fill-card\" />,\n OR: <CircleDotIcon size={16} className=\"fill-card\" />,\n ONE: <CircleIcon size={14} className=\"fill-card\" />,\n} as const;\n\nconst colorClass = {\n AND: \"text-green-500 dark:text-green-300/60\",\n OR: \"text-blue-400 dark:text-blue-500\",\n ONE: \"text-purple-500 dark:text-purple-300/60\",\n} as const;\n\nexport const LogicalGroupConnector = ({\n type,\n isOpen,\n className,\n}: {\n type: LogicalGroupType;\n isOpen: boolean;\n className?: string;\n}) => {\n return (\n <div\n className={cn(\n colorClass[type],\n \"relative text-sm flex py-2\",\n \"before:border-l before:absolute before:-top-2 before:-bottom-2 before:border-border before:border-dashed before:content-['']\",\n className,\n )}\n >\n <div className=\"-translate-x-[7px] flex gap-1 items-center\">\n {iconMap[type]}\n <div\n className={cn(\n \"translate-y-px mx-px opacity-0 group-hover:opacity-100 transition\",\n !isOpen && \"-rotate-90\",\n )}\n >\n <ChevronDownIcon size={16} />\n </div>\n </div>\n </div>\n );\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { useState } from \"react\";\nimport type { SchemaObject } from \"../../../../oas/parser/index.js\";\nimport { SchemaView } from \"../SchemaView.js\";\nimport type { LogicalGroupType } from \"../utils.js\";\nimport { LogicalGroupConnector } from \"./LogicalGroupConnector.js\";\n\nexport const LogicalGroupItem = (props: {\n type: LogicalGroupType;\n schema: SchemaObject;\n level: number;\n}) => {\n const [isOpen, setIsOpen] = useState(true);\n\n return (\n <Collapsible.Root\n open={isOpen}\n onOpenChange={() => setIsOpen((prev) => !prev)}\n className=\"group\"\n >\n <Collapsible.Trigger>\n <LogicalGroupConnector type={props.type} isOpen={isOpen} />\n </Collapsible.Trigger>\n {!isOpen && <div className=\"wavy-line bg-border translate-y-1\" />}\n <Collapsible.Content>\n <SchemaView schema={props.schema} level={props.level + 1} />\n </Collapsible.Content>\n </Collapsible.Root>\n );\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { SquareMinusIcon, SquarePlusIcon } from \"lucide-react\";\nimport type { SchemaObject } from \"../../../../oas/parser/index.js\";\nimport { Card } from \"../../../../ui/Card.js\";\nimport type { LogicalGroupType } from \"../utils.js\";\nimport { LogicalGroupItem } from \"./LogicalGroupItem.js\";\n\nconst typeLabel = {\n AND: \"All of\",\n OR: \"Any of\",\n ONE: \"One of\",\n};\n\nexport const LogicalGroup = ({\n schemas,\n type,\n isOpen,\n level,\n toggleOpen,\n}: {\n schemas: SchemaObject[];\n type: LogicalGroupType;\n isOpen: boolean;\n toggleOpen: () => void;\n level: number;\n}) => (\n <Collapsible.Root open={isOpen} onOpenChange={toggleOpen} asChild>\n <Card className=\"px-6\">\n <Collapsible.Trigger className=\"flex gap-2 items-center py-2 w-full text-sm text-muted-foreground -translate-x-1.5\">\n {isOpen ? <SquareMinusIcon size={14} /> : <SquarePlusIcon size={14} />}\n <span>{typeLabel[type]}</span>\n </Collapsible.Trigger>\n\n <Collapsible.Content className=\"pb-4\">\n {schemas.map((subSchema, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <LogicalGroupItem\n key={index}\n type={type}\n schema={subSchema}\n level={level}\n />\n ))}\n </Collapsible.Content>\n </Card>\n </Collapsible.Root>\n);\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\n\nexport const isComplexType = (value: SchemaObject) =>\n value.type === \"object\" ||\n (value.type === \"array\" &&\n typeof value.items === \"object\" &&\n (!value.items.type || value.items.type === \"object\"));\n\nexport const hasLogicalGroupings = (value: SchemaObject) =>\n Boolean(value.oneOf ?? value.allOf ?? value.anyOf);\n\nexport const LogicalSchemaTypeMap = {\n allOf: \"AND\",\n anyOf: \"OR\",\n oneOf: \"ONE\",\n} as const;\n\nexport type LogicalGroupType = \"AND\" | \"OR\" | \"ONE\";\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { ListPlusIcon } from \"lucide-react\";\nimport { useCallback, useState } from \"react\";\nimport { Markdown, ProseClasses } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { objectEntries } from \"../../../util/objectEntries.js\";\nimport { LogicalGroup } from \"./LogicalGroup/LogicalGroup.js\";\nimport { SchemaView } from \"./SchemaView.js\";\nimport {\n hasLogicalGroupings,\n isComplexType,\n LogicalSchemaTypeMap,\n} from \"./utils.js\";\n\nexport const SchemaLogicalGroup = ({\n schema,\n level,\n}: {\n schema: SchemaObject;\n level: number;\n}) => {\n const [isOpen, setIsOpen] = useState(true);\n const toggleOpen = useCallback(() => setIsOpen((prev) => !prev), []);\n\n for (const [key, type] of objectEntries(LogicalSchemaTypeMap)) {\n if (!schema[key]) continue;\n\n return (\n <LogicalGroup\n schemas={schema[key]}\n type={type}\n isOpen={isOpen}\n toggleOpen={toggleOpen}\n level={level}\n />\n );\n }\n};\n\nexport const SchemaPropertyItem = ({\n name,\n schema,\n group,\n level,\n defaultOpen = false,\n showCollapseButton = true,\n}: {\n name: string;\n schema: SchemaObject;\n group: \"required\" | \"optional\" | \"deprecated\";\n level: number;\n defaultOpen?: boolean;\n showCollapseButton?: boolean;\n}) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n\n return (\n <li className=\"p-4 bg-border/20 hover:bg-border/30\">\n <div className=\"flex flex-col gap-1 justify-between text-sm\">\n <div className=\"flex gap-2 items-center\">\n <code>{name}</code>\n <span className=\"text-muted-foreground\">\n {schema.type === \"array\" && schema.items.type ? (\n <span>{schema.items.type}[]</span>\n ) : Array.isArray(schema.type) ? (\n <span>{schema.type.join(\" | \")}</span>\n ) : (\n <span>{schema.type}</span>\n )}\n </span>\n {group === \"optional\" && (\n <span className=\"py-px px-1.5 font-medium border rounded-lg\">\n optional\n </span>\n )}\n </div>\n\n {schema.description && (\n <Markdown\n className={cn(ProseClasses, \"text-sm leading-normal line-clamp-4\")}\n content={schema.description}\n />\n )}\n\n {(hasLogicalGroupings(schema) || isComplexType(schema)) && (\n <Collapsible.Root\n defaultOpen={defaultOpen}\n open={isOpen}\n onOpenChange={() => setIsOpen(!isOpen)}\n >\n {showCollapseButton && (\n <Collapsible.Trigger asChild>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"mt-2 flex gap-1.5\"\n >\n <ListPlusIcon size={18} />\n {!isOpen\n ? \"Show nested properties\"\n : \"Hide nested properties\"}\n </Button>\n </Collapsible.Trigger>\n )}\n <Collapsible.Content>\n <div className=\"mt-2\">\n {hasLogicalGroupings(schema) ? (\n <SchemaLogicalGroup schema={schema} level={level + 1} />\n ) : schema.type === \"object\" ? (\n <SchemaView schema={schema} level={level + 1} />\n ) : (\n schema.type === \"array\" &&\n typeof schema.items === \"object\" && (\n <SchemaView schema={schema.items} level={level + 1} />\n )\n )}\n </div>\n </Collapsible.Content>\n </Collapsible.Root>\n )}\n </div>\n </li>\n );\n};\n","import { Markdown, ProseClasses } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"../../../ui/Card.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { groupBy } from \"../../../util/groupBy.js\";\nimport { SchemaLogicalGroup, SchemaPropertyItem } from \"./SchemaComponents.js\";\nimport { hasLogicalGroupings } from \"./utils.js\";\n\nexport const SchemaView = ({\n schema,\n level = 0,\n defaultOpen = false,\n}: {\n schema?: SchemaObject | null;\n level?: number;\n defaultOpen?: boolean;\n}) => {\n if (!schema || Object.keys(schema).length === 0) {\n return (\n <Card className=\"p-4\">\n <span className=\"text-sm text-muted-foreground italic\">\n No response specified\n </span>\n </Card>\n );\n }\n\n const renderSchema = (schema: SchemaObject, level: number) => {\n if (hasLogicalGroupings(schema)) {\n return <SchemaLogicalGroup schema={schema} level={level} />;\n }\n\n // Sometimes items is not defined\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (schema.type === \"array\" && schema.items) {\n const itemsSchema = schema.items as SchemaObject;\n\n if (\n typeof itemsSchema.type === \"string\" &&\n [\"string\", \"number\", \"boolean\", \"integer\"].includes(itemsSchema.type)\n ) {\n return (\n <Card className=\"p-4\">\n <span className=\"text-sm text-muted-foreground\">\n {itemsSchema.type}[]\n </span>\n {schema.description && (\n <Markdown\n className={cn(\n ProseClasses,\n \"text-sm leading-normal line-clamp-4\",\n )}\n content={schema.description}\n />\n )}\n </Card>\n );\n } else if (itemsSchema.type === \"object\") {\n return (\n <Card className=\"flex flex-col gap-2 bg-border/30 p-4\">\n <span className=\"text-sm text-muted-foreground\">object[]</span>\n {renderSchema(itemsSchema, level + 1)}\n </Card>\n );\n } else {\n return renderSchema(itemsSchema, level + 1);\n }\n }\n\n if (schema.type === \"object\" && !schema.properties) {\n return (\n <Card className=\"p-4 flex gap-2 items-center\">\n {\"name\" in schema && <>{schema.name}</>}\n <span className=\"text-sm text-muted-foreground\">object</span>\n {schema.description && (\n <Markdown\n className={cn(\n ProseClasses,\n \"text-sm leading-normal line-clamp-4\",\n )}\n content={schema.description}\n />\n )}\n </Card>\n );\n }\n\n if (schema.properties) {\n const groupedProperties = groupBy(\n Object.entries(schema.properties),\n ([propertyName, property]) => {\n return property.deprecated\n ? \"deprecated\"\n : schema.required?.includes(propertyName)\n ? \"required\"\n : \"optional\";\n },\n );\n\n const groupNames = [\"required\", \"optional\", \"deprecated\"] as const;\n\n return (\n <Card className=\"divide-y overflow-hidden\">\n {groupNames.map(\n (group) =>\n groupedProperties[group] && (\n <ul key={group} className=\"divide-y\">\n {groupedProperties[group].map(([name, schema]) => (\n <SchemaPropertyItem\n key={name}\n name={name}\n schema={schema}\n group={group}\n level={level}\n defaultOpen={defaultOpen}\n />\n ))}\n </ul>\n ),\n )}\n </Card>\n );\n }\n\n if (\n typeof schema.type === \"string\" &&\n [\"string\", \"number\", \"boolean\", \"integer\", \"null\"].includes(schema.type)\n ) {\n return (\n <Card className=\"p-4\">\n <span className=\"text-sm text-muted-foreground\">{schema.type}</span>\n {schema.description && (\n <Markdown\n className={cn(\n ProseClasses,\n \"text-sm leading-normal line-clamp-4\",\n )}\n content={schema.description}\n />\n )}\n </Card>\n );\n }\n\n if (schema.additionalProperties) {\n return (\n <Card className=\"my-2\">\n <CardHeader>\n <CardTitle>Additional Properties:</CardTitle>\n </CardHeader>\n <CardContent>\n {renderSchema(\n schema.additionalProperties as SchemaObject,\n level + 1,\n )}\n </CardContent>\n </Card>\n );\n }\n\n return null;\n };\n\n return renderSchema(schema, level);\n};\n","import { useState } from \"react\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown, ProseClasses } from \"../../components/Markdown.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../ui/Tabs.js\";\nimport { groupBy } from \"../../util/groupBy.js\";\nimport { renderIf } from \"../../util/renderIf.js\";\nimport { OperationsFragment } from \"./OperationList.js\";\nimport { ParameterList } from \"./ParameterList.js\";\nimport { Sidecar } from \"./Sidecar.js\";\nimport { FragmentType, useFragment } from \"./graphql/index.js\";\nimport { SchemaView } from \"./schema/SchemaView.js\";\n\nexport const PARAM_GROUPS = [\"path\", \"query\", \"header\", \"cookie\"] as const;\nexport type ParameterGroup = (typeof PARAM_GROUPS)[number];\n\nexport const OperationListItem = ({\n operationFragment,\n}: {\n operationFragment: FragmentType<typeof OperationsFragment>;\n}) => {\n const operation = useFragment(OperationsFragment, operationFragment);\n const groupedParameters = groupBy(\n operation.parameters ?? [],\n (param) => param.in,\n );\n\n const first = operation.responses.at(0);\n const [selectedResponse, setSelectedResponse] = useState(first?.statusCode);\n\n return (\n <div\n key={operation.operationId}\n className=\"grid grid-cols-1 lg:grid-cols-[4fr_3fr] gap-8 items-start border-b-2 mb-16 pb-16\"\n >\n <div className=\"flex flex-col gap-4\">\n <Heading level={2} id={operation.slug} registerSidebarAnchor>\n {operation.summary}\n </Heading>\n {operation.description && (\n <Markdown\n className={`${ProseClasses} max-w-full prose-img:max-w-prose`}\n content={operation.description}\n />\n )}\n {operation.parameters && operation.parameters.length > 0 && (\n <>\n {PARAM_GROUPS.flatMap((group) =>\n groupedParameters[group]?.length ? (\n <ParameterList\n key={group}\n id={operation.slug}\n parameters={groupedParameters[group]}\n group={group}\n />\n ) : (\n []\n ),\n )}\n </>\n )}\n {renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (\n <div className=\"mt-4 flex flex-col gap-4\">\n <Heading\n level={3}\n className=\"capitalize\"\n id={`${operation.slug}/request-body`}\n registerSidebarAnchor\n >\n Request Body\n </Heading>\n <SchemaView schema={schema} />\n </div>\n ))}\n {operation.responses.length > 0 && (\n <>\n <Heading\n level={3}\n className=\"capitalize mt-8 pt-8 border-t\"\n id={`${operation.slug}/responses`}\n registerSidebarAnchor\n >\n Responses\n </Heading>\n <Tabs\n onValueChange={(value) => setSelectedResponse(value)}\n value={selectedResponse}\n >\n {operation.responses.length > 1 && (\n <TabsList>\n {operation.responses.map((response) => (\n <TabsTrigger\n value={response.statusCode}\n key={response.statusCode}\n title={response.description ?? undefined}\n >\n {response.statusCode}\n </TabsTrigger>\n ))}\n </TabsList>\n )}\n <ul className=\"list-none m-0 px-0\">\n {operation.responses.map((response) => (\n <TabsContent\n value={response.statusCode}\n key={response.statusCode}\n >\n <SchemaView\n schema={\n response.content?.find((content) => content.schema)\n ?.schema\n }\n />\n </TabsContent>\n ))}\n </ul>\n </Tabs>\n </>\n )}\n </div>\n\n <Sidecar\n selectedResponse={selectedResponse}\n onSelectResponse={setSelectedResponse}\n operation={operation}\n />\n </div>\n );\n};\n","import { ResultOf } from \"@graphql-typed-document-node/core\";\nimport { useQuery } from \"urql\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { DeveloperHint } from \"../../components/DeveloperHint.js\";\nimport { ErrorPage } from \"../../components/ErrorPage.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { InlineCode } from \"../../components/InlineCode.js\";\nimport { Markdown, ProseClasses } from \"../../components/Markdown.js\";\nimport { SyntaxHighlight } from \"../../components/SyntaxHighlight.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { Endpoint } from \"./Endpoint.js\";\nimport { OperationListItem } from \"./OperationListItem.js\";\nimport StaggeredRender from \"./StaggeredRender.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { graphql } from \"./graphql/index.js\";\n\nexport const OperationsFragment = graphql(/* GraphQL */ `\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n parameters {\n name\n in\n description\n required\n schema\n style\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n`);\n\nexport type OperationListItemResult = ResultOf<typeof OperationsFragment>;\n\nconst AllOperationsQuery = graphql(/* GraphQL */ `\n query AllOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n description\n title\n url\n version\n tags {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n }\n }\n }\n`);\n\nconst suspenseContext = { suspense: true };\n\nexport const OperationList = () => {\n const { type, input } = useOasConfig();\n\n const [result] = useQuery({\n query: AllOperationsQuery,\n variables: { type, input },\n context: suspenseContext,\n });\n\n const error = result.error?.graphQLErrors.at(0);\n\n // Looks like there is no Suspense level error handling (yet)?\n // So we handle the error case in the component directly\n if (error) {\n return (\n <ErrorPage\n category=\"Error\"\n title=\"Schema cannot be displayed\"\n message={\n <>\n <DeveloperHint className=\"mb-4\">\n Check your configuration value <InlineCode>apis.type</InlineCode>{\" \"}\n and <InlineCode>apis.input</InlineCode> in the Zudoku config.\n </DeveloperHint>\n An error occurred while trying to fetch the API reference:\n <SyntaxHighlight code={error.toString()} language=\"plain\" />\n </>\n }\n />\n );\n }\n\n if (!result.data) return null;\n\n return (\n <div className=\"pt-[--padding-content-top]\">\n <div\n className={cn(ProseClasses, \"mb-16 max-w-full prose-img:max-w-prose\")}\n >\n <CategoryHeading>Overview</CategoryHeading>\n <Heading level={1} id=\"description\" registerSidebarAnchor>\n {result.data.schema.title}\n </Heading>\n <Markdown content={result.data.schema.description ?? \"\"} />\n </div>\n <hr />\n <div className=\"my-4 flex justify-end\">\n <Endpoint />\n </div>\n\n {result.data.schema.tags\n .filter((tag) => tag.operations.length > 0)\n .map((tag) => (\n <div key={tag.name}>\n {tag.name && <CategoryHeading>{tag.name}</CategoryHeading>}\n {tag.description && (\n <Markdown\n className={`${ProseClasses} max-w-full prose-img:max-w-prose w-full mt-2 mb-12`}\n content={tag.description}\n />\n )}\n <div className=\"operation mb-12\">\n <StaggeredRender>\n {tag.operations.map((fragment) => (\n <OperationListItem\n key={fragment.slug}\n operationFragment={fragment}\n />\n ))}\n </StaggeredRender>\n </div>\n </div>\n ))}\n </div>\n );\n};\n"],"names":["useFragment","_documentNode","fragmentType","ServersQuery","graphql","CopyButton","url","isCopied","setIsCopied","useState","jsx","Button","CheckIcon","CopyIcon","context","Endpoint","result","useQuery","useOasConfig","startTransition","useTransition","selectedServer","setSelectedServer","useSelectedServerStore","servers","jsxs","InlineCode","SimpleSelect","e","server","groupBy","arr","keySelector","accumulator","val","groupedKey","renderIf","variable","callback","getParameterSchema","parameter","ParameterListItem","group","id","ColorizedParam","Markdown","ParameterList","parameters","Fragment","Heading","Card","a","b","objectEntries","obj","iconMap","CircleFadingPlusIcon","CircleDotIcon","CircleIcon","colorClass","LogicalGroupConnector","type","isOpen","className","cn","ChevronDownIcon","LogicalGroupItem","props","setIsOpen","Collapsible.Root","prev","Collapsible.Trigger","Collapsible.Content","SchemaView","typeLabel","LogicalGroup","schemas","level","toggleOpen","SquareMinusIcon","SquarePlusIcon","subSchema","index","isComplexType","value","hasLogicalGroupings","LogicalSchemaTypeMap","SchemaLogicalGroup","schema","useCallback","key","SchemaPropertyItem","name","defaultOpen","showCollapseButton","ProseClasses","ListPlusIcon","renderSchema","itemsSchema","groupedProperties","propertyName","property","groupNames","CardHeader","CardTitle","CardContent","PARAM_GROUPS","OperationListItem","operationFragment","operation","OperationsFragment","groupedParameters","param","first","selectedResponse","setSelectedResponse","_a","_c","_b","Tabs","TabsList","response","TabsTrigger","TabsContent","content","Sidecar","AllOperationsQuery","suspenseContext","OperationList","input","error","ErrorPage","DeveloperHint","SyntaxHighlight","CategoryHeading","tag","StaggeredRender","fragment"],"mappings":"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"}
@@ -1,503 +0,0 @@
1
- import * as s from "react";
2
- import { d as T, e as $, f as be, g as De, h as Ie, u as V, i as Ce, P as y, b as R, a as _, c as Ne, R as Ee, S as ye, j as he, k as Te, F as Ae, D as _e, l as Fe, m as we } from "./index-_GxJ8hpM.js";
3
- import { j as i } from "./jsx-runtime-B6kdoens.js";
4
- import { a as Oe } from "./Markdown-Y__eLG0x.js";
5
- function Pe(e, t) {
6
- return s.useReducer((o, n) => t[o][n] ?? o, e);
7
- }
8
- var w = (e) => {
9
- const { present: t, children: o } = e, n = Se(t), r = typeof o == "function" ? o({ present: n.isPresent }) : s.Children.only(o), a = T(n.ref, Me(r));
10
- return typeof o == "function" || n.isPresent ? s.cloneElement(r, { ref: a }) : null;
11
- };
12
- w.displayName = "Presence";
13
- function Se(e) {
14
- const [t, o] = s.useState(), n = s.useRef({}), r = s.useRef(e), a = s.useRef("none"), u = e ? "mounted" : "unmounted", [d, l] = Pe(u, {
15
- mounted: {
16
- UNMOUNT: "unmounted",
17
- ANIMATION_OUT: "unmountSuspended"
18
- },
19
- unmountSuspended: {
20
- MOUNT: "mounted",
21
- ANIMATION_END: "unmounted"
22
- },
23
- unmounted: {
24
- MOUNT: "mounted"
25
- }
26
- });
27
- return s.useEffect(() => {
28
- const c = A(n.current);
29
- a.current = d === "mounted" ? c : "none";
30
- }, [d]), $(() => {
31
- const c = n.current, g = r.current;
32
- if (g !== e) {
33
- const b = a.current, m = A(c);
34
- e ? l("MOUNT") : m === "none" || (c == null ? void 0 : c.display) === "none" ? l("UNMOUNT") : l(g && b !== m ? "ANIMATION_OUT" : "UNMOUNT"), r.current = e;
35
- }
36
- }, [e, l]), $(() => {
37
- if (t) {
38
- let c;
39
- const g = t.ownerDocument.defaultView ?? window, v = (m) => {
40
- const D = A(n.current).includes(m.animationName);
41
- if (m.target === t && D && (l("ANIMATION_END"), !r.current)) {
42
- const h = t.style.animationFillMode;
43
- t.style.animationFillMode = "forwards", c = g.setTimeout(() => {
44
- t.style.animationFillMode === "forwards" && (t.style.animationFillMode = h);
45
- });
46
- }
47
- }, b = (m) => {
48
- m.target === t && (a.current = A(n.current));
49
- };
50
- return t.addEventListener("animationstart", b), t.addEventListener("animationcancel", v), t.addEventListener("animationend", v), () => {
51
- g.clearTimeout(c), t.removeEventListener("animationstart", b), t.removeEventListener("animationcancel", v), t.removeEventListener("animationend", v);
52
- };
53
- } else
54
- l("ANIMATION_END");
55
- }, [t, l]), {
56
- isPresent: ["mounted", "unmountSuspended"].includes(d),
57
- ref: s.useCallback((c) => {
58
- c && (n.current = getComputedStyle(c)), o(c);
59
- }, [])
60
- };
61
- }
62
- function A(e) {
63
- return (e == null ? void 0 : e.animationName) || "none";
64
- }
65
- function Me(e) {
66
- var n, r;
67
- let t = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, o = t && "isReactWarning" in t && t.isReactWarning;
68
- return o ? e.ref : (t = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = t && "isReactWarning" in t && t.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
69
- }
70
- var j = "rovingFocusGroup.onEntryFocus", je = { bubbles: !1, cancelable: !0 }, O = "RovingFocusGroup", [k, Y, ke] = be(O), [Le, at] = De(
71
- O,
72
- [ke]
73
- ), [Ge, Ue] = Le(O), H = s.forwardRef(
74
- (e, t) => /* @__PURE__ */ i.jsx(k.Provider, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ i.jsx(k.Slot, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ i.jsx(We, { ...e, ref: t }) }) })
75
- );
76
- H.displayName = O;
77
- var We = s.forwardRef((e, t) => {
78
- const {
79
- __scopeRovingFocusGroup: o,
80
- orientation: n,
81
- loop: r = !1,
82
- dir: a,
83
- currentTabStopId: u,
84
- defaultCurrentTabStopId: d,
85
- onCurrentTabStopIdChange: l,
86
- onEntryFocus: c,
87
- preventScrollOnEntryFocus: g = !1,
88
- ...v
89
- } = e, b = s.useRef(null), m = T(t, b), f = Ie(a), [D = null, h] = V({
90
- prop: u,
91
- defaultProp: d,
92
- onChange: l
93
- }), [I, C] = s.useState(!1), P = Ce(c), ge = Y(o), S = s.useRef(!1), [pe, K] = s.useState(0);
94
- return s.useEffect(() => {
95
- const p = b.current;
96
- if (p)
97
- return p.addEventListener(j, P), () => p.removeEventListener(j, P);
98
- }, [P]), /* @__PURE__ */ i.jsx(
99
- Ge,
100
- {
101
- scope: o,
102
- orientation: n,
103
- dir: f,
104
- loop: r,
105
- currentTabStopId: D,
106
- onItemFocus: s.useCallback(
107
- (p) => h(p),
108
- [h]
109
- ),
110
- onItemShiftTab: s.useCallback(() => C(!0), []),
111
- onFocusableItemAdd: s.useCallback(
112
- () => K((p) => p + 1),
113
- []
114
- ),
115
- onFocusableItemRemove: s.useCallback(
116
- () => K((p) => p - 1),
117
- []
118
- ),
119
- children: /* @__PURE__ */ i.jsx(
120
- y.div,
121
- {
122
- tabIndex: I || pe === 0 ? -1 : 0,
123
- "data-orientation": n,
124
- ...v,
125
- ref: m,
126
- style: { outline: "none", ...e.style },
127
- onMouseDown: R(e.onMouseDown, () => {
128
- S.current = !0;
129
- }),
130
- onFocus: R(e.onFocus, (p) => {
131
- const me = !S.current;
132
- if (p.target === p.currentTarget && me && !I) {
133
- const B = new CustomEvent(j, je);
134
- if (p.currentTarget.dispatchEvent(B), !B.defaultPrevented) {
135
- const M = ge().filter((N) => N.focusable), ve = M.find((N) => N.active), Re = M.find((N) => N.id === D), xe = [ve, Re, ...M].filter(
136
- Boolean
137
- ).map((N) => N.ref.current);
138
- Z(xe, g);
139
- }
140
- }
141
- S.current = !1;
142
- }),
143
- onBlur: R(e.onBlur, () => C(!1))
144
- }
145
- )
146
- }
147
- );
148
- }), z = "RovingFocusGroupItem", q = s.forwardRef(
149
- (e, t) => {
150
- const {
151
- __scopeRovingFocusGroup: o,
152
- focusable: n = !0,
153
- active: r = !1,
154
- tabStopId: a,
155
- ...u
156
- } = e, d = _(), l = a || d, c = Ue(z, o), g = c.currentTabStopId === l, v = Y(o), { onFocusableItemAdd: b, onFocusableItemRemove: m } = c;
157
- return s.useEffect(() => {
158
- if (n)
159
- return b(), () => m();
160
- }, [n, b, m]), /* @__PURE__ */ i.jsx(
161
- k.ItemSlot,
162
- {
163
- scope: o,
164
- id: l,
165
- focusable: n,
166
- active: r,
167
- children: /* @__PURE__ */ i.jsx(
168
- y.span,
169
- {
170
- tabIndex: g ? 0 : -1,
171
- "data-orientation": c.orientation,
172
- ...u,
173
- ref: t,
174
- onMouseDown: R(e.onMouseDown, (f) => {
175
- n ? c.onItemFocus(l) : f.preventDefault();
176
- }),
177
- onFocus: R(e.onFocus, () => c.onItemFocus(l)),
178
- onKeyDown: R(e.onKeyDown, (f) => {
179
- if (f.key === "Tab" && f.shiftKey) {
180
- c.onItemShiftTab();
181
- return;
182
- }
183
- if (f.target !== f.currentTarget) return;
184
- const D = $e(f, c.orientation, c.dir);
185
- if (D !== void 0) {
186
- if (f.metaKey || f.ctrlKey || f.altKey || f.shiftKey) return;
187
- f.preventDefault();
188
- let I = v().filter((C) => C.focusable).map((C) => C.ref.current);
189
- if (D === "last") I.reverse();
190
- else if (D === "prev" || D === "next") {
191
- D === "prev" && I.reverse();
192
- const C = I.indexOf(f.currentTarget);
193
- I = c.loop ? Ve(I, C + 1) : I.slice(C + 1);
194
- }
195
- setTimeout(() => Z(I));
196
- }
197
- })
198
- }
199
- )
200
- }
201
- );
202
- }
203
- );
204
- q.displayName = z;
205
- var Ke = {
206
- ArrowLeft: "prev",
207
- ArrowUp: "prev",
208
- ArrowRight: "next",
209
- ArrowDown: "next",
210
- PageUp: "first",
211
- Home: "first",
212
- PageDown: "last",
213
- End: "last"
214
- };
215
- function Be(e, t) {
216
- return t !== "rtl" ? e : e === "ArrowLeft" ? "ArrowRight" : e === "ArrowRight" ? "ArrowLeft" : e;
217
- }
218
- function $e(e, t, o) {
219
- const n = Be(e.key, o);
220
- if (!(t === "vertical" && ["ArrowLeft", "ArrowRight"].includes(n)) && !(t === "horizontal" && ["ArrowUp", "ArrowDown"].includes(n)))
221
- return Ke[n];
222
- }
223
- function Z(e, t = !1) {
224
- const o = document.activeElement;
225
- for (const n of e)
226
- if (n === o || (n.focus({ preventScroll: t }), document.activeElement !== o)) return;
227
- }
228
- function Ve(e, t) {
229
- return e.map((o, n) => e[(t + n) % e.length]);
230
- }
231
- var st = H, it = q, L = "Dialog", [J, ct] = Ne(L), [Ye, x] = J(L), Q = (e) => {
232
- const {
233
- __scopeDialog: t,
234
- children: o,
235
- open: n,
236
- defaultOpen: r,
237
- onOpenChange: a,
238
- modal: u = !0
239
- } = e, d = s.useRef(null), l = s.useRef(null), [c = !1, g] = V({
240
- prop: n,
241
- defaultProp: r,
242
- onChange: a
243
- });
244
- return /* @__PURE__ */ i.jsx(
245
- Ye,
246
- {
247
- scope: t,
248
- triggerRef: d,
249
- contentRef: l,
250
- contentId: _(),
251
- titleId: _(),
252
- descriptionId: _(),
253
- open: c,
254
- onOpenChange: g,
255
- onOpenToggle: s.useCallback(() => g((v) => !v), [g]),
256
- modal: u,
257
- children: o
258
- }
259
- );
260
- };
261
- Q.displayName = L;
262
- var X = "DialogTrigger", ee = s.forwardRef(
263
- (e, t) => {
264
- const { __scopeDialog: o, ...n } = e, r = x(X, o), a = T(t, r.triggerRef);
265
- return /* @__PURE__ */ i.jsx(
266
- y.button,
267
- {
268
- type: "button",
269
- "aria-haspopup": "dialog",
270
- "aria-expanded": r.open,
271
- "aria-controls": r.contentId,
272
- "data-state": W(r.open),
273
- ...n,
274
- ref: a,
275
- onClick: R(e.onClick, r.onOpenToggle)
276
- }
277
- );
278
- }
279
- );
280
- ee.displayName = X;
281
- var G = "DialogPortal", [He, te] = J(G, {
282
- forceMount: void 0
283
- }), ne = (e) => {
284
- const { __scopeDialog: t, forceMount: o, children: n, container: r } = e, a = x(G, t);
285
- return /* @__PURE__ */ i.jsx(He, { scope: t, forceMount: o, children: s.Children.map(n, (u) => /* @__PURE__ */ i.jsx(w, { present: o || a.open, children: /* @__PURE__ */ i.jsx(we, { asChild: !0, container: r, children: u }) })) });
286
- };
287
- ne.displayName = G;
288
- var F = "DialogOverlay", oe = s.forwardRef(
289
- (e, t) => {
290
- const o = te(F, e.__scopeDialog), { forceMount: n = o.forceMount, ...r } = e, a = x(F, e.__scopeDialog);
291
- return a.modal ? /* @__PURE__ */ i.jsx(w, { present: n || a.open, children: /* @__PURE__ */ i.jsx(ze, { ...r, ref: t }) }) : null;
292
- }
293
- );
294
- oe.displayName = F;
295
- var ze = s.forwardRef(
296
- (e, t) => {
297
- const { __scopeDialog: o, ...n } = e, r = x(F, o);
298
- return (
299
- // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
300
- // ie. when `Overlay` and `Content` are siblings
301
- /* @__PURE__ */ i.jsx(Ee, { as: ye, allowPinchZoom: !0, shards: [r.contentRef], children: /* @__PURE__ */ i.jsx(
302
- y.div,
303
- {
304
- "data-state": W(r.open),
305
- ...n,
306
- ref: t,
307
- style: { pointerEvents: "auto", ...n.style }
308
- }
309
- ) })
310
- );
311
- }
312
- ), E = "DialogContent", re = s.forwardRef(
313
- (e, t) => {
314
- const o = te(E, e.__scopeDialog), { forceMount: n = o.forceMount, ...r } = e, a = x(E, e.__scopeDialog);
315
- return /* @__PURE__ */ i.jsx(w, { present: n || a.open, children: a.modal ? /* @__PURE__ */ i.jsx(qe, { ...r, ref: t }) : /* @__PURE__ */ i.jsx(Ze, { ...r, ref: t }) });
316
- }
317
- );
318
- re.displayName = E;
319
- var qe = s.forwardRef(
320
- (e, t) => {
321
- const o = x(E, e.__scopeDialog), n = s.useRef(null), r = T(t, o.contentRef, n);
322
- return s.useEffect(() => {
323
- const a = n.current;
324
- if (a) return he(a);
325
- }, []), /* @__PURE__ */ i.jsx(
326
- ae,
327
- {
328
- ...e,
329
- ref: r,
330
- trapFocus: o.open,
331
- disableOutsidePointerEvents: !0,
332
- onCloseAutoFocus: R(e.onCloseAutoFocus, (a) => {
333
- var u;
334
- a.preventDefault(), (u = o.triggerRef.current) == null || u.focus();
335
- }),
336
- onPointerDownOutside: R(e.onPointerDownOutside, (a) => {
337
- const u = a.detail.originalEvent, d = u.button === 0 && u.ctrlKey === !0;
338
- (u.button === 2 || d) && a.preventDefault();
339
- }),
340
- onFocusOutside: R(
341
- e.onFocusOutside,
342
- (a) => a.preventDefault()
343
- )
344
- }
345
- );
346
- }
347
- ), Ze = s.forwardRef(
348
- (e, t) => {
349
- const o = x(E, e.__scopeDialog), n = s.useRef(!1), r = s.useRef(!1);
350
- return /* @__PURE__ */ i.jsx(
351
- ae,
352
- {
353
- ...e,
354
- ref: t,
355
- trapFocus: !1,
356
- disableOutsidePointerEvents: !1,
357
- onCloseAutoFocus: (a) => {
358
- var u, d;
359
- (u = e.onCloseAutoFocus) == null || u.call(e, a), a.defaultPrevented || (n.current || (d = o.triggerRef.current) == null || d.focus(), a.preventDefault()), n.current = !1, r.current = !1;
360
- },
361
- onInteractOutside: (a) => {
362
- var l, c;
363
- (l = e.onInteractOutside) == null || l.call(e, a), a.defaultPrevented || (n.current = !0, a.detail.originalEvent.type === "pointerdown" && (r.current = !0));
364
- const u = a.target;
365
- ((c = o.triggerRef.current) == null ? void 0 : c.contains(u)) && a.preventDefault(), a.detail.originalEvent.type === "focusin" && r.current && a.preventDefault();
366
- }
367
- }
368
- );
369
- }
370
- ), ae = s.forwardRef(
371
- (e, t) => {
372
- const { __scopeDialog: o, trapFocus: n, onOpenAutoFocus: r, onCloseAutoFocus: a, ...u } = e, d = x(E, o), l = s.useRef(null), c = T(t, l);
373
- return Te(), /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
374
- /* @__PURE__ */ i.jsx(
375
- Ae,
376
- {
377
- asChild: !0,
378
- loop: !0,
379
- trapped: n,
380
- onMountAutoFocus: r,
381
- onUnmountAutoFocus: a,
382
- children: /* @__PURE__ */ i.jsx(
383
- _e,
384
- {
385
- role: "dialog",
386
- id: d.contentId,
387
- "aria-describedby": d.descriptionId,
388
- "aria-labelledby": d.titleId,
389
- "data-state": W(d.open),
390
- ...u,
391
- ref: c,
392
- onDismiss: () => d.onOpenChange(!1)
393
- }
394
- )
395
- }
396
- ),
397
- /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
398
- /* @__PURE__ */ i.jsx(Je, { titleId: d.titleId }),
399
- /* @__PURE__ */ i.jsx(Xe, { contentRef: l, descriptionId: d.descriptionId })
400
- ] })
401
- ] });
402
- }
403
- ), U = "DialogTitle", se = s.forwardRef(
404
- (e, t) => {
405
- const { __scopeDialog: o, ...n } = e, r = x(U, o);
406
- return /* @__PURE__ */ i.jsx(y.h2, { id: r.titleId, ...n, ref: t });
407
- }
408
- );
409
- se.displayName = U;
410
- var ie = "DialogDescription", ce = s.forwardRef(
411
- (e, t) => {
412
- const { __scopeDialog: o, ...n } = e, r = x(ie, o);
413
- return /* @__PURE__ */ i.jsx(y.p, { id: r.descriptionId, ...n, ref: t });
414
- }
415
- );
416
- ce.displayName = ie;
417
- var ue = "DialogClose", le = s.forwardRef(
418
- (e, t) => {
419
- const { __scopeDialog: o, ...n } = e, r = x(ue, o);
420
- return /* @__PURE__ */ i.jsx(
421
- y.button,
422
- {
423
- type: "button",
424
- ...n,
425
- ref: t,
426
- onClick: R(e.onClick, () => r.onOpenChange(!1))
427
- }
428
- );
429
- }
430
- );
431
- le.displayName = ue;
432
- function W(e) {
433
- return e ? "open" : "closed";
434
- }
435
- var de = "DialogTitleWarning", [ut, fe] = Fe(de, {
436
- contentName: E,
437
- titleName: U,
438
- docsSlug: "dialog"
439
- }), Je = ({ titleId: e }) => {
440
- const t = fe(de), o = `\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
441
-
442
- If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
443
-
444
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;
445
- return s.useEffect(() => {
446
- e && (document.getElementById(e) || console.error(o));
447
- }, [o, e]), null;
448
- }, Qe = "DialogDescriptionWarning", Xe = ({ contentRef: e, descriptionId: t }) => {
449
- const n = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${fe(Qe).contentName}}.`;
450
- return s.useEffect(() => {
451
- var a;
452
- const r = (a = e.current) == null ? void 0 : a.getAttribute("aria-describedby");
453
- t && r && (document.getElementById(t) || console.warn(n));
454
- }, [n, e, t]), null;
455
- }, lt = Q, dt = ee, ft = ne, gt = oe, pt = re, mt = se, vt = ce, Rt = le;
456
- const xt = {
457
- green: "text-green-600",
458
- blue: "text-sky-600",
459
- yellow: "text-yellow-600",
460
- red: "text-red-600",
461
- purple: "text-purple-600",
462
- indigo: "text-indigo-600",
463
- gray: "text-gray-600"
464
- }, et = {
465
- green: "bg-green-400 dark:bg-green-800",
466
- blue: "bg-sky-400 dark:bg-sky-800",
467
- yellow: "bg-yellow-400 dark:bg-yellow-800",
468
- red: "bg-red-400 dark:bg-red-800",
469
- purple: "bg-purple-400 dark:bg-purple-600",
470
- indigo: "bg-indigo-400 dark:bg-indigo-600",
471
- gray: "bg-gray-400 dark:bg-gray-600"
472
- }, bt = ({
473
- color: e,
474
- label: t,
475
- className: o
476
- }) => /* @__PURE__ */ i.jsx(
477
- "span",
478
- {
479
- className: Oe(
480
- "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",
481
- et[e],
482
- o
483
- ),
484
- children: t
485
- }
486
- );
487
- export {
488
- pt as C,
489
- vt as D,
490
- it as I,
491
- gt as O,
492
- w as P,
493
- st as R,
494
- bt as S,
495
- dt as T,
496
- Rt as a,
497
- mt as b,
498
- at as c,
499
- lt as d,
500
- ft as e,
501
- xt as f
502
- };
503
- //# sourceMappingURL=SidebarBadge-BdzN0ZBK.js.map