zudoku 0.3.0-dev.79 → 0.3.0-dev.80

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 (45) hide show
  1. package/dist/lib/plugins/openapi/Sidecar.d.ts +4 -0
  2. package/dist/lib/plugins/openapi/Sidecar.js +1 -1
  3. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  4. package/dist/lib/plugins/openapi/index.js +25 -5
  5. package/dist/lib/plugins/openapi/index.js.map +1 -1
  6. package/lib/{AuthenticationPlugin-CngUn5DP.js → AuthenticationPlugin-XS0DoAhE.js} +2 -2
  7. package/lib/{AuthenticationPlugin-CngUn5DP.js.map → AuthenticationPlugin-XS0DoAhE.js.map} +1 -1
  8. package/lib/{Combination-CS4rK8IJ.js → Combination-C442XfGG.js} +368 -347
  9. package/lib/Combination-C442XfGG.js.map +1 -0
  10. package/lib/{DevPortalProvider-BTFqdAEL.js → DevPortalProvider-BWeAysxF.js} +6 -5
  11. package/lib/{DevPortalProvider-BTFqdAEL.js.map → DevPortalProvider-BWeAysxF.js.map} +1 -1
  12. package/lib/{Input-GFpPXs5b.js → Input-3IEt27jb.js} +3 -3
  13. package/lib/{Input-GFpPXs5b.js.map → Input-3IEt27jb.js.map} +1 -1
  14. package/lib/{MdxPage-V4FCB0C_.js → MdxPage-CA1WmW14.js} +2 -2
  15. package/lib/{MdxPage-V4FCB0C_.js.map → MdxPage-CA1WmW14.js.map} +1 -1
  16. package/lib/OperationList-rv6Z3wD3.js +431 -0
  17. package/lib/OperationList-rv6Z3wD3.js.map +1 -0
  18. package/lib/{Route-CogU1ofM.js → Route-Clw81GSR.js} +2 -2
  19. package/lib/{Route-CogU1ofM.js.map → Route-Clw81GSR.js.map} +1 -1
  20. package/lib/{SlotletProvider-D_Vz-7c_.js → SlotletProvider-B71hNEUL.js} +24 -45
  21. package/lib/SlotletProvider-B71hNEUL.js.map +1 -0
  22. package/lib/{Spinner-oNQQyp-I.js → Spinner-Coi7ORUV.js} +2 -2
  23. package/lib/{Spinner-oNQQyp-I.js.map → Spinner-Coi7ORUV.js.map} +1 -1
  24. package/lib/{index-D4bOMg7f.js → index-BH-Ub36F.js} +5 -5
  25. package/lib/{index-D4bOMg7f.js.map → index-BH-Ub36F.js.map} +1 -1
  26. package/lib/index-CLkuJSxj.js +5950 -0
  27. package/lib/index-CLkuJSxj.js.map +1 -0
  28. package/lib/zudoku.auth-clerk.js +1 -1
  29. package/lib/zudoku.auth-openid.js +1 -1
  30. package/lib/zudoku.components.js +25 -25
  31. package/lib/zudoku.plugin-api-keys.js +12 -12
  32. package/lib/zudoku.plugin-markdown.js +2 -2
  33. package/lib/zudoku.plugin-openapi.js +4 -3
  34. package/lib/zudoku.plugin-openapi.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/lib/plugins/openapi/Sidecar.tsx +1 -1
  37. package/src/lib/plugins/openapi/index.tsx +52 -16
  38. package/lib/Combination-CS4rK8IJ.js.map +0 -1
  39. package/lib/OperationList-C-M33Hxu.js +0 -4368
  40. package/lib/OperationList-C-M33Hxu.js.map +0 -1
  41. package/lib/SlotletProvider-D_Vz-7c_.js.map +0 -1
  42. package/lib/context-_fYfJFgk.js +0 -14
  43. package/lib/context-_fYfJFgk.js.map +0 -1
  44. package/lib/index-Uqja2h2M.js +0 -1960
  45. package/lib/index-Uqja2h2M.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Uqja2h2M.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevrons-up-down.js","../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/circle-play.js","../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/eraser.js","../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/x.js","../src/lib/plugins/openapi/MethodBadge.tsx","../src/lib/plugins/openapi/graphql/graphql.ts","../src/lib/plugins/openapi/graphql/gql.ts","../src/lib/components/ErrorPage.tsx","../../../node_modules/.pnpm/@radix-ui+react-dialog@1.1.1_@types+react-dom@18.3.0_@types+react@18.3.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-dialog/dist/index.mjs","../src/lib/components/Dialog.tsx","../src/lib/ui/Card.tsx","../../../node_modules/.pnpm/@radix-ui+react-tabs@1.1.0_@types+react-dom@18.3.0_@types+react@18.3.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-tabs/dist/index.mjs","../src/lib/ui/Tabs.tsx","../src/lib/util/fetchTimeout.tsx","../src/lib/util/pastellize.ts","../src/lib/plugins/openapi/ColorizedParam.tsx","../src/lib/plugins/openapi/playground/createUrl.ts","../src/lib/util/createVariantComponent.tsx","../src/lib/plugins/openapi/playground/InlineInput.tsx","../src/lib/plugins/openapi/playground/Headers.tsx","../src/lib/plugins/openapi/playground/PathParams.tsx","../src/lib/plugins/openapi/playground/QueryParams.tsx","../src/lib/plugins/openapi/SimpleSelect.tsx","../src/lib/plugins/openapi/playground/ResponseTab.tsx","../src/lib/plugins/openapi/playground/Playground.tsx","../src/lib/plugins/openapi/playground/PlaygroundDialog.tsx","../src/lib/plugins/openapi/index.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ChevronsUpDown = createLucideIcon(\"ChevronsUpDown\", [\n [\"path\", { d: \"m7 15 5 5 5-5\", key: \"1hf1tw\" }],\n [\"path\", { d: \"m7 9 5-5 5 5\", key: \"sgt6xg\" }]\n]);\n\nexport { ChevronsUpDown as default };\n//# sourceMappingURL=chevrons-up-down.js.map\n","/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CirclePlay = createLucideIcon(\"CirclePlay\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"polygon\", { points: \"10 8 16 12 10 16 10 8\", key: \"1cimsy\" }]\n]);\n\nexport { CirclePlay as default };\n//# sourceMappingURL=circle-play.js.map\n","/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Eraser = createLucideIcon(\"Eraser\", [\n [\n \"path\",\n {\n d: \"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21\",\n key: \"182aya\"\n }\n ],\n [\"path\", { d: \"M22 21H7\", key: \"t4ddhn\" }],\n [\"path\", { d: \"m5 11 9 9\", key: \"1mo9qw\" }]\n]);\n\nexport { Eraser as default };\n//# sourceMappingURL=eraser.js.map\n","/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst X = createLucideIcon(\"X\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n","import { cn } from \"../../util/cn.js\";\n\nexport const MethodTextColorMap = {\n get: \"text-green-600\",\n post: \"text-sky-600\",\n put: \"text-yellow-600\",\n delete: \"text-red-600\",\n patch: \"text-purple-600\",\n options: \"text-indigo-600\",\n head: \"text-gray-600\",\n trace: \"text-gray-600\",\n};\n\nconst MethodColorMap = {\n get: \"bg-green-400 dark:bg-green-800\",\n post: \"bg-sky-400 dark:bg-sky-800\",\n put: \"bg-yellow-400 dark:bg-yellow-800\",\n delete: \"bg-red-400 dark:bg-red-800\",\n patch: \"bg-purple-400 dark:bg-purple-600\",\n options: \"bg-indigo-400 dark:bg-indigo-600\",\n head: \"bg-gray-400 dark:bg-gray-600\",\n trace: \"bg-gray-400 dark:bg-gray-600\",\n};\n\nexport const MethodBadge = ({ method }: { method: string }) => {\n return (\n <span\n className={cn(\n \"mt-0.5 flex items-center duration-200 transition-opacity text-center uppercase font-mono text-[0.65rem] font-bold rounded text-background dark:text-zinc-50 h-4 px-1\",\n MethodColorMap[method as keyof typeof MethodColorMap],\n )}\n >\n {method}\n </span>\n );\n};\n","/* eslint-disable */\nimport type { TypedDocumentNode as DocumentNode } from \"@graphql-typed-document-node/core\";\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = {\n [K in keyof T]: T[K];\n};\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]?: Maybe<T[SubKey]>;\n};\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]: Maybe<T[SubKey]>;\n};\nexport type MakeEmpty<\n T extends { [key: string]: unknown },\n K extends keyof T,\n> = { [_ in K]?: never };\nexport type Incremental<T> =\n | T\n | {\n [P in keyof T]?: P extends \" $fragmentName\" | \"__typename\" ? T[P] : never;\n };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string };\n String: { input: string; output: string };\n Boolean: { input: boolean; output: boolean };\n Int: { input: number; output: number };\n Float: { input: number; output: number };\n /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */\n JSON: { input: any; output: any };\n /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */\n JSONObject: { input: any; output: any };\n};\n\nexport type EncodingItem = {\n __typename?: \"EncodingItem\";\n allowReserved?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n contentType?: Maybe<Scalars[\"String\"][\"output\"]>;\n explode?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n headers?: Maybe<Scalars[\"JSONObject\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n style?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type ExampleItem = {\n __typename?: \"ExampleItem\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n externalValue?: Maybe<Scalars[\"String\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n summary?: Maybe<Scalars[\"String\"][\"output\"]>;\n value?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type MediaTypeObject = {\n __typename?: \"MediaTypeObject\";\n encoding?: Maybe<Array<EncodingItem>>;\n examples?: Maybe<Array<ExampleItem>>;\n mediaType: Scalars[\"String\"][\"output\"];\n schema?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n};\n\nexport type OperationItem = {\n __typename?: \"OperationItem\";\n contentTypes: Array<Scalars[\"String\"][\"output\"]>;\n deprecated?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n method: Scalars[\"String\"][\"output\"];\n operationId?: Maybe<Scalars[\"String\"][\"output\"]>;\n parameters?: Maybe<Array<ParameterItem>>;\n path: Scalars[\"String\"][\"output\"];\n requestBody?: Maybe<RequestBodyObject>;\n responses: Array<ResponseItem>;\n slug: Scalars[\"String\"][\"output\"];\n summary?: Maybe<Scalars[\"String\"][\"output\"]>;\n tags?: Maybe<Array<TagItem>>;\n};\n\nexport type ParameterIn = \"cookie\" | \"header\" | \"path\" | \"query\";\n\nexport type ParameterItem = {\n __typename?: \"ParameterItem\";\n allowEmptyValue?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n allowReserved?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n deprecated?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n examples?: Maybe<Array<ExampleItem>>;\n explode?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n in: ParameterIn;\n name: Scalars[\"String\"][\"output\"];\n required?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n schema?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n style?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type PathItem = {\n __typename?: \"PathItem\";\n methods: Array<Scalars[\"String\"][\"output\"]>;\n path: Scalars[\"String\"][\"output\"];\n};\n\nexport type Query = {\n __typename?: \"Query\";\n schema: Schema;\n};\n\nexport type QuerySchemaArgs = {\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n};\n\nexport type RequestBodyObject = {\n __typename?: \"RequestBodyObject\";\n content?: Maybe<Array<MediaTypeObject>>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n required?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n};\n\nexport type ResponseItem = {\n __typename?: \"ResponseItem\";\n content?: Maybe<Array<MediaTypeObject>>;\n description: Scalars[\"String\"][\"output\"];\n headers?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n links?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n statusCode: Scalars[\"String\"][\"output\"];\n};\n\nexport type Schema = {\n __typename?: \"Schema\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n openapi: Scalars[\"String\"][\"output\"];\n operations: Array<OperationItem>;\n paths: Array<PathItem>;\n tags: Array<SchemaTag>;\n title: Scalars[\"String\"][\"output\"];\n url: Scalars[\"String\"][\"output\"];\n version: Scalars[\"String\"][\"output\"];\n};\n\nexport type SchemaOperationsArgs = {\n method?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n operationId?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n path?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n tag?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type SchemaTagsArgs = {\n name?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type SchemaTag = {\n __typename?: \"SchemaTag\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n name?: Maybe<Scalars[\"String\"][\"output\"]>;\n operations: Array<OperationItem>;\n};\n\nexport type SchemaType = \"json\" | \"url\" | \"yaml\";\n\nexport type TagItem = {\n __typename?: \"TagItem\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n};\n\nexport type OperationsFragmentFragment = {\n __typename?: \"OperationItem\";\n slug: string;\n summary?: string | null;\n method: string;\n description?: string | null;\n operationId?: string | null;\n contentTypes: Array<string>;\n path: string;\n parameters?: Array<{\n __typename?: \"ParameterItem\";\n name: string;\n in: ParameterIn;\n description?: string | null;\n required?: boolean | null;\n schema?: any | null;\n style?: string | null;\n examples?: Array<{\n __typename?: \"ExampleItem\";\n name: string;\n description?: string | null;\n externalValue?: string | null;\n value?: string | null;\n summary?: string | null;\n }> | null;\n }> | null;\n requestBody?: {\n __typename?: \"RequestBodyObject\";\n description?: string | null;\n required?: boolean | null;\n content?: Array<{\n __typename?: \"MediaTypeObject\";\n mediaType: string;\n schema?: any | null;\n encoding?: Array<{ __typename?: \"EncodingItem\"; name: string }> | null;\n }> | null;\n } | null;\n responses: Array<{\n __typename?: \"ResponseItem\";\n statusCode: string;\n links?: any | null;\n description: string;\n content?: Array<{\n __typename?: \"MediaTypeObject\";\n mediaType: string;\n schema?: any | null;\n encoding?: Array<{ __typename?: \"EncodingItem\"; name: string }> | null;\n }> | null;\n }>;\n} & { \" $fragmentName\"?: \"OperationsFragmentFragment\" };\n\nexport type AllOperationsQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type AllOperationsQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n description?: string | null;\n title: string;\n url: string;\n version: string;\n tags: Array<{\n __typename?: \"SchemaTag\";\n name?: string | null;\n description?: string | null;\n operations: Array<\n { __typename?: \"OperationItem\"; slug: string } & {\n \" $fragmentRefs\"?: {\n OperationsFragmentFragment: OperationsFragmentFragment;\n };\n }\n >;\n }>;\n };\n};\n\nexport type GetServerQueryQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type GetServerQueryQuery = {\n __typename?: \"Query\";\n schema: { __typename?: \"Schema\"; url: string };\n};\n\nexport type GetCategoriesQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type GetCategoriesQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n tags: Array<{\n __typename: \"SchemaTag\";\n name?: string | null;\n operations: Array<{\n __typename: \"OperationItem\";\n slug: string;\n deprecated?: boolean | null;\n method: string;\n summary?: string | null;\n operationId?: string | null;\n path: string;\n }>;\n }>;\n };\n};\n\nexport const OperationsFragmentFragmentDoc = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"FragmentDefinition\",\n name: { kind: \"Name\", value: \"OperationsFragment\" },\n typeCondition: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"OperationItem\" },\n },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"slug\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"summary\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"method\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"operationId\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"contentTypes\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"path\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"parameters\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"in\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"schema\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"style\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"examples\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"description\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"externalValue\" },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"value\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"summary\" },\n },\n ],\n },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"requestBody\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"responses\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"statusCode\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"links\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<OperationsFragmentFragment, unknown>;\nexport const AllOperationsDocument = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"OperationDefinition\",\n operation: \"query\",\n name: { kind: \"Name\", value: \"AllOperations\" },\n variableDefinitions: [\n {\n kind: \"VariableDefinition\",\n variable: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n type: {\n kind: \"NonNullType\",\n type: { kind: \"NamedType\", name: { kind: \"Name\", value: \"JSON\" } },\n },\n },\n {\n kind: \"VariableDefinition\",\n variable: { kind: \"Variable\", name: { kind: \"Name\", value: \"type\" } },\n type: {\n kind: \"NonNullType\",\n type: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"SchemaType\" },\n },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n arguments: [\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"input\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n },\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"type\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"type\" },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"title\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"url\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"version\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"tags\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"description\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"operations\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"slug\" },\n },\n {\n kind: \"FragmentSpread\",\n name: {\n kind: \"Name\",\n value: \"OperationsFragment\",\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n {\n kind: \"FragmentDefinition\",\n name: { kind: \"Name\", value: \"OperationsFragment\" },\n typeCondition: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"OperationItem\" },\n },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"slug\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"summary\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"method\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"operationId\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"contentTypes\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"path\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"parameters\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"in\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"schema\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"style\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"examples\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"description\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"externalValue\" },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"value\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"summary\" },\n },\n ],\n },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"requestBody\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"responses\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"statusCode\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"links\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<AllOperationsQuery, AllOperationsQueryVariables>;\nexport const GetServerQueryDocument = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"OperationDefinition\",\n operation: \"query\",\n name: { kind: \"Name\", value: \"getServerQuery\" },\n variableDefinitions: [\n {\n kind: \"VariableDefinition\",\n variable: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n type: {\n kind: \"NonNullType\",\n type: { kind: \"NamedType\", name: { kind: \"Name\", value: \"JSON\" } },\n },\n },\n {\n kind: \"VariableDefinition\",\n variable: { kind: \"Variable\", name: { kind: \"Name\", value: \"type\" } },\n type: {\n kind: \"NonNullType\",\n type: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"SchemaType\" },\n },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n arguments: [\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"input\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n },\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"type\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"type\" },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"url\" } },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<GetServerQueryQuery, GetServerQueryQueryVariables>;\nexport const GetCategoriesDocument = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"OperationDefinition\",\n operation: \"query\",\n name: { kind: \"Name\", value: \"GetCategories\" },\n variableDefinitions: [\n {\n kind: \"VariableDefinition\",\n variable: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n type: {\n kind: \"NonNullType\",\n type: { kind: \"NamedType\", name: { kind: \"Name\", value: \"JSON\" } },\n },\n },\n {\n kind: \"VariableDefinition\",\n variable: { kind: \"Variable\", name: { kind: \"Name\", value: \"type\" } },\n type: {\n kind: \"NonNullType\",\n type: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"SchemaType\" },\n },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n arguments: [\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"input\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n },\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"type\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"type\" },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"tags\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"__typename\" },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"operations\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"__typename\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"slug\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"deprecated\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"method\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"summary\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"operationId\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"path\" },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<GetCategoriesQuery, GetCategoriesQueryVariables>;\n","/* eslint-disable */\nimport type { TypedDocumentNode as DocumentNode } from \"@graphql-typed-document-node/core\";\nimport * as types from \"./graphql.js\";\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n \"\\n fragment OperationsFragment on OperationItem {\\n slug\\n summary\\n method\\n description\\n operationId\\n contentTypes\\n path\\n parameters {\\n name\\n in\\n description\\n required\\n schema\\n style\\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 schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\":\n types.OperationsFragmentFragmentDoc,\n \"\\n query AllOperations($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n description\\n title\\n url\\n version\\n tags {\\n name\\n description\\n operations {\\n slug\\n ...OperationsFragment\\n }\\n }\\n }\\n }\\n\":\n types.AllOperationsDocument,\n \"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n }\\n }\\n\":\n types.GetServerQueryDocument,\n \"\\n query GetCategories($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n tags {\\n __typename\\n name\\n operations {\\n __typename\\n slug\\n deprecated\\n method\\n summary\\n operationId\\n path\\n }\\n }\\n }\\n }\\n\":\n types.GetCategoriesDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n fragment OperationsFragment on OperationItem {\\n slug\\n summary\\n method\\n description\\n operationId\\n contentTypes\\n path\\n parameters {\\n name\\n in\\n description\\n required\\n schema\\n style\\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 schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\",\n): (typeof documents)[\"\\n fragment OperationsFragment on OperationItem {\\n slug\\n summary\\n method\\n description\\n operationId\\n contentTypes\\n path\\n parameters {\\n name\\n in\\n description\\n required\\n schema\\n style\\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 schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query AllOperations($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n description\\n title\\n url\\n version\\n tags {\\n name\\n description\\n operations {\\n slug\\n ...OperationsFragment\\n }\\n }\\n }\\n }\\n\",\n): (typeof documents)[\"\\n query AllOperations($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n description\\n title\\n url\\n version\\n tags {\\n name\\n description\\n operations {\\n slug\\n ...OperationsFragment\\n }\\n }\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n }\\n }\\n\",\n): (typeof documents)[\"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query GetCategories($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n tags {\\n __typename\\n name\\n operations {\\n __typename\\n slug\\n deprecated\\n method\\n summary\\n operationId\\n path\\n }\\n }\\n }\\n }\\n\",\n): (typeof documents)[\"\\n query GetCategories($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n tags {\\n __typename\\n name\\n operations {\\n __typename\\n slug\\n deprecated\\n method\\n summary\\n operationId\\n path\\n }\\n }\\n }\\n }\\n\"];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n","import type { ReactNode } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { Heading } from \"./Heading.js\";\nimport { ProseClasses } from \"./Markdown.js\";\n\nexport const ErrorPage = ({\n title = \"An error occurred\",\n message,\n category,\n}: {\n title?: ReactNode;\n message?: ReactNode;\n category?: ReactNode;\n}) => {\n return (\n <div className={ProseClasses + \" h-full pt-[--padding-content-top]\"}>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n {title}\n </Heading>\n )}\n <p>{message}</p>\n <Link to=\"/\">Go back home</Link>\n </div>\n );\n};\n","\"use client\";\n\n// packages/react/dialog/src/Dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg border-border\",\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <XIcon className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n","import * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-xl border bg-card text-card-foreground shadow\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\"font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n};\n","\"use client\";\n\n// packages/react/tabs/src/Tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue\n });\n return /* @__PURE__ */ jsx(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n Content,\n List,\n Root2 as Root,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Trigger,\n createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow\",\n className,\n )}\n {...props}\n />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className,\n )}\n {...props}\n />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\n","export const fetchTimeout = async (\n input: RequestInfo,\n init?: RequestInit,\n timeout = 5000,\n): Promise<Response> => {\n const controller = new AbortController();\n const signal = controller.signal;\n\n const fetchPromise = fetch(input, { ...init, signal });\n\n const timeoutPromise = new Promise<Response>((_, reject) => {\n const timer = setTimeout(() => {\n controller.abort(\"Request timed out\");\n reject(new Error(\"Request timed out\"));\n }, timeout);\n\n void fetchPromise.finally(() => clearTimeout(timer));\n });\n\n return Promise.race([fetchPromise, timeoutPromise]);\n};\n","const c2n = (c: string) =>\n Math.abs(\n isNaN(parseInt(c))\n ? c.toLowerCase().charCodeAt(0) - 96\n : isNaN(parseInt(c))\n ? 0\n : parseInt(c),\n );\nconst s2n = (s: string) =>\n s.length > 1\n ? parseInt(s.split(\"\").reduce((a, c) => `${c2n(a) + c2n(c)}`))\n : c2n(s);\n\nexport const pastellize = (\n s: string,\n options: {\n saturation?: number;\n lightness?: number;\n } = {},\n) => {\n const hue = (3 * s2n(s) + 2 * s2n(s) + s2n(s)) % 360;\n const { saturation = 75, lightness = 60 } = options;\n\n return `${hue}deg ${saturation}% ${lightness}%`;\n};\n","import { useEffect, useRef, type ReactNode } from \"react\";\nimport { useTheme } from \"../../components/context/ThemeContext.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { pastellize } from \"../../util/pastellize.js\";\n\nexport const DATA_ATTR = \"data-linked-param\";\n\nexport const usePastellizedColor = (name: string) => {\n const [isDark] = useTheme();\n return pastellize(\n name,\n !isDark ? { saturation: 85, lightness: 50 } : undefined,\n );\n};\n\nexport const ColorizedParam = ({\n name,\n className,\n backgroundOpacity = \"100%\",\n borderOpacity = \"100%\",\n slug,\n children,\n onClick,\n}: {\n name: string;\n className?: string;\n backgroundOpacity?: string;\n borderOpacity?: string;\n slug?: string;\n children?: ReactNode;\n onClick?: () => void;\n}) => {\n const ref = useRef<HTMLSpanElement>(null);\n const normalized = name.replace(/[{}]/g, \"\");\n const normalizedSlug = slug?.replace(/[{}]/g, \"\");\n const color = usePastellizedColor(normalized);\n\n const borderColor = `hsl(${color} / ${borderOpacity})`;\n const backgroundColor = `hsl(${color} / ${backgroundOpacity})`;\n\n useEffect(() => {\n if (!normalizedSlug) return;\n if (!ref.current) return;\n\n const onMouseEnter = () => {\n document\n .querySelectorAll(`[${DATA_ATTR}=\"${normalizedSlug}\"]`)\n .forEach((el) => {\n if (el instanceof HTMLElement) {\n el.dataset.active = \"true\";\n }\n });\n };\n const onMouseLeave = () => {\n document\n .querySelectorAll(`[${DATA_ATTR}=\"${normalizedSlug}\"]`)\n .forEach((el) => {\n if (el instanceof HTMLElement) {\n el.dataset.active = \"false\";\n }\n });\n };\n\n ref.current.addEventListener(\"mouseenter\", onMouseEnter);\n ref.current.addEventListener(\"mouseleave\", onMouseLeave);\n\n return () => {\n ref.current?.removeEventListener(\"mouseenter\", onMouseEnter);\n ref.current?.removeEventListener(\"mouseleave\", onMouseLeave);\n };\n }, [normalizedSlug]);\n\n return (\n <span\n className={cn(\"inline-flex relative rounded group\", className)}\n {...{ [DATA_ATTR]: normalizedSlug }}\n ref={ref}\n onClick={onClick}\n >\n <span\n className=\"absolute inset-0 border-b-2 transition-opacity duration-200 opacity-30 group-data-[active=true]:opacity-100\"\n style={{ borderColor, backgroundColor }}\n />\n <span className=\"relative\">{children ?? name}</span>\n </span>\n );\n};\n","import type { PlaygroundForm } from \"./Playground.js\";\n\nexport const createUrl = (host: string, path: string, data: PlaygroundForm) => {\n const filledPath = path.replace(\n /\\{(\\w+)}/g,\n (_, key) =>\n data.pathParams.find((part) => part.name === key)?.value || `{${key}}`,\n );\n\n const url = new URL(filledPath, host);\n\n data.queryParams\n .filter((param) => param.active)\n .forEach((param) => {\n url.searchParams.set(param.name, param.value);\n });\n\n return url;\n};\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport type { ClassValue } from \"clsx\";\nimport * as React from \"react\";\nimport type { JSX } from \"react/jsx-runtime\";\nimport { cn } from \"./cn.js\";\n\nconst createVariantComponent = <\n E extends keyof React.ReactHTML,\n C extends ReturnType<typeof cva>,\n>(\n tag: E,\n cvx: ClassValue | C,\n // variantProps: Array<keyof VariantProps<C>> = [],\n) => {\n const MyVariant = React.forwardRef<\n HTMLElement,\n JSX.IntrinsicElements[E] & { className?: ClassValue; asChild?: boolean }\n >(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : tag;\n\n return React.createElement(Comp, {\n ...props,\n ref,\n className:\n typeof cvx === \"function\" ? cvx({ className }) : cn(cvx, className),\n });\n });\n\n MyVariant.displayName = `VariantComponent(${tag})`;\n\n return MyVariant;\n};\n\nexport default createVariantComponent;\n","import createVariantComponent from \"../../../util/createVariantComponent.js\";\n\nexport const InlineInput = createVariantComponent(\n \"input\",\n \"px-2 bg-transparent h-6 font-mono text-xs m-2\",\n);\n","import { TriangleAlertIcon, XIcon } from \"lucide-react\";\nimport {\n Control,\n useFieldArray,\n UseFormRegister,\n useWatch,\n} from \"react-hook-form\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { InlineInput } from \"./InlineInput.js\";\nimport { NO_IDENTITY, type PlaygroundForm } from \"./Playground.js\";\n\nexport const Headers = ({\n control,\n register,\n}: {\n register: UseFormRegister<PlaygroundForm>;\n control: Control<PlaygroundForm>;\n}) => {\n const { fields, append, remove } = useFieldArray<PlaygroundForm>({\n control,\n name: \"headers\",\n });\n const selectedIdentity = useWatch({ name: \"identity\", control });\n const liveHeaders = useWatch({ name: \"headers\", control });\n\n const disableAuth = selectedIdentity !== NO_IDENTITY;\n\n return (\n <div className=\"grid grid-cols-[1fr_1fr_auto]\">\n {fields.map((header, i) => {\n const isDisabledByAuth =\n disableAuth && liveHeaders.at(i)?.name === \"Authorization\";\n\n return (\n <div\n key={header.id}\n className={cn(\n \"grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-muted rounded overflow-hidden group\",\n isDisabledByAuth && \"line-through\",\n )}\n title={\n isDisabledByAuth\n ? \"This header is disabled because authentication was selected\"\n : undefined\n }\n >\n <div className=\"flex gap-2 items-center\">\n <InlineInput\n {...register(`headers.${i}.name`)}\n placeholder=\"Name\"\n className=\"peer\"\n autoComplete=\"off\"\n />\n {isDisabledByAuth && (\n <TriangleAlertIcon size={16} className=\"text-amber-500\" />\n )}\n </div>\n <InlineInput\n placeholder={\"Value\"}\n className=\"peer\"\n {...register(`headers.${i}.value`)}\n autoComplete=\"off\"\n />\n <button\n className=\"hover:bg-black/5 p-1 rounded mr-2 text-muted-foreground invisible group-hover:visible peer-focus:visible\"\n onClick={() => {\n remove(i);\n }}\n type=\"button\"\n >\n <XIcon size={16} />\n </button>\n <div className=\"col-span-full border-b border-border\"></div>\n </div>\n );\n })}\n <Button\n className=\"col-span-full mt-4\"\n onClick={() => append({ name: \"\", value: \"\" })}\n type=\"button\"\n >\n Add header\n </Button>\n </div>\n );\n};\n","import { EraserIcon } from \"lucide-react\";\nimport { Control, Controller, useFieldArray } from \"react-hook-form\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { Input } from \"../../../ui/Input.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { ColorizedParam } from \"../ColorizedParam.js\";\nimport type { PlaygroundForm } from \"./Playground.js\";\n\nexport const PathParams = ({\n control,\n}: {\n control: Control<PlaygroundForm>;\n}) => {\n const { fields } = useFieldArray<PlaygroundForm>({\n control,\n name: \"pathParams\",\n });\n\n return (\n <table className=\"w-full table-auto [&_td]:border [&_td]:py-1 [&_td]:px-2\">\n <tbody>\n {fields.map((part, i) => (\n <tr key={part.id} className=\"hover:bg-accent/40\">\n <td>\n <Controller\n control={control}\n name={`pathParams.${i}.value`}\n render={({ field }) => (\n <div>\n <ColorizedParam\n slug={part.name}\n name={part.name}\n backgroundOpacity=\"25%\"\n borderOpacity={field.value ? \"100%\" : \"0\"}\n className={cn(\n \"font-mono text-xs m-2\",\n !field.value && \"opacity-60\",\n )}\n />\n *\n </div>\n )}\n />\n </td>\n <td>\n <div className=\"flex justify-between items-center\">\n <Controller\n control={control}\n name={`pathParams.${i}.value`}\n render={({ field }) => (\n <Input\n {...field}\n placeholder=\"Enter value\"\n className={cn(\n \"border-0 shadow-none ring-0 font-mono text-xs\",\n )}\n />\n )}\n />\n <Controller\n control={control}\n name={`pathParams.${i}.value`}\n render={({ field }) => (\n <Button\n size=\"icon\"\n type=\"button\"\n variant=\"ghost\"\n aria-label=\"Clear value\"\n className={cn(\n \"ms-2\",\n field.value.length === 0\n ? \"opacity-0 pointer-events-none\"\n : \"opacity-100\",\n )}\n title=\"Clear value\"\n onClick={() => field.onChange(\"\")}\n >\n <EraserIcon size={16} />\n </Button>\n )}\n />\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","import { EraserIcon } from \"lucide-react\";\nimport {\n Control,\n Controller,\n useFieldArray,\n useFormContext,\n} from \"react-hook-form\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { Input } from \"../../../ui/Input.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { InlineInput } from \"./InlineInput.js\";\nimport {\n NO_IDENTITY,\n type PlaygroundForm,\n type QueryParam,\n} from \"./Playground.js\";\n\nexport const QueryParams = ({\n control,\n queryParams,\n}: {\n control: Control<PlaygroundForm>;\n queryParams: QueryParam[];\n}) => {\n const { fields } = useFieldArray<PlaygroundForm>({\n control,\n name: \"queryParams\",\n });\n const form = useFormContext<PlaygroundForm>();\n\n const requiredFields = queryParams.map((param) => Boolean(param.isRequired));\n\n const selectedIdentity = form.watch(\"identity\");\n const hasSelectedIdentity = selectedIdentity !== NO_IDENTITY;\n\n return (\n <div className=\"\">\n <table className=\"w-full [&_td]:border [&_td]:p-1.5 [&_td]:px-2\">\n <tbody>\n {fields\n .filter(\n // TODO remove this hack for Accu or make it more generic\n (field) => !(hasSelectedIdentity && field.name === \"apikey\"),\n )\n .map((field, i) => (\n <tr key={field.id} className=\"hover:bg-accent/40\">\n <td className=\"text-center\">\n <Controller\n control={control}\n name={`queryParams.${i}.active`}\n render={({ field }) => (\n <input\n type=\"checkbox\"\n id={`queryParams.${i}.active`}\n checked={field.value}\n onChange={field.onChange}\n />\n )}\n />\n </td>\n <td>\n <Controller\n control={control}\n render={({ field }) => (\n <InlineInput asChild>\n <label\n className=\"flex items-center cursor-pointer\"\n htmlFor={`queryParams.${i}.active`}\n title={\n requiredFields[i] ? \"Required field\" : undefined\n }\n >\n {field.value}\n {requiredFields[i] && <sup>&nbsp;*</sup>}\n </label>\n </InlineInput>\n )}\n name={`queryParams.${i}.name`}\n />\n </td>\n <td>\n <div className=\"flex justify-between items-center\">\n <Controller\n control={control}\n render={({ field }) => (\n <Input\n {...field}\n onChange={(e) => {\n field.onChange(e.target.value);\n if (e.target.value.length > 0) {\n form.setValue(`queryParams.${i}.active`, true);\n }\n }}\n placeholder=\"Enter value\"\n className=\"w-full border-0 shadow-none text-xs font-mono\"\n />\n )}\n name={`queryParams.${i}.value`}\n />\n <Controller\n control={control}\n render={({ field }) => (\n <Button\n size=\"icon\"\n type=\"button\"\n variant=\"ghost\"\n aria-label=\"Clear value\"\n className={cn(\n \"ms-2\",\n field.value.length === 0\n ? \"opacity-0 pointer-events-none\"\n : \"opacity-100\",\n )}\n title=\"Clear value\"\n onClick={() => field.onChange(\"\")}\n >\n <EraserIcon size={16} />\n </Button>\n )}\n name={`queryParams.${i}.value`}\n />\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n );\n};\n","import { ChevronsUpDownIcon } from \"lucide-react\";\nimport type { ChangeEventHandler } from \"react\";\nimport { cn } from \"../../util/cn.js\";\n\nexport const SimpleSelect = ({\n value,\n onChange,\n className,\n options,\n}: {\n value: string;\n onChange: ChangeEventHandler<HTMLSelectElement>;\n className?: string;\n options: {\n value: string;\n label: string;\n }[];\n}) => (\n <div className={cn(\"grid\", className)}>\n <select\n className={cn(\n \"row-start-1 col-start-1 border border-input text-foreground px-2 py-1 pe-6\",\n \"rounded-md appearance-none bg-zinc-50 hover:bg-white dark:bg-zinc-800 hover:dark:bg-zinc-800/75\",\n )}\n value={value}\n onChange={onChange}\n >\n {options.map((option) => (\n <option value={option.value} key={option.value}>\n {option.label}\n </option>\n ))}\n </select>\n <div className=\"row-start-1 col-start-1 self-center justify-self-end relative end-2 pointer-events-none\">\n <ChevronsUpDownIcon size={14} />\n </div>\n </div>\n);\n","import { useState } from \"react\";\nimport { SyntaxHighlight } from \"../../../components/SyntaxHighlight.js\";\nimport { Card } from \"../../../ui/Card.js\";\nimport { SimpleSelect } from \"../SimpleSelect.js\";\n\nconst mimeTypeToLanguage = (mimeType: string) => {\n const mimeTypeMapping = {\n \"application/json\": \"json\",\n \"text/json\": \"json\",\n \"text/html\": \"html\",\n \"text/css\": \"css\",\n \"text/javascript\": \"javascript\",\n \"application/xml\": \"xml\",\n \"application/xhtml+xml\": \"xhtml\",\n };\n\n return Object.entries(mimeTypeMapping).find(([mime]) =>\n mimeType.includes(mime),\n )?.[1];\n};\n\nconst detectLanguage = (headers: Headers) => {\n const contentType = headers.get(\"Content-Type\") || \"\";\n return mimeTypeToLanguage(contentType);\n};\n\nconst tryParseJson = (body: string) => {\n try {\n return JSON.stringify(JSON.parse(body), null, 2);\n } catch {\n return null;\n }\n};\n\nexport const ResponseTab = ({\n body = \"\",\n headers,\n}: {\n body?: string;\n headers: Headers;\n}) => {\n const detectedLanguage = detectLanguage(headers);\n const jsonContent = tryParseJson(body);\n const beautifiedBody = jsonContent || body;\n const [view, setView] = useState<\"formatted\" | \"raw\">(\n jsonContent ? \"formatted\" : \"raw\",\n );\n\n return (\n <div className=\"flex flex-col gap-2\">\n <Card className=\"shadow-none\">\n <SyntaxHighlight\n language={\n view === \"raw\" ? (jsonContent ? \"plain\" : detectedLanguage) : \"json\"\n }\n noBackground\n showLanguageIndicator\n className=\"overflow-x-auto p-4 text-xs\"\n code={view === \"raw\" ? body : beautifiedBody}\n />\n </Card>\n {jsonContent && (\n <div className=\"flex justify-end\">\n <SimpleSelect\n value={view}\n onChange={(e) => setView(e.target.value as \"formatted\" | \"raw\")}\n options={[\n { value: \"formatted\", label: \"Formatted\" },\n { value: \"raw\", label: \"Raw\" },\n ]}\n />\n </div>\n )}\n </div>\n );\n};\n","import { useMutation } from \"@tanstack/react-query\";\nimport { Fragment, useEffect, useRef } from \"react\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useApiIdentities } from \"../../../components/context/DevPortalProvider.js\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../../../components/Select.js\";\nimport { Spinner } from \"../../../components/Spinner.js\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { Card } from \"../../../ui/Card.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../../ui/Tabs.js\";\nimport { fetchTimeout } from \"../../../util/fetchTimeout.js\";\nimport { ColorizedParam } from \"../ColorizedParam.js\";\nimport { createUrl } from \"./createUrl.js\";\nimport { Headers } from \"./Headers.js\";\nimport { PathParams } from \"./PathParams.js\";\nimport { QueryParams } from \"./QueryParams.js\";\nimport { ResponseTab } from \"./ResponseTab.js\";\n\nexport const NO_IDENTITY = \"__none\";\n\nfunction mimeTypeToLanguage(mimeType: string) {\n const mimeTypeMapping = {\n \"application/json\": \"json\",\n \"text/json\": \"json\",\n \"text/html\": \"html\",\n \"text/css\": \"css\",\n \"text/javascript\": \"javascript\",\n \"application/xml\": \"xml\",\n \"application/xhtml+xml\": \"xhtml\",\n \"text/plain\": \"plain\",\n } as const;\n\n return Object.entries(mimeTypeMapping).find(([mime]) =>\n mimeType.includes(mime),\n )?.[1];\n}\n\nconst statusCodeMap: Record<number, string> = {\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 204: \"No Content\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\",\n};\n\nexport type Header = {\n name: string;\n defaultValue?: string;\n};\nexport type QueryParam = {\n name: string;\n defaultValue?: string;\n defaultActive?: boolean;\n isRequired?: boolean;\n};\nexport type PathParam = {\n name: string;\n defaultValue?: string;\n isRequired?: boolean;\n};\n\nexport type PlaygroundForm = {\n body: string;\n queryParams: Array<{ name: string; value: string; active: boolean }>;\n pathParams: Array<{ name: string; value: string }>;\n headers: Array<{ name: string; value: string }>;\n identity?: string;\n};\n\nexport type PlaygroundContentProps = {\n server: string;\n url: string;\n method: string;\n headers?: Header[];\n queryParams?: QueryParam[];\n pathParams?: PathParam[];\n defaultBody?: string;\n};\n\nexport const Playground = ({\n server,\n url,\n method,\n headers = [],\n queryParams = [],\n pathParams = [],\n defaultBody = \"\",\n}: PlaygroundContentProps) => {\n const { register, control, handleSubmit, watch, setValue, ...form } =\n useForm<PlaygroundForm>({\n defaultValues: {\n body: defaultBody,\n queryParams: queryParams.map((param) => ({\n name: param.name,\n value: param.defaultValue ?? \"\",\n active: param.defaultActive ?? false,\n })),\n pathParams: pathParams.map((param) => ({\n name: param.name,\n value: param.defaultValue ?? \"\",\n })),\n headers: headers.map((header) => ({\n name: header.name,\n value: header.defaultValue ?? \"\",\n })),\n identity: NO_IDENTITY,\n },\n });\n const formState = watch();\n const identities = useApiIdentities();\n\n const setOnce = useRef(false);\n useEffect(() => {\n if (setOnce.current) return;\n const firstIdentity = identities.data?.at(0);\n if (firstIdentity) {\n setValue(\"identity\", firstIdentity.id);\n setOnce.current = true;\n }\n }, [setValue, identities.data]);\n\n const queryMutation = useMutation({\n mutationFn: async (data: PlaygroundForm) => {\n const requestUrl = createUrl(server, url, data);\n const start = performance.now();\n\n const request = new Request(requestUrl, {\n method: method.toUpperCase(),\n headers: Object.fromEntries(\n data.headers\n .filter((h) => h.name)\n .map((header) => [header.name, header.value]),\n ),\n });\n\n if (data.identity !== NO_IDENTITY) {\n identities.data\n ?.find((i) => i.id === data.identity)\n ?.authorizeRequest(request);\n }\n const response = await fetchTimeout(request);\n const time = performance.now() - start;\n\n const body = await response.text();\n\n return {\n status: response.status,\n headers: response.headers,\n size: body.length,\n body,\n time,\n };\n },\n });\n\n const path = url.split(\"/\").map((part, i, arr) => {\n const isPathParam = part.startsWith(\"{\") && part.endsWith(\"}\");\n const replaced = part.replace(/[{}]/g, \"\");\n const value = formState.pathParams.find((p) => p.name === replaced)?.value;\n\n const pathParamValue = value ? (\n <ColorizedParam backgroundOpacity=\"25%\" name={part} slug={part}>\n {encodeURIComponent(value)}\n </ColorizedParam>\n ) : (\n <span\n className=\"underline decoration-wavy decoration-red-500\"\n title={`Missing value for path parameter \\`${replaced}\\``}\n >\n {part}\n </span>\n );\n\n return (\n // eslint-disable-next-line react/no-array-index-key\n <Fragment key={part + i}>\n {isPathParam ? pathParamValue : part}\n {i < arr.length - 1 && \"/\"}\n <wbr />\n </Fragment>\n );\n });\n\n const lang = mimeTypeToLanguage(\n queryMutation.data?.headers.get(\"Content-Type\") ?? \"\",\n );\n\n const headerEntries = Array.from(queryMutation.data?.headers.entries() ?? []);\n\n const urlQueryParams = formState.queryParams\n .filter((p) => p.active)\n .map((p, i, arr) => (\n <Fragment key={p.name}>\n {p.name}={encodeURIComponent(p.value).replaceAll(\"%20\", \"+\")}\n {i < arr.length - 1 && \"&\"}\n <wbr />\n </Fragment>\n ));\n\n return (\n <FormProvider\n {...{ register, control, handleSubmit, watch, setValue, ...form }}\n >\n <form onSubmit={handleSubmit((data) => queryMutation.mutateAsync(data))}>\n <div className=\"grid grid-cols-2 text-sm h-full\">\n <div className=\"flex flex-col gap-4 p-8 bg-muted/50 after:bg-muted-foreground/20 relative after:absolute after:w-px after:inset-0 after:left-auto\">\n <div className=\"flex gap-2 items-stretch\">\n <div className=\"flex flex-1 items-center w-full border rounded-md border-border\">\n <div className=\"border-r p-2 bg-muted rounded-l-md self-stretch font-semibold font-mono\">\n {method.toUpperCase()}\n </div>\n <div className=\"p-2 font-mono text-xs\">\n {path}\n {urlQueryParams.length > 0 ? \"?\" : \"\"}\n {urlQueryParams}\n </div>\n </div>\n <Button type=\"submit\" className=\"h-auto flex gap-1\">\n Send\n </Button>\n </div>\n <Tabs\n defaultValue={pathParams.length > 0 ? \"parameters\" : \"headers\"}\n >\n <div className=\"flex justify-between\">\n <TabsList>\n {pathParams.length > 0 && (\n <TabsTrigger value=\"parameters\">Parameters</TabsTrigger>\n )}\n <TabsTrigger value=\"headers\">\n Headers{\" \"}\n {formState.headers.length > 0 &&\n `(${formState.headers.length})`}\n </TabsTrigger>\n <TabsTrigger\n value=\"body\"\n disabled={\n ![\"POST\", \"PUT\", \"PATCH\", \"DELETE\"].includes(\n method.toUpperCase(),\n )\n }\n >\n Body\n </TabsTrigger>\n </TabsList>\n <div className=\"flex gap-2 items-center\">\n Auth:\n <Select\n onValueChange={(value) => setValue(\"identity\", value)}\n value={formState.identity}\n defaultValue={formState.identity}\n >\n <SelectTrigger className=\"w-[180px] flex\">\n {identities.isPending ? <Spinner /> : <SelectValue />}\n </SelectTrigger>\n <SelectContent align=\"center\">\n <SelectItem value={NO_IDENTITY}>None</SelectItem>\n {identities.data?.map((identity) => (\n <SelectItem key={identity.id} value={identity.id}>\n {identity.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n <TabsContent value=\"headers\">\n <Headers control={control} register={register} />\n </TabsContent>\n <TabsContent value=\"parameters\">\n {pathParams.length > 0 && (\n <div className=\"flex flex-col gap-4 my-4\">\n <span className=\"font-semibold\">Path Parameters</span>\n <PathParams control={control} />\n </div>\n )}\n {queryParams.length > 0 && (\n <div className=\"flex flex-col gap-4 my-4\">\n <span className=\"font-semibold\">Query Parameters</span>\n <QueryParams control={control} queryParams={queryParams} />\n </div>\n )}\n </TabsContent>\n <TabsContent value=\"body\">\n <textarea\n {...register(\"body\")}\n className=\"border w-full rounded p-2 bg-muted h-40\"\n />\n </TabsContent>\n </Tabs>\n </div>\n <div className=\"flex flex-col gap-4 p-8 bg-muted/70\">\n {queryMutation.error ? (\n <div>\n Error:{\" \"}\n {queryMutation.error.message ||\n String(queryMutation.error) ||\n \"Unexpected error\"}\n </div>\n ) : queryMutation.data ? (\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex gap-2\">\n <div className=\"flex text-xs gap-6\">\n <div>\n Status: {queryMutation.data.status}{\" \"}\n {statusCodeMap[queryMutation.data.status] ?? \"\"}\n </div>\n <div>Time: {queryMutation.data.time.toFixed(0)}ms</div>\n <div>Size: {queryMutation.data.size} B</div>\n </div>\n </div>\n {/*<UrlDisplay host={host} path={url} />*/}\n <Tabs defaultValue=\"response\">\n <TabsList>\n <TabsTrigger value=\"response\">Response</TabsTrigger>\n <TabsTrigger value=\"headers\">\n {headerEntries.length\n ? `Headers (${headerEntries.length})`\n : \"No headers\"}\n </TabsTrigger>\n </TabsList>\n\n <TabsContent value=\"response\">\n <ResponseTab\n headers={queryMutation.data.headers}\n body={queryMutation.data.body}\n />\n </TabsContent>\n <TabsContent value=\"headers\">\n <Card className=\"grid grid-cols-2 w-full gap-2.5 font-mono text-xs shadow-none p-4\">\n <div className=\"font-semibold\">Key</div>\n <div className=\"font-semibold\">Value</div>\n {headerEntries.map(([key, value]) => (\n <Fragment key={key}>\n <div>{key}</div>\n <div className=\"break-words\">{value}</div>\n </Fragment>\n ))}\n </Card>\n </TabsContent>\n </Tabs>\n </div>\n ) : (\n <div className=\"grid place-items-center h-full\">\n <span className=\"text-[16px] font-semibold text-muted-foreground\">\n {queryMutation.isPending ? (\n <Spinner />\n ) : (\n \"Send a request first to see the response here\"\n )}\n </span>\n </div>\n )}\n </div>\n </div>\n </form>\n </FormProvider>\n );\n};\n\nexport default Playground;\n","import { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { CirclePlayIcon } from \"lucide-react\";\nimport { type PropsWithChildren, useState } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n DialogTrigger,\n} from \"../../../components/Dialog.js\";\nimport { Playground, type PlaygroundContentProps } from \"./Playground.js\";\n\nexport type PlaygroundDialogProps = PropsWithChildren<PlaygroundContentProps>;\n\nconst PlaygroundDialog = (props: PlaygroundDialogProps) => {\n const [open, setOpen] = useState(false);\n return (\n <Dialog onOpenChange={(open) => setOpen(open)}>\n <DialogTrigger asChild>\n {props.children ?? (\n <CirclePlayIcon\n className=\"cursor-pointer text-primary hover:text-primary/80\"\n size={16}\n />\n )}\n </DialogTrigger>\n\n <DialogContent\n className=\"max-w-screen-xl w-full h-5/6 overflow-auto p-0\"\n aria-describedby={undefined}\n >\n <VisuallyHidden>\n <DialogTitle>Playground</DialogTitle>\n </VisuallyHidden>\n {open && <Playground {...props} />}\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { PlaygroundDialog };\n","import { matchPath, useRouteError, type RouteObject } from \"react-router-dom\";\nimport {\n type DevPortalPlugin,\n type PluginNavigationCategory,\n} from \"../../core/plugins.js\";\nimport { MethodBadge } from \"./MethodBadge.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport {\n Client as UrqlClient,\n cacheExchange,\n fetchExchange,\n} from \"./util/urql.js\";\n\nimport { CirclePlayIcon } from \"lucide-react\";\nimport { createClient } from \"zudoku/openapi-worker\";\nimport { ErrorPage } from \"../../components/ErrorPage.js\";\nimport { SyntaxHighlight } from \"../../components/SyntaxHighlight.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { OasPluginConfig } from \"./interfaces.js\";\nimport {\n PlaygroundDialog,\n type PlaygroundDialogProps,\n} from \"./playground/PlaygroundDialog.js\";\n\nconst GetCategoriesQuery = graphql(`\n query GetCategories($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n tags {\n __typename\n name\n operations {\n __typename\n slug\n deprecated\n method\n summary\n operationId\n path\n }\n }\n }\n }\n`);\n\nconst OpenApiErrorPage = () => {\n const error = useRouteError();\n const message =\n error instanceof Error ? (\n <SyntaxHighlight code={error.message} />\n ) : (\n \"An unknown error occurred\"\n );\n\n return (\n <ErrorPage category=\"Error\" title=\"An error occurred\" message={message} />\n );\n};\n\ntype InternalOasPluginConfig = { inMemory?: boolean };\n\nexport const openApiPlugin = (\n config: OasPluginConfig & InternalOasPluginConfig,\n): DevPortalPlugin => {\n const basePath = config.path ?? \"/reference\";\n\n const client = config.server\n ? new UrqlClient({\n url: config.server,\n exchanges: [cacheExchange, fetchExchange],\n })\n : createClient({ useMemoryClient: config.inMemory ?? false });\n\n return {\n getHead: () => {\n if (config.type === \"url\") {\n return (\n <link\n rel=\"preload\"\n href={config.input}\n as=\"fetch\"\n crossOrigin=\"anonymous\"\n />\n );\n }\n\n if (config.server) {\n return <link rel=\"preconnect\" href={config.server} />;\n }\n },\n getMdxComponents: () => ({\n OpenPlaygroundButton: (props: PlaygroundDialogProps) => (\n <div>\n <PlaygroundDialog {...props}>\n <Button className=\"gap-2 items-center\" variant=\"outline\">\n {props.children ?? (\n <>\n Open in Playground <CirclePlayIcon size={16} />\n </>\n )}\n </Button>\n </PlaygroundDialog>\n </div>\n ),\n }),\n getNavigation: async (path: string) => {\n if (!matchPath({ path: basePath, end: false }, path)) {\n return [];\n }\n\n const { data } = await client.query(GetCategoriesQuery, {\n input: config.input,\n type: config.type,\n });\n\n if (!data) return [];\n\n const categories = data.schema.tags\n .filter((tag) => tag.operations.length > 0)\n .map<PluginNavigationCategory>((tag) => ({\n path,\n label: tag.name ?? \"\",\n collapsible: false,\n children: tag.operations.map((operation) => ({\n path: `#${operation.slug}`,\n muted: !!operation.deprecated,\n title: operation.summary ?? operation.path,\n label: (\n <div className=\"flex flex-1 min-w-0 justify-between gap-2\">\n <span className=\"truncate\">\n {operation.summary ?? operation.path}\n </span>\n <MethodBadge method={operation.method} />\n </div>\n ),\n })),\n }));\n\n categories.unshift({\n path,\n label: \"Overview\",\n collapsible: false,\n children: [{ path: \"#description\", label: \"Description\" }],\n });\n\n return categories;\n },\n getRoutes: () =>\n [\n {\n async lazy() {\n const { OpenApiRoute } = await import(\"./Route.js\");\n return {\n element: <OpenApiRoute client={client} config={config} />,\n };\n },\n errorElement: <OpenApiErrorPage />,\n children: [\n {\n path: basePath,\n children: [\n {\n index: true,\n async lazy() {\n const { OperationList } = await import(\n \"./OperationList.js\"\n );\n return { element: <OperationList /> };\n },\n },\n ],\n },\n ],\n },\n ] satisfies RouteObject[],\n };\n};\n"],"names":["ChevronsUpDown","createLucideIcon","CirclePlay","Eraser","X","MethodTextColorMap","MethodColorMap","MethodBadge","method","jsx","cn","OperationsFragmentFragmentDoc","AllOperationsDocument","GetServerQueryDocument","GetCategoriesDocument","documents","types.OperationsFragmentFragmentDoc","types.AllOperationsDocument","types.GetServerQueryDocument","types.GetCategoriesDocument","graphql","source","ErrorPage","title","message","category","jsxs","ProseClasses","CategoryHeading","Heading","Link","DIALOG_NAME","createDialogContext","createDialogScope","createContextScope","DialogProvider","useDialogContext","Dialog","props","__scopeDialog","children","openProp","defaultOpen","onOpenChange","modal","triggerRef","React","contentRef","open","setOpen","useControllableState","useId","prevOpen","TRIGGER_NAME","DialogTrigger","forwardedRef","triggerProps","context","composedTriggerRef","useComposedRefs","Primitive","getState","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","DialogPortal","forceMount","container","child","Presence","PortalPrimitive","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","RemoveScroll","Slot","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","composedRefs","content","hideOthers","DialogContentImpl","event","_a","originalEvent","ctrlLeftClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","_b","target","trapFocus","onOpenAutoFocus","onCloseAutoFocus","useFocusGuards","Fragment","FocusScope","DismissableLayer","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","DESCRIPTION_NAME","DialogDescription","descriptionProps","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","createContext","titleId","titleWarningContext","MESSAGE","DESCRIPTION_WARNING_NAME","descriptionId","describedById","Root","Trigger","Portal","Overlay","Content","Title","Description","Close","DialogPrimitive.Root","DialogPrimitive.Trigger","DialogPrimitive.Portal","className","ref","DialogPrimitive.Overlay","DialogPrimitive.Content","DialogPrimitive.Close","XIcon","DialogPrimitive.Title","DialogPrimitive.Description","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","TABS_NAME","createTabsContext","createTabsScope","createRovingFocusGroupScope","useRovingFocusGroupScope","TabsProvider","useTabsContext","Tabs","__scopeTabs","valueProp","onValueChange","defaultValue","orientation","dir","activationMode","tabsProps","direction","useDirection","value","setValue","TAB_LIST_NAME","TabsList","loop","listProps","rovingFocusGroupScope","RovingFocusGroup.Root","TabsTrigger","disabled","triggerId","makeTriggerId","contentId","makeContentId","isSelected","RovingFocusGroup.Item","isAutomaticActivation","TabsContent","isMountAnimationPreventedRef","rAF","present","baseId","Root2","List","TabsPrimitive.Root","TabsPrimitive.List","TabsPrimitive.Trigger","TabsPrimitive.Content","fetchTimeout","input","init","timeout","controller","signal","fetchPromise","timeoutPromise","_","reject","timer","c2n","c","s2n","s","pastellize","options","hue","saturation","lightness","DATA_ATTR","usePastellizedColor","name","isDark","useTheme","ColorizedParam","backgroundOpacity","borderOpacity","slug","onClick","useRef","normalized","normalizedSlug","color","borderColor","backgroundColor","useEffect","onMouseEnter","el","onMouseLeave","createUrl","host","path","data","filledPath","key","part","url","param","createVariantComponent","tag","cvx","MyVariant","asChild","Comp","InlineInput","Headers","control","register","fields","append","remove","useFieldArray","selectedIdentity","useWatch","liveHeaders","disableAuth","NO_IDENTITY","header","i","isDisabledByAuth","TriangleAlertIcon","Button","PathParams","Controller","field","Input","EraserIcon","QueryParams","queryParams","form","useFormContext","requiredFields","hasSelectedIdentity","e","SimpleSelect","onChange","option","ChevronsUpDownIcon","mimeTypeToLanguage","mimeType","mime","detectLanguage","headers","contentType","tryParseJson","body","ResponseTab","detectedLanguage","jsonContent","beautifiedBody","view","setView","useState","SyntaxHighlight","statusCodeMap","Playground","server","pathParams","defaultBody","handleSubmit","watch","useForm","formState","identities","useApiIdentities","setOnce","firstIdentity","queryMutation","useMutation","requestUrl","start","request","h","response","time","arr","isPathParam","replaced","p","pathParamValue","headerEntries","urlQueryParams","FormProvider","Select","SelectTrigger","Spinner","SelectValue","SelectContent","SelectItem","_c","identity","PlaygroundDialog","CirclePlayIcon","VisuallyHidden","GetCategoriesQuery","OpenApiErrorPage","error","useRouteError","openApiPlugin","config","basePath","client","UrqlClient","cacheExchange","fetchExchange","createClient","matchPath","categories","operation","OpenApiRoute","OperationList"],"mappings":"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","x_google_ignoreList":[0,1,2,3,8,11]}