zudoku 0.0.0-reset-hash-value.ac516c6d → 0.0.0-z06bf8c86

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 (829) hide show
  1. package/client.d.ts +8 -0
  2. package/dist/app/entry.server.js +14 -1
  3. package/dist/app/entry.server.js.map +1 -1
  4. package/dist/app/main.d.ts +91 -1
  5. package/dist/app/main.js +5 -1
  6. package/dist/app/main.js.map +1 -1
  7. package/dist/app/sentry.js +1 -1
  8. package/dist/cli/common/version-check.js +12 -3
  9. package/dist/cli/common/version-check.js.map +1 -1
  10. package/dist/config/config.d.ts +15 -44
  11. package/dist/config/loader.js +3 -1
  12. package/dist/config/loader.js.map +1 -1
  13. package/dist/config/validators/BuildSchema.d.ts +5 -4
  14. package/dist/config/validators/BuildSchema.js +23 -5
  15. package/dist/config/validators/BuildSchema.js.map +1 -1
  16. package/dist/config/validators/InputNavigationSchema.d.ts +126 -124
  17. package/dist/config/validators/InputNavigationSchema.js +1 -0
  18. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  19. package/dist/config/validators/NavigationSchema.js +8 -5
  20. package/dist/config/validators/NavigationSchema.js.map +1 -1
  21. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  22. package/dist/config/validators/validate.d.ts +264 -23
  23. package/dist/config/validators/validate.js +56 -11
  24. package/dist/config/validators/validate.js.map +1 -1
  25. package/dist/config/validators/validate.test.js +43 -0
  26. package/dist/config/validators/validate.test.js.map +1 -1
  27. package/dist/flat-config.d.ts +59 -23
  28. package/dist/index.d.ts +2 -1
  29. package/dist/index.js +2 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/lib/auth/issuer.js +3 -0
  32. package/dist/lib/auth/issuer.js.map +1 -1
  33. package/dist/lib/authentication/authentication.d.ts +19 -10
  34. package/dist/lib/authentication/components/CallbackHandler.js +1 -1
  35. package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
  36. package/dist/lib/authentication/components/OAuthErrorPage.js +1 -1
  37. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -1
  38. package/dist/lib/authentication/components/SignIn.js +8 -5
  39. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  40. package/dist/lib/authentication/components/SignOut.js +6 -6
  41. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  42. package/dist/lib/authentication/components/SignUp.js +7 -5
  43. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  44. package/dist/lib/authentication/hook.d.ts +5 -2
  45. package/dist/lib/authentication/hook.js +22 -8
  46. package/dist/lib/authentication/hook.js.map +1 -1
  47. package/dist/lib/authentication/providers/auth0.js +18 -9
  48. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  49. package/dist/lib/authentication/providers/azureb2c.d.ts +4 -4
  50. package/dist/lib/authentication/providers/azureb2c.js +3 -3
  51. package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
  52. package/dist/lib/authentication/providers/clerk.js +2 -24
  53. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  54. package/dist/lib/authentication/providers/firebase.d.ts +4 -0
  55. package/dist/lib/authentication/providers/firebase.js +273 -0
  56. package/dist/lib/authentication/providers/firebase.js.map +1 -0
  57. package/dist/lib/authentication/providers/openid.d.ts +7 -7
  58. package/dist/lib/authentication/providers/openid.js +3 -3
  59. package/dist/lib/authentication/providers/openid.js.map +1 -1
  60. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.d.ts +8 -0
  61. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js +39 -0
  62. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js.map +1 -0
  63. package/dist/lib/authentication/providers/supabase.js +36 -46
  64. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  65. package/dist/lib/authentication/state.d.ts +1 -5
  66. package/dist/lib/authentication/state.js +2 -14
  67. package/dist/lib/authentication/state.js.map +1 -1
  68. package/dist/lib/authentication/ui/EmailVerificationUi.d.ts +4 -0
  69. package/dist/lib/authentication/ui/EmailVerificationUi.js +34 -0
  70. package/dist/lib/authentication/ui/EmailVerificationUi.js.map +1 -0
  71. package/dist/lib/authentication/ui/ZudokuAuthUi.d.ts +29 -0
  72. package/dist/lib/authentication/ui/ZudokuAuthUi.js +160 -0
  73. package/dist/lib/authentication/ui/ZudokuAuthUi.js.map +1 -0
  74. package/dist/lib/authentication/ui/icons/Apple.d.ts +3 -0
  75. package/dist/lib/authentication/ui/icons/Apple.js +4 -0
  76. package/dist/lib/authentication/ui/icons/Apple.js.map +1 -0
  77. package/dist/lib/authentication/ui/icons/Facebook.d.ts +3 -0
  78. package/dist/lib/authentication/ui/icons/Facebook.js +4 -0
  79. package/dist/lib/authentication/ui/icons/Facebook.js.map +1 -0
  80. package/dist/lib/authentication/ui/icons/Github.d.ts +3 -0
  81. package/dist/lib/authentication/ui/icons/Github.js +4 -0
  82. package/dist/lib/authentication/ui/icons/Github.js.map +1 -0
  83. package/dist/lib/authentication/ui/icons/Google.d.ts +3 -0
  84. package/dist/lib/authentication/ui/icons/Google.js +4 -0
  85. package/dist/lib/authentication/ui/icons/Google.js.map +1 -0
  86. package/dist/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
  87. package/dist/lib/authentication/ui/icons/Microsoft.js +4 -0
  88. package/dist/lib/authentication/ui/icons/Microsoft.js.map +1 -0
  89. package/dist/lib/authentication/ui/icons/X.d.ts +3 -0
  90. package/dist/lib/authentication/ui/icons/X.js +4 -0
  91. package/dist/lib/authentication/ui/icons/X.js.map +1 -0
  92. package/dist/lib/authentication/utils/relativeRedirectUrl.d.ts +1 -0
  93. package/dist/lib/authentication/utils/relativeRedirectUrl.js +8 -0
  94. package/dist/lib/authentication/utils/relativeRedirectUrl.js.map +1 -0
  95. package/dist/lib/components/Autocomplete.d.ts +3 -1
  96. package/dist/lib/components/Autocomplete.js +6 -2
  97. package/dist/lib/components/Autocomplete.js.map +1 -1
  98. package/dist/lib/components/Heading.d.ts +1 -1
  99. package/dist/lib/components/Layout.js +3 -2
  100. package/dist/lib/components/Layout.js.map +1 -1
  101. package/dist/lib/components/Mermaid.d.ts +7 -0
  102. package/dist/lib/components/Mermaid.js +42 -0
  103. package/dist/lib/components/Mermaid.js.map +1 -0
  104. package/dist/lib/components/PagefindSearchMeta.d.ts +8 -0
  105. package/dist/lib/components/PagefindSearchMeta.js +7 -0
  106. package/dist/lib/components/PagefindSearchMeta.js.map +1 -0
  107. package/dist/lib/components/Pagination.js +2 -2
  108. package/dist/lib/components/Pagination.js.map +1 -1
  109. package/dist/lib/components/Zudoku.js +5 -8
  110. package/dist/lib/components/Zudoku.js.map +1 -1
  111. package/dist/lib/components/index.d.ts +7 -2
  112. package/dist/lib/components/index.js +4 -0
  113. package/dist/lib/components/index.js.map +1 -1
  114. package/dist/lib/components/navigation/NavigationItem.js +4 -4
  115. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  116. package/dist/lib/components/navigation/Toc.js +1 -1
  117. package/dist/lib/components/navigation/Toc.js.map +1 -1
  118. package/dist/lib/core/RouteGuard.d.ts +1 -1
  119. package/dist/lib/core/RouteGuard.js +22 -25
  120. package/dist/lib/core/RouteGuard.js.map +1 -1
  121. package/dist/lib/core/ZudokuContext.d.ts +1 -0
  122. package/dist/lib/core/ZudokuContext.js +2 -0
  123. package/dist/lib/core/ZudokuContext.js.map +1 -1
  124. package/dist/lib/core/__internal.d.ts +1 -1
  125. package/dist/lib/core/plugins.d.ts +14 -4
  126. package/dist/lib/core/plugins.js +1 -0
  127. package/dist/lib/core/plugins.js.map +1 -1
  128. package/dist/lib/core/react-query.d.ts +1 -0
  129. package/dist/lib/core/react-query.js +2 -0
  130. package/dist/lib/core/react-query.js.map +1 -0
  131. package/dist/lib/core/transform-config.d.ts +2 -0
  132. package/dist/lib/core/transform-config.js +22 -0
  133. package/dist/lib/core/transform-config.js.map +1 -0
  134. package/dist/lib/errors/ErrorAlert.js +1 -1
  135. package/dist/lib/errors/ErrorMessage.d.ts +3 -0
  136. package/dist/lib/errors/ErrorMessage.js +16 -0
  137. package/dist/lib/errors/ErrorMessage.js.map +1 -0
  138. package/dist/lib/errors/RouterError.d.ts +3 -1
  139. package/dist/lib/errors/RouterError.js +3 -2
  140. package/dist/lib/errors/RouterError.js.map +1 -1
  141. package/dist/lib/hooks/index.d.ts +4 -2
  142. package/dist/lib/oas/graphql/circular.d.ts +2 -0
  143. package/dist/lib/oas/graphql/circular.js +32 -10
  144. package/dist/lib/oas/graphql/circular.js.map +1 -1
  145. package/dist/lib/oas/graphql/circular.test.d.ts +1 -0
  146. package/dist/lib/oas/graphql/circular.test.js +152 -0
  147. package/dist/lib/oas/graphql/circular.test.js.map +1 -0
  148. package/dist/lib/oas/graphql/index.js +7 -3
  149. package/dist/lib/oas/graphql/index.js.map +1 -1
  150. package/dist/lib/oas/parser/index.d.ts +1 -0
  151. package/dist/lib/oas/parser/index.js +7 -3
  152. package/dist/lib/oas/parser/index.js.map +1 -1
  153. package/dist/lib/plugins/api-keys/ProtectedRoute.js +4 -1
  154. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  155. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +9 -172
  156. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  157. package/dist/lib/plugins/api-keys/index.d.ts +11 -4
  158. package/dist/lib/plugins/api-keys/index.js +36 -22
  159. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  160. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.d.ts +12 -0
  161. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.js +133 -0
  162. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.js.map +1 -0
  163. package/dist/lib/plugins/api-keys/settings/ApiKeyList.d.ts +4 -0
  164. package/dist/lib/plugins/api-keys/settings/ApiKeyList.js +33 -0
  165. package/dist/lib/plugins/api-keys/settings/ApiKeyList.js.map +1 -0
  166. package/dist/lib/plugins/api-keys/settings/RevealApiKey.d.ts +6 -0
  167. package/dist/lib/plugins/api-keys/settings/RevealApiKey.js +39 -0
  168. package/dist/lib/plugins/api-keys/settings/RevealApiKey.js.map +1 -0
  169. package/dist/lib/plugins/markdown/MdxPage.d.ts +2 -1
  170. package/dist/lib/plugins/markdown/MdxPage.js +3 -2
  171. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  172. package/dist/lib/plugins/markdown/index.d.ts +1 -0
  173. package/dist/lib/plugins/markdown/index.js +1 -1
  174. package/dist/lib/plugins/markdown/index.js.map +1 -1
  175. package/dist/lib/plugins/openapi/CollapsibleCode.d.ts +1 -0
  176. package/dist/lib/plugins/openapi/CollapsibleCode.js +2 -1
  177. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  178. package/dist/lib/plugins/openapi/DownloadSchemaButton.d.ts +3 -0
  179. package/dist/lib/plugins/openapi/DownloadSchemaButton.js +47 -0
  180. package/dist/lib/plugins/openapi/DownloadSchemaButton.js.map +1 -0
  181. package/dist/lib/plugins/openapi/Endpoint.js +3 -6
  182. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  183. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
  184. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +10 -0
  185. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js.map +1 -0
  186. package/dist/lib/plugins/openapi/OasProvider.js +26 -13
  187. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  188. package/dist/lib/plugins/openapi/OperationList.js +15 -5
  189. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  190. package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -1
  191. package/dist/lib/plugins/openapi/OperationListItem.js +4 -3
  192. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  193. package/dist/lib/plugins/openapi/ParamInfos.js +1 -0
  194. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  195. package/dist/lib/plugins/openapi/ParameterList.js +7 -4
  196. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  197. package/dist/lib/plugins/openapi/ParameterListItem.js +17 -6
  198. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  199. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +9 -2
  200. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +5 -2
  201. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  202. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +4 -2
  203. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +26 -4
  204. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  205. package/dist/lib/plugins/openapi/SchemaList.js +2 -1
  206. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
  207. package/dist/lib/plugins/openapi/Sidecar.d.ts +2 -2
  208. package/dist/lib/plugins/openapi/Sidecar.js +64 -28
  209. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  210. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  211. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  212. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +9 -2
  213. package/dist/lib/plugins/openapi/SidecarExamples.js +24 -43
  214. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  215. package/dist/lib/plugins/openapi/components/ConstValue.js +1 -1
  216. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -1
  217. package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
  218. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
  219. package/dist/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
  220. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js +5 -0
  221. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js.map +1 -0
  222. package/dist/lib/plugins/openapi/components/ResponseContent.js +5 -6
  223. package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -1
  224. package/dist/lib/plugins/openapi/index.js +15 -14
  225. package/dist/lib/plugins/openapi/index.js.map +1 -1
  226. package/dist/lib/plugins/openapi/interfaces.d.ts +32 -13
  227. package/dist/lib/plugins/openapi/playground/BodyPanel.js +67 -15
  228. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
  229. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +2 -2
  230. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -1
  231. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -1
  232. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  233. package/dist/lib/plugins/openapi/playground/Headers.js +23 -83
  234. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  235. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +10 -2
  236. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +8 -1
  237. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -1
  238. package/dist/lib/plugins/openapi/playground/PathParams.js +2 -3
  239. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  240. package/dist/lib/plugins/openapi/playground/Playground.d.ts +7 -0
  241. package/dist/lib/plugins/openapi/playground/Playground.js +70 -28
  242. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  243. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +3 -2
  244. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  245. package/dist/lib/plugins/openapi/playground/QueryParams.js +16 -40
  246. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  247. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +2 -1
  248. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +10 -2
  249. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -1
  250. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
  251. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js +19 -0
  252. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js.map +1 -0
  253. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +1 -1
  254. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -1
  255. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.d.ts +1 -0
  256. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js +540 -0
  257. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js.map +1 -0
  258. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
  259. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js +205 -0
  260. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js.map +1 -0
  261. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.d.ts +1 -1
  262. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +1 -1
  263. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -1
  264. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +23 -21
  265. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  266. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +1 -1
  267. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  268. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js +2 -0
  269. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js.map +1 -1
  270. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +1 -1
  271. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
  272. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +17 -8
  273. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  274. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -1
  275. package/dist/lib/plugins/openapi/schema/SchemaView.js +31 -16
  276. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  277. package/dist/lib/plugins/openapi/schema/UnionView.js +2 -5
  278. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -1
  279. package/dist/lib/plugins/openapi/schema/union-helpers.js +0 -1
  280. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -1
  281. package/dist/lib/plugins/openapi/schema/utils.d.ts +2 -2
  282. package/dist/lib/plugins/openapi/schema/utils.js +11 -3
  283. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  284. package/dist/lib/plugins/openapi/util/createHttpSnippet.js +24 -1
  285. package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -1
  286. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +9 -11
  287. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  288. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +9 -1
  289. package/dist/lib/plugins/openapi/util/getRoutes.js +30 -2
  290. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  291. package/dist/lib/plugins/search-pagefind/IndexingDialog.d.ts +3 -0
  292. package/dist/lib/plugins/search-pagefind/IndexingDialog.js +64 -0
  293. package/dist/lib/plugins/search-pagefind/IndexingDialog.js.map +1 -0
  294. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +22 -5
  295. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  296. package/dist/lib/plugins/search-pagefind/ResultList.js +5 -4
  297. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  298. package/dist/lib/shiki.d.ts +2 -2
  299. package/dist/lib/shiki.js +31 -14
  300. package/dist/lib/shiki.js.map +1 -1
  301. package/dist/lib/ui/Badge.d.ts +3 -3
  302. package/dist/lib/ui/Badge.js +9 -7
  303. package/dist/lib/ui/Badge.js.map +1 -1
  304. package/dist/lib/ui/Button.d.ts +2 -2
  305. package/dist/lib/ui/Button.js +10 -8
  306. package/dist/lib/ui/Button.js.map +1 -1
  307. package/dist/lib/ui/ButtonGroup.d.ts +11 -0
  308. package/dist/lib/ui/ButtonGroup.js +28 -0
  309. package/dist/lib/ui/ButtonGroup.js.map +1 -0
  310. package/dist/lib/ui/Callout.d.ts +5 -5
  311. package/dist/lib/ui/Callout.js +5 -5
  312. package/dist/lib/ui/Callout.js.map +1 -1
  313. package/dist/lib/ui/Checkbox.d.ts +2 -2
  314. package/dist/lib/ui/Checkbox.js +4 -4
  315. package/dist/lib/ui/Checkbox.js.map +1 -1
  316. package/dist/lib/ui/CodeBlock.d.ts +0 -1
  317. package/dist/lib/ui/CodeBlock.js +1 -1
  318. package/dist/lib/ui/CodeBlock.js.map +1 -1
  319. package/dist/lib/ui/Collapsible.d.ts +4 -4
  320. package/dist/lib/ui/Collapsible.js +11 -4
  321. package/dist/lib/ui/Collapsible.js.map +1 -1
  322. package/dist/lib/ui/Command.js +2 -2
  323. package/dist/lib/ui/Command.js.map +1 -1
  324. package/dist/lib/ui/Dialog.d.ts +12 -18
  325. package/dist/lib/ui/Dialog.js +30 -17
  326. package/dist/lib/ui/Dialog.js.map +1 -1
  327. package/dist/lib/ui/DropdownMenu.d.ts +21 -23
  328. package/dist/lib/ui/DropdownMenu.js +47 -32
  329. package/dist/lib/ui/DropdownMenu.js.map +1 -1
  330. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +3 -2
  331. package/dist/lib/ui/EmbeddedCodeBlock.js +4 -3
  332. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  333. package/dist/lib/ui/Frame.d.ts +8 -0
  334. package/dist/lib/ui/Frame.js +22 -0
  335. package/dist/lib/ui/Frame.js.map +1 -0
  336. package/dist/lib/ui/Item.d.ts +23 -0
  337. package/dist/lib/ui/Item.js +67 -0
  338. package/dist/lib/ui/Item.js.map +1 -0
  339. package/dist/lib/ui/Kbd.d.ts +3 -0
  340. package/dist/lib/ui/Kbd.js +10 -0
  341. package/dist/lib/ui/Kbd.js.map +1 -0
  342. package/dist/lib/ui/NativeSelect.d.ts +5 -0
  343. package/dist/lib/ui/NativeSelect.js +14 -0
  344. package/dist/lib/ui/NativeSelect.js.map +1 -0
  345. package/dist/lib/ui/ReactComponentDoc.d.ts +1 -1
  346. package/dist/lib/ui/ReactComponentDoc.js +2 -2
  347. package/dist/lib/ui/ReactComponentDoc.js.map +1 -1
  348. package/dist/lib/ui/Select.d.ts +13 -11
  349. package/dist/lib/ui/Select.js +34 -23
  350. package/dist/lib/ui/Select.js.map +1 -1
  351. package/dist/lib/ui/Separator.d.ts +4 -0
  352. package/dist/lib/ui/Separator.js +8 -0
  353. package/dist/lib/ui/Separator.js.map +1 -0
  354. package/dist/lib/ui/SyntaxHighlight.d.ts +1 -0
  355. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  356. package/dist/lib/ui/Tooltip.d.ts +7 -7
  357. package/dist/lib/ui/Tooltip.js +16 -10
  358. package/dist/lib/ui/Tooltip.js.map +1 -1
  359. package/dist/lib/util/MdxComponents.d.ts +3 -1
  360. package/dist/lib/util/MdxComponents.js +5 -2
  361. package/dist/lib/util/MdxComponents.js.map +1 -1
  362. package/dist/lib/util/createVariantComponent.d.ts +5 -2
  363. package/dist/lib/util/createVariantComponent.js +5 -2
  364. package/dist/lib/util/createVariantComponent.js.map +1 -1
  365. package/dist/lib/util/flattenAllOf.d.ts +4 -0
  366. package/dist/lib/util/flattenAllOf.js +88 -0
  367. package/dist/lib/util/flattenAllOf.js.map +1 -0
  368. package/dist/lib/util/flattenAllOf.test.d.ts +1 -0
  369. package/dist/lib/util/flattenAllOf.test.js +587 -0
  370. package/dist/lib/util/flattenAllOf.test.js.map +1 -0
  371. package/dist/lib/util/invariant.d.ts +1 -1
  372. package/dist/lib/util/invariant.js +2 -2
  373. package/dist/lib/util/invariant.js.map +1 -1
  374. package/dist/lib/util/readFrontmatter.d.ts +6 -0
  375. package/dist/lib/util/readFrontmatter.js +12 -0
  376. package/dist/lib/util/readFrontmatter.js.map +1 -0
  377. package/dist/lib/util/syncZustandState.d.ts +5 -0
  378. package/dist/lib/util/syncZustandState.js +14 -0
  379. package/dist/lib/util/syncZustandState.js.map +1 -0
  380. package/dist/vite/api/SchemaManager.d.ts +20 -2
  381. package/dist/vite/api/SchemaManager.js +79 -31
  382. package/dist/vite/api/SchemaManager.js.map +1 -1
  383. package/dist/vite/api/SchemaManager.test.js +113 -2
  384. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  385. package/dist/vite/config.js +13 -1
  386. package/dist/vite/config.js.map +1 -1
  387. package/dist/vite/dev-server.js +25 -0
  388. package/dist/vite/dev-server.js.map +1 -1
  389. package/dist/vite/error-handler.js +1 -5
  390. package/dist/vite/error-handler.js.map +1 -1
  391. package/dist/vite/mdx/remark-last-modified.js +57 -3
  392. package/dist/vite/mdx/remark-last-modified.js.map +1 -1
  393. package/dist/vite/mdx/remark-link-rewrite.js +1 -1
  394. package/dist/vite/pagefind-dev-index.d.ts +16 -0
  395. package/dist/vite/pagefind-dev-index.js +68 -0
  396. package/dist/vite/pagefind-dev-index.js.map +1 -0
  397. package/dist/vite/plugin-api-keys.js +5 -1
  398. package/dist/vite/plugin-api-keys.js.map +1 -1
  399. package/dist/vite/plugin-api.js +57 -8
  400. package/dist/vite/plugin-api.js.map +1 -1
  401. package/dist/vite/plugin-docs.js +1 -1
  402. package/dist/vite/plugin-docs.js.map +1 -1
  403. package/dist/vite/plugin-frontmatter.js +3 -5
  404. package/dist/vite/plugin-frontmatter.js.map +1 -1
  405. package/dist/vite/plugin-markdown-export.js +8 -7
  406. package/dist/vite/plugin-markdown-export.js.map +1 -1
  407. package/dist/vite/plugin-mdx.js +36 -30
  408. package/dist/vite/plugin-mdx.js.map +1 -1
  409. package/dist/vite/plugin-theme.js +10 -1
  410. package/dist/vite/plugin-theme.js.map +1 -1
  411. package/dist/vite/prerender/prerender.js +1 -19
  412. package/dist/vite/prerender/prerender.js.map +1 -1
  413. package/dist/vite/prerender/utils.d.ts +2 -0
  414. package/dist/vite/prerender/utils.js +30 -0
  415. package/dist/vite/prerender/utils.js.map +1 -0
  416. package/dist/vite/prerender/worker.js +3 -0
  417. package/dist/vite/prerender/worker.js.map +1 -1
  418. package/dist/vite/zuplo.d.ts +13 -0
  419. package/dist/vite/zuplo.js +15 -0
  420. package/dist/vite/zuplo.js.map +1 -0
  421. package/lib/ActionButton-B0CXL1Lq.js +25 -0
  422. package/lib/ActionButton-B0CXL1Lq.js.map +1 -0
  423. package/lib/Button-GUVe7pmt.js +54 -0
  424. package/lib/Button-GUVe7pmt.js.map +1 -0
  425. package/lib/{Card-KFniaZn5.js → Card-DCdq37aA.js} +2 -2
  426. package/lib/{Card-KFniaZn5.js.map → Card-DCdq37aA.js.map} +1 -1
  427. package/lib/ClaudeLogo-DJ9bU-sO.js +69 -0
  428. package/lib/ClaudeLogo-DJ9bU-sO.js.map +1 -0
  429. package/lib/{Command-CJY6q3PF.js → Command-N6VujV30.js} +26 -26
  430. package/lib/Command-N6VujV30.js.map +1 -0
  431. package/lib/Dialog-hlvmmQ_c.js +144 -0
  432. package/lib/Dialog-hlvmmQ_c.js.map +1 -0
  433. package/lib/{Drawer-Ci7XwhqT.js → Drawer-Ch7927PF.js} +7 -7
  434. package/lib/{Drawer-Ci7XwhqT.js.map → Drawer-Ch7927PF.js.map} +1 -1
  435. package/lib/DropdownMenu-DN0jNrjj.js +104 -0
  436. package/lib/DropdownMenu-DN0jNrjj.js.map +1 -0
  437. package/lib/Frame-DKlOmSkU.js +205 -0
  438. package/lib/Frame-DKlOmSkU.js.map +1 -0
  439. package/lib/HydrationBoundary-CNF2ZV3E.js +601 -0
  440. package/lib/HydrationBoundary-CNF2ZV3E.js.map +1 -0
  441. package/lib/IndexingDialog-D0YdGfbn.js +100 -0
  442. package/lib/IndexingDialog-D0YdGfbn.js.map +1 -0
  443. package/lib/Input-Cx-GeKoF.js +22 -0
  444. package/lib/Input-Cx-GeKoF.js.map +1 -0
  445. package/lib/MdxPage-stpAoBtx.js +210 -0
  446. package/lib/MdxPage-stpAoBtx.js.map +1 -0
  447. package/lib/Mermaid-Koc3z8mU.js +102 -0
  448. package/lib/Mermaid-Koc3z8mU.js.map +1 -0
  449. package/lib/{OAuthErrorPage-DJUOdr6Q.js → OAuthErrorPage-DJ811Bn_.js} +16 -16
  450. package/lib/OAuthErrorPage-DJ811Bn_.js.map +1 -0
  451. package/lib/OasProvider-CS_ASmBB.js +48 -0
  452. package/lib/OasProvider-CS_ASmBB.js.map +1 -0
  453. package/lib/OperationList-Dq_AB4W9.js +5820 -0
  454. package/lib/OperationList-Dq_AB4W9.js.map +1 -0
  455. package/lib/RouteGuard--A04ESy8.js +77 -0
  456. package/lib/RouteGuard--A04ESy8.js.map +1 -0
  457. package/lib/{SchemaList-1eLKXqn8.js → SchemaList-BJZJv1gD.js} +28 -27
  458. package/lib/SchemaList-BJZJv1gD.js.map +1 -0
  459. package/lib/SchemaView-U4JMYB3N.js +438 -0
  460. package/lib/SchemaView-U4JMYB3N.js.map +1 -0
  461. package/lib/Secret-BDBqq4p3.js +243 -0
  462. package/lib/Secret-BDBqq4p3.js.map +1 -0
  463. package/lib/Separator-BXt1LYnm.js +27 -0
  464. package/lib/Separator-BXt1LYnm.js.map +1 -0
  465. package/lib/SignUp-DCBViNUi.js +50 -0
  466. package/lib/SignUp-DCBViNUi.js.map +1 -0
  467. package/lib/{SyntaxHighlight-B0laqAqK.js → SyntaxHighlight-Dshjn3Zf.js} +1784 -1699
  468. package/lib/SyntaxHighlight-Dshjn3Zf.js.map +1 -0
  469. package/lib/{Toc-KzXCRqrX.js → Toc-Cgz6CPiE.js} +6 -6
  470. package/lib/Toc-Cgz6CPiE.js.map +1 -0
  471. package/lib/ZudokuContext-BZB1TWdT.js +387 -0
  472. package/lib/ZudokuContext-BZB1TWdT.js.map +1 -0
  473. package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js +9 -0
  474. package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js.map +1 -0
  475. package/lib/chunk-EPOLDU6W-C6C8jAwd.js +8558 -0
  476. package/lib/chunk-EPOLDU6W-C6C8jAwd.js.map +1 -0
  477. package/lib/{circular-D6wbrxuf.js → circular-BmMJjG1v.js} +6459 -6030
  478. package/lib/circular-BmMJjG1v.js.map +1 -0
  479. package/lib/{cn-dYga0KKN.js → cn-5-Gd1Dss.js} +531 -498
  480. package/lib/cn-5-Gd1Dss.js.map +1 -0
  481. package/lib/createServer-CLSZ7hWJ.js +16693 -0
  482. package/lib/createServer-CLSZ7hWJ.js.map +1 -0
  483. package/lib/createVariantComponent-Dc0vtOvr.js +18 -0
  484. package/lib/createVariantComponent-Dc0vtOvr.js.map +1 -0
  485. package/lib/{errors-XqO6MsfU.js → errors-b9I-fAOY.js} +3 -3
  486. package/lib/{errors-XqO6MsfU.js.map → errors-b9I-fAOY.js.map} +1 -1
  487. package/lib/firebase-BCXX7Qv5.js +7614 -0
  488. package/lib/firebase-BCXX7Qv5.js.map +1 -0
  489. package/lib/hook-BGlHBdET.js +52 -0
  490. package/lib/hook-BGlHBdET.js.map +1 -0
  491. package/lib/{ErrorAlert-VBJ8aHH7.js → index-CL8eDnQW.js} +5503 -4505
  492. package/lib/index-CL8eDnQW.js.map +1 -0
  493. package/lib/index-CrcNWbel.js.map +1 -1
  494. package/lib/index-DBjOT2H1.js +133 -0
  495. package/lib/index-DBjOT2H1.js.map +1 -0
  496. package/lib/index-O9RHI87z.js +3680 -0
  497. package/lib/index-O9RHI87z.js.map +1 -0
  498. package/lib/{index-C5L4favO.js → index-UOLtazB8.js} +2 -2
  499. package/lib/{index-C5L4favO.js.map → index-UOLtazB8.js.map} +1 -1
  500. package/lib/index.esm-BYObtETB.js.map +1 -1
  501. package/lib/{index.esm-BnYHxCYC.js → index.esm-B_0dvNjB.js} +20 -20
  502. package/lib/{index.esm-BnYHxCYC.js.map → index.esm-B_0dvNjB.js.map} +1 -1
  503. package/lib/index.esm-C5CBsVzN.js +34 -0
  504. package/lib/index.esm-C5CBsVzN.js.map +1 -0
  505. package/lib/{invariant-Bm-FVUQE.js → invariant-BJAl77rw.js} +6 -6
  506. package/lib/invariant-BJAl77rw.js.map +1 -0
  507. package/lib/jsx-runtime-BzflLqGi.js.map +1 -1
  508. package/lib/{mutation-CdGPxHNX.js → mutation-BISOc7OM.js} +70 -44
  509. package/lib/mutation-BISOc7OM.js.map +1 -0
  510. package/lib/ui/Accordion.js +1 -1
  511. package/lib/ui/ActionButton.js +2 -2
  512. package/lib/ui/Alert.js +1 -1
  513. package/lib/ui/AlertDialog.js +1 -1
  514. package/lib/ui/Badge.js +27 -13
  515. package/lib/ui/Badge.js.map +1 -1
  516. package/lib/ui/Breadcrumb.js +1 -1
  517. package/lib/ui/Button.js +28 -25
  518. package/lib/ui/Button.js.map +1 -1
  519. package/lib/ui/ButtonGroup.js +77 -0
  520. package/lib/ui/ButtonGroup.js.map +1 -0
  521. package/lib/ui/Callout.js +19 -19
  522. package/lib/ui/Callout.js.map +1 -1
  523. package/lib/ui/Card.js +1 -1
  524. package/lib/ui/Carousel.js +1 -1
  525. package/lib/ui/Carousel.js.map +1 -1
  526. package/lib/ui/Checkbox.js +29 -26
  527. package/lib/ui/Checkbox.js.map +1 -1
  528. package/lib/ui/CodeBlock.js +217 -7
  529. package/lib/ui/CodeBlock.js.map +1 -1
  530. package/lib/ui/Collapsible.js +32 -5
  531. package/lib/ui/Collapsible.js.map +1 -1
  532. package/lib/ui/Command.js +5 -5
  533. package/lib/ui/Command.js.map +1 -1
  534. package/lib/ui/Dialog.js +136 -106
  535. package/lib/ui/Dialog.js.map +1 -1
  536. package/lib/ui/Drawer.js +3 -3
  537. package/lib/ui/DropdownMenu.js +227 -140
  538. package/lib/ui/DropdownMenu.js.map +1 -1
  539. package/lib/ui/EmbeddedCodeBlock.js +36 -32
  540. package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  541. package/lib/ui/Form.js +1 -1
  542. package/lib/ui/Frame.js +81 -0
  543. package/lib/ui/Frame.js.map +1 -0
  544. package/lib/ui/HoverCard.js +1 -1
  545. package/lib/ui/Input.js +1 -1
  546. package/lib/ui/Item.js +188 -0
  547. package/lib/ui/Item.js.map +1 -0
  548. package/lib/ui/Kbd.js +32 -0
  549. package/lib/ui/Kbd.js.map +1 -0
  550. package/lib/ui/Label.js +1 -1
  551. package/lib/ui/NativeSelect.js +57 -0
  552. package/lib/ui/NativeSelect.js.map +1 -0
  553. package/lib/ui/Pagination.js +1 -1
  554. package/lib/ui/Popover.js +1 -1
  555. package/lib/ui/Progress.js +1 -1
  556. package/lib/ui/RadioGroup.js +1 -1
  557. package/lib/ui/ReactComponentDoc.js +13 -13
  558. package/lib/ui/ReactComponentDoc.js.map +1 -1
  559. package/lib/ui/ScrollArea.js +1 -1
  560. package/lib/ui/Secret.js +1 -1
  561. package/lib/ui/Select.js +166 -116
  562. package/lib/ui/Select.js.map +1 -1
  563. package/lib/ui/Separator.js +27 -0
  564. package/lib/ui/Separator.js.map +1 -0
  565. package/lib/ui/Skeleton.js +1 -1
  566. package/lib/ui/Slider.js +1 -1
  567. package/lib/ui/Switch.js +1 -1
  568. package/lib/ui/SyntaxHighlight.js +4 -4
  569. package/lib/ui/Tabs.js +11 -11
  570. package/lib/ui/Textarea.js +1 -1
  571. package/lib/ui/Toggle.js +1 -1
  572. package/lib/ui/ToggleGroup.js +1 -1
  573. package/lib/ui/Tooltip.js +55 -28
  574. package/lib/ui/Tooltip.js.map +1 -1
  575. package/lib/ui/Value.js +1 -1
  576. package/lib/ui/util.js +1 -1
  577. package/lib/useMutation-CFMGlAMW.js +119 -0
  578. package/lib/useMutation-CFMGlAMW.js.map +1 -0
  579. package/lib/useSuspenseQuery-CSB_rVek.js +1226 -0
  580. package/lib/useSuspenseQuery-CSB_rVek.js.map +1 -0
  581. package/lib/zudoku.__internal.js +826 -1325
  582. package/lib/zudoku.__internal.js.map +1 -1
  583. package/lib/zudoku.auth-auth0.js +19 -19
  584. package/lib/zudoku.auth-auth0.js.map +1 -1
  585. package/lib/zudoku.auth-azureb2c.js +28 -28
  586. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  587. package/lib/zudoku.auth-clerk.js +41 -64
  588. package/lib/zudoku.auth-clerk.js.map +1 -1
  589. package/lib/zudoku.auth-firebase.js +10 -0
  590. package/lib/zudoku.auth-firebase.js.map +1 -0
  591. package/lib/zudoku.auth-openid.js +52 -55
  592. package/lib/zudoku.auth-openid.js.map +1 -1
  593. package/lib/zudoku.auth-supabase.js +107 -60
  594. package/lib/zudoku.auth-supabase.js.map +1 -1
  595. package/lib/zudoku.components.js +23 -21
  596. package/lib/zudoku.hooks.js +11 -24
  597. package/lib/zudoku.hooks.js.map +1 -1
  598. package/lib/zudoku.mermaid.js +10 -0
  599. package/lib/zudoku.mermaid.js.map +1 -0
  600. package/lib/zudoku.plugin-api-catalog.js +8 -8
  601. package/lib/zudoku.plugin-api-keys.js +607 -543
  602. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  603. package/lib/zudoku.plugin-custom-pages.js +1 -1
  604. package/lib/zudoku.plugin-markdown.js +10 -9
  605. package/lib/zudoku.plugin-markdown.js.map +1 -1
  606. package/lib/zudoku.plugin-openapi.js +6 -7
  607. package/lib/zudoku.plugin-openapi.js.map +1 -1
  608. package/lib/zudoku.plugin-redirect.js +1 -1
  609. package/lib/zudoku.plugin-search-pagefind.js +185 -226
  610. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  611. package/lib/zudoku.plugins.js +9 -8
  612. package/lib/zudoku.plugins.js.map +1 -1
  613. package/lib/zudoku.react-query.js +440 -0
  614. package/lib/zudoku.react-query.js.map +1 -0
  615. package/lib/zudoku.router.js +1130 -1404
  616. package/lib/zudoku.router.js.map +1 -1
  617. package/package.json +77 -45
  618. package/src/app/entry.server.tsx +16 -6
  619. package/src/app/main.css +61 -9
  620. package/src/app/main.tsx +5 -1
  621. package/src/app/sentry.ts +1 -1
  622. package/src/lib/auth/issuer.ts +3 -0
  623. package/src/lib/authentication/authentication.ts +29 -5
  624. package/src/lib/authentication/components/CallbackHandler.tsx +1 -1
  625. package/src/lib/authentication/components/OAuthErrorPage.tsx +1 -1
  626. package/src/lib/authentication/components/SignIn.tsx +10 -5
  627. package/src/lib/authentication/components/SignOut.tsx +7 -6
  628. package/src/lib/authentication/components/SignUp.tsx +8 -8
  629. package/src/lib/authentication/hook.ts +37 -10
  630. package/src/lib/authentication/providers/auth0.tsx +23 -11
  631. package/src/lib/authentication/providers/azureb2c.tsx +10 -3
  632. package/src/lib/authentication/providers/clerk.tsx +9 -28
  633. package/src/lib/authentication/providers/firebase.tsx +376 -0
  634. package/src/lib/authentication/providers/openid.tsx +18 -15
  635. package/src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx +75 -0
  636. package/src/lib/authentication/providers/supabase.tsx +61 -59
  637. package/src/lib/authentication/state.ts +3 -23
  638. package/src/lib/authentication/ui/EmailVerificationUi.tsx +129 -0
  639. package/src/lib/authentication/ui/ZudokuAuthUi.tsx +477 -0
  640. package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
  641. package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
  642. package/src/lib/authentication/ui/icons/Github.tsx +16 -0
  643. package/src/lib/authentication/ui/icons/Google.tsx +16 -0
  644. package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
  645. package/src/lib/authentication/ui/icons/X.tsx +10 -0
  646. package/src/lib/authentication/utils/relativeRedirectUrl.ts +12 -0
  647. package/src/lib/components/Autocomplete.tsx +11 -2
  648. package/src/lib/components/Layout.tsx +3 -2
  649. package/src/lib/components/Mermaid.tsx +68 -0
  650. package/src/lib/components/PagefindSearchMeta.tsx +14 -0
  651. package/src/lib/components/Pagination.tsx +4 -5
  652. package/src/lib/components/Zudoku.tsx +7 -10
  653. package/src/lib/components/index.ts +4 -0
  654. package/src/lib/components/navigation/NavigationItem.tsx +16 -23
  655. package/src/lib/components/navigation/Toc.tsx +3 -3
  656. package/src/lib/core/RouteGuard.tsx +69 -43
  657. package/src/lib/core/ZudokuContext.ts +3 -0
  658. package/src/lib/core/plugins.ts +23 -3
  659. package/src/lib/core/react-query.ts +1 -0
  660. package/src/lib/core/transform-config.ts +29 -0
  661. package/src/lib/errors/ErrorAlert.tsx +1 -1
  662. package/src/lib/errors/ErrorMessage.tsx +38 -0
  663. package/src/lib/errors/RouterError.tsx +7 -2
  664. package/src/lib/oas/graphql/circular.test.ts +186 -0
  665. package/src/lib/oas/graphql/circular.ts +49 -10
  666. package/src/lib/oas/graphql/index.ts +7 -3
  667. package/src/lib/oas/parser/index.ts +10 -3
  668. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +11 -7
  669. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +36 -476
  670. package/src/lib/plugins/api-keys/index.tsx +76 -32
  671. package/src/lib/plugins/api-keys/settings/ApiKeyItem.tsx +342 -0
  672. package/src/lib/plugins/api-keys/settings/ApiKeyList.tsx +67 -0
  673. package/src/lib/plugins/api-keys/settings/RevealApiKey.tsx +124 -0
  674. package/src/lib/plugins/markdown/MdxPage.tsx +4 -1
  675. package/src/lib/plugins/markdown/index.tsx +2 -0
  676. package/src/lib/plugins/openapi/CollapsibleCode.tsx +5 -3
  677. package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +115 -0
  678. package/src/lib/plugins/openapi/Endpoint.tsx +20 -27
  679. package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
  680. package/src/lib/plugins/openapi/OasProvider.tsx +38 -17
  681. package/src/lib/plugins/openapi/OperationList.tsx +46 -21
  682. package/src/lib/plugins/openapi/OperationListItem.tsx +15 -12
  683. package/src/lib/plugins/openapi/ParamInfos.tsx +1 -0
  684. package/src/lib/plugins/openapi/ParameterList.tsx +37 -23
  685. package/src/lib/plugins/openapi/ParameterListItem.tsx +105 -54
  686. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +48 -7
  687. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +101 -33
  688. package/src/lib/plugins/openapi/SchemaList.tsx +4 -0
  689. package/src/lib/plugins/openapi/Sidecar.tsx +148 -67
  690. package/src/lib/plugins/openapi/SidecarBox.tsx +26 -4
  691. package/src/lib/plugins/openapi/SidecarExamples.tsx +91 -79
  692. package/src/lib/plugins/openapi/components/ConstValue.tsx +1 -1
  693. package/src/lib/plugins/openapi/components/EnumValues.tsx +2 -2
  694. package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
  695. package/src/lib/plugins/openapi/components/ResponseContent.tsx +63 -53
  696. package/src/lib/plugins/openapi/index.tsx +25 -36
  697. package/src/lib/plugins/openapi/interfaces.ts +33 -7
  698. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +246 -30
  699. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +10 -6
  700. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +3 -2
  701. package/src/lib/plugins/openapi/playground/Headers.tsx +103 -219
  702. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +33 -1
  703. package/src/lib/plugins/openapi/playground/PathParams.tsx +26 -34
  704. package/src/lib/plugins/openapi/playground/Playground.tsx +88 -35
  705. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +10 -31
  706. package/src/lib/plugins/openapi/playground/QueryParams.tsx +82 -136
  707. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +20 -1
  708. package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
  709. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
  710. package/src/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.tsx +872 -0
  711. package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +349 -0
  712. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +2 -2
  713. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +102 -62
  714. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +1 -1
  715. package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +3 -0
  716. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +1 -1
  717. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +89 -55
  718. package/src/lib/plugins/openapi/schema/SchemaView.tsx +100 -60
  719. package/src/lib/plugins/openapi/schema/UnionView.tsx +6 -17
  720. package/src/lib/plugins/openapi/schema/union-helpers.ts +0 -1
  721. package/src/lib/plugins/openapi/schema/utils.ts +20 -6
  722. package/src/lib/plugins/openapi/util/createHttpSnippet.ts +29 -1
  723. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +11 -11
  724. package/src/lib/plugins/openapi/util/getRoutes.tsx +38 -3
  725. package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +163 -0
  726. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +61 -22
  727. package/src/lib/plugins/search-pagefind/ResultList.tsx +8 -3
  728. package/src/lib/shiki.ts +37 -14
  729. package/src/lib/ui/Badge.tsx +21 -12
  730. package/src/lib/ui/Button.tsx +11 -9
  731. package/src/lib/ui/ButtonGroup.tsx +82 -0
  732. package/src/lib/ui/Callout.tsx +10 -5
  733. package/src/lib/ui/Checkbox.tsx +23 -24
  734. package/src/lib/ui/CodeBlock.tsx +3 -4
  735. package/src/lib/ui/Collapsible.tsx +26 -4
  736. package/src/lib/ui/Command.tsx +3 -3
  737. package/src/lib/ui/Dialog.tsx +112 -106
  738. package/src/lib/ui/DropdownMenu.tsx +226 -170
  739. package/src/lib/ui/EmbeddedCodeBlock.tsx +24 -19
  740. package/src/lib/ui/Frame.tsx +81 -0
  741. package/src/lib/ui/Item.tsx +192 -0
  742. package/src/lib/ui/Kbd.tsx +28 -0
  743. package/src/lib/ui/NativeSelect.tsx +47 -0
  744. package/src/lib/ui/ReactComponentDoc.tsx +17 -17
  745. package/src/lib/ui/Select.tsx +153 -126
  746. package/src/lib/ui/Separator.tsx +25 -0
  747. package/src/lib/ui/SyntaxHighlight.tsx +6 -1
  748. package/src/lib/ui/Tooltip.tsx +54 -32
  749. package/src/lib/util/MdxComponents.tsx +5 -5
  750. package/src/lib/util/createVariantComponent.tsx +31 -5
  751. package/src/lib/util/flattenAllOf.test.ts +689 -0
  752. package/src/lib/util/flattenAllOf.ts +122 -0
  753. package/src/lib/util/invariant.ts +2 -1
  754. package/src/lib/util/readFrontmatter.ts +13 -0
  755. package/src/lib/util/syncZustandState.ts +22 -0
  756. package/src/shiki/langs/c3.js +1 -0
  757. package/src/shiki/langs/gn.js +1 -0
  758. package/src/shiki/langs/markdown-nix.js +1 -0
  759. package/src/shiki/langs/moonbit.js +1 -0
  760. package/src/shiki/langs/openscad.js +1 -0
  761. package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +0 -4
  762. package/dist/lib/plugins/openapi/playground/InlineInput.js +0 -3
  763. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +0 -1
  764. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.d.ts +0 -5
  765. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js +0 -7
  766. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js.map +0 -1
  767. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.d.ts +0 -4
  768. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js +0 -10
  769. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js.map +0 -1
  770. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.d.ts +0 -5
  771. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js +0 -16
  772. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js.map +0 -1
  773. package/dist/vite/create-pagefind-index.d.ts +0 -4
  774. package/dist/vite/create-pagefind-index.js +0 -12
  775. package/dist/vite/create-pagefind-index.js.map +0 -1
  776. package/lib/Button-DmS4u8Lj.js +0 -51
  777. package/lib/Button-DmS4u8Lj.js.map +0 -1
  778. package/lib/CodeBlock-CanTUJLl.js +0 -221
  779. package/lib/CodeBlock-CanTUJLl.js.map +0 -1
  780. package/lib/Command-CJY6q3PF.js.map +0 -1
  781. package/lib/Dialog-BOl0QB3n.js +0 -114
  782. package/lib/Dialog-BOl0QB3n.js.map +0 -1
  783. package/lib/DropdownMenu-BZ2NKQ3K.js +0 -126
  784. package/lib/DropdownMenu-BZ2NKQ3K.js.map +0 -1
  785. package/lib/ErrorAlert-VBJ8aHH7.js.map +0 -1
  786. package/lib/MdxPage-DFRNwSsc.js +0 -239
  787. package/lib/MdxPage-DFRNwSsc.js.map +0 -1
  788. package/lib/OAuthErrorPage-DJUOdr6Q.js.map +0 -1
  789. package/lib/OasProvider-BMUgPYQU.js +0 -36
  790. package/lib/OasProvider-BMUgPYQU.js.map +0 -1
  791. package/lib/OperationList-DVig5I94.js +0 -5446
  792. package/lib/OperationList-DVig5I94.js.map +0 -1
  793. package/lib/Pagination-CT4VUR6u.js +0 -37
  794. package/lib/Pagination-CT4VUR6u.js.map +0 -1
  795. package/lib/RouteGuard-BPWQlxy5.js +0 -56
  796. package/lib/RouteGuard-BPWQlxy5.js.map +0 -1
  797. package/lib/RouterError-fm21cqlj.js +0 -41
  798. package/lib/RouterError-fm21cqlj.js.map +0 -1
  799. package/lib/SchemaList-1eLKXqn8.js.map +0 -1
  800. package/lib/SchemaView-fq3uKfOA.js +0 -458
  801. package/lib/SchemaView-fq3uKfOA.js.map +0 -1
  802. package/lib/Select-CPoGZU_V.js +0 -372
  803. package/lib/Select-CPoGZU_V.js.map +0 -1
  804. package/lib/SignUp-BraHuRN_.js +0 -56
  805. package/lib/SignUp-BraHuRN_.js.map +0 -1
  806. package/lib/SyntaxHighlight-B0laqAqK.js.map +0 -1
  807. package/lib/Toc-KzXCRqrX.js.map +0 -1
  808. package/lib/ZudokuContext-BXTZApgy.js +0 -1506
  809. package/lib/ZudokuContext-BXTZApgy.js.map +0 -1
  810. package/lib/chunk-PVWAREVJ-BO6B-RAk.js +0 -7965
  811. package/lib/chunk-PVWAREVJ-BO6B-RAk.js.map +0 -1
  812. package/lib/circular-D6wbrxuf.js.map +0 -1
  813. package/lib/cn-dYga0KKN.js.map +0 -1
  814. package/lib/createServer-C5aY10Bc.js +0 -12559
  815. package/lib/createServer-C5aY10Bc.js.map +0 -1
  816. package/lib/hook-CAebs2rv.js +0 -31
  817. package/lib/hook-CAebs2rv.js.map +0 -1
  818. package/lib/index-BPSpOxTK.js +0 -1058
  819. package/lib/index-BPSpOxTK.js.map +0 -1
  820. package/lib/index-Bb9AsFlk.js +0 -3318
  821. package/lib/index-Bb9AsFlk.js.map +0 -1
  822. package/lib/invariant-Bm-FVUQE.js.map +0 -1
  823. package/lib/mutation-CdGPxHNX.js.map +0 -1
  824. package/lib/useExposedProps-Cd7Yg_uG.js +0 -113
  825. package/lib/useExposedProps-Cd7Yg_uG.js.map +0 -1
  826. package/src/lib/plugins/openapi/playground/InlineInput.tsx +0 -6
  827. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.tsx +0 -36
  828. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.tsx +0 -25
  829. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx +0 -42
