@stainless-api/docs-ui 0.1.0-beta.61 → 0.1.0-beta.63

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 (139) hide show
  1. package/dist/{breadcrumbs-BVskoBYz.d.ts → breadcrumbs-CpdCGzeH.d.ts} +3 -3
  2. package/dist/{breadcrumbs-C9LLJyuJ.d.ts → breadcrumbs-DwldC63b.d.ts} +3 -3
  3. package/dist/{breadcrumbs-CqA6kow2.js → breadcrumbs-hzZqGExJ.js} +3 -3
  4. package/dist/{cli-0bJ66S1r.js → cli-BAhN1pvm.js} +3 -3
  5. package/dist/{component-CjJJYIxG.js → component-Bf-__z99.js} +2 -2
  6. package/dist/{component-generics-BkwbbxJF.d.ts → component-generics-Bs9VsgxB.d.ts} +2 -2
  7. package/dist/{component-generics-BC_P155r.d.ts → component-generics-uYXTXWFi.d.ts} +2 -2
  8. package/dist/components/MaskedInput.d.ts +3 -3
  9. package/dist/components/MaskedInput.js +1 -1
  10. package/dist/components/breadcrumbs.d.ts +1 -1
  11. package/dist/components/breadcrumbs.js +5 -5
  12. package/dist/components/icons.d.ts +12 -12
  13. package/dist/components/index.d.ts +11 -10
  14. package/dist/components/index.js +14 -13
  15. package/dist/components/method.d.ts +1 -1
  16. package/dist/components/method.js +5 -5
  17. package/dist/components/overview.d.ts +1 -1
  18. package/dist/components/overview.js +6 -6
  19. package/dist/components/primitives.d.ts +1 -1
  20. package/dist/components/primitives.js +4 -4
  21. package/dist/components/properties.d.ts +1 -1
  22. package/dist/components/properties.js +4 -4
  23. package/dist/components/sdk-sidebar.d.ts +2 -0
  24. package/dist/components/sdk-sidebar.js +10 -0
  25. package/dist/components/sdk.d.ts +2 -2
  26. package/dist/components/sdk.js +5 -5
  27. package/dist/components/snippets.d.ts +2 -2
  28. package/dist/components/snippets.js +4 -4
  29. package/dist/components/stl-sidebar.d.ts +2 -0
  30. package/dist/components/stl-sidebar.js +5 -0
  31. package/dist/{components-FEHnQBJC.js → components-CwIKWfid.js} +14 -13
  32. package/dist/contexts/component-generics.d.ts +1 -1
  33. package/dist/contexts/component-types.d.ts +11 -10
  34. package/dist/contexts/component.d.ts +12 -11
  35. package/dist/contexts/component.js +23 -22
  36. package/dist/contexts/docs.d.ts +2 -2
  37. package/dist/contexts/docs.js +2 -2
  38. package/dist/contexts/index.d.ts +17 -16
  39. package/dist/contexts/index.js +4 -4
  40. package/dist/contexts/markdown.d.ts +1 -1
  41. package/dist/contexts/markdown.js +2 -2
  42. package/dist/contexts/navigation.d.ts +1 -1
  43. package/dist/contexts/use-components.d.ts +10 -9
  44. package/dist/{contexts-CeV_L_Iy.js → contexts-DMjqoc7S.js} +3 -2
  45. package/dist/{csharp-Dl2RIiYP.js → csharp-BD37FKH6.js} +2 -2
  46. package/dist/{docs-Di94viZV.js → docs-6PYi1eEV.js} +5 -1
  47. package/dist/{docs--qWFuJCM.d.ts → docs-Chc8A7zc.d.ts} +6 -5
  48. package/dist/{docs-DSFRsmbQ.d.ts → docs-FJV1-6V2.d.ts} +5 -4
  49. package/dist/{go-DuKdRGqU.js → go-v-i4WDzK.js} +2 -2
  50. package/dist/{http-C7bu4oCl.js → http-BKoVLcpv.js} +10 -6
  51. package/dist/{index-FDM-j9s-.d.ts → index-C9bUFWfw.d.ts} +35 -35
  52. package/dist/{index-zNpvNvtN.d.ts → index-DuHyTVVD.d.ts} +1 -1
  53. package/dist/index-Dz6SFEud.d.ts +16 -0
  54. package/dist/{index-DE1vA8T2.d.ts → index-WHKRwqwo.d.ts} +35 -35
  55. package/dist/index-_wZU78e1.d.ts +16 -0
  56. package/dist/index.d.ts +16 -15
  57. package/dist/index.js +25 -24
  58. package/dist/{java-DSyzO-6F.js → java-A6j1NMJ7.js} +3 -3
  59. package/dist/languages/cli.d.ts +11 -10
  60. package/dist/languages/cli.js +15 -14
  61. package/dist/languages/csharp.d.ts +11 -10
  62. package/dist/languages/csharp.js +4 -4
  63. package/dist/languages/go.d.ts +11 -10
  64. package/dist/languages/go.js +4 -4
  65. package/dist/languages/http.d.ts +11 -10
  66. package/dist/languages/http.js +14 -13
  67. package/dist/languages/index.d.ts +11 -10
  68. package/dist/languages/index.js +22 -21
  69. package/dist/languages/java.d.ts +11 -10
  70. package/dist/languages/java.js +4 -4
  71. package/dist/languages/python.d.ts +11 -10
  72. package/dist/languages/python.js +4 -4
  73. package/dist/languages/ruby.d.ts +11 -10
  74. package/dist/languages/ruby.js +4 -4
  75. package/dist/languages/typescript.d.ts +11 -10
  76. package/dist/languages/typescript.js +4 -4
  77. package/dist/languages-BPVYg1lj.js +28 -0
  78. package/dist/markdown/index.d.ts +2 -2
  79. package/dist/markdown/index.js +23 -22
  80. package/dist/markdown/printer.d.ts +2 -2
  81. package/dist/markdown/printer.js +24 -23
  82. package/dist/markdown/utils.d.ts +3 -3
  83. package/dist/{markdown-C7Tb41LZ.d.ts → markdown-CoIy7fea.d.ts} +2 -2
  84. package/dist/{markdown-D2JWyRws.js → markdown-DHjcD13O.js} +1 -1
  85. package/dist/{markdown-B517MrZh.d.ts → markdown-IA9nH38V.d.ts} +2 -2
  86. package/dist/{method-BaQEZVlw.d.ts → method-Bt3V4B4q.d.ts} +6 -6
  87. package/dist/{method-Dln4ZTIB.d.ts → method-CZDrcjKP.d.ts} +6 -6
  88. package/dist/{method-jTnA0G8m.js → method-mosT_h9v.js} +2 -2
  89. package/dist/{navigation-XhIgqXwM.d.ts → navigation-CHVw_t5x.d.ts} +3 -3
  90. package/dist/{navigation-rKdts-BR.d.ts → navigation-CIQImbWI.d.ts} +3 -3
  91. package/dist/{overview-B3kgyac2.d.ts → overview-9J_EJ4Uv.d.ts} +7 -7
  92. package/dist/{overview-Dp-gGl3v.d.ts → overview-DVklHrbY.d.ts} +7 -7
  93. package/dist/{overview-BnagZfH1.js → overview-dG8i3EyZ.js} +7 -7
  94. package/dist/{primitives-DQLc9kN7.js → primitives-B6nufz49.js} +5 -5
  95. package/dist/{primitives-B6zu2rrx.d.ts → primitives-BkenBSev.d.ts} +12 -12
  96. package/dist/{primitives-VtUGoYwX.d.ts → primitives-Bmr19wBU.d.ts} +12 -12
  97. package/dist/{properties-DGL2J11L.js → properties-4w8hy0hf.js} +2 -2
  98. package/dist/{properties-Bun4nfUE.d.ts → properties-Dx6tQNus.d.ts} +5 -5
  99. package/dist/{properties-ZOIqpkET.d.ts → properties-NrkX1jGk.d.ts} +5 -5
  100. package/dist/{python-D8ABqtn1.js → python-CtQJaLw5.js} +2 -2
  101. package/dist/{routing-Ce0_tBW6.js → routing-CLgL--x1.js} +6 -1
  102. package/dist/{routing-CtbZJru_.d.ts → routing-CqnhQY4G.d.ts} +10 -3
  103. package/dist/routing.d.ts +2 -2
  104. package/dist/routing.js +2 -2
  105. package/dist/{ruby-261jvCjl.js → ruby-DJqEHgOw.js} +3 -3
  106. package/dist/{sdk-BebFnWYL.d.ts → sdk-BDzHdl2y.d.ts} +20 -16
  107. package/dist/{sdk-GGpyGTao.js → sdk-afI6c7Wd.js} +43 -13
  108. package/dist/{sdk-CIxaNoAs.d.ts → sdk-hDAzjotL.d.ts} +20 -16
  109. package/dist/sdk-sidebar-ByMsvpUm.d.ts +15 -0
  110. package/dist/sdk-sidebar-CoVgP38f.d.ts +15 -0
  111. package/dist/sdk-sidebar-ZaXTw63C.js +36 -0
  112. package/dist/{snippets-CwVjwsAo.d.ts → snippets-BqKFOZfY.d.ts} +9 -9
  113. package/dist/{snippets-Ym3mnHO3.d.ts → snippets-Dfd3zU_j.d.ts} +9 -9
  114. package/dist/{snippets-kI8eNs1F.js → snippets-bh8lfniq.js} +3 -3
  115. package/dist/spec.d.ts +2 -2
  116. package/dist/spec.js +2 -2
  117. package/dist/stl-sidebar-D6OGr1Gl.d.ts +45 -0
  118. package/dist/stl-sidebar-DdxZx2KK.js +82 -0
  119. package/dist/stl-sidebar-nQWQbRVM.d.ts +45 -0
  120. package/dist/{style-LwfvXElj.js → style-Bxr5gqcM.js} +4 -4
  121. package/dist/style.d.ts +4 -4
  122. package/dist/style.js +1 -1
  123. package/dist/styles/primitives.css +6 -0
  124. package/dist/styles/resets.css +1 -1
  125. package/dist/styles/sidebar.css +219 -49
  126. package/dist/styles.css +226 -50
  127. package/dist/{typescript-D924WidI.js → typescript-DA7mcN1t.js} +3 -3
  128. package/dist/{utils-D01mAUfQ.js → utils-36jzmKxv.js} +1 -1
  129. package/dist/utils.d.ts +1 -1
  130. package/dist/utils.js +1 -1
  131. package/package.json +1 -1
  132. package/dist/components/sidebar.d.ts +0 -2
  133. package/dist/components/sidebar.js +0 -9
  134. package/dist/index-C0qvL4yP.d.ts +0 -15
  135. package/dist/index-DsFyACw9.d.ts +0 -15
  136. package/dist/languages-BO5YJ6cy.js +0 -28
  137. package/dist/sidebar-BWno0E4w.js +0 -85
  138. package/dist/sidebar-CLsIJZZf.d.ts +0 -36
  139. package/dist/sidebar-D4m_pVpS.d.ts +0 -36
