From 41c189f4f14639a824c8d9c9648ac69a5403f7b7 Mon Sep 17 00:00:00 2001 From: alonkeyval Date: Thu, 30 May 2024 10:51:25 +0300 Subject: [PATCH] chore: wip --- dist/index.d.mts | 12 +++++++++++ dist/index.d.ts | 12 +++++++++++ dist/index.js | 19 ++++++++++++++--- dist/index.js.map | 2 +- dist/index.mjs | 16 +++++++++++++-- dist/index.mjs.map | 2 +- package.json | 2 +- src/design.system/data.flow/builder.ts | 28 ++++++++++++++++++++++++-- 8 files changed, 83 insertions(+), 10 deletions(-) diff --git a/dist/index.d.mts b/dist/index.d.mts index 3a496ba..174a893 100644 --- a/dist/index.d.mts +++ b/dist/index.d.mts @@ -396,6 +396,12 @@ interface Source { name: string; kind: string; namespace: string; + conditions?: { + type: string; + status: string; + message: string; + lastTransitionTime: string; + }[]; languages: Array<{ container_name: string; language: string; @@ -411,6 +417,12 @@ interface Destination { logs: boolean; }; fields: Record; + conditions?: { + type: string; + status: string; + message: string; + lastTransitionTime: string; + }[]; destination_type: { type: string; display_name: string; diff --git a/dist/index.d.ts b/dist/index.d.ts index 3a496ba..174a893 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -396,6 +396,12 @@ interface Source { name: string; kind: string; namespace: string; + conditions?: { + type: string; + status: string; + message: string; + lastTransitionTime: string; + }[]; languages: Array<{ container_name: string; language: string; @@ -411,6 +417,12 @@ interface Destination { logs: boolean; }; fields: Record; + conditions?: { + type: string; + status: string; + message: string; + lastTransitionTime: string; + }[]; destination_type: { type: string; display_name: string; diff --git a/dist/index.js b/dist/index.js index 8df97cd..d0803c9 100644 --- a/dist/index.js +++ b/dist/index.js @@ -4964,7 +4964,13 @@ var buildFlowNodesAndEdges = function(sources2, destinations2, actions) { } }); sources2.forEach(function(source, index) { - var _actions; + var _source, _actions; + var hasError = false; + if ((_source = source) === null || _source === void 0 ? void 0 : _source.conditions) { + hasError = source.conditions.some(function(condition) { + return condition.status === "False"; + }); + } var namespaceNodeId = "namespace-".concat(index); nodes2.push({ id: namespaceNodeId, @@ -4981,12 +4987,19 @@ var buildFlowNodesAndEdges = function(sources2, destinations2, actions) { target: ((_actions = actions) === null || _actions === void 0 ? void 0 : _actions.length) > 0 ? "action-0" : centerNodeId, animated: true, style: { - stroke: "#96f3ff8e" + stroke: hasError ? "#ff0000" : "#96f3ff8e" }, data: null }); }); destinations2.forEach(function(destination, index) { + var _destination; + var isErrored = false; + if ((_destination = destination) === null || _destination === void 0 ? void 0 : _destination.conditions) { + isErrored = destination.conditions.some(function(condition) { + return condition.status === "False"; + }); + } var destinationNodeId = "destination-".concat(index); nodes2.push({ id: destinationNodeId, @@ -5003,7 +5016,7 @@ var buildFlowNodesAndEdges = function(sources2, destinations2, actions) { target: destinationNodeId, animated: true, style: { - stroke: "#96f3ff8e" + stroke: isErrored ? "#ff0000" : "#96f3ff8e" }, data: null }); diff --git a/dist/index.js.map b/dist/index.js.map index 9f84d44..587ce2f 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/index.tsx","../src/design.system/radio/radio.tsx","../src/design.system/radio/radio.styled.tsx","../src/design.system/text/text.tsx","../src/design.system/text/text.styled.tsx","../src/assets/icons/checked-radio.svg","../src/design.system/button/button.tsx","../src/design.system/button/button.styled.tsx","../src/design.system/float.box/float.box.tsx","../src/design.system/code.block/code.block.tsx","../src/assets/icons/copy.svg","../src/assets/icons/copied.svg","../src/assets/icons/folders.svg","../src/assets/icons/trash.svg","../src/assets/icons/check.svg","../src/assets/icons/expand-arrow.svg","../src/assets/icons/actions/cluster-attr.svg","../src/assets/icons/actions/delete-attr.svg","../src/assets/icons/actions/rename-attr.svg","../src/assets/icons/actions/index.ts","../src/assets/icons/languages/index.ts","../src/hooks/useOnClickOutside.tsx","../src/hooks/useCopyToClipboard.tsx","../src/styles/palette.tsx","../src/design.system/card/card.tsx","../src/design.system/card/card.styled.tsx","../src/design.system/tag/tag.tsx","../src/design.system/tap/tap.tsx","../src/design.system/drop.down/drop.down.tsx","../src/design.system/drop.down/drop.down.styled.tsx","../src/design.system/search.input/search.input.tsx","../src/design.system/search.input/search.input.styled.tsx","../src/assets/icons/glass.svg","../src/assets/icons/X.svg","../src/assets/icons/question.svg","../src/design.system/tooltip/index.tsx","../src/design.system/switch/switch.tsx","../src/design.system/switch/switch.styled.tsx","../src/design.system/checkbox/checkbox.tsx","../src/design.system/checkbox/checkbox.styled.tsx","../src/assets/icons/checkbox-rect.svg","../src/design.system/selected.counter/selected.counter.tsx","../src/design.system/selected.counter/selected.counter.styled.tsx","../src/design.system/link/link.tsx","../src/design.system/image/image.tsx","../src/design.system/input/input.tsx","../src/design.system/input/input.styled.tsx","../src/assets/icons/eye-open.svg","../src/assets/icons/eye-close.svg","../src/design.system/input/action.input.tsx","../src/design.system/video/video.tsx","../src/assets/icons/close.svg","../src/assets/icons/player.svg","../src/design.system/video/video.styled.tsx","../src/design.system/loader/loader.tsx","../src/design.system/loader/loader.styled.tsx","../src/design.system/notification/notification.tsx","../src/design.system/notification/notification.styled.tsx","../src/assets/icons/X-blue.svg","../src/assets/icons/success-notification.svg","../src/assets/icons/error-notification.svg","../src/design.system/data.flow/index.tsx","../src/design.system/data.flow/action.node.tsx","../src/design.system/data.flow/keyval.middleware.tsx","../src/design.system/data.flow/namespace.node.tsx","../src/assets/icons/overview/middleware.svg","../src/assets/icons/overview/folder.svg","../src/design.system/data.flow/destination.node.tsx","../src/assets/icons/logs-grey.svg","../src/assets/icons/logs-blue.svg","../src/assets/icons/chart-line-grey.svg","../src/assets/icons/chart-line-blue.svg","../src/assets/icons/tree-structure-grey.svg","../src/assets/icons/tree-structure-blue.svg","../src/design.system/data.flow/monitors.tsx","../src/design.system/data.flow/source.node.tsx","../src/design.system/data.flow/data.flow.styled.tsx","../src/design.system/data.flow/control.panel.tsx","../src/design.system/danger.zone/danger.zone.tsx","../src/design.system/modal/modal.tsx","../src/design.system/modal/portal.modal.tsx","../src/design.system/modal/modal.styled.tsx","../src/assets/icons/close-modal.svg","../src/design.system/theme.provider/theme.provider.tsx","../src/design.system/theme.provider/registry.tsx","../src/design.system/steps/steps.tsx","../src/design.system/steps/step.item.tsx","../src/design.system/steps/steps.styled.tsx","../src/assets/icons/checked.svg","../src/design.system/divider/divider.tsx","../src/design.system/note/note.tsx","../src/design.system/segmented-controls/index.tsx","../src/design.system/multi-input/index.tsx","../src/design.system/key-value-input/index.tsx","../src/design.system/text.area/index.tsx","../src/design.system/multi-input/multi.input.table.tsx","../src/design.system/action.group/index.tsx","../src/design.system/action.item/index.tsx","../src/design.system/pagination/index.tsx","../src/design.system/table/index.tsx","../src/design.system/yml.editor/index.tsx","../src/design.system/data.flow/builder.ts"],"names":["Table","import_react","styled","theme","import_styled_components","React","text","TextWrapper","Image","LabelWrapper","import_reactflow","backgroundColor","IMAGE_STYLE","IconWrapper","NamespaceContainer","import_style","MONITORS","nodes","edges","ReactFlow","TitleWrapper","Input","Button","Container","Th","Td","AddRowButton","CopyIconWrapper","YamlEditor","sources","destinations","action"],"mappings":"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","sourcesContent":["export * from '../src/design.system';\n","import React, { useState, FC, ChangeEvent } from 'react';\nimport { RadioButtonContainer, RadioButtonBorder } from './radio.styled';\nimport { Text } from '@/design.system/text/text';\nimport Checked from '../../assets/icons/checked-radio.svg';\ninterface RadioButtonProps {\n label?: string;\n value?: string | boolean;\n size?: number;\n textStyles?: React.CSSProperties;\n onChange?: (event: ChangeEvent) => void;\n}\n\nexport const RadioButton: FC = ({\n label = '',\n onChange,\n value,\n size = 25,\n textStyles = {},\n}) => {\n function handleChange() {\n onChange && onChange({} as ChangeEvent);\n }\n\n return (\n \n \n {value ? (\n \n ) : (\n \n )}\n \n {label}\n \n );\n};\n","import styled from 'styled-components';\n\nexport const RadioButtonContainer = styled.label`\n height: 24px;\n color: #303030;\n font-size: 14px;\n font-weight: 400;\n margin-right: 7px;\n -webkit-tap-highlight-color: transparent;\n display: flex;\n align-items: center;\n\n gap: 10px;\n cursor: pointer;\n`;\n\nexport const RadioButtonBorder = styled.span`\n cursor: pointer;\n width: 23px;\n height: 23px;\n border: ${({ theme }) => `solid 2px ${theme.colors.light_grey}`};\n border-radius: 50%;\n display: inline-block;\n position: relative;\n`;\n","import React from 'react';\nimport { TextWrapper } from './text.styled';\n\ntype TextProps = {\n type?: string | any;\n value?: string;\n style?: object;\n children?: string | any;\n weight?: string | number;\n color?: string;\n size?: number;\n};\n\nexport function Text({ children, color, style, weight, size }: TextProps) {\n return (\n \n {children}\n \n );\n}\n","import styled from \"styled-components\";\n\nexport const TextWrapper = styled.p`\n color: ${({ theme }) => theme.text.white};\n margin: 0;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-size: 16px;\n font-weight: 400;\n`;\n","import * as React from \"react\";\nconst SvgCheckedRadio = props => ;\nexport default SvgCheckedRadio;","import React, { ButtonHTMLAttributes, FC } from 'react';\nimport { StyledButton, ButtonContainer } from './button.styled';\n\ninterface ButtonProps extends ButtonHTMLAttributes {\n // Additional custom props if needed\n variant?: string;\n style?: object;\n}\n\nexport const Button: FC = ({\n variant = 'primary',\n children,\n style,\n disabled,\n type = 'button',\n ...rest\n}) => {\n return (\n \n \n {children}\n \n \n );\n};\n","import styled from 'styled-components';\n\ninterface ButtonProps {\n variant?: string;\n disabled?: boolean;\n}\n\nexport const ButtonContainer = styled.div`\n :hover {\n background: ${({ theme, disabled, variant }) =>\n disabled\n ? theme.colors.blue_grey\n : variant === 'primary'\n ? theme.colors.torquiz_light\n : 'transparent'};\n }\n p {\n cursor: ${({ disabled }) =>\n disabled ? 'not-allowed !important' : 'pointer !important'};\n }\n`;\n\nexport const StyledButton = styled.button`\n display: flex;\n padding: 8px 16px;\n align-items: center;\n border-radius: 8px;\n border: none;\n width: 100%;\n height: 100%;\n border: 1px solid\n ${({ theme, variant }) =>\n variant === 'primary' ? 'transparent' : theme.colors.secondary};\n cursor: ${({ disabled }) =>\n disabled ? 'not-allowed !important' : 'pointer !important'};\n background: ${({ theme, disabled, variant }) =>\n disabled\n ? variant === 'primary'\n ? theme.colors.blue_grey\n : 'transparent'\n : variant === 'primary'\n ? theme.colors.secondary\n : 'transparent'};\n justify-content: center;\n align-items: center;\n opacity: ${({ disabled, variant }) =>\n variant !== 'primary' && disabled ? 0.5 : 1};\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\ntype FloatBoxProps = {\n style?: object;\n children: any;\n};\n\nconst FloatBoxBorder = styled.div`\n background: radial-gradient(\n circle at 100% 100%,\n #ffffff 0,\n #ffffff 3px,\n transparent 3px\n )\n 0% 0%/8px 8px no-repeat,\n radial-gradient(circle at 0 100%, #ffffff 0, #ffffff 3px, transparent 3px)\n 100% 0%/8px 8px no-repeat,\n radial-gradient(circle at 100% 0, #ffffff 0, #ffffff 3px, transparent 3px)\n 0% 100%/8px 8px no-repeat,\n radial-gradient(circle at 0 0, #ffffff 0, #ffffff 3px, transparent 3px) 100%\n 100%/8px 8px no-repeat,\n linear-gradient(#ffffff, #ffffff) 50% 50% / calc(100% - 10px)\n calc(100% - 16px) no-repeat,\n linear-gradient(#ffffff, #ffffff) 50% 50% / calc(100% - 16px)\n calc(100% - 10px) no-repeat,\n linear-gradient(0deg, transparent 0%, #0ee6f3 100%),\n radial-gradient(\n 78.09% 72.18% at 100% -0%,\n rgba(150, 242, 255, 0.4) 0%,\n rgba(150, 242, 255, 0) 61.91%\n ),\n linear-gradient(180deg, #2e4c55 0%, #303355 100%);\n border-radius: 8px;\n padding: 1px;\n width: 32px;\n height: 32px;\n`;\n\nconst FloatBoxWrapper = styled.div`\n width: 32px;\n height: 32px;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n background: radial-gradient(\n 78.09% 72.18% at 100% -0%,\n rgba(150, 242, 255, 0.4) 0%,\n rgba(150, 242, 255, 0) 61.91%\n ),\n linear-gradient(180deg, #2e4c55 0%, #303355 100%);\n`;\n\nexport function FloatBox({ children, style = {} }: FloatBoxProps) {\n return (\n \n {children}\n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { Copied, Copy } from '@/assets/icons';\nimport { styled } from 'styled-components';\nimport { Text } from '..';\nimport { useCopyToClipboard } from '@/hooks';\nimport theme from '@/styles/palette';\n\ninterface CodeProps {\n text: string;\n title?: string;\n highlightedWord?: {\n primary: {\n words: string[];\n color: string;\n };\n secondary?: {\n words: string[];\n color: string;\n };\n };\n onCopy?: () => void;\n}\n\nconst CodeBlockContainer = styled.div`\n border-radius: 12px;\n width: 100%;\n border: ${({ theme }) => `1px solid ${theme.colors.dark_blue}`};\n background: ${({ theme }) => theme.colors.dark};\n padding: 16px;\n text-align: start;\n gap: 10px;\n position: relative;\n`;\n\nconst TextWrapper = styled.p`\n font-family: 'IBM Plex Mono', monospace;\n width: 90%;\n`;\n\nconst CopyIconWrapper = styled.span`\n position: absolute;\n right: 16px;\n top: 16px;\n cursor: pointer;\n`;\n\nconst ComponentWrapper = styled.div`\n display: flex;\n flex-direction: column;\n text-align: start;\n gap: 6px;\n width: 100%;\n`;\n\nexport function Code({ text, highlightedWord, title, onCopy }: CodeProps) {\n const [primaryWords, setPrimaryWords] = useState>(\n new Map()\n );\n const [secondaryWords, setSecondaryWords] = useState>(\n new Map()\n );\n\n const { copyToClipboard, clipboardState } = useCopyToClipboard();\n\n useEffect(onload, [highlightedWord]);\n\n function onload() {\n if (highlightedWord) {\n highlightedWord.primary && handleSetPrimaryWords();\n highlightedWord.secondary && handleSetSecondaryWords();\n }\n }\n\n function handleSetPrimaryWords() {\n const primaryWordsMap = new Map();\n highlightedWord?.primary.words.forEach((word) => {\n primaryWordsMap.set(word, word);\n });\n setPrimaryWords(primaryWordsMap);\n }\n\n function handleSetSecondaryWords() {\n const secondaryWordsMap = new Map();\n highlightedWord?.secondary?.words.forEach((word) => {\n secondaryWordsMap.set(word, word);\n });\n setSecondaryWords(secondaryWordsMap);\n }\n\n function getWordColor(word: string) {\n if (primaryWords.has(word)) {\n return highlightedWord?.primary.color;\n }\n if (secondaryWords.has(word)) {\n return highlightedWord?.secondary?.color;\n }\n return theme.colors.white;\n }\n\n function handleCopy() {\n copyToClipboard(text);\n onCopy && onCopy();\n }\n\n return (\n \n {title && {title}}\n \n \n {!clipboardState ? (\n \n ) : (\n \n )}\n \n \n {text.split(' ').map((part, index) => (\n \n {`${part} `}\n \n ))}\n \n \n \n );\n}\n","import * as React from \"react\";\nconst SvgCopy = props => ;\nexport default SvgCopy;","import * as React from \"react\";\nconst SvgCopied = props => ;\nexport default SvgCopied;","import * as React from \"react\";\nconst SvgFolders = props => ;\nexport default SvgFolders;","import * as React from \"react\";\nconst SvgTrash = props => ;\nexport default SvgTrash;","import * as React from \"react\";\nconst SvgCheck = props => ;\nexport default SvgCheck;","import * as React from \"react\";\nconst SvgExpandArrow = props => ;\nexport default SvgExpandArrow;","import * as React from \"react\";\nconst SvgClusterAttr = props => ;\nexport default SvgClusterAttr;","import * as React from \"react\";\nconst SvgDeleteAttr = props => ;\nexport default SvgDeleteAttr;","import * as React from \"react\";\nconst SvgRenameAttr = props => ;\nexport default SvgRenameAttr;","import AddClusterInfo from './cluster-attr.svg';\nimport DeleteAttribute from './delete-attr.svg';\nimport RenameAttribute from './rename-attr.svg';\n// Define the type for the ACTION_ICONS object\ninterface ActionIcons {\n [key: string]: any;\n}\n\n// Define the ACTION_ICONS with explicit types\nexport const ACTION_ICONS: ActionIcons = {\n AddClusterInfo: AddClusterInfo,\n RenameAttribute: RenameAttribute,\n DeleteAttribute: DeleteAttribute,\n};\n","const BASE_URL = 'https://d1n7d4xz7fr8b4.cloudfront.net/';\n\nexport const LANGUAGES_LOGOS = {\n java: `${BASE_URL}java.png`,\n go: `${BASE_URL}go.png`,\n javascript: `${BASE_URL}nodejs.png`,\n python: `${BASE_URL}python.png`,\n dotnet: `${BASE_URL}dotnet.png`,\n default: `${BASE_URL}default.png`,\n mysql: `${BASE_URL}mysql.png`,\n unknown: `${BASE_URL}default.svg`, // TODO: good icon\n processing: `${BASE_URL}default.svg`, // TODO: good icon\n 'no containers': `${BASE_URL}default.svg`, // TODO: good icon\n};\n\nexport const LANGUAGES_COLORS = {\n java: '#B07219',\n go: '#00ADD8',\n javascript: '#F7DF1E',\n python: '#306998',\n dotnet: '#512BD4',\n mysql: '#00758F',\n};\n","import { useEffect, RefObject } from \"react\";\n\ntype Event = MouseEvent | TouchEvent;\n\nexport function useOnClickOutside(\n ref: RefObject,\n handler: (event: Event) => void\n) {\n useEffect(() => {\n const listener = (event: Event) => {\n const el = ref?.current;\n if (el?.contains(event?.target as Node)) return null;\n\n // Call the handler only if the click is outside of the element passed.\n handler(event);\n };\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [ref, handler]);\n}\n","import { useEffect, useState } from 'react';\n\nexport function useCopyToClipboard() {\n const [clipboardState, setClipboardState] = useState(false);\n\n async function copyToClipboard(text: string) {\n if (navigator.clipboard) {\n try {\n await navigator.clipboard.writeText(text);\n setClipboardState(true);\n } catch (error) {\n setClipboardState(false);\n }\n } else {\n setClipboardState(false);\n }\n }\n\n return { clipboardState, copyToClipboard };\n}\n","import { DefaultTheme } from 'styled-components';\n\n// Define your color palette\nconst colors = {\n primary: '#07111A',\n secondary: '#0EE6F3',\n torquiz_light: '#96F2FF',\n dark: '#07111A',\n data_flow_bg: '#0E1C28',\n light_dark: '#132330',\n dark_blue: '#203548',\n light_grey: '#CCD0D2',\n blue_grey: '#374A5B',\n white: '#fff',\n error: '#FD3F3F',\n traces: '#4CAF50',\n logs: '#8B4513',\n metrics: '#FFD700',\n};\n\nconst text = {\n primary: '#07111A',\n secondary: '#0EE6F3',\n white: '#fff',\n light_grey: '#CCD0D2',\n grey: '#8b92a5',\n dark_button: '#0A1824',\n};\n\nconst font_family = {\n primary: 'Inter',\n};\n\n// Define the theme interface\ninterface ThemeInterface extends DefaultTheme {\n colors: typeof colors;\n text: typeof text;\n font_family: typeof font_family;\n}\n\n// Create your theme object\nconst theme: ThemeInterface = {\n colors,\n text,\n font_family,\n};\n\n// Export the theme\nexport default theme;\n","'use client';\nimport React from 'react';\nimport { CardContainer, CardHeader } from './card.styled';\nimport { Text } from '../text/text';\n\ninterface CardProps {\n children?: JSX.Element | JSX.Element[];\n focus?: any;\n type?: string;\n header?: {\n title?: string;\n subtitle?: string;\n body?: () => JSX.Element | JSX.Element[];\n };\n}\n\nexport function Card({\n children,\n focus = false,\n type = 'primary',\n header,\n}: CardProps) {\n function renderHeader() {\n if (header?.body) {\n return header?.body();\n }\n return (\n <>\n \n {header?.title}\n \n \n {header?.subtitle}\n \n \n );\n }\n\n return (\n \n {header && {renderHeader()}}\n {children}\n \n );\n}\n","import styled from 'styled-components';\n\ninterface CardContainerProps {\n selected?: any;\n type?: string;\n}\n\nexport const CardContainer = styled.div`\n display: inline-flex;\n position: relative;\n height: fit-content;\n flex-direction: column;\n border-radius: 24px;\n height: 100%;\n border: ${({ selected, theme, type }) =>\n `1px solid ${\n selected\n ? theme.colors.secondary\n : type === 'primary'\n ? theme.colors.dark_blue\n : '#374a5b'\n }`};\n background: ${({ theme, type }) =>\n type === 'primary' ? theme.colors.dark : '#0E1C28'};\n box-shadow: ${({ type }) =>\n type === 'primary'\n ? 'none'\n : '0px -6px 16px 0px rgba(0, 0, 0, 0.25),4px 4px 16px 0px rgba(71, 231, 241, 0.05),-4px 4px 16px 0px rgba(71, 231, 241, 0.05)'};\n`;\n\nexport const CardHeader = styled(CardContainer)`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: fit-content;\n gap: 16px;\n padding: 24px 0px;\n box-shadow: none;\n`;\n","import { Text } from '@/design.system/text/text';\nimport React from 'react';\nimport styled from 'styled-components';\n\ninterface TagProps {\n title: string;\n color?: string;\n}\n\nconst TagWrapper = styled.div`\n display: flex;\n padding: 4px 8px;\n align-items: flex-start;\n gap: 10px;\n border-radius: 10px;\n width: fit-content;\n`;\n\nexport function Tag({ title = '', color = '#033869' }: TagProps) {\n return (\n \n \n {title}\n \n \n );\n}\n","import { Text } from '@/design.system/text/text';\nimport React from 'react';\nimport styled from 'styled-components';\n\ninterface TapProps {\n icons: object;\n title?: string;\n tapped?: boolean;\n onClick?: any;\n children?: React.ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface TapWrapperProps {\n selected?: any;\n}\n\nconst TapWrapper = styled.div`\n display: flex;\n padding: 8px 14px;\n align-items: flex-end;\n gap: 10px;\n border-radius: 16px;\n border: ${({ theme, selected }) =>\n `1px solid ${selected ? 'transparent' : theme.colors.dark_blue}`};\n background: ${({ theme, selected }) =>\n selected ? theme.colors.dark_blue : 'transparent'};\n`;\n\nexport function Tap({\n title = '',\n tapped,\n children,\n style,\n onClick,\n}: TapProps) {\n return (\n \n {children}\n \n {title}\n \n \n );\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport Open from '@/assets/icons/expand-arrow.svg';\nimport {\n DropdownHeader,\n DropdownWrapper,\n DropdownBody,\n DropdownItem,\n DropdownListWrapper,\n LabelWrapper,\n} from './drop.down.styled';\nimport { Text } from '../text/text';\nimport { SearchInput } from '../search.input/search.input';\nimport { useOnClickOutside } from '@/hooks';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n\ninterface DropDownItem {\n id: number | string;\n label: string;\n}\ninterface DropDownProps {\n data: DropDownItem[];\n onChange: (item: DropDownItem) => void;\n width?: number;\n value?: DropDownItem | null;\n label?: string;\n tooltip?: string;\n required?: boolean;\n}\n\nconst SELECTED_ITEM = 'Select item';\nconst CONTAINER_STYLE = {\n width: '90%',\n border: 'none',\n background: 'transparent',\n};\nconst SEARCH_INPUT_STYLE = { background: 'transparent' };\n\nexport function DropDown({\n data = [],\n onChange,\n width = 260,\n value,\n label,\n tooltip,\n required,\n}: DropDownProps) {\n const [isOpen, setOpen] = useState(false);\n const [selectedItem, setSelectedItem] = useState(value || null);\n const [isHover, setHover] = useState(false);\n const [searchFilter, setSearchFilter] = useState('');\n\n const containerRef = useRef(null);\n\n useEffect(() => {\n value && setSelectedItem(value);\n }, [value]);\n\n useOnClickOutside(containerRef, () => setOpen(false));\n\n const toggleDropdown = () => setOpen(!isOpen);\n\n const handleItemClick = (item: DropDownItem) => {\n onChange(item);\n setSelectedItem(item);\n setSearchFilter('');\n setOpen(false);\n };\n\n function getDropdownList() {\n return searchFilter\n ? data?.filter((item: any) =>\n item?.label.toLowerCase().includes(searchFilter.toLowerCase())\n )\n : data;\n }\n\n return (\n <>\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n
\n setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={toggleDropdown}\n >\n \n {selectedItem ? selectedItem.label : SELECTED_ITEM}\n \n \n \n {isOpen && (\n \n setSearchFilter(e.target.value)}\n placeholder=\"Search\"\n containerStyle={CONTAINER_STYLE}\n inputStyle={SEARCH_INPUT_STYLE}\n showClear={false}\n />\n \n {getDropdownList().map((item) => (\n handleItemClick(item)}\n >\n {item.label}\n \n ))}\n \n \n )}\n
\n \n );\n}\n","import styled from 'styled-components';\n\ninterface DropdownWrapperProps {\n selected?: any;\n}\n\nexport const DropdownWrapper = styled.div`\n position: relative;\n z-index: 999;\n width: 100%;\n padding: 11px 4px;\n border-radius: 8px;\n cursor: pointer;\n border: ${({ selected, theme }) =>\n `1px solid ${selected ? theme.colors.white : theme.colors.blue_grey}`};\n /* background: ${({ theme }) => theme.colors.dark}; */\n\n .dropdown-arrow {\n transform: rotate(0deg);\n transition: all 0.2s ease-in-out;\n }\n\n .dropdown-arrow.open {\n transform: rotate(180deg);\n }\n`;\n\nexport const DropdownHeader = styled.div`\n padding: 0 12px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: ${({ theme }) => theme.text.white};\n font-size: 14px;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-weight: 400;\n`;\n\nexport const DropdownBody = styled.div`\n position: relative;\n z-index: 1000;\n display: flex;\n width: 100%;\n padding: 11px 4px;\n flex-direction: column;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n margin-top: 5px;\n`;\n\nexport const DropdownListWrapper = styled.div`\n position: relative;\n\n z-index: 1000;\n width: 100%;\n max-height: 270px;\n overflow-y: scroll;\n scrollbar-width: none;\n :hover {\n background: ${({ theme }) => theme.colors.dark_blue};\n }\n`;\n\nexport const DropdownItem = styled.div`\n display: flex;\n padding: 7px 12px;\n justify-content: space-between;\n align-items: center;\n border-radius: 8px;\n cursor: pointer;\n p {\n cursor: pointer !important;\n }\n`;\nexport const LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n","import React from 'react';\nimport { SearchInputWrapper, StyledSearchInput } from './search.input.styled';\nimport Glass from '@/assets/icons/glass.svg';\nimport X from '@/assets/icons/X.svg';\n\ninterface SearchInputProps {\n placeholder?: string;\n value?: string;\n onChange?: (e: any) => void;\n loading?: boolean;\n containerStyle?: any;\n inputStyle?: any;\n showClear?: boolean;\n}\n\nexport function SearchInput({\n placeholder = 'Search',\n value = '',\n onChange = () => {},\n loading = false,\n containerStyle = {},\n inputStyle = {},\n showClear = true,\n}: SearchInputProps) {\n const clear = value\n ? () =>\n onChange({\n target: {\n value: '',\n },\n })\n : () => {};\n\n return (\n \n \n \n\n {showClear && (\n
\n {' '}\n \n
\n )}\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface ActiveProps {\n active?: any;\n}\n\nexport const SearchInputWrapper = styled.div`\n position: relative;\n display: flex;\n width: 340px;\n padding: 9px 13px;\n gap: 10px;\n border-radius: 8px;\n border: ${({ active, theme }) =>\n `1px solid ${active ? theme.colors.white : theme.colors.blue_grey}`};\n background: ${({ active, theme }) =>\n `${active ? theme.colors.dark : theme.colors.light_dark}`};\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.colors.white}`};\n }\n`;\n\nexport const StyledSearchInput = styled.input`\n width: 85%;\n background: ${({ active, theme }) =>\n `${active ? theme.colors.dark : \"transparent\"}`};\n border: none;\n outline: none;\n color: ${({ active, theme }) =>\n `${active ? theme.colors.white : theme.text.grey}`};\n font-size: 14px;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-weight: 400;\n &:focus {\n color: ${({ theme }) => `solid 1px ${theme.colors.white}`};\n }\n`;\n","import * as React from \"react\";\nconst SvgGlass = props => ;\nexport default SvgGlass;","import * as React from \"react\";\nconst SvgX = props => ;\nexport default SvgX;","import * as React from \"react\";\nconst SvgQuestion = props => ;\nexport default SvgQuestion;","import Question from '@/assets/icons/question.svg';\nimport React, { useState, ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\n\n// Styled tooltip container\nconst TooltipContainer = styled.div`\n display: inline-flex;\n align-items: center; // Align children and icon vertically\n position: relative;\n`;\n\n// Styled icon (using a simple div here, but you can replace it with an actual icon component)\nconst Icon = styled.div`\n margin-left: 8px;\n display: flex;\n align-items: center;\n`;\n\n// Styled tooltip text\nconst TooltipText = styled.div<{ isVisible: boolean }>`\n visibility: ${({ isVisible }) => (isVisible ? 'visible' : 'hidden')};\n background-color: black;\n color: white;\n text-align: center;\n border-radius: 6px;\n padding: 5px 10px;\n max-width: 300px;\n width: 100%;\n text-align: left;\n /* Position the tooltip above the icon */\n position: absolute;\n z-index: 1;\n bottom: 100%;\n left: 50%;\n transform: translateX(-0%);\n margin-bottom: 5px; // Space between the tooltip and the icon\n\n /* Fade in animation */\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n transition: opacity 0.3s;\n`;\n\ninterface TooltipProps {\n children: ReactNode;\n text: string;\n icon?: ReactNode;\n showIcon?: boolean;\n}\n\nexport const Tooltip: React.FC = ({\n children,\n text,\n icon = '?',\n showIcon = true,\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n\n const showTooltip = () => setIsVisible(true);\n const hideTooltip = () => setIsVisible(false);\n\n if (!text) return <>{children};\n\n return (\n \n {children}\n \n \n {text}\n \n \n {showIcon && (\n \n \n \n )}\n \n );\n};\n","import React from \"react\";\nimport { Text } from \"../text/text\";\nimport {\n SwitchButtonWrapper,\n SwitchInputWrapper,\n SwitchToggleWrapper,\n} from \"./switch.styled\";\n\ninterface SwitchProps {\n toggle: boolean;\n handleToggleChange: () => void;\n style?: object;\n label?: string;\n}\n\nexport function Switch({\n toggle,\n handleToggleChange,\n style,\n label = \"Select All\",\n}: SwitchProps) {\n return (\n \n \n \n \n {label && {label}}\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface SwitchToggleWrapperProps {\n active?: any;\n}\n\ninterface SwitchToggleBtnProps {\n disabled: boolean | undefined;\n}\n\nexport const SwitchInputWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\nexport const SwitchToggleWrapper = styled.div`\n position: relative;\n width: 30px;\n height: 16px;\n background-color: ${({ active, theme }) =>\n active ? theme.colors.secondary : theme.text.grey};\n cursor: pointer;\n user-select: none;\n border-radius: 20px;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const SwitchButtonWrapper = styled.span`\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n width: 14px;\n height: 14px;\n cursor: pointer;\n color: #fff;\n background-color: ${({ disabled, theme }) =>\n !disabled ? theme.text.light_grey : theme.text.white};\n box-shadow: 0 2px 4px rgb(0, 0, 0, 0.25);\n border-radius: 100%;\n position: absolute;\n transition: all 0.2s ease;\n left: ${({ disabled }) => (!disabled ? 2 : 18)}px;\n`;\n","import React from 'react';\nimport { Text } from '../text/text';\nimport { CheckboxWrapper, CheckboxItem } from './checkbox.styled';\nimport Checked from '../../assets/icons/checkbox-rect.svg';\n\ninterface CheckboxProps {\n value: boolean;\n onChange: () => void;\n label?: string;\n disabled?: boolean;\n}\n\nexport function Checkbox({\n onChange,\n value,\n label = '',\n disabled = false,\n}: CheckboxProps) {\n return (\n \n {value ? : }\n {label}\n \n );\n}\n","import { styled } from \"styled-components\";\n\ninterface CheckboxWrapperProps {\n disabled?: boolean;\n}\n\nexport const CheckboxWrapper = styled.div`\n display: flex;\n gap: 8px;\n align-items: center;\n cursor: ${({ disabled }) => (disabled ? \"not-allowed\" : \"pointer\")};\n pointer-events: ${({ disabled }) => (disabled ? \"none\" : \"auto\")};\n opacity: ${({ disabled }) => (disabled ? \"0.5\" : \"1\")};\n`;\n\nexport const CheckboxItem = styled.span`\n width: 16px;\n height: 16px;\n border: ${({ theme }) => `solid 1px ${theme.colors.light_grey}`};\n border-radius: 4px;\n`;\n","import * as React from \"react\";\nconst SvgCheckboxRect = props => ;\nexport default SvgCheckboxRect;","import React from \"react\";\nimport { SelectedCounterWrapper } from \"./selected.counter.styled\";\nimport Checked from \"@/assets/icons/check.svg\";\nimport { Text } from \"../text/text\";\n\ninterface SelectedCounterProps {\n total: number;\n selected: number;\n}\n\nexport function SelectedCounter({ total, selected }: SelectedCounterProps) {\n return (\n \n {selected !== 0 && }\n {`${selected} / ${total}`}\n \n );\n}\n","import styled from \"styled-components\";\n\nexport const SelectedCounterWrapper = styled.div`\n display: flex;\n padding: 4px;\n align-items: center;\n gap: 4px;\n border-radius: 14px;\n background: ${({ theme }) => theme.colors.dark_blue};\n`;\n","import React from 'react';\nimport { Text } from '../text/text';\nimport { styled } from 'styled-components';\nimport theme from '@/styles/palette';\n\ninterface LinkProps {\n value: string;\n onClick?: () => void;\n fontSize?: number;\n color?: string;\n}\n\nconst LinkContainer = styled.div`\n cursor: pointer;\n .p {\n cursor: pointer !important;\n }\n`;\n\nexport function Link({\n value,\n onClick,\n fontSize = 16,\n color = theme.colors.secondary,\n}: LinkProps) {\n return (\n \n \n {value}\n \n \n );\n}\n","import Image from \"next/image\";\nimport React from \"react\";\n\ninterface ImageProps {\n src: string;\n alt?: string;\n width?: number;\n height?: number;\n style?: React.CSSProperties;\n}\n\nconst IMAGE_STYLE: React.CSSProperties = {\n borderRadius: 10,\n};\n\nexport function ImageComponent({\n src,\n alt = \"\",\n width = 56,\n height = 56,\n style = {},\n}: ImageProps) {\n return (\n \n );\n}\n","import React, { ChangeEvent, InputHTMLAttributes, useState } from 'react';\nimport {\n StyledInputContainer,\n StyledInput,\n ErrorWrapper,\n LabelWrapper,\n DisplayIconsWrapper,\n} from './input.styled';\nimport { Text } from '../text/text';\nimport EyeOpenIcon from '@/assets/icons/eye-open.svg';\nimport EyeCloseIcon from '@/assets/icons/eye-close.svg';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n\ninterface InputProps extends Omit, 'onChange'> {\n label?: string;\n onChange: (value: string) => void;\n error?: string;\n style?: React.CSSProperties;\n tooltip?: string;\n}\n\nexport function Input({\n label,\n value,\n onChange,\n type = 'text',\n error = '',\n style = {},\n onKeyDown,\n tooltip,\n required,\n autoComplete = \"off\",\n ...rest\n}: InputProps): JSX.Element {\n const [showPassword, setShowPassword] = useState(false);\n\n function handleChange(event: ChangeEvent): void {\n onChange(event.target.value);\n }\n\n return (\n
\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n {type === 'password' && (\n setShowPassword(!showPassword)}>\n {!showPassword ? (\n \n ) : (\n \n )}\n \n )}\n \n {error && (\n \n \n {error}\n \n \n )}\n
\n );\n}\n","import { styled } from 'styled-components';\n\ninterface ActiveProps {\n active?: any;\n error: boolean | undefined;\n}\n\nexport const StyledInputContainer = styled.div`\n position: relative;\n display: flex;\n width: 100%;\n padding-left: 13px;\n height: 100%;\n min-height: 37px;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme, error, active }) =>\n `1px solid ${\n error\n ? theme.colors.error\n : active\n ? theme.text.grey\n : theme.colors.blue_grey\n }`};\n background: ${({ theme }) => theme.colors.light_dark};\n\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.text.grey}`};\n }\n`;\n\nexport const StyledActionInputContainer = styled.div`\n position: relative;\n display: flex;\n width: 100%;\n padding: 0px 12px;\n height: 100%;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n border-radius: 4px;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n`;\n\nexport const StyledInput = styled.input`\n background: transparent;\n border: none;\n outline: none;\n width: 96%;\n color: ${({ theme }) => theme.text.white};\n`;\n\nexport const StyledActionInput = styled(StyledInput)`\n color: var(--dark-mode-white, #fff);\n font-family: Inter, sans-serif;\n font-size: 24px;\n`;\n\nexport const LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n\nexport const ErrorWrapper = styled.div`\n margin-top: 4px;\n`;\n\nexport const DisplayIconsWrapper = styled.div`\n position: absolute;\n right: 10px;\n cursor: pointer;\n`;\n","import * as React from \"react\";\nconst SvgEyeOpen = props => ;\nexport default SvgEyeOpen;","import * as React from \"react\";\nconst SvgEyeClose = props => ;\nexport default SvgEyeClose;","import React, { ChangeEvent } from 'react';\nimport { StyledActionInputContainer, StyledActionInput } from './input.styled';\nimport { Button } from '../button/button';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\n\ninterface InputProps {\n value: string;\n onAction: () => void;\n onChange: (value: string) => void;\n type?: string;\n style?: React.CSSProperties;\n}\n\nexport function ActionInput({\n value,\n onChange,\n style = {},\n onAction,\n}: InputProps): JSX.Element {\n function handleChange(event: ChangeEvent): void {\n onChange(event.target.value);\n }\n\n return (\n <>\n \n \n\n \n \n \n );\n}\n","import React, { useState } from \"react\";\nimport CloseIcon from \"@/assets/icons/close.svg\";\nimport PlayerIcon from \"@/assets/icons/player.svg\";\nimport { Text } from \"../text/text\";\nimport {\n ImagePreviewWrapper,\n PlayerIconWrapper,\n LargePlayerIconWrapper,\n StyledLargeVideo,\n LargeVideoHeader,\n LargeVideoContainer,\n} from \"./video.styled\";\n\ntype VideoComponentProps = {\n videoSrc: string;\n title?: string;\n thumbnail?: string | undefined;\n};\n\nexport function Video({ videoSrc, title, thumbnail }: VideoComponentProps) {\n const [isLarge, setIsLarge] = useState(false);\n const [pause, setPause] = useState(true);\n\n const handleClick = (): void => {\n setIsLarge(true);\n };\n\n const handleClose = (): void => {\n setIsLarge(false);\n setPause(true);\n };\n\n const renderSmallView = (): JSX.Element => (\n <>\n \n {title}\n \n \n \n \n \n \n \n );\n\n const renderLargeView = (): JSX.Element => (\n \n \n \n {title}\n \n \n \n {!pause ? (\n \n ) : (\n setPause(false)}\n >\n \n \n \n \n )}\n \n );\n\n return
{isLarge ? renderLargeView() : renderSmallView()}
;\n}\n","import * as React from \"react\";\nconst SvgClose = props => ;\nexport default SvgClose;","import * as React from \"react\";\nconst SvgPlayer = props => ;\nexport default SvgPlayer;","import { styled } from \"styled-components\";\n\ninterface ImagePreviewWrapperProps {\n url: string | undefined;\n}\n\nexport const ImagePreviewWrapper = styled.div`\n position: relative;\n margin-top: 8px;\n border-radius: 8px;\n width: 240px;\n height: 140px;\n cursor: pointer;\n background: ${({ url }) => `linear-gradient(\n 0deg,\n rgba(2, 20, 30, 0.2) 0%,\n rgba(2, 20, 30, 0.2) 100%\n ),\n url(${url}),\n lightgray 50%`};\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n`;\n\nexport const PlayerIconWrapper = styled.div`\n position: absolute;\n margin-left: auto;\n margin-right: auto;\n left: 0;\n right: 0;\n top: 30px;\n text-align: center;\n`;\nexport const LargePlayerIconWrapper = styled(PlayerIconWrapper)`\n top: 40%;\n`;\n\nexport const StyledLargeVideo = styled.video`\n width: 980px;\n border-radius: 8px;\n`;\n\nexport const LargeVideoHeader = styled.div`\n width: 980px;\n\n display: flex;\n justify-content: space-between;\n margin-bottom: 21px;\n`;\n\nexport const LargeVideoContainer = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background: rgba(0, 0, 0, 0.65);\n z-index: 9999;\n`;\n","import React from 'react';\nimport { StyledLoader, LoaderWrapper } from './loader.styled';\n\ninterface LoaderProps {\n width?: number;\n height?: number;\n}\n\nexport function Loader({ width, height }: LoaderProps) {\n return (\n \n \n \n );\n}\n","import styled from 'styled-components';\n\nexport const LoaderWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n`;\n\nexport const StyledLoader = styled.div<{\n width?: number | undefined;\n height?: number | undefined;\n}>`\n width: ${({ width }) => width || 48}px;\n height: ${({ height }) => height || 48}px;\n border: 4px solid;\n border-color: ${({ theme }) =>\n `${theme.colors.secondary} ${theme.colors.secondary} ${theme.colors.secondary} transparent`};\n border-radius: 50%;\n animation: spin-anim 1.2s linear infinite;\n\n @keyframes spin-anim {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n","import React, { useEffect } from \"react\";\nimport {\n NotificationContainer,\n StyledNotification,\n} from \"./notification.styled\";\nimport { Text } from \"../text/text\";\nimport CloseIcon from \"@/assets/icons/X-blue.svg\";\nimport SuccessIcon from \"@/assets/icons/success-notification.svg\";\nimport ErrorIcon from \"@/assets/icons/error-notification.svg\";\n\ninterface NotificationProps {\n type: \"success\" | \"error\" | \"warning\" | \"info\";\n message: string;\n onClose?: () => void;\n}\n\nexport function Notification({ type, message, onClose }: NotificationProps) {\n useEffect(() => {\n const id = setTimeout(() => {\n onClose && onClose();\n }, 5000);\n\n return () => {\n clearTimeout(id);\n };\n }, []);\n\n function getIcon() {\n switch (type) {\n case \"success\":\n return ;\n case \"error\":\n return ;\n }\n }\n\n function getNotificationStyle() {\n switch (type) {\n case \"error\":\n return { border: \"1px solid #FD3F3F\" };\n default:\n return {};\n }\n }\n\n return (\n \n \n {getIcon()}\n \n {message}\n \n \n \n \n );\n}\n","import styled from 'styled-components';\n\nexport const NotificationContainer = styled.div`\n position: fixed;\n top: 3%;\n right: 3%;\n`;\n\nexport const StyledNotification = styled.div`\n display: flex;\n padding: 6px 16px 6px 8px;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n background: ${({ theme }) => theme.colors.dark_blue};\n svg {\n cursor: pointer;\n }\n`;\n","import * as React from \"react\";\nconst SvgXBlue = props => ;\nexport default SvgXBlue;","import * as React from \"react\";\nconst SvgSuccessNotification = props => ;\nexport default SvgSuccessNotification;","import * as React from \"react\";\nconst SvgErrorNotification = props => ;\nexport default SvgErrorNotification;","'use client';\nimport React, { useEffect } from 'react';\nimport ReactFlow, {\n Background,\n useReactFlow,\n ReactFlowProvider,\n} from 'reactflow';\nimport { IDataFlow } from './types';\nimport theme from '@/styles/palette';\nimport ActionNode from './action.node.tsx';\nimport CenterNode from './keyval.middleware';\nimport NamespaceNode from './namespace.node.tsx';\nimport DestinationNode from './destination.node.tsx';\nimport SourceNode from './source.node.tsx';\nimport { DataFlowContainer } from './data.flow.styled';\nimport 'reactflow/dist/style.css';\nimport { DataFlowControlPanel } from './control.panel.tsx';\n\nconst backgroundColor = theme.colors.data_flow_bg;\n\nconst nodeTypes = {\n custom: CenterNode,\n namespace: NamespaceNode,\n destination: DestinationNode,\n action: ActionNode,\n source: SourceNode,\n};\n\nfunction DataFlow({ nodes, edges, ...rest }: IDataFlow) {\n const { fitView } = useReactFlow();\n\n useEffect(() => {\n setTimeout(() => {\n fitView();\n }, 100);\n }, [fitView, nodes, edges]);\n\n return (\n \n \n \n \n \n \n );\n}\n\nexport function KeyvalDataFlow(props: IDataFlow) {\n return (\n \n \n \n );\n}\n","import React, { memo } from 'react';\nimport { Handle, Position } from 'reactflow';\nimport styled from 'styled-components';\nimport { Text } from '@/design.system';\nimport { ACTION_ICONS } from '@/assets';\nimport theme from '@/styles/palette';\n\nconst ActionContainer = styled.div`\n display: flex;\n flex-direction: column;\n padding: 8px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n gap: 4px;\n min-width: 80px;\n`;\n\nconst TextWrapper = styled.div`\n max-width: 72px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst SignalIndicator = styled.span<{ backgroundColor: string }>`\n background-color: ${({ backgroundColor }) => backgroundColor};\n width: 8px;\n height: 8px;\n border-radius: 8px;\n`;\n\nconst IconWrapper = styled.div`\n width: 24px;\n height: 24px;\n`;\n\ninterface ActionNodeProps {\n data: {\n type: string;\n spec?: {\n actionName?: string;\n signals: string[];\n };\n };\n isConnectable: boolean;\n}\n\nexport default memo(({ data, isConnectable }: ActionNodeProps) => {\n const ActionIcon = ACTION_ICONS[data.type] ? ACTION_ICONS[data.type] : null;\n\n return (\n \n \n {ActionIcon && (\n \n \n \n )}\n \n \n {data?.spec?.actionName || 'Action'}\n \n \n \n {data.spec?.signals.map((monitor: string) => (\n \n ))}\n \n \n \n );\n});\n","import React from 'react';\nimport { Handle, Position } from 'reactflow';\nimport styled, { keyframes } from 'styled-components';\nconst flickerAnimation = keyframes`\n 0% {\n opacity: 1;\n\n }\n 100% {\n opacity: 0.5;\n }\n`;\n\nconst FlickerWrapper = styled.div`\n width: 120px;\n height: 120px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 60px;\n position: relative;\n z-index: 90;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 60px;\n background: #110c1f55;\n z-index: -1;\n animation: ${flickerAnimation} 1s infinite alternate;\n }\n`;\n\nconst InnerWrapper = styled.div`\n width: 100px;\n height: 100px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50px;\n border: solid 1px #3a3a3a76;\n background: #110c1f7d;\n`;\n\nconst LogoContainer = styled.div`\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 40px;\n border: solid 1px #3a3a3aa9;\n background: #110c1f;\n position: relative;\n z-index: 99;\n`;\n\n// TypeScript Props Interface\ninterface OdigosCenterNodeProps {\n isConnectable: boolean;\n}\n\nconst OdigosCenterNode: React.FC = ({\n isConnectable,\n}) => {\n return (\n \n \n \n {/* \"logo\" */}\n \n \n \n \n \n \n );\n};\n\nexport default OdigosCenterNode;\n","import React, { memo } from 'react';\nimport { Handle, Position } from 'reactflow';\nimport { styled } from 'styled-components';\nimport { Text } from '@/design.system';\nimport { Folder } from '@/assets/icons/overview';\n\nconst NamespaceContainer = styled.div`\n display: flex;\n padding: 16px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n width: 272px;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 10px;\n`;\n\nexport default memo(({ data, isConnectable }: any) => {\n return (\n \n \n \n \n {data?.name}\n \n {data?.totalAppsInstrumented && (\n {`${data.totalAppsInstrumented} Apps Instrumented`}\n )}\n \n \n \n );\n});\n","import * as React from \"react\";\nconst SvgMiddleware = props => ;\nexport default SvgMiddleware;","import * as React from \"react\";\nconst SvgFolder = props => ;\nexport default SvgFolder;","import React from 'react';\nimport theme from '@/styles/palette';\nimport { Text } from '@/design.system';\nimport { styled } from 'styled-components';\nimport { Handle, Position } from 'reactflow';\nimport { MONITORING_OPTIONS } from './monitors';\n\ninterface IconWrapperProps {\n tapped?: boolean | undefined | string;\n}\n\nconst DestinationNodeContainer = styled.div`\n padding: 16px 24px;\n display: flex;\n border-radius: 12px;\n gap: 8px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n justify-content: space-between;\n width: 430px;\n`;\n\nexport const NodeDataWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 8px;\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\n\nconst IMAGE_STYLE: React.CSSProperties = {\n backgroundColor: '#fff',\n padding: 4,\n borderRadius: 10,\n};\n\nconst IconWrapper = styled.div`\n padding: 4px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 100%;\n opacity: ${({ tapped }) => (tapped ? 1 : 0.4)};\n`;\n\nconst MonitorsListWrapper = styled.div`\n display: flex;\n gap: 8px;\n`;\n\nexport default function DestinationNode({ data, isConnectable }: any) {\n function renderMonitors() {\n return MONITORING_OPTIONS.map((monitor) => (\n \n {data?.signals?.[monitor?.type]\n ? monitor.icons.focus()\n : monitor.icons.notFocus()}\n \n ));\n }\n\n return (\n \n \n \n \n {data?.name}\n \n {data?.destination_type?.display_name}\n \n \n \n {renderMonitors()}\n \n \n );\n}\n","import * as React from \"react\";\nconst SvgLogsGrey = props => ;\nexport default SvgLogsGrey;","import * as React from \"react\";\nconst SvgLogsBlue = props => ;\nexport default SvgLogsBlue;","import * as React from \"react\";\nconst SvgChartLineGrey = props => ;\nexport default SvgChartLineGrey;","import * as React from \"react\";\nconst SvgChartLineBlue = props => ;\nexport default SvgChartLineBlue;","import * as React from \"react\";\nconst SvgTreeStructureGrey = props => ;\nexport default SvgTreeStructureGrey;","import * as React from \"react\";\nconst SvgTreeStructureBlue = props => ;\nexport default SvgTreeStructureBlue;","import Logs from '@/assets/icons/logs-grey.svg';\nimport LogsFocus from '@/assets/icons/logs-blue.svg';\nimport Metrics from '@/assets/icons/chart-line-grey.svg';\nimport MetricsFocus from '@/assets/icons/chart-line-blue.svg';\nimport Traces from '@/assets/icons/tree-structure-grey.svg';\nimport TracesFocus from '@/assets/icons/tree-structure-blue.svg';\n\nconst MONITORS = {\n LOGS: 'Logs',\n METRICS: 'Metrics',\n TRACES: 'Traces',\n};\n\nexport type MonitoringOption = {\n title: string;\n tapped: boolean;\n icons: object;\n id: number;\n};\n\nexport const MONITORING_OPTIONS = [\n {\n id: 1,\n icons: {\n notFocus: () => Logs(),\n focus: () => LogsFocus(),\n },\n title: MONITORS.LOGS,\n type: 'logs',\n tapped: true,\n },\n {\n id: 2,\n icons: {\n notFocus: () => Metrics(),\n focus: () => MetricsFocus(),\n },\n title: MONITORS.METRICS,\n type: 'metrics',\n tapped: true,\n },\n {\n id: 3,\n icons: {\n notFocus: () => Traces(),\n focus: () => TracesFocus(),\n },\n title: MONITORS.TRACES,\n type: 'traces',\n tapped: true,\n },\n];\n","import React, { memo } from 'react';\nimport Image from 'next/image';\nimport styled from 'styled-components';\nimport { Text } from '@/design.system';\nimport { LANGUAGES_LOGOS } from '@/assets';\nimport { Handle, Position } from 'reactflow';\n\nconst NamespaceContainer = styled.div`\n display: flex;\n padding: 16px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n width: 272px;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 4px;\n display: flex;\n flex-direction: column;\n`;\n\nconst ImageWrapper = styled.div`\n padding: 4px;\n background-color: #fff;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\ninterface NamespaceNodeProps {\n data: {\n namespace?: string;\n name?: string;\n languages?: { language: keyof typeof LANGUAGES_LOGOS }[];\n };\n isConnectable: boolean;\n}\n\nexport default memo(({ data, isConnectable }: NamespaceNodeProps) => {\n const languageKey = data?.languages?.[0]?.language || 'default';\n const lan = LANGUAGES_LOGOS[languageKey];\n\n return (\n \n \n {''}\n \n \n {data.namespace}\n \n {data?.name}\n \n \n \n \n );\n});\n","import styled from 'styled-components';\n\nexport const DataFlowContainer = styled.div`\n width: 100%;\n height: 100%;\n`;\n\nexport const ControllerWrapper = styled.div`\n button {\n display: flex;\n padding: 8px;\n align-items: center;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: #0e1c28 !important;\n margin-bottom: 8px;\n }\n\n .react-flow__controls button path {\n fill: #fff;\n }\n`;\n","// Import React and necessary components\nimport React, { useEffect, useState } from 'react';\nimport 'reactflow/dist/style.css';\nimport { Controls } from 'reactflow';\nimport theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport { Text } from '../text/text.tsx';\nimport Open from '@/assets/icons/expand-arrow.svg';\nimport { ControllerWrapper } from './data.flow.styled.tsx';\n// Define styled components\nconst ControllerPanelWrapper = styled.div`\n position: absolute;\n z-index: 999;\n top: 15px;\n left: 60px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n background-color: ${theme.colors.dark};\n padding: 10px;\n border-radius: 8px;\n border: 1px solid ${theme.colors.blue_grey};\n button {\n display: flex;\n padding: 8px;\n align-items: center;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: #0e1c28 !important;\n margin-bottom: 8px;\n }\n\n .react-flow__controls button path {\n fill: #fff;\n }\n`;\n\nconst MonitorItem = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 14px;\n`;\n\nconst MonitorIndicator = styled.span<{ color: string }>`\n background-color: ${({ color }) => color};\n width: 10px;\n height: 10px;\n border-radius: 8px;\n margin-right: 6px;\n`;\n\nconst TitleWrapper = styled.div`\n display: flex;\n gap: 10px;\n cursor: pointer;\n`;\n\n// TypeScript type for monitor items\ninterface MonitorItem {\n name: string;\n color: string;\n}\n\nexport function DataFlowControlPanel() {\n const [isOpen, setOpen] = useState(true);\n\n useEffect(() => {\n setTimeout(() => {\n setOpen(false);\n }, 7000);\n }, []);\n\n const MONITORS: MonitorItem[] = [\n {\n name: 'Traces',\n color: theme.colors.traces,\n },\n {\n name: 'Logs',\n color: theme.colors.logs,\n },\n {\n name: 'Metrics',\n color: theme.colors.metrics,\n },\n ];\n\n return (\n <>\n \n setOpen(!isOpen)}>\n \n Supported Signals\n \n \n \n {isOpen && (\n \n {MONITORS.map((monitor) => (\n \n \n \n {monitor.name}\n \n \n ))}\n \n )}\n \n \n \n \n \n );\n}\n","import React from \"react\";\nimport { styled } from \"styled-components\";\nimport { Text } from \"../text/text\";\nimport theme from \"@/styles/palette\";\n\nconst DangerZoneWrapper = styled.div`\n padding: 10px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n border-radius: 8px;\n width: fit-content;\n width: 344px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n`;\n\nconst DangerButtonWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: flex-end;\n :hover {\n background: ${({ theme }) => theme.colors.error};\n p {\n color: #fff !important;\n }\n }\n`;\n\nconst DangerButton = styled.button`\n padding: 8px 12px;\n border-radius: 4px;\n background: transparent;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n cursor: pointer !important;\n`;\n\ninterface DangerZoneProps {\n title: string;\n subTitle: string;\n btnText: string;\n onClick: () => void;\n}\n\nexport function DangerZone({\n title,\n subTitle,\n btnText,\n onClick,\n}: DangerZoneProps) {\n return (\n <>\n \n \n {title}\n \n {subTitle}\n \n \n \n {btnText}\n \n \n \n \n \n );\n}\n","import React, { useCallback, useEffect, useRef } from 'react';\nimport PortalModal from './portal.modal';\nimport * as S from './modal.styled';\nimport { Props } from './types';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\nimport { useOnClickOutside } from '@/hooks';\nimport CloseIcon from '@/assets/icons/close-modal.svg';\nimport { Button } from '../button/button';\nimport { Link } from '../link/link';\nexport function Modal({ children, closeModal, config }: Props) {\n const modalRef = useRef(null);\n\n // handle what happens on click outside of modal\n const handleClickOutside = () => closeModal();\n\n // handle what happens on key press\n const handleKeyPress = useCallback((event: KeyboardEvent) => {\n if (event.key === 'Escape') closeModal();\n }, []);\n\n useOnClickOutside(modalRef, handleClickOutside);\n\n useEffect(() => {\n // attach the event listener if the modal is shown\n document.addEventListener('keydown', handleKeyPress);\n // remove the event listener\n return () => {\n document.removeEventListener('keydown', handleKeyPress);\n };\n }, [handleKeyPress]);\n\n return (\n <>\n \n \n \n {config.showHeader && (\n \n \n {config.title}\n \n \n )}\n\n \n \n \n\n {children}\n {config?.footer && (\n \n {config.footer.link && (\n \n )}\n {config.footer.secondaryBtnText && (\n \n \n {config.footer.secondaryBtnText}\n \n \n )}\n \n \n {config.footer.primaryBtnText}\n \n \n \n )}\n \n \n \n \n );\n}\n","import { useState, useLayoutEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n\ninterface Props {\n children: JSX.Element;\n wrapperId: string;\n}\n\nconst PortalModal = ({ children, wrapperId }: Props) => {\n const [portalElement, setPortalElement] = useState(null);\n\n useLayoutEffect(() => {\n let element = document.getElementById(wrapperId) as HTMLElement;\n let portalCreated = false;\n // if element is not found with wrapperId or wrapperId is not provided,\n // create and append to body\n if (!element) {\n element = createWrapperAndAppendToBody(wrapperId);\n portalCreated = true;\n }\n\n setPortalElement(element);\n\n // cleaning up the portal element\n return () => {\n // delete the programatically created element\n if (portalCreated && element.parentNode) {\n element.parentNode.removeChild(element);\n }\n };\n }, [wrapperId]);\n\n const createWrapperAndAppendToBody = (elementId: string) => {\n const element = document.createElement(\"div\");\n element.setAttribute(\"id\", elementId);\n document.body.appendChild(element);\n return element;\n };\n\n // portalElement state will be null on the very first render.\n if (!portalElement) return null;\n\n return createPortal(children, portalElement);\n};\n\nexport default PortalModal;\n","import styled, { keyframes } from 'styled-components';\nimport { ModalPositionX, ModalPositionY } from './types';\n\ninterface PropsOverlay {\n showOverlay: boolean;\n positionX: ModalPositionX;\n positionY: ModalPositionY;\n}\ninterface PropsModalContainer {\n padding: string;\n}\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`;\n\nexport const ModalButtonsContainer = styled.div`\n padding: 40px;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 20px;\n`;\nexport const ModalButtonPrimary = styled.button`\n display: block;\n padding: 10px 30px;\n border-radius: 3px;\n color: ${({ theme }) => theme.colors.btnText};\n border: 1px solid ${({ theme }) => theme.colors.main};\n background-color: ${({ theme }) => theme.colors.main};\n font-family: 'Robot', sans-serif;\n font-weight: 500;\n transition: 0.3s ease all;\n\n &:hover {\n background-color: ${({ theme }) => theme.colors.shadowMain};\n }\n`;\nexport const ModalButtonSecondary = styled.button`\n display: block;\n padding: 10px 30px;\n border-radius: 3px;\n color: ${({ theme }) => theme.colors.main};\n border: 1px solid ${({ theme }) => theme.colors.main};\n background-color: transparent;\n font-family: 'Robot', sans-serif;\n font-weight: 500;\n transition: 0.3s ease all;\n\n &:hover {\n background-color: ${({ theme }) => theme.colors.shadowMain};\n color: ${({ theme }) => theme.colors.btnText};\n }\n`;\n\nexport const Overlay = styled.div`\n width: 100vw;\n height: 100vh;\n z-index: 9999;\n position: fixed;\n top: 0;\n left: 0;\n background-color: ${(props) =>\n props.showOverlay\n ? 'rgba(255, 255, 255, 0.1)'\n : 'rgba(255, 255, 255, 0.1)'};\n display: flex;\n align-items: center;\n justify-content: ${(props) => (props.positionX ? props.positionX : 'center')};\n align-items: ${(props) => (props.positionY ? props.positionY : 'center')};\n padding: 40px;\n\n @media (prefers-reduced-motion: no-preference) {\n animation-name: ${fadeIn};\n animation-fill-mode: backwards;\n }\n`;\nexport const ModalContainer = styled.div`\n min-width: 500px;\n min-height: 50px;\n /* background-color: #ffffff; */\n position: relative;\n /* border-radius: 8px; */\n border-radius: 12px;\n border: 0.95px solid var(--dark-mode-dark-3, #203548);\n background: var(--dark-mode-dark-2, #0e1c28);\n\n padding: ${(props) => (props.padding ? props.padding : '20px')};\n`;\nexport const ModalHeader = styled.header`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-bottom: 20px;\n`;\n\nexport const Close = styled.div`\n position: absolute;\n top: 20px;\n right: 15px;\n border: none;\n background-color: transparent;\n transition: 0.3s ease all;\n border-radius: 3px;\n color: '#d1345b';\n cursor: pointer;\n\n svg {\n width: 24px;\n height: 24px;\n fill: #fff;\n }\n`;\n\nexport const PrimaryButton = styled.button`\n background-color: #ededed8b;\n border: 1px solid #d4d2d2;\n width: 100%;\n height: 36px;\n border-radius: 8px;\n cursor: pointer;\n\n &:hover {\n background-color: #ededed;\n }\n`;\n\nexport const Content = styled.div`\n display: flex;\n width: 100%;\n flex-direction: column;\n align-items: center;\n color: ${({ theme }) => theme.text};\n`;\nexport const ModalFooter = styled.footer`\n width: 100%;\n display: flex;\n gap: 1rem;\n align-items: center;\n justify-content: flex-end;\n margin-top: 20px;\n padding-top: 20px;\n`;\n","import * as React from \"react\";\nconst SvgCloseModal = props => ;\nexport default SvgCloseModal;","import theme from '@/styles/palette';\nimport React, { ReactNode } from 'react';\nimport StyledComponentsRegistry from './registry';\nimport { ThemeProvider } from 'styled-components';\ninterface ThemeProviderWrapperProps {\n children: ReactNode; // Add children prop with ReactNode type\n}\n\nexport const ThemeProviderWrapper: React.FC = ({\n children,\n}) => {\n return (\n \n {children}\n \n );\n};\n","'use client';\n\nimport React, { useState } from 'react';\nimport { useServerInsertedHTML } from 'next/navigation';\nimport { ServerStyleSheet, StyleSheetManager } from 'styled-components';\n\nexport default function StyledComponentsRegistry({\n children,\n}: {\n children: React.ReactNode;\n}) {\n // Only create stylesheet once with lazy initial state\n // x-ref: https://reactjs.org/docs/hooks-reference.html#lazy-initial-state\n const [styledComponentsStyleSheet] = useState(() => new ServerStyleSheet());\n\n useServerInsertedHTML(() => {\n const styles = styledComponentsStyleSheet.getStyleElement();\n styledComponentsStyleSheet.instance.clearTag();\n return <>{styles};\n });\n\n if (typeof window !== 'undefined') return <>{children};\n\n return (\n \n {children}\n \n );\n}\n","import React from \"react\";\nimport StepItem from \"./step.item\";\nimport { StepsContainer } from \"./steps.styled\";\n\ntype StepListProps = {\n data?: Array | null;\n};\n\nexport function Steps({ data }: StepListProps) {\n function renderSteps() {\n return data?.map(({ title, status }: any, index) => (\n \n ));\n }\n\n return {renderSteps()};\n}\n","import { FloatBox } from \"@/design.system/float.box/float.box\";\nimport { Text } from \"@/design.system/text/text\";\nimport React from \"react\";\nimport {\n StepItemTextWrapper,\n StepItemBorder,\n StepItemWrapper,\n FloatingBoxTextWrapper,\n} from \"./steps.styled\";\nimport Done from \"@/assets/icons/checked.svg\";\n\ntype StepItemProps = {\n title: string;\n index: number;\n status: string;\n isLast: boolean;\n};\n\nenum Status {\n Done = \"done\",\n Active = \"active\",\n Disabled = \"disabled\",\n}\n\nexport default function StepItem({\n title,\n index,\n status,\n isLast,\n}: StepItemProps) {\n return (\n \n \n {status === Status.Done ? (\n \n ) : (\n \n {index}\n \n )}\n \n \n {title}\n \n {!isLast && }\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface DisabledProp {\n disabled: boolean;\n}\nexport const StepsContainer = styled.div`\n display: flex;\n`;\n\nexport const StepItemWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const FloatingBoxTextWrapper = styled.div`\n opacity: ${({ disabled }) => (disabled ? \"0.4\" : \"1\")};\n`;\n\nexport const StepItemTextWrapper = styled(FloatingBoxTextWrapper)`\n margin: 0 8px;\n`;\n\nexport const StepItemBorder = styled.div`\n width: 54px;\n height: 1px;\n background-color: #8b92a5;\n margin-top: 2px;\n margin-right: 8px;\n`;\n","import * as React from \"react\";\nconst SvgChecked = props => ;\nexport default SvgChecked;","import React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\n\nconst DividerContainer = styled.div<{ margin: string }>`\n width: 100%;\n display: flex;\n align-items: center;\n gap: 23px;\n margin: ${({ margin }) => margin};\n`;\n\nconst DividerLine = styled.div`\n width: 100%;\n border-top: 1px solid #8b92a5;\n`;\n\nexport function Divider({\n margin = '32px 0',\n label = 'or',\n}: {\n margin?: string;\n label?: string;\n}) {\n return (\n \n \n {label}\n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\n\nconst NoteContainer = styled.div`\n padding: 16px;\n display: flex;\n justify-content: flex-start !important;\n border: 1px solid ${({ theme }) => theme.colors.dark_blue};\n border-radius: 12px;\n`;\n\nconst TextContainer = styled.div`\n line-height: 1.6;\n code {\n background-color: ${({ theme }) => theme.colors.dark_blue};\n padding: 2px 4px;\n border-radius: 6px;\n }\n`;\n\nexport function Note({ text, code }: { text: string; code?: string[] }) {\n useEffect(() => {\n buildNote();\n }, []);\n\n function buildNote() {\n let value = text;\n if (code) {\n code.forEach((c, index) => {\n value = value.replace(`$code${index}`, `${c}`);\n });\n }\n\n return (\n Note: ${value}

`,\n }}\n >\n );\n }\n\n return (\n \n {buildNote()}\n \n );\n}\n","'use client';\n\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\nimport { Folders } from '@/assets/icons';\n\nconst SegmentedControlsWrapper = styled.div`\n display: inline-flex;\n justify-content: space-between;\n border-radius: 10px;\n margin: auto;\n overflow: hidden;\n position: relative;\n`;\nconst SegmentedControlsOption = styled.div`\n color: ${({ theme }) => theme.colors.white};\n padding: 8px 12px;\n position: relative;\n text-align: center;\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: center;\n z-index: 1;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n background-color: ${({ theme }) => theme.colors.dark};\n filter: brightness(50%);\n &.active {\n filter: brightness(100%);\n }\n &:first-child {\n border-top-left-radius: 10px;\n border-bottom-left-radius: 10px;\n padding-left: 16px;\n }\n &:last-child {\n border-top-right-radius: 10px;\n border-bottom-right-radius: 10px;\n padding-right: 16px;\n }\n label {\n font-family: ${({ theme }) => theme.font_family.primary};\n }\n`;\n\nconst SegmentedControlsInput = styled.input`\n opacity: 0;\n margin: 0;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n position: absolute;\n width: 100%;\n cursor: pointer;\n height: 100%;\n`;\n\nexport function SegmentedControls({\n options,\n selected,\n onChange,\n title,\n}: {\n options: { label: string; id: string }[];\n selected: string;\n onChange: (selected: string) => void;\n title?: string;\n}) {\n return (\n
\n {title && (\n \n {title}\n \n )}\n \n {options?.map((option) => (\n \n \n onChange(option.id)}\n checked={option.id === selected}\n />\n {option.label}\n \n ))}\n \n
\n );\n}\n","import React, { useState, KeyboardEvent } from 'react';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport { Input as BaseInput } from '../input/input';\nimport { Button as BaseButton } from '../button/button';\nimport { Tooltip } from '../tooltip';\n\ninterface MultiInputProps {\n initialList?: string[];\n onListChange?: (list: string[]) => void;\n placeholder?: string;\n limit?: number;\n title?: string;\n tooltip?: string;\n}\n\nexport const MultiInput: React.FC = ({\n initialList = [],\n onListChange,\n placeholder = 'Add item to list',\n title,\n tooltip,\n}) => {\n const [inputValue, setInputValue] = useState('');\n const [list, setList] = useState(initialList);\n\n const handleInputChange = (e: string) => {\n setInputValue(e);\n };\n\n const handleAddToList = () => {\n if (inputValue.trim() !== '') {\n const newList = [...list, inputValue];\n setList(newList);\n setInputValue('');\n onListChange && onListChange(newList);\n }\n };\n\n const handleRemoveFromList = (indexToRemove: number) => {\n const newList = list.filter((_, index) => index !== indexToRemove);\n setList(newList);\n onListChange && onListChange(newList);\n };\n\n return (\n <>\n {title && (\n \n \n \n {title}\n \n \n \n )}\n \n \n {list.map((item, index) => (\n handleRemoveFromList(index)}>\n \n {item}\n \n \n \n \n \n ))}\n \n \n handleInputChange(e)}\n />\n \n \n \n \n );\n};\n\n// Styled components\nconst Container = styled.div`\n width: 100%;\n`;\n\nconst ListContainer = styled.div`\n display: flex;\n width: 110%;\n flex-wrap: wrap;\n`;\n\nconst ListItem = styled.div`\n cursor: pointer;\n padding: 2px 8px;\n margin: 3px;\n border-radius: 5px;\n background: ${theme.colors.light_grey};\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 5px;\n min-height: 30px;\n`;\n\nconst InputContainer = styled.div`\n display: flex;\n gap: 10px;\n width: 100%;\n height: 37px;\n`;\n\nconst Input = styled(BaseInput)`\n width: 100%;\n`;\n\nconst Button = styled(BaseButton)`\n margin-left: 10px;\n`;\n\nconst TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Tooltip } from '../tooltip';\nimport { Text } from '../text/text';\nimport { Trash } from '@/assets/icons';\n\nexport interface KeyValue {\n id: number;\n key: string;\n value: string;\n}\n\nexport const Container = styled.div`\n width: 100%;\n`;\n\nexport const TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n\nconst Table = styled.table`\n border: solid 1px ${theme.text.grey};\n text-align: center;\n border-spacing: 0;\n border-radius: 8px;\n width: 100%;\n`;\n\nexport const Th = styled.th`\n padding: 4px;\n`;\n\nexport const Td = styled.td<{ right?: boolean; left?: boolean }>`\n padding: 8px 0;\n\n border-top: solid 1px ${theme.text.grey};\n border-right: ${({ right }) =>\n right ? `solid 1px ${theme.text.grey}` : 'none'};\n border-left: ${({ left }) =>\n left ? `solid 1px ${theme.text.grey}` : 'none'};\n`;\n\nexport const Input = styled.input`\n background: transparent;\n border: none;\n width: 94%;\n\n outline: none;\n color: ${theme.text.white};\n`;\n\nexport const AddRowButton = styled.td`\n text-align: center;\n border-top: solid 1px ${theme.text.grey};\n padding: 4px;\n cursor: pointer;\n`;\n\nexport interface KeyValueTableProps {\n keyValues: KeyValue[];\n setKeyValues: (keyValues: KeyValue[]) => void;\n title?: string;\n titleKey?: string;\n titleValue?: string;\n tooltip?: string;\n titleButton?: string;\n required?: boolean;\n}\n\nexport const KeyValueTable: React.FC = ({\n keyValues,\n setKeyValues,\n title,\n titleKey,\n titleValue,\n titleButton,\n tooltip,\n required,\n}: KeyValueTableProps) => {\n const [nextId, setNextId] = useState(1);\n\n const addRow = () => {\n const newKeyValue: KeyValue = {\n id: nextId,\n key: '',\n value: '',\n };\n setKeyValues([...keyValues, newKeyValue]);\n setNextId(nextId + 1);\n };\n\n const deleteRow = (id: number) => {\n const value = keyValues.filter((kv) => kv.id !== id);\n setKeyValues(value);\n };\n\n const updateKey = (id: number, newKey: string) => {\n const updatedKeyValues = keyValues.map((kv) =>\n kv.id === id ? { ...kv, key: newKey } : kv\n );\n setKeyValues(updatedKeyValues);\n };\n\n const updateValue = (id: number, newValue: string) => {\n const updatedKeyValues = keyValues.map((kv) =>\n kv.id === id ? { ...kv, value: newValue } : kv\n );\n setKeyValues(updatedKeyValues);\n };\n\n return (\n \n {title && (\n \n \n
\n \n {title}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n \n \n \n \n \n \n {keyValues.map((kv) => (\n \n \n\n \n deleteRow(kv.id)}\n >\n \n \n \n ))}\n \n \n \n \n \n {titleButton || 'Add Row'}\n \n \n \n \n
\n \n {titleKey || 'Key'}\n \n \n \n {titleValue || 'Value'}\n \n
\n updateKey(kv.id, e.target.value)}\n />\n \n updateValue(kv.id, e.target.value)}\n />\n
\n
\n );\n};\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n// Define the props for the TextArea component\nexport interface TextAreaProps {\n placeholder?: string;\n value?: string;\n onChange: (e: React.ChangeEvent) => void;\n rows?: number;\n cols?: number;\n label?: string;\n tooltip?: string;\n required?: boolean;\n}\n\n// Styled textarea\nconst StyledTextArea = styled.textarea<{ active?: boolean }>`\n width: 100%;\n padding: 8px 12px;\n border-radius: 8px;\n box-sizing: border-box;\n resize: vertical;\n\n outline: none;\n color: ${({ theme }) => theme.text.white};\n font-family: ${theme.font_family.primary};\n background-color: ${({ theme }) => theme.colors.light_dark};\n border: ${({ theme, active }) =>\n `1px solid ${active ? theme.text.grey : theme.colors.blue_grey}`};\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.text.grey}`};\n }\n`;\nconst LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n\nexport const TextArea: React.FC = ({\n placeholder,\n value,\n onChange,\n rows = 4,\n cols = 50,\n tooltip,\n label,\n required,\n}) => {\n return (\n <>\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n );\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Tooltip } from '../tooltip';\nimport { Text } from '../text/text';\nimport { Trash } from '@/assets/icons';\n\nexport const Container = styled.div`\n width: 100%;\n`;\n\nexport const TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n\nexport const Table = styled.table`\n border: solid 1px ${theme.text.grey};\n text-align: center;\n border-spacing: 0;\n border-radius: 8px;\n width: 100%;\n`;\n\nexport const Th = styled.th`\n padding: 4px;\n`;\n\nexport const Td = styled.td<{ right?: boolean; left?: boolean }>`\n padding: 8px 0;\n\n border-bottom: solid 1px ${theme.text.grey};\n border-right: ${({ right }) =>\n right ? `solid 1px ${theme.text.grey}` : 'none'};\n border-left: ${({ left }) =>\n left ? `solid 1px ${theme.text.grey}` : 'none'};\n`;\n\nexport const Input = styled.input`\n background: transparent;\n border: none;\n width: 94%;\n\n outline: none;\n color: ${theme.text.white};\n`;\n\nexport const AddRowButton = styled.td`\n text-align: center;\n padding: 4px;\n cursor: pointer;\n`;\n\nexport interface MultiInputTableProps {\n values: string[];\n title?: string;\n tooltip?: string;\n onValuesChange: (newValues: string[]) => void;\n required?: boolean;\n placeholder?: string;\n}\n\nexport const MultiInputTable: React.FC = ({\n values,\n title,\n tooltip,\n onValuesChange,\n required,\n placeholder,\n}) => {\n const addRow = () => {\n onValuesChange([...values, '']);\n };\n\n const deleteRow = (index: number) => {\n const updatedValues = values.filter((_, i) => i !== index);\n onValuesChange(updatedValues);\n };\n\n const updateValue = (index: number, newValue: string) => {\n const updatedValues = values.map((value, i) =>\n i === index ? newValue : value\n );\n onValuesChange(updatedValues);\n };\n\n return (\n \n {title && (\n \n \n
\n \n {title}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n {values.map((value, index) => (\n \n \n deleteRow(index)}\n style={{ cursor: 'pointer' }}\n >\n \n \n \n ))}\n \n \n \n \n \n Add Row\n \n \n \n \n
\n updateValue(index, e.target.value)}\n placeholder={index === 0 ? placeholder : ''}\n />\n
\n
\n );\n};\n","import React from 'react';\nimport { ActionItem } from '../action.item';\n\n// Define the type for individual action items\ninterface ActionItem {\n label: string;\n onClick: () => void;\n id: string;\n selected?: boolean;\n disabled?: boolean;\n}\n\n// Define the type for the groups of action items, including any conditional rendering logic\ninterface ActionGroup {\n label: string;\n subTitle: string;\n items: ActionItem[];\n condition?: boolean; // Optional condition to determine if the group should be rendered\n}\n\n// Props for the container component that will render the list of action groups\ninterface ActionsListProps {\n actionGroups: ActionGroup[];\n}\n\nexport const ActionsGroup: React.FC = ({ actionGroups }) => {\n return (\n <>\n {actionGroups.map(\n (group, index) =>\n group.condition && \n )}\n \n );\n};\n","import { useOnClickOutside } from '@/hooks';\nimport React, { useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\nimport { Check, Expand } from '@/assets';\n\n// Styled components\nconst Label = styled.label`\n cursor: pointer;\n display: flex;\n gap: 4px;\n p {\n color: ${({ theme }) => theme.colors.light_grey};\n &:hover {\n color: ${({ theme }) => theme.colors.white};\n }\n }\n`;\n\nconst Popup = styled.div<{ isOpen: boolean }>`\n display: ${(props: { isOpen: boolean }) => (props.isOpen ? 'block' : 'none')};\n position: absolute;\n right: 0px;\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n z-index: 9999;\n flex-direction: column;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n margin-top: 5px;\n`;\n\nconst PopupItem = styled.div<{ disabled: boolean }>`\n display: flex;\n padding: 7px 12px;\n gap: 4px;\n border-top: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n align-items: center;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'auto')};\n cursor: pointer;\n p {\n cursor: pointer !important;\n }\n\n &:hover {\n background: ${({ theme }) => theme.colors.light_dark};\n }\n`;\n\ninterface Item {\n label: string;\n onClick: () => void;\n id: string;\n selected?: boolean;\n disabled?: boolean;\n}\n\ninterface ActionItemProps {\n label: string;\n subTitle: string;\n items: Item[];\n}\n\nexport const ActionItem: React.FC = ({\n label,\n items,\n subTitle,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const ref = useRef(null);\n useOnClickOutside(ref, () => setIsOpen(false));\n\n return (\n
\n \n \n
\n \n {subTitle}\n \n
\n {items.map((item, index) => (\n \n {item.selected ? :
}\n \n {item.label}\n \n \n ))}\n \n
\n );\n};\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport theme from '@/styles/palette';\nimport { Expand } from '@/assets';\n\ntype PaginationProps = {\n total: number;\n itemsPerPage: number;\n currentPage: number;\n onPageChange: (page: number) => void;\n};\n\nconst PaginationContainer = styled.div`\n display: flex;\n justify-content: center;\n padding: 20px;\n gap: 2px;\n`;\n\nconst PageButton = styled.button<{\n isCurrentPage?: boolean;\n isDisabled?: boolean;\n}>`\n background-color: ${(props) =>\n props.isCurrentPage ? theme.colors.blue_grey : 'transparent'};\n color: ${(props) => (props.isDisabled ? theme.text.grey : theme.text.white)};\n border: none;\n border-radius: 4px;\n padding: 4px 8px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n\n &:disabled {\n cursor: default;\n }\n\n &:hover {\n background-color: ${theme.colors.blue_grey};\n }\n`;\n\nexport const Pagination: React.FC = ({\n total,\n itemsPerPage,\n currentPage,\n onPageChange,\n}) => {\n const pageCount = Math.ceil(total / itemsPerPage);\n\n return (\n \n onPageChange(currentPage - 1)}\n disabled={currentPage === 1}\n isDisabled={currentPage === 1}\n >\n \n Previous\n \n {new Array(pageCount).fill(0).map((_, index) => (\n onPageChange(index + 1)}\n isCurrentPage={currentPage === index + 1}\n >\n {index + 1}\n \n ))}\n onPageChange(currentPage + 1)}\n disabled={currentPage === pageCount}\n isDisabled={currentPage === pageCount}\n >\n Next\n \n \n \n );\n};\n","import theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport React, { useState } from 'react';\nimport { Pagination } from '../pagination';\n\n// Updated TableProps to be generic\ntype TableProps = {\n data: T[];\n renderTableHeader: () => JSX.Element;\n renderTableRows: (item: T, index: number) => JSX.Element;\n renderEmptyResult: () => JSX.Element;\n onPaginate?: (pageNumber: number) => void;\n};\n\nconst StyledTable = styled.table`\n width: 100%;\n background-color: ${theme.colors.dark};\n border: 1px solid ${theme.colors.blue_grey};\n border-radius: 6px;\n border-collapse: separate;\n border-spacing: 0;\n`;\n\nconst StyledTbody = styled.tbody``;\n\n// Applying generic type T to the Table component\nexport const Table = ({\n data,\n onPaginate,\n renderTableRows,\n renderTableHeader,\n renderEmptyResult,\n}: TableProps) => {\n const [currentPage, setCurrentPage] = useState(1);\n const [itemsPerPage, setItemsPerPage] = useState(10);\n\n const indexOfLastItem = currentPage * itemsPerPage;\n const indexOfFirstItem = indexOfLastItem - itemsPerPage;\n const currentItems = data.slice(indexOfFirstItem, indexOfLastItem);\n\n const handlePageChange = (pageNumber: number) => {\n setCurrentPage(pageNumber);\n if (onPaginate) {\n onPaginate(pageNumber);\n }\n };\n\n return (\n <>\n \n {renderTableHeader()}\n \n {currentItems.map((item, index) => renderTableRows(item, index))}\n \n \n\n {data.length === 0 ? (\n renderEmptyResult()\n ) : data.length > 10 ? (\n \n ) : null}\n \n );\n};\n","import React, { useState } from 'react';\nimport YamlEditor from '@focus-reactive/react-yaml';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Copied, Copy } from '@/assets';\n\nconst Container = styled.div`\n position: relative;\n background-color: ${theme.colors.blue_grey};\n border-radius: 8px;\n padding: 4px;\n\n div {\n color: #f5b175;\n }\n .ͼb {\n color: #64a8fd;\n }\n .ͼm {\n color: ${theme.colors.white};\n }\n .ͼd {\n color: #f5b175;\n }\n .ͼc {\n color: #f5b175;\n }\n .cm-gutters {\n display: none;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n }\n`;\n\nconst EditorOverlay = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 10; // Ensure this is higher than the editor's z-index\n`;\n\nconst CopyIconWrapper = styled.div`\n background-color: ${theme.colors.dark};\n z-index: 999;\n border-radius: 4px;\n padding: 4px;\n position: absolute;\n top: 5px;\n right: 5px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: all;\n`;\n\nexport const YMLEditor = ({ data }: { data: any }) => {\n const [isCopied, setIsCopied] = useState(false);\n\n const handleChange = () => {};\n\n const handleCopy = () => {\n navigator.clipboard\n .writeText(JSON.stringify(data, null, 2))\n .then(() => {\n setIsCopied(true);\n setTimeout(() => {\n setIsCopied(false);\n }, 3000);\n })\n .catch((err) => console.error('Error copying YAML to clipboard: ', err));\n };\n return (\n <>\n \n \n {isCopied ? (\n \n ) : (\n \n )}\n \n\n
\n \n \n
\n
\n \n );\n};\n","const sources = [\n {\n name: 'adservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'java',\n },\n ],\n },\n {\n name: 'cartservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'dotnet',\n },\n ],\n },\n {\n name: 'checkoutservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'go',\n },\n ],\n },\n {\n name: 'coupon',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'coupon',\n language: 'javascript',\n },\n ],\n },\n];\n\nconst destinations = [\n {\n id: 'odigos.io.dest.elasticsearch-6qklw',\n name: 'Elasticsearch',\n type: 'elasticsearch',\n signals: {\n traces: true,\n metrics: false,\n logs: true,\n },\n fields: {\n ELASTICSEARCH_CA_PEM:\n '-----BEGIN CERTIFICATE-----\\nMIIDIjCCAgqgAwIBAgIRANR/chGx5YexmqgwbVphZR8wDQYJKoZIhvcNAQELBQAw\\nGzEZMBcGA1UEAxMQZWxhc3RpY3NlYXJjaC1jYTAeFw0yNDAzMDYxMjUwNTFaFw0y\\nNTAzMDYxMjUwNTFaMBsxGTAXBgNVBAMTEGVsYXN0aWNzZWFyY2gtY2EwggEiMA0G\\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQClNK8WB2C2aRC1xPkT9Vx3t2I8D8vE\\nz4/XKi5djhqZx56VclUmnTGwwJSB6t+9eODVGM8HUBeZTw5r5VU3wz5KO34LfX/X\\nDgeZf7jRE4JvNti+ufhYeXhX6yWt2y1lisTy89BMZA1/4r6UBamhDZ9zjC7++hNy\\n21S+mgul4zrjC1fBfjz8O42jjkamNcq3SoQHn9puWPhsOBOc4SowJMFN6YIRf3Vy\\nPvOuG8wP5uCU14dICW7X5M1JqHpcOTW0W7S5JLcVkozrqEQhQ3lc5f4OE0/GYQ5S\\np5sesAUyv9Koiipx3gGvip2+E2Rf2nlLNNMYeFDKyRVmbxkOmIy6PVQdAgMBAAGj\\nYTBfMA4GA1UdDwEB/wQEAwICpDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH\\nAwIwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUUh7RgBmgPOCGeP3hFqoVC689\\nm4kwDQYJKoZIhvcNAQELBQADggEBAJCpewxuRV0s6EftuHI7Q1PJDYImDv54D1GI\\n57nJwdhCZbvJ69m5hjtOAb7ZCerzJQKvN4sEcvcWPMJs15nBNXW+9fF0zN5RjBqU\\nV8HA22bw8h+00lGUiozgG4DmFkd0GG35qjhPe9PyirOumiaSi2aGMUiWtkOgAFE2\\nDKGLleYFdjDbfQjva/ViUJTo6I7b283foWEqkbaa58ju5QOtjpo09GOmyBXeXHoU\\nbLnUqBAALo7FDSdKyMjWRLKSo2rc7jRn98jXzPqRaVuYhEGn+77GnkA5d3ea3fHP\\nIrj44yKh8na1xqPEHEvryj9LnKL+yCpQILj5L+jIHVopTmQWyLQ=\\n-----END CERTIFICATE-----',\n ELASTICSEARCH_PASSWORD: 'Elasticsearch',\n ELASTICSEARCH_URL: 'Elasticsearch',\n ELASTICSEARCH_USERNAME: 'Elasticsearch',\n ES_LOGS_INDEX: 'Elasticsearch',\n ES_TRACES_INDEX: 'Elasticsearch',\n },\n destination_type: {\n type: 'elasticsearch',\n display_name: 'Elasticsearch',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/elasticsearch.svg',\n supported_signals: {\n traces: {\n supported: true,\n },\n metrics: {\n supported: false,\n },\n logs: {\n supported: true,\n },\n },\n },\n },\n {\n id: 'odigos.io.dest.grafanacloudprometheus-2mcbr',\n name: 'Prometheus',\n type: 'grafanacloudprometheus',\n signals: {\n traces: false,\n metrics: true,\n logs: false,\n },\n fields: {\n GRAFANA_CLOUD_PROMETHEUS_PASSWORD: 'Prometheus',\n GRAFANA_CLOUD_PROMETHEUS_RW_ENDPOINT: 'Prometheus',\n GRAFANA_CLOUD_PROMETHEUS_USERNAME: 'Prometheus',\n PROMETHEUS_RESOURCE_ATTRIBUTES_LABELS:\n '[\"k8s.container.name\",\"k8s.pod.name\",\"k8s.namespace.name\",\"Prometheus\"]',\n PROMETHEUS_RESOURCE_EXTERNAL_LABELS: '{\"dsfd\":\"fdsfs\"}',\n },\n destination_type: {\n type: 'grafanacloudprometheus',\n display_name: 'Grafana Cloud Prometheus',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/grafana.svg',\n supported_signals: {\n traces: {\n supported: false,\n },\n metrics: {\n supported: true,\n },\n logs: {\n supported: false,\n },\n },\n },\n },\n {\n id: 'odigos.io.dest.s3-gk7bn',\n name: 'aws',\n type: 's3',\n signals: {\n traces: true,\n metrics: true,\n logs: true,\n },\n fields: {\n S3_BUCKET: 'aws',\n S3_MARSHALER: 'otlp_proto',\n S3_PARTITION: 'minute',\n S3_REGION: 'aws',\n },\n destination_type: {\n type: 's3',\n display_name: 'AWS S3',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/s3.svg',\n supported_signals: {\n traces: {\n supported: true,\n },\n metrics: {\n supported: true,\n },\n logs: {\n supported: true,\n },\n },\n },\n },\n];\n\nconst action = [\n {\n id: 'aci-f6c9f',\n type: 'AddClusterInfo',\n spec: {\n actionName: 'This is tetst test Cluster Attributes',\n notes:\n 'Actions are a way to modify the OpenTelemetry data recorded by Odigos Sources, before it is exported to your Odigos Destinations.',\n signals: ['METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'Attributes',\n attributeStringValue: 'Attributes',\n },\n ],\n },\n },\n {\n id: 'aci-hfgcb',\n type: 'DeleteAttribute',\n spec: {\n actionName: 'Link',\n notes: 'Link to docs',\n signals: ['LOGS', 'METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'sadsad',\n attributeStringValue: 'sadsa',\n },\n {\n attributeName: 'asdsa',\n attributeStringValue: 'asdasd',\n },\n ],\n },\n },\n {\n id: 'aci-r67mp',\n type: 'RenameAttribute',\n spec: {\n actionName: 'Initialize Initialize',\n notes: 'This is the initialization phase of the cluster.',\n signals: ['LOGS', 'METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'region',\n attributeStringValue: 'us-east-1',\n },\n {\n attributeName: 'instanceType',\n attributeStringValue: 't2.micro',\n },\n {\n attributeName: 'availabilityZones',\n attributeStringValue: '3',\n },\n ],\n },\n },\n];\n\ninterface Source {\n name: string;\n kind: string;\n namespace: string;\n languages: Array<{\n container_name: string;\n language: string;\n }>;\n}\n\ninterface Destination {\n id: string;\n name: string;\n type: string;\n signals: {\n traces: boolean;\n metrics: boolean;\n logs: boolean;\n };\n fields: Record;\n destination_type: {\n type: string;\n display_name: string;\n image_url: string;\n supported_signals: {\n traces: {\n supported: boolean;\n };\n metrics: {\n supported: boolean;\n };\n logs: {\n supported: boolean;\n };\n };\n };\n}\n\ninterface Action {\n id: string;\n type: string;\n spec: {\n actionName: string;\n notes: string;\n signals: string[];\n };\n}\n\ninterface FlowNode {\n id: string;\n type: string;\n position: { x: number; y: number };\n data: any;\n}\n\ninterface FlowEdge {\n id: string;\n source: string;\n target: string;\n animated: boolean;\n label?: string;\n style?: Record;\n data?: any;\n}\n\nexport const buildFlowNodesAndEdges = (\n sources: Source[],\n destinations: Destination[],\n actions: Action[]\n): { nodes: FlowNode[]; edges: FlowEdge[] } => {\n let nodes: FlowNode[] = [],\n edges: FlowEdge[] = [];\n const centerNodeId = 'center-1';\n const xOffsetNamespace = 100;\n\n const destinations_length = destinations.length;\n let middle_index;\n\n if (destinations_length % 2 == 1) {\n middle_index = Math.floor(destinations_length / 2);\n } else {\n middle_index = destinations_length / 2 - 1;\n }\n\n // Desired y position for the middle node\n const desired_y_position = 248;\n\n // Calculate destinationyOffset\n const destinationyOffset = desired_y_position - middle_index * 100;\n\n const sources_length = sources.length;\n let middle_index_sources;\n\n if (sources_length % 2 == 1) {\n middle_index_sources = Math.floor(sources_length / 2);\n } else {\n middle_index_sources = sources_length / 2 - 1;\n }\n\n const sourceyOffset = desired_y_position - middle_index_sources * 100;\n\n // Create the center node\n const centerXPossition =\n actions?.length > 0 ? actions?.length * 150 + 400 : 450;\n nodes.push({\n id: centerNodeId,\n type: 'custom',\n position: { x: centerXPossition, y: 248 },\n data: { label: 'Center Node' },\n });\n\n // Create namespace nodes from sources and edges to the center\n sources.forEach((source, index) => {\n const namespaceNodeId = `namespace-${index}`;\n nodes.push({\n id: namespaceNodeId,\n type: 'source',\n position: { x: xOffsetNamespace, y: sourceyOffset + index * 100 },\n data: source,\n });\n edges.push({\n id: `e${namespaceNodeId}-${centerNodeId}`,\n source: namespaceNodeId,\n target: actions?.length > 0 ? `action-0` : centerNodeId,\n animated: true,\n style: { stroke: '#96f3ff8e' },\n data: null,\n });\n });\n\n // Create destination nodes and edges from the center\n destinations.forEach((destination, index) => {\n const destinationNodeId = `destination-${index}`;\n nodes.push({\n id: destinationNodeId,\n type: 'destination',\n position: {\n x: centerXPossition + 400,\n y: destinationyOffset + index * 100,\n },\n data: destination,\n });\n edges.push({\n id: `e${centerNodeId}-${destinationNodeId}`,\n source: centerNodeId,\n target: destinationNodeId,\n animated: true,\n style: { stroke: '#96f3ff8e' },\n data: null,\n });\n });\n\n // Create action nodes and edges from the center\n actions.forEach((action, index) => {\n const actionNodeId = `action-${index}`;\n const nextActionNodeId = `action-${index + 1}`;\n nodes.push({\n id: actionNodeId,\n type: 'action',\n position: { x: 420 + index * 125, y: 250 },\n data: action,\n });\n edges.push({\n id: `e${centerNodeId}-${actionNodeId}`,\n source: actionNodeId,\n target: index + 1 === actions.length ? centerNodeId : nextActionNodeId,\n animated: true,\n style: { stroke: '#96f3ff8e' },\n data: null,\n });\n });\n\n return { nodes, edges };\n};\n\n// Example usage with typed data\nexport const { nodes, edges } = buildFlowNodesAndEdges(\n sources,\n destinations,\n action\n);\n"]} \ No newline at end of file +{"version":3,"sources":["../src/index.tsx","../src/design.system/radio/radio.tsx","../src/design.system/radio/radio.styled.tsx","../src/design.system/text/text.tsx","../src/design.system/text/text.styled.tsx","../src/assets/icons/checked-radio.svg","../src/design.system/button/button.tsx","../src/design.system/button/button.styled.tsx","../src/design.system/float.box/float.box.tsx","../src/design.system/code.block/code.block.tsx","../src/assets/icons/copy.svg","../src/assets/icons/copied.svg","../src/assets/icons/folders.svg","../src/assets/icons/trash.svg","../src/assets/icons/check.svg","../src/assets/icons/expand-arrow.svg","../src/assets/icons/actions/cluster-attr.svg","../src/assets/icons/actions/delete-attr.svg","../src/assets/icons/actions/rename-attr.svg","../src/assets/icons/actions/index.ts","../src/assets/icons/languages/index.ts","../src/hooks/useOnClickOutside.tsx","../src/hooks/useCopyToClipboard.tsx","../src/styles/palette.tsx","../src/design.system/card/card.tsx","../src/design.system/card/card.styled.tsx","../src/design.system/tag/tag.tsx","../src/design.system/tap/tap.tsx","../src/design.system/drop.down/drop.down.tsx","../src/design.system/drop.down/drop.down.styled.tsx","../src/design.system/search.input/search.input.tsx","../src/design.system/search.input/search.input.styled.tsx","../src/assets/icons/glass.svg","../src/assets/icons/X.svg","../src/assets/icons/question.svg","../src/design.system/tooltip/index.tsx","../src/design.system/switch/switch.tsx","../src/design.system/switch/switch.styled.tsx","../src/design.system/checkbox/checkbox.tsx","../src/design.system/checkbox/checkbox.styled.tsx","../src/assets/icons/checkbox-rect.svg","../src/design.system/selected.counter/selected.counter.tsx","../src/design.system/selected.counter/selected.counter.styled.tsx","../src/design.system/link/link.tsx","../src/design.system/image/image.tsx","../src/design.system/input/input.tsx","../src/design.system/input/input.styled.tsx","../src/assets/icons/eye-open.svg","../src/assets/icons/eye-close.svg","../src/design.system/input/action.input.tsx","../src/design.system/video/video.tsx","../src/assets/icons/close.svg","../src/assets/icons/player.svg","../src/design.system/video/video.styled.tsx","../src/design.system/loader/loader.tsx","../src/design.system/loader/loader.styled.tsx","../src/design.system/notification/notification.tsx","../src/design.system/notification/notification.styled.tsx","../src/assets/icons/X-blue.svg","../src/assets/icons/success-notification.svg","../src/assets/icons/error-notification.svg","../src/design.system/data.flow/index.tsx","../src/design.system/data.flow/action.node.tsx","../src/design.system/data.flow/keyval.middleware.tsx","../src/design.system/data.flow/namespace.node.tsx","../src/assets/icons/overview/middleware.svg","../src/assets/icons/overview/folder.svg","../src/design.system/data.flow/destination.node.tsx","../src/assets/icons/logs-grey.svg","../src/assets/icons/logs-blue.svg","../src/assets/icons/chart-line-grey.svg","../src/assets/icons/chart-line-blue.svg","../src/assets/icons/tree-structure-grey.svg","../src/assets/icons/tree-structure-blue.svg","../src/design.system/data.flow/monitors.tsx","../src/design.system/data.flow/source.node.tsx","../src/design.system/data.flow/data.flow.styled.tsx","../src/design.system/data.flow/control.panel.tsx","../src/design.system/danger.zone/danger.zone.tsx","../src/design.system/modal/modal.tsx","../src/design.system/modal/portal.modal.tsx","../src/design.system/modal/modal.styled.tsx","../src/assets/icons/close-modal.svg","../src/design.system/theme.provider/theme.provider.tsx","../src/design.system/theme.provider/registry.tsx","../src/design.system/steps/steps.tsx","../src/design.system/steps/step.item.tsx","../src/design.system/steps/steps.styled.tsx","../src/assets/icons/checked.svg","../src/design.system/divider/divider.tsx","../src/design.system/note/note.tsx","../src/design.system/segmented-controls/index.tsx","../src/design.system/multi-input/index.tsx","../src/design.system/key-value-input/index.tsx","../src/design.system/text.area/index.tsx","../src/design.system/multi-input/multi.input.table.tsx","../src/design.system/action.group/index.tsx","../src/design.system/action.item/index.tsx","../src/design.system/pagination/index.tsx","../src/design.system/table/index.tsx","../src/design.system/yml.editor/index.tsx","../src/design.system/data.flow/builder.ts"],"names":["Table","import_react","styled","theme","import_styled_components","React","text","TextWrapper","Image","LabelWrapper","import_reactflow","backgroundColor","IMAGE_STYLE","IconWrapper","NamespaceContainer","import_style","MONITORS","nodes","edges","ReactFlow","TitleWrapper","Input","Button","Container","Th","Td","AddRowButton","CopyIconWrapper","YamlEditor","sources","destinations","action"],"mappings":"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","sourcesContent":["export * from '../src/design.system';\n","import React, { useState, FC, ChangeEvent } from 'react';\nimport { RadioButtonContainer, RadioButtonBorder } from './radio.styled';\nimport { Text } from '@/design.system/text/text';\nimport Checked from '../../assets/icons/checked-radio.svg';\ninterface RadioButtonProps {\n label?: string;\n value?: string | boolean;\n size?: number;\n textStyles?: React.CSSProperties;\n onChange?: (event: ChangeEvent) => void;\n}\n\nexport const RadioButton: FC = ({\n label = '',\n onChange,\n value,\n size = 25,\n textStyles = {},\n}) => {\n function handleChange() {\n onChange && onChange({} as ChangeEvent);\n }\n\n return (\n \n \n {value ? (\n \n ) : (\n \n )}\n
\n {label}\n \n );\n};\n","import styled from 'styled-components';\n\nexport const RadioButtonContainer = styled.label`\n height: 24px;\n color: #303030;\n font-size: 14px;\n font-weight: 400;\n margin-right: 7px;\n -webkit-tap-highlight-color: transparent;\n display: flex;\n align-items: center;\n\n gap: 10px;\n cursor: pointer;\n`;\n\nexport const RadioButtonBorder = styled.span`\n cursor: pointer;\n width: 23px;\n height: 23px;\n border: ${({ theme }) => `solid 2px ${theme.colors.light_grey}`};\n border-radius: 50%;\n display: inline-block;\n position: relative;\n`;\n","import React from 'react';\nimport { TextWrapper } from './text.styled';\n\ntype TextProps = {\n type?: string | any;\n value?: string;\n style?: object;\n children?: string | any;\n weight?: string | number;\n color?: string;\n size?: number;\n};\n\nexport function Text({ children, color, style, weight, size }: TextProps) {\n return (\n \n {children}\n \n );\n}\n","import styled from \"styled-components\";\n\nexport const TextWrapper = styled.p`\n color: ${({ theme }) => theme.text.white};\n margin: 0;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-size: 16px;\n font-weight: 400;\n`;\n","import * as React from \"react\";\nconst SvgCheckedRadio = props => ;\nexport default SvgCheckedRadio;","import React, { ButtonHTMLAttributes, FC } from 'react';\nimport { StyledButton, ButtonContainer } from './button.styled';\n\ninterface ButtonProps extends ButtonHTMLAttributes {\n // Additional custom props if needed\n variant?: string;\n style?: object;\n}\n\nexport const Button: FC = ({\n variant = 'primary',\n children,\n style,\n disabled,\n type = 'button',\n ...rest\n}) => {\n return (\n \n \n {children}\n \n \n );\n};\n","import styled from 'styled-components';\n\ninterface ButtonProps {\n variant?: string;\n disabled?: boolean;\n}\n\nexport const ButtonContainer = styled.div`\n :hover {\n background: ${({ theme, disabled, variant }) =>\n disabled\n ? theme.colors.blue_grey\n : variant === 'primary'\n ? theme.colors.torquiz_light\n : 'transparent'};\n }\n p {\n cursor: ${({ disabled }) =>\n disabled ? 'not-allowed !important' : 'pointer !important'};\n }\n`;\n\nexport const StyledButton = styled.button`\n display: flex;\n padding: 8px 16px;\n align-items: center;\n border-radius: 8px;\n border: none;\n width: 100%;\n height: 100%;\n border: 1px solid\n ${({ theme, variant }) =>\n variant === 'primary' ? 'transparent' : theme.colors.secondary};\n cursor: ${({ disabled }) =>\n disabled ? 'not-allowed !important' : 'pointer !important'};\n background: ${({ theme, disabled, variant }) =>\n disabled\n ? variant === 'primary'\n ? theme.colors.blue_grey\n : 'transparent'\n : variant === 'primary'\n ? theme.colors.secondary\n : 'transparent'};\n justify-content: center;\n align-items: center;\n opacity: ${({ disabled, variant }) =>\n variant !== 'primary' && disabled ? 0.5 : 1};\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\ntype FloatBoxProps = {\n style?: object;\n children: any;\n};\n\nconst FloatBoxBorder = styled.div`\n background: radial-gradient(\n circle at 100% 100%,\n #ffffff 0,\n #ffffff 3px,\n transparent 3px\n )\n 0% 0%/8px 8px no-repeat,\n radial-gradient(circle at 0 100%, #ffffff 0, #ffffff 3px, transparent 3px)\n 100% 0%/8px 8px no-repeat,\n radial-gradient(circle at 100% 0, #ffffff 0, #ffffff 3px, transparent 3px)\n 0% 100%/8px 8px no-repeat,\n radial-gradient(circle at 0 0, #ffffff 0, #ffffff 3px, transparent 3px) 100%\n 100%/8px 8px no-repeat,\n linear-gradient(#ffffff, #ffffff) 50% 50% / calc(100% - 10px)\n calc(100% - 16px) no-repeat,\n linear-gradient(#ffffff, #ffffff) 50% 50% / calc(100% - 16px)\n calc(100% - 10px) no-repeat,\n linear-gradient(0deg, transparent 0%, #0ee6f3 100%),\n radial-gradient(\n 78.09% 72.18% at 100% -0%,\n rgba(150, 242, 255, 0.4) 0%,\n rgba(150, 242, 255, 0) 61.91%\n ),\n linear-gradient(180deg, #2e4c55 0%, #303355 100%);\n border-radius: 8px;\n padding: 1px;\n width: 32px;\n height: 32px;\n`;\n\nconst FloatBoxWrapper = styled.div`\n width: 32px;\n height: 32px;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n background: radial-gradient(\n 78.09% 72.18% at 100% -0%,\n rgba(150, 242, 255, 0.4) 0%,\n rgba(150, 242, 255, 0) 61.91%\n ),\n linear-gradient(180deg, #2e4c55 0%, #303355 100%);\n`;\n\nexport function FloatBox({ children, style = {} }: FloatBoxProps) {\n return (\n \n {children}\n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { Copied, Copy } from '@/assets/icons';\nimport { styled } from 'styled-components';\nimport { Text } from '..';\nimport { useCopyToClipboard } from '@/hooks';\nimport theme from '@/styles/palette';\n\ninterface CodeProps {\n text: string;\n title?: string;\n highlightedWord?: {\n primary: {\n words: string[];\n color: string;\n };\n secondary?: {\n words: string[];\n color: string;\n };\n };\n onCopy?: () => void;\n}\n\nconst CodeBlockContainer = styled.div`\n border-radius: 12px;\n width: 100%;\n border: ${({ theme }) => `1px solid ${theme.colors.dark_blue}`};\n background: ${({ theme }) => theme.colors.dark};\n padding: 16px;\n text-align: start;\n gap: 10px;\n position: relative;\n`;\n\nconst TextWrapper = styled.p`\n font-family: 'IBM Plex Mono', monospace;\n width: 90%;\n`;\n\nconst CopyIconWrapper = styled.span`\n position: absolute;\n right: 16px;\n top: 16px;\n cursor: pointer;\n`;\n\nconst ComponentWrapper = styled.div`\n display: flex;\n flex-direction: column;\n text-align: start;\n gap: 6px;\n width: 100%;\n`;\n\nexport function Code({ text, highlightedWord, title, onCopy }: CodeProps) {\n const [primaryWords, setPrimaryWords] = useState>(\n new Map()\n );\n const [secondaryWords, setSecondaryWords] = useState>(\n new Map()\n );\n\n const { copyToClipboard, clipboardState } = useCopyToClipboard();\n\n useEffect(onload, [highlightedWord]);\n\n function onload() {\n if (highlightedWord) {\n highlightedWord.primary && handleSetPrimaryWords();\n highlightedWord.secondary && handleSetSecondaryWords();\n }\n }\n\n function handleSetPrimaryWords() {\n const primaryWordsMap = new Map();\n highlightedWord?.primary.words.forEach((word) => {\n primaryWordsMap.set(word, word);\n });\n setPrimaryWords(primaryWordsMap);\n }\n\n function handleSetSecondaryWords() {\n const secondaryWordsMap = new Map();\n highlightedWord?.secondary?.words.forEach((word) => {\n secondaryWordsMap.set(word, word);\n });\n setSecondaryWords(secondaryWordsMap);\n }\n\n function getWordColor(word: string) {\n if (primaryWords.has(word)) {\n return highlightedWord?.primary.color;\n }\n if (secondaryWords.has(word)) {\n return highlightedWord?.secondary?.color;\n }\n return theme.colors.white;\n }\n\n function handleCopy() {\n copyToClipboard(text);\n onCopy && onCopy();\n }\n\n return (\n \n {title && {title}}\n \n \n {!clipboardState ? (\n \n ) : (\n \n )}\n \n \n {text.split(' ').map((part, index) => (\n \n {`${part} `}\n \n ))}\n \n \n \n );\n}\n","import * as React from \"react\";\nconst SvgCopy = props => ;\nexport default SvgCopy;","import * as React from \"react\";\nconst SvgCopied = props => ;\nexport default SvgCopied;","import * as React from \"react\";\nconst SvgFolders = props => ;\nexport default SvgFolders;","import * as React from \"react\";\nconst SvgTrash = props => ;\nexport default SvgTrash;","import * as React from \"react\";\nconst SvgCheck = props => ;\nexport default SvgCheck;","import * as React from \"react\";\nconst SvgExpandArrow = props => ;\nexport default SvgExpandArrow;","import * as React from \"react\";\nconst SvgClusterAttr = props => ;\nexport default SvgClusterAttr;","import * as React from \"react\";\nconst SvgDeleteAttr = props => ;\nexport default SvgDeleteAttr;","import * as React from \"react\";\nconst SvgRenameAttr = props => ;\nexport default SvgRenameAttr;","import AddClusterInfo from './cluster-attr.svg';\nimport DeleteAttribute from './delete-attr.svg';\nimport RenameAttribute from './rename-attr.svg';\n// Define the type for the ACTION_ICONS object\ninterface ActionIcons {\n [key: string]: any;\n}\n\n// Define the ACTION_ICONS with explicit types\nexport const ACTION_ICONS: ActionIcons = {\n AddClusterInfo: AddClusterInfo,\n RenameAttribute: RenameAttribute,\n DeleteAttribute: DeleteAttribute,\n};\n","const BASE_URL = 'https://d1n7d4xz7fr8b4.cloudfront.net/';\n\nexport const LANGUAGES_LOGOS = {\n java: `${BASE_URL}java.png`,\n go: `${BASE_URL}go.png`,\n javascript: `${BASE_URL}nodejs.png`,\n python: `${BASE_URL}python.png`,\n dotnet: `${BASE_URL}dotnet.png`,\n default: `${BASE_URL}default.png`,\n mysql: `${BASE_URL}mysql.png`,\n unknown: `${BASE_URL}default.svg`, // TODO: good icon\n processing: `${BASE_URL}default.svg`, // TODO: good icon\n 'no containers': `${BASE_URL}default.svg`, // TODO: good icon\n};\n\nexport const LANGUAGES_COLORS = {\n java: '#B07219',\n go: '#00ADD8',\n javascript: '#F7DF1E',\n python: '#306998',\n dotnet: '#512BD4',\n mysql: '#00758F',\n};\n","import { useEffect, RefObject } from \"react\";\n\ntype Event = MouseEvent | TouchEvent;\n\nexport function useOnClickOutside(\n ref: RefObject,\n handler: (event: Event) => void\n) {\n useEffect(() => {\n const listener = (event: Event) => {\n const el = ref?.current;\n if (el?.contains(event?.target as Node)) return null;\n\n // Call the handler only if the click is outside of the element passed.\n handler(event);\n };\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [ref, handler]);\n}\n","import { useEffect, useState } from 'react';\n\nexport function useCopyToClipboard() {\n const [clipboardState, setClipboardState] = useState(false);\n\n async function copyToClipboard(text: string) {\n if (navigator.clipboard) {\n try {\n await navigator.clipboard.writeText(text);\n setClipboardState(true);\n } catch (error) {\n setClipboardState(false);\n }\n } else {\n setClipboardState(false);\n }\n }\n\n return { clipboardState, copyToClipboard };\n}\n","import { DefaultTheme } from 'styled-components';\n\n// Define your color palette\nconst colors = {\n primary: '#07111A',\n secondary: '#0EE6F3',\n torquiz_light: '#96F2FF',\n dark: '#07111A',\n data_flow_bg: '#0E1C28',\n light_dark: '#132330',\n dark_blue: '#203548',\n light_grey: '#CCD0D2',\n blue_grey: '#374A5B',\n white: '#fff',\n error: '#FD3F3F',\n traces: '#4CAF50',\n logs: '#8B4513',\n metrics: '#FFD700',\n};\n\nconst text = {\n primary: '#07111A',\n secondary: '#0EE6F3',\n white: '#fff',\n light_grey: '#CCD0D2',\n grey: '#8b92a5',\n dark_button: '#0A1824',\n};\n\nconst font_family = {\n primary: 'Inter',\n};\n\n// Define the theme interface\ninterface ThemeInterface extends DefaultTheme {\n colors: typeof colors;\n text: typeof text;\n font_family: typeof font_family;\n}\n\n// Create your theme object\nconst theme: ThemeInterface = {\n colors,\n text,\n font_family,\n};\n\n// Export the theme\nexport default theme;\n","'use client';\nimport React from 'react';\nimport { CardContainer, CardHeader } from './card.styled';\nimport { Text } from '../text/text';\n\ninterface CardProps {\n children?: JSX.Element | JSX.Element[];\n focus?: any;\n type?: string;\n header?: {\n title?: string;\n subtitle?: string;\n body?: () => JSX.Element | JSX.Element[];\n };\n}\n\nexport function Card({\n children,\n focus = false,\n type = 'primary',\n header,\n}: CardProps) {\n function renderHeader() {\n if (header?.body) {\n return header?.body();\n }\n return (\n <>\n \n {header?.title}\n \n \n {header?.subtitle}\n \n \n );\n }\n\n return (\n \n {header && {renderHeader()}}\n {children}\n \n );\n}\n","import styled from 'styled-components';\n\ninterface CardContainerProps {\n selected?: any;\n type?: string;\n}\n\nexport const CardContainer = styled.div`\n display: inline-flex;\n position: relative;\n height: fit-content;\n flex-direction: column;\n border-radius: 24px;\n height: 100%;\n border: ${({ selected, theme, type }) =>\n `1px solid ${\n selected\n ? theme.colors.secondary\n : type === 'primary'\n ? theme.colors.dark_blue\n : '#374a5b'\n }`};\n background: ${({ theme, type }) =>\n type === 'primary' ? theme.colors.dark : '#0E1C28'};\n box-shadow: ${({ type }) =>\n type === 'primary'\n ? 'none'\n : '0px -6px 16px 0px rgba(0, 0, 0, 0.25),4px 4px 16px 0px rgba(71, 231, 241, 0.05),-4px 4px 16px 0px rgba(71, 231, 241, 0.05)'};\n`;\n\nexport const CardHeader = styled(CardContainer)`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: fit-content;\n gap: 16px;\n padding: 24px 0px;\n box-shadow: none;\n`;\n","import { Text } from '@/design.system/text/text';\nimport React from 'react';\nimport styled from 'styled-components';\n\ninterface TagProps {\n title: string;\n color?: string;\n}\n\nconst TagWrapper = styled.div`\n display: flex;\n padding: 4px 8px;\n align-items: flex-start;\n gap: 10px;\n border-radius: 10px;\n width: fit-content;\n`;\n\nexport function Tag({ title = '', color = '#033869' }: TagProps) {\n return (\n \n \n {title}\n \n \n );\n}\n","import { Text } from '@/design.system/text/text';\nimport React from 'react';\nimport styled from 'styled-components';\n\ninterface TapProps {\n icons: object;\n title?: string;\n tapped?: boolean;\n onClick?: any;\n children?: React.ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface TapWrapperProps {\n selected?: any;\n}\n\nconst TapWrapper = styled.div`\n display: flex;\n padding: 8px 14px;\n align-items: flex-end;\n gap: 10px;\n border-radius: 16px;\n border: ${({ theme, selected }) =>\n `1px solid ${selected ? 'transparent' : theme.colors.dark_blue}`};\n background: ${({ theme, selected }) =>\n selected ? theme.colors.dark_blue : 'transparent'};\n`;\n\nexport function Tap({\n title = '',\n tapped,\n children,\n style,\n onClick,\n}: TapProps) {\n return (\n \n {children}\n \n {title}\n \n \n );\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport Open from '@/assets/icons/expand-arrow.svg';\nimport {\n DropdownHeader,\n DropdownWrapper,\n DropdownBody,\n DropdownItem,\n DropdownListWrapper,\n LabelWrapper,\n} from './drop.down.styled';\nimport { Text } from '../text/text';\nimport { SearchInput } from '../search.input/search.input';\nimport { useOnClickOutside } from '@/hooks';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n\ninterface DropDownItem {\n id: number | string;\n label: string;\n}\ninterface DropDownProps {\n data: DropDownItem[];\n onChange: (item: DropDownItem) => void;\n width?: number;\n value?: DropDownItem | null;\n label?: string;\n tooltip?: string;\n required?: boolean;\n}\n\nconst SELECTED_ITEM = 'Select item';\nconst CONTAINER_STYLE = {\n width: '90%',\n border: 'none',\n background: 'transparent',\n};\nconst SEARCH_INPUT_STYLE = { background: 'transparent' };\n\nexport function DropDown({\n data = [],\n onChange,\n width = 260,\n value,\n label,\n tooltip,\n required,\n}: DropDownProps) {\n const [isOpen, setOpen] = useState(false);\n const [selectedItem, setSelectedItem] = useState(value || null);\n const [isHover, setHover] = useState(false);\n const [searchFilter, setSearchFilter] = useState('');\n\n const containerRef = useRef(null);\n\n useEffect(() => {\n value && setSelectedItem(value);\n }, [value]);\n\n useOnClickOutside(containerRef, () => setOpen(false));\n\n const toggleDropdown = () => setOpen(!isOpen);\n\n const handleItemClick = (item: DropDownItem) => {\n onChange(item);\n setSelectedItem(item);\n setSearchFilter('');\n setOpen(false);\n };\n\n function getDropdownList() {\n return searchFilter\n ? data?.filter((item: any) =>\n item?.label.toLowerCase().includes(searchFilter.toLowerCase())\n )\n : data;\n }\n\n return (\n <>\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n
\n setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={toggleDropdown}\n >\n \n {selectedItem ? selectedItem.label : SELECTED_ITEM}\n \n \n \n {isOpen && (\n \n setSearchFilter(e.target.value)}\n placeholder=\"Search\"\n containerStyle={CONTAINER_STYLE}\n inputStyle={SEARCH_INPUT_STYLE}\n showClear={false}\n />\n \n {getDropdownList().map((item) => (\n handleItemClick(item)}\n >\n {item.label}\n \n ))}\n \n \n )}\n
\n \n );\n}\n","import styled from 'styled-components';\n\ninterface DropdownWrapperProps {\n selected?: any;\n}\n\nexport const DropdownWrapper = styled.div`\n position: relative;\n z-index: 999;\n width: 100%;\n padding: 11px 4px;\n border-radius: 8px;\n cursor: pointer;\n border: ${({ selected, theme }) =>\n `1px solid ${selected ? theme.colors.white : theme.colors.blue_grey}`};\n /* background: ${({ theme }) => theme.colors.dark}; */\n\n .dropdown-arrow {\n transform: rotate(0deg);\n transition: all 0.2s ease-in-out;\n }\n\n .dropdown-arrow.open {\n transform: rotate(180deg);\n }\n`;\n\nexport const DropdownHeader = styled.div`\n padding: 0 12px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: ${({ theme }) => theme.text.white};\n font-size: 14px;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-weight: 400;\n`;\n\nexport const DropdownBody = styled.div`\n position: relative;\n z-index: 1000;\n display: flex;\n width: 100%;\n padding: 11px 4px;\n flex-direction: column;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n margin-top: 5px;\n`;\n\nexport const DropdownListWrapper = styled.div`\n position: relative;\n\n z-index: 1000;\n width: 100%;\n max-height: 270px;\n overflow-y: scroll;\n scrollbar-width: none;\n :hover {\n background: ${({ theme }) => theme.colors.dark_blue};\n }\n`;\n\nexport const DropdownItem = styled.div`\n display: flex;\n padding: 7px 12px;\n justify-content: space-between;\n align-items: center;\n border-radius: 8px;\n cursor: pointer;\n p {\n cursor: pointer !important;\n }\n`;\nexport const LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n","import React from 'react';\nimport { SearchInputWrapper, StyledSearchInput } from './search.input.styled';\nimport Glass from '@/assets/icons/glass.svg';\nimport X from '@/assets/icons/X.svg';\n\ninterface SearchInputProps {\n placeholder?: string;\n value?: string;\n onChange?: (e: any) => void;\n loading?: boolean;\n containerStyle?: any;\n inputStyle?: any;\n showClear?: boolean;\n}\n\nexport function SearchInput({\n placeholder = 'Search',\n value = '',\n onChange = () => {},\n loading = false,\n containerStyle = {},\n inputStyle = {},\n showClear = true,\n}: SearchInputProps) {\n const clear = value\n ? () =>\n onChange({\n target: {\n value: '',\n },\n })\n : () => {};\n\n return (\n \n \n \n\n {showClear && (\n
\n {' '}\n \n
\n )}\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface ActiveProps {\n active?: any;\n}\n\nexport const SearchInputWrapper = styled.div`\n position: relative;\n display: flex;\n width: 340px;\n padding: 9px 13px;\n gap: 10px;\n border-radius: 8px;\n border: ${({ active, theme }) =>\n `1px solid ${active ? theme.colors.white : theme.colors.blue_grey}`};\n background: ${({ active, theme }) =>\n `${active ? theme.colors.dark : theme.colors.light_dark}`};\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.colors.white}`};\n }\n`;\n\nexport const StyledSearchInput = styled.input`\n width: 85%;\n background: ${({ active, theme }) =>\n `${active ? theme.colors.dark : \"transparent\"}`};\n border: none;\n outline: none;\n color: ${({ active, theme }) =>\n `${active ? theme.colors.white : theme.text.grey}`};\n font-size: 14px;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-weight: 400;\n &:focus {\n color: ${({ theme }) => `solid 1px ${theme.colors.white}`};\n }\n`;\n","import * as React from \"react\";\nconst SvgGlass = props => ;\nexport default SvgGlass;","import * as React from \"react\";\nconst SvgX = props => ;\nexport default SvgX;","import * as React from \"react\";\nconst SvgQuestion = props => ;\nexport default SvgQuestion;","import Question from '@/assets/icons/question.svg';\nimport React, { useState, ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\n\n// Styled tooltip container\nconst TooltipContainer = styled.div`\n display: inline-flex;\n align-items: center; // Align children and icon vertically\n position: relative;\n`;\n\n// Styled icon (using a simple div here, but you can replace it with an actual icon component)\nconst Icon = styled.div`\n margin-left: 8px;\n display: flex;\n align-items: center;\n`;\n\n// Styled tooltip text\nconst TooltipText = styled.div<{ isVisible: boolean }>`\n visibility: ${({ isVisible }) => (isVisible ? 'visible' : 'hidden')};\n background-color: black;\n color: white;\n text-align: center;\n border-radius: 6px;\n padding: 5px 10px;\n max-width: 300px;\n width: 100%;\n text-align: left;\n /* Position the tooltip above the icon */\n position: absolute;\n z-index: 1;\n bottom: 100%;\n left: 50%;\n transform: translateX(-0%);\n margin-bottom: 5px; // Space between the tooltip and the icon\n\n /* Fade in animation */\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n transition: opacity 0.3s;\n`;\n\ninterface TooltipProps {\n children: ReactNode;\n text: string;\n icon?: ReactNode;\n showIcon?: boolean;\n}\n\nexport const Tooltip: React.FC = ({\n children,\n text,\n icon = '?',\n showIcon = true,\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n\n const showTooltip = () => setIsVisible(true);\n const hideTooltip = () => setIsVisible(false);\n\n if (!text) return <>{children};\n\n return (\n \n {children}\n \n \n {text}\n \n \n {showIcon && (\n \n \n \n )}\n \n );\n};\n","import React from \"react\";\nimport { Text } from \"../text/text\";\nimport {\n SwitchButtonWrapper,\n SwitchInputWrapper,\n SwitchToggleWrapper,\n} from \"./switch.styled\";\n\ninterface SwitchProps {\n toggle: boolean;\n handleToggleChange: () => void;\n style?: object;\n label?: string;\n}\n\nexport function Switch({\n toggle,\n handleToggleChange,\n style,\n label = \"Select All\",\n}: SwitchProps) {\n return (\n \n \n \n \n {label && {label}}\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface SwitchToggleWrapperProps {\n active?: any;\n}\n\ninterface SwitchToggleBtnProps {\n disabled: boolean | undefined;\n}\n\nexport const SwitchInputWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\nexport const SwitchToggleWrapper = styled.div`\n position: relative;\n width: 30px;\n height: 16px;\n background-color: ${({ active, theme }) =>\n active ? theme.colors.secondary : theme.text.grey};\n cursor: pointer;\n user-select: none;\n border-radius: 20px;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const SwitchButtonWrapper = styled.span`\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n width: 14px;\n height: 14px;\n cursor: pointer;\n color: #fff;\n background-color: ${({ disabled, theme }) =>\n !disabled ? theme.text.light_grey : theme.text.white};\n box-shadow: 0 2px 4px rgb(0, 0, 0, 0.25);\n border-radius: 100%;\n position: absolute;\n transition: all 0.2s ease;\n left: ${({ disabled }) => (!disabled ? 2 : 18)}px;\n`;\n","import React from 'react';\nimport { Text } from '../text/text';\nimport { CheckboxWrapper, CheckboxItem } from './checkbox.styled';\nimport Checked from '../../assets/icons/checkbox-rect.svg';\n\ninterface CheckboxProps {\n value: boolean;\n onChange: () => void;\n label?: string;\n disabled?: boolean;\n}\n\nexport function Checkbox({\n onChange,\n value,\n label = '',\n disabled = false,\n}: CheckboxProps) {\n return (\n \n {value ? : }\n {label}\n \n );\n}\n","import { styled } from \"styled-components\";\n\ninterface CheckboxWrapperProps {\n disabled?: boolean;\n}\n\nexport const CheckboxWrapper = styled.div`\n display: flex;\n gap: 8px;\n align-items: center;\n cursor: ${({ disabled }) => (disabled ? \"not-allowed\" : \"pointer\")};\n pointer-events: ${({ disabled }) => (disabled ? \"none\" : \"auto\")};\n opacity: ${({ disabled }) => (disabled ? \"0.5\" : \"1\")};\n`;\n\nexport const CheckboxItem = styled.span`\n width: 16px;\n height: 16px;\n border: ${({ theme }) => `solid 1px ${theme.colors.light_grey}`};\n border-radius: 4px;\n`;\n","import * as React from \"react\";\nconst SvgCheckboxRect = props => ;\nexport default SvgCheckboxRect;","import React from \"react\";\nimport { SelectedCounterWrapper } from \"./selected.counter.styled\";\nimport Checked from \"@/assets/icons/check.svg\";\nimport { Text } from \"../text/text\";\n\ninterface SelectedCounterProps {\n total: number;\n selected: number;\n}\n\nexport function SelectedCounter({ total, selected }: SelectedCounterProps) {\n return (\n \n {selected !== 0 && }\n {`${selected} / ${total}`}\n \n );\n}\n","import styled from \"styled-components\";\n\nexport const SelectedCounterWrapper = styled.div`\n display: flex;\n padding: 4px;\n align-items: center;\n gap: 4px;\n border-radius: 14px;\n background: ${({ theme }) => theme.colors.dark_blue};\n`;\n","import React from 'react';\nimport { Text } from '../text/text';\nimport { styled } from 'styled-components';\nimport theme from '@/styles/palette';\n\ninterface LinkProps {\n value: string;\n onClick?: () => void;\n fontSize?: number;\n color?: string;\n}\n\nconst LinkContainer = styled.div`\n cursor: pointer;\n .p {\n cursor: pointer !important;\n }\n`;\n\nexport function Link({\n value,\n onClick,\n fontSize = 16,\n color = theme.colors.secondary,\n}: LinkProps) {\n return (\n \n \n {value}\n \n \n );\n}\n","import Image from \"next/image\";\nimport React from \"react\";\n\ninterface ImageProps {\n src: string;\n alt?: string;\n width?: number;\n height?: number;\n style?: React.CSSProperties;\n}\n\nconst IMAGE_STYLE: React.CSSProperties = {\n borderRadius: 10,\n};\n\nexport function ImageComponent({\n src,\n alt = \"\",\n width = 56,\n height = 56,\n style = {},\n}: ImageProps) {\n return (\n \n );\n}\n","import React, { ChangeEvent, InputHTMLAttributes, useState } from 'react';\nimport {\n StyledInputContainer,\n StyledInput,\n ErrorWrapper,\n LabelWrapper,\n DisplayIconsWrapper,\n} from './input.styled';\nimport { Text } from '../text/text';\nimport EyeOpenIcon from '@/assets/icons/eye-open.svg';\nimport EyeCloseIcon from '@/assets/icons/eye-close.svg';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n\ninterface InputProps extends Omit, 'onChange'> {\n label?: string;\n onChange: (value: string) => void;\n error?: string;\n style?: React.CSSProperties;\n tooltip?: string;\n}\n\nexport function Input({\n label,\n value,\n onChange,\n type = 'text',\n error = '',\n style = {},\n onKeyDown,\n tooltip,\n required,\n autoComplete = \"off\",\n ...rest\n}: InputProps): JSX.Element {\n const [showPassword, setShowPassword] = useState(false);\n\n function handleChange(event: ChangeEvent): void {\n onChange(event.target.value);\n }\n\n return (\n
\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n {type === 'password' && (\n setShowPassword(!showPassword)}>\n {!showPassword ? (\n \n ) : (\n \n )}\n \n )}\n \n {error && (\n \n \n {error}\n \n \n )}\n
\n );\n}\n","import { styled } from 'styled-components';\n\ninterface ActiveProps {\n active?: any;\n error: boolean | undefined;\n}\n\nexport const StyledInputContainer = styled.div`\n position: relative;\n display: flex;\n width: 100%;\n padding-left: 13px;\n height: 100%;\n min-height: 37px;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme, error, active }) =>\n `1px solid ${\n error\n ? theme.colors.error\n : active\n ? theme.text.grey\n : theme.colors.blue_grey\n }`};\n background: ${({ theme }) => theme.colors.light_dark};\n\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.text.grey}`};\n }\n`;\n\nexport const StyledActionInputContainer = styled.div`\n position: relative;\n display: flex;\n width: 100%;\n padding: 0px 12px;\n height: 100%;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n border-radius: 4px;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n`;\n\nexport const StyledInput = styled.input`\n background: transparent;\n border: none;\n outline: none;\n width: 96%;\n color: ${({ theme }) => theme.text.white};\n`;\n\nexport const StyledActionInput = styled(StyledInput)`\n color: var(--dark-mode-white, #fff);\n font-family: Inter, sans-serif;\n font-size: 24px;\n`;\n\nexport const LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n\nexport const ErrorWrapper = styled.div`\n margin-top: 4px;\n`;\n\nexport const DisplayIconsWrapper = styled.div`\n position: absolute;\n right: 10px;\n cursor: pointer;\n`;\n","import * as React from \"react\";\nconst SvgEyeOpen = props => ;\nexport default SvgEyeOpen;","import * as React from \"react\";\nconst SvgEyeClose = props => ;\nexport default SvgEyeClose;","import React, { ChangeEvent } from 'react';\nimport { StyledActionInputContainer, StyledActionInput } from './input.styled';\nimport { Button } from '../button/button';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\n\ninterface InputProps {\n value: string;\n onAction: () => void;\n onChange: (value: string) => void;\n type?: string;\n style?: React.CSSProperties;\n}\n\nexport function ActionInput({\n value,\n onChange,\n style = {},\n onAction,\n}: InputProps): JSX.Element {\n function handleChange(event: ChangeEvent): void {\n onChange(event.target.value);\n }\n\n return (\n <>\n \n \n\n \n \n \n );\n}\n","import React, { useState } from \"react\";\nimport CloseIcon from \"@/assets/icons/close.svg\";\nimport PlayerIcon from \"@/assets/icons/player.svg\";\nimport { Text } from \"../text/text\";\nimport {\n ImagePreviewWrapper,\n PlayerIconWrapper,\n LargePlayerIconWrapper,\n StyledLargeVideo,\n LargeVideoHeader,\n LargeVideoContainer,\n} from \"./video.styled\";\n\ntype VideoComponentProps = {\n videoSrc: string;\n title?: string;\n thumbnail?: string | undefined;\n};\n\nexport function Video({ videoSrc, title, thumbnail }: VideoComponentProps) {\n const [isLarge, setIsLarge] = useState(false);\n const [pause, setPause] = useState(true);\n\n const handleClick = (): void => {\n setIsLarge(true);\n };\n\n const handleClose = (): void => {\n setIsLarge(false);\n setPause(true);\n };\n\n const renderSmallView = (): JSX.Element => (\n <>\n \n {title}\n \n \n \n \n \n \n \n );\n\n const renderLargeView = (): JSX.Element => (\n \n \n \n {title}\n \n \n \n {!pause ? (\n \n ) : (\n setPause(false)}\n >\n \n \n \n \n )}\n \n );\n\n return
{isLarge ? renderLargeView() : renderSmallView()}
;\n}\n","import * as React from \"react\";\nconst SvgClose = props => ;\nexport default SvgClose;","import * as React from \"react\";\nconst SvgPlayer = props => ;\nexport default SvgPlayer;","import { styled } from \"styled-components\";\n\ninterface ImagePreviewWrapperProps {\n url: string | undefined;\n}\n\nexport const ImagePreviewWrapper = styled.div`\n position: relative;\n margin-top: 8px;\n border-radius: 8px;\n width: 240px;\n height: 140px;\n cursor: pointer;\n background: ${({ url }) => `linear-gradient(\n 0deg,\n rgba(2, 20, 30, 0.2) 0%,\n rgba(2, 20, 30, 0.2) 100%\n ),\n url(${url}),\n lightgray 50%`};\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n`;\n\nexport const PlayerIconWrapper = styled.div`\n position: absolute;\n margin-left: auto;\n margin-right: auto;\n left: 0;\n right: 0;\n top: 30px;\n text-align: center;\n`;\nexport const LargePlayerIconWrapper = styled(PlayerIconWrapper)`\n top: 40%;\n`;\n\nexport const StyledLargeVideo = styled.video`\n width: 980px;\n border-radius: 8px;\n`;\n\nexport const LargeVideoHeader = styled.div`\n width: 980px;\n\n display: flex;\n justify-content: space-between;\n margin-bottom: 21px;\n`;\n\nexport const LargeVideoContainer = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background: rgba(0, 0, 0, 0.65);\n z-index: 9999;\n`;\n","import React from 'react';\nimport { StyledLoader, LoaderWrapper } from './loader.styled';\n\ninterface LoaderProps {\n width?: number;\n height?: number;\n}\n\nexport function Loader({ width, height }: LoaderProps) {\n return (\n \n \n \n );\n}\n","import styled from 'styled-components';\n\nexport const LoaderWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n`;\n\nexport const StyledLoader = styled.div<{\n width?: number | undefined;\n height?: number | undefined;\n}>`\n width: ${({ width }) => width || 48}px;\n height: ${({ height }) => height || 48}px;\n border: 4px solid;\n border-color: ${({ theme }) =>\n `${theme.colors.secondary} ${theme.colors.secondary} ${theme.colors.secondary} transparent`};\n border-radius: 50%;\n animation: spin-anim 1.2s linear infinite;\n\n @keyframes spin-anim {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n","import React, { useEffect } from \"react\";\nimport {\n NotificationContainer,\n StyledNotification,\n} from \"./notification.styled\";\nimport { Text } from \"../text/text\";\nimport CloseIcon from \"@/assets/icons/X-blue.svg\";\nimport SuccessIcon from \"@/assets/icons/success-notification.svg\";\nimport ErrorIcon from \"@/assets/icons/error-notification.svg\";\n\ninterface NotificationProps {\n type: \"success\" | \"error\" | \"warning\" | \"info\";\n message: string;\n onClose?: () => void;\n}\n\nexport function Notification({ type, message, onClose }: NotificationProps) {\n useEffect(() => {\n const id = setTimeout(() => {\n onClose && onClose();\n }, 5000);\n\n return () => {\n clearTimeout(id);\n };\n }, []);\n\n function getIcon() {\n switch (type) {\n case \"success\":\n return ;\n case \"error\":\n return ;\n }\n }\n\n function getNotificationStyle() {\n switch (type) {\n case \"error\":\n return { border: \"1px solid #FD3F3F\" };\n default:\n return {};\n }\n }\n\n return (\n \n \n {getIcon()}\n \n {message}\n \n \n \n \n );\n}\n","import styled from 'styled-components';\n\nexport const NotificationContainer = styled.div`\n position: fixed;\n top: 3%;\n right: 3%;\n`;\n\nexport const StyledNotification = styled.div`\n display: flex;\n padding: 6px 16px 6px 8px;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n background: ${({ theme }) => theme.colors.dark_blue};\n svg {\n cursor: pointer;\n }\n`;\n","import * as React from \"react\";\nconst SvgXBlue = props => ;\nexport default SvgXBlue;","import * as React from \"react\";\nconst SvgSuccessNotification = props => ;\nexport default SvgSuccessNotification;","import * as React from \"react\";\nconst SvgErrorNotification = props => ;\nexport default SvgErrorNotification;","'use client';\nimport React, { useEffect } from 'react';\nimport ReactFlow, {\n Background,\n useReactFlow,\n ReactFlowProvider,\n} from 'reactflow';\nimport { IDataFlow } from './types';\nimport theme from '@/styles/palette';\nimport ActionNode from './action.node.tsx';\nimport CenterNode from './keyval.middleware';\nimport NamespaceNode from './namespace.node.tsx';\nimport DestinationNode from './destination.node.tsx';\nimport SourceNode from './source.node.tsx';\nimport { DataFlowContainer } from './data.flow.styled';\nimport 'reactflow/dist/style.css';\nimport { DataFlowControlPanel } from './control.panel.tsx';\n\nconst backgroundColor = theme.colors.data_flow_bg;\n\nconst nodeTypes = {\n custom: CenterNode,\n namespace: NamespaceNode,\n destination: DestinationNode,\n action: ActionNode,\n source: SourceNode,\n};\n\nfunction DataFlow({ nodes, edges, ...rest }: IDataFlow) {\n const { fitView } = useReactFlow();\n\n useEffect(() => {\n setTimeout(() => {\n fitView();\n }, 100);\n }, [fitView, nodes, edges]);\n\n return (\n \n \n \n \n \n \n );\n}\n\nexport function KeyvalDataFlow(props: IDataFlow) {\n return (\n \n \n \n );\n}\n","import React, { memo } from 'react';\nimport { Handle, Position } from 'reactflow';\nimport styled from 'styled-components';\nimport { Text } from '@/design.system';\nimport { ACTION_ICONS } from '@/assets';\nimport theme from '@/styles/palette';\n\nconst ActionContainer = styled.div`\n display: flex;\n flex-direction: column;\n padding: 8px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n gap: 4px;\n min-width: 80px;\n`;\n\nconst TextWrapper = styled.div`\n max-width: 72px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst SignalIndicator = styled.span<{ backgroundColor: string }>`\n background-color: ${({ backgroundColor }) => backgroundColor};\n width: 8px;\n height: 8px;\n border-radius: 8px;\n`;\n\nconst IconWrapper = styled.div`\n width: 24px;\n height: 24px;\n`;\n\ninterface ActionNodeProps {\n data: {\n type: string;\n spec?: {\n actionName?: string;\n signals: string[];\n };\n };\n isConnectable: boolean;\n}\n\nexport default memo(({ data, isConnectable }: ActionNodeProps) => {\n const ActionIcon = ACTION_ICONS[data.type] ? ACTION_ICONS[data.type] : null;\n\n return (\n \n \n {ActionIcon && (\n \n \n \n )}\n \n \n {data?.spec?.actionName || 'Action'}\n \n \n \n {data.spec?.signals.map((monitor: string) => (\n \n ))}\n \n \n \n );\n});\n","import React from 'react';\nimport { Handle, Position } from 'reactflow';\nimport styled, { keyframes } from 'styled-components';\nconst flickerAnimation = keyframes`\n 0% {\n opacity: 1;\n\n }\n 100% {\n opacity: 0.5;\n }\n`;\n\nconst FlickerWrapper = styled.div`\n width: 120px;\n height: 120px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 60px;\n position: relative;\n z-index: 90;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 60px;\n background: #110c1f55;\n z-index: -1;\n animation: ${flickerAnimation} 1s infinite alternate;\n }\n`;\n\nconst InnerWrapper = styled.div`\n width: 100px;\n height: 100px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50px;\n border: solid 1px #3a3a3a76;\n background: #110c1f7d;\n`;\n\nconst LogoContainer = styled.div`\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 40px;\n border: solid 1px #3a3a3aa9;\n background: #110c1f;\n position: relative;\n z-index: 99;\n`;\n\n// TypeScript Props Interface\ninterface OdigosCenterNodeProps {\n isConnectable: boolean;\n}\n\nconst OdigosCenterNode: React.FC = ({\n isConnectable,\n}) => {\n return (\n \n \n \n {/* \"logo\" */}\n \n \n \n \n \n \n );\n};\n\nexport default OdigosCenterNode;\n","import React, { memo } from 'react';\nimport { Handle, Position } from 'reactflow';\nimport { styled } from 'styled-components';\nimport { Text } from '@/design.system';\nimport { Folder } from '@/assets/icons/overview';\n\nconst NamespaceContainer = styled.div`\n display: flex;\n padding: 16px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n width: 272px;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 10px;\n`;\n\nexport default memo(({ data, isConnectable }: any) => {\n return (\n \n \n \n \n {data?.name}\n \n {data?.totalAppsInstrumented && (\n {`${data.totalAppsInstrumented} Apps Instrumented`}\n )}\n \n \n \n );\n});\n","import * as React from \"react\";\nconst SvgMiddleware = props => ;\nexport default SvgMiddleware;","import * as React from \"react\";\nconst SvgFolder = props => ;\nexport default SvgFolder;","import React from 'react';\nimport theme from '@/styles/palette';\nimport { Text } from '@/design.system';\nimport { styled } from 'styled-components';\nimport { Handle, Position } from 'reactflow';\nimport { MONITORING_OPTIONS } from './monitors';\n\ninterface IconWrapperProps {\n tapped?: boolean | undefined | string;\n}\n\nconst DestinationNodeContainer = styled.div`\n padding: 16px 24px;\n display: flex;\n border-radius: 12px;\n gap: 8px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n justify-content: space-between;\n width: 430px;\n`;\n\nexport const NodeDataWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 8px;\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\n\nconst IMAGE_STYLE: React.CSSProperties = {\n backgroundColor: '#fff',\n padding: 4,\n borderRadius: 10,\n};\n\nconst IconWrapper = styled.div`\n padding: 4px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 100%;\n opacity: ${({ tapped }) => (tapped ? 1 : 0.4)};\n`;\n\nconst MonitorsListWrapper = styled.div`\n display: flex;\n gap: 8px;\n`;\n\nexport default function DestinationNode({ data, isConnectable }: any) {\n function renderMonitors() {\n return MONITORING_OPTIONS.map((monitor) => (\n \n {data?.signals?.[monitor?.type]\n ? monitor.icons.focus()\n : monitor.icons.notFocus()}\n \n ));\n }\n\n return (\n \n \n \n \n {data?.name}\n \n {data?.destination_type?.display_name}\n \n \n \n {renderMonitors()}\n \n \n );\n}\n","import * as React from \"react\";\nconst SvgLogsGrey = props => ;\nexport default SvgLogsGrey;","import * as React from \"react\";\nconst SvgLogsBlue = props => ;\nexport default SvgLogsBlue;","import * as React from \"react\";\nconst SvgChartLineGrey = props => ;\nexport default SvgChartLineGrey;","import * as React from \"react\";\nconst SvgChartLineBlue = props => ;\nexport default SvgChartLineBlue;","import * as React from \"react\";\nconst SvgTreeStructureGrey = props => ;\nexport default SvgTreeStructureGrey;","import * as React from \"react\";\nconst SvgTreeStructureBlue = props => ;\nexport default SvgTreeStructureBlue;","import Logs from '@/assets/icons/logs-grey.svg';\nimport LogsFocus from '@/assets/icons/logs-blue.svg';\nimport Metrics from '@/assets/icons/chart-line-grey.svg';\nimport MetricsFocus from '@/assets/icons/chart-line-blue.svg';\nimport Traces from '@/assets/icons/tree-structure-grey.svg';\nimport TracesFocus from '@/assets/icons/tree-structure-blue.svg';\n\nconst MONITORS = {\n LOGS: 'Logs',\n METRICS: 'Metrics',\n TRACES: 'Traces',\n};\n\nexport type MonitoringOption = {\n title: string;\n tapped: boolean;\n icons: object;\n id: number;\n};\n\nexport const MONITORING_OPTIONS = [\n {\n id: 1,\n icons: {\n notFocus: () => Logs(),\n focus: () => LogsFocus(),\n },\n title: MONITORS.LOGS,\n type: 'logs',\n tapped: true,\n },\n {\n id: 2,\n icons: {\n notFocus: () => Metrics(),\n focus: () => MetricsFocus(),\n },\n title: MONITORS.METRICS,\n type: 'metrics',\n tapped: true,\n },\n {\n id: 3,\n icons: {\n notFocus: () => Traces(),\n focus: () => TracesFocus(),\n },\n title: MONITORS.TRACES,\n type: 'traces',\n tapped: true,\n },\n];\n","import React, { memo } from 'react';\nimport Image from 'next/image';\nimport styled from 'styled-components';\nimport { Text } from '@/design.system';\nimport { LANGUAGES_LOGOS } from '@/assets';\nimport { Handle, Position } from 'reactflow';\n\nconst NamespaceContainer = styled.div`\n display: flex;\n padding: 16px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n width: 272px;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 4px;\n display: flex;\n flex-direction: column;\n`;\n\nconst ImageWrapper = styled.div`\n padding: 4px;\n background-color: #fff;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\ninterface NamespaceNodeProps {\n data: {\n namespace?: string;\n name?: string;\n languages?: { language: keyof typeof LANGUAGES_LOGOS }[];\n };\n isConnectable: boolean;\n}\n\nexport default memo(({ data, isConnectable }: NamespaceNodeProps) => {\n const languageKey = data?.languages?.[0]?.language || 'default';\n const lan = LANGUAGES_LOGOS[languageKey];\n\n return (\n \n \n {''}\n \n \n {data.namespace}\n \n {data?.name}\n \n \n \n \n );\n});\n","import styled from 'styled-components';\n\nexport const DataFlowContainer = styled.div`\n width: 100%;\n height: 100%;\n`;\n\nexport const ControllerWrapper = styled.div`\n button {\n display: flex;\n padding: 8px;\n align-items: center;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: #0e1c28 !important;\n margin-bottom: 8px;\n }\n\n .react-flow__controls button path {\n fill: #fff;\n }\n`;\n","// Import React and necessary components\nimport React, { useEffect, useState } from 'react';\nimport 'reactflow/dist/style.css';\nimport { Controls } from 'reactflow';\nimport theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport { Text } from '../text/text.tsx';\nimport Open from '@/assets/icons/expand-arrow.svg';\nimport { ControllerWrapper } from './data.flow.styled.tsx';\n// Define styled components\nconst ControllerPanelWrapper = styled.div`\n position: absolute;\n z-index: 999;\n top: 15px;\n left: 60px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n background-color: ${theme.colors.dark};\n padding: 10px;\n border-radius: 8px;\n border: 1px solid ${theme.colors.blue_grey};\n button {\n display: flex;\n padding: 8px;\n align-items: center;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: #0e1c28 !important;\n margin-bottom: 8px;\n }\n\n .react-flow__controls button path {\n fill: #fff;\n }\n`;\n\nconst MonitorItem = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 14px;\n`;\n\nconst MonitorIndicator = styled.span<{ color: string }>`\n background-color: ${({ color }) => color};\n width: 10px;\n height: 10px;\n border-radius: 8px;\n margin-right: 6px;\n`;\n\nconst TitleWrapper = styled.div`\n display: flex;\n gap: 10px;\n cursor: pointer;\n`;\n\n// TypeScript type for monitor items\ninterface MonitorItem {\n name: string;\n color: string;\n}\n\nexport function DataFlowControlPanel() {\n const [isOpen, setOpen] = useState(true);\n\n useEffect(() => {\n setTimeout(() => {\n setOpen(false);\n }, 7000);\n }, []);\n\n const MONITORS: MonitorItem[] = [\n {\n name: 'Traces',\n color: theme.colors.traces,\n },\n {\n name: 'Logs',\n color: theme.colors.logs,\n },\n {\n name: 'Metrics',\n color: theme.colors.metrics,\n },\n ];\n\n return (\n <>\n \n setOpen(!isOpen)}>\n \n Supported Signals\n \n \n \n {isOpen && (\n \n {MONITORS.map((monitor) => (\n \n \n \n {monitor.name}\n \n \n ))}\n \n )}\n \n \n \n \n \n );\n}\n","import React from \"react\";\nimport { styled } from \"styled-components\";\nimport { Text } from \"../text/text\";\nimport theme from \"@/styles/palette\";\n\nconst DangerZoneWrapper = styled.div`\n padding: 10px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n border-radius: 8px;\n width: fit-content;\n width: 344px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n`;\n\nconst DangerButtonWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: flex-end;\n :hover {\n background: ${({ theme }) => theme.colors.error};\n p {\n color: #fff !important;\n }\n }\n`;\n\nconst DangerButton = styled.button`\n padding: 8px 12px;\n border-radius: 4px;\n background: transparent;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n cursor: pointer !important;\n`;\n\ninterface DangerZoneProps {\n title: string;\n subTitle: string;\n btnText: string;\n onClick: () => void;\n}\n\nexport function DangerZone({\n title,\n subTitle,\n btnText,\n onClick,\n}: DangerZoneProps) {\n return (\n <>\n \n \n {title}\n \n {subTitle}\n \n \n \n {btnText}\n \n \n \n \n \n );\n}\n","import React, { useCallback, useEffect, useRef } from 'react';\nimport PortalModal from './portal.modal';\nimport * as S from './modal.styled';\nimport { Props } from './types';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\nimport { useOnClickOutside } from '@/hooks';\nimport CloseIcon from '@/assets/icons/close-modal.svg';\nimport { Button } from '../button/button';\nimport { Link } from '../link/link';\nexport function Modal({ children, closeModal, config }: Props) {\n const modalRef = useRef(null);\n\n // handle what happens on click outside of modal\n const handleClickOutside = () => closeModal();\n\n // handle what happens on key press\n const handleKeyPress = useCallback((event: KeyboardEvent) => {\n if (event.key === 'Escape') closeModal();\n }, []);\n\n useOnClickOutside(modalRef, handleClickOutside);\n\n useEffect(() => {\n // attach the event listener if the modal is shown\n document.addEventListener('keydown', handleKeyPress);\n // remove the event listener\n return () => {\n document.removeEventListener('keydown', handleKeyPress);\n };\n }, [handleKeyPress]);\n\n return (\n <>\n \n \n \n {config.showHeader && (\n \n \n {config.title}\n \n \n )}\n\n \n \n \n\n {children}\n {config?.footer && (\n \n {config.footer.link && (\n \n )}\n {config.footer.secondaryBtnText && (\n \n \n {config.footer.secondaryBtnText}\n \n \n )}\n \n \n {config.footer.primaryBtnText}\n \n \n \n )}\n \n \n \n \n );\n}\n","import { useState, useLayoutEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n\ninterface Props {\n children: JSX.Element;\n wrapperId: string;\n}\n\nconst PortalModal = ({ children, wrapperId }: Props) => {\n const [portalElement, setPortalElement] = useState(null);\n\n useLayoutEffect(() => {\n let element = document.getElementById(wrapperId) as HTMLElement;\n let portalCreated = false;\n // if element is not found with wrapperId or wrapperId is not provided,\n // create and append to body\n if (!element) {\n element = createWrapperAndAppendToBody(wrapperId);\n portalCreated = true;\n }\n\n setPortalElement(element);\n\n // cleaning up the portal element\n return () => {\n // delete the programatically created element\n if (portalCreated && element.parentNode) {\n element.parentNode.removeChild(element);\n }\n };\n }, [wrapperId]);\n\n const createWrapperAndAppendToBody = (elementId: string) => {\n const element = document.createElement(\"div\");\n element.setAttribute(\"id\", elementId);\n document.body.appendChild(element);\n return element;\n };\n\n // portalElement state will be null on the very first render.\n if (!portalElement) return null;\n\n return createPortal(children, portalElement);\n};\n\nexport default PortalModal;\n","import styled, { keyframes } from 'styled-components';\nimport { ModalPositionX, ModalPositionY } from './types';\n\ninterface PropsOverlay {\n showOverlay: boolean;\n positionX: ModalPositionX;\n positionY: ModalPositionY;\n}\ninterface PropsModalContainer {\n padding: string;\n}\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`;\n\nexport const ModalButtonsContainer = styled.div`\n padding: 40px;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 20px;\n`;\nexport const ModalButtonPrimary = styled.button`\n display: block;\n padding: 10px 30px;\n border-radius: 3px;\n color: ${({ theme }) => theme.colors.btnText};\n border: 1px solid ${({ theme }) => theme.colors.main};\n background-color: ${({ theme }) => theme.colors.main};\n font-family: 'Robot', sans-serif;\n font-weight: 500;\n transition: 0.3s ease all;\n\n &:hover {\n background-color: ${({ theme }) => theme.colors.shadowMain};\n }\n`;\nexport const ModalButtonSecondary = styled.button`\n display: block;\n padding: 10px 30px;\n border-radius: 3px;\n color: ${({ theme }) => theme.colors.main};\n border: 1px solid ${({ theme }) => theme.colors.main};\n background-color: transparent;\n font-family: 'Robot', sans-serif;\n font-weight: 500;\n transition: 0.3s ease all;\n\n &:hover {\n background-color: ${({ theme }) => theme.colors.shadowMain};\n color: ${({ theme }) => theme.colors.btnText};\n }\n`;\n\nexport const Overlay = styled.div`\n width: 100vw;\n height: 100vh;\n z-index: 9999;\n position: fixed;\n top: 0;\n left: 0;\n background-color: ${(props) =>\n props.showOverlay\n ? 'rgba(255, 255, 255, 0.1)'\n : 'rgba(255, 255, 255, 0.1)'};\n display: flex;\n align-items: center;\n justify-content: ${(props) => (props.positionX ? props.positionX : 'center')};\n align-items: ${(props) => (props.positionY ? props.positionY : 'center')};\n padding: 40px;\n\n @media (prefers-reduced-motion: no-preference) {\n animation-name: ${fadeIn};\n animation-fill-mode: backwards;\n }\n`;\nexport const ModalContainer = styled.div`\n min-width: 500px;\n min-height: 50px;\n /* background-color: #ffffff; */\n position: relative;\n /* border-radius: 8px; */\n border-radius: 12px;\n border: 0.95px solid var(--dark-mode-dark-3, #203548);\n background: var(--dark-mode-dark-2, #0e1c28);\n\n padding: ${(props) => (props.padding ? props.padding : '20px')};\n`;\nexport const ModalHeader = styled.header`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-bottom: 20px;\n`;\n\nexport const Close = styled.div`\n position: absolute;\n top: 20px;\n right: 15px;\n border: none;\n background-color: transparent;\n transition: 0.3s ease all;\n border-radius: 3px;\n color: '#d1345b';\n cursor: pointer;\n\n svg {\n width: 24px;\n height: 24px;\n fill: #fff;\n }\n`;\n\nexport const PrimaryButton = styled.button`\n background-color: #ededed8b;\n border: 1px solid #d4d2d2;\n width: 100%;\n height: 36px;\n border-radius: 8px;\n cursor: pointer;\n\n &:hover {\n background-color: #ededed;\n }\n`;\n\nexport const Content = styled.div`\n display: flex;\n width: 100%;\n flex-direction: column;\n align-items: center;\n color: ${({ theme }) => theme.text};\n`;\nexport const ModalFooter = styled.footer`\n width: 100%;\n display: flex;\n gap: 1rem;\n align-items: center;\n justify-content: flex-end;\n margin-top: 20px;\n padding-top: 20px;\n`;\n","import * as React from \"react\";\nconst SvgCloseModal = props => ;\nexport default SvgCloseModal;","import theme from '@/styles/palette';\nimport React, { ReactNode } from 'react';\nimport StyledComponentsRegistry from './registry';\nimport { ThemeProvider } from 'styled-components';\ninterface ThemeProviderWrapperProps {\n children: ReactNode; // Add children prop with ReactNode type\n}\n\nexport const ThemeProviderWrapper: React.FC = ({\n children,\n}) => {\n return (\n \n {children}\n \n );\n};\n","'use client';\n\nimport React, { useState } from 'react';\nimport { useServerInsertedHTML } from 'next/navigation';\nimport { ServerStyleSheet, StyleSheetManager } from 'styled-components';\n\nexport default function StyledComponentsRegistry({\n children,\n}: {\n children: React.ReactNode;\n}) {\n // Only create stylesheet once with lazy initial state\n // x-ref: https://reactjs.org/docs/hooks-reference.html#lazy-initial-state\n const [styledComponentsStyleSheet] = useState(() => new ServerStyleSheet());\n\n useServerInsertedHTML(() => {\n const styles = styledComponentsStyleSheet.getStyleElement();\n styledComponentsStyleSheet.instance.clearTag();\n return <>{styles};\n });\n\n if (typeof window !== 'undefined') return <>{children};\n\n return (\n \n {children}\n \n );\n}\n","import React from \"react\";\nimport StepItem from \"./step.item\";\nimport { StepsContainer } from \"./steps.styled\";\n\ntype StepListProps = {\n data?: Array | null;\n};\n\nexport function Steps({ data }: StepListProps) {\n function renderSteps() {\n return data?.map(({ title, status }: any, index) => (\n \n ));\n }\n\n return {renderSteps()};\n}\n","import { FloatBox } from \"@/design.system/float.box/float.box\";\nimport { Text } from \"@/design.system/text/text\";\nimport React from \"react\";\nimport {\n StepItemTextWrapper,\n StepItemBorder,\n StepItemWrapper,\n FloatingBoxTextWrapper,\n} from \"./steps.styled\";\nimport Done from \"@/assets/icons/checked.svg\";\n\ntype StepItemProps = {\n title: string;\n index: number;\n status: string;\n isLast: boolean;\n};\n\nenum Status {\n Done = \"done\",\n Active = \"active\",\n Disabled = \"disabled\",\n}\n\nexport default function StepItem({\n title,\n index,\n status,\n isLast,\n}: StepItemProps) {\n return (\n \n \n {status === Status.Done ? (\n \n ) : (\n \n {index}\n \n )}\n \n \n {title}\n \n {!isLast && }\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface DisabledProp {\n disabled: boolean;\n}\nexport const StepsContainer = styled.div`\n display: flex;\n`;\n\nexport const StepItemWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const FloatingBoxTextWrapper = styled.div`\n opacity: ${({ disabled }) => (disabled ? \"0.4\" : \"1\")};\n`;\n\nexport const StepItemTextWrapper = styled(FloatingBoxTextWrapper)`\n margin: 0 8px;\n`;\n\nexport const StepItemBorder = styled.div`\n width: 54px;\n height: 1px;\n background-color: #8b92a5;\n margin-top: 2px;\n margin-right: 8px;\n`;\n","import * as React from \"react\";\nconst SvgChecked = props => ;\nexport default SvgChecked;","import React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\n\nconst DividerContainer = styled.div<{ margin: string }>`\n width: 100%;\n display: flex;\n align-items: center;\n gap: 23px;\n margin: ${({ margin }) => margin};\n`;\n\nconst DividerLine = styled.div`\n width: 100%;\n border-top: 1px solid #8b92a5;\n`;\n\nexport function Divider({\n margin = '32px 0',\n label = 'or',\n}: {\n margin?: string;\n label?: string;\n}) {\n return (\n \n \n {label}\n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\n\nconst NoteContainer = styled.div`\n padding: 16px;\n display: flex;\n justify-content: flex-start !important;\n border: 1px solid ${({ theme }) => theme.colors.dark_blue};\n border-radius: 12px;\n`;\n\nconst TextContainer = styled.div`\n line-height: 1.6;\n code {\n background-color: ${({ theme }) => theme.colors.dark_blue};\n padding: 2px 4px;\n border-radius: 6px;\n }\n`;\n\nexport function Note({ text, code }: { text: string; code?: string[] }) {\n useEffect(() => {\n buildNote();\n }, []);\n\n function buildNote() {\n let value = text;\n if (code) {\n code.forEach((c, index) => {\n value = value.replace(`$code${index}`, `${c}`);\n });\n }\n\n return (\n Note: ${value}

`,\n }}\n >\n );\n }\n\n return (\n \n {buildNote()}\n \n );\n}\n","'use client';\n\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\nimport { Folders } from '@/assets/icons';\n\nconst SegmentedControlsWrapper = styled.div`\n display: inline-flex;\n justify-content: space-between;\n border-radius: 10px;\n margin: auto;\n overflow: hidden;\n position: relative;\n`;\nconst SegmentedControlsOption = styled.div`\n color: ${({ theme }) => theme.colors.white};\n padding: 8px 12px;\n position: relative;\n text-align: center;\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: center;\n z-index: 1;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n background-color: ${({ theme }) => theme.colors.dark};\n filter: brightness(50%);\n &.active {\n filter: brightness(100%);\n }\n &:first-child {\n border-top-left-radius: 10px;\n border-bottom-left-radius: 10px;\n padding-left: 16px;\n }\n &:last-child {\n border-top-right-radius: 10px;\n border-bottom-right-radius: 10px;\n padding-right: 16px;\n }\n label {\n font-family: ${({ theme }) => theme.font_family.primary};\n }\n`;\n\nconst SegmentedControlsInput = styled.input`\n opacity: 0;\n margin: 0;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n position: absolute;\n width: 100%;\n cursor: pointer;\n height: 100%;\n`;\n\nexport function SegmentedControls({\n options,\n selected,\n onChange,\n title,\n}: {\n options: { label: string; id: string }[];\n selected: string;\n onChange: (selected: string) => void;\n title?: string;\n}) {\n return (\n
\n {title && (\n \n {title}\n \n )}\n \n {options?.map((option) => (\n \n \n onChange(option.id)}\n checked={option.id === selected}\n />\n {option.label}\n \n ))}\n \n
\n );\n}\n","import React, { useState, KeyboardEvent } from 'react';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport { Input as BaseInput } from '../input/input';\nimport { Button as BaseButton } from '../button/button';\nimport { Tooltip } from '../tooltip';\n\ninterface MultiInputProps {\n initialList?: string[];\n onListChange?: (list: string[]) => void;\n placeholder?: string;\n limit?: number;\n title?: string;\n tooltip?: string;\n}\n\nexport const MultiInput: React.FC = ({\n initialList = [],\n onListChange,\n placeholder = 'Add item to list',\n title,\n tooltip,\n}) => {\n const [inputValue, setInputValue] = useState('');\n const [list, setList] = useState(initialList);\n\n const handleInputChange = (e: string) => {\n setInputValue(e);\n };\n\n const handleAddToList = () => {\n if (inputValue.trim() !== '') {\n const newList = [...list, inputValue];\n setList(newList);\n setInputValue('');\n onListChange && onListChange(newList);\n }\n };\n\n const handleRemoveFromList = (indexToRemove: number) => {\n const newList = list.filter((_, index) => index !== indexToRemove);\n setList(newList);\n onListChange && onListChange(newList);\n };\n\n return (\n <>\n {title && (\n \n \n \n {title}\n \n \n \n )}\n \n \n {list.map((item, index) => (\n handleRemoveFromList(index)}>\n \n {item}\n \n \n \n \n \n ))}\n \n \n handleInputChange(e)}\n />\n \n \n \n \n );\n};\n\n// Styled components\nconst Container = styled.div`\n width: 100%;\n`;\n\nconst ListContainer = styled.div`\n display: flex;\n width: 110%;\n flex-wrap: wrap;\n`;\n\nconst ListItem = styled.div`\n cursor: pointer;\n padding: 2px 8px;\n margin: 3px;\n border-radius: 5px;\n background: ${theme.colors.light_grey};\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 5px;\n min-height: 30px;\n`;\n\nconst InputContainer = styled.div`\n display: flex;\n gap: 10px;\n width: 100%;\n height: 37px;\n`;\n\nconst Input = styled(BaseInput)`\n width: 100%;\n`;\n\nconst Button = styled(BaseButton)`\n margin-left: 10px;\n`;\n\nconst TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Tooltip } from '../tooltip';\nimport { Text } from '../text/text';\nimport { Trash } from '@/assets/icons';\n\nexport interface KeyValue {\n id: number;\n key: string;\n value: string;\n}\n\nexport const Container = styled.div`\n width: 100%;\n`;\n\nexport const TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n\nconst Table = styled.table`\n border: solid 1px ${theme.text.grey};\n text-align: center;\n border-spacing: 0;\n border-radius: 8px;\n width: 100%;\n`;\n\nexport const Th = styled.th`\n padding: 4px;\n`;\n\nexport const Td = styled.td<{ right?: boolean; left?: boolean }>`\n padding: 8px 0;\n\n border-top: solid 1px ${theme.text.grey};\n border-right: ${({ right }) =>\n right ? `solid 1px ${theme.text.grey}` : 'none'};\n border-left: ${({ left }) =>\n left ? `solid 1px ${theme.text.grey}` : 'none'};\n`;\n\nexport const Input = styled.input`\n background: transparent;\n border: none;\n width: 94%;\n\n outline: none;\n color: ${theme.text.white};\n`;\n\nexport const AddRowButton = styled.td`\n text-align: center;\n border-top: solid 1px ${theme.text.grey};\n padding: 4px;\n cursor: pointer;\n`;\n\nexport interface KeyValueTableProps {\n keyValues: KeyValue[];\n setKeyValues: (keyValues: KeyValue[]) => void;\n title?: string;\n titleKey?: string;\n titleValue?: string;\n tooltip?: string;\n titleButton?: string;\n required?: boolean;\n}\n\nexport const KeyValueTable: React.FC = ({\n keyValues,\n setKeyValues,\n title,\n titleKey,\n titleValue,\n titleButton,\n tooltip,\n required,\n}: KeyValueTableProps) => {\n const [nextId, setNextId] = useState(1);\n\n const addRow = () => {\n const newKeyValue: KeyValue = {\n id: nextId,\n key: '',\n value: '',\n };\n setKeyValues([...keyValues, newKeyValue]);\n setNextId(nextId + 1);\n };\n\n const deleteRow = (id: number) => {\n const value = keyValues.filter((kv) => kv.id !== id);\n setKeyValues(value);\n };\n\n const updateKey = (id: number, newKey: string) => {\n const updatedKeyValues = keyValues.map((kv) =>\n kv.id === id ? { ...kv, key: newKey } : kv\n );\n setKeyValues(updatedKeyValues);\n };\n\n const updateValue = (id: number, newValue: string) => {\n const updatedKeyValues = keyValues.map((kv) =>\n kv.id === id ? { ...kv, value: newValue } : kv\n );\n setKeyValues(updatedKeyValues);\n };\n\n return (\n \n {title && (\n \n \n
\n \n {title}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n \n \n \n \n \n \n {keyValues.map((kv) => (\n \n \n\n \n deleteRow(kv.id)}\n >\n \n \n \n ))}\n \n \n \n \n \n {titleButton || 'Add Row'}\n \n \n \n \n
\n \n {titleKey || 'Key'}\n \n \n \n {titleValue || 'Value'}\n \n
\n updateKey(kv.id, e.target.value)}\n />\n \n updateValue(kv.id, e.target.value)}\n />\n
\n
\n );\n};\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n// Define the props for the TextArea component\nexport interface TextAreaProps {\n placeholder?: string;\n value?: string;\n onChange: (e: React.ChangeEvent) => void;\n rows?: number;\n cols?: number;\n label?: string;\n tooltip?: string;\n required?: boolean;\n}\n\n// Styled textarea\nconst StyledTextArea = styled.textarea<{ active?: boolean }>`\n width: 100%;\n padding: 8px 12px;\n border-radius: 8px;\n box-sizing: border-box;\n resize: vertical;\n\n outline: none;\n color: ${({ theme }) => theme.text.white};\n font-family: ${theme.font_family.primary};\n background-color: ${({ theme }) => theme.colors.light_dark};\n border: ${({ theme, active }) =>\n `1px solid ${active ? theme.text.grey : theme.colors.blue_grey}`};\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.text.grey}`};\n }\n`;\nconst LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n\nexport const TextArea: React.FC = ({\n placeholder,\n value,\n onChange,\n rows = 4,\n cols = 50,\n tooltip,\n label,\n required,\n}) => {\n return (\n <>\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n );\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Tooltip } from '../tooltip';\nimport { Text } from '../text/text';\nimport { Trash } from '@/assets/icons';\n\nexport const Container = styled.div`\n width: 100%;\n`;\n\nexport const TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n\nexport const Table = styled.table`\n border: solid 1px ${theme.text.grey};\n text-align: center;\n border-spacing: 0;\n border-radius: 8px;\n width: 100%;\n`;\n\nexport const Th = styled.th`\n padding: 4px;\n`;\n\nexport const Td = styled.td<{ right?: boolean; left?: boolean }>`\n padding: 8px 0;\n\n border-bottom: solid 1px ${theme.text.grey};\n border-right: ${({ right }) =>\n right ? `solid 1px ${theme.text.grey}` : 'none'};\n border-left: ${({ left }) =>\n left ? `solid 1px ${theme.text.grey}` : 'none'};\n`;\n\nexport const Input = styled.input`\n background: transparent;\n border: none;\n width: 94%;\n\n outline: none;\n color: ${theme.text.white};\n`;\n\nexport const AddRowButton = styled.td`\n text-align: center;\n padding: 4px;\n cursor: pointer;\n`;\n\nexport interface MultiInputTableProps {\n values: string[];\n title?: string;\n tooltip?: string;\n onValuesChange: (newValues: string[]) => void;\n required?: boolean;\n placeholder?: string;\n}\n\nexport const MultiInputTable: React.FC = ({\n values,\n title,\n tooltip,\n onValuesChange,\n required,\n placeholder,\n}) => {\n const addRow = () => {\n onValuesChange([...values, '']);\n };\n\n const deleteRow = (index: number) => {\n const updatedValues = values.filter((_, i) => i !== index);\n onValuesChange(updatedValues);\n };\n\n const updateValue = (index: number, newValue: string) => {\n const updatedValues = values.map((value, i) =>\n i === index ? newValue : value\n );\n onValuesChange(updatedValues);\n };\n\n return (\n \n {title && (\n \n \n
\n \n {title}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n {values.map((value, index) => (\n \n \n deleteRow(index)}\n style={{ cursor: 'pointer' }}\n >\n \n \n \n ))}\n \n \n \n \n \n Add Row\n \n \n \n \n
\n updateValue(index, e.target.value)}\n placeholder={index === 0 ? placeholder : ''}\n />\n
\n
\n );\n};\n","import React from 'react';\nimport { ActionItem } from '../action.item';\n\n// Define the type for individual action items\ninterface ActionItem {\n label: string;\n onClick: () => void;\n id: string;\n selected?: boolean;\n disabled?: boolean;\n}\n\n// Define the type for the groups of action items, including any conditional rendering logic\ninterface ActionGroup {\n label: string;\n subTitle: string;\n items: ActionItem[];\n condition?: boolean; // Optional condition to determine if the group should be rendered\n}\n\n// Props for the container component that will render the list of action groups\ninterface ActionsListProps {\n actionGroups: ActionGroup[];\n}\n\nexport const ActionsGroup: React.FC = ({ actionGroups }) => {\n return (\n <>\n {actionGroups.map(\n (group, index) =>\n group.condition && \n )}\n \n );\n};\n","import { useOnClickOutside } from '@/hooks';\nimport React, { useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\nimport { Check, Expand } from '@/assets';\n\n// Styled components\nconst Label = styled.label`\n cursor: pointer;\n display: flex;\n gap: 4px;\n p {\n color: ${({ theme }) => theme.colors.light_grey};\n &:hover {\n color: ${({ theme }) => theme.colors.white};\n }\n }\n`;\n\nconst Popup = styled.div<{ isOpen: boolean }>`\n display: ${(props: { isOpen: boolean }) => (props.isOpen ? 'block' : 'none')};\n position: absolute;\n right: 0px;\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n z-index: 9999;\n flex-direction: column;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n margin-top: 5px;\n`;\n\nconst PopupItem = styled.div<{ disabled: boolean }>`\n display: flex;\n padding: 7px 12px;\n gap: 4px;\n border-top: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n align-items: center;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'auto')};\n cursor: pointer;\n p {\n cursor: pointer !important;\n }\n\n &:hover {\n background: ${({ theme }) => theme.colors.light_dark};\n }\n`;\n\ninterface Item {\n label: string;\n onClick: () => void;\n id: string;\n selected?: boolean;\n disabled?: boolean;\n}\n\ninterface ActionItemProps {\n label: string;\n subTitle: string;\n items: Item[];\n}\n\nexport const ActionItem: React.FC = ({\n label,\n items,\n subTitle,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const ref = useRef(null);\n useOnClickOutside(ref, () => setIsOpen(false));\n\n return (\n
\n \n \n
\n \n {subTitle}\n \n
\n {items.map((item, index) => (\n \n {item.selected ? :
}\n \n {item.label}\n \n \n ))}\n \n
\n );\n};\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport theme from '@/styles/palette';\nimport { Expand } from '@/assets';\n\ntype PaginationProps = {\n total: number;\n itemsPerPage: number;\n currentPage: number;\n onPageChange: (page: number) => void;\n};\n\nconst PaginationContainer = styled.div`\n display: flex;\n justify-content: center;\n padding: 20px;\n gap: 2px;\n`;\n\nconst PageButton = styled.button<{\n isCurrentPage?: boolean;\n isDisabled?: boolean;\n}>`\n background-color: ${(props) =>\n props.isCurrentPage ? theme.colors.blue_grey : 'transparent'};\n color: ${(props) => (props.isDisabled ? theme.text.grey : theme.text.white)};\n border: none;\n border-radius: 4px;\n padding: 4px 8px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n\n &:disabled {\n cursor: default;\n }\n\n &:hover {\n background-color: ${theme.colors.blue_grey};\n }\n`;\n\nexport const Pagination: React.FC = ({\n total,\n itemsPerPage,\n currentPage,\n onPageChange,\n}) => {\n const pageCount = Math.ceil(total / itemsPerPage);\n\n return (\n \n onPageChange(currentPage - 1)}\n disabled={currentPage === 1}\n isDisabled={currentPage === 1}\n >\n \n Previous\n \n {new Array(pageCount).fill(0).map((_, index) => (\n onPageChange(index + 1)}\n isCurrentPage={currentPage === index + 1}\n >\n {index + 1}\n \n ))}\n onPageChange(currentPage + 1)}\n disabled={currentPage === pageCount}\n isDisabled={currentPage === pageCount}\n >\n Next\n \n \n \n );\n};\n","import theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport React, { useState } from 'react';\nimport { Pagination } from '../pagination';\n\n// Updated TableProps to be generic\ntype TableProps = {\n data: T[];\n renderTableHeader: () => JSX.Element;\n renderTableRows: (item: T, index: number) => JSX.Element;\n renderEmptyResult: () => JSX.Element;\n onPaginate?: (pageNumber: number) => void;\n};\n\nconst StyledTable = styled.table`\n width: 100%;\n background-color: ${theme.colors.dark};\n border: 1px solid ${theme.colors.blue_grey};\n border-radius: 6px;\n border-collapse: separate;\n border-spacing: 0;\n`;\n\nconst StyledTbody = styled.tbody``;\n\n// Applying generic type T to the Table component\nexport const Table = ({\n data,\n onPaginate,\n renderTableRows,\n renderTableHeader,\n renderEmptyResult,\n}: TableProps) => {\n const [currentPage, setCurrentPage] = useState(1);\n const [itemsPerPage, setItemsPerPage] = useState(10);\n\n const indexOfLastItem = currentPage * itemsPerPage;\n const indexOfFirstItem = indexOfLastItem - itemsPerPage;\n const currentItems = data.slice(indexOfFirstItem, indexOfLastItem);\n\n const handlePageChange = (pageNumber: number) => {\n setCurrentPage(pageNumber);\n if (onPaginate) {\n onPaginate(pageNumber);\n }\n };\n\n return (\n <>\n \n {renderTableHeader()}\n \n {currentItems.map((item, index) => renderTableRows(item, index))}\n \n \n\n {data.length === 0 ? (\n renderEmptyResult()\n ) : data.length > 10 ? (\n \n ) : null}\n \n );\n};\n","import React, { useState } from 'react';\nimport YamlEditor from '@focus-reactive/react-yaml';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Copied, Copy } from '@/assets';\n\nconst Container = styled.div`\n position: relative;\n background-color: ${theme.colors.blue_grey};\n border-radius: 8px;\n padding: 4px;\n\n div {\n color: #f5b175;\n }\n .ͼb {\n color: #64a8fd;\n }\n .ͼm {\n color: ${theme.colors.white};\n }\n .ͼd {\n color: #f5b175;\n }\n .ͼc {\n color: #f5b175;\n }\n .cm-gutters {\n display: none;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n }\n`;\n\nconst EditorOverlay = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 10; // Ensure this is higher than the editor's z-index\n`;\n\nconst CopyIconWrapper = styled.div`\n background-color: ${theme.colors.dark};\n z-index: 999;\n border-radius: 4px;\n padding: 4px;\n position: absolute;\n top: 5px;\n right: 5px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: all;\n`;\n\nexport const YMLEditor = ({ data }: { data: any }) => {\n const [isCopied, setIsCopied] = useState(false);\n\n const handleChange = () => {};\n\n const handleCopy = () => {\n navigator.clipboard\n .writeText(JSON.stringify(data, null, 2))\n .then(() => {\n setIsCopied(true);\n setTimeout(() => {\n setIsCopied(false);\n }, 3000);\n })\n .catch((err) => console.error('Error copying YAML to clipboard: ', err));\n };\n return (\n <>\n \n \n {isCopied ? (\n \n ) : (\n \n )}\n \n\n
\n \n \n
\n
\n \n );\n};\n","const sources = [\n {\n name: 'adservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'java',\n },\n ],\n },\n {\n name: 'cartservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'dotnet',\n },\n ],\n },\n {\n name: 'checkoutservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'go',\n },\n ],\n },\n {\n name: 'coupon',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'coupon',\n language: 'javascript',\n },\n ],\n },\n];\n\nconst destinations = [\n {\n id: 'odigos.io.dest.elasticsearch-6qklw',\n name: 'Elasticsearch',\n type: 'elasticsearch',\n signals: {\n traces: true,\n metrics: false,\n logs: true,\n },\n fields: {\n ELASTICSEARCH_CA_PEM:\n '-----BEGIN CERTIFICATE-----\\nMIIDIjCCAgqgAwIBAgIRANR/chGx5YexmqgwbVphZR8wDQYJKoZIhvcNAQELBQAw\\nGzEZMBcGA1UEAxMQZWxhc3RpY3NlYXJjaC1jYTAeFw0yNDAzMDYxMjUwNTFaFw0y\\nNTAzMDYxMjUwNTFaMBsxGTAXBgNVBAMTEGVsYXN0aWNzZWFyY2gtY2EwggEiMA0G\\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQClNK8WB2C2aRC1xPkT9Vx3t2I8D8vE\\nz4/XKi5djhqZx56VclUmnTGwwJSB6t+9eODVGM8HUBeZTw5r5VU3wz5KO34LfX/X\\nDgeZf7jRE4JvNti+ufhYeXhX6yWt2y1lisTy89BMZA1/4r6UBamhDZ9zjC7++hNy\\n21S+mgul4zrjC1fBfjz8O42jjkamNcq3SoQHn9puWPhsOBOc4SowJMFN6YIRf3Vy\\nPvOuG8wP5uCU14dICW7X5M1JqHpcOTW0W7S5JLcVkozrqEQhQ3lc5f4OE0/GYQ5S\\np5sesAUyv9Koiipx3gGvip2+E2Rf2nlLNNMYeFDKyRVmbxkOmIy6PVQdAgMBAAGj\\nYTBfMA4GA1UdDwEB/wQEAwICpDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH\\nAwIwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUUh7RgBmgPOCGeP3hFqoVC689\\nm4kwDQYJKoZIhvcNAQELBQADggEBAJCpewxuRV0s6EftuHI7Q1PJDYImDv54D1GI\\n57nJwdhCZbvJ69m5hjtOAb7ZCerzJQKvN4sEcvcWPMJs15nBNXW+9fF0zN5RjBqU\\nV8HA22bw8h+00lGUiozgG4DmFkd0GG35qjhPe9PyirOumiaSi2aGMUiWtkOgAFE2\\nDKGLleYFdjDbfQjva/ViUJTo6I7b283foWEqkbaa58ju5QOtjpo09GOmyBXeXHoU\\nbLnUqBAALo7FDSdKyMjWRLKSo2rc7jRn98jXzPqRaVuYhEGn+77GnkA5d3ea3fHP\\nIrj44yKh8na1xqPEHEvryj9LnKL+yCpQILj5L+jIHVopTmQWyLQ=\\n-----END CERTIFICATE-----',\n ELASTICSEARCH_PASSWORD: 'Elasticsearch',\n ELASTICSEARCH_URL: 'Elasticsearch',\n ELASTICSEARCH_USERNAME: 'Elasticsearch',\n ES_LOGS_INDEX: 'Elasticsearch',\n ES_TRACES_INDEX: 'Elasticsearch',\n },\n destination_type: {\n type: 'elasticsearch',\n display_name: 'Elasticsearch',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/elasticsearch.svg',\n supported_signals: {\n traces: {\n supported: true,\n },\n metrics: {\n supported: false,\n },\n logs: {\n supported: true,\n },\n },\n },\n },\n {\n id: 'odigos.io.dest.grafanacloudprometheus-2mcbr',\n name: 'Prometheus',\n type: 'grafanacloudprometheus',\n signals: {\n traces: false,\n metrics: true,\n logs: false,\n },\n fields: {\n GRAFANA_CLOUD_PROMETHEUS_PASSWORD: 'Prometheus',\n GRAFANA_CLOUD_PROMETHEUS_RW_ENDPOINT: 'Prometheus',\n GRAFANA_CLOUD_PROMETHEUS_USERNAME: 'Prometheus',\n PROMETHEUS_RESOURCE_ATTRIBUTES_LABELS:\n '[\"k8s.container.name\",\"k8s.pod.name\",\"k8s.namespace.name\",\"Prometheus\"]',\n PROMETHEUS_RESOURCE_EXTERNAL_LABELS: '{\"dsfd\":\"fdsfs\"}',\n },\n destination_type: {\n type: 'grafanacloudprometheus',\n display_name: 'Grafana Cloud Prometheus',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/grafana.svg',\n supported_signals: {\n traces: {\n supported: false,\n },\n metrics: {\n supported: true,\n },\n logs: {\n supported: false,\n },\n },\n },\n },\n {\n id: 'odigos.io.dest.s3-gk7bn',\n name: 'aws',\n type: 's3',\n signals: {\n traces: true,\n metrics: true,\n logs: true,\n },\n fields: {\n S3_BUCKET: 'aws',\n S3_MARSHALER: 'otlp_proto',\n S3_PARTITION: 'minute',\n S3_REGION: 'aws',\n },\n destination_type: {\n type: 's3',\n display_name: 'AWS S3',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/s3.svg',\n supported_signals: {\n traces: {\n supported: true,\n },\n metrics: {\n supported: true,\n },\n logs: {\n supported: true,\n },\n },\n },\n },\n];\n\nconst action = [\n {\n id: 'aci-f6c9f',\n type: 'AddClusterInfo',\n spec: {\n actionName: 'This is tetst test Cluster Attributes',\n notes:\n 'Actions are a way to modify the OpenTelemetry data recorded by Odigos Sources, before it is exported to your Odigos Destinations.',\n signals: ['METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'Attributes',\n attributeStringValue: 'Attributes',\n },\n ],\n },\n },\n {\n id: 'aci-hfgcb',\n type: 'DeleteAttribute',\n spec: {\n actionName: 'Link',\n notes: 'Link to docs',\n signals: ['LOGS', 'METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'sadsad',\n attributeStringValue: 'sadsa',\n },\n {\n attributeName: 'asdsa',\n attributeStringValue: 'asdasd',\n },\n ],\n },\n },\n {\n id: 'aci-r67mp',\n type: 'RenameAttribute',\n spec: {\n actionName: 'Initialize Initialize',\n notes: 'This is the initialization phase of the cluster.',\n signals: ['LOGS', 'METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'region',\n attributeStringValue: 'us-east-1',\n },\n {\n attributeName: 'instanceType',\n attributeStringValue: 't2.micro',\n },\n {\n attributeName: 'availabilityZones',\n attributeStringValue: '3',\n },\n ],\n },\n },\n];\n\ninterface Source {\n name: string;\n kind: string;\n namespace: string;\n conditions?: {\n type: string;\n status: string;\n message: string;\n lastTransitionTime: string;\n }[];\n languages: Array<{\n container_name: string;\n language: string;\n }>;\n}\n\ninterface Destination {\n id: string;\n name: string;\n type: string;\n signals: {\n traces: boolean;\n metrics: boolean;\n logs: boolean;\n };\n fields: Record;\n conditions?: {\n type: string;\n status: string;\n message: string;\n lastTransitionTime: string;\n }[];\n destination_type: {\n type: string;\n display_name: string;\n image_url: string;\n supported_signals: {\n traces: {\n supported: boolean;\n };\n metrics: {\n supported: boolean;\n };\n logs: {\n supported: boolean;\n };\n };\n };\n}\n\ninterface Action {\n id: string;\n type: string;\n spec: {\n actionName: string;\n notes: string;\n signals: string[];\n };\n}\n\ninterface FlowNode {\n id: string;\n type: string;\n position: { x: number; y: number };\n data: any;\n}\n\ninterface FlowEdge {\n id: string;\n source: string;\n target: string;\n animated: boolean;\n label?: string;\n style?: Record;\n data?: any;\n}\n\nexport const buildFlowNodesAndEdges = (\n sources: Source[],\n destinations: Destination[],\n actions: Action[]\n): { nodes: FlowNode[]; edges: FlowEdge[] } => {\n let nodes: FlowNode[] = [],\n edges: FlowEdge[] = [];\n const centerNodeId = 'center-1';\n const xOffsetNamespace = 100;\n\n const destinations_length = destinations.length;\n let middle_index;\n\n if (destinations_length % 2 == 1) {\n middle_index = Math.floor(destinations_length / 2);\n } else {\n middle_index = destinations_length / 2 - 1;\n }\n\n // Desired y position for the middle node\n const desired_y_position = 248;\n\n // Calculate destinationyOffset\n const destinationyOffset = desired_y_position - middle_index * 100;\n\n const sources_length = sources.length;\n let middle_index_sources;\n\n if (sources_length % 2 == 1) {\n middle_index_sources = Math.floor(sources_length / 2);\n } else {\n middle_index_sources = sources_length / 2 - 1;\n }\n\n const sourceyOffset = desired_y_position - middle_index_sources * 100;\n\n // Create the center node\n const centerXPossition =\n actions?.length > 0 ? actions?.length * 150 + 400 : 450;\n nodes.push({\n id: centerNodeId,\n type: 'custom',\n position: { x: centerXPossition, y: 248 },\n data: { label: 'Center Node' },\n });\n\n // Create namespace nodes from sources and edges to the center\n sources.forEach((source, index) => {\n let hasError = false;\n if (source?.conditions) {\n hasError = source.conditions.some(\n (condition) => condition.status === 'False'\n );\n }\n const namespaceNodeId = `namespace-${index}`;\n nodes.push({\n id: namespaceNodeId,\n type: 'source',\n position: { x: xOffsetNamespace, y: sourceyOffset + index * 100 },\n data: source,\n });\n edges.push({\n id: `e${namespaceNodeId}-${centerNodeId}`,\n source: namespaceNodeId,\n target: actions?.length > 0 ? `action-0` : centerNodeId,\n animated: true,\n style: { stroke: hasError ? '#ff0000' : '#96f3ff8e' },\n data: null,\n });\n });\n\n // Create destination nodes and edges from the center\n destinations.forEach((destination, index) => {\n let isErrored = false;\n if (destination?.conditions) {\n isErrored = destination.conditions.some(\n (condition) => condition.status === 'False'\n );\n }\n const destinationNodeId = `destination-${index}`;\n nodes.push({\n id: destinationNodeId,\n type: 'destination',\n position: {\n x: centerXPossition + 400,\n y: destinationyOffset + index * 100,\n },\n data: destination,\n });\n edges.push({\n id: `e${centerNodeId}-${destinationNodeId}`,\n source: centerNodeId,\n target: destinationNodeId,\n animated: true,\n style: { stroke: isErrored ? '#ff0000' : '#96f3ff8e' },\n data: null,\n });\n });\n\n // Create action nodes and edges from the center\n actions.forEach((action, index) => {\n const actionNodeId = `action-${index}`;\n const nextActionNodeId = `action-${index + 1}`;\n nodes.push({\n id: actionNodeId,\n type: 'action',\n position: { x: 420 + index * 125, y: 250 },\n data: action,\n });\n edges.push({\n id: `e${centerNodeId}-${actionNodeId}`,\n source: actionNodeId,\n target: index + 1 === actions.length ? centerNodeId : nextActionNodeId,\n animated: true,\n style: { stroke: '#96f3ff8e' },\n data: null,\n });\n });\n\n return { nodes, edges };\n};\n\n// Example usage with typed data\nexport const { nodes, edges } = buildFlowNodesAndEdges(\n sources,\n destinations,\n action\n);\n"]} \ No newline at end of file diff --git a/dist/index.mjs b/dist/index.mjs index 69dac81..77a1639 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -3138,6 +3138,12 @@ var buildFlowNodesAndEdges = (sources2, destinations2, actions) => { data: { label: "Center Node" } }); sources2.forEach((source, index) => { + let hasError = false; + if (source?.conditions) { + hasError = source.conditions.some( + (condition) => condition.status === "False" + ); + } const namespaceNodeId = `namespace-${index}`; nodes2.push({ id: namespaceNodeId, @@ -3150,11 +3156,17 @@ var buildFlowNodesAndEdges = (sources2, destinations2, actions) => { source: namespaceNodeId, target: actions?.length > 0 ? `action-0` : centerNodeId, animated: true, - style: { stroke: "#96f3ff8e" }, + style: { stroke: hasError ? "#ff0000" : "#96f3ff8e" }, data: null }); }); destinations2.forEach((destination, index) => { + let isErrored = false; + if (destination?.conditions) { + isErrored = destination.conditions.some( + (condition) => condition.status === "False" + ); + } const destinationNodeId = `destination-${index}`; nodes2.push({ id: destinationNodeId, @@ -3170,7 +3182,7 @@ var buildFlowNodesAndEdges = (sources2, destinations2, actions) => { source: centerNodeId, target: destinationNodeId, animated: true, - style: { stroke: "#96f3ff8e" }, + style: { stroke: isErrored ? "#ff0000" : "#96f3ff8e" }, data: null }); }); diff --git a/dist/index.mjs.map b/dist/index.mjs.map index d4675e7..3588261 100644 --- a/dist/index.mjs.map +++ b/dist/index.mjs.map @@ -1 +1 @@ -{"version":3,"sources":["../src/design.system/radio/radio.tsx","../src/design.system/radio/radio.styled.tsx","../src/design.system/text/text.tsx","../src/design.system/text/text.styled.tsx","../src/assets/icons/checked-radio.svg","../src/design.system/button/button.tsx","../src/design.system/button/button.styled.tsx","../src/design.system/float.box/float.box.tsx","../src/design.system/code.block/code.block.tsx","../src/assets/icons/copy.svg","../src/assets/icons/copied.svg","../src/assets/icons/folders.svg","../src/assets/icons/trash.svg","../src/assets/icons/check.svg","../src/assets/icons/expand-arrow.svg","../src/assets/icons/actions/cluster-attr.svg","../src/assets/icons/actions/delete-attr.svg","../src/assets/icons/actions/rename-attr.svg","../src/assets/icons/actions/index.ts","../src/assets/icons/languages/index.ts","../src/hooks/useOnClickOutside.tsx","../src/hooks/useCopyToClipboard.tsx","../src/styles/palette.tsx","../src/design.system/card/card.tsx","../src/design.system/card/card.styled.tsx","../src/design.system/tag/tag.tsx","../src/design.system/tap/tap.tsx","../src/design.system/drop.down/drop.down.tsx","../src/design.system/drop.down/drop.down.styled.tsx","../src/design.system/search.input/search.input.tsx","../src/design.system/search.input/search.input.styled.tsx","../src/assets/icons/glass.svg","../src/assets/icons/X.svg","../src/assets/icons/question.svg","../src/design.system/tooltip/index.tsx","../src/design.system/switch/switch.tsx","../src/design.system/switch/switch.styled.tsx","../src/design.system/checkbox/checkbox.tsx","../src/design.system/checkbox/checkbox.styled.tsx","../src/assets/icons/checkbox-rect.svg","../src/design.system/selected.counter/selected.counter.tsx","../src/design.system/selected.counter/selected.counter.styled.tsx","../src/design.system/link/link.tsx","../src/design.system/image/image.tsx","../src/design.system/input/input.tsx","../src/design.system/input/input.styled.tsx","../src/assets/icons/eye-open.svg","../src/assets/icons/eye-close.svg","../src/design.system/input/action.input.tsx","../src/design.system/video/video.tsx","../src/assets/icons/close.svg","../src/assets/icons/player.svg","../src/design.system/video/video.styled.tsx","../src/design.system/loader/loader.tsx","../src/design.system/loader/loader.styled.tsx","../src/design.system/notification/notification.tsx","../src/design.system/notification/notification.styled.tsx","../src/assets/icons/X-blue.svg","../src/assets/icons/success-notification.svg","../src/assets/icons/error-notification.svg","../src/design.system/data.flow/index.tsx","../src/design.system/data.flow/action.node.tsx","../src/design.system/data.flow/keyval.middleware.tsx","../src/design.system/data.flow/namespace.node.tsx","../src/assets/icons/overview/middleware.svg","../src/assets/icons/overview/folder.svg","../src/design.system/data.flow/destination.node.tsx","../src/assets/icons/logs-grey.svg","../src/assets/icons/logs-blue.svg","../src/assets/icons/chart-line-grey.svg","../src/assets/icons/chart-line-blue.svg","../src/assets/icons/tree-structure-grey.svg","../src/assets/icons/tree-structure-blue.svg","../src/design.system/data.flow/monitors.tsx","../src/design.system/data.flow/source.node.tsx","../src/design.system/data.flow/data.flow.styled.tsx","../src/design.system/data.flow/control.panel.tsx","../src/design.system/danger.zone/danger.zone.tsx","../src/design.system/modal/modal.tsx","../src/design.system/modal/portal.modal.tsx","../src/design.system/modal/modal.styled.tsx","../src/assets/icons/close-modal.svg","../src/design.system/theme.provider/theme.provider.tsx","../src/design.system/theme.provider/registry.tsx","../src/design.system/steps/steps.tsx","../src/design.system/steps/step.item.tsx","../src/design.system/steps/steps.styled.tsx","../src/assets/icons/checked.svg","../src/design.system/divider/divider.tsx","../src/design.system/note/note.tsx","../src/design.system/segmented-controls/index.tsx","../src/design.system/multi-input/index.tsx","../src/design.system/key-value-input/index.tsx","../src/design.system/text.area/index.tsx","../src/design.system/multi-input/multi.input.table.tsx","../src/design.system/action.group/index.tsx","../src/design.system/action.item/index.tsx","../src/design.system/pagination/index.tsx","../src/design.system/table/index.tsx","../src/design.system/yml.editor/index.tsx","../src/design.system/data.flow/builder.ts"],"sourcesContent":["import React, { useState, FC, ChangeEvent } from 'react';\nimport { RadioButtonContainer, RadioButtonBorder } from './radio.styled';\nimport { Text } from '@/design.system/text/text';\nimport Checked from '../../assets/icons/checked-radio.svg';\ninterface RadioButtonProps {\n label?: string;\n value?: string | boolean;\n size?: number;\n textStyles?: React.CSSProperties;\n onChange?: (event: ChangeEvent) => void;\n}\n\nexport const RadioButton: FC = ({\n label = '',\n onChange,\n value,\n size = 25,\n textStyles = {},\n}) => {\n function handleChange() {\n onChange && onChange({} as ChangeEvent);\n }\n\n return (\n \n \n {value ? (\n \n ) : (\n \n )}\n
\n {label}\n \n );\n};\n","import styled from 'styled-components';\n\nexport const RadioButtonContainer = styled.label`\n height: 24px;\n color: #303030;\n font-size: 14px;\n font-weight: 400;\n margin-right: 7px;\n -webkit-tap-highlight-color: transparent;\n display: flex;\n align-items: center;\n\n gap: 10px;\n cursor: pointer;\n`;\n\nexport const RadioButtonBorder = styled.span`\n cursor: pointer;\n width: 23px;\n height: 23px;\n border: ${({ theme }) => `solid 2px ${theme.colors.light_grey}`};\n border-radius: 50%;\n display: inline-block;\n position: relative;\n`;\n","import React from 'react';\nimport { TextWrapper } from './text.styled';\n\ntype TextProps = {\n type?: string | any;\n value?: string;\n style?: object;\n children?: string | any;\n weight?: string | number;\n color?: string;\n size?: number;\n};\n\nexport function Text({ children, color, style, weight, size }: TextProps) {\n return (\n \n {children}\n \n );\n}\n","import styled from \"styled-components\";\n\nexport const TextWrapper = styled.p`\n color: ${({ theme }) => theme.text.white};\n margin: 0;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-size: 16px;\n font-weight: 400;\n`;\n","import * as React from \"react\";\nconst SvgCheckedRadio = props => ;\nexport default SvgCheckedRadio;","import React, { ButtonHTMLAttributes, FC } from 'react';\nimport { StyledButton, ButtonContainer } from './button.styled';\n\ninterface ButtonProps extends ButtonHTMLAttributes {\n // Additional custom props if needed\n variant?: string;\n style?: object;\n}\n\nexport const Button: FC = ({\n variant = 'primary',\n children,\n style,\n disabled,\n type = 'button',\n ...rest\n}) => {\n return (\n \n \n {children}\n \n \n );\n};\n","import styled from 'styled-components';\n\ninterface ButtonProps {\n variant?: string;\n disabled?: boolean;\n}\n\nexport const ButtonContainer = styled.div`\n :hover {\n background: ${({ theme, disabled, variant }) =>\n disabled\n ? theme.colors.blue_grey\n : variant === 'primary'\n ? theme.colors.torquiz_light\n : 'transparent'};\n }\n p {\n cursor: ${({ disabled }) =>\n disabled ? 'not-allowed !important' : 'pointer !important'};\n }\n`;\n\nexport const StyledButton = styled.button`\n display: flex;\n padding: 8px 16px;\n align-items: center;\n border-radius: 8px;\n border: none;\n width: 100%;\n height: 100%;\n border: 1px solid\n ${({ theme, variant }) =>\n variant === 'primary' ? 'transparent' : theme.colors.secondary};\n cursor: ${({ disabled }) =>\n disabled ? 'not-allowed !important' : 'pointer !important'};\n background: ${({ theme, disabled, variant }) =>\n disabled\n ? variant === 'primary'\n ? theme.colors.blue_grey\n : 'transparent'\n : variant === 'primary'\n ? theme.colors.secondary\n : 'transparent'};\n justify-content: center;\n align-items: center;\n opacity: ${({ disabled, variant }) =>\n variant !== 'primary' && disabled ? 0.5 : 1};\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\ntype FloatBoxProps = {\n style?: object;\n children: any;\n};\n\nconst FloatBoxBorder = styled.div`\n background: radial-gradient(\n circle at 100% 100%,\n #ffffff 0,\n #ffffff 3px,\n transparent 3px\n )\n 0% 0%/8px 8px no-repeat,\n radial-gradient(circle at 0 100%, #ffffff 0, #ffffff 3px, transparent 3px)\n 100% 0%/8px 8px no-repeat,\n radial-gradient(circle at 100% 0, #ffffff 0, #ffffff 3px, transparent 3px)\n 0% 100%/8px 8px no-repeat,\n radial-gradient(circle at 0 0, #ffffff 0, #ffffff 3px, transparent 3px) 100%\n 100%/8px 8px no-repeat,\n linear-gradient(#ffffff, #ffffff) 50% 50% / calc(100% - 10px)\n calc(100% - 16px) no-repeat,\n linear-gradient(#ffffff, #ffffff) 50% 50% / calc(100% - 16px)\n calc(100% - 10px) no-repeat,\n linear-gradient(0deg, transparent 0%, #0ee6f3 100%),\n radial-gradient(\n 78.09% 72.18% at 100% -0%,\n rgba(150, 242, 255, 0.4) 0%,\n rgba(150, 242, 255, 0) 61.91%\n ),\n linear-gradient(180deg, #2e4c55 0%, #303355 100%);\n border-radius: 8px;\n padding: 1px;\n width: 32px;\n height: 32px;\n`;\n\nconst FloatBoxWrapper = styled.div`\n width: 32px;\n height: 32px;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n background: radial-gradient(\n 78.09% 72.18% at 100% -0%,\n rgba(150, 242, 255, 0.4) 0%,\n rgba(150, 242, 255, 0) 61.91%\n ),\n linear-gradient(180deg, #2e4c55 0%, #303355 100%);\n`;\n\nexport function FloatBox({ children, style = {} }: FloatBoxProps) {\n return (\n \n {children}\n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { Copied, Copy } from '@/assets/icons';\nimport { styled } from 'styled-components';\nimport { Text } from '..';\nimport { useCopyToClipboard } from '@/hooks';\nimport theme from '@/styles/palette';\n\ninterface CodeProps {\n text: string;\n title?: string;\n highlightedWord?: {\n primary: {\n words: string[];\n color: string;\n };\n secondary?: {\n words: string[];\n color: string;\n };\n };\n onCopy?: () => void;\n}\n\nconst CodeBlockContainer = styled.div`\n border-radius: 12px;\n width: 100%;\n border: ${({ theme }) => `1px solid ${theme.colors.dark_blue}`};\n background: ${({ theme }) => theme.colors.dark};\n padding: 16px;\n text-align: start;\n gap: 10px;\n position: relative;\n`;\n\nconst TextWrapper = styled.p`\n font-family: 'IBM Plex Mono', monospace;\n width: 90%;\n`;\n\nconst CopyIconWrapper = styled.span`\n position: absolute;\n right: 16px;\n top: 16px;\n cursor: pointer;\n`;\n\nconst ComponentWrapper = styled.div`\n display: flex;\n flex-direction: column;\n text-align: start;\n gap: 6px;\n width: 100%;\n`;\n\nexport function Code({ text, highlightedWord, title, onCopy }: CodeProps) {\n const [primaryWords, setPrimaryWords] = useState>(\n new Map()\n );\n const [secondaryWords, setSecondaryWords] = useState>(\n new Map()\n );\n\n const { copyToClipboard, clipboardState } = useCopyToClipboard();\n\n useEffect(onload, [highlightedWord]);\n\n function onload() {\n if (highlightedWord) {\n highlightedWord.primary && handleSetPrimaryWords();\n highlightedWord.secondary && handleSetSecondaryWords();\n }\n }\n\n function handleSetPrimaryWords() {\n const primaryWordsMap = new Map();\n highlightedWord?.primary.words.forEach((word) => {\n primaryWordsMap.set(word, word);\n });\n setPrimaryWords(primaryWordsMap);\n }\n\n function handleSetSecondaryWords() {\n const secondaryWordsMap = new Map();\n highlightedWord?.secondary?.words.forEach((word) => {\n secondaryWordsMap.set(word, word);\n });\n setSecondaryWords(secondaryWordsMap);\n }\n\n function getWordColor(word: string) {\n if (primaryWords.has(word)) {\n return highlightedWord?.primary.color;\n }\n if (secondaryWords.has(word)) {\n return highlightedWord?.secondary?.color;\n }\n return theme.colors.white;\n }\n\n function handleCopy() {\n copyToClipboard(text);\n onCopy && onCopy();\n }\n\n return (\n \n {title && {title}}\n \n \n {!clipboardState ? (\n \n ) : (\n \n )}\n \n \n {text.split(' ').map((part, index) => (\n \n {`${part} `}\n \n ))}\n \n \n \n );\n}\n","import * as React from \"react\";\nconst SvgCopy = props => ;\nexport default SvgCopy;","import * as React from \"react\";\nconst SvgCopied = props => ;\nexport default SvgCopied;","import * as React from \"react\";\nconst SvgFolders = props => ;\nexport default SvgFolders;","import * as React from \"react\";\nconst SvgTrash = props => ;\nexport default SvgTrash;","import * as React from \"react\";\nconst SvgCheck = props => ;\nexport default SvgCheck;","import * as React from \"react\";\nconst SvgExpandArrow = props => ;\nexport default SvgExpandArrow;","import * as React from \"react\";\nconst SvgClusterAttr = props => ;\nexport default SvgClusterAttr;","import * as React from \"react\";\nconst SvgDeleteAttr = props => ;\nexport default SvgDeleteAttr;","import * as React from \"react\";\nconst SvgRenameAttr = props => ;\nexport default SvgRenameAttr;","import AddClusterInfo from './cluster-attr.svg';\nimport DeleteAttribute from './delete-attr.svg';\nimport RenameAttribute from './rename-attr.svg';\n// Define the type for the ACTION_ICONS object\ninterface ActionIcons {\n [key: string]: any;\n}\n\n// Define the ACTION_ICONS with explicit types\nexport const ACTION_ICONS: ActionIcons = {\n AddClusterInfo: AddClusterInfo,\n RenameAttribute: RenameAttribute,\n DeleteAttribute: DeleteAttribute,\n};\n","const BASE_URL = 'https://d1n7d4xz7fr8b4.cloudfront.net/';\n\nexport const LANGUAGES_LOGOS = {\n java: `${BASE_URL}java.png`,\n go: `${BASE_URL}go.png`,\n javascript: `${BASE_URL}nodejs.png`,\n python: `${BASE_URL}python.png`,\n dotnet: `${BASE_URL}dotnet.png`,\n default: `${BASE_URL}default.png`,\n mysql: `${BASE_URL}mysql.png`,\n unknown: `${BASE_URL}default.svg`, // TODO: good icon\n processing: `${BASE_URL}default.svg`, // TODO: good icon\n 'no containers': `${BASE_URL}default.svg`, // TODO: good icon\n};\n\nexport const LANGUAGES_COLORS = {\n java: '#B07219',\n go: '#00ADD8',\n javascript: '#F7DF1E',\n python: '#306998',\n dotnet: '#512BD4',\n mysql: '#00758F',\n};\n","import { useEffect, RefObject } from \"react\";\n\ntype Event = MouseEvent | TouchEvent;\n\nexport function useOnClickOutside(\n ref: RefObject,\n handler: (event: Event) => void\n) {\n useEffect(() => {\n const listener = (event: Event) => {\n const el = ref?.current;\n if (el?.contains(event?.target as Node)) return null;\n\n // Call the handler only if the click is outside of the element passed.\n handler(event);\n };\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [ref, handler]);\n}\n","import { useEffect, useState } from 'react';\n\nexport function useCopyToClipboard() {\n const [clipboardState, setClipboardState] = useState(false);\n\n async function copyToClipboard(text: string) {\n if (navigator.clipboard) {\n try {\n await navigator.clipboard.writeText(text);\n setClipboardState(true);\n } catch (error) {\n setClipboardState(false);\n }\n } else {\n setClipboardState(false);\n }\n }\n\n return { clipboardState, copyToClipboard };\n}\n","import { DefaultTheme } from 'styled-components';\n\n// Define your color palette\nconst colors = {\n primary: '#07111A',\n secondary: '#0EE6F3',\n torquiz_light: '#96F2FF',\n dark: '#07111A',\n data_flow_bg: '#0E1C28',\n light_dark: '#132330',\n dark_blue: '#203548',\n light_grey: '#CCD0D2',\n blue_grey: '#374A5B',\n white: '#fff',\n error: '#FD3F3F',\n traces: '#4CAF50',\n logs: '#8B4513',\n metrics: '#FFD700',\n};\n\nconst text = {\n primary: '#07111A',\n secondary: '#0EE6F3',\n white: '#fff',\n light_grey: '#CCD0D2',\n grey: '#8b92a5',\n dark_button: '#0A1824',\n};\n\nconst font_family = {\n primary: 'Inter',\n};\n\n// Define the theme interface\ninterface ThemeInterface extends DefaultTheme {\n colors: typeof colors;\n text: typeof text;\n font_family: typeof font_family;\n}\n\n// Create your theme object\nconst theme: ThemeInterface = {\n colors,\n text,\n font_family,\n};\n\n// Export the theme\nexport default theme;\n","'use client';\nimport React from 'react';\nimport { CardContainer, CardHeader } from './card.styled';\nimport { Text } from '../text/text';\n\ninterface CardProps {\n children?: JSX.Element | JSX.Element[];\n focus?: any;\n type?: string;\n header?: {\n title?: string;\n subtitle?: string;\n body?: () => JSX.Element | JSX.Element[];\n };\n}\n\nexport function Card({\n children,\n focus = false,\n type = 'primary',\n header,\n}: CardProps) {\n function renderHeader() {\n if (header?.body) {\n return header?.body();\n }\n return (\n <>\n \n {header?.title}\n \n \n {header?.subtitle}\n \n \n );\n }\n\n return (\n \n {header && {renderHeader()}}\n {children}\n \n );\n}\n","import styled from 'styled-components';\n\ninterface CardContainerProps {\n selected?: any;\n type?: string;\n}\n\nexport const CardContainer = styled.div`\n display: inline-flex;\n position: relative;\n height: fit-content;\n flex-direction: column;\n border-radius: 24px;\n height: 100%;\n border: ${({ selected, theme, type }) =>\n `1px solid ${\n selected\n ? theme.colors.secondary\n : type === 'primary'\n ? theme.colors.dark_blue\n : '#374a5b'\n }`};\n background: ${({ theme, type }) =>\n type === 'primary' ? theme.colors.dark : '#0E1C28'};\n box-shadow: ${({ type }) =>\n type === 'primary'\n ? 'none'\n : '0px -6px 16px 0px rgba(0, 0, 0, 0.25),4px 4px 16px 0px rgba(71, 231, 241, 0.05),-4px 4px 16px 0px rgba(71, 231, 241, 0.05)'};\n`;\n\nexport const CardHeader = styled(CardContainer)`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: fit-content;\n gap: 16px;\n padding: 24px 0px;\n box-shadow: none;\n`;\n","import { Text } from '@/design.system/text/text';\nimport React from 'react';\nimport styled from 'styled-components';\n\ninterface TagProps {\n title: string;\n color?: string;\n}\n\nconst TagWrapper = styled.div`\n display: flex;\n padding: 4px 8px;\n align-items: flex-start;\n gap: 10px;\n border-radius: 10px;\n width: fit-content;\n`;\n\nexport function Tag({ title = '', color = '#033869' }: TagProps) {\n return (\n \n \n {title}\n \n \n );\n}\n","import { Text } from '@/design.system/text/text';\nimport React from 'react';\nimport styled from 'styled-components';\n\ninterface TapProps {\n icons: object;\n title?: string;\n tapped?: boolean;\n onClick?: any;\n children?: React.ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface TapWrapperProps {\n selected?: any;\n}\n\nconst TapWrapper = styled.div`\n display: flex;\n padding: 8px 14px;\n align-items: flex-end;\n gap: 10px;\n border-radius: 16px;\n border: ${({ theme, selected }) =>\n `1px solid ${selected ? 'transparent' : theme.colors.dark_blue}`};\n background: ${({ theme, selected }) =>\n selected ? theme.colors.dark_blue : 'transparent'};\n`;\n\nexport function Tap({\n title = '',\n tapped,\n children,\n style,\n onClick,\n}: TapProps) {\n return (\n \n {children}\n \n {title}\n \n \n );\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport Open from '@/assets/icons/expand-arrow.svg';\nimport {\n DropdownHeader,\n DropdownWrapper,\n DropdownBody,\n DropdownItem,\n DropdownListWrapper,\n LabelWrapper,\n} from './drop.down.styled';\nimport { Text } from '../text/text';\nimport { SearchInput } from '../search.input/search.input';\nimport { useOnClickOutside } from '@/hooks';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n\ninterface DropDownItem {\n id: number | string;\n label: string;\n}\ninterface DropDownProps {\n data: DropDownItem[];\n onChange: (item: DropDownItem) => void;\n width?: number;\n value?: DropDownItem | null;\n label?: string;\n tooltip?: string;\n required?: boolean;\n}\n\nconst SELECTED_ITEM = 'Select item';\nconst CONTAINER_STYLE = {\n width: '90%',\n border: 'none',\n background: 'transparent',\n};\nconst SEARCH_INPUT_STYLE = { background: 'transparent' };\n\nexport function DropDown({\n data = [],\n onChange,\n width = 260,\n value,\n label,\n tooltip,\n required,\n}: DropDownProps) {\n const [isOpen, setOpen] = useState(false);\n const [selectedItem, setSelectedItem] = useState(value || null);\n const [isHover, setHover] = useState(false);\n const [searchFilter, setSearchFilter] = useState('');\n\n const containerRef = useRef(null);\n\n useEffect(() => {\n value && setSelectedItem(value);\n }, [value]);\n\n useOnClickOutside(containerRef, () => setOpen(false));\n\n const toggleDropdown = () => setOpen(!isOpen);\n\n const handleItemClick = (item: DropDownItem) => {\n onChange(item);\n setSelectedItem(item);\n setSearchFilter('');\n setOpen(false);\n };\n\n function getDropdownList() {\n return searchFilter\n ? data?.filter((item: any) =>\n item?.label.toLowerCase().includes(searchFilter.toLowerCase())\n )\n : data;\n }\n\n return (\n <>\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n
\n setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={toggleDropdown}\n >\n \n {selectedItem ? selectedItem.label : SELECTED_ITEM}\n \n \n \n {isOpen && (\n \n setSearchFilter(e.target.value)}\n placeholder=\"Search\"\n containerStyle={CONTAINER_STYLE}\n inputStyle={SEARCH_INPUT_STYLE}\n showClear={false}\n />\n \n {getDropdownList().map((item) => (\n handleItemClick(item)}\n >\n {item.label}\n \n ))}\n \n \n )}\n
\n \n );\n}\n","import styled from 'styled-components';\n\ninterface DropdownWrapperProps {\n selected?: any;\n}\n\nexport const DropdownWrapper = styled.div`\n position: relative;\n z-index: 999;\n width: 100%;\n padding: 11px 4px;\n border-radius: 8px;\n cursor: pointer;\n border: ${({ selected, theme }) =>\n `1px solid ${selected ? theme.colors.white : theme.colors.blue_grey}`};\n /* background: ${({ theme }) => theme.colors.dark}; */\n\n .dropdown-arrow {\n transform: rotate(0deg);\n transition: all 0.2s ease-in-out;\n }\n\n .dropdown-arrow.open {\n transform: rotate(180deg);\n }\n`;\n\nexport const DropdownHeader = styled.div`\n padding: 0 12px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: ${({ theme }) => theme.text.white};\n font-size: 14px;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-weight: 400;\n`;\n\nexport const DropdownBody = styled.div`\n position: relative;\n z-index: 1000;\n display: flex;\n width: 100%;\n padding: 11px 4px;\n flex-direction: column;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n margin-top: 5px;\n`;\n\nexport const DropdownListWrapper = styled.div`\n position: relative;\n\n z-index: 1000;\n width: 100%;\n max-height: 270px;\n overflow-y: scroll;\n scrollbar-width: none;\n :hover {\n background: ${({ theme }) => theme.colors.dark_blue};\n }\n`;\n\nexport const DropdownItem = styled.div`\n display: flex;\n padding: 7px 12px;\n justify-content: space-between;\n align-items: center;\n border-radius: 8px;\n cursor: pointer;\n p {\n cursor: pointer !important;\n }\n`;\nexport const LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n","import React from 'react';\nimport { SearchInputWrapper, StyledSearchInput } from './search.input.styled';\nimport Glass from '@/assets/icons/glass.svg';\nimport X from '@/assets/icons/X.svg';\n\ninterface SearchInputProps {\n placeholder?: string;\n value?: string;\n onChange?: (e: any) => void;\n loading?: boolean;\n containerStyle?: any;\n inputStyle?: any;\n showClear?: boolean;\n}\n\nexport function SearchInput({\n placeholder = 'Search',\n value = '',\n onChange = () => {},\n loading = false,\n containerStyle = {},\n inputStyle = {},\n showClear = true,\n}: SearchInputProps) {\n const clear = value\n ? () =>\n onChange({\n target: {\n value: '',\n },\n })\n : () => {};\n\n return (\n \n \n \n\n {showClear && (\n
\n {' '}\n \n
\n )}\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface ActiveProps {\n active?: any;\n}\n\nexport const SearchInputWrapper = styled.div`\n position: relative;\n display: flex;\n width: 340px;\n padding: 9px 13px;\n gap: 10px;\n border-radius: 8px;\n border: ${({ active, theme }) =>\n `1px solid ${active ? theme.colors.white : theme.colors.blue_grey}`};\n background: ${({ active, theme }) =>\n `${active ? theme.colors.dark : theme.colors.light_dark}`};\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.colors.white}`};\n }\n`;\n\nexport const StyledSearchInput = styled.input`\n width: 85%;\n background: ${({ active, theme }) =>\n `${active ? theme.colors.dark : \"transparent\"}`};\n border: none;\n outline: none;\n color: ${({ active, theme }) =>\n `${active ? theme.colors.white : theme.text.grey}`};\n font-size: 14px;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-weight: 400;\n &:focus {\n color: ${({ theme }) => `solid 1px ${theme.colors.white}`};\n }\n`;\n","import * as React from \"react\";\nconst SvgGlass = props => ;\nexport default SvgGlass;","import * as React from \"react\";\nconst SvgX = props => ;\nexport default SvgX;","import * as React from \"react\";\nconst SvgQuestion = props => ;\nexport default SvgQuestion;","import Question from '@/assets/icons/question.svg';\nimport React, { useState, ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\n\n// Styled tooltip container\nconst TooltipContainer = styled.div`\n display: inline-flex;\n align-items: center; // Align children and icon vertically\n position: relative;\n`;\n\n// Styled icon (using a simple div here, but you can replace it with an actual icon component)\nconst Icon = styled.div`\n margin-left: 8px;\n display: flex;\n align-items: center;\n`;\n\n// Styled tooltip text\nconst TooltipText = styled.div<{ isVisible: boolean }>`\n visibility: ${({ isVisible }) => (isVisible ? 'visible' : 'hidden')};\n background-color: black;\n color: white;\n text-align: center;\n border-radius: 6px;\n padding: 5px 10px;\n max-width: 300px;\n width: 100%;\n text-align: left;\n /* Position the tooltip above the icon */\n position: absolute;\n z-index: 1;\n bottom: 100%;\n left: 50%;\n transform: translateX(-0%);\n margin-bottom: 5px; // Space between the tooltip and the icon\n\n /* Fade in animation */\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n transition: opacity 0.3s;\n`;\n\ninterface TooltipProps {\n children: ReactNode;\n text: string;\n icon?: ReactNode;\n showIcon?: boolean;\n}\n\nexport const Tooltip: React.FC = ({\n children,\n text,\n icon = '?',\n showIcon = true,\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n\n const showTooltip = () => setIsVisible(true);\n const hideTooltip = () => setIsVisible(false);\n\n if (!text) return <>{children};\n\n return (\n \n {children}\n \n \n {text}\n \n \n {showIcon && (\n \n \n \n )}\n \n );\n};\n","import React from \"react\";\nimport { Text } from \"../text/text\";\nimport {\n SwitchButtonWrapper,\n SwitchInputWrapper,\n SwitchToggleWrapper,\n} from \"./switch.styled\";\n\ninterface SwitchProps {\n toggle: boolean;\n handleToggleChange: () => void;\n style?: object;\n label?: string;\n}\n\nexport function Switch({\n toggle,\n handleToggleChange,\n style,\n label = \"Select All\",\n}: SwitchProps) {\n return (\n \n \n \n \n {label && {label}}\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface SwitchToggleWrapperProps {\n active?: any;\n}\n\ninterface SwitchToggleBtnProps {\n disabled: boolean | undefined;\n}\n\nexport const SwitchInputWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\nexport const SwitchToggleWrapper = styled.div`\n position: relative;\n width: 30px;\n height: 16px;\n background-color: ${({ active, theme }) =>\n active ? theme.colors.secondary : theme.text.grey};\n cursor: pointer;\n user-select: none;\n border-radius: 20px;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const SwitchButtonWrapper = styled.span`\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n width: 14px;\n height: 14px;\n cursor: pointer;\n color: #fff;\n background-color: ${({ disabled, theme }) =>\n !disabled ? theme.text.light_grey : theme.text.white};\n box-shadow: 0 2px 4px rgb(0, 0, 0, 0.25);\n border-radius: 100%;\n position: absolute;\n transition: all 0.2s ease;\n left: ${({ disabled }) => (!disabled ? 2 : 18)}px;\n`;\n","import React from 'react';\nimport { Text } from '../text/text';\nimport { CheckboxWrapper, CheckboxItem } from './checkbox.styled';\nimport Checked from '../../assets/icons/checkbox-rect.svg';\n\ninterface CheckboxProps {\n value: boolean;\n onChange: () => void;\n label?: string;\n disabled?: boolean;\n}\n\nexport function Checkbox({\n onChange,\n value,\n label = '',\n disabled = false,\n}: CheckboxProps) {\n return (\n \n {value ? : }\n {label}\n \n );\n}\n","import { styled } from \"styled-components\";\n\ninterface CheckboxWrapperProps {\n disabled?: boolean;\n}\n\nexport const CheckboxWrapper = styled.div`\n display: flex;\n gap: 8px;\n align-items: center;\n cursor: ${({ disabled }) => (disabled ? \"not-allowed\" : \"pointer\")};\n pointer-events: ${({ disabled }) => (disabled ? \"none\" : \"auto\")};\n opacity: ${({ disabled }) => (disabled ? \"0.5\" : \"1\")};\n`;\n\nexport const CheckboxItem = styled.span`\n width: 16px;\n height: 16px;\n border: ${({ theme }) => `solid 1px ${theme.colors.light_grey}`};\n border-radius: 4px;\n`;\n","import * as React from \"react\";\nconst SvgCheckboxRect = props => ;\nexport default SvgCheckboxRect;","import React from \"react\";\nimport { SelectedCounterWrapper } from \"./selected.counter.styled\";\nimport Checked from \"@/assets/icons/check.svg\";\nimport { Text } from \"../text/text\";\n\ninterface SelectedCounterProps {\n total: number;\n selected: number;\n}\n\nexport function SelectedCounter({ total, selected }: SelectedCounterProps) {\n return (\n \n {selected !== 0 && }\n {`${selected} / ${total}`}\n \n );\n}\n","import styled from \"styled-components\";\n\nexport const SelectedCounterWrapper = styled.div`\n display: flex;\n padding: 4px;\n align-items: center;\n gap: 4px;\n border-radius: 14px;\n background: ${({ theme }) => theme.colors.dark_blue};\n`;\n","import React from 'react';\nimport { Text } from '../text/text';\nimport { styled } from 'styled-components';\nimport theme from '@/styles/palette';\n\ninterface LinkProps {\n value: string;\n onClick?: () => void;\n fontSize?: number;\n color?: string;\n}\n\nconst LinkContainer = styled.div`\n cursor: pointer;\n .p {\n cursor: pointer !important;\n }\n`;\n\nexport function Link({\n value,\n onClick,\n fontSize = 16,\n color = theme.colors.secondary,\n}: LinkProps) {\n return (\n \n \n {value}\n \n \n );\n}\n","import Image from \"next/image\";\nimport React from \"react\";\n\ninterface ImageProps {\n src: string;\n alt?: string;\n width?: number;\n height?: number;\n style?: React.CSSProperties;\n}\n\nconst IMAGE_STYLE: React.CSSProperties = {\n borderRadius: 10,\n};\n\nexport function ImageComponent({\n src,\n alt = \"\",\n width = 56,\n height = 56,\n style = {},\n}: ImageProps) {\n return (\n \n );\n}\n","import React, { ChangeEvent, InputHTMLAttributes, useState } from 'react';\nimport {\n StyledInputContainer,\n StyledInput,\n ErrorWrapper,\n LabelWrapper,\n DisplayIconsWrapper,\n} from './input.styled';\nimport { Text } from '../text/text';\nimport EyeOpenIcon from '@/assets/icons/eye-open.svg';\nimport EyeCloseIcon from '@/assets/icons/eye-close.svg';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n\ninterface InputProps extends Omit, 'onChange'> {\n label?: string;\n onChange: (value: string) => void;\n error?: string;\n style?: React.CSSProperties;\n tooltip?: string;\n}\n\nexport function Input({\n label,\n value,\n onChange,\n type = 'text',\n error = '',\n style = {},\n onKeyDown,\n tooltip,\n required,\n autoComplete = \"off\",\n ...rest\n}: InputProps): JSX.Element {\n const [showPassword, setShowPassword] = useState(false);\n\n function handleChange(event: ChangeEvent): void {\n onChange(event.target.value);\n }\n\n return (\n
\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n {type === 'password' && (\n setShowPassword(!showPassword)}>\n {!showPassword ? (\n \n ) : (\n \n )}\n \n )}\n \n {error && (\n \n \n {error}\n \n \n )}\n
\n );\n}\n","import { styled } from 'styled-components';\n\ninterface ActiveProps {\n active?: any;\n error: boolean | undefined;\n}\n\nexport const StyledInputContainer = styled.div`\n position: relative;\n display: flex;\n width: 100%;\n padding-left: 13px;\n height: 100%;\n min-height: 37px;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme, error, active }) =>\n `1px solid ${\n error\n ? theme.colors.error\n : active\n ? theme.text.grey\n : theme.colors.blue_grey\n }`};\n background: ${({ theme }) => theme.colors.light_dark};\n\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.text.grey}`};\n }\n`;\n\nexport const StyledActionInputContainer = styled.div`\n position: relative;\n display: flex;\n width: 100%;\n padding: 0px 12px;\n height: 100%;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n border-radius: 4px;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n`;\n\nexport const StyledInput = styled.input`\n background: transparent;\n border: none;\n outline: none;\n width: 96%;\n color: ${({ theme }) => theme.text.white};\n`;\n\nexport const StyledActionInput = styled(StyledInput)`\n color: var(--dark-mode-white, #fff);\n font-family: Inter, sans-serif;\n font-size: 24px;\n`;\n\nexport const LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n\nexport const ErrorWrapper = styled.div`\n margin-top: 4px;\n`;\n\nexport const DisplayIconsWrapper = styled.div`\n position: absolute;\n right: 10px;\n cursor: pointer;\n`;\n","import * as React from \"react\";\nconst SvgEyeOpen = props => ;\nexport default SvgEyeOpen;","import * as React from \"react\";\nconst SvgEyeClose = props => ;\nexport default SvgEyeClose;","import React, { ChangeEvent } from 'react';\nimport { StyledActionInputContainer, StyledActionInput } from './input.styled';\nimport { Button } from '../button/button';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\n\ninterface InputProps {\n value: string;\n onAction: () => void;\n onChange: (value: string) => void;\n type?: string;\n style?: React.CSSProperties;\n}\n\nexport function ActionInput({\n value,\n onChange,\n style = {},\n onAction,\n}: InputProps): JSX.Element {\n function handleChange(event: ChangeEvent): void {\n onChange(event.target.value);\n }\n\n return (\n <>\n \n \n\n \n \n \n );\n}\n","import React, { useState } from \"react\";\nimport CloseIcon from \"@/assets/icons/close.svg\";\nimport PlayerIcon from \"@/assets/icons/player.svg\";\nimport { Text } from \"../text/text\";\nimport {\n ImagePreviewWrapper,\n PlayerIconWrapper,\n LargePlayerIconWrapper,\n StyledLargeVideo,\n LargeVideoHeader,\n LargeVideoContainer,\n} from \"./video.styled\";\n\ntype VideoComponentProps = {\n videoSrc: string;\n title?: string;\n thumbnail?: string | undefined;\n};\n\nexport function Video({ videoSrc, title, thumbnail }: VideoComponentProps) {\n const [isLarge, setIsLarge] = useState(false);\n const [pause, setPause] = useState(true);\n\n const handleClick = (): void => {\n setIsLarge(true);\n };\n\n const handleClose = (): void => {\n setIsLarge(false);\n setPause(true);\n };\n\n const renderSmallView = (): JSX.Element => (\n <>\n \n {title}\n \n \n \n \n \n \n \n );\n\n const renderLargeView = (): JSX.Element => (\n \n \n \n {title}\n \n \n \n {!pause ? (\n \n ) : (\n setPause(false)}\n >\n \n \n \n \n )}\n \n );\n\n return
{isLarge ? renderLargeView() : renderSmallView()}
;\n}\n","import * as React from \"react\";\nconst SvgClose = props => ;\nexport default SvgClose;","import * as React from \"react\";\nconst SvgPlayer = props => ;\nexport default SvgPlayer;","import { styled } from \"styled-components\";\n\ninterface ImagePreviewWrapperProps {\n url: string | undefined;\n}\n\nexport const ImagePreviewWrapper = styled.div`\n position: relative;\n margin-top: 8px;\n border-radius: 8px;\n width: 240px;\n height: 140px;\n cursor: pointer;\n background: ${({ url }) => `linear-gradient(\n 0deg,\n rgba(2, 20, 30, 0.2) 0%,\n rgba(2, 20, 30, 0.2) 100%\n ),\n url(${url}),\n lightgray 50%`};\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n`;\n\nexport const PlayerIconWrapper = styled.div`\n position: absolute;\n margin-left: auto;\n margin-right: auto;\n left: 0;\n right: 0;\n top: 30px;\n text-align: center;\n`;\nexport const LargePlayerIconWrapper = styled(PlayerIconWrapper)`\n top: 40%;\n`;\n\nexport const StyledLargeVideo = styled.video`\n width: 980px;\n border-radius: 8px;\n`;\n\nexport const LargeVideoHeader = styled.div`\n width: 980px;\n\n display: flex;\n justify-content: space-between;\n margin-bottom: 21px;\n`;\n\nexport const LargeVideoContainer = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background: rgba(0, 0, 0, 0.65);\n z-index: 9999;\n`;\n","import React from 'react';\nimport { StyledLoader, LoaderWrapper } from './loader.styled';\n\ninterface LoaderProps {\n width?: number;\n height?: number;\n}\n\nexport function Loader({ width, height }: LoaderProps) {\n return (\n \n \n \n );\n}\n","import styled from 'styled-components';\n\nexport const LoaderWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n`;\n\nexport const StyledLoader = styled.div<{\n width?: number | undefined;\n height?: number | undefined;\n}>`\n width: ${({ width }) => width || 48}px;\n height: ${({ height }) => height || 48}px;\n border: 4px solid;\n border-color: ${({ theme }) =>\n `${theme.colors.secondary} ${theme.colors.secondary} ${theme.colors.secondary} transparent`};\n border-radius: 50%;\n animation: spin-anim 1.2s linear infinite;\n\n @keyframes spin-anim {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n","import React, { useEffect } from \"react\";\nimport {\n NotificationContainer,\n StyledNotification,\n} from \"./notification.styled\";\nimport { Text } from \"../text/text\";\nimport CloseIcon from \"@/assets/icons/X-blue.svg\";\nimport SuccessIcon from \"@/assets/icons/success-notification.svg\";\nimport ErrorIcon from \"@/assets/icons/error-notification.svg\";\n\ninterface NotificationProps {\n type: \"success\" | \"error\" | \"warning\" | \"info\";\n message: string;\n onClose?: () => void;\n}\n\nexport function Notification({ type, message, onClose }: NotificationProps) {\n useEffect(() => {\n const id = setTimeout(() => {\n onClose && onClose();\n }, 5000);\n\n return () => {\n clearTimeout(id);\n };\n }, []);\n\n function getIcon() {\n switch (type) {\n case \"success\":\n return ;\n case \"error\":\n return ;\n }\n }\n\n function getNotificationStyle() {\n switch (type) {\n case \"error\":\n return { border: \"1px solid #FD3F3F\" };\n default:\n return {};\n }\n }\n\n return (\n \n \n {getIcon()}\n \n {message}\n \n \n \n \n );\n}\n","import styled from 'styled-components';\n\nexport const NotificationContainer = styled.div`\n position: fixed;\n top: 3%;\n right: 3%;\n`;\n\nexport const StyledNotification = styled.div`\n display: flex;\n padding: 6px 16px 6px 8px;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n background: ${({ theme }) => theme.colors.dark_blue};\n svg {\n cursor: pointer;\n }\n`;\n","import * as React from \"react\";\nconst SvgXBlue = props => ;\nexport default SvgXBlue;","import * as React from \"react\";\nconst SvgSuccessNotification = props => ;\nexport default SvgSuccessNotification;","import * as React from \"react\";\nconst SvgErrorNotification = props => ;\nexport default SvgErrorNotification;","'use client';\nimport React, { useEffect } from 'react';\nimport ReactFlow, {\n Background,\n useReactFlow,\n ReactFlowProvider,\n} from 'reactflow';\nimport { IDataFlow } from './types';\nimport theme from '@/styles/palette';\nimport ActionNode from './action.node.tsx';\nimport CenterNode from './keyval.middleware';\nimport NamespaceNode from './namespace.node.tsx';\nimport DestinationNode from './destination.node.tsx';\nimport SourceNode from './source.node.tsx';\nimport { DataFlowContainer } from './data.flow.styled';\nimport 'reactflow/dist/style.css';\nimport { DataFlowControlPanel } from './control.panel.tsx';\n\nconst backgroundColor = theme.colors.data_flow_bg;\n\nconst nodeTypes = {\n custom: CenterNode,\n namespace: NamespaceNode,\n destination: DestinationNode,\n action: ActionNode,\n source: SourceNode,\n};\n\nfunction DataFlow({ nodes, edges, ...rest }: IDataFlow) {\n const { fitView } = useReactFlow();\n\n useEffect(() => {\n setTimeout(() => {\n fitView();\n }, 100);\n }, [fitView, nodes, edges]);\n\n return (\n \n \n \n \n \n \n );\n}\n\nexport function KeyvalDataFlow(props: IDataFlow) {\n return (\n \n \n \n );\n}\n","import React, { memo } from 'react';\nimport { Handle, Position } from 'reactflow';\nimport styled from 'styled-components';\nimport { Text } from '@/design.system';\nimport { ACTION_ICONS } from '@/assets';\nimport theme from '@/styles/palette';\n\nconst ActionContainer = styled.div`\n display: flex;\n flex-direction: column;\n padding: 8px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n gap: 4px;\n min-width: 80px;\n`;\n\nconst TextWrapper = styled.div`\n max-width: 72px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst SignalIndicator = styled.span<{ backgroundColor: string }>`\n background-color: ${({ backgroundColor }) => backgroundColor};\n width: 8px;\n height: 8px;\n border-radius: 8px;\n`;\n\nconst IconWrapper = styled.div`\n width: 24px;\n height: 24px;\n`;\n\ninterface ActionNodeProps {\n data: {\n type: string;\n spec?: {\n actionName?: string;\n signals: string[];\n };\n };\n isConnectable: boolean;\n}\n\nexport default memo(({ data, isConnectable }: ActionNodeProps) => {\n const ActionIcon = ACTION_ICONS[data.type] ? ACTION_ICONS[data.type] : null;\n\n return (\n \n \n {ActionIcon && (\n \n \n \n )}\n \n \n {data?.spec?.actionName || 'Action'}\n \n \n \n {data.spec?.signals.map((monitor: string) => (\n \n ))}\n \n \n \n );\n});\n","import React from 'react';\nimport { Handle, Position } from 'reactflow';\nimport styled, { keyframes } from 'styled-components';\nconst flickerAnimation = keyframes`\n 0% {\n opacity: 1;\n\n }\n 100% {\n opacity: 0.5;\n }\n`;\n\nconst FlickerWrapper = styled.div`\n width: 120px;\n height: 120px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 60px;\n position: relative;\n z-index: 90;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 60px;\n background: #110c1f55;\n z-index: -1;\n animation: ${flickerAnimation} 1s infinite alternate;\n }\n`;\n\nconst InnerWrapper = styled.div`\n width: 100px;\n height: 100px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50px;\n border: solid 1px #3a3a3a76;\n background: #110c1f7d;\n`;\n\nconst LogoContainer = styled.div`\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 40px;\n border: solid 1px #3a3a3aa9;\n background: #110c1f;\n position: relative;\n z-index: 99;\n`;\n\n// TypeScript Props Interface\ninterface OdigosCenterNodeProps {\n isConnectable: boolean;\n}\n\nconst OdigosCenterNode: React.FC = ({\n isConnectable,\n}) => {\n return (\n \n \n \n {/* \"logo\" */}\n \n \n \n \n \n \n );\n};\n\nexport default OdigosCenterNode;\n","import React, { memo } from 'react';\nimport { Handle, Position } from 'reactflow';\nimport { styled } from 'styled-components';\nimport { Text } from '@/design.system';\nimport { Folder } from '@/assets/icons/overview';\n\nconst NamespaceContainer = styled.div`\n display: flex;\n padding: 16px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n width: 272px;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 10px;\n`;\n\nexport default memo(({ data, isConnectable }: any) => {\n return (\n \n \n \n \n {data?.name}\n \n {data?.totalAppsInstrumented && (\n {`${data.totalAppsInstrumented} Apps Instrumented`}\n )}\n \n \n \n );\n});\n","import * as React from \"react\";\nconst SvgMiddleware = props => ;\nexport default SvgMiddleware;","import * as React from \"react\";\nconst SvgFolder = props => ;\nexport default SvgFolder;","import React from 'react';\nimport theme from '@/styles/palette';\nimport { Text } from '@/design.system';\nimport { styled } from 'styled-components';\nimport { Handle, Position } from 'reactflow';\nimport { MONITORING_OPTIONS } from './monitors';\n\ninterface IconWrapperProps {\n tapped?: boolean | undefined | string;\n}\n\nconst DestinationNodeContainer = styled.div`\n padding: 16px 24px;\n display: flex;\n border-radius: 12px;\n gap: 8px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n justify-content: space-between;\n width: 430px;\n`;\n\nexport const NodeDataWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 8px;\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\n\nconst IMAGE_STYLE: React.CSSProperties = {\n backgroundColor: '#fff',\n padding: 4,\n borderRadius: 10,\n};\n\nconst IconWrapper = styled.div`\n padding: 4px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 100%;\n opacity: ${({ tapped }) => (tapped ? 1 : 0.4)};\n`;\n\nconst MonitorsListWrapper = styled.div`\n display: flex;\n gap: 8px;\n`;\n\nexport default function DestinationNode({ data, isConnectable }: any) {\n function renderMonitors() {\n return MONITORING_OPTIONS.map((monitor) => (\n \n {data?.signals?.[monitor?.type]\n ? monitor.icons.focus()\n : monitor.icons.notFocus()}\n \n ));\n }\n\n return (\n \n \n \n \n {data?.name}\n \n {data?.destination_type?.display_name}\n \n \n \n {renderMonitors()}\n \n \n );\n}\n","import * as React from \"react\";\nconst SvgLogsGrey = props => ;\nexport default SvgLogsGrey;","import * as React from \"react\";\nconst SvgLogsBlue = props => ;\nexport default SvgLogsBlue;","import * as React from \"react\";\nconst SvgChartLineGrey = props => ;\nexport default SvgChartLineGrey;","import * as React from \"react\";\nconst SvgChartLineBlue = props => ;\nexport default SvgChartLineBlue;","import * as React from \"react\";\nconst SvgTreeStructureGrey = props => ;\nexport default SvgTreeStructureGrey;","import * as React from \"react\";\nconst SvgTreeStructureBlue = props => ;\nexport default SvgTreeStructureBlue;","import Logs from '@/assets/icons/logs-grey.svg';\nimport LogsFocus from '@/assets/icons/logs-blue.svg';\nimport Metrics from '@/assets/icons/chart-line-grey.svg';\nimport MetricsFocus from '@/assets/icons/chart-line-blue.svg';\nimport Traces from '@/assets/icons/tree-structure-grey.svg';\nimport TracesFocus from '@/assets/icons/tree-structure-blue.svg';\n\nconst MONITORS = {\n LOGS: 'Logs',\n METRICS: 'Metrics',\n TRACES: 'Traces',\n};\n\nexport type MonitoringOption = {\n title: string;\n tapped: boolean;\n icons: object;\n id: number;\n};\n\nexport const MONITORING_OPTIONS = [\n {\n id: 1,\n icons: {\n notFocus: () => Logs(),\n focus: () => LogsFocus(),\n },\n title: MONITORS.LOGS,\n type: 'logs',\n tapped: true,\n },\n {\n id: 2,\n icons: {\n notFocus: () => Metrics(),\n focus: () => MetricsFocus(),\n },\n title: MONITORS.METRICS,\n type: 'metrics',\n tapped: true,\n },\n {\n id: 3,\n icons: {\n notFocus: () => Traces(),\n focus: () => TracesFocus(),\n },\n title: MONITORS.TRACES,\n type: 'traces',\n tapped: true,\n },\n];\n","import React, { memo } from 'react';\nimport Image from 'next/image';\nimport styled from 'styled-components';\nimport { Text } from '@/design.system';\nimport { LANGUAGES_LOGOS } from '@/assets';\nimport { Handle, Position } from 'reactflow';\n\nconst NamespaceContainer = styled.div`\n display: flex;\n padding: 16px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n width: 272px;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 4px;\n display: flex;\n flex-direction: column;\n`;\n\nconst ImageWrapper = styled.div`\n padding: 4px;\n background-color: #fff;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\ninterface NamespaceNodeProps {\n data: {\n namespace?: string;\n name?: string;\n languages?: { language: keyof typeof LANGUAGES_LOGOS }[];\n };\n isConnectable: boolean;\n}\n\nexport default memo(({ data, isConnectable }: NamespaceNodeProps) => {\n const languageKey = data?.languages?.[0]?.language || 'default';\n const lan = LANGUAGES_LOGOS[languageKey];\n\n return (\n \n \n {''}\n \n \n {data.namespace}\n \n {data?.name}\n \n \n \n \n );\n});\n","import styled from 'styled-components';\n\nexport const DataFlowContainer = styled.div`\n width: 100%;\n height: 100%;\n`;\n\nexport const ControllerWrapper = styled.div`\n button {\n display: flex;\n padding: 8px;\n align-items: center;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: #0e1c28 !important;\n margin-bottom: 8px;\n }\n\n .react-flow__controls button path {\n fill: #fff;\n }\n`;\n","// Import React and necessary components\nimport React, { useEffect, useState } from 'react';\nimport 'reactflow/dist/style.css';\nimport { Controls } from 'reactflow';\nimport theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport { Text } from '../text/text.tsx';\nimport Open from '@/assets/icons/expand-arrow.svg';\nimport { ControllerWrapper } from './data.flow.styled.tsx';\n// Define styled components\nconst ControllerPanelWrapper = styled.div`\n position: absolute;\n z-index: 999;\n top: 15px;\n left: 60px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n background-color: ${theme.colors.dark};\n padding: 10px;\n border-radius: 8px;\n border: 1px solid ${theme.colors.blue_grey};\n button {\n display: flex;\n padding: 8px;\n align-items: center;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: #0e1c28 !important;\n margin-bottom: 8px;\n }\n\n .react-flow__controls button path {\n fill: #fff;\n }\n`;\n\nconst MonitorItem = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 14px;\n`;\n\nconst MonitorIndicator = styled.span<{ color: string }>`\n background-color: ${({ color }) => color};\n width: 10px;\n height: 10px;\n border-radius: 8px;\n margin-right: 6px;\n`;\n\nconst TitleWrapper = styled.div`\n display: flex;\n gap: 10px;\n cursor: pointer;\n`;\n\n// TypeScript type for monitor items\ninterface MonitorItem {\n name: string;\n color: string;\n}\n\nexport function DataFlowControlPanel() {\n const [isOpen, setOpen] = useState(true);\n\n useEffect(() => {\n setTimeout(() => {\n setOpen(false);\n }, 7000);\n }, []);\n\n const MONITORS: MonitorItem[] = [\n {\n name: 'Traces',\n color: theme.colors.traces,\n },\n {\n name: 'Logs',\n color: theme.colors.logs,\n },\n {\n name: 'Metrics',\n color: theme.colors.metrics,\n },\n ];\n\n return (\n <>\n \n setOpen(!isOpen)}>\n \n Supported Signals\n \n \n \n {isOpen && (\n \n {MONITORS.map((monitor) => (\n \n \n \n {monitor.name}\n \n \n ))}\n \n )}\n \n \n \n \n \n );\n}\n","import React from \"react\";\nimport { styled } from \"styled-components\";\nimport { Text } from \"../text/text\";\nimport theme from \"@/styles/palette\";\n\nconst DangerZoneWrapper = styled.div`\n padding: 10px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n border-radius: 8px;\n width: fit-content;\n width: 344px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n`;\n\nconst DangerButtonWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: flex-end;\n :hover {\n background: ${({ theme }) => theme.colors.error};\n p {\n color: #fff !important;\n }\n }\n`;\n\nconst DangerButton = styled.button`\n padding: 8px 12px;\n border-radius: 4px;\n background: transparent;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n cursor: pointer !important;\n`;\n\ninterface DangerZoneProps {\n title: string;\n subTitle: string;\n btnText: string;\n onClick: () => void;\n}\n\nexport function DangerZone({\n title,\n subTitle,\n btnText,\n onClick,\n}: DangerZoneProps) {\n return (\n <>\n \n \n {title}\n \n {subTitle}\n \n \n \n {btnText}\n \n \n \n \n \n );\n}\n","import React, { useCallback, useEffect, useRef } from 'react';\nimport PortalModal from './portal.modal';\nimport * as S from './modal.styled';\nimport { Props } from './types';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\nimport { useOnClickOutside } from '@/hooks';\nimport CloseIcon from '@/assets/icons/close-modal.svg';\nimport { Button } from '../button/button';\nimport { Link } from '../link/link';\nexport function Modal({ children, closeModal, config }: Props) {\n const modalRef = useRef(null);\n\n // handle what happens on click outside of modal\n const handleClickOutside = () => closeModal();\n\n // handle what happens on key press\n const handleKeyPress = useCallback((event: KeyboardEvent) => {\n if (event.key === 'Escape') closeModal();\n }, []);\n\n useOnClickOutside(modalRef, handleClickOutside);\n\n useEffect(() => {\n // attach the event listener if the modal is shown\n document.addEventListener('keydown', handleKeyPress);\n // remove the event listener\n return () => {\n document.removeEventListener('keydown', handleKeyPress);\n };\n }, [handleKeyPress]);\n\n return (\n <>\n \n \n \n {config.showHeader && (\n \n \n {config.title}\n \n \n )}\n\n \n \n \n\n {children}\n {config?.footer && (\n \n {config.footer.link && (\n \n )}\n {config.footer.secondaryBtnText && (\n \n \n {config.footer.secondaryBtnText}\n \n \n )}\n \n \n {config.footer.primaryBtnText}\n \n \n \n )}\n \n \n \n \n );\n}\n","import { useState, useLayoutEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n\ninterface Props {\n children: JSX.Element;\n wrapperId: string;\n}\n\nconst PortalModal = ({ children, wrapperId }: Props) => {\n const [portalElement, setPortalElement] = useState(null);\n\n useLayoutEffect(() => {\n let element = document.getElementById(wrapperId) as HTMLElement;\n let portalCreated = false;\n // if element is not found with wrapperId or wrapperId is not provided,\n // create and append to body\n if (!element) {\n element = createWrapperAndAppendToBody(wrapperId);\n portalCreated = true;\n }\n\n setPortalElement(element);\n\n // cleaning up the portal element\n return () => {\n // delete the programatically created element\n if (portalCreated && element.parentNode) {\n element.parentNode.removeChild(element);\n }\n };\n }, [wrapperId]);\n\n const createWrapperAndAppendToBody = (elementId: string) => {\n const element = document.createElement(\"div\");\n element.setAttribute(\"id\", elementId);\n document.body.appendChild(element);\n return element;\n };\n\n // portalElement state will be null on the very first render.\n if (!portalElement) return null;\n\n return createPortal(children, portalElement);\n};\n\nexport default PortalModal;\n","import styled, { keyframes } from 'styled-components';\nimport { ModalPositionX, ModalPositionY } from './types';\n\ninterface PropsOverlay {\n showOverlay: boolean;\n positionX: ModalPositionX;\n positionY: ModalPositionY;\n}\ninterface PropsModalContainer {\n padding: string;\n}\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`;\n\nexport const ModalButtonsContainer = styled.div`\n padding: 40px;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 20px;\n`;\nexport const ModalButtonPrimary = styled.button`\n display: block;\n padding: 10px 30px;\n border-radius: 3px;\n color: ${({ theme }) => theme.colors.btnText};\n border: 1px solid ${({ theme }) => theme.colors.main};\n background-color: ${({ theme }) => theme.colors.main};\n font-family: 'Robot', sans-serif;\n font-weight: 500;\n transition: 0.3s ease all;\n\n &:hover {\n background-color: ${({ theme }) => theme.colors.shadowMain};\n }\n`;\nexport const ModalButtonSecondary = styled.button`\n display: block;\n padding: 10px 30px;\n border-radius: 3px;\n color: ${({ theme }) => theme.colors.main};\n border: 1px solid ${({ theme }) => theme.colors.main};\n background-color: transparent;\n font-family: 'Robot', sans-serif;\n font-weight: 500;\n transition: 0.3s ease all;\n\n &:hover {\n background-color: ${({ theme }) => theme.colors.shadowMain};\n color: ${({ theme }) => theme.colors.btnText};\n }\n`;\n\nexport const Overlay = styled.div`\n width: 100vw;\n height: 100vh;\n z-index: 9999;\n position: fixed;\n top: 0;\n left: 0;\n background-color: ${(props) =>\n props.showOverlay\n ? 'rgba(255, 255, 255, 0.1)'\n : 'rgba(255, 255, 255, 0.1)'};\n display: flex;\n align-items: center;\n justify-content: ${(props) => (props.positionX ? props.positionX : 'center')};\n align-items: ${(props) => (props.positionY ? props.positionY : 'center')};\n padding: 40px;\n\n @media (prefers-reduced-motion: no-preference) {\n animation-name: ${fadeIn};\n animation-fill-mode: backwards;\n }\n`;\nexport const ModalContainer = styled.div`\n min-width: 500px;\n min-height: 50px;\n /* background-color: #ffffff; */\n position: relative;\n /* border-radius: 8px; */\n border-radius: 12px;\n border: 0.95px solid var(--dark-mode-dark-3, #203548);\n background: var(--dark-mode-dark-2, #0e1c28);\n\n padding: ${(props) => (props.padding ? props.padding : '20px')};\n`;\nexport const ModalHeader = styled.header`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-bottom: 20px;\n`;\n\nexport const Close = styled.div`\n position: absolute;\n top: 20px;\n right: 15px;\n border: none;\n background-color: transparent;\n transition: 0.3s ease all;\n border-radius: 3px;\n color: '#d1345b';\n cursor: pointer;\n\n svg {\n width: 24px;\n height: 24px;\n fill: #fff;\n }\n`;\n\nexport const PrimaryButton = styled.button`\n background-color: #ededed8b;\n border: 1px solid #d4d2d2;\n width: 100%;\n height: 36px;\n border-radius: 8px;\n cursor: pointer;\n\n &:hover {\n background-color: #ededed;\n }\n`;\n\nexport const Content = styled.div`\n display: flex;\n width: 100%;\n flex-direction: column;\n align-items: center;\n color: ${({ theme }) => theme.text};\n`;\nexport const ModalFooter = styled.footer`\n width: 100%;\n display: flex;\n gap: 1rem;\n align-items: center;\n justify-content: flex-end;\n margin-top: 20px;\n padding-top: 20px;\n`;\n","import * as React from \"react\";\nconst SvgCloseModal = props => ;\nexport default SvgCloseModal;","import theme from '@/styles/palette';\nimport React, { ReactNode } from 'react';\nimport StyledComponentsRegistry from './registry';\nimport { ThemeProvider } from 'styled-components';\ninterface ThemeProviderWrapperProps {\n children: ReactNode; // Add children prop with ReactNode type\n}\n\nexport const ThemeProviderWrapper: React.FC = ({\n children,\n}) => {\n return (\n \n {children}\n \n );\n};\n","'use client';\n\nimport React, { useState } from 'react';\nimport { useServerInsertedHTML } from 'next/navigation';\nimport { ServerStyleSheet, StyleSheetManager } from 'styled-components';\n\nexport default function StyledComponentsRegistry({\n children,\n}: {\n children: React.ReactNode;\n}) {\n // Only create stylesheet once with lazy initial state\n // x-ref: https://reactjs.org/docs/hooks-reference.html#lazy-initial-state\n const [styledComponentsStyleSheet] = useState(() => new ServerStyleSheet());\n\n useServerInsertedHTML(() => {\n const styles = styledComponentsStyleSheet.getStyleElement();\n styledComponentsStyleSheet.instance.clearTag();\n return <>{styles};\n });\n\n if (typeof window !== 'undefined') return <>{children};\n\n return (\n \n {children}\n \n );\n}\n","import React from \"react\";\nimport StepItem from \"./step.item\";\nimport { StepsContainer } from \"./steps.styled\";\n\ntype StepListProps = {\n data?: Array | null;\n};\n\nexport function Steps({ data }: StepListProps) {\n function renderSteps() {\n return data?.map(({ title, status }: any, index) => (\n \n ));\n }\n\n return {renderSteps()};\n}\n","import { FloatBox } from \"@/design.system/float.box/float.box\";\nimport { Text } from \"@/design.system/text/text\";\nimport React from \"react\";\nimport {\n StepItemTextWrapper,\n StepItemBorder,\n StepItemWrapper,\n FloatingBoxTextWrapper,\n} from \"./steps.styled\";\nimport Done from \"@/assets/icons/checked.svg\";\n\ntype StepItemProps = {\n title: string;\n index: number;\n status: string;\n isLast: boolean;\n};\n\nenum Status {\n Done = \"done\",\n Active = \"active\",\n Disabled = \"disabled\",\n}\n\nexport default function StepItem({\n title,\n index,\n status,\n isLast,\n}: StepItemProps) {\n return (\n \n \n {status === Status.Done ? (\n \n ) : (\n \n {index}\n \n )}\n \n \n {title}\n \n {!isLast && }\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface DisabledProp {\n disabled: boolean;\n}\nexport const StepsContainer = styled.div`\n display: flex;\n`;\n\nexport const StepItemWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const FloatingBoxTextWrapper = styled.div`\n opacity: ${({ disabled }) => (disabled ? \"0.4\" : \"1\")};\n`;\n\nexport const StepItemTextWrapper = styled(FloatingBoxTextWrapper)`\n margin: 0 8px;\n`;\n\nexport const StepItemBorder = styled.div`\n width: 54px;\n height: 1px;\n background-color: #8b92a5;\n margin-top: 2px;\n margin-right: 8px;\n`;\n","import * as React from \"react\";\nconst SvgChecked = props => ;\nexport default SvgChecked;","import React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\n\nconst DividerContainer = styled.div<{ margin: string }>`\n width: 100%;\n display: flex;\n align-items: center;\n gap: 23px;\n margin: ${({ margin }) => margin};\n`;\n\nconst DividerLine = styled.div`\n width: 100%;\n border-top: 1px solid #8b92a5;\n`;\n\nexport function Divider({\n margin = '32px 0',\n label = 'or',\n}: {\n margin?: string;\n label?: string;\n}) {\n return (\n \n \n {label}\n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\n\nconst NoteContainer = styled.div`\n padding: 16px;\n display: flex;\n justify-content: flex-start !important;\n border: 1px solid ${({ theme }) => theme.colors.dark_blue};\n border-radius: 12px;\n`;\n\nconst TextContainer = styled.div`\n line-height: 1.6;\n code {\n background-color: ${({ theme }) => theme.colors.dark_blue};\n padding: 2px 4px;\n border-radius: 6px;\n }\n`;\n\nexport function Note({ text, code }: { text: string; code?: string[] }) {\n useEffect(() => {\n buildNote();\n }, []);\n\n function buildNote() {\n let value = text;\n if (code) {\n code.forEach((c, index) => {\n value = value.replace(`$code${index}`, `${c}`);\n });\n }\n\n return (\n Note: ${value}

`,\n }}\n >\n );\n }\n\n return (\n \n {buildNote()}\n \n );\n}\n","'use client';\n\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\nimport { Folders } from '@/assets/icons';\n\nconst SegmentedControlsWrapper = styled.div`\n display: inline-flex;\n justify-content: space-between;\n border-radius: 10px;\n margin: auto;\n overflow: hidden;\n position: relative;\n`;\nconst SegmentedControlsOption = styled.div`\n color: ${({ theme }) => theme.colors.white};\n padding: 8px 12px;\n position: relative;\n text-align: center;\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: center;\n z-index: 1;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n background-color: ${({ theme }) => theme.colors.dark};\n filter: brightness(50%);\n &.active {\n filter: brightness(100%);\n }\n &:first-child {\n border-top-left-radius: 10px;\n border-bottom-left-radius: 10px;\n padding-left: 16px;\n }\n &:last-child {\n border-top-right-radius: 10px;\n border-bottom-right-radius: 10px;\n padding-right: 16px;\n }\n label {\n font-family: ${({ theme }) => theme.font_family.primary};\n }\n`;\n\nconst SegmentedControlsInput = styled.input`\n opacity: 0;\n margin: 0;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n position: absolute;\n width: 100%;\n cursor: pointer;\n height: 100%;\n`;\n\nexport function SegmentedControls({\n options,\n selected,\n onChange,\n title,\n}: {\n options: { label: string; id: string }[];\n selected: string;\n onChange: (selected: string) => void;\n title?: string;\n}) {\n return (\n
\n {title && (\n \n {title}\n \n )}\n \n {options?.map((option) => (\n \n \n onChange(option.id)}\n checked={option.id === selected}\n />\n {option.label}\n \n ))}\n \n
\n );\n}\n","import React, { useState, KeyboardEvent } from 'react';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport { Input as BaseInput } from '../input/input';\nimport { Button as BaseButton } from '../button/button';\nimport { Tooltip } from '../tooltip';\n\ninterface MultiInputProps {\n initialList?: string[];\n onListChange?: (list: string[]) => void;\n placeholder?: string;\n limit?: number;\n title?: string;\n tooltip?: string;\n}\n\nexport const MultiInput: React.FC = ({\n initialList = [],\n onListChange,\n placeholder = 'Add item to list',\n title,\n tooltip,\n}) => {\n const [inputValue, setInputValue] = useState('');\n const [list, setList] = useState(initialList);\n\n const handleInputChange = (e: string) => {\n setInputValue(e);\n };\n\n const handleAddToList = () => {\n if (inputValue.trim() !== '') {\n const newList = [...list, inputValue];\n setList(newList);\n setInputValue('');\n onListChange && onListChange(newList);\n }\n };\n\n const handleRemoveFromList = (indexToRemove: number) => {\n const newList = list.filter((_, index) => index !== indexToRemove);\n setList(newList);\n onListChange && onListChange(newList);\n };\n\n return (\n <>\n {title && (\n \n \n \n {title}\n \n \n \n )}\n \n \n {list.map((item, index) => (\n handleRemoveFromList(index)}>\n \n {item}\n \n \n \n \n \n ))}\n \n \n handleInputChange(e)}\n />\n \n \n \n \n );\n};\n\n// Styled components\nconst Container = styled.div`\n width: 100%;\n`;\n\nconst ListContainer = styled.div`\n display: flex;\n width: 110%;\n flex-wrap: wrap;\n`;\n\nconst ListItem = styled.div`\n cursor: pointer;\n padding: 2px 8px;\n margin: 3px;\n border-radius: 5px;\n background: ${theme.colors.light_grey};\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 5px;\n min-height: 30px;\n`;\n\nconst InputContainer = styled.div`\n display: flex;\n gap: 10px;\n width: 100%;\n height: 37px;\n`;\n\nconst Input = styled(BaseInput)`\n width: 100%;\n`;\n\nconst Button = styled(BaseButton)`\n margin-left: 10px;\n`;\n\nconst TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Tooltip } from '../tooltip';\nimport { Text } from '../text/text';\nimport { Trash } from '@/assets/icons';\n\nexport interface KeyValue {\n id: number;\n key: string;\n value: string;\n}\n\nexport const Container = styled.div`\n width: 100%;\n`;\n\nexport const TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n\nconst Table = styled.table`\n border: solid 1px ${theme.text.grey};\n text-align: center;\n border-spacing: 0;\n border-radius: 8px;\n width: 100%;\n`;\n\nexport const Th = styled.th`\n padding: 4px;\n`;\n\nexport const Td = styled.td<{ right?: boolean; left?: boolean }>`\n padding: 8px 0;\n\n border-top: solid 1px ${theme.text.grey};\n border-right: ${({ right }) =>\n right ? `solid 1px ${theme.text.grey}` : 'none'};\n border-left: ${({ left }) =>\n left ? `solid 1px ${theme.text.grey}` : 'none'};\n`;\n\nexport const Input = styled.input`\n background: transparent;\n border: none;\n width: 94%;\n\n outline: none;\n color: ${theme.text.white};\n`;\n\nexport const AddRowButton = styled.td`\n text-align: center;\n border-top: solid 1px ${theme.text.grey};\n padding: 4px;\n cursor: pointer;\n`;\n\nexport interface KeyValueTableProps {\n keyValues: KeyValue[];\n setKeyValues: (keyValues: KeyValue[]) => void;\n title?: string;\n titleKey?: string;\n titleValue?: string;\n tooltip?: string;\n titleButton?: string;\n required?: boolean;\n}\n\nexport const KeyValueTable: React.FC = ({\n keyValues,\n setKeyValues,\n title,\n titleKey,\n titleValue,\n titleButton,\n tooltip,\n required,\n}: KeyValueTableProps) => {\n const [nextId, setNextId] = useState(1);\n\n const addRow = () => {\n const newKeyValue: KeyValue = {\n id: nextId,\n key: '',\n value: '',\n };\n setKeyValues([...keyValues, newKeyValue]);\n setNextId(nextId + 1);\n };\n\n const deleteRow = (id: number) => {\n const value = keyValues.filter((kv) => kv.id !== id);\n setKeyValues(value);\n };\n\n const updateKey = (id: number, newKey: string) => {\n const updatedKeyValues = keyValues.map((kv) =>\n kv.id === id ? { ...kv, key: newKey } : kv\n );\n setKeyValues(updatedKeyValues);\n };\n\n const updateValue = (id: number, newValue: string) => {\n const updatedKeyValues = keyValues.map((kv) =>\n kv.id === id ? { ...kv, value: newValue } : kv\n );\n setKeyValues(updatedKeyValues);\n };\n\n return (\n \n {title && (\n \n \n
\n \n {title}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n \n \n \n \n \n \n {keyValues.map((kv) => (\n \n \n\n \n deleteRow(kv.id)}\n >\n \n \n \n ))}\n \n \n \n \n \n {titleButton || 'Add Row'}\n \n \n \n \n
\n \n {titleKey || 'Key'}\n \n \n \n {titleValue || 'Value'}\n \n
\n updateKey(kv.id, e.target.value)}\n />\n \n updateValue(kv.id, e.target.value)}\n />\n
\n
\n );\n};\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n// Define the props for the TextArea component\nexport interface TextAreaProps {\n placeholder?: string;\n value?: string;\n onChange: (e: React.ChangeEvent) => void;\n rows?: number;\n cols?: number;\n label?: string;\n tooltip?: string;\n required?: boolean;\n}\n\n// Styled textarea\nconst StyledTextArea = styled.textarea<{ active?: boolean }>`\n width: 100%;\n padding: 8px 12px;\n border-radius: 8px;\n box-sizing: border-box;\n resize: vertical;\n\n outline: none;\n color: ${({ theme }) => theme.text.white};\n font-family: ${theme.font_family.primary};\n background-color: ${({ theme }) => theme.colors.light_dark};\n border: ${({ theme, active }) =>\n `1px solid ${active ? theme.text.grey : theme.colors.blue_grey}`};\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.text.grey}`};\n }\n`;\nconst LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n\nexport const TextArea: React.FC = ({\n placeholder,\n value,\n onChange,\n rows = 4,\n cols = 50,\n tooltip,\n label,\n required,\n}) => {\n return (\n <>\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n );\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Tooltip } from '../tooltip';\nimport { Text } from '../text/text';\nimport { Trash } from '@/assets/icons';\n\nexport const Container = styled.div`\n width: 100%;\n`;\n\nexport const TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n\nexport const Table = styled.table`\n border: solid 1px ${theme.text.grey};\n text-align: center;\n border-spacing: 0;\n border-radius: 8px;\n width: 100%;\n`;\n\nexport const Th = styled.th`\n padding: 4px;\n`;\n\nexport const Td = styled.td<{ right?: boolean; left?: boolean }>`\n padding: 8px 0;\n\n border-bottom: solid 1px ${theme.text.grey};\n border-right: ${({ right }) =>\n right ? `solid 1px ${theme.text.grey}` : 'none'};\n border-left: ${({ left }) =>\n left ? `solid 1px ${theme.text.grey}` : 'none'};\n`;\n\nexport const Input = styled.input`\n background: transparent;\n border: none;\n width: 94%;\n\n outline: none;\n color: ${theme.text.white};\n`;\n\nexport const AddRowButton = styled.td`\n text-align: center;\n padding: 4px;\n cursor: pointer;\n`;\n\nexport interface MultiInputTableProps {\n values: string[];\n title?: string;\n tooltip?: string;\n onValuesChange: (newValues: string[]) => void;\n required?: boolean;\n placeholder?: string;\n}\n\nexport const MultiInputTable: React.FC = ({\n values,\n title,\n tooltip,\n onValuesChange,\n required,\n placeholder,\n}) => {\n const addRow = () => {\n onValuesChange([...values, '']);\n };\n\n const deleteRow = (index: number) => {\n const updatedValues = values.filter((_, i) => i !== index);\n onValuesChange(updatedValues);\n };\n\n const updateValue = (index: number, newValue: string) => {\n const updatedValues = values.map((value, i) =>\n i === index ? newValue : value\n );\n onValuesChange(updatedValues);\n };\n\n return (\n \n {title && (\n \n \n
\n \n {title}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n {values.map((value, index) => (\n \n \n deleteRow(index)}\n style={{ cursor: 'pointer' }}\n >\n \n \n \n ))}\n \n \n \n \n \n Add Row\n \n \n \n \n
\n updateValue(index, e.target.value)}\n placeholder={index === 0 ? placeholder : ''}\n />\n
\n
\n );\n};\n","import React from 'react';\nimport { ActionItem } from '../action.item';\n\n// Define the type for individual action items\ninterface ActionItem {\n label: string;\n onClick: () => void;\n id: string;\n selected?: boolean;\n disabled?: boolean;\n}\n\n// Define the type for the groups of action items, including any conditional rendering logic\ninterface ActionGroup {\n label: string;\n subTitle: string;\n items: ActionItem[];\n condition?: boolean; // Optional condition to determine if the group should be rendered\n}\n\n// Props for the container component that will render the list of action groups\ninterface ActionsListProps {\n actionGroups: ActionGroup[];\n}\n\nexport const ActionsGroup: React.FC = ({ actionGroups }) => {\n return (\n <>\n {actionGroups.map(\n (group, index) =>\n group.condition && \n )}\n \n );\n};\n","import { useOnClickOutside } from '@/hooks';\nimport React, { useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\nimport { Check, Expand } from '@/assets';\n\n// Styled components\nconst Label = styled.label`\n cursor: pointer;\n display: flex;\n gap: 4px;\n p {\n color: ${({ theme }) => theme.colors.light_grey};\n &:hover {\n color: ${({ theme }) => theme.colors.white};\n }\n }\n`;\n\nconst Popup = styled.div<{ isOpen: boolean }>`\n display: ${(props: { isOpen: boolean }) => (props.isOpen ? 'block' : 'none')};\n position: absolute;\n right: 0px;\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n z-index: 9999;\n flex-direction: column;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n margin-top: 5px;\n`;\n\nconst PopupItem = styled.div<{ disabled: boolean }>`\n display: flex;\n padding: 7px 12px;\n gap: 4px;\n border-top: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n align-items: center;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'auto')};\n cursor: pointer;\n p {\n cursor: pointer !important;\n }\n\n &:hover {\n background: ${({ theme }) => theme.colors.light_dark};\n }\n`;\n\ninterface Item {\n label: string;\n onClick: () => void;\n id: string;\n selected?: boolean;\n disabled?: boolean;\n}\n\ninterface ActionItemProps {\n label: string;\n subTitle: string;\n items: Item[];\n}\n\nexport const ActionItem: React.FC = ({\n label,\n items,\n subTitle,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const ref = useRef(null);\n useOnClickOutside(ref, () => setIsOpen(false));\n\n return (\n
\n \n \n
\n \n {subTitle}\n \n
\n {items.map((item, index) => (\n \n {item.selected ? :
}\n \n {item.label}\n \n \n ))}\n \n
\n );\n};\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport theme from '@/styles/palette';\nimport { Expand } from '@/assets';\n\ntype PaginationProps = {\n total: number;\n itemsPerPage: number;\n currentPage: number;\n onPageChange: (page: number) => void;\n};\n\nconst PaginationContainer = styled.div`\n display: flex;\n justify-content: center;\n padding: 20px;\n gap: 2px;\n`;\n\nconst PageButton = styled.button<{\n isCurrentPage?: boolean;\n isDisabled?: boolean;\n}>`\n background-color: ${(props) =>\n props.isCurrentPage ? theme.colors.blue_grey : 'transparent'};\n color: ${(props) => (props.isDisabled ? theme.text.grey : theme.text.white)};\n border: none;\n border-radius: 4px;\n padding: 4px 8px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n\n &:disabled {\n cursor: default;\n }\n\n &:hover {\n background-color: ${theme.colors.blue_grey};\n }\n`;\n\nexport const Pagination: React.FC = ({\n total,\n itemsPerPage,\n currentPage,\n onPageChange,\n}) => {\n const pageCount = Math.ceil(total / itemsPerPage);\n\n return (\n \n onPageChange(currentPage - 1)}\n disabled={currentPage === 1}\n isDisabled={currentPage === 1}\n >\n \n Previous\n \n {new Array(pageCount).fill(0).map((_, index) => (\n onPageChange(index + 1)}\n isCurrentPage={currentPage === index + 1}\n >\n {index + 1}\n \n ))}\n onPageChange(currentPage + 1)}\n disabled={currentPage === pageCount}\n isDisabled={currentPage === pageCount}\n >\n Next\n \n \n \n );\n};\n","import theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport React, { useState } from 'react';\nimport { Pagination } from '../pagination';\n\n// Updated TableProps to be generic\ntype TableProps = {\n data: T[];\n renderTableHeader: () => JSX.Element;\n renderTableRows: (item: T, index: number) => JSX.Element;\n renderEmptyResult: () => JSX.Element;\n onPaginate?: (pageNumber: number) => void;\n};\n\nconst StyledTable = styled.table`\n width: 100%;\n background-color: ${theme.colors.dark};\n border: 1px solid ${theme.colors.blue_grey};\n border-radius: 6px;\n border-collapse: separate;\n border-spacing: 0;\n`;\n\nconst StyledTbody = styled.tbody``;\n\n// Applying generic type T to the Table component\nexport const Table = ({\n data,\n onPaginate,\n renderTableRows,\n renderTableHeader,\n renderEmptyResult,\n}: TableProps) => {\n const [currentPage, setCurrentPage] = useState(1);\n const [itemsPerPage, setItemsPerPage] = useState(10);\n\n const indexOfLastItem = currentPage * itemsPerPage;\n const indexOfFirstItem = indexOfLastItem - itemsPerPage;\n const currentItems = data.slice(indexOfFirstItem, indexOfLastItem);\n\n const handlePageChange = (pageNumber: number) => {\n setCurrentPage(pageNumber);\n if (onPaginate) {\n onPaginate(pageNumber);\n }\n };\n\n return (\n <>\n \n {renderTableHeader()}\n \n {currentItems.map((item, index) => renderTableRows(item, index))}\n \n \n\n {data.length === 0 ? (\n renderEmptyResult()\n ) : data.length > 10 ? (\n \n ) : null}\n \n );\n};\n","import React, { useState } from 'react';\nimport YamlEditor from '@focus-reactive/react-yaml';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Copied, Copy } from '@/assets';\n\nconst Container = styled.div`\n position: relative;\n background-color: ${theme.colors.blue_grey};\n border-radius: 8px;\n padding: 4px;\n\n div {\n color: #f5b175;\n }\n .ͼb {\n color: #64a8fd;\n }\n .ͼm {\n color: ${theme.colors.white};\n }\n .ͼd {\n color: #f5b175;\n }\n .ͼc {\n color: #f5b175;\n }\n .cm-gutters {\n display: none;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n }\n`;\n\nconst EditorOverlay = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 10; // Ensure this is higher than the editor's z-index\n`;\n\nconst CopyIconWrapper = styled.div`\n background-color: ${theme.colors.dark};\n z-index: 999;\n border-radius: 4px;\n padding: 4px;\n position: absolute;\n top: 5px;\n right: 5px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: all;\n`;\n\nexport const YMLEditor = ({ data }: { data: any }) => {\n const [isCopied, setIsCopied] = useState(false);\n\n const handleChange = () => {};\n\n const handleCopy = () => {\n navigator.clipboard\n .writeText(JSON.stringify(data, null, 2))\n .then(() => {\n setIsCopied(true);\n setTimeout(() => {\n setIsCopied(false);\n }, 3000);\n })\n .catch((err) => console.error('Error copying YAML to clipboard: ', err));\n };\n return (\n <>\n \n \n {isCopied ? (\n \n ) : (\n \n )}\n \n\n
\n \n \n
\n
\n \n );\n};\n","const sources = [\n {\n name: 'adservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'java',\n },\n ],\n },\n {\n name: 'cartservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'dotnet',\n },\n ],\n },\n {\n name: 'checkoutservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'go',\n },\n ],\n },\n {\n name: 'coupon',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'coupon',\n language: 'javascript',\n },\n ],\n },\n];\n\nconst destinations = [\n {\n id: 'odigos.io.dest.elasticsearch-6qklw',\n name: 'Elasticsearch',\n type: 'elasticsearch',\n signals: {\n traces: true,\n metrics: false,\n logs: true,\n },\n fields: {\n ELASTICSEARCH_CA_PEM:\n '-----BEGIN CERTIFICATE-----\\nMIIDIjCCAgqgAwIBAgIRANR/chGx5YexmqgwbVphZR8wDQYJKoZIhvcNAQELBQAw\\nGzEZMBcGA1UEAxMQZWxhc3RpY3NlYXJjaC1jYTAeFw0yNDAzMDYxMjUwNTFaFw0y\\nNTAzMDYxMjUwNTFaMBsxGTAXBgNVBAMTEGVsYXN0aWNzZWFyY2gtY2EwggEiMA0G\\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQClNK8WB2C2aRC1xPkT9Vx3t2I8D8vE\\nz4/XKi5djhqZx56VclUmnTGwwJSB6t+9eODVGM8HUBeZTw5r5VU3wz5KO34LfX/X\\nDgeZf7jRE4JvNti+ufhYeXhX6yWt2y1lisTy89BMZA1/4r6UBamhDZ9zjC7++hNy\\n21S+mgul4zrjC1fBfjz8O42jjkamNcq3SoQHn9puWPhsOBOc4SowJMFN6YIRf3Vy\\nPvOuG8wP5uCU14dICW7X5M1JqHpcOTW0W7S5JLcVkozrqEQhQ3lc5f4OE0/GYQ5S\\np5sesAUyv9Koiipx3gGvip2+E2Rf2nlLNNMYeFDKyRVmbxkOmIy6PVQdAgMBAAGj\\nYTBfMA4GA1UdDwEB/wQEAwICpDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH\\nAwIwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUUh7RgBmgPOCGeP3hFqoVC689\\nm4kwDQYJKoZIhvcNAQELBQADggEBAJCpewxuRV0s6EftuHI7Q1PJDYImDv54D1GI\\n57nJwdhCZbvJ69m5hjtOAb7ZCerzJQKvN4sEcvcWPMJs15nBNXW+9fF0zN5RjBqU\\nV8HA22bw8h+00lGUiozgG4DmFkd0GG35qjhPe9PyirOumiaSi2aGMUiWtkOgAFE2\\nDKGLleYFdjDbfQjva/ViUJTo6I7b283foWEqkbaa58ju5QOtjpo09GOmyBXeXHoU\\nbLnUqBAALo7FDSdKyMjWRLKSo2rc7jRn98jXzPqRaVuYhEGn+77GnkA5d3ea3fHP\\nIrj44yKh8na1xqPEHEvryj9LnKL+yCpQILj5L+jIHVopTmQWyLQ=\\n-----END CERTIFICATE-----',\n ELASTICSEARCH_PASSWORD: 'Elasticsearch',\n ELASTICSEARCH_URL: 'Elasticsearch',\n ELASTICSEARCH_USERNAME: 'Elasticsearch',\n ES_LOGS_INDEX: 'Elasticsearch',\n ES_TRACES_INDEX: 'Elasticsearch',\n },\n destination_type: {\n type: 'elasticsearch',\n display_name: 'Elasticsearch',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/elasticsearch.svg',\n supported_signals: {\n traces: {\n supported: true,\n },\n metrics: {\n supported: false,\n },\n logs: {\n supported: true,\n },\n },\n },\n },\n {\n id: 'odigos.io.dest.grafanacloudprometheus-2mcbr',\n name: 'Prometheus',\n type: 'grafanacloudprometheus',\n signals: {\n traces: false,\n metrics: true,\n logs: false,\n },\n fields: {\n GRAFANA_CLOUD_PROMETHEUS_PASSWORD: 'Prometheus',\n GRAFANA_CLOUD_PROMETHEUS_RW_ENDPOINT: 'Prometheus',\n GRAFANA_CLOUD_PROMETHEUS_USERNAME: 'Prometheus',\n PROMETHEUS_RESOURCE_ATTRIBUTES_LABELS:\n '[\"k8s.container.name\",\"k8s.pod.name\",\"k8s.namespace.name\",\"Prometheus\"]',\n PROMETHEUS_RESOURCE_EXTERNAL_LABELS: '{\"dsfd\":\"fdsfs\"}',\n },\n destination_type: {\n type: 'grafanacloudprometheus',\n display_name: 'Grafana Cloud Prometheus',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/grafana.svg',\n supported_signals: {\n traces: {\n supported: false,\n },\n metrics: {\n supported: true,\n },\n logs: {\n supported: false,\n },\n },\n },\n },\n {\n id: 'odigos.io.dest.s3-gk7bn',\n name: 'aws',\n type: 's3',\n signals: {\n traces: true,\n metrics: true,\n logs: true,\n },\n fields: {\n S3_BUCKET: 'aws',\n S3_MARSHALER: 'otlp_proto',\n S3_PARTITION: 'minute',\n S3_REGION: 'aws',\n },\n destination_type: {\n type: 's3',\n display_name: 'AWS S3',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/s3.svg',\n supported_signals: {\n traces: {\n supported: true,\n },\n metrics: {\n supported: true,\n },\n logs: {\n supported: true,\n },\n },\n },\n },\n];\n\nconst action = [\n {\n id: 'aci-f6c9f',\n type: 'AddClusterInfo',\n spec: {\n actionName: 'This is tetst test Cluster Attributes',\n notes:\n 'Actions are a way to modify the OpenTelemetry data recorded by Odigos Sources, before it is exported to your Odigos Destinations.',\n signals: ['METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'Attributes',\n attributeStringValue: 'Attributes',\n },\n ],\n },\n },\n {\n id: 'aci-hfgcb',\n type: 'DeleteAttribute',\n spec: {\n actionName: 'Link',\n notes: 'Link to docs',\n signals: ['LOGS', 'METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'sadsad',\n attributeStringValue: 'sadsa',\n },\n {\n attributeName: 'asdsa',\n attributeStringValue: 'asdasd',\n },\n ],\n },\n },\n {\n id: 'aci-r67mp',\n type: 'RenameAttribute',\n spec: {\n actionName: 'Initialize Initialize',\n notes: 'This is the initialization phase of the cluster.',\n signals: ['LOGS', 'METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'region',\n attributeStringValue: 'us-east-1',\n },\n {\n attributeName: 'instanceType',\n attributeStringValue: 't2.micro',\n },\n {\n attributeName: 'availabilityZones',\n attributeStringValue: '3',\n },\n ],\n },\n },\n];\n\ninterface Source {\n name: string;\n kind: string;\n namespace: string;\n languages: Array<{\n container_name: string;\n language: string;\n }>;\n}\n\ninterface Destination {\n id: string;\n name: string;\n type: string;\n signals: {\n traces: boolean;\n metrics: boolean;\n logs: boolean;\n };\n fields: Record;\n destination_type: {\n type: string;\n display_name: string;\n image_url: string;\n supported_signals: {\n traces: {\n supported: boolean;\n };\n metrics: {\n supported: boolean;\n };\n logs: {\n supported: boolean;\n };\n };\n };\n}\n\ninterface Action {\n id: string;\n type: string;\n spec: {\n actionName: string;\n notes: string;\n signals: string[];\n };\n}\n\ninterface FlowNode {\n id: string;\n type: string;\n position: { x: number; y: number };\n data: any;\n}\n\ninterface FlowEdge {\n id: string;\n source: string;\n target: string;\n animated: boolean;\n label?: string;\n style?: Record;\n data?: any;\n}\n\nexport const buildFlowNodesAndEdges = (\n sources: Source[],\n destinations: Destination[],\n actions: Action[]\n): { nodes: FlowNode[]; edges: FlowEdge[] } => {\n let nodes: FlowNode[] = [],\n edges: FlowEdge[] = [];\n const centerNodeId = 'center-1';\n const xOffsetNamespace = 100;\n\n const destinations_length = destinations.length;\n let middle_index;\n\n if (destinations_length % 2 == 1) {\n middle_index = Math.floor(destinations_length / 2);\n } else {\n middle_index = destinations_length / 2 - 1;\n }\n\n // Desired y position for the middle node\n const desired_y_position = 248;\n\n // Calculate destinationyOffset\n const destinationyOffset = desired_y_position - middle_index * 100;\n\n const sources_length = sources.length;\n let middle_index_sources;\n\n if (sources_length % 2 == 1) {\n middle_index_sources = Math.floor(sources_length / 2);\n } else {\n middle_index_sources = sources_length / 2 - 1;\n }\n\n const sourceyOffset = desired_y_position - middle_index_sources * 100;\n\n // Create the center node\n const centerXPossition =\n actions?.length > 0 ? actions?.length * 150 + 400 : 450;\n nodes.push({\n id: centerNodeId,\n type: 'custom',\n position: { x: centerXPossition, y: 248 },\n data: { label: 'Center Node' },\n });\n\n // Create namespace nodes from sources and edges to the center\n sources.forEach((source, index) => {\n const namespaceNodeId = `namespace-${index}`;\n nodes.push({\n id: namespaceNodeId,\n type: 'source',\n position: { x: xOffsetNamespace, y: sourceyOffset + index * 100 },\n data: source,\n });\n edges.push({\n id: `e${namespaceNodeId}-${centerNodeId}`,\n source: namespaceNodeId,\n target: actions?.length > 0 ? `action-0` : centerNodeId,\n animated: true,\n style: { stroke: '#96f3ff8e' },\n data: null,\n });\n });\n\n // Create destination nodes and edges from the center\n destinations.forEach((destination, index) => {\n const destinationNodeId = `destination-${index}`;\n nodes.push({\n id: destinationNodeId,\n type: 'destination',\n position: {\n x: centerXPossition + 400,\n y: destinationyOffset + index * 100,\n },\n data: destination,\n });\n edges.push({\n id: `e${centerNodeId}-${destinationNodeId}`,\n source: centerNodeId,\n target: destinationNodeId,\n animated: true,\n style: { stroke: '#96f3ff8e' },\n data: null,\n });\n });\n\n // Create action nodes and edges from the center\n actions.forEach((action, index) => {\n const actionNodeId = `action-${index}`;\n const nextActionNodeId = `action-${index + 1}`;\n nodes.push({\n id: actionNodeId,\n type: 'action',\n position: { x: 420 + index * 125, y: 250 },\n data: action,\n });\n edges.push({\n id: `e${centerNodeId}-${actionNodeId}`,\n source: actionNodeId,\n target: index + 1 === actions.length ? centerNodeId : nextActionNodeId,\n animated: true,\n style: { stroke: '#96f3ff8e' },\n data: null,\n });\n });\n\n return { nodes, edges };\n};\n\n// Example usage with typed data\nexport const { nodes, edges } = buildFlowNodesAndEdges(\n sources,\n destinations,\n action\n);\n"],"mappings":"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","names":["React","theme","styled","theme","React","React","React","styled","theme","React","React","styled","React","useEffect","useState","React","React","React","React","React","React","React","React","React","styled","useState","text","styled","theme","TextWrapper","text","useState","useEffect","React","React","styled","theme","React","React","styled","React","styled","theme","React","useEffect","useState","styled","theme","React","styled","theme","React","React","React","React","React","useState","styled","styled","text","useState","React","useState","useEffect","React","React","styled","theme","React","React","styled","theme","React","React","React","styled","theme","React","React","styled","styled","React","React","React","useState","styled","theme","LabelWrapper","React","React","useState","React","LabelWrapper","React","React","React","useState","React","React","styled","useState","React","React","styled","theme","React","React","useEffect","styled","theme","React","React","React","useEffect","React","React","useEffect","React","styled","styled","theme","TextWrapper","backgroundColor","React","React","Handle","Position","styled","React","memo","Handle","Position","styled","React","React","styled","theme","TextWrapper","memo","React","Handle","Position","React","styled","Handle","Position","React","React","React","React","React","React","styled","theme","TextWrapper","IMAGE_STYLE","IconWrapper","React","Handle","Position","React","memo","styled","Handle","Position","NamespaceContainer","styled","theme","TextWrapper","memo","React","styled","theme","React","useEffect","useState","styled","styled","theme","useState","useEffect","MONITORS","React","nodes","edges","useEffect","React","React","styled","styled","theme","React","React","useEffect","useRef","useState","styled","keyframes","theme","React","useRef","useEffect","React","React","React","useState","React","React","React","styled","React","React","React","React","styled","styled","React","React","useEffect","styled","styled","theme","text","useEffect","React","React","styled","styled","theme","React","React","useState","styled","useState","React","TitleWrapper","Input","Button","styled","React","useState","styled","Container","styled","TitleWrapper","Input","useState","React","React","styled","styled","theme","LabelWrapper","React","React","styled","Container","styled","TitleWrapper","Table","Th","Td","Input","AddRowButton","React","React","React","useRef","useState","styled","styled","theme","useState","useRef","React","React","React","styled","styled","React","styled","React","useState","styled","Table","useState","React","React","useState","styled","Container","styled","CopyIconWrapper","useState","React","sources","destinations","nodes","edges","action"]} \ No newline at end of file +{"version":3,"sources":["../src/design.system/radio/radio.tsx","../src/design.system/radio/radio.styled.tsx","../src/design.system/text/text.tsx","../src/design.system/text/text.styled.tsx","../src/assets/icons/checked-radio.svg","../src/design.system/button/button.tsx","../src/design.system/button/button.styled.tsx","../src/design.system/float.box/float.box.tsx","../src/design.system/code.block/code.block.tsx","../src/assets/icons/copy.svg","../src/assets/icons/copied.svg","../src/assets/icons/folders.svg","../src/assets/icons/trash.svg","../src/assets/icons/check.svg","../src/assets/icons/expand-arrow.svg","../src/assets/icons/actions/cluster-attr.svg","../src/assets/icons/actions/delete-attr.svg","../src/assets/icons/actions/rename-attr.svg","../src/assets/icons/actions/index.ts","../src/assets/icons/languages/index.ts","../src/hooks/useOnClickOutside.tsx","../src/hooks/useCopyToClipboard.tsx","../src/styles/palette.tsx","../src/design.system/card/card.tsx","../src/design.system/card/card.styled.tsx","../src/design.system/tag/tag.tsx","../src/design.system/tap/tap.tsx","../src/design.system/drop.down/drop.down.tsx","../src/design.system/drop.down/drop.down.styled.tsx","../src/design.system/search.input/search.input.tsx","../src/design.system/search.input/search.input.styled.tsx","../src/assets/icons/glass.svg","../src/assets/icons/X.svg","../src/assets/icons/question.svg","../src/design.system/tooltip/index.tsx","../src/design.system/switch/switch.tsx","../src/design.system/switch/switch.styled.tsx","../src/design.system/checkbox/checkbox.tsx","../src/design.system/checkbox/checkbox.styled.tsx","../src/assets/icons/checkbox-rect.svg","../src/design.system/selected.counter/selected.counter.tsx","../src/design.system/selected.counter/selected.counter.styled.tsx","../src/design.system/link/link.tsx","../src/design.system/image/image.tsx","../src/design.system/input/input.tsx","../src/design.system/input/input.styled.tsx","../src/assets/icons/eye-open.svg","../src/assets/icons/eye-close.svg","../src/design.system/input/action.input.tsx","../src/design.system/video/video.tsx","../src/assets/icons/close.svg","../src/assets/icons/player.svg","../src/design.system/video/video.styled.tsx","../src/design.system/loader/loader.tsx","../src/design.system/loader/loader.styled.tsx","../src/design.system/notification/notification.tsx","../src/design.system/notification/notification.styled.tsx","../src/assets/icons/X-blue.svg","../src/assets/icons/success-notification.svg","../src/assets/icons/error-notification.svg","../src/design.system/data.flow/index.tsx","../src/design.system/data.flow/action.node.tsx","../src/design.system/data.flow/keyval.middleware.tsx","../src/design.system/data.flow/namespace.node.tsx","../src/assets/icons/overview/middleware.svg","../src/assets/icons/overview/folder.svg","../src/design.system/data.flow/destination.node.tsx","../src/assets/icons/logs-grey.svg","../src/assets/icons/logs-blue.svg","../src/assets/icons/chart-line-grey.svg","../src/assets/icons/chart-line-blue.svg","../src/assets/icons/tree-structure-grey.svg","../src/assets/icons/tree-structure-blue.svg","../src/design.system/data.flow/monitors.tsx","../src/design.system/data.flow/source.node.tsx","../src/design.system/data.flow/data.flow.styled.tsx","../src/design.system/data.flow/control.panel.tsx","../src/design.system/danger.zone/danger.zone.tsx","../src/design.system/modal/modal.tsx","../src/design.system/modal/portal.modal.tsx","../src/design.system/modal/modal.styled.tsx","../src/assets/icons/close-modal.svg","../src/design.system/theme.provider/theme.provider.tsx","../src/design.system/theme.provider/registry.tsx","../src/design.system/steps/steps.tsx","../src/design.system/steps/step.item.tsx","../src/design.system/steps/steps.styled.tsx","../src/assets/icons/checked.svg","../src/design.system/divider/divider.tsx","../src/design.system/note/note.tsx","../src/design.system/segmented-controls/index.tsx","../src/design.system/multi-input/index.tsx","../src/design.system/key-value-input/index.tsx","../src/design.system/text.area/index.tsx","../src/design.system/multi-input/multi.input.table.tsx","../src/design.system/action.group/index.tsx","../src/design.system/action.item/index.tsx","../src/design.system/pagination/index.tsx","../src/design.system/table/index.tsx","../src/design.system/yml.editor/index.tsx","../src/design.system/data.flow/builder.ts"],"sourcesContent":["import React, { useState, FC, ChangeEvent } from 'react';\nimport { RadioButtonContainer, RadioButtonBorder } from './radio.styled';\nimport { Text } from '@/design.system/text/text';\nimport Checked from '../../assets/icons/checked-radio.svg';\ninterface RadioButtonProps {\n label?: string;\n value?: string | boolean;\n size?: number;\n textStyles?: React.CSSProperties;\n onChange?: (event: ChangeEvent) => void;\n}\n\nexport const RadioButton: FC = ({\n label = '',\n onChange,\n value,\n size = 25,\n textStyles = {},\n}) => {\n function handleChange() {\n onChange && onChange({} as ChangeEvent);\n }\n\n return (\n \n \n {value ? (\n \n ) : (\n \n )}\n
\n {label}\n \n );\n};\n","import styled from 'styled-components';\n\nexport const RadioButtonContainer = styled.label`\n height: 24px;\n color: #303030;\n font-size: 14px;\n font-weight: 400;\n margin-right: 7px;\n -webkit-tap-highlight-color: transparent;\n display: flex;\n align-items: center;\n\n gap: 10px;\n cursor: pointer;\n`;\n\nexport const RadioButtonBorder = styled.span`\n cursor: pointer;\n width: 23px;\n height: 23px;\n border: ${({ theme }) => `solid 2px ${theme.colors.light_grey}`};\n border-radius: 50%;\n display: inline-block;\n position: relative;\n`;\n","import React from 'react';\nimport { TextWrapper } from './text.styled';\n\ntype TextProps = {\n type?: string | any;\n value?: string;\n style?: object;\n children?: string | any;\n weight?: string | number;\n color?: string;\n size?: number;\n};\n\nexport function Text({ children, color, style, weight, size }: TextProps) {\n return (\n \n {children}\n \n );\n}\n","import styled from \"styled-components\";\n\nexport const TextWrapper = styled.p`\n color: ${({ theme }) => theme.text.white};\n margin: 0;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-size: 16px;\n font-weight: 400;\n`;\n","import * as React from \"react\";\nconst SvgCheckedRadio = props => ;\nexport default SvgCheckedRadio;","import React, { ButtonHTMLAttributes, FC } from 'react';\nimport { StyledButton, ButtonContainer } from './button.styled';\n\ninterface ButtonProps extends ButtonHTMLAttributes {\n // Additional custom props if needed\n variant?: string;\n style?: object;\n}\n\nexport const Button: FC = ({\n variant = 'primary',\n children,\n style,\n disabled,\n type = 'button',\n ...rest\n}) => {\n return (\n \n \n {children}\n \n \n );\n};\n","import styled from 'styled-components';\n\ninterface ButtonProps {\n variant?: string;\n disabled?: boolean;\n}\n\nexport const ButtonContainer = styled.div`\n :hover {\n background: ${({ theme, disabled, variant }) =>\n disabled\n ? theme.colors.blue_grey\n : variant === 'primary'\n ? theme.colors.torquiz_light\n : 'transparent'};\n }\n p {\n cursor: ${({ disabled }) =>\n disabled ? 'not-allowed !important' : 'pointer !important'};\n }\n`;\n\nexport const StyledButton = styled.button`\n display: flex;\n padding: 8px 16px;\n align-items: center;\n border-radius: 8px;\n border: none;\n width: 100%;\n height: 100%;\n border: 1px solid\n ${({ theme, variant }) =>\n variant === 'primary' ? 'transparent' : theme.colors.secondary};\n cursor: ${({ disabled }) =>\n disabled ? 'not-allowed !important' : 'pointer !important'};\n background: ${({ theme, disabled, variant }) =>\n disabled\n ? variant === 'primary'\n ? theme.colors.blue_grey\n : 'transparent'\n : variant === 'primary'\n ? theme.colors.secondary\n : 'transparent'};\n justify-content: center;\n align-items: center;\n opacity: ${({ disabled, variant }) =>\n variant !== 'primary' && disabled ? 0.5 : 1};\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\ntype FloatBoxProps = {\n style?: object;\n children: any;\n};\n\nconst FloatBoxBorder = styled.div`\n background: radial-gradient(\n circle at 100% 100%,\n #ffffff 0,\n #ffffff 3px,\n transparent 3px\n )\n 0% 0%/8px 8px no-repeat,\n radial-gradient(circle at 0 100%, #ffffff 0, #ffffff 3px, transparent 3px)\n 100% 0%/8px 8px no-repeat,\n radial-gradient(circle at 100% 0, #ffffff 0, #ffffff 3px, transparent 3px)\n 0% 100%/8px 8px no-repeat,\n radial-gradient(circle at 0 0, #ffffff 0, #ffffff 3px, transparent 3px) 100%\n 100%/8px 8px no-repeat,\n linear-gradient(#ffffff, #ffffff) 50% 50% / calc(100% - 10px)\n calc(100% - 16px) no-repeat,\n linear-gradient(#ffffff, #ffffff) 50% 50% / calc(100% - 16px)\n calc(100% - 10px) no-repeat,\n linear-gradient(0deg, transparent 0%, #0ee6f3 100%),\n radial-gradient(\n 78.09% 72.18% at 100% -0%,\n rgba(150, 242, 255, 0.4) 0%,\n rgba(150, 242, 255, 0) 61.91%\n ),\n linear-gradient(180deg, #2e4c55 0%, #303355 100%);\n border-radius: 8px;\n padding: 1px;\n width: 32px;\n height: 32px;\n`;\n\nconst FloatBoxWrapper = styled.div`\n width: 32px;\n height: 32px;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n background: radial-gradient(\n 78.09% 72.18% at 100% -0%,\n rgba(150, 242, 255, 0.4) 0%,\n rgba(150, 242, 255, 0) 61.91%\n ),\n linear-gradient(180deg, #2e4c55 0%, #303355 100%);\n`;\n\nexport function FloatBox({ children, style = {} }: FloatBoxProps) {\n return (\n \n {children}\n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { Copied, Copy } from '@/assets/icons';\nimport { styled } from 'styled-components';\nimport { Text } from '..';\nimport { useCopyToClipboard } from '@/hooks';\nimport theme from '@/styles/palette';\n\ninterface CodeProps {\n text: string;\n title?: string;\n highlightedWord?: {\n primary: {\n words: string[];\n color: string;\n };\n secondary?: {\n words: string[];\n color: string;\n };\n };\n onCopy?: () => void;\n}\n\nconst CodeBlockContainer = styled.div`\n border-radius: 12px;\n width: 100%;\n border: ${({ theme }) => `1px solid ${theme.colors.dark_blue}`};\n background: ${({ theme }) => theme.colors.dark};\n padding: 16px;\n text-align: start;\n gap: 10px;\n position: relative;\n`;\n\nconst TextWrapper = styled.p`\n font-family: 'IBM Plex Mono', monospace;\n width: 90%;\n`;\n\nconst CopyIconWrapper = styled.span`\n position: absolute;\n right: 16px;\n top: 16px;\n cursor: pointer;\n`;\n\nconst ComponentWrapper = styled.div`\n display: flex;\n flex-direction: column;\n text-align: start;\n gap: 6px;\n width: 100%;\n`;\n\nexport function Code({ text, highlightedWord, title, onCopy }: CodeProps) {\n const [primaryWords, setPrimaryWords] = useState>(\n new Map()\n );\n const [secondaryWords, setSecondaryWords] = useState>(\n new Map()\n );\n\n const { copyToClipboard, clipboardState } = useCopyToClipboard();\n\n useEffect(onload, [highlightedWord]);\n\n function onload() {\n if (highlightedWord) {\n highlightedWord.primary && handleSetPrimaryWords();\n highlightedWord.secondary && handleSetSecondaryWords();\n }\n }\n\n function handleSetPrimaryWords() {\n const primaryWordsMap = new Map();\n highlightedWord?.primary.words.forEach((word) => {\n primaryWordsMap.set(word, word);\n });\n setPrimaryWords(primaryWordsMap);\n }\n\n function handleSetSecondaryWords() {\n const secondaryWordsMap = new Map();\n highlightedWord?.secondary?.words.forEach((word) => {\n secondaryWordsMap.set(word, word);\n });\n setSecondaryWords(secondaryWordsMap);\n }\n\n function getWordColor(word: string) {\n if (primaryWords.has(word)) {\n return highlightedWord?.primary.color;\n }\n if (secondaryWords.has(word)) {\n return highlightedWord?.secondary?.color;\n }\n return theme.colors.white;\n }\n\n function handleCopy() {\n copyToClipboard(text);\n onCopy && onCopy();\n }\n\n return (\n \n {title && {title}}\n \n \n {!clipboardState ? (\n \n ) : (\n \n )}\n \n \n {text.split(' ').map((part, index) => (\n \n {`${part} `}\n \n ))}\n \n \n \n );\n}\n","import * as React from \"react\";\nconst SvgCopy = props => ;\nexport default SvgCopy;","import * as React from \"react\";\nconst SvgCopied = props => ;\nexport default SvgCopied;","import * as React from \"react\";\nconst SvgFolders = props => ;\nexport default SvgFolders;","import * as React from \"react\";\nconst SvgTrash = props => ;\nexport default SvgTrash;","import * as React from \"react\";\nconst SvgCheck = props => ;\nexport default SvgCheck;","import * as React from \"react\";\nconst SvgExpandArrow = props => ;\nexport default SvgExpandArrow;","import * as React from \"react\";\nconst SvgClusterAttr = props => ;\nexport default SvgClusterAttr;","import * as React from \"react\";\nconst SvgDeleteAttr = props => ;\nexport default SvgDeleteAttr;","import * as React from \"react\";\nconst SvgRenameAttr = props => ;\nexport default SvgRenameAttr;","import AddClusterInfo from './cluster-attr.svg';\nimport DeleteAttribute from './delete-attr.svg';\nimport RenameAttribute from './rename-attr.svg';\n// Define the type for the ACTION_ICONS object\ninterface ActionIcons {\n [key: string]: any;\n}\n\n// Define the ACTION_ICONS with explicit types\nexport const ACTION_ICONS: ActionIcons = {\n AddClusterInfo: AddClusterInfo,\n RenameAttribute: RenameAttribute,\n DeleteAttribute: DeleteAttribute,\n};\n","const BASE_URL = 'https://d1n7d4xz7fr8b4.cloudfront.net/';\n\nexport const LANGUAGES_LOGOS = {\n java: `${BASE_URL}java.png`,\n go: `${BASE_URL}go.png`,\n javascript: `${BASE_URL}nodejs.png`,\n python: `${BASE_URL}python.png`,\n dotnet: `${BASE_URL}dotnet.png`,\n default: `${BASE_URL}default.png`,\n mysql: `${BASE_URL}mysql.png`,\n unknown: `${BASE_URL}default.svg`, // TODO: good icon\n processing: `${BASE_URL}default.svg`, // TODO: good icon\n 'no containers': `${BASE_URL}default.svg`, // TODO: good icon\n};\n\nexport const LANGUAGES_COLORS = {\n java: '#B07219',\n go: '#00ADD8',\n javascript: '#F7DF1E',\n python: '#306998',\n dotnet: '#512BD4',\n mysql: '#00758F',\n};\n","import { useEffect, RefObject } from \"react\";\n\ntype Event = MouseEvent | TouchEvent;\n\nexport function useOnClickOutside(\n ref: RefObject,\n handler: (event: Event) => void\n) {\n useEffect(() => {\n const listener = (event: Event) => {\n const el = ref?.current;\n if (el?.contains(event?.target as Node)) return null;\n\n // Call the handler only if the click is outside of the element passed.\n handler(event);\n };\n\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [ref, handler]);\n}\n","import { useEffect, useState } from 'react';\n\nexport function useCopyToClipboard() {\n const [clipboardState, setClipboardState] = useState(false);\n\n async function copyToClipboard(text: string) {\n if (navigator.clipboard) {\n try {\n await navigator.clipboard.writeText(text);\n setClipboardState(true);\n } catch (error) {\n setClipboardState(false);\n }\n } else {\n setClipboardState(false);\n }\n }\n\n return { clipboardState, copyToClipboard };\n}\n","import { DefaultTheme } from 'styled-components';\n\n// Define your color palette\nconst colors = {\n primary: '#07111A',\n secondary: '#0EE6F3',\n torquiz_light: '#96F2FF',\n dark: '#07111A',\n data_flow_bg: '#0E1C28',\n light_dark: '#132330',\n dark_blue: '#203548',\n light_grey: '#CCD0D2',\n blue_grey: '#374A5B',\n white: '#fff',\n error: '#FD3F3F',\n traces: '#4CAF50',\n logs: '#8B4513',\n metrics: '#FFD700',\n};\n\nconst text = {\n primary: '#07111A',\n secondary: '#0EE6F3',\n white: '#fff',\n light_grey: '#CCD0D2',\n grey: '#8b92a5',\n dark_button: '#0A1824',\n};\n\nconst font_family = {\n primary: 'Inter',\n};\n\n// Define the theme interface\ninterface ThemeInterface extends DefaultTheme {\n colors: typeof colors;\n text: typeof text;\n font_family: typeof font_family;\n}\n\n// Create your theme object\nconst theme: ThemeInterface = {\n colors,\n text,\n font_family,\n};\n\n// Export the theme\nexport default theme;\n","'use client';\nimport React from 'react';\nimport { CardContainer, CardHeader } from './card.styled';\nimport { Text } from '../text/text';\n\ninterface CardProps {\n children?: JSX.Element | JSX.Element[];\n focus?: any;\n type?: string;\n header?: {\n title?: string;\n subtitle?: string;\n body?: () => JSX.Element | JSX.Element[];\n };\n}\n\nexport function Card({\n children,\n focus = false,\n type = 'primary',\n header,\n}: CardProps) {\n function renderHeader() {\n if (header?.body) {\n return header?.body();\n }\n return (\n <>\n \n {header?.title}\n \n \n {header?.subtitle}\n \n \n );\n }\n\n return (\n \n {header && {renderHeader()}}\n {children}\n \n );\n}\n","import styled from 'styled-components';\n\ninterface CardContainerProps {\n selected?: any;\n type?: string;\n}\n\nexport const CardContainer = styled.div`\n display: inline-flex;\n position: relative;\n height: fit-content;\n flex-direction: column;\n border-radius: 24px;\n height: 100%;\n border: ${({ selected, theme, type }) =>\n `1px solid ${\n selected\n ? theme.colors.secondary\n : type === 'primary'\n ? theme.colors.dark_blue\n : '#374a5b'\n }`};\n background: ${({ theme, type }) =>\n type === 'primary' ? theme.colors.dark : '#0E1C28'};\n box-shadow: ${({ type }) =>\n type === 'primary'\n ? 'none'\n : '0px -6px 16px 0px rgba(0, 0, 0, 0.25),4px 4px 16px 0px rgba(71, 231, 241, 0.05),-4px 4px 16px 0px rgba(71, 231, 241, 0.05)'};\n`;\n\nexport const CardHeader = styled(CardContainer)`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: fit-content;\n gap: 16px;\n padding: 24px 0px;\n box-shadow: none;\n`;\n","import { Text } from '@/design.system/text/text';\nimport React from 'react';\nimport styled from 'styled-components';\n\ninterface TagProps {\n title: string;\n color?: string;\n}\n\nconst TagWrapper = styled.div`\n display: flex;\n padding: 4px 8px;\n align-items: flex-start;\n gap: 10px;\n border-radius: 10px;\n width: fit-content;\n`;\n\nexport function Tag({ title = '', color = '#033869' }: TagProps) {\n return (\n \n \n {title}\n \n \n );\n}\n","import { Text } from '@/design.system/text/text';\nimport React from 'react';\nimport styled from 'styled-components';\n\ninterface TapProps {\n icons: object;\n title?: string;\n tapped?: boolean;\n onClick?: any;\n children?: React.ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface TapWrapperProps {\n selected?: any;\n}\n\nconst TapWrapper = styled.div`\n display: flex;\n padding: 8px 14px;\n align-items: flex-end;\n gap: 10px;\n border-radius: 16px;\n border: ${({ theme, selected }) =>\n `1px solid ${selected ? 'transparent' : theme.colors.dark_blue}`};\n background: ${({ theme, selected }) =>\n selected ? theme.colors.dark_blue : 'transparent'};\n`;\n\nexport function Tap({\n title = '',\n tapped,\n children,\n style,\n onClick,\n}: TapProps) {\n return (\n \n {children}\n \n {title}\n \n \n );\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport Open from '@/assets/icons/expand-arrow.svg';\nimport {\n DropdownHeader,\n DropdownWrapper,\n DropdownBody,\n DropdownItem,\n DropdownListWrapper,\n LabelWrapper,\n} from './drop.down.styled';\nimport { Text } from '../text/text';\nimport { SearchInput } from '../search.input/search.input';\nimport { useOnClickOutside } from '@/hooks';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n\ninterface DropDownItem {\n id: number | string;\n label: string;\n}\ninterface DropDownProps {\n data: DropDownItem[];\n onChange: (item: DropDownItem) => void;\n width?: number;\n value?: DropDownItem | null;\n label?: string;\n tooltip?: string;\n required?: boolean;\n}\n\nconst SELECTED_ITEM = 'Select item';\nconst CONTAINER_STYLE = {\n width: '90%',\n border: 'none',\n background: 'transparent',\n};\nconst SEARCH_INPUT_STYLE = { background: 'transparent' };\n\nexport function DropDown({\n data = [],\n onChange,\n width = 260,\n value,\n label,\n tooltip,\n required,\n}: DropDownProps) {\n const [isOpen, setOpen] = useState(false);\n const [selectedItem, setSelectedItem] = useState(value || null);\n const [isHover, setHover] = useState(false);\n const [searchFilter, setSearchFilter] = useState('');\n\n const containerRef = useRef(null);\n\n useEffect(() => {\n value && setSelectedItem(value);\n }, [value]);\n\n useOnClickOutside(containerRef, () => setOpen(false));\n\n const toggleDropdown = () => setOpen(!isOpen);\n\n const handleItemClick = (item: DropDownItem) => {\n onChange(item);\n setSelectedItem(item);\n setSearchFilter('');\n setOpen(false);\n };\n\n function getDropdownList() {\n return searchFilter\n ? data?.filter((item: any) =>\n item?.label.toLowerCase().includes(searchFilter.toLowerCase())\n )\n : data;\n }\n\n return (\n <>\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n
\n setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={toggleDropdown}\n >\n \n {selectedItem ? selectedItem.label : SELECTED_ITEM}\n \n \n \n {isOpen && (\n \n setSearchFilter(e.target.value)}\n placeholder=\"Search\"\n containerStyle={CONTAINER_STYLE}\n inputStyle={SEARCH_INPUT_STYLE}\n showClear={false}\n />\n \n {getDropdownList().map((item) => (\n handleItemClick(item)}\n >\n {item.label}\n \n ))}\n \n \n )}\n
\n \n );\n}\n","import styled from 'styled-components';\n\ninterface DropdownWrapperProps {\n selected?: any;\n}\n\nexport const DropdownWrapper = styled.div`\n position: relative;\n z-index: 999;\n width: 100%;\n padding: 11px 4px;\n border-radius: 8px;\n cursor: pointer;\n border: ${({ selected, theme }) =>\n `1px solid ${selected ? theme.colors.white : theme.colors.blue_grey}`};\n /* background: ${({ theme }) => theme.colors.dark}; */\n\n .dropdown-arrow {\n transform: rotate(0deg);\n transition: all 0.2s ease-in-out;\n }\n\n .dropdown-arrow.open {\n transform: rotate(180deg);\n }\n`;\n\nexport const DropdownHeader = styled.div`\n padding: 0 12px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: ${({ theme }) => theme.text.white};\n font-size: 14px;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-weight: 400;\n`;\n\nexport const DropdownBody = styled.div`\n position: relative;\n z-index: 1000;\n display: flex;\n width: 100%;\n padding: 11px 4px;\n flex-direction: column;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n margin-top: 5px;\n`;\n\nexport const DropdownListWrapper = styled.div`\n position: relative;\n\n z-index: 1000;\n width: 100%;\n max-height: 270px;\n overflow-y: scroll;\n scrollbar-width: none;\n :hover {\n background: ${({ theme }) => theme.colors.dark_blue};\n }\n`;\n\nexport const DropdownItem = styled.div`\n display: flex;\n padding: 7px 12px;\n justify-content: space-between;\n align-items: center;\n border-radius: 8px;\n cursor: pointer;\n p {\n cursor: pointer !important;\n }\n`;\nexport const LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n","import React from 'react';\nimport { SearchInputWrapper, StyledSearchInput } from './search.input.styled';\nimport Glass from '@/assets/icons/glass.svg';\nimport X from '@/assets/icons/X.svg';\n\ninterface SearchInputProps {\n placeholder?: string;\n value?: string;\n onChange?: (e: any) => void;\n loading?: boolean;\n containerStyle?: any;\n inputStyle?: any;\n showClear?: boolean;\n}\n\nexport function SearchInput({\n placeholder = 'Search',\n value = '',\n onChange = () => {},\n loading = false,\n containerStyle = {},\n inputStyle = {},\n showClear = true,\n}: SearchInputProps) {\n const clear = value\n ? () =>\n onChange({\n target: {\n value: '',\n },\n })\n : () => {};\n\n return (\n \n \n \n\n {showClear && (\n
\n {' '}\n \n
\n )}\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface ActiveProps {\n active?: any;\n}\n\nexport const SearchInputWrapper = styled.div`\n position: relative;\n display: flex;\n width: 340px;\n padding: 9px 13px;\n gap: 10px;\n border-radius: 8px;\n border: ${({ active, theme }) =>\n `1px solid ${active ? theme.colors.white : theme.colors.blue_grey}`};\n background: ${({ active, theme }) =>\n `${active ? theme.colors.dark : theme.colors.light_dark}`};\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.colors.white}`};\n }\n`;\n\nexport const StyledSearchInput = styled.input`\n width: 85%;\n background: ${({ active, theme }) =>\n `${active ? theme.colors.dark : \"transparent\"}`};\n border: none;\n outline: none;\n color: ${({ active, theme }) =>\n `${active ? theme.colors.white : theme.text.grey}`};\n font-size: 14px;\n font-family: ${({ theme }) => theme.font_family.primary}, sans-serif;\n font-weight: 400;\n &:focus {\n color: ${({ theme }) => `solid 1px ${theme.colors.white}`};\n }\n`;\n","import * as React from \"react\";\nconst SvgGlass = props => ;\nexport default SvgGlass;","import * as React from \"react\";\nconst SvgX = props => ;\nexport default SvgX;","import * as React from \"react\";\nconst SvgQuestion = props => ;\nexport default SvgQuestion;","import Question from '@/assets/icons/question.svg';\nimport React, { useState, ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\n\n// Styled tooltip container\nconst TooltipContainer = styled.div`\n display: inline-flex;\n align-items: center; // Align children and icon vertically\n position: relative;\n`;\n\n// Styled icon (using a simple div here, but you can replace it with an actual icon component)\nconst Icon = styled.div`\n margin-left: 8px;\n display: flex;\n align-items: center;\n`;\n\n// Styled tooltip text\nconst TooltipText = styled.div<{ isVisible: boolean }>`\n visibility: ${({ isVisible }) => (isVisible ? 'visible' : 'hidden')};\n background-color: black;\n color: white;\n text-align: center;\n border-radius: 6px;\n padding: 5px 10px;\n max-width: 300px;\n width: 100%;\n text-align: left;\n /* Position the tooltip above the icon */\n position: absolute;\n z-index: 1;\n bottom: 100%;\n left: 50%;\n transform: translateX(-0%);\n margin-bottom: 5px; // Space between the tooltip and the icon\n\n /* Fade in animation */\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n transition: opacity 0.3s;\n`;\n\ninterface TooltipProps {\n children: ReactNode;\n text: string;\n icon?: ReactNode;\n showIcon?: boolean;\n}\n\nexport const Tooltip: React.FC = ({\n children,\n text,\n icon = '?',\n showIcon = true,\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n\n const showTooltip = () => setIsVisible(true);\n const hideTooltip = () => setIsVisible(false);\n\n if (!text) return <>{children};\n\n return (\n \n {children}\n \n \n {text}\n \n \n {showIcon && (\n \n \n \n )}\n \n );\n};\n","import React from \"react\";\nimport { Text } from \"../text/text\";\nimport {\n SwitchButtonWrapper,\n SwitchInputWrapper,\n SwitchToggleWrapper,\n} from \"./switch.styled\";\n\ninterface SwitchProps {\n toggle: boolean;\n handleToggleChange: () => void;\n style?: object;\n label?: string;\n}\n\nexport function Switch({\n toggle,\n handleToggleChange,\n style,\n label = \"Select All\",\n}: SwitchProps) {\n return (\n \n \n \n \n {label && {label}}\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface SwitchToggleWrapperProps {\n active?: any;\n}\n\ninterface SwitchToggleBtnProps {\n disabled: boolean | undefined;\n}\n\nexport const SwitchInputWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\nexport const SwitchToggleWrapper = styled.div`\n position: relative;\n width: 30px;\n height: 16px;\n background-color: ${({ active, theme }) =>\n active ? theme.colors.secondary : theme.text.grey};\n cursor: pointer;\n user-select: none;\n border-radius: 20px;\n padding: 2px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const SwitchButtonWrapper = styled.span`\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n width: 14px;\n height: 14px;\n cursor: pointer;\n color: #fff;\n background-color: ${({ disabled, theme }) =>\n !disabled ? theme.text.light_grey : theme.text.white};\n box-shadow: 0 2px 4px rgb(0, 0, 0, 0.25);\n border-radius: 100%;\n position: absolute;\n transition: all 0.2s ease;\n left: ${({ disabled }) => (!disabled ? 2 : 18)}px;\n`;\n","import React from 'react';\nimport { Text } from '../text/text';\nimport { CheckboxWrapper, CheckboxItem } from './checkbox.styled';\nimport Checked from '../../assets/icons/checkbox-rect.svg';\n\ninterface CheckboxProps {\n value: boolean;\n onChange: () => void;\n label?: string;\n disabled?: boolean;\n}\n\nexport function Checkbox({\n onChange,\n value,\n label = '',\n disabled = false,\n}: CheckboxProps) {\n return (\n \n {value ? : }\n {label}\n \n );\n}\n","import { styled } from \"styled-components\";\n\ninterface CheckboxWrapperProps {\n disabled?: boolean;\n}\n\nexport const CheckboxWrapper = styled.div`\n display: flex;\n gap: 8px;\n align-items: center;\n cursor: ${({ disabled }) => (disabled ? \"not-allowed\" : \"pointer\")};\n pointer-events: ${({ disabled }) => (disabled ? \"none\" : \"auto\")};\n opacity: ${({ disabled }) => (disabled ? \"0.5\" : \"1\")};\n`;\n\nexport const CheckboxItem = styled.span`\n width: 16px;\n height: 16px;\n border: ${({ theme }) => `solid 1px ${theme.colors.light_grey}`};\n border-radius: 4px;\n`;\n","import * as React from \"react\";\nconst SvgCheckboxRect = props => ;\nexport default SvgCheckboxRect;","import React from \"react\";\nimport { SelectedCounterWrapper } from \"./selected.counter.styled\";\nimport Checked from \"@/assets/icons/check.svg\";\nimport { Text } from \"../text/text\";\n\ninterface SelectedCounterProps {\n total: number;\n selected: number;\n}\n\nexport function SelectedCounter({ total, selected }: SelectedCounterProps) {\n return (\n \n {selected !== 0 && }\n {`${selected} / ${total}`}\n \n );\n}\n","import styled from \"styled-components\";\n\nexport const SelectedCounterWrapper = styled.div`\n display: flex;\n padding: 4px;\n align-items: center;\n gap: 4px;\n border-radius: 14px;\n background: ${({ theme }) => theme.colors.dark_blue};\n`;\n","import React from 'react';\nimport { Text } from '../text/text';\nimport { styled } from 'styled-components';\nimport theme from '@/styles/palette';\n\ninterface LinkProps {\n value: string;\n onClick?: () => void;\n fontSize?: number;\n color?: string;\n}\n\nconst LinkContainer = styled.div`\n cursor: pointer;\n .p {\n cursor: pointer !important;\n }\n`;\n\nexport function Link({\n value,\n onClick,\n fontSize = 16,\n color = theme.colors.secondary,\n}: LinkProps) {\n return (\n \n \n {value}\n \n \n );\n}\n","import Image from \"next/image\";\nimport React from \"react\";\n\ninterface ImageProps {\n src: string;\n alt?: string;\n width?: number;\n height?: number;\n style?: React.CSSProperties;\n}\n\nconst IMAGE_STYLE: React.CSSProperties = {\n borderRadius: 10,\n};\n\nexport function ImageComponent({\n src,\n alt = \"\",\n width = 56,\n height = 56,\n style = {},\n}: ImageProps) {\n return (\n \n );\n}\n","import React, { ChangeEvent, InputHTMLAttributes, useState } from 'react';\nimport {\n StyledInputContainer,\n StyledInput,\n ErrorWrapper,\n LabelWrapper,\n DisplayIconsWrapper,\n} from './input.styled';\nimport { Text } from '../text/text';\nimport EyeOpenIcon from '@/assets/icons/eye-open.svg';\nimport EyeCloseIcon from '@/assets/icons/eye-close.svg';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n\ninterface InputProps extends Omit, 'onChange'> {\n label?: string;\n onChange: (value: string) => void;\n error?: string;\n style?: React.CSSProperties;\n tooltip?: string;\n}\n\nexport function Input({\n label,\n value,\n onChange,\n type = 'text',\n error = '',\n style = {},\n onKeyDown,\n tooltip,\n required,\n autoComplete = \"off\",\n ...rest\n}: InputProps): JSX.Element {\n const [showPassword, setShowPassword] = useState(false);\n\n function handleChange(event: ChangeEvent): void {\n onChange(event.target.value);\n }\n\n return (\n
\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n {type === 'password' && (\n setShowPassword(!showPassword)}>\n {!showPassword ? (\n \n ) : (\n \n )}\n \n )}\n \n {error && (\n \n \n {error}\n \n \n )}\n
\n );\n}\n","import { styled } from 'styled-components';\n\ninterface ActiveProps {\n active?: any;\n error: boolean | undefined;\n}\n\nexport const StyledInputContainer = styled.div`\n position: relative;\n display: flex;\n width: 100%;\n padding-left: 13px;\n height: 100%;\n min-height: 37px;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme, error, active }) =>\n `1px solid ${\n error\n ? theme.colors.error\n : active\n ? theme.text.grey\n : theme.colors.blue_grey\n }`};\n background: ${({ theme }) => theme.colors.light_dark};\n\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.text.grey}`};\n }\n`;\n\nexport const StyledActionInputContainer = styled.div`\n position: relative;\n display: flex;\n width: 100%;\n padding: 0px 12px;\n height: 100%;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n border-radius: 4px;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n`;\n\nexport const StyledInput = styled.input`\n background: transparent;\n border: none;\n outline: none;\n width: 96%;\n color: ${({ theme }) => theme.text.white};\n`;\n\nexport const StyledActionInput = styled(StyledInput)`\n color: var(--dark-mode-white, #fff);\n font-family: Inter, sans-serif;\n font-size: 24px;\n`;\n\nexport const LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n\nexport const ErrorWrapper = styled.div`\n margin-top: 4px;\n`;\n\nexport const DisplayIconsWrapper = styled.div`\n position: absolute;\n right: 10px;\n cursor: pointer;\n`;\n","import * as React from \"react\";\nconst SvgEyeOpen = props => ;\nexport default SvgEyeOpen;","import * as React from \"react\";\nconst SvgEyeClose = props => ;\nexport default SvgEyeClose;","import React, { ChangeEvent } from 'react';\nimport { StyledActionInputContainer, StyledActionInput } from './input.styled';\nimport { Button } from '../button/button';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\n\ninterface InputProps {\n value: string;\n onAction: () => void;\n onChange: (value: string) => void;\n type?: string;\n style?: React.CSSProperties;\n}\n\nexport function ActionInput({\n value,\n onChange,\n style = {},\n onAction,\n}: InputProps): JSX.Element {\n function handleChange(event: ChangeEvent): void {\n onChange(event.target.value);\n }\n\n return (\n <>\n \n \n\n \n \n \n );\n}\n","import React, { useState } from \"react\";\nimport CloseIcon from \"@/assets/icons/close.svg\";\nimport PlayerIcon from \"@/assets/icons/player.svg\";\nimport { Text } from \"../text/text\";\nimport {\n ImagePreviewWrapper,\n PlayerIconWrapper,\n LargePlayerIconWrapper,\n StyledLargeVideo,\n LargeVideoHeader,\n LargeVideoContainer,\n} from \"./video.styled\";\n\ntype VideoComponentProps = {\n videoSrc: string;\n title?: string;\n thumbnail?: string | undefined;\n};\n\nexport function Video({ videoSrc, title, thumbnail }: VideoComponentProps) {\n const [isLarge, setIsLarge] = useState(false);\n const [pause, setPause] = useState(true);\n\n const handleClick = (): void => {\n setIsLarge(true);\n };\n\n const handleClose = (): void => {\n setIsLarge(false);\n setPause(true);\n };\n\n const renderSmallView = (): JSX.Element => (\n <>\n \n {title}\n \n \n \n \n \n \n \n );\n\n const renderLargeView = (): JSX.Element => (\n \n \n \n {title}\n \n \n \n {!pause ? (\n \n ) : (\n setPause(false)}\n >\n \n \n \n \n )}\n \n );\n\n return
{isLarge ? renderLargeView() : renderSmallView()}
;\n}\n","import * as React from \"react\";\nconst SvgClose = props => ;\nexport default SvgClose;","import * as React from \"react\";\nconst SvgPlayer = props => ;\nexport default SvgPlayer;","import { styled } from \"styled-components\";\n\ninterface ImagePreviewWrapperProps {\n url: string | undefined;\n}\n\nexport const ImagePreviewWrapper = styled.div`\n position: relative;\n margin-top: 8px;\n border-radius: 8px;\n width: 240px;\n height: 140px;\n cursor: pointer;\n background: ${({ url }) => `linear-gradient(\n 0deg,\n rgba(2, 20, 30, 0.2) 0%,\n rgba(2, 20, 30, 0.2) 100%\n ),\n url(${url}),\n lightgray 50%`};\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n`;\n\nexport const PlayerIconWrapper = styled.div`\n position: absolute;\n margin-left: auto;\n margin-right: auto;\n left: 0;\n right: 0;\n top: 30px;\n text-align: center;\n`;\nexport const LargePlayerIconWrapper = styled(PlayerIconWrapper)`\n top: 40%;\n`;\n\nexport const StyledLargeVideo = styled.video`\n width: 980px;\n border-radius: 8px;\n`;\n\nexport const LargeVideoHeader = styled.div`\n width: 980px;\n\n display: flex;\n justify-content: space-between;\n margin-bottom: 21px;\n`;\n\nexport const LargeVideoContainer = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background: rgba(0, 0, 0, 0.65);\n z-index: 9999;\n`;\n","import React from 'react';\nimport { StyledLoader, LoaderWrapper } from './loader.styled';\n\ninterface LoaderProps {\n width?: number;\n height?: number;\n}\n\nexport function Loader({ width, height }: LoaderProps) {\n return (\n \n \n \n );\n}\n","import styled from 'styled-components';\n\nexport const LoaderWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n`;\n\nexport const StyledLoader = styled.div<{\n width?: number | undefined;\n height?: number | undefined;\n}>`\n width: ${({ width }) => width || 48}px;\n height: ${({ height }) => height || 48}px;\n border: 4px solid;\n border-color: ${({ theme }) =>\n `${theme.colors.secondary} ${theme.colors.secondary} ${theme.colors.secondary} transparent`};\n border-radius: 50%;\n animation: spin-anim 1.2s linear infinite;\n\n @keyframes spin-anim {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n","import React, { useEffect } from \"react\";\nimport {\n NotificationContainer,\n StyledNotification,\n} from \"./notification.styled\";\nimport { Text } from \"../text/text\";\nimport CloseIcon from \"@/assets/icons/X-blue.svg\";\nimport SuccessIcon from \"@/assets/icons/success-notification.svg\";\nimport ErrorIcon from \"@/assets/icons/error-notification.svg\";\n\ninterface NotificationProps {\n type: \"success\" | \"error\" | \"warning\" | \"info\";\n message: string;\n onClose?: () => void;\n}\n\nexport function Notification({ type, message, onClose }: NotificationProps) {\n useEffect(() => {\n const id = setTimeout(() => {\n onClose && onClose();\n }, 5000);\n\n return () => {\n clearTimeout(id);\n };\n }, []);\n\n function getIcon() {\n switch (type) {\n case \"success\":\n return ;\n case \"error\":\n return ;\n }\n }\n\n function getNotificationStyle() {\n switch (type) {\n case \"error\":\n return { border: \"1px solid #FD3F3F\" };\n default:\n return {};\n }\n }\n\n return (\n \n \n {getIcon()}\n \n {message}\n \n \n \n \n );\n}\n","import styled from 'styled-components';\n\nexport const NotificationContainer = styled.div`\n position: fixed;\n top: 3%;\n right: 3%;\n`;\n\nexport const StyledNotification = styled.div`\n display: flex;\n padding: 6px 16px 6px 8px;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n background: ${({ theme }) => theme.colors.dark_blue};\n svg {\n cursor: pointer;\n }\n`;\n","import * as React from \"react\";\nconst SvgXBlue = props => ;\nexport default SvgXBlue;","import * as React from \"react\";\nconst SvgSuccessNotification = props => ;\nexport default SvgSuccessNotification;","import * as React from \"react\";\nconst SvgErrorNotification = props => ;\nexport default SvgErrorNotification;","'use client';\nimport React, { useEffect } from 'react';\nimport ReactFlow, {\n Background,\n useReactFlow,\n ReactFlowProvider,\n} from 'reactflow';\nimport { IDataFlow } from './types';\nimport theme from '@/styles/palette';\nimport ActionNode from './action.node.tsx';\nimport CenterNode from './keyval.middleware';\nimport NamespaceNode from './namespace.node.tsx';\nimport DestinationNode from './destination.node.tsx';\nimport SourceNode from './source.node.tsx';\nimport { DataFlowContainer } from './data.flow.styled';\nimport 'reactflow/dist/style.css';\nimport { DataFlowControlPanel } from './control.panel.tsx';\n\nconst backgroundColor = theme.colors.data_flow_bg;\n\nconst nodeTypes = {\n custom: CenterNode,\n namespace: NamespaceNode,\n destination: DestinationNode,\n action: ActionNode,\n source: SourceNode,\n};\n\nfunction DataFlow({ nodes, edges, ...rest }: IDataFlow) {\n const { fitView } = useReactFlow();\n\n useEffect(() => {\n setTimeout(() => {\n fitView();\n }, 100);\n }, [fitView, nodes, edges]);\n\n return (\n \n \n \n \n \n \n );\n}\n\nexport function KeyvalDataFlow(props: IDataFlow) {\n return (\n \n \n \n );\n}\n","import React, { memo } from 'react';\nimport { Handle, Position } from 'reactflow';\nimport styled from 'styled-components';\nimport { Text } from '@/design.system';\nimport { ACTION_ICONS } from '@/assets';\nimport theme from '@/styles/palette';\n\nconst ActionContainer = styled.div`\n display: flex;\n flex-direction: column;\n padding: 8px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n gap: 4px;\n min-width: 80px;\n`;\n\nconst TextWrapper = styled.div`\n max-width: 72px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst SignalIndicator = styled.span<{ backgroundColor: string }>`\n background-color: ${({ backgroundColor }) => backgroundColor};\n width: 8px;\n height: 8px;\n border-radius: 8px;\n`;\n\nconst IconWrapper = styled.div`\n width: 24px;\n height: 24px;\n`;\n\ninterface ActionNodeProps {\n data: {\n type: string;\n spec?: {\n actionName?: string;\n signals: string[];\n };\n };\n isConnectable: boolean;\n}\n\nexport default memo(({ data, isConnectable }: ActionNodeProps) => {\n const ActionIcon = ACTION_ICONS[data.type] ? ACTION_ICONS[data.type] : null;\n\n return (\n \n \n {ActionIcon && (\n \n \n \n )}\n \n \n {data?.spec?.actionName || 'Action'}\n \n \n \n {data.spec?.signals.map((monitor: string) => (\n \n ))}\n \n \n \n );\n});\n","import React from 'react';\nimport { Handle, Position } from 'reactflow';\nimport styled, { keyframes } from 'styled-components';\nconst flickerAnimation = keyframes`\n 0% {\n opacity: 1;\n\n }\n 100% {\n opacity: 0.5;\n }\n`;\n\nconst FlickerWrapper = styled.div`\n width: 120px;\n height: 120px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 60px;\n position: relative;\n z-index: 90;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 60px;\n background: #110c1f55;\n z-index: -1;\n animation: ${flickerAnimation} 1s infinite alternate;\n }\n`;\n\nconst InnerWrapper = styled.div`\n width: 100px;\n height: 100px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50px;\n border: solid 1px #3a3a3a76;\n background: #110c1f7d;\n`;\n\nconst LogoContainer = styled.div`\n width: 80px;\n height: 80px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 40px;\n border: solid 1px #3a3a3aa9;\n background: #110c1f;\n position: relative;\n z-index: 99;\n`;\n\n// TypeScript Props Interface\ninterface OdigosCenterNodeProps {\n isConnectable: boolean;\n}\n\nconst OdigosCenterNode: React.FC = ({\n isConnectable,\n}) => {\n return (\n \n \n \n {/* \"logo\" */}\n \n \n \n \n \n \n );\n};\n\nexport default OdigosCenterNode;\n","import React, { memo } from 'react';\nimport { Handle, Position } from 'reactflow';\nimport { styled } from 'styled-components';\nimport { Text } from '@/design.system';\nimport { Folder } from '@/assets/icons/overview';\n\nconst NamespaceContainer = styled.div`\n display: flex;\n padding: 16px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n width: 272px;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 10px;\n`;\n\nexport default memo(({ data, isConnectable }: any) => {\n return (\n \n \n \n \n {data?.name}\n \n {data?.totalAppsInstrumented && (\n {`${data.totalAppsInstrumented} Apps Instrumented`}\n )}\n \n \n \n );\n});\n","import * as React from \"react\";\nconst SvgMiddleware = props => ;\nexport default SvgMiddleware;","import * as React from \"react\";\nconst SvgFolder = props => ;\nexport default SvgFolder;","import React from 'react';\nimport theme from '@/styles/palette';\nimport { Text } from '@/design.system';\nimport { styled } from 'styled-components';\nimport { Handle, Position } from 'reactflow';\nimport { MONITORING_OPTIONS } from './monitors';\n\ninterface IconWrapperProps {\n tapped?: boolean | undefined | string;\n}\n\nconst DestinationNodeContainer = styled.div`\n padding: 16px 24px;\n display: flex;\n border-radius: 12px;\n gap: 8px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n justify-content: space-between;\n width: 430px;\n`;\n\nexport const NodeDataWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 8px;\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\n\nconst IMAGE_STYLE: React.CSSProperties = {\n backgroundColor: '#fff',\n padding: 4,\n borderRadius: 10,\n};\n\nconst IconWrapper = styled.div`\n padding: 4px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 100%;\n opacity: ${({ tapped }) => (tapped ? 1 : 0.4)};\n`;\n\nconst MonitorsListWrapper = styled.div`\n display: flex;\n gap: 8px;\n`;\n\nexport default function DestinationNode({ data, isConnectable }: any) {\n function renderMonitors() {\n return MONITORING_OPTIONS.map((monitor) => (\n \n {data?.signals?.[monitor?.type]\n ? monitor.icons.focus()\n : monitor.icons.notFocus()}\n \n ));\n }\n\n return (\n \n \n \n \n {data?.name}\n \n {data?.destination_type?.display_name}\n \n \n \n {renderMonitors()}\n \n \n );\n}\n","import * as React from \"react\";\nconst SvgLogsGrey = props => ;\nexport default SvgLogsGrey;","import * as React from \"react\";\nconst SvgLogsBlue = props => ;\nexport default SvgLogsBlue;","import * as React from \"react\";\nconst SvgChartLineGrey = props => ;\nexport default SvgChartLineGrey;","import * as React from \"react\";\nconst SvgChartLineBlue = props => ;\nexport default SvgChartLineBlue;","import * as React from \"react\";\nconst SvgTreeStructureGrey = props => ;\nexport default SvgTreeStructureGrey;","import * as React from \"react\";\nconst SvgTreeStructureBlue = props => ;\nexport default SvgTreeStructureBlue;","import Logs from '@/assets/icons/logs-grey.svg';\nimport LogsFocus from '@/assets/icons/logs-blue.svg';\nimport Metrics from '@/assets/icons/chart-line-grey.svg';\nimport MetricsFocus from '@/assets/icons/chart-line-blue.svg';\nimport Traces from '@/assets/icons/tree-structure-grey.svg';\nimport TracesFocus from '@/assets/icons/tree-structure-blue.svg';\n\nconst MONITORS = {\n LOGS: 'Logs',\n METRICS: 'Metrics',\n TRACES: 'Traces',\n};\n\nexport type MonitoringOption = {\n title: string;\n tapped: boolean;\n icons: object;\n id: number;\n};\n\nexport const MONITORING_OPTIONS = [\n {\n id: 1,\n icons: {\n notFocus: () => Logs(),\n focus: () => LogsFocus(),\n },\n title: MONITORS.LOGS,\n type: 'logs',\n tapped: true,\n },\n {\n id: 2,\n icons: {\n notFocus: () => Metrics(),\n focus: () => MetricsFocus(),\n },\n title: MONITORS.METRICS,\n type: 'metrics',\n tapped: true,\n },\n {\n id: 3,\n icons: {\n notFocus: () => Traces(),\n focus: () => TracesFocus(),\n },\n title: MONITORS.TRACES,\n type: 'traces',\n tapped: true,\n },\n];\n","import React, { memo } from 'react';\nimport Image from 'next/image';\nimport styled from 'styled-components';\nimport { Text } from '@/design.system';\nimport { LANGUAGES_LOGOS } from '@/assets';\nimport { Handle, Position } from 'reactflow';\n\nconst NamespaceContainer = styled.div`\n display: flex;\n padding: 16px;\n border-radius: 12px;\n border: ${({ theme }) => `solid 1px ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n align-items: center;\n width: 272px;\n gap: 8px;\n`;\n\nconst TextWrapper = styled.div`\n gap: 4px;\n display: flex;\n flex-direction: column;\n`;\n\nconst ImageWrapper = styled.div`\n padding: 4px;\n background-color: #fff;\n border-radius: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\ninterface NamespaceNodeProps {\n data: {\n namespace?: string;\n name?: string;\n languages?: { language: keyof typeof LANGUAGES_LOGOS }[];\n };\n isConnectable: boolean;\n}\n\nexport default memo(({ data, isConnectable }: NamespaceNodeProps) => {\n const languageKey = data?.languages?.[0]?.language || 'default';\n const lan = LANGUAGES_LOGOS[languageKey];\n\n return (\n \n \n {''}\n \n \n {data.namespace}\n \n {data?.name}\n \n \n \n \n );\n});\n","import styled from 'styled-components';\n\nexport const DataFlowContainer = styled.div`\n width: 100%;\n height: 100%;\n`;\n\nexport const ControllerWrapper = styled.div`\n button {\n display: flex;\n padding: 8px;\n align-items: center;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: #0e1c28 !important;\n margin-bottom: 8px;\n }\n\n .react-flow__controls button path {\n fill: #fff;\n }\n`;\n","// Import React and necessary components\nimport React, { useEffect, useState } from 'react';\nimport 'reactflow/dist/style.css';\nimport { Controls } from 'reactflow';\nimport theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport { Text } from '../text/text.tsx';\nimport Open from '@/assets/icons/expand-arrow.svg';\nimport { ControllerWrapper } from './data.flow.styled.tsx';\n// Define styled components\nconst ControllerPanelWrapper = styled.div`\n position: absolute;\n z-index: 999;\n top: 15px;\n left: 60px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n background-color: ${theme.colors.dark};\n padding: 10px;\n border-radius: 8px;\n border: 1px solid ${theme.colors.blue_grey};\n button {\n display: flex;\n padding: 8px;\n align-items: center;\n gap: 10px;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: #0e1c28 !important;\n margin-bottom: 8px;\n }\n\n .react-flow__controls button path {\n fill: #fff;\n }\n`;\n\nconst MonitorItem = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 14px;\n`;\n\nconst MonitorIndicator = styled.span<{ color: string }>`\n background-color: ${({ color }) => color};\n width: 10px;\n height: 10px;\n border-radius: 8px;\n margin-right: 6px;\n`;\n\nconst TitleWrapper = styled.div`\n display: flex;\n gap: 10px;\n cursor: pointer;\n`;\n\n// TypeScript type for monitor items\ninterface MonitorItem {\n name: string;\n color: string;\n}\n\nexport function DataFlowControlPanel() {\n const [isOpen, setOpen] = useState(true);\n\n useEffect(() => {\n setTimeout(() => {\n setOpen(false);\n }, 7000);\n }, []);\n\n const MONITORS: MonitorItem[] = [\n {\n name: 'Traces',\n color: theme.colors.traces,\n },\n {\n name: 'Logs',\n color: theme.colors.logs,\n },\n {\n name: 'Metrics',\n color: theme.colors.metrics,\n },\n ];\n\n return (\n <>\n \n setOpen(!isOpen)}>\n \n Supported Signals\n \n \n \n {isOpen && (\n \n {MONITORS.map((monitor) => (\n \n \n \n {monitor.name}\n \n \n ))}\n \n )}\n \n \n \n \n \n );\n}\n","import React from \"react\";\nimport { styled } from \"styled-components\";\nimport { Text } from \"../text/text\";\nimport theme from \"@/styles/palette\";\n\nconst DangerZoneWrapper = styled.div`\n padding: 10px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n border-radius: 8px;\n width: fit-content;\n width: 344px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n`;\n\nconst DangerButtonWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: flex-end;\n :hover {\n background: ${({ theme }) => theme.colors.error};\n p {\n color: #fff !important;\n }\n }\n`;\n\nconst DangerButton = styled.button`\n padding: 8px 12px;\n border-radius: 4px;\n background: transparent;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n cursor: pointer !important;\n`;\n\ninterface DangerZoneProps {\n title: string;\n subTitle: string;\n btnText: string;\n onClick: () => void;\n}\n\nexport function DangerZone({\n title,\n subTitle,\n btnText,\n onClick,\n}: DangerZoneProps) {\n return (\n <>\n \n \n {title}\n \n {subTitle}\n \n \n \n {btnText}\n \n \n \n \n \n );\n}\n","import React, { useCallback, useEffect, useRef } from 'react';\nimport PortalModal from './portal.modal';\nimport * as S from './modal.styled';\nimport { Props } from './types';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\nimport { useOnClickOutside } from '@/hooks';\nimport CloseIcon from '@/assets/icons/close-modal.svg';\nimport { Button } from '../button/button';\nimport { Link } from '../link/link';\nexport function Modal({ children, closeModal, config }: Props) {\n const modalRef = useRef(null);\n\n // handle what happens on click outside of modal\n const handleClickOutside = () => closeModal();\n\n // handle what happens on key press\n const handleKeyPress = useCallback((event: KeyboardEvent) => {\n if (event.key === 'Escape') closeModal();\n }, []);\n\n useOnClickOutside(modalRef, handleClickOutside);\n\n useEffect(() => {\n // attach the event listener if the modal is shown\n document.addEventListener('keydown', handleKeyPress);\n // remove the event listener\n return () => {\n document.removeEventListener('keydown', handleKeyPress);\n };\n }, [handleKeyPress]);\n\n return (\n <>\n \n \n \n {config.showHeader && (\n \n \n {config.title}\n \n \n )}\n\n \n \n \n\n {children}\n {config?.footer && (\n \n {config.footer.link && (\n \n )}\n {config.footer.secondaryBtnText && (\n \n \n {config.footer.secondaryBtnText}\n \n \n )}\n \n \n {config.footer.primaryBtnText}\n \n \n \n )}\n \n \n \n \n );\n}\n","import { useState, useLayoutEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n\ninterface Props {\n children: JSX.Element;\n wrapperId: string;\n}\n\nconst PortalModal = ({ children, wrapperId }: Props) => {\n const [portalElement, setPortalElement] = useState(null);\n\n useLayoutEffect(() => {\n let element = document.getElementById(wrapperId) as HTMLElement;\n let portalCreated = false;\n // if element is not found with wrapperId or wrapperId is not provided,\n // create and append to body\n if (!element) {\n element = createWrapperAndAppendToBody(wrapperId);\n portalCreated = true;\n }\n\n setPortalElement(element);\n\n // cleaning up the portal element\n return () => {\n // delete the programatically created element\n if (portalCreated && element.parentNode) {\n element.parentNode.removeChild(element);\n }\n };\n }, [wrapperId]);\n\n const createWrapperAndAppendToBody = (elementId: string) => {\n const element = document.createElement(\"div\");\n element.setAttribute(\"id\", elementId);\n document.body.appendChild(element);\n return element;\n };\n\n // portalElement state will be null on the very first render.\n if (!portalElement) return null;\n\n return createPortal(children, portalElement);\n};\n\nexport default PortalModal;\n","import styled, { keyframes } from 'styled-components';\nimport { ModalPositionX, ModalPositionY } from './types';\n\ninterface PropsOverlay {\n showOverlay: boolean;\n positionX: ModalPositionX;\n positionY: ModalPositionY;\n}\ninterface PropsModalContainer {\n padding: string;\n}\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`;\n\nexport const ModalButtonsContainer = styled.div`\n padding: 40px;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 20px;\n`;\nexport const ModalButtonPrimary = styled.button`\n display: block;\n padding: 10px 30px;\n border-radius: 3px;\n color: ${({ theme }) => theme.colors.btnText};\n border: 1px solid ${({ theme }) => theme.colors.main};\n background-color: ${({ theme }) => theme.colors.main};\n font-family: 'Robot', sans-serif;\n font-weight: 500;\n transition: 0.3s ease all;\n\n &:hover {\n background-color: ${({ theme }) => theme.colors.shadowMain};\n }\n`;\nexport const ModalButtonSecondary = styled.button`\n display: block;\n padding: 10px 30px;\n border-radius: 3px;\n color: ${({ theme }) => theme.colors.main};\n border: 1px solid ${({ theme }) => theme.colors.main};\n background-color: transparent;\n font-family: 'Robot', sans-serif;\n font-weight: 500;\n transition: 0.3s ease all;\n\n &:hover {\n background-color: ${({ theme }) => theme.colors.shadowMain};\n color: ${({ theme }) => theme.colors.btnText};\n }\n`;\n\nexport const Overlay = styled.div`\n width: 100vw;\n height: 100vh;\n z-index: 9999;\n position: fixed;\n top: 0;\n left: 0;\n background-color: ${(props) =>\n props.showOverlay\n ? 'rgba(255, 255, 255, 0.1)'\n : 'rgba(255, 255, 255, 0.1)'};\n display: flex;\n align-items: center;\n justify-content: ${(props) => (props.positionX ? props.positionX : 'center')};\n align-items: ${(props) => (props.positionY ? props.positionY : 'center')};\n padding: 40px;\n\n @media (prefers-reduced-motion: no-preference) {\n animation-name: ${fadeIn};\n animation-fill-mode: backwards;\n }\n`;\nexport const ModalContainer = styled.div`\n min-width: 500px;\n min-height: 50px;\n /* background-color: #ffffff; */\n position: relative;\n /* border-radius: 8px; */\n border-radius: 12px;\n border: 0.95px solid var(--dark-mode-dark-3, #203548);\n background: var(--dark-mode-dark-2, #0e1c28);\n\n padding: ${(props) => (props.padding ? props.padding : '20px')};\n`;\nexport const ModalHeader = styled.header`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-bottom: 20px;\n`;\n\nexport const Close = styled.div`\n position: absolute;\n top: 20px;\n right: 15px;\n border: none;\n background-color: transparent;\n transition: 0.3s ease all;\n border-radius: 3px;\n color: '#d1345b';\n cursor: pointer;\n\n svg {\n width: 24px;\n height: 24px;\n fill: #fff;\n }\n`;\n\nexport const PrimaryButton = styled.button`\n background-color: #ededed8b;\n border: 1px solid #d4d2d2;\n width: 100%;\n height: 36px;\n border-radius: 8px;\n cursor: pointer;\n\n &:hover {\n background-color: #ededed;\n }\n`;\n\nexport const Content = styled.div`\n display: flex;\n width: 100%;\n flex-direction: column;\n align-items: center;\n color: ${({ theme }) => theme.text};\n`;\nexport const ModalFooter = styled.footer`\n width: 100%;\n display: flex;\n gap: 1rem;\n align-items: center;\n justify-content: flex-end;\n margin-top: 20px;\n padding-top: 20px;\n`;\n","import * as React from \"react\";\nconst SvgCloseModal = props => ;\nexport default SvgCloseModal;","import theme from '@/styles/palette';\nimport React, { ReactNode } from 'react';\nimport StyledComponentsRegistry from './registry';\nimport { ThemeProvider } from 'styled-components';\ninterface ThemeProviderWrapperProps {\n children: ReactNode; // Add children prop with ReactNode type\n}\n\nexport const ThemeProviderWrapper: React.FC = ({\n children,\n}) => {\n return (\n \n {children}\n \n );\n};\n","'use client';\n\nimport React, { useState } from 'react';\nimport { useServerInsertedHTML } from 'next/navigation';\nimport { ServerStyleSheet, StyleSheetManager } from 'styled-components';\n\nexport default function StyledComponentsRegistry({\n children,\n}: {\n children: React.ReactNode;\n}) {\n // Only create stylesheet once with lazy initial state\n // x-ref: https://reactjs.org/docs/hooks-reference.html#lazy-initial-state\n const [styledComponentsStyleSheet] = useState(() => new ServerStyleSheet());\n\n useServerInsertedHTML(() => {\n const styles = styledComponentsStyleSheet.getStyleElement();\n styledComponentsStyleSheet.instance.clearTag();\n return <>{styles};\n });\n\n if (typeof window !== 'undefined') return <>{children};\n\n return (\n \n {children}\n \n );\n}\n","import React from \"react\";\nimport StepItem from \"./step.item\";\nimport { StepsContainer } from \"./steps.styled\";\n\ntype StepListProps = {\n data?: Array | null;\n};\n\nexport function Steps({ data }: StepListProps) {\n function renderSteps() {\n return data?.map(({ title, status }: any, index) => (\n \n ));\n }\n\n return {renderSteps()};\n}\n","import { FloatBox } from \"@/design.system/float.box/float.box\";\nimport { Text } from \"@/design.system/text/text\";\nimport React from \"react\";\nimport {\n StepItemTextWrapper,\n StepItemBorder,\n StepItemWrapper,\n FloatingBoxTextWrapper,\n} from \"./steps.styled\";\nimport Done from \"@/assets/icons/checked.svg\";\n\ntype StepItemProps = {\n title: string;\n index: number;\n status: string;\n isLast: boolean;\n};\n\nenum Status {\n Done = \"done\",\n Active = \"active\",\n Disabled = \"disabled\",\n}\n\nexport default function StepItem({\n title,\n index,\n status,\n isLast,\n}: StepItemProps) {\n return (\n \n \n {status === Status.Done ? (\n \n ) : (\n \n {index}\n \n )}\n \n \n {title}\n \n {!isLast && }\n \n );\n}\n","import styled from \"styled-components\";\n\ninterface DisabledProp {\n disabled: boolean;\n}\nexport const StepsContainer = styled.div`\n display: flex;\n`;\n\nexport const StepItemWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const FloatingBoxTextWrapper = styled.div`\n opacity: ${({ disabled }) => (disabled ? \"0.4\" : \"1\")};\n`;\n\nexport const StepItemTextWrapper = styled(FloatingBoxTextWrapper)`\n margin: 0 8px;\n`;\n\nexport const StepItemBorder = styled.div`\n width: 54px;\n height: 1px;\n background-color: #8b92a5;\n margin-top: 2px;\n margin-right: 8px;\n`;\n","import * as React from \"react\";\nconst SvgChecked = props => ;\nexport default SvgChecked;","import React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\n\nconst DividerContainer = styled.div<{ margin: string }>`\n width: 100%;\n display: flex;\n align-items: center;\n gap: 23px;\n margin: ${({ margin }) => margin};\n`;\n\nconst DividerLine = styled.div`\n width: 100%;\n border-top: 1px solid #8b92a5;\n`;\n\nexport function Divider({\n margin = '32px 0',\n label = 'or',\n}: {\n margin?: string;\n label?: string;\n}) {\n return (\n \n \n {label}\n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\n\nconst NoteContainer = styled.div`\n padding: 16px;\n display: flex;\n justify-content: flex-start !important;\n border: 1px solid ${({ theme }) => theme.colors.dark_blue};\n border-radius: 12px;\n`;\n\nconst TextContainer = styled.div`\n line-height: 1.6;\n code {\n background-color: ${({ theme }) => theme.colors.dark_blue};\n padding: 2px 4px;\n border-radius: 6px;\n }\n`;\n\nexport function Note({ text, code }: { text: string; code?: string[] }) {\n useEffect(() => {\n buildNote();\n }, []);\n\n function buildNote() {\n let value = text;\n if (code) {\n code.forEach((c, index) => {\n value = value.replace(`$code${index}`, `${c}`);\n });\n }\n\n return (\n Note: ${value}

`,\n }}\n >\n );\n }\n\n return (\n \n {buildNote()}\n \n );\n}\n","'use client';\n\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '..';\nimport { Folders } from '@/assets/icons';\n\nconst SegmentedControlsWrapper = styled.div`\n display: inline-flex;\n justify-content: space-between;\n border-radius: 10px;\n margin: auto;\n overflow: hidden;\n position: relative;\n`;\nconst SegmentedControlsOption = styled.div`\n color: ${({ theme }) => theme.colors.white};\n padding: 8px 12px;\n position: relative;\n text-align: center;\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: center;\n z-index: 1;\n border: ${({ theme }) => `1px solid ${theme.colors.secondary}`};\n background-color: ${({ theme }) => theme.colors.dark};\n filter: brightness(50%);\n &.active {\n filter: brightness(100%);\n }\n &:first-child {\n border-top-left-radius: 10px;\n border-bottom-left-radius: 10px;\n padding-left: 16px;\n }\n &:last-child {\n border-top-right-radius: 10px;\n border-bottom-right-radius: 10px;\n padding-right: 16px;\n }\n label {\n font-family: ${({ theme }) => theme.font_family.primary};\n }\n`;\n\nconst SegmentedControlsInput = styled.input`\n opacity: 0;\n margin: 0;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n position: absolute;\n width: 100%;\n cursor: pointer;\n height: 100%;\n`;\n\nexport function SegmentedControls({\n options,\n selected,\n onChange,\n title,\n}: {\n options: { label: string; id: string }[];\n selected: string;\n onChange: (selected: string) => void;\n title?: string;\n}) {\n return (\n
\n {title && (\n \n {title}\n \n )}\n \n {options?.map((option) => (\n \n \n onChange(option.id)}\n checked={option.id === selected}\n />\n {option.label}\n \n ))}\n \n
\n );\n}\n","import React, { useState, KeyboardEvent } from 'react';\nimport { Text } from '../text/text';\nimport theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport { Input as BaseInput } from '../input/input';\nimport { Button as BaseButton } from '../button/button';\nimport { Tooltip } from '../tooltip';\n\ninterface MultiInputProps {\n initialList?: string[];\n onListChange?: (list: string[]) => void;\n placeholder?: string;\n limit?: number;\n title?: string;\n tooltip?: string;\n}\n\nexport const MultiInput: React.FC = ({\n initialList = [],\n onListChange,\n placeholder = 'Add item to list',\n title,\n tooltip,\n}) => {\n const [inputValue, setInputValue] = useState('');\n const [list, setList] = useState(initialList);\n\n const handleInputChange = (e: string) => {\n setInputValue(e);\n };\n\n const handleAddToList = () => {\n if (inputValue.trim() !== '') {\n const newList = [...list, inputValue];\n setList(newList);\n setInputValue('');\n onListChange && onListChange(newList);\n }\n };\n\n const handleRemoveFromList = (indexToRemove: number) => {\n const newList = list.filter((_, index) => index !== indexToRemove);\n setList(newList);\n onListChange && onListChange(newList);\n };\n\n return (\n <>\n {title && (\n \n \n \n {title}\n \n \n \n )}\n \n \n {list.map((item, index) => (\n handleRemoveFromList(index)}>\n \n {item}\n \n \n \n \n \n ))}\n \n \n handleInputChange(e)}\n />\n \n \n \n \n );\n};\n\n// Styled components\nconst Container = styled.div`\n width: 100%;\n`;\n\nconst ListContainer = styled.div`\n display: flex;\n width: 110%;\n flex-wrap: wrap;\n`;\n\nconst ListItem = styled.div`\n cursor: pointer;\n padding: 2px 8px;\n margin: 3px;\n border-radius: 5px;\n background: ${theme.colors.light_grey};\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 5px;\n min-height: 30px;\n`;\n\nconst InputContainer = styled.div`\n display: flex;\n gap: 10px;\n width: 100%;\n height: 37px;\n`;\n\nconst Input = styled(BaseInput)`\n width: 100%;\n`;\n\nconst Button = styled(BaseButton)`\n margin-left: 10px;\n`;\n\nconst TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Tooltip } from '../tooltip';\nimport { Text } from '../text/text';\nimport { Trash } from '@/assets/icons';\n\nexport interface KeyValue {\n id: number;\n key: string;\n value: string;\n}\n\nexport const Container = styled.div`\n width: 100%;\n`;\n\nexport const TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n\nconst Table = styled.table`\n border: solid 1px ${theme.text.grey};\n text-align: center;\n border-spacing: 0;\n border-radius: 8px;\n width: 100%;\n`;\n\nexport const Th = styled.th`\n padding: 4px;\n`;\n\nexport const Td = styled.td<{ right?: boolean; left?: boolean }>`\n padding: 8px 0;\n\n border-top: solid 1px ${theme.text.grey};\n border-right: ${({ right }) =>\n right ? `solid 1px ${theme.text.grey}` : 'none'};\n border-left: ${({ left }) =>\n left ? `solid 1px ${theme.text.grey}` : 'none'};\n`;\n\nexport const Input = styled.input`\n background: transparent;\n border: none;\n width: 94%;\n\n outline: none;\n color: ${theme.text.white};\n`;\n\nexport const AddRowButton = styled.td`\n text-align: center;\n border-top: solid 1px ${theme.text.grey};\n padding: 4px;\n cursor: pointer;\n`;\n\nexport interface KeyValueTableProps {\n keyValues: KeyValue[];\n setKeyValues: (keyValues: KeyValue[]) => void;\n title?: string;\n titleKey?: string;\n titleValue?: string;\n tooltip?: string;\n titleButton?: string;\n required?: boolean;\n}\n\nexport const KeyValueTable: React.FC = ({\n keyValues,\n setKeyValues,\n title,\n titleKey,\n titleValue,\n titleButton,\n tooltip,\n required,\n}: KeyValueTableProps) => {\n const [nextId, setNextId] = useState(1);\n\n const addRow = () => {\n const newKeyValue: KeyValue = {\n id: nextId,\n key: '',\n value: '',\n };\n setKeyValues([...keyValues, newKeyValue]);\n setNextId(nextId + 1);\n };\n\n const deleteRow = (id: number) => {\n const value = keyValues.filter((kv) => kv.id !== id);\n setKeyValues(value);\n };\n\n const updateKey = (id: number, newKey: string) => {\n const updatedKeyValues = keyValues.map((kv) =>\n kv.id === id ? { ...kv, key: newKey } : kv\n );\n setKeyValues(updatedKeyValues);\n };\n\n const updateValue = (id: number, newValue: string) => {\n const updatedKeyValues = keyValues.map((kv) =>\n kv.id === id ? { ...kv, value: newValue } : kv\n );\n setKeyValues(updatedKeyValues);\n };\n\n return (\n \n {title && (\n \n \n
\n \n {title}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n \n \n \n \n \n \n {keyValues.map((kv) => (\n \n \n\n \n deleteRow(kv.id)}\n >\n \n \n \n ))}\n \n \n \n \n \n {titleButton || 'Add Row'}\n \n \n \n \n
\n \n {titleKey || 'Key'}\n \n \n \n {titleValue || 'Value'}\n \n
\n updateKey(kv.id, e.target.value)}\n />\n \n updateValue(kv.id, e.target.value)}\n />\n
\n
\n );\n};\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\nimport { Tooltip } from '../tooltip';\nimport theme from '@/styles/palette';\n// Define the props for the TextArea component\nexport interface TextAreaProps {\n placeholder?: string;\n value?: string;\n onChange: (e: React.ChangeEvent) => void;\n rows?: number;\n cols?: number;\n label?: string;\n tooltip?: string;\n required?: boolean;\n}\n\n// Styled textarea\nconst StyledTextArea = styled.textarea<{ active?: boolean }>`\n width: 100%;\n padding: 8px 12px;\n border-radius: 8px;\n box-sizing: border-box;\n resize: vertical;\n\n outline: none;\n color: ${({ theme }) => theme.text.white};\n font-family: ${theme.font_family.primary};\n background-color: ${({ theme }) => theme.colors.light_dark};\n border: ${({ theme, active }) =>\n `1px solid ${active ? theme.text.grey : theme.colors.blue_grey}`};\n &:hover {\n border: ${({ theme }) => `solid 1px ${theme.text.grey}`};\n }\n`;\nconst LabelWrapper = styled.div`\n margin-bottom: 8px;\n text-align: start;\n`;\n\nexport const TextArea: React.FC = ({\n placeholder,\n value,\n onChange,\n rows = 4,\n cols = 50,\n tooltip,\n label,\n required,\n}) => {\n return (\n <>\n {label && (\n \n \n
\n \n {label}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n );\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Tooltip } from '../tooltip';\nimport { Text } from '../text/text';\nimport { Trash } from '@/assets/icons';\n\nexport const Container = styled.div`\n width: 100%;\n`;\n\nexport const TitleWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n`;\n\nexport const Table = styled.table`\n border: solid 1px ${theme.text.grey};\n text-align: center;\n border-spacing: 0;\n border-radius: 8px;\n width: 100%;\n`;\n\nexport const Th = styled.th`\n padding: 4px;\n`;\n\nexport const Td = styled.td<{ right?: boolean; left?: boolean }>`\n padding: 8px 0;\n\n border-bottom: solid 1px ${theme.text.grey};\n border-right: ${({ right }) =>\n right ? `solid 1px ${theme.text.grey}` : 'none'};\n border-left: ${({ left }) =>\n left ? `solid 1px ${theme.text.grey}` : 'none'};\n`;\n\nexport const Input = styled.input`\n background: transparent;\n border: none;\n width: 94%;\n\n outline: none;\n color: ${theme.text.white};\n`;\n\nexport const AddRowButton = styled.td`\n text-align: center;\n padding: 4px;\n cursor: pointer;\n`;\n\nexport interface MultiInputTableProps {\n values: string[];\n title?: string;\n tooltip?: string;\n onValuesChange: (newValues: string[]) => void;\n required?: boolean;\n placeholder?: string;\n}\n\nexport const MultiInputTable: React.FC = ({\n values,\n title,\n tooltip,\n onValuesChange,\n required,\n placeholder,\n}) => {\n const addRow = () => {\n onValuesChange([...values, '']);\n };\n\n const deleteRow = (index: number) => {\n const updatedValues = values.filter((_, i) => i !== index);\n onValuesChange(updatedValues);\n };\n\n const updateValue = (index: number, newValue: string) => {\n const updatedValues = values.map((value, i) =>\n i === index ? newValue : value\n );\n onValuesChange(updatedValues);\n };\n\n return (\n \n {title && (\n \n \n
\n \n {title}\n \n {required && (\n \n {'*'}\n \n )}\n
\n
\n
\n )}\n \n \n {values.map((value, index) => (\n \n \n deleteRow(index)}\n style={{ cursor: 'pointer' }}\n >\n \n \n \n ))}\n \n \n \n \n \n Add Row\n \n \n \n \n
\n updateValue(index, e.target.value)}\n placeholder={index === 0 ? placeholder : ''}\n />\n
\n
\n );\n};\n","import React from 'react';\nimport { ActionItem } from '../action.item';\n\n// Define the type for individual action items\ninterface ActionItem {\n label: string;\n onClick: () => void;\n id: string;\n selected?: boolean;\n disabled?: boolean;\n}\n\n// Define the type for the groups of action items, including any conditional rendering logic\ninterface ActionGroup {\n label: string;\n subTitle: string;\n items: ActionItem[];\n condition?: boolean; // Optional condition to determine if the group should be rendered\n}\n\n// Props for the container component that will render the list of action groups\ninterface ActionsListProps {\n actionGroups: ActionGroup[];\n}\n\nexport const ActionsGroup: React.FC = ({ actionGroups }) => {\n return (\n <>\n {actionGroups.map(\n (group, index) =>\n group.condition && \n )}\n \n );\n};\n","import { useOnClickOutside } from '@/hooks';\nimport React, { useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { Text } from '../text/text';\nimport { Check, Expand } from '@/assets';\n\n// Styled components\nconst Label = styled.label`\n cursor: pointer;\n display: flex;\n gap: 4px;\n p {\n color: ${({ theme }) => theme.colors.light_grey};\n &:hover {\n color: ${({ theme }) => theme.colors.white};\n }\n }\n`;\n\nconst Popup = styled.div<{ isOpen: boolean }>`\n display: ${(props: { isOpen: boolean }) => (props.isOpen ? 'block' : 'none')};\n position: absolute;\n right: 0px;\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n z-index: 9999;\n flex-direction: column;\n border-radius: 8px;\n border: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n background: ${({ theme }) => theme.colors.dark};\n margin-top: 5px;\n`;\n\nconst PopupItem = styled.div<{ disabled: boolean }>`\n display: flex;\n padding: 7px 12px;\n gap: 4px;\n border-top: ${({ theme }) => `1px solid ${theme.colors.blue_grey}`};\n align-items: center;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'auto')};\n cursor: pointer;\n p {\n cursor: pointer !important;\n }\n\n &:hover {\n background: ${({ theme }) => theme.colors.light_dark};\n }\n`;\n\ninterface Item {\n label: string;\n onClick: () => void;\n id: string;\n selected?: boolean;\n disabled?: boolean;\n}\n\ninterface ActionItemProps {\n label: string;\n subTitle: string;\n items: Item[];\n}\n\nexport const ActionItem: React.FC = ({\n label,\n items,\n subTitle,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const ref = useRef(null);\n useOnClickOutside(ref, () => setIsOpen(false));\n\n return (\n
\n \n \n
\n \n {subTitle}\n \n
\n {items.map((item, index) => (\n \n {item.selected ? :
}\n \n {item.label}\n \n \n ))}\n \n
\n );\n};\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport theme from '@/styles/palette';\nimport { Expand } from '@/assets';\n\ntype PaginationProps = {\n total: number;\n itemsPerPage: number;\n currentPage: number;\n onPageChange: (page: number) => void;\n};\n\nconst PaginationContainer = styled.div`\n display: flex;\n justify-content: center;\n padding: 20px;\n gap: 2px;\n`;\n\nconst PageButton = styled.button<{\n isCurrentPage?: boolean;\n isDisabled?: boolean;\n}>`\n background-color: ${(props) =>\n props.isCurrentPage ? theme.colors.blue_grey : 'transparent'};\n color: ${(props) => (props.isDisabled ? theme.text.grey : theme.text.white)};\n border: none;\n border-radius: 4px;\n padding: 4px 8px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n\n &:disabled {\n cursor: default;\n }\n\n &:hover {\n background-color: ${theme.colors.blue_grey};\n }\n`;\n\nexport const Pagination: React.FC = ({\n total,\n itemsPerPage,\n currentPage,\n onPageChange,\n}) => {\n const pageCount = Math.ceil(total / itemsPerPage);\n\n return (\n \n onPageChange(currentPage - 1)}\n disabled={currentPage === 1}\n isDisabled={currentPage === 1}\n >\n \n Previous\n \n {new Array(pageCount).fill(0).map((_, index) => (\n onPageChange(index + 1)}\n isCurrentPage={currentPage === index + 1}\n >\n {index + 1}\n \n ))}\n onPageChange(currentPage + 1)}\n disabled={currentPage === pageCount}\n isDisabled={currentPage === pageCount}\n >\n Next\n \n \n \n );\n};\n","import theme from '@/styles/palette';\nimport styled from 'styled-components';\nimport React, { useState } from 'react';\nimport { Pagination } from '../pagination';\n\n// Updated TableProps to be generic\ntype TableProps = {\n data: T[];\n renderTableHeader: () => JSX.Element;\n renderTableRows: (item: T, index: number) => JSX.Element;\n renderEmptyResult: () => JSX.Element;\n onPaginate?: (pageNumber: number) => void;\n};\n\nconst StyledTable = styled.table`\n width: 100%;\n background-color: ${theme.colors.dark};\n border: 1px solid ${theme.colors.blue_grey};\n border-radius: 6px;\n border-collapse: separate;\n border-spacing: 0;\n`;\n\nconst StyledTbody = styled.tbody``;\n\n// Applying generic type T to the Table component\nexport const Table = ({\n data,\n onPaginate,\n renderTableRows,\n renderTableHeader,\n renderEmptyResult,\n}: TableProps) => {\n const [currentPage, setCurrentPage] = useState(1);\n const [itemsPerPage, setItemsPerPage] = useState(10);\n\n const indexOfLastItem = currentPage * itemsPerPage;\n const indexOfFirstItem = indexOfLastItem - itemsPerPage;\n const currentItems = data.slice(indexOfFirstItem, indexOfLastItem);\n\n const handlePageChange = (pageNumber: number) => {\n setCurrentPage(pageNumber);\n if (onPaginate) {\n onPaginate(pageNumber);\n }\n };\n\n return (\n <>\n \n {renderTableHeader()}\n \n {currentItems.map((item, index) => renderTableRows(item, index))}\n \n \n\n {data.length === 0 ? (\n renderEmptyResult()\n ) : data.length > 10 ? (\n \n ) : null}\n \n );\n};\n","import React, { useState } from 'react';\nimport YamlEditor from '@focus-reactive/react-yaml';\nimport styled from 'styled-components';\nimport theme from '@/styles/palette';\nimport { Copied, Copy } from '@/assets';\n\nconst Container = styled.div`\n position: relative;\n background-color: ${theme.colors.blue_grey};\n border-radius: 8px;\n padding: 4px;\n\n div {\n color: #f5b175;\n }\n .ͼb {\n color: #64a8fd;\n }\n .ͼm {\n color: ${theme.colors.white};\n }\n .ͼd {\n color: #f5b175;\n }\n .ͼc {\n color: #f5b175;\n }\n .cm-gutters {\n display: none;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n }\n`;\n\nconst EditorOverlay = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 10; // Ensure this is higher than the editor's z-index\n`;\n\nconst CopyIconWrapper = styled.div`\n background-color: ${theme.colors.dark};\n z-index: 999;\n border-radius: 4px;\n padding: 4px;\n position: absolute;\n top: 5px;\n right: 5px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: all;\n`;\n\nexport const YMLEditor = ({ data }: { data: any }) => {\n const [isCopied, setIsCopied] = useState(false);\n\n const handleChange = () => {};\n\n const handleCopy = () => {\n navigator.clipboard\n .writeText(JSON.stringify(data, null, 2))\n .then(() => {\n setIsCopied(true);\n setTimeout(() => {\n setIsCopied(false);\n }, 3000);\n })\n .catch((err) => console.error('Error copying YAML to clipboard: ', err));\n };\n return (\n <>\n \n \n {isCopied ? (\n \n ) : (\n \n )}\n \n\n
\n \n \n
\n
\n \n );\n};\n","const sources = [\n {\n name: 'adservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'java',\n },\n ],\n },\n {\n name: 'cartservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'dotnet',\n },\n ],\n },\n {\n name: 'checkoutservice',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'server',\n language: 'go',\n },\n ],\n },\n {\n name: 'coupon',\n kind: 'Deployment',\n namespace: 'default',\n languages: [\n {\n container_name: 'coupon',\n language: 'javascript',\n },\n ],\n },\n];\n\nconst destinations = [\n {\n id: 'odigos.io.dest.elasticsearch-6qklw',\n name: 'Elasticsearch',\n type: 'elasticsearch',\n signals: {\n traces: true,\n metrics: false,\n logs: true,\n },\n fields: {\n ELASTICSEARCH_CA_PEM:\n '-----BEGIN CERTIFICATE-----\\nMIIDIjCCAgqgAwIBAgIRANR/chGx5YexmqgwbVphZR8wDQYJKoZIhvcNAQELBQAw\\nGzEZMBcGA1UEAxMQZWxhc3RpY3NlYXJjaC1jYTAeFw0yNDAzMDYxMjUwNTFaFw0y\\nNTAzMDYxMjUwNTFaMBsxGTAXBgNVBAMTEGVsYXN0aWNzZWFyY2gtY2EwggEiMA0G\\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQClNK8WB2C2aRC1xPkT9Vx3t2I8D8vE\\nz4/XKi5djhqZx56VclUmnTGwwJSB6t+9eODVGM8HUBeZTw5r5VU3wz5KO34LfX/X\\nDgeZf7jRE4JvNti+ufhYeXhX6yWt2y1lisTy89BMZA1/4r6UBamhDZ9zjC7++hNy\\n21S+mgul4zrjC1fBfjz8O42jjkamNcq3SoQHn9puWPhsOBOc4SowJMFN6YIRf3Vy\\nPvOuG8wP5uCU14dICW7X5M1JqHpcOTW0W7S5JLcVkozrqEQhQ3lc5f4OE0/GYQ5S\\np5sesAUyv9Koiipx3gGvip2+E2Rf2nlLNNMYeFDKyRVmbxkOmIy6PVQdAgMBAAGj\\nYTBfMA4GA1UdDwEB/wQEAwICpDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH\\nAwIwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUUh7RgBmgPOCGeP3hFqoVC689\\nm4kwDQYJKoZIhvcNAQELBQADggEBAJCpewxuRV0s6EftuHI7Q1PJDYImDv54D1GI\\n57nJwdhCZbvJ69m5hjtOAb7ZCerzJQKvN4sEcvcWPMJs15nBNXW+9fF0zN5RjBqU\\nV8HA22bw8h+00lGUiozgG4DmFkd0GG35qjhPe9PyirOumiaSi2aGMUiWtkOgAFE2\\nDKGLleYFdjDbfQjva/ViUJTo6I7b283foWEqkbaa58ju5QOtjpo09GOmyBXeXHoU\\nbLnUqBAALo7FDSdKyMjWRLKSo2rc7jRn98jXzPqRaVuYhEGn+77GnkA5d3ea3fHP\\nIrj44yKh8na1xqPEHEvryj9LnKL+yCpQILj5L+jIHVopTmQWyLQ=\\n-----END CERTIFICATE-----',\n ELASTICSEARCH_PASSWORD: 'Elasticsearch',\n ELASTICSEARCH_URL: 'Elasticsearch',\n ELASTICSEARCH_USERNAME: 'Elasticsearch',\n ES_LOGS_INDEX: 'Elasticsearch',\n ES_TRACES_INDEX: 'Elasticsearch',\n },\n destination_type: {\n type: 'elasticsearch',\n display_name: 'Elasticsearch',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/elasticsearch.svg',\n supported_signals: {\n traces: {\n supported: true,\n },\n metrics: {\n supported: false,\n },\n logs: {\n supported: true,\n },\n },\n },\n },\n {\n id: 'odigos.io.dest.grafanacloudprometheus-2mcbr',\n name: 'Prometheus',\n type: 'grafanacloudprometheus',\n signals: {\n traces: false,\n metrics: true,\n logs: false,\n },\n fields: {\n GRAFANA_CLOUD_PROMETHEUS_PASSWORD: 'Prometheus',\n GRAFANA_CLOUD_PROMETHEUS_RW_ENDPOINT: 'Prometheus',\n GRAFANA_CLOUD_PROMETHEUS_USERNAME: 'Prometheus',\n PROMETHEUS_RESOURCE_ATTRIBUTES_LABELS:\n '[\"k8s.container.name\",\"k8s.pod.name\",\"k8s.namespace.name\",\"Prometheus\"]',\n PROMETHEUS_RESOURCE_EXTERNAL_LABELS: '{\"dsfd\":\"fdsfs\"}',\n },\n destination_type: {\n type: 'grafanacloudprometheus',\n display_name: 'Grafana Cloud Prometheus',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/grafana.svg',\n supported_signals: {\n traces: {\n supported: false,\n },\n metrics: {\n supported: true,\n },\n logs: {\n supported: false,\n },\n },\n },\n },\n {\n id: 'odigos.io.dest.s3-gk7bn',\n name: 'aws',\n type: 's3',\n signals: {\n traces: true,\n metrics: true,\n logs: true,\n },\n fields: {\n S3_BUCKET: 'aws',\n S3_MARSHALER: 'otlp_proto',\n S3_PARTITION: 'minute',\n S3_REGION: 'aws',\n },\n destination_type: {\n type: 's3',\n display_name: 'AWS S3',\n image_url: 'https:/d15jtxgb40qetw.cloudfront.net/s3.svg',\n supported_signals: {\n traces: {\n supported: true,\n },\n metrics: {\n supported: true,\n },\n logs: {\n supported: true,\n },\n },\n },\n },\n];\n\nconst action = [\n {\n id: 'aci-f6c9f',\n type: 'AddClusterInfo',\n spec: {\n actionName: 'This is tetst test Cluster Attributes',\n notes:\n 'Actions are a way to modify the OpenTelemetry data recorded by Odigos Sources, before it is exported to your Odigos Destinations.',\n signals: ['METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'Attributes',\n attributeStringValue: 'Attributes',\n },\n ],\n },\n },\n {\n id: 'aci-hfgcb',\n type: 'DeleteAttribute',\n spec: {\n actionName: 'Link',\n notes: 'Link to docs',\n signals: ['LOGS', 'METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'sadsad',\n attributeStringValue: 'sadsa',\n },\n {\n attributeName: 'asdsa',\n attributeStringValue: 'asdasd',\n },\n ],\n },\n },\n {\n id: 'aci-r67mp',\n type: 'RenameAttribute',\n spec: {\n actionName: 'Initialize Initialize',\n notes: 'This is the initialization phase of the cluster.',\n signals: ['LOGS', 'METRICS', 'TRACES'],\n clusterAttributes: [\n {\n attributeName: 'region',\n attributeStringValue: 'us-east-1',\n },\n {\n attributeName: 'instanceType',\n attributeStringValue: 't2.micro',\n },\n {\n attributeName: 'availabilityZones',\n attributeStringValue: '3',\n },\n ],\n },\n },\n];\n\ninterface Source {\n name: string;\n kind: string;\n namespace: string;\n conditions?: {\n type: string;\n status: string;\n message: string;\n lastTransitionTime: string;\n }[];\n languages: Array<{\n container_name: string;\n language: string;\n }>;\n}\n\ninterface Destination {\n id: string;\n name: string;\n type: string;\n signals: {\n traces: boolean;\n metrics: boolean;\n logs: boolean;\n };\n fields: Record;\n conditions?: {\n type: string;\n status: string;\n message: string;\n lastTransitionTime: string;\n }[];\n destination_type: {\n type: string;\n display_name: string;\n image_url: string;\n supported_signals: {\n traces: {\n supported: boolean;\n };\n metrics: {\n supported: boolean;\n };\n logs: {\n supported: boolean;\n };\n };\n };\n}\n\ninterface Action {\n id: string;\n type: string;\n spec: {\n actionName: string;\n notes: string;\n signals: string[];\n };\n}\n\ninterface FlowNode {\n id: string;\n type: string;\n position: { x: number; y: number };\n data: any;\n}\n\ninterface FlowEdge {\n id: string;\n source: string;\n target: string;\n animated: boolean;\n label?: string;\n style?: Record;\n data?: any;\n}\n\nexport const buildFlowNodesAndEdges = (\n sources: Source[],\n destinations: Destination[],\n actions: Action[]\n): { nodes: FlowNode[]; edges: FlowEdge[] } => {\n let nodes: FlowNode[] = [],\n edges: FlowEdge[] = [];\n const centerNodeId = 'center-1';\n const xOffsetNamespace = 100;\n\n const destinations_length = destinations.length;\n let middle_index;\n\n if (destinations_length % 2 == 1) {\n middle_index = Math.floor(destinations_length / 2);\n } else {\n middle_index = destinations_length / 2 - 1;\n }\n\n // Desired y position for the middle node\n const desired_y_position = 248;\n\n // Calculate destinationyOffset\n const destinationyOffset = desired_y_position - middle_index * 100;\n\n const sources_length = sources.length;\n let middle_index_sources;\n\n if (sources_length % 2 == 1) {\n middle_index_sources = Math.floor(sources_length / 2);\n } else {\n middle_index_sources = sources_length / 2 - 1;\n }\n\n const sourceyOffset = desired_y_position - middle_index_sources * 100;\n\n // Create the center node\n const centerXPossition =\n actions?.length > 0 ? actions?.length * 150 + 400 : 450;\n nodes.push({\n id: centerNodeId,\n type: 'custom',\n position: { x: centerXPossition, y: 248 },\n data: { label: 'Center Node' },\n });\n\n // Create namespace nodes from sources and edges to the center\n sources.forEach((source, index) => {\n let hasError = false;\n if (source?.conditions) {\n hasError = source.conditions.some(\n (condition) => condition.status === 'False'\n );\n }\n const namespaceNodeId = `namespace-${index}`;\n nodes.push({\n id: namespaceNodeId,\n type: 'source',\n position: { x: xOffsetNamespace, y: sourceyOffset + index * 100 },\n data: source,\n });\n edges.push({\n id: `e${namespaceNodeId}-${centerNodeId}`,\n source: namespaceNodeId,\n target: actions?.length > 0 ? `action-0` : centerNodeId,\n animated: true,\n style: { stroke: hasError ? '#ff0000' : '#96f3ff8e' },\n data: null,\n });\n });\n\n // Create destination nodes and edges from the center\n destinations.forEach((destination, index) => {\n let isErrored = false;\n if (destination?.conditions) {\n isErrored = destination.conditions.some(\n (condition) => condition.status === 'False'\n );\n }\n const destinationNodeId = `destination-${index}`;\n nodes.push({\n id: destinationNodeId,\n type: 'destination',\n position: {\n x: centerXPossition + 400,\n y: destinationyOffset + index * 100,\n },\n data: destination,\n });\n edges.push({\n id: `e${centerNodeId}-${destinationNodeId}`,\n source: centerNodeId,\n target: destinationNodeId,\n animated: true,\n style: { stroke: isErrored ? '#ff0000' : '#96f3ff8e' },\n data: null,\n });\n });\n\n // Create action nodes and edges from the center\n actions.forEach((action, index) => {\n const actionNodeId = `action-${index}`;\n const nextActionNodeId = `action-${index + 1}`;\n nodes.push({\n id: actionNodeId,\n type: 'action',\n position: { x: 420 + index * 125, y: 250 },\n data: action,\n });\n edges.push({\n id: `e${centerNodeId}-${actionNodeId}`,\n source: actionNodeId,\n target: index + 1 === actions.length ? centerNodeId : nextActionNodeId,\n animated: true,\n style: { stroke: '#96f3ff8e' },\n data: null,\n });\n });\n\n return { nodes, edges };\n};\n\n// Example usage with typed data\nexport const { nodes, edges } = buildFlowNodesAndEdges(\n sources,\n destinations,\n action\n);\n"],"mappings":"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","names":["React","theme","styled","theme","React","React","React","styled","theme","React","React","styled","React","useEffect","useState","React","React","React","React","React","React","React","React","React","styled","useState","text","styled","theme","TextWrapper","text","useState","useEffect","React","React","styled","theme","React","React","styled","React","styled","theme","React","useEffect","useState","styled","theme","React","styled","theme","React","React","React","React","React","useState","styled","styled","text","useState","React","useState","useEffect","React","React","styled","theme","React","React","styled","theme","React","React","React","styled","theme","React","React","styled","styled","React","React","React","useState","styled","theme","LabelWrapper","React","React","useState","React","LabelWrapper","React","React","React","useState","React","React","styled","useState","React","React","styled","theme","React","React","useEffect","styled","theme","React","React","React","useEffect","React","React","useEffect","React","styled","styled","theme","TextWrapper","backgroundColor","React","React","Handle","Position","styled","React","memo","Handle","Position","styled","React","React","styled","theme","TextWrapper","memo","React","Handle","Position","React","styled","Handle","Position","React","React","React","React","React","React","styled","theme","TextWrapper","IMAGE_STYLE","IconWrapper","React","Handle","Position","React","memo","styled","Handle","Position","NamespaceContainer","styled","theme","TextWrapper","memo","React","styled","theme","React","useEffect","useState","styled","styled","theme","useState","useEffect","MONITORS","React","nodes","edges","useEffect","React","React","styled","styled","theme","React","React","useEffect","useRef","useState","styled","keyframes","theme","React","useRef","useEffect","React","React","React","useState","React","React","React","styled","React","React","React","React","styled","styled","React","React","useEffect","styled","styled","theme","text","useEffect","React","React","styled","styled","theme","React","React","useState","styled","useState","React","TitleWrapper","Input","Button","styled","React","useState","styled","Container","styled","TitleWrapper","Input","useState","React","React","styled","styled","theme","LabelWrapper","React","React","styled","Container","styled","TitleWrapper","Table","Th","Td","Input","AddRowButton","React","React","React","useRef","useState","styled","styled","theme","useState","useRef","React","React","React","styled","styled","React","styled","React","useState","styled","Table","useState","React","React","useState","styled","Container","styled","CopyIconWrapper","useState","React","sources","destinations","nodes","edges","action"]} \ No newline at end of file diff --git a/package.json b/package.json index a3201c4..bbee04a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@keyval-dev/design-system", - "version": "1.8.4", + "version": "1.8.7", "private": false, "scripts": { "dev": "next dev", diff --git a/src/design.system/data.flow/builder.ts b/src/design.system/data.flow/builder.ts index 1501b7e..f91389b 100644 --- a/src/design.system/data.flow/builder.ts +++ b/src/design.system/data.flow/builder.ts @@ -214,6 +214,12 @@ interface Source { name: string; kind: string; namespace: string; + conditions?: { + type: string; + status: string; + message: string; + lastTransitionTime: string; + }[]; languages: Array<{ container_name: string; language: string; @@ -230,6 +236,12 @@ interface Destination { logs: boolean; }; fields: Record; + conditions?: { + type: string; + status: string; + message: string; + lastTransitionTime: string; + }[]; destination_type: { type: string; display_name: string; @@ -323,6 +335,12 @@ export const buildFlowNodesAndEdges = ( // Create namespace nodes from sources and edges to the center sources.forEach((source, index) => { + let hasError = false; + if (source?.conditions) { + hasError = source.conditions.some( + (condition) => condition.status === 'False' + ); + } const namespaceNodeId = `namespace-${index}`; nodes.push({ id: namespaceNodeId, @@ -335,13 +353,19 @@ export const buildFlowNodesAndEdges = ( source: namespaceNodeId, target: actions?.length > 0 ? `action-0` : centerNodeId, animated: true, - style: { stroke: '#96f3ff8e' }, + style: { stroke: hasError ? '#ff0000' : '#96f3ff8e' }, data: null, }); }); // Create destination nodes and edges from the center destinations.forEach((destination, index) => { + let isErrored = false; + if (destination?.conditions) { + isErrored = destination.conditions.some( + (condition) => condition.status === 'False' + ); + } const destinationNodeId = `destination-${index}`; nodes.push({ id: destinationNodeId, @@ -357,7 +381,7 @@ export const buildFlowNodesAndEdges = ( source: centerNodeId, target: destinationNodeId, animated: true, - style: { stroke: '#96f3ff8e' }, + style: { stroke: isErrored ? '#ff0000' : '#96f3ff8e' }, data: null, }); });