@clarify-labs/renderer 0.6.4 → 0.6.6

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 (64) hide show
  1. package/output/{OpenApiOperation-DcK7Ekkx.js → OpenApiOperation-CI_PeMSy.js} +768 -74
  2. package/output/OpenApiOperation-CI_PeMSy.js.map +1 -0
  3. package/output/{OpenApiOperation-BI41nyGy.cjs → OpenApiOperation-CxQQyEHK.cjs} +865 -81
  4. package/output/OpenApiOperation-CxQQyEHK.cjs.map +1 -0
  5. package/output/ThemeRoot-BhP5M3Hd.cjs +1800 -0
  6. package/output/ThemeRoot-BhP5M3Hd.cjs.map +1 -0
  7. package/output/ThemeRoot-DErmHskn.js +1757 -0
  8. package/output/ThemeRoot-DErmHskn.js.map +1 -0
  9. package/output/app/ErrorBoundary.d.ts +29 -0
  10. package/output/client.cjs +5 -1
  11. package/output/client.d.ts +2 -0
  12. package/output/client.js +3 -2
  13. package/output/core/i18n.d.ts +1 -1
  14. package/output/core/types.d.ts +30 -9
  15. package/output/index.cjs +42 -32
  16. package/output/index.cjs.map +1 -1
  17. package/output/index.d.ts +3 -1
  18. package/output/index.js +19 -12
  19. package/output/index.js.map +1 -1
  20. package/output/markdown.cjs +1 -1
  21. package/output/markdown.js +1 -1
  22. package/output/mdx/remark.d.ts +11 -1
  23. package/output/openapi/entry.d.ts +1 -0
  24. package/output/preview.cjs +4 -3
  25. package/output/preview.cjs.map +1 -1
  26. package/output/preview.js +4 -3
  27. package/output/preview.js.map +1 -1
  28. package/output/remark-Dd2WU50s.js +35 -0
  29. package/output/remark-Dd2WU50s.js.map +1 -0
  30. package/output/remark-Dv3owbSH.cjs +42 -0
  31. package/output/remark-Dv3owbSH.cjs.map +1 -0
  32. package/output/{render-CjZt3edL.cjs → render-C_NHO3rz.cjs} +12 -8
  33. package/output/render-C_NHO3rz.cjs.map +1 -0
  34. package/output/{render-BpavVnAe.js → render-HeCAMIGm.js} +12 -8
  35. package/output/render-HeCAMIGm.js.map +1 -0
  36. package/output/renderer.css +457 -597
  37. package/output/server.cjs +11 -7
  38. package/output/server.cjs.map +1 -1
  39. package/output/server.js +11 -7
  40. package/output/server.js.map +1 -1
  41. package/output/{shell-_MyLsMUI.cjs → shell-D4tS8Jts.cjs} +112 -1016
  42. package/output/shell-D4tS8Jts.cjs.map +1 -0
  43. package/output/{shell-BlMMdTpZ.js → shell-DvTfFx6M.js} +107 -933
  44. package/output/shell-DvTfFx6M.js.map +1 -0
  45. package/output/theme/ThemeEditor.d.ts +67 -0
  46. package/output/theme/ThemeProvider.d.ts +1 -1
  47. package/output/theme/ThemeRoot.d.ts +9 -0
  48. package/output/theme/randomTheme.d.ts +2 -0
  49. package/output/theme/variables.d.ts +62 -0
  50. package/package.json +1 -1
  51. package/output/AppShell-D3FsVHQK.js +0 -390
  52. package/output/AppShell-D3FsVHQK.js.map +0 -1
  53. package/output/AppShell-DeaJ-rgo.cjs +0 -409
  54. package/output/AppShell-DeaJ-rgo.cjs.map +0 -1
  55. package/output/OpenApiOperation-BI41nyGy.cjs.map +0 -1
  56. package/output/OpenApiOperation-DcK7Ekkx.js.map +0 -1
  57. package/output/remark-DNOdJz5i.cjs +0 -14
  58. package/output/remark-DNOdJz5i.cjs.map +0 -1
  59. package/output/remark-o5sg9Ilv.js +0 -7
  60. package/output/remark-o5sg9Ilv.js.map +0 -1
  61. package/output/render-BpavVnAe.js.map +0 -1
  62. package/output/render-CjZt3edL.cjs.map +0 -1
  63. package/output/shell-BlMMdTpZ.js.map +0 -1
  64. package/output/shell-_MyLsMUI.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require("./chunk-DakpK96I.cjs");
2
- const require_shell = require("./shell-_MyLsMUI.cjs");
3
- const require_remark = require("./remark-DNOdJz5i.cjs");
2
+ const require_shell = require("./shell-D4tS8Jts.cjs");
3
+ const require_remark = require("./remark-Dv3owbSH.cjs");
4
4
  let clsx = require("clsx");
5
5
  clsx = require_chunk.__toESM(clsx, 1);
6
6
  let react = require("react");
@@ -8,17 +8,739 @@ let react_router_dom = require("react-router-dom");
8
8
  let _headlessui_react = require("@headlessui/react");
9
9
  let lucide_react = require("lucide-react");
10
10
  let react_jsx_runtime = require("react/jsx-runtime");
11
+ let framer_motion = require("framer-motion");
12
+ let zustand = require("zustand");
11
13
  let react_markdown = require("react-markdown");
12
14
  react_markdown = require_chunk.__toESM(react_markdown, 1);
13
15
  let github_slugger = require("github-slugger");
14
16
  let _scalar_snippetz = require("@scalar/snippetz");