@@ -1,9 +1,9 @@
1
- import { a as useLanguage, l as useSpec, n as useContentPanelLayout, r as useDeclaration, s as useSettings } from "./docs-Di94viZV.js";
1
+ import { c as useSettings, i as useDeclaration, n as useAvailableLanguages, o as useLanguage, r as useContentPanelLayout, u as useSpec } from "./docs-6PYi1eEV.js";
2
2
  import { n as useNavigation } from "./navigation-aoYZ_tl4.js";
3
- import { n as useLanguageComponents } from "./contexts-CeV_L_Iy.js";
3
+ import { n as useLanguageComponents } from "./contexts-DMjqoc7S.js";
4
4
  import { t as useComponents } from "./use-components-BUz3GbO4.js";
5
- import { t as style_default } from "./style-LwfvXElj.js";
6
- import { c as getLanguageSnippet, t as LanguageNames } from "./routing-Ce0_tBW6.js";
5
+ import { t as style_default } from "./style-Bxr5gqcM.js";
6
+ import { l as getLanguageSnippet, s as generateRoute, t as LanguageNames } from "./routing-CLgL--x1.js";
7
7
  import { a as JavaIcon, c as PythonIcon, d as TypescriptIcon, i as GoIcon, l as RubyIcon, n as CSharpIcon, o as KotlinIcon, r as CurlIcon, s as PowershellIcon, t as CLIIcon, u as TerraformIcon } from "./icons-BYKn5X8E.js";
