import { jsx, jsxs } from "react/jsx-runtime";
import { Check, Play, Pause, Circle } from "lucide-react";
import { STATUS_COLORS } from "../lib/status-colors.js";
import { NODE_TYPE_ICONS, NODE_TYPE_COLORS } from "../lib/node-type-icons.js";
function WorkflowNodeCard({
  title,
  description,
  status = "not_started",
  nodeType,
  selected = false
}) {
  const isEditMode = status === "not_started";
  const colors = STATUS_COLORS[status];
  const StatusIcon = {
    completed: Check,
    in_progress: Play,
    pending: Pause,
    not_started: Circle
  }[status];
  const NodeTypeIcon = NODE_TYPE_ICONS[nodeType];
  const nodeTypeIconColor = NODE_TYPE_COLORS[nodeType];
  return /* @__PURE__ */ jsxs(
    "div",
    {
      className: `
        w-[280px] rounded-xl border-2
        ${isEditMode ? "bg-card border-border" : `${colors.bg} ${colors.border}`}
        transition-all duration-200 relative
        ${selected ? "shadow-[0_0_0_3px_rgba(0,128,254,0.15)] border-[#0080FE]" : "shadow-sm hover:shadow-md"}
      `,
      children: [
        /* @__PURE__ */ jsx("div", { className: "absolute top-2 right-2", children: /* @__PURE__ */ jsx(NodeTypeIcon, { className: `w-3.5 h-3.5 ${nodeTypeIconColor}` }) }),
        /* @__PURE__ */ jsxs("div", { className: "p-4 flex items-start gap-3", children: [
          /* @__PURE__ */ jsx("div", { className: `flex-shrink-0 mt-0.5 ${colors.icon}`, children: /* @__PURE__ */ jsx(StatusIcon, { className: "w-5 h-5" }) }),
          /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0 pr-4", children: [
            /* @__PURE__ */ jsx("h3", { className: `font-semibold text-base ${colors.text} truncate`, children: title }),
            description && /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-muted-foreground line-clamp-2", children: description })
          ] })
        ] })
      ]
    }
  );
}
export {
  WorkflowNodeCard
};
//# sourceMappingURL=WorkflowNodeCard.js.map
