import { jsx as e } from "react/jsx-runtime";
import { FlowHub as p } from "../atoms/flow-hub.js";
import { FlowTile as n } from "../atoms/flow-tile.js";
import { Arcade as S } from "../atoms/icons/arcade.js";
import { FlowDiagram as T } from "../molecules/flow-diagram.js";
import { MCP_CLIENT_METADATA as A } from "../../../metadata/mcp-clients.js";
import { TOOLKIT_ICON_MAP as E } from "../../../metadata/toolkit-icons.js";
import { TOOLKITS as I } from "../../../metadata/toolkits.js";
const w = [
  "claude_code",
  "cursor",
  "vscode",
  "codex",
  "gemini_cli",
  "claude_desktop",
  "windsurf"
], C = [
  "Gmail",
  "Slack",
  "Github",
  "Linear",
  "Notion",
  "Jira",
  "Hubspot",
  "GoogleCalendar",
  "GoogleDrive",
  "Salesforce",
  "Stripe"
], D = "shadow-amber-950/25 shadow-xl bg-[linear-gradient(135deg,oklch(from_var(--brand-yellow)_l_c_h_/_0.55),oklch(from_var(--brand-green)_l_c_h_/_0.4),oklch(from_var(--brand-fuchsia)_l_c_h_/_0.45))]", L = {
  sm: "md",
  md: "lg",
  lg: "xl"
};
function P({
  mcpClientIds: c = w,
  mcpServerIds: _ = C,
  animate: m = "both",
  animation: s = "flow",
  lineStyle: d,
  size: l = "md",
  "aria-label": f = "Arcade MCP gateway diagram",
  ...u
}) {
  const i = l, h = L[l], b = c.map((r) => {
    const o = A[r];
    if (!o)
      return null;
    const { label: a, Icon: t } = o;
    return /* @__PURE__ */ e(n, { label: a, size: i, children: /* @__PURE__ */ e(t, {}) }, r);
  }).filter((r) => r !== null), g = _.map((r) => {
    const o = E[r];
    if (!o)
      return null;
    const a = I.find((t) => t.id === r)?.label ?? r;
    return /* @__PURE__ */ e(n, { label: a, size: i, children: /* @__PURE__ */ e(o, {}) }, r);
  }).filter((r) => r !== null);
  return /* @__PURE__ */ e(
    T,
    {
      animate: m,
      animation: s,
      "aria-label": f,
      center: /* @__PURE__ */ e(p, { className: D, size: h, children: /* @__PURE__ */ e(S, { "aria-hidden": !0 }) }),
      left: b,
      lineStyle: d,
      right: g,
      size: l,
      ...u
    }
  );
}
export {
  w as DEFAULT_MCP_CLIENT_IDS,
  C as DEFAULT_MCP_SERVER_IDS,
  P as GatewayDiagram
};
