@clarify-labs/renderer 0.7.0 → 0.7.2

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-ZXToVSFC.cjs → OpenApiOperation-BcyW_ULy.cjs} +186 -140
  2. package/output/OpenApiOperation-BcyW_ULy.cjs.map +1 -0
  3. package/output/{OpenApiOperation-CWSOhUVa.js → OpenApiOperation-tUKf7lZ4.js} +166 -120
  4. package/output/OpenApiOperation-tUKf7lZ4.js.map +1 -0
  5. package/output/{shell-xxhV0p7k.cjs → PageActions-1RDCHcUY.cjs} +280 -308
  6. package/output/PageActions-1RDCHcUY.cjs.map +1 -0
  7. package/output/{shell-CumiARRe.js → PageActions-yoDRjkq8.js} +235 -263
  8. package/output/PageActions-yoDRjkq8.js.map +1 -0
  9. package/output/{ThemeRoot-C_ZdzSMu.js → ThemeRoot-QULrwQf6.js} +407 -53
  10. package/output/ThemeRoot-QULrwQf6.js.map +1 -0
  11. package/output/{ThemeRoot-CEvwrGp5.cjs → ThemeRoot-UWj0iK1X.cjs} +458 -80
  12. package/output/ThemeRoot-UWj0iK1X.cjs.map +1 -0
  13. package/output/app/AppShell.d.ts +3 -2
  14. package/output/app/PageActions.d.ts +12 -0
  15. package/output/app/PageBanner.d.ts +7 -0
  16. package/output/app/SectionProvider.d.ts +1 -0
  17. package/output/client.cjs +14 -7
  18. package/output/client.d.ts +4 -2
  19. package/output/client.js +4 -4
  20. package/output/context.d.ts +1 -1
  21. package/output/core/context.d.ts +5 -5
  22. package/output/core/index.d.ts +1 -1
  23. package/output/core/types.d.ts +70 -61
  24. package/output/index.cjs +56 -28
  25. package/output/index.cjs.map +1 -1
  26. package/output/index.d.ts +7 -5
  27. package/output/index.js +37 -12
  28. package/output/index.js.map +1 -1
  29. package/output/mdx/components.d.ts +2 -0
  30. package/output/mdx/primitives.d.ts +2 -0
  31. package/output/openapi/components/EndpointSections.d.ts +30 -0
  32. package/output/preview.cjs +7 -7
  33. package/output/preview.cjs.map +1 -1
  34. package/output/preview.js +4 -4
  35. package/output/preview.js.map +1 -1
  36. package/output/{render-zHU25Nm9.cjs → render-ByWbJbrA.cjs} +8 -7
  37. package/output/render-ByWbJbrA.cjs.map +1 -0
  38. package/output/{render-CnUd0XwZ.js → render-psutGbsg.js} +6 -5
  39. package/output/render-psutGbsg.js.map +1 -0
  40. package/output/renderer.css +371 -269
  41. package/output/server.cjs +8 -7
  42. package/output/server.cjs.map +1 -1
  43. package/output/server.js +5 -4
  44. package/output/server.js.map +1 -1
  45. package/output/shell/ContentActions.d.ts +0 -1
  46. package/output/shell/Header.d.ts +3 -2
  47. package/output/shell/SiteLogo.d.ts +2 -2
  48. package/output/shell/mobile.d.ts +2 -2
  49. package/output/theme/ThemeEditor.d.ts +53 -17
  50. package/output/theme/ThemeProvider.d.ts +2 -1
  51. package/output/theme/ThemeRoot.d.ts +2 -2
  52. package/output/theme/cookies.d.ts +11 -0
  53. package/output/theme/randomTheme.d.ts +2 -2
  54. package/output/theme/variables.d.ts +58 -20
  55. package/output/utils/href.d.ts +3 -3
  56. package/package.json +1 -1
  57. package/output/OpenApiOperation-CWSOhUVa.js.map +0 -1
  58. package/output/OpenApiOperation-ZXToVSFC.cjs.map +0 -1
  59. package/output/ThemeRoot-CEvwrGp5.cjs.map +0 -1
  60. package/output/ThemeRoot-C_ZdzSMu.js.map +0 -1
  61. package/output/render-CnUd0XwZ.js.map +0 -1
  62. package/output/render-zHU25Nm9.cjs.map +0 -1
  63. package/output/shell-CumiARRe.js.map +0 -1
  64. package/output/shell-xxhV0p7k.cjs.map +0 -1
@@ -1,10 +1,10 @@
1
- import { C as isExternalHref, D as useBuiltInText, E as copyTextToClipboard, M as useClarifyLocale, a as useSectionStore, c as resolveLucideIconName, j as useClarifyConfig, o as remToPx, s as lucideIconRegistry, w as localizeHref } from "./shell-CumiARRe.js";
1
+ import { C as isExternalHref, D as useBuiltInText, E as copyTextToClipboard, M as useLocale, c as remToPx, j as useConfig, l as lucideIconRegistry, n as PageTitleActions, s as useSectionStore, u as resolveLucideIconName, w as localizeHref } from "./PageActions-yoDRjkq8.js";
2
2
  import { t as markdownRemarkPlugins } from "./remark-Dd2WU50s.js";
3
3
  import clsx from "clsx";
4
4
  import { Children, createContext, createElement, forwardRef, isValidElement, useContext, useEffect, useId, useLayoutEffect, useRef, useState } from "react";