8
8
  import * as React$1 from "react";
9
9
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -174,10 +174,20 @@ function SDKMethodHeader({ method }) {
174
174
  })
175
175
  });
176
176
  }
177
+ function useStreamingResponse(method) {
178
+ const tsDecl = useDeclaration(method.stainlessPath, false, "typescript");
179
+ if (tsDecl?.kind === "TSDeclFunction" && tsDecl.overloads) {
180
+ for (const e of tsDecl.overloads) if (e.returns.kind === "TSTypeReference" && (e.returns.$ref === "$.typescript.Stream" || e.returns.$ref === "$.node.Stream") && e.returns.typeParameters?.[0]?.kind === "TSTypeReference") {
181
+ const id = e.returns.typeParameters?.[0].$ref;
182
+ if (id) return id;
183
+ }
184
+ }
185
+ }
177
186
  function SDKMethodInfo({ method }) {
178
187
  const Docs = useComponents();
179
188
  const Lang = useLanguageComponents();
180
189
  const decl = useDeclaration(method.stainlessPath, true);
190
+ const streamingResponse = useStreamingResponse(method);
181
191
  const spec = useSpec();
182
192
  const language = useLanguage();
183
193
  if (Lang.MethodInfo) return /* @__PURE__ */ jsx(Lang.MethodInfo, { decl });
@@ -188,23 +198,32 @@ function SDKMethodInfo({ method }) {
188
198
  const decl = spec?.decls?.[language]?.[item];
189
199
  return decl && "children" in decl && decl.children && decl.children.length > 0;
190
200
  }
201
+ const responseChildren = "responseChildren" in decl && decl.responseChildren && decl.responseChildren.length > 0 ? [...decl.responseChildren] : [];
202
+ if (streamingResponse) responseChildren.push(streamingResponse);
191
203
  return /* @__PURE__ */ jsx(Docs.MethodInfo, {
192
204
  parameters: "paramsChildren" in decl && Array.isArray(decl.paramsChildren) && decl.paramsChildren.length > 0 && /* @__PURE__ */ jsx(Docs.SDKChildren, {
193
205
  expand: shouldExpand(decl.paramsChildren),
194
206
  paths: decl.paramsChildren
195
207
  }),
196
- returns: "responseChildren" in decl && decl.responseChildren && decl.responseChildren.length > 0 && /* @__PURE__ */ jsx(Docs.SDKChildren, {
197
- expand: shouldExpand(decl.responseChildren),
198
- paths: decl.responseChildren
208
+ returns: responseChildren.length > 0 && /* @__PURE__ */ jsx(Docs.SDKChildren, {
209
+ expand: shouldExpand(responseChildren),
210
+ paths: responseChildren
199
211
  })
200
212
  });
201
213
  }
202
- function SDKMethod({ method, transformRequestSnippet }) {
214
+ function SDKMethodNotImplemented({ method }) {
203
215
  const Docs = useComponents();
204
- const decl = useDeclaration(method?.stainlessPath, false);
205
- const layout = useContentPanelLayout();
216
+ const languages = useAvailableLanguages(method?.stainlessPath);
206
217
  const language = useLanguage();
207
- if (!decl) return /* @__PURE__ */ jsxs("div", {
218
+ const { basePath } = useNavigation();
219
+ const availableLanguageLinks = languages.flatMap((lang) => {
220
+ const url = generateRoute(basePath ?? "/", lang, method.stainlessPath);
221
+ return url ? [{
222
+ url,
223
+ label: LanguageNames[lang] ?? lang
224
+ }] : [];
225
+ });
226
+ return /* @__PURE__ */ jsxs("div", {
208
227
  className: style_default.Method,
209
228
  children: [/* @__PURE__ */ jsx(Docs.MethodHeader, {
210
229
  level: "h1",
@@ -220,10 +239,21 @@ function SDKMethod({ method, transformRequestSnippet }) {
220
239
  /* @__PURE__ */ jsx("code", { children: method.name }),
221
240
  " is not implemented in ",
222
241
  LanguageNames[language] ?? language,
223
- "."
242
+ basePath && availableLanguageLinks.length > 0 ? /* @__PURE__ */ jsxs(Fragment$1, { children: [", but it is available in the following languages:", /* @__PURE__ */ jsx("ul", { children: availableLanguageLinks.map(({ url, label }) => {
243
+ return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("a", {
244
+ href: url,
245
+ children: label
246
+ }) }, url);
247
+ }) })] }) : "."
224
248
  ]
225
249
  })]
226
250
  });
251
+ }
252
+ function SDKMethod({ method, transformRequestSnippet }) {
253
+ const Docs = useComponents();
254
+ const decl = useDeclaration(method?.stainlessPath, false);
255
+ const layout = useContentPanelLayout();
256
+ if (!decl) return /* @__PURE__ */ jsx(SDKMethodNotImplemented, { method });
227
257
  return /* @__PURE__ */ jsxs(Docs.Method, {
228
258
  id: method.stainlessPath,
229
259
  header: /* @__PURE__ */ jsx(Docs.SDKMethodHeader, { method }),
@@ -335,4 +365,4 @@ function SDKLanguageBlock({ language, version, install, links }) {
335
365
  }
336
366
 
337
367
  //#endregion
338
- export { useReferenceNesting as _, SDKDeclaration as a, SDKLanguageBlock as c, SDKMethodInfo as d, SDKModel as f, usePropertyModel as g, SDKSnippetLanguages as h, SDKConstraints as i, SDKMethod as l, SDKRequestTitle as m, ReferenceNestingContext as n, SDKExample as o, SDKReference as p, SDKChildren as r, SDKIcon as s, PropertyModelContext as t, SDKMethodHeader as u };
368
+ export { usePropertyModel as _, SDKDeclaration as a, SDKLanguageBlock as c, SDKMethodInfo as d, SDKMethodNotImplemented as f, SDKSnippetLanguages as g, SDKRequestTitle as h, SDKConstraints as i, SDKMethod as l, SDKReference as m, ReferenceNestingContext as n, SDKExample as o, SDKModel as p, SDKChildren as r, SDKIcon as s, PropertyModelContext as t, SDKMethodHeader as u, useReferenceNesting as v, useStreamingResponse as y };
@@ -1,7 +1,7 @@
1
- import { l as Method, m as SnippetLanguage, o as ID, u as Model } from "./index-zNpvNvtN.js";
2
- import { t as DocsLanguage } from "./routing-CtbZJru_.js";
1
+ import { d as Model, h as SnippetLanguage, s as ID, t as BaseDeclaration, u as Method } from "./index-DuHyTVVD.js";
2
+ import { t as DocsLanguage } from "./routing-CqnhQY4G.js";
3
3
  import * as React$1 from "react";
4
- import * as react_jsx_runtime20 from "react/jsx-runtime";
4
+ import * as react_jsx_runtime61 from "react/jsx-runtime";
5
5
 
6
6
  //#region src/components/sdk.d.ts
7
7
  type PropertyModelContextType = {
@@ -33,7 +33,7 @@ declare function SDKChildren({
33
33
  paths,
34
34
  expand,
35
35
  depth
36
- }: SDKChildrenProps): react_jsx_runtime20.JSX.Element;
36
+ }: SDKChildrenProps): react_jsx_runtime61.JSX.Element;
37
37
  type SDKDeclarationProps = {
38
38
  path: string;
39
39
  expand?: boolean;
@@ -43,26 +43,26 @@ declare function SDKDeclaration({
43
43
  path,
44
44
  expand,
45
45
  depth
46
- }: SDKDeclarationProps): react_jsx_runtime20.JSX.Element;
46
+ }: SDKDeclarationProps): react_jsx_runtime61.JSX.Element;
47
47
  type SDKConstraintsProps = {
48
48
  constraints?: Record<string, any>;
49
49
  };
50
50
  declare function SDKConstraints({
51
51
  constraints
52
- }: SDKConstraintsProps): react_jsx_runtime20.JSX.Element | undefined;
52
+ }: SDKConstraintsProps): react_jsx_runtime61.JSX.Element | undefined;
53
53
  type SDKIconProps = {
54
54
  language: SnippetLanguage;
55
55
  size?: number;
56
56
  };
57
57
  declare function SDKIcon({
58
58
  language
59
- }: SDKIconProps): react_jsx_runtime20.JSX.Element | null;
59
+ }: SDKIconProps): react_jsx_runtime61.JSX.Element | null;
60
60
  type SDKRequestTitleProps = {
61
61
  snippetLanguage: SnippetLanguage;
62
62
  };
