zudoku 0.66.3 → 0.66.4

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 (106) hide show
  1. package/dist/lib/authentication/components/SignIn.js +4 -2
  2. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  3. package/dist/lib/authentication/components/SignUp.js +4 -2
  4. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  5. package/dist/lib/oas/graphql/index.js +7 -3
  6. package/dist/lib/oas/graphql/index.js.map +1 -1
  7. package/dist/lib/plugins/api-keys/index.js +2 -3
  8. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  9. package/dist/lib/plugins/openapi/ParamInfos.js +1 -0
  10. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  11. package/dist/lib/plugins/openapi/Sidecar.js +3 -2
  12. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  13. package/dist/lib/plugins/openapi/schema/SchemaView.js +1 -1
  14. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  15. package/dist/lib/plugins/openapi/util/createHttpSnippet.js +24 -1
  16. package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -1
  17. package/dist/lib/ui/Button.js +1 -1
  18. package/dist/lib/ui/Button.js.map +1 -1
  19. package/dist/vite/plugin-markdown-export.js +1 -1
  20. package/dist/vite/plugin-markdown-export.js.map +1 -1
  21. package/dist/vite/prerender/worker.js +3 -0
  22. package/dist/vite/prerender/worker.js.map +1 -1
  23. package/lib/{ActionButton-DUgvSylL.js → ActionButton-BSM2oNHF.js} +2 -2
  24. package/lib/{ActionButton-DUgvSylL.js.map → ActionButton-BSM2oNHF.js.map} +1 -1
  25. package/lib/{Button-CynVW1JV.js → Button-IOAeVaIH.js} +7 -6
  26. package/lib/{Button-CynVW1JV.js.map → Button-IOAeVaIH.js.map} +1 -1
  27. package/lib/{ClaudeLogo-BZslN9XF.js → ClaudeLogo-DgjivS8A.js} +2 -2
  28. package/lib/{ClaudeLogo-BZslN9XF.js.map → ClaudeLogo-DgjivS8A.js.map} +1 -1
  29. package/lib/Drawer-BRMcpfuF.js.map +1 -1
  30. package/lib/{IndexingDialog-B5zCiUKr.js → IndexingDialog-DZWj_3cU.js} +2 -2
  31. package/lib/{IndexingDialog-B5zCiUKr.js.map → IndexingDialog-DZWj_3cU.js.map} +1 -1
  32. package/lib/Input-D-kqEQ5M.js.map +1 -1
  33. package/lib/{MdxPage-B4zZq5aR.js → MdxPage-BL-HbZrv.js} +6 -6
  34. package/lib/{MdxPage-B4zZq5aR.js.map → MdxPage-BL-HbZrv.js.map} +1 -1
  35. package/lib/{OAuthErrorPage-DRY2hlga.js → OAuthErrorPage-DQtg28Go.js} +3 -3
  36. package/lib/{OAuthErrorPage-DRY2hlga.js.map → OAuthErrorPage-DQtg28Go.js.map} +1 -1
  37. package/lib/{OasProvider-lMwTD76Y.js → OasProvider--qcZwrKS.js} +2 -2
  38. package/lib/{OasProvider-lMwTD76Y.js.map → OasProvider--qcZwrKS.js.map} +1 -1
  39. package/lib/{OperationList-Bm76b4vl.js → OperationList-CSJYzxQY.js} +1094 -1079
  40. package/lib/{OperationList-Bm76b4vl.js.map → OperationList-CSJYzxQY.js.map} +1 -1
  41. package/lib/{RouteGuard-DGc32XJV.js → RouteGuard-D0f743SM.js} +2 -2
  42. package/lib/{RouteGuard-DGc32XJV.js.map → RouteGuard-D0f743SM.js.map} +1 -1
  43. package/lib/{SchemaList-DX4FPogg.js → SchemaList-DtyuDrQA.js} +7 -7
  44. package/lib/{SchemaList-DX4FPogg.js.map → SchemaList-DtyuDrQA.js.map} +1 -1
  45. package/lib/{SchemaView-CjXvSRxy.js → SchemaView-G-SVXxAG.js} +111 -110
  46. package/lib/SchemaView-G-SVXxAG.js.map +1 -0
  47. package/lib/SignUp-CDl7bQj3.js +50 -0
  48. package/lib/SignUp-CDl7bQj3.js.map +1 -0
  49. package/lib/{Toc-L1vGGHA1.js → Toc-D_Rj4jVx.js} +2 -2
  50. package/lib/{Toc-L1vGGHA1.js.map → Toc-D_Rj4jVx.js.map} +1 -1
  51. package/lib/ZudokuContext-DNHMZfcP.js.map +1 -1
  52. package/lib/chunk-PVWAREVJ-ClM0m2aJ.js.map +1 -1
  53. package/lib/{circular-BIN_WQ0c.js → circular-BxODTa7z.js} +2 -2
  54. package/lib/{circular-BIN_WQ0c.js.map → circular-BxODTa7z.js.map} +1 -1
  55. package/lib/{createServer-BEl12QFw.js → createServer-BpreIXp6.js} +10 -10
  56. package/lib/{createServer-BEl12QFw.js.map → createServer-BpreIXp6.js.map} +1 -1
  57. package/lib/{errors-CtBbD47A.js → errors-DliW1dED.js} +2 -2
  58. package/lib/{errors-CtBbD47A.js.map → errors-DliW1dED.js.map} +1 -1
  59. package/lib/{firebase-CT38ugg4.js → firebase-D4tbaCYB.js} +12 -12
  60. package/lib/{firebase-CT38ugg4.js.map → firebase-D4tbaCYB.js.map} +1 -1
  61. package/lib/{index-CISwSpdT.js → index-1TbL0HXQ.js} +2 -2
  62. package/lib/{index-CISwSpdT.js.map → index-1TbL0HXQ.js.map} +1 -1
  63. package/lib/{index-jI2Fjpy-.js → index-9MxNUgg4.js} +8 -8
  64. package/lib/{index-jI2Fjpy-.js.map → index-9MxNUgg4.js.map} +1 -1
  65. package/lib/{index-CG2v-T7-.js → index-CboxZOVW.js} +2 -2
  66. package/lib/{index-CG2v-T7-.js.map → index-CboxZOVW.js.map} +1 -1
  67. package/lib/index-CrcNWbel.js.map +1 -1
  68. package/lib/index-DXXZDuSJ.js.map +1 -1
  69. package/lib/index.esm-BYObtETB.js.map +1 -1
  70. package/lib/index.esm-DtzT_KoE.js.map +1 -1
  71. package/lib/{index.esm-Bu35TNgg.js → index.esm-ti5zvZS_.js} +2 -2
  72. package/lib/index.esm-ti5zvZS_.js.map +1 -0
  73. package/lib/jsx-runtime-BzflLqGi.js.map +1 -1
  74. package/lib/ui/ActionButton.js +1 -1
  75. package/lib/ui/Button.js +6 -5
  76. package/lib/ui/Button.js.map +1 -1
  77. package/lib/ui/Carousel.js.map +1 -1
  78. package/lib/zudoku.__internal.js +2 -2
  79. package/lib/zudoku.__internal.js.map +1 -1
  80. package/lib/zudoku.auth-azureb2c.js +3 -3
  81. package/lib/zudoku.auth-clerk.js +1 -1
  82. package/lib/zudoku.auth-firebase.js +3 -3
  83. package/lib/zudoku.auth-openid.js +3 -3
  84. package/lib/zudoku.auth-supabase.js +3 -3
  85. package/lib/zudoku.components.js +1 -1
  86. package/lib/zudoku.plugin-api-catalog.js +2 -2
  87. package/lib/zudoku.plugin-api-keys.js +5 -7
  88. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  89. package/lib/zudoku.plugin-markdown.js +1 -1
  90. package/lib/zudoku.plugin-openapi.js +1 -1
  91. package/lib/zudoku.plugin-search-pagefind.js +3 -3
  92. package/lib/zudoku.router.js.map +1 -1
  93. package/package.json +4 -4
  94. package/src/lib/authentication/components/SignIn.tsx +5 -2
  95. package/src/lib/authentication/components/SignUp.tsx +5 -2
  96. package/src/lib/oas/graphql/index.ts +7 -3
  97. package/src/lib/plugins/api-keys/index.tsx +2 -3
  98. package/src/lib/plugins/openapi/ParamInfos.tsx +1 -0
  99. package/src/lib/plugins/openapi/Sidecar.tsx +3 -2
  100. package/src/lib/plugins/openapi/schema/SchemaView.tsx +6 -4
  101. package/src/lib/plugins/openapi/util/createHttpSnippet.ts +29 -1
  102. package/src/lib/ui/Button.tsx +1 -0
  103. package/lib/SchemaView-CjXvSRxy.js.map +0 -1
  104. package/lib/SignUp-CntxjFGS.js +0 -50
  105. package/lib/SignUp-CntxjFGS.js.map +0 -1
  106. package/lib/index.esm-Bu35TNgg.js.map +0 -1
