import { ArchiveIcon, ArrowUpIcon, CheckIcon, ChevronIcon, CircleCloseIcon, CloseIcon, DocumentIcon, ImageIcon, InfoIcon, KeyboardIcon, LightbulbIcon, LinkPlusIcon, LoaderIcon, LockIcon, MessageIcon, MessagePlusIcon, PlusIcon, SearchIcon, SignInIcon, SirenIcon, SparkleIcon, WarningIcon, WrenchIcon, } from "@chopin/icons"; import addProject from "../assets/figma/navigation/add-project.svg"; import chopin from "../assets/figma/navigation/chopin.svg"; import documentActions from "../assets/figma/navigation/document-actions.svg"; import newDocument from "../assets/figma/navigation/new-document.svg"; import panelClose from "../assets/icons/panel-close.svg"; import chat from "../assets/icons/chat.svg"; import plannerResume from "../assets/icons/planner-resume.svg"; import plannerStop from "../assets/icons/planner-stop.svg"; import type { IconProps } from "@chopin/icons"; import type { ComponentType } from "react"; type IconCatalogueItem = { className?: string; icon?: ComponentType; name: string; source?: string; }; const NUCLEO_ICONS: readonly IconCatalogueItem[] = [ { name: "Add project", source: addProject }, { name: "Chopin", source: chopin }, { name: "Panel close", source: panelClose }, { name: "Document actions", source: documentActions }, { name: "New document", source: newDocument }, { name: "Chat", source: chat }, { name: "Planner stop", source: plannerStop }, { name: "Planner resume", source: plannerResume }, { icon: LinkPlusIcon, name: "Link plus" }, { icon: MessagePlusIcon, name: "Message plus" }, { icon: ArrowUpIcon, name: "Arrow up" }, { icon: ChevronIcon, name: "Chevron right" }, { className: "rotate-90", icon: ChevronIcon, name: "Chevron down (rotated)" }, { icon: MessageIcon, name: "Message" }, { icon: CheckIcon, name: "Check" }, { icon: WrenchIcon, name: "Wrench" }, { icon: InfoIcon, name: "Info" }, { icon: KeyboardIcon, name: "Keyboard" }, { icon: ImageIcon, name: "Image" }, { icon: LightbulbIcon, name: "Lightbulb" }, { icon: PlusIcon, name: "Plus" }, { icon: CloseIcon, name: "Close" }, { icon: CircleCloseIcon, name: "Close in circle" }, { icon: LockIcon, name: "Lock" }, { icon: SignInIcon, name: "Sign in" }, { icon: SirenIcon, name: "Siren" }, { icon: SparkleIcon, name: "Important sparkle" }, { icon: WarningIcon, name: "Warning" }, { icon: ArchiveIcon, name: "Archive" }, { icon: DocumentIcon, name: "Document" }, { icon: SearchIcon, name: "Search" }, { icon: LoaderIcon, name: "Loader" }, ]; export function IconCatalogue() { return (
{(["Default", "Active", "Disabled"] as const).map(state => (
))}

Nucleo icons

{NUCLEO_ICONS.map(({ className, icon: Glyph, name, source }) => (
{source ? : null} {Glyph ?
{name}
))}
{([ { label: "Interface", size: 14 }, { label: "Illustrative", size: 24 }, ] as const).map(({ label, size }) => (
))}
); }