@scalar/schemas 0.4.3 → 0.5.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,18 @@
1
1
  # @scalar/schemas
2
2
 
3
+ ## 0.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#9478](https://github.com/scalar/scalar/pull/9478): Add `content.start` plugin view slot and `sidebar` visibility option for plugin view components.
8
+ - **`content.start`**: A new view slot that renders custom plugin components **before** the Introduction/Info section (at the top of the content area).
9
+ - **`sidebar` option on `ViewComponent`**: Plugins can now opt-in to display a sidebar entry for their custom views by providing `sidebar: { show: true, label: 'My Page' }`. Omitting `sidebar` or setting `show: false` hides the entry from the sidebar. The entry hooks into the existing navigation, so clicking it scrolls to the plugin view and it highlights as it scrolls into view.
10
+
11
+ ### Patch Changes
12
+
13
+ - [#9529](https://github.com/scalar/scalar/pull/9529): Remove the unused `isLoading` configuration option. It was never wired to a consumer, so it had no effect on the rendered references.
14
+ - [#9528](https://github.com/scalar/scalar/pull/9528): Remove the unused `onSpecUpdate` configuration option. It was never wired to a consumer, so the callback never fired.
15
+
3
16
  ## 0.4.3
4
17
 
5
18
  ### Patch Changes
@@ -51,10 +51,23 @@ export declare const apiReferenceConfigurationSchema: import("@scalar/validation
51
51
  renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
52
52
  }>>[];
53
53
  views: import("@scalar/validation").Static<import("@scalar/validation").ObjectSchema<{
54
+ 'content.start': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
55
+ component: import("@scalar/validation").UnknownSchema;
56
+ renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
57
+ props: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").AnySchema>>;
58
+ sidebar: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
59
+ show: import("@scalar/validation").BooleanSchema;
60
+ label: import("@scalar/validation").StringSchema;
61
+ }>>;
62
+ }>>>;
54
63
  'content.end': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
55
64
  component: import("@scalar/validation").UnknownSchema;
56
65
  renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
57
66
  props: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").AnySchema>>;
67
+ sidebar: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
68
+ show: import("@scalar/validation").BooleanSchema;
69
+ label: import("@scalar/validation").StringSchema;
70
+ }>>;
58
71
  }>>>;
59
72
  }>>;
60
73
  hooks: import("@scalar/validation").Static<import("@scalar/validation").ObjectSchema<{
@@ -69,7 +82,6 @@ export declare const apiReferenceConfigurationSchema: import("@scalar/validation
69
82
  apiClientPlugins: any[];
70
83
  }>>>;
71
84
  isEditable: import("@scalar/validation").BooleanSchema;
72
- isLoading: import("@scalar/validation").BooleanSchema;
73
85
  hideModels: import("@scalar/validation").BooleanSchema;
74
86
  modelsSectionLabel: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnionSchema<readonly [import("@scalar/validation").LiteralSchema<"Models">, import("@scalar/validation").LiteralSchema<"Schemas">, import("@scalar/validation").StringSchema]>>;
75
87
  documentDownloadType: import("@scalar/validation").UnionSchema<readonly [import("@scalar/validation").LiteralSchema<"both">, import("@scalar/validation").LiteralSchema<"yaml">, import("@scalar/validation").LiteralSchema<"json">, import("@scalar/validation").LiteralSchema<"direct">, import("@scalar/validation").LiteralSchema<"none">]>;
@@ -88,7 +100,6 @@ export declare const apiReferenceConfigurationSchema: import("@scalar/validation
88
100
  clientKey: import("@scalar/validation").StringSchema;
89
101
  }>>;
90
102
  customCss: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
91
- onSpecUpdate: import("@scalar/validation").OptionalSchema<import("@scalar/validation").FunctionSchema<(input: string) => void>>;
92
103
  onServerChange: import("@scalar/validation").OptionalSchema<import("@scalar/validation").FunctionSchema<(input: string) => void>>;
93
104
  onDocumentSelect: import("@scalar/validation").OptionalSchema<import("@scalar/validation").FunctionSchema<() => void>>;
94
105
  onLoaded: import("@scalar/validation").OptionalSchema<import("@scalar/validation").FunctionSchema<(slug: string) => Promise<void> | void>>;
@@ -190,7 +201,6 @@ export declare const apiReferenceConfigurationWithSourceSchema: (rawInput: unkno
190
201
  } & {
191
202
  layout: "modern" | "classic";
192
203
  isEditable: boolean;
193
- isLoading: boolean;
194
204
  hideModels: boolean;
195
205
  documentDownloadType: "none" | "both" | "yaml" | "json" | "direct";
196
206
  hideTestRequestButton: boolean;
@@ -217,10 +227,23 @@ export declare const apiReferenceConfigurationWithSourceSchema: (rawInput: unkno
217
227
  renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
218
228
  }>>[];
219
229
  views: import("@scalar/validation").Static<import("@scalar/validation").ObjectSchema<{
230
+ 'content.start': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
231
+ component: import("@scalar/validation").UnknownSchema;
232
+ renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
233
+ props: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").AnySchema>>;
234
+ sidebar: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
235
+ show: import("@scalar/validation").BooleanSchema;
236
+ label: import("@scalar/validation").StringSchema;
237
+ }>>;
238
+ }>>>;
220
239
  'content.end': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
221
240
  component: import("@scalar/validation").UnknownSchema;
222
241
  renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
223
242
  props: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").AnySchema>>;
243
+ sidebar: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
244
+ show: import("@scalar/validation").BooleanSchema;
245
+ label: import("@scalar/validation").StringSchema;
246
+ }>>;
224
247
  }>>>;
