@stainless-api/docs-ui 0.1.0-beta.47 → 0.1.0-beta.49

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 (159) hide show
  1. package/dist/breadcrumbs-nSFZO5Gf.js +63 -0
  2. package/dist/component-DRO8kQSp.js +23 -0
  3. package/dist/{component-generics-F0_Dx7UT.js → component-generics-B6Fn47Mz.js} +1 -1
  4. package/dist/{component-generics-DrrwsjTH.d.ts → component-generics-COP53CRn.d.ts} +2 -2
  5. package/dist/component-generics-fyFHB6qA.d.ts +30 -0
  6. package/dist/components/MaskedInput.d.ts +1 -1
  7. package/dist/components/MaskedInput.js +1 -1
  8. package/dist/components/breadcrumbs.d.ts +1 -1
  9. package/dist/components/breadcrumbs.js +7 -13
  10. package/dist/components/icons.js +1 -1
  11. package/dist/components/index.d.ts +9 -10
  12. package/dist/components/index.js +16 -13
  13. package/dist/components/method.d.ts +1 -1
  14. package/dist/components/method.js +8 -13
  15. package/dist/components/overview.d.ts +1 -1
  16. package/dist/components/overview.js +9 -13
  17. package/dist/components/primitives.d.ts +1 -1
  18. package/dist/components/primitives.js +6 -13
  19. package/dist/components/properties.d.ts +1 -1
  20. package/dist/components/properties.js +7 -13
  21. package/dist/components/sdk.d.ts +1 -2
  22. package/dist/components/sdk.js +8 -13
  23. package/dist/components/sidebar.d.ts +1 -1
  24. package/dist/components/sidebar.js +9 -13
  25. package/dist/components/snippets.d.ts +2 -3
  26. package/dist/components/snippets.js +7 -13
  27. package/dist/components-D7M-BwNI.js +71 -0
  28. package/dist/contexts/component-generics.d.ts +1 -1
  29. package/dist/contexts/component-generics.js +1 -1
  30. package/dist/contexts/component-types.d.ts +10 -11
  31. package/dist/contexts/component.d.ts +13 -14
  32. package/dist/contexts/component.js +25 -13
  33. package/dist/contexts/docs.d.ts +1 -1
  34. package/dist/contexts/docs.js +1 -1
  35. package/dist/contexts/index.d.ts +16 -19
  36. package/dist/contexts/index.js +6 -14
  37. package/dist/contexts/markdown.d.ts +1 -1
  38. package/dist/contexts/markdown.js +2 -2
  39. package/dist/contexts/navigation.d.ts +1 -2
  40. package/dist/contexts/navigation.js +1 -1
  41. package/dist/contexts/use-components.d.ts +9 -10
  42. package/dist/contexts/use-components.js +2 -2
  43. package/dist/contexts-p3rRZDlM.js +39 -0
  44. package/dist/csharp-CDSxfCZE.js +283 -0
  45. package/dist/docs-yYrp-uzs.d.ts +47 -0
  46. package/dist/go-1c3S5ETL.js +303 -0
  47. package/dist/http-2QNWXH9t.js +330 -0
  48. package/dist/{index-CeFeLPGr.d.ts → index-BQpRynot.d.ts} +8 -8
  49. package/dist/index-CnilsjrJ.d.ts +274 -0
  50. package/dist/{index-CTSOZqei.d.ts → index-Ct0NcQUK.d.ts} +1 -1
  51. package/dist/{index-Bt01VI67.d.ts → index-D6NhcxHd.d.ts} +6 -7
  52. package/dist/index-LboM0f0c.d.ts +15 -0
  53. package/dist/index-avtZIGmX.d.ts +13 -0
  54. package/dist/index.d.ts +18 -20
  55. package/dist/index.js +27 -13
  56. package/dist/java-BbjF_oUI.js +403 -0
  57. package/dist/languages/csharp.d.ts +10 -11
  58. package/dist/languages/csharp.js +7 -13
  59. package/dist/languages/go.d.ts +10 -11
  60. package/dist/languages/go.js +7 -13
  61. package/dist/languages/http.d.ts +10 -11
  62. package/dist/languages/http.js +17 -13
  63. package/dist/languages/index.d.ts +10 -11
  64. package/dist/languages/index.js +24 -13
  65. package/dist/languages/java.d.ts +10 -11
  66. package/dist/languages/java.js +7 -13
  67. package/dist/languages/python.d.ts +10 -11
  68. package/dist/languages/python.js +7 -13
  69. package/dist/languages/ruby.d.ts +10 -11
  70. package/dist/languages/ruby.js +7 -13
  71. package/dist/languages/typescript.d.ts +10 -11
  72. package/dist/languages/typescript.js +7 -13
  73. package/dist/languages-BCYZjzuS.js +26 -0
  74. package/dist/markdown/index.d.ts +4 -4
  75. package/dist/markdown/index.js +103 -14
  76. package/dist/markdown/md.js +1 -1
  77. package/dist/markdown/printer.d.ts +2 -0
  78. package/dist/markdown/printer.js +28 -0
  79. package/dist/markdown/utils.d.ts +2 -3
  80. package/dist/markdown/utils.js +1 -1
  81. package/dist/{markdown-Bx-mQFEj.js → markdown-CxdeWgjV.js} +1 -1
  82. package/dist/markdown-DA2cRtlr.d.ts +22 -0
  83. package/dist/method-CE08mUME.js +115 -0
  84. package/dist/{navigation-Cg69h_9U.d.ts → navigation-BfAVGPgw.d.ts} +3 -3
  85. package/dist/navigation-CjBnMcop.d.ts +29 -0
  86. package/dist/overview-DeZSiqFa.d.ts +39 -0
  87. package/dist/overview-S2hUqPXA.js +139 -0
  88. package/dist/primitives-BIWfwN5L.js +258 -0
  89. package/dist/primitives-CbqXZ-5f.d.ts +97 -0
  90. package/dist/printer-DBw4S_Jn.d.ts +13 -0
  91. package/dist/printer-DVZVkqAr.d.ts +13 -0
  92. package/dist/printer-bNxiG6UB.js +74 -0
  93. package/dist/properties-jlGW3USi.js +131 -0
  94. package/dist/python-USOwFDv_.js +279 -0
  95. package/dist/routing-CMqh1cTZ.d.ts +54 -0
  96. package/dist/{routing-BGBmkDBL.js → routing-Wbb7YECB.js} +1 -1
  97. package/dist/routing.d.ts +1 -1
  98. package/dist/routing.js +1 -1
  99. package/dist/ruby-CSvGbSLe.js +387 -0
  100. package/dist/{sdk-Ck0IERc7.d.ts → sdk-BOwYR0k6.d.ts} +1 -1
  101. package/dist/sdk-CSCbbn3O.js +336 -0
  102. package/dist/sdk-CdhDsvo3.d.ts +118 -0
  103. package/dist/sidebar-CWyvCrJ0.js +81 -0
  104. package/dist/snippets-BQLXEIf6.js +161 -0
  105. package/dist/snippets-CbVFNmfq.d.ts +51 -0
  106. package/dist/{snippets-XTXit9Ya.d.ts → snippets-Wjo2dJNw.d.ts} +1 -1
  107. package/dist/spec.d.ts +3 -3
  108. package/dist/spec.js +2 -2
  109. package/dist/style.d.ts +1 -1
  110. package/dist/style.js +1 -1
  111. package/dist/styles/resets.css +2 -1
  112. package/dist/styles.css +1099 -1
  113. package/dist/typescript-DXG9psK3.js +449 -0
  114. package/dist/{use-components-BAHidYIO.js → use-components-RWQbviGq.js} +1 -1
  115. package/dist/{utils-CJElSUwc.d.ts → utils-CTGH5e8c.d.ts} +2 -2
  116. package/dist/utils-DNKOwa7D.d.ts +21 -0
  117. package/dist/{utils-0z34vxY4.js → utils-D_1AWSRX.js} +2 -2
  118. package/dist/utils.d.ts +1 -1
  119. package/dist/utils.js +1 -2
  120. package/package.json +6 -20
  121. package/dist/contexts/search.d.ts +0 -4
  122. package/dist/contexts/search.js +0 -15
  123. package/dist/contexts-D3ClFTt3.js +0 -4117
  124. package/dist/pagefind-BHm6c3fb.js +0 -15
  125. package/dist/search/index.d.ts +0 -26
  126. package/dist/search/index.js +0 -334
  127. package/dist/search/mcp.d.ts +0 -13
  128. package/dist/search/mcp.js +0 -45
  129. package/dist/search/providers/algolia.d.ts +0 -25
  130. package/dist/search/providers/algolia.js +0 -15
  131. package/dist/search/providers/fuse.d.ts +0 -18
  132. package/dist/search/providers/fuse.js +0 -30
  133. package/dist/search/providers/pagefind.d.ts +0 -7
  134. package/dist/search/providers/pagefind.js +0 -3
  135. package/dist/search/providers/walker.d.ts +0 -9
  136. package/dist/search/providers/walker.js +0 -34
  137. package/dist/search/types.d.ts +0 -3
  138. package/dist/search/types.js +0 -3
  139. package/dist/search-B9SJyFXg.d.ts +0 -21
  140. package/dist/types-D7Ipu1J2.d.ts +0 -91
  141. package/dist/types-mRzd9aqe.js +0 -35
  142. /package/dist/{breadcrumbs-Bg3nNgu9.d.ts → breadcrumbs-DEyC9k79.d.ts} +0 -0
  143. /package/dist/{chunk-BWfJHHBp.js → chunk-DRcLgZ1e.js} +0 -0
  144. /package/dist/{docs-DGpIHBGY.d.ts → docs-B8-nCRaa.d.ts} +0 -0
  145. /package/dist/{docs-CNvEp0VL.js → docs-CXqi26jB.js} +0 -0
  146. /package/dist/{icons-DzBceOQw.js → icons-Ckod9aod.js} +0 -0
  147. /package/dist/{markdown-COcowhve.d.ts → markdown-C8o8WrwG.d.ts} +0 -0
  148. /package/dist/{md-D5AxFoS4.js → md-oM2tUaCA.js} +0 -0
  149. /package/dist/{method-DI8ARQ3m.d.ts → method-B6eAtYl2.d.ts} +0 -0
  150. /package/dist/{navigation-bydkHNUW.js → navigation-C5TN0SgC.js} +0 -0
  151. /package/dist/{overview-Bv43Hf_w.d.ts → overview-CswoJHww.d.ts} +0 -0
  152. /package/dist/{primitives-Br-H_CYo.d.ts → primitives-Caj5rKBc.d.ts} +0 -0
  153. /package/dist/{properties-RPXKwEeY.d.ts → properties-BkUlpvU4.d.ts} +0 -0
  154. /package/dist/{routing-nN1nc0jx.d.ts → routing-Dhmv52Fd.d.ts} +0 -0
  155. /package/dist/{sidebar-b3y7VIbU.d.ts → sidebar-BXz93vSy.d.ts} +0 -0
  156. /package/dist/{style-D8hwSwrv.d.ts → style-D7RO5ymE.d.ts} +0 -0
  157. /package/dist/{style-0miv2y38.js → style-gnVEeXFj.js} +0 -0
  158. /package/dist/{utils-CiZXDoFR.js → utils-CqnL9Fc3.js} +0 -0
  159. /package/dist/{utils-BcWczffA.d.ts → utils-d8paVwKN.d.ts} +0 -0