17
+ //#region source/components/Button.tsx
18
+ var buttonVariantStyles = {
19
+ primary: "rounded-full bg-(--clarify-theme-tokens-colors-foreground) px-3 py-1 text-(--clarify-theme-tokens-colors-background) hover:opacity-80 dark:bg-(--clarify-theme-tokens-colors-primary)/10 dark:text-(--clarify-theme-tokens-colors-primary) dark:ring-1 dark:ring-inset dark:ring-(--clarify-theme-tokens-colors-primary)/20 dark:hover:opacity-80",
20
+ secondary: "rounded-full bg-(--clarify-theme-tokens-colors-code-background) px-3 py-1 text-(--clarify-ui-text-soft) ring-1 ring-inset ring-(--clarify-theme-tokens-colors-border) hover:bg-(--clarify-ui-hover-background) hover:text-(--clarify-theme-tokens-colors-foreground)",
21
+ filled: "rounded-full bg-(--clarify-theme-tokens-colors-foreground) px-3 py-1 text-(--clarify-theme-tokens-colors-background) hover:opacity-80 dark:bg-(--clarify-theme-tokens-colors-primary) dark:hover:opacity-80",
22
+ outline: "rounded-full px-3 py-1 text-(--clarify-ui-text-soft) ring-1 ring-inset ring-(--clarify-theme-tokens-colors-border) hover:bg-(--clarify-ui-hover-background) hover:text-(--clarify-theme-tokens-colors-foreground)",
23
+ text: "text-(--clarify-theme-tokens-colors-primary) hover:opacity-80 dark:text-(--clarify-theme-tokens-colors-primary) dark:hover:opacity-80"
24
+ };
25
+ function Button(arg0) {
26
+ const { variant = "primary", className, children, arrow, ...props } = arg0;
27
+ const classes = (0, clsx.default)("clarify-button inline-flex justify-center gap-0.5 overflow-hidden text-sm font-medium transition", buttonVariantStyles[variant], className);
28
+ const arrowIcon = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowRight, { className: (0, clsx.default)("mt-0.5 h-5 w-5", variant === "text" && "relative top-px", arrow === "left" && "-ml-1 rotate-180", arrow === "right" && "-mr-1") });
29
+ const inner = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
30
+ arrow === "left" ? arrowIcon : null,
31
+ children,
32
+ arrow === "right" ? arrowIcon : null
33
+ ] });
34
+ if (typeof props.href === "undefined") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
35
+ className: classes,
36
+ ...props,
37
+ children: inner
38
+ });
39
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
40
+ className: classes,
41
+ ...props,
42
+ children: inner
43
+ });
44
+ }
45
+ //#endregion
46
+ //#region source/components/Callout.tsx
47
+ var calloutStyles = {
48
+ info: {
49
+ container: "border-sky-500/20 bg-sky-50/50 text-sky-950 dark:border-sky-400/30 dark:bg-sky-400/5 dark:text-sky-100",
50
+ icon: "text-sky-600 dark:text-sky-400",
51
+ title: "text-sky-900 dark:text-sky-100",
52
+ Icon: lucide_react.Info
53
+ },
54
+ note: {
55
+ container: "border-zinc-500/20 bg-zinc-50 text-zinc-900 dark:border-white/10 dark:bg-white/5 dark:text-zinc-200",
56
+ icon: "text-zinc-500 dark:text-zinc-400",
57
+ title: "text-zinc-900 dark:text-white",
58
+ Icon: lucide_react.Info
59
+ },
60
+ tip: {
61
+ container: "border-emerald-500/20 bg-emerald-50/50 text-emerald-950 dark:border-emerald-400/30 dark:bg-emerald-400/5 dark:text-emerald-100",
62
+ icon: "text-emerald-600 dark:text-emerald-400",
63
+ title: "text-emerald-900 dark:text-emerald-100",
64
+ Icon: lucide_react.Lightbulb
65
+ },
66
+ warning: {
67
+ container: "border-amber-500/20 bg-amber-50/70 text-amber-950 dark:border-amber-400/30 dark:bg-amber-400/5 dark:text-amber-100",
68
+ icon: "text-amber-600 dark:text-amber-400",
69
+ title: "text-amber-900 dark:text-amber-100",
70
+ Icon: lucide_react.AlertTriangle
71
+ },
72
+ danger: {
73
+ container: "border-rose-500/20 bg-rose-50/70 text-rose-950 dark:border-rose-400/30 dark:bg-rose-400/5 dark:text-rose-100",
74
+ icon: "text-rose-600 dark:text-rose-400",
75
+ title: "text-rose-900 dark:text-rose-100",
76
+ Icon: lucide_react.XCircle
77
+ },
78
+ success: {
79
+ container: "border-emerald-500/20 bg-emerald-50/50 text-emerald-950 dark:border-emerald-400/30 dark:bg-emerald-400/5 dark:text-emerald-100",
80
+ icon: "text-emerald-600 dark:text-emerald-400",
81
+ title: "text-emerald-900 dark:text-emerald-100",
82
+ Icon: lucide_react.CheckCircle2
83
+ }
84
+ };
85
+ var defaultTitleKeys = {
86
+ info: "callout.info",
87
+ note: "callout.note",
88
+ tip: "callout.tip",
89
+ warning: "callout.warning",
90
+ danger: "callout.danger",
91
+ success: "callout.success"
92
+ };
93
+ function Callout(arg0) {
94
+ const { children, type = "info", title, icon = true, className, ...props } = arg0;
95
+ const t = require_shell.useBuiltInText();
96
+ const style = calloutStyles[type];
97
+ const Icon = style.Icon;
98
+ const resolvedTitle = title === void 0 ? t(defaultTitleKeys[type]) : title;
99
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
100
+ className: (0, clsx.default)("clarify-callout my-6 flex gap-3 rounded-(--clarify-theme-tokens-radius-xl) border p-4 text-sm/6", style.container, className),
101
+ ...props,
102
+ children: [icon ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, {
103
+ className: (0, clsx.default)("mt-1 size-4 flex-none", style.icon),
104
+ "aria-hidden": "true"
105
+ }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
106
+ className: "min-w-0 flex-1 *:first:mt-0 *:last:mb-0",
107
+ children: [resolvedTitle ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
108
+ className: (0, clsx.default)("mb-1 font-semibold", style.title),
109
+ children: resolvedTitle
110
+ }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
111
+ className: "*:first:mt-0 *:last:mb-0",
112
+ children
113
+ })]
114
+ })]
115
+ });
116
+ }
117
+ //#endregion
118
+ //#region source/components/Card.tsx
119
+ function CardIcon(arg0) {
120
+ const { name } = arg0;
121
+ if (!name) return null;
122
+ const iconName = require_shell.resolveLucideIconName(name);
123
+ if (!iconName) return null;
124
+ const Icon = require_shell.lucideIconRegistry[iconName];
125
+ if (!Icon) return null;
126
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
127
+ className: "flex size-9 flex-none items-center justify-center rounded-(--clarify-theme-tokens-radius-lg) bg-(--clarify-ui-accent-background) text-(--clarify-ui-accent-text) ring-1 ring-(--clarify-ui-accent-border)",
128
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, {
129
+ className: "size-5",
130
+ "aria-hidden": "true"
131
+ })
132
+ });
133
+ }
134
+ var cardGroupColumnStyles = {
135
+ 1: "grid-cols-1",
136
+ 2: "grid-cols-1 sm:grid-cols-2",
137
+ 3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
138
+ 4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
139
+ };
140
+ function CardGroup(arg0) {
141
+ const { children, cols = 2, className } = arg0;
142
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
143
+ className: (0, clsx.default)("not-prose my-10 grid gap-4", cardGroupColumnStyles[cols], className),
144
+ children
145
+ });
146
+ }
147
+ function Card(arg0) {
148
+ const { title, icon, href, children, className, ...props } = arg0;
149
+ const content = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
150
+ className: "flex items-start gap-4",
151
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(CardIcon, { name: icon }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
152
+ className: "min-w-0 flex-1",
153
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
154
+ className: "m-0 text-base font-semibold text-(--clarify-theme-tokens-colors-foreground)",
155
+ children: title
156
+ }), children ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
157
+ className: "mt-2 text-sm/6 text-(--clarify-ui-text-soft) *:m-0",
158
+ children
159
+ }) : null]
160
+ })]
161
+ }), href ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
162
+ className: "absolute inset-0 rounded-(--clarify-theme-tokens-radius-xl)",
163
+ "aria-hidden": "true"
164
+ }) : null] });
165
+ const classes = (0, clsx.default)("group relative block rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-(--clarify-ui-accent-glow) transition hover:shadow-xs", className);
166
+ if (!href) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
167
+ className: classes,
168
+ children: content
169
+ });
170
+ if (href.startsWith("/") && !href.startsWith("//")) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_router_dom.Link, {
171
+ to: href,
172
+ className: classes,
173
+ ...props,
174
+ children: content
175
+ });
176
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
177
+ href,
178
+ className: classes,
179
+ ...props,
180
+ children: content
181
+ });
182
+ }
183
+ //#endregion
184
+ //#region source/components/Code.tsx
185
+ var languageNames = {
186
+ js: "JavaScript",
187
+ ts: "TypeScript",
188
+ jsx: "React JSX",
189
+ tsx: "React TSX",
190
+ javascript: "JavaScript",
191
+ typescript: "TypeScript",
192
+ php: "PHP",
193
+ python: "Python",
194
+ ruby: "Ruby",
195
+ go: "Go",
196
+ bash: "Shell",
197
+ sh: "Shell",
198
+ shell: "Shell",
199
+ json: "JSON"
200
+ };
201
+ function getPanelTitle(arg0) {
202
+ const { title, language, fallbackTitle = "Code" } = arg0;
203
+ if (title) return title;
204
+ if (language && language in languageNames) return languageNames[language];
205
+ return fallbackTitle;
206
+ }
207
+ function getNodeText(node) {
208
+ if (typeof node === "string" || typeof node === "number") return String(node);
209
+ if (Array.isArray(node)) return node.map(getNodeText).join("");
210
+ if ((0, react.isValidElement)(node)) return getNodeText(node.props.children);
211
+ return "";
212
+ }
213
+ function CopyButton(arg0) {
214
+ const { code } = arg0;
215
+ const t = require_shell.useBuiltInText();
216
+ const [copyCount, setCopyCount] = (0, react.useState)(0);
217
+ const copied = copyCount > 0;
218
+ (0, react.useEffect)(() => {
219
+ if (copyCount === 0) return void 0;
220
+ const timeout = window.setTimeout(() => setCopyCount(0), 1e3);
221
+ return () => window.clearTimeout(timeout);
222
+ }, [copyCount]);
223
+ if (!code) return null;
224
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
225
+ type: "button",
226
+ className: (0, clsx.default)("clarify-code-copy group/button absolute top-3.5 right-4 overflow-hidden rounded-full py-1 pr-3 pl-2 text-2xs font-medium opacity-0 backdrop-blur-sm transition group-hover:opacity-100 focus:opacity-100", copied ? "clarify-code-copy-copied" : "bg-white/5 hover:bg-white/7.5 dark:bg-white/2.5 dark:hover:bg-white/5"),
227
+ onClick: () => {
228
+ require_shell.copyTextToClipboard(code).then((ok) => {
229
+ if (ok) setCopyCount((count) => count + 1);
230
+ });
231
+ },
232
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
233
+ "aria-hidden": copied,
234
+ className: (0, clsx.default)("pointer-events-none flex items-center gap-0.5 text-zinc-400 transition duration-300", copied && "-translate-y-1.5 opacity-0"),
235
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Clipboard, { className: "h-5 w-5 stroke-zinc-500 transition-colors group-hover/button:stroke-zinc-400" }), t("actions.copy")]
236
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
237
+ "aria-hidden": !copied,
238
+ className: (0, clsx.default)("pointer-events-none absolute inset-0 flex items-center justify-center text-(--clarify-theme-tokens-colors-primary) transition duration-300", !copied && "translate-y-1.5 opacity-0"),
239
+ children: t("actions.copied")
240
+ })]
241
+ });
242
+ }
243
+ function CodePanelHeader(arg0) {
244
+ const { tag, label } = arg0;
245
+ if (!tag && !label) return null;
246
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
247
+ className: "clarify-code-panel-header flex h-9 items-center gap-2 border-y border-t-transparent border-b-white/7.5 bg-zinc-900 px-4 dark:border-b-white/5 dark:bg-white/1",
248
+ children: [
249
+ tag ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
250
+ className: "clarify-code-panel-tag font-semibold text-(--clarify-theme-tokens-colors-primary)",
251
+ children: tag
252
+ }) : null,
253
+ tag && label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "h-0.5 w-0.5 rounded-full bg-zinc-500" }) : null,
254
+ label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
255
+ className: "text-xs text-zinc-400",
256
+ children: label
257
+ }) : null
258
+ ]
259
+ });
260
+ }
261
+ function CodePanel(arg0) {
262
+ const { children } = arg0;
263
+ let { tag, label, code } = arg0;
264
+ const child = react.Children.only(children);
265
+ if ((0, react.isValidElement)(child)) {
266
+ const props = child.props;
267
+ tag = props.tag ?? tag;
268
+ label = props.label ?? label;
269
+ code = props.code ?? code ?? getNodeText(props.children);
270
+ }
271
+ const copyText = code ?? getNodeText(children);
272
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
273
+ className: "clarify-code-panel group dark:bg-white/2.5",
274
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodePanelHeader, {
275
+ tag,
276
+ label
277
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
278
+ className: "relative",
279
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
280
+ className: "clarify-code-pre overflow-x-auto p-4 text-xs text-white",
281
+ children
282
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CopyButton, { code: copyText })]
283
+ })]
284
+ });
285
+ }
286
+ function CodeGroupHeader(arg0) {
287
+ const { title, children, selectedIndex } = arg0;
288
+ const t = require_shell.useBuiltInText();
289
+ const hasTabs = react.Children.count(children) > 1;
290
+ if (!title && !hasTabs) return null;
291
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
292
+ className: "clarify-code-group-header flex min-h-(--clarify-code-header-min-height) flex-wrap items-start gap-x-4 border-b border-zinc-700 bg-zinc-800 px-4 dark:border-zinc-800 dark:bg-transparent",
293
+ children: [title ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
294
+ className: "mr-auto pt-3 text-xs font-semibold text-white",
295
+ children: title
296
+ }) : null, hasTabs ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.TabList, {
297
+ className: "clarify-code-tabs -mb-px flex gap-4 text-xs font-medium",
298
+ children: react.Children.map(children, (child, childIndex) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.Tab, {
299
+ className: (0, clsx.default)("clarify-code-tab border-b py-3 transition data-selected:not-data-focus:outline-hidden", childIndex === selectedIndex ? "border-(--clarify-theme-tokens-colors-primary) text-(--clarify-theme-tokens-colors-primary)" : "border-transparent text-zinc-400 hover:text-zinc-300"),
300
+ children: getPanelTitle({
301
+ ...(0, react.isValidElement)(child) ? child.props : {},
302
+ fallbackTitle: t("actions.code")
303
+ })
304
+ }))
305
+ }) : null]
306
+ });
307
+ }
308
+ function CodeGroupPanels(arg0) {
309
+ const { children, ...props } = arg0;
310
+ if (react.Children.count(children) > 1) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.TabPanels, { children: react.Children.map(children, (child) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.TabPanel, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodePanel, {
311
+ ...props,
312
+ children: child
313
+ }) })) });
314
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodePanel, {
315
+ ...props,
316
+ children
317
+ });
318
+ }
319
+ function usePreventLayoutShift() {
320
+ const positionRef = (0, react.useRef)(null);
321
+ const rafRef = (0, react.useRef)(void 0);
322
+ (0, react.useEffect)(() => {
323
+ return () => {
324
+ if (typeof rafRef.current !== "undefined") window.cancelAnimationFrame(rafRef.current);
325
+ };
326
+ }, []);
327
+ return {
328
+ positionRef,
329
+ preventLayoutShift(callback) {
330
+ if (!positionRef.current) return;
331
+ const initialTop = positionRef.current.getBoundingClientRect().top;
332
+ callback();
333
+ rafRef.current = window.requestAnimationFrame(() => {
334
+ const newTop = positionRef.current?.getBoundingClientRect().top ?? initialTop;
335
+ window.scrollBy(0, newTop - initialTop);
336
+ });
337
+ }
338
+ };
339
+ }
340
+ var usePreferredLanguageStore = (0, zustand.create)()((set) => ({
341
+ preferredLanguages: [],
342
+ addPreferredLanguage: (language) => set((state) => ({ preferredLanguages: [...state.preferredLanguages.filter((preferredLanguage) => preferredLanguage !== language), language] }))
343
+ }));
344
+ function useTabGroupProps(availableLanguages) {
345
+ const { preferredLanguages, addPreferredLanguage } = usePreferredLanguageStore();
346
+ const [selectedIndex, setSelectedIndex] = (0, react.useState)(0);
347
+ if (new Set(availableLanguages).size === availableLanguages.length) {
348
+ const activeLanguage = [...availableLanguages].sort((a, z) => preferredLanguages.indexOf(z) - preferredLanguages.indexOf(a))[0];
349
+ const languageIndex = availableLanguages.indexOf(activeLanguage);
350
+ const newSelectedIndex = languageIndex === -1 ? selectedIndex : languageIndex;
351
+ if (newSelectedIndex !== selectedIndex) setSelectedIndex(newSelectedIndex);
352
+ }
353
+ const { positionRef, preventLayoutShift } = usePreventLayoutShift();
354
+ return {
355
+ as: "div",
356
+ ref: positionRef,
357
+ selectedIndex,
358
+ onChange: (nextSelectedIndex) => {
359
+ setSelectedIndex(nextSelectedIndex);
360
+ preventLayoutShift(() => addPreferredLanguage(availableLanguages[nextSelectedIndex]));
361
+ }
362
+ };
363
+ }
364
+ var CodeGroupContext = (0, react.createContext)(false);
365
+ function CodeGroup(arg0) {
366
+ const { children, title, ...props } = arg0;
367
+ const t = require_shell.useBuiltInText();
368
+ const tabGroupProps = useTabGroupProps(react.Children.map(children, (child) => getPanelTitle({
369
+ ...(0, react.isValidElement)(child) ? child.props : {},
370
+ fallbackTitle: t("actions.code")
371
+ })) ?? []);
372
+ const hasTabs = react.Children.count(children) > 1;
373
+ const containerClassName = "clarify-code-group my-6 overflow-hidden rounded-2xl bg-zinc-900 shadow-md dark:ring-1 dark:ring-white/10";
374
+ const header = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodeGroupHeader, {
375
+ title,
376
+ selectedIndex: tabGroupProps.selectedIndex,
377
+ children
378
+ });
379
+ const panels = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodeGroupPanels, {
380
+ ...props,
381
+ children
382
+ });
383
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodeGroupContext.Provider, {
384
+ value: true,
385
+ children: hasTabs ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.TabGroup, {
386
+ ...tabGroupProps,
387
+ className: containerClassName,
388
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
389
+ className: "not-prose",
390
+ children: [header, panels]
391
+ })
392
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
393
+ className: containerClassName,
394
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
395
+ className: "not-prose",
396
+ children: [header, panels]
397
+ })
398
+ })
399
+ });
400
+ }
401
+ function Code(arg0) {
402
+ const { children, ...props } = arg0;
403
+ if ((0, react.useContext)(CodeGroupContext) && typeof children === "string") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
404
+ ...props,
405
+ dangerouslySetInnerHTML: { __html: children }
406
+ });
407
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
408
+ ...props,
409
+ children
410
+ });
411
+ }
412
+ function Pre(arg0) {
413
+ const { children, ...props } = arg0;
414
+ if ((0, react.useContext)(CodeGroupContext)) return children;
415
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CodeGroup, {
416
+ ...props,
417
+ children
418
+ });
419
+ }
420
+ //#endregion
421
+ //#region source/components/Collapse.tsx
422
+ function Collapse(arg0) {
423
+ const { children, title, summary, defaultOpen = false, className, ...props } = arg0;
424
+ const [open, setOpen] = (0, react.useState)(defaultOpen);
425
+ const contentRef = (0, react.useRef)(null);
426
+ const [maxHeight, setMaxHeight] = (0, react.useState)("0px");
427
+ const summaryLabel = title ?? summary ?? "Details";
428
+ const contentId = (0, react.useId)();
429
+ (0, react.useLayoutEffect)(() => {
430
+ if (!contentRef.current) return;
431
+ setMaxHeight(open ? `${contentRef.current.scrollHeight}px` : "0px");
432
+ }, [open, children]);
433
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
434
+ className: (0, clsx.default)("clarify-collapse my-6 overflow-hidden rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) shadow-sm", className),
435
+ ...props,
436
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
437
+ type: "button",
438
+ className: "flex w-full cursor-pointer items-center justify-between gap-3 px-4 py-3 text-left text-sm font-semibold text-(--clarify-theme-tokens-colors-foreground) transition hover:bg-(--clarify-ui-hover-background) focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--clarify-theme-tokens-colors-primary) focus-visible:ring-offset-2 focus-visible:ring-offset-(--clarify-theme-tokens-colors-background)",
439
+ "aria-expanded": open,
440
+ "aria-controls": contentId,
441
+ onClick: () => setOpen((value) => !value),
442
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: summaryLabel }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDown, {
443
+ className: (0, clsx.default)("h-4 w-4 text-(--clarify-theme-tokens-colors-muted) transition-transform duration-200", open && "rotate-180"),
444
+ "aria-hidden": "true"
445
+ })]
446
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
447
+ id: contentId,
448
+ className: "clarify-collapse-content overflow-hidden border-t border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-background) duration-200 ease-out",
449
+ style: {
450
+ maxHeight,
451
+ willChange: "max-height, opacity, transform"
452
+ },
453
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
454
+ ref: contentRef,
455
+ className: (0, clsx.default)("px-4 py-4 text-sm/6 text-(--clarify-theme-tokens-colors-foreground) transition-opacity duration-200 ease-out", open ? "opacity-100 translate-y-0" : "opacity-0 -translate-y-1"),
456
+ children
457
+ })
458
+ })]
459
+ });
460
+ }
461
+ //#endregion
462
+ //#region source/components/Feedback.tsx
463
+ function FeedbackButton(props) {
464
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
465
+ type: "submit",
466
+ className: "clarify-feedback-button px-3 text-sm font-medium text-(--clarify-ui-text-soft) transition hover:bg-(--clarify-ui-hover-background) hover:text-(--clarify-theme-tokens-colors-foreground)",
467
+ ...props
468
+ });
469
+ }
470
+ var FeedbackForm = (0, react.forwardRef)(function FeedbackForm(arg0, ref) {
471
+ const { onSubmit, className, ...props } = arg0;
472
+ const t = require_shell.useBuiltInText();
473
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("form", {
474
+ ...props,
475
+ ref,
476
+ onSubmit,
477
+ className: (0, clsx.default)(className, "clarify-feedback-form absolute inset-0 flex items-center justify-center gap-6 md:justify-start"),
478
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
479
+ className: "text-sm text-(--clarify-ui-text-soft)",
480
+ children: t("feedback.prompt")
481
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
482
+ className: "clarify-feedback-actions group grid h-8 grid-cols-(--clarify-feedback-actions-grid) overflow-hidden rounded-full border border-(--clarify-theme-tokens-colors-border)",
483
+ children: [
484
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FeedbackButton, {
485
+ "data-response": "yes",
486
+ children: t("feedback.yes")
487
+ }),
488
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "bg-(--clarify-theme-tokens-colors-border)" }),
489
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FeedbackButton, {
490
+ "data-response": "no",
491
+ children: t("feedback.no")
492
+ })
493
+ ]
494
+ })]
495
+ });
496
+ });
497
+ var FeedbackThanks = (0, react.forwardRef)(function FeedbackThanks(arg0, ref) {
498
+ const { className, ...props } = arg0;
499
+ const t = require_shell.useBuiltInText();
500
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
501
+ ...props,
502
+ ref,
503
+ className: (0, clsx.default)(className, "clarify-feedback-thanks absolute inset-0 flex justify-center md:justify-start"),
504
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
505
+ className: "flex items-center gap-3 rounded-full bg-(--clarify-ui-accent-background) py-1 pr-3 pl-1.5 text-sm text-(--clarify-ui-accent-text) ring-1 ring-(--clarify-ui-accent-border) ring-inset",
506
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CircleCheck, { className: "h-5 w-5 flex-none stroke-(--clarify-ui-accent-text)" }), t("feedback.thanks")]
507
+ })
508
+ });
509
+ });
510
+ function Feedback() {
511
+ const [submitted, setSubmitted] = (0, react.useState)(false);
512
+ function onSubmit(event) {
513
+ event.preventDefault();
514
+ setSubmitted(true);
515
+ }
516
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
517
+ className: "clarify-feedback relative h-8",
518
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.Transition, {
519
+ show: !submitted,
520
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FeedbackForm, {
521
+ className: "duration-300 data-closed:opacity-0 data-leave:pointer-events-none",
522
+ onSubmit
523
+ })
524
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.Transition, {
525
+ show: submitted,
526
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FeedbackThanks, { className: "delay-150 duration-300 data-closed:opacity-0" })
527
+ })]
528
+ });
529
+ }
530
+ //#endregion
531
+ //#region source/components/Tag.tsx
532
+ var tagVariantStyles = {
533
+ small: "",
534
+ medium: "rounded-lg px-1.5 ring-1 ring-inset"
535
+ };
536
+ var tagColorStyles = {
537
+ emerald: {
538
+ small: "text-emerald-500 dark:text-emerald-400",
539
+ medium: "bg-emerald-400/10 text-emerald-500 ring-emerald-300 dark:text-emerald-400 dark:ring-emerald-400/30"
540
+ },
541
+ sky: {
542
+ small: "text-sky-500 dark:text-sky-400",
543
+ medium: "bg-sky-400/10 text-sky-500 ring-sky-300 dark:text-sky-400 dark:ring-sky-400/30"
544
+ },
545
+ amber: {
546
+ small: "text-amber-500 dark:text-amber-400",
547
+ medium: "bg-amber-400/10 text-amber-500 ring-amber-300 dark:text-amber-400 dark:ring-amber-400/30"
548
+ },
549
+ rose: {
550
+ small: "text-red-500 dark:text-rose-500",
551
+ medium: "bg-rose-50 text-red-500 ring-rose-200 dark:bg-rose-400/10 dark:text-rose-400 dark:ring-rose-500/20"
552
+ },
553
+ zinc: {
554
+ small: "text-(--clarify-theme-tokens-colors-muted)",
555
+ medium: "bg-(--clarify-theme-tokens-colors-code-background) text-(--clarify-theme-tokens-colors-muted) ring-(--clarify-theme-tokens-colors-border)"
556
+ }
557
+ };
558
+ var tagValueColorMap = {
559
+ GET: "emerald",
560
+ POST: "sky",
561
+ PUT: "amber",
562
+ PATCH: "amber",
563
+ DELETE: "rose"
564
+ };
565
+ function Tag(arg0) {
566
+ const { children, variant = "medium", color } = arg0;
567
+ const value = typeof children === "string" ? children.toUpperCase() : "";
568
+ const resolvedColor = color ?? tagValueColorMap[value] ?? "emerald";
569
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
570
+ className: (0, clsx.default)("clarify-tag font-bold", tagVariantStyles[variant], tagColorStyles[resolvedColor][variant]),
571
+ children
572
+ });
573
+ }
574
+ //#endregion
575
+ //#region source/components/Heading.tsx
576
+ function Eyebrow(arg0) {
577
+ const { tag, label } = arg0;
578
+ if (!tag && !label) return null;
579
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
580
+ className: "flex items-center gap-x-3",
581
+ children: [
582
+ tag ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Tag, { children: tag }) : null,
583
+ tag && label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "h-0.5 w-0.5 rounded-full bg-zinc-300 dark:bg-zinc-600" }) : null,
584
+ label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
585
+ className: "text-xs text-zinc-400",
586
+ children: label
587
+ }) : null
588
+ ]
589
+ });
590
+ }
591
+ function Anchor(arg0) {
592
+ const { id, inView, children } = arg0;
593
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
594
+ href: `#${id}`,
595
+ className: "clarify-anchor group text-inherit no-underline hover:text-inherit",
596
+ children: [inView ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
597
+ className: "absolute mt-1 -ml-(--width) hidden w-(--width) opacity-0 transition [--width:var(--clarify-heading-anchor-width)] group-hover:opacity-100 group-focus:opacity-100 md:block lg:z-50 2xl:[--width:var(--clarify-heading-anchor-width-wide)]",
598
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.LinkIcon, { className: "h-5 w-5 text-(--clarify-theme-tokens-colors-primary) opacity-80 transition group-hover:opacity-100" })
599
+ }) : null, children]
600
+ });
601
+ }
602
+ function Heading(arg0) {
603
+ const { children, className, tag, label, level, anchor = true, ...props } = arg0;
604
+ const resolvedLevel = level ?? 2;
605
+ const Component = `h${resolvedLevel}`;
606
+ const ref = (0, react.useRef)(null);
607
+ const registerHeading = require_shell.useSectionStore((state) => state.registerHeading);
608
+ const inView = (0, framer_motion.useInView)(ref, {
609
+ margin: `${require_shell.remToPx(-3.5)}px 0px 0px 0px`,
610
+ amount: "all"
611
+ });
612
+ (0, react.useEffect)(() => {
613
+ if (resolvedLevel === 2) registerHeading({
614
+ id: props.id,
615
+ ref,
616
+ offsetRem: tag || label ? 8 : 6
617
+ });
618
+ }, [
619
+ label,
620
+ props.id,
621
+ registerHeading,
622
+ resolvedLevel,
623
+ tag
624
+ ]);
625
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Eyebrow, {
626
+ tag,
627
+ label
628
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Component, {
629
+ ref,
630
+ className: (0, clsx.default)("clarify-heading", tag || label ? "mt-2 scroll-mt-32" : "scroll-mt-24", className),
631
+ ...props,
632
+ children: anchor ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Anchor, {
633
+ id: props.id,
634
+ inView,
635
+ children
636
+ }) : children
637
+ })] });
638
+ }
639
+ //#endregion
640
+ //#region source/components/Logo.tsx
641
+ function Logo(props) {
642
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
643
+ viewBox: "0 0 99 24",
644
+ "aria-hidden": "true",
645
+ ...props,
646
+ className: (0, clsx.default)("clarify-logo", props.className),
647
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
648
+ className: "fill-(--clarify-theme-tokens-colors-primary)",
649
+ d: "M16 8a5 5 0 0 0-5-5H5a5 5 0 0 0-5 5v13.927a1 1 0 0 0 1.623.782l3.684-2.93a4 4 0 0 1 2.49-.87H11a5 5 0 0 0 5-5V8Z"
650
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
651
+ className: "fill-(--clarify-theme-tokens-colors-foreground) dark:fill-white",
652
+ d: "M26.538 18h2.654v-3.999h2.576c2.672 0 4.456-1.723 4.456-4.333V9.65c0-2.61-1.784-4.333-4.456-4.333h-5.23V18Zm4.58-10.582c1.52 0 2.416.8 2.416 2.241v.018c0 1.441-.896 2.25-2.417 2.25h-1.925V7.418h1.925ZM38.051 18h2.566v-5.414c0-1.371.923-2.206 2.382-2.206.396 0 .791.061 1.178.15V8.287a3.843 3.843 0 0 0-.958-.123c-1.257 0-2.136.615-2.443 1.661h-.159V8.323h-2.566V18Zm11.55.202c2.979 0 4.772-1.88 4.772-5.036v-.018c0-3.128-1.82-5.036-4.773-5.036-2.953 0-4.772 1.916-4.772 5.036v.018c0 3.146 1.793 5.036 4.772 5.036Zm0-2.013c-1.372 0-2.145-1.116-2.145-3.023v-.018c0-1.89.782-3.023 2.144-3.023 1.354 0 2.145 1.134 2.145 3.023v.018c0 1.907-.782 3.023-2.145 3.023Zm10.52 1.846c.492 0 .967-.053 1.283-.114v-1.907a6.057 6.057 0 0 1-.755.044c-.87 0-1.24-.387-1.24-1.257v-4.544h1.995V8.323H59.41V6.012h-2.592v2.311h-1.495v1.934h1.495v5.133c0 1.88.949 2.645 3.304 2.645Zm7.287.167c2.98 0 4.772-1.88 4.772-5.036v-.018c0-3.128-1.82-5.036-4.772-5.036-2.954 0-4.773 1.916-4.773 5.036v.018c0 3.146 1.793 5.036 4.773 5.036Zm0-2.013c-1.372 0-2.145-1.116-2.145-3.023v-.018c0-1.89.782-3.023 2.145-3.023 1.353 0 2.144 1.134 2.144 3.023v.018c0 1.907-.782 3.023-2.144 3.023Zm10.767 2.013c2.522 0 4.034-1.353 4.297-3.463l.01-.053h-2.374l-.017.036c-.229.966-.853 1.467-1.908 1.467-1.37 0-2.135-1.08-2.135-3.04v-.018c0-1.934.755-3.006 2.135-3.006 1.099 0 1.74.615 1.908 1.556l.008.017h2.391v-.026c-.228-2.162-1.749-3.56-4.315-3.56-3.033 0-4.738 1.837-4.738 5.019v.017c0 3.217 1.714 5.054 4.738 5.054Zm10.257 0c2.98 0 4.772-1.88 4.772-5.036v-.018c0-3.128-1.82-5.036-4.772-5.036-2.953 0-4.773 1.916-4.773 5.036v.018c0 3.146 1.793 5.036 4.773 5.036Zm0-2.013c-1.371 0-2.145-1.116-2.145-3.023v-.018c0-1.89.782-3.023 2.145-3.023 1.353 0 2.144 1.134 2.144 3.023v.018c0 1.907-.782 3.023-2.144 3.023ZM95.025 18h2.566V4.623h-2.566V18Z"
653
+ })]
654
+ });
655
+ }
656
+ //#endregion
657
+ //#region source/components/patterns.tsx
658
+ function GridPattern(arg0) {
659
+ const { width, height, x, y, squares, ...props } = arg0;
660
+ const patternId = (0, react.useId)();
661
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
662
+ "aria-hidden": "true",
663
+ ...props,
664
+ children: [
665
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("defs", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pattern", {
666
+ id: patternId,
667
+ width,
668
+ height,
669
+ patternUnits: "userSpaceOnUse",
670
+ x,
671
+ y,
672
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
673
+ d: `M.5 ${height}V.5H${width}`,
674
+ fill: "none"
675
+ })
676
+ }) }),
677
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
678
+ width: "100%",
679
+ height: "100%",
680
+ strokeWidth: 0,
681
+ fill: `url(#${patternId})`
682
+ }),
683
+ squares ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
684
+ x,
685
+ y,
686
+ className: "overflow-visible",
687
+ children: squares.map(([squareX, squareY]) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
688
+ width: width + 1,
689
+ height: height + 1,
690
+ x: squareX * width,
691
+ y: squareY * height,
692
+ strokeWidth: "0"
693
+ }, `${squareX}-${squareY}`))
694
+ }) : null
695
+ ]
696
+ });
697
+ }
698
+ function HeroPattern() {
699
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
700
+ className: "absolute inset-0 -z-10 mx-0 max-w-none overflow-hidden",
701
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
702
+ className: "clarify-hero-pattern-mask absolute top-0 left-1/2 -ml-152 h-100 w-325",
703
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
704
+ className: "clarify-hero-pattern-gradient absolute inset-0 opacity-35 dark:opacity-55",
705
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(GridPattern, {
706
+ width: 72,
707
+ height: 56,
708
+ x: -12,
709
+ y: 4,
710
+ squares: [
711
+ [4, 3],
712
+ [2, 1],
713
+ [7, 3],
714
+ [10, 6]
715
+ ],
716
+ className: "clarify-hero-pattern-grid absolute inset-x-0 w-full -skew-y-18 fill-black/40 stroke-black/50 mix-blend-overlay dark:fill-white/2.5 dark:stroke-white/5"
717
+ })
718
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
719
+ viewBox: "0 0 1113 440",
720
+ "aria-hidden": "true",
721
+ className: "absolute top-0 left-1/2 -ml-76 w-278.25 fill-white blur-xl dark:hidden",
722
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M.016 439.5s-9.5-300 434-300S882.516 20 882.516 20V0h230.004v439.5H.016Z" })
723
+ })]
724
+ })
725
+ });
726
+ }
727
+ //#endregion
728
+ //#region source/components/Prose.tsx
729
+ function Prose(arg0) {
730
+ const { as, className, ...props } = arg0;
731
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(as ?? "div", {
732
+ className: (0, clsx.default)(className, "clarify-prose prose max-w-none dark:prose-invert", "[html_:where(&>*)]:w-full [html_:where(&>*)]:min-w-0 [html_:where(&>*)]:max-w-full"),
733
+ ...props
734
+ });
735
+ }
736
+ //#endregion
15
737
  //#region source/mdx/primitives.tsx
