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

// src/primitives/stack/stack.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 flexAlignVariants = {
  start: "items-start",
  center: "items-center",
  end: "items-end",
  stretch: "items-stretch"
};
var stackVariants = cva("flex flex-col", {
  variants: {
    gap: gapVariants,
    align: flexAlignVariants,
    justify: justifyVariants
  },
  defaultVariants: {
    gap: "md",
    align: "stretch",
    justify: "start"
  }
});
function Stack({ className, gap, align, justify, ...props }) {
  return /* @__PURE__ */ jsx("div", { className: cn(stackVariants({ gap, align, justify }), className), ...props });
}

export { Stack, stackVariants };
//# sourceMappingURL=stack.js.map
//# sourceMappingURL=stack.js.map