225
248
  }>>;
226
249
  hooks: import("@scalar/validation").Static<import("@scalar/validation").ObjectSchema<{
@@ -246,7 +269,6 @@ export declare const apiReferenceConfigurationWithSourceSchema: (rawInput: unkno
246
269
  clientKey: string;
247
270
  } | undefined;
248
271
  customCss?: string | undefined;
249
- onSpecUpdate?: ((input: string) => void) | undefined;
250
272
  onServerChange?: ((input: string) => void) | undefined;
251
273
  onDocumentSelect?: (() => void) | undefined;
252
274
  onLoaded?: ((slug: string) => Promise<void> | void) | undefined;
@@ -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":"AAqBA,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oHAyFJ,MAAM,KAAK,IAAI;oHAGf,IAAI;6GAGX,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;qHAKhD;QACN,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,EAAE,OAAO,CAAA;QACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACrC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;gHAOE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;mHAG5B,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;;;;;;;;;yHA4BzB;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM;uHAG9B;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM;qHAG9B;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM;2HAIpD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM;yHAKvD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM;kHAGnD;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,MAAM;8GAG3E,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;oNA+Bb,GAAG,KAAK,GAAG,KAAK,MAAM;gRAGG,GAAG,KAAK,GAAG,KAAK,MAAM;;;IAWtG,CAAA;AAKF,eAAO,MAAM,yCAAyC,GAAI,UAAU,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA5HnC,MAAM,KAAK,IAAI;8BAGf,IAAI;uBAGX,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;+BAKhD;QACN,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,EAAE,OAAO,CAAA;QACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACrC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;0BAOE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;6BAG5B,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;;;;;;;;;mCA4BzB;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM;iCAG9B;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM;+BAG9B;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM;qCAIpD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM;mCAKvD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM;4BAGnD;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,MAAM;wBAG3E,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS;gCA+Bb,GAAG,KAAK,GAAG,KAAK,MAAM;iDAGG,GAAG,KAAK,GAAG,KAAK,MAAM;CAuFvG,CAAA"}
@@ -26,10 +26,6 @@ export const apiReferenceConfigurationSchema = intersection([
26
26
  default: false,
27
27
  typeComment: 'Allows the user to inject an editor for the spec',
28
28
  }),
29
- isLoading: boolean({
30
- default: false,
31
- typeComment: 'Controls whether the references show a loading state in the intro',
32
- }),
33
29
  hideModels: boolean({
34
30
  default: false,
35
31
  typeComment: 'Whether to show models in the sidebar, search, and content.',
@@ -83,9 +79,6 @@ export const apiReferenceConfigurationSchema = intersection([
83
79
  customCss: optional(string(), {
84
80
  typeComment: 'Custom CSS to be added to the page',
85
81
  }),
86
- onSpecUpdate: optional(fn(), {
87
- typeComment: 'onSpecUpdate is fired on spec/swagger content change',
88
- }),
89
82
  onServerChange: optional(fn(), {
90
83
  typeComment: 'onServerChange is fired on selected server change',
91
84
  }),
@@ -5,10 +5,23 @@ declare const openApiExtensionSchema: import("@scalar/validation").ObjectSchema<
5
5
  renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
6
6
  }>;
7
7
  declare const viewsSchema: import("@scalar/validation").ObjectSchema<{
8
+ 'content.start': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
9
+ component: import("@scalar/validation").UnknownSchema;
10
+ renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
11
+ props: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").AnySchema>>;
12
+ sidebar: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
13
+ show: import("@scalar/validation").BooleanSchema;
14
+ label: import("@scalar/validation").StringSchema;
15
+ }>>;
16
+ }>>>;
8
17
  'content.end': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ArraySchema<import("@scalar/validation").ObjectSchema<{
9
18
  component: import("@scalar/validation").UnknownSchema;
10
19
  renderer: import("@scalar/validation").OptionalSchema<import("@scalar/validation").UnknownSchema>;
11
20
  props: import("@scalar/validation").OptionalSchema<import("@scalar/validation").RecordSchema<import("@scalar/validation").StringSchema, import("@scalar/validation").AnySchema>>;
21
+ sidebar: import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
22
+ show: import("@scalar/validation").BooleanSchema;
23
+ label: import("@scalar/validation").StringSchema;
24
+ }>>;
12
25
  }>>>;
13
26
  }>;
14
27
  declare const lifecycleHooksSchema: import("@scalar/validation").ObjectSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"api-reference-plugin.d.ts","sourceRoot":"","sources":["../../src/api-reference/api-reference-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAA6D,MAAM,oBAAoB,CAAA;AAE3G,QAAA,MAAM,sBAAsB;;;;EAY1B,CAAA;AAgBF,QAAA,MAAM,WAAW;;;;;;EAIf,CAAA;AAEF,QAAA,MAAM,oBAAoB;iHACS;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI;yHAChB;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI;6GACpC,IAAI;EACjC,CAAA;AAEF,eAAO,MAAM,wBAAwB,oDAE3B;IACJ,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAC,OAAO,sBAAsB,CAAC,EAAE,CAAA;IACnD,KAAK,EAAE,MAAM,CAAC,OAAO,WAAW,CAAC,CAAA;IACjC,KAAK,EAAE,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;IAC1C,gBAAgB,EAAE,GAAG,EAAE,CAAA;CACxB,CACA,CAAA"}
1
+ {"version":3,"file":"api-reference-plugin.d.ts","sourceRoot":"","sources":["../../src/api-reference/api-reference-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAsE,MAAM,oBAAoB,CAAA;AAEpH,QAAA,MAAM,sBAAsB;;;;EAY1B,CAAA;AAyBF,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;EAOf,CAAA;AAEF,QAAA,MAAM,oBAAoB;iHACS;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI;yHAChB;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI;6GACpC,IAAI;EACjC,CAAA;AAEF,eAAO,MAAM,wBAAwB,oDAE3B;IACJ,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAC,OAAO,sBAAsB,CAAC,EAAE,CAAA;IACnD,KAAK,EAAE,MAAM,CAAC,OAAO,WAAW,CAAC,CAAA;IACjC,KAAK,EAAE,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;IAC1C,gBAAgB,EAAE,GAAG,EAAE,CAAA;CACxB,CACA,CAAA"}
@@ -1,4 +1,4 @@
1
- import { any, array, fn, object, optional, record, string, unknown } from '@scalar/validation';
1
+ import { any, array, boolean, fn, object, optional, record, string, unknown } from '@scalar/validation';
2
2
  const openApiExtensionSchema = object({
3
3
  name: string({
4
4
  typeComment: 'Name of specification extension property. Has to start with \`x-\`.',
@@ -20,8 +20,17 @@ const viewComponentSchema = object({
20
20
  props: optional(record(string(), any()), {
21
21
  typeComment: 'Additional props to pass to the component',
22
22
  }),
23
+ sidebar: optional(object({
24
+ show: boolean(),
25
+ label: string(),
26
+ }), {
27
+ typeComment: 'Sidebar configuration. Set show: true to display in sidebar.',
28
+ }),
23
29
  });
24
30
  const viewsSchema = object({
31
+ 'content.start': optional(array(viewComponentSchema), {
32
+ typeComment: 'Components to render before the Introduction/Info section',
33
+ }),
25
34
  'content.end': optional(array(viewComponentSchema), {
26
35
  typeComment: 'Components to render at specific views in the API Reference',
27
36
  }),
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "schemas",
15
15
  "scalar"
16
16
  ],
17
- "version": "0.4.3",
17
+ "version": "0.5.0",
18
18
  "engines": {
19
19
  "node": ">=22"
20
20
  },
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "devDependencies": {
48
48
  "vitest": "4.1.0",
49
- "@scalar/types": "0.13.3"
49
+ "@scalar/types": "0.14.0"
50
50
  },
51
51
  "scripts": {
52
52
  "build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",