@mintlify/validation 0.1.121 → 0.1.122

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.
Files changed (38) hide show
  1. package/dist/index.d.ts +333 -8
  2. package/dist/index.js +18 -54
  3. package/dist/mint-config/flattenNavigationVersions.d.ts +2 -0
  4. package/dist/mint-config/flattenNavigationVersions.js +10 -0
  5. package/dist/mint-config/refinements/refineMissingVersions.d.ts +6 -0
  6. package/dist/mint-config/refinements/refineMissingVersions.js +13 -0
  7. package/dist/mint-config/schemas/anchorColors.js +5 -20
  8. package/dist/mint-config/schemas/anchors.d.ts +4 -4
  9. package/dist/mint-config/schemas/colors.js +6 -25
  10. package/dist/mint-config/schemas/config.d.ts +11 -11
  11. package/dist/mint-config/schemas/config.js +1 -1
  12. package/dist/mint-config/schemas/hexColor.d.ts +2 -0
  13. package/dist/mint-config/schemas/hexColor.js +5 -0
  14. package/dist/mint-config/schemas/navigation.d.ts +2 -2
  15. package/dist/mint-config/warnings/aggregateWarnings.d.ts +4 -0
  16. package/dist/mint-config/warnings/aggregateWarnings.js +4 -0
  17. package/dist/mint-config/warnings/warnAnchorUrls.d.ts +2 -0
  18. package/dist/mint-config/warnings/warnAnchorUrls.js +20 -0
  19. package/dist/mint-config/warnings/warnUnusedVersions.d.ts +2 -0
  20. package/dist/mint-config/warnings/warnUnusedVersions.js +17 -0
  21. package/dist/tsconfig.build.tsbuildinfo +1 -1
  22. package/package.json +3 -3
  23. package/dist/any.d.ts +0 -20
  24. package/dist/any.js +0 -27
  25. package/dist/mint-config/common.d.ts +0 -6
  26. package/dist/mint-config/common.js +0 -7
  27. package/dist/mint-config/hexadecimalPattern.d.ts +0 -1
  28. package/dist/mint-config/hexadecimalPattern.js +0 -1
  29. package/dist/mint-config/validateAnchorsWarnings.d.ts +0 -3
  30. package/dist/mint-config/validateAnchorsWarnings.js +0 -35
  31. package/dist/mint-config/validateVersionsInNavigation.d.ts +0 -4
  32. package/dist/mint-config/validateVersionsInNavigation.js +0 -52
  33. package/dist/sort.d.ts +0 -47
  34. package/dist/sort.js +0 -72
  35. package/dist/sortable/Sortable.d.ts +0 -28
  36. package/dist/sortable/Sortable.js +0 -117
  37. package/dist/sortable/isSortable.d.ts +0 -2
  38. package/dist/sortable/isSortable.js +0 -7
