"use client";
import { clsx } from 'clsx';
import { twMerge } from 'tailwind-merge';
import { Slot } from '@radix-ui/react-slot';
import { cva } from 'class-variance-authority';
import { jsx, jsxs } from 'react/jsx-runtime';
import * as SeparatorPrimitive from '@radix-ui/react-separator';

// lib/utils.ts
function cn(...inputs) {
  return twMerge(clsx(inputs));
}
var badgeVariants = cva(
  "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
  {
    variants: {
      variant: {
        default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
        secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
        destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
        outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
      }
    },
    defaultVariants: {
      variant: "default"
    }
  }
);
function Badge({
  className,
  variant,
  asChild = false,
  ...props
}) {
  const Comp = asChild ? Slot : "span";
  return /* @__PURE__ */ jsx(
    Comp,
    {
      "data-slot": "badge",
      className: cn(badgeVariants({ variant }), className),
      ...props
    }
  );
}
function Card({ className, ...props }) {
  return /* @__PURE__ */ jsx(
    "div",
    {
      "data-slot": "card",
      className: cn(
        "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
        className
      ),
      ...props
    }
  );
}
function CardContent({ className, ...props }) {
  return /* @__PURE__ */ jsx(
    "div",
    {
      "data-slot": "card-content",
      className: cn("px-6", className),
      ...props
    }
  );
}
function Separator({
  className,
  orientation = "horizontal",
  decorative = true,
  ...props
}) {
  return /* @__PURE__ */ jsx(
    SeparatorPrimitive.Root,
    {
      "data-slot": "separator",
      decorative,
      orientation,
      className: cn(
        "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
        className
      ),
      ...props
    }
  );
}
var defaultEntries = [
  {
    date: "March 21, 2025",
    items: [
      {
        content: "Launched <strong>AI-powered code generation</strong> in our IDE, allowing developers to generate boilerplate code with natural language prompts."
      },
      {
        content: "Introduced <em>contextual code suggestions</em> that understand project structure and coding patterns for more accurate completions."
      },
      {
        content: "Added <u>automated code refactoring</u> capabilities that suggest and apply improvements to existing codebases."
      }
    ]
  },
  {
    date: "March 19, 2025",
    items: [
      {
        content: "Released <strong>AI-driven debugging assistant</strong> that identifies potential issues and suggests fixes before runtime."
      },
      {
        content: "Implemented <em>smart documentation generation</em> that automatically creates comprehensive docs from code comments and structure."
      },
      {
        content: "Enhanced <u>code review automation</u> with AI-powered analysis of code quality and best practices."
      }
    ]
  },
  {
    date: "March 17, 2025",
    items: [
      {
        content: "Announced <strong>AI pair programming</strong> feature that provides real-time coding assistance and explanations."
      },
      {
        content: "Launched <em>intelligent dependency management</em> that suggests optimal package versions and identifies potential conflicts."
      },
      {
        content: "Introduced <u>automated test generation</u> that creates comprehensive test suites based on code functionality."
      }
    ]
  }
];
function TimelineChangelogBadges({
  className,
  heading = "Timeline",
  entries = defaultEntries
}) {
  return /* @__PURE__ */ jsx("section", { className: cn("bg-background py-32", className), children: /* @__PURE__ */ jsxs("div", { className: "container", children: [
    /* @__PURE__ */ jsx("h1", { className: "mb-10 text-center text-3xl font-bold tracking-tighter text-foreground lg:text-6xl", children: heading }),
    /* @__PURE__ */ jsxs("div", { className: "relative mx-auto max-w-4xl", children: [
      /* @__PURE__ */ jsx(
        Separator,
        {
          orientation: "vertical",
          className: "absolute top-4 left-2 bg-muted"
        }
      ),
      entries.map((entry, index) => /* @__PURE__ */ jsxs("div", { className: "relative mb-10 pl-8", children: [
        /* @__PURE__ */ jsx("div", { className: "absolute top-2 left-0 flex size-5 items-center justify-center rounded-full bg-foreground", children: /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-background" }) }),
        /* @__PURE__ */ jsx(
          Badge,
          {
            variant: "secondary",
            className: "mb-4 rounded-xl px-3 py-2 text-sm",
            children: entry.date
          }
        ),
        /* @__PURE__ */ jsx(Card, { className: "my-5 border-none shadow-none", children: /* @__PURE__ */ jsx(CardContent, { className: "px-2", children: /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-1", children: entry.items.map((item, itemIndex) => /* @__PURE__ */ jsxs("li", { className: "flex gap-3", children: [
          /* @__PURE__ */ jsx("span", { className: "mt-2 h-2 w-2 flex-none rounded-full bg-foreground" }),
          /* @__PURE__ */ jsx(
            "span",
            {
              className: "text-md leading-relaxed text-foreground",
              dangerouslySetInnerHTML: { __html: item.content }
            }
          )
        ] }, itemIndex)) }) }) })
      ] }, index))
    ] })
  ] }) });
}

export { TimelineChangelogBadges };
//# sourceMappingURL=timeline-changelog-badges.js.map
//# sourceMappingURL=timeline-changelog-badges.js.map