zudoku 0.1.1-dev.15 → 0.1.1-dev.16

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 (387) hide show
  1. package/dist/app/App.js +3 -1
  2. package/dist/app/App.js.map +1 -1
  3. package/dist/config/config.d.ts +3 -3
  4. package/dist/index.d.ts +2 -6
  5. package/dist/index.js +1 -5
  6. package/dist/index.js.map +1 -1
  7. package/dist/{app → lib}/DevPortal.d.ts +2 -2
  8. package/dist/{app → lib}/DevPortal.js +4 -4
  9. package/dist/{app → lib}/DevPortal.js.map +1 -1
  10. package/dist/{app → lib}/Heading.js.map +1 -1
  11. package/dist/{app → lib}/Router.js.map +1 -1
  12. package/dist/lib/auth.d.ts +1 -0
  13. package/dist/lib/auth.js +2 -0
  14. package/dist/lib/auth.js.map +1 -0
  15. package/dist/lib/authentication/authentication.js.map +1 -0
  16. package/dist/{app → lib}/authentication/clerk.d.ts +1 -2
  17. package/dist/{app → lib}/authentication/clerk.js +1 -2
  18. package/dist/lib/authentication/clerk.js.map +1 -0
  19. package/dist/{app → lib}/authentication/openid.js.map +1 -1
  20. package/dist/{app → lib}/components/AnchorLink.js.map +1 -1
  21. package/dist/{app → lib}/components/CategoryHeading.js.map +1 -1
  22. package/dist/{app → lib}/components/Dialog.js.map +1 -1
  23. package/dist/{app → lib}/components/DynamicIcon.js.map +1 -1
  24. package/dist/{app → lib}/components/Header.js.map +1 -1
  25. package/dist/{app → lib}/components/Input.js.map +1 -1
  26. package/dist/{app → lib}/components/Layout.js.map +1 -1
  27. package/dist/{app → lib}/components/Markdown.js.map +1 -1
  28. package/dist/{app → lib}/components/SyntaxHighlight.js.map +1 -1
  29. package/dist/{app → lib}/components/TopNavigation.js.map +1 -1
  30. package/dist/{app → lib}/components/context/ComponentsContext.js.map +1 -1
  31. package/dist/{app → lib}/components/context/DevPortalProvider.js.map +1 -1
  32. package/dist/lib/components/context/PluginSystem.js.map +1 -0
  33. package/dist/{app → lib}/components/context/ThemeContext.js.map +1 -1
  34. package/dist/{app → lib}/components/context/ViewportAnchorContext.js.map +1 -1
  35. package/dist/{app → lib}/components/navigation/SideNavigation.js.map +1 -1
  36. package/dist/{app → lib}/components/navigation/SideNavigationCategory.js.map +1 -1
  37. package/dist/{app → lib}/components/navigation/SideNavigationItem.js.map +1 -1
  38. package/dist/{app → lib}/components/navigation/SideNavigationWrapper.js.map +1 -1
  39. package/dist/{app → lib}/components/navigation/useNavigationCollapsibleState.js.map +1 -1
  40. package/dist/{app → lib}/components/navigation/util.js.map +1 -1
  41. package/dist/lib/components.d.ts +3 -0
  42. package/dist/lib/components.js +4 -0
  43. package/dist/lib/components.js.map +1 -0
  44. package/dist/{app → lib}/core/DevPortalContext.js.map +1 -1
  45. package/dist/{app → lib}/core/helmet.js.map +1 -1
  46. package/dist/lib/core/icons.js.map +1 -0
  47. package/dist/{app → lib}/core/plugins.js.map +1 -1
  48. package/dist/lib/core/router.js.map +1 -0
  49. package/dist/lib/core/types/combine.js.map +1 -0
  50. package/dist/{app → lib}/oas/graphql/index.js.map +1 -1
  51. package/dist/{app → lib}/oas/graphql/server.js.map +1 -1
  52. package/dist/{app → lib}/oas/parser/dereference/index.js.map +1 -1
  53. package/dist/{app → lib}/oas/parser/dereference/resolveRef.js.map +1 -1
  54. package/dist/{app → lib}/oas/parser/index.js.map +1 -1
  55. package/dist/{app → lib}/oas/parser/upgrade/index.js.map +1 -1
  56. package/dist/{app → lib}/plugins/api-key/SettingsApiKeys.js.map +1 -1
  57. package/dist/{app → lib}/plugins/api-key/index.js.map +1 -1
  58. package/dist/{app → lib}/plugins/markdown/MdxPage.js.map +1 -1
  59. package/dist/{app → lib}/plugins/markdown/Toc.js.map +1 -1
  60. package/dist/{app → lib}/plugins/markdown/generateRoutes.js.map +1 -1
  61. package/dist/{app → lib}/plugins/markdown/index.js.map +1 -1
  62. package/dist/{app → lib}/plugins/openapi/ColorizedParam.js.map +1 -1
  63. package/dist/{app → lib}/plugins/openapi/MakeRequest.js.map +1 -1
  64. package/dist/{app → lib}/plugins/openapi/MethodBadge.js.map +1 -1
  65. package/dist/{app → lib}/plugins/openapi/OperationList.js.map +1 -1
  66. package/dist/{app → lib}/plugins/openapi/OperationListItem.js.map +1 -1
  67. package/dist/{app → lib}/plugins/openapi/ParameterList.js.map +1 -1
  68. package/dist/{app → lib}/plugins/openapi/ParameterListItem.js.map +1 -1
  69. package/dist/{app → lib}/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  70. package/dist/{app → lib}/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  71. package/dist/{app → lib}/plugins/openapi/Select.js.map +1 -1
  72. package/dist/{app → lib}/plugins/openapi/Sidecar.js.map +1 -1
  73. package/dist/{app → lib}/plugins/openapi/SidecarBox.js.map +1 -1
  74. package/dist/{app → lib}/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  75. package/dist/{app → lib}/plugins/openapi/graphql/gql.js.map +1 -1
  76. package/dist/{app → lib}/plugins/openapi/graphql/graphql.js.map +1 -1
  77. package/dist/lib/plugins/openapi/graphql/index.js.map +1 -0
  78. package/dist/{app → lib}/plugins/openapi/index.js.map +1 -1
  79. package/dist/{app → lib}/plugins/openapi/playground/Playground.js.map +1 -1
  80. package/dist/{app → lib}/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  81. package/dist/{app → lib}/plugins/openapi/util/urql.js.map +1 -1
  82. package/dist/{app → lib}/plugins/openapi/worker/createSharedWorkerClient.js.map +1 -1
  83. package/dist/{app → lib}/plugins/openapi/worker/worker.js.map +1 -1
  84. package/dist/{app → lib}/plugins/redirect/index.js.map +1 -1
  85. package/dist/lib/plugins.d.ts +4 -0
  86. package/dist/lib/plugins.js +6 -0
  87. package/dist/lib/plugins.js.map +1 -0
  88. package/dist/{app → lib}/ui/Button.d.ts +1 -1
  89. package/dist/{app → lib}/ui/Button.js.map +1 -1
  90. package/dist/{app → lib}/ui/Callout.js.map +1 -1
  91. package/dist/{app → lib}/ui/Card.js.map +1 -1
  92. package/dist/{app → lib}/ui/Note.js.map +1 -1
  93. package/dist/{app → lib}/ui/Tabs.js.map +1 -1
  94. package/dist/{app → lib}/util/MdxComponents.js.map +1 -1
  95. package/dist/{app → lib}/util/cn.js.map +1 -1
  96. package/dist/{app → lib}/util/createVariantComponent.js.map +1 -1
  97. package/dist/{app → lib}/util/createWaitForNotify.js.map +1 -1
  98. package/dist/{app → lib}/util/groupBy.js.map +1 -1
  99. package/dist/{app → lib}/util/joinPath.js.map +1 -1
  100. package/dist/{app → lib}/util/pastellize.js.map +1 -1
  101. package/dist/lib/util/slugify.js.map +1 -0
  102. package/dist/{app → lib}/util/traverseNavigation.js.map +1 -1
  103. package/dist/{app → lib}/util/useScrollToAnchor.js.map +1 -1
  104. package/dist/{app → lib}/util/useScrollToTop.js.map +1 -1
  105. package/dist/vite/config.d.ts +0 -1
  106. package/dist/vite/config.js +18 -14
  107. package/dist/vite/config.js.map +1 -1
  108. package/dist/vite/dev-server.js +1 -1
  109. package/dist/vite/plugin-api.js +1 -1
  110. package/dist/vite/plugin-api.js.map +1 -1
  111. package/dist/vite/plugin-auth.js +2 -2
  112. package/dist/vite/plugin-auth.js.map +1 -1
  113. package/dist/vite/plugin-component.d.ts +3 -0
  114. package/dist/vite/plugin-component.js +22 -0
  115. package/dist/vite/plugin-component.js.map +1 -0
  116. package/dist/vite/plugin-docs.js +1 -1
  117. package/dist/vite/plugin-docs.js.map +1 -1
  118. package/dist/vite/plugin-html.js +0 -3
  119. package/dist/vite/plugin-html.js.map +1 -1
  120. package/dist/vite/plugin-mdx.js +1 -1
  121. package/dist/vite/plugin-mdx.js.map +1 -1
  122. package/package.json +15 -16
  123. package/src/app/App.tsx +4 -1
  124. package/dist/app/authentication/authentication.js.map +0 -1
  125. package/dist/app/authentication/clerk.js.map +0 -1
  126. package/dist/app/components/context/PluginSystem.js.map +0 -1
  127. package/dist/app/core/icons.js.map +0 -1
  128. package/dist/app/core/router.js.map +0 -1
  129. package/dist/app/core/types/combine.js.map +0 -1
  130. package/dist/app/plugins/openapi/graphql/index.js.map +0 -1
  131. package/dist/app/util/slugify.js.map +0 -1
  132. package/dist/auth.d.ts +0 -2
  133. package/dist/auth.js +0 -3
  134. package/dist/auth.js.map +0 -1
  135. package/dist/plugins.d.ts +0 -4
  136. package/dist/plugins.js +0 -6
  137. package/dist/plugins.js.map +0 -1
  138. package/src/app/DevPortal.tsx +0 -93
  139. package/src/app/Heading.tsx +0 -60
  140. package/src/app/Router.tsx +0 -28
  141. package/src/app/authentication/authentication.ts +0 -18
  142. package/src/app/authentication/clerk.ts +0 -47
  143. package/src/app/authentication/openid.ts +0 -192
  144. package/src/app/components/AnchorLink.tsx +0 -19
  145. package/src/app/components/CategoryHeading.tsx +0 -16
  146. package/src/app/components/Dialog.tsx +0 -119
  147. package/src/app/components/DynamicIcon.tsx +0 -60
  148. package/src/app/components/Header.tsx +0 -69
  149. package/src/app/components/Input.tsx +0 -24
  150. package/src/app/components/Layout.tsx +0 -56
  151. package/src/app/components/Markdown.tsx +0 -37
  152. package/src/app/components/SyntaxHighlight.tsx +0 -94
  153. package/src/app/components/TopNavigation.tsx +0 -32
  154. package/src/app/components/context/ComponentsContext.tsx +0 -24
  155. package/src/app/components/context/DevPortalProvider.ts +0 -54
  156. package/src/app/components/context/PluginSystem.ts +0 -0
  157. package/src/app/components/context/ThemeContext.tsx +0 -46
  158. package/src/app/components/context/ViewportAnchorContext.tsx +0 -139
  159. package/src/app/components/navigation/SideNavigation.tsx +0 -18
  160. package/src/app/components/navigation/SideNavigationCategory.tsx +0 -74
  161. package/src/app/components/navigation/SideNavigationItem.tsx +0 -143
  162. package/src/app/components/navigation/SideNavigationWrapper.tsx +0 -15
  163. package/src/app/components/navigation/useNavigationCollapsibleState.ts +0 -27
  164. package/src/app/components/navigation/util.ts +0 -38
  165. package/src/app/core/DevPortalContext.ts +0 -164
  166. package/src/app/core/helmet.ts +0 -5
  167. package/src/app/core/icons.tsx +0 -1
  168. package/src/app/core/plugins.ts +0 -43
  169. package/src/app/core/router.tsx +0 -1
  170. package/src/app/core/types/combine.ts +0 -16
  171. package/src/app/oas/graphql/index.ts +0 -422
  172. package/src/app/oas/graphql/server.ts +0 -10
  173. package/src/app/oas/parser/dereference/index.ts +0 -59
  174. package/src/app/oas/parser/dereference/resolveRef.ts +0 -32
  175. package/src/app/oas/parser/index.ts +0 -94
  176. package/src/app/oas/parser/schemas/v3.0.json +0 -1489
  177. package/src/app/oas/parser/schemas/v3.1.json +0 -1298
  178. package/src/app/oas/parser/upgrade/index.ts +0 -108
  179. package/src/app/plugins/api-key/SettingsApiKeys.tsx +0 -22
  180. package/src/app/plugins/api-key/index.tsx +0 -123
  181. package/src/app/plugins/markdown/MdxPage.tsx +0 -128
  182. package/src/app/plugins/markdown/Toc.tsx +0 -122
  183. package/src/app/plugins/markdown/generateRoutes.tsx +0 -72
  184. package/src/app/plugins/markdown/index.tsx +0 -31
  185. package/src/app/plugins/openapi/ColorizedParam.tsx +0 -82
  186. package/src/app/plugins/openapi/MakeRequest.tsx +0 -49
  187. package/src/app/plugins/openapi/MethodBadge.tsx +0 -36
  188. package/src/app/plugins/openapi/OperationList.tsx +0 -117
  189. package/src/app/plugins/openapi/OperationListItem.tsx +0 -55
  190. package/src/app/plugins/openapi/ParameterList.tsx +0 -32
  191. package/src/app/plugins/openapi/ParameterListItem.tsx +0 -60
  192. package/src/app/plugins/openapi/RequestBodySidecarBox.tsx +0 -51
  193. package/src/app/plugins/openapi/ResponsesSidecarBox.tsx +0 -60
  194. package/src/app/plugins/openapi/Select.tsx +0 -35
  195. package/src/app/plugins/openapi/Sidecar.tsx +0 -160
  196. package/src/app/plugins/openapi/SidecarBox.tsx +0 -36
  197. package/src/app/plugins/openapi/graphql/fragment-masking.ts +0 -111
  198. package/src/app/plugins/openapi/graphql/gql.ts +0 -70
  199. package/src/app/plugins/openapi/graphql/graphql.ts +0 -795
  200. package/src/app/plugins/openapi/graphql/index.ts +0 -2
  201. package/src/app/plugins/openapi/index.tsx +0 -142
  202. package/src/app/plugins/openapi/playground/Playground.tsx +0 -309
  203. package/src/app/plugins/openapi/queries.graphql +0 -6
  204. package/src/app/plugins/openapi/util/generateSchemaExample.ts +0 -59
  205. package/src/app/plugins/openapi/util/urql.ts +0 -8
  206. package/src/app/plugins/openapi/worker/createSharedWorkerClient.ts +0 -60
  207. package/src/app/plugins/openapi/worker/worker.ts +0 -30
  208. package/src/app/plugins/redirect/index.tsx +0 -20
  209. package/src/app/ui/Button.tsx +0 -56
  210. package/src/app/ui/Callout.tsx +0 -87
  211. package/src/app/ui/Card.tsx +0 -82
  212. package/src/app/ui/Note.tsx +0 -58
  213. package/src/app/ui/Tabs.tsx +0 -52
  214. package/src/app/util/MdxComponents.tsx +0 -70
  215. package/src/app/util/cn.ts +0 -6
  216. package/src/app/util/createVariantComponent.tsx +0 -30
  217. package/src/app/util/createWaitForNotify.ts +0 -18
  218. package/src/app/util/groupBy.ts +0 -24
  219. package/src/app/util/joinPath.tsx +0 -10
  220. package/src/app/util/pastellize.ts +0 -25
  221. package/src/app/util/slugify.ts +0 -3
  222. package/src/app/util/traverseNavigation.ts +0 -55
  223. package/src/app/util/useScrollToAnchor.ts +0 -38
  224. package/src/app/util/useScrollToTop.ts +0 -13
  225. /package/dist/{app → lib}/Heading.d.ts +0 -0
  226. /package/dist/{app → lib}/Heading.js +0 -0
  227. /package/dist/{app → lib}/Router.d.ts +0 -0
  228. /package/dist/{app → lib}/Router.js +0 -0
  229. /package/dist/{app → lib}/authentication/authentication.d.ts +0 -0
  230. /package/dist/{app → lib}/authentication/authentication.js +0 -0
  231. /package/dist/{app → lib}/authentication/openid.d.ts +0 -0
  232. /package/dist/{app → lib}/authentication/openid.js +0 -0
  233. /package/dist/{app → lib}/components/AnchorLink.d.ts +0 -0
  234. /package/dist/{app → lib}/components/AnchorLink.js +0 -0
  235. /package/dist/{app → lib}/components/CategoryHeading.d.ts +0 -0
  236. /package/dist/{app → lib}/components/CategoryHeading.js +0 -0
  237. /package/dist/{app → lib}/components/Dialog.d.ts +0 -0
  238. /package/dist/{app → lib}/components/Dialog.js +0 -0
  239. /package/dist/{app → lib}/components/DynamicIcon.d.ts +0 -0
  240. /package/dist/{app → lib}/components/DynamicIcon.js +0 -0
  241. /package/dist/{app → lib}/components/Header.d.ts +0 -0
  242. /package/dist/{app → lib}/components/Header.js +0 -0
  243. /package/dist/{app → lib}/components/Input.d.ts +0 -0
  244. /package/dist/{app → lib}/components/Input.js +0 -0
  245. /package/dist/{app → lib}/components/Layout.d.ts +0 -0
  246. /package/dist/{app → lib}/components/Layout.js +0 -0
  247. /package/dist/{app → lib}/components/Markdown.d.ts +0 -0
  248. /package/dist/{app → lib}/components/Markdown.js +0 -0
  249. /package/dist/{app → lib}/components/SyntaxHighlight.d.ts +0 -0
  250. /package/dist/{app → lib}/components/SyntaxHighlight.js +0 -0
  251. /package/dist/{app → lib}/components/TopNavigation.d.ts +0 -0
  252. /package/dist/{app → lib}/components/TopNavigation.js +0 -0
  253. /package/dist/{app → lib}/components/context/ComponentsContext.d.ts +0 -0
  254. /package/dist/{app → lib}/components/context/ComponentsContext.js +0 -0
  255. /package/dist/{app → lib}/components/context/DevPortalProvider.d.ts +0 -0
  256. /package/dist/{app → lib}/components/context/DevPortalProvider.js +0 -0
  257. /package/dist/{app → lib}/components/context/PluginSystem.d.ts +0 -0
  258. /package/dist/{app → lib}/components/context/PluginSystem.js +0 -0
  259. /package/dist/{app → lib}/components/context/ThemeContext.d.ts +0 -0
  260. /package/dist/{app → lib}/components/context/ThemeContext.js +0 -0
  261. /package/dist/{app → lib}/components/context/ViewportAnchorContext.d.ts +0 -0
  262. /package/dist/{app → lib}/components/context/ViewportAnchorContext.js +0 -0
  263. /package/dist/{app → lib}/components/navigation/SideNavigation.d.ts +0 -0
  264. /package/dist/{app → lib}/components/navigation/SideNavigation.js +0 -0
  265. /package/dist/{app → lib}/components/navigation/SideNavigationCategory.d.ts +0 -0
  266. /package/dist/{app → lib}/components/navigation/SideNavigationCategory.js +0 -0
  267. /package/dist/{app → lib}/components/navigation/SideNavigationItem.d.ts +0 -0
  268. /package/dist/{app → lib}/components/navigation/SideNavigationItem.js +0 -0
  269. /package/dist/{app → lib}/components/navigation/SideNavigationWrapper.d.ts +0 -0
  270. /package/dist/{app → lib}/components/navigation/SideNavigationWrapper.js +0 -0
  271. /package/dist/{app → lib}/components/navigation/useNavigationCollapsibleState.d.ts +0 -0
  272. /package/dist/{app → lib}/components/navigation/useNavigationCollapsibleState.js +0 -0
  273. /package/dist/{app → lib}/components/navigation/util.d.ts +0 -0
  274. /package/dist/{app → lib}/components/navigation/util.js +0 -0
  275. /package/dist/{app → lib}/core/DevPortalContext.d.ts +0 -0
  276. /package/dist/{app → lib}/core/DevPortalContext.js +0 -0
  277. /package/dist/{app → lib}/core/helmet.d.ts +0 -0
  278. /package/dist/{app → lib}/core/helmet.js +0 -0
  279. /package/dist/{app → lib}/core/icons.d.ts +0 -0
  280. /package/dist/{app → lib}/core/icons.js +0 -0
  281. /package/dist/{app → lib}/core/plugins.d.ts +0 -0
  282. /package/dist/{app → lib}/core/plugins.js +0 -0
  283. /package/dist/{app → lib}/core/router.d.ts +0 -0
  284. /package/dist/{app → lib}/core/router.js +0 -0
  285. /package/dist/{app → lib}/core/types/combine.d.ts +0 -0
  286. /package/dist/{app → lib}/core/types/combine.js +0 -0
  287. /package/dist/{app → lib}/oas/graphql/index.d.ts +0 -0
  288. /package/dist/{app → lib}/oas/graphql/index.js +0 -0
  289. /package/dist/{app → lib}/oas/graphql/server.d.ts +0 -0
  290. /package/dist/{app → lib}/oas/graphql/server.js +0 -0
  291. /package/dist/{app → lib}/oas/parser/dereference/index.d.ts +0 -0
  292. /package/dist/{app → lib}/oas/parser/dereference/index.js +0 -0
  293. /package/dist/{app → lib}/oas/parser/dereference/resolveRef.d.ts +0 -0
  294. /package/dist/{app → lib}/oas/parser/dereference/resolveRef.js +0 -0
  295. /package/dist/{app → lib}/oas/parser/index.d.ts +0 -0
  296. /package/dist/{app → lib}/oas/parser/index.js +0 -0
  297. /package/dist/{app → lib}/oas/parser/upgrade/index.d.ts +0 -0
  298. /package/dist/{app → lib}/oas/parser/upgrade/index.js +0 -0
  299. /package/dist/{app → lib}/plugins/api-key/SettingsApiKeys.d.ts +0 -0
  300. /package/dist/{app → lib}/plugins/api-key/SettingsApiKeys.js +0 -0
  301. /package/dist/{app → lib}/plugins/api-key/index.d.ts +0 -0
  302. /package/dist/{app → lib}/plugins/api-key/index.js +0 -0
  303. /package/dist/{app → lib}/plugins/markdown/MdxPage.d.ts +0 -0
  304. /package/dist/{app → lib}/plugins/markdown/MdxPage.js +0 -0
  305. /package/dist/{app → lib}/plugins/markdown/Toc.d.ts +0 -0
  306. /package/dist/{app → lib}/plugins/markdown/Toc.js +0 -0
  307. /package/dist/{app → lib}/plugins/markdown/generateRoutes.d.ts +0 -0
  308. /package/dist/{app → lib}/plugins/markdown/generateRoutes.js +0 -0
  309. /package/dist/{app → lib}/plugins/markdown/index.d.ts +0 -0
  310. /package/dist/{app → lib}/plugins/markdown/index.js +0 -0
  311. /package/dist/{app → lib}/plugins/openapi/ColorizedParam.d.ts +0 -0
  312. /package/dist/{app → lib}/plugins/openapi/ColorizedParam.js +0 -0
  313. /package/dist/{app → lib}/plugins/openapi/MakeRequest.d.ts +0 -0
  314. /package/dist/{app → lib}/plugins/openapi/MakeRequest.js +0 -0
  315. /package/dist/{app → lib}/plugins/openapi/MethodBadge.d.ts +0 -0
  316. /package/dist/{app → lib}/plugins/openapi/MethodBadge.js +0 -0
  317. /package/dist/{app → lib}/plugins/openapi/OperationList.d.ts +0 -0
  318. /package/dist/{app → lib}/plugins/openapi/OperationList.js +0 -0
  319. /package/dist/{app → lib}/plugins/openapi/OperationListItem.d.ts +0 -0
  320. /package/dist/{app → lib}/plugins/openapi/OperationListItem.js +0 -0
  321. /package/dist/{app → lib}/plugins/openapi/ParameterList.d.ts +0 -0
  322. /package/dist/{app → lib}/plugins/openapi/ParameterList.js +0 -0
  323. /package/dist/{app → lib}/plugins/openapi/ParameterListItem.d.ts +0 -0
  324. /package/dist/{app → lib}/plugins/openapi/ParameterListItem.js +0 -0
  325. /package/dist/{app → lib}/plugins/openapi/RequestBodySidecarBox.d.ts +0 -0
  326. /package/dist/{app → lib}/plugins/openapi/RequestBodySidecarBox.js +0 -0
  327. /package/dist/{app → lib}/plugins/openapi/ResponsesSidecarBox.d.ts +0 -0
  328. /package/dist/{app → lib}/plugins/openapi/ResponsesSidecarBox.js +0 -0
  329. /package/dist/{app → lib}/plugins/openapi/Select.d.ts +0 -0
  330. /package/dist/{app → lib}/plugins/openapi/Select.js +0 -0
  331. /package/dist/{app → lib}/plugins/openapi/Sidecar.d.ts +0 -0
  332. /package/dist/{app → lib}/plugins/openapi/Sidecar.js +0 -0
  333. /package/dist/{app → lib}/plugins/openapi/SidecarBox.d.ts +0 -0
  334. /package/dist/{app → lib}/plugins/openapi/SidecarBox.js +0 -0
  335. /package/dist/{app → lib}/plugins/openapi/graphql/fragment-masking.d.ts +0 -0
  336. /package/dist/{app → lib}/plugins/openapi/graphql/fragment-masking.js +0 -0
  337. /package/dist/{app → lib}/plugins/openapi/graphql/gql.d.ts +0 -0
  338. /package/dist/{app → lib}/plugins/openapi/graphql/gql.js +0 -0
  339. /package/dist/{app → lib}/plugins/openapi/graphql/graphql.d.ts +0 -0
  340. /package/dist/{app → lib}/plugins/openapi/graphql/graphql.js +0 -0
  341. /package/dist/{app → lib}/plugins/openapi/graphql/index.d.ts +0 -0
  342. /package/dist/{app → lib}/plugins/openapi/graphql/index.js +0 -0
  343. /package/dist/{app → lib}/plugins/openapi/index.d.ts +0 -0
  344. /package/dist/{app → lib}/plugins/openapi/index.js +0 -0
  345. /package/dist/{app → lib}/plugins/openapi/playground/Playground.d.ts +0 -0
  346. /package/dist/{app → lib}/plugins/openapi/playground/Playground.js +0 -0
  347. /package/dist/{app → lib}/plugins/openapi/util/generateSchemaExample.d.ts +0 -0
  348. /package/dist/{app → lib}/plugins/openapi/util/generateSchemaExample.js +0 -0
  349. /package/dist/{app → lib}/plugins/openapi/util/urql.d.ts +0 -0
  350. /package/dist/{app → lib}/plugins/openapi/util/urql.js +0 -0
  351. /package/dist/{app → lib}/plugins/openapi/worker/createSharedWorkerClient.d.ts +0 -0
  352. /package/dist/{app → lib}/plugins/openapi/worker/createSharedWorkerClient.js +0 -0
  353. /package/dist/{app → lib}/plugins/openapi/worker/worker.d.ts +0 -0
  354. /package/dist/{app → lib}/plugins/openapi/worker/worker.js +0 -0
  355. /package/dist/{app → lib}/plugins/redirect/index.d.ts +0 -0
  356. /package/dist/{app → lib}/plugins/redirect/index.js +0 -0
  357. /package/dist/{app → lib}/ui/Button.js +0 -0
  358. /package/dist/{app → lib}/ui/Callout.d.ts +0 -0
  359. /package/dist/{app → lib}/ui/Callout.js +0 -0
  360. /package/dist/{app → lib}/ui/Card.d.ts +0 -0
  361. /package/dist/{app → lib}/ui/Card.js +0 -0
  362. /package/dist/{app → lib}/ui/Note.d.ts +0 -0
  363. /package/dist/{app → lib}/ui/Note.js +0 -0
  364. /package/dist/{app → lib}/ui/Tabs.d.ts +0 -0
  365. /package/dist/{app → lib}/ui/Tabs.js +0 -0
  366. /package/dist/{app → lib}/util/MdxComponents.d.ts +0 -0
  367. /package/dist/{app → lib}/util/MdxComponents.js +0 -0
  368. /package/dist/{app → lib}/util/cn.d.ts +0 -0
  369. /package/dist/{app → lib}/util/cn.js +0 -0
  370. /package/dist/{app → lib}/util/createVariantComponent.d.ts +0 -0
  371. /package/dist/{app → lib}/util/createVariantComponent.js +0 -0
  372. /package/dist/{app → lib}/util/createWaitForNotify.d.ts +0 -0
  373. /package/dist/{app → lib}/util/createWaitForNotify.js +0 -0
  374. /package/dist/{app → lib}/util/groupBy.d.ts +0 -0
  375. /package/dist/{app → lib}/util/groupBy.js +0 -0
  376. /package/dist/{app → lib}/util/joinPath.d.ts +0 -0
  377. /package/dist/{app → lib}/util/joinPath.js +0 -0
  378. /package/dist/{app → lib}/util/pastellize.d.ts +0 -0
  379. /package/dist/{app → lib}/util/pastellize.js +0 -0
  380. /package/dist/{app → lib}/util/slugify.d.ts +0 -0
  381. /package/dist/{app → lib}/util/slugify.js +0 -0
  382. /package/dist/{app → lib}/util/traverseNavigation.d.ts +0 -0
  383. /package/dist/{app → lib}/util/traverseNavigation.js +0 -0
  384. /package/dist/{app → lib}/util/useScrollToAnchor.d.ts +0 -0
  385. /package/dist/{app → lib}/util/useScrollToAnchor.js +0 -0
  386. /package/dist/{app → lib}/util/useScrollToTop.d.ts +0 -0
  387. /package/dist/{app → lib}/util/useScrollToTop.js +0 -0