@@ -2,7 +2,7 @@ import { j as t } from "./jsx-runtime-BzflLqGi.js";
2
2
  import { H as m } from "./index.esm-DtzT_KoE.js";
3
3
  import { createContext as p, use as f } from "react";
4
4
  import { u as g, a as x, m as j, O as v } from "./chunk-PVWAREVJ-ClM0m2aJ.js";
5
- import { B as a } from "./Button-CynVW1JV.js";
5
+ import { B as a } from "./Button-IOAeVaIH.js";
6
6
  import { D as C, a as R, b as D, c as w, d as T, e as b } from "./Dialog-BQciPiHN.js";
7
7
  import { u as k } from "./hook-CHw_R_xu.js";
8
8
  import { a as E } from "./ZudokuContext-DNHMZfcP.js";
@@ -74,4 +74,4 @@ export {
74
74
  G as R,
75
75
  A as S
76
76
  };
77
- //# sourceMappingURL=RouteGuard-DGc32XJV.js.map
77
+ //# sourceMappingURL=RouteGuard-D0f743SM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteGuard-DGc32XJV.js","sources":["../src/lib/components/context/BypassProtectedRoutesContext.ts","../src/lib/core/RouteGuard.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nexport const BypassProtectedRoutesContext = createContext(false);\n","import { Helmet } from \"@zudoku/react-helmet-async\";\nimport { use } from \"react\";\nimport { matchPath, Outlet, useLocation, useNavigate } from \"react-router\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"zudoku/ui/Dialog.js\";\nimport { useAuth } from \"../authentication/hook.js\";\nimport { BypassProtectedRoutesContext } from \"../components/context/BypassProtectedRoutesContext.js\";\nimport { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { ZudokuError } from \"../util/invariant.js\";\nimport { useLatest } from \"../util/useLatest.js\";\n\nexport const SEARCH_PROTECTED_SECTION = \"protected\";\n\nexport const RouteGuard = () => {\n const auth = useAuth();\n const zudoku = useZudoku();\n const navigate = useNavigate();\n const location = useLocation();\n const latestPath = useLatest(location.pathname);\n const shouldBypass = use(BypassProtectedRoutesContext);\n const { protectedRoutes } = zudoku.options;\n\n const authCheckFn =\n !shouldBypass && protectedRoutes\n ? Object.entries(protectedRoutes).find(([path]) =>\n matchPath({ path, end: true }, location.pathname),\n )?.[1]\n : undefined;\n\n const isProtectedRoute = authCheckFn !== undefined;\n const needsToSignIn =\n isProtectedRoute && !authCheckFn({ auth, context: zudoku });\n\n if (isProtectedRoute && !auth.isAuthEnabled) {\n throw new ZudokuError(\"Authentication is not enabled\", {\n title: \"Authentication is not enabled\",\n developerHint:\n \"To use protectedRoutes you need authentication to be enabled\",\n });\n }\n\n if (needsToSignIn && auth.isPending && typeof window !== \"undefined\") {\n return null;\n }\n\n if (needsToSignIn) {\n return (\n <Dialog\n open={true}\n onOpenChange={(open) => {\n if (!open) {\n void navigate(-1);\n }\n }}\n >\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Login to continue</DialogTitle>\n </DialogHeader>\n <DialogDescription>\n Please wait while we log you in.\n </DialogDescription>\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => void navigate(-1)}>\n Cancel\n </Button>\n <div className=\"w-full\"></div>\n <Button\n variant=\"secondary\"\n onClick={() =>\n void zudoku.authentication?.signUp(\n { navigate },\n { redirectTo: latestPath.current },\n )\n }\n >\n Register\n </Button>\n <Button\n onClick={() =>\n void zudoku.authentication?.signIn(\n { navigate },\n { redirectTo: latestPath.current },\n )\n }\n >\n Login{\" \"}\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n }\n\n return (\n <>\n {shouldBypass && isProtectedRoute && (\n <Helmet>\n <meta\n name=\"pagefind\"\n data-pagefind-filter={`section:${SEARCH_PROTECTED_SECTION}`}\n content=\"true\"\n />\n </Helmet>\n )}\n <Outlet />\n </>\n );\n};\n"],"names":["BypassProtectedRoutesContext","createContext","SEARCH_PROTECTED_SECTION","RouteGuard","auth","useAuth","zudoku","useZudoku","navigate","useNavigate","location","useLocation","latestPath","useLatest","shouldBypass","use","protectedRoutes","authCheckFn","path","matchPath","isProtectedRoute","needsToSignIn","ZudokuError","jsx","Dialog","open","DialogContent","DialogHeader","DialogTitle","DialogDescription","DialogFooter","Button","jsxs","Fragment","Helmet","Outlet"],"mappings":";;;;;;;;;;AAEO,MAAMA,IAA+BC,EAAc,EAAK,GCgBlDC,IAA2B,aAE3BC,IAAa,MAAM;AAC9B,QAAMC,IAAOC,EAAA,GACPC,IAASC,EAAA,GACTC,IAAWC,EAAA,GACXC,IAAWC,EAAA,GACXC,IAAaC,EAAUH,EAAS,QAAQ,GACxCI,IAAeC,EAAIf,CAA4B,GAC/C,EAAE,iBAAAgB,MAAoBV,EAAO,SAE7BW,IACJ,CAACH,KAAgBE,IACb,OAAO,QAAQA,CAAe,EAAE;AAAA,IAAK,CAAC,CAACE,CAAI,MACzCC,EAAU,EAAE,MAAAD,GAAM,KAAK,MAAQR,EAAS,QAAQ;AAAA,EAAA,IAC9C,CAAC,IACL,QAEAU,IAAmBH,MAAgB,QACnCI,IACJD,KAAoB,CAACH,EAAY,EAAE,MAAAb,GAAM,SAASE,GAAQ;AAE5D,MAAIc,KAAoB,CAAChB,EAAK;AAC5B,UAAM,IAAIkB,EAAY,iCAAiC;AAAA,MACrD,OAAO;AAAA,MACP,eACE;AAAA,IAAA,CACH;AAGH,SAAID,KAAiBjB,EAAK,aAAa,OAAO,SAAW,MAChD,OAGLiB,IAEAE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc,CAACC,MAAS;AACtB,QAAKA,KACEjB,EAAS,EAAE;AAAA,MAEpB;AAAA,MAEA,iCAACkB,GAAA,EACC,UAAA;AAAA,QAAAH,gBAAAA,MAACI,GAAA,EACC,UAAAJ,gBAAAA,EAAAA,IAACK,GAAA,EAAY,UAAA,oBAAA,CAAiB,GAChC;AAAA,QACAL,gBAAAA,EAAAA,IAACM,KAAkB,UAAA,mCAAA,CAEnB;AAAA,+BACCC,GAAA,EACC,UAAA;AAAA,UAAAP,gBAAAA,EAAAA,IAACQ,GAAA,EAAO,SAAQ,WAAU,SAAS,MAAM,KAAKvB,EAAS,EAAE,GAAG,UAAA,SAAA,CAE5D;AAAA,UACAe,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,SAAA,CAAS;AAAA,UACxBA,gBAAAA,EAAAA;AAAAA,YAACQ;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,MACP,KAAKzB,EAAO,gBAAgB;AAAA,gBAC1B,EAAE,UAAAE,EAAA;AAAA,gBACF,EAAE,YAAYI,EAAW,QAAA;AAAA,cAAQ;AAAA,cAGtC,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGDoB,gBAAAA,EAAAA;AAAAA,YAACD;AAAA,YAAA;AAAA,cACC,SAAS,MACP,KAAKzB,EAAO,gBAAgB;AAAA,gBAC1B,EAAE,UAAAE,EAAA;AAAA,gBACF,EAAE,YAAYI,EAAW,QAAA;AAAA,cAAQ;AAAA,cAGtC,UAAA;AAAA,gBAAA;AAAA,gBACO;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACR,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,IAMJoB,gBAAAA,EAAAA,KAAAC,YAAA,EACG,UAAA;AAAA,IAAAnB,KAAgBM,2BACdc,GAAA,EACC,UAAAX,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,wBAAsB,WAAWrB,CAAwB;AAAA,QACzD,SAAQ;AAAA,MAAA;AAAA,IAAA,GAEZ;AAAA,0BAEDiC,GAAA,CAAA,CAAO;AAAA,EAAA,GACV;AAEJ;"}
1
+ {"version":3,"file":"RouteGuard-D0f743SM.js","sources":["../src/lib/components/context/BypassProtectedRoutesContext.ts","../src/lib/core/RouteGuard.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nexport const BypassProtectedRoutesContext = createContext(false);\n","import { Helmet } from \"@zudoku/react-helmet-async\";\nimport { use } from \"react\";\nimport { matchPath, Outlet, useLocation, useNavigate } from \"react-router\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"zudoku/ui/Dialog.js\";\nimport { useAuth } from \"../authentication/hook.js\";\nimport { BypassProtectedRoutesContext } from \"../components/context/BypassProtectedRoutesContext.js\";\nimport { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { ZudokuError } from \"../util/invariant.js\";\nimport { useLatest } from \"../util/useLatest.js\";\n\nexport const SEARCH_PROTECTED_SECTION = \"protected\";\n\nexport const RouteGuard = () => {\n const auth = useAuth();\n const zudoku = useZudoku();\n const navigate = useNavigate();\n const location = useLocation();\n const latestPath = useLatest(location.pathname);\n const shouldBypass = use(BypassProtectedRoutesContext);\n const { protectedRoutes } = zudoku.options;\n\n const authCheckFn =\n !shouldBypass && protectedRoutes\n ? Object.entries(protectedRoutes).find(([path]) =>\n matchPath({ path, end: true }, location.pathname),\n )?.[1]\n : undefined;\n\n const isProtectedRoute = authCheckFn !== undefined;\n const needsToSignIn =\n isProtectedRoute && !authCheckFn({ auth, context: zudoku });\n\n if (isProtectedRoute && !auth.isAuthEnabled) {\n throw new ZudokuError(\"Authentication is not enabled\", {\n title: \"Authentication is not enabled\",\n developerHint:\n \"To use protectedRoutes you need authentication to be enabled\",\n });\n }\n\n if (needsToSignIn && auth.isPending && typeof window !== \"undefined\") {\n return null;\n }\n\n if (needsToSignIn) {\n return (\n <Dialog\n open={true}\n onOpenChange={(open) => {\n if (!open) {\n void navigate(-1);\n }\n }}\n >\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Login to continue</DialogTitle>\n </DialogHeader>\n <DialogDescription>\n Please wait while we log you in.\n </DialogDescription>\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => void navigate(-1)}>\n Cancel\n </Button>\n <div className=\"w-full\"></div>\n <Button\n variant=\"secondary\"\n onClick={() =>\n void zudoku.authentication?.signUp(\n { navigate },\n { redirectTo: latestPath.current },\n )\n }\n >\n Register\n </Button>\n <Button\n onClick={() =>\n void zudoku.authentication?.signIn(\n { navigate },\n { redirectTo: latestPath.current },\n )\n }\n >\n Login{\" \"}\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n }\n\n return (\n <>\n {shouldBypass && isProtectedRoute && (\n <Helmet>\n <meta\n name=\"pagefind\"\n data-pagefind-filter={`section:${SEARCH_PROTECTED_SECTION}`}\n content=\"true\"\n />\n </Helmet>\n )}\n <Outlet />\n </>\n );\n};\n"],"names":["BypassProtectedRoutesContext","createContext","SEARCH_PROTECTED_SECTION","RouteGuard","auth","useAuth","zudoku","useZudoku","navigate","useNavigate","location","useLocation","latestPath","useLatest","shouldBypass","use","protectedRoutes","authCheckFn","path","matchPath","isProtectedRoute","needsToSignIn","ZudokuError","jsx","Dialog","open","DialogContent","DialogHeader","DialogTitle","DialogDescription","DialogFooter","Button","jsxs","Fragment","Helmet","Outlet"],"mappings":";;;;;;;;;;AAEO,MAAMA,IAA+BC,EAAc,EAAK,GCgBlDC,IAA2B,aAE3BC,IAAa,MAAM;AAC9B,QAAMC,IAAOC,EAAA,GACPC,IAASC,EAAA,GACTC,IAAWC,EAAA,GACXC,IAAWC,EAAA,GACXC,IAAaC,EAAUH,EAAS,QAAQ,GACxCI,IAAeC,EAAIf,CAA4B,GAC/C,EAAE,iBAAAgB,MAAoBV,EAAO,SAE7BW,IACJ,CAACH,KAAgBE,IACb,OAAO,QAAQA,CAAe,EAAE;AAAA,IAAK,CAAC,CAACE,CAAI,MACzCC,EAAU,EAAE,MAAAD,GAAM,KAAK,MAAQR,EAAS,QAAQ;AAAA,EAAA,IAC9C,CAAC,IACL,QAEAU,IAAmBH,MAAgB,QACnCI,IACJD,KAAoB,CAACH,EAAY,EAAE,MAAAb,GAAM,SAASE,GAAQ;AAE5D,MAAIc,KAAoB,CAAChB,EAAK;AAC5B,UAAM,IAAIkB,EAAY,iCAAiC;AAAA,MACrD,OAAO;AAAA,MACP,eACE;AAAA,IAAA,CACH;AAGH,SAAID,KAAiBjB,EAAK,aAAa,OAAO,SAAW,MAChD,OAGLiB,IAEAE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc,CAACC,MAAS;AACtB,QAAKA,KACEjB,EAAS,EAAE;AAAA,MAEpB;AAAA,MAEA,iCAACkB,GAAA,EACC,UAAA;AAAA,QAAAH,gBAAAA,MAACI,GAAA,EACC,UAAAJ,gBAAAA,EAAAA,IAACK,GAAA,EAAY,UAAA,oBAAA,CAAiB,GAChC;AAAA,QACAL,gBAAAA,EAAAA,IAACM,KAAkB,UAAA,mCAAA,CAEnB;AAAA,+BACCC,GAAA,EACC,UAAA;AAAA,UAAAP,gBAAAA,EAAAA,IAACQ,GAAA,EAAO,SAAQ,WAAU,SAAS,MAAM,KAAKvB,EAAS,EAAE,GAAG,UAAA,SAAA,CAE5D;AAAA,UACAe,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,SAAA,CAAS;AAAA,UACxBA,gBAAAA,EAAAA;AAAAA,YAACQ;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,MACP,KAAKzB,EAAO,gBAAgB;AAAA,gBAC1B,EAAE,UAAAE,EAAA;AAAA,gBACF,EAAE,YAAYI,EAAW,QAAA;AAAA,cAAQ;AAAA,cAGtC,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGDoB,gBAAAA,EAAAA;AAAAA,YAACD;AAAA,YAAA;AAAA,cACC,SAAS,MACP,KAAKzB,EAAO,gBAAgB;AAAA,gBAC1B,EAAE,UAAAE,EAAA;AAAA,gBACF,EAAE,YAAYI,EAAW,QAAA;AAAA,cAAQ;AAAA,cAGtC,UAAA;AAAA,gBAAA;AAAA,gBACO;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACR,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,IAMJoB,gBAAAA,EAAAA,KAAAC,YAAA,EACG,UAAA;AAAA,IAAAnB,KAAgBM,2BACdc,GAAA,EACC,UAAAX,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,wBAAsB,WAAWrB,CAAwB;AAAA,QACzD,SAAQ;AAAA,MAAA;AAAA,IAAA,GAEZ;AAAA,0BAEDiC,GAAA,CAAA,CAAO;AAAA,EAAA,GACV;AAEJ;"}
@@ -1,14 +1,14 @@
1
1
  import { j as e } from "./jsx-runtime-BzflLqGi.js";