@@ -1,3318 +0,0 @@
1
- import { j as n } from "./jsx-runtime-BzflLqGi.js";
2
- import { ChevronUpIcon as pn, PlusCircleIcon as pe, FileInput as hn, Check as fn, TableOfContentsIcon as gn, LockIcon as xn, CircleAlertIcon as yn, XIcon as ft, Circle as vn, Unlink2Icon as bn, CornerDownRightIcon as jn, CornerDownLeftIcon as Cn, DownloadIcon as Nn, EyeOffIcon as wn, EyeIcon as Sn, UnplugIcon as Tn, SendIcon as An, CheckIcon as On, CopyIcon as Pn, IdCardLanyardIcon as Ln, ShapesIcon as $n, LogInIcon as En, CirclePlayIcon as Rn } from "lucide-react";
3
- import { r as kn, u as In, c as Dn, N as zn, aL as Fn, m as st } from "./chunk-PVWAREVJ-BO6B-RAk.js";
4
- import { u as qn } from "./hook-CAebs2rv.js";
5
- import { Button as ee } from "./ui/Button.js";
6
- import { J as $e, K as Ee, L as gt, a as Vn, e as Bn, M as _n, j as R, b as Un } from "./ZudokuContext-BXTZApgy.js";
7
- import { Z as Mn, i as Gn } from "./invariant-Bm-FVUQE.js";
8
- import * as q from "react";
9
- import { createContext as xt, use as Hn, useRef as O, useEffect as I, useMemo as yt, useState as $, useCallback as vt, Fragment as Z, useLayoutEffect as Qn, useTransition as Jn, useContext as Wn } from "react";
10
- import { VisuallyHidden as Xn } from "@radix-ui/react-visually-hidden";
11
- import { useAuth as Zn } from "./zudoku.hooks.js";
12
- import { D as Re, a as ke, c as Ie, d as bt, e as jt, g as Yn } from "./Dialog-BOl0QB3n.js";
13
- import { S as Kn, b as es } from "./index-BPSpOxTK.js";
14
- import { S as Ct, c as Nt, d as wt, e as St, g as ie, i as ts, A as ns, a as ss, b as rs, u as as } from "./Select-CPoGZU_V.js";
15
- import { u as se, b as De, C as D, a as os, F as is } from "./index.esm-BYObtETB.js";
16
- import { B as E } from "./Button-DmS4u8Lj.js";
17
- import * as ze from "@radix-ui/react-collapsible";
18
- import { g as rt, h as at, i as ot, j as cs } from "./ErrorAlert-VBJ8aHH7.js";
19
- import { c as C } from "./cn-dYga0KKN.js";
20
- import { u as ls } from "./useCopyToClipboard-B_085nfO.js";
21
- import { u as ds } from "./useLatest-hmRS46UF.js";
22
- import { D as us, a as ms, b as ps, d as hs, e as fs, f as gs, c as xs } from "./DropdownMenu-BZ2NKQ3K.js";
23
- import * as Oe from "@radix-ui/react-checkbox";
24
- import * as le from "@radix-ui/react-popover";
25
- import { PopoverAnchor as ys } from "@radix-ui/react-popover";
26
- import { P as vs } from "./index-CrcNWbel.js";
27
- import { f as bs, g as js, C as Cs, b as Ns } from "./Command-CJY6q3PF.js";
28
- import { Input as de } from "./ui/Input.js";
29
- import { Slot as ws } from "@radix-ui/react-slot";
30
- import { C as Ss } from "./Card-KFniaZn5.js";
31
- import * as Tt from "@radix-ui/react-label";
32
- import { c as Ts } from "./index-DI5SPFK9.js";
33
- import * as te from "@radix-ui/react-radio-group";
34
- import { z as As } from "./useExposedProps-Cd7Yg_uG.js";
35
- import { h as Os } from "./SyntaxHighlight-B0laqAqK.js";
36
- let be;
37
- const Ps = (e) => {
38
- if (e.errors?.[0])
39
- throw new Mn(e.errors[0].message, {
40
- developerHint: "Check your configuration value `apis.type` and `apis.input` in the Zudoku config."
41
- });
42
- };
43
- class Ls {
44
- constructor(t) {
45
- this.config = t;
46
- }
47
- #e = async () => (be || (be = import("./createServer-C5aY10Bc.js").then(
48
- (t) => t.createServer(this.config)
49
- )), be);
50
- #t = async (t) => this.config.server ? fetch(this.config.server, t) : (await this.#e()).fetch("http://localhost/graphql", t);
51
- fetch = async (t, s) => {
52
- const a = t.match(/query (\w+)/)?.[1], r = await this.#t({
53
- method: "POST",
54
- body: JSON.stringify({ query: t, variables: s, operationName: a }),
55
- headers: { "Content-Type": "application/json" }
56
- });
57
- if (!r.ok)
58
- throw new Error("Network response was not ok");
59
- const o = await r.json();
60
- return Ps(o), o.data;
61
- };
62
- }
63
- function je(e, t) {
64
- if (!!!e)
65
- throw new Error(t);
66
- }
67
- function $s(e) {
68
- return typeof e == "object" && e !== null;
69
- }
70
- function Es(e, t) {
71
- if (!!!e)
72
- throw new Error(
73
- t ?? "Unexpected invariant triggered."
74
- );
75
- }
76
- const Rs = /\r\n|[\n\r]/g;
77
- function Pe(e, t) {
78
- let s = 0, a = 1;
79
- for (const r of e.body.matchAll(Rs)) {
80
- if (typeof r.index == "number" || Es(!1), r.index >= t)
81
- break;
82
- s = r.index + r[0].length, a += 1;
83
- }
84
- return {
85
- line: a,
86
- column: t + 1 - s
87
- };
88
- }
89
- function ks(e) {
90
- return At(
91
- e.source,
92
- Pe(e.source, e.start)
93
- );
94
- }
95
- function At(e, t) {
96
- const s = e.locationOffset.column - 1, a = "".padStart(s) + e.body, r = t.line - 1, o = e.locationOffset.line - 1, i = t.line + o, l = t.line === 1 ? s : 0, c = t.column + l, u = `${e.name}:${i}:${c}
97
- `, d = a.split(/\r\n|[\n\r]/g), h = d[r];
98
- if (h.length > 120) {
99
- const g = Math.floor(c / 80), m = c % 80, v = [];
100
- for (let y = 0; y < h.length; y += 80)
101
- v.push(h.slice(y, y + 80));
102
- return u + it([
103
- [`${i} |`, v[0]],
104
- ...v.slice(1, g + 1).map((y) => ["|", y]),
105
- ["|", "^".padStart(m)],
106
- ["|", v[g + 1]]
107
- ]);
108
- }
109
- return u + it([
110
- // Lines specified like this: ["prefix", "string"],
111
- [`${i - 1} |`, d[r - 1]],
112
- [`${i} |`, h],
113
- ["|", "^".padStart(c)],
114
- [`${i + 1} |`, d[r + 1]]
115
- ]);
116
- }
117
- function it(e) {
118
- const t = e.filter(([a, r]) => r !== void 0), s = Math.max(...t.map(([a]) => a.length));
119
- return t.map(([a, r]) => a.padStart(s) + (r ? " " + r : "")).join(`
120
- `);
121
- }
122
- function Is(e) {
123
- const t = e[0];
124
- return t == null || "kind" in t || "length" in t ? {
125
- nodes: t,
126
- source: e[1],
127
- positions: e[2],
128
- path: e[3],
129
- originalError: e[4],
130
- extensions: e[5]
131
- } : t;
132
- }
133
- class Fe extends Error {
134
- /**
135
- * An array of `{ line, column }` locations within the source GraphQL document
136
- * which correspond to this error.
137
- *
138
- * Errors during validation often contain multiple locations, for example to
139
- * point out two things with the same name. Errors during execution include a
140
- * single location, the field which produced the error.
141
- *
142
- * Enumerable, and appears in the result of JSON.stringify().
143
- */
144
- /**
145
- * An array describing the JSON-path into the execution response which
146
- * corresponds to this error. Only included for errors during execution.
147
- *
148
- * Enumerable, and appears in the result of JSON.stringify().
149
- */
150
- /**
151
- * An array of GraphQL AST Nodes corresponding to this error.
152
- */
153
- /**
154
- * The source GraphQL document for the first location of this error.
155
- *
156
- * Note that if this Error represents more than one node, the source may not
157
- * represent nodes after the first node.
158
- */
159
- /**
160
- * An array of character offsets within the source GraphQL document
161
- * which correspond to this error.
162
- */
163
- /**
164
- * The original error thrown from a field resolver during execution.
165
- */
166
- /**
167
- * Extension fields to add to the formatted error.
168
- */
169
- /**
170
- * @deprecated Please use the `GraphQLErrorOptions` constructor overload instead.
171
- */
172
- constructor(t, ...s) {
173
- var a, r, o;
174
- const { nodes: i, source: l, positions: c, path: u, originalError: d, extensions: h } = Is(s);
175
- super(t), this.name = "GraphQLError", this.path = u ?? void 0, this.originalError = d ?? void 0, this.nodes = ct(
176
- Array.isArray(i) ? i : i ? [i] : void 0
177
- );
178
- const g = ct(
179
- (a = this.nodes) === null || a === void 0 ? void 0 : a.map((v) => v.loc).filter((v) => v != null)
180
- );
181
- this.source = l ?? (g == null || (r = g[0]) === null || r === void 0 ? void 0 : r.source), this.positions = c ?? g?.map((v) => v.start), this.locations = c && l ? c.map((v) => Pe(l, v)) : g?.map((v) => Pe(v.source, v.start));
182
- const m = $s(
183
- d?.extensions
184
- ) ? d?.extensions : void 0;
185
- this.extensions = (o = h ?? m) !== null && o !== void 0 ? o : /* @__PURE__ */ Object.create(null), Object.defineProperties(this, {
186
- message: {
187
- writable: !0,
188
- enumerable: !0
189
- },
190
- name: {
191
- enumerable: !1
192
- },
193
- nodes: {
194
- enumerable: !1
195
- },
196
- source: {
197
- enumerable: !1
198
- },
199
- positions: {
200
- enumerable: !1
201
- },
202
- originalError: {
203
- enumerable: !1
204
- }
205
- }), d != null && d.stack ? Object.defineProperty(this, "stack", {
206
- value: d.stack,
207
- writable: !0,
208
- configurable: !0
209
- }) : Error.captureStackTrace ? Error.captureStackTrace(this, Fe) : Object.defineProperty(this, "stack", {
210
- value: Error().stack,
211
- writable: !0,
212
- configurable: !0
213
- });
214
- }
215
- get [Symbol.toStringTag]() {
216
- return "GraphQLError";
217
- }
218
- toString() {
219
- let t = this.message;
220
- if (this.nodes)
221
- for (const s of this.nodes)
222
- s.loc && (t += `
223
-
224
- ` + ks(s.loc));
225
- else if (this.source && this.locations)
226
- for (const s of this.locations)
227
- t += `
228
-
229
- ` + At(this.source, s);
230
- return t;
231
- }
232
- toJSON() {
233
- const t = {
234
- message: this.message
235
- };
236
- return this.locations != null && (t.locations = this.locations), this.path != null && (t.path = this.path), this.extensions != null && Object.keys(this.extensions).length > 0 && (t.extensions = this.extensions), t;
237
- }
238
- }
239
- function ct(e) {
240
- return e === void 0 || e.length === 0 ? void 0 : e;
241
- }
242
- function P(e, t, s) {
243
- return new Fe(`Syntax Error: ${s}`, {
244
- source: e,
245
- positions: [t]
246
- });
247
- }
248
- class Va {
249
- /**
250
- * The character offset at which this Node begins.
251
- */
252
- /**
253
- * The character offset at which this Node ends.
254
- */
255
- /**
256
- * The Token at which this Node begins.
257
- */
258
- /**
259
- * The Token at which this Node ends.
260
- */
261
- /**
262
- * The Source document the AST represents.
263
- */
264
- constructor(t, s, a) {
265
- this.start = t.start, this.end = s.end, this.startToken = t, this.endToken = s, this.source = a;
266
- }
267
- get [Symbol.toStringTag]() {
268
- return "Location";
269
- }
270
- toJSON() {
271
- return {
272
- start: this.start,
273
- end: this.end
274
- };
275
- }
276
- }
277
- class Ot {
278
- /**
279
- * The kind of Token.
280
- */
281
- /**
282
- * The character offset at which this Node begins.
283
- */
284
- /**
285
- * The character offset at which this Node ends.
286
- */
287
- /**
288
- * The 1-indexed line number on which this Token appears.
289
- */
290
- /**
291
- * The 1-indexed column number at which this Token begins.
292
- */
293
- /**
294
- * For non-punctuation tokens, represents the interpreted value of the token.
295
- *
296
- * Note: is undefined for punctuation tokens, but typed as string for
297
- * convenience in the parser.
298
- */
299
- /**
300
- * Tokens exist as nodes in a double-linked-list amongst all tokens
301
- * including ignored tokens. <SOF> is always the first node and <EOF>
302
- * the last.
303
- */
304
- constructor(t, s, a, r, o, i) {
305
- this.kind = t, this.start = s, this.end = a, this.line = r, this.column = o, this.value = i, this.prev = null, this.next = null;
306
- }
307
- get [Symbol.toStringTag]() {
308
- return "Token";
309
- }
310
- toJSON() {
311
- return {
312
- kind: this.kind,
313
- value: this.value,
314
- line: this.line,
315
- column: this.column
316
- };
317
- }
318
- }
319
- const Ds = {
320
- Name: [],
321
- Document: ["definitions"],
322
- OperationDefinition: [
323
- "name",
324
- "variableDefinitions",
325
- "directives",
326
- "selectionSet"
327
- ],
328
- VariableDefinition: ["variable", "type", "defaultValue", "directives"],
329
- Variable: ["name"],
330
- SelectionSet: ["selections"],
331
- Field: ["alias", "name", "arguments", "directives", "selectionSet"],
332
- Argument: ["name", "value"],
333
- FragmentSpread: ["name", "directives"],
334
- InlineFragment: ["typeCondition", "directives", "selectionSet"],
335
- FragmentDefinition: [
336
- "name",
337
- // Note: fragment variable definitions are deprecated and will removed in v17.0.0
338
- "variableDefinitions",
339
- "typeCondition",
340
- "directives",
341
- "selectionSet"
342
- ],
343
- IntValue: [],
344
- FloatValue: [],
345
- StringValue: [],
346
- BooleanValue: [],
347
- NullValue: [],
348
- EnumValue: [],
349
- ListValue: ["values"],
350
- ObjectValue: ["fields"],
351
- ObjectField: ["name", "value"],
352
- Directive: ["name", "arguments"],
353
- NamedType: ["name"],
354
- ListType: ["type"],
355
- NonNullType: ["type"],
356
- SchemaDefinition: ["description", "directives", "operationTypes"],
357
- OperationTypeDefinition: ["type"],
358
- ScalarTypeDefinition: ["description", "name", "directives"],
359
- ObjectTypeDefinition: [
360
- "description",
361
- "name",
362
- "interfaces",
363
- "directives",
364
- "fields"
365
- ],
366
- FieldDefinition: ["description", "name", "arguments", "type", "directives"],
367
- InputValueDefinition: [
368
- "description",
369
- "name",
370
- "type",
371
- "defaultValue",
372
- "directives"
373
- ],
374
- InterfaceTypeDefinition: [
375
- "description",
376
- "name",
377
- "interfaces",
378
- "directives",
379
- "fields"
380
- ],
381
- UnionTypeDefinition: ["description", "name", "directives", "types"],
382
- EnumTypeDefinition: ["description", "name", "directives", "values"],
383
- EnumValueDefinition: ["description", "name", "directives"],
384
- InputObjectTypeDefinition: ["description", "name", "directives", "fields"],
385
- DirectiveDefinition: ["description", "name", "arguments", "locations"],
386
- SchemaExtension: ["directives", "operationTypes"],
387
- ScalarTypeExtension: ["name", "directives"],
388
- ObjectTypeExtension: ["name", "interfaces", "directives", "fields"],
389
- InterfaceTypeExtension: ["name", "interfaces", "directives", "fields"],
390
- UnionTypeExtension: ["name", "directives", "types"],
391
- EnumTypeExtension: ["name", "directives", "values"],
392
- InputObjectTypeExtension: ["name", "directives", "fields"]
393
- }, zs = new Set(Object.keys(Ds));
394
- function Ba(e) {
395
- const t = e?.kind;
396
- return typeof t == "string" && zs.has(t);
397
- }
398
- var lt;
399
- (function(e) {
400
- e.QUERY = "query", e.MUTATION = "mutation", e.SUBSCRIPTION = "subscription";
401
- })(lt || (lt = {}));
402
- function Le(e) {
403
- return e === 9 || e === 32;
404
- }
405
- function ne(e) {
406
- return e >= 48 && e <= 57;
407
- }
408
- function Pt(e) {
409
- return e >= 97 && e <= 122 || // A-Z
410
- e >= 65 && e <= 90;
411
- }
412
- function Lt(e) {
413
- return Pt(e) || e === 95;
414
- }
415
- function Fs(e) {
416
- return Pt(e) || ne(e) || e === 95;
417
- }
418
- function qs(e) {
419
- var t;
420
- let s = Number.MAX_SAFE_INTEGER, a = null, r = -1;
421
- for (let i = 0; i < e.length; ++i) {
422
- var o;
423
- const l = e[i], c = Vs(l);
424
- c !== l.length && (a = (o = a) !== null && o !== void 0 ? o : i, r = i, i !== 0 && c < s && (s = c));
425
- }
426
- return e.map((i, l) => l === 0 ? i : i.slice(s)).slice(
427
- (t = a) !== null && t !== void 0 ? t : 0,
428
- r + 1
429
- );
430
- }
431
- function Vs(e) {
432
- let t = 0;
433
- for (; t < e.length && Le(e.charCodeAt(t)); )
434
- ++t;
435
- return t;
436
- }
437
- function Bs(e, t) {
438
- const s = e.replace(/"""/g, '\\"""'), a = s.split(/\r\n|[\n\r]/g), r = a.length === 1, o = a.length > 1 && a.slice(1).every((m) => m.length === 0 || Le(m.charCodeAt(0))), i = s.endsWith('\\"""'), l = e.endsWith('"') && !i, c = e.endsWith("\\"), u = l || c, d = !(t != null && t.minimize) && // add leading and trailing new lines only if it improves readability
439
- (!r || e.length > 70 || u || o || i);
440
- let h = "";
441
- const g = r && Le(e.charCodeAt(0));
442
- return (d && !g || o) && (h += `
443
- `), h += s, (d || u) && (h += `
444
- `), '"""' + h + '"""';
445
- }
446
- var x;
447
- (function(e) {
448
- e.SOF = "<SOF>", e.EOF = "<EOF>", e.BANG = "!", e.DOLLAR = "$", e.AMP = "&", e.PAREN_L = "(", e.PAREN_R = ")", e.SPREAD = "...", e.COLON = ":", e.EQUALS = "=", e.AT = "@", e.BRACKET_L = "[", e.BRACKET_R = "]", e.BRACE_L = "{", e.PIPE = "|", e.BRACE_R = "}", e.NAME = "Name", e.INT = "Int", e.FLOAT = "Float", e.STRING = "String", e.BLOCK_STRING = "BlockString", e.COMMENT = "Comment";
449
- })(x || (x = {}));
450
- class _s {
451
- /**
452
- * The previously focused non-ignored token.
453
- */
454
- /**
455
- * The currently focused non-ignored token.
456
- */
457
- /**
458
- * The (1-indexed) line containing the current token.
459
- */
460
- /**
461
- * The character offset at which the current line begins.
462
- */
463
- constructor(t) {
464
- const s = new Ot(x.SOF, 0, 0, 0, 0);
465
- this.source = t, this.lastToken = s, this.token = s, this.line = 1, this.lineStart = 0;
466
- }
467
- get [Symbol.toStringTag]() {
468
- return "Lexer";
469
- }
470
- /**
471
- * Advances the token stream to the next non-ignored token.
472
- */
473
- advance() {
474
- return this.lastToken = this.token, this.token = this.lookahead();
475
- }
476
- /**
477
- * Looks ahead and returns the next non-ignored token, but does not change
478
- * the state of Lexer.
479
- */
480
- lookahead() {
481
- let t = this.token;
482
- if (t.kind !== x.EOF)
483
- do
484
- if (t.next)
485
- t = t.next;
486
- else {
487
- const s = Ms(this, t.end);
488
- t.next = s, s.prev = t, t = s;
489
- }
490
- while (t.kind === x.COMMENT);
491
- return t;
492
- }
493
- }
494
- function Us(e) {
495
- return e === x.BANG || e === x.DOLLAR || e === x.AMP || e === x.PAREN_L || e === x.PAREN_R || e === x.SPREAD || e === x.COLON || e === x.EQUALS || e === x.AT || e === x.BRACKET_L || e === x.BRACKET_R || e === x.BRACE_L || e === x.PIPE || e === x.BRACE_R;
496
- }
497
- function W(e) {
498
- return e >= 0 && e <= 55295 || e >= 57344 && e <= 1114111;
499
- }
500
- function he(e, t) {
501
- return $t(e.charCodeAt(t)) && Et(e.charCodeAt(t + 1));
502
- }
503
- function $t(e) {
504
- return e >= 55296 && e <= 56319;
505
- }
506
- function Et(e) {
507
- return e >= 56320 && e <= 57343;
508
- }
509
- function _(e, t) {
510
- const s = e.source.body.codePointAt(t);
511
- if (s === void 0)
512
- return x.EOF;
513
- if (s >= 32 && s <= 126) {
514
- const a = String.fromCodePoint(s);
515
- return a === '"' ? `'"'` : `"${a}"`;
516
- }
517
- return "U+" + s.toString(16).toUpperCase().padStart(4, "0");
518
- }
519
- function N(e, t, s, a, r) {
520
- const o = e.line, i = 1 + s - e.lineStart;
521
- return new Ot(t, s, a, o, i, r);
522
- }
523
- function Ms(e, t) {
524
- const s = e.source.body, a = s.length;
525
- let r = t;
526
- for (; r < a; ) {
527
- const o = s.charCodeAt(r);
528
- switch (o) {
529
- // Ignored ::
530
- // - UnicodeBOM
531
- // - WhiteSpace
532
- // - LineTerminator
533
- // - Comment
534
- // - Comma
535
- //
536
- // UnicodeBOM :: "Byte Order Mark (U+FEFF)"
537
- //
538
- // WhiteSpace ::
539
- // - "Horizontal Tab (U+0009)"
540
- // - "Space (U+0020)"
541
- //
542
- // Comma :: ,
543
- case 65279:
544
- // <BOM>
545
- case 9:
546
- // \t
547
- case 32:
548
- // <space>
549
- case 44:
550
- ++r;
551
- continue;
552
- // LineTerminator ::
553
- // - "New Line (U+000A)"
554
- // - "Carriage Return (U+000D)" [lookahead != "New Line (U+000A)"]
555
- // - "Carriage Return (U+000D)" "New Line (U+000A)"
556
- case 10:
557
- ++r, ++e.line, e.lineStart = r;
558
- continue;
559
- case 13:
560
- s.charCodeAt(r + 1) === 10 ? r += 2 : ++r, ++e.line, e.lineStart = r;
561
- continue;
562
- // Comment
563
- case 35:
564
- return Gs(e, r);
565
- // Token ::
566
- // - Punctuator
567
- // - Name
568
- // - IntValue
569
- // - FloatValue
570
- // - StringValue
571
- //
572
- // Punctuator :: one of ! $ & ( ) ... : = @ [ ] { | }
573
- case 33:
574
- return N(e, x.BANG, r, r + 1);
575
- case 36:
576
- return N(e, x.DOLLAR, r, r + 1);
577
- case 38:
578
- return N(e, x.AMP, r, r + 1);
579
- case 40:
580
- return N(e, x.PAREN_L, r, r + 1);
581
- case 41:
582
- return N(e, x.PAREN_R, r, r + 1);
583
- case 46:
584
- if (s.charCodeAt(r + 1) === 46 && s.charCodeAt(r + 2) === 46)
585
- return N(e, x.SPREAD, r, r + 3);
586
- break;
587
- case 58:
588
- return N(e, x.COLON, r, r + 1);
589
- case 61:
590
- return N(e, x.EQUALS, r, r + 1);
591
- case 64:
592
- return N(e, x.AT, r, r + 1);
593
- case 91:
594
- return N(e, x.BRACKET_L, r, r + 1);
595
- case 93:
596
- return N(e, x.BRACKET_R, r, r + 1);
597
- case 123:
598
- return N(e, x.BRACE_L, r, r + 1);
599
- case 124:
600
- return N(e, x.PIPE, r, r + 1);
601
- case 125:
602
- return N(e, x.BRACE_R, r, r + 1);
603
- // StringValue
604
- case 34:
605
- return s.charCodeAt(r + 1) === 34 && s.charCodeAt(r + 2) === 34 ? Zs(e, r) : Qs(e, r);
606
- }
607
- if (ne(o) || o === 45)
608
- return Hs(e, r, o);
609
- if (Lt(o))
610
- return Ys(e, r);
611
- throw P(
612
- e.source,
613
- r,
614
- o === 39 ? `Unexpected single quote character ('), did you mean to use a double quote (")?` : W(o) || he(s, r) ? `Unexpected character: ${_(e, r)}.` : `Invalid character: ${_(e, r)}.`
615
- );
616
- }
617
- return N(e, x.EOF, a, a);
618
- }
619
- function Gs(e, t) {
620
- const s = e.source.body, a = s.length;
621
- let r = t + 1;
622
- for (; r < a; ) {
623
- const o = s.charCodeAt(r);
624
- if (o === 10 || o === 13)
625
- break;
626
- if (W(o))
627
- ++r;
628
- else if (he(s, r))
629
- r += 2;
630
- else
631
- break;
632
- }
633
- return N(
634
- e,
635
- x.COMMENT,
636
- t,
637
- r,
638
- s.slice(t + 1, r)
639
- );
640
- }
641
- function Hs(e, t, s) {
642
- const a = e.source.body;
643
- let r = t, o = s, i = !1;
644
- if (o === 45 && (o = a.charCodeAt(++r)), o === 48) {
645
- if (o = a.charCodeAt(++r), ne(o))
646
- throw P(
647
- e.source,
648
- r,
649
- `Invalid number, unexpected digit after 0: ${_(
650
- e,
651
- r
652
- )}.`
653
- );
654
- } else
655
- r = Ce(e, r, o), o = a.charCodeAt(r);
656
- if (o === 46 && (i = !0, o = a.charCodeAt(++r), r = Ce(e, r, o), o = a.charCodeAt(r)), (o === 69 || o === 101) && (i = !0, o = a.charCodeAt(++r), (o === 43 || o === 45) && (o = a.charCodeAt(++r)), r = Ce(e, r, o), o = a.charCodeAt(r)), o === 46 || Lt(o))
657
- throw P(
658
- e.source,
659
- r,
660
- `Invalid number, expected digit but got: ${_(
661
- e,
662
- r
663
- )}.`
664
- );
665
- return N(
666
- e,
667
- i ? x.FLOAT : x.INT,
668
- t,
669
- r,
670
- a.slice(t, r)
671
- );
672
- }
673
- function Ce(e, t, s) {
674
- if (!ne(s))
675
- throw P(
676
- e.source,
677
- t,
678
- `Invalid number, expected digit but got: ${_(
679
- e,
680
- t
681
- )}.`
682
- );
683
- const a = e.source.body;
684
- let r = t + 1;
685
- for (; ne(a.charCodeAt(r)); )
686
- ++r;
687
- return r;
688
- }
689
- function Qs(e, t) {
690
- const s = e.source.body, a = s.length;
691
- let r = t + 1, o = r, i = "";
692
- for (; r < a; ) {
693
- const l = s.charCodeAt(r);
694
- if (l === 34)
695
- return i += s.slice(o, r), N(e, x.STRING, t, r + 1, i);
696
- if (l === 92) {
697
- i += s.slice(o, r);
698
- const c = s.charCodeAt(r + 1) === 117 ? s.charCodeAt(r + 2) === 123 ? Js(e, r) : Ws(e, r) : Xs(e, r);
699
- i += c.value, r += c.size, o = r;
700
- continue;
701
- }
702
- if (l === 10 || l === 13)
703
- break;
704
- if (W(l))
705
- ++r;
706
- else if (he(s, r))
707
- r += 2;
708
- else
709
- throw P(
710
- e.source,
711
- r,
712
- `Invalid character within String: ${_(
713
- e,
714
- r
715
- )}.`
716
- );
717
- }
718
- throw P(e.source, r, "Unterminated string.");
719
- }
720
- function Js(e, t) {
721
- const s = e.source.body;
722
- let a = 0, r = 3;
723
- for (; r < 12; ) {
724
- const o = s.charCodeAt(t + r++);
725
- if (o === 125) {
726
- if (r < 5 || !W(a))
727
- break;
728
- return {
729
- value: String.fromCodePoint(a),
730
- size: r
731
- };
732
- }
733
- if (a = a << 4 | Y(o), a < 0)
734
- break;
735
- }
736
- throw P(
737
- e.source,
738
- t,
739
- `Invalid Unicode escape sequence: "${s.slice(
740
- t,
741
- t + r
742
- )}".`
743
- );
744
- }
745
- function Ws(e, t) {
746
- const s = e.source.body, a = dt(s, t + 2);
747
- if (W(a))
748
- return {
749
- value: String.fromCodePoint(a),
750
- size: 6
751
- };
752
- if ($t(a) && s.charCodeAt(t + 6) === 92 && s.charCodeAt(t + 7) === 117) {
753
- const r = dt(s, t + 8);
754
- if (Et(r))
755
- return {
756
- value: String.fromCodePoint(a, r),
757
- size: 12
758
- };
759
- }
760
- throw P(
761
- e.source,
762
- t,
763
- `Invalid Unicode escape sequence: "${s.slice(t, t + 6)}".`
764
- );
765
- }
766
- function dt(e, t) {
767
- return Y(e.charCodeAt(t)) << 12 | Y(e.charCodeAt(t + 1)) << 8 | Y(e.charCodeAt(t + 2)) << 4 | Y(e.charCodeAt(t + 3));
768
- }
769
- function Y(e) {
770
- return e >= 48 && e <= 57 ? e - 48 : e >= 65 && e <= 70 ? e - 55 : e >= 97 && e <= 102 ? e - 87 : -1;
771
- }
772
- function Xs(e, t) {
773
- const s = e.source.body;
774
- switch (s.charCodeAt(t + 1)) {
775
- case 34:
776
- return {
777
- value: '"',
778
- size: 2
779
- };
780
- case 92:
781
- return {
782
- value: "\\",
783
- size: 2
784
- };
785
- case 47:
786
- return {
787
- value: "/",
788
- size: 2
789
- };
790
- case 98:
791
- return {
792
- value: "\b",
793
- size: 2
794
- };
795
- case 102:
796
- return {
797
- value: "\f",
798
- size: 2
799
- };
800
- case 110:
801
- return {
802
- value: `
803
- `,
804
- size: 2
805
- };
806
- case 114:
807
- return {
808
- value: "\r",
809
- size: 2
810
- };
811
- case 116:
812
- return {
813
- value: " ",
814
- size: 2
815
- };
816
- }
817
- throw P(
818
- e.source,
819
- t,
820
- `Invalid character escape sequence: "${s.slice(
821
- t,
822
- t + 2
823
- )}".`
824
- );
825
- }
826
- function Zs(e, t) {
827
- const s = e.source.body, a = s.length;
828
- let r = e.lineStart, o = t + 3, i = o, l = "";
829
- const c = [];
830
- for (; o < a; ) {
831
- const u = s.charCodeAt(o);
832
- if (u === 34 && s.charCodeAt(o + 1) === 34 && s.charCodeAt(o + 2) === 34) {
833
- l += s.slice(i, o), c.push(l);
834
- const d = N(
835
- e,
836
- x.BLOCK_STRING,
837
- t,
838
- o + 3,
839
- // Return a string of the lines joined with U+000A.
840
- qs(c).join(`
841
- `)
842
- );
843
- return e.line += c.length - 1, e.lineStart = r, d;
844
- }
845
- if (u === 92 && s.charCodeAt(o + 1) === 34 && s.charCodeAt(o + 2) === 34 && s.charCodeAt(o + 3) === 34) {
846
- l += s.slice(i, o), i = o + 1, o += 4;
847
- continue;
848
- }
849
- if (u === 10 || u === 13) {
850
- l += s.slice(i, o), c.push(l), u === 13 && s.charCodeAt(o + 1) === 10 ? o += 2 : ++o, l = "", i = o, r = o;
851
- continue;
852
- }
853
- if (W(u))
854
- ++o;
855
- else if (he(s, o))
856
- o += 2;
857
- else
858
- throw P(
859
- e.source,
860
- o,
861
- `Invalid character within String: ${_(
862
- e,
863
- o
864
- )}.`
865
- );
866
- }
867
- throw P(e.source, o, "Unterminated string.");
868
- }
869
- function Ys(e, t) {
870
- const s = e.source.body, a = s.length;
871
- let r = t + 1;
872
- for (; r < a; ) {
873
- const o = s.charCodeAt(r);
874
- if (Fs(o))
875
- ++r;
876
- else
877
- break;
878
- }
879
- return N(
880
- e,
881
- x.NAME,
882
- t,
883
- r,
884
- s.slice(t, r)
885
- );
886
- }
887
- const Ks = 10, Rt = 2;
888
- function kt(e) {
889
- return fe(e, []);
890
- }
891
- function fe(e, t) {
892
- switch (typeof e) {
893
- case "string":
894
- return JSON.stringify(e);
895
- case "function":
896
- return e.name ? `[function ${e.name}]` : "[function]";
897
- case "object":
898
- return er(e, t);
899
- default:
900
- return String(e);
901
- }
902
- }
903
- function er(e, t) {
904
- if (e === null)
905
- return "null";
906
- if (t.includes(e))
907
- return "[Circular]";
908
- const s = [...t, e];
909
- if (tr(e)) {
910
- const a = e.toJSON();
911
- if (a !== e)
912
- return typeof a == "string" ? a : fe(a, s);
913
- } else if (Array.isArray(e))
914
- return sr(e, s);
915
- return nr(e, s);
916
- }
917
- function tr(e) {
918
- return typeof e.toJSON == "function";
919
- }
920
- function nr(e, t) {
921
- const s = Object.entries(e);
922
- return s.length === 0 ? "{}" : t.length > Rt ? "[" + rr(e) + "]" : "{ " + s.map(
923
- ([r, o]) => r + ": " + fe(o, t)
924
- ).join(", ") + " }";
925
- }
926
- function sr(e, t) {
927
- if (e.length === 0)
928
- return "[]";
929
- if (t.length > Rt)
930
- return "[Array]";
931
- const s = Math.min(Ks, e.length), a = e.length - s, r = [];
932
- for (let o = 0; o < s; ++o)
933
- r.push(fe(e[o], t));
934
- return a === 1 ? r.push("... 1 more item") : a > 1 && r.push(`... ${a} more items`), "[" + r.join(", ") + "]";
935
- }
936
- function rr(e) {
937
- const t = Object.prototype.toString.call(e).replace(/^\[object /, "").replace(/]$/, "");
938
- if (t === "Object" && typeof e.constructor == "function") {
939
- const s = e.constructor.name;
940
- if (typeof s == "string" && s !== "")
941
- return s;
942
- }
943
- return t;
944
- }
945
- const ar = globalThis.process && // eslint-disable-next-line no-undef
946
- process.env.NODE_ENV === "production", or = (
947
- /* c8 ignore next 6 */
948
- // FIXME: https://github.com/graphql/graphql-js/issues/2317
949
- ar ? function(t, s) {
950
- return t instanceof s;
951
- } : function(t, s) {
952
- if (t instanceof s)
953
- return !0;
954
- if (typeof t == "object" && t !== null) {
955
- var a;
956
- const r = s.prototype[Symbol.toStringTag], o = (
957
- // We still need to support constructor's name to detect conflicts with older versions of this library.
958
- Symbol.toStringTag in t ? t[Symbol.toStringTag] : (a = t.constructor) === null || a === void 0 ? void 0 : a.name
959
- );
960
- if (r === o) {
961
- const i = kt(t);
962
- throw new Error(`Cannot use ${r} "${i}" from another module or realm.
963
-
964
- Ensure that there is only one instance of "graphql" in the node_modules
965
- directory. If different versions of "graphql" are the dependencies of other
966
- relied on modules, use "resolutions" to ensure only one version is installed.
967
-
968
- https://yarnpkg.com/en/docs/selective-version-resolutions
969
-
970
- Duplicate "graphql" modules cannot be used at the same time since different
971
- versions may have different capabilities and behavior. The data from one
972
- version used in the function from another could produce confusing and
973
- spurious results.`);
974
- }
975
- }
976
- return !1;
977
- }
978
- );
979
- class It {
980
- constructor(t, s = "GraphQL request", a = {
981
- line: 1,
982
- column: 1
983
- }) {
984
- typeof t == "string" || je(!1, `Body must be a string. Received: ${kt(t)}.`), this.body = t, this.name = s, this.locationOffset = a, this.locationOffset.line > 0 || je(
985
- !1,
986
- "line in locationOffset is 1-indexed and must be positive."
987
- ), this.locationOffset.column > 0 || je(
988
- !1,
989
- "column in locationOffset is 1-indexed and must be positive."
990
- );
991
- }
992
- get [Symbol.toStringTag]() {
993
- return "Source";
994
- }
995
- }
996
- function ir(e) {
997
- return or(e, It);
998
- }
999
- function cr(e) {
1000
- const t = ir(e) ? e : new It(e), s = t.body, a = new _s(t);
1001
- let r = "", o = !1;
1002
- for (; a.advance().kind !== x.EOF; ) {
1003
- const i = a.token, l = i.kind, c = !Us(i.kind);
1004
- o && (c || i.kind === x.SPREAD) && (r += " ");
1005
- const u = s.slice(i.start, i.end);
1006
- l === x.BLOCK_STRING ? r += Bs(i.value, {
1007
- minimize: !0
1008
- }) : r += u, o = c;
1009
- }
1010
- return r;
1011
- }
1012
- const Dt = xt(
1013
- void 0
1014
- ), _a = ({
1015
- children: e,
1016
- client: t
1017
- }) => /* @__PURE__ */ n.jsx(Dt.Provider, { value: t, children: e }), zt = (e, t, ...[s]) => ({
1018
- queryFn: () => e.fetch(t, s),
1019
- queryKey: [cr(t.toString()), s]
1020
- }), lr = (e, ...[t]) => {
1021
- const s = Hn(Dt);
1022
- if (s === void 0)
1023
- throw new Error("useGraphQL must be used within a GraphQLProvider");
1024
- return zt(s, e, ...t === void 0 ? [] : [t]);
1025
- };
1026
- class G extends String {
1027
- __apiType;
1028
- value;
1029
- __meta__;
1030
- constructor(t, s) {
1031
- super(t), this.value = t, this.__meta__ = s;
1032
- }
1033
- toString() {
1034
- return this.value;
1035
- }
1036
- }
1037
- const dr = new G(
1038
- `
1039
- fragment OperationsFragment on OperationItem {
1040
- slug
1041
- summary
1042
- method
1043
- description
1044
- operationId
1045
- contentTypes
1046
- path
1047
- deprecated
1048
- extensions
1049
- servers {
1050
- url
1051
- description
1052
- }
1053
- parameters {
1054
- name
1055
- in
1056
- description
1057
- required
1058
- schema
1059
- style
1060
- explode
1061
- examples {
1062
- name
1063
- description
1064
- externalValue
1065
- value
1066
- summary
1067
- }
1068
- }
1069
- requestBody {
1070
- content {
1071
- mediaType
1072
- encoding {
1073
- name
1074
- }
1075
- examples {
1076
- name
1077
- description
1078
- externalValue
1079
- value
1080
- summary
1081
- }
1082
- schema
1083
- }
1084
- description
1085
- required
1086
- }
1087
- responses {
1088
- statusCode
1089
- links
1090
- description
1091
- content {
1092
- examples {
1093
- name
1094
- description
1095
- externalValue
1096
- value
1097
- summary
1098
- }
1099
- mediaType
1100
- encoding {
1101
- name
1102
- }
1103
- schema
1104
- }
1105
- }
1106
- }
1107
- `,
1108
- { fragmentName: "OperationsFragment" }
1109
- ), ur = new G(`
1110
- query ServersQuery($input: JSON!, $type: SchemaType!) {
1111
- schema(input: $input, type: $type) {
1112
- url
1113
- servers {
1114
- url
1115
- }
1116
- }
1117
- }
1118
- `), mr = new G(`
1119
- query SchemaWarmup($input: JSON!, $type: SchemaType!) {
1120
- schema(input: $input, type: $type) {
1121
- openapi
1122
- }
1123
- }
1124
- `), pr = new G(`
1125
- query OperationsForTag($input: JSON!, $type: SchemaType!, $tag: String, $untagged: Boolean) {
1126
- schema(input: $input, type: $type) {
1127
- servers {
1128
- url
1129
- }
1130
- description
1131
- summary
1132
- title
1133
- url
1134
- version
1135
- tag(slug: $tag, untagged: $untagged) {
1136
- name
1137
- description
1138
- operations {
1139
- slug
1140
- ...OperationsFragment
1141
- }
1142
- extensions
1143
- next {
1144
- name
1145
- slug
1146
- extensions
1147
- }
1148
- prev {
1149
- name
1150
- slug
1151
- extensions
1152
- }
1153
- }
1154
- }
1155
- }
1156
- fragment OperationsFragment on OperationItem {
1157
- slug
1158
- summary
1159
- method
1160
- description
1161
- operationId
1162
- contentTypes
1163
- path
1164
- deprecated
1165
- extensions
1166
- servers {
1167
- url
1168
- description
1169
- }
1170
- parameters {
1171
- name
1172
- in
1173
- description
1174
- required
1175
- schema
1176
- style
1177
- explode
1178
- examples {
1179
- name
1180
- description
1181
- externalValue
1182
- value
1183
- summary
1184
- }
1185
- }
1186
- requestBody {
1187
- content {
1188
- mediaType
1189
- encoding {
1190
- name
1191
- }
1192
- examples {
1193
- name
1194
- description
1195
- externalValue
1196
- value
1197
- summary
1198
- }
1199
- schema
1200
- }
1201
- description
1202
- required
1203
- }
1204
- responses {
1205
- statusCode
1206
- links
1207
- description
1208
- content {
1209
- examples {
1210
- name
1211
- description
1212
- externalValue
1213
- value
1214
- summary
1215
- }
1216
- mediaType
1217
- encoding {
1218
- name
1219
- }
1220
- schema
1221
- }
1222
- }
1223
- }`), hr = new G(`
1224
- query GetSchemas($input: JSON!, $type: SchemaType!) {
1225
- schema(input: $input, type: $type) {
1226
- title
1227
- description
1228
- summary
1229
- components {
1230
- schemas {
1231
- name
1232
- schema
1233
- extensions
1234
- }
1235
- }
1236
- }
1237
- }
1238
- `), fr = new G(`
1239
- query getServerQuery($input: JSON!, $type: SchemaType!) {
1240
- schema(input: $input, type: $type) {
1241
- url
1242
- servers {
1243
- url
1244
- }
1245
- }
1246
- }
1247
- `), gr = new G(`
1248
- query GetNavigationOperations($input: JSON!, $type: SchemaType!) {
1249
- schema(input: $input, type: $type) {
1250
- extensions
1251
- tags {
1252
- slug
1253
- name
1254
- extensions
1255
- operations {
1256
- summary
1257
- slug
1258
- method
1259
- operationId
1260
- path
1261
- }
1262
- }
1263
- components {
1264
- schemas {
1265
- __typename
1266
- }
1267
- }
1268
- }
1269
- }
1270
- `), xr = {
1271
- "\n query ServersQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n }\n": ur,
1272
- "\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n deprecated\n extensions\n servers {\n url\n description\n }\n parameters {\n name\n in\n description\n required\n schema\n style\n explode\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n examples {\n name\n description\n externalValue\n value\n summary\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n examples {\n name\n description\n externalValue\n value\n summary\n }\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n": dr,
1273
- "\n query SchemaWarmup($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n openapi\n }\n }\n": mr,
1274
- "\n query OperationsForTag(\n $input: JSON!\n $type: SchemaType!\n $tag: String\n $untagged: Boolean\n ) {\n schema(input: $input, type: $type) {\n servers {\n url\n }\n description\n summary\n title\n url\n version\n tag(slug: $tag, untagged: $untagged) {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n extensions\n next {\n name\n slug\n extensions\n }\n prev {\n name\n slug\n extensions\n }\n }\n }\n }\n": pr,
1275
- "\n query GetSchemas($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n title\n description\n summary\n components {\n schemas {\n name\n schema\n extensions\n }\n }\n }\n }\n": hr,
1276
- "\n query getServerQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n }\n": fr,
1277
- "\n query GetNavigationOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n extensions\n tags {\n slug\n name\n extensions\n operations {\n summary\n slug\n method\n operationId\n path\n }\n }\n components {\n schemas {\n __typename\n }\n }\n }\n }\n": gr
1278
- };
1279
- function yr(e) {
1280
- return xr[e] ?? {};
1281
- }
1282
- const z = ze.Root, Ft = ze.CollapsibleTrigger, F = ze.CollapsibleContent;
1283
- function vr() {
1284
- const t = navigator.userAgent.toLowerCase();
1285
- if (t.indexOf("win") !== -1)
1286
- return "windows";
1287
- if (t.indexOf("mac") !== -1)
1288
- return "apple";
1289
- if (t.indexOf("linux") !== -1)
1290
- return "linux";
1291
- if (t.indexOf("x11") !== -1)
1292
- return "unix";
1293
- }
1294
- function br() {
1295
- return vr() === "apple";
1296
- }
1297
- const jr = {
1298
- other: {
1299
- alt: "Alt",
1300
- meta: "Ctrl",
1301
- ctrl: "Ctrl",
1302
- shift: "⇧",
1303
- option: "Alt"
1304
- },
1305
- apple: {
1306
- alt: "⌥",
1307
- meta: "⌘",
1308
- ctrl: "Ctrl",
1309
- shift: "⇧",
1310
- option: "⌥"
1311
- }
1312
- }, Cr = (e, t) => {
1313
- const s = e.toLowerCase().split("+"), a = s.includes("meta"), r = s.includes("shift"), o = s.includes("option") || s.includes("alt"), i = s.includes("ctrl"), l = e.split("+").pop(), c = O(t);
1314
- return I(() => {
1315
- c.current = t;
1316
- }, [t]), I(() => {
1317
- const u = (d) => {
1318
- (d.code === `Key${l?.toUpperCase()}` || d.code.toLowerCase() === l?.toLowerCase()) && d.metaKey === a && d.shiftKey === r && d.altKey === o && d.ctrlKey === i && (d.preventDefault(), c.current());
1319
- };
1320
- return window.addEventListener("keydown", u), () => {
1321
- window.removeEventListener("keydown", u);
1322
- };
1323
- }, [l, a, r, o, i]), {
1324
- trigger: () => c.current(),
1325
- label: s.map(
1326
- (u) => u === "meta" || u === "ctrl" || u === "alt" || u === "shift" || u === "option" ? jr[br() ? "apple" : "other"][u] : u
1327
- )
1328
- };
1329
- }, Nr = $e()(
1330
- Ee(
1331
- (e) => ({
1332
- selectedServer: void 0,
1333
- setSelectedServer: (t) => e({ selectedServer: t })
1334
- }),
1335
- { name: "zudoku-selected-server" }
1336
- )
1337
- ), wr = (e) => {
1338
- const { selectedServer: t, setSelectedServer: s } = Nr();
1339
- return { selectedServer: yt(
1340
- () => t && e.some((r) => r.url === t) ? t : e.at(0)?.url ?? "",
1341
- [t, e]
1342
- ), setSelectedServer: s };
1343
- }, qt = q.forwardRef(
1344
- ({ className: e, ...t }, s) => /* @__PURE__ */ n.jsx(
1345
- "textarea",
1346
- {
1347
- className: C(
1348
- "flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
1349
- e
1350
- ),
1351
- ref: s,
1352
- ...t
1353
- }
1354
- )
1355
- );
1356
- qt.displayName = "Textarea";
1357
- const U = ({
1358
- children: e,
1359
- className: t
1360
- }) => /* @__PURE__ */ n.jsxs(
1361
- "div",
1362
- {
1363
- className: C(
1364
- "grid grid-cols-[max-content_1fr_min-content_max-content] items-center gap-4 group bg-muted w-full h-10 ps-4 pe-2 border-b",
1365
- t
1366
- ),
1367
- children: [
1368
- e,
1369
- /* @__PURE__ */ n.jsx(
1370
- Ft,
1371
- {
1372
- className: C(
1373
- "flex items-center gap-4 group bg-muted w-full p-2 hover:bg-accent hover:brightness-95 rounded-md",
1374
- t
1375
- ),
1376
- children: /* @__PURE__ */ n.jsx(
1377
- pn,
1378
- {
1379
- className: "group-data-[state=open]:rotate-180 transition-transform flex-shrink-0",
1380
- size: 16
1381
- }
1382
- )
1383
- }
1384
- )
1385
- ]
1386
- }
1387
- ), M = ({
1388
- children: e,
1389
- className: t
1390
- }) => /* @__PURE__ */ n.jsx("span", { className: C("font-semibold w-full text-start", t), children: e }), Sr = ({
1391
- examples: e,
1392
- onSelect: t
1393
- }) => /* @__PURE__ */ n.jsxs(us, { children: [
1394
- /* @__PURE__ */ n.jsx(ms, { asChild: !0, children: /* @__PURE__ */ n.jsxs(
1395
- E,
1396
- {
1397
- variant: "ghost",
1398
- size: "sm",
1399
- className: "hover:bg-accent hover:brightness-95",
1400
- children: [
1401
- "Use Example ",
1402
- /* @__PURE__ */ n.jsx(pe, { size: 16, className: "ml-2" })
1403
- ]
1404
- }
1405
- ) }),
1406
- /* @__PURE__ */ n.jsx(ps, { className: "max-w-72", children: e.map((s) => /* @__PURE__ */ n.jsxs("div", { children: [
1407
- /* @__PURE__ */ n.jsx(hs, { children: s.mediaType }),
1408
- /* @__PURE__ */ n.jsx(fs, {}),
1409
- /* @__PURE__ */ n.jsx(gs, { children: s.examples?.map((a) => /* @__PURE__ */ n.jsx(
1410
- xs,
1411
- {
1412
- onSelect: () => t(a, s.mediaType),
1413
- children: /* @__PURE__ */ n.jsx(
1414
- "span",
1415
- {
1416
- className: "line-clamp-1",
1417
- title: a.summary ?? a.name,
1418
- children: a.summary ?? a.name
1419
- }
1420
- )
1421
- },
1422
- a.name
1423
- )) })
1424
- ] }, s.mediaType)) })
1425
- ] }), Tr = ({ content: e }) => {
1426
- const { register: t, setValue: s, watch: a } = se(), r = (e ?? []).flatMap((i) => i.examples), o = a("headers");
1427
- return /* @__PURE__ */ n.jsxs(z, { defaultOpen: !0, children: [
1428
- /* @__PURE__ */ n.jsxs(U, { children: [
1429
- /* @__PURE__ */ n.jsx(hn, { size: 16 }),
1430
- /* @__PURE__ */ n.jsx(M, { children: "Body" }),
1431
- e && r.length > 0 ? /* @__PURE__ */ n.jsx(
1432
- Sr,
1433
- {
1434
- examples: e,
1435
- onSelect: (i, l) => {
1436
- s("body", JSON.stringify(i.value, null, 2)), s("headers", [
1437
- ...o.filter((c) => c.name !== "Content-Type"),
1438
- {
1439
- name: "Content-Type",
1440
- value: l,
1441
- active: !0
1442
- }
1443
- ]);
1444
- }
1445
- }
1446
- ) : /* @__PURE__ */ n.jsx("div", {})
1447
- ] }),
1448
- /* @__PURE__ */ n.jsx(F, { className: "flex flex-col gap-2 ", children: /* @__PURE__ */ n.jsx(
1449
- qt,
1450
- {
1451
- ...t("body"),
1452
- className: C(
1453
- "w-full p-2 h-64 font-mono md:text-xs border-none rounded-none focus-visible:ring-0"
1454
- ),
1455
- placeholder: "Your body here..."
1456
- }
1457
- ) })
1458
- ] });
1459
- }, ut = (e, t, s) => {
1460
- const a = t.replace(/(:\w+|\{\w+})/g, (o) => {
1461
- const i = o.replace(/[:{}]/g, "");
1462
- return s.pathParams.find((c) => c.name === i)?.value ?? o;
1463
- }), r = new URL(
1464
- a.replace(/^\//, ""),
1465
- e.endsWith("/") ? e : `${e}/`
1466
- );
1467
- return s.queryParams.filter((o) => o.active).forEach((o) => {
1468
- r.searchParams.set(o.name, o.value);
1469
- }), r;
1470
- };
1471
- function Ar(e) {
1472
- return /^(application\/octet-stream|image\/|audio\/|video\/|font\/|application\/pdf|application\/zip|application\/x-protobuf|application\/x-binary)/i.test(
1473
- e
1474
- );
1475
- }
1476
- const Or = (e, t) => {
1477
- const s = e.find(
1478
- ([a]) => a.toLowerCase() === "content-disposition"
1479
- )?.[1];
1480
- if (s) {
1481
- const a = s.match(
1482
- /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/
1483
- );
1484
- if (a?.[1])
1485
- return a[1].replace(/['"]/g, "");
1486
- }
1487
- try {
1488
- const r = new URL(t).pathname.split("/").pop() || "download";
1489
- return r.includes(".") ? r : "download";
1490
- } catch {
1491
- return "download";
1492
- }
1493
- }, ge = q.forwardRef(({ className: e, ...t }, s) => /* @__PURE__ */ n.jsx(
1494
- Oe.Root,
1495
- {
1496
- ref: s,
1497
- className: C(
1498
- "peer h-4 w-4 shrink-0 rounded-[min(6px,var(--radius)-4px)] ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:text-primary",
1499
- "border border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary",
1500
- e
1501
- ),
1502
- ...t,
1503
- children: /* @__PURE__ */ n.jsx(
1504
- Oe.Indicator,
1505
- {
1506
- className: C("flex items-center justify-center text-current"),
1507
- children: /* @__PURE__ */ n.jsx(fn, { className: "h-4 w-4" })
1508
- }
1509
- )
1510
- }
1511
- ));
1512
- ge.displayName = Oe.Root.displayName;
1513
- const Pr = le.Root, Vt = q.forwardRef(({ className: e, align: t = "center", sideOffset: s = 4, ...a }, r) => /* @__PURE__ */ n.jsx(le.Portal, { children: /* @__PURE__ */ n.jsx(
1514
- le.Content,
1515
- {
1516
- ref: r,
1517
- align: t,
1518
- sideOffset: s,
1519
- className: C(
1520
- "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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",
1521
- e
1522
- ),
1523
- ...a
1524
- }
1525
- ) }));
1526
- Vt.displayName = le.Content.displayName;
1527
- const Lr = ({
1528
- value: e,
1529
- options: t,
1530
- onChange: s,
1531
- className: a,
1532
- placeholder: r = "Value",
1533
- onEnterPress: o,
1534
- ref: i
1535
- }) => {
1536
- const [l, c] = $(!1), [u, d] = $(!1), h = vs((m) => m.filtered.count), g = O(null);
1537
- return /* @__PURE__ */ n.jsxs(Pr, { open: l, children: [
1538
- /* @__PURE__ */ n.jsx(ys, { children: /* @__PURE__ */ n.jsx(
1539
- js,
1540
- {
1541
- autoComplete: "off",
1542
- ref: (m) => {
1543
- g.current = m, typeof i == "function" ? i(m) : i && (i.current = m);
1544
- },
1545
- value: e,
1546
- placeholder: r,
1547
- className: C("h-9 bg-transparent", a),
1548
- onFocus: () => c(!0),
1549
- onBlur: () => {
1550
- u || c(!1);
1551
- },
1552
- onKeyDown: (m) => {
1553
- m.key === "Enter" && (c(!1), g.current?.blur(), o?.(m));
1554
- },
1555
- onValueChange: (m) => s(m)
1556
- }
1557
- ) }),
1558
- /* @__PURE__ */ n.jsx(
1559
- Vt,
1560
- {
1561
- onMouseEnter: () => d(!0),
1562
- onMouseLeave: () => d(!1),
1563
- onOpenAutoFocus: (m) => m.preventDefault(),
1564
- className: C("p-0 w-(--radix-popover-trigger-width)", {
1565
- "border-0": h === 0
1566
- }),
1567
- align: "start",
1568
- side: "bottom",
1569
- onWheel: (m) => {
1570
- m.stopPropagation();
1571
- },
1572
- onTouchMove: (m) => {
1573
- m.stopPropagation();
1574
- },
1575
- children: /* @__PURE__ */ n.jsx(Cs, { className: "max-h-[140px]", children: t.map((m) => /* @__PURE__ */ n.jsx(
1576
- Ns,
1577
- {
1578
- value: m,
1579
- onSelect: (v) => {
1580
- s(v), c(!1);
1581
- },
1582
- className: "cursor-pointer",
1583
- children: m
1584
- },
1585
- m
1586
- )) })
1587
- }
1588
- )
1589
- ] });
1590
- }, ue = ({ shouldFilter: e, ...t }) => /* @__PURE__ */ n.jsx(bs, { className: "bg-transparent", shouldFilter: e, children: /* @__PURE__ */ n.jsx(Lr, { ...t }) }), re = (e, t) => {
1591
- const s = q.forwardRef(({ className: a, asChild: r, ...o }, i) => {
1592
- const l = r ? ws : e;
1593
- return q.createElement(l, {
1594
- ...o,
1595
- ref: i,
1596
- className: typeof t == "function" ? t({ className: a }) : C(t, a)
1597
- });
1598
- });
1599
- return s.displayName = `VariantComponent(${e})`, s;
1600
- }, qe = re(
1601
- "div",
1602
- "grid grid-cols-[min-content_2fr_3fr] items-center gap-x-5"
1603
- ), me = re(
1604
- "div",
1605
- "group h-9 hover:bg-accent/75 ps-4 pe-2 grid col-span-full grid-cols-subgrid items-center border-b"
1606
- ), $r = Object.freeze([
1607
- "Accept",
1608
- "Accept-Encoding",
1609
- "Accept-Language",
1610
- "Authorization",
1611
- "Cache-Control",
1612
- "Connection",
1613
- "Content-Disposition",
1614
- "Content-Encoding",
1615
- "Content-Language",
1616
- "Content-Length",
1617
- "Content-Range",
1618
- "Content-Security-Policy",
1619
- "Content-Type",
1620
- "Cookie",
1621
- "Date",
1622
- "ETag",
1623
- "Expires",
1624
- "Host",
1625
- "If-Modified-Since",
1626
- "Location",
1627
- "Origin",
1628
- "Pragma",
1629
- "Referer",
1630
- "Set-Cookie",
1631
- "User-Agent",
1632
- "X-Requested-With"
1633
- ]), Er = ({
1634
- control: e,
1635
- schemaHeaders: t,
1636
- lockedHeaders: s
1637
- }) => {
1638
- const { fields: a, append: r, remove: o } = De({
1639
- control: e,
1640
- name: "headers"
1641
- }), { setValue: i, watch: l, formState: c } = se(), u = O([]), d = O([]), h = l("headers"), g = vt(
1642
- (f) => {
1643
- f?.stopPropagation(), r({ name: "", value: "", active: !1 }, { shouldFocus: !0 });
1644
- },
1645
- [r]
1646
- );
1647
- I(() => {
1648
- h.length === 0 && g();
1649
- }, [h, g]);
1650
- const m = (f) => {
1651
- u.current[f]?.focus();
1652
- }, v = (f) => {
1653
- g(), requestAnimationFrame(() => d.current[f + 1]?.focus());
1654
- }, y = t.filter((f) => !h.some((j) => j.name === f.name)).map(({ name: f }) => f), b = a.flatMap((f, j) => !s?.map((w) => w.toLowerCase()).includes(f.name.toLowerCase()) ? [] : [j]), T = s?.map((f) => ({
1655
- name: f,
1656
- id: `locked-${f}`,
1657
- value: "••••••••••",
1658
- active: !0,
1659
- locked: !0
1660
- })) ?? [];
1661
- return /* @__PURE__ */ n.jsxs(z, { defaultOpen: !0, children: [
1662
- /* @__PURE__ */ n.jsxs(U, { children: [
1663
- /* @__PURE__ */ n.jsx(gn, { size: 16 }),
1664
- /* @__PURE__ */ n.jsx(M, { children: "Headers" }),
1665
- /* @__PURE__ */ n.jsxs(
1666
- ee,
1667
- {
1668
- onClick: g,
1669
- type: "button",
1670
- size: "sm",
1671
- variant: "ghost",
1672
- className: "hover:bg-accent hover:brightness-95 flex gap-2",
1673
- children: [
1674
- "Add header ",
1675
- /* @__PURE__ */ n.jsx(pe, { size: 16 })
1676
- ]
1677
- }
1678
- )
1679
- ] }),
1680
- /* @__PURE__ */ n.jsx(F, { className: "CollapsibleContent", children: /* @__PURE__ */ n.jsx("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ n.jsx("div", { className: "overflow-hidden", children: /* @__PURE__ */ n.jsxs(qe, { children: [
1681
- T.map((f) => /* @__PURE__ */ n.jsxs(rt, { children: [
1682
- /* @__PURE__ */ n.jsx(at, { asChild: !0, children: /* @__PURE__ */ n.jsxs(
1683
- me,
1684
- {
1685
- className: "opacity-50 cursor-not-allowed font-mono text-xs min-h-10",
1686
- children: [
1687
- /* @__PURE__ */ n.jsx(xn, { size: 16 }),
1688
- /* @__PURE__ */ n.jsx(
1689
- de,
1690
- {
1691
- value: f.name,
1692
- disabled: !0,
1693
- className: "w-full border-0 p-0 m-0 shadow-none text-xs focus-visible:ring-0 font-mono"
1694
- }
1695
- ),
1696
- /* @__PURE__ */ n.jsx("div", { children: f.value })
1697
- ]
1698
- },
1699
- f.id
1700
- ) }),
1701
- /* @__PURE__ */ n.jsx(
1702
- ot,
1703
- {
1704
- alignOffset: 10,
1705
- side: "bottom",
1706
- align: "start",
1707
- children: /* @__PURE__ */ n.jsx("p", { children: "This header is set by the selected authentication." })
1708
- }
1709
- )
1710
- ] }, f.id)),
1711
- a.map((f, j) => {
1712
- const L = t.find(
1713
- (w) => w.name === h.at(j)?.name
1714
- );
1715
- return /* @__PURE__ */ n.jsxs(
1716
- me,
1717
- {
1718
- className: C(
1719
- b.includes(j) && "text-amber-600",
1720
- b.includes(j) && !c.dirtyFields.headers?.[j]?.value && "hidden"
1721
- ),
1722
- children: [
1723
- /* @__PURE__ */ n.jsx(
1724
- D,
1725
- {
1726
- control: e,
1727
- name: `headers.${j}.active`,
1728
- render: ({ field: w }) => /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
1729
- /* @__PURE__ */ n.jsx(
1730
- ge,
1731
- {
1732
- id: `headers.${j}.active`,
1733
- className: C(
1734
- b.includes(j) && "hidden"
1735
- ),
1736
- checked: w.value,
1737
- onCheckedChange: (k) => {
1738
- w.onChange(k);
1739
- }
1740
- }
1741
- ),
1742
- /* @__PURE__ */ n.jsxs(rt, { children: [
1743
- /* @__PURE__ */ n.jsx(at, { asChild: !0, children: /* @__PURE__ */ n.jsx(
1744
- yn,
1745
- {
1746
- className: C(
1747
- "text-amber-600",
1748
- !b.includes(j) && "hidden"
1749
- ),
1750
- size: 16
1751
- }
1752
- ) }),
1753
- /* @__PURE__ */ n.jsx(
1754
- ot,
1755
- {
1756
- alignOffset: 10,
1757
- side: "bottom",
1758
- align: "start",
1759
- children: /* @__PURE__ */ n.jsx("p", { children: "This header will be overwritten by the selected authentication." })
1760
- }
1761
- )
1762
- ] })
1763
- ] })
1764
- }
1765
- ),
1766
- /* @__PURE__ */ n.jsx(
1767
- D,
1768
- {
1769
- control: e,
1770
- name: `headers.${j}.name`,
1771
- render: ({ field: w }) => /* @__PURE__ */ n.jsx(
1772
- ue,
1773
- {
1774
- ...w,
1775
- placeholder: "Name",
1776
- className: "border-0 p-0 m-0 shadow-none focus-visible:ring-0 bg-transparent hover:bg-transparent text-xs font-mono",
1777
- options: [...y, ...$r],
1778
- onEnterPress: () => m(j),
1779
- onChange: (k) => {
1780
- w.onChange(k), i(`headers.${j}.active`, !0);
1781
- },
1782
- ref: (k) => {
1783
- d.current[j] = k;
1784
- }
1785
- }
1786
- )
1787
- }
1788
- ),
1789
- /* @__PURE__ */ n.jsxs("div", { className: "flex items-center gap-2", children: [
1790
- /* @__PURE__ */ n.jsx(
1791
- D,
1792
- {
1793
- control: e,
1794
- name: `headers.${j}.value`,
1795
- render: ({ field: w }) => L?.enum && L.enum.length > 0 ? /* @__PURE__ */ n.jsx(
1796
- ue,
1797
- {
1798
- shouldFilter: !1,
1799
- value: w.value,
1800
- options: L.enum ?? [],
1801
- onChange: (A) => {
1802
- w.onChange(A), i(`headers.${j}.active`, !0);
1803
- },
1804
- className: "border-0 p-0 m-0 shadow-none focus-visible:ring-0 bg-transparent hover:bg-transparent text-xs font-mono"
1805
- }
1806
- ) : /* @__PURE__ */ n.jsx(
1807
- de,
1808
- {
1809
- placeholder: "Value",
1810
- className: "w-full truncate border-0 p-0 m-0 shadow-none text-xs focus-visible:ring-0 font-mono",
1811
- autoComplete: "off",
1812
- ...w,
1813
- ref: (A) => {
1814
- u.current[j] = A;
1815
- },
1816
- onKeyDown: (A) => {
1817
- A.key === "Enter" && A.currentTarget.value.trim() && v(j);
1818
- }
1819
- }
1820
- )
1821
- }
1822
- ),
1823
- /* @__PURE__ */ n.jsx(
1824
- ee,
1825
- {
1826
- size: "icon-xs",
1827
- variant: "ghost",
1828
- className: "text-muted-foreground opacity-0 group-hover:brightness-95 group-hover:opacity-100",
1829
- onClick: () => o(j),
1830
- type: "button",
1831
- children: /* @__PURE__ */ n.jsx(ft, { size: 16 })
1832
- }
1833
- )
1834
- ] })
1835
- ]
1836
- },
1837
- f.id
1838
- );
1839
- })
1840
- ] }) }) }) })
1841
- ] });
1842
- }, Rr = Ts(
1843
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1844
- ), Ve = q.forwardRef(({ className: e, ...t }, s) => /* @__PURE__ */ n.jsx(
1845
- Tt.Root,
1846
- {
1847
- ref: s,
1848
- className: C(Rr(), e),
1849
- ...t
1850
- }
1851
- ));
1852
- Ve.displayName = Tt.Root.displayName;
1853
- const Bt = q.forwardRef(({ className: e, ...t }, s) => /* @__PURE__ */ n.jsx(
1854
- te.Root,
1855
- {
1856
- className: C("grid gap-2", e),
1857
- ...t,
1858
- ref: s
1859
- }
1860
- ));
1861
- Bt.displayName = te.Root.displayName;
1862
- const _t = q.forwardRef(({ className: e, ...t }, s) => /* @__PURE__ */ n.jsx(
1863
- te.Item,
1864
- {
1865
- ref: s,
1866
- className: C(
1867
- "aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
1868
- e
1869
- ),
1870
- ...t,
1871
- children: /* @__PURE__ */ n.jsx(te.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ n.jsx(vn, { className: "h-2.5 w-2.5 fill-current text-current" }) })
1872
- }
1873
- ));
1874
- _t.displayName = te.Item.displayName;
1875
- const Ut = ({
1876
- identities: e,
1877
- setValue: t,
1878
- value: s
1879
- }) => /* @__PURE__ */ n.jsx("div", { className: "w-full overflow-hidden", children: /* @__PURE__ */ n.jsx(
1880
- Bt,
1881
- {
1882
- onValueChange: (a) => t(a),
1883
- value: s,
1884
- defaultValue: K,
1885
- className: "gap-0",
1886
- disabled: e?.length === 0,
1887
- children: [{ id: K, label: "None" }, ...e ?? []].map(
1888
- (a) => /* @__PURE__ */ n.jsxs(
1889
- Ve,
1890
- {
1891
- className: "h-10 items-center border-b font-normal flex gap-4 p-4 cursor-pointer hover:bg-accent/75",
1892
- children: [
1893
- /* @__PURE__ */ n.jsx(_t, { value: a.id, id: a.id }),
1894
- /* @__PURE__ */ n.jsx("span", { children: a.label })
1895
- ]
1896
- },
1897
- a.id
1898
- )
1899
- )
1900
- }
1901
- ) }), kr = ({
1902
- onSubmit: e,
1903
- identities: t,
1904
- open: s,
1905
- onOpenChange: a
1906
- }) => {
1907
- const [r, o] = $(void 0), [i, l] = $(!1);
1908
- return /* @__PURE__ */ n.jsx(Re, { open: s, onOpenChange: a, children: /* @__PURE__ */ n.jsxs(ke, { children: [
1909
- /* @__PURE__ */ n.jsx(Ie, { children: "Select an auth identity" }),
1910
- /* @__PURE__ */ n.jsx(bt, { children: "Please select an identity for this request." }),
1911
- /* @__PURE__ */ n.jsx(Ss, { className: "max-h-80 overflow-auto", children: /* @__PURE__ */ n.jsx(
1912
- Ut,
1913
- {
1914
- identities: t,
1915
- setValue: o,
1916
- value: r
1917
- }
1918
- ) }),
1919
- /* @__PURE__ */ n.jsxs(jt, { className: "flex flex-col gap-2", children: [
1920
- /* @__PURE__ */ n.jsxs("div", { className: "flex items-center gap-2", children: [
1921
- /* @__PURE__ */ n.jsx(
1922
- ge,
1923
- {
1924
- id: "remember",
1925
- checked: i,
1926
- onCheckedChange: (c) => l(
1927
- c === "indeterminate" ? !1 : !!c
1928
- )
1929
- }
1930
- ),
1931
- /* @__PURE__ */ n.jsx(Ve, { htmlFor: "remember", children: "Remember my choice" })
1932
- ] }),
1933
- /* @__PURE__ */ n.jsx(
1934
- E,
1935
- {
1936
- onClick: () => e({ identity: r, rememberedIdentity: i }),
1937
- children: "Send"
1938
- }
1939
- )
1940
- ] })
1941
- ] }) });
1942
- }, Ne = (e) => Math.abs(
1943
- Number.isNaN(Number(e)) ? e.toLowerCase().charCodeAt(0) - 96 : Number.isNaN(Number(e)) ? 0 : Number(e)
1944
- ), we = (e) => e.length > 1 ? Number(e.split("").reduce((t, s) => `${Ne(t) + Ne(s)}`)) : Ne(e), mt = (e, t = {}) => {
1945
- const s = (3 * we(e) + 2 * we(e) + we(e)) % 360, { saturation: a = 75, lightness: r = 60 } = t;
1946
- return `${s}deg ${a}% ${r}%`;
1947
- }, Se = "data-linked-param", Ir = (e) => {
1948
- const { resolvedTheme: t } = As();
1949
- return {
1950
- text: mt(
1951
- e,
1952
- t === "light" ? { saturation: 95, lightness: 38 } : {}
1953
- ),
1954
- background: mt(
1955
- e,
1956
- t === "light" ? { saturation: 85, lightness: 40 } : {}
1957
- )
1958
- };
1959
- }, Mt = ({
1960
- name: e,
1961
- className: t,
1962
- slug: s,
1963
- title: a,
1964
- children: r,
1965
- onClick: o
1966
- }) => {
1967
- const i = O(null), l = s?.replace(/[{}]/g, ""), c = e.replace(/[{}]/g, ""), { text: u, background: d } = Ir(c), h = `hsl(${u} / 100%)`, g = `hsl(${d} / 10%)`, m = `hsl(${d} / 50%)`;
1968
- return I(() => {
1969
- if (!l || !i.current) return;
1970
- const v = () => {
1971
- document.querySelectorAll(`[${Se}="${l}"]`).forEach((T) => {
1972
- T instanceof HTMLElement && (T.dataset.active = "true");
1973
- });
1974
- }, y = () => {
1975
- document.querySelectorAll(`[${Se}="${l}"]`).forEach((T) => {
1976
- T instanceof HTMLElement && (T.dataset.active = "false");
1977
- });
1978
- }, b = i.current;
1979
- return b.addEventListener("mouseenter", v), b.addEventListener("mouseleave", y), () => {
1980
- b.removeEventListener("mouseenter", v), b.removeEventListener("mouseleave", y);
1981
- };
1982
- }, [l]), // biome-ignore lint/a11y/noStaticElementInteractions: Just passing props through
1983
- // biome-ignore lint/a11y/useKeyWithClickEvents: Just passing props through
1984
- /* @__PURE__ */ n.jsx(
1985
- "span",
1986
- {
1987
- [Se]: l,
1988
- className: C(
1989
- // This may not contain (inline-)flex or (inline-)block otherwise it breaks the browser's full text search
1990
- "relative transition-all duration-100 rounded-lg",
1991
- "border border-(--border-color) p-0.5 text-(--param-color) bg-(--background-color)",
1992
- "data-[active=true]:border-(--param-color) data-[active=true]:shadow-sm data-[active=true]:bottom-px",
1993
- t
1994
- ),
1995
- title: a,
1996
- suppressHydrationWarning: !0,
1997
- ref: i,
1998
- onClick: o,
1999
- style: {
2000
- "--param-color": h,
2001
- "--border-color": m,
2002
- "--background-color": g
2003
- },
2004
- children: r ?? e
2005
- }
2006
- );
2007
- }, Dr = ({
2008
- control: e,
2009
- url: t
2010
- }) => {
2011
- const { fields: s } = De({
2012
- control: e,
2013
- name: "pathParams"
2014
- }), a = [...s].sort(
2015
- (r, o) => t.indexOf(`{${r.name}}`) - t.indexOf(`{${o.name}}`)
2016
- );
2017
- return /* @__PURE__ */ n.jsx("div", { className: "overflow-hidden", children: /* @__PURE__ */ n.jsx(qe, { children: a.map((r, o) => /* @__PURE__ */ n.jsxs(me, { children: [
2018
- /* @__PURE__ */ n.jsx(
2019
- D,
2020
- {
2021
- control: e,
2022
- name: `pathParams.${o}.name`,
2023
- render: () => /* @__PURE__ */ n.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ n.jsx(
2024
- Mt,
2025
- {
2026
- slug: r.name,
2027
- name: r.name,
2028
- className: "font-mono text-xs px-2"
2029
- }
2030
- ) })
2031
- }
2032
- ),
2033
- /* @__PURE__ */ n.jsx("div", { className: "flex justify-between items-center col-span-2", children: /* @__PURE__ */ n.jsx(
2034
- D,
2035
- {
2036
- control: e,
2037
- name: `pathParams.${o}.value`,
2038
- render: ({ field: i }) => /* @__PURE__ */ n.jsx(
2039
- de,
2040
- {
2041
- ...i,
2042
- required: !0,
2043
- placeholder: "Value",
2044
- className: "w-full truncate border-0 p-0 m-0 shadow-none text-xs font-mono focus-visible:ring-0"
2045
- }
2046
- )
2047
- }
2048
- ) })
2049
- ] }, r.id)) }) });
2050
- }, zr = re(
2051
- "input",
2052
- "bg-transparent h-9 font-mono text-xs"
2053
- ), Fr = ({
2054
- control: e,
2055
- schemaQueryParams: t
2056
- }) => {
2057
- const { fields: s, remove: a, append: r } = De({
2058
- control: e,
2059
- name: "queryParams"
2060
- }), { setValue: o, getValues: i, watch: l } = se(), c = l("queryParams");
2061
- I(() => {
2062
- c.length === 0 && r({ name: "", value: "", active: !1 }, { shouldFocus: !0 });
2063
- }, [c, r]);
2064
- const u = t.map(
2065
- (d) => !!d.isRequired
2066
- );
2067
- return /* @__PURE__ */ n.jsxs(z, { defaultOpen: !0, children: [
2068
- /* @__PURE__ */ n.jsxs(U, { children: [
2069
- /* @__PURE__ */ n.jsx(bn, { size: 16 }),
2070
- /* @__PURE__ */ n.jsx(M, { children: "Query Parameters" }),
2071
- /* @__PURE__ */ n.jsxs(
2072
- E,
2073
- {
2074
- onClick: () => {
2075
- o("queryParams", [
2076
- ...i("queryParams"),
2077
- { name: "", value: "", active: !1 }
2078
- ]);
2079
- },
2080
- type: "button",
2081
- size: "sm",
2082
- variant: "ghost",
2083
- className: "hover:bg-accent hover:brightness-95 flex gap-2",
2084
- children: [
2085
- "Add parameter ",
2086
- /* @__PURE__ */ n.jsx(pe, { size: 16 })
2087
- ]
2088
- }
2089
- )
2090
- ] }),
2091
- /* @__PURE__ */ n.jsx(F, { className: "CollapsibleContent", children: /* @__PURE__ */ n.jsx("div", { className: "overflow-hidden w-full", children: /* @__PURE__ */ n.jsx(qe, { children: s.map((d, h) => {
2092
- const g = t.find(
2093
- (m) => m.name === c.at(h)?.name
2094
- );
2095
- return /* @__PURE__ */ n.jsxs(me, { children: [
2096
- /* @__PURE__ */ n.jsx(
2097
- D,
2098
- {
2099
- control: e,
2100
- name: `queryParams.${h}.active`,
2101
- render: ({ field: m }) => /* @__PURE__ */ n.jsx(
2102
- ge,
2103
- {
2104
- id: `queryParams.${h}.active`,
2105
- checked: m.value,
2106
- onCheckedChange: m.onChange
2107
- }
2108
- )
2109
- }
2110
- ),
2111
- /* @__PURE__ */ n.jsx(
2112
- D,
2113
- {
2114
- control: e,
2115
- render: ({ field: m }) => u[h] ? /* @__PURE__ */ n.jsx(zr, { asChild: !0, children: /* @__PURE__ */ n.jsxs(
2116
- "label",
2117
- {
2118
- className: "flex items-center cursor-pointer gap-1",
2119
- htmlFor: `queryParams.${h}.active`,
2120
- title: u[h] ? "Required field" : void 0,
2121
- children: [
2122
- m.value,
2123
- u[h] && /* @__PURE__ */ n.jsx("sup", { children: " *" })
2124
- ]
2125
- }
2126
- ) }) : /* @__PURE__ */ n.jsx(
2127
- ue,
2128
- {
2129
- placeholder: "Name",
2130
- value: m.value,
2131
- options: t.map((v) => v.name),
2132
- onChange: (v) => {
2133
- m.onChange(v);
2134
- },
2135
- className: "border-0 p-0 m-0 shadow-none focus-visible:ring-0 bg-transparent hover:bg-transparent text-xs font-mono"
2136
- }
2137
- ),
2138
- name: `queryParams.${h}.name`
2139
- }
2140
- ),
2141
- /* @__PURE__ */ n.jsxs("div", { className: "flex justify-between items-center", children: [
2142
- /* @__PURE__ */ n.jsx(
2143
- D,
2144
- {
2145
- control: e,
2146
- render: ({ field: m }) => g?.enum && g.enum.length > 0 ? /* @__PURE__ */ n.jsx(
2147
- ue,
2148
- {
2149
- value: m.value,
2150
- options: g.enum ?? [],
2151
- onChange: (y) => {
2152
- m.onChange(y), o(`queryParams.${h}.active`, !0);
2153
- },
2154
- className: "border-0 shadow-none focus-visible:ring-0 bg-transparent hover:bg-transparent text-xs font-mono"
2155
- }
2156
- ) : /* @__PURE__ */ n.jsx(
2157
- de,
2158
- {
2159
- ...m,
2160
- onChange: (y) => {
2161
- m.onChange(y.target.value), y.target.value.length > 0 && o(`queryParams.${h}.active`, !0);
2162
- },
2163
- placeholder: "Value",
2164
- "aria-label": "Query parameter value",
2165
- className: "w-full border-0 p-0 m-0 shadow-none focus-visible:ring-0 text-xs font-mono"
2166
- }
2167
- ),
2168
- name: `queryParams.${h}.value`
2169
- }
2170
- ),
2171
- /* @__PURE__ */ n.jsx(
2172
- E,
2173
- {
2174
- size: "icon-xs",
2175
- variant: "ghost",
2176
- className: "text-muted-foreground opacity-0 group-hover:brightness-95 group-hover:opacity-100",
2177
- onClick: () => a(h),
2178
- type: "button",
2179
- children: /* @__PURE__ */ n.jsx(ft, { size: 16 })
2180
- }
2181
- )
2182
- ] })
2183
- ] }, d.id);
2184
- }) }) }) })
2185
- ] });
2186
- }, qr = ({
2187
- open: e,
2188
- setOpen: t,
2189
- onSignUp: s,
2190
- onLogin: a
2191
- }) => /* @__PURE__ */ n.jsx(Re, { open: e, onOpenChange: t, children: /* @__PURE__ */ n.jsxs(ke, { children: [
2192
- /* @__PURE__ */ n.jsx(Ie, { children: "Welcome to the Playground!" }),
2193
- /* @__PURE__ */ n.jsx(bt, { children: "The Playground is a tool for developers to test and explore our APIs. To use the Playground, you need to login." }),
2194
- /* @__PURE__ */ n.jsxs(jt, { className: "flex gap-2 sm:justify-between", children: [
2195
- /* @__PURE__ */ n.jsx(E, { type: "button", variant: "ghost", onClick: () => t(!1), children: "Skip" }),
2196
- /* @__PURE__ */ n.jsxs("div", { className: "flex gap-2", children: [
2197
- s && /* @__PURE__ */ n.jsx(E, { type: "button", variant: "outline", onClick: s, children: "Sign Up" }),
2198
- a && /* @__PURE__ */ n.jsx(E, { type: "button", variant: "default", onClick: a, children: "Login" })
2199
- ] })
2200
- ] })
2201
- ] }) }), Vr = $e()(
2202
- Ee(
2203
- (e, t) => ({
2204
- rememberedIdentity: null,
2205
- setRememberedIdentity: (s) => e({ rememberedIdentity: s }),
2206
- getRememberedIdentity: (s) => s.find(
2207
- (a) => a === t().rememberedIdentity
2208
- )
2209
- }),
2210
- {
2211
- name: "identity-storage",
2212
- storage: gt(() => sessionStorage)
2213
- }
2214
- )
2215
- ), Br = ({
2216
- path: e,
2217
- renderParam: t
2218
- }) => {
2219
- let s = 0;
2220
- return e.split("/").map((a, r, o) => {
2221
- const i = Array.from(a.matchAll(/{([^}]+)}/g)), l = [];
2222
- let c = 0;
2223
- return i.forEach((u) => {
2224
- const [d, h] = u;
2225
- if (!h) return;
2226
- const g = u.index;
2227
- g > c && l.push(
2228
- /* @__PURE__ */ n.jsx(Z, { children: a.slice(c, g) }, `text-${c}-${g}`)
2229
- ), l.push(
2230
- /* @__PURE__ */ n.jsx(Z, { children: t({ name: h, originalValue: d, index: s++ }) }, `param-${h}`)
2231
- ), c = g + d.length;
2232
- }), c < a.length && l.push(
2233
- /* @__PURE__ */ n.jsx(Z, { children: a.slice(c) }, `text-${c}-${a.length}`)
2234
- ), // biome-ignore lint/suspicious/noArrayIndexKey: index should be stable
2235
- /* @__PURE__ */ n.jsxs(Z, { children: [
2236
- l,
2237
- r < o.length - 1 && "/",
2238
- /* @__PURE__ */ n.jsx("wbr", {})
2239
- ] }, `${a}-${r}`);
2240
- });
2241
- }, _r = ({ url: e }) => {
2242
- const { watch: t, setFocus: s } = se(), [a] = t(["pathParams"]);
2243
- return /* @__PURE__ */ n.jsx(
2244
- Br,
2245
- {
2246
- path: e,
2247
- renderParam: ({ name: r, originalValue: o, index: i }) => {
2248
- const l = a.find(
2249
- (c) => c.name === r
2250
- )?.value;
2251
- return /* @__PURE__ */ n.jsx(
2252
- Mt,
2253
- {
2254
- name: r,
2255
- backgroundOpacity: "0",
2256
- slug: r,
2257
- onClick: () => s(`pathParams.${i}.value`),
2258
- children: l || o
2259
- }
2260
- );
2261
- }
2262
- }
2263
- );
2264
- }, Ur = () => {
2265
- const { watch: e } = se(), s = e("queryParams").filter((a) => a.active && a.name).map((a, r, o) => /* @__PURE__ */ n.jsxs(Z, { children: [
2266
- a.name,
2267
- "=",
2268
- encodeURIComponent(a.value).replaceAll("%20", "+"),
2269
- r < o.length - 1 && "&",
2270
- /* @__PURE__ */ n.jsx("wbr", {})
2271
- ] }, a.name));
2272
- return /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
2273
- s.length > 0 ? "?" : "",
2274
- s
2275
- ] });
2276
- }, Gt = (e = 0) => {
2277
- if (e === 0)
2278
- return "0 B";
2279
- const t = Math.floor(Math.log(e) / Math.log(1e3));
2280
- return `${(e / 1e3 ** t).toFixed(t ? 2 : 0)} ${t ? `${"kMGTPEZY"[t - 1]}B` : "B"}`;
2281
- }, Mr = ({ status: e }) => {
2282
- if (!e) return /* @__PURE__ */ n.jsx("div", { className: "w-2 h-2 rounded-full bg-gray-500" });
2283
- switch (Number(e.toString().slice(0, 1))) {
2284
- case 2:
2285
- return /* @__PURE__ */ n.jsx("div", { className: "w-2 h-2 rounded-full bg-green-500" });
2286
- case 4:
2287
- return /* @__PURE__ */ n.jsx("div", { className: "w-2 h-2 rounded-full bg-yellow-400" });
2288
- case 5:
2289
- return /* @__PURE__ */ n.jsx("div", { className: "w-2 h-2 rounded-full bg-red-500" });
2290
- default:
2291
- return /* @__PURE__ */ n.jsx("div", { className: "w-2 h-2 rounded-full bg-gray-500" });
2292
- }
2293
- }, Gr = () => {
2294
- const e = O(null), t = O(null), s = O(Date.now()), a = O(null), r = vt(() => {
2295
- if (t.current) {
2296
- const o = Date.now() - s.current;
2297
- t.current.nodeValue = o.toFixed();
2298
- }
2299
- a.current = requestAnimationFrame(r);
2300
- }, []);
2301
- return Qn(() => {
2302
- const o = e.current;
2303
- if (!o) return;
2304
- const i = document.createTextNode("0");
2305
- return o.appendChild(i), t.current = i, s.current = Date.now(), a.current = requestAnimationFrame(r), () => {
2306
- a.current && cancelAnimationFrame(a.current), t.current && o.contains(i) && o.removeChild(i);
2307
- };
2308
- }, [r]), /* @__PURE__ */ n.jsx("span", { className: "inline-block text-end w-[3ch]", ref: e });
2309
- }, Hr = ({
2310
- status: e,
2311
- time: t,
2312
- size: s,
2313
- isFinished: a,
2314
- progress: r
2315
- }) => {
2316
- const o = {
2317
- 200: "OK",
2318
- 201: "Created",
2319
- 202: "Accepted",
2320
- 204: "No Content",
2321
- 400: "Bad Request",
2322
- 401: "Unauthorized",
2323
- 403: "Forbidden",
2324
- 404: "Not Found",
2325
- 405: "Method Not Allowed",
2326
- 500: "Internal Server Error"
2327
- };
2328
- return /* @__PURE__ */ n.jsxs("div", { className: "relative flex h-10 text-xs gap-4 px-4 items-center justify-between font-mono border-b", children: [
2329
- /* @__PURE__ */ n.jsxs("div", { className: "flex items-center gap-2", children: [
2330
- /* @__PURE__ */ n.jsx(Mr, { status: e }),
2331
- " ",
2332
- e ?? "Sending Request...",
2333
- e ? ` ${o[e]}` : ""
2334
- ] }),
2335
- /* @__PURE__ */ n.jsxs("div", { className: "flex gap-2", children: [
2336
- /* @__PURE__ */ n.jsxs("div", { children: [
2337
- /* @__PURE__ */ n.jsx("span", { className: "text-muted-foreground", children: "Size" }),
2338
- " ",
2339
- /* @__PURE__ */ n.jsx("span", { className: "inline-block text-end min-w-[5ch]", children: s ? Gt(s) : "- B" })
2340
- ] }),
2341
- /* @__PURE__ */ n.jsxs("div", { children: [
2342
- /* @__PURE__ */ n.jsx("span", { className: "text-muted-foreground", children: "Time" }),
2343
- " ",
2344
- t !== void 0 ? `${t.toFixed(0)}` : /* @__PURE__ */ n.jsx(Gr, {}),
2345
- "ms"
2346
- ] })
2347
- ] }),
2348
- /* @__PURE__ */ n.jsx(
2349
- "div",
2350
- {
2351
- className: "h-full bg-neutral-500/10 absolute left-0 -bottom-0 z-10 transition-all duration-200 ease-in-out",
2352
- style: {
2353
- opacity: a ? 0 : 1,
2354
- width: a ? 0 : `${r * 100}%`
2355
- }
2356
- }
2357
- )
2358
- ] });
2359
- };
2360
- function Be(e) {
2361
- if (e === null) return "null";
2362
- if (Array.isArray(e)) {
2363
- if (e.length === 0) return "any[]";
2364
- const t = e[0];
2365
- return t === void 0 ? "any[]" : `${Be(t)}[]`;
2366
- }
2367
- return typeof e == "object" ? Qr(e) : typeof e;
2368
- }
2369
- function Qr(e, t = "") {
2370
- const s = ["{"];
2371
- for (const [a, r] of Object.entries(e)) {
2372
- const o = Be(r);
2373
- s.push(` ${a}: ${o};`);
2374
- }
2375
- return s.push("}"), s.join(`
2376
- `);
2377
- }
2378
- function Jr(e) {
2379
- return { lines: [`type GeneratedType = ${Be(e)};`] };
2380
- }
2381
- const Ht = ({
2382
- code: e,
2383
- language: t,
2384
- children: s
2385
- }) => {
2386
- const { syntaxHighlighting: a } = Vn().options;
2387
- return Gn(a?.highlighter, "Highlighter not found"), Os(
2388
- a.highlighter,
2389
- e ?? s ?? "",
2390
- t,
2391
- a.themes
2392
- );
2393
- };
2394
- Ht.displayName = "Highlight";
2395
- const Wr = (e) => Object.entries({
2396
- "application/json": "json",
2397
- "text/json": "json",
2398
- "text/html": "html",
2399
- "text/css": "css",
2400
- "text/javascript": "javascript",
2401
- "application/xml": "xml",
2402
- "application/xhtml+xml": "xhtml"
2403
- }).find(
2404
- ([s]) => e.includes(s)
2405
- )?.[1], Xr = (e) => {
2406
- const t = e.find(([s]) => s.toLowerCase() === "content-type")?.[1] || "";
2407
- return Wr(t);
2408
- }, Zr = (e) => {
2409
- try {
2410
- return JSON.stringify(JSON.parse(e), null, 2);
2411
- } catch {
2412
- return null;
2413
- }
2414
- }, Yr = (e) => {
2415
- const t = [
2416
- "Content-Type",
2417
- "Content-Length",
2418
- "Authorization",
2419
- "X-RateLimit-Remaining",
2420
- "X-RateLimit-Limit",
2421
- "Cache-Control",
2422
- "ETag"
2423
- ].map((s) => s.toLowerCase());
2424
- return [...e].sort(([s], [a]) => {
2425
- const r = t.indexOf(s.toLowerCase()), o = t.indexOf(a.toLowerCase());
2426
- return r === o ? 0 : r === -1 ? 1 : o === -1 ? -1 : r - o;
2427
- });
2428
- }, X = 3, Te = re(
2429
- "div",
2430
- "grid-cols-subgrid grid border-b col-span-full px-4 py-1.5 font-mono text-xs"
2431
- ), ce = re("div", "py-1 break-all"), Ae = ({ value: e, header: t }) => {
2432
- const a = ["authorization", "key", "secret", "token"].includes(t.toLowerCase()), [r, o] = $(!a);
2433
- return /* @__PURE__ */ n.jsxs(
2434
- ce,
2435
- {
2436
- className: C(a && "cursor-pointer flex group"),
2437
- onClick: () => {
2438
- a && o((i) => !i);
2439
- },
2440
- children: [
2441
- /* @__PURE__ */ n.jsx(ts, { secret: e, previewChars: 0, revealed: r }),
2442
- a ? r ? /* @__PURE__ */ n.jsx(wn, { size: 14, className: C("hidden group-hover:block") }) : /* @__PURE__ */ n.jsx(Sn, { size: 14, className: C("hidden group-hover:block") }) : null
2443
- ]
2444
- }
2445
- );
2446
- }, Kr = ({
2447
- body: e = "",
2448
- headers: t,
2449
- request: s,
2450
- size: a,
2451
- isBinary: r = !1,
2452
- fileName: o,
2453
- blob: i
2454
- }) => {
2455
- const l = Xr(t), c = Zr(e), u = c || e, [d, h] = $(
2456
- c ? "formatted" : "raw"
2457
- ), g = Bn({
2458
- queryKey: ["types", u],
2459
- queryFn: async () => Jr(JSON.parse(u)),
2460
- enabled: d === "types" && !r
2461
- }), m = () => {
2462
- if (i && o) {
2463
- const y = URL.createObjectURL(i), b = document.createElement("a");
2464
- b.href = y, b.download = o, document.body.appendChild(b), b.click(), document.body.removeChild(b), URL.revokeObjectURL(y);
2465
- }
2466
- }, v = Yr([...t]);
2467
- return /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
2468
- /* @__PURE__ */ n.jsxs(z, { defaultOpen: !0, children: [
2469
- /* @__PURE__ */ n.jsxs(U, { children: [
2470
- /* @__PURE__ */ n.jsx(jn, { size: 16 }),
2471
- /* @__PURE__ */ n.jsx(M, { className: "col-span-2", children: "Header Request" })
2472
- ] }),
2473
- /* @__PURE__ */ n.jsx(F, { children: /* @__PURE__ */ n.jsx("div", { className: "grid grid-cols-2 gap-x-6 text-sm", children: s.headers.slice(0, X).map(([y, b]) => /* @__PURE__ */ n.jsxs(Te, { children: [
2474
- /* @__PURE__ */ n.jsx(ce, { children: y }),
2475
- /* @__PURE__ */ n.jsx(Ae, { value: b, header: y })
2476
- ] }, y)) }) })
2477
- ] }),
2478
- /* @__PURE__ */ n.jsxs(z, { defaultOpen: !0, children: [
2479
- /* @__PURE__ */ n.jsxs(U, { children: [
2480
- /* @__PURE__ */ n.jsx(Cn, { size: 16 }),
2481
- /* @__PURE__ */ n.jsx(M, { className: "col-span-2", children: "Header Response" })
2482
- ] }),
2483
- /* @__PURE__ */ n.jsx(F, { children: /* @__PURE__ */ n.jsxs("div", { className: "grid grid-cols-2 gap-x-6 text-sm", children: [
2484
- v.slice(0, X).map(([y, b]) => /* @__PURE__ */ n.jsxs(Te, { children: [
2485
- /* @__PURE__ */ n.jsx(ce, { children: y }),
2486
- /* @__PURE__ */ n.jsx(Ae, { value: b, header: y })
2487
- ] }, y)),
2488
- v.length > X && /* @__PURE__ */ n.jsxs(z, { className: "col-span-full grid-cols-subgrid grid group", children: [
2489
- /* @__PURE__ */ n.jsxs(Ft, { className: "data-[state=open]:hidden justify-center col-span-2 text-xs text-muted-foreground hover:text-primary border-b h-8 flex items-center gap-2", children: [
2490
- /* @__PURE__ */ n.jsxs("span", { children: [
2491
- "Show ",
2492
- v.length - X,
2493
- " more headers"
2494
- ] }),
2495
- /* @__PURE__ */ n.jsx(pe, { size: 12, className: "text-muted-foreground" })
2496
- ] }),
2497
- /* @__PURE__ */ n.jsx(F, { className: "col-span-full grid grid-cols-subgrid", children: v.slice(X).map(([y, b]) => /* @__PURE__ */ n.jsxs(Te, { children: [
2498
- /* @__PURE__ */ n.jsx(ce, { children: y }),
2499
- /* @__PURE__ */ n.jsx(Ae, { value: b, header: y })
2500
- ] }, y)) })
2501
- ] })
2502
- ] }) })
2503
- ] }),
2504
- /* @__PURE__ */ n.jsx("div", { className: "flex gap-2 justify-between items-center border-b h-10", children: c && !r && /* @__PURE__ */ n.jsx("div", { className: "px-2", children: /* @__PURE__ */ n.jsxs(
2505
- Ct,
2506
- {
2507
- value: d,
2508
- onValueChange: (y) => h(y),
2509
- children: [
2510
- /* @__PURE__ */ n.jsx(Nt, { className: "min-w-32 border-none h-8", children: /* @__PURE__ */ n.jsx(wt, { placeholder: "View" }) }),
2511
- /* @__PURE__ */ n.jsxs(St, { children: [
2512
- /* @__PURE__ */ n.jsx(ie, { value: "formatted", children: "Formatted" }),
2513
- /* @__PURE__ */ n.jsx(ie, { value: "raw", children: "Raw" }),
2514
- /* @__PURE__ */ n.jsx(ie, { value: "types", children: "Types" })
2515
- ] })
2516
- ]
2517
- }
2518
- ) }) }),
2519
- /* @__PURE__ */ n.jsx("div", { children: r ? /* @__PURE__ */ n.jsx("div", { className: "p-4 text-center", children: /* @__PURE__ */ n.jsxs("div", { className: "flex flex-col items-center gap-4", children: [
2520
- /* @__PURE__ */ n.jsx("div", { className: "text-lg font-semibold", children: "Binary Content" }),
2521
- /* @__PURE__ */ n.jsx("div", { className: "text-sm text-muted-foreground", children: "This response contains binary data that cannot be displayed as text." }),
2522
- /* @__PURE__ */ n.jsxs(
2523
- E,
2524
- {
2525
- onClick: m,
2526
- className: "flex items-center gap-2",
2527
- disabled: !i,
2528
- children: [
2529
- /* @__PURE__ */ n.jsx(Nn, { className: "h-4 w-4" }),
2530
- "Download ",
2531
- o || "file",
2532
- " (",
2533
- Gt(a),
2534
- ")"
2535
- ]
2536
- }
2537
- )
2538
- ] }) }) : /* @__PURE__ */ n.jsx("div", { className: "overflow-auto max-w-full p-4 text-xs max-h-[calc(83.333vh-180px)]", children: /* @__PURE__ */ n.jsx(
2539
- Ht,
2540
- {
2541
- language: d === "types" ? "typescript" : d === "raw" ? c ? "plain" : l : "json",
2542
- code: (d === "raw" ? e : d === "types" ? g.data?.lines.join(`
2543
- `) : u) ?? ""
2544
- }
2545
- ) }) })
2546
- ] });
2547
- }, ea = ({
2548
- queryMutation: e,
2549
- showLongRunningWarning: t,
2550
- onCancel: s,
2551
- tip: a,
2552
- isFinished: r,
2553
- progress: o
2554
- }) => /* @__PURE__ */ n.jsxs("div", { className: "overflow-y-auto h-[80vh] bg-muted/50", children: [
2555
- (e.isPending || e.data) && /* @__PURE__ */ n.jsx(
2556
- Hr,
2557
- {
2558
- status: e.data?.status,
2559
- time: e.data?.time,
2560
- size: e.data?.size,
2561
- isFinished: r,
2562
- progress: o
2563
- }
2564
- ),
2565
- e.error ? /* @__PURE__ */ n.jsx("div", { className: "max-w-2/3 mx-auto mt-20", children: /* @__PURE__ */ n.jsxs(ns, { children: [
2566
- /* @__PURE__ */ n.jsx(Tn, { size: 24, strokeWidth: 1.5, className: "me-5" }),
2567
- /* @__PURE__ */ n.jsx(ss, { children: "Request failed" }),
2568
- /* @__PURE__ */ n.jsx(rs, { children: e.error.message || String(e.error) || "Unexpected error" })
2569
- ] }) }) : e.data ? /* @__PURE__ */ n.jsx(
2570
- Kr,
2571
- {
2572
- request: e.data.request,
2573
- size: e.data.size,
2574
- headers: e.data.headers,
2575
- body: e.data.body,
2576
- isBinary: e.data.isBinary,
2577
- fileName: e.data.fileName,
2578
- blob: e.data.blob
2579
- }
2580
- ) : e.isPending ? /* @__PURE__ */ n.jsx("div", { className: "grid place-items-center h-full", children: /* @__PURE__ */ n.jsxs("div", { className: "flex flex-col gap-2 items-center mt-20", children: [
2581
- /* @__PURE__ */ n.jsx(Kn, {}),
2582
- /* @__PURE__ */ n.jsxs(
2583
- "div",
2584
- {
2585
- className: C(
2586
- "opacity-0 pointer-events-none transition-opacity h-20 text-sm text-muted-foreground duration-300 flex flex-col gap-2 items-center",
2587
- t && "opacity-100 pointer-events-auto"
2588
- ),
2589
- children: [
2590
- "Looks like the request is taking longer than expected.",
2591
- /* @__PURE__ */ n.jsx(
2592
- ee,
2593
- {
2594
- type: "button",
2595
- onClick: s,
2596
- size: "sm",
2597
- className: "w-fit",
2598
- variant: "outline",
2599
- children: "Cancel"
2600
- }
2601
- )
2602
- ]
2603
- }
2604
- )
2605
- ] }) }) : /* @__PURE__ */ n.jsx("div", { className: "h-full grid place-items-center", children: /* @__PURE__ */ n.jsxs("div", { className: "flex flex-col gap-4 items-center", children: [
2606
- /* @__PURE__ */ n.jsx(
2607
- An,
2608
- {
2609
- size: 64,
2610
- className: "text-muted-foreground",
2611
- strokeWidth: 1.2
2612
- }
2613
- ),
2614
- /* @__PURE__ */ n.jsx("span", { className: "text-[16px] font-semibold text-muted-foreground", children: "Send your first request" }),
2615
- a
2616
- ] }) })
2617
- ] }), ta = $e()(
2618
- Ee(
2619
- (e) => ({
2620
- skipLogin: !1,
2621
- setSkipLogin: (t) => e({ skipLogin: t })
2622
- }),
2623
- {
2624
- name: "remember-skip-login",
2625
- storage: gt(() => sessionStorage)
2626
- }
2627
- )
2628
- ), K = "__none", na = ({
2629
- server: e,
2630
- servers: t = [],
2631
- url: s,
2632
- method: a,
2633
- headers: r = [],
2634
- queryParams: o = [],
2635
- pathParams: i = [],
2636
- defaultBody: l = "",
2637
- examples: c,
2638
- requiresLogin: u = !1,
2639
- onLogin: d,
2640
- onSignUp: h
2641
- }) => {
2642
- const { selectedServer: g, setSelectedServer: m } = wr(
2643
- t.map((p) => ({ url: p }))
2644
- ), [v, y] = $(!1), b = _n(), { setRememberedIdentity: T, getRememberedIdentity: f } = Vr(), [, j] = Jn(), { skipLogin: L, setSkipLogin: w } = ta(), [k, A] = $(!1), H = O(void 0), Ue = ds(T), Me = O(null), { label: Yt } = Cr("meta+enter", () => {
2645
- Me.current?.requestSubmit();
2646
- }), Ge = s.match(/\{([^}]+)\}/g)?.map((p) => p.slice(1, -1)) ?? [], He = [...i].sort(
2647
- (p, J) => Ge.indexOf(p.name) - Ge.indexOf(J.name)
2648
- ), { register: Kt, control: ae, handleSubmit: Qe, watch: Je, setValue: xe, ...ye } = os({
2649
- defaultValues: {
2650
- body: l,
2651
- queryParams: o.length > 0 ? o.map((p) => ({
2652
- name: p.name,
2653
- value: p.defaultValue ?? "",
2654
- active: p.defaultActive ?? !1,
2655
- enum: p.enum ?? []
2656
- })) : [
2657
- {
2658
- name: "",
2659
- value: "",
2660
- active: !1,
2661
- enum: []
2662
- }
2663
- ],
2664
- pathParams: He.map((p) => ({
2665
- name: p.name,
2666
- value: p.defaultValue ?? ""
2667
- })),
2668
- headers: r.length > 0 ? r.map((p) => ({
2669
- name: p.name,
2670
- value: p.defaultValue ?? "",
2671
- active: p.defaultActive ?? !1
2672
- })) : [
2673
- {
2674
- name: "",
2675
- value: "",
2676
- active: !1
2677
- }
2678
- ],
2679
- identity: f([
2680
- K,
2681
- ...b.data?.map((p) => p.id) ?? []
2682
- ])
2683
- }
2684
- }), Q = Je("identity"), en = yt(
2685
- () => b.data?.find((p) => p.id === Q)?.authorizationFields,
2686
- [b.data, Q]
2687
- );
2688
- I(() => {
2689
- Q && Ue.current(Q);
2690
- }, [Ue, Q]);
2691
- const V = as({
2692
- gcTime: 0,
2693
- mutationFn: async (p) => {
2694
- const J = performance.now(), dn = Object.fromEntries([
2695
- ...p.headers.filter((S) => S.name && S.active).map((S) => [S.name, S.value])
2696
- ]), B = new Request(
2697
- ut(e ?? g, s, p),
2698
- {
2699
- method: a.toUpperCase(),
2700
- headers: dn,
2701
- body: p.body ? p.body : void 0
2702
- }
2703
- );
2704
- p.identity !== K && await b.data?.find((S) => S.id === p.identity)?.authorizeRequest(B);
2705
- const ve = setTimeout(
2706
- () => A(!0),
2707
- 3210
2708
- );
2709
- H.current = new AbortController(), H.current.signal.addEventListener("abort", () => {
2710
- clearTimeout(ve);
2711
- });
2712
- try {
2713
- const S = await fetch(B, {
2714
- cache: "no-store",
2715
- signal: H.current.signal
2716
- });
2717
- clearTimeout(ve), A(!1);
2718
- const un = performance.now() - J, mn = new URL(B.url), Ze = Array.from(S.headers.entries()), Ye = S.headers.get("content-type") || "", Ke = Ar(Ye);
2719
- let oe = "", et, tt;
2720
- Ke ? (et = await S.blob(), tt = Or(Ze, B.url), oe = `Binary content (${Ye})`) : oe = await S.text();
2721
- const nt = S.headers.get("content-length");
2722
- return {
2723
- status: S.status,
2724
- headers: Ze,
2725
- size: nt ? Number(nt) : oe.length,
2726
- body: oe,
2727
- time: un,
2728
- isBinary: Ke,
2729
- fileName: tt,
2730
- blob: et,
2731
- request: {
2732
- method: B.method.toUpperCase(),
2733
- url: B.url,
2734
- headers: [
2735
- ["Host", mn.host],
2736
- ["User-Agent", "Zudoku Playground"],
2737
- ...Array.from(B.headers.entries())
2738
- ],
2739
- body: p.body ? p.body : void 0
2740
- }
2741
- };
2742
- } catch (S) {
2743
- throw clearTimeout(ve), A(!1), S instanceof TypeError ? new Error(
2744
- "The request failed, possibly due to network issues or CORS policy."
2745
- ) : S;
2746
- }
2747
- }
2748
- }), We = V.isPending, [tn, nn] = $(!1);
2749
- I(() => {
2750
- const p = setTimeout(() => nn(We), 100);
2751
- return () => clearTimeout(p);
2752
- }, [We]);
2753
- const { isFinished: sn, progress: rn } = es({ isAnimating: tn });
2754
- I(() => () => {
2755
- H.current?.abort();
2756
- }, []);
2757
- const an = /* @__PURE__ */ n.jsx("div", { className: "inline-block opacity-50 hover:opacity-100 transition", children: e ? /* @__PURE__ */ n.jsx("span", { children: e.replace(/^https?:\/\//, "").replace(/\/$/, "") }) : t.length > 1 && /* @__PURE__ */ n.jsxs(
2758
- Ct,
2759
- {
2760
- onValueChange: (p) => {
2761
- j(() => m(p));
2762
- },
2763
- value: g,
2764
- defaultValue: g,
2765
- children: [
2766
- /* @__PURE__ */ n.jsx(Nt, { className: "p-0 border-none flex-row-reverse bg-transparent text-xs gap-0.5 h-auto translate-y-[4px]", children: /* @__PURE__ */ n.jsx(wt, {}) }),
2767
- /* @__PURE__ */ n.jsx(St, { children: t.map((p) => /* @__PURE__ */ n.jsx(ie, { value: p, children: p.replace(/^https?:\/\//, "").replace(/\/$/, "") }, p)) })
2768
- ]
2769
- }
2770
- ) }), on = u && !L, cn = ["POST", "PUT", "PATCH", "DELETE"].includes(
2771
- a.toUpperCase()
2772
- ), [Xe, ln] = ls();
2773
- return /* @__PURE__ */ n.jsx(
2774
- is,
2775
- {
2776
- register: Kt,
2777
- control: ae,
2778
- handleSubmit: Qe,
2779
- watch: Je,
2780
- setValue: xe,
2781
- ...ye,
2782
- children: /* @__PURE__ */ n.jsx(cs, { delayDuration: 150, children: /* @__PURE__ */ n.jsxs(
2783
- "form",
2784
- {
2785
- ref: Me,
2786
- onSubmit: Qe((p) => {
2787
- b.data?.length === 0 || p.identity ? V.mutate(p) : y(!0);
2788
- }),
2789
- className: "relative",
2790
- children: [
2791
- /* @__PURE__ */ n.jsx(
2792
- kr,
2793
- {
2794
- identities: b.data ?? [],
2795
- open: v,
2796
- onOpenChange: y,
2797
- onSubmit: ({ rememberedIdentity: p, identity: J }) => {
2798
- p && xe("identity", J ?? K), y(!1), V.mutate({ ...ye.getValues(), identity: J });
2799
- }
2800
- }
2801
- ),
2802
- /* @__PURE__ */ n.jsx(
2803
- qr,
2804
- {
2805
- open: on,
2806
- setOpen: (p) => w(!p),
2807
- onSignUp: h,
2808
- onLogin: d
2809
- }
2810
- ),
2811
- /* @__PURE__ */ n.jsxs("div", { className: "grid grid-cols-[1fr_1px_1fr] text-sm", children: [
2812
- /* @__PURE__ */ n.jsxs("div", { className: "col-span-3 p-4 border-b flex gap-2 items-stretch", children: [
2813
- /* @__PURE__ */ n.jsxs("div", { className: "flex flex-1 items-center w-full border rounded-md relative overflow-hidden", children: [
2814
- /* @__PURE__ */ n.jsx("div", { className: "border-r p-2 bg-muted rounded-l-md self-stretch font-semibold font-mono flex items-center", children: a.toUpperCase() }),
2815
- /* @__PURE__ */ n.jsx("div", { className: "items-center px-2 font-mono text-xs break-all leading-6 relative h-full w-full", children: /* @__PURE__ */ n.jsxs("div", { className: "h-full py-1.5", children: [
2816
- an,
2817
- /* @__PURE__ */ n.jsx(_r, { url: s }),
2818
- /* @__PURE__ */ n.jsx(Ur, {})
2819
- ] }) }),
2820
- /* @__PURE__ */ n.jsx("div", { className: "px-1", children: /* @__PURE__ */ n.jsx(
2821
- E,
2822
- {
2823
- type: "button",
2824
- onClick: () => {
2825
- ln(
2826
- ut(
2827
- e ?? g,
2828
- s,
2829
- ye.getValues()
2830
- ).toString()
2831
- );
2832
- },
2833
- variant: "ghost",
2834
- size: "icon-xs",
2835
- className: C(
2836
- "hover:opacity-100 transition",
2837
- Xe ? "text-emerald-600 opacity-100" : "opacity-50"
2838
- ),
2839
- children: Xe ? /* @__PURE__ */ n.jsx(On, { className: "text-green-500", size: 14 }) : /* @__PURE__ */ n.jsx(Pn, { size: 14 })
2840
- }
2841
- ) })
2842
- ] }),
2843
- /* @__PURE__ */ n.jsx(
2844
- E,
2845
- {
2846
- type: "submit",
2847
- variant: V.isPending ? "destructive" : "default",
2848
- onClick: (p) => {
2849
- V.isPending && (H.current?.abort(
2850
- "Request cancelled by user"
2851
- ), p.preventDefault());
2852
- },
2853
- className: "w-18",
2854
- children: V.isPending ? "Cancel" : "Send"
2855
- }
2856
- )
2857
- ] }),
2858
- /* @__PURE__ */ n.jsxs("div", { className: "relative overflow-y-auto h-[80vh]", children: [
2859
- b.data?.length !== 0 && /* @__PURE__ */ n.jsxs(z, { defaultOpen: !0, children: [
2860
- /* @__PURE__ */ n.jsxs(U, { children: [
2861
- /* @__PURE__ */ n.jsx(Ln, { size: 16 }),
2862
- /* @__PURE__ */ n.jsx(M, { className: "col-span-2", children: "Authentication" })
2863
- ] }),
2864
- /* @__PURE__ */ n.jsx(F, { className: "CollapsibleContent", children: /* @__PURE__ */ n.jsx(
2865
- Ut,
2866
- {
2867
- value: Q,
2868
- identities: b.data ?? [],
2869
- setValue: (p) => xe("identity", p)
2870
- }
2871
- ) })
2872
- ] }),
2873
- He.length > 0 && /* @__PURE__ */ n.jsxs(z, { defaultOpen: !0, children: [
2874
- /* @__PURE__ */ n.jsxs(U, { children: [
2875
- /* @__PURE__ */ n.jsx($n, { size: 16 }),
2876
- /* @__PURE__ */ n.jsx(M, { className: "col-span-2", children: "Path Parameters" })
2877
- ] }),
2878
- /* @__PURE__ */ n.jsx(F, { className: "CollapsibleContent", children: /* @__PURE__ */ n.jsx(Dr, { url: s, control: ae }) })
2879
- ] }),
2880
- /* @__PURE__ */ n.jsx(Fr, { control: ae, schemaQueryParams: o }),
2881
- /* @__PURE__ */ n.jsx(
2882
- Er,
2883
- {
2884
- control: ae,
2885
- schemaHeaders: r,
2886
- lockedHeaders: en?.headers
2887
- }
2888
- ),
2889
- cn && /* @__PURE__ */ n.jsx(Tr, { content: c })
2890
- ] }),
2891
- /* @__PURE__ */ n.jsx("div", { className: "w-full bg-muted-foreground/20" }),
2892
- /* @__PURE__ */ n.jsx(
2893
- ea,
2894
- {
2895
- queryMutation: V,
2896
- showLongRunningWarning: k,
2897
- isFinished: sn,
2898
- progress: rn,
2899
- tip: /* @__PURE__ */ n.jsx("div", { className: "text-xs w-full", children: /* @__PURE__ */ n.jsxs("span", { className: "text-muted-foreground", children: [
2900
- "Press",
2901
- " ",
2902
- /* @__PURE__ */ n.jsx("kbd", { className: "text-foreground border rounded m-0.5 px-1 py-0.5 capitalize", children: Yt.join(" + ") }),
2903
- " ",
2904
- "to send a request"
2905
- ] }) }),
2906
- onCancel: () => {
2907
- H.current?.abort(
2908
- "Request cancelled by the user"
2909
- ), A(!1);
2910
- }
2911
- }
2912
- )
2913
- ] })
2914
- ]
2915
- }
2916
- ) })
2917
- }
2918
- );
2919
- }, sa = ({
2920
- className: e,
2921
- size: t = 16
2922
- }) => /* @__PURE__ */ n.jsx(
2923
- "svg",
2924
- {
2925
- xmlns: "http://www.w3.org/2000/svg",
2926
- viewBox: "0 0 24 24",
2927
- fill: "currentColor",
2928
- className: e,
2929
- width: t,
2930
- height: t,
2931
- children: /* @__PURE__ */ n.jsx(
2932
- "path",
2933
- {
2934
- fillRule: "evenodd",
2935
- d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm14.024-.983a1.125 1.125 0 0 1 0 1.966l-5.603 3.113A1.125 1.125 0 0 1 9 15.113V8.887c0-.857.921-1.4 1.671-.983l5.603 3.113Z",
2936
- clipRule: "evenodd"
2937
- }
2938
- )
2939
- }
2940
- ), ra = (e) => {
2941
- const [t, s] = $(!1), { isAuthEnabled: a, login: r, signup: o, isPending: i, isAuthenticated: l } = Zn();
2942
- return /* @__PURE__ */ n.jsxs(Re, { onOpenChange: (c) => s(c), children: [
2943
- /* @__PURE__ */ n.jsx(Yn, { asChild: !0, children: e.children ?? /* @__PURE__ */ n.jsxs(
2944
- "button",
2945
- {
2946
- type: "button",
2947
- className: "flex gap-1 items-center px-2 py-1 rounded-md transition text-xs bg-primary text-primary-foreground shadow-xs hover:bg-primary/80",
2948
- children: [
2949
- "Test",
2950
- /* @__PURE__ */ n.jsx(sa, { size: 14 })
2951
- ]
2952
- }
2953
- ) }),
2954
- /* @__PURE__ */ n.jsxs(
2955
- ke,
2956
- {
2957
- className: "max-w-screen-xl w-full overflow-hidden p-0",
2958
- "aria-describedby": void 0,
2959
- showCloseButton: !0,
2960
- children: [
2961
- /* @__PURE__ */ n.jsx(Xn, { children: /* @__PURE__ */ n.jsx(Ie, { children: "Playground" }) }),
2962
- t && /* @__PURE__ */ n.jsx(
2963
- na,
2964
- {
2965
- requiresLogin: a && !l && !i,
2966
- onLogin: () => r(),
2967
- onSignUp: () => o(),
2968
- ...e
2969
- }
2970
- )
2971
- ]
2972
- }
2973
- )
2974
- ] });
2975
- }, aa = {
2976
- get: "green",
2977
- post: "blue",
2978
- put: "yellow",
2979
- delete: "red",
2980
- patch: "purple",
2981
- options: "gray",
2982
- head: "gray"
2983
- }, pt = ({
2984
- label: e,
2985
- path: t,
2986
- operations: s,
2987
- collapsible: a,
2988
- collapsed: r
2989
- }) => ({
2990
- type: "category",
2991
- label: e,
2992
- link: {
2993
- type: "doc",
2994
- path: t,
2995
- file: t,
2996
- label: e
2997
- },
2998
- collapsible: a,
2999
- collapsed: r,
3000
- items: s.map((o) => ({
3001
- type: "link",
3002
- label: o.summary ?? o.path,
3003
- to: `${t}#${o.slug}`,
3004
- badge: {
3005
- label: o.method,
3006
- // biome-ignore lint/style/noNonNullAssertion: is guaranteed to be defined
3007
- color: aa[o.method.toLowerCase()],
3008
- invert: !0
3009
- }
3010
- }))
3011
- }), Qt = xt(
3012
- void 0
3013
- ), Ua = Qt.Provider, oa = () => {
3014
- const e = Wn(Qt);
3015
- if (!e)
3016
- throw new Error("useOasConfig must be used within a OasConfigProvider");
3017
- return e.config;
3018
- }, ht = (e) => ({
3019
- path: e.routePath,
3020
- async lazy() {
3021
- const { OasProvider: t } = await import("./OasProvider-BMUgPYQU.js");
3022
- return {
3023
- element: /* @__PURE__ */ n.jsx(
3024
- t,
3025
- {
3026
- basePath: e.basePath,
3027
- version: e.version,
3028
- client: e.client,
3029
- config: e.config
3030
- }
3031
- )
3032
- };
3033
- },
3034
- children: e.routes
3035
- }), Jt = ({
3036
- path: e,
3037
- tag: t,
3038
- untagged: s
3039
- }) => ({
3040
- path: e,
3041
- async lazy() {
3042
- const { OperationList: a } = await import("./OperationList-DVig5I94.js");
3043
- return { element: /* @__PURE__ */ n.jsx(a, { tag: t, untagged: s }) };
3044
- }
3045
- }), ia = ({
3046
- render: e,
3047
- path: t
3048
- }) => {
3049
- const { type: s, input: a } = oa(), { tag: r } = In(), o = Dn(), i = lr(Zt, { type: s, input: a }), {
3050
- data: { schema: l }
3051
- } = Un(i), c = l.tags.at(0);
3052
- return !r && c?.slug ? /* @__PURE__ */ n.jsx(
3053
- zn,
3054
- {
3055
- to: {
3056
- pathname: Fn(t, { tag: c.slug }),
3057
- search: o.search
3058
- }
3059
- }
3060
- ) : r && l.tags.some((u) => u.slug === r) ? e(r) : null;
3061
- }, ca = ({ path: e }) => ({
3062
- path: e,
3063
- async lazy() {
3064
- const { OperationList: t } = await import("./OperationList-DVig5I94.js");
3065
- return {
3066
- element: /* @__PURE__ */ n.jsx(
3067
- ia,
3068
- {
3069
- path: e,
3070
- render: (s) => /* @__PURE__ */ n.jsx(t, { tag: s })
3071
- }
3072
- )
3073
- };
3074
- }
3075
- }), Wt = (e) => [
3076
- // Category without tagged operations
3077
- Jt({
3078
- path: R(e, _e),
3079
- untagged: !0
3080
- }),
3081
- // Schema list route
3082
- {
3083
- path: R(e, "~schemas"),
3084
- lazy: async () => {
3085
- const { SchemaList: t } = await import("./SchemaList-1eLKXqn8.js");
3086
- return { element: /* @__PURE__ */ n.jsx(t, {}) };
3087
- }
3088
- }
3089
- ], la = (e, t) => {
3090
- const s = R(e, t.at(0) ?? _e);
3091
- return [
3092
- // Redirect to first tag on the index route
3093
- { index: !0, loader: () => kn(s) },
3094
- // Create routes for each tag
3095
- ...t.map(
3096
- (a) => Jt({
3097
- path: R(e, a),
3098
- tag: a
3099
- })
3100
- ),
3101
- ...Wt(e)
3102
- ];
3103
- }, Xt = (e) => e.type === "file" ? Object.keys(e.input) : [], da = ({
3104
- basePath: e,
3105
- config: t,
3106
- client: s
3107
- }) => {
3108
- const a = t.tagPages;
3109
- if (!a)
3110
- return [
3111
- ht({
3112
- basePath: e,
3113
- routePath: e,
3114
- routes: [
3115
- ca({ path: `${e}/:tag?` }),
3116
- ...Wt(e)
3117
- ],
3118
- client: s,
3119
- config: t
3120
- })
3121
- ];
3122
- const r = Xt(t);
3123
- return (r.length > 1 ? [void 0, ...r] : [void 0]).map((i) => {
3124
- const l = R(e, i);
3125
- return ht({
3126
- basePath: e,
3127
- version: i,
3128
- routePath: l,
3129
- routes: la(l, a),
3130
- client: s,
3131
- config: t
3132
- });
3133
- });
3134
- }, Zt = yr(`
3135
- query GetNavigationOperations($input: JSON!, $type: SchemaType!) {
3136
- schema(input: $input, type: $type) {
3137
- extensions
3138
- tags {
3139
- slug
3140
- name
3141
- extensions
3142
- operations {
3143
- summary
3144
- slug
3145
- method
3146
- operationId
3147
- path
3148
- }
3149
- }
3150
- components {
3151
- schemas {
3152
- __typename
3153
- }
3154
- }
3155
- }
3156
- }
3157
- `), _e = "~endpoints", Ma = (e) => {
3158
- const t = R(e.path), s = new Ls(e);
3159
- return {
3160
- getHead: () => {
3161
- if (e.type === "url" && !e.skipPreload)
3162
- return /* @__PURE__ */ n.jsx(
3163
- "link",
3164
- {
3165
- rel: "preload",
3166
- href: e.input,
3167
- as: "fetch",
3168
- crossOrigin: "anonymous"
3169
- }
3170
- );
3171
- if (e.server)
3172
- return /* @__PURE__ */ n.jsx("link", { rel: "preconnect", href: e.server });
3173
- },
3174
- getMdxComponents: () => ({
3175
- OpenPlaygroundButton: ({
3176
- requireAuth: a,
3177
- server: r,
3178
- method: o,
3179
- url: i,
3180
- children: l,
3181
- ...c
3182
- }) => {
3183
- const u = qn();
3184
- if (!r)
3185
- throw new Error("Server is required");
3186
- return a && !u.isAuthenticated ? /* @__PURE__ */ n.jsxs(
3187
- ee,
3188
- {
3189
- className: "gap-2 items-center",
3190
- variant: "outline",
3191
- onClick: u.login,
3192
- children: [
3193
- "Login to open in Playground ",
3194
- /* @__PURE__ */ n.jsx(En, { size: 16 })
3195
- ]
3196
- }
3197
- ) : /* @__PURE__ */ n.jsx(
3198
- ra,
3199
- {
3200
- url: i ?? "/",
3201
- method: o ?? "get",
3202
- server: r,
3203
- ...c,
3204
- children: /* @__PURE__ */ n.jsx(ee, { className: "gap-2 items-center", variant: "outline", children: l ?? /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
3205
- "Open in Playground ",
3206
- /* @__PURE__ */ n.jsx(Rn, { size: 16 })
3207
- ] }) })
3208
- }
3209
- );
3210
- }
3211
- }),
3212
- getNavigation: async (a, r) => {
3213
- if (!st({ path: t, end: !1 }, a))
3214
- return [];
3215
- const o = st(
3216
- { path: `${t}/:version?/:tag`, end: !0 },
3217
- a
3218
- );
3219
- try {
3220
- const i = o?.params.version, l = i ?? Xt(e).at(0), { type: c } = e, u = c === "file" ? e.input[l] : e.input, d = zt(s, Zt, {
3221
- type: c,
3222
- input: u
3223
- }), h = await r.queryClient.ensureQueryData(d), g = new Map(
3224
- h.schema.tags.filter((f) => f.name && f.operations.length > 0).map((f) => {
3225
- if (!f.name)
3226
- throw new Error(`Tag ${f.slug} has no name`);
3227
- const j = R(t, i, f.slug), L = f.extensions?.["x-zudoku-collapsed"] ?? !e.options?.expandAllTags, w = f.extensions?.["x-zudoku-collapsible"] ?? !0;
3228
- return [
3229
- f.name,
3230
- pt({
3231
- label: f.extensions?.["x-displayName"] ?? f.name,
3232
- path: j,
3233
- operations: f.operations,
3234
- collapsed: L,
3235
- collapsible: w
3236
- })
3237
- ];
3238
- })
3239
- ), m = h.schema.extensions?.["x-tagGroups"] ?? [], v = new Set(
3240
- m.flatMap(
3241
- (f) => f.tags.filter((j) => g.has(j))
3242
- )
3243
- ), b = [
3244
- ...m.flatMap(
3245
- (f) => {
3246
- const j = f.tags.map((L) => g.get(L)).filter(Boolean);
3247
- return j.length === 0 ? [] : [
3248
- {
3249
- type: "category",
3250
- label: f.name,
3251
- items: j,
3252
- collapsible: !0,
3253
- collapsed: !e.options?.expandAllTags
3254
- }
3255
- ];
3256
- }
3257
- ),
3258
- ...Array.from(g.entries()).filter(([f]) => !v.has(f)).map(([, f]) => f)
3259
- ], T = h.schema.tags.find(
3260
- (f) => !f.name
3261
- )?.operations;
3262
- return T && T.length > 0 && b.push(
3263
- pt({
3264
- label: b.length === 0 ? "Endpoints" : "Other endpoints",
3265
- path: R(t, i, _e),
3266
- operations: T,
3267
- collapsed: !e.options?.expandAllTags
3268
- })
3269
- ), h.schema.components?.schemas?.length && b.push({
3270
- type: "link",
3271
- label: "Schemas",
3272
- to: R(t, i, "~schemas")
3273
- }), b;
3274
- } catch {
3275
- return [];
3276
- }
3277
- },
3278
- getRoutes: () => da({ basePath: t, config: e, client: s })
3279
- };
3280
- };
3281
- export {
3282
- z as C,
3283
- _a as G,
3284
- _s as L,
3285
- Ua as O,
3286
- ra as P,
3287
- Ds as Q,
3288
- It as S,
3289
- x as T,
3290
- _e as U,
3291
- lr as a,
3292
- Ft as b,
3293
- F as c,
3294
- Xt as d,
3295
- wr as e,
3296
- Mt as f,
3297
- yr as g,
3298
- Br as h,
3299
- ir as i,
3300
- lt as j,
3301
- Va as k,
3302
- Us as l,
3303
- Fe as m,
3304
- kt as n,
3305
- $s as o,
3306
- or as p,
3307
- je as q,
3308
- Es as r,
3309
- P as s,
3310
- Ba as t,
3311
- oa as u,
3312
- Bs as v,
3313
- Fs as w,
3314
- Lt as x,
3315
- Zt as y,
3316
- Ma as z
3317
- };
3318
- //# sourceMappingURL=index-Bb9AsFlk.js.map