zudoku 0.25.3 → 0.26.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.
- package/dist/cli/dev/handler.js +2 -2
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/config/validators/common.d.ts +28 -28
- package/dist/config/validators/icon-types.d.ts +1 -1
- package/dist/config/validators/validate.d.ts +12 -12
- package/dist/lib/components/navigation/SidebarCategory.js +1 -1
- package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +3 -0
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +2 -1
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +2 -2
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js +9 -6
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/SidecarBox.js +1 -1
- package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/SidecarExamples.d.ts +2 -1
- package/dist/lib/plugins/openapi/SidecarExamples.js +7 -4
- package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaComponents.js +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaComponents.js.map +1 -1
- package/dist/lib/ui/Badge.d.ts +1 -1
- package/dist/lib/ui/Badge.js +1 -0
- package/dist/lib/ui/Badge.js.map +1 -1
- package/dist/vite/config.test.js +5 -1
- package/dist/vite/config.test.js.map +1 -1
- package/lib/{AnchorLink-DFZZbmvr.js → AnchorLink-_Vu02ceN.js} +3 -3
- package/lib/{AnchorLink-DFZZbmvr.js.map → AnchorLink-_Vu02ceN.js.map} +1 -1
- package/lib/{AuthenticationPlugin-D7G3me8L.js → AuthenticationPlugin-DNXBcsVN.js} +4 -4
- package/lib/{AuthenticationPlugin-D7G3me8L.js.map → AuthenticationPlugin-DNXBcsVN.js.map} +1 -1
- package/lib/{Button-DeAoTouo.js → Button-oroWHXAy.js} +3 -3
- package/lib/{Button-DeAoTouo.js.map → Button-oroWHXAy.js.map} +1 -1
- package/lib/{CategoryHeading-CBconmtI.js → CategoryHeading-MYL1u_6K.js} +3 -3
- package/lib/{CategoryHeading-CBconmtI.js.map → CategoryHeading-MYL1u_6K.js.map} +1 -1
- package/lib/{Command-9x_kZHr4.js → Command-D5DE0DD7.js} +136 -136
- package/lib/Command-D5DE0DD7.js.map +1 -0
- package/lib/{Markdown-CZDLNOFc.js → Markdown-BrfrjEk_.js} +1041 -1041
- package/lib/{Markdown-CZDLNOFc.js.map → Markdown-BrfrjEk_.js.map} +1 -1
- package/lib/{MdxPage-DKMbBROv.js → MdxPage-LNZLj_A5.js} +24 -24
- package/lib/{MdxPage-DKMbBROv.js.map → MdxPage-LNZLj_A5.js.map} +1 -1
- package/lib/{OperationList-B8bHMKme.js → OperationList-PCwzTp1r.js} +1489 -1473
- package/lib/OperationList-PCwzTp1r.js.map +1 -0
- package/lib/{Route-DYwKZ_c_.js → Route-Pzk6qwIk.js} +5 -5
- package/lib/{Route-DYwKZ_c_.js.map → Route-Pzk6qwIk.js.map} +1 -1
- package/lib/{Select-B_IxRUUC.js → Select-DkOpAG0c.js} +36 -36
- package/lib/{Select-B_IxRUUC.js.map → Select-DkOpAG0c.js.map} +1 -1
- package/lib/{SlotletProvider-pfc9oejW.js → SlotletProvider-DPbx9KdU.js} +53 -53
- package/lib/{SlotletProvider-pfc9oejW.js.map → SlotletProvider-DPbx9KdU.js.map} +1 -1
- package/lib/{Spinner-DuxJLLNE.js → Spinner-C5gHXrVz.js} +2 -2
- package/lib/{Spinner-DuxJLLNE.js.map → Spinner-C5gHXrVz.js.map} +1 -1
- package/lib/{SyntaxHighlight-Bz-lOJtH.js → SyntaxHighlight-CJCSPG1F.js} +297 -301
- package/lib/{SyntaxHighlight-Bz-lOJtH.js.map → SyntaxHighlight-CJCSPG1F.js.map} +1 -1
- package/lib/{ZudokuContext-hmLMUdf2.js → ZudokuContext-D3ayHjP-.js} +357 -356
- package/lib/ZudokuContext-D3ayHjP-.js.map +1 -0
- package/lib/{chunk-D52XG6IA-Dl7HLe6j.js → chunk-SYFQ2XB5-KWlHsT7t.js} +407 -410
- package/lib/chunk-SYFQ2XB5-KWlHsT7t.js.map +1 -0
- package/lib/context-rwLGh-6_.js +22 -0
- package/lib/{context-h_UkBLvr.js.map → context-rwLGh-6_.js.map} +1 -1
- package/lib/{createServer-BznDkeSA.js → createServer-BcaswoFO.js} +1274 -1286
- package/lib/createServer-BcaswoFO.js.map +1 -0
- package/lib/{hook-CHq7pFyz.js → hook-DUyACbIK.js} +17 -17
- package/lib/{hook-CHq7pFyz.js.map → hook-DUyACbIK.js.map} +1 -1
- package/lib/{index-sD8L1_Dl.js → index-CaILD1AV.js} +132 -132
- package/lib/{index-sD8L1_Dl.js.map → index-CaILD1AV.js.map} +1 -1
- package/lib/index-Djenk2Hj.js +36 -0
- package/lib/{index-CPNSgwSb.js.map → index-Djenk2Hj.js.map} +1 -1
- package/lib/{index-CBXSgjaE.js → index-Dl3Yl0yb.js} +65 -69
- package/lib/index-Dl3Yl0yb.js.map +1 -0
- package/lib/{index.esm-BSV1C092.js → index.esm-9-TF9KQB.js} +52 -52
- package/lib/{index.esm-BSV1C092.js.map → index.esm-9-TF9KQB.js.map} +1 -1
- package/lib/index.esm-CrSoEshU.js +1207 -0
- package/lib/index.esm-CrSoEshU.js.map +1 -0
- package/lib/{jsx-runtime-Dx-03ztt.js → jsx-runtime-Bdg6XQ1m.js} +135 -135
- package/lib/{jsx-runtime-Dx-03ztt.js.map → jsx-runtime-Bdg6XQ1m.js.map} +1 -1
- package/lib/post-processors/removeExtensions.js +3 -3
- package/lib/{prism-bash.min-DadFsM4Z.js → prism-bash.min-HHIMdNJ_.js} +4 -4
- package/lib/{prism-bash.min-DadFsM4Z.js.map → prism-bash.min-HHIMdNJ_.js.map} +1 -1
- package/lib/{prism-csharp.min-DUwvItt4.js → prism-csharp.min-bQAo2pmx.js} +33 -33
- package/lib/{prism-csharp.min-DUwvItt4.js.map → prism-csharp.min-bQAo2pmx.js.map} +1 -1
- package/lib/{prism-java.min-BtgBR4yd.js → prism-java.min-BpvsOuIa.js} +12 -12
- package/lib/{prism-java.min-BtgBR4yd.js.map → prism-java.min-BpvsOuIa.js.map} +1 -1
- package/lib/{prism-markdown.min-F3U-vPBi.js → prism-markdown.min-C0Qn0m-5.js} +30 -30
- package/lib/{prism-markdown.min-F3U-vPBi.js.map → prism-markdown.min-C0Qn0m-5.js.map} +1 -1
- package/lib/{prism-ruby.min-DeDXCp1r.js → prism-ruby.min-Dx9KO9ds.js} +16 -16
- package/lib/{prism-ruby.min-DeDXCp1r.js.map → prism-ruby.min-Dx9KO9ds.js.map} +1 -1
- package/lib/prism-typescript.min-CD7H2IYQ.js.map +1 -1
- package/lib/state-mM7uaXTW.js +202 -0
- package/lib/state-mM7uaXTW.js.map +1 -0
- package/lib/ui/Accordion.js +1 -1
- package/lib/ui/ActionButton.js +3 -3
- package/lib/ui/Alert.js +2 -2
- package/lib/ui/AlertDialog.js +1 -1
- package/lib/ui/Badge.js +3 -2
- package/lib/ui/Badge.js.map +1 -1
- package/lib/ui/Breadcrumb.js +1 -1
- package/lib/ui/Button.js +2 -2
- package/lib/ui/Callout.js +1 -1
- package/lib/ui/Card.js +1 -1
- package/lib/ui/Carousel.js +3 -3
- package/lib/ui/Carousel.js.map +1 -1
- package/lib/ui/Checkbox.js +2 -2
- package/lib/ui/Command.js +2 -2
- package/lib/ui/Dialog.js +1 -1
- package/lib/ui/Drawer.js +520 -519
- package/lib/ui/Drawer.js.map +1 -1
- package/lib/ui/DropdownMenu.js +1 -1
- package/lib/ui/Form.js +2 -2
- package/lib/ui/HoverCard.js +1 -1
- package/lib/ui/Input.js +1 -1
- package/lib/ui/Label.js +2 -2
- package/lib/ui/Pagination.js +7 -7
- package/lib/ui/Popover.js +1 -1
- package/lib/ui/Progress.js +1 -1
- package/lib/ui/RadioGroup.js +1 -1
- package/lib/ui/ScrollArea.js +1 -1
- package/lib/ui/Select.js +1 -1
- package/lib/ui/Skeleton.js +1 -1
- package/lib/ui/Slider.js +1 -1
- package/lib/ui/Switch.js +1 -1
- package/lib/ui/Tabs.js +1 -1
- package/lib/ui/Textarea.js +1 -1
- package/lib/ui/Toggle.js +2 -2
- package/lib/ui/ToggleGroup.js +1 -1
- package/lib/ui/Tooltip.js +1 -1
- package/lib/{useExposedProps-DE9lR6MF.js → useExposedProps-BBHR7aLM.js} +2 -2
- package/lib/{useExposedProps-DE9lR6MF.js.map → useExposedProps-BBHR7aLM.js.map} +1 -1
- package/lib/zudoku.auth-auth0.js +1 -1
- package/lib/zudoku.auth-clerk.js +18 -18
- package/lib/zudoku.auth-openid.js +5 -5
- package/lib/zudoku.components.js +492 -477
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.plugin-api-catalog.js +5 -5
- package/lib/zudoku.plugin-api-keys.js +7 -7
- package/lib/zudoku.plugin-custom-pages.js +3 -3
- package/lib/zudoku.plugin-markdown.js +2 -2
- package/lib/zudoku.plugin-openapi.js +5 -5
- package/lib/zudoku.plugin-redirect.js +1 -1
- package/lib/zudoku.plugin-search-inkeep.js +9 -9
- package/package.json +48 -48
- package/src/lib/components/navigation/SidebarCategory.tsx +2 -2
- package/src/lib/plugins/openapi/OperationList.tsx +4 -0
- package/src/lib/plugins/openapi/ParameterListItem.tsx +1 -5
- package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +8 -2
- package/src/lib/plugins/openapi/Sidecar.tsx +14 -7
- package/src/lib/plugins/openapi/SidecarBox.tsx +1 -1
- package/src/lib/plugins/openapi/SidecarExamples.tsx +14 -6
- package/src/lib/plugins/openapi/schema/SchemaComponents.tsx +1 -1
- package/src/lib/ui/Badge.tsx +1 -0
- package/lib/Command-9x_kZHr4.js.map +0 -1
- package/lib/OperationList-B8bHMKme.js.map +0 -1
- package/lib/ZudokuContext-hmLMUdf2.js.map +0 -1
- package/lib/chunk-D52XG6IA-Dl7HLe6j.js.map +0 -1
- package/lib/context-h_UkBLvr.js +0 -22
- package/lib/createServer-BznDkeSA.js.map +0 -1
- package/lib/index-CBXSgjaE.js.map +0 -1
- package/lib/index-CPNSgwSb.js +0 -36
- package/lib/index.esm-BnnBRKJX.js +0 -1214
- package/lib/index.esm-BnnBRKJX.js.map +0 -1
- package/lib/state-CFQsUZUP.js +0 -202
- package/lib/state-CFQsUZUP.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { j as e } from "./jsx-runtime-
|
|
1
|
+
import { j as e } from "./jsx-runtime-Bdg6XQ1m.js";
|
|
2
2
|
import { s as j } from "./index-LNp6rxyU.js";
|
|
3
|
-
import { u as b } from "./ZudokuContext-
|
|
4
|
-
import { b as y } from "./chunk-
|
|
3
|
+
import { u as b } from "./ZudokuContext-D3ayHjP-.js";
|
|
4
|
+
import { b as y } from "./chunk-SYFQ2XB5-KWlHsT7t.js";
|
|
5
5
|
import { Head as v, Link as N } from "./zudoku.components.js";
|
|
6
|
-
import { u as w } from "./state-
|
|
7
|
-
import { M as C } from "./Markdown-
|
|
6
|
+
import { u as w } from "./state-mM7uaXTW.js";
|
|
7
|
+
import { M as C } from "./Markdown-BrfrjEk_.js";
|
|
8
8
|
import { c as h } from "./cn-qaFjX9_3.js";
|
|
9
9
|
const f = (r, n) => j(`${r}-${n}`), k = ({
|
|
10
10
|
items: r,
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { j as e } from "./jsx-runtime-
|
|
1
|
+
import { j as e } from "./jsx-runtime-Bdg6XQ1m.js";
|
|
2
2
|
import { RotateCwIcon as g, TrashIcon as f, EyeOffIcon as j, EyeIcon as v, CheckIcon as w, CopyIcon as b, FileKey2Icon as K } from "lucide-react";
|
|
3
|
-
import { D as k, S as m, R as N } from "./SlotletProvider-
|
|
3
|
+
import { D as k, S as m, R as N } from "./SlotletProvider-DPbx9KdU.js";
|
|
4
4
|
import { i as c } from "./invariant-Caa8-XvF.js";
|
|
5
|
-
import { u as d, S as I, a as S, b as A, c as C, d as E, e as x } from "./Select-
|
|
6
|
-
import { a as P } from "./index.esm-
|
|
7
|
-
import { a as D, L as u, O as R } from "./chunk-
|
|
8
|
-
import { a as y, e as q, u as O } from "./ZudokuContext-
|
|
5
|
+
import { u as d, S as I, a as S, b as A, c as C, d as E, e as x } from "./Select-DkOpAG0c.js";
|
|
6
|
+
import { a as P } from "./index.esm-CrSoEshU.js";
|
|
7
|
+
import { a as D, L as u, O as R } from "./chunk-SYFQ2XB5-KWlHsT7t.js";
|
|
8
|
+
import { a as y, e as q, u as O } from "./ZudokuContext-D3ayHjP-.js";
|
|
9
9
|
import { Button as l } from "./ui/Button.js";
|
|
10
10
|
import { Input as z } from "./ui/Input.js";
|
|
11
|
-
import { u as F } from "./hook-
|
|
11
|
+
import { u as F } from "./hook-DUyACbIK.js";
|
|
12
12
|
import { useState as p } from "react";
|
|
13
13
|
import { c as T } from "./cn-qaFjX9_3.js";
|
|
14
14
|
const L = ({ service: t }) => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { j as o } from "./jsx-runtime-
|
|
1
|
+
import { j as o } from "./jsx-runtime-Bdg6XQ1m.js";
|
|
2
2
|
import a from "react";
|
|
3
|
-
import { P as n } from "./Markdown-
|
|
3
|
+
import { P as n } from "./Markdown-BrfrjEk_.js";
|
|
4
4
|
import { c } from "./cn-qaFjX9_3.js";
|
|
5
|
-
import { u as p } from "./useExposedProps-
|
|
5
|
+
import { u as p } from "./useExposedProps-BBHR7aLM.js";
|
|
6
6
|
const u = ({
|
|
7
7
|
element: t,
|
|
8
8
|
render: s,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var d = Object.defineProperty;
|
|
2
2
|
var m = (n, t, o) => t in n ? d(n, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : n[t] = o;
|
|
3
3
|
var f = (n, t, o) => m(n, typeof t != "symbol" ? t + "" : t, o);
|
|
4
|
-
import { j as P } from "./jsx-runtime-
|
|
4
|
+
import { j as P } from "./jsx-runtime-Bdg6XQ1m.js";
|
|
5
5
|
import { f as u } from "./__vite-browser-external-BYRIRx8p.js";
|
|
6
6
|
const x = "/pages/**/*.{md,mdx}", D = [".md", ".mdx"];
|
|
7
7
|
class c {
|
|
@@ -74,7 +74,7 @@ const C = (n) => ({
|
|
|
74
74
|
const h = {
|
|
75
75
|
path: r,
|
|
76
76
|
lazy: async () => {
|
|
77
|
-
const { MdxPage: l } = await import("./MdxPage-
|
|
77
|
+
const { MdxPage: l } = await import("./MdxPage-LNZLj_A5.js"), { default: p, ...g } = await a();
|
|
78
78
|
return {
|
|
79
79
|
element: /* @__PURE__ */ P.jsx(
|
|
80
80
|
l,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import "./jsx-runtime-
|
|
2
|
-
import "./chunk-
|
|
3
|
-
import { o as a } from "./index-
|
|
4
|
-
import "./ZudokuContext-
|
|
1
|
+
import "./jsx-runtime-Bdg6XQ1m.js";
|
|
2
|
+
import "./chunk-SYFQ2XB5-KWlHsT7t.js";
|
|
3
|
+
import { o as a } from "./index-CaILD1AV.js";
|
|
4
|
+
import "./ZudokuContext-D3ayHjP-.js";
|
|
5
5
|
import "lucide-react";
|
|
6
|
-
import "./hook-
|
|
6
|
+
import "./hook-DUyACbIK.js";
|
|
7
7
|
import "./ui/Button.js";
|
|
8
8
|
export {
|
|
9
9
|
a as openApiPlugin
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { j as i } from "./jsx-runtime-
|
|
2
|
-
import { useRef as
|
|
1
|
+
import { j as i } from "./jsx-runtime-Bdg6XQ1m.js";
|
|
2
|
+
import { useRef as d, useState as f, useMemo as m, useEffect as c } from "react";
|
|
3
3
|
import { C as g } from "./ClientOnly-E7hGysn1.js";
|
|
4
4
|
const h = {
|
|
5
5
|
theme: {
|
|
@@ -25,7 +25,7 @@ const h = {
|
|
|
25
25
|
onClose: n,
|
|
26
26
|
settings: p
|
|
27
27
|
}) => {
|
|
28
|
-
const o =
|
|
28
|
+
const o = d(null), u = d(null), [s, l] = f(
|
|
29
29
|
typeof Inkeep < "u"
|
|
30
30
|
), a = m(
|
|
31
31
|
() => ({
|
|
@@ -44,17 +44,17 @@ const h = {
|
|
|
44
44
|
}),
|
|
45
45
|
[e, n, r, p, o]
|
|
46
46
|
);
|
|
47
|
-
return
|
|
47
|
+
return c(() => {
|
|
48
48
|
if (s) return;
|
|
49
49
|
const t = setInterval(() => {
|
|
50
|
-
typeof Inkeep < "u" && (
|
|
50
|
+
typeof Inkeep < "u" && (l(!0), clearInterval(t));
|
|
51
51
|
}, 100);
|
|
52
52
|
return () => clearInterval(t);
|
|
53
|
-
}, [s]),
|
|
54
|
-
!s ||
|
|
55
|
-
}, [a, s]),
|
|
53
|
+
}, [s]), c(() => {
|
|
54
|
+
!s || u.current || (u.current = Inkeep().embed(a));
|
|
55
|
+
}, [a, s]), c(() => {
|
|
56
56
|
var t;
|
|
57
|
-
(t =
|
|
57
|
+
(t = u.current) == null || t.render({ ...a, isOpen: e });
|
|
58
58
|
}, [a, e]), /* @__PURE__ */ i.jsx("div", { ref: o });
|
|
59
59
|
}, x = (r) => ({
|
|
60
60
|
getHead: () => /* @__PURE__ */ i.jsx(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zudoku",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"homepage": "https://zudoku.dev",
|
|
6
6
|
"repository": {
|
|
@@ -111,42 +111,42 @@
|
|
|
111
111
|
}
|
|
112
112
|
},
|
|
113
113
|
"dependencies": {
|
|
114
|
-
"@envelop/core": "5.0.
|
|
114
|
+
"@envelop/core": "5.0.3",
|
|
115
115
|
"@graphql-typed-document-node/core": "3.2.0",
|
|
116
|
-
"@hookform/resolvers": "3.
|
|
117
|
-
"@lekoarts/rehype-meta-as-attributes": "3.0.
|
|
116
|
+
"@hookform/resolvers": "3.10.0",
|
|
117
|
+
"@lekoarts/rehype-meta-as-attributes": "3.0.2",
|
|
118
118
|
"@mdx-js/react": "3.1.0",
|
|
119
119
|
"@mdx-js/rollup": "3.1.0",
|
|
120
120
|
"@pothos/core": "3.41.0",
|
|
121
121
|
"@radix-ui/react-accordion": "1.2.2",
|
|
122
122
|
"@radix-ui/react-alert-dialog": "1.1.4",
|
|
123
123
|
"@radix-ui/react-aspect-ratio": "1.1.1",
|
|
124
|
-
"@radix-ui/react-checkbox": "1.1.
|
|
125
|
-
"@radix-ui/react-collapsible": "1.1.
|
|
126
|
-
"@radix-ui/react-dialog": "1.1.
|
|
127
|
-
"@radix-ui/react-dropdown-menu": "2.1.
|
|
128
|
-
"@radix-ui/react-hover-card": "1.1.
|
|
129
|
-
"@radix-ui/react-label": "2.1.
|
|
130
|
-
"@radix-ui/react-popover": "1.1.
|
|
131
|
-
"@radix-ui/react-progress": "1.1.
|
|
132
|
-
"@radix-ui/react-radio-group": "1.2.
|
|
133
|
-
"@radix-ui/react-scroll-area": "1.2.
|
|
134
|
-
"@radix-ui/react-select": "2.1.
|
|
135
|
-
"@radix-ui/react-slider": "1.2.
|
|
136
|
-
"@radix-ui/react-slot": "1.1.
|
|
137
|
-
"@radix-ui/react-switch": "1.1.
|
|
138
|
-
"@radix-ui/react-tabs": "1.1.
|
|
139
|
-
"@radix-ui/react-toggle": "1.1.
|
|
124
|
+
"@radix-ui/react-checkbox": "1.1.3",
|
|
125
|
+
"@radix-ui/react-collapsible": "1.1.2",
|
|
126
|
+
"@radix-ui/react-dialog": "1.1.4",
|
|
127
|
+
"@radix-ui/react-dropdown-menu": "2.1.4",
|
|
128
|
+
"@radix-ui/react-hover-card": "1.1.4",
|
|
129
|
+
"@radix-ui/react-label": "2.1.1",
|
|
130
|
+
"@radix-ui/react-popover": "1.1.4",
|
|
131
|
+
"@radix-ui/react-progress": "1.1.1",
|
|
132
|
+
"@radix-ui/react-radio-group": "1.2.2",
|
|
133
|
+
"@radix-ui/react-scroll-area": "1.2.2",
|
|
134
|
+
"@radix-ui/react-select": "2.1.4",
|
|
135
|
+
"@radix-ui/react-slider": "1.2.2",
|
|
136
|
+
"@radix-ui/react-slot": "1.1.1",
|
|
137
|
+
"@radix-ui/react-switch": "1.1.2",
|
|
138
|
+
"@radix-ui/react-tabs": "1.1.2",
|
|
139
|
+
"@radix-ui/react-toggle": "1.1.1",
|
|
140
140
|
"@radix-ui/react-toggle-group": "1.1.1",
|
|
141
|
-
"@radix-ui/react-tooltip": "1.1.
|
|
142
|
-
"@radix-ui/react-visually-hidden": "1",
|
|
143
|
-
"@sentry/node": "8.
|
|
141
|
+
"@radix-ui/react-tooltip": "1.1.6",
|
|
142
|
+
"@radix-ui/react-visually-hidden": "1.1.1",
|
|
143
|
+
"@sentry/node": "8.50.0",
|
|
144
144
|
"@sindresorhus/slugify": "2.2.1",
|
|
145
|
-
"@stefanprobst/rehype-extract-toc": "2.2.
|
|
145
|
+
"@stefanprobst/rehype-extract-toc": "2.2.1",
|
|
146
146
|
"@tailwindcss/typography": "0.5.16",
|
|
147
|
-
"@tanstack/react-query": "5.
|
|
148
|
-
"@types/react": "19.0.
|
|
149
|
-
"@types/react-dom": "19.0.
|
|
147
|
+
"@tanstack/react-query": "5.64.2",
|
|
148
|
+
"@types/react": "19.0.7",
|
|
149
|
+
"@types/react-dom": "19.0.3",
|
|
150
150
|
"@vitejs/plugin-react": "4.3.4",
|
|
151
151
|
"@zudoku/httpsnippet": "10.0.9",
|
|
152
152
|
"@zudoku/react-helmet-async": "2.0.5",
|
|
@@ -157,13 +157,13 @@
|
|
|
157
157
|
"cmdk": "1.0.4",
|
|
158
158
|
"devlop": "^1.1.0",
|
|
159
159
|
"dotenv": "16.4.7",
|
|
160
|
-
"embla-carousel-react": "8.5.
|
|
160
|
+
"embla-carousel-react": "8.5.2",
|
|
161
161
|
"estree-util-value-to-estree": "3.2.1",
|
|
162
162
|
"express": "4.21.2",
|
|
163
|
-
"glob": "11.0.
|
|
163
|
+
"glob": "11.0.1",
|
|
164
164
|
"graphql": "16.10.0",
|
|
165
165
|
"graphql-type-json": "0.3.2",
|
|
166
|
-
"graphql-yoga": "5.10.
|
|
166
|
+
"graphql-yoga": "5.10.10",
|
|
167
167
|
"gray-matter": "4.0.3",
|
|
168
168
|
"hast-util-to-jsx-runtime": "^2.3.2",
|
|
169
169
|
"hast-util-to-string": "3.0.1",
|
|
@@ -171,20 +171,20 @@
|
|
|
171
171
|
"http-terminator": "3.2.0",
|
|
172
172
|
"loglevel": "1.9.2",
|
|
173
173
|
"lru-cache": "11.0.2",
|
|
174
|
-
"lucide-react": "0.
|
|
174
|
+
"lucide-react": "0.473.0",
|
|
175
175
|
"next-themes": "0.4.4",
|
|
176
176
|
"oauth4webapi": "2.17.0",
|
|
177
177
|
"object-hash": "3.0.0",
|
|
178
178
|
"openapi-types": "12.1.3",
|
|
179
179
|
"picocolors": "1.1.1",
|
|
180
|
-
"postcss": "8.
|
|
181
|
-
"posthog-node": "4.
|
|
182
|
-
"prism-react-renderer": "2.4.
|
|
180
|
+
"postcss": "8.5.1",
|
|
181
|
+
"posthog-node": "4.4.1",
|
|
182
|
+
"prism-react-renderer": "2.4.1",
|
|
183
183
|
"prismjs": "1.29.0",
|
|
184
|
-
"react-error-boundary": "
|
|
185
|
-
"react-hook-form": "7.54.
|
|
184
|
+
"react-error-boundary": "5.0.0",
|
|
185
|
+
"react-hook-form": "7.54.2",
|
|
186
186
|
"react-is": "19.0.0",
|
|
187
|
-
"react-router": "7.
|
|
187
|
+
"react-router": "7.1.3",
|
|
188
188
|
"rehype-raw": "7.0.0",
|
|
189
189
|
"rehype-slug": "6.0.0",
|
|
190
190
|
"remark-comment": "1.0.0",
|
|
@@ -195,26 +195,26 @@
|
|
|
195
195
|
"remark-mdx-frontmatter": "5.0.0",
|
|
196
196
|
"remark-parse": "^11.0.0",
|
|
197
197
|
"remark-rehype": "^11.1.1",
|
|
198
|
-
"rollup": "4.
|
|
198
|
+
"rollup": "4.31.0",
|
|
199
199
|
"semver": "7.6.3",
|
|
200
200
|
"sitemap": "8.0.0",
|
|
201
201
|
"spin-delay": "2.0.1",
|
|
202
202
|
"strip-ansi": "7.1.0",
|
|
203
203
|
"tailwind-merge": "2.6.0",
|
|
204
|
-
"tailwindcss": "3.4.
|
|
204
|
+
"tailwindcss": "3.4.17",
|
|
205
205
|
"tsx": "^4.19.2",
|
|
206
206
|
"ulidx": "2.4.1",
|
|
207
207
|
"unified": "^11.0.5",
|
|
208
208
|
"unist-util-visit": "5.0.0",
|
|
209
209
|
"urql": "4.2.1",
|
|
210
|
-
"vaul": "1.1.
|
|
210
|
+
"vaul": "1.1.2",
|
|
211
211
|
"vfile": "6.0.3",
|
|
212
|
-
"vite": "6.0.
|
|
213
|
-
"yaml": "2.
|
|
212
|
+
"vite": "6.0.11",
|
|
213
|
+
"yaml": "2.7.0",
|
|
214
214
|
"yargs": "17.7.2",
|
|
215
|
-
"zod": "3.
|
|
215
|
+
"zod": "3.24.1",
|
|
216
216
|
"zod-validation-error": "3.4.0",
|
|
217
|
-
"zustand": "5.0.
|
|
217
|
+
"zustand": "5.0.3"
|
|
218
218
|
},
|
|
219
219
|
"devDependencies": {
|
|
220
220
|
"@graphql-codegen/cli": "5.0.3",
|
|
@@ -232,13 +232,13 @@
|
|
|
232
232
|
"@types/semver": "7.5.8",
|
|
233
233
|
"@types/unist": "^3.0.3",
|
|
234
234
|
"@types/yargs": "17.0.33",
|
|
235
|
-
"@vitest/coverage-v8": "
|
|
235
|
+
"@vitest/coverage-v8": "3.0.2",
|
|
236
236
|
"mdast-util-mdx": "3.0.0",
|
|
237
237
|
"react": "19.0.0",
|
|
238
238
|
"react-dom": "19.0.0",
|
|
239
239
|
"rollup-plugin-visualizer": "5.14.0",
|
|
240
|
-
"typescript": "5.7.
|
|
241
|
-
"vitest": "
|
|
240
|
+
"typescript": "5.7.3",
|
|
241
|
+
"vitest": "3.0.2"
|
|
242
242
|
},
|
|
243
243
|
"peerDependencies": {
|
|
244
244
|
"react": ">=19",
|
|
@@ -249,7 +249,7 @@
|
|
|
249
249
|
"@sentry/react": "^8.50.0"
|
|
250
250
|
},
|
|
251
251
|
"scripts": {
|
|
252
|
-
"build": "tsc --project tsconfig.json",
|
|
252
|
+
"build": "tsc --project tsconfig.app.json",
|
|
253
253
|
"build:vite": "vite build",
|
|
254
254
|
"generate:icon-types": "tsx ./scripts/generate-icon-types.ts",
|
|
255
255
|
"build:standalone:vite": "vite build --mode standalone --config vite.standalone.config.ts",
|
|
@@ -112,10 +112,10 @@ export const SidebarCategory = ({
|
|
|
112
112
|
className={cn(
|
|
113
113
|
// CollapsibleContent class is used to animate and it should only be applied when the user has triggered the toggle
|
|
114
114
|
hasInteracted && "CollapsibleContent",
|
|
115
|
-
"my-1",
|
|
115
|
+
"ms-6 my-1",
|
|
116
116
|
)}
|
|
117
117
|
>
|
|
118
|
-
<ul className=
|
|
118
|
+
<ul className="relative after:absolute after:-left-[--padding-nav-item] after:translate-x-[1.5px] after:top-0 after:bottom-0 after:w-px after:bg-border">
|
|
119
119
|
{category.items.map((item) => (
|
|
120
120
|
<SidebarItem
|
|
121
121
|
key={
|
|
@@ -13,6 +13,7 @@ import { useSelectedServerStore } from "../../authentication/state.js";
|
|
|
13
13
|
import { CategoryHeading } from "../../components/CategoryHeading.js";
|
|
14
14
|
import { Heading } from "../../components/Heading.js";
|
|
15
15
|
import { Markdown, ProseClasses } from "../../components/Markdown.js";
|
|
16
|
+
import { useApiIdentities } from "../../components/context/ZudokuContext.js";
|
|
16
17
|
import { cn } from "../../util/cn.js";
|
|
17
18
|
import { Endpoint } from "./Endpoint.js";
|
|
18
19
|
import { OperationListItem } from "./OperationListItem.js";
|
|
@@ -118,6 +119,9 @@ export const OperationList = () => {
|
|
|
118
119
|
const description = result.data.schema.description;
|
|
119
120
|
const navigate = useNavigate();
|
|
120
121
|
|
|
122
|
+
// Prefetch for Playground
|
|
123
|
+
useApiIdentities();
|
|
124
|
+
|
|
121
125
|
// The summary property is preferable here as it is a short description of
|
|
122
126
|
// the API, whereas the description property is typically longer and supports
|
|
123
127
|
// commonmark formatting, making it ill-suited for use in the meta description
|
|
@@ -47,17 +47,13 @@ export const ParameterListItem = ({
|
|
|
47
47
|
)}
|
|
48
48
|
</code>
|
|
49
49
|
{paramSchema.type && (
|
|
50
|
-
<Badge variant="
|
|
50
|
+
<Badge variant="muted">
|
|
51
51
|
{paramSchema.type === "array"
|
|
52
52
|
? `${paramSchema.items.type}[]`
|
|
53
53
|
: paramSchema.type}
|
|
54
54
|
</Badge>
|
|
55
55
|
)}
|
|
56
56
|
{parameter.required && <Badge variant="outline">required</Badge>}
|
|
57
|
-
{/* <span className="py-px px-1.5 font-medium bg-primary/75 text-primary-foreground rounded-lg">
|
|
58
|
-
required
|
|
59
|
-
</span>
|
|
60
|
-
)} */}
|
|
61
57
|
</div>
|
|
62
58
|
{parameter.description && (
|
|
63
59
|
<Markdown
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import * as SidecarBox from "./SidecarBox.js";
|
|
2
2
|
import { type Content, SidecarExamples } from "./SidecarExamples.js";
|
|
3
3
|
|
|
4
|
-
export const RequestBodySidecarBox = ({
|
|
4
|
+
export const RequestBodySidecarBox = ({
|
|
5
|
+
content,
|
|
6
|
+
onExampleChange,
|
|
7
|
+
}: {
|
|
8
|
+
content: Content;
|
|
9
|
+
onExampleChange?: (example: unknown) => void;
|
|
10
|
+
}) => {
|
|
5
11
|
return (
|
|
6
12
|
<SidecarBox.Root>
|
|
7
13
|
<SidecarBox.Head className="text-xs flex justify-between items-center">
|
|
8
14
|
<span className="font-mono">Request Body Example</span>
|
|
9
15
|
</SidecarBox.Head>
|
|
10
|
-
<SidecarExamples content={content} />
|
|
16
|
+
<SidecarExamples content={content} onExampleChange={onExampleChange} />
|
|
11
17
|
</SidecarBox.Root>
|
|
12
18
|
);
|
|
13
19
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useSuspenseQuery } from "@tanstack/react-query";
|
|
2
2
|
import { HTTPSnippet } from "@zudoku/httpsnippet";
|
|
3
|
-
import { Fragment, useMemo, useTransition } from "react";
|
|
3
|
+
import { Fragment, useMemo, useState, useTransition } from "react";
|
|
4
4
|
import { useSearchParams } from "react-router";
|
|
5
5
|
import { useSelectedServerStore } from "../../authentication/state.js";
|
|
6
6
|
import { SyntaxHighlight } from "../../components/SyntaxHighlight.js";
|
|
@@ -107,6 +107,7 @@ export const Sidecar = ({
|
|
|
107
107
|
|
|
108
108
|
const [searchParams, setSearchParams] = useSearchParams();
|
|
109
109
|
const [, startTransition] = useTransition();
|
|
110
|
+
const [selectedExample, setSelectedExample] = useState<unknown>();
|
|
110
111
|
|
|
111
112
|
const selectedLang = searchParams.get("lang") ?? "shell";
|
|
112
113
|
|
|
@@ -141,9 +142,11 @@ export const Sidecar = ({
|
|
|
141
142
|
const { selectedServer } = useSelectedServerStore();
|
|
142
143
|
|
|
143
144
|
const code = useMemo(() => {
|
|
144
|
-
const example =
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
const example =
|
|
146
|
+
selectedExample ??
|
|
147
|
+
(requestBodyContent?.[0]?.schema
|
|
148
|
+
? generateSchemaExample(requestBodyContent[0].schema as SchemaObject)
|
|
149
|
+
: undefined);
|
|
147
150
|
|
|
148
151
|
const snippet = new HTTPSnippet({
|
|
149
152
|
method: operation.method.toLocaleUpperCase(),
|
|
@@ -166,6 +169,7 @@ export const Sidecar = ({
|
|
|
166
169
|
|
|
167
170
|
return getConverted(snippet, selectedLang);
|
|
168
171
|
}, [
|
|
172
|
+
selectedExample,
|
|
169
173
|
requestBodyContent,
|
|
170
174
|
operation.method,
|
|
171
175
|
operation.path,
|
|
@@ -181,7 +185,7 @@ export const Sidecar = ({
|
|
|
181
185
|
className="flex flex-col overflow-hidden sticky top-[--scroll-padding] gap-4"
|
|
182
186
|
>
|
|
183
187
|
<SidecarBox.Root>
|
|
184
|
-
<SidecarBox.Head className="flex justify-between items-center flex-nowrap py-
|
|
188
|
+
<SidecarBox.Head className="flex justify-between items-center flex-nowrap py-2.5 gap-2 text-xs">
|
|
185
189
|
<span className="font-mono break-words">
|
|
186
190
|
<span className={cn("font-semibold", methodTextColor)}>
|
|
187
191
|
{operation.method.toLocaleUpperCase()}
|
|
@@ -209,7 +213,7 @@ export const Sidecar = ({
|
|
|
209
213
|
/>
|
|
210
214
|
</CollapsibleCode>
|
|
211
215
|
</SidecarBox.Body>
|
|
212
|
-
<SidecarBox.Footer className="flex items-center text-xs gap-2 justify-end py-
|
|
216
|
+
<SidecarBox.Footer className="flex items-center text-xs gap-2 justify-end py-2.5">
|
|
213
217
|
<span>Show example in</span>
|
|
214
218
|
<SimpleSelect
|
|
215
219
|
className="self-start max-w-[150px]"
|
|
@@ -229,7 +233,10 @@ export const Sidecar = ({
|
|
|
229
233
|
)}
|
|
230
234
|
</SidecarBox.Root>
|
|
231
235
|
{isOnScreen && requestBodyContent && (
|
|
232
|
-
<RequestBodySidecarBox
|
|
236
|
+
<RequestBodySidecarBox
|
|
237
|
+
content={requestBodyContent}
|
|
238
|
+
onExampleChange={setSelectedExample}
|
|
239
|
+
/>
|
|
233
240
|
)}
|
|
234
241
|
{isOnScreen && operation.responses.length > 0 && (
|
|
235
242
|
<ResponsesSidecarBox
|
|
@@ -16,7 +16,7 @@ export const Root = ({ children, className }: BaseComponentProps) => (
|
|
|
16
16
|
export const Head = ({ children, className }: BaseComponentProps) => (
|
|
17
17
|
<div
|
|
18
18
|
className={cn(
|
|
19
|
-
"border-b bg-muted dark:bg-transparent text-card-foreground p-3",
|
|
19
|
+
"border-b bg-muted dark:bg-transparent text-card-foreground p-3 py-2.5",
|
|
20
20
|
className,
|
|
21
21
|
)}
|
|
22
22
|
>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useState } from "react";
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
2
|
import { SyntaxHighlight } from "../../components/SyntaxHighlight.js";
|
|
3
3
|
import { type SchemaObject } from "../../oas/graphql/index.js";
|
|
4
4
|
import { CollapsibleCode } from "./CollapsibleCode.js";
|
|
@@ -36,11 +36,13 @@ const getLanguage = (mediaType?: string): string => {
|
|
|
36
36
|
export type SidecarExamplesProps = {
|
|
37
37
|
content: Content;
|
|
38
38
|
description?: string;
|
|
39
|
+
onExampleChange?: (example: unknown) => void;
|
|
39
40
|
};
|
|
40
41
|
|
|
41
42
|
export const SidecarExamples = ({
|
|
42
43
|
content,
|
|
43
44
|
description,
|
|
45
|
+
onExampleChange,
|
|
44
46
|
}: SidecarExamplesProps) => {
|
|
45
47
|
const [selectedContentTypeIndex, setSelectedContentTypeIndex] = useState(0);
|
|
46
48
|
const [selectedExampleIndex, setSelectedExampleIndex] = useState(0);
|
|
@@ -67,6 +69,10 @@ export const SidecarExamples = ({
|
|
|
67
69
|
);
|
|
68
70
|
}
|
|
69
71
|
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
onExampleChange?.(exampleValue);
|
|
74
|
+
}, [exampleValue, onExampleChange]);
|
|
75
|
+
|
|
70
76
|
const formattedExample = formatForDisplay(exampleValue);
|
|
71
77
|
const language = getLanguage(effectiveContent?.mediaType);
|
|
72
78
|
|
|
@@ -104,8 +110,13 @@ export const SidecarExamples = ({
|
|
|
104
110
|
)}
|
|
105
111
|
</SidecarBox.Body>
|
|
106
112
|
{hasContent && (
|
|
107
|
-
<SidecarBox.Footer className="
|
|
108
|
-
|
|
113
|
+
<SidecarBox.Footer className="text-xs p-0">
|
|
114
|
+
{description && (
|
|
115
|
+
<div className="text-muted-foreground text-xs border-b px-3 py-2">
|
|
116
|
+
{description}
|
|
117
|
+
</div>
|
|
118
|
+
)}
|
|
119
|
+
<div className="flex items-center gap-2 justify-between min-w-0 px-3 py-2">
|
|
109
120
|
<div className="flex items-center gap-2 min-w-0">
|
|
110
121
|
{content.length > 1 ? (
|
|
111
122
|
<SimpleSelect
|
|
@@ -145,9 +156,6 @@ export const SidecarExamples = ({
|
|
|
145
156
|
</div>
|
|
146
157
|
)}
|
|
147
158
|
</div>
|
|
148
|
-
{description && (
|
|
149
|
-
<div className="text-muted-foreground text-xs">{description}</div>
|
|
150
|
-
)}
|
|
151
159
|
</SidecarBox.Footer>
|
|
152
160
|
)}
|
|
153
161
|
</>
|
|
@@ -86,7 +86,7 @@ export const SchemaPropertyItem = ({
|
|
|
86
86
|
<div className="flex flex-col gap-1 justify-between text-sm">
|
|
87
87
|
<div className="flex gap-2 items-center">
|
|
88
88
|
<code>{name}</code>
|
|
89
|
-
<Badge variant="
|
|
89
|
+
<Badge variant="muted">
|
|
90
90
|
{schema.type === "array" && schema.items.type ? (
|
|
91
91
|
<span>{schema.items.type}[]</span>
|
|
92
92
|
) : Array.isArray(schema.type) ? (
|
package/src/lib/ui/Badge.tsx
CHANGED
|
@@ -12,6 +12,7 @@ const badgeVariants = cva(
|
|
|
12
12
|
"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
|
|
13
13
|
secondary:
|
|
14
14
|
"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
15
|
+
muted: "bg-muted text-muted-foreground ",
|
|
15
16
|
destructive:
|
|
16
17
|
"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
|
|
17
18
|
outline: "text-foreground",
|