package/dist/index.d.ts CHANGED
@@ -1,12 +1,337 @@
1
- import type { ConfigType } from '@mintlify/models';
2
- import { MintValidationResults } from './mint-config/common.js';
3
- export declare function validateMintConfig(config: ConfigType): MintValidationResults;
1
+ export declare function validateMintConfig(value: unknown): import("zod").SafeParseError<{
2
+ navigation: import("@mintlify/models").NavigationGroup[];
3
+ name: string;
4
+ favicon: string;
5
+ colors: {
6
+ primary: string;
7
+ light?: string | undefined;
8
+ dark?: string | undefined;
9
+ background?: {
10
+ light?: string | undefined;
11
+ dark?: string | undefined;
12
+ } | undefined;
13
+ anchors?: string | {
14
+ from: string;
15
+ to: string;
16
+ via?: string | undefined;
17
+ } | undefined;
18
+ ultraLight?: any;
19
+ ultraDark?: any;
20
+ };
21
+ $schema?: string | undefined;
22
+ mintlify?: string | undefined;
23
+ logo?: string | {
24
+ light: string;
25
+ dark: string;
26
+ href?: string | undefined;
27
+ } | undefined;
28
+ openapi?: string | string[] | undefined;
29
+ api?: {
30
+ baseUrl?: string | string[] | undefined;
31
+ auth?: {
32
+ method?: "bearer" | "basic" | "key" | "cobo" | undefined;
33
+ name?: string | undefined;
34
+ inputPrefix?: string | undefined;
35
+ } | undefined;
36
+ playground?: {
37
+ mode?: "show" | "simple" | "hide" | undefined;
38
+ } | undefined;
39
+ request?: {
40
+ example?: {
41
+ showOptionalParams?: boolean | undefined;
42
+ } | undefined;
43
+ } | undefined;
44
+ maintainOrder?: boolean | undefined;
45
+ } | undefined;
46
+ modeToggle?: {
47
+ default?: "light" | "dark" | undefined;
48
+ isHidden?: boolean | undefined;
49
+ } | undefined;
50
+ versions?: (string | {
51
+ name: string;
52
+ url: string;
53
+ })[] | undefined;
54
+ metadata?: Record<string, string> | undefined;
55
+ topbarCtaButton?: {
56
+ name: string;
57
+ url: string;
58
+ type?: "link" | undefined;
59
+ } | {
60
+ type: "github";
61
+ url: string;
62
+ } | undefined;
63
+ topbarLinks?: ({
64
+ name: string;
65
+ url: string;
66
+ type?: "link" | undefined;
67
+ } | {
68
+ type: "github";
69
+ url: string;
70
+ })[] | undefined;
71
+ primaryTab?: {
72
+ name: string;
73
+ } | undefined;
74
+ topAnchor?: {
75
+ name: string;
76
+ icon?: string | undefined;
77
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
78
+ } | undefined;
79
+ anchors?: {
80
+ name: string;
81
+ url: string;
82
+ icon?: string | undefined;
83
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
84
+ color?: string | {
85
+ from: string;
86
+ to: string;
87
+ via?: string | undefined;
88
+ } | undefined;
89
+ isDefaultHidden?: boolean | undefined;
90
+ version?: string | undefined;
91
+ }[] | undefined;
92
+ tabs?: {
93
+ name: string;
94
+ url: string;
95
+ version?: string | undefined;
96
+ }[] | undefined;
97
+ footerSocials?: {
98
+ type: string;
99
+ url: string;
100
+ }[] | Record<string, string> | undefined;
101
+ backgroundImage?: string | undefined;
102
+ feedback?: {
103
+ thumbsRating?: boolean | undefined;
104
+ suggestEdit?: boolean | undefined;
105
+ raiseIssue?: boolean | undefined;
106
+ } | undefined;
107
+ analytics?: {
108
+ amplitude?: {
109
+ apiKey: string;
110
+ } | undefined;
111
+ clearbit?: {
112
+ publicApiKey: string;
113
+ } | undefined;
114
+ fathom?: {
115
+ siteId: string;
116
+ } | undefined;
117
+ ga4?: {
118
+ measurementId: string;
119
+ } | undefined;
120
+ gtm?: {
121
+ tagId: string;
122
+ } | undefined;
123
+ hotjar?: {
124
+ hjid: string;
125
+ hjsv: string;
126
+ } | undefined;
127
+ koala?: {
128
+ publicApiKey: string;
129
+ } | undefined;
130
+ logrocket?: {
131
+ appId: string;
132
+ } | undefined;
133
+ mixpanel?: {
134
+ projectToken: string;
135
+ } | undefined;
136
+ pirsch?: {
137
+ id: string;
138
+ } | undefined;
139
+ posthog?: {
140
+ apiKey: string;
141
+ apiHost?: string | undefined;
142
+ } | undefined;
143
+ plausible?: {
144
+ domain: string;
145
+ } | undefined;
146
+ } | undefined;
147
+ integrations?: {
148
+ intercom?: string | undefined;
149
+ frontchat?: string | undefined;
150
+ } | undefined;
151
+ isWhiteLabeled?: boolean | undefined;
152
+ search?: {
153
+ prompt?: string | undefined;
154
+ } | undefined;
155
+ redirects?: {
156
+ source: string;
157
+ destination: string;
158
+ }[] | undefined;
159
+ seo?: {
160
+ indexHiddenPages?: boolean | undefined;
161
+ } | undefined;
162
+ }> | {
163
+ warnings: import("zod").ZodIssue[];
164
+ success: true;
165
+ data: {
166
+ navigation: import("@mintlify/models").NavigationGroup[];
167
+ name: string;
168
+ $schema: string;
169
+ favicon: string;
170
+ colors: {
171
+ primary: string;
172
+ light?: string | undefined;
173
+ dark?: string | undefined;
174
+ background?: {
175
+ light?: string | undefined;
176
+ dark?: string | undefined;
177
+ } | undefined;
178
+ anchors?: string | {
179
+ from: string;
180
+ to: string;
181
+ via?: string | undefined;
182
+ } | undefined;
183
+ ultraLight?: any;
184
+ ultraDark?: any;
185
+ };
186
+ mintlify?: string | undefined;
187
+ logo?: string | {
188
+ light: string;
189
+ dark: string;
190
+ href?: string | undefined;
191
+ } | undefined;
192
+ openapi?: string | string[] | undefined;
193
+ api?: {
194
+ baseUrl?: string | string[] | undefined;
195
+ auth?: {
196
+ method?: "bearer" | "basic" | "key" | "cobo" | undefined;
197
+ name?: string | undefined;
198
+ inputPrefix?: string | undefined;
199
+ } | undefined;
200
+ playground?: {
201
+ mode: "show" | "simple" | "hide";
202
+ } | undefined;
203
+ request?: {
204
+ example?: {
205
+ showOptionalParams: boolean;
206
+ } | undefined;
207
+ } | undefined;
208
+ maintainOrder?: boolean | undefined;
209
+ } | undefined;
210
+ modeToggle?: {
211
+ default?: "light" | "dark" | undefined;
212
+ isHidden?: boolean | undefined;
213
+ } | undefined;
214
+ versions?: (string | {
215
+ name: string;
216
+ url: string;
217
+ })[] | undefined;
218
+ metadata?: Record<string, string> | undefined;
219
+ topbarCtaButton?: {
220
+ name: string;
221
+ url: string;
222
+ type?: "link" | undefined;
223
+ } | {
224
+ type: "github";
225
+ url: string;
226
+ } | undefined;
227
+ topbarLinks?: ({
228
+ name: string;
229
+ url: string;
230
+ type?: "link" | undefined;
231
+ } | {
232
+ type: "github";
233
+ url: string;
234
+ })[] | undefined;
235
+ primaryTab?: {
236
+ name: string;
237
+ } | undefined;
238
+ topAnchor?: {
239
+ name: string;
240
+ icon?: string | undefined;
241
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
242
+ } | undefined;
243
+ anchors?: {
244
+ name: string;
245
+ url: string;
246
+ icon?: string | undefined;
247
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
248
+ color?: string | {
249
+ from: string;
250
+ to: string;
251
+ via?: string | undefined;
252
+ } | undefined;
253
+ isDefaultHidden?: boolean | undefined;
254
+ version?: string | undefined;
255
+ }[] | undefined;
256
+ tabs?: {
257
+ name: string;
258
+ url: string;
259
+ version?: string | undefined;
260
+ }[] | undefined;
261
+ footerSocials?: {
262
+ type: string;
263
+ url: string;
264
+ }[] | Record<string, string> | undefined;
265
+ backgroundImage?: string | undefined;
266
+ feedback?: {
267
+ thumbsRating?: boolean | undefined;
268
+ suggestEdit?: boolean | undefined;
269
+ raiseIssue?: boolean | undefined;
270
+ } | undefined;
271
+ analytics?: {
272
+ amplitude?: {
273
+ apiKey: string;
274
+ } | undefined;
275
+ clearbit?: {
276
+ publicApiKey: string;
277
+ } | undefined;
278
+ fathom?: {
279
+ siteId: string;
280
+ } | undefined;
281
+ ga4?: {
282
+ measurementId: string;
283
+ } | undefined;
284
+ gtm?: {
285
+ tagId: string;
286
+ } | undefined;
287
+ hotjar?: {
288
+ hjid: string;
289
+ hjsv: string;
290
+ } | undefined;
291
+ koala?: {
292
+ publicApiKey: string;
293
+ } | undefined;
294
+ logrocket?: {
295
+ appId: string;
296
+ } | undefined;
297
+ mixpanel?: {
298
+ projectToken: string;
299
+ } | undefined;
300
+ pirsch?: {
301
+ id: string;
302
+ } | undefined;
303
+ posthog?: {
304
+ apiKey: string;
305
+ apiHost?: string | undefined;
306
+ } | undefined;
307
+ plausible?: {
308
+ domain: string;
309
+ } | undefined;
310
+ } | undefined;
311
+ integrations?: {
312
+ intercom?: string | undefined;
313
+ frontchat?: string | undefined;
314
+ } | undefined;
315
+ isWhiteLabeled?: boolean | undefined;
316
+ search?: {
317
+ prompt?: string | undefined;
318
+ } | undefined;
319
+ redirects?: {
320
+ source: string;
321
+ destination: string;
322
+ }[] | undefined;
323
+ seo?: {
324
+ indexHiddenPages?: boolean | undefined;
325
+ } | undefined;
326
+ };
327
+ };
4
328
  export * from './openapi/types/endpoint.js';