@@ -1,47 +0,0 @@
1
- import { Clerk } from "@clerk/clerk-js";
2
- import { type AuthProvider } from "./authentication.js";
3
-
4
- const clerkProvider = ({
5
- clerkPubKey,
6
- }: {
7
- clerkPubKey: string;
8
- }): AuthProvider => {
9
- const clerkApi = new Clerk(clerkPubKey);
10
-
11
- const clerkIsLoaded = clerkApi.load({});
12
-
13
- return {
14
- initialize: async (context) => {
15
- await clerkIsLoaded;
16
-
17
- if (clerkApi.session) {
18
- await context.setUserProfile({
19
- isLoggedIn: true,
20
- name: clerkApi.session.user.fullName ?? undefined,
21
- email:
22
- clerkApi.session.user.emailAddresses.at(0)?.emailAddress ??
23
- undefined,
24
- });
25
- } else {
26
- await context.setUserProfile({
27
- isLoggedIn: false,
28
- });
29
- }
30
- },
31
-
32
- getToken: async () => {
33
- await clerkIsLoaded;
34
- const token = await clerkApi.session?.getToken();
35
- return token ?? undefined;
36
- },
37
-
38
- signOut() {
39
- clerkApi.signOut();
40
- },
41
- login: async () => {
42
- await clerkApi.redirectToSignIn();
43
- },
44
- };
45
- };
46
-
47
- export default clerkProvider;
@@ -1,192 +0,0 @@
1
- import * as oauth from "oauth4webapi";
2
- import { DevPortalContext } from "../core/DevPortalContext.js";
3
- import { type AuthProvider } from "./authentication.js";
4
- const algorithm = "oauth2";
5
-
6
- const getAuthServerByIssuer = async (issuer: string) => {
7
- const authorizationServer = await oauth
8
- .discoveryRequest(new URL(issuer), { algorithm })
9
- .then((response) =>
10
- oauth.processDiscoveryResponse(new URL(issuer), response),
11
- );
12
-
13
- return authorizationServer;
14
- };
15
-
16
- export type AuthServerOption = {
17
- issuer?: string;
18
- authorizationEndpoint?: string;
19
- tokenEndpoint?: string;
20
- };
21
-
22
- const getAuthServer = async ({
23
- issuer,
24
- authorizationEndpoint,
25
- tokenEndpoint,
26
- }: AuthServerOption) => {
27
- return issuer
28
- ? await getAuthServerByIssuer(issuer)
29
- : ({
30
- issuer: new URL(authorizationEndpoint!).origin,
31
- authorization_endpoint: authorizationEndpoint,
32
- token_endpoint: tokenEndpoint,
33
- code_challenge_methods_supported: [],
34
- } satisfies oauth.AuthorizationServer);
35
- };
36
-
37
- export const openIdAuth = ({
38
- clientId,
39
- clientSecret,
40
- issuer,
41
- authorizationEndpoint,
42
- tokenEndpoint,
43
- }: {
44
- clientId: string;
45
- clientSecret?: string;
46
- audience?: string;
47
- } & AuthServerOption): AuthProvider => {
48
- const client: oauth.Client = {
49
- client_id: clientId,
50
- client_secret: clientSecret,
51
- token_endpoint_auth_method: "none",
52
- };
53
-
54
- const redirect_uri = "http://localhost:5173/oauth/callback";
55
-
56
- return {
57
- initialize() {
58
- return Promise.resolve();
59
- },
60
- signOut() {},
61
- login: async (context: DevPortalContext) => {
62
- const code_challenge_method = "S256";
63
- const authorizationServer = await getAuthServer({
64
- issuer,
65
- authorizationEndpoint,
66
- tokenEndpoint,
67
- });
68
-
69
- if (!authorizationServer.authorization_endpoint) {
70
- throw new Error("No authorization endpoint");
71
- }
72
-
73
- /**
74
- * The following MUST be generated for every redirect to the authorization_endpoint. You must store
75
- * the codeVerifier and nonce in the end-user session such that it can be recovered as the user
76
- * gets redirected from the authorization server back to your application.
77
- */
78
- const codeVerifier = oauth.generateRandomCodeVerifier();
79
- const codeChallenge =
80
- await oauth.calculatePKCECodeChallenge(codeVerifier);
81
-
82
- await context.sessionStorage.set("codeVerifier", codeVerifier);
83
-
84
- // redirect user to as.authorization_endpoint
85
- const authorizationUrl = new URL(
86
- authorizationServer.authorization_endpoint,
87
- );
88
- authorizationUrl.searchParams.set("client_id", client.client_id);
89
- authorizationUrl.searchParams.set("redirect_uri", redirect_uri);
90
- authorizationUrl.searchParams.set("response_type", "code");
91
- // authorizationUrl.searchParams.set("scope", "api:read");
92
- authorizationUrl.searchParams.set("code_challenge", codeChallenge);
93
- authorizationUrl.searchParams.set(
94
- "code_challenge_method",
95
- code_challenge_method,
96
- );
97
-
98
- /**
99
- * We cannot be sure the AS supports PKCE so we're going to use state too. Use of PKCE is
100
- * backwards compatible even if the AS doesn't support it which is why we're using it regardless.
101
- */
102
- if (
103
- authorizationServer.code_challenge_methods_supported?.includes(
104
- "S256",
105
- ) !== true
106
- ) {
107
- const state = oauth.generateRandomState();
108
- authorizationUrl.searchParams.set("state", state);
109
- }
110
-
111
- // now redirect the user to authorizationUrl.href
112
- location.href = authorizationUrl.href;
113
- },
114
-
115
- handleAuthenticationResponse: async ({ search }, { sessionStorage }) => {
116
- const searchParams = new URLSearchParams(search);
117
- const state = searchParams.get("state");
118
- if (!state) {
119
- return;
120
- }
121
-
122
- // one eternity later, the user lands back on the redirect_uri
123
- // Authorization Code Grant Request & Response
124
- const codeVerifier = await sessionStorage.get("codeVerifier");
125
-
126
- if (!codeVerifier) {
127
- return;
128
- }
129
-
130
- const as = await getAuthServer({
131
- issuer,
132
- authorizationEndpoint,
133
- tokenEndpoint,
134
- });
135
-
136
- const params = oauth.validateAuthResponse(
137
- as,
138
- client,
139
- searchParams,
140
- state,
141
- );
142
- if (oauth.isOAuth2Error(params)) {
143
- console.error("Error Response", params);
144
- throw new Error(); // Handle OAuth 2.0 redirect error
145
- }
146
-
147
- const response = await oauth.authorizationCodeGrantRequest(
148
- as,
149
- client,
150
- params,
151
- redirect_uri,
152
- codeVerifier,
153
- );
154
-
155
- // @todo do we need to do these
156
- // const challenges = oauth.parseWwwAuthenticateChallenges(response);
157
- // if (challenges) {
158
- // for (const challenge of challenges) {
159
- // console.error("WWW-Authenticate Challenge", challenge);
160
- // }
161
- // throw new Error(); // Handle WWW-Authenticate Challenges as needed
162
- // }
163
-
164
- const oauthResult = await oauth.processAuthorizationCodeOpenIDResponse(
165
- as,
166
- client,
167
- response,
168
- );
169
- if (oauth.isOAuth2Error(oauthResult)) {
170
- console.error("Error Response", oauthResult);
171
- throw new Error(oauthResult.error);
172
- }
173
-
174
- const userInfoResponse = await oauth.userInfoRequest(
175
- as,
176
- client,
177
- oauthResult.access_token,
178
- );
179
- const userInfo = await userInfoResponse.json();
180
-
181
- // void storage.setProfile({
182
- // sub: userInfo.sub,
183
- // email: userInfo.email,
184
- // name: userInfo.name,
185
- // email_verified: userInfo.email_verified ?? false,
186
- // picture: userInfo.picture,
187
- // id_token: oauthResult.id_token,
188
- // access_token: oauthResult.access_token,
189
- // });
190
- },
191
- };
192
- };
@@ -1,19 +0,0 @@
1
- import React from "react";
2
- import { Link, type LinkProps, useLocation } from "react-router-dom";
3
-
4
- /**
5
- * Link that scrolls to anchor even if the hash is already set in the URL.
6
- */
7
- export const AnchorLink = (props: LinkProps) => {
8
- const location = useLocation();
9
- const hash = typeof props.to === "string" ? props.to : props.to.hash;
10
-
11
- const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {
12
- if (!hash?.startsWith("#") || hash !== location.hash) return;
13
-
14
- event.preventDefault();
15
- document.getElementById(hash.slice(1))?.scrollIntoView();
16
- };
17
-
18
- return <Link onClick={handleClick} {...props} />;
19
- };
@@ -1,16 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import { cx } from "class-variance-authority";
3
-
4
- export const CategoryHeading = ({
5
- children,
6
- className,
7
- }: {
8
- children: ReactNode;
9
- className?: string;
10
- }) => {
11
- return (
12
- <div className={cx("text-sm font-semibold text-primary mb-2", className)}>
13
- {children}
14
- </div>
15
- );
16
- };
@@ -1,119 +0,0 @@
1
- import * as React from "react"
2
- import * as DialogPrimitive from "@radix-ui/react-dialog"
3
- import { XIcon } from "lucide-react"
4
- import { cn } from "../util/cn.js";
5
-
6
- const Dialog = DialogPrimitive.Root
7
-
8
- const DialogTrigger = DialogPrimitive.Trigger
9
-
10
- const DialogPortal = DialogPrimitive.Portal
11
-
12
- const DialogClose = DialogPrimitive.Close
13
-
14
- const DialogOverlay = React.forwardRef<
15
- React.ElementRef<typeof DialogPrimitive.Overlay>,
16
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>
17
- >(({ className, ...props }, ref) => (
18
- <DialogPrimitive.Overlay
19
- ref={ref}
20
- className={cn(
21
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
22
- className
23
- )}
24
- {...props}
25
- />
26
- ))
27
- DialogOverlay.displayName = DialogPrimitive.Overlay.displayName
28
-
29
- const DialogContent = React.forwardRef<
30
- React.ElementRef<typeof DialogPrimitive.Content>,
31
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>
32
- >(({ className, children, ...props }, ref) => (
33
- <DialogPortal>
34
- <DialogOverlay />
35
- <DialogPrimitive.Content
36
- ref={ref}
37
- className={cn(
38
- "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
39
- className
40
- )}
41
- {...props}
42
- >
43
- {children}
44
- <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground">
45
- <XIcon className="h-4 w-4" />
46
- <span className="sr-only">Close</span>
47
- </DialogPrimitive.Close>
48
- </DialogPrimitive.Content>
49
- </DialogPortal>
50
- ))
51
- DialogContent.displayName = DialogPrimitive.Content.displayName
52
-
53
- const DialogHeader = ({
54
- className,
55
- ...props
56
- }: React.HTMLAttributes<HTMLDivElement>) => (
57
- <div
58
- className={cn(
59
- "flex flex-col space-y-1.5 text-center sm:text-left",
60
- className
61
- )}
62
- {...props}
63
- />
64
- )
65
- DialogHeader.displayName = "DialogHeader"
66
-
67
- const DialogFooter = ({
68
- className,
69
- ...props
70
- }: React.HTMLAttributes<HTMLDivElement>) => (
71
- <div
72
- className={cn(
73
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
74
- className
75
- )}
76
- {...props}
77
- />
78
- )
79
- DialogFooter.displayName = "DialogFooter"
80
-
81
- const DialogTitle = React.forwardRef<
82
- React.ElementRef<typeof DialogPrimitive.Title>,
83
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>
84
- >(({ className, ...props }, ref) => (
85
- <DialogPrimitive.Title
86
- ref={ref}
87
- className={cn(
88
- "text-lg font-semibold leading-none tracking-tight",
89
- className
90
- )}
91
- {...props}
92
- />
93
- ))
94
- DialogTitle.displayName = DialogPrimitive.Title.displayName
95
-
96
- const DialogDescription = React.forwardRef<
97
- React.ElementRef<typeof DialogPrimitive.Description>,
98
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
99
- >(({ className, ...props }, ref) => (
100
- <DialogPrimitive.Description
101
- ref={ref}
102
- className={cn("text-sm text-muted-foreground", className)}
103
- {...props}
104
- />
105
- ))
106
- DialogDescription.displayName = DialogPrimitive.Description.displayName
107
-
108
- export {
109
- Dialog,
110
- DialogPortal,
111
- DialogOverlay,
112
- DialogTrigger,
113
- DialogClose,
114
- DialogContent,
115
- DialogHeader,
116
- DialogFooter,
117
- DialogTitle,
118
- DialogDescription,
119
- }
@@ -1,60 +0,0 @@
1
- // import { type LucideProps } from "lucide-react";
2
- // import dynamicIconImports from "lucide-react/dynamicIconImports.js";
3
- // import { Suspense, lazy, memo } from "react";
4
- // import { cn } from "../util/cn.js";
5
-
6
- // export type IconName = keyof typeof dynamicIconImports;
7
-
8
- // const IconNames = Object.keys(dynamicIconImports) as IconName[];
9
-
10
- // export const isValidIcon = (name: unknown): name is IconName =>
11
- // typeof name === "string" && IconNames.includes(name as IconName);
12
-
13
- // type IconProps = Omit<LucideProps, "ref"> & {
14
- // name: IconName;
15
- // inline?: boolean;
16
- // };
17
-
18
- // const Fallback = ({
19
- // inline,
20
- // size,
21
- // }: {
22
- // inline?: boolean;
23
- // size?: string | number;
24
- // }) => (
25
- // <span
26
- // className={cn(inline ? "inline-block" : "block", "bg-background")}
27
- // style={{ height: size, width: size }}
28
- // role="presentation"
29
- // />
30
- // );
31
-
32
- // export const DynamicIcon = memo(function ({
33
- // name,
34
- // inline,
35
- // className,
36
- // size = 16,
37
- // ...props
38
- // }: IconProps) {
39
- // const LucideIcon = lazy(dynamicIconImports[name]);
40
-
41
- // return (
42
- // <Suspense fallback={<Fallback inline={inline} size={size} />}>
43
- // <LucideIcon
44
- // {...props}
45
- // size={size}
46
- // className={cn(inline && "inline-block align-[-0.125em]", className)}
47
- // />
48
- // </Suspense>
49
- // );
50
- // });
51
-
52
- export type IconName = string;
53
-
54
- export function isValidIcon(name: unknown): name is IconName {
55
- return true;
56
- }
57
-
58
- export const DynamicIcon = (props: { name: string; size?: number }) => (
59
- <div></div>
60
- );
@@ -1,69 +0,0 @@
1
- import { MoonStarIcon, SearchIcon, SunIcon } from "lucide-react";
2
- import { memo } from "react";
3
- import { useDevPortalState } from "../core/DevPortalContext.js";
4
- import { TopNavigation } from "./TopNavigation.js";
5
- import { useDevPortal } from "./context/DevPortalProvider.js";
6
- import { useTheme } from "./context/ThemeContext.js";
7
-
8
- export const Header = memo(() => {
9
- const [isDark, toggleTheme] = useTheme();
10
- const { isLoggedIn, email } = useDevPortalState();
11
- const { login, logout, meta } = useDevPortal();
12
-
13
- const ThemeIcon = isDark ? MoonStarIcon : SunIcon;
14
-
15
- return (
16
- <header className="fixed top-0 w-full z-10 bg-background/80 backdrop-blur">
17
- <div className="max-w-screen-2xl mx-auto">
18
- <div className="grid grid-cols-[calc(var(--side-nav-width))_1fr] lg:gap-12 items-center border-b border-border px-12 h-[--top-header-height]">
19
- <div className="flex items-center gap-3.5">
20
- {meta?.logo && (
21
- <img src={meta.logo} alt="My Dev Portal" className="h-10" />
22
- )}
23
- <span className="font-bold text-2xl text-foreground/85 tracking-wide">
24
- {meta?.headerTitle}
25
- </span>
26
- </div>
27
- <div className="grid grid-cols-[--sidecar-grid-cols] items-center gap-8">
28
- <div className="w-full max-w-prose mx-auto">
29
- <button className="flex items-center border border-input hover:bg-accent hover:text-accent-foreground p-4 relative h-8 justify-start rounded-lg bg-background text-sm text-muted-foreground shadow-none w-40 sm:w-72">
30
- <div className="flex items-center gap-2 flex-grow">
31
- <SearchIcon size={14} />
32
- Search
33
- </div>
34
- <kbd className="absolute right-[0.3rem] top-[0.3rem] hidden h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[11px] font-medium opacity-100 sm:flex">
35
- ⌘K
36
- </kbd>
37
- </button>
38
- </div>
39
- <div className="items-center justify-self-end text-sm hidden lg:flex">
40
- {!isLoggedIn ? (
41
- <button
42
- className="cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded"
43
- onClick={logout}
44
- >
45
- Logout {email ? `(${email})` : null}
46
- </button>
47
- ) : (
48
- <button
49
- className="cursor-pointer hover:bg-secondary p-1 px-2 mx-2 rounded"
50
- onClick={login}
51
- >
52
- Login
53
- </button>
54
- )}
55
-
56
- <button
57
- className="cursor-pointer hover:bg-secondary p-2.5 -m-2.5 rounded-full"
58
- onClick={toggleTheme}
59
- >
60
- <ThemeIcon size={18} />
61
- </button>
62
- </div>
63
- </div>
64
- </div>
65
- <TopNavigation />
66
- </div>
67
- </header>
68
- );
69
- });
@@ -1,24 +0,0 @@
1
- import * as React from "react";
2
- import { cn } from "../util/cn.js";
3
-
4
- export interface InputProps
5
- extends React.InputHTMLAttributes<HTMLInputElement> {}
6
-
7
- const Input = React.forwardRef<HTMLInputElement, InputProps>(
8
- ({ className, type, ...props }, ref) => {
9
- return (
10
- <input
11
- type={type}
12
- className={cn(
13
- "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
14
- className,
15
- )}
16
- ref={ref}
17
- {...props}
18
- />
19
- );
20
- },
21
- );
22
- Input.displayName = "Input";
23
-
24
- export { Input };
@@ -1,56 +0,0 @@
1
- import { Suspense, useEffect, useRef, type ReactNode } from "react";
2
- import { Outlet, useLocation } from "react-router-dom";
3
- import { Helmet } from "../core/helmet.js";
4
- import { useScrollToAnchor } from "../util/useScrollToAnchor.js";
5
- import { useScrollToTop } from "../util/useScrollToTop.js";
6
- import { Header } from "./Header.js";
7
- import { useDevPortal } from "./context/DevPortalProvider.js";
8
- import { useViewportAnchor } from "./context/ViewportAnchorContext.js";
9
- import { SideNavigation } from "./navigation/SideNavigation.js";
10
- import { SideNavigationWrapper } from "./navigation/SideNavigationWrapper.js";
11
-
12
- export const Layout = ({ children }: { children?: ReactNode }) => {
13
- const location = useLocation();
14
- const { setActiveAnchor } = useViewportAnchor();
15
- const { meta, handleAuthenticationResponse } = useDevPortal();
16
-
17
- useEffect(() => {
18
- void handleAuthenticationResponse(location);
19
- }, [handleAuthenticationResponse, location]);
20
-
21
- useScrollToAnchor();
22
- useScrollToTop();
23
-
24
- const previousLocationPath = useRef(location.pathname);
25
-
26
- useEffect(() => {
27
- // always reset on location change
28
- if (location.pathname !== previousLocationPath.current) {
29
- setActiveAnchor("");
30
- }
31
- previousLocationPath.current = location.pathname;
32
- }, [location.pathname, setActiveAnchor]);
33
-
34
- return (
35
- <>
36
- <Helmet titleTemplate={meta?.pageTitle}>
37
- <title>Home</title>
38
- {meta?.description && (
39
- <meta name="description" content={meta.description} />
40
- )}
41
- {meta?.favicon && <link rel="icon" href={meta.favicon} />}
42
- </Helmet>
43
- <Header />
44
- <div className="max-w-screen-2xl mx-auto pt-[--header-height] px-10 lg:px-12">
45
- <Suspense
46
- fallback={<SideNavigationWrapper>Loading...</SideNavigationWrapper>}
47
- >
48
- <SideNavigation />
49
- </Suspense>
50
- <main className="dark:border-white/10 lg:overflow-visible translate-x-0 lg:w-[calc(100%-var(--side-nav-width))] lg:translate-x-[--side-nav-width] pl-12">
51
- {children ?? <Outlet />}
52
- </main>
53
- </div>
54
- </>
55
- );
56
- };
@@ -1,37 +0,0 @@
1
- import ReactMarkdown from "react-markdown";
2
- import remarkGfm from "remark-gfm";
3
- import { visit } from "unist-util-visit";
4
- import { MdxComponents } from "../util/MdxComponents.js";
5
-
6
- // same as in packages/dev-portal/framework/vite.ts
7
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
- const rehypeCodeBlockPlugin = () => (tree: any) => {
9
- visit(tree, "element", (node, _index, parent) => {
10
- if (node.tagName === "code") {
11
- node.properties.inline = parent?.tagName !== "pre";
12
- }
13
- });
14
- };
15
-
16
- const remarkPlugins = [remarkGfm];
17
- const rehypePlugins = [rehypeCodeBlockPlugin];
18
-
19
- // other styles are defined in main.css .prose
20
- export const ProseClasses = "prose dark:prose-invert prose-neutral";
21
-
22
- export const Markdown = ({
23
- content,
24
- className,
25
- }: {
26
- content: string;
27
- className?: string;
28
- }) => (
29
- <ReactMarkdown
30
- remarkPlugins={remarkPlugins}
31
- rehypePlugins={rehypePlugins}
32
- components={MdxComponents}
33
- className={className}
34
- >
35
- {content}
36
- </ReactMarkdown>
37
- );