"use client";
'use strict';

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

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);

// components/blocks/team/team-media-showcase.tsx
function cn(...inputs) {
  return tailwindMerge.twMerge(clsx.clsx(inputs));
}
var maxWidthStyles = {
  sm: "max-w-screen-sm",
  md: "max-w-screen-md",
  lg: "max-w-screen-lg",
  xl: "max-w-7xl",
  "2xl": "max-w-screen-2xl",
  "4xl": "max-w-[1536px]",
  full: "max-w-full"
};
var Container = React__namespace.default.forwardRef(
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
    const Component = as;
    return /* @__PURE__ */ jsxRuntime.jsx(
      Component,
      {
        ref,
        className: cn(
          "mx-auto w-full px-2 sm:px-4 lg:px-8",
          maxWidthStyles[maxWidth],
          className
        ),
        ...props,
        children
      }
    );
  }
);
Container.displayName = "Container";
var backgroundStyles = {
  white: "bg-background text-foreground",
  gray: "bg-muted/30 text-foreground",
  dark: "bg-foreground text-background",
  gradient: "bg-linear-to-br from-primary via-primary/90 to-foreground text-primary-foreground",
  primary: "bg-primary text-primary-foreground",
  secondary: "bg-secondary text-secondary-foreground",
  muted: "bg-muted text-muted-foreground"
};
var spacingStyles = {
  none: "py-0 md:py-0",
  sm: "py-12 md:py-16",
  md: "py-16 md:py-24",
  lg: "py-20 md:py-32",
  xl: "py-24 md:py-40"
};
var Section = React__namespace.default.forwardRef(
  ({
    id,
    title,
    subtitle,
    children,
    className,
    style,
    background = "white",
    spacing = "lg",
    ...props
  }, ref) => {
    return /* @__PURE__ */ jsxRuntime.jsx(
      "section",
      {
        ref,
        id,
        className: cn(
          backgroundStyles[background],
          spacingStyles[spacing],
          className
        ),
        style,
        ...props,
        children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { children: [
          (title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center mb-12 md:mb-16", children: [
            subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-semibold uppercase tracking-wider mb-2 text-primary", children: subtitle }),
            title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-3xl md:text-4xl lg:text-5xl font-bold tracking-tight", children: title })
          ] }),
          children
        ] })
      }
    );
  }
);
Section.displayName = "Section";
var TeamMemberBackgroundImageCard = React__namespace.forwardRef(
  ({ className, imageUrl, imageAlt, children, optixFlowConfig, ...props }, ref) => {
    return /* @__PURE__ */ jsxRuntime.jsxs(
      "div",
      {
        ref,
        className: cn(
          "group h-[400px] relative w-full max-w-sm overflow-hidden rounded-xl border border-border bg-card shadow-lg",
          "transition-all duration-300 ease-in-out",
          className
        ),
        ...props,
        children: [
          /* @__PURE__ */ jsxRuntime.jsx(
            img.Img,
            {
              src: imageUrl,
              alt: imageAlt,
              className: "absolute inset-0 h-full w-full object-cover transition-transform duration-500 ease-in-out group-hover:scale-110",
              optixFlowConfig
            }
          ),
          /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-linear-to-t from-black/80 via-black/20 to-transparent" }),
          children
        ]
      }
    );
  }
);
TeamMemberBackgroundImageCard.displayName = "TeamMemberBackgroundImageCard";
function TeamMediaShowcase({
  items,
  children,
  listEyebrow,
  background = "white",
  verticalMargin = "lg",
  gridClassName = "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",
  className,
  optixFlowConfig
}) {
  return /* @__PURE__ */ jsxRuntime.jsx(
    Section,
    {
      background,
      spacing: verticalMargin,
      className,
      children: /* @__PURE__ */ jsxRuntime.jsxs(Container, { children: [
        children,
        /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-12", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
          listEyebrow && typeof listEyebrow === "string" && listEyebrow.trim() !== "" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-md pt-8 uppercase text-dark-charcoal/70 tracking-[0.2em] font-semibold", children: listEyebrow }),
          /* @__PURE__ */ jsxRuntime.jsx("div", { className: gridClassName, children: items.map((member, idx) => {
            const imageAlt = member.imageAlt || (member.name && typeof member.name === "string" && member.name.trim() !== "" ? member.name : `member-${idx}`);
            return /* @__PURE__ */ jsxRuntime.jsx(
              TeamMemberBackgroundImageCard,
              {
                imageUrl: member.imageSrc,
                imageAlt,
                className: member.cardClassName,
                optixFlowConfig,
                children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex h-full flex-col justify-end p-6 text-card-foreground", children: [
                  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4 transition-transform duration-500 ease-in-out md:group-hover:-translate-y-12", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
                    member.name && typeof member.name === "string" && member.name.trim() !== "" && /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-3xl font-bold text-white", children: member.name }),
                    member.role && typeof member.role === "string" && member.role.trim() !== "" && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-white/80", children: member.role })
                  ] }) }),
                  member.action ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 w-full md:absolute md:-bottom-20 md:left-0 md:mt-0 md:p-6 md:pt-2 md:opacity-0 md:transition-all md:duration-500 md:ease-in-out md:group-hover:bottom-0 md:group-hover:opacity-100", children: member.action }) : null
                ] })
              },
              idx
            );
          }) })
        ] }) })
      ] })
    }
  );
}

exports.TeamMediaShowcase = TeamMediaShowcase;
exports.TeamMemberBackgroundImageCard = TeamMemberBackgroundImageCard;
//# sourceMappingURL=team-media-showcase.cjs.map
//# sourceMappingURL=team-media-showcase.cjs.map