zudoku 0.1.1-dev.12 → 0.1.1-dev.14

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 (109) hide show
  1. package/dist/app/main.css +137 -0
  2. package/dist/config/config.d.ts +0 -1
  3. package/dist/vite/build.js +2 -8
  4. package/dist/vite/build.js.map +1 -1
  5. package/dist/vite/config.d.ts +7 -3
  6. package/dist/vite/config.js +15 -14
  7. package/dist/vite/config.js.map +1 -1
  8. package/dist/vite/dev-server.js +7 -4
  9. package/dist/vite/dev-server.js.map +1 -1
  10. package/dist/vite/plugin-api.js +1 -1
  11. package/dist/vite/plugin-api.js.map +1 -1
  12. package/dist/vite/plugin-auth.js +1 -2
  13. package/dist/vite/plugin-auth.js.map +1 -1
  14. package/dist/vite/plugin-docs.js +1 -1
  15. package/dist/vite/plugin-docs.js.map +1 -1
  16. package/dist/vite/plugin-docs.test.js +0 -1
  17. package/dist/vite/plugin-docs.test.js.map +1 -1
  18. package/package.json +9 -3
  19. package/src/app/App.tsx +30 -0
  20. package/src/app/DevPortal.tsx +93 -0
  21. package/src/app/Heading.tsx +60 -0
  22. package/src/app/Router.tsx +28 -0
  23. package/src/app/authentication/authentication.ts +18 -0
  24. package/src/app/authentication/clerk.ts +47 -0
  25. package/src/app/authentication/openid.ts +192 -0
  26. package/src/app/components/AnchorLink.tsx +19 -0
  27. package/src/app/components/CategoryHeading.tsx +16 -0
  28. package/src/app/components/Dialog.tsx +119 -0
  29. package/src/app/components/DynamicIcon.tsx +60 -0
  30. package/src/app/components/Header.tsx +69 -0
  31. package/src/app/components/Input.tsx +24 -0
  32. package/src/app/components/Layout.tsx +56 -0
  33. package/src/app/components/Markdown.tsx +37 -0
  34. package/src/app/components/SyntaxHighlight.tsx +94 -0
  35. package/src/app/components/TopNavigation.tsx +32 -0
  36. package/src/app/components/context/ComponentsContext.tsx +24 -0
  37. package/src/app/components/context/DevPortalProvider.ts +54 -0
  38. package/src/app/components/context/PluginSystem.ts +0 -0
  39. package/src/app/components/context/ThemeContext.tsx +46 -0
  40. package/src/app/components/context/ViewportAnchorContext.tsx +139 -0
  41. package/src/app/components/navigation/SideNavigation.tsx +18 -0
  42. package/src/app/components/navigation/SideNavigationCategory.tsx +74 -0
  43. package/src/app/components/navigation/SideNavigationItem.tsx +143 -0
  44. package/src/app/components/navigation/SideNavigationWrapper.tsx +15 -0
  45. package/src/app/components/navigation/useNavigationCollapsibleState.ts +27 -0
  46. package/src/app/components/navigation/util.ts +38 -0
  47. package/src/app/core/DevPortalContext.ts +164 -0
  48. package/src/app/core/helmet.ts +5 -0
  49. package/src/app/core/icons.tsx +1 -0
  50. package/src/app/core/plugins.ts +43 -0
  51. package/src/app/core/router.tsx +1 -0
  52. package/src/app/core/types/combine.ts +16 -0
  53. package/src/app/main.css +137 -0
  54. package/src/app/main.tsx +9 -0
  55. package/src/app/oas/graphql/index.ts +422 -0
  56. package/src/app/oas/graphql/server.ts +10 -0
  57. package/src/app/oas/parser/dereference/index.ts +59 -0
  58. package/src/app/oas/parser/dereference/resolveRef.ts +32 -0
  59. package/src/app/oas/parser/index.ts +94 -0
  60. package/src/app/oas/parser/schemas/v3.0.json +1489 -0
  61. package/src/app/oas/parser/schemas/v3.1.json +1298 -0
  62. package/src/app/oas/parser/upgrade/index.ts +108 -0
  63. package/src/app/plugins/api-key/SettingsApiKeys.tsx +22 -0
  64. package/src/app/plugins/api-key/index.tsx +123 -0
  65. package/src/app/plugins/markdown/MdxPage.tsx +128 -0
  66. package/src/app/plugins/markdown/Toc.tsx +122 -0
  67. package/src/app/plugins/markdown/generateRoutes.tsx +72 -0
  68. package/src/app/plugins/markdown/index.tsx +31 -0
  69. package/src/app/plugins/openapi/ColorizedParam.tsx +82 -0
  70. package/src/app/plugins/openapi/MakeRequest.tsx +49 -0
  71. package/src/app/plugins/openapi/MethodBadge.tsx +36 -0
  72. package/src/app/plugins/openapi/OperationList.tsx +117 -0
  73. package/src/app/plugins/openapi/OperationListItem.tsx +55 -0
  74. package/src/app/plugins/openapi/ParameterList.tsx +32 -0
  75. package/src/app/plugins/openapi/ParameterListItem.tsx +60 -0
  76. package/src/app/plugins/openapi/RequestBodySidecarBox.tsx +51 -0
  77. package/src/app/plugins/openapi/ResponsesSidecarBox.tsx +60 -0
  78. package/src/app/plugins/openapi/Select.tsx +35 -0
  79. package/src/app/plugins/openapi/Sidecar.tsx +160 -0
  80. package/src/app/plugins/openapi/SidecarBox.tsx +36 -0
  81. package/src/app/plugins/openapi/graphql/fragment-masking.ts +111 -0
  82. package/src/app/plugins/openapi/graphql/gql.ts +70 -0
  83. package/src/app/plugins/openapi/graphql/graphql.ts +795 -0
  84. package/src/app/plugins/openapi/graphql/index.ts +2 -0
  85. package/src/app/plugins/openapi/index.tsx +142 -0
  86. package/src/app/plugins/openapi/playground/Playground.tsx +309 -0
  87. package/src/app/plugins/openapi/queries.graphql +6 -0
  88. package/src/app/plugins/openapi/util/generateSchemaExample.ts +59 -0
  89. package/src/app/plugins/openapi/util/urql.ts +8 -0
  90. package/src/app/plugins/openapi/worker/createSharedWorkerClient.ts +60 -0
  91. package/src/app/plugins/openapi/worker/worker.ts +30 -0
  92. package/src/app/plugins/redirect/index.tsx +20 -0
  93. package/src/app/tailwind.ts +72 -0
  94. package/src/app/ui/Button.tsx +56 -0
  95. package/src/app/ui/Callout.tsx +87 -0
  96. package/src/app/ui/Card.tsx +82 -0
  97. package/src/app/ui/Note.tsx +58 -0
  98. package/src/app/ui/Tabs.tsx +52 -0
  99. package/src/app/util/MdxComponents.tsx +70 -0
  100. package/src/app/util/cn.ts +6 -0
  101. package/src/app/util/createVariantComponent.tsx +30 -0
  102. package/src/app/util/createWaitForNotify.ts +18 -0
  103. package/src/app/util/groupBy.ts +24 -0
  104. package/src/app/util/joinPath.tsx +10 -0
  105. package/src/app/util/pastellize.ts +25 -0
  106. package/src/app/util/slugify.ts +3 -0
  107. package/src/app/util/traverseNavigation.ts +55 -0
  108. package/src/app/util/useScrollToAnchor.ts +38 -0
  109. package/src/app/util/useScrollToTop.ts +13 -0
