"use client";
'use strict';

var jsxRuntime = require('react/jsx-runtime');

// src/astrlabe/components/nodes/graph-node-primitives.tsx
function GraphNodeIconBubble({ children, className = "" }) {
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-10 w-10 items-center justify-center rounded-xl shadow-lg ${className}`, children });
}
function GraphNodeHeader({
  icon,
  title,
  description,
  compact = false,
  iconClassName
}) {
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
    /* @__PURE__ */ jsxRuntime.jsx("div", { className: iconClassName, children: icon }),
    /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
      /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: title }),
      !compact && description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-gray-500 dark:text-gray-400", children: description })
    ] })
  ] });
}
function GraphNodeMeta({ compact = false, children }) {
  if (compact) return null;
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 flex items-center justify-between", children });
}
function GraphNodeBadge({ children, className }) {
  return /* @__PURE__ */ jsxRuntime.jsx(
    "span",
    {
      className: className ?? "inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-semibold bg-slate-100 text-slate-700 dark:bg-slate-500/20 dark:text-slate-300",
      children
    }
  );
}

exports.GraphNodeBadge = GraphNodeBadge;
exports.GraphNodeHeader = GraphNodeHeader;
exports.GraphNodeIconBubble = GraphNodeIconBubble;
exports.GraphNodeMeta = GraphNodeMeta;
//# sourceMappingURL=chunk-P4YYEM4B.js.map
//# sourceMappingURL=chunk-P4YYEM4B.js.map