'use strict';
import { jsx } from 'react/jsx-runtime';
import { Play, SquareDashed, Upload, Archive, Store, Camera, Image, Clock, Box, MoonStar, Sun, Monitor, LogIn, History, List, LayoutGrid, Share2, MessageSquare, HelpCircle, Eraser, RefreshCw, Dot, Bell, Settings2, BriefcaseBusiness, Mail, FileText, User, Menu, LogOut, Globe, Settings, CalendarDays, SquarePen, Pen, Link2Off, Link2, ChevronsRight, ChevronsLeft, ArrowRight, ArrowLeft, ChevronLeft, ChevronUp, ChevronDown, ChevronsUpDown, Check, Plus, Search, GripVertical, EllipsisVertical, Ellipsis, X, Trash, ChevronRight, EyeOff, Eye } from 'lucide-react';
import { FilterIcon } from './custom-icons/FilterIcon.js';
import { cn } from '../../../fd-toolbox/lib/utils.js';
import { FacebookLogo } from '../logos/FacebookLogo.js';
import { MicrosoftLogo } from '../logos/MicrosoftLogo.js';
import { GoogleLogo } from '../logos/GoogleLogo.js';

var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", {
  value,
  configurable: true
});
const iconSizes = {
  extraSmall: "size-3",
  small: "size-4",
  medium: "size-5",
  large: "size-6",
  extralarge: "size-7"
};
const iconNames = {
  visibility: "visibility",
  visibilityOff: "visibilityOff",
  chevronRight: "chevronRight",
  chevronLeft: "chevronLeft",
  chevronDown: "chevronDown",
  chevronUp: "chevronUp",
  trash: "trash",
  edit: "edit",
  cross: "cross",
  bell: "bell",
  dotsHorizontal: "dotsHorizontal",
  magnifyingGlass: "magnifyingGlass",
  plus: "plus",
  check: "check",
  caretSort: "caretSort",
  caretDown: "caretDown",
  caretUp: "caretUp",
  arrowLeft: "arrowLeft",
  arrowRight: "arrowRight",
  doubleArrowLeft: "doubleArrowLeft",
  doubleArrowRight: "doubleArrowRight",
  link: "link",
  dragHandleDots2: "dragHandleDots2",
  calendar: "calendar",
  globe: "globe",
  gear: "gear",
  exit: "exit",
  person: "person",
  fileText: "fileText",
  envelopeClosed: "envelopeClosed",
  backpack: "backpack",
  pencil2: "pencil2",
  mixerHorizontal: "mixerHorizontal",
  hamburgerMenu: "hamburgerMenu",
  dotFilled: "dotFilled",
  refresh: "refresh",
  eraser: "eraser",
  facebookLogo: "facebookLogo",
  microsoftLogo: "microsoftLogo",
  googleLogo: "googleLogo",
  filter: "filter",
  dotsVerticalIcon: "dotsVerticalIcon",
  questionMarkCircledIcon: "questionMarkCircledIcon",
  caretLeftIcon: "caretLeftIcon",
  chatBubbleIcon: "chatBubbleIcon",
  share1Icon: "share1Icon",
  linkBreak1Icon: "linkBreak1Icon",
  dashboard: "dashboard",
  listBulletIcon: "listBulletIcon",
  eyeNoneIcon: "eyeNoneIcon",
  eyeOpenIcon: "eyeOpenIcon",
  counterClockwiseClockIcon: "counterClockwiseClockIcon",
  enter: "enter",
  desktop: "desktop",
  sun: "sun",
  moon: "moon",
  cube: "cubeIcon",
  clock: "clock",
  image: "image",
  camera: "camera",
  mix: "mix",
  archive: "archive",
  upload: "upload",
  group: "group",
  playIcon: "playIcon",
  brickWall: "brickWall",
  messageIcon: "messageIcon"
};
const defaultSidebarIconName = iconNames.mixerHorizontal;
const iconMap = {
  visibility: Eye,
  visibilityOff: EyeOff,
  chevronRight: ChevronRight,
  chevronLeft: ChevronLeft,
  chevronDown: ChevronDown,
  chevronUp: ChevronUp,
  trash: Trash,
  cross: X,
  dotsHorizontal: Ellipsis,
  dotsVerticalIcon: EllipsisVertical,
  dragHandleDots2: GripVertical,
  magnifyingGlass: Search,
  plus: Plus,
  check: Check,
  caretSort: ChevronsUpDown,
  caretDown: ChevronDown,
  caretUp: ChevronUp,
  caretLeftIcon: ChevronLeft,
  arrowLeft: ArrowLeft,
  arrowRight: ArrowRight,
  doubleArrowLeft: ChevronsLeft,
  doubleArrowRight: ChevronsRight,
  link: Link2,
  linkBreak1Icon: Link2Off,
  edit: Pen,
  pencil2: SquarePen,
  calendar: CalendarDays,
  gear: Settings,
  globe: Globe,
  exit: LogOut,
  hamburgerMenu: Menu,
  person: User,
  fileText: FileText,
  envelopeClosed: Mail,
  backpack: BriefcaseBusiness,
  mixerHorizontal: Settings2,
  bell: Bell,
  dotFilled: Dot,
  refresh: RefreshCw,
  eraser: Eraser,
  facebookLogo: FacebookLogo,
  microsoftLogo: MicrosoftLogo,
  googleLogo: GoogleLogo,
  filter: FilterIcon,
  questionMarkCircledIcon: HelpCircle,
  chatBubbleIcon: MessageSquare,
  share1Icon: Share2,
  dashboard: LayoutGrid,
  listBulletIcon: List,
  counterClockwiseClockIcon: History,
  enter: LogIn,
  desktop: Monitor,
  sun: Sun,
  moon: MoonStar,
  cubeIcon: Box,
  clock: Clock,
  image: Image,
  camera: Camera,
  mix: Store,
  archive: Archive,
  upload: Upload,
  group: SquareDashed,
  playIcon: Play
};
function Icon({
  name,
  size,
  color,
  className,
  id,
  onClick
}) {
  if (!(name in iconMap)) {
    return void 0;
  }
  const IconComponent = iconMap[name];
  return /* @__PURE__ */jsx(IconComponent, {
    id: id ?? "",
    className: cn("stroke-[1.6]", size ?? iconSizes.small, color ?? "text-muted-foreground", className ?? ""),
    onClick
  });
}
__name(Icon, "Icon");

export { Icon, defaultSidebarIconName, iconNames, iconSizes };