5
329
  export { OpenApiToEndpointConverter } from './openapi/OpenApiToEndpointConverter.js';
6
330
  export { SchemaConverter } from './openapi/SchemaConverter.js';
7
331
  export { generateExampleFromSchema } from './openapi/generateExampleFromSchema.js';
8
- export declare const mintConfigSchema: any;
9
- export { sort } from './sort.js';
10
- export { Sortable } from './sortable/Sortable.js';
11
- export { any } from './any.js';
12
- export { isSortable } from './sortable/isSortable.js';
332
+ export declare const mintConfigJsonSchema: import("zod-to-json-schema/src/parseDef.js").JsonSchema7Type & {
333
+ $schema?: string | undefined;
334
+ definitions?: {
335
+ [key: string]: import("zod-to-json-schema/src/parseDef.js").JsonSchema7Type;
336
+ } | undefined;
337
+ };
package/dist/index.js CHANGED
@@ -1,61 +1,25 @@
1
1
  import { zodToJsonSchema } from 'zod-to-json-schema';
2
- import { MintValidationResults } from './mint-config/common.js';
3
- import { flattenUnionErrorMessages } from './mint-config/flattenUnionErrorMessages.js';
4
- import { configSchema } from './mint-config/schemas/config.js';
5
- import { validateAnchorsWarnings } from './mint-config/validateAnchorsWarnings.js';
6
- import { validateVersionsInNavigation } from './mint-config/validateVersionsInNavigation.js';
7
- export function validateMintConfig(config) {
8
- var _a;
9
- const results = new MintValidationResults();
10
- if (config == null || config == undefined || Object.entries(config).length === 0) {
11
- results.errors.push('Mint Config object cannot be empty.');
12
- results.status = 'error';
13
- return results;
14
- }
15
- // Specific warnings and errors
16
- const validateAnchorsWarningResult = validateAnchorsWarnings(config.anchors, config.navigation);
17
- const validateVersionsInNavigationResult = validateVersionsInNavigation(config.navigation, (_a = config.versions) !== null && _a !== void 0 ? _a : []);
18
- results.errors = [...results.errors, ...validateVersionsInNavigationResult.errors];
19
- results.warnings = [
20
- ...results.warnings,
21
- ...validateVersionsInNavigationResult.warnings,
22
- ...validateAnchorsWarningResult.warnings,
23
- ];
24
- // Global check
25
- const validateConfigResult = configSchema.safeParse(config);
26
- if (validateConfigResult.success == false) {
27
- const errors = validateConfigResult.error.issues;
28
- errors.forEach((e) => {
29
- var _a;
30
- if (e.code === 'invalid_union' && ((_a = e.unionErrors) === null || _a === void 0 ? void 0 : _a.length) > 0) {
31
- results.errors.push(...flattenUnionErrorMessages(e.unionErrors));
32
- }
33
- else {
34
- let message = e.message;
35
- // Fallback if we forget to set a required_error
36
- if (message === 'Required') {
37
- message = 'Missing required field: ' + e.path.join('.');
38
- }
39
- results.errors.push(message);
40
- }
41
- });
42
- }
43
- results.status = results.errors.length ? 'error' : 'success';
44
- return results;
2
+ import { refineMissingVersions } from './mint-config/refinements/refineMissingVersions.js';
3
+ import { colorsSchema } from './mint-config/schemas/colors.js';
4
+ import { mintConfigSchema } from './mint-config/schemas/config.js';
5
+ import { aggregateWarnings } from './mint-config/warnings/aggregateWarnings.js';
6
+ export function validateMintConfig(value) {
7
+ const refinedSchema = mintConfigSchema.superRefine(refineMissingVersions);
8
+ const validationResults = refinedSchema.safeParse(value);
9
+ if (!validationResults.success)
10
+ return validationResults;
11
+ return Object.assign(Object.assign({}, validationResults), { warnings: aggregateWarnings(validationResults.data) });
45
12
  }
46
13
  export * from './openapi/types/endpoint.js';
47
14
  export { OpenApiToEndpointConverter } from './openapi/OpenApiToEndpointConverter.js';
48
15
  export { SchemaConverter } from './openapi/SchemaConverter.js';
49
16
  export { generateExampleFromSchema } from './openapi/generateExampleFromSchema.js';
50
- export const mintConfigSchema = (() => {
51
- var _a, _b, _c, _d, _e, _f;
52
- const schema = zodToJsonSchema(configSchema, 'Schema');
53
- (_b = (_a = schema.definitions) === null || _a === void 0 ? void 0 : _a.Schema) === null || _b === void 0 ? true : delete _b.properties.__injected;
54
- (_d = (_c = schema.definitions) === null || _c === void 0 ? void 0 : _c.Schema) === null || _d === void 0 ? true : delete _d.properties.colors.properties.ultraDark;
55
- (_f = (_e = schema.definitions) === null || _e === void 0 ? void 0 : _e.Schema) === null || _f === void 0 ? true : delete _f.properties.colors.properties.ultraLight;
56
- return schema;
17
+ export const mintConfigJsonSchema = (() => {
18
+ const cleanedSchema = mintConfigSchema.extend({
19
+ colors: colorsSchema.omit({
20
+ ultraDark: true,
21
+ ultraLight: true,
22
+ }),
23
+ });
24
+ return zodToJsonSchema(cleanedSchema, 'Schema');
57
25
  })();
58
- export { sort } from './sort.js';
59
- export { Sortable } from './sortable/Sortable.js';
60
- export { any } from './any.js';
61
- export { isSortable } from './sortable/isSortable.js';
@@ -0,0 +1,2 @@
1
+ import { NavigationEntry } from '@mintlify/models';
2
+ export declare function flattenNavigationVersions(nav: NavigationEntry[]): string[];
@@ -0,0 +1,10 @@
1
+ export function flattenNavigationVersions(nav) {
2
+ return nav.flatMap((val) => {
3
+ if (typeof val === 'string')
4
+ return [];
5
+ const versions = flattenNavigationVersions(val.pages);
6
+ if (val.version !== undefined)
7
+ versions.push(val.version);
8
+ return versions;
9
+ });
10
+ }
@@ -0,0 +1,6 @@
1
+ import { VersionType, Navigation } from '@mintlify/models';
2
+ import { RefinementCtx } from 'zod';
3
+ export declare function refineMissingVersions({ navigation, versions, }: {
4
+ navigation: Navigation;
5
+ versions?: VersionType[];
6
+ }, ctx: RefinementCtx): void;
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+ import { flattenNavigationVersions } from '../flattenNavigationVersions.js';
3
+ export function refineMissingVersions({ navigation, versions = [], }, ctx) {
4
+ const versionsFromNavigation = flattenNavigationVersions(navigation);
5
+ versionsFromNavigation.forEach((v) => {
6
+ if (!versions.includes(v)) {
7
+ ctx.addIssue({
8
+ code: z.ZodIssueCode.custom,
9
+ message: `Version ${v} is not included in the versions array, but is used in the navigation. Please add ${v} to the versions array.`,
10
+ });
11
+ }
12
+ });
13
+ }
@@ -1,27 +1,12 @@
1
1
  import { z } from 'zod';
2
- import { hexadecimalPattern } from '../hexadecimalPattern.js';
2
+ import { hexColor } from './hexColor.js';
3
3
  export const gradientSchema = z.object({
4
- from: z
5
- .string({
6
- invalid_type_error: 'Anchor color.from must be a string.',
7
- })
8
- .regex(hexadecimalPattern, 'Anchor color.from must be a hexadecimal color.'),
9
- via: z
10
- .string({
11
- invalid_type_error: 'Anchor color.via must be a string.',
12
- })
13
- .regex(hexadecimalPattern, 'Anchor color.via must be undefined or a hexadecimal color.')
14
- .optional(),
15
- to: z
16
- .string({
17
- invalid_type_error: 'Anchor color.to must be a string.',
18
- })
19
- .regex(hexadecimalPattern, 'Anchor color.to must be a hexadecimal color.'),
4
+ from: hexColor('Anchor color.from'),
5
+ via: hexColor('Anchor color.via').optional(),
6
+ to: hexColor('Anchor color.to'),
20
7
  });
21
8
  export const anchorColorSchema = z.union([
22
- z
23
- .string({ invalid_type_error: 'Anchor color must be a string.' })
24
- .regex(hexadecimalPattern, 'Anchor color must be a hexadecimal color.'),
9
+ hexColor('Anchor color'),
25
10
  gradientSchema.strict('Anchors with gradient colors can only have properties from, via, and to with valid hexadecimal colors.'),
26
11
  ], {
27
12
  invalid_type_error: 'Anchor color must be a string or an object with from and to properties.',
@@ -23,7 +23,7 @@ export declare const anchorSchema: z.ZodObject<{
23
23
  name: string;
24
24
  url: string;
25
25
  icon?: string | undefined;
26
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
26
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
27
27
  color?: string | {
28
28
  from: string;
29
29
  to: string;
@@ -35,7 +35,7 @@ export declare const anchorSchema: z.ZodObject<{
35
35
  name: string;
36
36
  url: string;
37
37
  icon?: string | undefined;
38
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
38
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
39
39
  color?: string | {
40
40
  from: string;
41
41
  to: string;
@@ -51,9 +51,9 @@ export declare const topAnchorSchema: z.ZodObject<{
51
51
  }, "strict", z.ZodTypeAny, {
52
52
  name: string;
53
53
  icon?: string | undefined;
54
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
54
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
55
55
  }, {
56
56
  name: string;
57
57
  icon?: string | undefined;
58
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
58
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
59
59
  }>;
@@ -1,34 +1,15 @@
1
1
  import { z } from 'zod';
2
- import { hexadecimalPattern } from '../hexadecimalPattern.js';
3
2
  import { anchorColorSchema } from './anchorColors.js';
3
+ import { hexColor } from './hexColor.js';
4
4
  export const colorsSchema = z
5
5
  .object({
6
- primary: z
7
- .string({ invalid_type_error: 'Primary color must be a string.' })
8
- .min(1, 'Color primary is missing.')
9
- .regex(hexadecimalPattern, 'Primary color must be a hexadecimal color including the # at the start.'),
10
- light: z
11
- .string({ invalid_type_error: 'Light color must be a string.' })
12
- .regex(hexadecimalPattern, 'Light color must be a hexadecimal color including the # at the start.')
13
- .optional(),
14
- dark: z
15
- .string({ invalid_type_error: 'Dark color must be a string.' })
16
- .regex(hexadecimalPattern, 'Dark color must be a hexadecimal color including the # at the start.')
17
- .optional(),
6
+ primary: hexColor('Primary color'),
7
+ light: hexColor('Light color').optional(),
8
+ dark: hexColor('Dark color').optional(),
18
9
  background: z
19
10
  .object({
20
- light: z
21
- .string({
22
- invalid_type_error: 'Background light color must be a string.',
23
- })
24
- .regex(hexadecimalPattern, 'Background light color must be a hexadecimal color including the # at the start.')
25
- .optional(),
26
- dark: z
27
- .string({
28
- invalid_type_error: 'Background dark color must be a string.',
29
- })
30
- .regex(hexadecimalPattern, 'Background dark color must be a hexadecimal color including the # at the start.')
31
- .optional(),
11
+ light: hexColor('Background light color').optional(),
12
+ dark: hexColor('Background dark color').optional(),
32
13
  })
33
14
  .optional(),
34
15
  anchors: anchorColorSchema.optional(),
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export declare const configSchema: z.ZodObject<{
2
+ export declare const mintConfigSchema: z.ZodObject<{
3
3
  $schema: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4
4
  mintlify: z.ZodOptional<z.ZodString>;
5
5
  name: z.ZodString;
@@ -231,11 +231,11 @@ export declare const configSchema: z.ZodObject<{
231
231
  }, "strict", z.ZodTypeAny, {
232
232
  name: string;
233
233
  icon?: string | undefined;
234
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
234
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
235
235
  }, {
236
236
  name: string;
237
237
  icon?: string | undefined;
238
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
238
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
239
239
  }>>;
240
240
  anchors: z.ZodOptional<z.ZodArray<z.ZodObject<{
241
241
  name: z.ZodString;
@@ -261,7 +261,7 @@ export declare const configSchema: z.ZodObject<{
261
261
  name: string;
262
262
  url: string;
263
263
  icon?: string | undefined;
264
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
264
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
265
265
  color?: string | {
266
266
  from: string;
267
267
  to: string;
@@ -273,7 +273,7 @@ export declare const configSchema: z.ZodObject<{
273
273
  name: string;
274
274
  url: string;
275
275
  icon?: string | undefined;
276
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
276
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
277
277
  color?: string | {
278
278
  from: string;
279
279
  to: string;
@@ -531,6 +531,7 @@ export declare const configSchema: z.ZodObject<{
531
531
  indexHiddenPages?: boolean | undefined;
532
532
  }>>;
533
533
  }, "strip", z.ZodTypeAny, {
534
+ navigation: import("@mintlify/models").NavigationGroup[];
534
535
  name: string;
535
536
  $schema: string;
536
537
  favicon: string;
@@ -550,7 +551,6 @@ export declare const configSchema: z.ZodObject<{
550
551
  ultraLight?: any;
551
552
  ultraDark?: any;
552
553
  };
553
- navigation: import("@mintlify/models").NavigationGroup[];
554
554
  mintlify?: string | undefined;
555
555
  logo?: string | {
556
556
  light: string;
@@ -606,13 +606,13 @@ export declare const configSchema: z.ZodObject<{
606
606
  topAnchor?: {
607
607
  name: string;
608
608
  icon?: string | undefined;
609
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
609
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
610
610
  } | undefined;
611
611
  anchors?: {
612
612
  name: string;
613
613
  url: string;
614
614
  icon?: string | undefined;
615
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
615
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
616
616
  color?: string | {
617
617
  from: string;
618
618
  to: string;
@@ -692,6 +692,7 @@ export declare const configSchema: z.ZodObject<{
692
692
  indexHiddenPages?: boolean | undefined;
693
693
  } | undefined;
694
694
  }, {
695
+ navigation: import("@mintlify/models").NavigationGroup[];
695
696
  name: string;
696
697
  favicon: string;
697
698
  colors: {
@@ -710,7 +711,6 @@ export declare const configSchema: z.ZodObject<{
710
711
  ultraLight?: any;
711
712
  ultraDark?: any;
712
713
  };
713
- navigation: import("@mintlify/models").NavigationGroup[];
714
714
  $schema?: string | undefined;
715
715
  mintlify?: string | undefined;
716
716
  logo?: string | {
@@ -767,13 +767,13 @@ export declare const configSchema: z.ZodObject<{
767
767
  topAnchor?: {
768
768
  name: string;
769
769
  icon?: string | undefined;
770
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
770
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
771
771
  } | undefined;
772
772
  anchors?: {
773
773
  name: string;
774
774
  url: string;
775
775
  icon?: string | undefined;
776
- iconType?: "brands" | "duotone" | "light" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
776
+ iconType?: "light" | "brands" | "duotone" | "regular" | "sharp-solid" | "solid" | "thin" | undefined;
777
777
  color?: string | {
778
778
  from: string;
779
779
  to: string;