@redocly/theme 0.34.0 → 0.35.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/src/config.ts CHANGED
@@ -1,781 +1,33 @@
1
- import type { FromSchema } from 'json-schema-to-ts';
2
- import type { MenuStyle, ResolvedNavLinkItem } from './types/portal';
3
- import type { REDOCLY_TEAMS_RBAC } from './types/portal/src/shared/constants';
4
-
5
- const logoConfigSchema = {
6
- type: 'object',
7
- properties: {
8
- image: { type: 'string' },
9
- srcSet: { type: 'string' },
10
- altText: { type: 'string' },
11
- link: { type: 'string' },
12
- favicon: { type: 'string' },
13
- },
14
- additionalProperties: false,
15
- } as const;
16
-
17
- const hideConfigSchema = {
18
- type: 'object',
19
- properties: {
20
- hide: { type: 'boolean' },
21
- },
22
- additionalProperties: false,
23
- } as const;
24
-
25
- const scriptConfigSchema = {
26
- type: 'object',
27
- properties: {
28
- src: { type: 'string' },
29
- async: { type: 'boolean' },
30
- crossorigin: { type: 'string' },
31
- defer: { type: 'boolean' },
32
- fetchpriority: { type: 'string' },
33
- integrity: { type: 'string' },
34
- module: { type: 'boolean' },
35
- nomodule: { type: 'boolean' },
36
- nonce: { type: 'string' },
37
- referrerpolicy: { type: 'string' },
38
- type: { type: 'string' },
39
- },
40
- required: ['src'],
41
- additionalProperties: true,
42
- } as const;
43
-
44
- const linksConfigSchema = {
45
- type: 'object',
46
- properties: {
47
- href: { type: 'string' },
48
- as: { type: 'string' },
49
- crossorigin: { type: 'string' },
50
- fetchpriority: { type: 'string' },
51
- hreflang: { type: 'string' },
52
- imagesizes: { type: 'string' },
53
- imagesrcset: { type: 'string' },
54
- integrity: { type: 'string' },
55
- media: { type: 'string' },
56
- prefetch: { type: 'string' },
57
- referrerpolicy: { type: 'string' },
58
- rel: { type: 'string' },
59
- sizes: { type: 'string' },
60
- title: { type: 'string' },
61
- type: { type: 'string' },
62
- },
63
- required: ['href'],
64
- additionalProperties: true,
65
- } as const;
66
-
67
- const markdownConfigSchema = {
68
- type: 'object',
69
- properties: {
70
- frontMatterKeysToResolve: {
71
- type: 'array',
72
- items: { type: 'string' },
73
- default: ['image', 'links'],
74
- },
75
- partialsFolders: {
76
- type: 'array',
77
- items: { type: 'string' },
78
- default: ['_partials'],
79
- },
80
- lastUpdatedBlock: {
81
- type: 'object',
82
- properties: {
83
- format: {
84
- type: 'string',
85
- enum: ['timeago', 'iso', 'long', 'short'],
86
- default: 'timeago',
87
- },
88
- locale: { type: 'string' },
89
- ...hideConfigSchema.properties,
90
- },
91
- additionalProperties: false,
92
- default: {},
93
- },
94
- toc: {
95
- type: 'object',
96
- properties: {
97
- header: { type: 'string', default: 'On this page' },
98
- depth: { type: 'integer', default: 3, minimum: 1 },
99
- ...hideConfigSchema.properties,
100
- },
101
- additionalProperties: false,
102
- default: {},
103
- },
104
- editPage: {
105
- type: 'object',
106
- properties: {
107
- baseUrl: { type: 'string' },
108
- ...hideConfigSchema.properties,
109
- },
110
- additionalProperties: false,
111
- default: {},
112
- },
113
- },
114
- additionalProperties: false,
115
- default: {},
116
- } as const;
117
-
118
- const amplitudeAnalyticsConfigSchema = {
119
- type: 'object',
120
- properties: {
121
- includeInDevelopment: { type: 'boolean' },
122
- apiKey: { type: 'string' },
123
- head: { type: 'boolean' },
124
- respectDNT: { type: 'boolean' },
125
- exclude: { type: 'array', items: { type: 'string' } },
126
- outboundClickEventName: { type: 'string' },
127
- pageViewEventName: { type: 'string' },
128
- amplitudeConfig: { type: 'object', additionalProperties: true },
129
- },
130
- additionalProperties: false,
131
- required: ['apiKey'],
132
- } as const;
133
-
134
- const fullstoryAnalyticsConfigSchema = {
135
- type: 'object',
136
- properties: {
137
- includeInDevelopment: { type: 'boolean' },
138
- orgId: { type: 'string' },
139
- },
140
- additionalProperties: false,
141
- required: ['orgId'],
142
- } as const;
143
-
144
- const heapAnalyticsConfigSchema = {
145
- type: 'object',
146
- properties: {
147
- includeInDevelopment: { type: 'boolean' },
148
- appId: { type: 'string' },
149
- },
150
- additionalProperties: false,
151
- required: ['appId'],
152
- } as const;
153
-
154
- const rudderstackAnalyticsConfigSchema = {
155
- type: 'object',
156
- properties: {
157
- includeInDevelopment: { type: 'boolean' },
158
- writeKey: { type: 'string', minLength: 10 },
159
- trackPage: { type: 'boolean' },
160
- dataPlaneUrl: { type: 'string' },
161
- controlPlaneUrl: { type: 'string' },
162
- sdkUrl: { type: 'string' },
163
- loadOptions: { type: 'object', additionalProperties: true },
164
- },
165
- additionalProperties: false,
166
- required: ['writeKey'],
167
- } as const;
168
-
169
- const segmentAnalyticsConfigSchema = {
170
- type: 'object',
171
- properties: {
172
- includeInDevelopment: { type: 'boolean' },
173
- writeKey: { type: 'string', minLength: 10 },
174
- trackPage: { type: 'boolean' },
175
- includeTitleInPageCall: { type: 'boolean' },
176
- host: { type: 'string' },
177
- },
178
- additionalProperties: false,
179
- required: ['writeKey'],
180
- } as const;
181
-
182
- const gtmAnalyticsConfigSchema = {
183
- type: 'object',
184
- properties: {
185
- includeInDevelopment: { type: 'boolean' },
186
- trackingId: { type: 'string' },
187
- gtmAuth: { type: 'string' },
188
- gtmPreview: { type: 'string' },
189
- defaultDataLayer: {},
190
- dataLayerName: { type: 'string' },
191
- enableWebVitalsTracking: { type: 'boolean' },
192
- selfHostedOrigin: { type: 'string' },
193
- pageViewEventName: { type: 'string' },
194
- },
195
- additionalProperties: false,
196
- required: ['trackingId'],
197
- } as const;
198
-
199
- const productGoogleAnalyticsConfigSchema = {
200
- type: 'object',
201
- properties: {
202
- includeInDevelopment: { type: 'boolean' },
203
- trackingId: { type: 'string' },
204
-
205
- conversionId: { type: 'string' },
206
- floodlightId: { type: 'string' },
207
- optimizeId: { type: 'string' },
208
- exclude: { type: 'array', items: { type: 'string' } },
209
- },
210
- additionalProperties: false,
211
- required: ['trackingId'],
212
- } as const;
213
-
214
- const googleAnalyticsConfigSchema = {
215
- type: 'object',
216
- properties: {
217
- includeInDevelopment: { type: 'boolean' },
218
- trackingId: { type: 'string' },
219
-
220
- conversionId: { type: 'string' },
221
- floodlightId: { type: 'string' },
222
-
223
- head: { type: 'boolean' },
224
- respectDNT: { type: 'boolean' },
225
- exclude: { type: 'array', items: { type: 'string' } },
226
-
227
- optimizeId: { type: 'string' },
228
- anonymizeIp: { type: 'boolean' },
229
- cookieExpires: { type: 'number' },
230
-
231
- // All enabled tracking configs
232
- trackers: {
233
- type: 'object',
234
- additionalProperties: productGoogleAnalyticsConfigSchema,
235
- },
236
- },
237
- additionalProperties: false,
238
- required: ['trackingId'],
239
- } as const;
240
-
241
- const adobeAnalyticsConfigSchema = {
242
- type: 'object',
243
- properties: {
244
- includeInDevelopment: { type: 'boolean' },
245
- scriptUrl: { type: 'string' },
246
- pageViewEventName: { type: 'string' },
247
- },
248
- additionalProperties: false,
249
- required: ['scriptUrl'],
250
- } as const;
251
-
252
- const navItemSchema = {
253
- type: 'object',
254
- properties: {
255
- page: { type: 'string' },
256
- directory: { type: 'string' },
257
- disconnect: { type: 'boolean', default: false },
258
- group: { type: 'string' },
259
- label: { type: 'string' },
260
- separator: { type: 'string' },
261
- separatorLine: { type: 'boolean' },
262
- linePosition: {
263
- type: 'string',
264
- enum: ['top', 'bottom'],
265
- default: 'top',
266
- },
267
- version: { type: 'string' },
268
- menuStyle: { type: 'string', enum: ['drilldown' as MenuStyle] },
269
- expanded: { type: 'string', const: 'always' },
270
- selectFirstItemOnExpand: { type: 'boolean' },
271
- flatten: { type: 'boolean' },
272
- linkedSidebars: {
273
- type: 'array',
274
- items: { type: 'string' },
275
- },
276
- },
277
- } as const;
278
-
279
- const navItemsSchema = {
280
- type: 'array',
281
- items: {
282
- ...navItemSchema,
283
- properties: {
284
- ...navItemSchema.properties,
285
- items: { type: 'array', items: navItemSchema },
286
- },
287
- },
288
- } as const;
289
-
290
- const productConfigSchema = {
291
- type: 'object',
292
- properties: {
293
- name: { type: 'string' },
294
- icon: { type: 'string' },
295
- folder: { type: 'string' },
296
- },
297
- additionalProperties: false,
298
- required: ['name', 'folder'],
299
- } as const;
300
-
301
- const suggestedPageSchema = {
302
- type: 'object',
303
- properties: {
304
- page: { type: 'string' },
305
- label: { type: 'string' },
306
- labelTranslationKey: { type: 'string' },
307
- },
308
- required: ['page'],
309
- } as const;
310
-
311
- const catalogFilterSchema = {
312
- type: 'object',
313
- additionalProperties: false,
314
- required: ['title', 'property'],
315
- properties: {
316
- type: { type: 'string', enum: ['select', 'checkboxes', 'date-range'] },
317
- title: { type: 'string' },
318
- titleTranslationKey: { type: 'string' },
319
- property: { type: 'string' },
320
- parentFilter: { type: 'string' },
321
- valuesMapping: { type: 'object', additionalProperties: { type: 'string' } },
322
- missingCategoryName: { type: 'string' },
323
- missingCategoryNameTranslationKey: { type: 'string' },
324
- options: { type: 'array', items: { type: 'string' } },
325
- },
326
- } as const;
327
-
328
- const scorecardConfigSchema = {
329
- type: 'object',
330
- additionalProperties: true,
331
- required: [],
332
- properties: {
333
- ignoreNonCompliant: { type: 'boolean', default: false },
334
- teamMetadataProperty: {
335
- type: 'object',
336
- properties: {
337
- property: { type: 'string' },
338
- label: { type: 'string' },
339
- default: { type: 'string' },
340
- },
341
- },
342
- levels: {
343
- type: 'array',
344
- items: {
345
- type: 'object',
346
- required: ['name'],
347
- properties: {
348
- name: { type: 'string' },
349
- color: { type: 'string' },
350
- extends: { type: 'array', items: { type: 'string' } },
351
- rules: {
352
- type: 'object',
353
- additionalProperties: {
354
- type: ['object', 'string'],
355
- },
356
- },
357
- },
358
- additionalProperties: false,
359
- },
360
- },
361
- targets: {
362
- type: 'array',
363
- items: {
364
- type: 'object',
365
- required: ['where'],
366
- properties: {
367
- minimumLevel: { type: 'string' },
368
- where: {
369
- type: 'object',
370
- required: ['metadata'],
371
- properties: {
372
- metadata: { type: 'object', additionalProperties: { type: 'string' } },
373
- },
374
- additionalProperties: false,
375
- },
376
- },
377
- additionalProperties: false,
378
- },
379
- },
380
- },
381
- } as const;
382
-
383
- const catalogSchema = {
384
- type: 'object',
385
- additionalProperties: true,
386
- required: ['slug', 'items'],
387
- properties: {
388
- slug: { type: 'string' },
389
- filters: { type: 'array', items: catalogFilterSchema },
390
- groupByFirstFilter: { type: 'boolean' },
391
- filterValuesCasing: {
392
- type: 'string',
393
- enum: ['sentence', 'original', 'lowercase', 'uppercase'],
394
- },
395
- items: navItemsSchema,
396
- requiredPermission: { type: 'string' },
397
- separateVersions: { type: 'boolean' },
398
- title: { type: 'string' },
399
- titleTranslationKey: { type: 'string' },
400
- description: { type: 'string' },
401
- descriptionTranslationKey: { type: 'string' },
402
- },
403
- } as const;
404
-
405
- const catalogsConfigSchema = {
406
- type: 'object',
407
- patternProperties: {
408
- '.*': catalogSchema,
409
- },
410
- } as const;
411
-
412
- export const themeConfigSchema = {
413
- type: 'object',
414
- properties: {
415
- imports: {
416
- type: 'array',
417
- items: { type: 'string' },
418
- default: [],
419
- },
420
- logo: logoConfigSchema,
421
- navbar: {
422
- type: 'object',
423
- properties: {
424
- items: navItemsSchema,
425
- ...hideConfigSchema.properties,
426
- },
427
- additionalProperties: false,
428
- },
429
- products: {
430
- type: 'object',
431
- additionalProperties: productConfigSchema,
432
- },
433
- footer: {
434
- type: 'object',
435
- properties: {
436
- items: navItemsSchema,
437
- copyrightText: { type: 'string' },
438
- logo: hideConfigSchema,
439
- ...hideConfigSchema.properties,
440
- },
441
- additionalProperties: false,
442
- },
443
- sidebar: {
444
- type: 'object',
445
- properties: {
446
- separatorLine: { type: 'boolean' },
447
- linePosition: {
448
- type: 'string',
449
- enum: ['top', 'bottom'],
450
- default: 'bottom',
451
- },
452
- ...hideConfigSchema.properties,
453
- },
454
- additionalProperties: false,
455
- },
456
- scripts: {
457
- type: 'object',
458
- properties: {
459
- head: { type: 'array', items: scriptConfigSchema },
460
- body: { type: 'array', items: scriptConfigSchema },
461
- },
462
- additionalProperties: false,
463
- },
464
- links: { type: 'array', items: linksConfigSchema },
465
- feedback: {
466
- type: 'object',
467
- properties: {
468
- hide: {
469
- type: 'boolean',
470
- default: false,
471
- },
472
- type: {
473
- type: 'string',
474
- enum: ['rating', 'sentiment', 'comment', 'reasons', 'mood', 'scale'],
475
- default: 'sentiment',
476
- },
477
- settings: {
478
- type: 'object',
479
- properties: {
480
- label: { type: 'string' },
481
- submitText: { type: 'string' },
482
- buttonText: { type: 'string' },
483
- component: {
484
- type: 'string',
485
- enum: ['radio', 'checkbox'],
486
- default: 'checkbox',
487
- },
488
- items: { type: 'array', items: { type: 'string' }, minItems: 1 },
489
- leftScaleLabel: { type: 'string' },
490
- rightScaleLabel: { type: 'string' },
491
- reasons: {
492
- type: 'object',
493
- properties: {
494
- hide: {
495
- type: 'boolean',
496
- default: false,
497
- },
498
- component: {
499
- type: 'string',
500
- enum: ['radio', 'checkbox'],
501
- default: 'checkbox',
502
- },
503
- label: { type: 'string' },
504
- items: { type: 'array', items: { type: 'string' } },
505
- },
506
- additionalProperties: false,
507
- },
508
- comment: {
509
- type: 'object',
510
- properties: {
511
- hide: {
512
- type: 'boolean',
513
- default: false,
514
- },
515
- label: { type: 'string' },
516
- likeLabel: { type: 'string' },
517
- dislikeLabel: { type: 'string' },
518
- satisfiedLabel: { type: 'string' },
519
- neutralLabel: { type: 'string' },
520
- dissatisfiedLabel: { type: 'string' },
521
- },
522
- additionalProperties: false,
523
- },
524
- },
525
- additionalProperties: false,
526
- ...hideConfigSchema.properties,
527
- },
528
- },
529
- additionalProperties: false,
530
- default: {},
531
- },
532
- search: {
533
- type: 'object',
534
- properties: {
535
- placement: {
536
- type: 'string',
537
- default: 'navbar',
538
- },
539
- shortcuts: {
540
- type: 'array',
541
- items: { type: 'string' },
542
- default: ['/'],
543
- },
544
- suggestedPages: {
545
- type: 'array',
546
- items: suggestedPageSchema,
547
- },
548
- ...hideConfigSchema.properties,
549
- },
550
- additionalProperties: false,
551
- default: {},
552
- },
553
- colorMode: {
554
- type: 'object',
555
- properties: {
556
- ignoreDetection: { type: 'boolean' },
557
- modes: {
558
- type: 'array',
559
- items: { type: 'string' },
560
- default: ['light', 'dark'],
561
- },
562
- ...hideConfigSchema.properties,
563
- },
564
- additionalProperties: false,
565
- default: {},
566
- },
567
- navigation: {
568
- type: 'object',
569
- properties: {
570
- nextButton: {
571
- type: 'object',
572
- properties: {
573
- text: { type: 'string', default: 'Next to {{label}}' },
574
- ...hideConfigSchema.properties,
575
- },
576
- additionalProperties: false,
577
- default: {},
578
- },
579
- previousButton: {
580
- type: 'object',
581
- properties: {
582
- text: { type: 'string', default: 'Back to {{label}}' },
583
- ...hideConfigSchema.properties,
584
- },
585
- additionalProperties: false,
586
- default: {},
587
- },
588
- },
589
- additionalProperties: false,
590
- default: {},
591
- },
592
- codeSnippet: {
593
- type: 'object',
594
- properties: {
595
- elementFormat: { type: 'string', default: 'icon' },
596
- copy: {
597
- type: 'object',
598
- properties: {
599
- ...hideConfigSchema.properties,
600
- },
601
- additionalProperties: false,
602
- default: { hide: false },
603
- },
604
- report: {
605
- type: 'object',
606
- properties: {
607
- tooltipText: { type: 'string' },
608
- buttonText: { type: 'string' },
609
- label: { type: 'string' },
610
- ...hideConfigSchema.properties,
611
- },
612
- additionalProperties: false,
613
- default: { hide: false },
614
- },
615
- expand: {
616
- type: 'object',
617
- properties: {
618
- ...hideConfigSchema.properties,
619
- },
620
- additionalProperties: false,
621
- default: { hide: false },
622
- },
623
- collapse: {
624
- type: 'object',
625
- properties: {
626
- ...hideConfigSchema.properties,
627
- },
628
- additionalProperties: false,
629
- default: { hide: false },
630
- },
631
- },
632
- additionalProperties: false,
633
- default: {},
634
- },
635
- markdown: markdownConfigSchema,
636
- openapi: { type: 'object', additionalProperties: true },
637
- graphql: { type: 'object', additionalProperties: true },
638
- analytics: {
639
- type: 'object',
640
- properties: {
641
- adobe: adobeAnalyticsConfigSchema,
642
- amplitude: amplitudeAnalyticsConfigSchema,
643
- fullstory: fullstoryAnalyticsConfigSchema,
644
- heap: heapAnalyticsConfigSchema,
645
- rudderstack: rudderstackAnalyticsConfigSchema,
646
- segment: segmentAnalyticsConfigSchema,
647
- gtm: gtmAnalyticsConfigSchema,
648
- ga: googleAnalyticsConfigSchema,
649
- },
650
- },
651
- userProfile: {
652
- type: 'object',
653
- properties: {
654
- loginLabel: { type: 'string', default: 'Login' },
655
- logoutLabel: { type: 'string', default: 'Logout' },
656
- menu: {
657
- type: 'array',
658
- items: {
659
- type: 'object',
660
- properties: {
661
- label: { type: 'string' },
662
- external: { type: 'boolean' },
663
- link: { type: 'string' },
664
- separatorLine: { type: 'boolean' },
665
- },
666
- additionalProperties: true,
667
- },
668
- default: [],
669
- },
670
- ...hideConfigSchema.properties,
671
- },
672
- additionalProperties: false,
673
- default: {},
674
- },
675
- versionPicker: {
676
- type: 'object',
677
- properties: {
678
- hide: { type: 'boolean' },
679
- showForUnversioned: {
680
- type: 'boolean',
681
- },
682
- },
683
- },
684
- breadcrumbs: {
685
- type: 'object',
686
- properties: {
687
- hide: { type: 'boolean' },
688
- prefixItems: {
689
- type: 'array',
690
- items: {
691
- type: 'object',
692
- properties: {
693
- label: { type: 'string' },
694
- labelTranslationKey: { type: 'string' },
695
- page: { type: 'string' },
696
- },
697
- additionalProperties: false,
698
- default: {},
699
- },
700
- },
701
- },
702
- additionalProperties: false,
703
- default: {},
704
- },
705
- catalog: catalogsConfigSchema,
706
- scorecard: scorecardConfigSchema,
707
- },
708
- additionalProperties: true,
709
- default: {},
710
- } as const;
711
-
712
- export const productThemeOverrideSchema = {
713
- type: 'object',
714
- properties: {
715
- logo: themeConfigSchema.properties.logo,
716
- navbar: themeConfigSchema.properties.navbar,
717
- footer: themeConfigSchema.properties.footer,
718
- sidebar: themeConfigSchema.properties.sidebar,
719
- search: themeConfigSchema.properties.search,
720
- codeSnippet: themeConfigSchema.properties.codeSnippet,
721
- breadcrumbs: themeConfigSchema.properties.breadcrumbs,
722
- analytics: {
723
- type: 'object',
724
- properties: {
725
- ga: productGoogleAnalyticsConfigSchema,
726
- },
727
- },
728
- },
729
- additionalProperties: true,
730
- default: {},
731
- } as const;
732
-
733
- export type ThemeConfig = FromSchema<typeof themeConfigSchema>;
734
-
735
- export type ThemeUIConfig = ThemeConfig & {
736
- auth?: {
737
- // used by portal dev login emulator
738
- idpsInfo?: {
739
- idpId: string;
740
- type: string; // AuthProviderType
741
- title: string | undefined;
742
- }[];
743
- devLogin?: boolean;
744
- loginUrls?: Record<string, string>;
745
- };
746
- search?: {
747
- shortcuts?: string[];
748
- suggestedPages?: any[];
749
- };
750
- breadcrumbs?: {
751
- prefixItems?: ResolvedNavLinkItem[];
752
- };
753
- products?: {
754
- [key: string]: ProductUiConfig;
755
- };
756
- };
757
-
758
- export type ProductConfig = FromSchema<typeof productConfigSchema>;
759
-
760
- export type ProductGoogleAnalyticsConfig = FromSchema<typeof productGoogleAnalyticsConfigSchema>;
761
- export type ProductThemeOverrideConfig = Pick<
1
+ import type {
2
+ ThemeConfig,
3
+ ProductConfig,
4
+ CatalogFilterConfig,
5
+ CatalogConfig,
6
+ AmplitudeAnalyticsConfig,
7
+ GoogleAnalyticsConfig,
8
+ SegmentAnalyticsConfig,
9
+ RudderstackAnalyticsConfig,
10
+ GtmAnalyticsConfig,
11
+ ScorecardConfig,
12
+ ProductGoogleAnalyticsConfig,
13
+ ProductThemeOverrideConfig,
14
+ ThemeUIConfig,
15
+ ProductUiConfig,
16
+ } from '@redocly/config';
17
+
18
+ export type {
19
+ ThemeConfig,
20
+ ProductConfig,
21
+ CatalogFilterConfig,
22
+ CatalogConfig,
23
+ AmplitudeAnalyticsConfig,
24
+ GoogleAnalyticsConfig,
25
+ SegmentAnalyticsConfig,
26
+ RudderstackAnalyticsConfig,
27
+ GtmAnalyticsConfig,
28
+ ScorecardConfig,
29
+ ProductGoogleAnalyticsConfig,
30
+ ProductThemeOverrideConfig,
762
31
  ThemeUIConfig,
763
- 'logo' | 'navbar' | 'footer' | 'sidebar' | 'search' | 'codeSnippet' | 'breadcrumbs'
764
- > & { analytics?: { ga?: ProductGoogleAnalyticsConfig } };
765
- export type ProductUiConfig = ProductConfig & {
766
- slug: string;
767
- link: string;
768
- [REDOCLY_TEAMS_RBAC]?: { [key: string]: string };
769
- themeOverride?: ProductThemeOverrideConfig;
32
+ ProductUiConfig,
770
33
  };
771
-
772
- export type MarkdownConfig = FromSchema<typeof markdownConfigSchema>;
773
-
774
- export type AmplitudeAnalyticsConfig = FromSchema<typeof amplitudeAnalyticsConfigSchema>;
775
- export type RudderstackAnalyticsConfig = FromSchema<typeof rudderstackAnalyticsConfigSchema>;
776
- export type SegmentAnalyticsConfig = FromSchema<typeof segmentAnalyticsConfigSchema>;
777
- export type GtmAnalyticsConfig = FromSchema<typeof gtmAnalyticsConfigSchema>;
778
- export type GoogleAnalyticsConfig = FromSchema<typeof googleAnalyticsConfigSchema>;
779
- export type CatalogConfig = FromSchema<typeof catalogSchema>;
780
- export type CatalogFilterConfig = FromSchema<typeof catalogFilterSchema>;
781
- export type ScorecardConfig = FromSchema<typeof scorecardConfigSchema>;