@scalar/schemas 0.9.0 → 0.11.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/CHANGELOG.md CHANGED
@@ -1,5 +1,49 @@
1
1
  # @scalar/schemas
2
2
 
3
+ ## 0.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#10283](https://github.com/scalar/scalar/pull/10283): Add `expandAllParameters`, defaulting to `true`. Set it to `false` to start operation parameters collapsed and expand each parameter on click.
8
+
9
+ ### Patch Changes
10
+
11
+ - [#10212](https://github.com/scalar/scalar/pull/10212): Improve type safety for schema display metadata, schema property merging, deprecated configuration migration, and cyclic test fixtures. Load Vite declarations for raw playground imports.
12
+
13
+ ## 0.10.0
14
+
15
+ ### Minor Changes
16
+
17
+ - [#10074](https://github.com/scalar/scalar/pull/10074): feat(api-reference)!: the tree layout is the schema renderer
18
+
19
+ The tree layout is the schema renderer, so every visual baseline that renders a schema changes with this release and is regenerated per suite.
20
+
21
+ - [#10074](https://github.com/scalar/scalar/pull/10074): feat(api-reference): the tree schema layout
22
+
23
+ The tree layout replaces the bordered card per nesting level and the "Show Child Attributes" pill with the visual grammar of a tree: a continuous rail per depth that hangs from the parent property's text column, and a discrete disclosure control in each expandable property's own gutter. The control is a real button whose accessible name is the property name alone and whose child count rides `aria-describedby`; property descriptions stay visible instead of being swallowed into a button label. Types render as token runs — `array of Planet` instead of `array Planet[]`, with a `$ref` link as the type itself — collapsed objects show a preview of what they hold, short enums render inline in the type position or wrap as chips instead of a row per value, and a `$ref` cycle says `recursive` in its own signature line instead of offering a toggle that descends forever. Rails fade with depth, capped so the deepest ones never wash out into the page. In a narrow container — the same `max-width: 900px` query the sections already use — the indent tightens and the controls shrink, so a deep tree still fits and the outermost control clears the page edge instead of being clipped by it. Collapsed subtrees that were opened once stay reachable with find-in-page via `hidden="until-found"` where the engine supports it, against a budget shared by every tree in the reference, with Safari falling back to unmounting exactly as before.
24
+
25
+ Printing temporarily expands the whole tree and restores the reader's expansion state afterwards.
26
+
27
+ - [#10074](https://github.com/scalar/scalar/pull/10074): feat(api-reference): one disclosure grammar across every surface in the tree layout
28
+
29
+ The tree layout now reaches the surfaces the schema renderer never covered. Response headers fold into the tree as a child group named Headers, keyed into the expansion store so expand-all and deep links finally reach them — and the headers card's long-standing CSS syntax error is fixed along the way. Callbacks trade their native `details`/`summary` for the gutter control, and gain breadcrumbs, so a property inside a callback body is addressable for the first time. AsyncAPI message headers and payloads gain breadcrumbs the same way. Parameter rows keep rendering their type, required marker and description inline: a disclosure may hide child elements, never child information, and the classic layout starts passing `collapsableItems` — previously omitted, which silently made `expandAllResponses` a no-op there. Model properties in the classic layout gain anchors.
30
+
31
+ Group titles — Body, Responses, Query Parameters, Callbacks — become real headings through the document outline (`operationSection`, level 4), never hardcoded tags.
32
+
33
+ One flagged feature ships with this: `schemaKeyboardNav` (default off) adds APG-tree arrow-key navigation over the gutter toggles.
34
+
35
+ - [#10102](https://github.com/scalar/scalar/pull/10102): Allow response hooks to return a replacement Response before the client processes its body, status, and headers. Add the onResponseReceived configuration callback for API References. Existing hooks can still read responses and return nothing.
36
+
37
+ ### Patch Changes
38
+
39
+ - [#10126](https://github.com/scalar/scalar/pull/10126): refactor(api-reference): remove the legacy schema layout and the `schemaLayout` option
40
+
41
+ The legacy schema layout — a bordered card per nesting level behind a "Show Child Attributes" pill — is deleted, together with the `schemaLayout` configuration option that selected it. The tree layout is the only schema renderer.
42
+
43
+ The `schemaLayout` option never shipped in a release, so there is no `schemaLayout` value to remove from your configuration. Five translation keys the deleted markup owned are removed from `ApiReferenceTranslations`, and therefore from the `ApiReferenceTranslationKey` union: `schema.childAttributes`, `schema.hideChildAttributes`, `schema.showChildAttributes`, `operation.hideHeaders` and `operation.showHeaders`. They labelled the "Show Child Attributes" pill and the headers disclosure toggle, neither of which renders any more. If you override any of them in `localization.translations`, delete those entries — TypeScript will otherwise report an unknown-property error on the object literal.
44
+
45
+ The class names the tree already carried (`.schema-card`, `.property`, `.property--level-N` and their family) are unchanged, so `customCss` keeps working.
46
+
3
47
  ## 0.9.0
4
48
 
5
49
  ### Minor Changes
@@ -124,6 +124,10 @@ export declare const apiReferenceConfigurationSchema: import("@scalar/validation
124
124
  requestBuilder: unknown;
125
125
  envVariables: Record<string, string>;
126
126
  }) => Promise<void> | void>>;
127
+ onResponseReceived: import("@scalar/validation").OptionalSchema<import("@scalar/validation").FunctionSchema<(input: {
128
+ response: Response;
129
+ request: Request;
130
+ }) => Response | void | Promise<Response | void>>>;
127
131
  onShowMore: import("@scalar/validation").OptionalSchema<import("@scalar/validation").FunctionSchema<(tagId: string) => Promise<void> | void>>;
128
132
  onSidebarClick: import("@scalar/validation").OptionalSchema<import("@scalar/validation").FunctionSchema<(href: string) => Promise<void> | void>>;
129
133
  pathRouting: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
@@ -165,14 +169,196 @@ export declare const apiReferenceConfigurationSchema: import("@scalar/validation
165
169
  defaultOpenFirstTag: import("@scalar/validation").BooleanSchema;
166
170
  defaultOpenAllTags: import("@scalar/validation").BooleanSchema;
167
171
  expandAllModelSections: import("@scalar/validation").BooleanSchema;
172
+ expandAllParameters: import("@scalar/validation").BooleanSchema;
168
173
  expandAllResponses: import("@scalar/validation").BooleanSchema;
169
174
  expandAllSchemaProperties: import("@scalar/validation").BooleanSchema;
170
175
  tagsSorter: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnionSchema<readonly [LiteralSchema<"alpha">, import("@scalar/validation").FunctionSchema<(a: any, b: any) => number>]>>;
171
176
  operationsSorter: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnionSchema<readonly [LiteralSchema<"alpha">, LiteralSchema<"method">, import("@scalar/validation").FunctionSchema<(a: any, b: any) => number>]>>;
172
177
  orderSchemaPropertiesBy: import("@scalar/validation").UnionSchema<readonly [LiteralSchema<"alpha">, LiteralSchema<"preserve">]>;
178
+ schemaKeyboardNav: import("@scalar/validation").BooleanSchema;
173
179
  orderRequiredPropertiesFirst: import("@scalar/validation").BooleanSchema;
174
180
  }>]>;
175
- export declare const apiReferenceConfigurationWithSourceSchema: (rawInput: unknown) => {
181
+ export declare const apiReferenceConfigurationWithSourceSchema: (rawInput: unknown) => Omit<{
182
+ hideClientButton: boolean;
183
+ showSidebar: boolean;
184
+ showDeveloperTools: "localhost" | "always" | "never";
185
+ showToolbar: "localhost" | "always" | "never";
186
+ operationTitleSource: "summary" | "path";
187
+ theme: "default" | "alternate" | "moon" | "purple" | "solarized" | "bluePlanet" | "deepSpace" | "saturn" | "kepler" | "elysiajs" | "fastify" | "mars" | "laserwave" | "none";
188
+ persistAuth: boolean;
189
+ telemetry: boolean;
190
+ externalUrls: {
191
+ dashboardUrl: string;
192
+ registryUrl: string;
193
+ proxyUrl: string;
194
+ apiBaseUrl: string;
195
+ };
196
+ } & {
197
+ proxyUrl?: string | undefined;
198
+ title?: string | undefined;
199
+ slug?: string | undefined;
200
+ authentication?: any;
201
+ baseServerURL?: string | undefined;
202
+ oauth2RedirectUri?: string | undefined;
203
+ searchHotKey?: "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" | undefined;
204
+ servers?: any[] | undefined;
205
+ _integration?: "elysiajs" | "fastify" | "adonisjs" | "astro" | "docusaurus" | "dotnet" | "express" | "fastapi" | "go" | "hono" | "html" | "laravel" | "litestar" | "nestjs" | "nextjs" | "nitro" | "nuxt" | "platformatic" | "react" | "rust" | "svelte" | "vue" | null | undefined;
206
+ onRequestSent?: ((input: string) => void) | undefined;
207
+ } & {
208
+ default: boolean;
209
+ } & {
210
+ title?: string | undefined;
211
+ slug?: string | undefined;
212
+ url?: string | undefined;
213
+ content?: string | Record<string, any> | (() => string | any) | null | undefined;
214
+ spec?: {
215
+ url?: string | undefined;
216
+ content?: string | Record<string, any> | (() => string | any) | null | undefined;
217
+ } | undefined;
218
+ agent?: {
219
+ key?: string | undefined;
220
+ disabled?: boolean | undefined;
221
+ hideAddApi?: boolean | undefined;
222
+ } | undefined;
223
+ } & {
224
+ layout: "modern" | "classic";
225
+ isEditable: boolean;
226
+ hideModels: boolean;
227
+ documentDownloadType: "none" | "both" | "yaml" | "json" | "direct";
228
+ hideTestRequestButton: boolean;
229
+ hideSearch: boolean;
230
+ showOperationId: boolean;
231
+ hideDarkModeToggle: boolean;
232
+ withDefaultFonts: boolean;
233
+ defaultOpenFirstTag: boolean;
234
+ defaultOpenAllTags: boolean;
235
+ expandAllModelSections: boolean;
236
+ expandAllParameters: boolean;
237
+ expandAllResponses: boolean;
238
+ expandAllSchemaProperties: boolean;
239
+ orderSchemaPropertiesBy: "alpha" | "preserve";
240
+ schemaKeyboardNav: boolean;
241
+ orderRequiredPropertiesFirst: boolean;
242
+ } & {
243
+ proxy?: string | undefined;
244
+ fetch?: typeof fetch | undefined;
245
+ customFetch?: typeof fetch | undefined;
246
+ plugins?: (() => {
247
+ name: string;
248
+ extensions: import("@scalar/validation").Static<import("@scalar/validation").ObjectSchema<{
249
+ name: import("@scalar/validation").StringSchema;
250
+ component: import("@scalar/validation").UnknownSchema;
251
+ renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
252
+ }>>[];
253
+ views: import("@scalar/validation").Static<import("@scalar/validation").ObjectSchema<{
254
+ 'content.start': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
255
+ component: import("@scalar/validation").UnknownSchema;
256
+ renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
257
+ props: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").AnySchema>>;
258
+ sidebar: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
259
+ show: import("@scalar/validation").BooleanSchema;
260
+ label: import("@scalar/validation").StringSchema;
261
+ }>>;
262
+ }>>>;
263
+ 'content.end': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
264
+ component: import("@scalar/validation").UnknownSchema;
265
+ renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
266
+ props: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").AnySchema>>;
267
+ sidebar: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
268
+ show: import("@scalar/validation").BooleanSchema;
269
+ label: import("@scalar/validation").StringSchema;
270
+ }>>;
271
+ }>>>;
272
+ }>>;
273
+ hooks: import("@scalar/validation").Static<import("@scalar/validation").ObjectSchema<{
274
+ onInit: import("@scalar/validation").OptionalSchema<import("@scalar/validation").FunctionSchema<({ config, auth }: {
275
+ config: any;
276
+ auth: any;
277
+ }) => void>>;
278
+ onConfigChange: import("@scalar/validation").OptionalSchema<import("@scalar/validation").FunctionSchema<({ config, auth }: {
279
+ config: any;
280
+ auth: any;
281
+ }) => void>>;
282
+ onDestroy: import("@scalar/validation").OptionalSchema<import("@scalar/validation").FunctionSchema<() => void>>;
283
+ }>>;
284
+ apiClientPlugins: any[];
285
+ })[] | undefined;
286
+ pluginUrls?: string[] | undefined;
287
+ modelsSectionLabel?: string | undefined;
288
+ localization?: {
289
+ locale?: string | undefined;
290
+ direction?: "auto" | "ltr" | "rtl" | undefined;
291
+ translations?: Record<string, any> | undefined;
292
+ } | undefined;
293
+ hideDownloadButton?: boolean | undefined;
294
+ darkMode?: boolean | undefined;
295
+ forceDarkModeState?: "dark" | "light" | undefined;
296
+ metaData?: any;
297
+ favicon?: string | undefined;
298
+ hiddenClients?: true | Record<string, boolean | ("laravel" | "fetch" | "http" | "libcurl" | "httr2" | "native" | "reqwest" | "clj_http" | "httpclient" | "restsharp" | "http1.1" | "asynchttp" | "nethttp" | "okhttp" | "unirest" | "axios" | "jquery" | "ofetch" | "xhr" | "undici" | "nsurlsession" | "cohttp" | "curl" | "guzzle" | "restmethod" | "webrequest" | "python3" | "requests" | "aiohttp" | "httpx_sync" | "httpx_async" | "httpie" | "wget")[]> | ("c" | "r" | "go" | "laravel" | "rust" | "fetch" | "clojure" | "csharp" | "dart" | "fsharp" | "http" | "java" | "js" | "julia" | "kotlin" | "node" | "objc" | "ocaml" | "php" | "powershell" | "python" | "ruby" | "shell" | "swift" | "libcurl" | "httr2" | "native" | "reqwest" | "clj_http" | "httpclient" | "restsharp" | "http1.1" | "asynchttp" | "nethttp" | "okhttp" | "unirest" | "axios" | "jquery" | "ofetch" | "xhr" | "undici" | "nsurlsession" | "cohttp" | "curl" | "guzzle" | "restmethod" | "webrequest" | "python3" | "requests" | "aiohttp" | "httpx_sync" | "httpx_async" | "httpie" | "wget" | "c/laravel" | "c/libcurl" | "c/clj_http" | "c/httpclient" | "c/restsharp" | "c/http" | "c/native" | "c/http1.1" | "c/asynchttp" | "c/nethttp" | "c/okhttp" | "c/unirest" | "c/axios" | "c/fetch" | "c/jquery" | "c/ofetch" | "c/xhr" | "c/undici" | "c/nsurlsession" | "c/cohttp" | "c/curl" | "c/guzzle" | "c/restmethod" | "c/webrequest" | "c/python3" | "c/requests" | "c/aiohttp" | "c/httpx_sync" | "c/httpx_async" | "c/httr2" | "c/reqwest" | "c/httpie" | "c/wget" | "r/laravel" | "r/libcurl" | "r/clj_http" | "r/httpclient" | "r/restsharp" | "r/http" | "r/native" | "r/http1.1" | "r/asynchttp" | "r/nethttp" | "r/okhttp" | "r/unirest" | "r/axios" | "r/fetch" | "r/jquery" | "r/ofetch" | "r/xhr" | "r/undici" | "r/nsurlsession" | "r/cohttp" | "r/curl" | "r/guzzle" | "r/restmethod" | "r/webrequest" | "r/python3" | "r/requests" | "r/aiohttp" | "r/httpx_sync" | "r/httpx_async" | "r/httr2" | "r/reqwest" | "r/httpie" | "r/wget" | "go/laravel" | "go/libcurl" | "go/clj_http" | "go/httpclient" | "go/restsharp" | "go/http" | "go/native" | "go/http1.1" | "go/asynchttp" | "go/nethttp" | "go/okhttp" | "go/unirest" | "go/axios" | "go/fetch" | "go/jquery" | "go/ofetch" | "go/xhr" | "go/undici" | "go/nsurlsession" | "go/cohttp" | "go/curl" | "go/guzzle" | "go/restmethod" | "go/webrequest" | "go/python3" | "go/requests" | "go/aiohttp" | "go/httpx_sync" | "go/httpx_async" | "go/httr2" | "go/reqwest" | "go/httpie" | "go/wget" | "rust/laravel" | "rust/libcurl" | "rust/clj_http" | "rust/httpclient" | "rust/restsharp" | "rust/http" | "rust/native" | "rust/http1.1" | "rust/asynchttp" | "rust/nethttp" | "rust/okhttp" | "rust/unirest" | "rust/axios" | "rust/fetch" | "rust/jquery" | "rust/ofetch" | "rust/xhr" | "rust/undici" | "rust/nsurlsession" | "rust/cohttp" | "rust/curl" | "rust/guzzle" | "rust/restmethod" | "rust/webrequest" | "rust/python3" | "rust/requests" | "rust/aiohttp" | "rust/httpx_sync" | "rust/httpx_async" | "rust/httr2" | "rust/reqwest" | "rust/httpie" | "rust/wget" | "http/laravel" | "http/libcurl" | "http/clj_http" | "http/httpclient" | "http/restsharp" | "http/http" | "http/native" | "http/http1.1" | "http/asynchttp" | "http/nethttp" | "http/okhttp" | "http/unirest" | "http/axios" | "http/fetch" | "http/jquery" | "http/ofetch" | "http/xhr" | "http/undici" | "http/nsurlsession" | "http/cohttp" | "http/curl" | "http/guzzle" | "http/restmethod" | "http/webrequest" | "http/python3" | "http/requests" | "http/aiohttp" | "http/httpx_sync" | "http/httpx_async" | "http/httr2" | "http/reqwest" | "http/httpie" | "http/wget" | "clojure/laravel" | "clojure/libcurl" | "clojure/clj_http" | "clojure/httpclient" | "clojure/restsharp" | "clojure/http" | "clojure/native" | "clojure/http1.1" | "clojure/asynchttp" | "clojure/nethttp" | "clojure/okhttp" | "clojure/unirest" | "clojure/axios" | "clojure/fetch" | "clojure/jquery" | "clojure/ofetch" | "clojure/xhr" | "clojure/undici" | "clojure/nsurlsession" | "clojure/cohttp" | "clojure/curl" | "clojure/guzzle" | "clojure/restmethod" | "clojure/webrequest" | "clojure/python3" | "clojure/requests" | "clojure/aiohttp" | "clojure/httpx_sync" | "clojure/httpx_async" | "clojure/httr2" | "clojure/reqwest" | "clojure/httpie" | "clojure/wget" | "csharp/laravel" | "csharp/libcurl" | "csharp/clj_http" | "csharp/httpclient" | "csharp/restsharp" | "csharp/http" | "csharp/native" | "csharp/http1.1" | "csharp/asynchttp" | "csharp/nethttp" | "csharp/okhttp" | "csharp/unirest" | "csharp/axios" | "csharp/fetch" | "csharp/jquery" | "csharp/ofetch" | "csharp/xhr" | "csharp/undici" | "csharp/nsurlsession" | "csharp/cohttp" | "csharp/curl" | "csharp/guzzle" | "csharp/restmethod" | "csharp/webrequest" | "csharp/python3" | "csharp/requests" | "csharp/aiohttp" | "csharp/httpx_sync" | "csharp/httpx_async" | "csharp/httr2" | "csharp/reqwest" | "csharp/httpie" | "csharp/wget" | "dart/laravel" | "dart/libcurl" | "dart/clj_http" | "dart/httpclient" | "dart/restsharp" | "dart/http" | "dart/native" | "dart/http1.1" | "dart/asynchttp" | "dart/nethttp" | "dart/okhttp" | "dart/unirest" | "dart/axios" | "dart/fetch" | "dart/jquery" | "dart/ofetch" | "dart/xhr" | "dart/undici" | "dart/nsurlsession" | "dart/cohttp" | "dart/curl" | "dart/guzzle" | "dart/restmethod" | "dart/webrequest" | "dart/python3" | "dart/requests" | "dart/aiohttp" | "dart/httpx_sync" | "dart/httpx_async" | "dart/httr2" | "dart/reqwest" | "dart/httpie" | "dart/wget" | "fsharp/laravel" | "fsharp/libcurl" | "fsharp/clj_http" | "fsharp/httpclient" | "fsharp/restsharp" | "fsharp/http" | "fsharp/native" | "fsharp/http1.1" | "fsharp/asynchttp" | "fsharp/nethttp" | "fsharp/okhttp" | "fsharp/unirest" | "fsharp/axios" | "fsharp/fetch" | "fsharp/jquery" | "fsharp/ofetch" | "fsharp/xhr" | "fsharp/undici" | "fsharp/nsurlsession" | "fsharp/cohttp" | "fsharp/curl" | "fsharp/guzzle" | "fsharp/restmethod" | "fsharp/webrequest" | "fsharp/python3" | "fsharp/requests" | "fsharp/aiohttp" | "fsharp/httpx_sync" | "fsharp/httpx_async" | "fsharp/httr2" | "fsharp/reqwest" | "fsharp/httpie" | "fsharp/wget" | "java/laravel" | "java/libcurl" | "java/clj_http" | "java/httpclient" | "java/restsharp" | "java/http" | "java/native" | "java/http1.1" | "java/asynchttp" | "java/nethttp" | "java/okhttp" | "java/unirest" | "java/axios" | "java/fetch" | "java/jquery" | "java/ofetch" | "java/xhr" | "java/undici" | "java/nsurlsession" | "java/cohttp" | "java/curl" | "java/guzzle" | "java/restmethod" | "java/webrequest" | "java/python3" | "java/requests" | "java/aiohttp" | "java/httpx_sync" | "java/httpx_async" | "java/httr2" | "java/reqwest" | "java/httpie" | "java/wget" | "js/laravel" | "js/libcurl" | "js/clj_http" | "js/httpclient" | "js/restsharp" | "js/http" | "js/native" | "js/http1.1" | "js/asynchttp" | "js/nethttp" | "js/okhttp" | "js/unirest" | "js/axios" | "js/fetch" | "js/jquery" | "js/ofetch" | "js/xhr" | "js/undici" | "js/nsurlsession" | "js/cohttp" | "js/curl" | "js/guzzle" | "js/restmethod" | "js/webrequest" | "js/python3" | "js/requests" | "js/aiohttp" | "js/httpx_sync" | "js/httpx_async" | "js/httr2" | "js/reqwest" | "js/httpie" | "js/wget" | "julia/laravel" | "julia/libcurl" | "julia/clj_http" | "julia/httpclient" | "julia/restsharp" | "julia/http" | "julia/native" | "julia/http1.1" | "julia/asynchttp" | "julia/nethttp" | "julia/okhttp" | "julia/unirest" | "julia/axios" | "julia/fetch" | "julia/jquery" | "julia/ofetch" | "julia/xhr" | "julia/undici" | "julia/nsurlsession" | "julia/cohttp" | "julia/curl" | "julia/guzzle" | "julia/restmethod" | "julia/webrequest" | "julia/python3" | "julia/requests" | "julia/aiohttp" | "julia/httpx_sync" | "julia/httpx_async" | "julia/httr2" | "julia/reqwest" | "julia/httpie" | "julia/wget" | "kotlin/laravel" | "kotlin/libcurl" | "kotlin/clj_http" | "kotlin/httpclient" | "kotlin/restsharp" | "kotlin/http" | "kotlin/native" | "kotlin/http1.1" | "kotlin/asynchttp" | "kotlin/nethttp" | "kotlin/okhttp" | "kotlin/unirest" | "kotlin/axios" | "kotlin/fetch" | "kotlin/jquery" | "kotlin/ofetch" | "kotlin/xhr" | "kotlin/undici" | "kotlin/nsurlsession" | "kotlin/cohttp" | "kotlin/curl" | "kotlin/guzzle" | "kotlin/restmethod" | "kotlin/webrequest" | "kotlin/python3" | "kotlin/requests" | "kotlin/aiohttp" | "kotlin/httpx_sync" | "kotlin/httpx_async" | "kotlin/httr2" | "kotlin/reqwest" | "kotlin/httpie" | "kotlin/wget" | "node/laravel" | "node/libcurl" | "node/clj_http" | "node/httpclient" | "node/restsharp" | "node/http" | "node/native" | "node/http1.1" | "node/asynchttp" | "node/nethttp" | "node/okhttp" | "node/unirest" | "node/axios" | "node/fetch" | "node/jquery" | "node/ofetch" | "node/xhr" | "node/undici" | "node/nsurlsession" | "node/cohttp" | "node/curl" | "node/guzzle" | "node/restmethod" | "node/webrequest" | "node/python3" | "node/requests" | "node/aiohttp" | "node/httpx_sync" | "node/httpx_async" | "node/httr2" | "node/reqwest" | "node/httpie" | "node/wget" | "objc/laravel" | "objc/libcurl" | "objc/clj_http" | "objc/httpclient" | "objc/restsharp" | "objc/http" | "objc/native" | "objc/http1.1" | "objc/asynchttp" | "objc/nethttp" | "objc/okhttp" | "objc/unirest" | "objc/axios" | "objc/fetch" | "objc/jquery" | "objc/ofetch" | "objc/xhr" | "objc/undici" | "objc/nsurlsession" | "objc/cohttp" | "objc/curl" | "objc/guzzle" | "objc/restmethod" | "objc/webrequest" | "objc/python3" | "objc/requests" | "objc/aiohttp" | "objc/httpx_sync" | "objc/httpx_async" | "objc/httr2" | "objc/reqwest" | "objc/httpie" | "objc/wget" | "ocaml/laravel" | "ocaml/libcurl" | "ocaml/clj_http" | "ocaml/httpclient" | "ocaml/restsharp" | "ocaml/http" | "ocaml/native" | "ocaml/http1.1" | "ocaml/asynchttp" | "ocaml/nethttp" | "ocaml/okhttp" | "ocaml/unirest" | "ocaml/axios" | "ocaml/fetch" | "ocaml/jquery" | "ocaml/ofetch" | "ocaml/xhr" | "ocaml/undici" | "ocaml/nsurlsession" | "ocaml/cohttp" | "ocaml/curl" | "ocaml/guzzle" | "ocaml/restmethod" | "ocaml/webrequest" | "ocaml/python3" | "ocaml/requests" | "ocaml/aiohttp" | "ocaml/httpx_sync" | "ocaml/httpx_async" | "ocaml/httr2" | "ocaml/reqwest" | "ocaml/httpie" | "ocaml/wget" | "php/laravel" | "php/libcurl" | "php/clj_http" | "php/httpclient" | "php/restsharp" | "php/http" | "php/native" | "php/http1.1" | "php/asynchttp" | "php/nethttp" | "php/okhttp" | "php/unirest" | "php/axios" | "php/fetch" | "php/jquery" | "php/ofetch" | "php/xhr" | "php/undici" | "php/nsurlsession" | "php/cohttp" | "php/curl" | "php/guzzle" | "php/restmethod" | "php/webrequest" | "php/python3" | "php/requests" | "php/aiohttp" | "php/httpx_sync" | "php/httpx_async" | "php/httr2" | "php/reqwest" | "php/httpie" | "php/wget" | "powershell/laravel" | "powershell/libcurl" | "powershell/clj_http" | "powershell/httpclient" | "powershell/restsharp" | "powershell/http" | "powershell/native" | "powershell/http1.1" | "powershell/asynchttp" | "powershell/nethttp" | "powershell/okhttp" | "powershell/unirest" | "powershell/axios" | "powershell/fetch" | "powershell/jquery" | "powershell/ofetch" | "powershell/xhr" | "powershell/undici" | "powershell/nsurlsession" | "powershell/cohttp" | "powershell/curl" | "powershell/guzzle" | "powershell/restmethod" | "powershell/webrequest" | "powershell/python3" | "powershell/requests" | "powershell/aiohttp" | "powershell/httpx_sync" | "powershell/httpx_async" | "powershell/httr2" | "powershell/reqwest" | "powershell/httpie" | "powershell/wget" | "python/laravel" | "python/libcurl" | "python/clj_http" | "python/httpclient" | "python/restsharp" | "python/http" | "python/native" | "python/http1.1" | "python/asynchttp" | "python/nethttp" | "python/okhttp" | "python/unirest" | "python/axios" | "python/fetch" | "python/jquery" | "python/ofetch" | "python/xhr" | "python/undici" | "python/nsurlsession" | "python/cohttp" | "python/curl" | "python/guzzle" | "python/restmethod" | "python/webrequest" | "python/python3" | "python/requests" | "python/aiohttp" | "python/httpx_sync" | "python/httpx_async" | "python/httr2" | "python/reqwest" | "python/httpie" | "python/wget" | "ruby/laravel" | "ruby/libcurl" | "ruby/clj_http" | "ruby/httpclient" | "ruby/restsharp" | "ruby/http" | "ruby/native" | "ruby/http1.1" | "ruby/asynchttp" | "ruby/nethttp" | "ruby/okhttp" | "ruby/unirest" | "ruby/axios" | "ruby/fetch" | "ruby/jquery" | "ruby/ofetch" | "ruby/xhr" | "ruby/undici" | "ruby/nsurlsession" | "ruby/cohttp" | "ruby/curl" | "ruby/guzzle" | "ruby/restmethod" | "ruby/webrequest" | "ruby/python3" | "ruby/requests" | "ruby/aiohttp" | "ruby/httpx_sync" | "ruby/httpx_async" | "ruby/httr2" | "ruby/reqwest" | "ruby/httpie" | "ruby/wget" | "shell/laravel" | "shell/libcurl" | "shell/clj_http" | "shell/httpclient" | "shell/restsharp" | "shell/http" | "shell/native" | "shell/http1.1" | "shell/asynchttp" | "shell/nethttp" | "shell/okhttp" | "shell/unirest" | "shell/axios" | "shell/fetch" | "shell/jquery" | "shell/ofetch" | "shell/xhr" | "shell/undici" | "shell/nsurlsession" | "shell/cohttp" | "shell/curl" | "shell/guzzle" | "shell/restmethod" | "shell/webrequest" | "shell/python3" | "shell/requests" | "shell/aiohttp" | "shell/httpx_sync" | "shell/httpx_async" | "shell/httr2" | "shell/reqwest" | "shell/httpie" | "shell/wget" | "swift/laravel" | "swift/libcurl" | "swift/clj_http" | "swift/httpclient" | "swift/restsharp" | "swift/http" | "swift/native" | "swift/http1.1" | "swift/asynchttp" | "swift/nethttp" | "swift/okhttp" | "swift/unirest" | "swift/axios" | "swift/fetch" | "swift/jquery" | "swift/ofetch" | "swift/xhr" | "swift/undici" | "swift/nsurlsession" | "swift/cohttp" | "swift/curl" | "swift/guzzle" | "swift/restmethod" | "swift/webrequest" | "swift/python3" | "swift/requests" | "swift/aiohttp" | "swift/httpx_sync" | "swift/httpx_async" | "swift/httr2" | "swift/reqwest" | "swift/httpie" | "swift/wget")[] | undefined;
299
+ defaultHttpClient?: {
300
+ targetKey: "c" | "r" | "go" | "rust" | "clojure" | "csharp" | "dart" | "fsharp" | "http" | "java" | "js" | "julia" | "kotlin" | "node" | "objc" | "ocaml" | "php" | "powershell" | "python" | "ruby" | "shell" | "swift";
301
+ clientKey: "laravel" | "fetch" | "http" | "libcurl" | "httr2" | "native" | "reqwest" | "clj_http" | "httpclient" | "restsharp" | "http1.1" | "asynchttp" | "nethttp" | "okhttp" | "unirest" | "axios" | "jquery" | "ofetch" | "xhr" | "undici" | "nsurlsession" | "cohttp" | "curl" | "guzzle" | "restmethod" | "webrequest" | "python3" | "requests" | "aiohttp" | "httpx_sync" | "httpx_async" | "httpie" | "wget";
302
+ } | undefined;
303
+ defaultRequestBodyView?: "form" | "raw" | undefined;
304
+ customCss?: string | undefined;
305
+ onServerChange?: ((input: string) => void) | undefined;
306
+ onDocumentSelect?: (() => void) | undefined;
307
+ onLoaded?: ((slug: string) => Promise<void> | void) | undefined;
308
+ onBeforeRequest?: ((input: {
309
+ request: Request;
310
+ requestBuilder: unknown;
311
+ envVariables: Record<string, string>;
312
+ }) => Promise<void> | void) | undefined;
313
+ onRequestBuilt?: ((input: {
314
+ request: Request;
315
+ requestBuilder: unknown;
316
+ envVariables: Record<string, string>;
317
+ }) => Promise<void> | void) | undefined;
318
+ onResponseReceived?: ((input: {
319
+ response: Response;
320
+ request: Request;
321
+ }) => Response | void | Promise<Response | void>) | undefined;
322
+ onShowMore?: ((tagId: string) => Promise<void> | void) | undefined;
323
+ onSidebarClick?: ((href: string) => Promise<void> | void) | undefined;
324
+ pathRouting?: {
325
+ basePath: string;
326
+ } | undefined;
327
+ mcp?: {
328
+ name?: string | undefined;
329
+ url?: string | undefined;
330
+ disabled?: boolean | undefined;
331
+ } | undefined;
332
+ generateHeadingSlug?: ((input: {
333
+ slug?: string;
334
+ }) => string) | undefined;
335
+ generateModelSlug?: ((input: {
336
+ name?: string;
337
+ }) => string) | undefined;
338
+ generateTagSlug?: ((input: {
339
+ name?: string;
340
+ }) => string) | undefined;
341
+ generateOperationSlug?: ((input: {
342
+ path: string;
343
+ operationId?: string;
344
+ method: string;
345
+ summary?: string;
346
+ }) => string) | undefined;
347
+ generateWebhookSlug?: ((input: {
348
+ name: string;
349
+ method?: string;
350
+ }) => string) | undefined;
351
+ setPageTitle?: ((input: {
352
+ title: string;
353
+ document: {
354
+ title: string;
355
+ slug: string;
356
+ };
357
+ }) => string) | undefined;
358
+ redirect?: ((input: string) => string | null | undefined) | undefined;
359
+ tagsSorter?: "alpha" | ((a: any, b: any) => number) | undefined;
360
+ operationsSorter?: "alpha" | "method" | ((a: any, b: any) => number) | undefined;
361
+ }, "showToolbar"> & Partial<Pick<{
176
362
  hideClientButton: boolean;
177
363
  showSidebar: boolean;
178
364
  showDeveloperTools: "localhost" | "always" | "never";
@@ -227,9 +413,11 @@ export declare const apiReferenceConfigurationWithSourceSchema: (rawInput: unkno
227
413
  defaultOpenFirstTag: boolean;
228
414
  defaultOpenAllTags: boolean;
229
415
  expandAllModelSections: boolean;
416
+ expandAllParameters: boolean;
230
417
  expandAllResponses: boolean;
231
418
  expandAllSchemaProperties: boolean;
232
419
  orderSchemaPropertiesBy: "alpha" | "preserve";
420
+ schemaKeyboardNav: boolean;
233
421
  orderRequiredPropertiesFirst: boolean;
234
422
  } & {
235
423
  proxy?: string | undefined;
@@ -307,6 +495,10 @@ export declare const apiReferenceConfigurationWithSourceSchema: (rawInput: unkno
307
495
  requestBuilder: unknown;
308
496
  envVariables: Record<string, string>;
309
497
  }) => Promise<void> | void) | undefined;
498
+ onResponseReceived?: ((input: {
499
+ response: Response;
500
+ request: Request;
501
+ }) => Response | void | Promise<Response | void>) | undefined;
310
502
  onShowMore?: ((tagId: string) => Promise<void> | void) | undefined;
311
503
  onSidebarClick?: ((href: string) => Promise<void> | void) | undefined;
312
504
  pathRouting?: {
@@ -346,5 +538,5 @@ export declare const apiReferenceConfigurationWithSourceSchema: (rawInput: unkno
346
538
  redirect?: ((input: string) => string | null | undefined) | undefined;
347
539
  tagsSorter?: "alpha" | ((a: any, b: any) => number) | undefined;
348
540
  operationsSorter?: "alpha" | "method" | ((a: any, b: any) => number) | undefined;
349
- };
541
+ }, "showToolbar">>;
350
542
  //# sourceMappingURL=api-reference-configuration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-reference-configuration.d.ts","sourceRoot":"","sources":["../../src/api-reference/api-reference-configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-reference-configuration.d.ts","sourceRoot":"","sources":["../../src/api-reference/api-reference-configuration.ts"],"names":[],"mappings":"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"}
@@ -122,6 +122,9 @@ export const apiReferenceConfigurationSchema = intersection([
122
122
  onRequestBuilt: optional(fn(), {
123
123
  typeComment: 'Fired right before the outbound request is sent; callback receives the exact fetch Request that goes over the wire. Experimental API.',
124
124
  }),
125
+ onResponseReceived: optional(fn(), {
126
+ typeComment: 'Fired before response processing. Return a Response to replace it, or nothing to keep it.',
127
+ }),
125
128
  onShowMore: optional(fn(), {
126
129
  typeComment: 'onShowMore is fired when the user clicks the "Show more" button on the references',
127
130
  }),
@@ -183,13 +186,17 @@ export const apiReferenceConfigurationSchema = intersection([
183
186
  default: false,
184
187
  typeComment: 'Whether to expand all models by default. Warning: this can cause performance issues on big documents',
185
188
  }),
189
+ expandAllParameters: boolean({
190
+ default: true,
191
+ typeComment: 'Whether to show parameter details by default. Set to false to collapse each parameter.',
192
+ }),
186
193
  expandAllResponses: boolean({
187
194
  default: false,
188
195
  typeComment: 'Whether to expand all responses by default. Warning: this can cause performance issues on big documents',
189
196
  }),
190
197
  expandAllSchemaProperties: boolean({
191
198
  default: false,
192
- typeComment: 'Whether to expand all nested schema properties by default. The Show/Hide Child Attributes toggle remains available so nested sections can still be collapsed manually. Warning: this can cause performance issues on big documents',
199
+ typeComment: 'Whether to expand all nested schema properties by default. Each row keeps its own disclosure control, so nested sections can still be collapsed manually. Warning: this can cause performance issues on big documents',
193
200
  }),
194
201
  tagsSorter: optional(union([literal('alpha'), fn()]), {
195
202
  typeComment: 'Function to sort tags',
@@ -200,6 +207,10 @@ export const apiReferenceConfigurationSchema = intersection([
200
207
  orderSchemaPropertiesBy: union([literal('alpha'), literal('preserve')], {
201
208
  typeComment: 'Order the schema properties by',
202
209
  }),
210
+ schemaKeyboardNav: boolean({
211
+ default: false,
212
+ typeComment: 'Arrow-key navigation over the schema disclosure toggles (APG tree bindings). Off until screen-reader interaction questions are settled',
213
+ }),
203
214
  orderRequiredPropertiesFirst: boolean({
204
215
  default: true,
205
216
  typeComment: 'Sort the schema properties by required ones first',
@@ -209,7 +220,9 @@ export const apiReferenceConfigurationSchema = intersection([
209
220
  const OLD_PROXY_URL = 'https://api.scalar.com/request-proxy';
210
221
  const NEW_PROXY_URL = 'https://proxy.scalar.com';
211
222
  export const apiReferenceConfigurationWithSourceSchema = (rawInput) => {
212
- const input = coerce(apiReferenceConfigurationSchema, rawInput);
223
+ const parsed = coerce(apiReferenceConfigurationSchema, rawInput);
224
+ // Migration removes the deprecated field from this same configuration object.
225
+ const input = parsed;
213
226
  if (input.hideDownloadButton) {
214
227
  console.warn(`[DEPRECATED] You're using the deprecated 'hideDownloadButton' attribute. Use 'documentDownloadType: 'none'' instead.`);
215
228
  input.documentDownloadType = 'none';
@@ -247,7 +260,6 @@ export const apiReferenceConfigurationWithSourceSchema = (rawInput) => {
247
260
  if (input.showToolbar && input.showToolbar !== 'localhost') {
248
261
  console.warn(`[DEPRECATED] You're using the deprecated 'showToolbar' attribute. Use 'showDeveloperTools' instead.`);
249
262
  input.showDeveloperTools = input.showToolbar;
250
- // @ts-expect-error - We're deleting the deprecated attribute
251
263
  delete input.showToolbar;
252
264
  }
253
265
  input.modelsSectionLabel ??= DEFAULT_MODELS_SECTION_LABEL;
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "schemas",
15
15
  "scalar"
16
16
  ],
17
- "version": "0.9.0",
17
+ "version": "0.11.0",
18
18
  "engines": {
19
19
  "node": ">=22"
20
20
  },
@@ -41,12 +41,12 @@
41
41
  "CHANGELOG.md"
42
42
  ],
43
43
  "dependencies": {
44
- "@scalar/helpers": "0.11.3",
45
- "@scalar/validation": "0.6.3"
44
+ "@scalar/helpers": "0.13.0",
45
+ "@scalar/validation": "0.6.4"
46
46
  },
47
47
  "devDependencies": {
48
- "vitest": "4.1.10",
49
- "@scalar/types": "0.19.0"
48
+ "@scalar/types": "0.21.0",
49
+ "vitest": "4.1.10"
50
50
  },
51
51
  "scripts": {
52
52
  "build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",