16
738
  var primitives_exports = /* @__PURE__ */ require_chunk.__exportAll({
17
- Button: () => require_shell.Button,
18
- Callout: () => require_shell.Callout,
19
- Card: () => require_shell.Card,
20
- CardGroup: () => require_shell.CardGroup,
21
- CodeGroup: () => require_shell.CodeGroup,
739
+ Button: () => Button,
740
+ Callout: () => Callout,
741
+ Card: () => Card,
742
+ CardGroup: () => CardGroup,
743
+ CodeGroup: () => CodeGroup,
22
744
  Col: () => Col,
23
745
  Note: () => Note,
24
746
  Properties: () => Properties,
@@ -35,7 +757,7 @@ function wrapper(arg0) {
35
757
  const { children } = arg0;
36
758
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("article", {
37
759
  className: "clarify-mdx-page flex h-full flex-col pt-16 pb-10",
38
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_shell.Prose, {
760
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Prose, {
39
761
  className: "flex-auto",
40
762
  children
41
763
  })
@@ -52,53 +774,25 @@ function a(arg0) {
52
774
  ...props
53
775
  });
54
776
  }
55
- var code = require_shell.Code;
56
- var pre = require_shell.Pre;
777
+ var code = Code;
778
+ var pre = Pre;
57
779
  function h2(props) {
58
- return (0, react.createElement)(require_shell.Heading, {
780
+ return (0, react.createElement)(Heading, {
59
781
  level: 2,
60
782
  ...props
61
783
  });
62
784
  }
63
785
  function h3(props) {
64
- return (0, react.createElement)(require_shell.Heading, {
786
+ return (0, react.createElement)(Heading, {
65
787
  level: 3,
66
788
  ...props
67
789
  });
68
790
  }
69
- function InfoIcon(props) {
70
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
71
- viewBox: "0 0 16 16",
72
- "aria-hidden": "true",
73
- ...props,
74
- children: [
75
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
76
- cx: "8",
77
- cy: "8",
78
- r: "8",
79
- strokeWidth: "0"
80
- }),
81
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
82
- fill: "none",
83
- strokeLinecap: "round",
84
- strokeLinejoin: "round",
85
- strokeWidth: "1.5",
86
- d: "M6.75 7.75h1.5v3.5"
87
- }),
88
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
89
- cx: "8",
90
- cy: "4",
91
- r: ".5",
92
- fill: "none"
93
- })
94
- ]
95
- });
96
- }
97
791
  function Note(arg0) {
98
792
  const { children } = arg0;
99
793
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
100
- className: "clarify-note my-6 flex gap-2.5 rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-ui-accent-border) bg-(--clarify-ui-accent-background) p-4 text-sm/6 text-(--clarify-theme-tokens-colors-foreground) dark:text-zinc-100 dark:[--tw-prose-links-hover:var(--clarify-ui-accent-text)] dark:[--tw-prose-links:var(--color-white)]",
101
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(InfoIcon, { className: "mt-1 h-4 w-4 flex-none fill-(--clarify-ui-accent-text) stroke-(--clarify-theme-tokens-colors-surface) dark:fill-(--clarify-ui-accent-background) dark:stroke-(--clarify-ui-accent-text)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
794
+ className: "clarify-note my-6 flex gap-2.5 rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-ui-accent-border) bg-(--clarify-ui-accent-background) p-4 text-sm/6 text-(--clarify-theme-tokens-colors-foreground) [--tw-prose-links-hover:var(--clarify-ui-accent-text)] [--tw-prose-links:var(--clarify-theme-tokens-colors-foreground)]",
795
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Info, { className: "mt-1 h-4 w-4 flex-none stroke-(--clarify-ui-accent-text)" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
102
796
  className: "*:first:mt-0 *:last:mb-0",
103
797
  children
104
798
  })]
@@ -124,7 +818,7 @@ function Properties(arg0) {
124
818
  className: "clarify-properties my-6",
125
819
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
126
820
  role: "list",
127
- className: "m-0 list-none divide-y divide-zinc-900/5 p-0 dark:divide-white/5",
821
+ className: "m-0 list-none divide-y divide-(--clarify-theme-tokens-colors-border) p-0",
128
822
  children
129
823
  })
