"use client";
'use strict';

var React = require('react');
var clsx = require('clsx');
var tailwindMerge = require('tailwind-merge');
var jsxRuntime = require('react/jsx-runtime');

function _interopNamespace(e) {
  if (e && e.__esModule) return e;
  var n = Object.create(null);
  if (e) {
    Object.keys(e).forEach(function (k) {
      if (k !== 'default') {
        var d = Object.getOwnPropertyDescriptor(e, k);
        Object.defineProperty(n, k, d.get ? d : {
          enumerable: true,
          get: function () { return e[k]; }
        });
      }
    });
  }
  n.default = e;
  return Object.freeze(n);
}

var React__namespace = /*#__PURE__*/_interopNamespace(React);

var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
function cn(...inputs) {
  return tailwindMerge.twMerge(clsx.clsx(inputs));
}
__name(cn, "cn");
var Marquee = React__namespace.forwardRef(
  ({
    className,
    children,
    repeat = 2,
    reverse = false,
    pauseOnHover = false,
    vertical = false,
    ...props
  }, ref) => {
    return /* @__PURE__ */ jsxRuntime.jsx(
      "div",
      {
        ref,
        className: cn(
          "group flex overflow-hidden",
          vertical ? "flex-col" : "flex-row",
          className
        ),
        ...props,
        children: Array.from({ length: repeat }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
          "div",
          {
            className: cn(
              "flex shrink-0",
              vertical ? "animate-marquee-vertical flex-col" : "animate-marquee",
              reverse && (vertical ? "[animation-direction:reverse]" : "[animation-direction:reverse]"),
              pauseOnHover && "group-hover:[animation-play-state:paused]"
            ),
            children
          },
          i
        ))
      }
    );
  }
);
Marquee.displayName = "Marquee";

exports.Marquee = Marquee;