5
5
  import { Link } from "react-router-dom";
6
6
  import { Listbox, ListboxButton, ListboxOption, ListboxOptions, Tab, TabGroup, TabList, TabPanel, TabPanels, Transition } from "@headlessui/react";
7
- import { AlertTriangle, ArrowRight, CheckCircle2, CheckIcon, ChevronDown, ChevronDownIcon, ChevronRight, ChevronsUpDownIcon, CircleCheck, Clipboard, ClipboardIcon, CodeIcon, Info, Lightbulb, LinkIcon, LockKeyholeIcon, PackageIcon, ServerIcon, UnlockKeyholeIcon, XCircle } from "lucide-react";
7
+ import { AlertTriangle, ArrowRight, Check, CheckCircle2, CheckIcon, ChevronDown, ChevronDownIcon, ChevronRight, ChevronsUpDownIcon, CircleCheck, Clipboard, ClipboardIcon, CodeIcon, Info, Lightbulb, LinkIcon, LockKeyholeIcon, PackageIcon, ServerIcon, UnlockKeyholeIcon, XCircle } from "lucide-react";
8
8
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
9
  import { useInView } from "framer-motion";
10
10
  import { create } from "zustand";
@@ -25,7 +25,7 @@ var __exportAll = (all, no_symbols) => {
25
25
  //#endregion
26
26
  //#region source/components/LocalizedLink.tsx
27
27
  function useLocalizedHref(href) {
28
- return localizeHref(href, useClarifyConfig(), useClarifyLocale());
28
+ return localizeHref(href, useConfig(), useLocale());
29
29
  }
30
30
  function LocalizedLink(arg0) {
31
31
  const { href, ...props } = arg0;
@@ -247,38 +247,30 @@ function CopyButton(arg0) {
247
247
  return () => window.clearTimeout(timeout);
248
248
  }, [copyCount]);
249
249
  if (!code) return null;
250
- return /* @__PURE__ */ jsxs("button", {
250
+ return /* @__PURE__ */ jsx("button", {
251
251
  type: "button",
252
- className: clsx("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"),
252
+ className: clsx("clarify-code-copy group/button absolute top-3.5 right-4 inline-flex items-center gap-1 overflow-hidden rounded-full border border-(--clarify-code-border) py-1 pr-3 pl-2 text-2xs font-medium whitespace-nowrap opacity-100 shadow-sm backdrop-blur-sm transition sm:opacity-0 sm:group-hover:opacity-100 focus:opacity-100", copied ? "clarify-code-copy-copied text-(--clarify-code-text)" : "bg-(--clarify-code-control-background) text-(--clarify-code-text) hover:bg-(--clarify-code-control-background-hover)"),
253
253
  onClick: () => {
254
254
  copyTextToClipboard(code).then((ok) => {
255
255
  if (ok) setCopyCount((count) => count + 1);
256
256
  });
257
257
  },
258
- children: [/* @__PURE__ */ jsxs("span", {
259
- "aria-hidden": copied,
260
- className: clsx("pointer-events-none flex items-center gap-0.5 text-zinc-400 transition duration-300", copied && "-translate-y-1.5 opacity-0"),
261
- children: [/* @__PURE__ */ jsx(Clipboard, { className: "h-5 w-5 stroke-zinc-500 transition-colors group-hover/button:stroke-zinc-400" }), t("actions.copy")]
262
- }), /* @__PURE__ */ jsx("span", {
263
- "aria-hidden": !copied,
264
- className: clsx("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"),
265
- children: t("actions.copied")
266
- })]
258
+ children: copied ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Check, { className: "h-3.5 w-3.5 stroke-(--clarify-theme-tokens-colors-primary)" }), t("actions.copied")] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Clipboard, { className: "h-3.5 w-3.5 stroke-(--clarify-code-muted) transition-colors group-hover/button:stroke-(--clarify-code-text)" }), t("actions.copy")] })
267
259
  });
268
260
  }