130
824
  });
@@ -141,14 +835,14 @@ function Property(arg0) {
141
835
  children: "Name"
142
836
  }),
143
837
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("dd", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
144
- className: "text-sm/5 font-semibold text-zinc-950 dark:text-white",
838
+ className: "text-sm/5 font-semibold text-(--clarify-theme-tokens-colors-foreground)",
145
839
  children: name
146
840
  }) }),
147
841
  type ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("dt", {
148
842
  className: "sr-only",
149
843
  children: "Type"
150
844
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("dd", {
151
- className: "text-xs text-(--clarify-theme-tokens-colors-muted) dark:text-zinc-500",
845
+ className: "text-xs text-(--clarify-theme-tokens-colors-muted)",
152
846
  children: type
153
847
  })] }) : null,
154
848
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("dt", {
@@ -800,7 +1494,7 @@ function SelectControl(arg0) {
800
1494
  })]
801
1495
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.ListboxOptions, {
802
1496
  anchor: "bottom end",
803
- className: "clarify-api-select-options z-30 mt-1 max-h-64 w-max min-w-(--button-width) max-w-[min(32rem,calc(100vw-2rem))] overflow-auto rounded-xl bg-zinc-900 p-1 text-xs shadow-lg shadow-black/20 ring-1 ring-white/10 [--anchor-gap:--spacing(1)] focus:outline-none",
1497
+ className: "clarify-api-select-options z-30 mt-1 max-h-64 w-max min-w-(--button-width) max-w-(--clarify-popover-max-width) overflow-auto rounded-xl bg-zinc-900 p-1 text-xs shadow-lg shadow-black/20 ring-1 ring-white/10 [--anchor-gap:--spacing(1)] focus:outline-none",
804
1498
  children: normalizedOptions.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_headlessui_react.ListboxOption, {
805
1499
  value: option.value,
806
1500
  className: "clarify-api-select-option group flex cursor-default items-center justify-between gap-3 rounded-lg px-2.5 py-2 text-xs whitespace-nowrap text-zinc-300 select-none data-focus:bg-white/10 data-focus:text-white data-selected:text-emerald-300",
@@ -951,7 +1645,7 @@ function ApiExampleCodeGroup(arg0) {
951
1645
  className: "not-prose",
952
1646
  children: [
953
1647
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
954
- className: "clarify-api-example-header flex min-h-[calc(--spacing(12)+1px)] items-center gap-3 border-b border-zinc-700 bg-zinc-800 px-4 py-2 dark:border-zinc-800 dark:bg-transparent",
1648
+ className: "clarify-api-example-header flex min-h-(--clarify-code-header-min-height) items-center gap-3 border-b border-zinc-700 bg-zinc-800 px-4 py-2 dark:border-zinc-800 dark:bg-transparent",
955
1649
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
956
1650
  className: "mr-auto min-w-16 truncate py-1 text-xs font-semibold text-white",
957
1651
  children: title
@@ -1006,7 +1700,7 @@ function ApiExampleCodeGroup(arg0) {
1006
1700
  selectedClientKey,
1007
1701
  onSelectClient
1008
1702
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
1009
- className: `overflow-x-auto p-4 text-xs text-white ${languageOptions && languageOptions.length > 1 ? "pt-14" : ""}`,
1703
+ className: `max-h-128 overflow-auto overscroll-contain p-4 text-xs text-white ${languageOptions && languageOptions.length > 1 ? "pt-14" : ""}`,
1010
1704
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
1011
1705
  className: `language-${language}`,
1012
1706
  children: code
@@ -1274,27 +1968,27 @@ function SchemaNode(arg0) {
1274
1968
  const hasChildren = node.children.length > 0;
1275
1969
  const type = [node.type, node.required ? t("openapi.requiredBadge") : void 0].filter(Boolean).join(", ") || void 0;
1276
1970
  const fallbackDescription = node.required ? t("openapi.required") : t("openapi.optional");
1277
- const rowClassName = (0, clsx.default)("flex min-w-0 items-start rounded py-0.5 text-left", depth > 0 ? "-mx-2 w-[calc(100%+1rem)] px-2" : "w-full px-1");
1971
+ const rowClassName = (0, clsx.default)("flex min-w-0 items-start rounded py-0.5 text-left", depth > 0 ? "-mx-2 w-(--clarify-schema-row-nested-width) px-2" : "w-full px-1");
1278
1972
  const content = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1279
1973
  className: "min-w-0 flex-1",
1280
1974
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1281
1975
  className: "flex min-w-0 flex-wrap items-center gap-x-2 gap-y-0.5",
1282
1976
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1283
- className: "text-sm/5 font-semibold text-zinc-950 dark:text-white",
1977
+ className: "text-sm/5 font-semibold text-(--clarify-theme-tokens-colors-foreground)",
1284
1978
  children: node.name
1285
1979
  }), type ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1286
- className: "text-xs text-(--clarify-theme-tokens-colors-muted) dark:text-zinc-500",
1980
+ className: "text-xs text-(--clarify-theme-tokens-colors-muted)",
1287
1981
  children: type
1288
1982
  }) : null]
1289
1983
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1290
- className: "mt-0.5 text-sm/5 text-zinc-600 *:first:mt-0 *:last:mb-0 dark:text-zinc-400",
1984
+ className: "mt-0.5 text-sm/5 text-(--clarify-ui-text-soft) *:first:mt-0 *:last:mb-0",
1291
1985
  children: [node.description ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Markdown, { children: node.description }) : fallbackDescription, node.details ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
1292
- className: "text-xs text-zinc-500 dark:text-zinc-500",
1986
+ className: "text-xs text-(--clarify-ui-text-faint)",
1293
1987
  children: node.details
1294
1988
  }) : null]
