@redocly/config 0.8.2 → 0.10.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.
@@ -0,0 +1,556 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scorecardConfigSchema = exports.catalogsConfigSchema = exports.catalogSchema = exports.catalogFilterSchema = exports.breadcrumbsConfigSchema = exports.versionPickerConfigSchema = exports.userMenuConfigSchema = exports.analyticsConfigSchema = exports.googleAnalyticsConfigSchema = exports.productGoogleAnalyticsConfigSchema = exports.gtmAnalyticsConfigSchema = exports.segmentAnalyticsConfigSchema = exports.rudderstackAnalyticsConfigSchema = exports.heapAnalyticsConfigSchema = exports.fullstoryAnalyticsConfigSchema = exports.amplitudeAnalyticsConfigSchema = exports.openapiConfigSchema = exports.markdownConfigSchema = exports.codeSnippetConfigSchema = exports.navigationConfigSchema = exports.colorModeConfigSchema = exports.searchConfigSchema = exports.linksConfigSchema = exports.scriptsConfigSchema = exports.sidebarConfigSchema = exports.footerConfigSchema = exports.productsConfigSchema = exports.navbarConfigSchema = exports.logoConfigSchema = exports.productConfigSchema = exports.navItemsSchema = void 0;
4
+ const redoc_config_schema_1 = require("./redoc-config-schema");
5
+ const reference_docs_config_schema_1 = require("./reference-docs-config-schema");
6
+ const hideConfigSchema = {
7
+ type: 'object',
8
+ properties: {
9
+ hide: { type: 'boolean' },
10
+ },
11
+ additionalProperties: false,
12
+ };
13
+ const scriptConfigSchema = {
14
+ type: 'object',
15
+ properties: {
16
+ src: { type: 'string' },
17
+ async: { type: 'boolean' },
18
+ crossorigin: { type: 'string' },
19
+ defer: { type: 'boolean' },
20
+ fetchpriority: { type: 'string' },
21
+ integrity: { type: 'string' },
22
+ module: { type: 'boolean' },
23
+ nomodule: { type: 'boolean' },
24
+ nonce: { type: 'string' },
25
+ referrerpolicy: { type: 'string' },
26
+ type: { type: 'string' },
27
+ },
28
+ required: ['src'],
29
+ additionalProperties: true,
30
+ };
31
+ const navItemSchema = {
32
+ type: 'object',
33
+ properties: {
34
+ page: { type: 'string' },
35
+ directory: { type: 'string' },
36
+ disconnect: { type: 'boolean', default: false },
37
+ group: { type: 'string' },
38
+ label: { type: 'string' },
39
+ href: { type: 'string' },
40
+ external: { type: 'boolean' },
41
+ labelTranslationKey: { type: 'string' },
42
+ groupTranslationKey: { type: 'string' },
43
+ icon: {
44
+ oneOf: [
45
+ { type: 'string' },
46
+ { type: 'object', properties: { srcSet: { type: 'string' } }, required: ['srcSet'] },
47
+ ],
48
+ },
49
+ separator: { type: 'string' },
50
+ separatorLine: { type: 'boolean' },
51
+ linePosition: {
52
+ type: 'string',
53
+ enum: ['top', 'bottom'],
54
+ default: 'top',
55
+ },
56
+ version: { type: 'string' },
57
+ menuStyle: { type: 'string', enum: ['drilldown'] },
58
+ expanded: { type: 'string', const: 'always' },
59
+ selectFirstItemOnExpand: { type: 'boolean' },
60
+ flatten: { type: 'boolean' },
61
+ linkedSidebars: {
62
+ type: 'array',
63
+ items: { type: 'string' },
64
+ },
65
+ // Allow users to eject the navbar and implement additional levels of nesting
66
+ items: { type: 'array', items: { type: 'object', additionalProperties: true } },
67
+ },
68
+ };
69
+ exports.navItemsSchema = {
70
+ type: 'array',
71
+ items: Object.assign(Object.assign({}, navItemSchema), { properties: Object.assign(Object.assign({}, navItemSchema.properties), { items: { type: 'array', items: navItemSchema } }) }),
72
+ };
73
+ exports.productConfigSchema = {
74
+ type: 'object',
75
+ properties: {
76
+ name: { type: 'string' },
77
+ icon: { type: 'string' },
78
+ folder: { type: 'string' },
79
+ },
80
+ additionalProperties: false,
81
+ required: ['name', 'folder'],
82
+ };
83
+ const suggestedPageSchema = {
84
+ type: 'object',
85
+ properties: {
86
+ page: { type: 'string' },
87
+ label: { type: 'string' },
88
+ labelTranslationKey: { type: 'string' },
89
+ },
90
+ required: ['page'],
91
+ };
92
+ exports.logoConfigSchema = {
93
+ type: 'object',
94
+ properties: {
95
+ image: { type: 'string' },
96
+ srcSet: { type: 'string' },
97
+ altText: { type: 'string' },
98
+ link: { type: 'string' },
99
+ favicon: { type: 'string' },
100
+ },
101
+ additionalProperties: false,
102
+ };
103
+ exports.navbarConfigSchema = {
104
+ type: 'object',
105
+ properties: Object.assign({ items: exports.navItemsSchema }, hideConfigSchema.properties),
106
+ additionalProperties: false,
107
+ };
108
+ exports.productsConfigSchema = {
109
+ type: 'object',
110
+ additionalProperties: exports.productConfigSchema,
111
+ };
112
+ exports.footerConfigSchema = {
113
+ type: 'object',
114
+ properties: Object.assign({ items: exports.navItemsSchema, copyrightText: { type: 'string' }, logo: hideConfigSchema }, hideConfigSchema.properties),
115
+ additionalProperties: false,
116
+ };
117
+ exports.sidebarConfigSchema = {
118
+ type: 'object',
119
+ properties: Object.assign({ separatorLine: { type: 'boolean' }, linePosition: {
120
+ type: 'string',
121
+ enum: ['top', 'bottom'],
122
+ default: 'bottom',
123
+ } }, hideConfigSchema.properties),
124
+ additionalProperties: false,
125
+ };
126
+ exports.scriptsConfigSchema = {
127
+ type: 'object',
128
+ properties: {
129
+ head: { type: 'array', items: scriptConfigSchema },
130
+ body: { type: 'array', items: scriptConfigSchema },
131
+ },
132
+ additionalProperties: false,
133
+ };
134
+ exports.linksConfigSchema = {
135
+ type: 'array',
136
+ items: {
137
+ type: 'object',
138
+ properties: {
139
+ href: { type: 'string' },
140
+ as: { type: 'string' },
141
+ crossorigin: { type: 'string' },
142
+ fetchpriority: { type: 'string' },
143
+ hreflang: { type: 'string' },
144
+ imagesizes: { type: 'string' },
145
+ imagesrcset: { type: 'string' },
146
+ integrity: { type: 'string' },
147
+ media: { type: 'string' },
148
+ prefetch: { type: 'string' },
149
+ referrerpolicy: { type: 'string' },
150
+ rel: { type: 'string' },
151
+ sizes: { type: 'string' },
152
+ title: { type: 'string' },
153
+ type: { type: 'string' },
154
+ },
155
+ required: ['href'],
156
+ additionalProperties: true,
157
+ },
158
+ };
159
+ exports.searchConfigSchema = {
160
+ type: 'object',
161
+ properties: Object.assign({ placement: {
162
+ type: 'string',
163
+ default: 'navbar',
164
+ }, shortcuts: {
165
+ type: 'array',
166
+ items: { type: 'string' },
167
+ default: ['/'],
168
+ }, suggestedPages: {
169
+ type: 'array',
170
+ items: suggestedPageSchema,
171
+ }, fuzzy: {
172
+ type: 'boolean',
173
+ default: false,
174
+ } }, hideConfigSchema.properties),
175
+ additionalProperties: false,
176
+ };
177
+ exports.colorModeConfigSchema = {
178
+ type: 'object',
179
+ properties: Object.assign({ ignoreDetection: { type: 'boolean' }, modes: {
180
+ type: 'array',
181
+ items: { type: 'string' },
182
+ default: ['light', 'dark'],
183
+ } }, hideConfigSchema.properties),
184
+ additionalProperties: false,
185
+ };
186
+ exports.navigationConfigSchema = {
187
+ type: 'object',
188
+ properties: {
189
+ nextButton: {
190
+ type: 'object',
191
+ properties: Object.assign({ text: { type: 'string', default: 'Next page' } }, hideConfigSchema.properties),
192
+ additionalProperties: false,
193
+ default: {},
194
+ },
195
+ previousButton: {
196
+ type: 'object',
197
+ properties: Object.assign({ text: { type: 'string', default: 'Previous page' } }, hideConfigSchema.properties),
198
+ additionalProperties: false,
199
+ default: {},
200
+ },
201
+ },
202
+ additionalProperties: false,
203
+ };
204
+ exports.codeSnippetConfigSchema = {
205
+ type: 'object',
206
+ properties: {
207
+ elementFormat: { type: 'string', default: 'icon' },
208
+ copy: {
209
+ type: 'object',
210
+ properties: Object.assign({}, hideConfigSchema.properties),
211
+ additionalProperties: false,
212
+ default: { hide: false },
213
+ },
214
+ report: {
215
+ type: 'object',
216
+ properties: Object.assign({ tooltipText: { type: 'string' }, buttonText: { type: 'string' }, label: { type: 'string' } }, hideConfigSchema.properties),
217
+ additionalProperties: false,
218
+ default: { hide: false },
219
+ },
220
+ expand: {
221
+ type: 'object',
222
+ properties: Object.assign({}, hideConfigSchema.properties),
223
+ additionalProperties: false,
224
+ default: { hide: false },
225
+ },
226
+ collapse: {
227
+ type: 'object',
228
+ properties: Object.assign({}, hideConfigSchema.properties),
229
+ additionalProperties: false,
230
+ default: { hide: false },
231
+ },
232
+ },
233
+ additionalProperties: false,
234
+ };
235
+ exports.markdownConfigSchema = {
236
+ type: 'object',
237
+ properties: {
238
+ frontMatterKeysToResolve: {
239
+ type: 'array',
240
+ items: { type: 'string' },
241
+ default: ['image', 'links'],
242
+ },
243
+ partialsFolders: {
244
+ type: 'array',
245
+ items: { type: 'string' },
246
+ default: ['_partials'],
247
+ },
248
+ lastUpdatedBlock: {
249
+ type: 'object',
250
+ properties: Object.assign({ format: {
251
+ type: 'string',
252
+ enum: ['timeago', 'iso', 'long', 'short'],
253
+ default: 'timeago',
254
+ }, locale: { type: 'string' } }, hideConfigSchema.properties),
255
+ additionalProperties: false,
256
+ default: {},
257
+ },
258
+ toc: {
259
+ type: 'object',
260
+ properties: Object.assign({ header: { type: 'string', default: 'On this page' }, depth: { type: 'integer', default: 3, minimum: 1 } }, hideConfigSchema.properties),
261
+ additionalProperties: false,
262
+ default: {},
263
+ },
264
+ editPage: {
265
+ type: 'object',
266
+ properties: Object.assign({ baseUrl: { type: 'string' } }, hideConfigSchema.properties),
267
+ additionalProperties: false,
268
+ default: {},
269
+ },
270
+ },
271
+ additionalProperties: false,
272
+ default: {},
273
+ };
274
+ exports.openapiConfigSchema = Object.assign(Object.assign({}, redoc_config_schema_1.redocConfigSchema), { properties: Object.assign(Object.assign({}, redoc_config_schema_1.redocConfigSchema.properties), reference_docs_config_schema_1.deprecatedRefDocsSchema.properties) });
275
+ const adobeAnalyticsConfigSchema = {
276
+ type: 'object',
277
+ properties: {
278
+ includeInDevelopment: { type: 'boolean' },
279
+ scriptUrl: { type: 'string' },
280
+ pageViewEventName: { type: 'string' },
281
+ },
282
+ additionalProperties: false,
283
+ required: ['scriptUrl'],
284
+ };
285
+ exports.amplitudeAnalyticsConfigSchema = {
286
+ type: 'object',
287
+ properties: {
288
+ includeInDevelopment: { type: 'boolean' },
289
+ apiKey: { type: 'string' },
290
+ head: { type: 'boolean' },
291
+ respectDNT: { type: 'boolean' },
292
+ exclude: { type: 'array', items: { type: 'string' } },
293
+ outboundClickEventName: { type: 'string' },
294
+ pageViewEventName: { type: 'string' },
295
+ amplitudeConfig: { type: 'object', additionalProperties: true },
296
+ },
297
+ additionalProperties: false,
298
+ required: ['apiKey'],
299
+ };
300
+ exports.fullstoryAnalyticsConfigSchema = {
301
+ type: 'object',
302
+ properties: {
303
+ includeInDevelopment: { type: 'boolean' },
304
+ orgId: { type: 'string' },
305
+ },
306
+ additionalProperties: false,
307
+ required: ['orgId'],
308
+ };
309
+ exports.heapAnalyticsConfigSchema = {
310
+ type: 'object',
311
+ properties: {
312
+ includeInDevelopment: { type: 'boolean' },
313
+ appId: { type: 'string' },
314
+ },
315
+ additionalProperties: false,
316
+ required: ['appId'],
317
+ };
318
+ exports.rudderstackAnalyticsConfigSchema = {
319
+ type: 'object',
320
+ properties: {
321
+ includeInDevelopment: { type: 'boolean' },
322
+ writeKey: { type: 'string', minLength: 10 },
323
+ trackPage: { type: 'boolean' },
324
+ dataPlaneUrl: { type: 'string' },
325
+ controlPlaneUrl: { type: 'string' },
326
+ sdkUrl: { type: 'string' },
327
+ loadOptions: { type: 'object', additionalProperties: true },
328
+ },
329
+ additionalProperties: false,
330
+ required: ['writeKey'],
331
+ };
332
+ exports.segmentAnalyticsConfigSchema = {
333
+ type: 'object',
334
+ properties: {
335
+ includeInDevelopment: { type: 'boolean' },
336
+ writeKey: { type: 'string', minLength: 10 },
337
+ trackPage: { type: 'boolean' },
338
+ includeTitleInPageCall: { type: 'boolean' },
339
+ host: { type: 'string' },
340
+ },
341
+ additionalProperties: false,
342
+ required: ['writeKey'],
343
+ };
344
+ exports.gtmAnalyticsConfigSchema = {
345
+ type: 'object',
346
+ properties: {
347
+ includeInDevelopment: { type: 'boolean' },
348
+ trackingId: { type: 'string' },
349
+ gtmAuth: { type: 'string' },
350
+ gtmPreview: { type: 'string' },
351
+ defaultDataLayer: {},
352
+ dataLayerName: { type: 'string' },
353
+ enableWebVitalsTracking: { type: 'boolean' },
354
+ selfHostedOrigin: { type: 'string' },
355
+ pageViewEventName: { type: 'string' },
356
+ },
357
+ additionalProperties: false,
358
+ required: ['trackingId'],
359
+ };
360
+ exports.productGoogleAnalyticsConfigSchema = {
361
+ type: 'object',
362
+ properties: {
363
+ includeInDevelopment: { type: 'boolean' },
364
+ trackingId: { type: 'string' },
365
+ conversionId: { type: 'string' },
366
+ floodlightId: { type: 'string' },
367
+ optimizeId: { type: 'string' },
368
+ exclude: { type: 'array', items: { type: 'string' } },
369
+ },
370
+ additionalProperties: false,
371
+ required: ['trackingId'],
372
+ };
373
+ exports.googleAnalyticsConfigSchema = {
374
+ type: 'object',
375
+ properties: {
376
+ includeInDevelopment: { type: 'boolean' },
377
+ trackingId: { type: 'string' },
378
+ conversionId: { type: 'string' },
379
+ floodlightId: { type: 'string' },
380
+ head: { type: 'boolean' },
381
+ respectDNT: { type: 'boolean' },
382
+ exclude: { type: 'array', items: { type: 'string' } },
383
+ optimizeId: { type: 'string' },
384
+ anonymizeIp: { type: 'boolean' },
385
+ cookieExpires: { type: 'number' },
386
+ // All enabled tracking configs
387
+ trackers: {
388
+ type: 'object',
389
+ additionalProperties: exports.productGoogleAnalyticsConfigSchema,
390
+ },
391
+ },
392
+ additionalProperties: false,
393
+ required: ['trackingId'],
394
+ };
395
+ exports.analyticsConfigSchema = {
396
+ type: 'object',
397
+ properties: {
398
+ adobe: adobeAnalyticsConfigSchema,
399
+ amplitude: exports.amplitudeAnalyticsConfigSchema,
400
+ fullstory: exports.fullstoryAnalyticsConfigSchema,
401
+ heap: exports.heapAnalyticsConfigSchema,
402
+ rudderstack: exports.rudderstackAnalyticsConfigSchema,
403
+ segment: exports.segmentAnalyticsConfigSchema,
404
+ gtm: exports.gtmAnalyticsConfigSchema,
405
+ ga: exports.googleAnalyticsConfigSchema,
406
+ },
407
+ };
408
+ exports.userMenuConfigSchema = {
409
+ type: 'object',
410
+ properties: Object.assign({ items: {
411
+ type: 'array',
412
+ items: {
413
+ type: 'object',
414
+ properties: {
415
+ label: { type: 'string' },
416
+ external: { type: 'boolean' },
417
+ link: { type: 'string' },
418
+ separatorLine: { type: 'boolean' },
419
+ },
420
+ additionalProperties: true,
421
+ },
422
+ default: [],
423
+ }, hideLoginButton: { type: 'boolean' } }, hideConfigSchema.properties),
424
+ additionalProperties: false,
425
+ };
426
+ exports.versionPickerConfigSchema = {
427
+ type: 'object',
428
+ properties: {
429
+ hide: { type: 'boolean' },
430
+ showForUnversioned: {
431
+ type: 'boolean',
432
+ },
433
+ },
434
+ };
435
+ exports.breadcrumbsConfigSchema = {
436
+ type: 'object',
437
+ properties: {
438
+ hide: { type: 'boolean' },
439
+ prefixItems: {
440
+ type: 'array',
441
+ items: {
442
+ type: 'object',
443
+ properties: {
444
+ label: { type: 'string' },
445
+ labelTranslationKey: { type: 'string' },
446
+ page: { type: 'string' },
447
+ },
448
+ additionalProperties: false,
449
+ default: {},
450
+ },
451
+ },
452
+ },
453
+ additionalProperties: false,
454
+ };
455
+ exports.catalogFilterSchema = {
456
+ type: 'object',
457
+ additionalProperties: false,
458
+ required: ['title', 'property'],
459
+ properties: {
460
+ type: {
461
+ type: 'string',
462
+ enum: ['select', 'checkboxes', 'date-range'],
463
+ default: 'checkboxes',
464
+ },
465
+ title: { type: 'string' },
466
+ titleTranslationKey: { type: 'string' },
467
+ property: { type: 'string' },
468
+ parentFilter: { type: 'string' },
469
+ valuesMapping: { type: 'object', additionalProperties: { type: 'string' } },
470
+ missingCategoryName: { type: 'string' },
471
+ missingCategoryNameTranslationKey: { type: 'string' },
472
+ options: { type: 'array', items: { type: 'string' } },
473
+ },
474
+ };
475
+ exports.catalogSchema = {
476
+ type: 'object',
477
+ additionalProperties: true,
478
+ required: ['slug', 'items'],
479
+ properties: {
480
+ slug: { type: 'string' },
481
+ filters: { type: 'array', items: exports.catalogFilterSchema },
482
+ groupByFirstFilter: { type: 'boolean' },
483
+ filterValuesCasing: {
484
+ type: 'string',
485
+ enum: ['sentence', 'original', 'lowercase', 'uppercase'],
486
+ },
487
+ items: exports.navItemsSchema,
488
+ requiredPermission: { type: 'string' },
489
+ separateVersions: { type: 'boolean' },
490
+ title: { type: 'string' },
491
+ titleTranslationKey: { type: 'string' },
492
+ description: { type: 'string' },
493
+ descriptionTranslationKey: { type: 'string' },
494
+ },
495
+ };
496
+ exports.catalogsConfigSchema = {
497
+ type: 'object',
498
+ patternProperties: {
499
+ '.*': exports.catalogSchema,
500
+ },
501
+ };
502
+ exports.scorecardConfigSchema = {
503
+ type: 'object',
504
+ additionalProperties: true,
505
+ required: [],
506
+ properties: {
507
+ ignoreNonCompliant: { type: 'boolean', default: false },
508
+ teamMetadataProperty: {
509
+ type: 'object',
510
+ properties: {
511
+ property: { type: 'string' },
512
+ label: { type: 'string' },
513
+ default: { type: 'string' },
514
+ },
515
+ },
516
+ levels: {
517
+ type: 'array',
518
+ items: {
519
+ type: 'object',
520
+ required: ['name'],
521
+ properties: {
522
+ name: { type: 'string' },
523
+ color: { type: 'string' },
524
+ extends: { type: 'array', items: { type: 'string' } },
525
+ rules: {
526
+ type: 'object',
527
+ additionalProperties: {
528
+ oneOf: [{ type: 'string' }, { type: 'object' }],
529
+ },
530
+ },
531
+ },
532
+ additionalProperties: false,
533
+ },
534
+ },
535
+ targets: {
536
+ type: 'array',
537
+ items: {
538
+ type: 'object',
539
+ required: ['where'],
540
+ properties: {
541
+ minimumLevel: { type: 'string' },
542
+ where: {
543
+ type: 'object',
544
+ required: ['metadata'],
545
+ properties: {
546
+ metadata: { type: 'object', additionalProperties: { type: 'string' } },
547
+ },
548
+ additionalProperties: false,
549
+ },
550
+ },
551
+ additionalProperties: false,
552
+ },
553
+ },
554
+ },
555
+ };
556
+ //# sourceMappingURL=ex-theme-config-schemas.js.map
@@ -97,6 +97,4 @@ export declare const feedbackConfigSchema: {
97
97
  };
