zudoku 0.32.6 → 0.33.0

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 (186) hide show
  1. package/cli.js +3 -0
  2. package/dist/app/main.js +1 -1
  3. package/dist/app/main.js.map +1 -1
  4. package/dist/cli/build/handler.d.ts +1 -3
  5. package/dist/cli/build/handler.js +7 -0
  6. package/dist/cli/build/handler.js.map +1 -1
  7. package/dist/cli/cli.js +5 -0
  8. package/dist/cli/cli.js.map +1 -1
  9. package/dist/cli/cmds/build.d.ts +11 -3
  10. package/dist/cli/cmds/build.js +20 -13
  11. package/dist/cli/cmds/build.js.map +1 -1
  12. package/dist/cli/cmds/preview.d.ts +16 -0
  13. package/dist/cli/cmds/preview.js +25 -0
  14. package/dist/cli/cmds/preview.js.map +1 -0
  15. package/dist/cli/preview/handler.d.ts +3 -0
  16. package/dist/cli/preview/handler.js +37 -0
  17. package/dist/cli/preview/handler.js.map +1 -0
  18. package/dist/config/common.d.ts +5 -2
  19. package/dist/config/config.d.ts +2 -7
  20. package/dist/config/loader.d.ts +4 -4
  21. package/dist/config/loader.js +7 -4
  22. package/dist/config/loader.js.map +1 -1
  23. package/dist/config/validators/validate.d.ts +1 -1
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.js +1 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/lib/authentication/providers/auth0.d.ts +2 -2
  28. package/dist/lib/authentication/providers/auth0.js +1 -0
  29. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  30. package/dist/lib/authentication/providers/openid.d.ts +4 -3
  31. package/dist/lib/authentication/providers/openid.js +4 -2
  32. package/dist/lib/authentication/providers/openid.js.map +1 -1
  33. package/dist/lib/components/ThemeSwitch.js +1 -1
  34. package/dist/lib/components/ThemeSwitch.js.map +1 -1
  35. package/dist/lib/components/Zudoku.d.ts +1 -1
  36. package/dist/lib/components/Zudoku.js +7 -6
  37. package/dist/lib/components/Zudoku.js.map +1 -1
  38. package/dist/lib/components/context/RouterEventsEmitter.d.ts +1 -0
  39. package/dist/lib/components/context/RouterEventsEmitter.js +17 -0
  40. package/dist/lib/components/context/RouterEventsEmitter.js.map +1 -0
  41. package/dist/lib/core/ZudokuContext.d.ts +10 -0
  42. package/dist/lib/core/ZudokuContext.js +17 -1
  43. package/dist/lib/core/ZudokuContext.js.map +1 -1
  44. package/dist/lib/core/plugins.d.ts +8 -2
  45. package/dist/lib/core/plugins.js +1 -0
  46. package/dist/lib/core/plugins.js.map +1 -1
  47. package/dist/lib/hooks/index.d.ts +3 -0
  48. package/dist/lib/hooks/index.js +5 -0
  49. package/dist/lib/hooks/index.js.map +1 -0
  50. package/dist/lib/hooks/useEvent.d.ts +11 -0
  51. package/dist/lib/hooks/useEvent.js +19 -0
  52. package/dist/lib/hooks/useEvent.js.map +1 -0
  53. package/dist/lib/hooks/useEvent.test.d.ts +1 -0
  54. package/dist/lib/hooks/useEvent.test.js +100 -0
  55. package/dist/lib/hooks/useEvent.test.js.map +1 -0
  56. package/dist/lib/ui/Stepper.d.ts +4 -0
  57. package/dist/lib/ui/Stepper.js +7 -0
  58. package/dist/lib/ui/Stepper.js.map +1 -0
  59. package/dist/lib/util/MdxComponents.d.ts +3 -1
  60. package/dist/lib/util/MdxComponents.js +3 -0
  61. package/dist/lib/util/MdxComponents.js.map +1 -1
  62. package/dist/vite/config.d.ts +2 -5
  63. package/dist/vite/config.js +21 -28
  64. package/dist/vite/config.js.map +1 -1
  65. package/dist/vite/config.test.js +1 -1
  66. package/dist/vite/config.test.js.map +1 -1
  67. package/dist/vite/css/plugin.d.ts +2 -2
  68. package/dist/vite/css/plugin.js.map +1 -1
  69. package/dist/vite/dev-server.js.map +1 -1
  70. package/dist/vite/plugin-api-keys.d.ts +2 -2
  71. package/dist/vite/plugin-api-keys.js +3 -3
  72. package/dist/vite/plugin-api-keys.js.map +1 -1
  73. package/dist/vite/plugin-api.d.ts +2 -2
  74. package/dist/vite/plugin-api.js +5 -5
  75. package/dist/vite/plugin-api.js.map +1 -1
  76. package/dist/vite/plugin-auth.d.ts +2 -2
  77. package/dist/vite/plugin-auth.js +3 -3
  78. package/dist/vite/plugin-auth.js.map +1 -1
  79. package/dist/vite/plugin-component.d.ts +2 -2
  80. package/dist/vite/plugin-component.js +3 -2
  81. package/dist/vite/plugin-component.js.map +1 -1
  82. package/dist/vite/plugin-config-reload.d.ts +4 -3
  83. package/dist/vite/plugin-config-reload.js +11 -8
  84. package/dist/vite/plugin-config-reload.js.map +1 -1
  85. package/dist/vite/plugin-config.d.ts +2 -2
  86. package/dist/vite/plugin-config.js +2 -2
  87. package/dist/vite/plugin-config.js.map +1 -1
  88. package/dist/vite/plugin-custom-pages.d.ts +2 -2
  89. package/dist/vite/plugin-custom-pages.js +3 -3
  90. package/dist/vite/plugin-custom-pages.js.map +1 -1
  91. package/dist/vite/plugin-docs.d.ts +2 -2
  92. package/dist/vite/plugin-docs.js +5 -5
  93. package/dist/vite/plugin-docs.js.map +1 -1
  94. package/dist/vite/plugin-frontmatter.d.ts +2 -2
  95. package/dist/vite/plugin-frontmatter.js +5 -4
  96. package/dist/vite/plugin-frontmatter.js.map +1 -1
  97. package/dist/vite/plugin-mdx.d.ts +2 -2
  98. package/dist/vite/plugin-mdx.js +1 -1
  99. package/dist/vite/plugin-mdx.js.map +1 -1
  100. package/dist/vite/plugin-redirect.d.ts +2 -2
  101. package/dist/vite/plugin-redirect.js +3 -3
  102. package/dist/vite/plugin-redirect.js.map +1 -1
  103. package/dist/vite/plugin-search.d.ts +2 -2
  104. package/dist/vite/plugin-search.js +1 -1
  105. package/dist/vite/plugin-search.js.map +1 -1
  106. package/dist/vite/plugin-sidebar.d.ts +2 -2
  107. package/dist/vite/plugin-sidebar.js +2 -2
  108. package/dist/vite/plugin-sidebar.js.map +1 -1
  109. package/dist/vite/plugin-theme-css.d.ts +2 -2
  110. package/dist/vite/plugin-theme-css.js.map +1 -1
  111. package/dist/vite/plugin.d.ts +2 -2
  112. package/dist/vite/plugin.js.map +1 -1
  113. package/dist/vite/prerender/FileWritingResponse.d.ts +2 -1
  114. package/dist/vite/prerender/FileWritingResponse.js +4 -1
  115. package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
  116. package/dist/vite/prerender/worker.d.ts +1 -1
  117. package/dist/vite/prerender/worker.js +3 -0
  118. package/dist/vite/prerender/worker.js.map +1 -1
  119. package/lib/{AuthenticationPlugin-BlxA4Mbn.js → AuthenticationPlugin-_gUMnGxb.js} +2 -2
  120. package/lib/{AuthenticationPlugin-BlxA4Mbn.js.map → AuthenticationPlugin-_gUMnGxb.js.map} +1 -1
  121. package/lib/{Markdown-Cr9sYpR_.js → Markdown-DePfm7oQ.js} +1384 -1381
  122. package/lib/{Markdown-Cr9sYpR_.js.map → Markdown-DePfm7oQ.js.map} +1 -1
  123. package/lib/{MdxPage-Dt-UEQl8.js → MdxPage-DM9mE-G-.js} +4 -4
  124. package/lib/{MdxPage-Dt-UEQl8.js.map → MdxPage-DM9mE-G-.js.map} +1 -1
  125. package/lib/{OasProvider-WVtvHP5H.js → OasProvider-Bvu4dDpX.js} +3 -3
  126. package/lib/{OasProvider-WVtvHP5H.js.map → OasProvider-Bvu4dDpX.js.map} +1 -1
  127. package/lib/{OperationList-DhOwupvv.js → OperationList-DWnNbwVg.js} +241 -240
  128. package/lib/OperationList-DWnNbwVg.js.map +1 -0
  129. package/lib/{Select-D9hI1G-y.js → Select-BmoX1iTH.js} +36 -36
  130. package/lib/{Select-D9hI1G-y.js.map → Select-BmoX1iTH.js.map} +1 -1
  131. package/lib/{SlotletProvider-CEfNOA8i.js → SlotletProvider-DdtIOUi6.js} +2 -2
  132. package/lib/{SlotletProvider-CEfNOA8i.js.map → SlotletProvider-DdtIOUi6.js.map} +1 -1
  133. package/lib/{createServer-DMf6O2Rz.js → createServer-DmusVVsi.js} +987 -967
  134. package/lib/createServer-DmusVVsi.js.map +1 -0
  135. package/lib/{hook-CWwSAAlH.js → hook-4_6pQSo4.js} +29 -29
  136. package/lib/{hook-CWwSAAlH.js.map → hook-4_6pQSo4.js.map} +1 -1
  137. package/lib/{index-Do_30Hpk.js → index-DVBlM15k.js} +83 -82
  138. package/lib/{index-Do_30Hpk.js.map → index-DVBlM15k.js.map} +1 -1
  139. package/lib/index-DwT-v3zK.js +86 -0
  140. package/lib/index-DwT-v3zK.js.map +1 -0
  141. package/lib/{mutation-B0wxqzSN.js → mutation-DTunCQKB.js} +2 -2
  142. package/lib/{mutation-B0wxqzSN.js.map → mutation-DTunCQKB.js.map} +1 -1
  143. package/lib/objectEntries-yMIkr2mI.js +5 -0
  144. package/lib/objectEntries-yMIkr2mI.js.map +1 -0
  145. package/lib/ui/Stepper.js +6 -0
  146. package/lib/ui/Stepper.js.map +1 -0
  147. package/lib/ui/SyntaxHighlight.js +2902 -7
  148. package/lib/ui/SyntaxHighlight.js.map +1 -1
  149. package/lib/{useScrollToAnchor-C-sRxs9o.js → useScrollToAnchor-BW8y_cwU.js} +3 -3
  150. package/lib/{useScrollToAnchor-C-sRxs9o.js.map → useScrollToAnchor-BW8y_cwU.js.map} +1 -1
  151. package/lib/zudoku.auth-auth0.js +15 -14
  152. package/lib/zudoku.auth-auth0.js.map +1 -1
  153. package/lib/zudoku.auth-clerk.js +2 -2
  154. package/lib/zudoku.auth-openid.js +126 -124
  155. package/lib/zudoku.auth-openid.js.map +1 -1
  156. package/lib/zudoku.components.js +489 -454
  157. package/lib/zudoku.components.js.map +1 -1
  158. package/lib/zudoku.css +1 -0
  159. package/lib/zudoku.hooks.js +19 -0
  160. package/lib/zudoku.hooks.js.map +1 -0
  161. package/lib/zudoku.plugin-api-catalog.js +2 -2
  162. package/lib/zudoku.plugin-api-keys.js +5 -5
  163. package/lib/zudoku.plugin-custom-pages.js +1 -1
  164. package/lib/zudoku.plugin-markdown.js +1 -1
  165. package/lib/zudoku.plugin-openapi.js +2 -2
  166. package/lib/zudoku.plugins.js +9 -8
  167. package/lib/zudoku.plugins.js.map +1 -1
  168. package/package.json +12 -4
  169. package/src/app/main.tsx +1 -1
  170. package/src/lib/authentication/providers/auth0.tsx +3 -2
  171. package/src/lib/authentication/providers/openid.tsx +8 -5
  172. package/src/lib/components/ThemeSwitch.tsx +1 -1
  173. package/src/lib/components/Zudoku.tsx +9 -5
  174. package/src/lib/components/context/RouterEventsEmitter.tsx +19 -0
  175. package/src/lib/core/ZudokuContext.ts +31 -0
  176. package/src/lib/core/plugins.ts +16 -2
  177. package/src/lib/hooks/index.ts +5 -0
  178. package/src/lib/hooks/useEvent.test.tsx +149 -0
  179. package/src/lib/hooks/useEvent.ts +41 -0
  180. package/src/lib/ui/Stepper.css +43 -0
  181. package/src/lib/ui/Stepper.tsx +8 -0
  182. package/src/lib/util/MdxComponents.tsx +4 -1
  183. package/lib/OperationList-DhOwupvv.js.map +0 -1
  184. package/lib/SyntaxHighlight-CcnUjERD.js +0 -2986
  185. package/lib/SyntaxHighlight-CcnUjERD.js.map +0 -1
  186. package/lib/createServer-DMf6O2Rz.js.map +0 -1
