'use strict';

const jsxRuntime = require('react/jsx-runtime');
const React = require('react');
const classVarianceAuthority = require('class-variance-authority');
const utils = require('../../../lib/utils.cjs');

function _interopNamespaceCompat(e) {
  if (e && typeof e === 'object' && 'default' in e) return e;
  const n = Object.create(null);
  if (e) {
    for (const k in e) {
      n[k] = e[k];
    }
  }
  n.default = e;
  return n;
}

const React__namespace = /*#__PURE__*/_interopNamespaceCompat(React);

const flexboxVariants = classVarianceAuthority.cva(
  "flex",
  {
    variants: {
      direction: {
        row: "flex-row",
        column: "flex-col",
        rowReverse: "flex-row-reverse",
        columnReverse: "flex-col-reverse"
      },
      justify: {
        start: "justify-start",
        end: "justify-end",
        center: "justify-center",
        between: "justify-between",
        around: "justify-around",
        evenly: "justify-evenly"
      },
      align: {
        start: "items-start",
        end: "items-end",
        center: "items-center",
        baseline: "items-baseline",
        stretch: "items-stretch"
      },
      wrap: {
        nowrap: "flex-nowrap",
        wrap: "flex-wrap",
        wrapReverse: "flex-wrap-reverse"
      },
      gap: {
        0: "gap-0",
        1: "gap-1",
        2: "gap-2",
        4: "gap-4",
        8: "gap-8"
      }
    },
    defaultVariants: {
      direction: "row",
      justify: "start",
      align: "start",
      wrap: "nowrap",
      gap: 0
    }
  }
);
const Flexbox = React__namespace.forwardRef(
  ({ className, direction, justify, align, wrap, gap, ...props }, ref) => {
    return /* @__PURE__ */ jsxRuntime.jsx(
      "div",
      {
        className: utils.cn(flexboxVariants({ direction, justify, align, wrap, gap, className })),
        ref,
        ...props
      }
    );
  }
);
Flexbox.displayName = "Flexbox";

exports.Flexbox = Flexbox;
exports.flexboxVariants = flexboxVariants;