@@ -0,0 +1,38 @@
1
+ import { useEffect } from "react";
2
+ import { useLocation } from "react-router-dom";
3
+ import { useViewportAnchor } from "../components/context/ViewportAnchorContext.js";
4
+
5
+ export const useScrollToAnchor = () => {
6
+ const location = useLocation();
7
+ const { setActiveAnchor } = useViewportAnchor();
8
+
9
+ useEffect(() => {
10
+ if (!location.hash) return;
11
+
12
+ const hash = location.hash.split("/")[0].slice(1);
13
+
14
+ const element = document.getElementById(decodeURIComponent(hash));
15
+ if (element) {
16
+ // on page navigation element might be in DOM but not yet scrollable, so wait for a frame
17
+ requestAnimationFrame(() => {
18
+ element.scrollIntoView();
19
+ requestIdleCallback(() => setActiveAnchor(hash));
20
+ });
21
+ return;
22
+ }
23
+
24
+ // on page load, the element might not be available yet
25
+ const observer = new MutationObserver((_mutations, obs) => {
26
+ const element = document.getElementById(decodeURIComponent(hash));
27
+ if (!element) return;
28
+
29
+ element.scrollIntoView();
30
+ requestIdleCallback(() => setActiveAnchor(hash));
31
+ obs.disconnect();
32
+ });
33
+
34
+ observer.observe(document.body, { childList: true, subtree: true });
35
+
36
+ return () => observer.disconnect();
37
+ }, [location.hash, setActiveAnchor]);
38
+ };
@@ -0,0 +1,13 @@
1
+ import { useEffect, useRef } from "react";
2
+ import { useLocation } from "react-router-dom";
3
+
4
+ export const useScrollToTop = () => {
5
+ const location = useLocation();
6
+ const previousPath = useRef(location.pathname);
7
+
8
+ useEffect(() => {
9
+ if (previousPath.current === location.pathname) return;
10
+ window.scrollTo(0, 0);
11
+ previousPath.current = location.pathname;
12
+ }, [location.pathname]);
13
+ };