zudoku 0.0.0-z7b86faab → 0.0.0-z8ac421f0

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 (321) hide show
  1. package/dist/app/main.js +1 -1
  2. package/dist/app/main.js.map +1 -1
  3. package/dist/config/create-plugin.d.ts +2 -0
  4. package/dist/config/create-plugin.js +55 -0
  5. package/dist/config/create-plugin.js.map +1 -0
  6. package/dist/config/loader.js +2 -2
  7. package/dist/config/loader.js.map +1 -1
  8. package/dist/config/validators/InputNavigationSchema.d.ts +174 -124
  9. package/dist/config/validators/InputNavigationSchema.js +17 -0
  10. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  11. package/dist/config/validators/NavigationSchema.d.ts +10 -2
  12. package/dist/config/validators/NavigationSchema.js +7 -0
  13. package/dist/config/validators/NavigationSchema.js.map +1 -1
  14. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  15. package/dist/config/validators/validate.d.ts +6 -5
  16. package/dist/config/validators/validate.js +2 -0
  17. package/dist/config/validators/validate.js.map +1 -1
  18. package/dist/flat-config.d.ts +36 -24
  19. package/dist/index.d.ts +2 -1
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/components/Bootstrap.js +1 -2
  23. package/dist/lib/components/Bootstrap.js.map +1 -1
  24. package/dist/lib/components/Heading.d.ts +1 -1
  25. package/dist/lib/components/MobileTopNavigation.js +2 -1
  26. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  27. package/dist/lib/components/Slot.test.js +1 -1
  28. package/dist/lib/components/Slot.test.js.map +1 -1
  29. package/dist/lib/components/TopNavigation.d.ts +7 -1
  30. package/dist/lib/components/TopNavigation.js +7 -2
  31. package/dist/lib/components/TopNavigation.js.map +1 -1
  32. package/dist/lib/components/Zudoku.d.ts +4 -1
  33. package/dist/lib/components/Zudoku.js +4 -7
  34. package/dist/lib/components/Zudoku.js.map +1 -1
  35. package/dist/lib/components/context/ZudokuContext.d.ts +9 -4
  36. package/dist/lib/components/context/ZudokuContext.js +4 -2
  37. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  38. package/dist/lib/components/context/ZudokuProvider.js +1 -1
  39. package/dist/lib/components/context/ZudokuProvider.js.map +1 -1
  40. package/dist/lib/components/context/ZudokuReactContext.d.ts +11 -0
  41. package/dist/lib/components/context/ZudokuReactContext.js +4 -0
  42. package/dist/lib/components/context/ZudokuReactContext.js.map +1 -0
  43. package/dist/lib/components/index.d.ts +18 -74
  44. package/dist/lib/components/index.js +19 -36
  45. package/dist/lib/components/index.js.map +1 -1
  46. package/dist/lib/components/navigation/Navigation.js +4 -3
  47. package/dist/lib/components/navigation/Navigation.js.map +1 -1
  48. package/dist/lib/components/navigation/NavigationCategory.js +8 -0
  49. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
  50. package/dist/lib/components/navigation/NavigationFilterContext.d.ts +8 -0
  51. package/dist/lib/components/navigation/NavigationFilterContext.js +12 -0
  52. package/dist/lib/components/navigation/NavigationFilterContext.js.map +1 -0
  53. package/dist/lib/components/navigation/NavigationFilterInput.d.ts +3 -0
  54. package/dist/lib/components/navigation/NavigationFilterInput.js +9 -0
  55. package/dist/lib/components/navigation/NavigationFilterInput.js.map +1 -0
  56. package/dist/lib/components/navigation/NavigationItem.js +11 -1
  57. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  58. package/dist/lib/components/navigation/utils.d.ts +2 -1
  59. package/dist/lib/components/navigation/utils.js +22 -1
  60. package/dist/lib/components/navigation/utils.js.map +1 -1
  61. package/dist/lib/core/ZudokuContext.d.ts +2 -1
  62. package/dist/lib/core/ZudokuContext.js +3 -1
  63. package/dist/lib/core/ZudokuContext.js.map +1 -1
  64. package/dist/lib/core/__internal.d.ts +1 -0
  65. package/dist/lib/core/__internal.js +2 -0
  66. package/dist/lib/core/__internal.js.map +1 -1
  67. package/dist/lib/core/plugins.d.ts +5 -1
  68. package/dist/lib/core/plugins.js.map +1 -1
  69. package/dist/lib/core/transform-config.d.ts +4 -2
  70. package/dist/lib/core/transform-config.js +33 -13
  71. package/dist/lib/core/transform-config.js.map +1 -1
  72. package/dist/lib/core/transform-config.test.d.ts +1 -0
  73. package/dist/lib/core/transform-config.test.js +83 -0
  74. package/dist/lib/core/transform-config.test.js.map +1 -0
  75. package/dist/lib/errors/ErrorAlert.js +1 -2
  76. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  77. package/dist/lib/hooks/index.d.ts +7 -30
  78. package/dist/lib/hooks/index.js +7 -15
  79. package/dist/lib/hooks/index.js.map +1 -1
  80. package/dist/lib/hooks/useEvent.test.js +1 -1
  81. package/dist/lib/hooks/useEvent.test.js.map +1 -1
  82. package/dist/lib/oas/graphql/circular.d.ts +1 -1
  83. package/dist/lib/oas/graphql/circular.js +18 -35
  84. package/dist/lib/oas/graphql/circular.js.map +1 -1
  85. package/dist/lib/oas/graphql/circular.test.js +33 -2
  86. package/dist/lib/oas/graphql/circular.test.js.map +1 -1
  87. package/dist/lib/oas/parser/index.js +14 -5
  88. package/dist/lib/oas/parser/index.js.map +1 -1
  89. package/dist/lib/plugins/openapi/ParamInfos.js +8 -5
  90. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  91. package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
  92. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  93. package/dist/lib/plugins/openapi/playground/fileUtils.d.ts +1 -0
  94. package/dist/lib/plugins/openapi/playground/fileUtils.js +3 -0
  95. package/dist/lib/plugins/openapi/playground/fileUtils.js.map +1 -1
  96. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.d.ts +6 -0
  97. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js +20 -0
  98. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js.map +1 -0
  99. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +7 -2
  100. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  101. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +2 -2
  102. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  103. package/dist/lib/ui/Alert.d.ts +3 -2
  104. package/dist/lib/ui/Alert.js +9 -5
  105. package/dist/lib/ui/Alert.js.map +1 -1
  106. package/dist/lib/ui/InputGroup.d.ts +16 -0
  107. package/dist/lib/ui/InputGroup.js +65 -0
  108. package/dist/lib/ui/InputGroup.js.map +1 -0
  109. package/dist/lib/ui/Secret.js +2 -2
  110. package/dist/lib/ui/Secret.js.map +1 -1
  111. package/dist/lib/util/flattenAllOf.d.ts +0 -2
  112. package/dist/lib/util/flattenAllOf.js +6 -46
  113. package/dist/lib/util/flattenAllOf.js.map +1 -1
  114. package/dist/lib/util/flattenAllOf.test.js +28 -1
  115. package/dist/lib/util/flattenAllOf.test.js.map +1 -1
  116. package/dist/lib/util/flattenAllOfProcessor.d.ts +2 -0
  117. package/dist/lib/util/flattenAllOfProcessor.js +48 -0
  118. package/dist/lib/util/flattenAllOfProcessor.js.map +1 -0
  119. package/dist/lib/util/readFrontmatter.js +2 -1
  120. package/dist/lib/util/readFrontmatter.js.map +1 -1
  121. package/dist/vite/api/SchemaManager.js +1 -1
  122. package/dist/vite/api/SchemaManager.js.map +1 -1
  123. package/dist/vite/api/SchemaManager.test.js +1 -1
  124. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  125. package/dist/vite/build.js +91 -73
  126. package/dist/vite/build.js.map +1 -1
  127. package/dist/vite/config.js +5 -2
  128. package/dist/vite/config.js.map +1 -1
  129. package/dist/vite/mdx/remark-inject-filepath.js +5 -1
  130. package/dist/vite/mdx/remark-inject-filepath.js.map +1 -1
  131. package/dist/vite/mdx/remark-link-rewrite.js +3 -2
  132. package/dist/vite/mdx/remark-link-rewrite.js.map +1 -1
  133. package/dist/vite/plugin-config.js +16 -4
  134. package/dist/vite/plugin-config.js.map +1 -1
  135. package/dist/vite/plugin-docs.js +9 -7
  136. package/dist/vite/plugin-docs.js.map +1 -1
  137. package/dist/vite/plugin-markdown-export.js +4 -2
  138. package/dist/vite/plugin-markdown-export.js.map +1 -1
  139. package/dist/vite/plugin-theme.js +2 -1
  140. package/dist/vite/plugin-theme.js.map +1 -1
  141. package/dist/vite/prerender/prerender.js +3 -1
  142. package/dist/vite/prerender/prerender.js.map +1 -1
  143. package/dist/vite/prerender/worker.js +3 -1
  144. package/dist/vite/prerender/worker.js.map +1 -1
  145. package/lib/{ClaudeLogo-DJ9bU-sO.js → ClaudeLogo-Br8C_vTq.js} +26 -22
  146. package/lib/{ClaudeLogo-DJ9bU-sO.js.map → ClaudeLogo-Br8C_vTq.js.map} +1 -1
  147. package/lib/Drawer-Ch7927PF.js.map +1 -1
  148. package/lib/{HydrationBoundary-CNF2ZV3E.js → HydrationBoundary-CJu4vUlG.js} +6 -6
  149. package/lib/{HydrationBoundary-CNF2ZV3E.js.map → HydrationBoundary-CJu4vUlG.js.map} +1 -1
  150. package/lib/{MdxPage-stpAoBtx.js → MdxPage-C0QFAsgv.js} +8 -8
  151. package/lib/{MdxPage-stpAoBtx.js.map → MdxPage-C0QFAsgv.js.map} +1 -1
  152. package/lib/Mermaid-Chx5BPHn.js +104 -0
  153. package/lib/Mermaid-Chx5BPHn.js.map +1 -0
  154. package/lib/{OAuthErrorPage-DJ811Bn_.js → OAuthErrorPage-CFz_gBFx.js} +22 -19
  155. package/lib/{OAuthErrorPage-DJ811Bn_.js.map → OAuthErrorPage-CFz_gBFx.js.map} +1 -1
  156. package/lib/{OasProvider-CS_ASmBB.js → OasProvider-BwIOIlky.js} +3 -3
  157. package/lib/{OasProvider-CS_ASmBB.js.map → OasProvider-BwIOIlky.js.map} +1 -1
  158. package/lib/OperationList-DYRzbPJu.js +5908 -0
  159. package/lib/OperationList-DYRzbPJu.js.map +1 -0
  160. package/lib/{RouteGuard--A04ESy8.js → RouteGuard-CVs3yvEs.js} +5 -5
  161. package/lib/{RouteGuard--A04ESy8.js.map → RouteGuard-CVs3yvEs.js.map} +1 -1
  162. package/lib/{SchemaList-BJZJv1gD.js → SchemaList-D4FEyoDV.js} +8 -8
  163. package/lib/{SchemaList-BJZJv1gD.js.map → SchemaList-D4FEyoDV.js.map} +1 -1
  164. package/lib/{SchemaView-U4JMYB3N.js → SchemaView-ScvkhsYE.js} +116 -110
  165. package/lib/SchemaView-ScvkhsYE.js.map +1 -0
  166. package/lib/{Secret-BDBqq4p3.js → Secret-DUpgv4V3.js} +92 -72
  167. package/lib/Secret-DUpgv4V3.js.map +1 -0
  168. package/lib/{SignUp-DCBViNUi.js → SignUp-Dug1jAGC.js} +31 -26
  169. package/lib/{SignUp-DCBViNUi.js.map → SignUp-Dug1jAGC.js.map} +1 -1
  170. package/lib/{SyntaxHighlight-Dshjn3Zf.js → SyntaxHighlight-BMu0b_hF.js} +9 -9
  171. package/lib/{SyntaxHighlight-Dshjn3Zf.js.map → SyntaxHighlight-BMu0b_hF.js.map} +1 -1
  172. package/lib/{Toc-Cgz6CPiE.js → Toc-BiJ2YL0O.js} +2 -2
  173. package/lib/{Toc-Cgz6CPiE.js.map → Toc-BiJ2YL0O.js.map} +1 -1
  174. package/lib/{index-CL8eDnQW.js → Zudoku-iyiXgWFY.js} +2996 -2859
  175. package/lib/Zudoku-iyiXgWFY.js.map +1 -0
  176. package/lib/ZudokuContext-CYyb_PB_.js +175 -0
  177. package/lib/ZudokuContext-CYyb_PB_.js.map +1 -0
  178. package/lib/ZudokuReactContext-DGJAP1sN.js +222 -0
  179. package/lib/ZudokuReactContext-DGJAP1sN.js.map +1 -0
  180. package/lib/chunk-EPOLDU6W-C6C8jAwd.js.map +1 -1
  181. package/lib/{circular-BmMJjG1v.js → circular-BOpxmAie.js} +1327 -1346
  182. package/lib/{circular-BmMJjG1v.js.map → circular-BOpxmAie.js.map} +1 -1
  183. package/lib/createServer-BunbJzB5.js +13038 -0
  184. package/lib/createServer-BunbJzB5.js.map +1 -0
  185. package/lib/{errors-b9I-fAOY.js → errors-B77S9iOc.js} +3 -3
  186. package/lib/{errors-b9I-fAOY.js.map → errors-B77S9iOc.js.map} +1 -1
  187. package/lib/{firebase-BCXX7Qv5.js → firebase-C7XKRGLf.js} +26 -25
  188. package/lib/{firebase-BCXX7Qv5.js.map → firebase-C7XKRGLf.js.map} +1 -1
  189. package/lib/{hook-BGlHBdET.js → hook-Dz_n9SoE.js} +16 -15
  190. package/lib/{hook-BGlHBdET.js.map → hook-Dz_n9SoE.js.map} +1 -1
  191. package/lib/{index-UOLtazB8.js → index-BDp2MTiq.js} +2 -2
  192. package/lib/{index-UOLtazB8.js.map → index-BDp2MTiq.js.map} +1 -1
  193. package/lib/{index-O9RHI87z.js → index-Bx29qHVi.js} +589 -551
  194. package/lib/index-Bx29qHVi.js.map +1 -0
  195. package/lib/index-CrcNWbel.js.map +1 -1
  196. package/lib/index-DAWHN3cH.js +86 -0
  197. package/lib/index-DAWHN3cH.js.map +1 -0
  198. package/lib/index.esm-BYObtETB.js.map +1 -1
  199. package/lib/{index.esm-B_0dvNjB.js → index.esm-Ca5zvoff.js} +20 -20
  200. package/lib/{index.esm-B_0dvNjB.js.map → index.esm-Ca5zvoff.js.map} +1 -1
  201. package/lib/{index.esm-C5CBsVzN.js → index.esm-Cth49JBv.js} +2 -2
  202. package/lib/index.esm-Cth49JBv.js.map +1 -0
  203. package/lib/{invariant-BJAl77rw.js → invariant-B_t_F2s_.js} +3 -3
  204. package/lib/{invariant-BJAl77rw.js.map → invariant-B_t_F2s_.js.map} +1 -1
  205. package/lib/jsx-runtime-BzflLqGi.js.map +1 -1
  206. package/lib/{mutation-BISOc7OM.js → mutation-B7eFBLZY.js} +2 -2
  207. package/lib/{mutation-BISOc7OM.js.map → mutation-B7eFBLZY.js.map} +1 -1
  208. package/lib/ui/Alert.js +32 -20
  209. package/lib/ui/Alert.js.map +1 -1
  210. package/lib/ui/Carousel.js.map +1 -1
  211. package/lib/ui/InputGroup.js +155 -0
  212. package/lib/ui/InputGroup.js.map +1 -0
  213. package/lib/ui/Secret.js +2 -2
  214. package/lib/ui/Secret.js.map +1 -1
  215. package/lib/ui/SyntaxHighlight.js +3 -3
  216. package/lib/useExposedProps-CzTDfXfq.js +30 -0
  217. package/lib/useExposedProps-CzTDfXfq.js.map +1 -0
  218. package/lib/{useMutation-CFMGlAMW.js → useMutation-CErliDZ9.js} +5 -5
  219. package/lib/{useMutation-CFMGlAMW.js.map → useMutation-CErliDZ9.js.map} +1 -1
  220. package/lib/{useSuspenseQuery-CSB_rVek.js → useQuery-ht7aWJ3S.js} +432 -446
  221. package/lib/useQuery-ht7aWJ3S.js.map +1 -0
  222. package/lib/useSuspenseQuery-DQH4Bmc2.js +18 -0
  223. package/lib/useSuspenseQuery-DQH4Bmc2.js.map +1 -0
  224. package/lib/zudoku.__internal.js +1519 -1033
  225. package/lib/zudoku.__internal.js.map +1 -1
  226. package/lib/zudoku.auth-auth0.js +6 -5
  227. package/lib/zudoku.auth-auth0.js.map +1 -1
  228. package/lib/zudoku.auth-azureb2c.js +14 -13
  229. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  230. package/lib/zudoku.auth-clerk.js +2 -2
  231. package/lib/zudoku.auth-firebase.js +5 -5
  232. package/lib/zudoku.auth-openid.js +8 -7
  233. package/lib/zudoku.auth-openid.js.map +1 -1
  234. package/lib/zudoku.auth-supabase.js +4 -4
  235. package/lib/zudoku.components.js +31 -29
  236. package/lib/zudoku.components.js.map +1 -1
  237. package/lib/zudoku.hooks.js +24 -11
  238. package/lib/zudoku.hooks.js.map +1 -1
  239. package/lib/zudoku.mermaid.js +5 -4
  240. package/lib/zudoku.mermaid.js.map +1 -1
  241. package/lib/zudoku.plugin-api-catalog.js +41 -36
  242. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  243. package/lib/zudoku.plugin-api-keys.js +156 -153
  244. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  245. package/lib/zudoku.plugin-custom-pages.js +1 -1
  246. package/lib/zudoku.plugin-markdown.js +1 -1
  247. package/lib/zudoku.plugin-openapi.js +2 -2
  248. package/lib/zudoku.plugin-search-pagefind.js +19 -18
  249. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  250. package/lib/zudoku.plugins.js.map +1 -1
  251. package/lib/zudoku.react-query.js +26 -25
  252. package/lib/zudoku.react-query.js.map +1 -1
  253. package/lib/zudoku.router.js.map +1 -1
  254. package/package.json +17 -10
  255. package/src/app/defaultTheme.css +4 -0
  256. package/src/app/main.css +2 -0
  257. package/src/app/main.tsx +1 -1
  258. package/src/lib/components/Bootstrap.tsx +1 -4
  259. package/src/lib/components/MobileTopNavigation.tsx +13 -8
  260. package/src/lib/components/Slot.test.tsx +1 -1
  261. package/src/lib/components/TopNavigation.tsx +25 -7
  262. package/src/lib/components/Zudoku.tsx +18 -14
  263. package/src/lib/components/context/ZudokuContext.ts +3 -6
  264. package/src/lib/components/context/ZudokuProvider.tsx +1 -1
  265. package/src/lib/components/context/ZudokuReactContext.tsx +17 -0
  266. package/src/lib/components/index.ts +19 -39
  267. package/src/lib/components/navigation/Navigation.tsx +4 -3
  268. package/src/lib/components/navigation/NavigationCategory.tsx +9 -0
  269. package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -0
  270. package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -0
  271. package/src/lib/components/navigation/NavigationItem.tsx +17 -1
  272. package/src/lib/components/navigation/utils.ts +32 -1
  273. package/src/lib/core/ZudokuContext.ts +7 -1
  274. package/src/lib/core/__internal.tsx +2 -0
  275. package/src/lib/core/plugins.ts +7 -3
  276. package/src/lib/core/transform-config.test.tsx +99 -0
  277. package/src/lib/core/transform-config.ts +57 -19
  278. package/src/lib/errors/ErrorAlert.tsx +1 -6
  279. package/src/lib/hooks/index.ts +7 -16
  280. package/src/lib/hooks/useEvent.test.tsx +1 -1
  281. package/src/lib/oas/graphql/circular.test.ts +37 -2
  282. package/src/lib/oas/graphql/circular.ts +25 -51
  283. package/src/lib/oas/parser/index.ts +17 -6
  284. package/src/lib/plugins/openapi/ParamInfos.tsx +10 -5
  285. package/src/lib/plugins/openapi/ParameterListItem.tsx +1 -0
  286. package/src/lib/plugins/openapi/playground/fileUtils.ts +4 -0
  287. package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -0
  288. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +33 -17
  289. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +2 -0
  290. package/src/lib/ui/Alert.tsx +17 -5
  291. package/src/lib/ui/InputGroup.tsx +168 -0
  292. package/src/lib/ui/Secret.tsx +2 -2
  293. package/src/lib/util/flattenAllOf.test.ts +34 -1
  294. package/src/lib/util/flattenAllOf.ts +7 -57
  295. package/src/lib/util/flattenAllOfProcessor.ts +58 -0
  296. package/src/lib/util/readFrontmatter.ts +2 -1
  297. package/src/zuplo/enrich-with-zuplo-mcp.ts +168 -0
  298. package/src/zuplo/enrich-with-zuplo.ts +254 -0
  299. package/src/zuplo/policy-types.ts +46 -0
  300. package/src/zuplo/with-zuplo-processors.ts +35 -0
  301. package/src/zuplo/with-zuplo.ts +14 -0
  302. package/lib/Mermaid-Koc3z8mU.js +0 -102
  303. package/lib/Mermaid-Koc3z8mU.js.map +0 -1
  304. package/lib/OperationList-Dq_AB4W9.js +0 -5820
  305. package/lib/OperationList-Dq_AB4W9.js.map +0 -1
  306. package/lib/SchemaView-U4JMYB3N.js.map +0 -1
  307. package/lib/Secret-BDBqq4p3.js.map +0 -1
  308. package/lib/Separator-BXt1LYnm.js +0 -27
  309. package/lib/Separator-BXt1LYnm.js.map +0 -1
  310. package/lib/ZudokuContext-BZB1TWdT.js +0 -387
  311. package/lib/ZudokuContext-BZB1TWdT.js.map +0 -1
  312. package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js +0 -9
  313. package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js.map +0 -1
  314. package/lib/createServer-CLSZ7hWJ.js +0 -16693
  315. package/lib/createServer-CLSZ7hWJ.js.map +0 -1
  316. package/lib/index-CL8eDnQW.js.map +0 -1
  317. package/lib/index-DBjOT2H1.js +0 -133
  318. package/lib/index-DBjOT2H1.js.map +0 -1
  319. package/lib/index-O9RHI87z.js.map +0 -1
  320. package/lib/index.esm-C5CBsVzN.js.map +0 -1
  321. package/lib/useSuspenseQuery-CSB_rVek.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaView-U4JMYB3N.js","sources":["../src/lib/components/PagefindSearchMeta.tsx","../src/lib/util/groupBy.ts","../src/lib/plugins/openapi/components/ConstValue.tsx","../src/lib/plugins/openapi/components/EnumValues.tsx","../src/lib/plugins/openapi/ParamInfos.tsx","../src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx","../src/lib/plugins/openapi/schema/utils.ts","../src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx","../src/lib/plugins/openapi/schema/union-helpers.ts","../src/lib/plugins/openapi/schema/UnionView.tsx","../src/lib/plugins/openapi/schema/SchemaView.tsx"],"sourcesContent":["import type { PropsWithChildren } from \"react\";\n\n/**\n * Adds metadata to be captured by Pagefind for search results.\n * Content is visually hidden but indexed by the search engine.\n */\nexport const PagefindSearchMeta = ({\n name,\n children,\n}: PropsWithChildren<{ name?: string }>) => (\n <span data-pagefind-meta={name} className=\"sr-only\">\n {children}\n </span>\n);\n","// biome-ignore-all lint/suspicious/noExplicitAny: Allow any type\nexport const groupBy = <\n T extends Record<PropertyKey, any>,\n KeySelector extends (item: T) => PropertyKey,\n>(\n arr: T[],\n keySelector: KeySelector,\n): Partial<Record<ReturnType<KeySelector>, T[]>> => {\n return arr.reduce(\n (accumulator, val) => {\n const groupedKey = keySelector(val) as ReturnType<KeySelector>;\n if (!accumulator[groupedKey]) {\n accumulator[groupedKey] = [];\n }\n accumulator[groupedKey].push(val);\n return accumulator;\n },\n {} as Record<ReturnType<KeySelector>, T[]>,\n );\n};\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { SelectOnClick } from \"./SelectOnClick.js\";\n\nexport const ConstValue = ({\n schema,\n hideDescription = false,\n}: {\n schema: SchemaObject;\n hideDescription?: boolean;\n}) => {\n return (\n <div className=\"flex flex-col gap-1\">\n <div>\n <span className=\"text-muted-foreground\">Const value: </span>\n <SelectOnClick className=\"border rounded px-1 font-mono\">\n {schema.const}\n </SelectOnClick>\n {!hideDescription && schema.description && (\n <div className=\"text-muted-foreground\">{schema.description}</div>\n )}\n </div>\n </div>\n );\n};\n","import { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { SelectOnClick } from \"./SelectOnClick.js\";\n\nexport const EnumValues = ({\n values,\n className,\n maxVisibleValues = 8,\n}: {\n values: Array<string | number>;\n className?: string;\n maxVisibleValues?: number;\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n if (!values.length) return null;\n\n const shouldCollapse = values.length > maxVisibleValues;\n const visibleValues =\n shouldCollapse && !isOpen ? values.slice(0, maxVisibleValues) : values;\n\n return (\n <div className={cn(\"flex flex-wrap gap-1.5\", className)}>\n <span className=\"text-muted-foreground\">Enum values:</span>\n {visibleValues.map((value) => (\n <div key={value}>\n <SelectOnClick className=\"border rounded-sm px-1 font-mono\">\n {value}\n </SelectOnClick>\n </div>\n ))}\n {shouldCollapse && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-fit px-0\"\n onClick={() => setIsOpen(!isOpen)}\n >\n {isOpen ? (\n <div className=\"flex items-center gap-1\">\n <ChevronUpIcon size={12} />\n <span className=\"text-muted-foreground\">show less</span>\n </div>\n ) : (\n <div className=\"flex items-center gap-1\">\n <ChevronDownIcon size={12} />\n <span className=\"text-muted-foreground\">\n show {values.length - maxVisibleValues} more\n </span>\n </div>\n )}\n </Button>\n )}\n </div>\n );\n};\n","import { ChevronsLeftRightIcon } from \"lucide-react\";\nimport { isValidElement, useState } from \"react\";\nimport { InlineCode } from \"../../components/InlineCode.js\";\nimport type { SchemaObject } from \"../../oas/parser/index.js\";\nimport { cn } from \"../../util/cn.js\";\n\nconst Pattern = ({ pattern }: { pattern: string }) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const isExpandable = pattern.length > 20;\n const shortPattern = isExpandable ? `${pattern.slice(0, 20)}…` : pattern;\n\n return (\n <InlineCode\n className={cn(\"text-xs\", isExpandable && \"cursor-pointer\")}\n onClick={() => setIsExpanded(!isExpanded)}\n selectOnClick={false}\n >\n {isExpanded ? pattern : shortPattern}\n {isExpandable && (\n <button type=\"button\" className=\"p-1 translate-y-[2px]\">\n {!isExpanded && <ChevronsLeftRightIcon size={12} />}\n </button>\n )}\n </InlineCode>\n );\n};\n\nconst getSchemaInfos = (schema?: SchemaObject) => {\n if (!schema) return [];\n\n return [\n schema.type === \"array\" && schema.items.type\n ? Array.isArray(schema.items.type)\n ? `(${schema.items.type.join(\" | \")})[]`\n : `${schema.items.type}[]`\n : Array.isArray(schema.type)\n ? schema.type.join(\" | \")\n : schema.type,\n\n schema.enum && \"enum\",\n schema.const && \"const\",\n schema.format,\n schema.type === \"array\" && schema.items?.contentMediaType,\n schema.minimum !== undefined && `min: ${schema.minimum}`,\n schema.maximum !== undefined && `max: ${schema.maximum}`,\n schema.minLength !== undefined && `minLength: ${schema.minLength}`,\n schema.maxLength !== undefined && `maxLength: ${schema.maxLength}`,\n schema.minItems !== undefined && `minItems: ${schema.minItems}`,\n schema.maxItems !== undefined && `maxItems: ${schema.maxItems}`,\n schema.minProperties !== undefined && `minProps: ${schema.minProperties}`,\n schema.maxProperties !== undefined && `maxProps: ${schema.maxProperties}`,\n schema.uniqueItems && \"unique\",\n schema.readOnly && \"readOnly\",\n schema.writeOnly && \"writeOnly\",\n schema.deprecated && \"deprecated\",\n schema.pattern && (\n <>\n pattern: <Pattern pattern={schema.pattern} />\n </>\n ),\n ];\n};\n\nexport const ParamInfos = ({\n schema,\n extraItems = [],\n className,\n}: {\n schema?: SchemaObject;\n extraItems?: unknown[];\n className?: string;\n}) => {\n const filteredItems = [...getSchemaInfos(schema), ...extraItems].flatMap(\n (item) => (typeof item === \"string\" || isValidElement(item) ? item : []),\n );\n\n return (\n <span className={className}>\n {filteredItems.map((item, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: index should be stable\n <span className=\"text-muted-foreground\" key={index}>\n {item}\n {index < filteredItems.length - 1 && (\n <span className=\"text-muted-foreground/50\">\n &nbsp;&middot;&nbsp;\n </span>\n )}\n </span>\n ))}\n </span>\n );\n};\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { SelectOnClick } from \"../components/SelectOnClick.js\";\n\nexport const SchemaExampleAndDefault = ({\n schema,\n}: {\n schema: SchemaObject;\n}) => {\n const example = schema.examples?.at(0);\n const defaultValue = schema.default;\n\n if (example === undefined && defaultValue === undefined) return null;\n\n return (\n <div className=\"flex flex-col gap-1\">\n {example !== undefined && (\n <div>\n <span className=\"text-muted-foreground\">Example: </span>\n <SelectOnClick className=\"border rounded-sm px-1 font-mono\">\n {typeof example === \"object\" || typeof example === \"boolean\"\n ? JSON.stringify(example)\n : example}\n </SelectOnClick>\n </div>\n )}\n {defaultValue !== undefined && (\n <div>\n <span className=\"text-muted-foreground\">Default: </span>\n <SelectOnClick className=\"border rounded-sm px-1 font-mono\">\n {typeof defaultValue === \"object\" ||\n typeof defaultValue === \"boolean\"\n ? JSON.stringify(defaultValue)\n : defaultValue}\n </SelectOnClick>\n </div>\n )}\n </div>\n );\n};\n","import {\n CIRCULAR_REF,\n SCHEMA_REF_PREFIX,\n} from \"../../../oas/graphql/circular.js\";\nimport type {\n ArraySchemaObject,\n SchemaObject,\n} from \"../../../oas/parser/index.js\";\n\nexport const isBasicType = (\n type: unknown,\n): type is \"string\" | \"number\" | \"boolean\" | \"integer\" | \"null\" =>\n (typeof type === \"string\" &&\n [\"string\", \"number\", \"boolean\", \"integer\", \"null\"].includes(type)) ||\n (Array.isArray(type) && type.every(isBasicType));\n\nexport const isArrayType = (value: SchemaObject): value is ArraySchemaObject =>\n value.type === \"array\" ||\n // schema.type might be an array of types, so we need to check if \"array\" is one of them\n (Array.isArray(value.type) && value.type.includes(\"array\"));\n\nexport const isComplexType = (value?: SchemaObject) =>\n value &&\n ((value.type === \"object\" &&\n Object.keys(value.properties ?? {}).length > 0) ||\n (value.type === \"array\" &&\n typeof value.items === \"object\" &&\n (!value.items.type || value.items.type === \"object\")));\n\nexport const isCircularRef = (schema: unknown): schema is string =>\n typeof schema === \"string\" &&\n (schema.startsWith(CIRCULAR_REF) || schema.startsWith(SCHEMA_REF_PREFIX));\n\nexport const isArrayCircularRef = (\n schema: SchemaObject,\n): schema is SchemaObject & { items: SchemaObject } =>\n isArrayType(schema) && \"items\" in schema && isCircularRef(schema.items);\n\nexport const extractCircularRefInfo = (\n ref?: string | SchemaObject,\n): string | undefined => {\n if (typeof ref !== \"string\") return undefined;\n\n if (ref.startsWith(SCHEMA_REF_PREFIX)) {\n return ref.slice(SCHEMA_REF_PREFIX.length).split(\"/\").pop();\n }\n\n return ref.split(\":\")[1];\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { MinusIcon, PlusIcon, RefreshCcwDotIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { Item, ItemActions, ItemContent, ItemTitle } from \"zudoku/ui/Item.js\";\nimport { InlineCode } from \"../../../components/InlineCode.js\";\nimport { Markdown } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { ConstValue } from \"../components/ConstValue.js\";\nimport { EnumValues } from \"../components/EnumValues.js\";\nimport { ParamInfos } from \"../ParamInfos.js\";\nimport { SchemaExampleAndDefault } from \"./SchemaExampleAndDefault.js\";\nimport { SchemaView } from \"./SchemaView.js\";\nimport {\n extractCircularRefInfo,\n isArrayCircularRef,\n isArrayType,\n isCircularRef,\n isComplexType,\n} from \"./utils.js\";\n\nconst RecursiveIndicator = ({ circularProp }: { circularProp?: string }) => (\n <InlineCode\n className=\"inline-flex items-center gap-1.5 text-xs translate-y-0.5\"\n selectOnClick={false}\n >\n <RefreshCcwDotIcon size={13} />\n <span>{circularProp ? `${circularProp} (circular)` : \"circular\"}</span>\n </InlineCode>\n);\n\nexport const SchemaPropertyItem = ({\n name,\n schema,\n group,\n defaultOpen = false,\n showCollapseButton = true,\n}: {\n name: string;\n schema: SchemaObject;\n group: \"required\" | \"optional\" | \"deprecated\";\n defaultOpen?: boolean;\n showCollapseButton?: boolean;\n}) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n\n if (isCircularRef(schema)) {\n return (\n <Item>\n <ItemContent className=\"gap-y-2\">\n <div>\n <ItemTitle className=\"inline me-2\">\n <code>{name}</code>\n </ItemTitle>\n <ParamInfos\n className=\"inline\"\n schema={schema}\n extraItems={[\n group !== \"optional\" && (\n <span className=\"text-primary\">required</span>\n ),\n <RecursiveIndicator key=\"circular-ref\" />,\n ]}\n />\n </div>\n <SchemaExampleAndDefault schema={schema} />\n </ItemContent>\n </Item>\n );\n }\n\n const isCollapsible = Boolean(\n (schema.allOf ||\n schema.anyOf ||\n schema.oneOf ||\n isComplexType(schema) ||\n (isArrayType(schema) &&\n \"items\" in schema &&\n isComplexType(schema.items)) ||\n schema.additionalProperties) &&\n !isArrayCircularRef(schema),\n );\n\n const shouldRenderDescription = Boolean(\n schema.description ||\n (\"items\" in schema && schema.items?.enum) ||\n schema.const ||\n schema.enum ||\n schema.example !== undefined ||\n schema.default !== undefined,\n );\n\n return (\n <Item>\n <ItemContent className=\"gap-y-2\">\n <div>\n <ItemTitle className=\"inline me-2\">\n {isCollapsible ? (\n <button\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n className=\"hover:underline\"\n >\n <code>{name}</code>\n </button>\n ) : (\n <code>{name}</code>\n )}\n </ItemTitle>\n <ParamInfos\n className=\"inline\"\n schema={schema}\n extraItems={[\n group !== \"optional\" && (\n <span className=\"text-primary\">required</span>\n ),\n isArrayCircularRef(schema) && (\n <RecursiveIndicator\n circularProp={extractCircularRefInfo(schema.items)}\n />\n ),\n ]}\n />\n </div>\n {shouldRenderDescription && (\n <div className=\"flex flex-col gap-1.5\">\n {schema.description && (\n <Markdown className=\"prose-sm\" content={schema.description} />\n )}\n {\"items\" in schema && schema.items?.enum && (\n <EnumValues values={schema.items.enum} />\n )}\n {schema.const && <ConstValue schema={schema} hideDescription />}\n {schema.enum && <EnumValues values={schema.enum} />}\n <SchemaExampleAndDefault schema={schema} />\n </div>\n )}\n </ItemContent>\n\n {isCollapsible && showCollapseButton && (\n <ItemActions className=\"self-start\">\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"rounded-full\"\n onClick={() => setIsOpen(!isOpen)}\n aria-label=\"Toggle properties\"\n >\n {isOpen ? <MinusIcon size={16} /> : <PlusIcon size={16} />}\n </Button>\n </ItemActions>\n )}\n\n {isCollapsible && (\n <Collapsible.Root\n defaultOpen={defaultOpen}\n open={isOpen}\n onOpenChange={setIsOpen}\n className={cn(\"w-full\", !isOpen && \"contents\")}\n >\n <Collapsible.Content asChild>\n <ItemContent>\n {schema.anyOf || schema.oneOf || schema.type === \"object\" ? (\n <SchemaView schema={schema} />\n ) : isArrayType(schema) && \"items\" in schema ? (\n <SchemaView schema={schema.items} />\n ) : null}\n </ItemContent>\n </Collapsible.Content>\n </Collapsible.Root>\n )}\n </Item>\n );\n};\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\n\nexport type FieldSignature = {\n type?: SchemaObject[\"type\"];\n const?: unknown;\n enum?: unknown[];\n format?: string;\n pattern?: string;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: boolean | number;\n exclusiveMaximum?: boolean | number;\n minLength?: number;\n maxLength?: number;\n minItems?: number;\n maxItems?: number;\n itemsType?: string | string[];\n additionalProps?: \"true\" | \"false\" | \"schema\";\n};\n\nexport type FieldDoc = {\n name: string;\n humanType: string;\n description?: string;\n requiredInAll: boolean;\n};\n\nexport const unionVariants = (schema: SchemaObject): SchemaObject[] => {\n const variants = (schema.oneOf ?? schema.anyOf ?? []) as SchemaObject[];\n\n // If parent schema has properties that variants don't, merge them\n // This handles the pattern where anyOf/oneOf is used just for required field combinations\n if (schema.properties && Object.keys(schema.properties).length > 0) {\n return variants.map((variant) => {\n // If variant doesn't define its own properties or type, inherit from parent\n const shouldInherit =\n !variant.properties &&\n !variant.type &&\n !variant.oneOf &&\n !variant.anyOf;\n\n if (shouldInherit) {\n return {\n ...variant,\n type: \"object\" as const,\n properties: schema.properties,\n required: variant.required ?? schema.required,\n };\n }\n\n return variant;\n });\n }\n\n return variants;\n};\n\nexport const decideExclusivity = (\n schema: SchemaObject,\n): \"exactly-one\" | \"at-least-one\" => {\n if (Array.isArray(schema.oneOf)) return \"exactly-one\";\n\n const discriminator = schema.discriminator?.propertyName;\n if (!discriminator) return \"at-least-one\";\n\n const variants = unionVariants(schema);\n const seen = new Set<string>();\n\n for (const variant of variants) {\n const prop = variant.properties?.[discriminator];\n\n const value =\n prop?.const ??\n (Array.isArray(prop?.enum) && prop.enum.length === 1\n ? String(prop.enum[0])\n : undefined);\n\n if (value == null || seen.has(String(value))) return \"at-least-one\";\n seen.add(String(value));\n }\n\n return \"exactly-one\";\n};\n\nexport const labelForVariant = (index: number, variant: SchemaObject) =>\n variant.title?.trim() || `Variant ${index + 1}`;\n\nexport const quickGuards = (variant: SchemaObject, root?: SchemaObject) => {\n const guards: string[] = [];\n\n if (variant.type) {\n guards.push(\n `type = ${Array.isArray(variant.type) ? variant.type.join(\"|\") : variant.type}`,\n );\n }\n\n const discriminator = root?.discriminator?.propertyName;\n if (discriminator) {\n const discriminatorProp = variant.properties?.[discriminator] as\n | SchemaObject\n | undefined;\n\n const discriminatorValue =\n discriminatorProp?.const ??\n (Array.isArray(discriminatorProp?.enum) &&\n discriminatorProp.enum.length === 1\n ? discriminatorProp.enum[0]\n : undefined);\n\n if (discriminatorValue !== undefined) {\n guards.push(`${discriminator}=${JSON.stringify(discriminatorValue)}`);\n }\n }\n\n const required = (variant.required ?? []).filter((k) => k !== discriminator);\n if (required.length) {\n const head = required.slice(0, 3).join(\", \");\n const more = required.length > 3 ? ` +${required.length - 3} more` : \"\";\n guards.push(`requires: ${head}${more}`);\n }\n\n return guards;\n};\n","import { useState } from \"react\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Badge } from \"../../../ui/Badge.js\";\nimport { Frame, FramePanel } from \"../../../ui/Frame.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { SchemaView } from \"./SchemaView.js\";\nimport {\n decideExclusivity,\n labelForVariant,\n quickGuards,\n unionVariants,\n} from \"./union-helpers.js\";\n\nconst DecisionTable = ({\n variants,\n schema,\n selectedVariant,\n onSelectVariant,\n}: {\n variants: SchemaObject[];\n schema: SchemaObject;\n selectedVariant: string;\n onSelectVariant: (label: string) => void;\n}) => {\n const rows = variants.map((v, i) => ({\n label: labelForVariant(i, v),\n guards: quickGuards(v, schema),\n }));\n\n return (\n <div className=\"flex flex-col gap-2 text-sm\">\n <h4 className=\"font-medium\">Decision Table</h4>\n <div className=\"border rounded-md overflow-hidden\">\n <table className=\"w-full\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left p-2 font-medium\">Variant</th>\n <th className=\"text-left p-2 font-medium\">Matching Criteria</th>\n </tr>\n </thead>\n <tbody className=\"divide-y\">\n {rows.map((row) => (\n <tr key={row.label} className=\"hover:bg-muted/30\">\n <td className=\"p-2 font-medium\">\n <button\n type=\"button\"\n className={cn(\n \"hover:underline\",\n selectedVariant === row.label && \"text-primary\",\n )}\n onClick={() => onSelectVariant(row.label)}\n >\n {row.label}\n </button>\n </td>\n <td className=\"p-2 text-muted-foreground text-xs\">\n {row.guards.length > 0\n ? row.guards.join(\" · \")\n : \"No specific criteria\"}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nexport const UnionView = ({\n schema,\n cardHeader,\n}: {\n schema: SchemaObject;\n cardHeader?: React.ReactNode;\n}) => {\n const mode = Array.isArray(schema.oneOf)\n ? \"oneOf\"\n : Array.isArray(schema.anyOf)\n ? \"anyOf\"\n : undefined;\n\n const variants = mode ? unionVariants(schema) : [];\n const [selectedVariant, setSelectedVariant] = useState(() =>\n variants[0] ? labelForVariant(0, variants[0]) : \"\",\n );\n\n if (!mode) return null;\n\n const exclusivity = decideExclusivity(schema);\n\n const semanticsMessage =\n exclusivity === \"exactly-one\" ? (\n <>\n Exactly one variant <b>must match</b>.\n </>\n ) : (\n <>\n At least one variant <b>must match</b>. Multiple variants{\" \"}\n <i>may match</i> simultaneously.\n </>\n );\n\n const currentVariantIndex = variants.findIndex(\n (v, i) => labelForVariant(i, v) === selectedVariant,\n );\n const currentVariant =\n currentVariantIndex >= 0 ? variants[currentVariantIndex] : null;\n\n return (\n <Frame>\n {cardHeader}\n <FramePanel className=\"text-sm flex flex-col gap-4\">\n <div className=\"flex items-center gap-2\">\n <Badge variant=\"outline\">{mode}</Badge>\n <div className=\"flex-1 p-2\">\n <span className=\"text-sm\">{semanticsMessage}</span>\n </div>\n </div>\n\n <DecisionTable\n variants={variants}\n schema={schema}\n selectedVariant={selectedVariant}\n onSelectVariant={setSelectedVariant}\n />\n <strong>Properties for {selectedVariant}:</strong>\n {currentVariant && <SchemaView schema={currentVariant} />}\n </FramePanel>\n </Frame>\n );\n};\n","import { InfoIcon } from \"lucide-react\";\nimport { Fragment } from \"react\";\nimport {\n Frame,\n FrameDescription,\n FrameFooter,\n FrameHeader,\n FramePanel,\n} from \"zudoku/ui/Frame.js\";\nimport { ItemGroup, ItemSeparator } from \"zudoku/ui/Item.js\";\nimport { Markdown } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { groupBy } from \"../../../util/groupBy.js\";\nimport { ConstValue } from \"../components/ConstValue.js\";\nimport { EnumValues } from \"../components/EnumValues.js\";\nimport { ParamInfos } from \"../ParamInfos.js\";\nimport { SchemaExampleAndDefault } from \"./SchemaExampleAndDefault.js\";\nimport { SchemaPropertyItem } from \"./SchemaPropertyItem.js\";\nimport { UnionView } from \"./UnionView.js\";\nimport { isArrayType, isBasicType } from \"./utils.js\";\n\nconst renderMarkdown = (content?: string) =>\n content && (\n <Markdown\n className=\"text-sm leading-normal line-clamp-4\"\n content={content}\n />\n );\n\nconst renderBasicSchema = (\n schema: SchemaObject,\n cardHeader?: React.ReactNode,\n embedded?: boolean,\n) => {\n const content = (\n <>\n <span className=\"text-sm text-muted-foreground\">\n <ParamInfos schema={schema} />\n </span>\n {schema.enum && <EnumValues values={schema.enum} />}\n {renderMarkdown(schema.description)}\n <SchemaExampleAndDefault schema={schema} />\n </>\n );\n\n if (embedded) {\n return <div className=\"space-y-2 p-4\">{content}</div>;\n }\n\n return (\n <Frame>\n {cardHeader}\n <FramePanel className=\"space-y-2\">{content}</FramePanel>\n </Frame>\n );\n};\n\nexport const SchemaView = ({\n schema,\n defaultOpen = false,\n cardHeader,\n embedded,\n}: {\n schema?: SchemaObject | null;\n defaultOpen?: boolean;\n cardHeader?: React.ReactNode;\n embedded?: boolean;\n}) => {\n if (!schema || Object.keys(schema).length === 0) {\n return (\n <Frame>\n {cardHeader}\n <FramePanel>\n <div className=\"text-sm text-muted-foreground italic\">\n No data returned\n </div>\n </FramePanel>\n </Frame>\n );\n }\n\n if (schema.const) {\n return <ConstValue schema={schema} />;\n }\n\n if (Array.isArray(schema.oneOf) || Array.isArray(schema.anyOf)) {\n return <UnionView schema={schema} cardHeader={cardHeader} />;\n }\n\n if (isBasicType(schema.type)) {\n return renderBasicSchema(schema, cardHeader, embedded);\n }\n\n if (isArrayType(schema) && typeof schema.items === \"object\") {\n const wrappedSchema: SchemaObject = {\n type: \"object\",\n properties: { \"\": schema },\n };\n\n return (\n <SchemaView schema={wrappedSchema} cardHeader={cardHeader} defaultOpen />\n );\n }\n\n const additionalObjectProperties = typeof schema.additionalProperties ===\n \"object\" && <SchemaView schema={schema.additionalProperties} embedded />;\n\n if (schema.type === \"object\") {\n const groupedProperties = groupBy(\n Object.entries(schema.properties ?? {}),\n ([propertyName, property]) => {\n return property.deprecated\n ? \"deprecated\"\n : schema.required?.includes(propertyName)\n ? \"required\"\n : \"optional\";\n },\n );\n\n const groupNames = [\"required\", \"optional\", \"deprecated\"] as const;\n const groups = groupNames.flatMap((group) => {\n const properties = groupedProperties[group];\n return properties ? { group, properties } : [];\n });\n\n const itemsList = groups.map(({ group, properties }, index) => (\n <Fragment key={group}>\n {index > 0 && <ItemSeparator />}\n <ItemGroup className=\"overflow-clip\">\n {properties.map(([name, schema], index) => (\n <Fragment key={name}>\n {index > 0 && <ItemSeparator />}\n <SchemaPropertyItem\n name={name}\n schema={schema}\n group={group}\n defaultOpen={defaultOpen}\n />\n </Fragment>\n ))}\n </ItemGroup>\n </Fragment>\n ));\n\n if (embedded) {\n return itemsList;\n }\n\n return (\n <Frame>\n {cardHeader}\n {schema.description && (\n <FrameHeader>\n <FrameDescription>{schema.description}</FrameDescription>\n </FrameHeader>\n )}\n {(itemsList.length > 0 || additionalObjectProperties) && (\n <FramePanel className=\"p-0!\">\n {itemsList}\n {additionalObjectProperties}\n </FramePanel>\n )}\n {schema.additionalProperties === true && (\n <FrameFooter>\n <a\n className=\"text-sm flex items-center gap-1 hover:underline\"\n href=\"https://swagger.io/docs/specification/v3_0/data-models/dictionaries/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Additional properties are allowed\n <InfoIcon size={14} />\n </a>\n </FrameFooter>\n )}\n </Frame>\n );\n }\n};\n"],"names":["PagefindSearchMeta","name","children","groupBy","arr","keySelector","accumulator","val","groupedKey","ConstValue","schema","hideDescription","jsx","SelectOnClick","EnumValues","values","className","maxVisibleValues","isOpen","setIsOpen","useState","shouldCollapse","visibleValues","cn","value","Button","jsxs","ChevronUpIcon","ChevronDownIcon","Pattern","pattern","isExpanded","setIsExpanded","isExpandable","shortPattern","InlineCode","ChevronsLeftRightIcon","getSchemaInfos","Fragment","ParamInfos","extraItems","filteredItems","item","isValidElement","index","SchemaExampleAndDefault","example","defaultValue","isBasicType","type","isArrayType","isComplexType","isCircularRef","CIRCULAR_REF","SCHEMA_REF_PREFIX","isArrayCircularRef","extractCircularRefInfo","ref","RecursiveIndicator","circularProp","RefreshCcwDotIcon","SchemaPropertyItem","group","defaultOpen","showCollapseButton","Item","ItemContent","ItemTitle","isCollapsible","shouldRenderDescription","Markdown","ItemActions","MinusIcon","PlusIcon","Collapsible","SchemaView","unionVariants","variants","variant","decideExclusivity","discriminator","seen","prop","labelForVariant","quickGuards","root","guards","discriminatorProp","discriminatorValue","required","k","head","more","DecisionTable","selectedVariant","onSelectVariant","rows","v","i","row","UnionView","cardHeader","mode","setSelectedVariant","semanticsMessage","currentVariantIndex","currentVariant","Frame","FramePanel","Badge","renderMarkdown","content","renderBasicSchema","embedded","wrappedSchema","additionalObjectProperties","groupedProperties","propertyName","property","itemsList","properties","ItemSeparator","ItemGroup","FrameHeader","FrameDescription","FrameFooter","InfoIcon"],"mappings":";;;;;;;;;;;;AAMO,MAAMA,KAAqB,CAAC;AAAA,EACjC,MAAAC;AAAA,EACA,UAAAC;AACF,4BACG,QAAA,EAAK,sBAAoBD,GAAM,WAAU,WACvC,UAAAC,EAAA,CACH,GCXWC,KAAU,CAIrBC,GACAC,MAEOD,EAAI;AAAA,EACT,CAACE,GAAaC,MAAQ;AACpB,UAAMC,IAAaH,EAAYE,CAAG;AAClC,WAAKD,EAAYE,CAAU,MACzBF,EAAYE,CAAU,IAAI,CAAA,IAE5BF,EAAYE,CAAU,EAAE,KAAKD,CAAG,GACzBD;AAAA,EACT;AAAA,EACA,CAAA;AAAC,GCdQG,IAAa,CAAC;AAAA,EACzB,QAAAC;AAAA,EACA,iBAAAC,IAAkB;AACpB,MAKIC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,uBACb,iCAAC,OAAA,EACC,UAAA;AAAA,EAAAA,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,yBAAwB,UAAA,iBAAa;AAAA,EACrDA,gBAAAA,EAAAA,IAACC,GAAA,EAAc,WAAU,iCACtB,YAAO,OACV;AAAA,EACC,CAACF,KAAmBD,EAAO,qCACzB,OAAA,EAAI,WAAU,yBAAyB,UAAAA,EAAO,YAAA,CAAY;AAAA,EAAA,CAE/D,EAAA,CACF,GCfSI,IAAa,CAAC;AAAA,EACzB,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,kBAAAC,IAAmB;AACrB,MAIM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK;AAE1C,MAAI,CAACL,EAAO,OAAQ,QAAO;AAE3B,QAAMM,IAAiBN,EAAO,SAASE,GACjCK,IACJD,KAAkB,CAACH,IAASH,EAAO,MAAM,GAAGE,CAAgB,IAAIF;AAElE,gCACG,OAAA,EAAI,WAAWQ,EAAG,0BAA0BP,CAAS,GACpD,UAAA;AAAA,IAAAJ,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,yBAAwB,UAAA,gBAAY;AAAA,IACnDU,EAAc,IAAI,CAACE,MAClBZ,gBAAAA,EAAAA,IAAC,OAAA,EACC,UAAAA,gBAAAA,EAAAA,IAACC,GAAA,EAAc,WAAU,oCACtB,UAAAW,EAAA,CACH,EAAA,GAHQA,CAIV,CACD;AAAA,IACAH,KACCT,gBAAAA,EAAAA;AAAAA,MAACa;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,WAAU;AAAA,QACV,SAAS,MAAMN,EAAU,CAACD,CAAM;AAAA,QAE/B,UAAAA,IACCQ,gBAAAA,OAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,UAAAd,gBAAAA,EAAAA,IAACe,GAAA,EAAc,MAAM,GAAA,CAAI;AAAA,UACzBf,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,yBAAwB,UAAA,YAAA,CAAS;AAAA,QAAA,EAAA,CACnD,IAEAc,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,UAAAd,gBAAAA,EAAAA,IAACgB,GAAA,EAAgB,MAAM,GAAA,CAAI;AAAA,UAC3BF,gBAAAA,EAAAA,KAAC,QAAA,EAAK,WAAU,yBAAwB,UAAA;AAAA,YAAA;AAAA,YAChCX,EAAO,SAASE;AAAA,YAAiB;AAAA,UAAA,EAAA,CACzC;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ,GAEJ;AAEJ,GCnDMY,KAAU,CAAC,EAAE,SAAAC,QAAmC;AACpD,QAAM,CAACC,GAAYC,CAAa,IAAIZ,EAAS,EAAK,GAC5Ca,IAAeH,EAAQ,SAAS,IAChCI,IAAeD,IAAe,GAAGH,EAAQ,MAAM,GAAG,EAAE,CAAC,MAAMA;AAEjE,SACEJ,gBAAAA,EAAAA;AAAAA,IAACS;AAAA,IAAA;AAAA,MACC,WAAWZ,EAAG,WAAWU,KAAgB,gBAAgB;AAAA,MACzD,SAAS,MAAMD,EAAc,CAACD,CAAU;AAAA,MACxC,eAAe;AAAA,MAEd,UAAA;AAAA,QAAAA,IAAaD,IAAUI;AAAA,QACvBD,KACCrB,gBAAAA,EAAAA,IAAC,UAAA,EAAO,MAAK,UAAS,WAAU,yBAC7B,UAAA,CAACmB,KAAcnB,gBAAAA,EAAAA,IAACwB,GAAA,EAAsB,MAAM,IAAI,EAAA,CACnD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,GAEMC,KAAiB,CAAC3B,MACjBA,IAEE;AAAA,EACLA,EAAO,SAAS,WAAWA,EAAO,MAAM,OACpC,MAAM,QAAQA,EAAO,MAAM,IAAI,IAC7B,IAAIA,EAAO,MAAM,KAAK,KAAK,KAAK,CAAC,QACjC,GAAGA,EAAO,MAAM,IAAI,OACtB,MAAM,QAAQA,EAAO,IAAI,IACvBA,EAAO,KAAK,KAAK,KAAK,IACtBA,EAAO;AAAA,EAEbA,EAAO,QAAQ;AAAA,EACfA,EAAO,SAAS;AAAA,EAChBA,EAAO;AAAA,EACPA,EAAO,SAAS,WAAWA,EAAO,OAAO;AAAA,EACzCA,EAAO,YAAY,UAAa,QAAQA,EAAO,OAAO;AAAA,EACtDA,EAAO,YAAY,UAAa,QAAQA,EAAO,OAAO;AAAA,EACtDA,EAAO,cAAc,UAAa,cAAcA,EAAO,SAAS;AAAA,EAChEA,EAAO,cAAc,UAAa,cAAcA,EAAO,SAAS;AAAA,EAChEA,EAAO,aAAa,UAAa,aAAaA,EAAO,QAAQ;AAAA,EAC7DA,EAAO,aAAa,UAAa,aAAaA,EAAO,QAAQ;AAAA,EAC7DA,EAAO,kBAAkB,UAAa,aAAaA,EAAO,aAAa;AAAA,EACvEA,EAAO,kBAAkB,UAAa,aAAaA,EAAO,aAAa;AAAA,EACvEA,EAAO,eAAe;AAAA,EACtBA,EAAO,YAAY;AAAA,EACnBA,EAAO,aAAa;AAAA,EACpBA,EAAO,cAAc;AAAA,EACrBA,EAAO,WACLgB,gBAAAA,EAAAA,KAAAY,EAAAA,UAAA,EAAE,UAAA;AAAA,IAAA;AAAA,IACS1B,gBAAAA,EAAAA,IAACiB,IAAA,EAAQ,SAASnB,EAAO,QAAA,CAAS;AAAA,EAAA,EAAA,CAC7C;AAAA,IA9BgB,CAAA,GAmCT6B,IAAa,CAAC;AAAA,EACzB,QAAA7B;AAAA,EACA,YAAA8B,IAAa,CAAA;AAAA,EACb,WAAAxB;AACF,MAIM;AACJ,QAAMyB,IAAgB,CAAC,GAAGJ,GAAe3B,CAAM,GAAG,GAAG8B,CAAU,EAAE;AAAA,IAC/D,CAACE,MAAU,OAAOA,KAAS,YAAYC,EAAeD,CAAI,IAAIA,IAAO,CAAA;AAAA,EAAC;AAGxE,+BACG,QAAA,EAAK,WAAA1B,GACH,UAAAyB,EAAc,IAAI,CAACC,GAAME;AAAA;AAAA,IAExBlB,gBAAAA,EAAAA,KAAC,QAAA,EAAK,WAAU,yBACb,UAAA;AAAA,MAAAgB;AAAA,MACAE,IAAQH,EAAc,SAAS,2BAC7B,QAAA,EAAK,WAAU,4BAA2B,UAAA,MAAA,CAE3C;AAAA,IAAA,EAAA,GALyCG,CAO7C;AAAA,GACD,GACH;AAEJ,GCxFaC,IAA0B,CAAC;AAAA,EACtC,QAAAnC;AACF,MAEM;AACJ,QAAMoC,IAAUpC,EAAO,UAAU,GAAG,CAAC,GAC/BqC,IAAerC,EAAO;AAE5B,SAAIoC,MAAY,UAAaC,MAAiB,SAAkB,OAG9DrB,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,uBACZ,UAAA;AAAA,IAAAoB,MAAY,iCACV,OAAA,EACC,UAAA;AAAA,MAAAlC,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,yBAAwB,UAAA,aAAS;AAAA,MACjDA,gBAAAA,EAAAA,IAACC,GAAA,EAAc,WAAU,oCACtB,iBAAOiC,KAAY,YAAY,OAAOA,KAAY,YAC/C,KAAK,UAAUA,CAAO,IACtBA,EAAA,CACN;AAAA,IAAA,GACF;AAAA,IAEDC,MAAiB,UAChBrB,gBAAAA,EAAAA,KAAC,OAAA,EACC,UAAA;AAAA,MAAAd,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,yBAAwB,UAAA,aAAS;AAAA,MACjDA,gBAAAA,EAAAA,IAACC,GAAA,EAAc,WAAU,oCACtB,iBAAOkC,KAAiB,YACzB,OAAOA,KAAiB,YACpB,KAAK,UAAUA,CAAY,IAC3BA,EAAA,CACN;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GAEJ;AAEJ,GC7BaC,IAAc,CACzBC,MAEC,OAAOA,KAAS,YACf,CAAC,UAAU,UAAU,WAAW,WAAW,MAAM,EAAE,SAASA,CAAI,KACjE,MAAM,QAAQA,CAAI,KAAKA,EAAK,MAAMD,CAAW,GAEnCE,IAAc,CAAC1B,MAC1BA,EAAM,SAAS;AAEd,MAAM,QAAQA,EAAM,IAAI,KAAKA,EAAM,KAAK,SAAS,OAAO,GAE9C2B,IAAgB,CAAC3B,MAC5BA,MACEA,EAAM,SAAS,YACf,OAAO,KAAKA,EAAM,cAAc,CAAA,CAAE,EAAE,SAAS,KAC5CA,EAAM,SAAS,WACd,OAAOA,EAAM,SAAU,aACtB,CAACA,EAAM,MAAM,QAAQA,EAAM,MAAM,SAAS,YAEpC4B,IAAgB,CAAC1C,MAC5B,OAAOA,KAAW,aACjBA,EAAO,WAAW2C,EAAY,KAAK3C,EAAO,WAAW4C,CAAiB,IAE5DC,IAAqB,CAChC7C,MAEAwC,EAAYxC,CAAM,KAAK,WAAWA,KAAU0C,EAAc1C,EAAO,KAAK,GAE3D8C,KAAyB,CACpCC,MACuB;AACvB,MAAI,OAAOA,KAAQ;AAEnB,WAAIA,EAAI,WAAWH,CAAiB,IAC3BG,EAAI,MAAMH,EAAkB,MAAM,EAAE,MAAM,GAAG,EAAE,IAAA,IAGjDG,EAAI,MAAM,GAAG,EAAE,CAAC;AACzB,GC1BMC,IAAqB,CAAC,EAAE,cAAAC,EAAA,MAC5BjC,gBAAAA,EAAAA;AAAAA,EAACS;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,eAAe;AAAA,IAEf,UAAA;AAAA,MAAAvB,gBAAAA,EAAAA,IAACgD,GAAA,EAAkB,MAAM,GAAA,CAAI;AAAA,4BAC5B,QAAA,EAAM,UAAAD,IAAe,GAAGA,CAAY,gBAAgB,WAAA,CAAW;AAAA,IAAA;AAAA,EAAA;AAClE,GAGWE,KAAqB,CAAC;AAAA,EACjC,MAAA5D;AAAA,EACA,QAAAS;AAAA,EACA,OAAAoD;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,oBAAAC,IAAqB;AACvB,MAMM;AACJ,QAAM,CAAC9C,GAAQC,CAAS,IAAIC,EAAS2C,CAAW;AAEhD,MAAIX,EAAc1C,CAAM;AACtB,WACEE,gBAAAA,EAAAA,IAACqD,GAAA,EACC,UAAAvC,gBAAAA,EAAAA,KAACwC,GAAA,EAAY,WAAU,WACrB,UAAA;AAAA,MAAAxC,gBAAAA,OAAC,OAAA,EACC,UAAA;AAAA,QAAAd,gBAAAA,EAAAA,IAACuD,KAAU,WAAU,eACnB,UAAAvD,gBAAAA,MAAC,QAAA,EAAM,aAAK,EAAA,CACd;AAAA,QACAA,gBAAAA,EAAAA;AAAAA,UAAC2B;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,QAAA7B;AAAA,YACA,YAAY;AAAA,cACVoD,MAAU,cACRlD,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,gBAAe,UAAA,YAAQ;AAAA,cAEzCA,gBAAAA,MAAC8C,OAAuB,cAAe;AAAA,YAAA;AAAA,UACzC;AAAA,QAAA;AAAA,MACF,GACF;AAAA,MACA9C,gBAAAA,MAACiC,KAAwB,QAAAnC,EAAA,CAAgB;AAAA,IAAA,EAAA,CAC3C,EAAA,CACF;AAIJ,QAAM0D,IAAgB,IACnB1D,EAAO,SACNA,EAAO,SACPA,EAAO,SACPyC,EAAczC,CAAM,KACnBwC,EAAYxC,CAAM,KACjB,WAAWA,KACXyC,EAAczC,EAAO,KAAK,KAC5BA,EAAO,yBACP,CAAC6C,EAAmB7C,CAAM,IAGxB2D,IAA0B,GAC9B3D,EAAO,eACJ,WAAWA,KAAUA,EAAO,OAAO,QACpCA,EAAO,SACPA,EAAO,QACPA,EAAO,YAAY,UACnBA,EAAO,YAAY;AAGvB,gCACGuD,GAAA,EACC,UAAA;AAAA,IAAAvC,gBAAAA,EAAAA,KAACwC,GAAA,EAAY,WAAU,WACrB,UAAA;AAAA,MAAAxC,gBAAAA,OAAC,OAAA,EACC,UAAA;AAAA,QAAAd,gBAAAA,EAAAA,IAACuD,GAAA,EAAU,WAAU,eAClB,UAAAC,IACCxD,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS,MAAMO,EAAU,CAACD,CAAM;AAAA,YAChC,MAAK;AAAA,YACL,WAAU;AAAA,YAEV,UAAAN,gBAAAA,EAAAA,IAAC,UAAM,UAAAX,EAAA,CAAK;AAAA,UAAA;AAAA,QAAA,IAGdW,gBAAAA,EAAAA,IAAC,QAAA,EAAM,UAAAX,EAAA,CAAK,EAAA,CAEhB;AAAA,QACAW,gBAAAA,EAAAA;AAAAA,UAAC2B;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,QAAA7B;AAAA,YACA,YAAY;AAAA,cACVoD,MAAU,cACRlD,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,gBAAe,UAAA,YAAQ;AAAA,cAEzC2C,EAAmB7C,CAAM,KACvBE,gBAAAA,EAAAA;AAAAA,gBAAC8C;AAAA,gBAAA;AAAA,kBACC,cAAcF,GAAuB9C,EAAO,KAAK;AAAA,gBAAA;AAAA,cAAA;AAAA,YACnD;AAAA,UAEJ;AAAA,QAAA;AAAA,MACF,GACF;AAAA,MACC2D,KACC3C,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,yBACZ,UAAA;AAAA,QAAAhB,EAAO,eACNE,gBAAAA,EAAAA,IAAC0D,GAAA,EAAS,WAAU,YAAW,SAAS5D,EAAO,aAAa;AAAA,QAE7D,WAAWA,KAAUA,EAAO,OAAO,8BACjCI,GAAA,EAAW,QAAQJ,EAAO,MAAM,KAAA,CAAM;AAAA,QAExCA,EAAO,SAASE,gBAAAA,MAACH,GAAA,EAAW,QAAAC,GAAgB,iBAAe,IAAC;AAAA,QAC5DA,EAAO,QAAQE,gBAAAA,MAACE,GAAA,EAAW,QAAQJ,EAAO,MAAM;AAAA,QACjDE,gBAAAA,MAACiC,KAAwB,QAAAnC,EAAA,CAAgB;AAAA,MAAA,EAAA,CAC3C;AAAA,IAAA,GAEJ;AAAA,IAEC0D,KAAiBJ,KAChBpD,gBAAAA,MAAC2D,GAAA,EAAY,WAAU,cACrB,UAAA3D,gBAAAA,EAAAA;AAAAA,MAACa;AAAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,WAAU;AAAA,QACV,SAAS,MAAMN,EAAU,CAACD,CAAM;AAAA,QAChC,cAAW;AAAA,QAEV,UAAAA,0BAAUsD,GAAA,EAAU,MAAM,IAAI,IAAK5D,gBAAAA,EAAAA,IAAC6D,GAAA,EAAS,MAAM,GAAA,CAAI;AAAA,MAAA;AAAA,IAAA,GAE5D;AAAA,IAGDL,KACCxD,gBAAAA,EAAAA;AAAAA,MAAC8D,EAAY;AAAA,MAAZ;AAAA,QACC,aAAAX;AAAA,QACA,MAAM7C;AAAA,QACN,cAAcC;AAAA,QACd,WAAWI,EAAG,UAAU,CAACL,KAAU,UAAU;AAAA,QAE7C,UAAAN,gBAAAA,EAAAA,IAAC8D,EAAY,SAAZ,EAAoB,SAAO,IAC1B,UAAA9D,gBAAAA,EAAAA,IAACsD,GAAA,EACE,UAAAxD,EAAO,SAASA,EAAO,SAASA,EAAO,SAAS,WAC/CE,gBAAAA,EAAAA,IAAC+D,GAAA,EAAW,QAAAjE,EAAA,CAAgB,IAC1BwC,EAAYxC,CAAM,KAAK,WAAWA,IACpCE,gBAAAA,EAAAA,IAAC+D,GAAA,EAAW,QAAQjE,EAAO,OAAO,IAChC,MACN,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ,GCnJakE,IAAgB,CAAClE,MAAyC;AACrE,QAAMmE,IAAYnE,EAAO,SAASA,EAAO,SAAS,CAAA;AAIlD,SAAIA,EAAO,cAAc,OAAO,KAAKA,EAAO,UAAU,EAAE,SAAS,IACxDmE,EAAS,IAAI,CAACC,MAGjB,CAACA,EAAQ,cACT,CAACA,EAAQ,QACT,CAACA,EAAQ,SACT,CAACA,EAAQ,QAGF;AAAA,IACL,GAAGA;AAAA,IACH,MAAM;AAAA,IACN,YAAYpE,EAAO;AAAA,IACnB,UAAUoE,EAAQ,YAAYpE,EAAO;AAAA,EAAA,IAIlCoE,CACR,IAGID;AACT,GAEaE,KAAoB,CAC/BrE,MACmC;AACnC,MAAI,MAAM,QAAQA,EAAO,KAAK,EAAG,QAAO;AAExC,QAAMsE,IAAgBtE,EAAO,eAAe;AAC5C,MAAI,CAACsE,EAAe,QAAO;AAE3B,QAAMH,IAAWD,EAAclE,CAAM,GAC/BuE,wBAAW,IAAA;AAEjB,aAAWH,KAAWD,GAAU;AAC9B,UAAMK,IAAOJ,EAAQ,aAAaE,CAAa,GAEzCxD,IACJ0D,GAAM,UACL,MAAM,QAAQA,GAAM,IAAI,KAAKA,EAAK,KAAK,WAAW,IAC/C,OAAOA,EAAK,KAAK,CAAC,CAAC,IACnB;AAEN,QAAI1D,KAAS,QAAQyD,EAAK,IAAI,OAAOzD,CAAK,CAAC,EAAG,QAAO;AACrD,IAAAyD,EAAK,IAAI,OAAOzD,CAAK,CAAC;AAAA,EACxB;AAEA,SAAO;AACT,GAEa2D,IAAkB,CAACvC,GAAekC,MAC7CA,EAAQ,OAAO,KAAA,KAAU,WAAWlC,IAAQ,CAAC,IAElCwC,KAAc,CAACN,GAAuBO,MAAwB;AACzE,QAAMC,IAAmB,CAAA;AAEzB,EAAIR,EAAQ,QACVQ,EAAO;AAAA,IACL,UAAU,MAAM,QAAQR,EAAQ,IAAI,IAAIA,EAAQ,KAAK,KAAK,GAAG,IAAIA,EAAQ,IAAI;AAAA,EAAA;AAIjF,QAAME,IAAgBK,GAAM,eAAe;AAC3C,MAAIL,GAAe;AACjB,UAAMO,IAAoBT,EAAQ,aAAaE,CAAa,GAItDQ,IACJD,GAAmB,UAClB,MAAM,QAAQA,GAAmB,IAAI,KACtCA,EAAkB,KAAK,WAAW,IAC9BA,EAAkB,KAAK,CAAC,IACxB;AAEN,IAAIC,MAAuB,UACzBF,EAAO,KAAK,GAAGN,CAAa,IAAI,KAAK,UAAUQ,CAAkB,CAAC,EAAE;AAAA,EAExE;AAEA,QAAMC,KAAYX,EAAQ,YAAY,CAAA,GAAI,OAAO,CAACY,MAAMA,MAAMV,CAAa;AAC3E,MAAIS,EAAS,QAAQ;AACnB,UAAME,IAAOF,EAAS,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,GACrCG,IAAOH,EAAS,SAAS,IAAI,KAAKA,EAAS,SAAS,CAAC,UAAU;AACrE,IAAAH,EAAO,KAAK,aAAaK,CAAI,GAAGC,CAAI,EAAE;AAAA,EACxC;AAEA,SAAON;AACT,GC7GMO,KAAgB,CAAC;AAAA,EACrB,UAAAhB;AAAA,EACA,QAAAnE;AAAA,EACA,iBAAAoF;AAAA,EACA,iBAAAC;AACF,MAKM;AACJ,QAAMC,IAAOnB,EAAS,IAAI,CAACoB,GAAGC,OAAO;AAAA,IACnC,OAAOf,EAAgBe,GAAGD,CAAC;AAAA,IAC3B,QAAQb,GAAYa,GAAGvF,CAAM;AAAA,EAAA,EAC7B;AAEF,SACEgB,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,+BACb,UAAA;AAAA,IAAAd,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,eAAc,UAAA,kBAAc;AAAA,0BACzC,OAAA,EAAI,WAAU,qCACb,UAAAc,gBAAAA,EAAAA,KAAC,SAAA,EAAM,WAAU,UACf,UAAA;AAAA,MAAAd,gBAAAA,MAAC,SAAA,EACC,UAAAc,gBAAAA,EAAAA,KAAC,MAAA,EAAG,WAAU,wBACZ,UAAA;AAAA,QAAAd,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,6BAA4B,UAAA,WAAO;AAAA,QACjDA,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,6BAA4B,UAAA,oBAAA,CAAiB;AAAA,MAAA,EAAA,CAC7D,EAAA,CACF;AAAA,MACAA,gBAAAA,EAAAA,IAAC,SAAA,EAAM,WAAU,YACd,UAAAoF,EAAK,IAAI,CAACG,MACTzE,gBAAAA,EAAAA,KAAC,MAAA,EAAmB,WAAU,qBAC5B,UAAA;AAAA,QAAAd,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,mBACZ,UAAAA,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAWW;AAAA,cACT;AAAA,cACAuE,MAAoBK,EAAI,SAAS;AAAA,YAAA;AAAA,YAEnC,SAAS,MAAMJ,EAAgBI,EAAI,KAAK;AAAA,YAEvC,UAAAA,EAAI;AAAA,UAAA;AAAA,QAAA,GAET;AAAA,QACAvF,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,qCACX,UAAAuF,EAAI,OAAO,SAAS,IACjBA,EAAI,OAAO,KAAK,KAAK,IACrB,uBAAA,CACN;AAAA,MAAA,KAjBOA,EAAI,KAkBb,CACD,EAAA,CACH;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,EAAA,GACF;AAEJ,GAEaC,KAAY,CAAC;AAAA,EACxB,QAAA1F;AAAA,EACA,YAAA2F;AACF,MAGM;AACJ,QAAMC,IAAO,MAAM,QAAQ5F,EAAO,KAAK,IACnC,UACA,MAAM,QAAQA,EAAO,KAAK,IACxB,UACA,QAEAmE,IAAWyB,IAAO1B,EAAclE,CAAM,IAAI,CAAA,GAC1C,CAACoF,GAAiBS,CAAkB,IAAInF;AAAA,IAAS,MACrDyD,EAAS,CAAC,IAAIM,EAAgB,GAAGN,EAAS,CAAC,CAAC,IAAI;AAAA,EAAA;AAGlD,MAAI,CAACyB,EAAM,QAAO;AAIlB,QAAME,IAFczB,GAAkBrE,CAAM,MAG1B,gBACdgB,gBAAAA,EAAAA,KAAAY,EAAAA,UAAA,EAAE,UAAA;AAAA,IAAA;AAAA,IACoB1B,gBAAAA,EAAAA,IAAC,OAAE,UAAA,aAAA,CAAU;AAAA,IAAI;AAAA,EAAA,EAAA,CACvC,IAEAc,gBAAAA,EAAAA,KAAAY,EAAAA,UAAA,EAAE,UAAA;AAAA,IAAA;AAAA,IACqB1B,gBAAAA,EAAAA,IAAC,OAAE,UAAA,aAAA,CAAU;AAAA,IAAI;AAAA,IAAoB;AAAA,IAC1DA,gBAAAA,EAAAA,IAAC,OAAE,UAAA,YAAA,CAAS;AAAA,IAAI;AAAA,EAAA,GAClB,GAGE6F,IAAsB5B,EAAS;AAAA,IACnC,CAACoB,GAAGC,MAAMf,EAAgBe,GAAGD,CAAC,MAAMH;AAAA,EAAA,GAEhCY,IACJD,KAAuB,IAAI5B,EAAS4B,CAAmB,IAAI;AAE7D,gCACGE,IAAA,EACE,UAAA;AAAA,IAAAN;AAAA,IACD3E,gBAAAA,EAAAA,KAACkF,IAAA,EAAW,WAAU,+BACpB,UAAA;AAAA,MAAAlF,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,QAAAd,gBAAAA,EAAAA,IAACiG,IAAA,EAAM,SAAQ,WAAW,UAAAP,GAAK;AAAA,QAC/B1F,gBAAAA,EAAAA,IAAC,SAAI,WAAU,cACb,gCAAC,QAAA,EAAK,WAAU,WAAW,UAAA4F,EAAA,CAAiB,EAAA,CAC9C;AAAA,MAAA,GACF;AAAA,MAEA5F,gBAAAA,EAAAA;AAAAA,QAACiF;AAAA,QAAA;AAAA,UACC,UAAAhB;AAAA,UACA,QAAAnE;AAAA,UACA,iBAAAoF;AAAA,UACA,iBAAiBS;AAAA,QAAA;AAAA,MAAA;AAAA,6BAElB,UAAA,EAAO,UAAA;AAAA,QAAA;AAAA,QAAgBT;AAAA,QAAgB;AAAA,MAAA,GAAC;AAAA,MACxCY,KAAkB9F,gBAAAA,EAAAA,IAAC+D,GAAA,EAAW,QAAQ+B,EAAA,CAAgB;AAAA,IAAA,EAAA,CACzD;AAAA,EAAA,GACF;AAEJ,GC9GMI,KAAiB,CAACC,MACtBA,KACEnG,gBAAAA,EAAAA;AAAAA,EAAC0D;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,SAAAyC;AAAA,EAAA;AACF,GAGEC,KAAoB,CACxBtG,GACA2F,GACAY,MACG;AACH,QAAMF,IACJrF,gBAAAA,EAAAA,KAAAY,EAAAA,UAAA,EACE,UAAA;AAAA,IAAA1B,gBAAAA,EAAAA,IAAC,UAAK,WAAU,iCACd,UAAAA,gBAAAA,EAAAA,IAAC2B,GAAA,EAAW,QAAA7B,GAAgB,GAC9B;AAAA,IACCA,EAAO,QAAQE,gBAAAA,MAACE,GAAA,EAAW,QAAQJ,EAAO,MAAM;AAAA,IAChDoG,GAAepG,EAAO,WAAW;AAAA,IAClCE,gBAAAA,MAACiC,KAAwB,QAAAnC,EAAA,CAAgB;AAAA,EAAA,GAC3C;AAGF,SAAIuG,IACKrG,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,iBAAiB,UAAAmG,GAAQ,2BAI9CJ,GAAA,EACE,UAAA;AAAA,IAAAN;AAAA,IACDzF,gBAAAA,EAAAA,IAACgG,GAAA,EAAW,WAAU,aAAa,UAAAG,EAAA,CAAQ;AAAA,EAAA,GAC7C;AAEJ,GAEapC,IAAa,CAAC;AAAA,EACzB,QAAAjE;AAAA,EACA,aAAAqD,IAAc;AAAA,EACd,YAAAsC;AAAA,EACA,UAAAY;AACF,MAKM;AACJ,MAAI,CAACvG,KAAU,OAAO,KAAKA,CAAM,EAAE,WAAW;AAC5C,kCACGiG,GAAA,EACE,UAAA;AAAA,MAAAN;AAAA,4BACAO,GAAA,EACC,UAAAhG,gBAAAA,MAAC,SAAI,WAAU,wCAAuC,8BAEtD,EAAA,CACF;AAAA,IAAA,GACF;AAIJ,MAAIF,EAAO;AACT,WAAOE,gBAAAA,MAACH,KAAW,QAAAC,GAAgB;AAGrC,MAAI,MAAM,QAAQA,EAAO,KAAK,KAAK,MAAM,QAAQA,EAAO,KAAK;AAC3D,WAAOE,gBAAAA,EAAAA,IAACwF,IAAA,EAAU,QAAA1F,GAAgB,YAAA2F,EAAA,CAAwB;AAG5D,MAAIrD,EAAYtC,EAAO,IAAI;AACzB,WAAOsG,GAAkBtG,GAAQ2F,GAAYY,CAAQ;AAGvD,MAAI/D,EAAYxC,CAAM,KAAK,OAAOA,EAAO,SAAU,UAAU;AAC3D,UAAMwG,IAA8B;AAAA,MAClC,MAAM;AAAA,MACN,YAAY,EAAE,IAAIxG,EAAA;AAAA,IAAO;AAG3B,iCACGiE,GAAA,EAAW,QAAQuC,GAAe,YAAAb,GAAwB,aAAW,IAAC;AAAA,EAE3E;AAEA,QAAMc,IAA6B,OAAOzG,EAAO,wBAC/C,YAAYE,gBAAAA,EAAAA,IAAC+D,GAAA,EAAW,QAAQjE,EAAO,sBAAsB,UAAQ,GAAA,CAAC;AAExE,MAAIA,EAAO,SAAS,UAAU;AAC5B,UAAM0G,IAAoBjH;AAAA,MACxB,OAAO,QAAQO,EAAO,cAAc,CAAA,CAAE;AAAA,MACtC,CAAC,CAAC2G,GAAcC,CAAQ,MACfA,EAAS,aACZ,eACA5G,EAAO,UAAU,SAAS2G,CAAY,IACpC,aACA;AAAA,IACR,GASIE,IANa,CAAC,YAAY,YAAY,YAAY,EAC9B,QAAQ,CAACzD,MAAU;AAC3C,YAAM0D,IAAaJ,EAAkBtD,CAAK;AAC1C,aAAO0D,IAAa,EAAE,OAAA1D,GAAO,YAAA0D,EAAA,IAAe,CAAA;AAAA,IAC9C,CAAC,EAEwB,IAAI,CAAC,EAAE,OAAA1D,GAAO,YAAA0D,EAAA,GAAc5E,MACnDlB,gBAAAA,EAAAA,KAACY,GAAA,EACE,UAAA;AAAA,MAAAM,IAAQ,2BAAM6E,GAAA,CAAA,CAAc;AAAA,MAC7B7G,gBAAAA,EAAAA,IAAC8G,GAAA,EAAU,WAAU,iBAClB,YAAW,IAAI,CAAC,CAACzH,GAAMS,CAAM,GAAGkC,MAC/BlB,gBAAAA,EAAAA,KAACY,GAAA,EACE,UAAA;AAAA,QAAAM,IAAQ,KAAKhC,gBAAAA,MAAC6G,GAAA,CAAA,CAAc;AAAA,QAC7B7G,gBAAAA,EAAAA;AAAAA,UAACiD;AAAA,UAAA;AAAA,YACC,MAAA5D;AAAA,YACA,QAAQS;AAAAA,YACR,OAAAoD;AAAA,YACA,aAAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,EAAA,GAPa9D,CAQf,CACD,EAAA,CACH;AAAA,IAAA,EAAA,GAda6D,CAef,CACD;AAED,WAAImD,IACKM,2BAINZ,GAAA,EACE,UAAA;AAAA,MAAAN;AAAA,MACA3F,EAAO,eACNE,gBAAAA,EAAAA,IAAC+G,GAAA,EACC,gCAACC,IAAA,EAAkB,UAAAlH,EAAO,aAAY,EAAA,CACxC;AAAA,OAEA6G,EAAU,SAAS,KAAKJ,MACxBzF,gBAAAA,OAACkF,GAAA,EAAW,WAAU,QACnB,UAAA;AAAA,QAAAW;AAAA,QACAJ;AAAA,MAAA,GACH;AAAA,MAEDzG,EAAO,yBAAyB,MAC/BE,gBAAAA,EAAAA,IAACiH,IAAA,EACC,UAAAnG,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,MAAK;AAAA,UACL,KAAI;AAAA,UACJ,QAAO;AAAA,UACR,UAAA;AAAA,YAAA;AAAA,YAECd,gBAAAA,EAAAA,IAACkH,GAAA,EAAS,MAAM,GAAA,CAAI;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,EACtB,CACF;AAAA,IAAA,GAEJ;AAAA,EAEJ;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Secret-BDBqq4p3.js","sources":["../src/lib/ui/Select.tsx","../src/lib/ui/Secret.tsx"],"sourcesContent":["import * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport type * as React from \"react\";\nimport { cn } from \"./util.js\";\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-placeholder:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-32 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n","import { CheckIcon, CopyIcon, EyeIcon, EyeOffIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { cn } from \"../util/cn.js\";\nimport { useCopyToClipboard } from \"../util/useCopyToClipboard.js\";\nimport { Button } from \"./Button.js\";\n\ntype Status = \"active\" | \"expired\" | \"expiring\" | \"revoked\" | \"none\";\n\nexport const SecretText = ({\n secret,\n revealed = false,\n previewChars = 5,\n className,\n}: {\n secret: string;\n revealed?: boolean;\n previewChars?: number;\n className?: string;\n}) => {\n return (\n <span className={cn(\"w-full truncate\", className)}>\n <div\n className={cn(\n \"w-40 inline-block md:w-fit\",\n revealed ? \"\" : \"opacity-50\",\n )}\n >\n {revealed\n ? secret.slice(0, previewChars === 0 ? secret.length : -previewChars)\n : \"•••• \".repeat(\n secret.slice(\n 0,\n previewChars === 0 ? secret.length : -previewChars,\n ).length / 5,\n ) +\n \"•\".repeat(\n secret.slice(\n 0,\n previewChars === 0 ? secret.length : -previewChars,\n ).length % 5,\n )}\n </div>\n {previewChars > 0 && <span>{secret.slice(-previewChars)}</span>}\n </span>\n );\n};\n\nexport const Secret = ({\n secret,\n preview = 5,\n className,\n status,\n onCopy,\n revealed: controlledRevealed,\n onReveal,\n noReveal: disabledReveal,\n}: {\n revealed?: boolean;\n noReveal?: boolean;\n secret: string;\n status?: Status;\n className?: string;\n preview?: number;\n onCopy?: (secret: string) => void;\n onReveal?: (revealed: boolean) => void;\n}) => {\n const previewChars = Math.abs(preview);\n const [isRevealed, setRevealed] = useState(false);\n const [isCopied, copyToClipboard] = useCopyToClipboard();\n\n const revealed = controlledRevealed ?? isRevealed;\n\n return (\n <div\n className={cn(\n \"flex gap-2 items-center text-sm border rounded-md px-1\",\n className,\n )}\n >\n <div className=\"font-mono w-full h-9 items-center flex px-2 text-xs gap-2\">\n {status && (\n <div\n className={cn(\n \"rounded-full shrink-0 w-2 h-2 mr-2\",\n status === \"active\" && \"bg-emerald-400\",\n status === \"expired\" && \"bg-neutral-200\",\n status === \"expiring\" && \"bg-yellow-400\",\n status === \"revoked\" && \"bg-red-400\",\n status === \"none\" && \"opacity-0\",\n )}\n />\n )}\n <SecretText\n secret={secret}\n revealed={revealed}\n previewChars={previewChars}\n />\n </div>\n {disabledReveal !== true && (\n <Button\n variant=\"ghost\"\n onClick={() => {\n setRevealed((prev) => !prev);\n onReveal?.(!revealed);\n }}\n size=\"icon\"\n >\n {revealed ? <EyeOffIcon size={16} /> : <EyeIcon size={16} />}\n </Button>\n )}\n <Button\n variant=\"ghost\"\n onClick={() => {\n copyToClipboard(secret);\n onCopy?.(secret);\n }}\n size=\"icon\"\n >\n {isCopied ? <CheckIcon size={16} /> : <CopyIcon size={16} />}\n </Button>\n </div>\n );\n};\n"],"names":["Select","props","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","size","children","jsxs","cn","jsx","ChevronDownIcon","SelectContent","position","align","SelectScrollUpButton","SelectScrollDownButton","SelectItem","CheckIcon","ChevronUpIcon","SecretText","secret","revealed","previewChars","Secret","preview","status","onCopy","controlledRevealed","onReveal","disabledReveal","isRevealed","setRevealed","useState","isCopied","copyToClipboard","useCopyToClipboard","Button","prev","EyeOffIcon","EyeIcon","CopyIcon"],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { j as i } from "./jsx-runtime-BzflLqGi.js";