@@ -0,0 +1,139 @@
1
+ import { a as useLanguage, l as useSpec, r as useDeclaration } from "./docs-CXqi26jB.js";
2
+ import { n as useLanguageComponents } from "./contexts-p3rRZDlM.js";
3
+ import { t as useComponents } from "./use-components-RWQbviGq.js";
4
+ import { t as style_default } from "./style-gnVEeXFj.js";
5
+ import { i as PropertyToggle } from "./properties-jlGW3USi.js";
6
+ import { f as parseStainlessPath } from "./routing-Wbb7YECB.js";
7
+ import { s as Markdown } from "./primitives-BIWfwN5L.js";
8
+ import { n as getResourceFromSpec, t as flatResources } from "./utils-D_1AWSRX.js";
9
+ import * as React$1 from "react";
10
+ import { createElement } from "react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ import { ChevronRight } from "lucide-react";
13
+
14
+ //#region src/components/overview.tsx
15
+ function SDKResourceHeader({ resource, parents }) {
16
+ const segments = parents?.map((parent, index) => /* @__PURE__ */ jsxs("span", {
17
+ className: style_default.ResourceTitleSegment,
18
+ children: [parent.title, index < parents.length && /* @__PURE__ */ jsx(ChevronRight, {
19
+ size: 16,
20
+ className: style_default.Icon
21
+ })]
22
+ }, parent.stainlessPath));
23
+ if (!segments && !resource.description) return null;
24
+ return /* @__PURE__ */ jsxs("div", {
25
+ className: style_default.ResourceHeader,
26
+ children: [segments && /* @__PURE__ */ jsxs("h4", {
27
+ id: resource.stainlessPath,
28
+ className: style_default.ResourceTitle,
29
+ children: [segments, /* @__PURE__ */ jsx("span", {
30
+ className: style_default.ResourceTitleSegment,
31
+ children: resource.title
32
+ })]
33
+ }), resource.description && /* @__PURE__ */ jsx("div", {
34
+ className: style_default.ResourceDescription,
35
+ children: /* @__PURE__ */ jsx(Markdown, { content: resource.description })
36
+ })]
37
+ });
38
+ }
39
+ function SDKMethodSummary({ method }) {
40
+ const Docs = useComponents();
41
+ const Lang = useLanguageComponents();
42
+ const decl = useDeclaration(method.stainlessPath, true);
43
+ return /* @__PURE__ */ jsx(Docs.MethodHeader, {
44
+ level: "h5",
45
+ title: /* @__PURE__ */ jsx(Docs.Link, {
46
+ stainlessPath: method.stainlessPath,
47
+ children: method.summary ?? method.title
48
+ }),
49
+ signature: /* @__PURE__ */ jsx(Lang.MethodSignature, { decl }),
50
+ badges: method.deprecated && /* @__PURE__ */ jsx(Docs.Badge, {
51
+ id: "deprecated",
52
+ children: "Deprecated"
53
+ }),
54
+ children: /* @__PURE__ */ jsx(Docs.MethodRoute, {
55
+ httpMethod: method.httpMethod,
56
+ endpoint: method.endpoint.split(" ", 2).at(-1)
57
+ })
58
+ });
59
+ }
60
+ function SDKResource({ resource, parents, showModels }) {
61
+ const Docs = useComponents();
62
+ const language = useLanguage();
63
+ const spec = useSpec();
64
+ const methods = Object.values(resource.methods).filter((method) => spec?.decls?.[language]?.[method.stainlessPath]);
65
+ const models = Object.values(resource.models).filter((model) => spec?.decls?.[language]?.[`${model.stainlessPath} > (schema)`]);
66
+ return /* @__PURE__ */ jsx("div", {
67
+ className: style_default.Resource,
68
+ children: /* @__PURE__ */ jsxs("div", {
69
+ className: style_default.ResourceContent,
70
+ children: [
71
+ /* @__PURE__ */ jsx(Docs.SDKResourceHeader, {
72
+ resource,
73
+ parents
74
+ }),
75
+ methods.length > 0 && /* @__PURE__ */ jsx("div", {
76
+ className: style_default.ResourceContentGroup,
77
+ children: methods.map((method) => /* @__PURE__ */ jsx("div", {
78
+ className: style_default.MethodSummary,
79
+ children: /* @__PURE__ */ jsx(Docs.SDKMethodSummary, { method })
80
+ }, method.stainlessPath))
81
+ }),
82
+ showModels !== false && models.length > 0 && /* @__PURE__ */ jsxs("div", {
83
+ className: style_default.ResourceContentGroup,
84
+ "data-stldocs-property-group": "models",
85
+ children: [/* @__PURE__ */ jsxs("h5", {
86
+ className: style_default.ResourceContentGroupModelTitle,
87
+ children: ["Models", /* @__PURE__ */ jsx(PropertyToggle, { target: "models" })]
88
+ }), models.map((model) => /* @__PURE__ */ jsx(Docs.SDKModel, { model }, model.stainlessPath))]
89
+ })
90
+ ]
91
+ })
92
+ });
93
+ }
94
+ function SDKOverview({ resource }) {
95
+ const { SDKResource: SDKResource$1 } = useComponents();
96
+ const nested = React$1.useMemo(() => flatResources(resource.subresources, [resource]), [resource]);
97
+ return /* @__PURE__ */ jsxs("div", {
98
+ className: style_default.Overview,
99
+ children: [
100
+ /* @__PURE__ */ jsx("div", {
101
+ className: style_default.OverviewHeader,
102
+ children: /* @__PURE__ */ jsx("h1", { children: resource.title })
103
+ }),
104
+ /* @__PURE__ */ jsx(SDKResource$1, { resource }),
105
+ nested.map((props, index) => /* @__PURE__ */ createElement(SDKResource$1, {
106
+ ...props,
107
+ key: index
108
+ }))
109
+ ]
110
+ });
111
+ }
112
+ function SDKRoot({ stainlessPath }) {
113
+ const spec = useSpec();
114
+ const Docs = useComponents();
115
+ const parsed = parseStainlessPath(stainlessPath);
116
+ const resource = spec && getResourceFromSpec(stainlessPath, spec);
117
+ if (!resource || !parsed) {
118
+ console.warn(`Could not find resource or parsed path for '${stainlessPath}'`);
119
+ return null;
120
+ }
121
+ if (parsed.method) {
122
+ const method = resource.methods[parsed.method];
123
+ if (!method) {
124
+ console.warn(`Method '${parsed.method}' not found in resource '${resource.stainlessPath}'`);
125
+ return null;
126
+ }
127
+ return /* @__PURE__ */ jsx("div", {
128
+ className: style_default.Root,
129
+ children: /* @__PURE__ */ jsx(Docs.SDKMethod, { method })
130
+ });
131
+ }
132
+ return /* @__PURE__ */ jsx("div", {
133
+ className: style_default.Root,
134
+ children: /* @__PURE__ */ jsx(Docs.SDKOverview, { resource })
135
+ });
136
+ }
137
+
138
+ //#endregion
139
+ export { SDKRoot as a, SDKResourceHeader as i, SDKOverview as n, SDKResource as r, SDKMethodSummary as t };
@@ -0,0 +1,258 @@
1
+ import { a as useLanguage, s as useSettings } from "./docs-CXqi26jB.js";
2
+ import { n as useNavigation } from "./navigation-C5TN0SgC.js";
3
+ import { a as useRenderMarkdown } from "./markdown-CxdeWgjV.js";
4
+ import { t as style_default } from "./style-gnVEeXFj.js";
5
+ import { o as generateRoute } from "./routing-Wbb7YECB.js";
6
+ import * as React$1 from "react";
7
+ import { Fragment, useState } from "react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import { MinusIcon, PlusIcon } from "lucide-react";
10
+ import clsx from "clsx";
11
+
12
+ //#region src/components/primitives.tsx
13
+ function Join({ items, limit, children }) {
14
+ return (limit && items.length > limit + 1 ? [...items.slice(0, limit), /* @__PURE__ */ jsxs("span", {
15
+ className: style_default.Truncation,
16
+ children: [items.length - limit, " more"]
17
+ }, "truncation")] : items).map((item, index) => /* @__PURE__ */ jsxs(Fragment, { children: [!!index && children, item] }, `iterator:${index}`));
18
+ }
19
+ function Expander({ id, open, summary, virtual, muted, children }) {
20
+ const virtualExpanders = useSettings()?.virtualExpanders;
21
+ if (virtual || virtualExpanders) return /* @__PURE__ */ jsx(VirtualExpander, {
22
+ summary,
23
+ open,
24
+ muted,
25
+ id,
26
+ children
27
+ });
28
+ return /* @__PURE__ */ jsxs("details", {
29
+ className: style_default.Expander,
30
+ open,
31
+ "data-stldocs-expander-muted": muted,
32
+ "data-stldocs-expander-initial-state": open,
33
+ children: [/* @__PURE__ */ jsxs("summary", {
34
+ className: style_default.ExpanderSummary,
35
+ children: [/* @__PURE__ */ jsxs("div", {
36
+ className: style_default.ExpanderSummaryIcon,
37
+ children: [/* @__PURE__ */ jsx(PlusIcon, {
38
+ size: 16,
39
+ strokeWidth: 1,
40
+ className: style_default.Icon
41
+ }), /* @__PURE__ */ jsx(MinusIcon, {
42
+ size: 16,
43
+ strokeWidth: 1,
44
+ className: style_default.Icon
45
+ })]
46
+ }), /* @__PURE__ */ jsx("div", {
47
+ className: style_default.ExpanderSummaryContent,
48
+ children: summary
49
+ })]
50
+ }), /* @__PURE__ */ jsx("div", {
51
+ className: style_default.ExpanderContent,
52
+ id,
53
+ children
54
+ })]
55
+ });
56
+ }
57
+ function VirtualExpander({ id, open: isOpen, muted, summary, children }) {
58
+ const [open, setOpen] = useState(isOpen);
59
+ React$1.useEffect(() => {
60
+ if (isOpen) setOpen(true);
61
+ }, [isOpen]);
62
+ return /* @__PURE__ */ jsxs("div", {
63
+ className: style_default.Expander,
64
+ "data-open": open,
65
+ "data-stldocs-expander-muted": muted,
66
+ "data-stldocs-expander-initial-state": open,
67
+ children: [/* @__PURE__ */ jsxs("div", {
68
+ className: style_default.ExpanderSummary,
69
+ onClick: () => setOpen(!open),
70
+ children: [/* @__PURE__ */ jsxs("div", {
71
+ className: style_default.ExpanderSummaryIcon,
72
+ children: [/* @__PURE__ */ jsx(PlusIcon, {
73
+ size: 16,
74
+ className: style_default.Icon
75
+ }), /* @__PURE__ */ jsx(MinusIcon, {
76
+ size: 16,
77
+ className: style_default.Icon
78
+ })]
79
+ }), /* @__PURE__ */ jsx("div", {
80
+ className: style_default.ExpanderSummaryContent,
81
+ children: summary
82
+ })]
83
+ }), open && /* @__PURE__ */ jsx("div", {
84
+ className: style_default.ExpanderContent,
85
+ id,
86
+ children
87
+ })]
88
+ });
89
+ }
90
+ function Markdown({ content }) {
91
+ const rendered = useRenderMarkdown(content);
92
+ return rendered && /* @__PURE__ */ jsx("div", {
93
+ className: clsx(style_default.Markdown, style_default.Content, "stl-ui-prose"),
94
+ dangerouslySetInnerHTML: { __html: rendered }
95
+ });
96
+ }
97
+ function Badge({ id, children }) {
98
+ return /* @__PURE__ */ jsx("span", {
99
+ className: style_default.Badge,
100
+ "data-badge-id": id,
101
+ children: children ?? id
102
+ });
103
+ }
104
+ const TooltipNestingContext = React$1.createContext(false);
105
+ function Tooltip({ content, children }) {
106
+ if (React$1.useContext(TooltipNestingContext)) return children;
107
+ return /* @__PURE__ */ jsxs("span", {
108
+ className: style_default.Tooltip,
109
+ children: [/* @__PURE__ */ jsx("span", {
110
+ className: style_default.TooltipContent,
111
+ children: /* @__PURE__ */ jsx(TooltipNestingContext.Provider, {
112
+ value: true,
113
+ children: content
114
+ })
115
+ }), /* @__PURE__ */ jsx("span", {
116
+ className: style_default.TooltipHost,
117
+ children
118
+ })]
119
+ });
120
+ }
121
+ function Link({ stainlessPath, scroll = true, children, ...props }) {
122
+ const { basePath, onNavigate } = useNavigation();
123
+ const language = useLanguage();
124
+ const href = React$1.useMemo(() => {
125
+ if (props.href) return props.href;
126
+ if (stainlessPath && basePath) return generateRoute(basePath, language, stainlessPath);
127
+ }, [
128
+ basePath,
129
+ language,
130
+ stainlessPath,
131
+ props.href
132
+ ]);
133
+ const handleClick = React$1.useCallback((e) => {
134
+ if (props.onClick) props.onClick(e);
135
+ if (e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) return;
136
+ if (href) onNavigate?.(e, {
137
+ href,
138
+ language,
139
+ stainlessPath,
140
+ scroll
141
+ });
142
+ }, [
143
+ href,
144
+ scroll,
145
+ onNavigate,
146
+ language,
147
+ props,
148
+ stainlessPath
149
+ ]);
150
+ if (!href) return children;
151
+ return /* @__PURE__ */ jsx("a", {
152
+ href,
153
+ onClick: handleClick,
154
+ ...props,
155
+ children
156
+ });
157
+ }
158
+ const Input = React$1.forwardRef(function Input$1({ left, right, ...props }, ref) {
159
+ return /* @__PURE__ */ jsxs("div", {
160
+ className: style_default.Input,
161
+ children: [
162
+ left,
163
+ /* @__PURE__ */ jsx("input", {
164
+ ...props,
165
+ ref,
166
+ className: style_default.InputTextField
167
+ }),
168
+ right
169
+ ]
170
+ });
171
+ });
172
+ const ToggleButton = React$1.forwardRef(function ToggleButton$1({ children, selected, ...props }, ref) {
173
+ return /* @__PURE__ */ jsx("button", {
174
+ ...props,
175
+ ref,
176
+ className: style_default.ToggleButton,
177
+ "data-stldocs-toggle-selected": selected,
178
+ children
179
+ });
180
+ });
181
+ function ListView({ items, itemDelegate, onSelectListItem, ...rest }) {
182
+ const [selectedIndex, setSelectedIndex] = React$1.useState(0);
183
+ const [keyboardIndex, setKeyboardIndex] = React$1.useState(0);
184
+ const listRef = React$1.useRef(null);
185
+ const itemRef = React$1.useRef(null);
186
+ React$1.useEffect(() => {
187
+ setSelectedIndex(0);
188
+ setKeyboardIndex(0);
189
+ }, [items]);
190
+ const handleSelect = React$1.useCallback(() => {
191
+ const item = items[selectedIndex];
192
+ if (item) onSelectListItem?.(item);
193
+ }, [
194
+ items,
195
+ selectedIndex,
196
+ onSelectListItem
197
+ ]);
198
+ React$1.useEffect(() => {
199
+ function handleKeyPress(ev) {
200
+ switch (ev.key) {
201
+ case "ArrowUp": {
202
+ ev.preventDefault();
203
+ const value = Math.max(0, selectedIndex - 1);
204
+ setSelectedIndex(value);
205
+ setKeyboardIndex(value);
206
+ break;
207
+ }
208
+ case "ArrowDown": {
209
+ ev.preventDefault();
210
+ const value = Math.min(items.length, selectedIndex + 1);
211
+ setSelectedIndex(value);
212
+ setKeyboardIndex(value);
213
+ break;
214
+ }
215
+ case "Enter":
216
+ ev.preventDefault();
217
+ handleSelect();
218
+ break;
219
+ }
220
+ }
221
+ addEventListener("keydown", handleKeyPress);
222
+ return () => removeEventListener("keydown", handleKeyPress);
223
+ }, [
224
+ items,
225
+ selectedIndex,
226
+ handleSelect
227
+ ]);
228
+ React$1.useEffect(() => {
229
+ if (!keyboardIndex || !itemRef.current || !listRef.current) {
230
+ listRef?.current?.scroll(0, 0);
231
+ return;
232
+ }
233
+ const selectedBounds = itemRef.current.getBoundingClientRect();
234
+ const listBounds = listRef.current.getBoundingClientRect();
235
+ if (selectedBounds.top < listBounds.top || selectedBounds.bottom > listBounds.bottom) itemRef.current.scrollIntoView({ block: "nearest" });
236
+ }, [
237
+ keyboardIndex,
238
+ items,
239
+ listRef
240
+ ]);
241
+ return /* @__PURE__ */ jsx("div", {
242
+ ref: listRef,
243
+ className: style_default.ListView,
244
+ tabIndex: 0,
245
+ ...rest,
246
+ children: items.map((item, index) => /* @__PURE__ */ jsx("div", {
247
+ ref: index === selectedIndex ? itemRef : null,
248
+ className: style_default.ListViewItem,
249
+ "data-stldocs-listview-selected": index === selectedIndex,
250
+ onClick: handleSelect,
251
+ onMouseMove: () => setSelectedIndex(index),
252
+ children: itemDelegate(item, index === selectedIndex)
253
+ }, index))
254
+ });
255
+ }
256
+
257
+ //#endregion
258
+ export { Link as a, ToggleButton as c, Join as i, Tooltip as l, Expander as n, ListView as o, Input as r, Markdown as s, Badge as t, VirtualExpander as u };
@@ -0,0 +1,97 @@
1
+ import * as React$1 from "react";
2
+ import { ReactNode } from "react";
3
+ import * as react_jsx_runtime18 from "react/jsx-runtime";
4
+
5
+ //#region src/components/primitives.d.ts
6
+ type JoinProps = {
7
+ items: ReactNode[];
8
+ limit?: number;
9
+ children: ReactNode;
10
+ };
11
+ declare function Join({
12
+ items,
13
+ limit,
14
+ children
15
+ }: JoinProps): react_jsx_runtime18.JSX.Element[];
16
+ type ExpanderProps = {
17
+ id?: string;
18
+ open?: boolean;
19
+ summary: ReactNode;
20
+ virtual?: boolean;
21
+ muted?: boolean;
22
+ children?: ReactNode;
23
+ };
24
+ declare function Expander({
25
+ id,
26
+ open,
27
+ summary,
28
+ virtual,
29
+ muted,
30
+ children
31
+ }: ExpanderProps): react_jsx_runtime18.JSX.Element;
32
+ declare function VirtualExpander({
33
+ id,
34
+ open: isOpen,
35
+ muted,
36
+ summary,
37
+ children
38
+ }: Omit<ExpanderProps, 'virtual'>): react_jsx_runtime18.JSX.Element;
39
+ declare function Markdown({
40
+ content
41
+ }: {
42
+ content: string;
43
+ }): "" | react_jsx_runtime18.JSX.Element | undefined;
44
+ type BadgeProps = {
45
+ id: string;
46
+ children?: ReactNode;
47
+ };
48
+ declare function Badge({
49
+ id,
50
+ children
51
+ }: BadgeProps): react_jsx_runtime18.JSX.Element;
52
+ type TooltipProps = {
53
+ content: ReactNode;
54
+ children: ReactNode;
55
+ };
56
+ declare function Tooltip({
57
+ content,
58
+ children
59
+ }: TooltipProps): string | number | bigint | boolean | react_jsx_runtime18.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;
60
+ type LinkProps = {
61
+ stainlessPath: string;
62
+ scroll?: boolean;
63
+ children?: ReactNode;
64
+ } & React$1.HTMLProps<HTMLAnchorElement>;
65
+ declare function Link({
66
+ stainlessPath,
67
+ scroll,
68
+ children,
69
+ ...props
70
+ }: LinkProps): string | number | bigint | boolean | react_jsx_runtime18.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;
71
+ type InputProps = {
72
+ left?: ReactNode;
73
+ right?: ReactNode;
74
+ ref?: React$1.Ref<HTMLInputElement>;
75
+ } & React$1.InputHTMLAttributes<HTMLInputElement>;
76
+ declare const Input: React$1.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React$1.RefAttributes<HTMLInputElement>>;
77
+ type ToggleButtonProps = {
78
+ children?: ReactNode;
79
+ selected?: boolean;
80
+ } & React$1.ButtonHTMLAttributes<HTMLButtonElement>;
81
+ declare const ToggleButton: React$1.ForwardRefExoticComponent<{
82
+ children?: ReactNode;
83
+ selected?: boolean;
84
+ } & React$1.ButtonHTMLAttributes<HTMLButtonElement> & React$1.RefAttributes<HTMLButtonElement>>;
85
+ type ListViewProps<TItem> = {
86
+ items: Array<TItem>;
87
+ itemDelegate: (item: TItem, selected: boolean) => React$1.ReactNode;
88
+ onSelectListItem?: (item: TItem) => void;
89
+ } & React$1.HTMLAttributes<HTMLDivElement>;
90
+ declare function ListView<TItem>({
91
+ items,
92
+ itemDelegate,
93
+ onSelectListItem,
94
+ ...rest
95
+ }: ListViewProps<TItem>): react_jsx_runtime18.JSX.Element;
96
+ //#endregion
97
+ export { Join as a, ListViewProps as c, ToggleButtonProps as d, Tooltip as f, InputProps as i, Markdown as l, Expander as n, Link as o, VirtualExpander as p, Input as r, ListView as s, Badge as t, ToggleButton as u };
@@ -0,0 +1,13 @@
1
+ import { t as DocsLanguage } from "./routing-CMqh1cTZ.js";
2
+ import * as SDKJSON from "@stainless/sdk-json";
3
+
4
+ //#region src/markdown/printer.d.ts
5
+ declare namespace printer_d_exports {
6
+ export { declaration, methodSignature, type, typeName };
7
+ }
8
+ declare function typeName(language: DocsLanguage, type: SDKJSON.Type): string;
9
+ declare function type(language: DocsLanguage, type: SDKJSON.Type): string;
10
+ declare function declaration(language: DocsLanguage, decl: SDKJSON.DeclarationNode): string;
11
+ declare function methodSignature(language: DocsLanguage, decl: SDKJSON.DeclarationNode): string;
12
+ //#endregion
13
+ export { typeName as a, type as i, methodSignature as n, printer_d_exports as r, declaration as t };
@@ -0,0 +1,13 @@
1
+ import { t as DocsLanguage } from "./routing-Dhmv52Fd.js";
2
+ import * as SDKJSON from "@stainless/sdk-json";
3
+
4
+ //#region src/markdown/printer.d.ts
5
+ declare namespace printer_d_exports {
6
+ export { declaration, methodSignature, type, typeName };
7
+ }
8
+ declare function typeName(language: DocsLanguage, type: SDKJSON.Type): string;
9
+ declare function type(language: DocsLanguage, type: SDKJSON.Type): string;
10
+ declare function declaration(language: DocsLanguage, decl: SDKJSON.DeclarationNode): string;
11
+ declare function methodSignature(language: DocsLanguage, decl: SDKJSON.DeclarationNode): string;
12
+ //#endregion
13
+ export { typeName as a, type as i, methodSignature as n, printer_d_exports as r, declaration as t };
@@ -0,0 +1,74 @@
1
+ import { t as __export } from "./chunk-DRcLgZ1e.js";
2
+ import { t as DocsProvider } from "./docs-CXqi26jB.js";
3
+ import { n as useLanguageComponents } from "./contexts-p3rRZDlM.js";
4
+ import { t as style_default } from "./style-gnVEeXFj.js";
5
+ import { t as ComponentProvider } from "./component-DRO8kQSp.js";
6
+ import "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { renderToStaticMarkup } from "react-dom/server";
9
+
10
+ //#region src/markdown/printer.tsx
11
+ var printer_exports = /* @__PURE__ */ __export({
12
+ declaration: () => declaration,
13
+ methodSignature: () => methodSignature,
14
+ type: () => type,
15
+ typeName: () => typeName
16
+ });
17
+ function Providers({ language, children }) {
18
+ return /* @__PURE__ */ jsx(DocsProvider, {
19
+ spec: null,
20
+ language,
21
+ children: /* @__PURE__ */ jsx(ComponentProvider, {
22
+ components: { SDKReference({ stainlessPath, children: children$1 }) {
23
+ if (!stainlessPath) return children$1;
24
+ return /* @__PURE__ */ jsx("span", {
25
+ className: style_default.TypeReference,
26
+ children: children$1
27
+ });
28
+ } },
29
+ children
30
+ })
31
+ });
32
+ }
33
+ function RenderType({ type: type$1, full }) {
34
+ const { Type, TypeName } = useLanguageComponents();
35
+ return full ? /* @__PURE__ */ jsx(Type, { type: type$1 }) : /* @__PURE__ */ jsx(TypeName, { type: type$1 });
36
+ }
37
+ function typeName(language, type$1) {
38
+ return renderToStaticMarkup(/* @__PURE__ */ jsx(Providers, {
39
+ language,
40
+ children: /* @__PURE__ */ jsx(RenderType, { type: type$1 })
41
+ }));
42
+ }
43
+ function type(language, type$1) {
44
+ return renderToStaticMarkup(/* @__PURE__ */ jsx(Providers, {
45
+ language,
46
+ children: /* @__PURE__ */ jsx(RenderType, {
47
+ type: type$1,
48
+ full: true
49
+ })
50
+ }));
51
+ }
52
+ function RenderDeclaration({ decl }) {
53
+ const { Declaration } = useLanguageComponents();
54
+ return /* @__PURE__ */ jsx(Declaration, { decl });
55
+ }
56
+ function declaration(language, decl) {
57
+ return renderToStaticMarkup(/* @__PURE__ */ jsx(Providers, {
58
+ language,
59
+ children: /* @__PURE__ */ jsx(RenderDeclaration, { decl })
60
+ }));
61
+ }
62
+ function RenderMethod({ method }) {
63
+ const { MethodSignature } = useLanguageComponents();
64
+ return /* @__PURE__ */ jsx(MethodSignature, { decl: method });
65
+ }
66
+ function methodSignature(language, decl) {
67
+ return renderToStaticMarkup(/* @__PURE__ */ jsx(Providers, {
68
+ language,
69
+ children: /* @__PURE__ */ jsx(RenderMethod, { method: decl })
70
+ }));
71
+ }
72
+
73
+ //#endregion
74
+ export { typeName as a, type as i, methodSignature as n, printer_exports as r, declaration as t };