@stainless-api/docs-ui 0.1.0-beta.1 → 0.1.0-beta.10

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 (187) hide show
  1. package/dist/components/breadcrumbs.d.ts +11 -0
  2. package/dist/components/breadcrumbs.js +52 -0
  3. package/dist/components/breadcrumbs.js.map +1 -0
  4. package/dist/components/chat.d.ts +6 -0
  5. package/dist/components/chat.js +80 -0
  6. package/dist/components/chat.js.map +1 -0
  7. package/dist/components/dropdown.d.ts +17 -0
  8. package/dist/components/dropdown.js +18 -0
  9. package/dist/components/dropdown.js.map +1 -0
  10. package/dist/components/icons.d.ts +27 -0
  11. package/dist/components/icons.js +34 -0
  12. package/dist/components/icons.js.map +1 -0
  13. package/dist/components/index.d.ts +9 -0
  14. package/dist/components/index.js +10 -0
  15. package/dist/components/index.js.map +1 -0
  16. package/dist/components/method.d.ts +41 -0
  17. package/dist/components/method.js +44 -0
  18. package/dist/components/method.js.map +1 -0
  19. package/dist/components/overview.d.ts +21 -0
  20. package/dist/components/overview.js +49 -0
  21. package/dist/components/overview.js.map +1 -0
  22. package/dist/components/primitives.d.ts +60 -0
  23. package/dist/components/primitives.js +117 -0
  24. package/dist/components/primitives.js.map +1 -0
  25. package/dist/components/properties.d.ts +24 -0
  26. package/dist/components/properties.js +24 -0
  27. package/dist/components/properties.js.map +1 -0
  28. package/dist/components/scripts/dropdown.d.ts +5 -0
  29. package/dist/components/scripts/dropdown.js +64 -0
  30. package/dist/components/scripts/dropdown.js.map +1 -0
  31. package/dist/components/sdk.d.ts +78 -0
  32. package/dist/components/sdk.js +153 -0
  33. package/dist/components/sdk.js.map +1 -0
  34. package/dist/components/sidebar.d.ts +22 -0
  35. package/dist/components/sidebar.js +30 -0
  36. package/dist/components/sidebar.js.map +1 -0
  37. package/dist/components/snippets.d.ts +28 -0
  38. package/dist/components/snippets.js +76 -0
  39. package/dist/components/snippets.js.map +1 -0
  40. package/dist/contexts/component-generics.d.ts +25 -0
  41. package/dist/contexts/component-generics.js +24 -0
  42. package/dist/contexts/component-generics.js.map +1 -0
  43. package/dist/contexts/component-types.d.ts +4 -0
  44. package/dist/contexts/component-types.js +2 -0
  45. package/dist/contexts/component-types.js.map +1 -0
  46. package/dist/contexts/component.d.ts +14 -0
  47. package/dist/contexts/component.js +14 -0
  48. package/dist/contexts/component.js.map +1 -0
  49. package/dist/contexts/docs.d.ts +34 -0
  50. package/dist/contexts/docs.js +43 -0
  51. package/dist/contexts/docs.js.map +1 -0
  52. package/dist/contexts/index.d.ts +7 -0
  53. package/dist/contexts/index.js +15 -0
  54. package/dist/contexts/index.js.map +1 -0
  55. package/dist/contexts/markdown.d.ts +13 -0
  56. package/dist/contexts/markdown.js +29 -0
  57. package/dist/contexts/markdown.js.map +1 -0
  58. package/dist/contexts/navigation.d.ts +19 -0
  59. package/dist/contexts/navigation.js +14 -0
  60. package/dist/contexts/navigation.js.map +1 -0
  61. package/dist/contexts/search.d.ts +13 -0
  62. package/dist/contexts/search.js +15 -0
  63. package/dist/contexts/search.js.map +1 -0
  64. package/dist/contexts/use-components.d.ts +1 -0
  65. package/dist/contexts/use-components.js +3 -0
  66. package/dist/contexts/use-components.js.map +1 -0
  67. package/dist/index.d.ts +6 -0
  68. package/dist/index.js +7 -7542
  69. package/dist/index.js.map +1 -0
  70. package/dist/languages/go.d.ts +21 -0
  71. package/dist/languages/go.js +116 -0
  72. package/dist/languages/go.js.map +1 -0
  73. package/dist/languages/http.d.ts +25 -0
  74. package/dist/languages/http.js +130 -0
  75. package/dist/languages/http.js.map +1 -0
  76. package/dist/languages/index.d.ts +37 -0
  77. package/dist/languages/index.js +10 -0
  78. package/dist/languages/index.js.map +1 -0
  79. package/dist/languages/java.d.ts +23 -0
  80. package/dist/languages/java.js +120 -0
  81. package/dist/languages/java.js.map +1 -0
  82. package/dist/languages/python.d.ts +22 -0
  83. package/dist/languages/python.js +104 -0
  84. package/dist/languages/python.js.map +1 -0
  85. package/dist/languages/ruby.d.ts +22 -0
  86. package/dist/languages/ruby.js +125 -0
  87. package/dist/languages/ruby.js.map +1 -0
  88. package/dist/languages/typescript.d.ts +22 -0
  89. package/dist/languages/typescript.js +134 -0
  90. package/dist/languages/typescript.js.map +1 -0
  91. package/dist/markdown/index.d.ts +6 -0
  92. package/dist/markdown/index.js +80 -0
  93. package/dist/markdown/index.js.map +1 -0
  94. package/dist/markdown/md.d.ts +11 -0
  95. package/dist/markdown/md.js +34 -0
  96. package/dist/markdown/md.js.map +1 -0
  97. package/dist/markdown/utils.d.ts +17 -0
  98. package/dist/markdown/utils.js +30 -0
  99. package/dist/markdown/utils.js.map +1 -0
  100. package/dist/mcp.js +678 -576
  101. package/dist/routing.d.ts +44 -0
  102. package/dist/routing.js +149 -160
  103. package/dist/routing.js.map +1 -0
  104. package/dist/search/form.d.ts +13 -0
  105. package/dist/search/form.js +55 -0
  106. package/dist/search/form.js.map +1 -0
  107. package/dist/search/index.d.ts +1 -0
  108. package/dist/search/index.js +2 -0
  109. package/dist/search/index.js.map +1 -0
  110. package/dist/search/indexer.d.ts +31 -0
  111. package/dist/search/indexer.js +212 -0
  112. package/dist/search/indexer.js.map +1 -0
  113. package/dist/search/mcp.d.ts +8 -0
  114. package/dist/search/mcp.js +43 -0
  115. package/dist/search/mcp.js.map +1 -0
  116. package/dist/search/printer.d.ts +6 -0
  117. package/dist/search/printer.js +43 -0
  118. package/dist/search/printer.js.map +1 -0
  119. package/dist/search/providers/algolia.d.ts +8 -0
  120. package/dist/search/providers/algolia.js +64 -0
  121. package/dist/search/providers/algolia.js.map +1 -0
  122. package/dist/search/providers/fuse.d.ts +10 -0
  123. package/dist/search/providers/fuse.js +14 -0
  124. package/dist/search/providers/fuse.js.map +1 -0
  125. package/dist/search/providers/pagefind.d.ts +2 -0
  126. package/dist/search/providers/pagefind.js +19 -0
  127. package/dist/search/providers/pagefind.js.map +1 -0
  128. package/dist/search/providers/walker.d.ts +5 -0
  129. package/dist/search/providers/walker.js +23 -0
  130. package/dist/search/providers/walker.js.map +1 -0
  131. package/dist/search/results.d.ts +21 -0
  132. package/dist/search/results.js +58 -0
  133. package/dist/search/results.js.map +1 -0
  134. package/dist/search/state.d.ts +29 -0
  135. package/dist/search/state.js +38 -0
  136. package/dist/search/state.js.map +1 -0
  137. package/dist/search/types.d.ts +79 -0
  138. package/dist/search/types.js +24 -0
  139. package/dist/search/types.js.map +1 -0
  140. package/dist/style.d.ts +179 -0
  141. package/dist/style.js +179 -0
  142. package/dist/style.js.map +1 -0
  143. package/dist/styles/primitives.css +1 -0
  144. package/dist/types/sdkjson.d.ts +1 -0
  145. package/dist/types/sdkjson.js +2 -0
  146. package/dist/types/sdkjson.js.map +1 -0
  147. package/dist/types/stainless-alias/lib/json-spec-v2/GoAST.d.ts +120 -0
  148. package/dist/types/stainless-alias/lib/json-spec-v2/GoAST.js +2 -0
  149. package/dist/types/stainless-alias/lib/json-spec-v2/GoAST.js.map +1 -0
  150. package/dist/types/stainless-alias/lib/json-spec-v2/HttpAST.d.ts +100 -0
  151. package/dist/types/stainless-alias/lib/json-spec-v2/HttpAST.js +3 -0
  152. package/dist/types/stainless-alias/lib/json-spec-v2/HttpAST.js.map +1 -0
  153. package/dist/types/stainless-alias/lib/json-spec-v2/JavaAST.d.ts +87 -0
  154. package/dist/types/stainless-alias/lib/json-spec-v2/JavaAST.js +2 -0
  155. package/dist/types/stainless-alias/lib/json-spec-v2/JavaAST.js.map +1 -0
  156. package/dist/types/stainless-alias/lib/json-spec-v2/PythonAST.d.ts +110 -0
  157. package/dist/types/stainless-alias/lib/json-spec-v2/PythonAST.js +3 -0
  158. package/dist/types/stainless-alias/lib/json-spec-v2/PythonAST.js.map +1 -0
  159. package/dist/types/stainless-alias/lib/json-spec-v2/RubyAST.d.ts +122 -0
  160. package/dist/types/stainless-alias/lib/json-spec-v2/RubyAST.js +2 -0
  161. package/dist/types/stainless-alias/lib/json-spec-v2/RubyAST.js.map +1 -0
  162. package/dist/types/stainless-alias/lib/json-spec-v2/TSAST.d.ts +146 -0
  163. package/dist/types/stainless-alias/lib/json-spec-v2/TSAST.js +3 -0
  164. package/dist/types/stainless-alias/lib/json-spec-v2/TSAST.js.map +1 -0
  165. package/dist/types/stainless-alias/lib/json-spec-v2/TerraformAST.d.ts +89 -0
  166. package/dist/types/stainless-alias/lib/json-spec-v2/TerraformAST.js +3 -0
  167. package/dist/types/stainless-alias/lib/json-spec-v2/TerraformAST.js.map +1 -0
  168. package/dist/types/stainless-alias/lib/json-spec-v2/types.d.ts +190 -0
  169. package/dist/types/stainless-alias/lib/json-spec-v2/types.js +105 -0
  170. package/dist/types/stainless-alias/lib/json-spec-v2/types.js.map +1 -0
  171. package/dist/utils.d.ts +7 -0
  172. package/dist/utils.js +27 -0
  173. package/dist/utils.js.map +1 -0
  174. package/package.json +8 -7
  175. package/src/components/method.tsx +4 -2
  176. package/src/components/overview.tsx +1 -0
  177. package/src/components/sdk.tsx +3 -2
  178. package/src/components/snippets.tsx +3 -2
  179. package/src/search/results.tsx +1 -0
  180. package/src/style.ts +0 -1
  181. package/src/styles/main.css +739 -746
  182. package/src/styles/primitives.css +435 -427
  183. package/src/styles/resets.css +33 -41
  184. package/src/styles/search.css +247 -248
  185. package/src/styles/sidebar.css +58 -60
  186. package/src/styles/snippets.css +86 -88
  187. package/src/styles/variables.css +85 -89