1295
1989
  })]
1296
1990
  }), hasChildren ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1297
- className: "ml-2 flex h-5 w-5 flex-none items-center justify-center text-zinc-500 dark:text-zinc-400",
1991
+ className: "ml-2 flex h-5 w-5 flex-none items-center justify-center text-(--clarify-ui-text-faint)",
1298
1992
  "aria-hidden": "true",
1299
1993
  children: expanded ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDown, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRight, { className: "h-4 w-4" })
1300
1994
  }) : null] });
@@ -1321,7 +2015,7 @@ function SchemaTree(arg0) {
1321
2015
  if (nodes.length === 0) return null;
1322
2016
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
1323
2017
  role: "list",
1324
- className: (0, clsx.default)("m-0 list-none divide-y divide-zinc-900/5 p-0 dark:divide-white/5", depth > 0 && "mt-2 rounded-lg bg-zinc-950/2.5 px-2 py-1 dark:bg-white/4"),
2018
+ className: (0, clsx.default)("m-0 list-none divide-y divide-(--clarify-theme-tokens-colors-border) p-0", depth > 0 && "mt-2 rounded-lg bg-(--clarify-ui-subtle-background) px-2 py-1"),
1325
2019
  children: nodes.map((node) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SchemaNode, {
1326
2020
  node,
1327
2021
  depth
@@ -1407,27 +2101,27 @@ function InlineListbox(arg0) {
1407
2101
  className: "pointer-events-auto relative inline-flex min-w-0",
1408
2102
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_headlessui_react.ListboxButton, {
1409
2103
  "aria-label": label,
1410
- className: (0, clsx.default)("inline-flex min-w-0 items-center gap-1 rounded-md border border-zinc-200 bg-white font-semibold text-zinc-900 shadow-xs outline-hidden transition hover:border-zinc-300 hover:bg-zinc-50 data-open:border-zinc-300 data-open:bg-zinc-50 dark:border-white/10 dark:bg-zinc-950 dark:text-zinc-100 dark:hover:border-white/15 dark:hover:bg-zinc-900 dark:data-open:border-white/15 dark:data-open:bg-zinc-900", compact ? "max-w-32 px-1.5 py-0.5 text-xs" : "w-full px-2.5 py-1.5 text-xs"),
2104
+ className: (0, clsx.default)("inline-flex min-w-0 items-center gap-1 rounded-md border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) font-semibold text-(--clarify-theme-tokens-colors-foreground) shadow-xs outline-hidden transition hover:border-(--clarify-ui-text-faint) hover:bg-(--clarify-ui-hover-background) data-open:border-(--clarify-ui-text-faint) data-open:bg-(--clarify-ui-hover-background)", compact ? "max-w-32 px-1.5 py-0.5 text-xs" : "w-full px-2.5 py-1.5 text-xs"),
1411
2105
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1412
2106
  className: "truncate",
1413
2107
  children: selected?.label ?? value
1414
2108
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDownIcon, {
1415
- className: "h-3.5 w-3.5 shrink-0 text-zinc-500 dark:text-zinc-400",
2109
+ className: "h-3.5 w-3.5 shrink-0 text-(--clarify-ui-text-faint)",
1416
2110
  "aria-hidden": "true"
1417
2111
  })]
1418
2112
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_headlessui_react.ListboxOptions, {
1419
2113
  anchor: "bottom start",
1420
- className: "z-30 mt-1 max-h-64 w-max min-w-(--button-width) max-w-[min(32rem,calc(100vw-2rem))] overflow-auto rounded-xl bg-white p-1 text-xs shadow-lg shadow-black/10 ring-1 ring-zinc-950/10 [--anchor-gap:--spacing(1)] focus:outline-none dark:bg-zinc-950 dark:ring-white/10",
2114
+ className: "z-30 mt-1 max-h-64 w-max min-w-(--button-width) max-w-(--clarify-popover-max-width) overflow-auto rounded-xl bg-(--clarify-theme-tokens-colors-surface) p-1 text-xs shadow-lg shadow-black/10 ring-1 ring-(--clarify-theme-tokens-colors-border) [--anchor-gap:--spacing(1)] focus:outline-none",
1421
2115
  children: options.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_headlessui_react.ListboxOption, {
1422
2116
  value: option.value,
1423
- className: "group flex cursor-default items-center justify-between gap-3 rounded-lg px-2.5 py-2 text-xs text-zinc-700 select-none data-focus:bg-zinc-100 data-selected:text-emerald-700 dark:text-zinc-200 dark:data-focus:bg-white/10 dark:data-selected:text-emerald-300",
2117
+ className: "group flex cursor-default items-center justify-between gap-3 rounded-lg px-2.5 py-2 text-xs text-(--clarify-ui-text) select-none data-focus:bg-(--clarify-ui-hover-background) data-selected:text-(--clarify-theme-tokens-colors-primary)",
1424
2118
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
1425
2119
  className: "min-w-0",
1426
2120
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1427
2121
  className: "block truncate",
1428
2122
  children: option.label
1429
2123
  }), option.description ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1430
- className: "mt-0.5 block truncate text-2xs text-zinc-500 dark:text-zinc-400",
2124
+ className: "mt-0.5 block truncate text-2xs text-(--clarify-ui-text-faint)",
1431
2125
  children: option.description
1432
2126
  }) : null]
