@scalar/api-reference 0.8.1 → 0.8.3
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/CHANGELOG.md +24 -0
- package/README.md +19 -15
- package/dist/browser/standalone.js +1742 -1006
- package/dist/components/ApiReference.vue.d.ts +34 -28
- package/dist/components/ApiReference.vue.d.ts.map +1 -1
- package/dist/components/Content/Authentication/Authentication.vue.d.ts +12 -0
- package/dist/components/Content/Authentication/Authentication.vue.d.ts.map +1 -0
- package/dist/components/Content/Authentication/SecurityScheme.vue.d.ts +11 -0
- package/dist/components/Content/Authentication/SecurityScheme.vue.d.ts.map +1 -0
- package/dist/components/Content/Authentication/SecuritySchemeSelector.vue.d.ts +17 -0
- package/dist/components/Content/Authentication/SecuritySchemeSelector.vue.d.ts.map +1 -0
- package/dist/components/Content/Authentication/index.d.ts +2 -0
- package/dist/components/Content/Authentication/index.d.ts.map +1 -0
- package/dist/components/Content/Content.vue.d.ts.map +1 -1
- package/dist/components/Content/Introduction/Introduction.vue.d.ts +9 -1
- package/dist/components/Content/Introduction/Introduction.vue.d.ts.map +1 -1
- package/dist/components/Content/ReferenceEndpoint/ExampleRequest.vue.d.ts +9 -1
- package/dist/components/Content/ReferenceEndpoint/ExampleRequest.vue.d.ts.map +1 -1
- package/dist/components/Content/ReferenceEndpoint/ExampleResponses/ExampleResponses.vue.d.ts.map +1 -1
- package/dist/components/Content/ReferenceEndpoint/ReferenceEndpoint.vue.d.ts +17 -1
- package/dist/components/Content/ReferenceEndpoint/ReferenceEndpoint.vue.d.ts.map +1 -1
- package/dist/components/IntersectionObserver.vue.d.ts +6 -2
- package/dist/components/IntersectionObserver.vue.d.ts.map +1 -1
- package/dist/components/SearchModal.vue.d.ts.map +1 -1
- package/dist/components/Section/Section.vue.d.ts +6 -0
- package/dist/components/Section/Section.vue.d.ts.map +1 -1
- package/dist/components/Section/SectionHeader.vue.d.ts +9 -0
- package/dist/components/Section/SectionHeader.vue.d.ts.map +1 -1
- package/dist/components/Sidebar.vue.d.ts.map +1 -1
- package/dist/components/SidebarElement.vue.d.ts +2 -0
- package/dist/components/SidebarElement.vue.d.ts.map +1 -1
- package/dist/helpers/generateRequest.d.ts +2 -2
- package/dist/helpers/generateRequest.d.ts.map +1 -1
- package/dist/helpers/getExampleFromSchema.d.ts +11 -0
- package/dist/helpers/getExampleFromSchema.d.ts.map +1 -0
- package/dist/helpers/getOperationSectionId.d.ts +2 -2
- package/dist/helpers/getOperationSectionId.d.ts.map +1 -1
- package/dist/helpers/hasSecuritySchemes.d.ts +3 -0
- package/dist/helpers/hasSecuritySchemes.d.ts.map +1 -0
- package/dist/helpers/index.d.ts +2 -1
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/index.js +8079 -7716
- package/dist/stores/globalStore.d.ts +21 -0
- package/dist/stores/globalStore.d.ts.map +1 -0
- package/dist/stores/index.d.ts +2 -0
- package/dist/stores/index.d.ts.map +1 -0
- package/dist/types.d.ts +59 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/helpers/generateResponseContent.d.ts +0 -5
- package/dist/helpers/generateResponseContent.d.ts.map +0 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AuthenticationState } from '../types';
|
|
2
|
+
export declare const createEmptyAuthenticationState: () => AuthenticationState;
|
|
3
|
+
export declare const useGlobalStore: () => {
|
|
4
|
+
authentication: {
|
|
5
|
+
securitySchemeKey: string | null;
|
|
6
|
+
http: {
|
|
7
|
+
basic: {
|
|
8
|
+
username: string;
|
|
9
|
+
password: string;
|
|
10
|
+
};
|
|
11
|
+
bearer: {
|
|
12
|
+
token: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
apiKey: {
|
|
16
|
+
token: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
setAuthentication: (newState: Partial<AuthenticationState>) => void;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=globalStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalStore.d.ts","sourceRoot":"","sources":["../../src/stores/globalStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD,eAAO,MAAM,8BAA8B,QAAO,mBAchD,CAAA;AAWF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;kCAPU,QAAQ,mBAAmB,CAAC;CAU/D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,20 +2,56 @@ import { type EditorHeaderTabs, type HocuspocusConfigurationProp } from '@scalar
|
|
|
2
2
|
import { type ThemeId } from '@scalar/themes';
|
|
3
3
|
import { type OpenAPIV2, type OpenAPIV3, type OpenAPIV3_1 } from 'openapi-types';
|
|
4
4
|
export type ReferenceProps = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
configuration?: ReferenceConfiguration;
|
|
6
|
+
} & {
|
|
7
|
+
aiWriterMarkdown?: string;
|
|
8
|
+
/** @deprecated Use the `configuration` prop instead. */
|
|
8
9
|
spec?: string;
|
|
10
|
+
/** @deprecated Use the `configuration` prop instead. */
|
|
9
11
|
specUrl?: string;
|
|
12
|
+
/** @deprecated Use the `configuration` prop instead. */
|
|
10
13
|
specResult?: Record<any, any>;
|
|
14
|
+
/** @deprecated Use the `configuration` prop instead. */
|
|
11
15
|
proxyUrl?: string;
|
|
12
|
-
|
|
16
|
+
/** @deprecated Use the `configuration` prop instead. */
|
|
13
17
|
theme?: ThemeId;
|
|
18
|
+
/** @deprecated Use the `configuration` prop instead. */
|
|
14
19
|
initialTabState?: EditorHeaderTabs;
|
|
20
|
+
/** @deprecated Use the `configuration` prop instead. */
|
|
21
|
+
showSidebar?: boolean;
|
|
22
|
+
/** @deprecated Use the `configuration` prop instead. */
|
|
23
|
+
isEditable?: boolean;
|
|
24
|
+
/** @deprecated Use the `configuration` prop instead. */
|
|
25
|
+
hocuspocusConfiguration?: HocuspocusConfigurationProp;
|
|
15
26
|
};
|
|
16
|
-
export type
|
|
17
|
-
|
|
18
|
-
|
|
27
|
+
export type ReferenceConfiguration = {
|
|
28
|
+
/** A string to use one of the color presets */
|
|
29
|
+
theme?: ThemeId;
|
|
30
|
+
/** The Swagger/OpenAPI spec to render */
|
|
31
|
+
spec?: {
|
|
32
|
+
/** URL to a Swagger/OpenAPI file */
|
|
33
|
+
url?: string;
|
|
34
|
+
/** Swagger/Open API spec */
|
|
35
|
+
content?: string | Record<string, any> | (() => Record<string, any>);
|
|
36
|
+
/** The result of @scalar/swagger-parser */
|
|
37
|
+
preparsedContent?: Record<any, any>;
|
|
38
|
+
};
|
|
39
|
+
/** URL to a request proxy for the API client */
|
|
40
|
+
proxy?: string;
|
|
41
|
+
/** Whether the spec input should show */
|
|
42
|
+
isEditable?: boolean;
|
|
43
|
+
/** The tabs (only visible when isEditable: true) */
|
|
44
|
+
tabs?: {
|
|
45
|
+
/** Disabled tabs completely */
|
|
46
|
+
/** The initial tab to show */
|
|
47
|
+
initialContent?: EditorHeaderTabs;
|
|
48
|
+
};
|
|
49
|
+
/** Whether to show the sidebar */
|
|
50
|
+
showSidebar?: boolean;
|
|
51
|
+
/** Whether to make the footer full-width (include below the sidebar) */
|
|
52
|
+
footerBelowSidebar?: boolean;
|
|
53
|
+
/** Remove the Scalar branding :( */
|
|
54
|
+
hocuspocusConfiguration?: HocuspocusConfigurationProp;
|
|
19
55
|
};
|
|
20
56
|
export type Schema = {
|
|
21
57
|
format: string;
|
|
@@ -37,7 +73,7 @@ export type Information = {
|
|
|
37
73
|
operationId: string;
|
|
38
74
|
parameters: Parameters[];
|
|
39
75
|
responses: Record<string, Response>;
|
|
40
|
-
security:
|
|
76
|
+
security: OpenAPIV3.SecurityRequirementObject[];
|
|
41
77
|
requestBody: RequestBody;
|
|
42
78
|
summary: string;
|
|
43
79
|
tags: string[];
|
|
@@ -133,4 +169,19 @@ export type Spec = {
|
|
|
133
169
|
components?: Components;
|
|
134
170
|
definitions?: Definitions;
|
|
135
171
|
};
|
|
172
|
+
export type AuthenticationState = {
|
|
173
|
+
securitySchemeKey: string | null;
|
|
174
|
+
http: {
|
|
175
|
+
basic: {
|
|
176
|
+
username: string;
|
|
177
|
+
password: string;
|
|
178
|
+
};
|
|
179
|
+
bearer: {
|
|
180
|
+
token: string;
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
apiKey: {
|
|
184
|
+
token: string;
|
|
185
|
+
};
|
|
186
|
+
};
|
|
136
187
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,2BAA2B,EACjC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhF,MAAM,MAAM,cAAc,GAAG;IAC3B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scalar/api-reference",
|
|
3
3
|
"description": "generate beautiful API references from OpenAPI specs",
|
|
4
|
-
"version": "0.8.
|
|
4
|
+
"version": "0.8.3",
|
|
5
5
|
"author": "Scalar (https://github.com/scalar)",
|
|
6
6
|
"browser": "./dist/browser/standalone.js",
|
|
7
7
|
"bugs": "https://github.com/scalar/scalar/issues/new",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"remark-rehype": "11.0.0",
|
|
32
32
|
"remark-stringify": "11.0.0",
|
|
33
33
|
"unified": "11.0.3",
|
|
34
|
-
"@scalar/api-client": "0.7.
|
|
35
|
-
"@scalar/swagger-editor": "0.6.
|
|
34
|
+
"@scalar/api-client": "0.7.23",
|
|
35
|
+
"@scalar/swagger-editor": "0.6.26",
|
|
36
36
|
"@scalar/swagger-parser": "0.5.5",
|
|
37
37
|
"@scalar/themes": "0.4.0",
|
|
38
38
|
"@scalar/use-clipboard": "0.5.6",
|
|
39
|
-
"@scalar/use-codemirror": "0.7.
|
|
39
|
+
"@scalar/use-codemirror": "0.7.10",
|
|
40
40
|
"@scalar/use-keyboard-event": "0.5.3",
|
|
41
41
|
"@scalar/use-modal": "0.1.4",
|
|
42
42
|
"@scalar/use-toasts": "0.5.6",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateResponseContent.d.ts","sourceRoot":"","sources":["../../src/helpers/generateResponseContent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,uBAAuB,WAC1B,OAAO,MAAM,EAAE,GAAG,CAAC,UACpB,MAAM,KACZ,GA4FF,CAAA"}
|