63
63
  declare function SDKRequestTitle({
64
64
  snippetLanguage
65
- }: SDKRequestTitleProps): react_jsx_runtime20.JSX.Element;
65
+ }: SDKRequestTitleProps): react_jsx_runtime61.JSX.Element;
66
66
  type SDKExampleProps = {
67
67
  method: Method;
68
68
  transformRequestSnippet?: TransformRequestSnippetFn;
@@ -70,27 +70,31 @@ type SDKExampleProps = {
70
70
  declare function SDKExample({
71
71
  method,
72
72
  transformRequestSnippet
73
- }: SDKExampleProps): react_jsx_runtime20.JSX.Element;
73
+ }: SDKExampleProps): react_jsx_runtime61.JSX.Element;
74
74
  type SDKMethodProps = {
75
75
  method: Method;
76
76
  transformRequestSnippet?: TransformRequestSnippetFn;
77
77
  };
78
78
  declare function SDKMethodHeader({
79
79
  method
80
- }: SDKMethodProps): react_jsx_runtime20.JSX.Element;
80
+ }: SDKMethodProps): react_jsx_runtime61.JSX.Element;
81
+ declare function useStreamingResponse(method: BaseDeclaration): ID | undefined;
81
82
  declare function SDKMethodInfo({
82
83
  method
83
- }: SDKMethodProps): react_jsx_runtime20.JSX.Element;
84
+ }: SDKMethodProps): react_jsx_runtime61.JSX.Element;
85
+ declare function SDKMethodNotImplemented({
86
+ method
87
+ }: SDKMethodProps): react_jsx_runtime61.JSX.Element;
84
88
  declare function SDKMethod({
85
89
  method,
86
90
  transformRequestSnippet
87
- }: SDKMethodProps): react_jsx_runtime20.JSX.Element;
91
+ }: SDKMethodProps): react_jsx_runtime61.JSX.Element;
88
92
  type SDKModelProps = {
89
93
  model: Model;
90
94
  };
91
95
  declare function SDKModel({
92
96
  model
93
- }: SDKModelProps): react_jsx_runtime20.JSX.Element | null;
97
+ }: SDKModelProps): react_jsx_runtime61.JSX.Element | null;
94
98
  type SDKReferenceProps = {
95
99
  stainlessPath: string;
96
100
  children?: React$1.ReactNode;
@@ -98,7 +102,7 @@ type SDKReferenceProps = {
98
102
  declare function SDKReference({
99
103
  stainlessPath,
100
104
  children
101
- }: SDKReferenceProps): string | number | bigint | boolean | react_jsx_runtime20.JSX.Element | Iterable<React$1.ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<React$1.ReactNode> | null | undefined> | null | undefined;
105
+ }: SDKReferenceProps): string | number | bigint | boolean | Iterable<React$1.ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<React$1.ReactNode> | null | undefined> | react_jsx_runtime61.JSX.Element | null | undefined;
102
106
  type SDKLanguageBlockProps = {
103
107
  language: DocsLanguage;
104
108
  version: string;
@@ -113,6 +117,6 @@ declare function SDKLanguageBlock({
113
117
  version,
114
118
  install,
115
119
  links
116
- }: SDKLanguageBlockProps): react_jsx_runtime20.JSX.Element;
120
+ }: SDKLanguageBlockProps): react_jsx_runtime61.JSX.Element;
117
121
  //#endregion
