apiuikit 0.3.0 → 1.0.0
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.
- package/README.md +66 -7
- package/dist/LinkedInExtension-6xekO5bX.cjs +1 -0
- package/dist/LinkedInExtension-BL-4T9tt.js +21 -0
- package/dist/LogoExtension-BOYrY_RE.cjs +1 -0
- package/dist/LogoExtension-HOlSsQf-.js +27 -0
- package/dist/XExtension-GyRtdHLL.js +23 -0
- package/dist/XExtension-jAiATfg-.cjs +1 -0
- package/dist/apiuikit.cjs.js +1 -1
- package/dist/apiuikit.css +1 -1
- package/dist/apiuikit.es.js +24 -17
- package/dist/c-Bz1-FJiA.js +277 -0
- package/dist/c-C_Sx7N-F.cjs +1 -0
- package/dist/clojure-DWYEZwCD.cjs +1 -0
- package/dist/clojure-aY2138WD.js +135 -0
- package/dist/components/Authorization.d.ts +28 -17
- package/dist/components/ChannelAddress.d.ts +8 -2
- package/dist/components/CodeBlock.d.ts +4 -1
- package/dist/components/CodeSamples.d.ts +12 -0
- package/dist/components/CollapsiblePanel.d.ts +24 -0
- package/dist/components/CopyMarkdownButton.d.ts +15 -0
- package/dist/components/Examples.d.ts +4 -2
- package/dist/components/InfoMetadata.d.ts +21 -2
- package/dist/components/Markdown.d.ts +2 -0
- package/dist/components/MarkdownExportMenu.d.ts +13 -0
- package/dist/components/MethodBadge.d.ts +14 -0
- package/dist/components/Navigation/AsyncAPINavigation.d.ts +28 -0
- package/dist/components/Navigation/Navigation.d.ts +58 -0
- package/dist/components/Navigation/OpenAPINavigation.d.ts +22 -0
- package/dist/components/Navigation/SpecNavigation.d.ts +25 -0
- package/dist/components/Navigation/index.d.ts +4 -0
- package/dist/components/Navigation/sharedSections.d.ts +10 -0
- package/dist/components/RenderExtensions.d.ts +28 -0
- package/dist/components/Section.d.ts +3 -1
- package/dist/components/ServerAddressBanner.d.ts +16 -0
- package/dist/components/SidePanel.d.ts +2 -0
- package/dist/components/Tabs.d.ts +3 -1
- package/dist/components/schema/SchemaTab.d.ts +24 -3
- package/dist/components/tests/Authorization.test.d.ts +1 -0
- package/dist/components/tests/Bindings.test.d.ts +1 -0
- package/dist/components/tests/CodeBlock.test.d.ts +1 -0
- package/dist/components/tests/CodeSamples.test.d.ts +1 -0
- package/dist/components/tests/CopyMarkdownButton.test.d.ts +1 -0
- package/dist/components/tests/MarkdownExportMenu.test.d.ts +1 -0
- package/dist/components/tests/RenderExtensions.test.d.ts +1 -0
- package/dist/config/config.d.ts +10 -0
- package/dist/containers/AsyncAPI/AsyncAPI.d.ts +12 -6
- package/dist/containers/AsyncAPI/AsyncAPIRenderer.d.ts +9 -0
- package/dist/containers/Information/InformationSection.d.ts +22 -0
- package/dist/containers/Information/OpenAPIInformation.d.ts +9 -0
- package/dist/containers/OpenAPI/Layout.d.ts +7 -0
- package/dist/containers/OpenAPI/OpenAPI.d.ts +18 -0
- package/dist/containers/OpenAPI/OpenAPIDocumentProvider.d.ts +13 -0
- package/dist/containers/OpenAPI/OpenAPIRenderer.d.ts +17 -0
- package/dist/containers/OpenAPI/tests/OpenAPI.test.d.ts +1 -0
- package/dist/containers/OpenAPI/tests/OpenAPIRenderer.test.d.ts +1 -0
- package/dist/containers/Operation/Operations.d.ts +2 -1
- package/dist/containers/Path/OperationCallbacks.d.ts +37 -0
- package/dist/containers/Path/PathOperation.d.ts +21 -0
- package/dist/containers/Path/Paths.d.ts +16 -0
- package/dist/containers/Path/ResponseLinks.d.ts +21 -0
- package/dist/containers/Path/tests/PathOperation.test.d.ts +1 -0
- package/dist/containers/Server/OpenAPIServer.d.ts +4 -0
- package/dist/containers/Server/OpenAPIServers.d.ts +13 -0
- package/dist/contants.d.ts +7 -0
- package/dist/contexts/useSpec.d.ts +30 -6
- package/dist/crystal-BcGgviMR.cjs +1 -0
- package/dist/crystal-BtD5fR4q.js +283 -0
- package/dist/csharp-AnFv7wyC.js +382 -0
- package/dist/csharp-yuAGIuP4.cjs +1 -0
- package/dist/go-BpetKc7b.cjs +1 -0
- package/dist/go-CkZ9_bn0.js +151 -0
- package/dist/helpers/codeSamples.d.ts +92 -0
- package/dist/helpers/exampleSchema.d.ts +19 -0
- package/dist/helpers/hljsLanguages.d.ts +6 -0
- package/dist/helpers/openapiParser.d.ts +10 -0
- package/dist/helpers/openapiSearchIndex.d.ts +3 -0
- package/dist/helpers/resolveDocument.d.ts +8 -0
- package/dist/helpers/runtimeExpression.d.ts +15 -0
- package/dist/helpers/schemaExample.d.ts +9 -0
- package/dist/helpers/searchIndex.d.ts +5 -2
- package/dist/helpers/tests/codeSamples.test.d.ts +1 -0
- package/dist/helpers/tests/exampleSchema.test.d.ts +1 -0
- package/dist/helpers/tests/openapiSearchIndex.test.d.ts +1 -0
- package/dist/helpers/tests/toMarkdown.test.d.ts +1 -0
- package/dist/helpers/toMarkdown.d.ts +20 -0
- package/dist/hooks/useDocumentProviderValue.d.ts +27 -0
- package/dist/hooks/useFuseSearch.d.ts +14 -0
- package/dist/hooks/useOpenAPISearch.d.ts +9 -0
- package/dist/hooks/useSearchResultFocus.d.ts +18 -0
- package/dist/hooks/useSpecLayoutController.d.ts +51 -0
- package/dist/hooks/useSpecSearch.d.ts +2 -6
- package/dist/http--XH4hLDt.cjs +1 -0
- package/dist/http-DKeNlJKS.js +85 -0
- package/dist/icons/Copy.d.ts +6 -0
- package/dist/icons/Info.d.ts +5 -0
- package/dist/icons/Search.d.ts +3 -0
- package/dist/{index-D7GelPk0.cjs → index-ArzwV232.cjs} +6 -6
- package/dist/index-Bh4OKjMA.js +25412 -0
- package/dist/index-C278WDNb.cjs +139 -0
- package/dist/index-C4I0xC5G.js +17544 -0
- package/dist/index-DuW5iShy.cjs +177 -0
- package/dist/index-PtAFPDfk.js +18851 -0
- package/dist/index.d.ts +7 -0
- package/dist/java-BIk0G-rH.cjs +1 -0
- package/dist/java-BicX26Pg.js +240 -0
- package/dist/kotlin-BwB8b-YX.js +242 -0
- package/dist/kotlin-kGuORR5a.cjs +2 -0
- package/dist/objectivec-CnyrJ13Z.js +237 -0
- package/dist/objectivec-CoeV81Tz.cjs +1 -0
- package/dist/ocaml-0j7KDjso.cjs +1 -0
- package/dist/ocaml-T8IqWCjo.js +67 -0
- package/dist/php-BL35ZHWM.js +566 -0
- package/dist/php-DF4zG2hq.cjs +2 -0
- package/dist/powershell-CvydS3ek.cjs +1 -0
- package/dist/powershell-DuhUKWoO.js +236 -0
- package/dist/protoToJsonSchema-AciPTlBK.cjs +83 -0
- package/dist/protoToJsonSchema-D1lojrO3.js +6131 -0
- package/dist/{protobufSchemaParser-D_2rEsD4.cjs → protobufSchemaParser-7SgmMhQd.cjs} +1 -1
- package/dist/{protobufSchemaParser-Cj2WOp05.js → protobufSchemaParser-BohWo_pY.js} +2 -2
- package/dist/public/createSectionRoot.d.ts +30 -0
- package/dist/public/openapiSections.d.ts +26 -0
- package/dist/public/sections.d.ts +6 -3
- package/dist/r-B8fCBydS.js +207 -0
- package/dist/r-CYaZnHkA.cjs +1 -0
- package/dist/ruby-CvOid-1s.js +388 -0
- package/dist/ruby-nPcbuC2a.cjs +1 -0
- package/dist/rust-BocnJ3Ns.js +305 -0
- package/dist/rust-DKnYCg2f.cjs +1 -0
- package/dist/stories/AsyncAPI.stories.d.ts +6 -0
- package/dist/stories/AsyncAPIRenderer.stories.d.ts +6 -0
- package/dist/stories/Messages.stories.d.ts +1 -0
- package/dist/stories/Operations.stories.d.ts +6 -0
- package/dist/stories/SchemaTab.stories.d.ts +1 -0
- package/dist/stories/SchemaTree.stories.d.ts +1 -0
- package/dist/stories/Server.stories.d.ts +1 -0
- package/dist/stories/documentContextDecorator.d.ts +2 -2
- package/dist/stories/noCanvasDocsPage.d.ts +9 -0
- package/dist/swift-C35Eof-I.js +799 -0
- package/dist/swift-CAnH__EC.cjs +1 -0
- package/dist/types/openapi.d.ts +85 -0
- package/package.json +16 -3
- package/dist/components/Navigation.d.ts +0 -28
- package/dist/icons/SideBar.d.ts +0 -6
- package/dist/index-Bad1aEIj.js +0 -11352
- package/dist/index-CzcxQGxP.js +0 -25414
- package/dist/index-gn5KpvCL.cjs +0 -73
- package/dist/protoToJsonSchema-8Mm10CIx.cjs +0 -83
- package/dist/protoToJsonSchema-BJpwl2Am.js +0 -6174
- package/dist/vite.svg +0 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Operation } from '../../types/asyncapi/Operation';
|
|
2
|
+
import { MessageObject } from '../../types/asyncapi/MessageObject';
|
|
3
|
+
import { SideBarConfig } from '../../config/config';
|
|
4
|
+
export type NavTab = "operations" | "messages" | "schemas";
|
|
5
|
+
export type NavSectionId = NavTab | "servers" | "info";
|
|
6
|
+
interface AsyncAPINavigationProps {
|
|
7
|
+
operations?: Record<string, Operation>;
|
|
8
|
+
messages?: Record<string, MessageObject>;
|
|
9
|
+
schemas?: Record<string, unknown>;
|
|
10
|
+
servers?: Record<string, unknown>;
|
|
11
|
+
/** Whether the Info panel is currently shown: controls only whether its tick appears here, mirroring the Layout's own `show.info` gate. */
|
|
12
|
+
hasInfo?: boolean;
|
|
13
|
+
/** Which section is currently the user's focus, for header highlighting:
|
|
14
|
+
* a single authoritative value covering all five sections (including
|
|
15
|
+
* Info and Servers) so at most one header is ever highlighted at once.
|
|
16
|
+
* Distinct from `onTabChange`, which only fires for the three switchable tabs. */
|
|
17
|
+
activeTab: NavSectionId | null;
|
|
18
|
+
onTabChange: (tab: NavTab) => void;
|
|
19
|
+
onItemSelect?: (tab: NavTab, key: string) => void;
|
|
20
|
+
onSelectServer?: (key: string) => void;
|
|
21
|
+
selectedItem?: {
|
|
22
|
+
tab: NavSectionId;
|
|
23
|
+
key: string;
|
|
24
|
+
} | null;
|
|
25
|
+
sidebarConfig?: SideBarConfig;
|
|
26
|
+
}
|
|
27
|
+
export default function AsyncAPINavigation({ operations, messages, schemas, servers, hasInfo, activeTab, onTabChange, onItemSelect, onSelectServer, selectedItem, sidebarConfig, }: AsyncAPINavigationProps): import("react").JSX.Element;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ComponentType, ReactNode } from 'react';
|
|
2
|
+
export interface NavItemState {
|
|
3
|
+
isSelected: boolean;
|
|
4
|
+
isSectionActive: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface NavSectionDescriptor<T> {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
icon: ComponentType<{
|
|
10
|
+
className?: string;
|
|
11
|
+
}>;
|
|
12
|
+
items: T[];
|
|
13
|
+
itemKey: (item: T) => string;
|
|
14
|
+
/** DOM id to scroll into view when this item is chosen, e.g. `operation-${key}`. */
|
|
15
|
+
targetId: (item: T) => string;
|
|
16
|
+
/** False for sections with no switchable tab of their own (e.g. Servers, which is always on screen) — only their items support scroll-to-select. Defaults to true. */
|
|
17
|
+
isTab?: boolean;
|
|
18
|
+
/** False to keep a section out of the expanded popover list while still tracking it for the spine's ticks and scroll-spy (e.g. Info: worth a tick, not worth a whole popover entry). Defaults to true. */
|
|
19
|
+
showInPopover?: boolean;
|
|
20
|
+
/** Content rendered for the item — just the badge/label, no button/list chrome, which this component owns so styling stays consistent across specs. */
|
|
21
|
+
renderItem: (item: T, state: NavItemState) => ReactNode;
|
|
22
|
+
}
|
|
23
|
+
/** A section whose item type has been erased, so sections with different item shapes (a server URL, a `FlatEndpoint`, a plain schema name, ...) can sit in one array. Build one from a concrete `NavSectionDescriptor<T>` via `defineNavSection`. */
|
|
24
|
+
export type ErasedNavSection = NavSectionDescriptor<unknown>;
|
|
25
|
+
/**
|
|
26
|
+
* The single cast that erases a section's item type. Safe because
|
|
27
|
+
* `Navigation` only ever feeds a section's own `items` back into that
|
|
28
|
+
* same section's `itemKey`/`targetId`/`renderItem` — it never mixes items
|
|
29
|
+
* across sections — so the erased `unknown` is always the original `T` by
|
|
30
|
+
* construction, even though the type system can't see that through the array.
|
|
31
|
+
*/
|
|
32
|
+
export declare function defineNavSection<T>(section: NavSectionDescriptor<T>): ErasedNavSection;
|
|
33
|
+
interface NavigationProps {
|
|
34
|
+
sections: ErasedNavSection[];
|
|
35
|
+
activeSection: string | null;
|
|
36
|
+
onTabChange: (sectionId: string) => void;
|
|
37
|
+
onItemSelect: (sectionId: string, key: string) => void;
|
|
38
|
+
selectedItem?: {
|
|
39
|
+
section: string;
|
|
40
|
+
key: string;
|
|
41
|
+
} | null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The sidebar navigation shared by AsyncAPI and OpenAPI, styled after Medium's
|
|
45
|
+
* table-of-contents. On wide layouts a bare tick "spine" (a parent tick per
|
|
46
|
+
* section plus a child tick per item, scroll-spy highlighted) sits fixed in
|
|
47
|
+
* the left gutter at the viewport's vertical center; hovering or clicking it
|
|
48
|
+
* opens a floating popover of sections (icon + label + count) with their
|
|
49
|
+
* items indented beneath. On narrow layouts (no gutter) the trigger is a
|
|
50
|
+
* floating bottom-right button that opens the same popover on click.
|
|
51
|
+
* Each spec supplies its own data as section descriptors (see
|
|
52
|
+
* `NavSectionDescriptor`) via a thin adapter — `AsyncAPINavigation` /
|
|
53
|
+
* `OpenAPINavigation`, both in this same directory — so spec-specific
|
|
54
|
+
* concerns (channel addresses, action badges, method badges, ...) stay in the
|
|
55
|
+
* adapter while the mechanics below are written once.
|
|
56
|
+
*/
|
|
57
|
+
export default function Navigation({ sections, activeSection, onTabChange, onItemSelect, selectedItem, }: NavigationProps): import("react").JSX.Element;
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { OpenAPIPathItemData } from '../../types/openapi';
|
|
2
|
+
export type OpenAPINavTab = "endpoints" | "webhooks" | "schemas";
|
|
3
|
+
export type OpenAPINavSectionId = OpenAPINavTab | "servers" | "info";
|
|
4
|
+
interface OpenAPINavigationProps {
|
|
5
|
+
paths?: Record<string, OpenAPIPathItemData | undefined>;
|
|
6
|
+
/** OpenAPI 3.1 `webhooks`, same Path Item shape as `paths`. */
|
|
7
|
+
webhooks?: Record<string, OpenAPIPathItemData | undefined>;
|
|
8
|
+
schemas?: Record<string, unknown>;
|
|
9
|
+
servers?: string[];
|
|
10
|
+
/** Whether the Info panel is currently shown: controls only whether its tick appears here, mirroring the Layout's own `show.info` gate. */
|
|
11
|
+
hasInfo?: boolean;
|
|
12
|
+
activeTab: OpenAPINavSectionId | null;
|
|
13
|
+
onTabChange: (tab: OpenAPINavTab) => void;
|
|
14
|
+
onItemSelect?: (tab: OpenAPINavTab, key: string) => void;
|
|
15
|
+
onSelectServer?: (key: string) => void;
|
|
16
|
+
selectedItem?: {
|
|
17
|
+
tab: OpenAPINavSectionId;
|
|
18
|
+
key: string;
|
|
19
|
+
} | null;
|
|
20
|
+
}
|
|
21
|
+
export default function OpenAPINavigation({ paths, webhooks, schemas, servers, hasInfo, activeTab, onTabChange, onItemSelect, onSelectServer, selectedItem, }: OpenAPINavigationProps): import("react").JSX.Element;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ErasedNavSection } from './Navigation';
|
|
2
|
+
export interface SpecNavigationProps<TabKey extends string> {
|
|
3
|
+
/**
|
|
4
|
+
* Section descriptors in page order. Memoize them in the calling adapter so
|
|
5
|
+
* Navigation's scroll-spy observer (keyed on `sections` identity) survives
|
|
6
|
+
* unrelated re-renders.
|
|
7
|
+
*/
|
|
8
|
+
sections: ErasedNavSection[];
|
|
9
|
+
activeTab: TabKey | "servers" | "info" | null;
|
|
10
|
+
onTabChange: (tab: TabKey) => void;
|
|
11
|
+
onItemSelect?: (tab: TabKey, key: string) => void;
|
|
12
|
+
onSelectServer?: (key: string) => void;
|
|
13
|
+
selectedItem?: {
|
|
14
|
+
tab: TabKey | "servers" | "info";
|
|
15
|
+
key: string;
|
|
16
|
+
} | null;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Shared wiring between a spec's section descriptors and the Navigation
|
|
20
|
+
* mechanics, previously duplicated verbatim by the AsyncAPI and OpenAPI
|
|
21
|
+
* adapters: routes "servers" item clicks to their own handler, keeps Info
|
|
22
|
+
* clicks from being treated as a tab switch, and narrows Navigation's
|
|
23
|
+
* stringly-typed callbacks back to the spec's tab union.
|
|
24
|
+
*/
|
|
25
|
+
export default function SpecNavigation<TabKey extends string>({ sections, activeTab, onTabChange, onItemSelect, onSelectServer, selectedItem, }: SpecNavigationProps<TabKey>): import("react").JSX.Element;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { default as AsyncAPINavigation } from './AsyncAPINavigation';
|
|
2
|
+
export type { NavTab, NavSectionId } from './AsyncAPINavigation';
|
|
3
|
+
export { default as OpenAPINavigation } from './OpenAPINavigation';
|
|
4
|
+
export type { OpenAPINavTab, OpenAPINavSectionId } from './OpenAPINavigation';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ErasedNavSection } from './Navigation';
|
|
2
|
+
/**
|
|
3
|
+
* Section descriptors that are identical for every spec, shared by the
|
|
4
|
+
* AsyncAPI and OpenAPI navigation adapters. Call these inside the adapter's
|
|
5
|
+
* `sections` memo, they build a fresh descriptor per call.
|
|
6
|
+
*/
|
|
7
|
+
/** One tick that jumps to the top of the Info panel. */
|
|
8
|
+
export declare function infoNavSection(hasInfo: boolean): ErasedNavSection;
|
|
9
|
+
/** A plain name list targeting the `schema-${name}` anchors both specs render. */
|
|
10
|
+
export declare function schemasNavSection(schemas: Record<string, unknown>): ErasedNavSection;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View of an object's x-* spec-extension fields. Values are `unknown` because
|
|
3
|
+
* extension payloads are arbitrary JSON, validated at runtime by the extension
|
|
4
|
+
* component that renders them. Spec object types declare no x-* keys (and no
|
|
5
|
+
* index signature), so they can't assign to this directly; extension readers
|
|
6
|
+
* accept `object` and narrow through `getExtension` / the key scan instead of
|
|
7
|
+
* making every caller cast.
|
|
8
|
+
*/
|
|
9
|
+
export type ExtensionSource = {
|
|
10
|
+
[key: `x-${string}`]: unknown;
|
|
11
|
+
};
|
|
12
|
+
/** Reads one x-* field off any spec object, e.g. `getExtension(info, "x-logo")`. */
|
|
13
|
+
export declare const getExtension: (source: object | undefined, key: `x-${string}`) => unknown;
|
|
14
|
+
interface RenderExtensionsProps {
|
|
15
|
+
/** The object to scan for x-* fields, e.g. the `info` object. */
|
|
16
|
+
source: object | undefined;
|
|
17
|
+
/** Prefix for each matched extension's `path` prop, e.g. "info". */
|
|
18
|
+
pathPrefix: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Scans `source`'s own keys for x-* spec-extension fields the `x-tensions`
|
|
22
|
+
* catalog knows how to render, and lazily loads + renders each match (via
|
|
23
|
+
* `React.lazy`, so an extension's code is only fetched when its key actually
|
|
24
|
+
* appears in a document). Unmatched x-* keys, and the library's own internal
|
|
25
|
+
* bookkeeping markers (`x-parser-*`, `x-lib-*`), render nothing.
|
|
26
|
+
*/
|
|
27
|
+
export declare function RenderExtensions({ source, pathPrefix }: RenderExtensionsProps): import("react").JSX.Element | null;
|
|
28
|
+
export default RenderExtensions;
|
|
@@ -6,6 +6,8 @@ interface SectionProps {
|
|
|
6
6
|
stickySideContent: boolean;
|
|
7
7
|
info?: boolean;
|
|
8
8
|
reverseLayoutOnMobile?: boolean;
|
|
9
|
+
/** Rendered directly above the title, visible on small screens only (e.g. a logo that otherwise lives at the top of the desktop sidebar). */
|
|
10
|
+
mobileLeadContent?: ReactNode;
|
|
9
11
|
}
|
|
10
|
-
export default function Section({ title, content, sideContent, stickySideContent, info, reverseLayoutOnMobile, }: SectionProps): import("react").JSX.Element;
|
|
12
|
+
export default function Section({ title, content, sideContent, stickySideContent, info, reverseLayoutOnMobile, mobileLeadContent, }: SectionProps): import("react").JSX.Element;
|
|
11
13
|
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface ServerAddressVariable {
|
|
3
|
+
description?: string;
|
|
4
|
+
enum?: string[];
|
|
5
|
+
default?: string;
|
|
6
|
+
examples?: string[];
|
|
7
|
+
}
|
|
8
|
+
interface ServerAddressBannerProps {
|
|
9
|
+
/** The server's host/url. The banner still renders without one, matching the previous per-spec behavior. */
|
|
10
|
+
address?: string;
|
|
11
|
+
variables?: Record<string, ServerAddressVariable>;
|
|
12
|
+
/** Extra rows rendered inside the banner below the address box (e.g. AsyncAPI's tag list). */
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export default function ServerAddressBanner({ address, variables, children }: ServerAddressBannerProps): import("react").JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -4,6 +4,8 @@ export interface ISidePanelProps {
|
|
|
4
4
|
side: SidePanelSide;
|
|
5
5
|
onClose: () => void;
|
|
6
6
|
title?: string | React.ReactNode;
|
|
7
|
+
/** Rendered in the header row between the title and the close button (e.g. a copy button). */
|
|
8
|
+
headerActions?: React.ReactNode;
|
|
7
9
|
children?: React.ReactNode;
|
|
8
10
|
width?: string;
|
|
9
11
|
}
|
|
@@ -12,6 +12,8 @@ interface TabsProps {
|
|
|
12
12
|
onChange?: (id: string) => void;
|
|
13
13
|
ariaLabel?: string;
|
|
14
14
|
selectLabel?: string;
|
|
15
|
+
/** When set, the mobile `<select>` includes an empty option for no selection. */
|
|
16
|
+
placeholder?: string;
|
|
15
17
|
}
|
|
16
|
-
export default function Tabs({ tabs, current, onChange, ariaLabel, selectLabel, }: TabsProps): import("react").JSX.Element | null;
|
|
18
|
+
export default function Tabs({ tabs, current, onChange, ariaLabel, selectLabel, placeholder, }: TabsProps): import("react").JSX.Element | null;
|
|
17
19
|
export {};
|
|
@@ -1,11 +1,32 @@
|
|
|
1
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
declare function SchemaTabs({ schema, label, rootName, description, schemaFormat, originalSchema, conversionError, pendingConversion, example, defaultView, }: {
|
|
3
|
+
/** JSON Schema to render in the Schema/Example tabs. */
|
|
2
4
|
schema: unknown;
|
|
3
|
-
|
|
5
|
+
/** Heading shown above the tab toggle, e.g. "Payload" or "Headers" — can embed interactive content, e.g. a media type selector. */
|
|
6
|
+
label: ReactNode;
|
|
7
|
+
/**
|
|
8
|
+
* Path prefix for schema tree rows. Defaults to `label`. Use when the heading
|
|
9
|
+
* should include extra context (e.g. media type) that must not appear in paths.
|
|
10
|
+
*/
|
|
11
|
+
rootName?: string;
|
|
4
12
|
description?: string;
|
|
13
|
+
/** Declared multi-format wrapper (e.g. Avro, Protobuf) this schema was converted from, if any. */
|
|
5
14
|
schemaFormat?: string;
|
|
15
|
+
/** The pre-conversion schema, shown in the JSON tab instead of the converted `schema`. */
|
|
6
16
|
originalSchema?: unknown;
|
|
17
|
+
/** When set, conversion from `schemaFormat` failed: shown as a warning and hides the Example tab. */
|
|
7
18
|
conversionError?: string;
|
|
8
|
-
/** True while a Protobuf converter is still loading
|
|
19
|
+
/** True while a Protobuf converter is still loading, see lazyProtoToJsonSchema.ts. */
|
|
9
20
|
pendingConversion?: boolean;
|
|
21
|
+
/** A real example value declared in the spec (OpenAPI media type `example`/`examples`, or an AsyncAPI message example) — shown as-is on the Example tab instead of auto-generating one. */
|
|
22
|
+
example?: unknown;
|
|
23
|
+
/**
|
|
24
|
+
* Which view opens first. Defaults to "example", the right call for a body
|
|
25
|
+
* or payload, where a sample value is the most useful thing to see. Pass
|
|
26
|
+
* "schema" for groups whose values are generated at runtime and so can only
|
|
27
|
+
* ever be faked here (request parameters, response headers), where the
|
|
28
|
+
* documented name/type/description is what the reader actually wants.
|
|
29
|
+
*/
|
|
30
|
+
defaultView?: "schema" | "example";
|
|
10
31
|
}): import("react").JSX.Element;
|
|
11
32
|
export default SchemaTabs;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/config/config.d.ts
CHANGED
|
@@ -17,6 +17,16 @@ export interface ShowConfig {
|
|
|
17
17
|
messageExamples?: boolean;
|
|
18
18
|
schemas?: boolean;
|
|
19
19
|
errors?: boolean;
|
|
20
|
+
/** OpenAPI only: the Endpoints tab (paths/operations). */
|
|
21
|
+
endpoints?: boolean;
|
|
22
|
+
/** OpenAPI 3.1 only: the Webhooks tab. The tab appears only when the document declares `webhooks`. */
|
|
23
|
+
webhooks?: boolean;
|
|
24
|
+
/** Whether to render known x-* spec extensions (see the `x-tensions` catalog). Defaults to true. */
|
|
25
|
+
extensions?: boolean;
|
|
26
|
+
/** OpenAPI only: per-operation cURL/JavaScript/Python request examples. Defaults to true. */
|
|
27
|
+
codeSamples?: boolean;
|
|
28
|
+
/** The "Copy for LLM" / "View as Markdown" floating button. Defaults to true. */
|
|
29
|
+
copyMarkdown?: boolean;
|
|
20
30
|
}
|
|
21
31
|
export interface ExpandConfig {
|
|
22
32
|
messageExamples?: boolean;
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { ConfigInterface } from '../../config';
|
|
2
2
|
import { AsyncAPIDocumentData } from '../../types/schema';
|
|
3
|
-
export
|
|
3
|
+
export interface IAsyncAPIProps {
|
|
4
|
+
/** A pre-resolved AsyncAPI 3.0 document object, or one that still contains `$ref`s. */
|
|
4
5
|
asyncapi: AsyncAPIDocumentData;
|
|
6
|
+
/** UI configuration: theme, which sections to show, sidebar options, and more. */
|
|
5
7
|
config?: ConfigInterface;
|
|
6
|
-
|
|
7
|
-
kind
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
/** Promise that `asyncapi` is already fully dereferenced upstream. Verified rather than trusted: `$ref`s left in place are still resolved either way, with a console warning that the promise was false. */
|
|
9
|
+
kind?: "resolved";
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Renders a full AsyncAPI documentation page: sidebar navigation, search,
|
|
13
|
+
* servers, operations, messages, and schemas. Pass a pre-resolved (or
|
|
14
|
+
* `$ref`-carrying) document object; for raw YAML/JSON strings, use
|
|
15
|
+
* `AsyncAPIRenderer` instead, which parses first.
|
|
16
|
+
*/
|
|
11
17
|
declare const AsyncAPI: (props: IAsyncAPIProps) => import("react").JSX.Element;
|
|
12
18
|
export default AsyncAPI;
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { ConfigInterface } from '../../config/config';
|
|
2
2
|
interface AsyncAPIRendererProps {
|
|
3
|
+
/** Raw AsyncAPI document as a YAML or JSON string, parsed and validated internally via `@asyncapi/parser`. */
|
|
3
4
|
raw: string;
|
|
5
|
+
/** UI configuration: theme, which sections to show, sidebar options, and more. */
|
|
4
6
|
config?: ConfigInterface;
|
|
7
|
+
/** Called with the parser's diagnostics (errors/warnings) after each parse attempt. */
|
|
5
8
|
onDiagnostics?: (diagnostics: unknown[]) => void;
|
|
6
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Parses a raw AsyncAPI YAML/JSON string (via `@asyncapi/parser`) and renders
|
|
12
|
+
* the same full documentation page as `AsyncAPI`. Use this when you have a
|
|
13
|
+
* document as text rather than a pre-parsed object, e.g. user-entered or
|
|
14
|
+
* loaded from a file at runtime.
|
|
15
|
+
*/
|
|
7
16
|
export declare function AsyncAPIRenderer({ raw, config, onDiagnostics }: AsyncAPIRendererProps): import("react").JSX.Element | null;
|
|
8
17
|
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
interface InformationSectionProps {
|
|
2
|
+
title?: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
license?: {
|
|
5
|
+
name?: string;
|
|
6
|
+
url?: string;
|
|
7
|
+
};
|
|
8
|
+
contact?: {
|
|
9
|
+
name?: string;
|
|
10
|
+
url?: string;
|
|
11
|
+
email?: string;
|
|
12
|
+
};
|
|
13
|
+
externalDocs?: {
|
|
14
|
+
description?: string;
|
|
15
|
+
url?: string;
|
|
16
|
+
};
|
|
17
|
+
tags?: unknown[];
|
|
18
|
+
/** The raw `info` object, scanned for x-* extensions (`x-logo` plus the x-tensions catalog). */
|
|
19
|
+
extensionsSource?: object;
|
|
20
|
+
}
|
|
21
|
+
export default function InformationSection({ title, description, license, contact, externalDocs, tags, extensionsSource, }: InformationSectionProps): import("react").JSX.Element;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { OpenAPIExternalDocsData, OpenAPIInfoData, OpenAPITagData } from '../../types/openapi';
|
|
2
|
+
interface OpenAPIInformationProps {
|
|
3
|
+
info: OpenAPIInfoData;
|
|
4
|
+
/** OpenAPI keeps tags/externalDocs at the document root, not on `info` (unlike AsyncAPI), so they are passed in separately. */
|
|
5
|
+
tags?: OpenAPITagData[];
|
|
6
|
+
externalDocs?: OpenAPIExternalDocsData;
|
|
7
|
+
}
|
|
8
|
+
export default function OpenAPIInformation({ info, tags, externalDocs }: OpenAPIInformationProps): import("react").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ConfigInterface } from '../../config';
|
|
2
|
+
import { OpenAPIDocumentData } from '../../types/openapi';
|
|
3
|
+
export interface OpenAPILayoutProps {
|
|
4
|
+
openapi: OpenAPIDocumentData;
|
|
5
|
+
config: ConfigInterface;
|
|
6
|
+
}
|
|
7
|
+
export default function Layout({ openapi, config }: OpenAPILayoutProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ConfigInterface } from '../../config';
|
|
2
|
+
import { OpenAPIDocumentData } from '../../types/openapi';
|
|
3
|
+
export interface IOpenAPIProps {
|
|
4
|
+
/** A pre-resolved OpenAPI 3.0/3.1 document object, or one that still contains `$ref`s. */
|
|
5
|
+
openapi: OpenAPIDocumentData;
|
|
6
|
+
/** UI configuration: theme, which sections to show, sidebar options, and more. */
|
|
7
|
+
config?: ConfigInterface;
|
|
8
|
+
/** Promise that `openapi` is already fully dereferenced upstream. Verified rather than trusted: `$ref`s left in place are still resolved either way, with a console warning that the promise was false. */
|
|
9
|
+
kind?: "resolved";
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Renders a full OpenAPI documentation page: sidebar navigation, search,
|
|
13
|
+
* servers, endpoints, and schemas. Pass a pre-resolved (or `$ref`-carrying)
|
|
14
|
+
* document object; for raw YAML/JSON strings, use `OpenAPIRenderer` instead,
|
|
15
|
+
* which parses first.
|
|
16
|
+
*/
|
|
17
|
+
declare const OpenAPI: (props: IOpenAPIProps) => import("react").JSX.Element;
|
|
18
|
+
export default OpenAPI;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ConfigInterface } from '../../config';
|
|
3
|
+
import { OpenAPIDocumentData } from '../../types/openapi';
|
|
4
|
+
export interface OpenAPIDocumentProviderProps {
|
|
5
|
+
document: OpenAPIDocumentData;
|
|
6
|
+
config?: ConfigInterface;
|
|
7
|
+
/** Extra classes merged onto the root surface (e.g. Layout's sidebar `pt-14`). */
|
|
8
|
+
className?: string;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
/** Mirrors AsyncAPIDocumentProvider, sharing the same DocumentContext shape. */
|
|
12
|
+
export declare function OpenAPIDocumentProvider({ document: openapi, config, className, children, }: OpenAPIDocumentProviderProps): import("react").JSX.Element;
|
|
13
|
+
export default OpenAPIDocumentProvider;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ConfigInterface } from '../../config/config';
|
|
2
|
+
interface OpenAPIRendererProps {
|
|
3
|
+
/** Raw OpenAPI document as a YAML or JSON string, parsed and validated internally via `@readme/openapi-parser`. */
|
|
4
|
+
raw: string;
|
|
5
|
+
/** UI configuration: theme, which sections to show, sidebar options, and more. */
|
|
6
|
+
config?: ConfigInterface;
|
|
7
|
+
/** Called with the parser's diagnostics (errors/warnings) after each parse attempt. */
|
|
8
|
+
onDiagnostics?: (diagnostics: unknown[]) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Parses a raw OpenAPI YAML/JSON string (via `@readme/openapi-parser`) and
|
|
12
|
+
* renders the same full documentation page as `OpenAPI`. Use this when you
|
|
13
|
+
* have a document as text rather than a pre-parsed object, e.g. user-entered
|
|
14
|
+
* or loaded from a file at runtime.
|
|
15
|
+
*/
|
|
16
|
+
export declare function OpenAPIRenderer({ raw, config, onDiagnostics }: OpenAPIRendererProps): import("react").JSX.Element | null;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -5,6 +5,7 @@ interface OperationsProps {
|
|
|
5
5
|
onSelectKey?: (key: string | null) => void;
|
|
6
6
|
/** Which collapsed section of the selected operation search navigated to. */
|
|
7
7
|
focusSection?: string | null;
|
|
8
|
+
showCopyMarkdown?: boolean;
|
|
8
9
|
}
|
|
9
|
-
export default function Operations({ operations, selectedKey, onSelectKey, focusSection }: OperationsProps): import("react").JSX.Element | null;
|
|
10
|
+
export default function Operations({ operations, selectedKey, onSelectKey, focusSection, showCopyMarkdown }: OperationsProps): import("react").JSX.Element | null;
|
|
10
11
|
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ComponentType } from 'react';
|
|
2
|
+
import { HttpMethod, OpenAPICallbackData } from '../../types/openapi';
|
|
3
|
+
/**
|
|
4
|
+
* An operation's `callbacks`: requests the API sends back out to the caller
|
|
5
|
+
* after this operation runs. Each callback's leaf is an ordinary Operation
|
|
6
|
+
* Object, so it renders through PathOperation itself rather than a lesser
|
|
7
|
+
* parallel rendering that would drift from it.
|
|
8
|
+
*
|
|
9
|
+
* The direction is inverted from everything else in the panel, though. Here
|
|
10
|
+
* the API is the sender and the reader is the server, so the set is framed
|
|
11
|
+
* with who calls what before the reused operation view (whose own wording
|
|
12
|
+
* assumes the reader is the caller) appears.
|
|
13
|
+
*
|
|
14
|
+
* The spec nests these two deep (callback name, then URL expression, then
|
|
15
|
+
* method), but that hierarchy isn't worth making a reader navigate: it's
|
|
16
|
+
* flattened to one card per operation, each titled with all three parts, so
|
|
17
|
+
* every request body has its own labelled home.
|
|
18
|
+
*/
|
|
19
|
+
/** Injected to avoid an import cycle: PathOperation renders this file, and this file renders PathOperation back. */
|
|
20
|
+
type OperationRenderer = ComponentType<{
|
|
21
|
+
method: HttpMethod;
|
|
22
|
+
path: string;
|
|
23
|
+
op: OpenAPICallbackData[string][HttpMethod] & object;
|
|
24
|
+
id: string | null;
|
|
25
|
+
idPrefix?: string;
|
|
26
|
+
depth?: number;
|
|
27
|
+
}>;
|
|
28
|
+
interface OperationCallbacksProps {
|
|
29
|
+
callbacks: Record<string, OpenAPICallbackData>;
|
|
30
|
+
/** Parent operation's anchor id, used to keep nested anchors unique. */
|
|
31
|
+
id: string | null;
|
|
32
|
+
renderOperation: OperationRenderer;
|
|
33
|
+
/** Nesting level of the parent operation, so a callback's own callbacks don't recurse without end. */
|
|
34
|
+
depth: number;
|
|
35
|
+
}
|
|
36
|
+
export default function OperationCallbacks({ callbacks, id, renderOperation: RenderOperation, depth, }: OperationCallbacksProps): import("react").JSX.Element | null;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { HttpMethod, OpenAPIOperationData, OpenAPISecuritySchemeData } from '../../types/openapi';
|
|
2
|
+
interface PathOperationProps {
|
|
3
|
+
method: HttpMethod;
|
|
4
|
+
path: string;
|
|
5
|
+
op: OpenAPIOperationData;
|
|
6
|
+
id: string | null;
|
|
7
|
+
/** Prefix for this operation's DOM anchor ids, so webhook anchors stay distinct from endpoint ones. */
|
|
8
|
+
idPrefix?: string;
|
|
9
|
+
/** Falls back to this when the operation doesn't declare its own `security`. */
|
|
10
|
+
globalSecurity?: Array<Record<string, string[]>>;
|
|
11
|
+
/** Scheme definitions (`components.securitySchemes`), resolved by name against `security`'s requirements to render the actual scheme details, not just their names. */
|
|
12
|
+
securitySchemes?: Record<string, OpenAPISecuritySchemeData>;
|
|
13
|
+
/** Opens the operation a response link points at, by its `operationId`. */
|
|
14
|
+
onFollowOperation?: (operationId: string) => void;
|
|
15
|
+
/** Whether an `operationId` resolves to an operation in the same list, so a response link can be navigable rather than plain text. */
|
|
16
|
+
isOperationKnown?: (operationId: string) => boolean;
|
|
17
|
+
/** Nesting level. A callback's operation may declare callbacks of its own, so past the first level they stop expanding rather than recursing without end. */
|
|
18
|
+
depth?: number;
|
|
19
|
+
}
|
|
20
|
+
export default function PathOperation({ method, path, op, id, idPrefix, globalSecurity, securitySchemes, onFollowOperation, isOperationKnown, depth, }: PathOperationProps): import("react").JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OpenAPIPathItemData, OpenAPISecuritySchemeData } from '../../types/openapi';
|
|
2
|
+
interface PathsProps {
|
|
3
|
+
paths: Record<string, OpenAPIPathItemData | undefined>;
|
|
4
|
+
security?: Array<Record<string, string[]>>;
|
|
5
|
+
securitySchemes?: Record<string, OpenAPISecuritySchemeData>;
|
|
6
|
+
selectedKey?: string | null;
|
|
7
|
+
onSelectKey?: (key: string | null) => void;
|
|
8
|
+
focusSection?: string | null;
|
|
9
|
+
showCopyMarkdown?: boolean;
|
|
10
|
+
/** Heading for the identifier column. "Webhook" for OpenAPI 3.1 webhooks, whose keys are event names rather than URL paths. */
|
|
11
|
+
columnLabel?: string;
|
|
12
|
+
/** Prefix for this list's DOM anchor ids, keeping webhook anchors distinct from endpoint ones for search and sidebar navigation. */
|
|
13
|
+
idPrefix?: string;
|
|
14
|
+
}
|
|
15
|
+
export default function Paths({ paths, security, securitySchemes, selectedKey, onSelectKey, showCopyMarkdown, columnLabel, idPrefix, }: PathsProps): import("react").JSX.Element | null;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { OpenAPILinkData } from '../../types/openapi';
|
|
2
|
+
/**
|
|
3
|
+
* A response's `links`: which operation you can call next using values from
|
|
4
|
+
* this response. Rendered as a small annotated note rather than a tab or
|
|
5
|
+
* table, since a link is a design-time relationship worth pointing at, not a
|
|
6
|
+
* view of the response itself.
|
|
7
|
+
*
|
|
8
|
+
* The link's own `description` is the clickable part, so the sentence reads as
|
|
9
|
+
* documentation ("Fetch the newly created user using ...") rather than naming
|
|
10
|
+
* an operationId the reader has no other use for. It falls back to the target
|
|
11
|
+
* itself when a link declares no description.
|
|
12
|
+
*/
|
|
13
|
+
interface ResponseLinksProps {
|
|
14
|
+
links: Record<string, OpenAPILinkData>;
|
|
15
|
+
/** Opens the operation with this `operationId`. Omitted when nothing can navigate. */
|
|
16
|
+
onFollowOperation?: (operationId: string) => void;
|
|
17
|
+
/** Whether `operationId` resolves to an operation in the current list, so the target can be a link rather than plain text. */
|
|
18
|
+
isOperationKnown?: (operationId: string) => boolean;
|
|
19
|
+
}
|
|
20
|
+
export default function ResponseLinks({ links, onFollowOperation, isOperationKnown, }: ResponseLinksProps): import("react").JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { OpenAPIServerData } from '../../types/openapi';
|
|
2
|
+
interface OpenAPIServersProps {
|
|
3
|
+
servers: OpenAPIServerData[];
|
|
4
|
+
selectedServer?: string | null;
|
|
5
|
+
onSelectServer?: (serverKey: string) => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* OpenAPI's `servers` is an array (no name field), unlike AsyncAPI's keyed
|
|
9
|
+
* map — server keys here are stable positional indices ("server-0", ...),
|
|
10
|
+
* displayed via each server's own `url`.
|
|
11
|
+
*/
|
|
12
|
+
export default function OpenAPIServers({ servers, selectedServer, onSelectServer }: OpenAPIServersProps): import("react").JSX.Element;
|
|
13
|
+
export {};
|
package/dist/contants.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { HttpMethod, OpenAPIParameterData } from './types/openapi';
|
|
2
|
+
import { OperationAction } from './types/asyncapi/OperationAction';
|
|
1
3
|
export declare const CONTACT_TEXT = "Contact";
|
|
2
4
|
export declare const NAM_TEXT = "Name";
|
|
3
5
|
export declare const URL_TEXT = "Url";
|
|
@@ -24,3 +26,8 @@ export declare const PROTOCOL_META: Record<string, {
|
|
|
24
26
|
label: string;
|
|
25
27
|
color: string;
|
|
26
28
|
}>;
|
|
29
|
+
export declare const PARAMETER_GROUPS: Array<{
|
|
30
|
+
location: OpenAPIParameterData["in"];
|
|
31
|
+
label: string;
|
|
32
|
+
}>;
|
|
33
|
+
export declare const METHOD_BADGE_COLOR_CLASSNAME: Record<HttpMethod | OperationAction, string>;
|