"use client";
import { jsx, jsxs } from "react/jsx-runtime";
import "react";
import { cn } from "../../lib/utils.js";
import Check from "../../node_modules/lucide-react/dist/esm/icons/check.js";
import ChevronDown from "../../node_modules/lucide-react/dist/esm/icons/chevron-down.js";
import ChevronUp from "../../node_modules/lucide-react/dist/esm/icons/chevron-up.js";
import { SelectRoot } from "../../node_modules/@base-ui/react/esm/select/root/SelectRoot.js";
import { SelectPortal } from "../../node_modules/@base-ui/react/esm/select/portal/SelectPortal.js";
import { SelectPositioner } from "../../node_modules/@base-ui/react/esm/select/positioner/SelectPositioner.js";
import { SelectPopup } from "../../node_modules/@base-ui/react/esm/select/popup/SelectPopup.js";
import { SelectList } from "../../node_modules/@base-ui/react/esm/select/list/SelectList.js";
import { SelectGroup as SelectGroup$1 } from "../../node_modules/@base-ui/react/esm/select/group/SelectGroup.js";
import { SelectItem as SelectItem$1 } from "../../node_modules/@base-ui/react/esm/select/item/SelectItem.js";
import { SelectItemText } from "../../node_modules/@base-ui/react/esm/select/item-text/SelectItemText.js";
import { SelectItemIndicator } from "../../node_modules/@base-ui/react/esm/select/item-indicator/SelectItemIndicator.js";
import { SelectGroupLabel } from "../../node_modules/@base-ui/react/esm/select/group-label/SelectGroupLabel.js";
import { SelectScrollDownArrow } from "../../node_modules/@base-ui/react/esm/select/scroll-down-arrow/SelectScrollDownArrow.js";
import { SelectScrollUpArrow } from "../../node_modules/@base-ui/react/esm/select/scroll-up-arrow/SelectScrollUpArrow.js";
import { Separator } from "../../node_modules/@base-ui/react/esm/separator/Separator.js";
import { SelectTrigger as SelectTrigger$1 } from "../../node_modules/@base-ui/react/esm/select/trigger/SelectTrigger.js";
import { SelectIcon } from "../../node_modules/@base-ui/react/esm/select/icon/SelectIcon.js";
import { SelectValue as SelectValue$1 } from "../../node_modules/@base-ui/react/esm/select/value/SelectValue.js";
const Select = SelectRoot;
function SelectGroup({ className, ...props }) {
  return /* @__PURE__ */ jsx(
    SelectGroup$1,
    {
      "data-slot": "select-group",
      className: cn("scroll-my-1 p-1", className),
      ...props
    }
  );
}
function SelectValue({ className, ...props }) {
  return /* @__PURE__ */ jsx(
    SelectValue$1,
    {
      "data-slot": "select-value",
      className: cn("flex flex-1 text-left", className),
      ...props
    }
  );
}
function SelectTrigger({
  className,
  size = "default",
  children,
  ...props
}) {
  return /* @__PURE__ */ jsxs(
    SelectTrigger$1,
    {
      "data-slot": "select-trigger",
      "data-size": size,
      className: cn(
        "border-input data-[placeholder]:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-md border bg-transparent py-2 pr-2 pl-2.5 text-sm shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:flex *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*='size-'])]:size-4 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0",
        className
      ),
      ...props,
      children: [
        children,
        /* @__PURE__ */ jsx(
          SelectIcon,
          {
            render: /* @__PURE__ */ jsx(ChevronDown, { className: "text-muted-foreground size-4 pointer-events-none" })
          }
        )
      ]
    }
  );
}
function SelectContent({
  className,
  children,
  side = "bottom",
  sideOffset = 4,
  align = "center",
  alignOffset = 0,
  alignItemWithTrigger = true,
  ...props
}) {
  return /* @__PURE__ */ jsx(SelectPortal, { children: /* @__PURE__ */ jsx(
    SelectPositioner,
    {
      side,
      sideOffset,
      align,
      alignOffset,
      alignItemWithTrigger,
      className: "isolate z-50",
      children: /* @__PURE__ */ jsxs(
        SelectPopup,
        {
          "data-slot": "select-content",
          className: cn(
            "bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 min-w-36 rounded-md shadow-md ring-1 duration-100 relative isolate z-50 max-h-(--available-height) w-(--anchor-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto",
            className
          ),
          ...props,
          children: [
            /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
            /* @__PURE__ */ jsx(SelectList, { children }),
            /* @__PURE__ */ jsx(SelectScrollDownButton, {})
          ]
        }
      )
    }
  ) });
}
function SelectLabel({ className, ...props }) {
  return /* @__PURE__ */ jsx(
    SelectGroupLabel,
    {
      "data-slot": "select-label",
      className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
      ...props
    }
  );
}
function SelectItem({ className, children, ...props }) {
  return /* @__PURE__ */ jsxs(
    SelectItem$1,
    {
      "data-slot": "select-item",
      className: cn(
        "focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
        className
      ),
      ...props,
      children: [
        /* @__PURE__ */ jsx(SelectItemText, { className: "flex flex-1 gap-2 shrink-0 whitespace-nowrap", children }),
        /* @__PURE__ */ jsx(
          SelectItemIndicator,
          {
            render: /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }),
            children: /* @__PURE__ */ jsx(Check, { className: "pointer-events-none" })
          }
        )
      ]
    }
  );
}
function SelectSeparator({ className, ...props }) {
  return /* @__PURE__ */ jsx(
    Separator,
    {
      "data-slot": "select-separator",
      className: cn("bg-border -mx-1 my-1 h-px pointer-events-none", className),
      ...props
    }
  );
}
function SelectScrollUpButton({
  className,
  ...props
}) {
  return /* @__PURE__ */ jsx(
    SelectScrollUpArrow,
    {
      "data-slot": "select-scroll-up-button",
      className: cn(
        "bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4 top-0 w-full",
        className
      ),
      ...props,
      children: /* @__PURE__ */ jsx(ChevronUp, {})
    }
  );
}
function SelectScrollDownButton({
  className,
  ...props
}) {
  return /* @__PURE__ */ jsx(
    SelectScrollDownArrow,
    {
      "data-slot": "select-scroll-down-button",
      className: cn(
        "bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4 bottom-0 w-full",
        className
      ),
      ...props,
      children: /* @__PURE__ */ jsx(ChevronDown, {})
    }
  );
}
export {
  Select,
  SelectContent,
  SelectGroup,
  SelectItem,
  SelectLabel,
  SelectScrollDownButton,
  SelectScrollUpButton,
  SelectSeparator,
  SelectTrigger,
  SelectValue
};
//# sourceMappingURL=select.js.map
