diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json index 6f2c14eb89c7..27f1c1eb728a 100644 --- a/src/frontend/package-lock.json +++ b/src/frontend/package-lock.json @@ -14,22 +14,18 @@ "@million/lint": "^1.0.0-rc.26", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-checkbox": "^1.0.4", - "@radix-ui/react-collapsible": "^1.1.1", "@radix-ui/react-dialog": "^1.1.2", "@radix-ui/react-dropdown-menu": "^2.0.6", "@radix-ui/react-form": "^0.0.3", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-menubar": "^1.0.4", "@radix-ui/react-popover": "^1.0.7", - "@radix-ui/react-progress": "^1.0.3", "@radix-ui/react-select": "^2.0.0", "@radix-ui/react-separator": "^1.0.3", "@radix-ui/react-slider": "^1.2.1", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-tabs": "^1.0.4", - "@radix-ui/react-toggle": "^1.0.3", "@radix-ui/react-tooltip": "^1.0.7", "@tabler/icons-react": "^3.6.0", "@tailwindcss/forms": "^0.5.7", @@ -3038,6 +3034,7 @@ "version": "0.0.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-form/-/react-form-0.0.3.tgz", "integrity": "sha512-kgE+Z/haV6fxE5WqIXj05KkaXa3OkZASoTDy25yX2EIp/x0c54rOH/vFr5nOZTg7n7T1z8bSyXmiVIFP9bbhPQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.1", @@ -3066,6 +3063,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" } @@ -3074,6 +3072,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" }, @@ -3091,6 +3090,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" }, @@ -3108,6 +3108,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-layout-effect": "1.0.1" @@ -3126,6 +3127,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.2.tgz", "integrity": "sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-primitive": "1.0.3" @@ -3149,6 +3151,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-slot": "1.0.2" @@ -3172,6 +3175,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.1" @@ -3190,6 +3194,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.13.10" }, @@ -3289,37 +3294,6 @@ } } }, - "node_modules/@radix-ui/react-menubar": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menubar/-/react-menubar-1.1.6.tgz", - "integrity": "sha512-FHq7+3DlXwh/7FOM4i0G4bC4vPjiq89VEEvNF4VMLchGnaUuUbE5uKXMUCjdKaOghEEMeiKa5XCa2Pk4kteWmg==", - "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-collection": "1.1.2", - "@radix-ui/react-compose-refs": "1.1.1", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-direction": "1.1.0", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-menu": "2.1.6", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-roving-focus": "1.1.2", - "@radix-ui/react-use-controllable-state": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-popover": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.6.tgz", @@ -3455,29 +3429,6 @@ } } }, - "node_modules/@radix-ui/react-progress": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.1.2.tgz", - "integrity": "sha512-u1IgJFQ4zNAUTjGdDL5dcl/U8ntOR6jsnhxKb5RKp5Ozwl88xKR9EqRZOe/Mk8tnx0x5tNUe2F+MzsyjqMg0MA==", - "dependencies": { - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-primitive": "2.0.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-roving-focus": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.2.tgz", @@ -3576,6 +3527,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.2.3.tgz", "integrity": "sha512-nNrLAWLjGESnhqBqcCNW4w2nn7LxudyMzeB6VgdyAnFLC6kfQgnAjSL2v6UkQTnDctJBlxrmxfplWS4iYjdUTw==", + "license": "MIT", "dependencies": { "@radix-ui/number": "1.1.0", "@radix-ui/primitive": "1.1.1", @@ -3678,30 +3630,6 @@ } } }, - "node_modules/@radix-ui/react-toggle": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.1.2.tgz", - "integrity": "sha512-lntKchNWx3aCHuWKiDY+8WudiegQvBpDRAYL8dKLRvKEH8VOpl0XX6SSU/bUBqIRJbcTy4+MW06Wv8vgp10rzQ==", - "dependencies": { - "@radix-ui/primitive": "1.1.1", - "@radix-ui/react-primitive": "2.0.2", - "@radix-ui/react-use-controllable-state": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-tooltip": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.8.tgz", diff --git a/src/frontend/package.json b/src/frontend/package.json index 0c728c597394..893c4cbb686f 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -9,22 +9,18 @@ "@million/lint": "^1.0.0-rc.26", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-checkbox": "^1.0.4", - "@radix-ui/react-collapsible": "^1.1.1", "@radix-ui/react-dialog": "^1.1.2", "@radix-ui/react-dropdown-menu": "^2.0.6", "@radix-ui/react-form": "^0.0.3", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-menubar": "^1.0.4", "@radix-ui/react-popover": "^1.0.7", - "@radix-ui/react-progress": "^1.0.3", "@radix-ui/react-select": "^2.0.0", "@radix-ui/react-separator": "^1.0.3", "@radix-ui/react-slider": "^1.2.1", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-tabs": "^1.0.4", - "@radix-ui/react-toggle": "^1.0.3", "@radix-ui/react-tooltip": "^1.0.7", "@tabler/icons-react": "^3.6.0", "@tailwindcss/forms": "^0.5.7", diff --git a/src/frontend/src/CustomNodes/GenericNode/components/outputModal/components/switchOutputView/helpers/convert-to-table-rows.ts b/src/frontend/src/CustomNodes/GenericNode/components/outputModal/components/switchOutputView/helpers/convert-to-table-rows.ts deleted file mode 100644 index db61acaa371c..000000000000 --- a/src/frontend/src/CustomNodes/GenericNode/components/outputModal/components/switchOutputView/helpers/convert-to-table-rows.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const convertToTableRows = (obj: Object) => { - const tokensArray = [Object.values(obj)[0]]; - return tokensArray; -}; diff --git a/src/frontend/src/alerts/hooks/useOnClickOutside/index.ts b/src/frontend/src/alerts/hooks/useOnClickOutside/index.ts deleted file mode 100644 index e11fd6cd54b5..000000000000 --- a/src/frontend/src/alerts/hooks/useOnClickOutside/index.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { useEffect } from "react"; - -export function useOnClickOutside(ref, handler) { - useEffect(() => { - const listener = (event: Event) => { - // Do nothing if clicking ref's element or its children - if (!ref.current || ref.current.contains(event.target)) { - return; - } - - handler(event); - }; - - // Attach the listener to the document - document.addEventListener("mousedown", listener, { passive: true }); - - // Attach the listener to the react-flow instance - const reactFlowContainer = document.querySelector(".react-flow"); - if (reactFlowContainer) { - reactFlowContainer.addEventListener("mousedown", listener, { - passive: true, - }); - } - - // Clean up the listener when the component is unmounted - return () => { - document.removeEventListener("mousedown", listener); - if (reactFlowContainer) { - reactFlowContainer.removeEventListener("mousedown", listener); - } - }; - }, [ref, handler]); // Rerun only if ref or handler changes -} diff --git a/src/frontend/src/components/common/accordionComponent/composite/folderAccordionComponent/index.tsx b/src/frontend/src/components/common/accordionComponent/composite/folderAccordionComponent/index.tsx deleted file mode 100644 index cf8571daaad9..000000000000 --- a/src/frontend/src/components/common/accordionComponent/composite/folderAccordionComponent/index.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { useState } from "react"; -import { AccordionComponentType } from "../../../../types/components"; -import IconComponent from "../../../common/genericIconComponent"; -import { - Accordion, - AccordionContent, - AccordionItem, - AccordionTrigger, -} from "../../../ui/custom-accordion"; - -export default function FolderAccordionComponent({ - trigger, - open = [], - keyValue, - options, -}: AccordionComponentType): JSX.Element { - const [value, setValue] = useState( - open.length === 0 ? "" : getOpenAccordion(), - ); - - function getOpenAccordion(): string { - let value = ""; - open.forEach((el) => { - if (el == trigger) { - value = trigger; - } - }); - - return value; - } - - function handleClick(): void { - value === "" ? setValue(keyValue!) : setValue(""); - } - - return ( - <> - - - { - handleClick(); - }} - className="px-2" - > - {trigger} - - - {options!.map((option, index) => ( -
-
- ))} -
-
-
- - ); -} diff --git a/src/frontend/src/components/common/arrayReaderComponent/index.tsx b/src/frontend/src/components/common/arrayReaderComponent/index.tsx deleted file mode 100644 index 6e151d426344..000000000000 --- a/src/frontend/src/components/common/arrayReaderComponent/index.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import TableAutoCellRender from "../tableComponent/components/tableAutoCellRender"; - -export default function ArrayReader({ array }: { array: any[] }): JSX.Element { - //TODO check array type - return ( -
- -
- ); -} diff --git a/src/frontend/src/components/common/catchAllRoutes/index.tsx b/src/frontend/src/components/common/catchAllRoutes/index.tsx deleted file mode 100644 index 1a2f471b0112..000000000000 --- a/src/frontend/src/components/common/catchAllRoutes/index.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { useCustomNavigate } from "@/customization/hooks/use-custom-navigate"; -import { useEffect } from "react"; - -export const CatchAllRoute = () => { - const navigate = useCustomNavigate(); - - // Redirect to the root ("/") when the catch-all route is matched - useEffect(() => { - navigate("/"); - }, []); - - return null; -}; diff --git a/src/frontend/src/components/common/fetchIconComponent/index.tsx b/src/frontend/src/components/common/fetchIconComponent/index.tsx deleted file mode 100644 index 83431f520931..000000000000 --- a/src/frontend/src/components/common/fetchIconComponent/index.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import ForwardedIconComponent from "../genericIconComponent"; - -const FetchIconComponent = ({ - source, - name, -}: { - source: string; - name: string; -}) => { - return ( -
- {source ? ( - {name} - ) : ( - - )} -
- ); -}; - -export default FetchIconComponent; diff --git a/src/frontend/src/components/common/viewTriggers/chat/index.tsx b/src/frontend/src/components/common/viewTriggers/chat/index.tsx deleted file mode 100644 index 9610f22ff700..000000000000 --- a/src/frontend/src/components/common/viewTriggers/chat/index.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { Transition } from "@headlessui/react"; - -import IconComponent from "../../genericIconComponent"; - -export default function ChatTrigger({}): JSX.Element { - return ( - - - - ); -} diff --git a/src/frontend/src/components/core/cardComponent/hooks/use-handle-install.ts b/src/frontend/src/components/core/cardComponent/hooks/use-handle-install.ts deleted file mode 100644 index a86b37d895ad..000000000000 --- a/src/frontend/src/components/core/cardComponent/hooks/use-handle-install.ts +++ /dev/null @@ -1,54 +0,0 @@ -import useAddFlow from "@/hooks/flows/use-add-flow"; -import { getComponent } from "../../../../controllers/API"; -import { storeComponent } from "../../../../types/store"; -import cloneFlowWithParent from "../../../../utils/storeUtils"; - -const useInstallComponent = ( - data: storeComponent, - name: string, - isStore: boolean, - downloadsCount: number, - setDownloadsCount: (value: any) => void, - setLoading: (value: boolean) => void, - setSuccessData: (value: { title: string }) => void, - setErrorData: (value: { title: string; list: string[] }) => void, -) => { - const addFlow = useAddFlow(); - - const handleInstall = () => { - const temp = downloadsCount; - setDownloadsCount((old) => Number(old) + 1); - setLoading(true); - - getComponent(data.id) - .then((res) => { - const newFlow = cloneFlowWithParent(res, res.id, data.is_component); - addFlow({ flow: newFlow }) - .then((id) => { - setSuccessData({ - title: `${name} ${isStore ? "Downloaded" : "Installed"} Successfully.`, - }); - setLoading(false); - }) - .catch((error) => { - setLoading(false); - setErrorData({ - title: `Error ${isStore ? "downloading" : "installing"} the ${name}`, - list: [error.response.data.detail], - }); - }); - }) - .catch((err) => { - setLoading(false); - setErrorData({ - title: `Error ${isStore ? "downloading" : "installing"} the ${name}`, - list: [err.response.data.detail], - }); - setDownloadsCount(temp); - }); - }; - - return { handleInstall }; -}; - -export default useInstallComponent; diff --git a/src/frontend/src/components/core/cardComponent/index.tsx b/src/frontend/src/components/core/cardComponent/index.tsx deleted file mode 100644 index 69e5111b86eb..000000000000 --- a/src/frontend/src/components/core/cardComponent/index.tsx +++ /dev/null @@ -1,191 +0,0 @@ -import { track } from "@/customization/utils/analytics"; -import { useState } from "react"; -import { Control } from "react-hook-form"; -import useAlertStore from "../../../stores/alertStore"; -import useFlowsManagerStore from "../../../stores/flowsManagerStore"; -import { FlowType } from "../../../types/flow"; -import { getInputsAndOutputs } from "../../../utils/storeUtils"; -import { cn } from "../../../utils/utils"; -import IconComponent from "../../common/genericIconComponent"; -import ShadTooltip from "../../common/shadTooltipComponent"; -import { - Card, - CardDescription, - CardFooter, - CardHeader, - CardTitle, -} from "../../ui/card"; -import { Checkbox } from "../../ui/checkbox"; -import { FormControl, FormField } from "../../ui/form"; -import useDragStart from "./hooks/use-on-drag-start"; -import { convertTestName } from "./utils/convert-test-name"; - -export default function CollectionCardComponent({ - data, - disabled = false, - onClick, - control, -}: { - data: FlowType; - disabled?: boolean; - onClick?: () => void; - control?: Control; -}) { - const setErrorData = useAlertStore((state) => state.setErrorData); - const setCurrentFlow = useFlowsManagerStore((state) => state.setCurrentFlow); - const getFlowById = useFlowsManagerStore((state) => state.getFlowById); - // const [openPlayground, setOpenPlayground] = useState(false); - const [loadingPlayground, setLoadingPlayground] = useState(false); - const selectedFlowsComponentsCards = useFlowsManagerStore( - (state) => state.selectedFlowsComponentsCards, - ); - - function hasPlayground(flow?: FlowType) { - if (!flow) { - return false; - } - const { inputs, outputs } = getInputsAndOutputs(flow?.data?.nodes ?? []); - return inputs.length > 0 || outputs.length > 0; - } - const playground = !(data.is_component ?? false); - const isSelectedCard = - selectedFlowsComponentsCards?.includes(data?.id) ?? false; - - const { onDragStart } = useDragStart(data); - - const handlePlaygroundClick = (e: React.MouseEvent) => { - e.preventDefault(); - e.stopPropagation(); - track("Playground Button Clicked", { flowId: data.id }); - setLoadingPlayground(true); - - if (data) { - if (!hasPlayground(data)) { - setErrorData({ - title: "Error", - list: ["This flow doesn't have a playground."], - }); - setLoadingPlayground(false); - return; - } - setCurrentFlow(data); - // setOpenPlayground(true); - setLoadingPlayground(false); - } else { - setErrorData({ - title: "Error", - list: ["Error getting flow data."], - }); - } - }; - - return ( - <> - -
- -
- - - -
{data.name}
-
- {control && ( -
{ - e.stopPropagation(); - }} - > - ( - - - - )} - /> -
- )} -
-
-
-
-
- -
{data.description}
-
-
-
- -
-
- {/* {playground && ( - - )} */} -
-
-
-
- {/* {openPlayground && ( - - <> - - )} */} - - ); -} diff --git a/src/frontend/src/components/core/cardComponent/utils/convert-test-name.tsx b/src/frontend/src/components/core/cardComponent/utils/convert-test-name.tsx deleted file mode 100644 index 068b7b585c24..000000000000 --- a/src/frontend/src/components/core/cardComponent/utils/convert-test-name.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export function convertTestName(name: string): string { - return name.replace(/ /g, "-").toLowerCase(); -} diff --git a/src/frontend/src/components/core/dropdownButtonComponent/index.tsx b/src/frontend/src/components/core/dropdownButtonComponent/index.tsx deleted file mode 100644 index db0d4a512ec2..000000000000 --- a/src/frontend/src/components/core/dropdownButtonComponent/index.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import { useState } from "react"; -import { dropdownButtonPropsType } from "../../../types/components"; -import IconComponent from "../../common/genericIconComponent"; -import { Button } from "../../ui/button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from "../../ui/dropdown-menu"; - -export default function DropdownButton({ - firstButtonName, - onFirstBtnClick, - options, - plusButton = false, - dropdownOptions = true, - isFetchingFolders = false, -}: dropdownButtonPropsType): JSX.Element { - const [showOptions, setShowOptions] = useState(false); - - return ( -
- - - - - { - event.stopPropagation(); - event.preventDefault(); - setShowOptions(!showOptions); - }} - > - {options.map(({ name, onBtnClick }, index) => ( - - {name} - - ))} - - -
- ); -} diff --git a/src/frontend/src/components/core/parameterRenderComponent/components/inputComponent/components/helpers/get-input-class-name.ts b/src/frontend/src/components/core/parameterRenderComponent/components/inputComponent/components/helpers/get-input-class-name.ts deleted file mode 100644 index a5377976d1b2..000000000000 --- a/src/frontend/src/components/core/parameterRenderComponent/components/inputComponent/components/helpers/get-input-class-name.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { cn } from "@/utils/utils"; - -export const getInputClassName = ({ - disabled, - password, - setSelectedOption, - selectedOption, - pwdVisible, - value, - editNode, - setSelectedOptions, - isSelected, - areOptionsSelected, - className, -}) => { - const classes = { - base: className || "", - password: - password && - (!setSelectedOption || selectedOption === "") && - !pwdVisible && - value !== "" - ? "text-clip password" - : "", - editNode: editNode ? "input-edit-node" : "", - paddingRight: (() => { - if (password && (setSelectedOption || setSelectedOptions)) - return "pr-[70px]"; - if ( - (!password && (setSelectedOption || setSelectedOptions)) || - (password && !(setSelectedOption || setSelectedOptions)) - ) - return "pr-8"; - return ""; - })(), - selected: - isSelected || areOptionsSelected - ? "font-jetbrains text-sm font-medium text-foreground" - : "", - }; - - return cn( - classes.base, - classes.password, - classes.editNode, - classes.paddingRight, - classes.selected, - ); -}; diff --git a/src/frontend/src/components/core/parameterRenderComponent/components/inputListComponent/components/dropdown-menu.tsx b/src/frontend/src/components/core/parameterRenderComponent/components/inputListComponent/components/dropdown-menu.tsx deleted file mode 100644 index d0fea15e39df..000000000000 --- a/src/frontend/src/components/core/parameterRenderComponent/components/inputListComponent/components/dropdown-menu.tsx +++ /dev/null @@ -1,154 +0,0 @@ -import ForwardedIconComponent from "@/components/common/genericIconComponent"; -import RenderIcons from "@/components/common/renderIconComponent"; -import { Button } from "@/components/ui/button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@/components/ui/dropdown-menu"; -import { useKeyboardShortcut } from "@/hooks/use-overlap-shortcuts"; -import { useShortcutsStore } from "@/stores/shortcuts"; -import { cn } from "@/utils/utils"; -import { useCallback } from "react"; - -export const DropdownMenuInputList = ({ - index, - dropdownOpen, - setDropdownOpen, - editNode, - handleDuplicateInput, - removeInput, - canDelete, -}: { - index: number; - dropdownOpen: number | null; - setDropdownOpen: (open: number) => void; - editNode: boolean; - handleDuplicateInput: ( - index: number, - e: React.MouseEvent | KeyboardEvent, - ) => void; - removeInput: ( - index: number, - e: React.MouseEvent | KeyboardEvent, - ) => void; - canDelete: boolean; -}) => { - const shortcuts = useShortcutsStore((state) => state.shortcuts); - - const shortcutKeys = { - duplicate: - shortcuts.find((obj) => obj.name === "Duplicate")?.shortcut || "", - delete: shortcuts.find((obj) => obj.name === "Delete")?.shortcut || "", - }; - - const handleShortcut = useCallback( - (shortcutName: string, event: KeyboardEvent) => { - if (shortcutName === "duplicate") { - handleDuplicateInput(index, event); - } else if (shortcutName === "delete" && canDelete) { - removeInput(index, event); - } - setDropdownOpen(-1); - }, - [index, handleDuplicateInput, removeInput, setDropdownOpen], - ); - - useKeyboardShortcut({ - shortcutKeys, - isEnabled: dropdownOpen === index, - onShortcut: handleShortcut, - preventDefault: true, - stopPropagation: true, - }); - - return ( - <> - setDropdownOpen(open ? index : -1)} - > - - - - - { - handleDuplicateInput(index, e); - e.stopPropagation(); - }} - className="cursor-pointer" - data-testid={`input-list-dropdown-menu-${index}-duplicate`} - > - - {canDelete && ( - { - removeInput(index, e); - e.stopPropagation(); - }} - className="cursor-pointer text-destructive" - data-testid={`input-list-dropdown-menu-${index}-delete`} - > - - )} - - - - ); -}; diff --git a/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/ResetColumns/index.tsx b/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/ResetColumns/index.tsx deleted file mode 100644 index 751abdbcc269..000000000000 --- a/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/ResetColumns/index.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { cn } from "@/utils/utils"; - -export default function ResetColumns({ - resetGrid, -}: { - resetGrid: () => void; -}): JSX.Element { - return ( -
- { - resetGrid(); - }} - > - Reset Columns - -
- ); -} diff --git a/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/loadingOverlay/index.tsx b/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/loadingOverlay/index.tsx deleted file mode 100644 index 3f5e8c1cddf0..000000000000 --- a/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/loadingOverlay/index.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import Loading from "../../../ui/loading"; - -export default function LoadingOverlay() { - return ( -
- -
- ); -} diff --git a/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/tableToggleCellEditor/index.tsx b/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/tableToggleCellEditor/index.tsx deleted file mode 100644 index fd996fa1b1e2..000000000000 --- a/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/tableToggleCellEditor/index.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { CustomCellEditorProps } from "ag-grid-react"; -import { uniqueId } from "lodash"; -import ToggleShadComponent from "../../../toggleShadComponent"; - -export default function TableToggleCellEditor({ - value, - onValueChange, - colDef, -}: CustomCellEditorProps) { - value = - (typeof value === "string" && value.toLowerCase() === "true") || - value === true - ? true - : false; - return ( -
- { - onValueChange?.(data.value); - }} - editNode={true} - id={"toggle" + colDef?.colId + uniqueId()} - disabled={false} - /> -
- ); -} diff --git a/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/tableTooltipRender/index.tsx b/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/tableTooltipRender/index.tsx deleted file mode 100644 index d1644d623339..000000000000 --- a/src/frontend/src/components/core/parameterRenderComponent/components/tableComponent/components/tableTooltipRender/index.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { CustomTooltipProps } from "ag-grid-react"; - -export default function TableTooltipRender({ value }: CustomTooltipProps) { - return ( -
- {value} -
- ); -} diff --git a/src/frontend/src/components/core/parameterRenderComponent/components/textInputComponent/index.tsx b/src/frontend/src/components/core/parameterRenderComponent/components/textInputComponent/index.tsx deleted file mode 100644 index 6d81ea9c2184..000000000000 --- a/src/frontend/src/components/core/parameterRenderComponent/components/textInputComponent/index.tsx +++ /dev/null @@ -1,15 +0,0 @@ -export default function TextInputComponent({ - text, - emissor, -}: { - text: string; - emissor: string; -}) { - return ( -
- {emissor} -

- {text} -
- ); -} diff --git a/src/frontend/src/components/core/parameterRenderComponent/helpers/get-textarea-content-class.ts b/src/frontend/src/components/core/parameterRenderComponent/helpers/get-textarea-content-class.ts deleted file mode 100644 index 7a22bddd2dc0..000000000000 --- a/src/frontend/src/components/core/parameterRenderComponent/helpers/get-textarea-content-class.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { cn } from "@/utils/utils"; - -export const getTextAreaContentClasses = ({ - editNode, - disabled, - password, - value, - textAreaContentClasses, -}) => { - return cn( - textAreaContentClasses.base, - editNode ? textAreaContentClasses.editNode : textAreaContentClasses.normal, - disabled && textAreaContentClasses.disabled, - password !== undefined && - password && - value !== "" && - textAreaContentClasses.password, - ); -}; diff --git a/src/frontend/src/components/core/textOutputComponent/index.tsx b/src/frontend/src/components/core/textOutputComponent/index.tsx deleted file mode 100644 index d33fb930f462..000000000000 --- a/src/frontend/src/components/core/textOutputComponent/index.tsx +++ /dev/null @@ -1,15 +0,0 @@ -export default function TextOutputComponent({ - text, - emissor, -}: { - text: string; - emissor: string; -}) { - return ( -
- {emissor} -

-
{text}
-
- ); -} diff --git a/src/frontend/src/components/ui/border-beams.tsx b/src/frontend/src/components/ui/border-beams.tsx deleted file mode 100644 index b14f3abf5bda..000000000000 --- a/src/frontend/src/components/ui/border-beams.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import { cn } from "@/utils/utils"; - -interface BorderBeamProps { - className?: string; - size?: number; - duration?: number; - borderWidth?: number; - anchor?: number; - colorFrom?: string; - colorTo?: string; - delay?: number; -} - -export const BorderBeam = ({ - className, - size = 200, - duration = 15, - anchor = 90, - borderWidth = 1.5, - colorFrom = "#ffaa40", - colorTo = "#9c40ff", - delay = 0, -}: BorderBeamProps) => { - return ( -
- ); -}; diff --git a/src/frontend/src/components/ui/collapsible.tsx b/src/frontend/src/components/ui/collapsible.tsx deleted file mode 100644 index 1fe76f5d1695..000000000000 --- a/src/frontend/src/components/ui/collapsible.tsx +++ /dev/null @@ -1,11 +0,0 @@ -"use client"; - -import * as CollapsiblePrimitive from "@radix-ui/react-collapsible"; - -const Collapsible = CollapsiblePrimitive.Root; - -const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger; - -const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent; - -export { Collapsible, CollapsibleContent, CollapsibleTrigger }; diff --git a/src/frontend/src/components/ui/combobox.tsx b/src/frontend/src/components/ui/combobox.tsx deleted file mode 100644 index 3f35ce6a7652..000000000000 --- a/src/frontend/src/components/ui/combobox.tsx +++ /dev/null @@ -1,79 +0,0 @@ -"use client"; - -import { Check, ChevronsUpDown } from "lucide-react"; -import * as React from "react"; -import { cn } from "../../utils/utils"; -import { Button } from "./button"; -import { - Command, - CommandEmpty, - CommandGroup, - CommandInput, - CommandItem, -} from "./command"; -import { Popover, PopoverContent, PopoverTrigger } from "./popover"; - -export function Combobox({ - items, - onChange, -}: { - items: { value: string; label: string }[]; - onChange: (value: string[]) => void; -}) { - const [open, setOpen] = React.useState(false); - const [value, setValue] = React.useState([]); - - React.useEffect(() => { - onChange(value); - }, [value]); - - return ( - - - - - - - - No filters found. - - {items.map((framework) => ( - { - setValue((old) => { - if (old.includes(currentValue)) { - return old.filter((item) => item !== currentValue); - } - return [...old, currentValue]; - }); - }} - > - - {framework.label} - - ))} - - - - - ); -} diff --git a/src/frontend/src/components/ui/custom-accordion.tsx b/src/frontend/src/components/ui/custom-accordion.tsx deleted file mode 100644 index 238e0ddabec8..000000000000 --- a/src/frontend/src/components/ui/custom-accordion.tsx +++ /dev/null @@ -1,55 +0,0 @@ -"use client"; - -import * as AccordionPrimitive from "@radix-ui/react-accordion"; -import { ChevronDownIcon } from "@radix-ui/react-icons"; -import * as React from "react"; -import { cn } from "../../utils/utils"; - -const Accordion = AccordionPrimitive.Root; - -const AccordionItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)); -AccordionItem.displayName = "AccordionItem"; - -const AccordionTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - - -
svg]:rotate-180", - className, - )} - > - {children} - -
-
-
-)); -AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName; - -const AccordionContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - -
{children}
-
-)); -AccordionContent.displayName = AccordionPrimitive.Content.displayName; - -export { Accordion, AccordionContent, AccordionItem, AccordionTrigger }; diff --git a/src/frontend/src/components/ui/form.tsx b/src/frontend/src/components/ui/form.tsx deleted file mode 100644 index 69789b6f32dc..000000000000 --- a/src/frontend/src/components/ui/form.tsx +++ /dev/null @@ -1,176 +0,0 @@ -import * as LabelPrimitive from "@radix-ui/react-label"; -import { Slot } from "@radix-ui/react-slot"; -import * as React from "react"; -import { - Controller, - ControllerProps, - FieldPath, - FieldValues, - FormProvider, - useFormContext, -} from "react-hook-form"; -import { cn } from "../../utils/utils"; -import { Label } from "./label"; - -const Form = FormProvider; - -type FormFieldContextValue< - TFieldValues extends FieldValues = FieldValues, - TName extends FieldPath = FieldPath, -> = { - name: TName; -}; - -const FormFieldContext = React.createContext( - {} as FormFieldContextValue, -); - -const FormField = < - TFieldValues extends FieldValues = FieldValues, - TName extends FieldPath = FieldPath, ->({ - ...props -}: ControllerProps) => { - return ( - - - - ); -}; - -const useFormField = () => { - const fieldContext = React.useContext(FormFieldContext); - const itemContext = React.useContext(FormItemContext); - const { getFieldState, formState } = useFormContext(); - - const fieldState = getFieldState(fieldContext.name, formState); - - if (!fieldContext) { - throw new Error("useFormField should be used within "); - } - - const { id } = itemContext; - - return { - id, - name: fieldContext.name, - formItemId: `${id}-form-item`, - formDescriptionId: `${id}-form-item-description`, - formMessageId: `${id}-form-item-message`, - ...fieldState, - }; -}; - -type FormItemContextValue = { - id: string; -}; - -const FormItemContext = React.createContext( - {} as FormItemContextValue, -); - -const FormItem = React.forwardRef< - HTMLDivElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => { - const id = React.useId(); - - return ( - -
- - ); -}); -FormItem.displayName = "FormItem"; - -const FormLabel = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => { - const { error, formItemId } = useFormField(); - - return ( -