269
261
  function CodePanelHeader(arg0) {
270
262
  const { tag, label } = arg0;
271
263
  if (!tag && !label) return null;
272
264
  return /* @__PURE__ */ jsxs("div", {
273
- 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",
265
+ className: "clarify-code-panel-header flex h-9 items-center gap-2 border-y border-(--clarify-code-border) border-t-transparent bg-(--clarify-code-background) px-4",
274
266
  children: [
275
267
  tag ? /* @__PURE__ */ jsx("span", {
276
268
  className: "clarify-code-panel-tag font-semibold text-(--clarify-theme-tokens-colors-primary)",
277
269
  children: tag
278
270
  }) : null,
279
- tag && label ? /* @__PURE__ */ jsx("span", { className: "h-0.5 w-0.5 rounded-full bg-zinc-500" }) : null,
271
+ tag && label ? /* @__PURE__ */ jsx("span", { className: "h-0.5 w-0.5 rounded-full bg-(--clarify-code-faint)" }) : null,
280
272
  label ? /* @__PURE__ */ jsx("span", {
281
- className: "text-xs text-zinc-400",
273
+ className: "truncate text-xs text-(--clarify-code-muted)",
282
274
  children: label
283
275
  }) : null
284
276
  ]
@@ -296,14 +288,14 @@ function CodePanel(arg0) {
296
288
  }
297
289
  const copyText = code ?? getNodeText(children);
298
290
  return /* @__PURE__ */ jsxs("div", {
299
- className: "clarify-code-panel group dark:bg-white/2.5",
291
+ className: "clarify-code-panel group bg-(--clarify-code-background)",
300
292
  children: [/* @__PURE__ */ jsx(CodePanelHeader, {
301
293
  tag,
302
294
  label
303
295
  }), /* @__PURE__ */ jsxs("div", {
304
296
  className: "relative",
305
297
  children: [/* @__PURE__ */ jsx("pre", {
306
- className: "clarify-code-pre overflow-x-auto p-4 text-xs text-white",
298
+ className: "clarify-code-pre overflow-x-auto p-4 text-xs text-(--clarify-code-text)",
307
299
  children
308
300
  }), /* @__PURE__ */ jsx(CopyButton, { code: copyText })]
309
301
  })]
@@ -315,14 +307,14 @@ function CodeGroupHeader(arg0) {
315
307
  const hasTabs = Children.count(children) > 1;
316
308
  if (!title && !hasTabs) return null;
317
309
  return /* @__PURE__ */ jsxs("div", {
318
- 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",
310
+ className: "clarify-code-group-header flex min-h-(--clarify-code-header-min-height) flex-wrap items-start gap-x-4 border-b border-(--clarify-code-border) bg-(--clarify-code-header-background) px-4",
319
311
  children: [title ? /* @__PURE__ */ jsx("h3", {
320
- className: "mr-auto pt-3 text-xs font-semibold text-white",
312
+ className: "mr-auto pt-3 text-xs font-semibold text-(--clarify-code-text)",
321
313
  children: title
322
314
  }) : null, hasTabs ? /* @__PURE__ */ jsx(TabList, {
323
315
  className: "clarify-code-tabs -mb-px flex gap-4 text-xs font-medium",
324
316
  children: Children.map(children, (child, childIndex) => /* @__PURE__ */ jsx(Tab, {
325
- className: clsx("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"),
317
+ className: clsx("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-(--clarify-code-muted) hover:text-(--clarify-code-text)"),
326
318
  children: getPanelTitle({
327
319
  ...isValidElement(child) ? child.props : {},
328
320
  fallbackTitle: t("actions.code")
@@ -396,7 +388,7 @@ function CodeGroup(arg0) {
396
388
  fallbackTitle: t("actions.code")
397
389
  })) ?? []);
398
390
  const hasTabs = Children.count(children) > 1;
399
- const containerClassName = "clarify-code-group my-6 overflow-hidden rounded-2xl bg-zinc-900 shadow-md dark:ring-1 dark:ring-white/10";
391
+ const containerClassName = "clarify-code-group my-6 overflow-hidden rounded-2xl bg-(--clarify-code-background) shadow-md ring-1 ring-(--clarify-code-border)";
400
392
  const header = /* @__PURE__ */ jsx(CodeGroupHeader, {
401
393
  title,
402
394
  selectedIndex: tabGroupProps.selectedIndex,
@@ -457,7 +449,7 @@ function Collapse(arg0) {
457
449
  setMaxHeight(open ? `${contentRef.current.scrollHeight}px` : "0px");
458
450
  }, [open, children]);
459
451
  return /* @__PURE__ */ jsxs("div", {
460
- className: clsx("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),
452
+ className: clsx("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)", className),
461
453
  ...props,
462
454
  children: [/* @__PURE__ */ jsxs("button", {
463
455
  type: "button",
@@ -826,6 +818,7 @@ var primitives_exports = /* @__PURE__ */ __exportAll({
826
818
  WebFrame: () => WebFrame,
827
819
  a: () => a,
828
820
  code: () => code,
821
+ h1: () => h1,
829
822
  h2: () => h2,
830
823
  h3: () => h3,
831
824
  pre: () => pre,
@@ -834,7 +827,7 @@ var primitives_exports = /* @__PURE__ */ __exportAll({
834
827
  function wrapper(arg0) {
835
828
  const { children } = arg0;
836
829
  return /* @__PURE__ */ jsx("article", {
837
- className: "clarify-mdx-page flex h-full flex-col pt-16 pb-10",
830
+ className: "clarify-mdx-page flex h-full flex-col pt-14 pb-10",
838
831
  children: /* @__PURE__ */ jsx(Prose, {
839
832
  className: "flex-auto",
840
833
  children
@@ -848,6 +841,17 @@ function a(arg0) {
848
841
  ...props
849
842
  });
850
843
  }
844
+ function h1(arg0) {
845
+ const { children, className, ...props } = arg0;
846
+ return /* @__PURE__ */ jsxs("div", {
847
+ className: "clarify-page-title-row flex flex-col gap-4 pb-4 sm:flex-row sm:items-start sm:justify-between",
848
+ children: [/* @__PURE__ */ jsx("h1", {
849
+ className: clsx("clarify-page-title min-w-0 flex-1", className),
850
+ ...props,
851
+ children
852
+ }), /* @__PURE__ */ jsx(PageTitleActions, {})]
853
+ });
854
+ }
851
855
  var code = Code;
852
856
  var pre = Pre;
853
857
  function h2(props) {
@@ -873,16 +877,16 @@ function Note(arg0) {
873
877
  });
874
878
  }
875
879
  function Row(arg0) {
876
- const { children } = arg0;
880
+ const { children, className } = arg0;
877
881
  return /* @__PURE__ */ jsx("div", {
878
- className: "clarify-row grid grid-cols-1 items-start gap-x-8 gap-y-10 xl:max-w-none xl:grid-cols-2",
882
+ className: clsx("clarify-row grid grid-cols-1 items-start gap-x-8 gap-y-10 xl:max-w-none xl:grid-cols-2", className),
879
883
  children
880
884
  });
881
885
  }
882
886
  function Col(arg0) {
883
887
  const { children, sticky = false } = arg0;
884
888
  return /* @__PURE__ */ jsx("div", {
885
- className: clsx("clarify-col *:first:mt-0 *:last:mb-0", sticky && "xl:sticky xl:top-24"),
889
+ className: clsx("clarify-col *:first:mt-0 *:last:mb-0", sticky && "xl:sticky xl:top-[calc(var(--clarify-header-offset,3.5rem)+1.5rem)] xl:self-start"),
886
890
  children
887
891
  });
888
892
  }
@@ -1552,26 +1556,26 @@ function SelectControl(arg0) {
1552
1556
  className: wrapperClassName,
1553
1557
  children: [/* @__PURE__ */ jsxs(ListboxButton, {
1554
1558
  "aria-label": label,
1555
- className: `clarify-api-select-button flex ${buttonSizeClassName} items-center justify-between gap-2 rounded-lg bg-black/30 px-2 py-1 text-xs font-medium whitespace-nowrap text-zinc-100 outline-hidden transition hover:bg-black/50 focus:ring-2 focus:ring-emerald-400/25 data-open:bg-white/10 data-open:ring-2 data-open:ring-emerald-400/25`,
1559
+ className: `clarify-api-select-button flex ${buttonSizeClassName} items-center justify-between gap-2 rounded-lg bg-(--clarify-code-control-background) px-2 py-1 text-xs font-medium whitespace-nowrap text-(--clarify-code-text) outline-hidden transition hover:bg-(--clarify-code-control-background-hover) focus:ring-2 focus:ring-(--clarify-ui-accent-border) data-open:bg-(--clarify-code-control-background-hover) data-open:ring-2 data-open:ring-(--clarify-ui-accent-border)`,
1556
1560
  children: [/* @__PURE__ */ jsxs("span", {
1557
1561
  className: "flex min-w-0 items-center gap-1.5 overflow-hidden",
1558
1562
  children: [icon ? /* @__PURE__ */ jsx("span", {
1559
- className: "shrink-0 text-zinc-500",
1563
+ className: "shrink-0 text-(--clarify-code-faint)",
1560
1564
  children: icon
1561
1565
  }) : null, /* @__PURE__ */ jsx("span", {
1562
1566
  className: "truncate",
1563
1567
  children: selectedOption?.label ?? value
1564
1568
  })]
1565
1569
  }), /* @__PURE__ */ jsx(ChevronsUpDownIcon, {
1566
- className: "h-3.5 w-3.5 shrink-0 text-zinc-500",
1570
+ className: "h-3.5 w-3.5 shrink-0 text-(--clarify-code-faint)",
1567
1571
  "aria-hidden": "true"
1568
1572
  })]
1569
1573
  }), /* @__PURE__ */ jsx(ListboxOptions, {
1570
1574
  anchor: "bottom end",
1571
- 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",
1575
+ 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-(--clarify-code-surface) p-1 text-xs shadow-lg shadow-black/20 ring-1 ring-(--clarify-code-border) [--anchor-gap:--spacing(1)] focus:outline-none",
1572
1576
  children: normalizedOptions.map((option) => /* @__PURE__ */ jsxs(ListboxOption, {
1573
1577
  value: option.value,
1574
- 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",
1578
+ 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-(--clarify-code-muted) select-none data-focus:bg-(--clarify-code-control-background-hover) data-focus:text-(--clarify-code-text) data-selected:text-(--clarify-theme-tokens-colors-primary)",
1575
1579
  children: [/* @__PURE__ */ jsx("span", { children: option.label }), /* @__PURE__ */ jsx(CheckIcon, {
1576
1580
  className: "h-3.5 w-3.5 shrink-0 opacity-0 group-data-selected:opacity-100",
1577
1581
  "aria-hidden": "true"
@@ -1657,12 +1661,12 @@ function CopyCodeButton(arg0) {
1657
1661
  window.setTimeout(() => setCopied(false), 1e3);
1658
1662
  });
1659
1663
  },
1660
- className: "flex items-center gap-1.5 rounded-full bg-black/ px-2.5 py-1.5 text-2xs font-medium text-zinc-400 transition hover:bg-black/50 hover:text-zinc-200 focus:bg-black/50 focus:text-zinc-200",
1664
+ className: "flex items-center gap-1.5 rounded-full bg-(--clarify-code-control-background) px-2.5 py-1.5 text-2xs font-medium text-(--clarify-code-muted) transition hover:bg-(--clarify-code-control-background-hover) hover:text-(--clarify-code-text) focus:bg-(--clarify-code-control-background-hover) focus:text-(--clarify-code-text)",
1661
1665
  children: [copied ? /* @__PURE__ */ jsx(CheckIcon, {
1662
- className: "h-3.5 w-3.5 text-emerald-300",
1666
+ className: "h-3.5 w-3.5 text-(--clarify-theme-tokens-colors-primary)",
1663
1667
  "aria-hidden": "true"
1664
1668
  }) : /* @__PURE__ */ jsx(ClipboardIcon, {
1665
- className: "h-3.5 w-3.5 text-zinc-500",
1669
+ className: "h-3.5 w-3.5 text-(--clarify-code-faint)",
1666
1670
  "aria-hidden": "true"
1667
1671
  }), /* @__PURE__ */ jsx("span", { children: copied ? t("actions.copied") : t("actions.copy") })]
1668
1672
  });
@@ -1712,16 +1716,16 @@ function CodeToolbar(arg0) {
1712
1716
  function ApiExampleCodeGroup(arg0) {
1713
1717
  const { title, tag, tagOptions, onSelectTag, label, labelOptions, onSelectLabel, comfortableMeta = false, code, language, mediaTypes, selectedMediaType, onSelectMediaType, examples, selectedExampleKey, onSelectExample, languageOptions, selectedLanguageKey, onSelectLanguage, clientOptions, selectedClientKey, onSelectClient } = arg0;
1714
1718
  const t = useBuiltInText();
1715
- const metaClassName = comfortableMeta ? "flex min-h-11 min-w-0 items-center gap-2 border-y border-t-transparent border-b-white/7.5 bg-zinc-900 px-4 py-2 dark:border-b-white/5 dark:bg-white/1" : "flex h-9 min-w-0 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";
1719
+ const metaClassName = comfortableMeta ? "flex min-h-11 min-w-0 items-center gap-2 border-y border-(--clarify-code-border) border-t-transparent bg-(--clarify-code-background) px-4 py-2" : "flex h-9 min-w-0 items-center gap-2 border-y border-(--clarify-code-border) border-t-transparent bg-(--clarify-code-background) px-4";
1716
1720
  return /* @__PURE__ */ jsx("div", {
1717
- className: "clarify-api-example my-6 overflow-hidden rounded-2xl bg-zinc-900 shadow-md dark:ring-1 dark:ring-white/10",
1721
+ className: "clarify-api-example my-6 overflow-hidden rounded-2xl bg-(--clarify-code-background) shadow-md ring-1 ring-(--clarify-code-border)",
1718
1722
  children: /* @__PURE__ */ jsxs("div", {
1719
1723
  className: "not-prose",
1720
1724
  children: [
1721
1725
  /* @__PURE__ */ jsxs("div", {
1722
- 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",
1726
+ className: "clarify-api-example-header flex min-h-(--clarify-code-header-min-height) items-center gap-3 border-b border-(--clarify-code-border) bg-(--clarify-code-header-background) px-4 py-2",
1723
1727
  children: [/* @__PURE__ */ jsx("h3", {
1724
- className: "mr-auto min-w-16 truncate py-1 text-xs font-semibold text-white",
1728
+ className: "mr-auto min-w-16 truncate py-1 text-xs font-semibold text-(--clarify-code-text)",
1725
1729
  children: title
1726
1730
  }), /* @__PURE__ */ jsxs("div", {
1727
1731
  className: "ml-auto flex min-w-0 items-center gap-2 whitespace-nowrap",
@@ -1753,18 +1757,18 @@ function ApiExampleCodeGroup(arg0) {
1753
1757
  onChange: onSelectTag,
1754
1758
  className: "clarify-api-example-status font-semibold text-emerald-400"
1755
1759
  }) : null,
1756
- tag && label ? /* @__PURE__ */ jsx("span", { className: "h-0.5 w-0.5 shrink-0 rounded-full bg-zinc-500" }) : null,
1760
+ tag && label ? /* @__PURE__ */ jsx("span", { className: "h-0.5 w-0.5 shrink-0 rounded-full bg-(--clarify-code-faint)" }) : null,
1757
1761
  label ? /* @__PURE__ */ jsx(ExampleMetaValue, {
1758
1762
  label: t("openapi.mediaType"),
1759
1763
  value: label,
1760
1764
  options: labelOptions,
1761
1765
  onChange: onSelectLabel,
1762
- className: "min-w-0 truncate text-xs text-zinc-400"
1766
+ className: "min-w-0 truncate text-xs text-(--clarify-code-muted)"
1763
1767
  }) : null
1764
1768
  ]
1765
1769
  }) : null,
1766
1770
  /* @__PURE__ */ jsxs("div", {
1767
- className: "clarify-api-example-code group relative",
1771
+ className: "clarify-api-example-code group relative bg-(--clarify-code-background)",
1768
1772
  children: [/* @__PURE__ */ jsx(CodeToolbar, {
1769
1773
  code,
1770
1774
  languageOptions,
@@ -1774,7 +1778,7 @@ function ApiExampleCodeGroup(arg0) {
1774
1778
  selectedClientKey,
1775
1779
  onSelectClient
1776
1780
  }), /* @__PURE__ */ jsx("pre", {
1777
- className: `max-h-128 overflow-auto overscroll-contain p-4 text-xs text-white ${languageOptions && languageOptions.length > 1 ? "pt-14" : ""}`,
1781
+ className: `max-h-128 overflow-auto overscroll-contain p-4 text-xs text-(--clarify-code-text) ${languageOptions && languageOptions.length > 1 ? "pt-14" : ""}`,
1778
1782
  children: /* @__PURE__ */ jsx("code", {
1779
1783
  className: `language-${language}`,
1780
1784
  children: code
@@ -2056,7 +2060,10 @@ function SchemaNode(arg0) {
2056
2060
  }) : null]
2057
2061
  }), /* @__PURE__ */ jsxs("div", {
2058
2062
  className: "mt-0.5 text-sm/5 text-(--clarify-ui-text-soft) *:first:mt-0 *:last:mb-0",
2059
- children: [node.description ? /* @__PURE__ */ jsx(Markdown, { children: node.description }) : fallbackDescription, node.details ? /* @__PURE__ */ jsx("p", {
2063
+ children: [node.description ? /* @__PURE__ */ jsx(Markdown, {
2064
+ className: "*:first:mt-0 *:last:mb-0",
2065
+ children: node.description
2066
+ }) : fallbackDescription, node.details ? /* @__PURE__ */ jsx("p", {
2060
2067
  className: "text-xs text-(--clarify-ui-text-faint)",
2061
2068
  children: node.details
2062
2069
  }) : null]
@@ -2112,7 +2119,10 @@ function ParameterList(arg0) {
2112
2119
  return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h3", { children: title }), /* @__PURE__ */ jsx(Properties, { children: parameters.map((parameter) => /* @__PURE__ */ jsx(Property, {
2113
2120
  name: parameter.name ?? t("openapi.parameter"),
2114
2121
  type: [schemaToType(parameter.schema), parameter.required ? t("openapi.requiredBadge") : void 0].filter(Boolean).join(", ") || void 0,
2115
- children: parameter.description ? /* @__PURE__ */ jsx(Markdown, { children: parameter.description }) : t("openapi.operationParameter")
2122
+ children: parameter.description ? /* @__PURE__ */ jsx(Markdown, {
2123
+ className: "*:first:mt-0 *:last:mb-0",
2124
+ children: parameter.description
2125
+ }) : t("openapi.operationParameter")
2116
2126
  }, `${parameter.in}-${parameter.name}`)) })] });
2117
2127
  }
2118
2128
  function ResponseList(arg0) {
@@ -2124,33 +2134,78 @@ function ResponseList(arg0) {
2124
2134
  return /* @__PURE__ */ jsx(Property, {
2125
2135
  name: status,
2126
2136
  type: schemaToType(getJsonLikeContent(response.content, spec)?.value.schema),
2127
- children: response.description ? /* @__PURE__ */ jsx(Markdown, { children: response.description }) : `${t("openapi.response")}.`
2137
+ children: response.description ? /* @__PURE__ */ jsx(Markdown, {
2138
+ className: "*:first:mt-0 *:last:mb-0",
2139
+ children: response.description
2140
+ }) : `${t("openapi.response")}.`
2128
2141
  }, status);
2129
2142
  }) })] });
2130
2143
  }
2131
2144
  //#endregion
2132
- //#region source/openapi/components/OpenApiOperation.tsx
2133
- function EndpointExamples(arg0) {
2134
- const { spec, path, method, operation, parameters, requestContents, selectedRequestMediaType, onSelectRequestMediaType, selectedServer, serverVariables, auth } = arg0;
2135
- return /* @__PURE__ */ jsxs("div", {
2136
- className: "space-y-6",
2137
- children: [/* @__PURE__ */ jsx(RequestExamplesPanel, {
2138
- spec,
2139
- path,
2140
- method,
2141
- parameters,
2142
- requestContents,
2143
- selectedMediaType: selectedRequestMediaType,
2144
- onSelectMediaType: onSelectRequestMediaType,
2145
- selectedServer,
2146
- serverVariables,
2147
- auth
2148
- }), /* @__PURE__ */ jsx(ResponseExamplesPanel, {
2145
+ //#region source/openapi/components/EndpointSections.tsx
2146
+ function EndpointRequest(arg0) {
2147
+ const { spec, path, method, description, groupedParameters, parameters, requestBody, requestContents, requestSchema, selectedRequestMediaType, onSelectRequestMediaType, selectedServer, serverVariables, auth } = arg0;
2148
+ const t = useBuiltInText();
2149
+ return /* @__PURE__ */ jsxs(Row, {
2150
+ className: "relative mt-6",
2151
+ children: [/* @__PURE__ */ jsxs(Col, { children: [
2152
+ description ? /* @__PURE__ */ jsx(Markdown, { children: description }) : null,
2153
+ /* @__PURE__ */ jsx(ParameterList, {
2154
+ title: t("openapi.pathParameters"),
2155
+ parameters: groupedParameters.path
2156
+ }),
2157
+ /* @__PURE__ */ jsx(ParameterList, {
2158
+ title: t("openapi.queryParameters"),
2159
+ parameters: groupedParameters.query
2160
+ }),
2161
+ /* @__PURE__ */ jsx(ParameterList, {
2162
+ title: t("openapi.headers"),
2163
+ parameters: groupedParameters.header
2164
+ }),
2165
+ requestBody && requestContents.length > 0 ? /* @__PURE__ */ jsxs(Fragment$1, { children: [
2166
+ /* @__PURE__ */ jsx("h3", { children: t("openapi.requestBody") }),
2167
+ typeof requestBody.description === "string" ? /* @__PURE__ */ jsx(Markdown, { children: requestBody.description }) : null,
2168
+ /* @__PURE__ */ jsx(SchemaProperties, {
2169
+ title: t("openapi.bodyProperties"),
2170
+ schema: requestSchema,
2171
+ spec
2172
+ })
2173
+ ] }) : null
2174
+ ] }), /* @__PURE__ */ jsx(Col, {
2175
+ sticky: true,
2176
+ children: /* @__PURE__ */ jsx(RequestExamplesPanel, {
2177
+ spec,
2178
+ path,
2179
+ method,
2180
+ parameters,
2181
+ requestContents,
2182
+ selectedMediaType: selectedRequestMediaType,
2183
+ onSelectMediaType: onSelectRequestMediaType,
2184
+ selectedServer,
2185
+ serverVariables,
2186
+ auth
2187
+ })
2188
+ })]
2189
+ });
2190
+ }
2191
+ function EndpointResponse(arg0) {
2192
+ const { spec, operation } = arg0;
2193
+ return /* @__PURE__ */ jsxs(Row, {
2194
+ className: "relative mt-6",
2195
+ children: [/* @__PURE__ */ jsx(Col, { children: /* @__PURE__ */ jsx(ResponseList, {
2149
2196
  operation,
2150
2197
  spec
2198
+ }) }), /* @__PURE__ */ jsx(Col, {
2199
+ sticky: true,
2200
+ children: /* @__PURE__ */ jsx(ResponseExamplesPanel, {
2201
+ operation,
2202
+ spec
2203
+ })
2151
2204
  })]
2152
2205
  });
2153
2206
  }
2207
+ //#endregion
2208
+ //#region source/openapi/components/OpenApiOperation.tsx
2154
2209
  var endpointMethodStyles = {
2155
2210
  GET: "bg-emerald-400/15 text-emerald-600 dark:bg-emerald-400/20 dark:text-emerald-300",
2156
2211
  POST: "bg-sky-400/15 text-sky-600 dark:bg-sky-400/20 dark:text-sky-300",
@@ -2211,14 +2266,31 @@ function getServerPreviewUrl(server, variables) {
2211
2266
  return (server.url ?? "").replace(/\{([^}]+)\}/g, (_, name) => variables[name] ?? server.variables?.[name]?.default ?? `{${name}}`);
2212
2267
  }
2213
2268
  function ServerUrlValue(arg0) {
2214
- const { server, variables, open, onToggle } = arg0;
2269
+ const { server, variables, open, interactive, onToggle } = arg0;
2215
2270
  const url = getServerPreviewUrl(server, variables);
2271
+ if (!interactive) return /* @__PURE__ */ jsxs("span", {
2272
+ "aria-label": "Server",
2273
+ className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-(--clarify-ui-subtle-background) text-(--clarify-ui-text-foreground) sm:w-auto sm:min-w-16 sm:max-w-(--clarify-server-url-max-width) sm:px-1.5",
2274
+ children: [/* @__PURE__ */ jsx("span", {
2275
+ className: "sm:hidden",
2276
+ children: /* @__PURE__ */ jsx(ServerIcon, {
2277
+ className: "h-4 w-4",
2278
+ "aria-hidden": "true"
2279
+ })
2280
+ }), /* @__PURE__ */ jsx("span", {
2281
+ className: "hidden min-w-0 items-center overflow-hidden sm:flex",
2282
+ children: /* @__PURE__ */ jsx("span", {
2283
+ className: "truncate font-semibold text-xs",
2284
+ children: url
2285
+ })
2286
+ })]
2287
+ });
2216
2288
  return /* @__PURE__ */ jsxs("button", {
2217
2289
  type: "button",
2218
2290
  "aria-expanded": open,
2219
2291
  "aria-label": "Server",
2220
2292
  onClick: onToggle,
2221
- className: clsx("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),
2293
+ className: clsx("flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-(--clarify-ui-subtle-background) text-(--clarify-ui-text-foreground) 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),
2222
2294
  children: [/* @__PURE__ */ jsx("span", {
2223
2295
  className: "sm:hidden",
2224
2296
  children: /* @__PURE__ */ jsx(ServerIcon, {
@@ -2228,7 +2300,7 @@ function ServerUrlValue(arg0) {
2228
2300
  }), /* @__PURE__ */ jsxs("span", {
2229
2301
  className: "hidden min-w-0 items-center gap-1 overflow-hidden sm:flex",
2230
2302
  children: [/* @__PURE__ */ jsx("span", {
2231
- className: "truncate text-xs",
2303
+ className: "truncate font-semibold text-xs",
2232
2304
  children: url
2233
2305
  }), /* @__PURE__ */ jsx(ChevronDownIcon, {
2234
2306
  className: "h-3.5 w-3.5 shrink-0 text-zinc-400",
@@ -2339,6 +2411,7 @@ function AuthPanel(arg0) {
2339
2411
  function EndpointIdentity(arg0) {
2340
2412
  const { method, path, servers, selectedServerKey, selectedServer, serverVariables, serverOpen, authOptions, selectedAuthName, selectedAuth, authValues, authOpen, onSelectServer, onChangeServerVariable, onToggleServer, onToggleAuth, onSelectAuth, onChangeAuthValue } = arg0;
2341
2413
  const segments = path.split("/").filter(Boolean);
2414
+ const serverInteractive = servers.length > 1 || Object.keys(selectedServer.variables ?? {}).length > 0;
2342
2415
  return /* @__PURE__ */ jsxs("div", {
2343
2416
  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",
2344
2417
  children: [
@@ -2350,6 +2423,7 @@ function EndpointIdentity(arg0) {
2350
2423
  server: selectedServer,
2351
2424
  variables: serverVariables,
2352
2425
  open: serverOpen,
2426
+ interactive: serverInteractive,
2353
2427
  onToggle: onToggleServer
2354
2428
  }),
2355
2429
  /* @__PURE__ */ jsx("div", {
@@ -2387,7 +2461,7 @@ function EndpointIdentity(arg0) {
2387
2461
  }) : null
2388
2462
  ]
2389
2463
  }),
2390
- serverOpen ? /* @__PURE__ */ jsx(ServerPanel, {
2464
+ serverInteractive && serverOpen ? /* @__PURE__ */ jsx(ServerPanel, {
2391
2465
  servers,
2392
2466
  selectedKey: selectedServerKey,
2393
2467
  selectedServer,
@@ -2408,7 +2482,6 @@ function EndpointIdentity(arg0) {
2408
2482
  }
2409
2483
  function OpenApiOperation(arg0) {
2410
2484
  const { spec, path, method, operation } = arg0;
2411
- const t = useBuiltInText();
2412
2485
  const id = slug(`${method.toLowerCase()} ${path}`);
2413
2486
  const summary = operation.summary ?? `${method} ${path}`;
2414
2487
  const description = operation.description;
@@ -2442,6 +2515,10 @@ function OpenApiOperation(arg0) {
2442
2515
  className: "clarify-api-endpoint scroll-mt-24 py-16 first:pt-0 last:pb-0",
2443
2516
  "aria-labelledby": id,
2444
2517
  children: [
2518
+ /* @__PURE__ */ jsx(Heading, {
2519
+ id,
2520
+ children: summary
2521
+ }),
2445
2522
  /* @__PURE__ */ jsx(EndpointIdentity, {
2446
2523
  method,
2447
2524
  path,
@@ -2478,61 +2555,30 @@ function OpenApiOperation(arg0) {
2478
2555
  [name]: value
2479
2556
  }))
2480
2557
  }),
2481
- /* @__PURE__ */ jsx(Heading, {
2482
- id,
2483
- className: "mt-6",
2484
- children: summary
2558
+ /* @__PURE__ */ jsx(EndpointRequest, {
2559
+ spec,
2560
+ path,
2561
+ method,
2562
+ description,
2563
+ groupedParameters,
2564
+ parameters,
2565
+ requestBody,
2566
+ requestContents,
2567
+ requestSchema,
2568
+ selectedRequestMediaType: selectedRequestContent?.mediaType ?? "",
2569
+ onSelectRequestMediaType: setSelectedRequestMediaType,
2570
+ selectedServer,
2571
+ serverVariables,
2572
+ auth: authInput
2485
2573
  }),
2486
- /* @__PURE__ */ jsxs(Row, { children: [/* @__PURE__ */ jsxs(Col, { children: [
2487
- description ? /* @__PURE__ */ jsx(Markdown, {
2488
- className: "mt-4 *:first:mt-0 *:last:mb-0",
2489
- children: description
2490
- }) : null,
2491
- /* @__PURE__ */ jsx(ParameterList, {
2492
- title: t("openapi.pathParameters"),
2493
- parameters: groupedParameters.path
2494
- }),
2495
- /* @__PURE__ */ jsx(ParameterList, {
2496
- title: t("openapi.queryParameters"),
2497
- parameters: groupedParameters.query
2498
- }),
2499
- /* @__PURE__ */ jsx(ParameterList, {
2500
- title: t("openapi.headers"),
2501
- parameters: groupedParameters.header
2502
- }),
2503
- requestBody && requestContents.length > 0 ? /* @__PURE__ */ jsxs(Fragment$1, { children: [
2504
- /* @__PURE__ */ jsx("h3", { children: t("openapi.requestBody") }),
2505
- typeof requestBody.description === "string" ? /* @__PURE__ */ jsx(Markdown, { children: requestBody.description }) : null,
2506
- /* @__PURE__ */ jsx(SchemaProperties, {
2507
- title: t("openapi.bodyProperties"),
2508
- schema: requestSchema,
2509
- spec
2510
- })
2511
- ] }) : null,
2512
- /* @__PURE__ */ jsx(ResponseList, {
2513
- operation,
2514
- spec
2515
- })
2516
- ] }), /* @__PURE__ */ jsx(Col, {
2517
- sticky: true,
2518
- children: /* @__PURE__ */ jsx(EndpointExamples, {
2519
- spec,
2520
- path,
2521
- method,
2522
- operation,
2523
- parameters,
2524
- requestContents,
2525
- selectedRequestMediaType: selectedRequestContent?.mediaType ?? "",
2526
- onSelectRequestMediaType: setSelectedRequestMediaType,
2527
- selectedServer,
2528
- serverVariables,
2529
- auth: authInput
2530
- })
2531
- })] })
2574
+ /* @__PURE__ */ jsx(EndpointResponse, {
2575
+ spec,
2576
+ operation
2577
+ })
2532
2578
  ]
2533
2579
  });
2534
2580
  }
2535
2581
  //#endregion
2536
2582
  export { Code as C, CardGroup as D, Card as E, Callout as O, Collapse as S, Pre as T, HeroPattern as _, authPlaceholder as a, Tag as b, getServerKey as c, getRequestBody$1 as d, Markdown as f, GridPattern as g, Prose as h, ResponseExamplesPanel as i, Button as k, getServers as l, WebFrame as m, OpenApiOperation as n, defaultServerVariables as o, primitives_exports as p, RequestExamplesPanel as r, getAuthOptions as s, EndpointIdentity as t, getMediaTypeEntries as u, Logo as v, CodeGroup as w, Feedback as x, Heading as y };
2537
2583
 
2538
- //# sourceMappingURL=OpenApiOperation-CWSOhUVa.js.map
2584
+ //# sourceMappingURL=OpenApiOperation-tUKf7lZ4.js.map