-
+
{title}
diff --git a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx
index 2aab4d0e3..5748d548f 100644
--- a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx
+++ b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx
@@ -3,7 +3,7 @@ import DisclosureComponent from "../DisclosureComponent";
import {
classNames,
nodeColors,
- nodeIcons,
+ nodeIconsLucide,
nodeNames,
} from "../../../../utils";
import { useContext, useState } from "react";
@@ -11,7 +11,7 @@ import { typesContext } from "../../../../contexts/typesContext";
import { APIClassType, APIObjectType } from "../../../../types/api";
import { MagnifyingGlassIcon } from "@heroicons/react/24/outline";
import ShadTooltip from "../../../../components/ShadTooltipComponent";
-import { Code2, FileDown, FileUp, Save } from "lucide-react";
+import { Code2, FileDown, FileUp, Save, Search } from "lucide-react";
import { PopUpContext } from "../../../../contexts/popUpContext";
import ExportModal from "../../../../modals/exportModal";
import ApiModal from "../../../../modals/ApiModal";
@@ -135,7 +135,7 @@ export default function ExtraSidebar() {
}}
/>
-
+
@@ -149,7 +149,7 @@ export default function ExtraSidebar() {
key={i}
button={{
title: nodeNames[d] ?? nodeNames.unknown,
- Icon: nodeIcons[d] ?? nodeIcons.unknown,
+ Icon: nodeIconsLucide[d] ?? nodeIconsLucide.unknown,
}}
>
diff --git a/src/frontend/src/types/components/index.ts b/src/frontend/src/types/components/index.ts
index 11f8aec07..630526193 100644
--- a/src/frontend/src/types/components/index.ts
+++ b/src/frontend/src/types/components/index.ts
@@ -1,4 +1,10 @@
-import { ForwardRefExoticComponent, ReactElement, ReactNode } from "react";
+import {
+ ComponentType,
+ ForwardRefExoticComponent,
+ ReactElement,
+ ReactNode,
+ SVGProps,
+} from "react";
import { NodeDataType } from "../flow/index";
import { typesContextType } from "../typesContext";
export type InputComponentType = {
@@ -65,7 +71,7 @@ export type DisclosureComponentType = {
openDisc: boolean;
button: {
title: string;
- Icon: ForwardRefExoticComponent>;
+ Icon: any;
buttons?: {
Icon: ReactElement;
title: string;
diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts
index c09c64b2b..0b853974c 100644
--- a/src/frontend/src/utils.ts
+++ b/src/frontend/src/utils.ts
@@ -42,6 +42,27 @@ import { SlackIcon } from "./icons/Slack";
import clsx, { ClassValue } from "clsx";
import { twMerge } from "tailwind-merge";
import { ADJECTIVES, DESCRIPTIONS, NOUNS } from "./constants";
+import { ComponentType, SVGProps } from "react";
+import {
+ Boxes,
+ Cpu,
+ Fingerprint,
+ Gift,
+ Hammer,
+ HelpCircle,
+ Laptop2,
+ Layers,
+ LayoutDashboard,
+ Lightbulb,
+ Link,
+ MessageCircle,
+ Paperclip,
+ Rocket,
+ Scissors,
+ TerminalSquare,
+ Wand2,
+ Wrench,
+} from "lucide-react";
export function classNames(...classes: Array) {
return classes.filter(Boolean).join(" ");
@@ -198,6 +219,142 @@ export const nodeIcons: {
unknown: QuestionMarkCircleIcon,
};
+export const nodeIconsLucide: {
+ [char: string]: React.ForwardRefExoticComponent<
+ ComponentType>
+ >;
+} = {
+ Chroma: ChromaIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ AirbyteJSONLoader: AirbyteIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ Anthropic: AnthropicIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ ChatAnthropic: AnthropicIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ BingSearchAPIWrapper: BingIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ BingSearchRun: BingIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ Cohere: CohereIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ CohereEmbeddings: CohereIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ EverNoteLoader: EvernoteIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ FacebookChatLoader: FBIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ GitbookLoader: GitBookIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ GoogleSearchAPIWrapper: GoogleIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ GoogleSearchResults: GoogleIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ GoogleSearchRun: GoogleIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ HNLoader: HackerNewsIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ HuggingFaceHub: HugginFaceIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ HuggingFaceEmbeddings: HugginFaceIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ IFixitLoader: IFixIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ Meta: MetaIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ Midjorney: MidjorneyIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ NotionDirectoryLoader: NotionIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ ChatOpenAI: OpenAiIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ OpenAI: OpenAiIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ OpenAIEmbeddings: OpenAiIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ Qdrant: QDrantIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ Searx: SearxIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ SlackDirectoryLoader: SlackIcon as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ agents: Rocket as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ chains: Link as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ memories: Cpu as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ llms: Lightbulb as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ prompts: TerminalSquare as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ tools: Wrench as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ advanced: Laptop2 as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ chat: MessageCircle as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ embeddings: Fingerprint as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ documentloaders: Paperclip as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ vectorstores: Layers as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ toolkits: Hammer as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ textsplitters: Scissors as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ wrappers: Gift as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ utilities: Wand2 as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+ unknown: HelpCircle as React.ForwardRefExoticComponent<
+ ComponentType>
+ >,
+};
+
export const gradients = [
"bg-gradient-to-br from-gray-800 via-rose-700 to-violet-900",
"bg-gradient-to-br from-green-200 via-green-300 to-blue-500",