import { cva } from 'class-variance-authority';
import { clsx } from 'clsx';
import { twMerge } from 'tailwind-merge';
import { jsx } from 'react/jsx-runtime';

// src/primitives/cluster/cluster.tsx
function cn(...inputs) {
  return twMerge(clsx(inputs));
}

// src/primitives/_shared/layout-variants.ts
var gapVariants = {
  xs: "gap-[var(--gap-xs,0.25rem)]",
  sm: "gap-[var(--gap-sm,0.5rem)]",
  md: "gap-[var(--gap-md,1rem)]",
  lg: "gap-[var(--gap-lg,1.5rem)]",
  xl: "gap-[var(--gap-xl,2rem)]"
};
var justifyVariants = {
  start: "justify-start",
  center: "justify-center",
  end: "justify-end",
  between: "justify-between"
};
var clusterAlignVariants = {
  start: "items-start",
  center: "items-center",
  end: "items-end",
  stretch: "items-stretch",
  baseline: "items-baseline"
};
var clusterVariants = cva("flex flex-wrap", {
  variants: {
    gap: gapVariants,
    align: clusterAlignVariants,
    justify: justifyVariants
  },
  defaultVariants: {
    gap: "md",
    align: "center",
    justify: "start"
  }
});
function Cluster({ className, gap, align, justify, ...props }) {
  return /* @__PURE__ */ jsx("div", { className: cn(clusterVariants({ gap, align, justify }), className), ...props });
}

export { Cluster, clusterVariants };
//# sourceMappingURL=cluster.js.map
//# sourceMappingURL=cluster.js.map