@mintlify/validation 0.1.824 → 0.1.826

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 (35) hide show
  1. package/dist/editor-navigation/conversion/common.d.ts +4 -3
  2. package/dist/editor-navigation/conversion/common.js +9 -1
  3. package/dist/editor-navigation/conversion/docsjson-to-tree.js +3 -1
  4. package/dist/editor-navigation/types.d.ts +7 -3
  5. package/dist/mint-config/schemas/v2/index.d.ts +480 -360
  6. package/dist/mint-config/schemas/v2/properties/navigation/anchors.d.ts +4 -4
  7. package/dist/mint-config/schemas/v2/properties/navigation/divisionNav.d.ts +4 -2
  8. package/dist/mint-config/schemas/v2/properties/navigation/dropdown.d.ts +4 -4
  9. package/dist/mint-config/schemas/v2/properties/navigation/groups.d.ts +15 -12
  10. package/dist/mint-config/schemas/v2/properties/navigation/groups.js +2 -1
  11. package/dist/mint-config/schemas/v2/properties/navigation/index.d.ts +100 -40
  12. package/dist/mint-config/schemas/v2/properties/navigation/languages.d.ts +4 -4
  13. package/dist/mint-config/schemas/v2/properties/navigation/menu.d.ts +4 -4
  14. package/dist/mint-config/schemas/v2/properties/navigation/pages.d.ts +38 -10
  15. package/dist/mint-config/schemas/v2/properties/navigation/products.d.ts +4 -4
  16. package/dist/mint-config/schemas/v2/properties/navigation/tabs.d.ts +2 -2
  17. package/dist/mint-config/schemas/v2/properties/navigation/version.d.ts +4 -4
  18. package/dist/mint-config/schemas/v2/properties/reusable/page.d.ts +39 -0
  19. package/dist/mint-config/schemas/v2/properties/reusable/page.js +7 -0
  20. package/dist/mint-config/schemas/v2/properties/reusable/sdk.d.ts +2 -1
  21. package/dist/mint-config/schemas/v2/properties/reusable/sdk.js +2 -1
  22. package/dist/mint-config/schemas/v2/themes/almond.d.ts +48 -36
  23. package/dist/mint-config/schemas/v2/themes/aspen.d.ts +48 -36
  24. package/dist/mint-config/schemas/v2/themes/linden.d.ts +48 -36
  25. package/dist/mint-config/schemas/v2/themes/luma.d.ts +48 -36
  26. package/dist/mint-config/schemas/v2/themes/maple.d.ts +48 -36
  27. package/dist/mint-config/schemas/v2/themes/mint.d.ts +48 -36
  28. package/dist/mint-config/schemas/v2/themes/palm.d.ts +48 -36
  29. package/dist/mint-config/schemas/v2/themes/reusable/index.d.ts +32 -24
  30. package/dist/mint-config/schemas/v2/themes/sequoia.d.ts +48 -36
  31. package/dist/mint-config/schemas/v2/themes/willow.d.ts +48 -36
  32. package/dist/mint-config/validateConfig.d.ts +144 -108
  33. package/dist/tsconfig.build.tsbuildinfo +1 -1
  34. package/dist/types/deployment/index.d.ts +1 -0
  35. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import { GroupConfig, TabConfig, AnchorConfig, LanguageConfig, VersionConfig, DropdownConfig, ProductConfig, MenuItemConfig } from '../../mint-config/schemas/v2/properties/index.js';
1
+ import { GroupConfig, TabConfig, AnchorConfig, LanguageConfig, VersionConfig, DropdownConfig, ProductConfig, MenuItemConfig, SdkConfig } from '../../mint-config/schemas/v2/properties/index.js';
2
2
  import type { NavigationTree, NavigationNode, NavigationNodeType } from '../types.js';
3
3
  export type IdGenerator = () => string;