1433
2127
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CheckIcon, {
@@ -1450,7 +2144,7 @@ function ServerUrlValue(arg0) {
1450
2144
  "aria-expanded": open,
1451
2145
  "aria-label": "Server",
1452
2146
  onClick: onToggle,
1453
- className: (0, clsx.default)("flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-zinc-100/50 text-zinc-600 transition hover:bg-zinc-100 hover:text-zinc-950 dark:bg-white/5 dark:text-zinc-300 dark:hover:bg-white/10 dark:hover:text-white sm:w-auto sm:min-w-16 sm:max-w-[min(36%,16rem)] sm:px-1.5", open ? "bg-zinc-200 text-zinc-950 dark:bg-white/12 dark:text-white" : null),
2147
+ className: (0, clsx.default)("flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-(--clarify-ui-subtle-background) text-(--clarify-ui-text-soft) transition hover:bg-(--clarify-ui-hover-background) hover:text-(--clarify-theme-tokens-colors-foreground) sm:w-auto sm:min-w-16 sm:max-w-(--clarify-server-url-max-width) sm:px-1.5", open ? "bg-(--clarify-ui-active-background) text-(--clarify-theme-tokens-colors-foreground)" : null),
1454
2148
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1455
2149
  className: "sm:hidden",
1456
2150
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ServerIcon, {
@@ -1486,20 +2180,20 @@ function ServerVariableControl(arg0) {
1486
2180
  value,
1487
2181
  placeholder: variable?.default ?? name,
1488
2182
  onChange: (event) => onChange(event.target.value),
1489
- className: (0, clsx.default)("pointer-events-auto rounded-md border border-zinc-200 bg-white text-xs font-semibold text-zinc-900 shadow-xs outline-hidden transition placeholder:text-zinc-500 hover:border-zinc-300 hover:bg-zinc-50 focus:border-zinc-400 focus:bg-white dark:border-white/10 dark:bg-zinc-950 dark:text-zinc-100 dark:placeholder:text-zinc-500 dark:hover:border-white/15 dark:hover:bg-zinc-900 dark:focus:border-white/20 dark:focus:bg-zinc-950", compact ? "mx-0.5 w-24 px-1.5 py-0.5" : "w-full px-2.5 py-1.5")
2183
+ className: (0, clsx.default)("pointer-events-auto rounded-md border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) text-xs font-semibold text-(--clarify-theme-tokens-colors-foreground) shadow-xs outline-hidden transition placeholder:text-(--clarify-ui-text-faint) hover:border-(--clarify-ui-text-faint) hover:bg-(--clarify-ui-hover-background) focus:border-(--clarify-theme-tokens-colors-primary) focus:bg-(--clarify-theme-tokens-colors-surface)", compact ? "mx-0.5 w-24 px-1.5 py-0.5" : "w-full px-2.5 py-1.5")
1490
2184
  });
1491
2185
  }
1492
2186
  function ServerPanel(arg0) {
1493
2187
  const { servers, selectedKey, selectedServer, variables, onSelectServer, onChangeVariable } = arg0;
1494
2188
  const variableEntries = Object.entries(selectedServer.variables ?? {});
1495
2189
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1496
- className: "border-t border-zinc-200 bg-zinc-100/70 p-3 dark:border-white/10 dark:bg-zinc-900/60",
2190
+ className: "border-t border-(--clarify-theme-tokens-colors-border) bg-(--clarify-ui-subtle-background) p-3",
1497
2191
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1498
- className: "grid gap-3 sm:grid-cols-[minmax(0,1fr)_minmax(0,1.2fr)]",
2192
+ className: "grid gap-3 sm:grid-cols-(--clarify-openapi-control-grid)",
1499
2193
  children: [servers.length > 1 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
1500
2194
  className: "flex min-w-0 flex-col gap-1.5",
1501
2195
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1502
- className: "text-2xs font-semibold text-zinc-700 dark:text-zinc-300",
2196
+ className: "text-2xs font-semibold text-(--clarify-ui-text-soft)",
1503
2197
  children: "Server"
1504
2198
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(InlineListbox, {
1505
2199
  label: "Server",
@@ -1514,7 +2208,7 @@ function ServerPanel(arg0) {
1514
2208
  }) : null, variableEntries.map(([name, variable]) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
1515
2209
  className: "flex min-w-0 flex-col gap-1.5",
1516
2210
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1517
- className: "text-2xs font-semibold text-zinc-700 dark:text-zinc-300",
2211
+ className: "text-2xs font-semibold text-(--clarify-ui-text-soft)",
1518
2212
  children: name
1519
2213
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ServerVariableControl, {
1520
2214
  name,
@@ -1530,13 +2224,13 @@ function AuthPanel(arg0) {
1530
2224
  const { authOptions, selectedAuthName, selectedAuth, authValues, onSelectAuth, onChangeAuthValue } = arg0;
1531
2225
  if (authOptions.length === 0) return null;
1532
2226
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1533
- className: "border-t border-zinc-200 bg-zinc-100/70 p-3 dark:border-white/10 dark:bg-zinc-900/60",
2227
+ className: "border-t border-(--clarify-theme-tokens-colors-border) bg-(--clarify-ui-subtle-background) p-3",
1534
2228
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1535
- className: "grid gap-3 sm:grid-cols-[minmax(0,1fr)_minmax(0,1.2fr)]",
2229
+ className: "grid gap-3 sm:grid-cols-(--clarify-openapi-control-grid)",
1536
2230
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
1537
2231
  className: "flex min-w-0 flex-col gap-1.5",
1538
2232
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1539
- className: "text-2xs font-semibold text-zinc-700 dark:text-zinc-300",
2233
+ className: "text-2xs font-semibold text-(--clarify-ui-text-soft)",
1540
2234
  children: "Auth"
1541
2235
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(InlineListbox, {
1542
2236
  label: "Auth",
@@ -1551,17 +2245,17 @@ function AuthPanel(arg0) {
1551
2245
  }), selectedAuth ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
1552
2246
  className: "flex min-w-0 flex-col gap-1.5",
1553
2247
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1554
- className: "text-2xs font-semibold text-zinc-700 dark:text-zinc-300",
2248
+ className: "text-2xs font-semibold text-(--clarify-ui-text-soft)",
1555
2249
  children: "Credential"
1556
2250
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1557
- className: "flex min-w-0 items-center rounded-md border border-zinc-200 bg-white px-2.5 py-1.5 shadow-xs dark:border-white/10 dark:bg-zinc-950",
2251
+ className: "flex min-w-0 items-center rounded-md border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) px-2.5 py-1.5 shadow-xs",
1558
2252
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1559
- className: "mr-2 shrink-0 text-2xs font-semibold text-zinc-600 dark:text-zinc-400",
2253
+ className: "mr-2 shrink-0 text-2xs font-semibold text-(--clarify-ui-text-soft)",
1560
2254
  children: selectedAuth.scheme.type === "apiKey" ? selectedAuth.scheme.in ?? "apiKey" : selectedAuth.scheme.scheme ?? selectedAuth.scheme.type ?? "token"
1561
2255
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
1562
2256
  value: authValues[selectedAuth.name] ?? authPlaceholder(selectedAuth),
1563
2257
  onChange: (event) => onChangeAuthValue(selectedAuth.name, event.target.value),
1564
- className: "min-w-0 flex-1 border-0 bg-transparent px-0 py-0 text-xs font-semibold text-zinc-900 outline-hidden placeholder:text-zinc-500 dark:text-zinc-100 dark:placeholder:text-zinc-500"
2258
+ className: "min-w-0 flex-1 border-0 bg-transparent px-0 py-0 text-xs font-semibold text-(--clarify-theme-tokens-colors-foreground) outline-hidden placeholder:text-(--clarify-ui-text-faint)"
1565
2259
  })]
1566
2260
  })]
1567
2261
  }) : null]
