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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaView-ScvkhsYE.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 const items =\n schema.type === \"array\" && typeof schema.items === \"object\"\n ? schema.items\n : undefined;\n\n return [\n items?.type\n ? Array.isArray(items.type)\n ? `(${items.type.join(\" | \")})[]`\n : `${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 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 {\"\\u200B\"}\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 {\"\\u200B\"}\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","items","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":"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"}
@@ -1,34 +1,53 @@
1
1
  import { j as e } from "./jsx-runtime-BzflLqGi.js";
2
- import * as o from "@radix-ui/react-select";
3
- import { ChevronDownIcon as u, CheckIcon as m, ChevronUpIcon as z, EyeOffIcon as w, EyeIcon as S, CopyIcon as N } from "lucide-react";
2
+ import { memo as z, useState as w } from "react";
3
+ import { a as S } from "./ZudokuContext-CYyb_PB_.js";
4
+ import { h as N } from "./SyntaxHighlight-BMu0b_hF.js";
5
+ import { i as k } from "./invariant-B_t_F2s_.js";
6
+ import { CodeBlock as I } from "./ui/CodeBlock.js";
7
+ import { EmbeddedCodeBlock as C } from "./ui/EmbeddedCodeBlock.js";
8
+ import * as n from "@radix-ui/react-select";
9
+ import { ChevronDownIcon as u, CheckIcon as g, ChevronUpIcon as _, EyeOffIcon as B, EyeIcon as T, CopyIcon as R } from "lucide-react";
4
10
  import { cn as l } from "./ui/util.js";