@@ -0,0 +1,212 @@
1
+ import { generateRoute, Languages, parseStainlessPath, walkTree } from '../routing';
2
+ import * as printer from './printer';
3
+ import { renderMarkdown } from '../markdown';
4
+ // function sanitizeTerraformType(key: string, value: any) {
5
+ // return typeof value === "number" && !Number.isSafeInteger(value)
6
+ // ? value.toString()
7
+ // : value;
8
+ // }
9
+ export function getResourceNames(resourceIds, topResources) {
10
+ let element = undefined;
11
+ let resources = topResources;
12
+ const resourceName = [];
13
+ for (const resource of resourceIds) {
14
+ element = resources?.[resource];
15
+ if (!element)
16
+ break;
17
+ resourceName.push(element.title);
18
+ resources = element?.subresources;
19
+ }
20
+ return resourceName;
21
+ }
22
+ function chunkByLines(content, maxSize = 60000) {
23
+ if (Buffer.byteLength(content, 'utf8') < maxSize)
24
+ return [content];
25
+ const lines = content.split('\n');
26
+ const chunks = [];
27
+ let currentChunk = [];
28
+ let currentSize = 0;
29
+ for (const line of lines) {
30
+ const lineSize = Buffer.byteLength(line + '\n', 'utf8');
31
+ if (currentSize + lineSize > maxSize) {
32
+ chunks.push(currentChunk.join('\n'));
33
+ currentChunk = [];
34
+ currentSize = 0;
35
+ }
36
+ currentChunk.push(line);
37
+ currentSize += lineSize;
38
+ }
39
+ if (currentChunk.length > 0)
40
+ chunks.push(currentChunk.join('\n'));
41
+ return chunks;
42
+ }
43
+ export function* generateChatIndex(spec) {
44
+ for (const [language, readme] of Object.entries(spec.readme)) {
45
+ const chunks = chunkByLines(readme);
46
+ for (const chunk of chunks) {
47
+ yield {
48
+ language,
49
+ title: 'Overview',
50
+ content: chunk,
51
+ url: `docs://BASE_PATH/${language}`,
52
+ };
53
+ }
54
+ }
55
+ for (const { data } of walkTree(spec)) {
56
+ if (data.kind !== 'http_method')
57
+ continue;
58
+ const { title, name, stainlessPath, httpMethod, summary, description } = data;
59
+ const endpoint = data.endpoint.slice(httpMethod.length).trim();
60
+ for (const language of Languages) {
61
+ const decl = spec.decls[language]?.[stainlessPath];
62
+ if (!decl)
63
+ continue;
64
+ const env = {
65
+ spec,
66
+ language,
67
+ options: {
68
+ includeModelProperties: true,
69
+ },
70
+ };
71
+ const content = renderMarkdown(env, data);
72
+ const chunks = chunkByLines(content);
73
+ for (const chunk of chunks) {
74
+ yield {
75
+ language,
76
+ title,
77
+ name,
78
+ endpoint,
79
+ httpMethod,
80
+ summary,
81
+ description,
82
+ stainlessPath,
83
+ qualified: decl['qualified'],
84
+ ident: decl['ident'],
85
+ content: chunk,
86
+ url: generateRoute('docs://BASE_PATH', language, stainlessPath),
87
+ };
88
+ }
89
+ }
90
+ }
91
+ }
92
+ export function* generateIndex(spec, renderMarkdownFn, includeTypes) {
93
+ const parentCrumbs = {};
94
+ for (const { data } of walkTree(spec, true)) {
95
+ const { kind, name, title, stainlessPath } = data;
96
+ const common = { name, title, stainlessPath };
97
+ const parsedPath = parseStainlessPath(stainlessPath);
98
+ const crumbs = getResourceNames(parsedPath.resource, spec.resources);
99
+ switch (kind) {
100
+ case 'resource':
101
+ for (const language of Languages) {
102
+ if (!data[language])
103
+ continue;
104
+ parentCrumbs[stainlessPath] = crumbs;
105
+ const { Name, QualifiedName } = data[language];
106
+ yield {
107
+ kind,
108
+ crumbs,
109
+ language,
110
+ Name,
111
+ QualifiedName,
112
+ priority: 0,
113
+ ...common,
114
+ };
115
+ }
116
+ break;
117
+ case 'http_method': {
118
+ const { summary, endpoint, httpMethod } = data;
119
+ for (const language of Languages) {
120
+ const found = spec.decls[language]?.[stainlessPath];
121
+ if (!found)
122
+ continue;
123
+ parentCrumbs[stainlessPath] = [...crumbs, title];
124
+ const qualified = found['qualified'];
125
+ const ident = qualified?.split('.')?.at(-1);
126
+ yield {
127
+ kind,
128
+ crumbs: [...crumbs, title],
129
+ ident,
130
+ qualified,
131
+ language,
132
+ description: renderMarkdownFn?.(data.description) ?? data.description,
133
+ endpoint: endpoint.slice(httpMethod.length).trim(),
134
+ httpMethod,
135
+ summary,
136
+ priority: 0,
137
+ ...common,
138
+ };
139
+ }
140
+ break;
141
+ }
142
+ case 'model':
143
+ for (const language of Languages) {
144
+ if (!spec.decls[language])
145
+ continue;
146
+ parentCrumbs[stainlessPath] = [...crumbs, title];
147
+ const schema = spec.decls[language]?.[`${stainlessPath} > (schema)`];
148
+ const children = schema?.['children']
149
+ ?.map((childPath) => {
150
+ const child = spec.decls?.[language]?.[childPath];
151
+ return (child?.['ident'] ??
152
+ child?.['name'] ??
153
+ child?.['key'] ??
154
+ child?.['type']?.['literal']?.['value'] ??
155
+ child?.['type']?.['literal'] ??
156
+ child?.['type']?.['value']);
157
+ })
158
+ ?.filter((child) => child) ?? [];
159
+ yield {
160
+ kind,
161
+ crumbs: [...crumbs, title],
162
+ children,
163
+ language,
164
+ priority: 2,
165
+ ident: schema?.['ident'],
166
+ ...common,
167
+ };
168
+ }
169
+ }
170
+ }
171
+ for (const language of Languages) {
172
+ const decls = spec.decls?.[language];
173
+ if (!decls)
174
+ continue;
175
+ for (const decl of Object.values(decls)) {
176
+ switch (decl.kind) {
177
+ // case "TerraformDeclAttribute":
178
+ case 'JavaDeclProperty':
179
+ case 'GoDeclProperty':
180
+ case 'PythonDeclProperty':
181
+ case 'RubyDeclProperty':
182
+ case 'HttpDeclProperty':
183
+ case 'TSDeclProperty':
184
+ {
185
+ const parsedPath = parseStainlessPath(decl.stainlessPath);
186
+ const type = includeTypes === false ? undefined : printer.typeName(language, decl.type);
187
+ const name = decl['ident'] ?? decl['name'] ?? decl['key'];
188
+ const parent = parentCrumbs[parsedPath.routable];
189
+ // Filter out properties of non-routable response types
190
+ if (parent === undefined)
191
+ continue;
192
+ const matches = decl.stainlessPath.matchAll(/\((property|params|param)\) ([^\s]+)/g);
193
+ const props = Array.from(matches)
194
+ .map((p) => p[2])
195
+ .filter((p) => p !== undefined);
196
+ yield {
197
+ kind: 'property',
198
+ name,
199
+ stainlessPath: decl.stainlessPath,
200
+ crumbs: [...parent, ...props],
201
+ docstring: renderMarkdownFn?.(decl.docstring) ?? decl.docstring,
202
+ type,
203
+ language,
204
+ priority: 3,
205
+ };
206
+ }
207
+ break;
208
+ }
209
+ }
210
+ }
211
+ }
212
+ //# sourceMappingURL=indexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/search/indexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { DocsLanguage } from '../routing';
2
+ import { buildIndex } from './providers/fuse';
3
+ import type { IndexEntry } from './types';
4
+ import type { SDKJSON } from '../types/sdkjson';
5
+ export declare function consolidate(results: IndexEntry[]): string[];
6
+ export declare function render(spec: SDKJSON.Spec, language: DocsLanguage, items: IndexEntry[], includeModelProperties: boolean): any;
7
+ export declare function searchAndRender(spec: SDKJSON.Spec, language: DocsLanguage, query: string, limit?: number, includeModelProperties?: boolean): any;
8
+ export { buildIndex };
@@ -0,0 +1,43 @@
1
+ import { renderMarkdown } from '../markdown';
2
+ import { parseStainlessPath } from '../routing';
3
+ import { getResourceFromSpec } from '../utils';
4
+ import { buildIndex, search } from './providers/fuse';
5
+ export function consolidate(results) {
6
+ const resources = new Set();
7
+ const methods = new Set();
8
+ for (const entry of results) {
9
+ const parsed = parseStainlessPath(entry.stainlessPath);
10
+ if (parsed.method)
11
+ methods.add(parsed.routable);
12
+ else
13
+ resources.add(parsed.routable);
14
+ }
15
+ const filtered = Array.from(methods).filter((path) => !resources.has(path.split(' >').at(0)));
16
+ return [...resources, ...filtered];
17
+ }
18
+ export function render(spec, language, items, includeModelProperties) {
19
+ const env = {
20
+ spec,
21
+ language,
22
+ options: {
23
+ renderNestedResources: false,
24
+ includeModelProperties,
25
+ },
26
+ };
27
+ const paths = consolidate(items);
28
+ const output = paths.map((entry) => {
29
+ const parsed = parseStainlessPath(entry);
30
+ const resource = getResourceFromSpec(parsed.resource, spec);
31
+ const target = parsed.method ? resource.methods[parsed.method] : resource;
32
+ const content = renderMarkdown(env, target);
33
+ return [entry, content];
34
+ });
35
+ return Object.fromEntries(output);
36
+ }
37
+ export function searchAndRender(spec, language, query, limit, includeModelProperties = false) {
38
+ const idx = buildIndex(spec, language);
39
+ const results = search(idx, query, limit).map(({ item }) => item);
40
+ return render(spec, language, results, includeModelProperties);
41
+ }
42
+ export { buildIndex };
43
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/search/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAgB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAItD,MAAM,UAAU,WAAW,CAAC,OAAqB;IAC/C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;;YAC3C,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,IAAkB,EAClB,QAAsB,EACtB,KAAmB,EACnB,sBAA+B;IAE/B,MAAM,GAAG,GAAG;QACV,IAAI;QACJ,QAAQ;QACR,OAAO,EAAE;YACP,qBAAqB,EAAE,KAAK;YAC5B,sBAAsB;SACvB;KACF,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1E,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,IAAkB,EAClB,QAAsB,EACtB,KAAa,EACb,KAAc,EACd,yBAAkC,KAAK;IAEvC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;AACjE,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { SDKJSON } from '../types/sdkjson';
2
+ import type { DocsLanguage } from '../routing';
3
+ export declare function typeName(language: DocsLanguage, type: SDKJSON.Type): string;
4
+ export declare function type(language: DocsLanguage, type: SDKJSON.Type): string;
5
+ export declare function declaration(language: DocsLanguage, decl: SDKJSON.DeclarationNode): string;
6
+ export declare function methodSignature(language: DocsLanguage, decl: SDKJSON.DeclarationNode): string;
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { renderToStaticMarkup } from 'react-dom/server';
3
+ import { DocsProvider, useLanguageComponents } from '../contexts';
4
+ import style from '../style';
5
+ import { ComponentProvider } from '../contexts/component';
6
+ function Providers({ language, children }) {
7
+ return (_jsx(DocsProvider, { spec: null, language: language, children: _jsx(ComponentProvider, { components: {
8
+ SDKReference({ stainlessPath, children }) {
9
+ if (!stainlessPath)
10
+ return children;
11
+ return _jsx("span", { className: style.TypeReference, children: children });
12
+ },
13
+ }, children: children }) }));
14
+ }
15
+ function RenderType({ type, full }) {
16
+ const { Type, TypeName } = useLanguageComponents();
17
+ return full ? _jsx(Type, { type: type }) : _jsx(TypeName, { type: type });
18
+ }
19
+ export function typeName(language, type) {
20
+ const component = (_jsx(Providers, { language: language, children: _jsx(RenderType, { type: type }) }));
21
+ return renderToStaticMarkup(component);
22
+ }
23
+ export function type(language, type) {
24
+ const component = (_jsx(Providers, { language: language, children: _jsx(RenderType, { type: type, full: true }) }));
25
+ return renderToStaticMarkup(component);
26
+ }
27
+ function RenderDeclaration({ decl }) {
28
+ const { Declaration } = useLanguageComponents();
29
+ return _jsx(Declaration, { decl: decl });
30
+ }
31
+ export function declaration(language, decl) {
32
+ const component = (_jsx(Providers, { language: language, children: _jsx(RenderDeclaration, { decl: decl }) }));
33
+ return renderToStaticMarkup(component);
34
+ }
35
+ function RenderMethod({ method }) {
36
+ const { MethodSignature } = useLanguageComponents();
37
+ return _jsx(MethodSignature, { decl: method });
38
+ }
39
+ export function methodSignature(language, decl) {
40
+ const component = (_jsx(Providers, { language: language, children: _jsx(RenderMethod, { method: decl }) }));
41
+ return renderToStaticMarkup(component);
42
+ }
43
+ //# sourceMappingURL=printer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printer.js","sourceRoot":"","sources":["../../src/search/printer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAO1D,SAAS,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAkB;IACvD,OAAO,CACL,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,YAC1C,KAAC,iBAAiB,IAChB,UAAU,EAAE;gBACV,YAAY,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE;oBACtC,IAAI,CAAC,aAAa;wBAAE,OAAO,QAAQ,CAAC;oBACpC,OAAO,eAAM,SAAS,EAAE,KAAK,CAAC,aAAa,YAAG,QAAQ,GAAQ,CAAC;gBACjE,CAAC;aACF,YAEA,QAAQ,GACS,GACP,CAChB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAA0C;IACxE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACnD,OAAO,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,QAAsB,EAAE,IAAkB;IACjE,MAAM,SAAS,GAAG,CAChB,KAAC,SAAS,IAAC,QAAQ,EAAE,QAAQ,YAC3B,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI,GAChB,CACb,CAAC;IAEF,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,QAAsB,EAAE,IAAkB;IAC7D,MAAM,SAAS,GAAG,CAChB,KAAC,SAAS,IAAC,QAAQ,EAAE,QAAQ,YAC3B,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAI,GAC5B,CACb,CAAC;IAEF,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAE,IAAI,EAAqC;IACpE,MAAM,EAAE,WAAW,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAChD,OAAO,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAsB,EAAE,IAA6B;IAC/E,MAAM,SAAS,GAAG,CAChB,KAAC,SAAS,IAAC,QAAQ,EAAE,QAAQ,YAC3B,KAAC,iBAAiB,IAAC,IAAI,EAAE,IAAI,GAAI,GACvB,CACb,CAAC;IAEF,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,MAAM,EAAuC;IACnE,MAAM,EAAE,eAAe,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACpD,OAAO,KAAC,eAAe,IAAC,IAAI,EAAE,MAAM,GAAI,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAsB,EAAE,IAA6B;IACnF,MAAM,SAAS,GAAG,CAChB,KAAC,SAAS,IAAC,QAAQ,EAAE,QAAQ,YAC3B,KAAC,YAAY,IAAC,MAAM,EAAE,IAAI,GAAI,GACpB,CACb,CAAC;IAEF,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { SDKJSON } from '../../types/sdkjson';
2
+ import type { SearchSettings, SearchParams, ResultType } from '../types';
3
+ export declare function buildIndex(appId: string, indexName: string, writeKey: string, spec: SDKJSON.Spec, renderMarkdown: (string?: any) => string | null): Promise<void>;
4
+ export declare function buildChatIndex(appId: string, indexName: string, writeKey: string, spec: SDKJSON.Spec): Promise<void>;
5
+ export declare function search({ settings: { appId, indexName, searchKey }, params: { query, language, kind }, }: {
6
+ params: SearchParams;
7
+ settings: SearchSettings;
8
+ }): Promise<ResultType | undefined>;
@@ -0,0 +1,64 @@
1
+ import { searchClient } from '@algolia/client-search';
2
+ import { generateChatIndex, generateIndex } from '../indexer';
3
+ import { SearchableAttributes, SearchableAttributesChat } from '../types';
4
+ export async function buildIndex(appId, indexName, writeKey, spec, renderMarkdown) {
5
+ if (!appId || !indexName || !writeKey)
6
+ return;
7
+ const objects = Array.from(generateIndex(spec, renderMarkdown));
8
+ const client = searchClient(appId, writeKey);
9
+ await client.setSettings({
10
+ indexName,
11
+ indexSettings: {
12
+ highlightPreTag: '<mark>',
13
+ highlightPostTag: '</mark>',
14
+ customRanking: ['asc(priority)'],
15
+ attributesForFaceting: ['language', 'kind'],
16
+ searchableAttributes: SearchableAttributes,
17
+ },
18
+ });
19
+ await client.replaceAllObjects({ indexName, objects });
20
+ }
21
+ export async function buildChatIndex(appId, indexName, writeKey, spec) {
22
+ if (!appId || !indexName || !writeKey)
23
+ return;
24
+ const objects = Array.from(generateChatIndex(spec));
25
+ const client = searchClient(appId, writeKey);
26
+ await client.setSettings({
27
+ indexName,
28
+ indexSettings: {
29
+ attributesForFaceting: ['language'],
30
+ attributeForDistinct: 'stainlessPath',
31
+ searchableAttributes: SearchableAttributesChat,
32
+ },
33
+ });
34
+ await client.replaceAllObjects({ indexName, objects });
35
+ }
36
+ export async function search({ settings: { appId, indexName, searchKey }, params: { query, language, kind }, }) {
37
+ const client = searchClient(appId, searchKey);
38
+ const filters = language ? `language:${language}` : undefined;
39
+ const facetFilters = kind ? [`kind:${kind}`] : undefined;
40
+ const { results } = await client.search({
41
+ requests: [
42
+ {
43
+ query,
44
+ indexName,
45
+ filters,
46
+ hitsPerPage: 5,
47
+ facets: ['kind'],
48
+ },
49
+ {
50
+ query,
51
+ indexName,
52
+ filters,
53
+ facetFilters,
54
+ facets: ['kind'],
55
+ hitsPerPage: 50,
56
+ },
57
+ ],
58
+ });
59
+ if ('hits' in results[0] && 'hits' in results[1]) {
60
+ const [{ nbHits, facets }, { hits }] = results;
61
+ return { hits, nbHits, facets };
62
+ }
63
+ }
64
+ //# sourceMappingURL=algolia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"algolia.js","sourceRoot":"","sources":["../../../src/search/providers/algolia.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { FuseIndex } from 'fuse.js';
2
+ import { DocsLanguage } from '../../routing';
3
+ import { IndexEntry } from '../types';
4
+ import type { SDKJSON } from '../../types/sdkjson';
5
+ export type FuseIndexData = {
6
+ content: IndexEntry[];
7
+ index: FuseIndex<IndexEntry>;
8
+ };
9
+ export declare function buildIndex(spec: SDKJSON.Spec, language?: DocsLanguage): FuseIndexData;
10
+ export declare function search({ content, index }: FuseIndexData, query: string, limit?: number): import("fuse.js").FuseResult<IndexEntry>[];
@@ -0,0 +1,14 @@
1
+ import Fuse from 'fuse.js';
2
+ import { generateIndex } from '../indexer';
3
+ import { SearchableAttributes } from '../types';
4
+ export function buildIndex(spec, language) {
5
+ const idx = Array.from(generateIndex(spec, null, false));
6
+ const content = language ? idx.filter((entry) => entry.language === language) : idx;
7
+ const index = Fuse.createIndex(SearchableAttributes, content);
8
+ return { content, index };
9
+ }
10
+ export function search({ content, index }, query, limit = 100) {
11
+ const fuse = new Fuse(content, { keys: SearchableAttributes }, index);
12
+ return fuse.search(query).slice(0, limit);
13
+ }
14
+ //# sourceMappingURL=fuse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fuse.js","sourceRoot":"","sources":["../../../src/search/providers/fuse.ts"],"names":[],"mappings":"AAAA,OAAO,IAAmB,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAc,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAK5D,MAAM,UAAU,UAAU,CAAC,IAAkB,EAAE,QAAuB;IACpE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACpF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC9D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAiB,EAAE,KAAa,EAAE,QAAgB,GAAG;IAC1F,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,KAAK,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { GuideResultType } from '../types';
2
+ export declare function guideSearch(loadPath: string, query: string, limit?: number): Promise<GuideResultType[]>;
@@ -0,0 +1,19 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
9
+ async function loadPagefind(path) {
10
+ const url = new URL(path, import.meta.url).href;
11
+ return await import(__rewriteRelativeImportExtension(/* @vite-ignore */ url));
12
+ }
13
+ export async function guideSearch(loadPath, query, limit) {
14
+ const index = await loadPagefind(loadPath);
15
+ const response = await index.search(query);
16
+ const items = limit ? response.results.slice(0, limit) : response.results;
17
+ return Promise.all(items.map((result) => result.data().then((data) => ({ ...result, data }))));
18
+ }
19
+ //# sourceMappingURL=pagefind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagefind.js","sourceRoot":"","sources":["../../../src/search/providers/pagefind.ts"],"names":[],"mappings":";;;;;;;;AAEA,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAChD,OAAO,MAAM,MAAM,kCAAC,kBAAkB,CAAC,GAAG,EAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,KAAa,EACb,KAAc;IAEd,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC1E,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { DocsLanguage } from '../../routing';
2
+ import { IndexEntry } from '../types';
3
+ import type { SDKJSON } from '../../types/sdkjson';
4
+ export declare function buildIndex(spec: SDKJSON.Spec): Generator<IndexEntry, any, any>;
5
+ export declare function search(index: Generator<IndexEntry>, language: DocsLanguage, query: string, limit?: number): IndexEntry[];
@@ -0,0 +1,23 @@
1
+ import { generateIndex } from '../indexer';
2
+ import { SearchableAttributes } from '../types';
3
+ export function buildIndex(spec) {
4
+ return generateIndex(spec, null, false);
5
+ }
6
+ function* findEntryInIndex(index, language, query) {
7
+ for (const entry of index) {
8
+ if (entry.language !== language)
9
+ continue;
10
+ for (const attr of SearchableAttributes) {
11
+ if (entry[attr] && typeof entry[attr] === 'string' && entry[attr].includes(query))
12
+ yield entry;
13
+ }
14
+ }
15
+ }
16
+ export function search(index, language, query, limit = 100) {
17
+ const results = findEntryInIndex(index, language, query);
18
+ const sorted = Array.from(results)
19
+ .sort((a, b) => a.priority - b.priority)
20
+ .slice(0, limit);
21
+ return sorted;
22
+ }
23
+ //# sourceMappingURL=walker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walker.js","sourceRoot":"","sources":["../../../src/search/providers/walker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAc,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAG5D,MAAM,UAAU,UAAU,CAAC,IAAkB;IAC3C,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,QAAQ,CAAC,CAAC,gBAAgB,CAAC,KAA4B,EAAE,QAAgB,EAAE,KAAa;IACtF,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAAE,SAAS;QAC1C,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;QACjG,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,KAA4B,EAC5B,QAAsB,EACtB,KAAa,EACb,QAAgB,GAAG;IAEnB,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;SAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;SACvC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Folder } from 'lucide-react';
2
+ import { GuideResultType, QueryKindsType, ResultRecordType, SearchAttributeNames } from './types';
3
+ export declare const QueryKindDisplay: Record<QueryKindsType, {
4
+ name: string;
5
+ icon: typeof Folder;
6
+ }>;
7
+ export type HighlightProps = {
8
+ result: ResultRecordType;
9
+ name: SearchAttributeNames;
10
+ };
11
+ export declare function Highlight({ result, name }: HighlightProps): import("react/jsx-runtime").JSX.Element | undefined;
12
+ export type SearchResultProps = {
13
+ result: ResultRecordType;
14
+ };
15
+ export declare function SearchResultBreadcrumb({ result }: SearchResultProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function SearchResult({ result }: SearchResultProps): import("react/jsx-runtime").JSX.Element;
17
+ export type GuideResultProps = {
18
+ result: GuideResultType;
19
+ };
20
+ export declare function GuideResult({ result }: GuideResultProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function SearchResultContent({ result }: SearchResultProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Folder, Box, Code, Wrench, BookOpenText, Search } from 'lucide-react';
3
+ import { useLanguage } from '../contexts';
4
+ import { useComponents } from '../contexts/use-components';
5
+ import style from '../style';
6
+ export const QueryKindDisplay = {
7
+ all: { name: 'Results', icon: Search },
8
+ resource: { name: 'Resources', icon: Folder },
9
+ http_method: { name: 'Methods', icon: Box },
10
+ model: { name: 'Types', icon: Code },
11
+ property: { name: 'Properties', icon: Wrench },
12
+ guide: { name: 'Guide', icon: BookOpenText },
13
+ };
14
+ export function Highlight({ result, name }) {
15
+ const value = result._highlightResult[name]?.value;
16
+ if (value)
17
+ return _jsx("span", { dangerouslySetInnerHTML: { __html: value } });
18
+ }
19
+ export function SearchResultBreadcrumb({ result }) {
20
+ const Docs = useComponents();
21
+ const Icon = QueryKindDisplay[result.kind].icon;
22
+ const items = result.crumbs?.map((crumb) => (_jsx("span", { className: style.SearchBreadcrumbItem, children: crumb }, crumb)));
23
+ return (_jsxs("div", { className: style.SearchBreadcrumb, children: [_jsx(Icon, { className: style.Icon, size: 14 }), Array.isArray(result.crumbs) && (_jsx(Docs.Join, { items: items, children: _jsx("span", { className: style.SearchBreadcrumbDivider, children: '›' }) }))] }));
24
+ }
25
+ export function SearchResult({ result }) {
26
+ return (_jsxs("div", { className: style.SearchResult, "data-stldocs-search-result": result.kind, children: [_jsx(SearchResultBreadcrumb, { result: result }), _jsx(SearchResultContent, { result: result })] }));
27
+ }
28
+ export function GuideResult({ result }) {
29
+ const Docs = useComponents();
30
+ const Icon = QueryKindDisplay['guide'].icon;
31
+ const path = result.data.url
32
+ .slice(1, -1)
33
+ .split('/')
34
+ .map((crumb) => (_jsx("span", { className: style.SearchBreadcrumbItem, children: crumb }, crumb)));
35
+ const crumbs = path.length > 1
36
+ ? path
37
+ : [
38
+ _jsx("span", { className: style.SearchBreadcrumbItem, children: "Overview" }, "overview"),
39
+ ];
40
+ return (_jsxs("div", { className: style.SearchResult, "data-stldocs-search-result": "guide", children: [_jsxs("div", { className: style.SearchBreadcrumb, children: [_jsx(Icon, { className: style.Icon, size: 14 }), _jsx(Docs.Join, { items: crumbs, children: _jsx("span", { className: style.SearchBreadcrumbDivider, children: '›' }) })] }), _jsx("h3", { className: style.SearchResultGuideTitle, children: result.data.meta.title }), _jsx("div", { className: style.SearchResultGuideExcerpt, dangerouslySetInnerHTML: { __html: result.data.excerpt } })] }));
41
+ }
42
+ export function SearchResultContent({ result }) {
43
+ const Docs = useComponents();
44
+ const language = useLanguage();
45
+ switch (result.kind) {
46
+ case 'http_method':
47
+ return (_jsxs(_Fragment, { children: [_jsx(Docs.MethodHeader, { level: "h5", title: _jsx(Highlight, { result: result, name: result.summary ? 'summary' : 'title' }), signature: result['qualified'] && _jsx(Highlight, { result: result, name: 'qualified' }), children: _jsx(Docs.MethodRoute, { httpMethod: result.httpMethod, endpoint: _jsx(Highlight, { result: result, name: "endpoint" }) }) }), _jsx("div", { className: style.MethodDescription, children: _jsx(Highlight, { result: result, name: "description" }) })] }));
48
+ case 'model': {
49
+ const properties = result.children.map((child, index) => (_jsx("span", { className: style.TextIdentifier, children: child }, index)));
50
+ return (_jsxs("div", { className: style.Property, "data-stldocs-language": language, children: [_jsx("div", { className: style.PropertyHeader, children: _jsx("span", { className: style.PropertyName, children: _jsx(Highlight, { result: result, name: result.title ? 'title' : 'name' }) }) }), _jsxs("span", { className: style.PropertyDeclaration, children: [_jsx(Highlight, { result: result, name: "ident" }), ":", ' ', _jsx(Docs.Join, { items: properties, limit: 3, children: _jsx("span", { className: style.TextPunctuation, children: ", " }) })] })] }));
51
+ }
52
+ case 'resource':
53
+ return (_jsxs("div", { className: style.SearchResultResourceInfo, children: [_jsx("span", { className: style.SearchResultResourceTitle, children: _jsx(Highlight, { result: result, name: "title" }) }), _jsx("span", { className: style.SearchResultResourcePath, children: _jsx(Highlight, { result: result, name: "QualifiedName" }) })] }));
54
+ case 'property':
55
+ return (_jsxs("div", { className: style.Property, "data-stldocs-language": language, children: [_jsxs("div", { className: style.PropertyHeader, children: [_jsx("span", { className: style.PropertyName, children: _jsx(Highlight, { result: result, name: "name" }) }), _jsx("span", { className: style.PropertyTypeName, children: _jsx("span", { dangerouslySetInnerHTML: { __html: result.type } }) })] }), result.docstring && (_jsx("span", { className: style.PropertyDescription, children: _jsx(Highlight, { result: result, name: "docstring" }) }))] }));
56
+ }
57
+ }
58
+ //# sourceMappingURL=results.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/search/results.tsx"],"names":[],"mappings":"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"}