@@ -1572,7 +2266,7 @@ function EndpointIdentity(arg0) {
1572
2266
  const { method, path, servers, selectedServerKey, selectedServer, serverVariables, serverOpen, authOptions, selectedAuthName, selectedAuth, authValues, authOpen, onSelectServer, onChangeServerVariable, onToggleServer, onToggleAuth, onSelectAuth, onChangeAuthValue } = arg0;
1573
2267
  const segments = path.split("/").filter(Boolean);
1574
2268
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1575
- className: "not-prose flex w-full flex-col overflow-hidden rounded-xl border border-zinc-200 bg-white shadow-xs dark:border-white/10 dark:bg-zinc-950",
2269
+ className: "not-prose flex w-full flex-col overflow-hidden rounded-xl border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) shadow-xs",
1576
2270
  children: [
1577
2271
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1578
2272
  className: "flex min-w-0 items-center gap-1.5 overflow-hidden px-2.5 py-2",
@@ -1587,19 +2281,19 @@ function EndpointIdentity(arg0) {
1587
2281
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1588
2282
  className: "flex min-w-0 flex-1 items-center overflow-x-auto text-sm font-bold leading-6 whitespace-nowrap",
1589
2283
  children: segments.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1590
- className: "text-zinc-400",
2284
+ className: "text-(--clarify-ui-text-faint)",
1591
2285
  children: "/"
1592
2286
  }), segments.map((segment, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
1593
2287
  className: "flex items-center",
1594
2288
  children: [index > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1595
- className: "text-zinc-400",
2289
+ className: "text-(--clarify-ui-text-faint)",
1596
2290
  children: "/"
1597
2291
  }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1598
- className: "font-bold text-zinc-800 dark:text-white",
2292
+ className: "font-bold text-(--clarify-theme-tokens-colors-foreground)",
1599
2293
  children: segment
1600
2294
  })]