5
- import { useState as I } from "react";
6
- import { c as r } from "./cn-5-Gd1Dss.js";
7
- import { u as k } from "./useCopyToClipboard-B_085nfO.js";
8
- import { Button as c } from "./ui/Button.js";
9
- function P({
11
+ import { c as d } from "./cn-5-Gd1Dss.js";
12
+ import { u as E } from "./useCopyToClipboard-B_085nfO.js";
13
+ import { Button as m } from "./ui/Button.js";
14
+ const H = z(
15
+ ({ code: t, children: a, embedded: s, ...o }) => {
16
+ const { syntaxHighlighting: i } = S().options;
17
+ k(i?.highlighter, "Highlighter not found");
18
+ const r = N(
19
+ i.highlighter,
20
+ t ?? a,
21
+ o.language,
22
+ i.themes
23
+ );
24
+ return s ? /* @__PURE__ */ e.jsx(C, { ...o, children: r }) : /* @__PURE__ */ e.jsx(I, { ...o, children: r });
25
+ }
26
+ );
27
+ H.displayName = "SyntaxHighlight";
28
+ function Q({
10
29
  ...t
11
30
  }) {
12
- return /* @__PURE__ */ e.jsx(o.Root, { "data-slot": "select", ...t });
31
+ return /* @__PURE__ */ e.jsx(n.Root, { "data-slot": "select", ...t });
13
32
  }
14
- function M({
33
+ function W({
15
34
  ...t
16
35
  }) {
17
- return /* @__PURE__ */ e.jsx(o.Group, { "data-slot": "select-group", ...t });
36
+ return /* @__PURE__ */ e.jsx(n.Group, { "data-slot": "select-group", ...t });
18
37
  }
19
- function O({
38
+ function X({
20
39
  ...t
21
40
  }) {
22
- return /* @__PURE__ */ e.jsx(o.Value, { "data-slot": "select-value", ...t });
41
+ return /* @__PURE__ */ e.jsx(n.Value, { "data-slot": "select-value", ...t });
23
42
  }
24
- function $({
43
+ function Y({
25
44
  className: t,
26
45
  size: a = "default",
27
46
  children: s,
28
- ...n
47
+ ...o
29
48
  }) {
30
49
  return /* @__PURE__ */ e.jsxs(
31
- o.Trigger,
50
+ n.Trigger,
32
51
  {
33
52
  "data-slot": "select-trigger",
34
53
  "data-size": a,
@@ -36,23 +55,23 @@ function $({
36
55
  "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",
37
56
  t
38
57
  ),
39
- ...n,
58
+ ...o,
40
59
  children: [
41
60
  s,
42
- /* @__PURE__ */ e.jsx(o.Icon, { asChild: !0, children: /* @__PURE__ */ e.jsx(u, { className: "size-4 opacity-50" }) })
61
+ /* @__PURE__ */ e.jsx(n.Icon, { asChild: !0, children: /* @__PURE__ */ e.jsx(u, { className: "size-4 opacity-50" }) })
43
62
  ]
44
63
  }
45
64
  );
46
65
  }
47
- function q({
66
+ function ee({
48
67
  className: t,
49
68
  children: a,
50
69
  position: s = "popper",
51
- align: n = "center",
70
+ align: o = "center",
52
71
  ...i
53
72
  }) {
54
- return /* @__PURE__ */ e.jsx(o.Portal, { children: /* @__PURE__ */ e.jsxs(
55
- o.Content,
73
+ return /* @__PURE__ */ e.jsx(n.Portal, { children: /* @__PURE__ */ e.jsxs(
74
+ n.Content,
56
75
  {
57
76
  "data-slot": "select-content",
58
77
  className: l(
@@ -61,12 +80,12 @@ function q({
61
80
  t
62
81
  ),
63
82
  position: s,
64
- align: n,
83
+ align: o,
65
84
  ...i,
66
85
  children: [
67
- /* @__PURE__ */ e.jsx(_, {}),
86
+ /* @__PURE__ */ e.jsx(D, {}),
68
87
  /* @__PURE__ */ e.jsx(
69
- o.Viewport,
88
+ n.Viewport,
70
89
  {
71
90
  className: l(
72
91
  "p-1",
@@ -75,18 +94,18 @@ function q({
75
94
  children: a
76
95
  }
77
96
  ),
78
- /* @__PURE__ */ e.jsx(C, {})
97
+ /* @__PURE__ */ e.jsx(U, {})
79
98
  ]
80
99
  }
81
100
  ) });
82
101
  }
83
- function A({
102
+ function te({
84
103
  className: t,
85
104
  children: a,
86
105
  ...s
87
106
  }) {
88
107
  return /* @__PURE__ */ e.jsxs(
89
- o.Item,
108
+ n.Item,
90
109
  {
91
110
  "data-slot": "select-item",
92
111
  className: l(
@@ -95,18 +114,18 @@ function A({
95
114
  ),
96
115
  ...s,
97
116
  children: [
98
- /* @__PURE__ */ e.jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ e.jsx(o.ItemIndicator, { children: /* @__PURE__ */ e.jsx(m, { className: "size-4" }) }) }),
99
- /* @__PURE__ */ e.jsx(o.ItemText, { children: a })
117
+ /* @__PURE__ */ e.jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ e.jsx(n.ItemIndicator, { children: /* @__PURE__ */ e.jsx(g, { className: "size-4" }) }) }),
118
+ /* @__PURE__ */ e.jsx(n.ItemText, { children: a })
100
119
  ]
101
120
  }
102
121
  );
103
122
  }
104
- function _({
123
+ function D({
105
124
  className: t,
106
125
  ...a
107
126
  }) {
108
127
  return /* @__PURE__ */ e.jsx(
109
- o.ScrollUpButton,
128
+ n.ScrollUpButton,
110
129
  {
111
130
  "data-slot": "select-scroll-up-button",
112
131
  className: l(
@@ -114,16 +133,16 @@ function _({
114
133
  t
115
134
  ),
116
135
  ...a,
117
- children: /* @__PURE__ */ e.jsx(z, { className: "size-4" })
136
+ children: /* @__PURE__ */ e.jsx(_, { className: "size-4" })
118
137
  }
119
138
  );
120
139
  }
121
- function C({
140
+ function U({
122
141
  className: t,
123
142
  ...a
124
143
  }) {
125
144
  return /* @__PURE__ */ e.jsx(
126
- o.ScrollDownButton,
145
+ n.ScrollDownButton,
127
146
  {
128
147
  "data-slot": "select-scroll-down-button",
129
148
  className: l(
@@ -135,16 +154,16 @@ function C({
135
154
  }
136
155
  );
137
156
  }
138
- const T = ({
157
+ const V = ({
139
158
  secret: t,
140
159
  revealed: a = !1,
141
160
  previewChars: s = 5,
142
- className: n
143
- }) => /* @__PURE__ */ e.jsxs("span", { className: r("w-full truncate", n), children: [
161
+ className: o
162
+ }) => /* @__PURE__ */ e.jsxs("span", { className: d("w-full truncate", o), children: [
144
163
  /* @__PURE__ */ e.jsx(
145
164
  "div",
146
165
  {
147
- className: r(
166
+ className: d(
148
167
  "w-40 inline-block md:w-fit",
149
168
  a ? "" : "opacity-50"
150
169
  ),
@@ -162,68 +181,68 @@ const T = ({
162
181
  }
163
182
  ),
164
183
  s > 0 && /* @__PURE__ */ e.jsx("span", { children: t.slice(-s) })
165
- ] }), F = ({
184
+ ] }), se = ({
166
185
  secret: t,
167
186
  preview: a = 5,
168
187
  className: s,
169
- status: n,
188
+ status: o,
170
189
  onCopy: i,
171
- revealed: p,
172
- onReveal: x,
173
- noReveal: f
190
+ revealed: r,
191
+ onReveal: p,
192
+ noReveal: x
174
193
  }) => {
175
- const g = Math.abs(a), [h, v] = I(!1), [j, b] = k(), d = p ?? h;
194
+ const f = Math.abs(a), [h, v] = w(!1), [j, b] = E(), c = r ?? h;
176
195
  return /* @__PURE__ */ e.jsxs(
177
196
  "div",
178
197
  {
179
- className: r(
198
+ className: d(
180
199
  "flex gap-2 items-center text-sm border rounded-md px-1",
181
200
  s
182
201
  ),
183
202
  children: [
184
203
  /* @__PURE__ */ e.jsxs("div", { className: "font-mono w-full h-9 items-center flex px-2 text-xs gap-2", children: [
185
- n && /* @__PURE__ */ e.jsx(
204
+ o && /* @__PURE__ */ e.jsx(
186
205
  "div",
187
206
  {
188
- className: r(
207
+ className: d(
189
208
  "rounded-full shrink-0 w-2 h-2 mr-2",
190
- n === "active" && "bg-emerald-400",
191
- n === "expired" && "bg-neutral-200",
192
- n === "expiring" && "bg-yellow-400",
193
- n === "revoked" && "bg-red-400",
194
- n === "none" && "opacity-0"
209
+ o === "active" && "bg-emerald-400",
210
+ o === "expired" && "bg-neutral-200",
211
+ o === "expiring" && "bg-yellow-400",
212
+ o === "revoked" && "bg-red-400",
213
+ o === "none" && "opacity-0"
195
214
  )
196
215
  }
197
216
  ),
198
217
  /* @__PURE__ */ e.jsx(
199
- T,
218
+ V,
200
219
  {
201
220
  secret: t,
202
- revealed: d,
203
- previewChars: g
221
+ revealed: c,
222
+ previewChars: f
204
223
  }
205
224
  )
206
225
  ] }),
207
- f !== !0 && /* @__PURE__ */ e.jsx(
208
- c,
226
+ x !== !0 && /* @__PURE__ */ e.jsx(
227
+ m,
209
228
  {
210
229
  variant: "ghost",
211
230
  onClick: () => {
212
- v((y) => !y), x?.(!d);
231
+ v((y) => !y), p?.(!c);
213
232
  },
214
- size: "icon",
215
- children: d ? /* @__PURE__ */ e.jsx(w, { size: 16 }) : /* @__PURE__ */ e.jsx(S, { size: 16 })
233
+ size: "icon-sm",
234
+ children: c ? /* @__PURE__ */ e.jsx(B, { size: 16 }) : /* @__PURE__ */ e.jsx(T, { size: 16 })
216
235
  }
217
236
  ),
218
237
  /* @__PURE__ */ e.jsx(
219
- c,
238
+ m,
220
239
  {
221
240
  variant: "ghost",
222
241
  onClick: () => {
223
242
  b(t), i?.(t);
224
243
  },
225
- size: "icon",
226
- children: j ? /* @__PURE__ */ e.jsx(m, { size: 16 }) : /* @__PURE__ */ e.jsx(N, { size: 16 })
244
+ size: "icon-sm",
245
+ children: j ? /* @__PURE__ */ e.jsx(g, { size: 16 }) : /* @__PURE__ */ e.jsx(R, { size: 16 })
227
246
  }
228
247
  )
229
248
  ]
@@ -231,13 +250,14 @@ const T = ({
231
250
  );
232
251
  };
233
252
  export {
234
- P as S,
235
- $ as a,
236
- O as b,
237
- q as c,
238
- M as d,
239
- A as e,
240
- F as f,
241
- T as g
253
+ H as S,
254
+ Q as a,
255
+ Y as b,
256
+ X as c,
257
+ ee as d,
258
+ W as e,
259
+ te as f,
260
+ se as g,
261
+ V as h
242
262
  };
243
- //# sourceMappingURL=Secret-BDBqq4p3.js.map
263
+ //# sourceMappingURL=Secret-DUpgv4V3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Secret-DUpgv4V3.js","sources":["../src/lib/ui/SyntaxHighlight.tsx","../src/lib/ui/Select.tsx","../src/lib/ui/Secret.tsx"],"sourcesContent":["import { memo } from \"react\";\nimport { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { highlight } from \"../shiki.js\";\nimport invariant from \"../util/invariant.js\";\nimport { CodeBlock, type CodeBlockProps } from \"./CodeBlock.js\";\nimport { EmbeddedCodeBlock } from \"./EmbeddedCodeBlock.js\";\n\ntype SyntaxHighlightProps = CodeBlockProps &\n (\n | {\n code: string;\n embedded?: boolean;\n children?: never;\n fullHeight?: boolean;\n }\n | { code?: never; children: string; embedded?: boolean }\n );\n\nexport const SyntaxHighlight = memo(\n ({ code, children, embedded, ...props }: SyntaxHighlightProps) => {\n const { syntaxHighlighting } = useZudoku().options;\n\n invariant(syntaxHighlighting?.highlighter, \"Highlighter not found\");\n\n const highlightedCode = highlight(\n syntaxHighlighting.highlighter,\n code ?? children,\n props.language,\n syntaxHighlighting.themes,\n );\n\n return embedded ? (\n <EmbeddedCodeBlock {...props}>{highlightedCode}</EmbeddedCodeBlock>\n ) : (\n <CodeBlock {...props}>{highlightedCode}</CodeBlock>\n );\n },\n);\n\nSyntaxHighlight.displayName = \"SyntaxHighlight\";\n","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-sm\"\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-sm\"\n >\n {isCopied ? <CheckIcon size={16} /> : <CopyIcon size={16} />}\n </Button>\n </div>\n );\n};\n"],"names":["SyntaxHighlight","memo","code","children","embedded","props","syntaxHighlighting","useZudoku","invariant","highlightedCode","highlight","jsx","EmbeddedCodeBlock","CodeBlock","Select","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","size","jsxs","cn","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,12 +1,17 @@
1
1
  import { j as e } from "./jsx-runtime-BzflLqGi.js";
2
2
  import { useEffect as t } from "react";
3
- import { b as g } from "./chunk-EPOLDU6W-C6C8jAwd.js";
4
- import { S as p, B as a, L as h } from "./index-CL8eDnQW.js";
5
- import { C as l, a as d, b as u, c as m, d as x } from "./Card-DCdq37aA.js";
6
- import { u as i } from "./useLatest-hmRS46UF.js";
7
- import { u as n } from "./hook-BGlHBdET.js";
8
- const y = () => {
9
- const r = n(), [s] = g(), o = s.get("redirect") ?? void 0, c = i(r.login);
3
+ import { b as p, L as g } from "./chunk-EPOLDU6W-C6C8jAwd.js";
4
+ import { Button as a } from "./ui/Button.js";
5
+ import "lucide-react";
6
+ import "./Zudoku-iyiXgWFY.js";
7
+ import "./ZudokuReactContext-DGJAP1sN.js";
8
+ import { S as h } from "./Spinner-CI6bRyZw.js";
9
+ import "./index-DAWHN3cH.js";
10
+ import { u as i } from "./hook-Dz_n9SoE.js";
11
+ import { C as l, a as d, b as m, c as u, d as x } from "./Card-DCdq37aA.js";
12
+ import { u as n } from "./useLatest-hmRS46UF.js";
13
+ const E = () => {
14
+ const s = i(), [r] = p(), o = r.get("redirect") ?? void 0, c = n(s.login);
10
15
  return t(() => {
11
16
  c.current({
12
17
  redirectTo: o,
@@ -14,37 +19,37 @@ const y = () => {
14
19
  });
15
20
  }, [c, o]), /* @__PURE__ */ e.jsx("div", { className: "flex items-center justify-center mt-8", children: /* @__PURE__ */ e.jsxs(l, { className: "max-w-md w-full", children: [
16
21
  /* @__PURE__ */ e.jsxs(d, { children: [
17
- /* @__PURE__ */ e.jsx(u, { className: "text-lg", children: "Sign in" }),
18
- /* @__PURE__ */ e.jsx(m, { children: "You're being redirected to our secure login provider to complete your sign-in process." })
22
+ /* @__PURE__ */ e.jsx(m, { className: "text-lg", children: "Sign in" }),
23
+ /* @__PURE__ */ e.jsx(u, { children: "You're being redirected to our secure login provider to complete your sign-in process." })
19
24
  ] }),
20
25
  /* @__PURE__ */ e.jsx(x, { children: /* @__PURE__ */ e.jsxs("div", { className: "flex items-center text-sm font-medium gap-2", children: [
21
- /* @__PURE__ */ e.jsx(p, {}),
26
+ /* @__PURE__ */ e.jsx(h, {}),
22
27
  " Redirecting..."
23
28
  ] }) })
24
29
  ] }) });
25
- }, w = () => {
26
- const r = n(), s = i(r.logout);
30
+ }, T = () => {
31
+ const s = i(), r = n(s.logout);
27
32
  return t(() => {
28
- s.current();
29
- }, [s]), null;
30
- }, k = () => {
31
- const r = n(), s = i(r.signup);
33
+ r.current();
34
+ }, [r]), null;
35
+ }, Y = () => {
36
+ const s = i(), r = n(s.signup);
32
37
  return t(() => {
33
- s.current();
34
- }, [s]), /* @__PURE__ */ e.jsx("div", { className: "flex items-center justify-center mt-8", children: /* @__PURE__ */ e.jsxs(l, { className: "max-w-md w-full", children: [
38
+ r.current();
39
+ }, [r]), /* @__PURE__ */ e.jsx("div", { className: "flex items-center justify-center mt-8", children: /* @__PURE__ */ e.jsxs(l, { className: "max-w-md w-full", children: [
35
40
  /* @__PURE__ */ e.jsxs(d, { children: [
36
- /* @__PURE__ */ e.jsx(u, { className: "text-lg", children: "Sign up" }),
37
- /* @__PURE__ */ e.jsx(m, { children: "You're being redirected to our secure login provider to complete your sign up process." })
41
+ /* @__PURE__ */ e.jsx(m, { className: "text-lg", children: "Sign up" }),
42
+ /* @__PURE__ */ e.jsx(u, { children: "You're being redirected to our secure login provider to complete your sign up process." })
38
43
  ] }),
39
44
  /* @__PURE__ */ e.jsx(x, { children: /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-2 justify-center", children: [
40
- /* @__PURE__ */ e.jsx(a, { onClick: () => r.signup(), variant: "default", children: "Register" }),
41
- /* @__PURE__ */ e.jsx(a, { variant: "link", className: "text-muted-foreground", asChild: !0, children: /* @__PURE__ */ e.jsx(h, { to: "/", children: "Go home" }) })
45
+ /* @__PURE__ */ e.jsx(a, { onClick: () => s.signup(), variant: "default", children: "Register" }),
46
+ /* @__PURE__ */ e.jsx(a, { variant: "link", className: "text-muted-foreground", asChild: !0, children: /* @__PURE__ */ e.jsx(g, { to: "/", children: "Go home" }) })
42
47
  ] }) })
43
48
  ] }) });
44
49
  };
45
50
  export {
46
- w as S,
47
- y as a,
48
- k as b
51
+ T as S,
52
+ E as a,
53
+ Y as b
49
54
  };
50
- //# sourceMappingURL=SignUp-DCBViNUi.js.map
55
+ //# sourceMappingURL=SignUp-Dug1jAGC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SignUp-DCBViNUi.js","sources":["../src/lib/authentication/components/SignIn.tsx","../src/lib/authentication/components/SignOut.tsx","../src/lib/authentication/components/SignUp.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useSearchParams } from \"react-router\";\nimport { Spinner } from \"zudoku/components\";\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"zudoku/ui/Card.js\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignIn = () => {\n const auth = useAuth();\n const [search] = useSearchParams();\n const redirectTo = search.get(\"redirect\") ?? undefined;\n\n const login = useLatest(auth.login);\n\n useEffect(() => {\n void login.current({\n redirectTo,\n replace: true,\n });\n }, [login, redirectTo]);\n\n return (\n <div className=\"flex items-center justify-center mt-8\">\n <Card className=\"max-w-md w-full\">\n <CardHeader>\n <CardTitle className=\"text-lg\">Sign in</CardTitle>\n <CardDescription>\n You're being redirected to our secure login provider to complete\n your sign-in process.\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"flex items-center text-sm font-medium gap-2\">\n <Spinner /> Redirecting...\n </div>\n </CardContent>\n </Card>\n </div>\n );\n};\n","import { useEffect } from \"react\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignOut = () => {\n const auth = useAuth();\n\n const logout = useLatest(auth.logout);\n\n useEffect(() => {\n void logout.current();\n }, [logout]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { Button, Link } from \"zudoku/components\";\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"zudoku/ui/Card.js\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignUp = () => {\n const auth = useAuth();\n\n const signup = useLatest(auth.signup);\n\n useEffect(() => {\n void signup.current();\n }, [signup]);\n\n return (\n <div className=\"flex items-center justify-center mt-8\">\n <Card className=\"max-w-md w-full\">\n <CardHeader>\n <CardTitle className=\"text-lg\">Sign up</CardTitle>\n <CardDescription>\n You're being redirected to our secure login provider to complete\n your sign up process.\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"flex flex-col gap-2 justify-center\">\n <Button onClick={() => auth.signup()} variant=\"default\">\n Register\n </Button>\n <Button variant=\"link\" className=\"text-muted-foreground\" asChild>\n <Link to=\"/\">Go home</Link>\n </Button>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n};\n"],"names":["SignIn","auth","useAuth","search","useSearchParams","redirectTo","login","useLatest","useEffect","jsxs","Card","CardHeader","jsx","CardTitle","CardDescription","CardContent","Spinner","SignOut","logout","SignUp","signup","Button","Link"],"mappings":";;;;;;;AAaO,MAAMA,IAAS,MAAM;AAC1B,QAAMC,IAAOC,EAAA,GACP,CAACC,CAAM,IAAIC,EAAA,GACXC,IAAaF,EAAO,IAAI,UAAU,KAAK,QAEvCG,IAAQC,EAAUN,EAAK,KAAK;AAElC,SAAAO,EAAU,MAAM;AACd,IAAKF,EAAM,QAAQ;AAAA,MACjB,YAAAD;AAAA,MACA,SAAS;AAAA,IAAA,CACV;AAAA,EACH,GAAG,CAACC,GAAOD,CAAU,CAAC,yBAGnB,OAAA,EAAI,WAAU,yCACb,UAAAI,gBAAAA,EAAAA,KAACC,GAAA,EAAK,WAAU,mBACd,UAAA;AAAA,IAAAD,gBAAAA,OAACE,GAAA,EACC,UAAA;AAAA,MAAAC,gBAAAA,EAAAA,IAACC,GAAA,EAAU,WAAU,WAAU,UAAA,WAAO;AAAA,MACtCD,gBAAAA,EAAAA,IAACE,KAAgB,UAAA,yFAAA,CAGjB;AAAA,IAAA,GACF;AAAA,IACAF,gBAAAA,MAACG,GAAA,EACC,UAAAN,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,+CACb,UAAA;AAAA,MAAAG,gBAAAA,EAAAA,IAACI,GAAA,EAAQ;AAAA,MAAE;AAAA,IAAA,EAAA,CACb,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ,GCzCaC,IAAU,MAAM;AAC3B,QAAMhB,IAAOC,EAAA,GAEPgB,IAASX,EAAUN,EAAK,MAAM;AAEpC,SAAAO,EAAU,MAAM;AACd,IAAKU,EAAO,QAAA;AAAA,EACd,GAAG,CAACA,CAAM,CAAC,GAEJ;AACT,GCFaC,IAAS,MAAM;AAC1B,QAAMlB,IAAOC,EAAA,GAEPkB,IAASb,EAAUN,EAAK,MAAM;AAEpC,SAAAO,EAAU,MAAM;AACd,IAAKY,EAAO,QAAA;AAAA,EACd,GAAG,CAACA,CAAM,CAAC,yBAGR,OAAA,EAAI,WAAU,yCACb,UAAAX,gBAAAA,EAAAA,KAACC,GAAA,EAAK,WAAU,mBACd,UAAA;AAAA,IAAAD,gBAAAA,OAACE,GAAA,EACC,UAAA;AAAA,MAAAC,gBAAAA,EAAAA,IAACC,GAAA,EAAU,WAAU,WAAU,UAAA,WAAO;AAAA,MACtCD,gBAAAA,EAAAA,IAACE,KAAgB,UAAA,yFAAA,CAGjB;AAAA,IAAA,GACF;AAAA,IACAF,gBAAAA,MAACG,GAAA,EACC,UAAAN,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,sCACb,UAAA;AAAA,MAAAG,gBAAAA,EAAAA,IAACS,GAAA,EAAO,SAAS,MAAMpB,EAAK,UAAU,SAAQ,WAAU,UAAA,WAAA,CAExD;AAAA,MACAW,gBAAAA,EAAAA,IAACS,GAAA,EAAO,SAAQ,QAAO,WAAU,yBAAwB,SAAO,IAC9D,UAAAT,gBAAAA,EAAAA,IAACU,GAAA,EAAK,IAAG,KAAI,qBAAO,EAAA,CACtB;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
1
+ {"version":3,"file":"SignUp-Dug1jAGC.js","sources":["../src/lib/authentication/components/SignIn.tsx","../src/lib/authentication/components/SignOut.tsx","../src/lib/authentication/components/SignUp.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useSearchParams } from \"react-router\";\nimport { Spinner } from \"zudoku/components\";\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"zudoku/ui/Card.js\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignIn = () => {\n const auth = useAuth();\n const [search] = useSearchParams();\n const redirectTo = search.get(\"redirect\") ?? undefined;\n\n const login = useLatest(auth.login);\n\n useEffect(() => {\n void login.current({\n redirectTo,\n replace: true,\n });\n }, [login, redirectTo]);\n\n return (\n <div className=\"flex items-center justify-center mt-8\">\n <Card className=\"max-w-md w-full\">\n <CardHeader>\n <CardTitle className=\"text-lg\">Sign in</CardTitle>\n <CardDescription>\n You're being redirected to our secure login provider to complete\n your sign-in process.\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"flex items-center text-sm font-medium gap-2\">\n <Spinner /> Redirecting...\n </div>\n </CardContent>\n </Card>\n </div>\n );\n};\n","import { useEffect } from \"react\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignOut = () => {\n const auth = useAuth();\n\n const logout = useLatest(auth.logout);\n\n useEffect(() => {\n void logout.current();\n }, [logout]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { Button, Link } from \"zudoku/components\";\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"zudoku/ui/Card.js\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignUp = () => {\n const auth = useAuth();\n\n const signup = useLatest(auth.signup);\n\n useEffect(() => {\n void signup.current();\n }, [signup]);\n\n return (\n <div className=\"flex items-center justify-center mt-8\">\n <Card className=\"max-w-md w-full\">\n <CardHeader>\n <CardTitle className=\"text-lg\">Sign up</CardTitle>\n <CardDescription>\n You're being redirected to our secure login provider to complete\n your sign up process.\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"flex flex-col gap-2 justify-center\">\n <Button onClick={() => auth.signup()} variant=\"default\">\n Register\n </Button>\n <Button variant=\"link\" className=\"text-muted-foreground\" asChild>\n <Link to=\"/\">Go home</Link>\n </Button>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n};\n"],"names":["SignIn","auth","useAuth","search","useSearchParams","redirectTo","login","useLatest","useEffect","jsxs","Card","CardHeader","jsx","CardTitle","CardDescription","CardContent","Spinner","SignOut","logout","SignUp","signup","Button","Link"],"mappings":";;;;;;;;;;;;AAaO,MAAMA,IAAS,MAAM;AAC1B,QAAMC,IAAOC,EAAA,GACP,CAACC,CAAM,IAAIC,EAAA,GACXC,IAAaF,EAAO,IAAI,UAAU,KAAK,QAEvCG,IAAQC,EAAUN,EAAK,KAAK;AAElC,SAAAO,EAAU,MAAM;AACd,IAAKF,EAAM,QAAQ;AAAA,MACjB,YAAAD;AAAA,MACA,SAAS;AAAA,IAAA,CACV;AAAA,EACH,GAAG,CAACC,GAAOD,CAAU,CAAC,yBAGnB,OAAA,EAAI,WAAU,yCACb,UAAAI,gBAAAA,EAAAA,KAACC,GAAA,EAAK,WAAU,mBACd,UAAA;AAAA,IAAAD,gBAAAA,OAACE,GAAA,EACC,UAAA;AAAA,MAAAC,gBAAAA,EAAAA,IAACC,GAAA,EAAU,WAAU,WAAU,UAAA,WAAO;AAAA,MACtCD,gBAAAA,EAAAA,IAACE,KAAgB,UAAA,yFAAA,CAGjB;AAAA,IAAA,GACF;AAAA,IACAF,gBAAAA,MAACG,GAAA,EACC,UAAAN,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,+CACb,UAAA;AAAA,MAAAG,gBAAAA,EAAAA,IAACI,GAAA,EAAQ;AAAA,MAAE;AAAA,IAAA,EAAA,CACb,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ,GCzCaC,IAAU,MAAM;AAC3B,QAAMhB,IAAOC,EAAA,GAEPgB,IAASX,EAAUN,EAAK,MAAM;AAEpC,SAAAO,EAAU,MAAM;AACd,IAAKU,EAAO,QAAA;AAAA,EACd,GAAG,CAACA,CAAM,CAAC,GAEJ;AACT,GCFaC,IAAS,MAAM;AAC1B,QAAMlB,IAAOC,EAAA,GAEPkB,IAASb,EAAUN,EAAK,MAAM;AAEpC,SAAAO,EAAU,MAAM;AACd,IAAKY,EAAO,QAAA;AAAA,EACd,GAAG,CAACA,CAAM,CAAC,yBAGR,OAAA,EAAI,WAAU,yCACb,UAAAX,gBAAAA,EAAAA,KAACC,GAAA,EAAK,WAAU,mBACd,UAAA;AAAA,IAAAD,gBAAAA,OAACE,GAAA,EACC,UAAA;AAAA,MAAAC,gBAAAA,EAAAA,IAACC,GAAA,EAAU,WAAU,WAAU,UAAA,WAAO;AAAA,MACtCD,gBAAAA,EAAAA,IAACE,KAAgB,UAAA,yFAAA,CAGjB;AAAA,IAAA,GACF;AAAA,IACAF,gBAAAA,MAACG,GAAA,EACC,UAAAN,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,sCACb,UAAA;AAAA,MAAAG,gBAAAA,EAAAA,IAACS,GAAA,EAAO,SAAS,MAAMpB,EAAK,UAAU,SAAQ,WAAU,UAAA,WAAA,CAExD;AAAA,MACAW,gBAAAA,EAAAA,IAACS,GAAA,EAAO,SAAQ,QAAO,WAAU,yBAAwB,SAAO,IAC9D,UAAAT,gBAAAA,EAAAA,IAACU,GAAA,EAAK,IAAG,KAAI,qBAAO,EAAA,CACtB;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
@@ -1,8 +1,8 @@
1
1
  import { j as at } from "./jsx-runtime-BzflLqGi.js";
2
2
  import { createElement as ss, Fragment as as, memo as is } from "react";
3
- import { a as ls } from "./ZudokuContext-BZB1TWdT.js";
3
+ import { a as ls } from "./ZudokuContext-CYyb_PB_.js";
4
4
  import { c as Ir } from "./cn-5-Gd1Dss.js";
5
- import { a as us, i as cs } from "./invariant-BJAl77rw.js";
5
+ import { g as us, i as cs } from "./invariant-B_t_F2s_.js";
6
6
  import { CodeBlock as hs } from "./ui/CodeBlock.js";
7
7
  import { EmbeddedCodeBlock as fs } from "./ui/EmbeddedCodeBlock.js";
8
8
  function ah() {
@@ -10393,12 +10393,12 @@ export {
10393
10393
  lh as d,
10394
10394
  Nr as e,
10395
10395
  Fr as f,
10396
- Vr as g,
10397
- ha as h,
10398
- la as i,
10399
- jn as j,
10400
- mh as k,
10401
- Jc as l,
10396
+ ha as g,
10397
+ Jc as h,
10398
+ Vr as i,
10399
+ la as j,
10400
+ jn as k,
10401
+ mh as l,
10402
10402
  ah as o,
10403
10403
  Br as p,
10404
10404
  Ts as s,
@@ -10407,4 +10407,4 @@ export {
10407
10407
  Xr as v,
10408
10408
  ca as z
10409
10409
  };
10410
- //# sourceMappingURL=SyntaxHighlight-Dshjn3Zf.js.map
10410
+ //# sourceMappingURL=SyntaxHighlight-BMu0b_hF.js.map