98
98
  };
99
99
  readonly additionalProperties: false;
100
- readonly default: null;
101
- readonly nullable: true;
102
100
  };
@@ -65,7 +65,5 @@ exports.feedbackConfigSchema = {
65
65
  },
66
66
  },
67
67
  additionalProperties: false,
68
- default: null,
69
- nullable: true,
70
68
  };
71
69
  //# sourceMappingURL=feedback-config-schema.js.map
@@ -280,8 +280,6 @@ export declare const graphqlConfigSchema: {
280
280
  };
281
281
  };
282
282
  readonly additionalProperties: false;
283
- readonly default: null;
284
- readonly nullable: true;
285
283
  };
286
284
  };
287
285
  readonly additionalProperties: false;
@@ -1,7 +1,7 @@
1
1
  import type { Node } from '@markdoc/markdoc/dist/src/types';
2
2
  import type { LayoutVariant, REDOCLY_ROUTE_RBAC, REDOCLY_TEAMS_RBAC } from './constants';
3
- import type { ProductConfig, ProductGoogleAnalyticsConfig, RbacScopeItems, SeoConfig, ThemeConfig } from './types';
4
- export type ThemeUIConfig = ThemeConfig & {
3
+ import type { ProductConfig, ProductGoogleAnalyticsConfig, RbacScopeItems, RedoclyConfig, SeoConfig } from './types';
4
+ export type UiAccessibleConfig = Pick<RedoclyConfig, 'logo' | 'navbar' | 'products' | 'footer' | 'sidebar' | 'scripts' | 'links' | 'feedback' | 'search' | 'colorMode' | 'navigation' | 'codeSnippet' | 'markdown' | 'openapi' | 'graphql' | 'analytics' | 'userMenu' | 'versionPicker' | 'breadcrumbs' | 'catalog' | 'scorecard'> & {
5
5
  auth?: {
6
6
  idpsInfo?: {
7
7
  idpId: string;
@@ -11,10 +11,6 @@ export type ThemeUIConfig = ThemeConfig & {
11
11
  devLogin?: boolean;
12
12
  loginUrls?: Record<string, string>;
13
13
  };
14
- search?: {
15
- shortcuts?: string[];
16
- suggestedPages?: any[];
17
- };
18
14
  breadcrumbs?: {
19
15
  prefixItems?: ResolvedNavLinkItem[];
20
16
  };
@@ -22,6 +18,10 @@ export type ThemeUIConfig = ThemeConfig & {
22
18
  [key: string]: ProductUiConfig;
23
19
  };
24
20
  };
21
+ /**
22
+ * @deprecated left for backwards compatibility. To be removed in Realm 1.0
23
+ */
24
+ export type ThemeUIConfig = UiAccessibleConfig;
25
25
  export type ResolvedNavLinkItem = {
26
26
  type: 'link';
27
27
  fsPath?: string;
@@ -144,13 +144,12 @@ export type ResolvedSidebar = {
144
144
  relatedNavbarItem?: BreadcrumbItem;
145
145
  items: ResolvedNavItem[];
146
146
  };
147
- export interface PageProps {
147
+ export type PageProps = {
148
148
  metadata?: Record<string, unknown>;
149
149
  seo?: SeoConfig;
150
150
  frontmatter?: Omit<PageProps, 'frontmatter'> & {
151
- theme?: any;
152
151
  settings?: any;
153
- };
152
+ } & Partial<UiAccessibleConfig>;
154
153
  disableAutoScroll?: boolean;
155
154
  lastModified?: string | null;
156
155
  [k: string]: unknown;
@@ -164,7 +163,7 @@ export interface PageProps {
164
163
  teams: string[];
165
164
  };
166
165
  };
167
- }
166
+ };
168
167
  export interface MdOptions {
169
168
  partials: Record<string, Node>;
170
169
  variables?: Record<string, any>;
@@ -267,7 +266,7 @@ export type BreadcrumbItem = {
267
266
  label: string;
268
267
  link?: string;
269
268
  };
270
- export type ProductThemeOverrideConfig = Pick<ThemeUIConfig, 'logo' | 'navbar' | 'footer' | 'sidebar' | 'search' | 'codeSnippet' | 'breadcrumbs' | 'feedback'> & {
269
+ export type ProductThemeOverrideConfig = Pick<RedoclyConfig, 'logo' | 'navbar' | 'footer' | 'sidebar' | 'search' | 'codeSnippet' | 'breadcrumbs' | 'feedback'> & {
271
270
  analytics?: {
272
271
  ga?: ProductGoogleAnalyticsConfig;
273
272
  };
@@ -281,5 +280,5 @@ export type ProductUiConfig = ProductConfig & {
281
280
  [REDOCLY_ROUTE_RBAC]?: {
282
281
  [key: string]: string;
283
282
  };
284
- themeOverride?: ProductThemeOverrideConfig;
283
+ configOverride?: ProductThemeOverrideConfig;
285
284
  };
@@ -112,8 +112,6 @@ export declare const redocConfigSchema: {
112
112
  };
113
113
  };
114
114
  readonly additionalProperties: false;
115
- readonly default: null;
116
- readonly nullable: true;
117
115
  };
118
116
  readonly hideReplay: {
119
117
  readonly type: "boolean";