1601
2295
  }, `${segment}-${index}`))] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1602
- className: "font-bold text-zinc-800 dark:text-white",
2296
+ className: "font-bold text-(--clarify-theme-tokens-colors-foreground)",
1603
2297
  children: "/"
1604
2298
  })
1605
2299
  }),
@@ -1608,7 +2302,7 @@ function EndpointIdentity(arg0) {
1608
2302
  "aria-expanded": authOpen,
1609
2303
  "aria-label": "Auth",
1610
2304
  onClick: onToggleAuth,
1611
- className: (0, clsx.default)("ml-auto flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-zinc-600 transition hover:bg-zinc-100 hover:text-emerald-700 dark:text-zinc-300 dark:hover:bg-white/10 dark:hover:text-emerald-200", authOpen ? "bg-emerald-100 text-emerald-800 dark:bg-emerald-400/15 dark:text-emerald-100" : "bg-zinc-50 dark:bg-white/5"),
2305
+ className: (0, clsx.default)("ml-auto flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-(--clarify-ui-text-soft) transition hover:bg-(--clarify-ui-hover-background) hover:text-emerald-700 dark:hover:text-emerald-200", authOpen ? "bg-emerald-100 text-emerald-800 dark:bg-emerald-400/15 dark:text-emerald-100" : "bg-(--clarify-ui-subtle-background)"),
1612
2306
  children: authOpen ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.UnlockKeyholeIcon, {
1613
2307
  className: "h-4 w-4",
1614
2308
  "aria-hidden": "true"
@@ -1710,7 +2404,7 @@ function OpenApiOperation(arg0) {
1710
2404
  [name]: value
1711
2405
  }))
1712
2406
  }),
1713
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_shell.Heading, {
2407
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Heading, {
1714
2408
  id,
1715
2409
  className: "mt-6",
1716
2410
  children: summary
@@ -1765,12 +2459,84 @@ function OpenApiOperation(arg0) {
1765
2459
  });
1766
2460
  }
1767
2461
  //#endregion
2462
+ Object.defineProperty(exports, "Button", {
2463
+ enumerable: true,
2464
+ get: function() {
2465
+ return Button;
2466
+ }
2467
+ });
2468
+ Object.defineProperty(exports, "Callout", {
2469
+ enumerable: true,
2470
+ get: function() {
2471
+ return Callout;
2472
+ }
2473
+ });
2474
+ Object.defineProperty(exports, "Card", {
2475
+ enumerable: true,
2476
+ get: function() {
2477
+ return Card;
2478
+ }
2479
+ });
2480
+ Object.defineProperty(exports, "CardGroup", {
2481
+ enumerable: true,
2482
+ get: function() {
2483
+ return CardGroup;
2484
+ }
2485
+ });
2486
+ Object.defineProperty(exports, "Code", {
2487
+ enumerable: true,
2488
+ get: function() {
2489
+ return Code;
2490
+ }
2491
+ });
2492
+ Object.defineProperty(exports, "CodeGroup", {
2493
+ enumerable: true,
2494
+ get: function() {
2495
+ return CodeGroup;
2496
+ }
2497
+ });
2498
+ Object.defineProperty(exports, "Collapse", {
2499
+ enumerable: true,
2500
+ get: function() {
2501
+ return Collapse;
2502
+ }
2503
+ });
1768
2504
  Object.defineProperty(exports, "EndpointIdentity", {
1769
2505
  enumerable: true,
1770
2506
  get: function() {
1771
2507
  return EndpointIdentity;
1772
2508
  }
1773
2509
  });
2510
+ Object.defineProperty(exports, "Feedback", {
2511
+ enumerable: true,
2512
+ get: function() {
2513
+ return Feedback;
2514
+ }
2515
+ });
2516
+ Object.defineProperty(exports, "GridPattern", {
2517
+ enumerable: true,
2518
+ get: function() {
2519
+ return GridPattern;
2520
+ }
2521
+ });
2522
+ Object.defineProperty(exports, "Heading", {
2523
+ enumerable: true,
2524
+ get: function() {
2525
+ return Heading;
2526
+ }
2527
+ });
2528
+ Object.defineProperty(exports, "HeroPattern", {
2529
+ enumerable: true,
2530
+ get: function() {
2531
+ return HeroPattern;
2532
+ }
2533
+ });
2534
+ Object.defineProperty(exports, "Logo", {
2535
+ enumerable: true,
2536
+ get: function() {
2537
+ return Logo;
2538
+ }
2539
+ });
1774
2540
  Object.defineProperty(exports, "Markdown", {
1775
2541
  enumerable: true,
1776
2542
  get: function() {
@@ -1783,6 +2549,18 @@ Object.defineProperty(exports, "OpenApiOperation", {
1783
2549
  return OpenApiOperation;
1784
2550
  }
1785
2551
  });
2552
+ Object.defineProperty(exports, "Pre", {
2553
+ enumerable: true,
2554
+ get: function() {
2555
+ return Pre;
2556
+ }
2557
+ });
2558
+ Object.defineProperty(exports, "Prose", {
2559
+ enumerable: true,
2560
+ get: function() {
2561
+ return Prose;
2562
+ }
2563
+ });
1786
2564
  Object.defineProperty(exports, "RequestExamplesPanel", {
1787
2565
  enumerable: true,
1788
2566
  get: function() {
@@ -1795,6 +2573,12 @@ Object.defineProperty(exports, "ResponseExamplesPanel", {
1795
2573
  return ResponseExamplesPanel;
1796
2574
  }
1797
2575
  });
2576
+ Object.defineProperty(exports, "Tag", {
2577
+ enumerable: true,
2578
+ get: function() {
2579
+ return Tag;
2580
+ }
2581
+ });
1798
2582
  Object.defineProperty(exports, "authPlaceholder", {
1799
2583
  enumerable: true,
1800
2584
  get: function() {
@@ -1844,4 +2628,4 @@ Object.defineProperty(exports, "primitives_exports", {
1844
2628
  }
1845
2629
  });
1846
2630
 
1847
- //# sourceMappingURL=OpenApiOperation-BI41nyGy.cjs.map
2631
+ //# sourceMappingURL=OpenApiOperation-CxQQyEHK.cjs.map