118
- export { TransformRequestSnippetFn as C, SDKSnippetLanguagesType as S, useReferenceNesting as T, SDKModelProps as _, SDKChildren as a, SDKRequestTitleProps as b, SDKDeclaration as c, SDKLanguageBlock as d, SDKMethod as f, SDKModel as g, SDKMethodProps as h, ReferenceNestingContextType as i, SDKExample as l, SDKMethodInfo as m, PropertyModelContextType as n, SDKConstraints as o, SDKMethodHeader as p, ReferenceNestingContext as r, SDKConstraintsProps as s, PropertyModelContext as t, SDKIcon as u, SDKReference as v, usePropertyModel as w, SDKSnippetLanguages as x, SDKRequestTitle as y };
122
+ export { SDKSnippetLanguagesType as C, useStreamingResponse as D, useReferenceNesting as E, SDKSnippetLanguages as S, usePropertyModel as T, SDKModel as _, SDKChildren as a, SDKRequestTitle as b, SDKDeclaration as c, SDKLanguageBlock as d, SDKMethod as f, SDKMethodProps as g, SDKMethodNotImplemented as h, ReferenceNestingContextType as i, SDKExample as l, SDKMethodInfo as m, PropertyModelContextType as n, SDKConstraints as o, SDKMethodHeader as p, ReferenceNestingContext as r, SDKConstraintsProps as s, PropertyModelContext as t, SDKIcon as u, SDKModelProps as v, TransformRequestSnippetFn as w, SDKRequestTitleProps as x, SDKReference as y };
@@ -0,0 +1,15 @@
1
+ import { p as Resource } from "./index-DuHyTVVD.js";
2
+ import * as react_jsx_runtime60 from "react/jsx-runtime";
3
+
4
+ //#region src/components/sdk-sidebar.d.ts
5
+ type SDKSidebarProps = {
6
+ resources: Resource[];
7
+ };
8
+ /**
9
+ * Given some SDKJSON.Resources, calls into StlSidebar with the appropriate sidebar entries.
10
+ */
11
+ declare function SDKSidebar({
12
+ resources
13
+ }: SDKSidebarProps): react_jsx_runtime60.JSX.Element;
14
+ //#endregion
15
+ export { SDKSidebarProps as n, SDKSidebar as t };
@@ -0,0 +1,15 @@
1
+ import { p as Resource } from "./index-DuHyTVVD.js";
2
+ import * as react_jsx_runtime74 from "react/jsx-runtime";
3
+
4
+ //#region src/components/sdk-sidebar.d.ts
5
+ type SDKSidebarProps = {
6
+ resources: Resource[];
7
+ };
8
+ /**
9
+ * Given some SDKJSON.Resources, calls into StlSidebar with the appropriate sidebar entries.
10
+ */
11
+ declare function SDKSidebar({
12
+ resources
13
+ }: SDKSidebarProps): react_jsx_runtime74.JSX.Element;
14
+ //#endregion
15
+ export { SDKSidebarProps as n, SDKSidebar as t };
@@ -0,0 +1,36 @@
1
+ import { n as useNavigation } from "./navigation-aoYZ_tl4.js";
2
+ import { r as isResourceEmpty } from "./utils-36jzmKxv.js";
3
+ import { t as StlSidebar } from "./stl-sidebar-DdxZx2KK.js";
4
+ import * as React$1 from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+
7
+ //#region src/components/sdk-sidebar.tsx
8
+ function resourceToEntry(resource, selectedPath) {
9
+ const result = {
10
+ type: "group",
11
+ collapsed: false,
12
+ label: resource.title,
13
+ entries: [],
14
+ stainlessPath: resource.stainlessPath,
15
+ isCurrent: selectedPath === resource.stainlessPath
16
+ };
17
+ for (const method of Object.values(resource.methods)) result.entries.push({
18
+ type: "link",
19
+ attrs: { "data-stldocs-method": method.httpMethod },
20
+ stainlessPath: method.stainlessPath,
21
+ label: method.title,
22
+ isCurrent: selectedPath === method.stainlessPath
23
+ });
24
+ for (const subresource of Object.values(resource.subresources ?? {})) result.entries.push(resourceToEntry(subresource, selectedPath));
25
+ return result;
26
+ }
27
+ /**
28
+ * Given some SDKJSON.Resources, calls into StlSidebar with the appropriate sidebar entries.
29
+ */
30
+ function SDKSidebar({ resources }) {
31
+ const { selectedPath } = useNavigation();
32
+ return /* @__PURE__ */ jsx(StlSidebar, { entries: React$1.useMemo(() => resources.filter((resource) => !isResourceEmpty(resource)).map((resource) => resourceToEntry(resource, selectedPath)), [resources, selectedPath]) });
33
+ }
34
+
35
+ //#endregion
36
+ export { SDKSidebar as t };
@@ -1,7 +1,7 @@
1
- import { l as Method } from "./index-zNpvNvtN.js";
2
- import { C as TransformRequestSnippetFn } from "./sdk-CIxaNoAs.js";
1
+ import { u as Method } from "./index-DuHyTVVD.js";
2
+ import { w as TransformRequestSnippetFn } from "./sdk-hDAzjotL.js";
3
3
  import * as React$1 from "react";
4
- import * as react_jsx_runtime47 from "react/jsx-runtime";
4
+ import * as react_jsx_runtime75 from "react/jsx-runtime";
5
5
 
6
6
  //#region src/components/snippets.d.ts