2
- import { s as o } from "./index-CISwSpdT.js";
2
+ import { s as o } from "./index-1TbL0HXQ.js";
3
3
  import { e as j } from "./ZudokuContext-DNHMZfcP.js";
4
4
  import { H as c } from "./index.esm-DtzT_KoE.js";
5
5
  import { ChevronsUpDownIcon as y, ChevronsDownUpIcon as N, ChevronRightIcon as b } from "lucide-react";
6
- import { B as v } from "./Button-CynVW1JV.js";
7
- import { u as C, a as w, C as m, b as l, c as d, d as S } from "./index-jI2Fjpy-.js";
6
+ import { B as v } from "./Button-IOAeVaIH.js";
7
+ import { u as C, a as w, C as m, b as l, c as d, d as S } from "./index-9MxNUgg4.js";
8
8
  import { C as A } from "./CategoryHeading-DhmodDcq.js";
9
- import { H as p, M as H } from "./index-CG2v-T7-.js";
10
- import { T as I } from "./Toc-L1vGGHA1.js";
11
- import { P as z, S as M } from "./SchemaView-CjXvSRxy.js";
9
+ import { H as p, M as H } from "./index-CboxZOVW.js";
10
+ import { T as I } from "./Toc-D_Rj4jVx.js";
11
+ import { P as z, S as M } from "./SchemaView-G-SVXxAG.js";
12
12
  const P = S(
13
13
  /* GraphQL */
14
14
  `
@@ -148,4 +148,4 @@ function R() {
148
148
  export {
149
149
  R as SchemaList
150
150
  };
151
- //# sourceMappingURL=SchemaList-DX4FPogg.js.map
151
+ //# sourceMappingURL=SchemaList-DtyuDrQA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaList-DX4FPogg.js","sources":["../src/lib/plugins/openapi/SchemaList.tsx"],"sourcesContent":["import slugify from \"@sindresorhus/slugify\";\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport {\n ChevronRightIcon,\n ChevronsDownUpIcon,\n ChevronsUpDownIcon,\n} from \"lucide-react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"zudoku/ui/Collapsible.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport { PagefindSearchMeta } from \"../../components/PagefindSearchMeta.js\";\nimport { useCreateQuery } from \"./client/useCreateQuery.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { graphql } from \"./graphql/gql.js\";\nimport { SchemaView } from \"./schema/SchemaView.js\";\n\nconst GET_SCHEMAS = graphql(/* GraphQL */ `\n query GetSchemas($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n title\n description\n summary\n components {\n schemas {\n name\n schema\n extensions\n }\n }\n }\n }\n`);\n\nexport function SchemaList() {\n const { input, type, versions, version, options } = useOasConfig();\n const schemasQuery = useCreateQuery(GET_SCHEMAS, {\n input,\n type,\n });\n const { data } = useSuspenseQuery(schemasQuery);\n\n const schemas = data.schema.components?.schemas ?? [];\n const hasMultipleVersions = Object.entries(versions).length > 1;\n const showVersions =\n options?.showVersionSelect === \"always\" ||\n (hasMultipleVersions && options?.showVersionSelect !== \"hide\");\n\n if (!schemas.length) {\n return (\n <div>\n <Helmet>\n <title>Schemas {showVersions ? version : \"\"}</title>\n <meta name=\"description\" content=\"List of schemas used by the API.\" />\n </Helmet>\n No schemas found\n </div>\n );\n }\n\n return (\n <div\n className=\"grid grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:openapi\"\n data-pagefind-meta=\"section:openapi\"\n >\n <PagefindSearchMeta name=\"category\">\n {data.schema.title}\n </PagefindSearchMeta>\n <Helmet>\n <title>Schemas {showVersions ? version : \"\"}</title>\n <meta name=\"description\" content=\"List of schemas used by the API.\" />\n </Helmet>\n <div className=\"pt-(--padding-content-top) pb-(--padding-content-bottom)\">\n <Collapsible className=\"w-full\">\n <div className=\"flex flex-col gap-y-4 sm:flex-row justify-around items-start sm:items-end\">\n <div className=\"flex-1\">\n <CategoryHeading>{data.schema.title}</CategoryHeading>\n <Heading\n level={1}\n id=\"schemas\"\n registerNavigationAnchor\n className=\"mb-0\"\n >\n Schemas\n {showVersions && (\n <span className=\"text-xl text-muted-foreground ms-1.5\">\n ({version})\n </span>\n )}\n </Heading>\n </div>\n {data.schema.description && (\n <CollapsibleTrigger className=\"flex items-center gap-1 text-sm font-medium text-muted-foreground group\">\n <span>API information</span>\n <ChevronsUpDownIcon\n className=\"group-data-[state=open]:hidden translate-y-px\"\n size={14}\n />\n <ChevronsDownUpIcon\n className=\"group-data-[state=closed]:hidden translate-y-px\"\n size={13}\n />\n </CollapsibleTrigger>\n )}\n </div>\n {data.schema.description && (\n <CollapsibleContent className=\"CollapsibleContent\">\n <div className=\"mt-4 max-w-full border rounded-sm bg-muted/25\">\n <Markdown\n className=\"max-w-full prose-img:max-w-prose border-border p-3 lg:p-5\"\n content={data.schema.description}\n />\n </div>\n </CollapsibleContent>\n )}\n </Collapsible>\n <hr className=\"my-8\" />\n <div className=\"flex flex-col gap-y-5\">\n {schemas.map((schema) => (\n <Collapsible key={schema.name} className=\"group\" defaultOpen>\n <Heading\n registerNavigationAnchor\n level={2}\n className=\"flex items-center gap-1 justify-between w-fit\"\n id={slugify(schema.name)}\n >\n {schema.name}{\" \"}\n <CollapsibleTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"size-6\">\n <ChevronRightIcon\n size={16}\n className=\"group-data-[state=open]:rotate-90 transition cursor-pointer\"\n />\n </Button>\n </CollapsibleTrigger>\n </Heading>\n <CollapsibleContent className=\"mt-4 CollapsibleContent\">\n <SchemaView schema={schema.schema} />\n </CollapsibleContent>\n </Collapsible>\n ))}\n </div>\n </div>\n <Toc\n entries={schemas.map((schema) => ({\n id: slugify(schema.name),\n value: schema.name,\n depth: 1,\n }))}\n />\n </div>\n );\n}\n"],"names":["GET_SCHEMAS","graphql","SchemaList","input","type","versions","version","options","useOasConfig","schemasQuery","useCreateQuery","data","useSuspenseQuery","schemas","hasMultipleVersions","showVersions","jsxs","jsx","PagefindSearchMeta","Helmet","Collapsible","CategoryHeading","Heading","CollapsibleTrigger","ChevronsUpDownIcon","ChevronsDownUpIcon","CollapsibleContent","Markdown","schema","slugify","Button","ChevronRightIcon","SchemaView","Toc"],"mappings":"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"}
1
+ {"version":3,"file":"SchemaList-DtyuDrQA.js","sources":["../src/lib/plugins/openapi/SchemaList.tsx"],"sourcesContent":["import slugify from \"@sindresorhus/slugify\";\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport {\n ChevronRightIcon,\n ChevronsDownUpIcon,\n ChevronsUpDownIcon,\n} from \"lucide-react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"zudoku/ui/Collapsible.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport { PagefindSearchMeta } from \"../../components/PagefindSearchMeta.js\";\nimport { useCreateQuery } from \"./client/useCreateQuery.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { graphql } from \"./graphql/gql.js\";\nimport { SchemaView } from \"./schema/SchemaView.js\";\n\nconst GET_SCHEMAS = graphql(/* GraphQL */ `\n query GetSchemas($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n title\n description\n summary\n components {\n schemas {\n name\n schema\n extensions\n }\n }\n }\n }\n`);\n\nexport function SchemaList() {\n const { input, type, versions, version, options } = useOasConfig();\n const schemasQuery = useCreateQuery(GET_SCHEMAS, {\n input,\n type,\n });\n const { data } = useSuspenseQuery(schemasQuery);\n\n const schemas = data.schema.components?.schemas ?? [];\n const hasMultipleVersions = Object.entries(versions).length > 1;\n const showVersions =\n options?.showVersionSelect === \"always\" ||\n (hasMultipleVersions && options?.showVersionSelect !== \"hide\");\n\n if (!schemas.length) {\n return (\n <div>\n <Helmet>\n <title>Schemas {showVersions ? version : \"\"}</title>\n <meta name=\"description\" content=\"List of schemas used by the API.\" />\n </Helmet>\n No schemas found\n </div>\n );\n }\n\n return (\n <div\n className=\"grid grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:openapi\"\n data-pagefind-meta=\"section:openapi\"\n >\n <PagefindSearchMeta name=\"category\">\n {data.schema.title}\n </PagefindSearchMeta>\n <Helmet>\n <title>Schemas {showVersions ? version : \"\"}</title>\n <meta name=\"description\" content=\"List of schemas used by the API.\" />\n </Helmet>\n <div className=\"pt-(--padding-content-top) pb-(--padding-content-bottom)\">\n <Collapsible className=\"w-full\">\n <div className=\"flex flex-col gap-y-4 sm:flex-row justify-around items-start sm:items-end\">\n <div className=\"flex-1\">\n <CategoryHeading>{data.schema.title}</CategoryHeading>\n <Heading\n level={1}\n id=\"schemas\"\n registerNavigationAnchor\n className=\"mb-0\"\n >\n Schemas\n {showVersions && (\n <span className=\"text-xl text-muted-foreground ms-1.5\">\n ({version})\n </span>\n )}\n </Heading>\n </div>\n {data.schema.description && (\n <CollapsibleTrigger className=\"flex items-center gap-1 text-sm font-medium text-muted-foreground group\">\n <span>API information</span>\n <ChevronsUpDownIcon\n className=\"group-data-[state=open]:hidden translate-y-px\"\n size={14}\n />\n <ChevronsDownUpIcon\n className=\"group-data-[state=closed]:hidden translate-y-px\"\n size={13}\n />\n </CollapsibleTrigger>\n )}\n </div>\n {data.schema.description && (\n <CollapsibleContent className=\"CollapsibleContent\">\n <div className=\"mt-4 max-w-full border rounded-sm bg-muted/25\">\n <Markdown\n className=\"max-w-full prose-img:max-w-prose border-border p-3 lg:p-5\"\n content={data.schema.description}\n />\n </div>\n </CollapsibleContent>\n )}\n </Collapsible>\n <hr className=\"my-8\" />\n <div className=\"flex flex-col gap-y-5\">\n {schemas.map((schema) => (\n <Collapsible key={schema.name} className=\"group\" defaultOpen>\n <Heading\n registerNavigationAnchor\n level={2}\n className=\"flex items-center gap-1 justify-between w-fit\"\n id={slugify(schema.name)}\n >\n {schema.name}{\" \"}\n <CollapsibleTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"size-6\">\n <ChevronRightIcon\n size={16}\n className=\"group-data-[state=open]:rotate-90 transition cursor-pointer\"\n />\n </Button>\n </CollapsibleTrigger>\n </Heading>\n <CollapsibleContent className=\"mt-4 CollapsibleContent\">\n <SchemaView schema={schema.schema} />\n </CollapsibleContent>\n </Collapsible>\n ))}\n </div>\n </div>\n <Toc\n entries={schemas.map((schema) => ({\n id: slugify(schema.name),\n value: schema.name,\n depth: 1,\n }))}\n />\n </div>\n );\n}\n"],"names":["GET_SCHEMAS","graphql","SchemaList","input","type","versions","version","options","useOasConfig","schemasQuery","useCreateQuery","data","useSuspenseQuery","schemas","hasMultipleVersions","showVersions","jsxs","jsx","PagefindSearchMeta","Helmet","Collapsible","CategoryHeading","Heading","CollapsibleTrigger","ChevronsUpDownIcon","ChevronsDownUpIcon","CollapsibleContent","Markdown","schema","slugify","Button","ChevronRightIcon","SchemaView","Toc"],"mappings":"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"}
@@ -1,40 +1,40 @@
1
1
  import { j as t } from "./jsx-runtime-BzflLqGi.js";
2
2
  import { ChevronUpIcon as T, ChevronDownIcon as J, ChevronsLeftRightIcon as U, MinusIcon as _, PlusIcon as G, RefreshCcwDotIcon as K, InfoIcon as W } from "lucide-react";
3
3
  import { useState as f, isValidElement as Q, Fragment as C } from "react";
4
- import { I as P, a as g, b as $, c as X, F as N, d as h, e as S, f as Y, g as Z, h as H, i as ee } from "./Frame-DxlznfVd.js";
5
- import { b as u, I as E, M as V } from "./index-CG2v-T7-.js";
6
- import { B as te } from "./Button-CynVW1JV.js";
4
+ import { I as P, a as g, b as $, c as X, F as N, d as b, e as S, f as Y, g as Z, h as H, i as ee } from "./Frame-DxlznfVd.js";
5
+ import { b as u, I as E, M as V } from "./index-CboxZOVW.js";
6
+ import { B as te } from "./Button-IOAeVaIH.js";
7
7
  import { c as j } from "./cn-dYga0KKN.js";
8
8
  import * as F from "@radix-ui/react-collapsible";
9
- import { Button as se } from "./ui/Button.js";
10
- import { Badge as re } from "./ui/Badge.js";
9
+ import { Button as re } from "./ui/Button.js";
10
+ import { Badge as se } from "./ui/Badge.js";
11
11
  import { Frame as ne, FramePanel as ie } from "./ui/Frame.js";
12
- import { C as oe } from "./circular-BIN_WQ0c.js";
12
+ import { C as oe } from "./circular-BxODTa7z.js";
13
13
  const Se = ({
14
14
  name: e,
15
- children: s
16
- }) => /* @__PURE__ */ t.jsx("span", { "data-pagefind-meta": e, className: "sr-only", children: s }), le = (e, s) => e.reduce(
17
- (r, i) => {
18
- const o = s(i);
19
- return r[o] || (r[o] = []), r[o].push(i), r;
15
+ children: r
16
+ }) => /* @__PURE__ */ t.jsx("span", { "data-pagefind-meta": e, className: "sr-only", children: r }), le = (e, r) => e.reduce(
17
+ (s, i) => {
18
+ const o = r(i);
19
+ return s[o] || (s[o] = []), s[o].push(i), s;
20
20
  },
21
21
  {}
22
22
  ), R = ({
23
23
  schema: e,
24
- hideDescription: s = !1
24
+ hideDescription: r = !1
25
25
  }) => /* @__PURE__ */ t.jsx("div", { className: "flex flex-col gap-1", children: /* @__PURE__ */ t.jsxs("div", { children: [
26
26
  /* @__PURE__ */ t.jsx("span", { className: "text-muted-foreground", children: "Const value: " }),
27
27
  /* @__PURE__ */ t.jsx(u, { className: "border rounded px-1 font-mono", children: e.const }),
28
- !s && e.description && /* @__PURE__ */ t.jsx("div", { className: "text-muted-foreground", children: e.description })
29
- ] }) }), b = ({
28
+ !r && e.description && /* @__PURE__ */ t.jsx("div", { className: "text-muted-foreground", children: e.description })
29
+ ] }) }), h = ({
30
30
  values: e,
31
- className: s,
32
- maxVisibleValues: r = 8
31
+ className: r,
32
+ maxVisibleValues: s = 8
33
33
  }) => {
34
34
  const [i, o] = f(!1);
35
35
  if (!e.length) return null;
36
- const n = e.length > r, l = n && !i ? e.slice(0, r) : e;
37
- return /* @__PURE__ */ t.jsxs("div", { className: j("flex flex-wrap gap-1.5", s), children: [
36
+ const n = e.length > s, l = n && !i ? e.slice(0, s) : e;
37
+ return /* @__PURE__ */ t.jsxs("div", { className: j("flex flex-wrap gap-1.5", r), children: [
38
38
  /* @__PURE__ */ t.jsx("span", { className: "text-muted-foreground", children: "Enum values:" }),
39
39
  l.map((d) => /* @__PURE__ */ t.jsx("div", { children: /* @__PURE__ */ t.jsx(u, { className: "border rounded-sm px-1 font-mono", children: d }) }, d)),
40
40
  n && /* @__PURE__ */ t.jsx(
@@ -51,7 +51,7 @@ const Se = ({
51
51
  /* @__PURE__ */ t.jsx(J, { size: 12 }),
52
52
  /* @__PURE__ */ t.jsxs("span", { className: "text-muted-foreground", children: [
53
53
  "show ",
54
- e.length - r,
54
+ e.length - s,
55
55
  " more"
56
56
  ] })
57
57
  ] })
@@ -59,16 +59,16 @@ const Se = ({
59
59
  )
60
60
  ] });
61
61
  }, ae = ({ pattern: e }) => {
62
- const [s, r] = f(!1), i = e.length > 20, o = i ? `${e.slice(0, 20)}…` : e;
62
+ const [r, s] = f(!1), i = e.length > 20, o = i ? `${e.slice(0, 20)}…` : e;
63
63
  return /* @__PURE__ */ t.jsxs(
64
64
  E,
65
65
  {
66
66
  className: j("text-xs", i && "cursor-pointer"),
67
- onClick: () => r(!s),
67
+ onClick: () => s(!r),
68
68
  selectOnClick: !1,
69
69
  children: [
70
- s ? e : o,
71
- i && /* @__PURE__ */ t.jsx("button", { type: "button", className: "p-1 translate-y-[2px]", children: !s && /* @__PURE__ */ t.jsx(U, { size: 12 }) })
70
+ r ? e : o,
71
+ i && /* @__PURE__ */ t.jsx("button", { type: "button", className: "p-1 translate-y-[2px]", children: !r && /* @__PURE__ */ t.jsx(U, { size: 12 }) })
72
72
  ]
73
73
  }
74
74
  );
@@ -77,6 +77,7 @@ const Se = ({
77
77
  e.enum && "enum",
78
78
  e.const && "const",
79
79
  e.format,
80
+ e.type === "array" && e.items?.contentMediaType,
80
81
  e.minimum !== void 0 && `min: ${e.minimum}`,
81
82
  e.maximum !== void 0 && `max: ${e.maximum}`,
82
83
  e.minLength !== void 0 && `minLength: ${e.minLength}`,
@@ -95,13 +96,13 @@ const Se = ({
95
96
  ] })
96
97
  ] : [], v = ({
97
98
  schema: e,
98
- extraItems: s = [],
99
- className: r
99
+ extraItems: r = [],
100
+ className: s
100
101
  }) => {
101
- const i = [...de(e), ...s].flatMap(
102
+ const i = [...de(e), ...r].flatMap(
102
103
  (o) => typeof o == "string" || Q(o) ? o : []
103
104
  );
104
- return /* @__PURE__ */ t.jsx("span", { className: r, children: i.map((o, n) => (
105
+ return /* @__PURE__ */ t.jsx("span", { className: s, children: i.map((o, n) => (
105
106
  // biome-ignore lint/suspicious/noArrayIndexKey: index should be stable
106
107
  /* @__PURE__ */ t.jsxs("span", { className: "text-muted-foreground", children: [
107
108
  o,
@@ -111,19 +112,19 @@ const Se = ({
111
112
  }, I = ({
112
113
  schema: e
113
114
  }) => {
114
- const s = e.examples?.at(0), r = e.default;
115
- return s === void 0 && r === void 0 ? null : /* @__PURE__ */ t.jsxs("div", { className: "flex flex-col gap-1", children: [
116
- s !== void 0 && /* @__PURE__ */ t.jsxs("div", { children: [
115
+ const r = e.examples?.at(0), s = e.default;
116
+ return r === void 0 && s === void 0 ? null : /* @__PURE__ */ t.jsxs("div", { className: "flex flex-col gap-1", children: [
117
+ r !== void 0 && /* @__PURE__ */ t.jsxs("div", { children: [
117
118
  /* @__PURE__ */ t.jsx("span", { className: "text-muted-foreground", children: "Example: " }),
118
- /* @__PURE__ */ t.jsx(u, { className: "border rounded-sm px-1 font-mono", children: typeof s == "object" || typeof s == "boolean" ? JSON.stringify(s) : s })
119
+ /* @__PURE__ */ t.jsx(u, { className: "border rounded-sm px-1 font-mono", children: typeof r == "object" || typeof r == "boolean" ? JSON.stringify(r) : r })
119
120
  ] }),
120
- r !== void 0 && /* @__PURE__ */ t.jsxs("div", { children: [
121
+ s !== void 0 && /* @__PURE__ */ t.jsxs("div", { children: [
121
122
  /* @__PURE__ */ t.jsx("span", { className: "text-muted-foreground", children: "Default: " }),
122
- /* @__PURE__ */ t.jsx(u, { className: "border rounded-sm px-1 font-mono", children: typeof r == "object" || typeof r == "boolean" ? JSON.stringify(r) : r })
123
+ /* @__PURE__ */ t.jsx(u, { className: "border rounded-sm px-1 font-mono", children: typeof s == "object" || typeof s == "boolean" ? JSON.stringify(s) : s })
123
124
  ] })
124
125
  ] });
125
- }, B = (e) => typeof e == "string" && ["string", "number", "boolean", "integer", "null"].includes(e) || Array.isArray(e) && e.every(B), m = (e) => e.type === "array" || // schema.type might be an array of types, so we need to check if "array" is one of them
126
- Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "object" && Object.keys(e.properties ?? {}).length > 0 || e.type === "array" && typeof e.items == "object" && (!e.items.type || e.items.type === "object")), M = (e) => typeof e == "string" && e.startsWith(oe), w = (e) => m(e) && "items" in e && M(e.items), ce = (e) => typeof e == "string" ? e.split(":")[1] : void 0, q = ({ circularProp: e }) => /* @__PURE__ */ t.jsxs(
126
+ }, M = (e) => typeof e == "string" && ["string", "number", "boolean", "integer", "null"].includes(e) || Array.isArray(e) && e.every(M), m = (e) => e.type === "array" || // schema.type might be an array of types, so we need to check if "array" is one of them
127
+ Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "object" && Object.keys(e.properties ?? {}).length > 0 || e.type === "array" && typeof e.items == "object" && (!e.items.type || e.items.type === "object")), B = (e) => typeof e == "string" && e.startsWith(oe), w = (e) => m(e) && "items" in e && B(e.items), ce = (e) => typeof e == "string" ? e.split(":")[1] : void 0, q = ({ circularProp: e }) => /* @__PURE__ */ t.jsxs(
127
128
  E,
128
129
  {
129
130
  className: "inline-flex items-center gap-1.5 text-xs translate-y-0.5",
@@ -135,13 +136,13 @@ Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "
135
136
  }
136
137
  ), pe = ({
137
138
  name: e,
138
- schema: s,
139
- group: r,
139
+ schema: r,
140
+ group: s,
140
141
  defaultOpen: i = !1,
141
142
  showCollapseButton: o = !0
142
143
  }) => {
143
144
  const [n, l] = f(i);
144
- if (M(s))
145
+ if (B(r))
145
146
  return /* @__PURE__ */ t.jsx(P, { children: /* @__PURE__ */ t.jsxs(g, { className: "gap-y-2", children: [
146
147
  /* @__PURE__ */ t.jsxs("div", { children: [
147
148
  /* @__PURE__ */ t.jsx($, { className: "inline me-2", children: /* @__PURE__ */ t.jsx("code", { children: e }) }),
@@ -149,17 +150,17 @@ Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "
149
150
  v,
150
151
  {
151
152
  className: "inline",
152
- schema: s,
153
+ schema: r,
153
154
  extraItems: [
154
- r !== "optional" && /* @__PURE__ */ t.jsx("span", { className: "text-primary", children: "required" }),
155
+ s !== "optional" && /* @__PURE__ */ t.jsx("span", { className: "text-primary", children: "required" }),
155
156
  /* @__PURE__ */ t.jsx(q, {}, "circular-ref")
156
157
  ]
157
158
  }
158
159
  )
159
160
  ] }),
160
- /* @__PURE__ */ t.jsx(I, { schema: s })
161
+ /* @__PURE__ */ t.jsx(I, { schema: r })
161
162
  ] }) });
162
- const d = !!((s.allOf || s.anyOf || s.oneOf || k(s) || m(s) && "items" in s && k(s.items) || s.additionalProperties) && !w(s)), p = !!(s.description || "items" in s && s.items?.enum || s.const || s.enum || s.example !== void 0 || s.default !== void 0);
163
+ const d = !!((r.allOf || r.anyOf || r.oneOf || k(r) || m(r) && "items" in r && k(r.items) || r.additionalProperties) && !w(r)), c = !!(r.description || "items" in r && r.items?.enum || r.const || r.enum || r.example !== void 0 || r.default !== void 0);
163
164
  return /* @__PURE__ */ t.jsxs(P, { children: [
164
165
  /* @__PURE__ */ t.jsxs(g, { className: "gap-y-2", children: [
165
166
  /* @__PURE__ */ t.jsxs("div", { children: [
@@ -176,29 +177,29 @@ Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "
176
177
  v,
177
178
  {
178
179
  className: "inline",
179
- schema: s,
180
+ schema: r,
180
181
  extraItems: [
181
- r !== "optional" && /* @__PURE__ */ t.jsx("span", { className: "text-primary", children: "required" }),
182
- w(s) && /* @__PURE__ */ t.jsx(
182
+ s !== "optional" && /* @__PURE__ */ t.jsx("span", { className: "text-primary", children: "required" }),
183
+ w(r) && /* @__PURE__ */ t.jsx(
183
184
  q,
184
185
  {
185
- circularProp: ce(s.items)
186
+ circularProp: ce(r.items)
186
187
  }
187
188
  )
188
189
  ]
189
190
  }
190
191
  )
191
192
  ] }),
192
- p && /* @__PURE__ */ t.jsxs("div", { className: "flex flex-col gap-1.5", children: [
193
- s.description && /* @__PURE__ */ t.jsx(V, { className: "prose-sm", content: s.description }),
194
- "items" in s && s.items?.enum && /* @__PURE__ */ t.jsx(b, { values: s.items.enum }),
195
- s.const && /* @__PURE__ */ t.jsx(R, { schema: s, hideDescription: !0 }),
196
- s.enum && /* @__PURE__ */ t.jsx(b, { values: s.enum }),
197
- /* @__PURE__ */ t.jsx(I, { schema: s })
193
+ c && /* @__PURE__ */ t.jsxs("div", { className: "flex flex-col gap-1.5", children: [
194
+ r.description && /* @__PURE__ */ t.jsx(V, { className: "prose-sm", content: r.description }),
195
+ "items" in r && r.items?.enum && /* @__PURE__ */ t.jsx(h, { values: r.items.enum }),
196
+ r.const && /* @__PURE__ */ t.jsx(R, { schema: r, hideDescription: !0 }),
197
+ r.enum && /* @__PURE__ */ t.jsx(h, { values: r.enum }),
198
+ /* @__PURE__ */ t.jsx(I, { schema: r })
198
199
  ] })
199
200
  ] }),
200
201
  d && o && /* @__PURE__ */ t.jsx(X, { className: "self-start", children: /* @__PURE__ */ t.jsx(
201
- se,
202
+ re,
202
203
  {
203
204
  variant: "ghost",
204
205
  size: "icon",
@@ -215,54 +216,54 @@ Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "
215
216
  open: n,
216
217
  onOpenChange: l,
217
218
  className: j("w-full", !n && "contents"),
218
- children: /* @__PURE__ */ t.jsx(F.Content, { asChild: !0, children: /* @__PURE__ */ t.jsx(g, { children: s.anyOf || s.oneOf || s.type === "object" ? /* @__PURE__ */ t.jsx(x, { schema: s }) : m(s) && "items" in s ? /* @__PURE__ */ t.jsx(x, { schema: s.items }) : null }) })
219
+ children: /* @__PURE__ */ t.jsx(F.Content, { asChild: !0, children: /* @__PURE__ */ t.jsx(g, { children: r.anyOf || r.oneOf || r.type === "object" ? /* @__PURE__ */ t.jsx(x, { schema: r }) : m(r) && "items" in r ? /* @__PURE__ */ t.jsx(x, { schema: r.items }) : null }) })
219
220
  }
220
221
  )
221
222
  ] });
222
223
  }, z = (e) => {
223
- const s = e.oneOf ?? e.anyOf ?? [];
224
- return e.properties && Object.keys(e.properties).length > 0 ? s.map((r) => !r.properties && !r.type && !r.oneOf && !r.anyOf ? {
225
- ...r,
224
+ const r = e.oneOf ?? e.anyOf ?? [];
225
+ return e.properties && Object.keys(e.properties).length > 0 ? r.map((s) => !s.properties && !s.type && !s.oneOf && !s.anyOf ? {
226
+ ...s,
226
227
  type: "object",
227
228
  properties: e.properties,
228
- required: r.required ?? e.required
229
- } : r) : s;
229
+ required: s.required ?? e.required
230
+ } : s) : r;
230
231
  }, xe = (e) => {
231
232
  if (Array.isArray(e.oneOf)) return "exactly-one";
232
- const s = e.discriminator?.propertyName;
233
- if (!s) return "at-least-one";
234
- const r = z(e), i = /* @__PURE__ */ new Set();
235
- for (const o of r) {
236
- const n = o.properties?.[s], l = n?.const ?? (Array.isArray(n?.enum) && n.enum.length === 1 ? String(n.enum[0]) : void 0);
233
+ const r = e.discriminator?.propertyName;
234
+ if (!r) return "at-least-one";
235
+ const s = z(e), i = /* @__PURE__ */ new Set();
236
+ for (const o of s) {
237
+ const n = o.properties?.[r], l = n?.const ?? (Array.isArray(n?.enum) && n.enum.length === 1 ? String(n.enum[0]) : void 0);
237
238
  if (l == null || i.has(String(l))) return "at-least-one";
238
239
  i.add(String(l));
239
240
  }
240
241
  return "exactly-one";
241
- }, O = (e, s) => s.title?.trim() || `Variant ${e + 1}`, ue = (e, s) => {
242
- const r = [];
243
- e.type && r.push(
242
+ }, O = (e, r) => r.title?.trim() || `Variant ${e + 1}`, ue = (e, r) => {
243
+ const s = [];
244
+ e.type && s.push(
244
245
  `type = ${Array.isArray(e.type) ? e.type.join("|") : e.type}`
245
246
  );
246
- const i = s?.discriminator?.propertyName;
247
+ const i = r?.discriminator?.propertyName;
247
248
  if (i) {
248
249
  const n = e.properties?.[i], l = n?.const ?? (Array.isArray(n?.enum) && n.enum.length === 1 ? n.enum[0] : void 0);
249
- l !== void 0 && r.push(`${i}=${JSON.stringify(l)}`);
250
+ l !== void 0 && s.push(`${i}=${JSON.stringify(l)}`);
250
251
  }
251
252
  const o = (e.required ?? []).filter((n) => n !== i);
252
253
  if (o.length) {
253
254
  const n = o.slice(0, 3).join(", "), l = o.length > 3 ? ` +${o.length - 3} more` : "";
254
- r.push(`requires: ${n}${l}`);
255
+ s.push(`requires: ${n}${l}`);
255
256
  }
256
- return r;
257
+ return s;
257
258
  }, me = ({
258
259
  variants: e,
259
- schema: s,
260
- selectedVariant: r,
260
+ schema: r,
261
+ selectedVariant: s,
261
262
  onSelectVariant: i
262
263
  }) => {
263
264
  const o = e.map((n, l) => ({
264
265
  label: O(l, n),
265
- guards: ue(n, s)
266
+ guards: ue(n, r)
266
267
  }));
267
268
  return /* @__PURE__ */ t.jsxs("div", { className: "flex flex-col gap-2 text-sm", children: [
268
269
  /* @__PURE__ */ t.jsx("h4", { className: "font-medium", children: "Decision Table" }),
@@ -278,7 +279,7 @@ Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "
278
279
  type: "button",
279
280
  className: j(
280
281
  "hover:underline",
281
- r === n.label && "text-primary"
282
+ s === n.label && "text-primary"
282
283
  ),
283
284
  onClick: () => i(n.label),
284
285
  children: n.label
@@ -290,12 +291,12 @@ Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "
290
291
  ] });
291
292
  }, fe = ({
292
293
  schema: e,
293
- cardHeader: s
294
+ cardHeader: r
294
295
  }) => {
295
- const r = Array.isArray(e.oneOf) ? "oneOf" : Array.isArray(e.anyOf) ? "anyOf" : void 0, i = r ? z(e) : [], [o, n] = f(
296
+ const s = Array.isArray(e.oneOf) ? "oneOf" : Array.isArray(e.anyOf) ? "anyOf" : void 0, i = s ? z(e) : [], [o, n] = f(
296
297
  () => i[0] ? O(0, i[0]) : ""
297
298
  );
298
- if (!r) return null;
299
+ if (!s) return null;
299
300
  const d = xe(e) === "exactly-one" ? /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
300
301
  "Exactly one variant ",
301
302
  /* @__PURE__ */ t.jsx("b", { children: "must match" }),
@@ -307,14 +308,14 @@ Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "
307
308
  " ",
308
309
  /* @__PURE__ */ t.jsx("i", { children: "may match" }),
309
310
  " simultaneously."
310
- ] }), p = i.findIndex(
311
- (c, y) => O(y, c) === o
312
- ), a = p >= 0 ? i[p] : null;
311
+ ] }), c = i.findIndex(
312
+ (p, y) => O(y, p) === o
313
+ ), a = c >= 0 ? i[c] : null;
313
314
  return /* @__PURE__ */ t.jsxs(ne, { children: [
314
- s,
315
+ r,
315
316
  /* @__PURE__ */ t.jsxs(ie, { className: "text-sm flex flex-col gap-4", children: [
316
317
  /* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-2", children: [
317
- /* @__PURE__ */ t.jsx(re, { variant: "outline", children: r }),
318
+ /* @__PURE__ */ t.jsx(se, { variant: "outline", children: s }),
318
319
  /* @__PURE__ */ t.jsx("div", { className: "flex-1 p-2", children: /* @__PURE__ */ t.jsx("span", { className: "text-sm", children: d }) })
319
320
  ] }),
320
321
  /* @__PURE__ */ t.jsx(
@@ -340,52 +341,52 @@ Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "
340
341
  className: "text-sm leading-normal line-clamp-4",
341
342
  content: e
342
343
  }
343
- ), ye = (e, s, r) => {
344
+ ), ye = (e, r, s) => {
344
345
  const i = /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
345
346
  /* @__PURE__ */ t.jsx("span", { className: "text-sm text-muted-foreground", children: /* @__PURE__ */ t.jsx(v, { schema: e }) }),
346
- e.enum && /* @__PURE__ */ t.jsx(b, { values: e.enum }),
347
+ e.enum && /* @__PURE__ */ t.jsx(h, { values: e.enum }),
347
348
  je(e.description),
348
349
  /* @__PURE__ */ t.jsx(I, { schema: e })
349
350
  ] });
350
- return r ? /* @__PURE__ */ t.jsx("div", { className: "space-y-2 p-4", children: i }) : /* @__PURE__ */ t.jsxs(N, { children: [
351
- s,
352
- /* @__PURE__ */ t.jsx(h, { className: "space-y-2", children: i })
351
+ return s ? /* @__PURE__ */ t.jsx("div", { className: "space-y-2 p-4", children: i }) : /* @__PURE__ */ t.jsxs(N, { children: [
352
+ r,
353
+ /* @__PURE__ */ t.jsx(b, { className: "space-y-2", children: i })
353
354
  ] });
354
355
  }, x = ({
355
356
  schema: e,
356
- defaultOpen: s = !1,
357
- cardHeader: r,
357
+ defaultOpen: r = !1,
358
+ cardHeader: s,
358
359
  embedded: i
359
360
  }) => {
360
361
  if (!e || Object.keys(e).length === 0)
361
362
  return /* @__PURE__ */ t.jsxs(N, { children: [
362
- r,
363
- /* @__PURE__ */ t.jsx(h, { children: /* @__PURE__ */ t.jsx("div", { className: "text-sm text-muted-foreground italic", children: "No data returned" }) })
363
+ s,
364
+ /* @__PURE__ */ t.jsx(b, { children: /* @__PURE__ */ t.jsx("div", { className: "text-sm text-muted-foreground italic", children: "No data returned" }) })
364
365
  ] });
365
366
  if (e.const)
366
367
  return /* @__PURE__ */ t.jsx(R, { schema: e });
367
368
  if (Array.isArray(e.oneOf) || Array.isArray(e.anyOf))
368
- return /* @__PURE__ */ t.jsx(fe, { schema: e, cardHeader: r });
369
- if (B(e.type))
370
- return ye(e, r, i);
369
+ return /* @__PURE__ */ t.jsx(fe, { schema: e, cardHeader: s });
370
+ if (M(e.type))
371
+ return ye(e, s, i);
371
372
  if (m(e) && typeof e.items == "object") {
372
373
  const n = {
373
374
  type: "object",
374
375
  properties: { "": e }
375
376
  };
376
- return /* @__PURE__ */ t.jsx(x, { schema: n, cardHeader: r, defaultOpen: !0 });
377
+ return /* @__PURE__ */ t.jsx(x, { schema: n, cardHeader: s, defaultOpen: !0 });
377
378
  }
378
379
  const o = typeof e.additionalProperties == "object" && /* @__PURE__ */ t.jsx(x, { schema: e.additionalProperties, embedded: !0 });
379
380
  if (e.type === "object") {
380
381
  const n = le(
381
382
  Object.entries(e.properties ?? {}),
382
- ([a, c]) => c.deprecated ? "deprecated" : e.required?.includes(a) ? "required" : "optional"
383
- ), p = ["required", "optional", "deprecated"].flatMap((a) => {
384
- const c = n[a];
385
- return c ? { group: a, properties: c } : [];
386
- }).map(({ group: a, properties: c }, y) => /* @__PURE__ */ t.jsxs(C, { children: [
383
+ ([a, p]) => p.deprecated ? "deprecated" : e.required?.includes(a) ? "required" : "optional"
384
+ ), c = ["required", "optional", "deprecated"].flatMap((a) => {
385
+ const p = n[a];
386
+ return p ? { group: a, properties: p } : [];
387
+ }).map(({ group: a, properties: p }, y) => /* @__PURE__ */ t.jsxs(C, { children: [
387
388
  y > 0 && /* @__PURE__ */ t.jsx(S, {}),
388
- /* @__PURE__ */ t.jsx(Y, { className: "overflow-clip", children: c.map(([A, D], L) => /* @__PURE__ */ t.jsxs(C, { children: [
389
+ /* @__PURE__ */ t.jsx(Y, { className: "overflow-clip", children: p.map(([A, D], L) => /* @__PURE__ */ t.jsxs(C, { children: [
389
390
  L > 0 && /* @__PURE__ */ t.jsx(S, {}),
390
391
  /* @__PURE__ */ t.jsx(
391
392
  pe,
@@ -393,16 +394,16 @@ Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "
393
394
  name: A,
394
395
  schema: D,
395
396
  group: a,
396
- defaultOpen: s
397
+ defaultOpen: r
397
398
  }
398
399
  )
399
400
  ] }, A)) })
400
401
  ] }, a));
401
- return i ? p : /* @__PURE__ */ t.jsxs(N, { children: [
402
- r,
402
+ return i ? c : /* @__PURE__ */ t.jsxs(N, { children: [
403
+ s,
403
404
  e.description && /* @__PURE__ */ t.jsx(Z, { children: /* @__PURE__ */ t.jsx(H, { children: e.description }) }),
404
- /* @__PURE__ */ t.jsxs(h, { className: "p-0!", children: [
405
- p,
405
+ (c.length > 0 || o) && /* @__PURE__ */ t.jsxs(b, { className: "p-0!", children: [
406
+ c,
406
407
  o
407
408
  ] }),
408
409
  e.additionalProperties === !0 && /* @__PURE__ */ t.jsx(ee, { children: /* @__PURE__ */ t.jsxs(
@@ -422,13 +423,13 @@ Array.isArray(e.type) && e.type.includes("array"), k = (e) => e && (e.type === "
422
423
  }
423
424
  };
424
425
  export {
425
- b as E,
426
+ h as E,
426
427
  Se as P,
427
428
  x as S,
428
429
  v as a,
429
430
  I as b,
430
- M as c,
431
+ B as c,
431
432
  le as g,
432
433
  m as i
433
434
  };
434
- //# sourceMappingURL=SchemaView-CjXvSRxy.js.map
435
+ //# sourceMappingURL=SchemaView-G-SVXxAG.js.map