610 lines
21 KiB
Plaintext
610 lines
21 KiB
Plaintext
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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.searchFiltersConfigSchema = exports.searchFacetsConfigSchema = exports.aiSearchConfigSchema = exports.productConfigSchema = exports.navItemsSchema = void 0;
|
|
const redoc_config_schema_1 = require("./redoc-config-schema");
|
|
const reference_docs_config_schema_1 = require("./reference-docs-config-schema");
|
|
const hideConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
hide: { type: 'boolean' },
|
|
},
|
|
additionalProperties: false,
|
|
};
|
|
const scriptConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
src: { type: 'string' },
|
|
async: { type: 'boolean' },
|
|
crossorigin: { type: 'string' },
|
|
defer: { type: 'boolean' },
|
|
fetchpriority: { type: 'string' },
|
|
integrity: { type: 'string' },
|
|
module: { type: 'boolean' },
|
|
nomodule: { type: 'boolean' },
|
|
nonce: { type: 'string' },
|
|
referrerpolicy: { type: 'string' },
|
|
type: { type: 'string' },
|
|
},
|
|
required: ['src'],
|
|
additionalProperties: true,
|
|
};
|
|
const navItemSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
page: { type: 'string' },
|
|
directory: { type: 'string' },
|
|
disconnect: { type: 'boolean', default: false },
|
|
group: { type: 'string' },
|
|
label: { type: 'string' },
|
|
href: { type: 'string' },
|
|
external: { type: 'boolean' },
|
|
labelTranslationKey: { type: 'string' },
|
|
groupTranslationKey: { type: 'string' },
|
|
icon: {
|
|
oneOf: [
|
|
{ type: 'string' },
|
|
{ type: 'object', properties: { srcSet: { type: 'string' } }, required: ['srcSet'] },
|
|
],
|
|
},
|
|
separator: { type: 'string' },
|
|
separatorLine: { type: 'boolean' },
|
|
linePosition: {
|
|
type: 'string',
|
|
enum: ['top', 'bottom'],
|
|
default: 'top',
|
|
},
|
|
version: { type: 'string' },
|
|
menuStyle: { type: 'string', enum: ['drilldown'] },
|
|
expanded: { type: 'string', const: 'always' },
|
|
selectFirstItemOnExpand: { type: 'boolean' },
|
|
flatten: { type: 'boolean' },
|
|
linkedSidebars: {
|
|
type: 'array',
|
|
items: { type: 'string' },
|
|
},
|
|
// Allow users to eject the navbar and implement additional levels of nesting
|
|
items: { type: 'array', items: { type: 'object', additionalProperties: true } },
|
|
rbac: {
|
|
type: 'object',
|
|
additionalProperties: { type: 'string' },
|
|
},
|
|
},
|
|
};
|
|
exports.navItemsSchema = {
|
|
type: 'array',
|
|
items: Object.assign(Object.assign({}, navItemSchema), { properties: Object.assign(Object.assign({}, navItemSchema.properties), { items: { type: 'array', items: navItemSchema } }) }),
|
|
};
|
|
exports.productConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
name: { type: 'string' },
|
|
icon: { type: 'string' },
|
|
folder: { type: 'string' },
|
|
},
|
|
additionalProperties: false,
|
|
required: ['name', 'folder'],
|
|
};
|
|
exports.aiSearchConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
hide: {
|
|
type: 'boolean',
|
|
default: false,
|
|
},
|
|
suggestions: {
|
|
default: [],
|
|
type: 'array',
|
|
items: {
|
|
type: 'string',
|
|
},
|
|
},
|
|
prompt: {
|
|
type: 'string',
|
|
},
|
|
},
|
|
additionalProperties: false,
|
|
};
|
|
exports.searchFacetsConfigSchema = {
|
|
type: 'array',
|
|
items: {
|
|
type: 'object',
|
|
required: ['name', 'field', 'type'],
|
|
properties: {
|
|
name: { type: 'string' },
|
|
field: { type: 'string' },
|
|
type: {
|
|
type: 'string',
|
|
enum: ['multi-select', 'select', 'tags'],
|
|
},
|
|
},
|
|
additionalProperties: false,
|
|
},
|
|
};
|
|
exports.searchFiltersConfigSchema = {
|
|
type: 'object',
|
|
properties: Object.assign({ facets: exports.searchFacetsConfigSchema }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
};
|
|
const searchSuggestedPageSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
page: { type: 'string' },
|
|
label: { type: 'string' },
|
|
labelTranslationKey: { type: 'string' },
|
|
},
|
|
required: ['page'],
|
|
};
|
|
exports.logoConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
image: { type: 'string' },
|
|
srcSet: { type: 'string' },
|
|
altText: { type: 'string' },
|
|
link: { type: 'string' },
|
|
favicon: { type: 'string' },
|
|
},
|
|
additionalProperties: false,
|
|
};
|
|
exports.navbarConfigSchema = {
|
|
type: 'object',
|
|
properties: Object.assign({ items: exports.navItemsSchema }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
};
|
|
exports.productsConfigSchema = {
|
|
type: 'object',
|
|
additionalProperties: exports.productConfigSchema,
|
|
};
|
|
exports.footerConfigSchema = {
|
|
type: 'object',
|
|
properties: Object.assign({ items: exports.navItemsSchema, copyrightText: { type: 'string' }, logo: hideConfigSchema }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
};
|
|
exports.sidebarConfigSchema = {
|
|
type: 'object',
|
|
properties: Object.assign({ separatorLine: { type: 'boolean' }, linePosition: {
|
|
type: 'string',
|
|
enum: ['top', 'bottom'],
|
|
default: 'bottom',
|
|
} }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
};
|
|
exports.scriptsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
head: { type: 'array', items: scriptConfigSchema },
|
|
body: { type: 'array', items: scriptConfigSchema },
|
|
},
|
|
additionalProperties: false,
|
|
};
|
|
exports.linksConfigSchema = {
|
|
type: 'array',
|
|
items: {
|
|
type: 'object',
|
|
properties: {
|
|
href: { type: 'string' },
|
|
as: { type: 'string' },
|
|
crossorigin: { type: 'string' },
|
|
fetchpriority: { type: 'string' },
|
|
hreflang: { type: 'string' },
|
|
imagesizes: { type: 'string' },
|
|
imagesrcset: { type: 'string' },
|
|
integrity: { type: 'string' },
|
|
media: { type: 'string' },
|
|
prefetch: { type: 'string' },
|
|
referrerpolicy: { type: 'string' },
|
|
rel: { type: 'string' },
|
|
sizes: { type: 'string' },
|
|
title: { type: 'string' },
|
|
type: { type: 'string' },
|
|
},
|
|
required: ['href'],
|
|
additionalProperties: true,
|
|
},
|
|
};
|
|
exports.searchConfigSchema = {
|
|
type: 'object',
|
|
properties: Object.assign({ engine: {
|
|
type: 'string',
|
|
enum: ['flexsearch', 'typesense'],
|
|
default: 'flexsearch',
|
|
}, ai: exports.aiSearchConfigSchema, filters: exports.searchFiltersConfigSchema, placement: {
|
|
type: 'string',
|
|
default: 'navbar',
|
|
}, shortcuts: {
|
|
type: 'array',
|
|
items: { type: 'string' },
|
|
default: ['/'],
|
|
}, suggestedPages: {
|
|
type: 'array',
|
|
items: searchSuggestedPageSchema,
|
|
} }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
};
|
|
exports.colorModeConfigSchema = {
|
|
type: 'object',
|
|
properties: Object.assign({ ignoreDetection: { type: 'boolean' }, modes: {
|
|
type: 'array',
|
|
items: { type: 'string' },
|
|
default: ['light', 'dark'],
|
|
} }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
};
|
|
exports.navigationConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
nextButton: {
|
|
type: 'object',
|
|
properties: Object.assign({ text: { type: 'string', default: 'Next page' } }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
default: {},
|
|
},
|
|
previousButton: {
|
|
type: 'object',
|
|
properties: Object.assign({ text: { type: 'string', default: 'Previous page' } }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
default: {},
|
|
},
|
|
},
|
|
additionalProperties: false,
|
|
};
|
|
exports.codeSnippetConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
elementFormat: { type: 'string', default: 'icon' },
|
|
copy: {
|
|
type: 'object',
|
|
properties: Object.assign({}, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
default: { hide: false },
|
|
},
|
|
report: {
|
|
type: 'object',
|
|
properties: Object.assign({ tooltipText: { type: 'string' }, buttonText: { type: 'string' }, label: { type: 'string' } }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
default: { hide: false },
|
|
},
|
|
expand: {
|
|
type: 'object',
|
|
properties: Object.assign({}, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
default: { hide: false },
|
|
},
|
|
collapse: {
|
|
type: 'object',
|
|
properties: Object.assign({}, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
default: { hide: false },
|
|
},
|
|
},
|
|
additionalProperties: false,
|
|
};
|
|
exports.markdownConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
frontMatterKeysToResolve: {
|
|
type: 'array',
|
|
items: { type: 'string' },
|
|
default: ['image', 'links'],
|
|
},
|
|
partialsFolders: {
|
|
type: 'array',
|
|
items: { type: 'string' },
|
|
default: ['_partials'],
|
|
},
|
|
lastUpdatedBlock: {
|
|
type: 'object',
|
|
properties: Object.assign({ format: {
|
|
type: 'string',
|
|
enum: ['timeago', 'iso', 'long', 'short'],
|
|
default: 'timeago',
|
|
}, locale: { type: 'string' } }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
default: {},
|
|
},
|
|
toc: {
|
|
type: 'object',
|
|
properties: Object.assign({ header: { type: 'string', default: 'On this page' }, depth: { type: 'integer', default: 3, minimum: 1 } }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
default: {},
|
|
},
|
|
editPage: {
|
|
type: 'object',
|
|
properties: Object.assign({ baseUrl: { type: 'string' } }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
default: {},
|
|
},
|
|
},
|
|
additionalProperties: false,
|
|
default: {},
|
|
};
|
|
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) });
|
|
const adobeAnalyticsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
includeInDevelopment: { type: 'boolean' },
|
|
scriptUrl: { type: 'string' },
|
|
pageViewEventName: { type: 'string' },
|
|
},
|
|
additionalProperties: false,
|
|
required: ['scriptUrl'],
|
|
};
|
|
exports.amplitudeAnalyticsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
includeInDevelopment: { type: 'boolean' },
|
|
apiKey: { type: 'string' },
|
|
head: { type: 'boolean' },
|
|
respectDNT: { type: 'boolean' },
|
|
exclude: { type: 'array', items: { type: 'string' } },
|
|
outboundClickEventName: { type: 'string' },
|
|
pageViewEventName: { type: 'string' },
|
|
amplitudeConfig: { type: 'object', additionalProperties: true },
|
|
},
|
|
additionalProperties: false,
|
|
required: ['apiKey'],
|
|
};
|
|
exports.fullstoryAnalyticsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
includeInDevelopment: { type: 'boolean' },
|
|
orgId: { type: 'string' },
|
|
},
|
|
additionalProperties: false,
|
|
required: ['orgId'],
|
|
};
|
|
exports.heapAnalyticsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
includeInDevelopment: { type: 'boolean' },
|
|
appId: { type: 'string' },
|
|
},
|
|
additionalProperties: false,
|
|
required: ['appId'],
|
|
};
|
|
exports.rudderstackAnalyticsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
includeInDevelopment: { type: 'boolean' },
|
|
writeKey: { type: 'string', minLength: 10 },
|
|
trackPage: { type: 'boolean' },
|
|
dataPlaneUrl: { type: 'string' },
|
|
controlPlaneUrl: { type: 'string' },
|
|
sdkUrl: { type: 'string' },
|
|
loadOptions: { type: 'object', additionalProperties: true },
|
|
},
|
|
additionalProperties: false,
|
|
required: ['writeKey'],
|
|
};
|
|
exports.segmentAnalyticsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
includeInDevelopment: { type: 'boolean' },
|
|
writeKey: { type: 'string', minLength: 10 },
|
|
trackPage: { type: 'boolean' },
|
|
includeTitleInPageCall: { type: 'boolean' },
|
|
host: { type: 'string' },
|
|
},
|
|
additionalProperties: false,
|
|
required: ['writeKey'],
|
|
};
|
|
exports.gtmAnalyticsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
includeInDevelopment: { type: 'boolean' },
|
|
trackingId: { type: 'string' },
|
|
gtmAuth: { type: 'string' },
|
|
gtmPreview: { type: 'string' },
|
|
defaultDataLayer: {},
|
|
dataLayerName: { type: 'string' },
|
|
enableWebVitalsTracking: { type: 'boolean' },
|
|
selfHostedOrigin: { type: 'string' },
|
|
pageViewEventName: { type: 'string' },
|
|
},
|
|
additionalProperties: false,
|
|
required: ['trackingId'],
|
|
};
|
|
exports.productGoogleAnalyticsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
includeInDevelopment: { type: 'boolean' },
|
|
trackingId: { type: 'string' },
|
|
conversionId: { type: 'string' },
|
|
floodlightId: { type: 'string' },
|
|
optimizeId: { type: 'string' },
|
|
exclude: { type: 'array', items: { type: 'string' } },
|
|
},
|
|
additionalProperties: false,
|
|
required: ['trackingId'],
|
|
};
|
|
exports.googleAnalyticsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
includeInDevelopment: { type: 'boolean' },
|
|
trackingId: { type: 'string' },
|
|
conversionId: { type: 'string' },
|
|
floodlightId: { type: 'string' },
|
|
head: { type: 'boolean' },
|
|
respectDNT: { type: 'boolean' },
|
|
exclude: { type: 'array', items: { type: 'string' } },
|
|
optimizeId: { type: 'string' },
|
|
anonymizeIp: { type: 'boolean' },
|
|
cookieExpires: { type: 'number' },
|
|
// All enabled tracking configs
|
|
trackers: {
|
|
type: 'object',
|
|
additionalProperties: exports.productGoogleAnalyticsConfigSchema,
|
|
},
|
|
},
|
|
additionalProperties: false,
|
|
required: ['trackingId'],
|
|
};
|
|
exports.analyticsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
adobe: adobeAnalyticsConfigSchema,
|
|
amplitude: exports.amplitudeAnalyticsConfigSchema,
|
|
fullstory: exports.fullstoryAnalyticsConfigSchema,
|
|
heap: exports.heapAnalyticsConfigSchema,
|
|
rudderstack: exports.rudderstackAnalyticsConfigSchema,
|
|
segment: exports.segmentAnalyticsConfigSchema,
|
|
gtm: exports.gtmAnalyticsConfigSchema,
|
|
ga: exports.googleAnalyticsConfigSchema,
|
|
},
|
|
};
|
|
exports.userMenuConfigSchema = {
|
|
type: 'object',
|
|
properties: Object.assign({ items: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'object',
|
|
properties: {
|
|
label: { type: 'string' },
|
|
external: { type: 'boolean' },
|
|
link: { type: 'string' },
|
|
separatorLine: { type: 'boolean' },
|
|
},
|
|
additionalProperties: true,
|
|
},
|
|
default: [],
|
|
}, hideLoginButton: { type: 'boolean' } }, hideConfigSchema.properties),
|
|
additionalProperties: false,
|
|
};
|
|
exports.versionPickerConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
hide: { type: 'boolean' },
|
|
showForUnversioned: {
|
|
type: 'boolean',
|
|
},
|
|
},
|
|
};
|
|
exports.breadcrumbsConfigSchema = {
|
|
type: 'object',
|
|
properties: {
|
|
hide: { type: 'boolean' },
|
|
prefixItems: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'object',
|
|
properties: {
|
|
label: { type: 'string' },
|
|
labelTranslationKey: { type: 'string' },
|
|
page: { type: 'string' },
|
|
},
|
|
additionalProperties: false,
|
|
default: {},
|
|
},
|
|
},
|
|
},
|
|
additionalProperties: false,
|
|
};
|
|
exports.catalogFilterSchema = {
|
|
type: 'object',
|
|
additionalProperties: false,
|
|
required: ['title', 'property'],
|
|
properties: {
|
|
type: {
|
|
type: 'string',
|
|
enum: ['select', 'checkboxes', 'date-range'],
|
|
default: 'checkboxes',
|
|
},
|
|
title: { type: 'string' },
|
|
titleTranslationKey: { type: 'string' },
|
|
property: { type: 'string' },
|
|
parentFilter: { type: 'string' },
|
|
valuesMapping: { type: 'object', additionalProperties: { type: 'string' } },
|
|
missingCategoryName: { type: 'string' },
|
|
missingCategoryNameTranslationKey: { type: 'string' },
|
|
options: { type: 'array', items: { type: 'string' } },
|
|
},
|
|
};
|
|
exports.catalogSchema = {
|
|
type: 'object',
|
|
additionalProperties: true,
|
|
required: ['slug', 'items'],
|
|
properties: {
|
|
slug: { type: 'string' },
|
|
filters: { type: 'array', items: exports.catalogFilterSchema },
|
|
groupByFirstFilter: { type: 'boolean' },
|
|
filterValuesCasing: {
|
|
type: 'string',
|
|
enum: ['sentence', 'original', 'lowercase', 'uppercase'],
|
|
},
|
|
items: exports.navItemsSchema,
|
|
requiredPermission: { type: 'string' },
|
|
separateVersions: { type: 'boolean' },
|
|
title: { type: 'string' },
|
|
titleTranslationKey: { type: 'string' },
|
|
description: { type: 'string' },
|
|
descriptionTranslationKey: { type: 'string' },
|
|
},
|
|
};
|
|
exports.catalogsConfigSchema = {
|
|
type: 'object',
|
|
patternProperties: {
|
|
'.*': exports.catalogSchema,
|
|
},
|
|
};
|
|
exports.scorecardConfigSchema = {
|
|
type: 'object',
|
|
additionalProperties: true,
|
|
required: [],
|
|
properties: {
|
|
/**
|
|
* @deprecated Should use `reunite.ignoreLint` instead
|
|
*/
|
|
ignoreNonCompliant: { type: 'boolean', default: false },
|
|
teamMetadataProperty: {
|
|
type: 'object',
|
|
properties: {
|
|
property: { type: 'string' },
|
|
label: { type: 'string' },
|
|
default: { type: 'string' },
|
|
},
|
|
},
|
|
levels: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'object',
|
|
required: ['name'],
|
|
properties: {
|
|
name: { type: 'string' },
|
|
color: { type: 'string' },
|
|
extends: { type: 'array', items: { type: 'string' } },
|
|
rules: {
|
|
type: 'object',
|
|
additionalProperties: {
|
|
oneOf: [{ type: 'string' }, { type: 'object' }],
|
|
},
|
|
},
|
|
},
|
|
additionalProperties: false,
|
|
},
|
|
},
|
|
targets: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'object',
|
|
required: ['where'],
|
|
properties: {
|
|
minimumLevel: { type: 'string' },
|
|
rules: { type: 'object', additionalProperties: true },
|
|
where: {
|
|
type: 'object',
|
|
required: ['metadata'],
|
|
properties: {
|
|
metadata: { type: 'object', additionalProperties: { type: 'string' } },
|
|
},
|
|
additionalProperties: false,
|
|
},
|
|
},
|
|
additionalProperties: false,
|
|
},
|
|
},
|
|
ignore: {
|
|
type: 'array',
|
|
items: { type: 'string' },
|
|
},
|
|
},
|
|
};
|
|
//# sourceMappingURL=ex-theme-config-schemas.js.map |