7
7
  type SnippetCodeProps = {
@@ -12,7 +12,7 @@ type SnippetCodeProps = {
12
12
  declare function SnippetCode({
13
13
  content,
14
14
  language
15
- }: SnippetCodeProps): react_jsx_runtime47.JSX.Element;
15
+ }: SnippetCodeProps): react_jsx_runtime75.JSX.Element;
16
16
  type SnippetProps = {
17
17
  method: Method;
18
18
  requestTitle?: React$1.ReactNode;
@@ -25,29 +25,29 @@ type SnippetContainerProps = {
25
25
  };
26
26
  declare function SnippetContainer({
27
27
  children
28
- }: SnippetContainerProps): react_jsx_runtime47.JSX.Element;
28
+ }: SnippetContainerProps): react_jsx_runtime75.JSX.Element;
29
29
  type SnippetRequestContainerProps = {
30
30
  children?: React$1.ReactNode;
31
31
  signature?: string;
32
32
  };
33
33
  declare function SnippetRequestContainer({
34
34
  children
35
- }: SnippetRequestContainerProps): react_jsx_runtime47.JSX.Element;
35
+ }: SnippetRequestContainerProps): react_jsx_runtime75.JSX.Element;
36
36
  declare function Snippet({
37
37
  requestTitle,
38
38
  method,
39
39
  transformRequestSnippet
40
- }: SnippetProps): react_jsx_runtime47.JSX.Element | null;
40
+ }: SnippetProps): react_jsx_runtime75.JSX.Element | null;
41
41
  declare function SnippetButtons({
42
42
  content
43
43
  }: {
44
44
  content: string;
45
- }): react_jsx_runtime47.JSX.Element;
45
+ }): react_jsx_runtime75.JSX.Element;
46
46
  declare function SnippetFooter(): React$1.ReactNode;
47
47
  declare function SnippetResponse({
48
48
  responses
49
49
  }: {
50
50
  responses: Method['exampleResponses'];
51
- }): react_jsx_runtime47.JSX.Element | null;
51
+ }): react_jsx_runtime75.JSX.Element | null;
52
52
  //#endregion
53
53
  export { SnippetContainer as a, SnippetProps as c, SnippetResponse as d, SnippetCodeProps as i, SnippetRequestContainer as l, SnippetButtons as n, SnippetContainerProps as o, SnippetCode as r, SnippetFooter as s, Snippet as t, SnippetRequestContainerProps as u };
@@ -1,7 +1,7 @@
1
- import { l as Method } from "./index-zNpvNvtN.js";
2
- import { C as TransformRequestSnippetFn } from "./sdk-BebFnWYL.js";
1
+ import { u as Method } from "./index-DuHyTVVD.js";
2
+ import { w as TransformRequestSnippetFn } from "./sdk-BDzHdl2y.js";
3
3
  import * as React$1 from "react";
4
- import * as react_jsx_runtime67 from "react/jsx-runtime";
4
+ import * as react_jsx_runtime88 from "react/jsx-runtime";
5
5
 
6
6
  //#region src/components/snippets.d.ts
7
7
  type SnippetCodeProps = {
@@ -12,7 +12,7 @@ type SnippetCodeProps = {
12
12
  declare function SnippetCode({
13
13
  content,
14
14
  language
15
- }: SnippetCodeProps): react_jsx_runtime67.JSX.Element;
15
+ }: SnippetCodeProps): react_jsx_runtime88.JSX.Element;
16
16
  type SnippetProps = {
17
17
  method: Method;
18
18
  requestTitle?: React$1.ReactNode;
@@ -25,29 +25,29 @@ type SnippetContainerProps = {
25
25
  };
26
26
  declare function SnippetContainer({
27
27
  children
28
- }: SnippetContainerProps): react_jsx_runtime67.JSX.Element;
28
+ }: SnippetContainerProps): react_jsx_runtime88.JSX.Element;
29
29
  type SnippetRequestContainerProps = {
30
30
  children?: React$1.ReactNode;
31
31
  signature?: string;
32
32
  };
33
33
  declare function SnippetRequestContainer({
34
34
  children
35
- }: SnippetRequestContainerProps): react_jsx_runtime67.JSX.Element;
35
+ }: SnippetRequestContainerProps): react_jsx_runtime88.JSX.Element;
36
36
  declare function Snippet({
37
37
  requestTitle,
38
38
  method,
39
39
  transformRequestSnippet
40
- }: SnippetProps): react_jsx_runtime67.JSX.Element | null;
40
+ }: SnippetProps): react_jsx_runtime88.JSX.Element | null;
41
41
  declare function SnippetButtons({
42
42
  content
43
43
  }: {
44
44
  content: string;
45
- }): react_jsx_runtime67.JSX.Element;
45
+ }): react_jsx_runtime88.JSX.Element;
46
46
  declare function SnippetFooter(): React$1.ReactNode;
47
47
  declare function SnippetResponse({
48
48
  responses
49
49
  }: {
50
50
  responses: Method['exampleResponses'];
51
- }): react_jsx_runtime67.JSX.Element | null;
51
+ }): react_jsx_runtime88.JSX.Element | null;
52
52
  //#endregion
53
53
  export { SnippetContainer as a, SnippetProps as c, SnippetResponse as d, SnippetCodeProps as i, SnippetRequestContainer as l, SnippetButtons as n, SnippetContainerProps as o, SnippetCode as r, SnippetFooter as s, Snippet as t, SnippetRequestContainerProps as u };
@@ -1,7 +1,7 @@
1
- import { a as useLanguage, c as useSnippet, r as useDeclaration } from "./docs-Di94viZV.js";
2
- import { r as useHighlight } from "./markdown-D2JWyRws.js";
1
+ import { i as useDeclaration, l as useSnippet, o as useLanguage } from "./docs-6PYi1eEV.js";
2
+ import { r as useHighlight } from "./markdown-DHjcD13O.js";
3
3
  import { t as useComponents } from "./use-components-BUz3GbO4.js";
4
- import { t as style_default } from "./style-LwfvXElj.js";
4
+ import { t as style_default } from "./style-Bxr5gqcM.js";
5
5
  import * as React$1 from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  import clsx from "clsx";