2
- import * as n from "@radix-ui/react-separator";
3
- import { c as e } from "./cn-5-Gd1Dss.js";
4
- function p({
5
- className: t,
6
- orientation: a = "horizontal",
7
- decorative: o = !0,
8
- ...r
9
- }) {
10
- return /* @__PURE__ */ i.jsx(
11
- n.Root,
12
- {
13
- "data-slot": "separator",
14
- decorative: o,
15
- orientation: a,
16
- className: e(
17
- "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
18
- t
19
- ),
20
- ...r
21
- }
22
- );
23
- }
24
- export {
25
- p as S
26
- };
27
- //# sourceMappingURL=Separator-BXt1LYnm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Separator-BXt1LYnm.js","sources":["../src/lib/ui/Separator.tsx"],"sourcesContent":["import * as SeparatorPrimitive from \"@radix-ui/react-separator\";\nimport type * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n"],"names":["Separator","className","orientation","decorative","props","jsx","SeparatorPrimitive","cn"],"mappings":";;;AAIA,SAASA,EAAU;AAAA,EACjB,WAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,YAAAC,IAAa;AAAA,EACb,GAAGC;AACL,GAAyD;AACvD,SACEC,gBAAAA,EAAAA;AAAAA,IAACC,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,YAAAH;AAAA,MACA,aAAAD;AAAA,MACA,WAAWK;AAAA,QACT;AAAA,QACAN;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1,387 +0,0 @@
1
- import { a as L, u as T, e as q } from "./useSuspenseQuery-CSB_rVek.js";
2
- import S, { useCallback as Z, createContext as F, useContext as K, useEffect as Q } from "react";
3
- import { a as b, m as x } from "./chunk-EPOLDU6W-C6C8jAwd.js";
4
- import { c as U } from "./index-DI5SPFK9.js";
5
- const N = (t) => {
6
- let n;
7
- const e = /* @__PURE__ */ new Set(), r = (l, m) => {
8
- const g = typeof l == "function" ? l(n) : l;
9
- if (!Object.is(g, n)) {
10
- const v = n;
11
- n = m ?? (typeof g != "object" || g === null) ? g : Object.assign({}, n, g), e.forEach((p) => p(n, v));
12
- }
13
- }, a = () => n, i = { setState: r, getState: a, getInitialState: () => c, subscribe: (l) => (e.add(l), () => e.delete(l)) }, c = n = t(r, a, i);
14
- return i;
15
- }, J = ((t) => t ? N(t) : N), $ = (t) => t;
16
- function B(t, n = $) {
17
- const e = S.useSyncExternalStore(
18
- t.subscribe,
19
- S.useCallback(() => n(t.getState()), [t, n]),
20
- S.useCallback(() => n(t.getInitialState()), [t, n])
21
- );
22
- return S.useDebugValue(e), e;
23
- }
24
- const M = (t) => {
25
- const n = J(t), e = (r) => B(n, r);
26
- return Object.assign(e, n), e;
27
- }, Y = ((t) => M);
28
- function _(t, n) {
29
- let e;
30
- try {
31
- e = t();
32
- } catch {
33
- return;
34
- }
35
- return {
36
- getItem: (a) => {
37
- var s;
38
- const u = (c) => c === null ? null : JSON.parse(c, void 0), i = (s = e.getItem(a)) != null ? s : null;
39
- return i instanceof Promise ? i.then(u) : u(i);
40
- },
41
- setItem: (a, s) => e.setItem(a, JSON.stringify(s, void 0)),
42
- removeItem: (a) => e.removeItem(a)
43
- };
44
- }
45
- const w = (t) => (n) => {
46
- try {
47
- const e = t(n);
48
- return e instanceof Promise ? e : {
49
- then(r) {
50
- return w(r)(e);
51
- },
52
- catch(r) {
53
- return this;
54
- }
55
- };
56
- } catch (e) {
57
- return {
58
- then(r) {
59
- return this;
60
- },
61
- catch(r) {
62
- return w(r)(e);
63
- }
64
- };
65
- }
66
- }, z = (t, n) => (e, r, a) => {
67
- let s = {
68
- storage: _(() => localStorage),
69
- partialize: (o) => o,
70
- version: 0,
71
- merge: (o, y) => ({
72
- ...y,
73
- ...o
74
- }),
75
- ...n
76
- }, u = !1;
77
- const i = /* @__PURE__ */ new Set(), c = /* @__PURE__ */ new Set();
78
- let l = s.storage;
79
- if (!l)
80
- return t(
81
- (...o) => {
82
- console.warn(
83
- `[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`
84
- ), e(...o);
85
- },
86
- r,
87
- a
88
- );
89
- const m = () => {
90
- const o = s.partialize({ ...r() });
91
- return l.setItem(s.name, {
92
- state: o,
93
- version: s.version
94
- });
95
- }, g = a.setState;
96
- a.setState = (o, y) => (g(o, y), m());
97
- const v = t(
98
- (...o) => (e(...o), m()),
99
- r,
100
- a
101
- );
102
- a.getInitialState = () => v;
103
- let p;
104
- const k = () => {
105
- var o, y;
106
- if (!l) return;
107
- u = !1, i.forEach((d) => {
108
- var f;
109
- return d((f = r()) != null ? f : v);
110
- });
111
- const I = ((y = s.onRehydrateStorage) == null ? void 0 : y.call(s, (o = r()) != null ? o : v)) || void 0;
112
- return w(l.getItem.bind(l))(s.name).then((d) => {
113
- if (d)
114
- if (typeof d.version == "number" && d.version !== s.version) {
115
- if (s.migrate) {
116
- const f = s.migrate(
117
- d.state,
118
- d.version
119
- );
120
- return f instanceof Promise ? f.then((P) => [!0, P]) : [!0, f];
121
- }
122
- console.error(
123
- "State loaded from storage couldn't be migrated since no migrate function was provided"
124
- );
125
- } else
126
- return [!1, d.state];
127
- return [!1, void 0];
128
- }).then((d) => {
129
- var f;
130
- const [P, H] = d;
131
- if (p = s.merge(
132
- H,
133
- (f = r()) != null ? f : v
134
- ), e(p, !0), P)
135
- return m();
136
- }).then(() => {
137
- I?.(p, void 0), p = r(), u = !0, c.forEach((d) => d(p));
138
- }).catch((d) => {
139
- I?.(void 0, d);
140
- });
141
- };
142
- return a.persist = {
143
- setOptions: (o) => {
144
- s = {
145
- ...s,
146
- ...o
147
- }, o.storage && (l = o.storage);
148
- },
149
- clearStorage: () => {
150
- l?.removeItem(s.name);
151
- },
152
- getOptions: () => s,
153
- rehydrate: () => k(),
154
- hasHydrated: () => u,
155
- onHydrate: (o) => (i.add(o), () => {
156
- i.delete(o);
157
- }),
158
- onFinishHydration: (o) => (c.add(o), () => {
159
- c.delete(o);
160
- })
161
- }, s.skipHydration || k(), p || v;
162
- }, G = z, W = (t) => {
163
- const n = (e) => {
164
- e.key === t.persist.getOptions().name && e.newValue && t.persist.rehydrate();
165
- };
166
- if (!(typeof window > "u"))
167
- return window.addEventListener("storage", n), () => {
168
- window.removeEventListener("storage", n);
169
- };
170
- }, j = Y()(
171
- G(
172
- (t) => ({
173
- isAuthenticated: !1,
174
- isPending: !0,
175
- profile: null,
176
- providerData: null,
177
- setAuthenticationPending: () => t(() => ({
178
- isAuthenticated: !1,
179
- isPending: !1,
180
- profile: null,
181
- providerData: null
182
- })),
183
- setLoggedOut: () => t(() => ({
184
- isAuthenticated: !1,
185
- isPending: !1,
186
- profile: null,
187
- providerData: null
188
- })),
189
- setLoggedIn: ({
190
- profile: n,
191
- providerData: e
192
- }) => t(() => ({
193
- isAuthenticated: !0,
194
- isPending: !1,
195
- profile: n,
196
- providerData: e
197
- }))
198
- }),
199
- {
200
- merge: (t, n) => ({
201
- ...n,
202
- isPending: !1,
203
- ...typeof t == "object" ? t : {}
204
- }),
205
- name: "auth-state",
206
- storage: _(() => localStorage)
207
- }
208
- )
209
- );
210
- W(j);
211
- const X = /^(\w+:\/\/[^/?]+)?([^?]*)(\?.*)?$/, V = (t) => t.filter(
212
- (n) => n != null && n !== !1 && (typeof n == "string" || typeof n == "number")
213
- ).map((n) => `${n}`).filter((n) => n), tt = (t) => {
214
- const n = t.join("/"), [, e = "", r = ""] = n.match(X) ?? [];
215
- return {
216
- prefix: e,
217
- pathname: r.split("/").filter((a) => a !== "")
218
- };
219
- }, et = (t) => {
220
- const { prefix: n, pathname: e } = t;
221
- let r = n;
222
- return e.length > 0 ? (r ? r += "/" : r = "/", r += e.join("/")) : r || (r = "/"), r;
223
- }, h = (...t) => {
224
- const n = V(t), e = tt(n);
225
- return et(e);
226
- }, O = Object.freeze({
227
- API_IDENTITIES: ["api-identities"]
228
- }), nt = () => {
229
- const t = L();
230
- return { invalidateCache: Z(
231
- (e) => t.invalidateQueries({ queryKey: O[e] }),
232
- [t]
233
- ) };
234
- }, ct = "no-dehydrate", E = (t, n) => {
235
- for (const e of t) {
236
- const r = A(e, n);
237
- if (r !== void 0) return r;
238
- }
239
- }, A = (t, n, e = []) => {
240
- const r = n(t, e);
241
- if (r !== void 0) return r;
242
- if (t.type === "category")
243
- for (const a of t.items) {
244
- const s = A(a, n, [
245
- ...e,
246
- t
247
- ]);
248
- if (s !== void 0) return s;
249
- }
250
- }, lt = () => {
251
- const t = b(), { navigation: n } = R();
252
- return E(n, (e) => {
253
- if (e.type === "doc" && h(e.path) === t.pathname)
254
- return e;
255
- });
256
- }, dt = (t) => {
257
- const n = b();
258
- return A(t, (e) => {
259
- switch (e.type) {
260
- case "category":
261
- return e.link && h(e.link.path) === n.pathname ? !0 : void 0;
262
- case "custom-page":
263
- case "doc":
264
- return h(e.path) === n.pathname ? !0 : void 0;
265
- default:
266
- return;
267
- }
268
- });
269
- }, ft = () => {
270
- const t = b().pathname, { navigation: n } = R();
271
- let e, r, a = !1;
272
- return E(n, (s) => {
273
- const u = s.type === "doc" ? h(s.path) : s.type === "category" && s.link ? h(s.link.path) : void 0;
274
- if (u) {
275
- if (a)
276
- return r = { label: s.label, id: u }, !0;
277
- t === u ? a = !0 : e = { label: s.label, id: u };
278
- }
279
- }), { prev: e, next: r };
280
- }, pt = U(
281
- "relative flex items-center gap-2 px-(--padding-nav-item) my-0.5 py-1.5 rounded-lg hover:bg-accent tabular-nums",
282
- {
283
- variants: {
284
- isActive: {
285
- true: "bg-accent font-medium",
286
- false: "text-foreground/80"
287
- },
288
- isMuted: {
289
- true: "text-foreground/30",
290
- false: ""
291
- },
292
- isPending: {
293
- true: "bg-accent animate-pulse",
294
- false: ""
295
- }
296
- },
297
- defaultVariants: {
298
- isActive: !1
299
- }
300
- }
301
- ), ht = (t, n) => (e) => typeof e.display == "function" ? e.display({ context: n, auth: t }) : e.display === "hide" || !e.label ? !1 : e.display === "auth" && t.isAuthenticated || e.display === "anon" && !t.isAuthenticated || !e.display || e.display === "always", rt = F(
302
- void 0
303
- ), D = () => {
304
- const t = K(rt);
305
- if (!t)
306
- throw new Error("useZudoku must be used within a ZudokuProvider.");
307
- return t;
308
- }, gt = () => {
309
- const { getApiIdentities: t } = D(), { isAuthenticated: n } = j(), { invalidateCache: e } = nt();
310
- return Q(() => {
311
- n || e("API_IDENTITIES");
312
- }, [n, e]), q({
313
- queryFn: t,
314
- queryKey: O.API_IDENTITIES
315
- });
316
- }, C = (t) => {
317
- switch (t.type) {
318
- case "doc":
319
- return h(t.path);
320
- case "category":
321
- return t.link ? h(t.link.path) : void 0;
322
- case "link":
323
- return t.to;
324
- case "custom-page":
325
- return h(t.path);
326
- default:
327
- return;
328
- }
329
- }, st = (t) => {
330
- const n = /* @__PURE__ */ new Set(), e = (r) => {
331
- for (const a of r) {
332
- const s = C(a)?.split("?").at(0)?.split("#").at(0);
333
- s && n.add(s), a.type === "category" && e(a.items);
334
- }
335
- };
336
- return e(t), [...n];
337
- }, R = () => {
338
- const { getPluginNavigation: t, navigation: n } = D(), e = b(), r = E(n, (u, i) => {
339
- if (C(u) === e.pathname)
340
- return i.at(0) ?? u;
341
- }), { data: a } = T({
342
- queryFn: () => t(e.pathname),
343
- queryKey: ["plugin-navigation", e.pathname]
344
- });
345
- let s = r;
346
- if (!r && a.length > 0) {
347
- const u = st(a);
348
- s = n.flatMap((i) => {
349
- const c = C(i);
350
- return c ? [{ item: i, path: c }] : [];
351
- }).sort((i, c) => c.path.length - i.path.length).find(({ path: i }) => u.some(
352
- (c) => x({ path: i, end: !1 }, c) ?? x({ path: c, end: !1 }, i)
353
- ))?.item;
354
- }
355
- return {
356
- navigation: [
357
- ...r?.type === "category" ? r.items : [],
358
- ...a
359
- ],
360
- topNavItem: s
361
- };
362
- };
363
- export {
364
- O as C,
365
- ct as N,
366
- rt as Z,
367
- D as a,
368
- lt as b,
369
- ft as c,
370
- nt as d,
371
- R as e,
372
- Y as f,
373
- _ as g,
374
- gt as h,
375
- dt as i,
376
- h as j,
377
- ht as k,
378
- J as l,
379
- B as m,
380
- pt as n,
381
- A as o,
382
- G as p,
383
- W as s,
384
- E as t,
385
- j as u
386
- };
387
- //# sourceMappingURL=ZudokuContext-BZB1TWdT.js.map