4
4
  export type ParentInfo = {
@@ -14,15 +14,16 @@ export declare function isMenuItemConfig(value: unknown): value is MenuItemConfi
14
14
  export declare function isDropdownConfig(value: unknown): value is DropdownConfig;
15
15
  export declare function isAnchorConfig(value: unknown): value is AnchorConfig;
16
16
  export declare function isGroupConfig(value: unknown): value is GroupConfig;
17
+ export declare function readSdkConfig(value: object): SdkConfig | undefined;
17
18
  export declare function buildChildrenMap(tree: NavigationTree): TreeNodeMap;
18
19
  export declare function mapNodesOfType<TNode extends NavigationNode, TConfig>(nodes: NavigationNode[], type: NavigationNodeType, childrenMap: TreeNodeMap, mapper: (node: TNode, childrenMap: TreeNodeMap) => TConfig): TConfig[];
19
20
  export declare function assignIfPresent<K extends string>(target: Partial<Record<K, unknown>>, source: Partial<Record<K, unknown>>, keys: readonly K[]): void;
20
21
  export declare const COMMON_DIVISION_NODE_DATA_FIELDS: readonly ["hidden", "href", "asyncapi", "openapi", "global"];
21
- export declare const TAB_NODE_DATA_FIELDS: readonly ["icon", "hidden", "href", "asyncapi", "openapi", "global"];
22
+ export declare const TAB_NODE_DATA_FIELDS: readonly ["icon", "sdk", "hidden", "href", "asyncapi", "openapi", "global"];
22
23
  export declare const ANCHOR_NODE_DATA_FIELDS: readonly ["icon", "color", "hidden", "href", "asyncapi", "openapi", "global"];
23
24
  export declare const LANGUAGE_NODE_DATA_FIELDS: readonly ["default", "hidden", "href", "asyncapi", "openapi", "global"];
24
25
  export declare const VERSION_NODE_DATA_FIELDS: readonly ["default", "tag", "hidden", "href", "asyncapi", "openapi", "global"];
25
26
  export declare const DROPDOWN_NODE_DATA_FIELDS: readonly ["icon", "color", "description", "hidden", "href", "asyncapi", "openapi", "global"];
26
27
  export declare const PRODUCT_NODE_DATA_FIELDS: readonly ["name", "icon", "color", "description", "hidden", "href", "asyncapi", "openapi", "global"];
27
28
  export declare const MENU_ITEM_NODE_DATA_FIELDS: readonly ["icon", "description", "hidden", "href", "asyncapi", "openapi", "global"];
28
- export declare const GROUP_NODE_DATA_FIELDS: readonly ["icon", "hidden", "tag", "expanded", "public", "root", "asyncapi", "openapi"];
29
+ export declare const GROUP_NODE_DATA_FIELDS: readonly ["icon", "hidden", "tag", "expanded", "public", "root", "asyncapi", "openapi", "sdk"];
@@ -1,3 +1,4 @@
1
+ import { sdkSchema, } from '../../mint-config/schemas/v2/properties/index.js';
1
2
  import { compareNodes } from '../order.js';
2
3
  import { generateNodeId } from '../utils.js';
3
4
  export const createIdGenerator = () => {
@@ -28,6 +29,12 @@ export function isAnchorConfig(value) {
28
29
  export function isGroupConfig(value) {
29
30
  return typeof value === 'object' && value !== null && 'group' in value;
30
31
  }
32
+ export function readSdkConfig(value) {
33
+ if (!('sdk' in value))
34
+ return undefined;
35
+ const parsed = sdkSchema.safeParse(value.sdk);
36
+ return parsed.success ? parsed.data : undefined;
37
+ }
31
38
  export function buildChildrenMap(tree) {
32
39
  const childrenMap = new Map();
33
40
  tree.forEach((node) => {
@@ -58,7 +65,7 @@ export const COMMON_DIVISION_NODE_DATA_FIELDS = [
58
65
  'openapi',
59
66
  'global',
60
67
  ];
61
- export const TAB_NODE_DATA_FIELDS = ['icon', ...COMMON_DIVISION_NODE_DATA_FIELDS];
68
+ export const TAB_NODE_DATA_FIELDS = ['icon', 'sdk', ...COMMON_DIVISION_NODE_DATA_FIELDS];
62
69
  export const ANCHOR_NODE_DATA_FIELDS = [
63
70
  'icon',
64
71
  'color',
@@ -97,4 +104,5 @@ export const GROUP_NODE_DATA_FIELDS = [
97
104
  'root',
98
105
  'asyncapi',
99
106
  'openapi',
107
+ 'sdk',
100
108
  ];
@@ -1,7 +1,7 @@
1
1
  import traverse from 'neotraverse';
2
2
  import { compareNodes, generateKeyBetween, generateNKeysBetween } from '../order.js';
3
3
  import { isGlobalNode } from '../schema.js';
4
- import { createIdGenerator, isProductConfig, isLanguageConfig, isVersionConfig, isTabConfig, isMenuItemConfig, isDropdownConfig, isAnchorConfig, isGroupConfig, } from './common.js';
4
+ import { createIdGenerator, isProductConfig, isLanguageConfig, isVersionConfig, isTabConfig, isMenuItemConfig, isDropdownConfig, isAnchorConfig, isGroupConfig, readSdkConfig, } from './common.js';
5
5
  function pickDefined(obj) {
6
6
  const result = {};
7
7
  for (const key in obj) {
@@ -96,6 +96,7 @@ const NODE_FACTORIES = {
96
96
  href: 'href' in value ? value.href : undefined,
97
97
  openapi: 'openapi' in value ? value.openapi : undefined,
98
98
  asyncapi: 'asyncapi' in value ? value.asyncapi : undefined,
99
+ sdk: readSdkConfig(value),
99
100
  })),
100
101
  };
101
102
  return tabNode;
@@ -186,6 +187,7 @@ const NODE_FACTORIES = {
186
187
  root: value.root,
187
188
  openapi: 'openapi' in value ? value.openapi : undefined,
188
189
  asyncapi: 'asyncapi' in value ? value.asyncapi : undefined,
190
+ sdk: readSdkConfig(value),
189
191
  })),
190
192
  };
191
193
  return groupNode;
@@ -1,5 +1,5 @@
1
1
  import { IconType } from '@mintlify/models';
2
- import { DecoratedPageConfig, BaseDropdownSchema, BaseLanguageSchema, BaseProductSchema, BaseTabSchema, BaseVersionSchema, BaseGroupSchema, BaseAnchorSchema, MenuItemConfig, AsyncApiConfig, OpenApiConfig, IconConfig } from '../mint-config/schemas/v2/properties/index.js';
2
+ import { DecoratedPageConfig, BaseDropdownSchema, BaseLanguageSchema, BaseProductSchema, BaseTabSchema, BaseVersionSchema, BaseGroupSchema, BaseAnchorSchema, MenuItemConfig, AsyncApiConfig, OpenApiConfig, IconConfig, SdkConfig } from '../mint-config/schemas/v2/properties/index.js';
3
3
  export declare const DIVISION_TYPES: readonly ["tab", "dropdown", "anchor", "language", "product", "version", "item"];
4
4
  export declare const CONTENT_TYPES: readonly ["page", "group"];
5
5
  export declare const FILESYSTEM_TYPES: readonly ["file", "file_directory"];
@@ -24,6 +24,10 @@ export interface APISchema {
24
24
  asyncapi?: AsyncApiConfig;
25
25
  openapi?: OpenApiConfig;
26
26
  }
27
+ /** SDK reference config on tab/group nodes; preserved through docs.json round-trips. */
28
+ export interface SdkNodeSchema {
29
+ sdk?: SdkConfig;
30
+ }
27
31
  export type HrefSchema = {
28
32
  href?: string;
29
33
  pageId?: string;
@@ -43,7 +47,7 @@ export interface VersionNode extends BaseNavigationNode<BaseVersionSchema & APIS
43
47
  export interface LanguageNode extends BaseNavigationNode<BaseLanguageSchema & APISchema & HrefSchema & GlobalSchema & DivisionOpenApiGeneratedSchema> {
44
48
  type: 'language';
45
49
  }
46
- export interface TabNode extends BaseNavigationNode<BaseTabSchema & APISchema & HrefSchema & GlobalSchema & DivisionOpenApiGeneratedSchema> {
50
+ export interface TabNode extends BaseNavigationNode<BaseTabSchema & APISchema & SdkNodeSchema & HrefSchema & GlobalSchema & DivisionOpenApiGeneratedSchema> {
47
51
  type: 'tab';
48
52
  }
49
53
  export interface ProductNode extends BaseNavigationNode<BaseProductSchema & APISchema & HrefSchema & GlobalSchema & DivisionOpenApiGeneratedSchema> {
@@ -55,7 +59,7 @@ export interface AnchorNode extends BaseNavigationNode<BaseAnchorSchema & APISch
55
59
  export interface MenuItemNode extends BaseNavigationNode<MenuItemConfig & APISchema & HrefSchema & DivisionOpenApiGeneratedSchema> {
56
60
  type: 'item';
57
61
  }
58
- export interface GroupNode extends BaseNavigationNode<BaseGroupSchema & APISchema & {
62
+ export interface GroupNode extends BaseNavigationNode<Omit<BaseGroupSchema, 'sdk'> & APISchema & SdkNodeSchema & {
59
63
  fromPages?: boolean;
60
64
  hasGeneratedPages?: boolean;
61
65
  isGenerated?: boolean;