package/dist/spec.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { f as Resource, g as SpecLanguage, h as Spec, l as Method, r as DeclarationNode, u as Model } from "./index-zNpvNvtN.js";
2
- import { t as DocsLanguage } from "./routing-CtbZJru_.js";
1
+ import { _ as SpecLanguage, d as Model, g as Spec, i as DeclarationNode, p as Resource, u as Method } from "./index-DuHyTVVD.js";
2
+ import { t as DocsLanguage } from "./routing-CqnhQY4G.js";
3
3
 
4
4
  //#region src/spec.d.ts
5
5
  type SecurityScheme = Spec['security_schemes'][number];
package/dist/spec.js CHANGED
@@ -1,5 +1,5 @@
1
- import { n as Languages } from "./routing-Ce0_tBW6.js";
2
- import { r as isResourceEmpty } from "./utils-D01mAUfQ.js";
1
+ import { n as Languages } from "./routing-CLgL--x1.js";
2
+ import { r as isResourceEmpty } from "./utils-36jzmKxv.js";
3
3
 
4
4
  //#region src/spec.ts
5
5
  const defaultTransforms = {
@@ -0,0 +1,45 @@
1
+ import * as react_jsx_runtime74 from "react/jsx-runtime";
2
+
3
+ //#region src/components/stl-sidebar.d.ts
4
+ declare module 'react' {
5
+ namespace JSX {
6
+ interface IntrinsicElements {
7
+ /**
8
+ * Custom element defined by Starlight's <SidebarPersister>.
9
+ */
10
+ 'sl-sidebar-restore': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;
11
+ }
12
+ }
13
+ }
14
+ interface StlSidebarLink {
15
+ type: 'link';
16
+ label: string;
17
+ isCurrent?: boolean;
18
+ attrs: Record<string, unknown>;
19
+ href?: string;
20
+ stainlessPath?: string;
21
+ }
22
+ interface StlSidebarGroup {
23
+ type: 'group';
24
+ label: string;
25
+ entries: Array<StlSidebarLink | StlSidebarGroup>;
26
+ collapsed: boolean;
27
+ isCurrent?: boolean;
28
+ href?: string;
29
+ stainlessPath?: string;
30
+ }
31
+ type StlSidebarEntry = StlSidebarLink | StlSidebarGroup;
32
+ type StlSidebarProps = {
33
+ entries: StlSidebarEntry[];
34
+ /**
35
+ * If set, add <sl-sidebar-restore> custom elements (as defined by Starlight's SidebarPersister)
36
+ * which are used to save/restore sidebar state.
37
+ */
38
+ withStarlightRestoration?: boolean;
39
+ };
40
+ declare function StlSidebar({
41
+ entries,
42
+ withStarlightRestoration
43
+ }: StlSidebarProps): react_jsx_runtime74.JSX.Element;
44
+ //#endregion
45
+ export { StlSidebarProps as a, StlSidebarLink as i, StlSidebarEntry as n, StlSidebarGroup as r, StlSidebar as t };
@@ -0,0 +1,82 @@
1
+ import { t as useComponents } from "./use-components-BUz3GbO4.js";
2
+ import { t as style_default } from "./style-Bxr5gqcM.js";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ import clsx from "clsx";
5
+ import { ChevronRight } from "lucide-react";
6
+
7
+ //#region src/components/stl-sidebar.tsx
8
+ function StlSidebarSublist({ entries, entryToIndex }) {
9
+ const Docs = useComponents();
10
+ return /* @__PURE__ */ jsx("ul", {
11
+ className: style_default.SidebarList,
12
+ children: entries.map((entry, index) => {
13
+ const restorePointIndex = entryToIndex?.get(entry);
14
+ const hasLink = !!(entry.href || entry.stainlessPath);
15
+ return /* @__PURE__ */ jsx("li", {
16
+ className: clsx(style_default.SidebarEntry, entry.type === "link" ? style_default.SidebarEntryLink : style_default.SidebarEntryGroup),
17
+ children: entry.type === "link" ? /* @__PURE__ */ jsx(Docs.Link, {
18
+ href: entry.href,
19
+ stainlessPath: entry.stainlessPath,
20
+ "aria-current": entry.isCurrent ? "page" : void 0,
21
+ ...entry.attrs,
22
+ children: entry.label
23
+ }) : /* @__PURE__ */ jsxs(Fragment, { children: [hasLink && /* @__PURE__ */ jsx(Docs.Link, {
24
+ href: entry.href,
25
+ stainlessPath: entry.stainlessPath,
26
+ "aria-current": entry.isCurrent ? "page" : void 0,
27
+ children: entry.label
28
+ }), /* @__PURE__ */ jsxs("details", {
29
+ className: style_default.SidebarExpander,
30
+ open: flattenStlSidebar(entry.entries).some((i) => i.isCurrent) || !entry.collapsed,
31
+ children: [
32
+ /* @__PURE__ */ jsxs("summary", {
33
+ className: style_default.ExpanderSummary,
34
+ children: [/* @__PURE__ */ jsx("span", {
35
+ "aria-hidden": hasLink ? "true" : void 0,
36
+ children: entry.label
37
+ }), entry.entries.length > 0 && /* @__PURE__ */ jsx(ChevronRight, {
38
+ size: 16,
39
+ strokeWidth: 1,
40
+ className: `${style_default.Icon} ${style_default.ExpanderSummaryIcon}`
41
+ })]
42
+ }),
43
+ restorePointIndex !== void 0 && /* @__PURE__ */ jsx("sl-sidebar-restore", { "data-index": restorePointIndex }),
44
+ entry.entries.length > 0 && /* @__PURE__ */ jsx(StlSidebarSublist, {
45
+ entries: entry.entries,
46
+ entryToIndex
47
+ })
48
+ ]
49
+ })] })
50
+ }, index);
51
+ })
52
+ });
53
+ }
54
+ function StlSidebar({ entries, withStarlightRestoration }) {
55
+ const entryToIndex = withStarlightRestoration ? computeEntryToIndex(entries) : void 0;
56
+ return /* @__PURE__ */ jsx("div", {
57
+ className: `${style_default.Root} ${style_default.Sidebar}`,
58
+ children: /* @__PURE__ */ jsx(StlSidebarSublist, {
59
+ entries,
60
+ entryToIndex
61
+ })
62
+ });
63
+ }
64
+ function computeEntryToIndex(allEntries) {
65
+ const entryToIndex = /* @__PURE__ */ new Map();
66
+ let currentIndex = 0;
67
+ function addEntries(entries) {
68
+ for (const entry of entries) if (entry.type === "group") {
69
+ entryToIndex.set(entry, currentIndex);
70
+ currentIndex++;
71
+ addEntries(entry.entries);
72
+ }
73
+ }
74
+ addEntries(allEntries);
75
+ return entryToIndex;
76
+ }
77
+ function flattenStlSidebar(sidebar) {
78
+ return sidebar.flatMap((entry) => entry.type === "group" ? flattenStlSidebar(entry.entries) : entry);
79
+ }
80
+
81
+ //#endregion
82
+ export { StlSidebar as t };
@@ -0,0 +1,45 @@
1
+ import * as react_jsx_runtime34 from "react/jsx-runtime";
2
+
3
+ //#region src/components/stl-sidebar.d.ts
4
+ declare module 'react' {
5
+ namespace JSX {
6
+ interface IntrinsicElements {
7
+ /**
8
+ * Custom element defined by Starlight's <SidebarPersister>.
9
+ */
10
+ 'sl-sidebar-restore': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;
11
+ }
12
+ }
13
+ }
14
+ interface StlSidebarLink {
15
+ type: 'link';
16
+ label: string;
17
+ isCurrent?: boolean;
18
+ attrs: Record<string, unknown>;
19
+ href?: string;
20
+ stainlessPath?: string;
21
+ }
22
+ interface StlSidebarGroup {
23
+ type: 'group';
24
+ label: string;
25
+ entries: Array<StlSidebarLink | StlSidebarGroup>;
26
+ collapsed: boolean;
27
+ isCurrent?: boolean;
28
+ href?: string;
29
+ stainlessPath?: string;
30
+ }
31
+ type StlSidebarEntry = StlSidebarLink | StlSidebarGroup;
32
+ type StlSidebarProps = {
33
+ entries: StlSidebarEntry[];
34
+ /**
35
+ * If set, add <sl-sidebar-restore> custom elements (as defined by Starlight's SidebarPersister)
36
+ * which are used to save/restore sidebar state.
37
+ */
38
+ withStarlightRestoration?: boolean;
39
+ };
40
+ declare function StlSidebar({
41
+ entries,
42
+ withStarlightRestoration
43
+ }: StlSidebarProps): react_jsx_runtime34.JSX.Element;
44
+ //#endregion
45
+ export { StlSidebarProps as a, StlSidebarLink as i, StlSidebarEntry as n, StlSidebarGroup as r, StlSidebar as t };
@@ -129,13 +129,13 @@ var style_default = {
129
129
  Model: "stldocs-model",
130
130
  Root: "stldocs-root",
131
131
  Sidebar: "stldocs-sidebar",
132
- SidebarResource: "stldocs-sidebar-resource",
133
- SidebarResourceTitle: "stldocs-sidebar-resource-title",
134
- SidebarMethod: "stldocs-sidebar-method",
135
- SidebarItemTitle: "stldocs-sidebar-resource-title",
132
+ SidebarList: "stldocs-sidebar-list",
136
133
  SidebarExpander: "stldocs-sidebar-expander",
137
134
  SidebarExpanderSummary: "stldocs-sidebar-expander-summary",
138
135
  SidebarExpanderContent: "stldocs-sidebar-expander-content",
136
+ SidebarEntry: "stldocs-sidebar-entry",
137
+ SidebarEntryLink: "stldocs-sidebar-entry-link",
138
+ SidebarEntryGroup: "stldocs-sidebar-entry-group",
139
139
  SearchForm: "stldocs-search-form",
140
140
  SearchModal: "stldocs-search-modal",
141
141
  SearchFilter: "stldocs-search-filter",
package/dist/style.d.ts CHANGED
@@ -129,13 +129,13 @@ declare const _default: {
129
129
  readonly Model: "stldocs-model";
130
130
  readonly Root: "stldocs-root";
131
131
  readonly Sidebar: "stldocs-sidebar";
132
- readonly SidebarResource: "stldocs-sidebar-resource";
133
- readonly SidebarResourceTitle: "stldocs-sidebar-resource-title";
134
- readonly SidebarMethod: "stldocs-sidebar-method";
135
- readonly SidebarItemTitle: "stldocs-sidebar-resource-title";
132
+ readonly SidebarList: "stldocs-sidebar-list";
136
133
  readonly SidebarExpander: "stldocs-sidebar-expander";
137
134
  readonly SidebarExpanderSummary: "stldocs-sidebar-expander-summary";
138
135
  readonly SidebarExpanderContent: "stldocs-sidebar-expander-content";
136
+ readonly SidebarEntry: "stldocs-sidebar-entry";
137
+ readonly SidebarEntryLink: "stldocs-sidebar-entry-link";
138
+ readonly SidebarEntryGroup: "stldocs-sidebar-entry-group";
139
139
  readonly SearchForm: "stldocs-search-form";
140
140
  readonly SearchModal: "stldocs-search-modal";
141
141
  readonly SearchFilter: "stldocs-search-filter";
package/dist/style.js CHANGED
@@ -1,3 +1,3 @@
1
- import { t as style_default } from "./style-LwfvXElj.js";
1
+ import { t as style_default } from "./style-Bxr5gqcM.js";
2
2
 
3
3
  export { style_default as default };
@@ -251,6 +251,12 @@
251
251
  ol {
252
252
  list-style-type: decimal;
253
253
  }
254
+
255
+ hr {
256
+ margin-bottom: 16px;
257
+ border: none;
258
+ border-bottom: 1px solid var(--stl-color-border);
259
+ }
254
260
  }
255
261
 
256
262
  .stldocs-root .stldocs-input {