@@ -0,0 +1,41 @@
1
+ import { useEffect, useState } from "react";
2
+ import { useZudoku } from "../components/context/ZudokuContext.js";
3
+ import type { ZudokuEvents } from "../core/ZudokuContext.js";
4
+
5
+ type EventParameters<Event extends keyof ZudokuEvents> = Parameters<
6
+ ZudokuEvents[Event]
7
+ >;
8
+
9
+ /**
10
+ * Hook to subscribe to Zudoku events with automatic cleanup
11
+ * @param event The event to subscribe to
12
+ * @param callback Optional callback to be called when the event is emitted
13
+ * @returns The latest event data if no callback is provided, or the callback's return value if it returns something
14
+ */
15
+ export function useEvent<E extends keyof ZudokuEvents>(
16
+ event: E,
17
+ ): EventParameters<E>;
18
+ export function useEvent<E extends keyof ZudokuEvents, R>(
19
+ event: E,
20
+ callback: (...args: EventParameters<E>) => R,
21
+ ): R;
22
+ export function useEvent<E extends keyof ZudokuEvents, R>(
23
+ event: E,
24
+ callback?: (...args: EventParameters<E>) => R,
25
+ ) {
26
+ const zudoku = useZudoku();
27
+ const [latestData, setLatestData] = useState<R | EventParameters<E>>();
28
+
29
+ useEffect(() => {
30
+ return zudoku.addEventListener(event, ((...args: EventParameters<E>) => {
31
+ if (callback) {
32
+ const result = callback(...args);
33
+ setLatestData(result);
34
+ } else {
35
+ setLatestData(args);
36
+ }
37
+ }) as ZudokuEvents[E]);
38
+ }, [zudoku, event, callback]);
39
+
40
+ return latestData;
41
+ }
@@ -0,0 +1,43 @@
1
+ @tailwind components;
2
+
3
+ @layer components {
4
+ .stepper {
5
+ /* @apply mb-6; */
6
+ }
7
+
8
+ .stepper > ol {
9
+ --bullet-size: 1.75rem;
10
+ --line-spacing: 0.25rem;
11
+ @apply flex flex-col list-none p-0 m-0;
12
+ counter-reset: step-counter;
13
+ }
14
+
15
+ .stepper > ol > li {
16
+ @apply relative ps-12 pb-6 my-0;
17
+ counter-increment: step-counter;
18
+ }
19
+
20
+ .stepper > ol > li:last-child {
21
+ @apply pb-0;
22
+ }
23
+
24
+ /* Bullet with number */
25
+ .stepper > ol > li::before {
26
+ @apply absolute left-0 flex items-center justify-center size-[--bullet-size];
27
+ @apply bg-muted/80 border border-border text-muted-foreground text-[calc(var(--bullet-size)/2)] font-semibold rounded-full;
28
+ content: counter(step-counter);
29
+ }
30
+
31
+ /* Vertical line */
32
+ .stepper > ol > li::after {
33
+ @apply absolute content-[''] w-[2px] bg-border -translate-x-1/2;
34
+ left: calc(var(--bullet-size) / 2);
35
+ top: calc(var(--bullet-size) + var(--line-spacing));
36
+ height: calc(100% - var(--bullet-size) - (2 * var(--line-spacing)));
37
+ }
38
+
39
+ .stepper > ol > li > :first-child {
40
+ @apply mt-0 pt-0;
41
+ transform: translateY(calc((var(--bullet-size) - 1lh) / 2));
42
+ }
43
+ }
@@ -0,0 +1,8 @@
1
+ import type { PropsWithChildren } from "react";
2
+ import "./Stepper.css";
3
+
4
+ const Stepper = ({ children }: PropsWithChildren) => {
5
+ return <div className="stepper">{children}</div>;
6
+ };
7
+
8
+ export { Stepper };
@@ -1,8 +1,9 @@
1
- import { MDXComponents } from "mdx/types.js";
1
+ import { type MDXComponents } from "mdx/types.js";
2
2
  import { Link } from "react-router";
3
3
  import { Heading } from "../components/Heading.js";
4
4
  import { InlineCode } from "../components/InlineCode.js";
5
5
  import { Callout } from "../ui/Callout.js";
6
+ import { Stepper } from "../ui/Stepper.js";
6
7
  import { SyntaxHighlight } from "../ui/SyntaxHighlight.js";
7
8
 
8
9
  export type MdxComponentsType = Readonly<MDXComponents> | null | undefined;
@@ -51,6 +52,8 @@ export const MdxComponents = {
51
52
  <a href={href} target="_blank" {...props} rel="noreferrer" />
52
53
  ),
53
54
  Callout,
55
+ Stepper,
56
+ SyntaxHighlight,
54
57
  tip: (props) => <Callout type="tip" {...props} />,
55
58
  info: (props) => <Callout type="info" {...props} />,
56
59
  note: (props) => <Callout type="note" {...props} />,