@cyber-harbour/ui 1.0.24 → 1.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Core/Button/Button.tsx","../src/Theme/GlobalStyle.tsx","../src/Theme/ThemeProvider.tsx","../src/Theme/utils.ts","../src/Theme/theme.ts","../src/Core/IconComponents/AlertIcon.tsx","../src/Core/IconComponents/ApiIcon.tsx","../src/Core/IconComponents/ArrowCircleTopRightIcon.tsx","../src/Core/IconComponents/ArrowRightIcon.tsx","../src/Core/IconComponents/BugReportIcon.tsx","../src/Core/IconComponents/CalendarIcon.tsx","../src/Core/IconComponents/ChevronLeftIcon.tsx","../src/Core/IconComponents/ChevronRightIcon.tsx","../src/Core/IconComponents/ClosedLockIcon.tsx","../src/Core/IconComponents/DataSetsIcon.tsx","../src/Core/IconComponents/DeepSearchIcon.tsx","../src/Core/IconComponents/DisabledVisibleIcon.tsx","../src/Core/IconComponents/DocsIcon.tsx","../src/Core/IconComponents/DownloadIcon.tsx","../src/Core/IconComponents/EditUserIcon.tsx","../src/Core/IconComponents/EnableVisibleIcon.tsx","../src/Core/IconComponents/EnterArrowLeftIcon.tsx","../src/Core/IconComponents/FiltersIcon.tsx","../src/Core/IconComponents/HomepageIcon.tsx","../src/Core/IconComponents/InfoCircleIcon.tsx","../src/Core/IconComponents/MapRadarIcon.tsx","../src/Core/IconComponents/MoonIcon.tsx","../src/Core/IconComponents/OpenLockIcon.tsx","../src/Core/IconComponents/OrganizationIcon.tsx","../src/Core/IconComponents/PasswordFinderIcon.tsx","../src/Core/IconComponents/PhonebookIcon.tsx","../src/Core/IconComponents/PrintIcon.tsx","../src/Core/IconComponents/Profiler2Icon.tsx","../src/Core/IconComponents/ProfilerIcon.tsx","../src/Core/IconComponents/SandBoxIcon.tsx","../src/Core/IconComponents/StatisticIcon.tsx","../src/Core/IconComponents/SunIcon.tsx","../src/Core/IconComponents/UpRightArrowCircleIcon.tsx","../src/Core/IconComponents/VectorIcon.tsx","../src/Core/IconComponents/BallsMenu.tsx","../src/Core/IconComponents/Check.tsx","../src/Core/IconComponents/ChevronDown.tsx","../src/Core/IconComponents/ChevronUp.tsx","../src/Core/IconComponents/Plus.tsx","../src/Core/IconComponents/Users.tsx","../src/Core/IconComponents/InfoCircleFilled.tsx","../src/Core/Sidebar/SidebarContext.tsx","../src/Core/Sidebar/Sidebar.tsx","../src/Core/Sidebar/SidebarItem.tsx","../src/Core/Sidebar/SidebarDelimeter.tsx","../src/Core/Sidebar/SidebarSection.tsx","../src/Core/Typography/Typography.tsx","../src/Core/ListMenu/ListMenu.tsx","../src/Core/ListMenu/ListMenuItem.tsx","../src/Core/ListMenu/ListMenuSection.tsx","../src/Core/Header/Header.tsx","../src/Core/Header/HeaderDelimeter.tsx","../src/Core/Header/HeaderSection.tsx","../src/Core/Table/Row.tsx","../src/Core/Table/Cell.tsx","../src/Core/Table/Table.tsx","../src/Core/Pagination/Pagination.tsx","../src/Core/ContextMenu/ContextMenu.tsx","../src/Core/ContextMenu/ContextMenuDelimiter.tsx","../src/Core/ContextMenu/useContextMenuControl.ts","../src/Core/Select/Select.tsx","../src/Core/RowActionsMenu/RowActionsMenu.tsx","../src/Core/Input/Input.tsx","../src/Layouts/PageLayout/PageLayout.tsx","../src/Graph2D/Graph2D.tsx"],"names":["GlobalStyle","createGlobalStyle","resolveThemeColor","__name","theme","colorPath","parts","category","variant","colorCategory","pxToRem","pxValue","baseSize","numericValue","IGNORE_CONVERT_KEYS","convertPaletteToRem","obj","parentKey","result","key","value","prop","getButtonStyles","color","state","getButtonSizeStyles","size","getTypographyStyles","getBreakpoint","lightThemePx","lightTheme","darkTheme","ThemeProvider","children","jsxs","ThemeProviderStyled","jsx","getCss","styles","StyledButton","styled","$variant","$color","$size","$disabled","$fullWidth","$iconPosition","sizes","Button","disabled","fullWidth","className","icon","iconPosition","props","AlertIcon","fill","ApiIcon","ArrowCircleTopRightIcon","ArrowRightIcon","BugReportIcon","CalendarIcon","ChevronLeftIcon","ChevronRightIcon","ClosedLockIcon","DataSetsIcon","DeepSearchIcon","DisabledVisibleIcon","DocsIcon","DownloadIcon","EditUserIcon","EnableVisibleIcon","EnterArrowLeftIcon","FiltersIcon","HomepageIcon","InfoCircleIcon","MapRadarIcon","MoonIcon","OpenLockIcon","OrganizationIcon","PasswordFinderIcon","PhonebookIcon","PrintIcon","Profiler2Icon","ProfilerIcon","SandBoxIcon","StatisticIcon","SunIcon","stroke","UpRightArrowCircleIcon","VectorIcon","BallsMenu","CheckIcon","ChevronDownIcon","ChevronUpIcon","PlusIcon","UsersIcon","InfoCircleFilledIcon","SidebarContext","createContext","Sidebar","defaultCollapsed","collapsed","setCollapsed","React","StyledContainer","$collapsed","SidebarItem","active","Icon","label","useContext","isAnchor","StyledItem","StyledText","$active","SidebarDelimeter","StyledDelimeter","SidebarSection","grow","shrink","basis","items","StyledSection","$grow","$shrink","$basis","StyledTypography","$weight","$style","Typography","element","weight","style","Element","ListMenu","width","StyledList","$width","ListMenuItem","count","StyledLink","StyledCount","ListMenuSection","title","StyledTitle","Header","HeaderDelimeter","HeaderSection","justify","$justify","Row","HeadCell","Cell","Table","columns","rowCount","renderCell","renderHeaderCell","rowIds","cellCount","data","useMemo","i","j","StyledTable","StyledHead","id","cells","rowIndex","cell","cellIndex","PAGINATION_LIMIT","DIFF","VISIBLE_GROUPE","STEP","ELLIPSIS","Pagination","total_items","limit","offset","onChangePage","currentPage","pages","paginationItems","lastPage","isDisabled","useCallback","page","onPaginationClick","FlexGroup","idx","$current","ContextMenu","isOpen","onClickOutside","onClick","anchor","positions","align","hasBorder","maxHeight","buttonRef","useRef","useTheme","Popover","$hasBorder","ContextMenuDelimiter","useContextMenuControl","setIsOpen","useState","prev","Select","options","selected","handleSelect","placeholder","handleToggle","option","StyledWrapper","item","$selected","RowActionsMenu","closeMenu","toggleMenu","ContentWrapper","Input","error","append","prepend","Group","InputGroup","IconWrapper","$error","PageLayout","header","sidebar","StyledMain","$withHeader","$withSidebar","Graph2D","graphData","height","linkTarget","linkSource","config","onNodeClick","onLinkClick","calculateFontSize","scale","fontSizeRatio","fgRef","useEffect","ForceGraph2D","node","link","ctx","globalScale","source","target","start","end","middleX","middleY","scaledFontSize","angle","textWidth","padding","x","y","nodeSize","truncateText","text","maxWidth","truncated","ellipsis","truncatedLabel"],"mappings":"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","file":"index.mjs","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {\n ButtonVariant,\n ButtonSize,\n ButtonColor,\n getButtonStyles,\n getButtonSizeStyles,\n ButtonElementStyle,\n} from '../../Theme';\n\ninterface BaseButtonProps {\n children?: any;\n variant?: ButtonVariant;\n color?: ButtonColor;\n size?: ButtonSize;\n disabled?: boolean;\n fullWidth?: boolean;\n className?: string;\n icon?: any;\n iconPosition?: 'left' | 'right';\n}\n\nexport type ButtonProps = BaseButtonProps &\n (React.AnchorHTMLAttributes<HTMLAnchorElement> | React.ButtonHTMLAttributes<HTMLButtonElement>);\n\nconst getCss = (styles: ButtonElementStyle) => `\n background: ${styles.background};\n color: ${styles.text};\n border-color: ${styles.border};\n box-shadow: ${styles.boxShadow};\n `;\n\n// Створюємо стилізований компонент, що використовує уніфіковану палітру\nconst StyledButton = styled.button<{\n $variant: ButtonVariant;\n $color: ButtonColor;\n $size: ButtonSize;\n $disabled: boolean;\n $fullWidth: boolean;\n $iconPosition: 'left' | 'right';\n}>`\n ${({ $variant, $color, $size, $disabled, $fullWidth, $iconPosition, theme }) => {\n const sizes = getButtonSizeStyles(theme, $size);\n return `\n ${getCss(getButtonStyles(theme, $variant, $color, 'default'))}\n font-size: ${sizes.fontSize};\n gap: ${sizes.gap};\n padding-block: ${sizes.paddingBlock};\n padding-inline: ${sizes.paddingInline};\n border-radius: ${sizes.borderRadius};\n border-width: ${sizes.borderWidth};\n border-style: solid;\n width: ${$fullWidth ? '100%' : 'auto'};\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n transition: all 0.2s ease;\n outline: none;\n\n ${$iconPosition === 'right' ? 'flex-direction: row-reverse;' : ''}\n\n &:hover {\n ${getCss(getButtonStyles(theme, $variant, $color, 'hover'))}\n }\n\n &:active {\n ${getCss(getButtonStyles(theme, $variant, $color, 'active'))}\n }\n\n &:disabled {\n ${getCss(getButtonStyles(theme, $variant, $color, 'disabled'))}\n }\n\n svg {\n width: ${sizes.iconSize};\n height: ${sizes.iconSize};\n }\n `;\n }}\n`;\n\nexport const Button = ({\n children,\n variant = 'fill',\n color = 'primary',\n size = 'medium',\n disabled = false,\n fullWidth = false,\n className,\n icon,\n iconPosition = 'left',\n ...props\n}: ButtonProps) => {\n return (\n <StyledButton\n as={'href' in props ? 'a' : 'button'}\n $variant={variant}\n $color={color}\n $size={size}\n $disabled={disabled}\n $fullWidth={fullWidth}\n $iconPosition={iconPosition}\n disabled={disabled}\n className={className}\n {...props}\n >\n {icon}\n <div>{children}</div>\n </StyledButton>\n );\n};\n","import { createGlobalStyle } from 'styled-components';\n\nexport const GlobalStyle = createGlobalStyle`\n *, *::before, *::after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n }\n\n body, html {\n font-size: 14px;}\n`;\n","import { ThemeProvider as ThemeProviderStyled } from 'styled-components';\nimport { lightTheme } from './theme';\nimport { GlobalStyle } from './GlobalStyle';\n\nexport const ThemeProvider = ({ children }: { children: any }) => {\n return (\n <ThemeProviderStyled theme={lightTheme}>\n <GlobalStyle />\n {children}\n </ThemeProviderStyled>\n );\n};\n","import { DefaultTheme } from 'styled-components';\nimport { Breakpoint, ButtonColor, ButtonSize, ButtonState, ButtonVariant, InputSize, InputState } from './types';\n\n/**\n * Helper function to resolve nested color paths from theme\n * Supports formats like 'primary.main', 'text.lightest', 'background'\n *\n * @param theme - The styled-components theme object\n * @param colorPath - A dot-notation path to the color in the theme, e.g. 'primary.main'\n * @returns The resolved color value or undefined if not found\n */\nexport const resolveThemeColor = (theme: DefaultTheme, colorPath: string | undefined): string | undefined => {\n // Skip processing if not a string or empty\n if (!colorPath || typeof colorPath !== 'string') {\n return undefined;\n }\n\n // Check if it's a color path (contains dot) or a top-level theme color property\n const isThemeColorPath = colorPath.includes('.') || theme.colors.hasOwnProperty(colorPath);\n\n // Return early if it's not a theme color path\n if (!isThemeColorPath) {\n return colorPath; // Return as-is if it's not a theme color path\n }\n\n const parts = colorPath.split('.');\n\n if (parts.length === 1) {\n // For simple color keys like 'background', 'disable'\n return theme.colors[parts[0] as keyof typeof theme.colors] as string;\n } else if (parts.length === 2) {\n // For nested color keys like 'primary.main', 'text.light'\n const [category, variant] = parts;\n const colorCategory = theme.colors[category as keyof typeof theme.colors];\n\n if (colorCategory && typeof colorCategory === 'object') {\n return colorCategory[variant as keyof typeof colorCategory] as string;\n }\n }\n\n return undefined;\n};\n\n/**\n * Converts a pixel value to rem units\n *\n * @param pxValue - The pixel value to convert. Can be a number or a string with 'px' suffix\n * @param baseSize - Base font size in pixels. Default is 16px (browser default)\n * @returns The value in rem units as a string (e.g., \"1.25rem\")\n */\nexport const pxToRem = (pxValue: number | string, baseSize: number = 16): string => {\n // If pxValue is a string with 'px' suffix, extract the numeric value\n const numericValue = typeof pxValue === 'string' ? parseFloat(pxValue.replace('px', '')) : pxValue;\n\n // Handle invalid values\n if (isNaN(numericValue)) {\n console.warn(`Invalid pixel value: ${pxValue}`);\n return '0';\n }\n\n // Convert to rem and round to 4 decimal places for precision\n const remValue = (numericValue / baseSize).toFixed(4).replace(/\\.?0+$/, '');\n\n return `${remValue}rem`;\n};\n\nconst IGNORE_CONVERT_KEYS: Record<string, string[]> = {\n contextMenu: ['padding'],\n};\n\n/**\n * Recursively converts all pixel values in an object to rem units\n *\n * @param obj - The object containing values to convert\n * @param baseSize - Base font size in pixels. Default is 16px\n * @returns A new object with pixel values converted to rem\n */\nexport const convertPaletteToRem = (\n obj: Record<string, any>,\n baseSize: number = 14,\n parentKey?: string\n): Record<string, any> => {\n const result: Record<string, any> = {};\n\n Object.entries(obj).forEach(([key, value]) => {\n // If the value is an object and not null, recursively convert its properties\n if (value !== null && typeof value === 'object' && !Array.isArray(value)) {\n result[key] = convertPaletteToRem(value, baseSize, key);\n }\n // If value is a string and contains 'px', convert it to rem\n else if (typeof value === 'string' && value.includes('px')) {\n result[key] = pxToRem(value, baseSize);\n }\n // Handle numeric values that represent pixels for specific properties\n else if (\n typeof value === 'number' &&\n ['fontSize', 'width', 'height', 'padding', 'margin', 'gap', 'borderRadius', 'size'].some((prop) =>\n key.toLowerCase().includes(prop.toLowerCase())\n )\n ) {\n if (!(parentKey && IGNORE_CONVERT_KEYS[parentKey]?.includes(key))) {\n result[key] = pxToRem(value, baseSize);\n } else {\n result[key] = value; // Keep original value if it's in the ignore list\n }\n }\n // Keep other values unchanged\n else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\n// Вспоміжні функції для роботи з палітрою\n/**\n * Функція для отримання стилів кнопки за варіантом, кольором, станом та розміром\n */\nexport const getButtonStyles = <V extends ButtonVariant>(\n theme: DefaultTheme,\n variant: ButtonVariant,\n color: ButtonColor,\n state: ButtonState\n) => {\n return theme.button[variant][color][state];\n};\n\nexport const getButtonSizeStyles = (theme: DefaultTheme, size: ButtonSize) => {\n return theme.button.sizes[size];\n};\n\n// /**\n// * Функція для отримання стилів інпута за варіантом, станом та розміром\n// */\n// export const getInputStyles = (\n// variant: InputVariant = 'default',\n// state: InputState = 'default',\n// size: InputSize = 'medium'\n// ) => {\n// const variantStyles = theme.input[variant][state];\n// const sizeStyles = theme.input.sizes[size];\n\n// return {\n// ...variantStyles,\n// ...sizeStyles,\n// };\n// };\n\n/**\n * Функція для отримання типографічних стилів\n */\nexport const getTypographyStyles = (theme: DefaultTheme, variant: string = 'body') => {\n return theme.typography.variants[variant as keyof typeof theme.typography.variants] || theme.typography.variants.body;\n};\n\n/**\n * Функція для отримання медіа-запитів для breakpoints\n */\nexport const getBreakpoint = (theme: DefaultTheme, size: Breakpoint = 'm') => {\n return `@media (min-width: ${theme.breakpoints[size]}px)`;\n};\n","import { DefaultTheme } from 'styled-components/dist/types';\n\nimport 'styled-components';\nimport { convertPaletteToRem } from './utils';\nimport { Theme } from './types';\n\n/**\n * Палітра, що містить як кольори, так і розміри в px\n * Кольори взято з теми, розміри будуть автоматично конвертовані в rem\n */\nexport const lightThemePx: Theme = {\n mode: 'light',\n // Секція кольорів з теми\n colors: {\n background: '#ffffff',\n primary: {\n main: '#0042EC',\n light: '#80A0F5',\n lighter: '#E5ECFD',\n lightest: '#F3F7FF',\n lightest2: 'rgba(0, 66, 236, 0.05)',\n },\n text: {\n main: '#101010',\n light: '#535353',\n lighter: '#99989C',\n invert: '#ffffff',\n },\n stroke: {\n main: '#C7C5C5',\n light: '#EBEBEB',\n lighter: '#F3F3F3',\n },\n disable: '#FAFAFA',\n success: '#27AE60',\n error: '#FF3B30',\n warning: '#F2994A',\n info: '#2F80ED',\n },\n // Типографія\n typography: {\n fontFamily:\n 'Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;',\n lineHeight: 1.49,\n // Розміри текстових елементів\n variants: {\n h1: {\n fontSize: 22,\n },\n h2: {\n fontSize: 16,\n },\n h3: {\n fontSize: 14,\n },\n body: {\n fontSize: 12,\n },\n },\n },\n breakpoints: {\n xs: 320,\n s: 576,\n m: 768,\n l: 992,\n xl: 1200,\n },\n zIndex: {\n dropdown: 1000,\n sticky: 1020,\n fixed: 1030,\n backdrop: 1040,\n modal: 1050,\n popover: 1060,\n tooltip: 1070,\n },\n button: {\n // Варіанти кнопок з кольорами\n fill: {\n default: {\n // колір default\n default: {\n background: '#E8EAEE',\n text: '#101010',\n border: ' #E8EAEE',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #E5ECFD',\n boxShadow: 'none',\n },\n active: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #E5ECFD',\n boxShadow: 'none',\n },\n disabled: {\n background: '#EBEBEB',\n text: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n },\n primary: {\n // колір primary\n default: {\n background: '#0042EC',\n text: '#FFFFFF',\n border: ' #0042EC',\n boxShadow: 'none',\n },\n hover: {\n background: '#4D7BF2',\n text: '#FFFFFF',\n border: ' #4D7BF2',\n boxShadow: 'none',\n },\n active: {\n background: '#4D7BF2',\n text: '#FFFFFF',\n border: ' #4D7BF2',\n boxShadow: 'none',\n },\n disabled: {\n background: '#99989C',\n text: '#FFFFFF',\n border: ' #E5ECFD',\n boxShadow: 'none',\n },\n },\n //default as secondary\n secondary: {\n // колір default\n default: {\n background: '#E8EAEE',\n text: '#101010',\n border: ' #E8EAEE',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #E5ECFD',\n boxShadow: 'none',\n },\n active: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #E5ECFD',\n boxShadow: 'none',\n },\n disabled: {\n background: '#EBEBEB',\n text: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n },\n error: {\n // колір error\n default: {\n background: '#C93939',\n text: '#FFFFFF',\n border: ' #C93939',\n boxShadow: 'none',\n },\n hover: {\n background: '#C53939',\n text: '#FFFFFF',\n border: ' #C53939',\n boxShadow: 'none',\n },\n active: {\n background: '#C53939',\n text: '#FFFFFF',\n border: ' #C53939',\n boxShadow: 'none',\n },\n disabled: {\n background: '#FFCCCB',\n text: '#FFFFFF',\n border: ' #FFCCCB',\n boxShadow: 'none',\n },\n },\n },\n outlined: {\n default: {\n // колір default\n default: {\n background: 'transparent',\n text: '#101010',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n active: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n },\n primary: {\n // колір primary\n default: {\n background: 'transparent',\n text: '#0042EC',\n border: ' #0042EC',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#0042EC',\n border: ' #0042EC',\n boxShadow: 'none',\n },\n active: {\n background: '#E5ECFD',\n text: '#0042EC',\n border: ' #0042EC',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: ' #99989C',\n boxShadow: 'none',\n },\n },\n secondary: {\n // колір secondary\n default: {\n background: 'transparent',\n text: '#0042EC',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#0042EC',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n active: {\n background: '#E5ECFD',\n text: '#0042EC',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n },\n error: {\n // колір error\n default: {\n background: 'transparent',\n text: '#C93939',\n border: ' #C93939',\n boxShadow: 'none',\n },\n hover: {\n background: '#FCF5F5',\n text: '#C93939',\n border: ' #C93939',\n boxShadow: 'none',\n },\n active: {\n background: '#FCF5F5',\n text: '#C93939',\n border: ' #C93939',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: ' #99989C',\n boxShadow: 'none',\n },\n },\n },\n empty: {\n default: {\n // колір default\n default: {\n background: 'transparent',\n text: '#101010',\n border: 'transparent',\n boxShadow: 'none',\n },\n hover: {\n background: 'transparent',\n text: '#80A0F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n active: {\n background: 'transparent',\n text: '#80A0F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: 'transparent',\n boxShadow: 'none',\n },\n },\n primary: {\n // колір primary\n default: {\n background: 'transparent',\n text: '#0042EC',\n border: 'transparent',\n boxShadow: 'none',\n },\n hover: {\n background: 'transparent',\n text: '#80A0F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n active: {\n background: 'transparent',\n text: '#80A0F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: 'transparent',\n boxShadow: 'none',\n },\n },\n //default as secondary\n secondary: {\n // колір default\n default: {\n background: 'transparent',\n text: '#101010',\n border: 'transparent',\n boxShadow: 'none',\n },\n hover: {\n background: 'rgba(0, 0, 0, 0.05)',\n text: '#101010',\n border: 'transparent',\n boxShadow: 'none',\n },\n active: {\n background: 'rgba(0, 0, 0, 0.1)',\n text: '#101010',\n border: 'transparent',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: 'transparent',\n boxShadow: 'none',\n },\n },\n error: {\n // колір error\n default: {\n background: 'transparent',\n text: '#C93939',\n border: 'transparent',\n boxShadow: 'none',\n },\n hover: {\n background: 'transparent',\n text: '#FCF5F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n active: {\n background: 'transparent',\n text: '#FCF5F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: 'transparent',\n boxShadow: 'none',\n },\n },\n },\n // Розміри кнопок\n sizes: {\n small: {\n fontSize: 14,\n iconSize: 16,\n paddingInline: 10,\n paddingBlock: 10,\n borderRadius: 5,\n borderWidth: 1,\n gap: 10,\n },\n medium: {\n fontSize: 16,\n iconSize: 16,\n paddingInline: 10,\n paddingBlock: 10,\n borderRadius: 5,\n borderWidth: 1,\n gap: 10,\n },\n },\n },\n\n // Компонент Sidebar\n sidebar: {\n background: '#FFFFFF',\n width: 224,\n collapsedWidth: 65,\n text: {\n default: '#101010',\n active: '#0042EC',\n hover: '#535353',\n },\n item: {\n default: {\n background: 'transparent',\n border: 'transparent',\n padding: '10px 16px',\n height: 40,\n },\n active: {\n background: '#F3F7FF',\n borderLeft: '2px solid #0042EC',\n padding: '10px 16px',\n height: 40,\n },\n hover: {\n background: '#F3F3F3',\n border: 'transparent',\n padding: '10px 16px',\n height: 40,\n },\n },\n section: {\n background: 'transparent',\n padding: '16px 16px 8px',\n title: {\n color: '#99989C',\n fontSize: '12px',\n fontWeight: 600,\n },\n },\n delimeter: {\n color: '#EBEBEB',\n thickness: 1,\n margin: '8px 0',\n },\n },\n contextMenu: {\n button: {\n default: {\n background: 'transparent',\n text: '#101010',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n hover: {\n background: 'transparent',\n text: '#0042EC',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n active: {\n background: 'transparent',\n text: '#0042EC',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n disabled: {\n background: '#FAFAFA',\n text: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n },\n delimeter: {\n color: '#EBEBEB',\n thickness: 1,\n marginInline: 12,\n marginBlock: 3,\n style: 'solid',\n },\n shadow: '0px 4px 16px rgba(0, 0, 0, 0.1), 0px 2px 4px rgba(0, 0, 0, 0.06)',\n padding: 5,\n icon: {\n size: 7,\n },\n },\n // Компонент Select\n select: {\n item: {\n default: {\n background: 'transparent',\n text: '#101010',\n border: ' none',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' none',\n boxShadow: 'none',\n },\n active: {\n background: '#E8EAEE',\n text: '#101010',\n border: ' none',\n boxShadow: 'none',\n },\n disabled: {\n background: '#FAFAFA',\n text: '#99989C',\n border: ' none',\n boxShadow: 'none',\n },\n },\n },\n // Компонент RowActionsMenu\n rowActionsMenu: {\n button: {\n default: {\n background: 'transparent',\n text: '#101010',\n border: ' none',\n boxShadow: 'none',\n },\n hover: {\n background: 'transparent',\n text: '#0042EC',\n border: ' none',\n boxShadow: 'none',\n },\n active: {\n background: 'transparent',\n text: '#0042EC',\n border: ' none',\n boxShadow: 'none',\n },\n disabled: {\n background: '#FAFAFA',\n text: '#99989C',\n border: ' none',\n boxShadow: 'none',\n },\n },\n delimiterColor: '#EBEBEB',\n icon: {\n size: 16,\n },\n },\n // Компонент Input\n input: {\n sizes: {\n small: {\n fontSize: 14,\n paddingInline: 10,\n paddingBlock: 10,\n borderRadius: 5,\n iconSize: 14,\n height: 40,\n },\n medium: {\n fontSize: 16,\n paddingInline: 10,\n paddingBlock: 10,\n borderRadius: 5,\n iconSize: 16,\n height: 40,\n },\n },\n outlined: {\n default: {\n background: 'transparent',\n text: '#101010',\n placeholder: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n icon: '#101010',\n },\n focus: {\n background: 'transparent',\n text: '#101010',\n placeholder: '#99989C',\n border: ' #0042EC',\n boxShadow: 'none',\n icon: '#101010',\n },\n error: {\n background: 'transparent',\n text: '#101010',\n placeholder: '#99989C',\n border: ' #C93939',\n boxShadow: 'none',\n icon: '#C93939',\n },\n disabled: {\n background: '#FAFAFA',\n text: '#99989C',\n placeholder: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n icon: '#99989C',\n },\n },\n },\n};\n\n// Конвертуємо всі розміри з px в rem\nexport const lightTheme = convertPaletteToRem(lightThemePx) as DefaultTheme;\nexport const darkTheme = convertPaletteToRem(lightThemePx) as DefaultTheme;\n\nconsole.log('Light theme:', lightTheme.contextMenu);\n","import { SVGProps } from 'react';\n\ninterface AlertIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const AlertIcon = ({ fill = 'currentColor', ...props }: AlertIconProps) => {\n return (\n <svg width=\"17\" height=\"15\" viewBox=\"0 0 17 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.8676 1.3524C7.53792 0.215866 9.21522 0.215866 9.88554 1.3524L16.1406 11.9435C16.8109 13.0801 15.9712 14.5 14.6306 14.5H2.12155C0.779912 14.5 -0.0587385 13.0801 0.61258 11.9435L6.8676 1.3524ZM8.37657 3.79201C8.57469 3.79201 8.7647 3.86897 8.90479 4.00595C9.04488 4.14293 9.12358 4.32871 9.12358 4.52243V7.93107C9.12358 8.12479 9.04488 8.31058 8.90479 8.44756C8.7647 8.58454 8.57469 8.66149 8.37657 8.66149C8.17845 8.66149 7.98844 8.58454 7.84835 8.44756C7.70826 8.31058 7.62955 8.12479 7.62955 7.93107V4.52243C7.62955 4.32871 7.70826 4.14293 7.84835 4.00595C7.98844 3.86897 8.17845 3.79201 8.37657 3.79201ZM8.37657 12.5571C8.64073 12.5571 8.89407 12.4545 9.08086 12.2718C9.26765 12.0892 9.37259 11.8415 9.37259 11.5832C9.37259 11.3249 9.26765 11.0772 9.08086 10.8945C8.89407 10.7119 8.64073 10.6093 8.37657 10.6093C8.11241 10.6093 7.85907 10.7119 7.67227 10.8945C7.48548 11.0772 7.38055 11.3249 7.38055 11.5832C7.38055 11.8415 7.48548 12.0892 7.67227 12.2718C7.85907 12.4545 8.11241 12.5571 8.37657 12.5571Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ApiIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ApiIcon = ({ fill = 'currentColor', ...props }: ApiIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M10.2,2.41l-3.38,11.52c-.12.32-.37.5-.68.5-.22,0-.41-.09-.55-.24-.14-.17-.19-.39-.15-.6l3.33-11.34c.08-.37.35-.64.69-.67.26,0,.46.1.6.27.13.15.18.36.14.57Z\"\n fill={fill}\n />\n <path\n d=\"M16,7.96c-.01.27-.22.46-.44.68l-.09.09c-.98.94-1.97,1.86-2.96,2.8l-1.16,1.09c-.17.09-.28.13-.41.13-.27,0-.53-.17-.66-.42-.12-.24-.08-.54.12-.77l3.82-3.61-3.76-3.45c-.23-.26-.3-.57-.18-.84.12-.27.37-.44.66-.44.15,0,.31.05.44.15l3,2.75s.03.03.03.05c.17.14.33.28.49.44.28.24.55.49.8.73.22.22.31.4.31.6Z\"\n fill={fill}\n />\n <path\n d=\"M5.22,11.6c.18.28.18.55.05.78s-.36.37-.62.37c-.19,0-.36-.08-.51-.21L.22,8.48c-.27-.28-.3-.68-.05-.98.62-.59,1.21-1.18,1.8-1.76.6-.59,1.2-1.17,1.8-1.75l.12-.12c.22-.21.39-.37.55-.42.08-.01.14-.03.22-.03.27,0,.53.17.64.42.13.26.08.55-.1.77l-1.22,1.2-.93.89c-.45.42-.89.85-1.32,1.27l3.5,3.63Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ArrowCircleTopRightIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ArrowCircleTopRightIcon = ({ fill = 'currentColor', ...props }: ArrowCircleTopRightIconProps) => {\n return (\n <svg viewBox=\"0 0 17 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_4867_31686)\">\n <path\n d=\"M3.30042 2.23687C7.62196 -1.93984 14.8631 0.000721882 16.548 5.73245C18.3872 12.0039 12.2779 17.7357 6.13 15.4995C0.599454 13.4947 -0.943954 6.33646 3.30042 2.23687ZM8.53515 1.13165C3.14608 1.40152 0.110708 7.53165 3.24897 11.9525C6.38724 16.3734 12.9339 15.6409 15.1332 10.8345C17.3326 6.02803 13.6413 0.874617 8.53515 1.13165Z\"\n fill={fill}\n />\n <path\n d=\"M11.5576 4.71729C11.7376 4.71729 11.8791 4.8715 11.8534 5.05142L10.7602 10.706C10.7344 10.9117 10.5029 10.9888 10.3229 10.8988L8.47077 9.04821H8.43218L6.33572 11.1173C5.82125 11.5799 5.10099 10.9888 5.47398 10.3976L7.64762 8.22572L5.69263 6.27231C5.57688 6.14379 5.62832 5.91247 5.79553 5.84821L11.5704 4.71729H11.5576Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_4867_31686\">\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.869629 0.000976562)\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ArrowRightIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ArrowRightIcon = ({ fill = 'currentColor', ...props }: ArrowRightIconProps) => {\n return (\n <svg viewBox=\"0 0 16 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_4867_31659)\">\n <path\n d=\"M12.4162 5.09031L8.51793 1.18745L9.70437 0.0217918L9.78912 0.000976562L15.8696 6.00618L9.78912 12.001L9.70437 11.9802L8.50734 10.7937L12.448 6.87001H0.869629V5.09031H12.4162Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_4867_31659\">\n <rect width=\"15\" height=\"12\" fill=\"white\" transform=\"translate(0.869629 0.000976562)\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface BugReportIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const BugReportIcon = ({ fill = 'currentColor', ...props }: BugReportIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.3.98c-.06-.1-.19-.28-.32-.4-.33-.34-.76-.52-1.2-.52-.13,0-.26.02-.39.05-.58.14-1.18.73-1.31,1.33-.07.03-1.73.56-3.85,1.23,0,0-4.3,1.35-4.82,1.51-.51.17-1.13.38-1.27.44-.52.25-1.02.76-1.32,1.34-.39.75-.43,1.58-.11,2.34.23.55.76,1.18,1.23,1.47.14.08.58.24.94.36l.66.21v2.01q0,2.29.21,2.7c.21.38.69.76,1.11.86.1.02.2.03.31.03.26,0,.54-.07.78-.2.23-.12.6-.49.72-.72.2-.36.2-.44.2-2.17,0-.74.01-1.23.01-1.45.73.23,4.55,1.43,5.03,1.59.08.02.18.05.21.12.01.08.06.21.11.31.3.62.92,1.02,1.57,1.02.17,0,.34-.03.5-.09.41-.13.84-.52,1.05-.94q.15-.31.15-5.56v-1.43q0-5.08-.2-5.44ZM5.69,12.71c0,1.52,0,1.76-.05,1.84-.07.16-.13.2-.44.2s-.36-.04-.44-.2c-.04-.08-.04-.35-.04-2.02,0-1.08,0-1.62.01-1.81,0,0,.92.29.96.3v1.69ZM12.04,11.79c-1.06-.32-9.07-2.85-9.31-2.94-.47-.17-.87-.62-1.01-1.12-.06-.23-.06-.76,0-.96.11-.43.44-.85.81-1.04.13-.07,1.12-.4,2.66-.88,0,0,6.66-2.11,6.86-2.17.01.45.02,2.11.02,4.55,0,2.69-.02,4.16-.03,4.56ZM14.26,13.05c-.05.11-.14.21-.48.21s-.43-.1-.48-.21c-.05-.12-.05-.5-.05-5.82,0-4.97,0-5.7.04-5.78.03-.06.09-.11.17-.15.08-.05.12-.06.24-.06h.13c.23.01.28.03.32.06.04.03.1.1.12.15.05.08.05.88.05,5.78,0,5.32,0,5.7-.06,5.82Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface CalendarIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const CalendarIcon = ({ fill = 'currentColor', ...props }: CalendarIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M11.87,1.16v-.44c0-.4-.34-.72-.76-.72s-.76.33-.76.72v.37h-4.7v-.37c0-.4-.34-.72-.76-.72s-.76.33-.76.72v.44C1.39,1.51.26,3.04.26,6.29v4.49c0,3.13.92,5.22,5.41,5.22h4.66c4.49,0,5.41-2.08,5.41-5.22v-4.49c0-3.24-1.12-4.76-3.88-5.12ZM14.23,10.78c0,2.78-.59,3.77-3.9,3.77h-4.66c-3.31,0-3.9-.99-3.9-3.77v-4.49c0-2.65.77-3.45,2.36-3.68v.29c0,.41.35.72.76.72s.76-.31.76-.72v-.36h4.7v.36c0,.41.34.72.76.72s.76-.31.76-.72v-.28c1.6.22,2.36,1.01,2.36,3.67v4.49Z\"\n fill={fill}\n />\n <path\n d=\"M11.09,8.72c0,.41-.34.72-.76.72h-6.21c-.42,0-.76-.31-.76-.72s.34-.71.76-.71h6.21c.42,0,.76.31.76.71Z\"\n fill={fill}\n />\n <path\n d=\"M8.76,11.63c0,.41-.34.72-.76.72h-3.88c-.42,0-.76-.31-.76-.72s.34-.71.76-.71h3.88c.42,0,.76.31.76.71Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ChevronLeftIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ChevronLeftIcon = ({ fill = 'currentColor', ...props }: ChevronLeftIconProps) => {\n return (\n <svg width=\"10\" height=\"17\" viewBox=\"0 0 10 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_4867_31655)\">\n <path\n d=\"M1.3889 10.312L8.1486 16.3084C9.1046 16.9491 10.0992 15.878 9.3846 14.9886L2.7312 9.1069C2.38356 8.78174 2.38356 8.27486 2.71189 7.93057L9.46189 1.94377C10.0316 1.06391 9.037 0.07886 8.14859 0.69097C6.09169 2.65157 3.83209 4.39207 1.77519 6.34307C0.50049 7.55767 0.18189 8.86787 1.38889 10.3025V10.312Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_4867_31655\">\n <rect width=\"9\" height=\"16\" fill=\"white\" transform=\"translate(0.63623 0.5)\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ChevronRightIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ChevronRightIcon = ({ fill = 'currentColor', ...props }: ChevronRightIconProps) => {\n return (\n <svg viewBox=\"0 0 10 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_4867_31655)\">\n <path\n d=\"M9.10673 9.81323L2.34707 15.8096C1.39106 16.4504 0.396428 15.3793 1.11102 14.4899L7.76445 8.60821C8.11209 8.28304 8.11209 7.77617 7.78377 7.43188L1.03377 1.44503C0.464025 0.56517 1.45866 -0.419887 2.34707 0.192187C4.40394 2.15274 6.6636 3.89332 8.72046 5.84431C9.99514 7.05889 10.3138 8.36911 9.10673 9.80366V9.81323Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_4867_31655\">\n <rect width=\"9\" height=\"16\" fill=\"white\" transform=\"translate(0.869629 0.000976562)\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ClosedLockIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ClosedLockIcon = ({ fill = 'currentColor', ...props }: ClosedLockIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M14.31,7.47c-.09-.74-.66-1.22-1.44-1.22h-.1v-.37c.03-1.32.04-2.56-.73-3.76-.85-1.33-2.35-2.12-4-2.12s-3.18.8-4.03,2.15c-.75,1.18-.74,2.4-.72,3.71v.39s-.1,0-.1,0c-.76,0-1.32.46-1.42,1.21.06,1.07,0,2.21-.03,3.32-.05,1.3-.1,2.63,0,3.87.07.79.58,1.29,1.36,1.35h9.87c.76-.07,1.26-.55,1.34-1.32v-7.21ZM4.21,4.01c0-.41.53-1.43.84-1.8.74-.86,1.83-1.35,2.99-1.35,1.4,0,2.65.7,3.32,1.87.16.26.49,1.04.49,1.28v2.26h-.64v-2.16c0-.16-.21-.7-.23-.75-.48-1.16-1.65-1.9-2.97-1.9-1.23,0-2.28.62-2.83,1.66-.1.2-.34.79-.34,1.04v2.11h-.64v-2.26ZM10.36,4.41v1.87h-4.66v-1.87c0-1.22,1.27-2.07,2.4-2.07.27,0,.52.04.76.13.71.26,1.5,1.14,1.5,1.94ZM13.41,14.71c-.02.15-.15.33-.27.37H2.97c-.14-.04-.2-.12-.27-.2-.06-1.51-.05-3.06-.05-4.55,0-.95,0-1.9,0-2.84.02-.16.21-.34.36-.37l9.84-.02c.27,0,.55.17.55.48v7.13Z\"\n fill={fill}\n />\n <path\n d=\"M9.47,11.09c.24-.47.22-1.02-.07-1.47-.29-.48-.8-.77-1.36-.77-.06,0-.12,0-.19,0-.53.06-.99.37-1.24.83-.24.44-.25.95-.02,1.39.03.08.1.16.17.25.05.06.14.17.15.2.02.12-.07.42-.14.67-.05.21-.11.4-.12.56-.03.26-.06.55.41.61.17.02.59.03,1.01.03.3,0,.83,0,1.03-.05.33-.07.32-.32.31-.51,0-.17-.07-.4-.14-.65s-.15-.54-.13-.65c0-.04.09-.14.14-.2.08-.1.15-.18.18-.26ZM7.74,11.98c.08-.31.14-.52.13-.63-.02-.19-.16-.3-.28-.41-.11-.09-.21-.17-.23-.27-.06-.26,0-.51.13-.69.13-.16.31-.25.52-.25.1,0,.2.02.3.06.2.07.35.24.4.44.06.23,0,.46-.14.64-.02.02-.06.04-.1.07-.11.07-.27.18-.28.4,0,.17.07.42.15.69.04.16.09.3.1.4,0,.03,0,.06,0,.09h-.84c.03-.14.09-.38.14-.55Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DataSetsIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const DataSetsIcon = ({ fill = 'currentColor', ...props }: DataSetsIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M12.43,2.08c-.18-.11-.31-.18-.4-.22-1.82-.8-3.7-.97-3.7-.97-.19,0-.45-.04-.79-.04s-.88.03-1.53.11c-1.24.14-2.21.27-3.16.87-.5.32-1.35.84-1.34,1.54,0,.83.71,1.2,1.37,1.49,2.18.98,4.45,1.09,6.79.7.99-.16,1.9-.46,2.75-.97,1.17-.72,1.16-1.76.02-2.52ZM12.36,4.51c-.8.48-1.69.8-2.72.96-.83.14-1.63.21-2.38.21-1.57,0-2.99-.3-4.34-.9-.66-.3-1.31-.64-1.32-1.4,0-.63.78-1.14,1.29-1.46.91-.56,1.78-.7,3.12-.85.55-.07,1.11-.11,1.52-.11.28,0,.5.02.68.04h.1s1.89.18,3.67.97c.09.03.21.1.39.21.52.35.81.78.8,1.2,0,.42-.3.83-.82,1.15Z\"\n fill={fill}\n />\n <path\n d=\"M14.23,4.12v-.7c0-.62-.21-1.14-.64-1.56-.42-.42-.92-.76-1.56-1.05-1.22-.55-2.61-.81-4.36-.81-.74,0-1.49.05-2.13.09-1.04.08-2.05.36-3.03.83C1.08,1.61.47,2.56.52,3.98c.09,2.66.09,5.36,0,8.02-.05,1.35.51,2.28,1.79,2.92,1.42.72,3.04,1.08,4.93,1.08.61,0,1.25-.04,1.97-.11.17,0,.34-.04.49-.07.25-.04.44-.28.44-.52,0-.27-.19-.5-.47-.54l-.22.03c-.29.04-.59.09-.92.11-.38.04-.75.06-1.13.07-1.66-.08-3.41-.24-4.94-1.18-.69-.43-1.01-1.05-.98-1.9,0-.26.05-.26.07-.26.03,0,.1,0,.24.09,1.73.94,3.57,1.42,5.47,1.42.79,0,1.62-.09,2.44-.25.27-.05.45-.29.44-.53,0-.26-.19-.47-.47-.52-.33.05-.68.11-1.06.14-.46.05-.92.08-1.36.08-.32,0-3.17-.11-4.69-1.07-.53-.35-.77-.7-.84-.85-.25-.44-.34-.98-.24-1.55.03-.14.06-.16.09-.17.04,0,.11.04.16.07.12.08.25.14.37.2.14.07.27.13.4.22.22.17.54.28,1.21.49.92.3,1.72.4,2.42.48.07,0,.81.09,1.65.09.47,0,.9-.03,1.26-.08.3-.04.58-.1.65-.13.03,0,.49-.11,1.06-.34.26-.11.45-.19.54-.4.03-.06.1-.25,0-.43-.12-.2-.37-.23-.42-.23h-.02c-1.13.32-2.27.49-3.42.5-.02,0-2.43-.05-4.6-.99-.96-.37-1.41-1.04-1.35-1.99v-.4c0-.19.03-.24.06-.25.03,0,.1.02.24.1,1.46.94,3.09,1.35,5.3,1.35.77,0,1.55-.06,2.15-.1,1.42-.11,2.71-.53,3.8-1.27.12-.08.18-.09.2-.09.03,0,.06.09.07.24.09,1.03-.13,1.64-.75,2.1-.04.04-.05.1-.02.14,0,0,.3.42.83.42.32,0,.61-.14.87-.47,0-1.5,0-2.73,0-3.55ZM12.41,4.6c-.85.5-1.76.81-2.75.97-2.33.39-4.6.28-6.79-.7-.66-.3-1.36-.66-1.37-1.49,0-.7.84-1.22,1.34-1.54.95-.6,1.92-.73,3.16-.87.65-.08,1.19-.11,1.53-.11s.6.03.79.04c0,0,1.89.17,3.7.97.09.04.22.11.4.22,1.14.76,1.15,1.8-.02,2.52Z\"\n fill={fill}\n />\n <path\n d=\"M15.48,13.04c0,.15-.06.31-.18.42l-.58.59c-.3.3-.59.6-.88.9l-.16.16c-.15.16-.31.32-.43.5-.11.17-.31.28-.53.28-.25,0-.47-.13-.59-.34-.04-.07-.09-.13-.15-.19l-1.86-1.91c-.19-.19-.23-.44-.11-.67.1-.17.28-.27.47-.27.25.02.35.13.42.22.35.36.7.71,1.06,1.07l.1.1v-4.92c0-.32.12-.51.37-.6.1-.04.2-.06.29-.06.18,0,.34.06.47.19.15.13.16.3.16.44v4.99l.04-.04c.08-.1.17-.19.25-.28l.89-.92c.13-.13.29-.19.43-.19.13,0,.25.04.35.14.11.1.17.24.18.38Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DeepSearchIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const DeepSearchIcon = ({ fill = 'currentColor', ...props }: DeepSearchIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.57,10.77c-.27-.27-.63-.43-1.01-.43h-.2v-1.06c0-.4-.16-.77-.43-1.05-.26-.28-.63-.44-1.01-.44h-4.3v-1.27h.61c.38-.01.75-.16,1.01-.44.27-.28.43-.65.43-1.05v-2.54c0-.4-.16-.77-.43-1.05-.26-.28-.63-.44-1.01-.44h-2.46c-.38,0-.74.16-1.01.44-.27.28-.42.65-.43,1.05v2.54c.01.4.16.77.43,1.05.27.28.63.43,1.01.44h.62v1.27H3.07c-.38,0-.74.16-1.01.44-.27.28-.42.65-.42,1.05v1.06h-.21c-.38,0-.74.16-1.01.43-.27.28-.42.66-.42,1.05v1.7c0,.39.15.77.42,1.05.27.27.63.43,1.01.43h1.64c.38,0,.75-.16,1.02-.43.27-.28.42-.66.42-1.05v-1.7c0-.39-.15-.77-.42-1.05-.27-.27-.64-.43-1.02-.43h-.2v-1.06c0-.06.02-.11.06-.15s.09-.07.14-.07h4.32v1.28h-.21c-.38,0-.75.16-1.02.43-.27.28-.42.66-.42,1.05v1.7c0,.39.15.77.42,1.05.27.27.64.43,1.02.43h1.64c.38,0,.74-.16,1.01-.43.27-.28.42-.66.42-1.05v-1.7c0-.39-.15-.77-.42-1.05-.27-.27-.63-.43-1.01-.43h-.2v-1.28h4.3c.06,0,.11.03.15.07s.06.09.06.15v1.06h-.21c-.38,0-.75.16-1.01.43-.27.28-.42.66-.43,1.05v1.7c.01.39.16.77.43,1.05.26.27.63.43,1.01.43h1.64c.38,0,.74-.16,1.01-.43.27-.28.42-.66.43-1.05v-1.7c-.01-.39-.16-.77-.43-1.05ZM3.07,11.61c.06,0,.11.02.15.06.04.04.06.1.06.15v1.7s-.02.11-.06.15c-.04.04-.09.06-.15.06h-1.64c-.05,0-.1-.02-.14-.06-.04-.04-.06-.1-.06-.15v-1.7s.02-.11.06-.15c.04-.04.09-.06.14-.06h1.64ZM8.82,11.61c.05,0,.1.02.14.06.04.04.06.1.06.15v1.7s-.02.11-.06.15-.09.06-.14.06h-1.64c-.06,0-.11-.02-.15-.06-.04-.04-.06-.1-.06-.15v-1.7s.02-.11.06-.15c.04-.04.09-.06.15-.06h1.64ZM6.77,5.24c-.06,0-.11-.02-.15-.06-.03-.04-.06-.09-.06-.15v-2.54c0-.06.03-.11.06-.15.04-.04.09-.06.15-.06h2.46c.06,0,.11.02.15.06.04.04.06.09.06.15v2.54c0,.06-.02.11-.06.15s-.09.06-.15.06h-2.46ZM14.77,13.52s-.03.11-.06.15c-.04.04-.09.06-.15.06h-1.64c-.06,0-.11-.02-.15-.06-.03-.04-.06-.1-.06-.15v-1.7s.03-.11.06-.15c.04-.04.09-.06.15-.06h1.64c.06,0,.11.02.15.06.03.04.06.1.06.15v1.7Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DisabledVisibleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const DisabledVisibleIcon = ({ fill = 'currentColor', ...props }: DisabledVisibleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.79.65c-.13-.12-.31-.2-.49-.2s-.36.07-.48.2l-2.46,2.32c-1.33-.87-2.84-1.32-4.35-1.32C5.22,1.65,2.58,3.18.76,5.86-.05,7.04-.05,8.97.76,10.14c.52.78,1.11,1.46,1.78,2.04L.21,14.39c-.13.13-.21.3-.21.48,0,.18.07.35.21.47s.31.2.49.2.36-.07.48-.2l5.46-5.13,3.69-3.47L15.79,1.61c.13-.13.21-.3.21-.48,0-.18-.07-.35-.21-.47ZM6.25,8.71c-.1-.23-.16-.46-.16-.71,0-.99.87-1.79,1.92-1.79.26,0,.52.05.75.14l-2.51,2.36ZM9.79,5.37c-.53-.33-1.14-.51-1.79-.51-1.82,0-3.32,1.4-3.32,3.13,0,.61.19,1.19.53,1.68l-1.66,1.57c-.6-.51-1.13-1.12-1.61-1.82-.52-.76-.52-2.08,0-2.85,1.55-2.28,3.75-3.59,6.06-3.59,1.15,0,2.29.32,3.33.94l-1.54,1.44Z\"\n fill={fill}\n />\n <path\n d=\"M15.24,10.14c-1.81,2.67-4.45,4.21-7.24,4.21-.99,0-1.96-.19-2.89-.56-.18-.07-.32-.21-.39-.38-.06-.16-.06-.34.01-.51.11-.25.36-.4.65-.4.09,0,.18.02.27.05.75.3,1.55.45,2.34.45,2.31,0,4.53-1.31,6.07-3.59.51-.76.51-2.08,0-2.85-.23-.33-.47-.65-.73-.95-.11-.13-.18-.31-.15-.48.02-.18.1-.34.26-.46.12-.09.29-.14.44-.14.21,0,.4.08.55.24.31.36.58.72.81,1.08.8,1.18.8,3.1,0,4.29Z\"\n fill={fill}\n />\n <path\n d=\"M11.26,8.62c-.25,1.24-1.3,2.24-2.63,2.46,0,0-.01.01-.02.01s-.02-.01-.03-.01l.03-.14-.04.14c-.4,0-.69-.23-.75-.54-.04-.18,0-.35.1-.49.1-.15.27-.26.45-.29.75-.12,1.36-.7,1.49-1.4.07-.32.36-.55.7-.55.01,0,.11.01.12.01.2.04.36.14.46.3.1.14.13.32.1.49Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DocsIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const DocsIcon = ({ fill = 'currentColor', ...props }: DocsIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.94,6.29c-.04-.08-.08-.16-.14-.22l-.09-.08L10.02.29l-.08-.09c-.13-.13-.29-.2-.47-.2h-3.67C1.74,0,0,1.74,0,5.79v4.41c0,4.06,1.74,5.79,5.79,5.79h4.41c4.06,0,5.79-1.74,5.79-5.79v-3.67c0-.08-.02-.18-.06-.25ZM10.13,2.28l3.59,3.59h-1.33c-1.82,0-2.26-.45-2.26-2.26v-1.33ZM14.66,10.21c0,3.3-1.16,4.46-4.46,4.46h-4.41c-3.3,0-4.46-1.16-4.46-4.46v-4.41C1.34,2.5,2.5,1.34,5.79,1.34h3v2.26c0,2.56,1.04,3.6,3.6,3.6h2.26v3Z\"\n fill={fill}\n />\n <path\n d=\"M9.4,8.73c0,.38-.29.67-.67.67h-4.39c-.38,0-.67-.29-.67-.67s.29-.66.67-.66h4.39c.38,0,.67.29.67.66Z\"\n fill={fill}\n />\n <path\n d=\"M7.93,11.66c0,.38-.29.67-.66.67h-2.93c-.38,0-.67-.29-.67-.67s.29-.66.67-.66h2.93c.36,0,.66.29.66.66Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DownloadIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const DownloadIcon = ({ fill = 'currentColor', ...props }: DownloadIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.96,7.28c-.01-1.06-.03-2.11-.02-3.15C15.72,1.7,14.09.18,11.58.04c-.6-.03-1.18-.04-1.78-.04-.71,0-1.41.02-2.12.03-.71.01-1.41.03-2.11.03-.42,0-.83-.01-1.25-.02C1.77.18.15,1.79,0,4.33v7.39c.12,2.48,1.73,4.12,4.21,4.28h7.52c2.5-.17,4.11-1.86,4.22-4.45.06-1.4.03-2.87,0-4.27ZM14.75,11.66c-.1,1.95-1.24,3.03-3.25,3.13-.56.02-1.11.03-1.68.03-.67,0-1.36-.01-2.03-.02-.68-.01-1.37-.03-2.04-.03-.42,0-.84.01-1.25.02-2.17-.1-3.22-1.2-3.3-3.47.02-.98.01-1.97,0-2.97-.02-1.25-.04-2.54.02-3.79.1-2.07,1.07-3.12,3.04-3.29.01,0,.02,0,.03-.01h7.32c1.87.1,3.01,1.22,3.12,3.08v7.32Z\"\n fill={fill}\n />\n <path\n d=\"M10.88,8.09l-2.44,2.44c-.13.12-.3.18-.47.18-.15,0-.31-.04-.43-.14l-2.48-2.48c-.18-.24-.2-.52-.08-.76.12-.23.37-.39.63-.39.15,0,.32.06.45.17l1.2,1.2V3.57l.11-.26c.14-.2.35-.31.58-.31.26,0,.51.15.63.4.07.14.08.18.08.21v4.74l1.24-1.26c.14-.11.29-.15.44-.15.26,0,.51.15.63.41.12.24.09.53-.09.75Z\"\n fill={fill}\n />\n <path\n d=\"M13.38,11.37c.08.28-.01.57-.23.76-.17.13-.67.31-1.57.52-1.17.28-2.39.42-3.61.42-1.31,0-2.62-.17-3.88-.49-.52-.12-1.17-.31-1.35-.49-.19-.18-.25-.46-.18-.73.08-.25.28-.43.52-.47.06,0,.1-.01.14-.01.2,0,.39.07.57.13.07.03.13.06.2.07,1.38.37,2.69.56,4.02.56,1.21,0,2.45-.17,3.66-.49.09-.02.2-.06.31-.09.24-.09.53-.18.74-.18.34.03.55.21.64.47Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface EditUserIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const EditUserIcon = ({ fill = 'currentColor', ...props }: EditUserIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M7.49,0C5.08,0,3.14,1.96,3.14,4.36s1.95,4.35,4.35,4.35,4.35-1.96,4.35-4.35S9.89,0,7.49,0ZM7.49,7.29c-1.62,0-2.93-1.31-2.93-2.93s1.31-2.94,2.93-2.94,2.93,1.32,2.93,2.94-1.31,2.93-2.93,2.93Z\"\n fill={fill}\n />\n <path\n d=\"M14.86,10.23c-.28-.28-.75-.62-1.32-.62-.45,0-.89.21-1.3.62l-.27.28c-.07.04-.12.1-.16.16l-2.14,2.13c-.22.21-.38.55-.43.83l-.13.98c-.07.39.05.78.32,1.04.22.22.52.34.85.34.07,0,.13-.01.19-.02l.98-.14c.3-.04.62-.21.84-.42l2.58-2.58c.42-.43.62-.85.62-1.3s-.22-.91-.62-1.31ZM13.25,11.22c.14-.14.23-.2.3-.2.08,0,.17.07.32.21.16.15.21.26.21.31,0,.02-.04.13-.21.3l-.04.04c-.25-.14-.47-.35-.61-.61l.04-.04ZM11.25,14.44l-.7.1.12-.73,1.52-1.52c.16.23.37.44.6.61l-1.54,1.54Z\"\n fill={fill}\n />\n <path\n d=\"M10.33,10.7c-.1.31-.37.5-.68.5-.08,0-.14-.01-.21-.03-.64-.19-1.3-.28-1.96-.28-3.06,0-5.55,1.98-5.55,4.39,0,.39-.32.72-.71.72s-.71-.32-.71-.71c0-3.2,3.13-5.81,6.97-5.81.8,0,1.6.12,2.36.34.19.05.34.19.43.35.09.16.11.36.05.54Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface EnableVisibleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const EnableVisibleIcon = ({ fill = 'currentColor', ...props }: EnableVisibleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M8,4.81c-1.86,0-3.38,1.43-3.38,3.19s1.52,3.18,3.38,3.18,3.38-1.43,3.38-3.18-1.51-3.19-3.38-3.19ZM8,9.82c-1.07,0-1.94-.82-1.94-1.82s.87-1.83,1.94-1.83,1.95.82,1.95,1.83-.88,1.82-1.95,1.82Z\"\n fill={fill}\n />\n <path\n d=\"M15.38,5.81c-1.84-2.72-4.53-4.29-7.38-4.29S2.47,3.09.61,5.81c-.82,1.21-.82,3.17,0,4.38,1.85,2.72,4.54,4.29,7.39,4.29s5.54-1.57,7.38-4.29c.83-1.21.83-3.17,0-4.38ZM14.18,9.44c-1.58,2.33-3.82,3.67-6.18,3.67s-4.6-1.33-6.18-3.67c-.53-.77-.53-2.12,0-2.89,1.58-2.33,3.82-3.67,6.18-3.67s4.6,1.33,6.18,3.67c.53.77.53,2.12,0,2.89Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface EnterArrowLeftIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const EnterArrowLeftIcon = ({ fill = 'currentColor', ...props }: EnterArrowLeftIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M16,3.09v6.63c0,.11-.1.21-.21.21H2.53l2.08,2.05c.18.25.2.54.08.78-.13.25-.4.41-.67.41-.16,0-.31-.06-.45-.16L.2,9.69c-.27-.3-.25-.72,0-.99l3.34-3.3c.17-.13.33-.18.5-.18.25,0,.5.14.64.37.13.23.13.5-.01.74l-2.14,2.12h11.98V3.09c0-.06.03-.11.07-.16s.13-.1.18-.1h.99c.06,0,.11.01.16.06.03.04.1.14.1.2Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface FiltersIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const FiltersIcon = ({ fill = 'currentColor', ...props }: FiltersIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M5.07,2.9c0,.39-.32.71-.71.71H.71c-.39,0-.71-.32-.71-.71s.32-.71.71-.71h3.65c.39,0,.71.32.71.71Z\"\n fill={fill}\n />\n <path\n d=\"M16,8c0,.39-.32.71-.71.71h-3.65c-.39,0-.71-.32-.71-.71s.32-.71.71-.71h3.65c.39,0,.71.32.71.71Z\"\n fill={fill}\n />\n <path\n d=\"M5.07,13.1c0,.39-.32.71-.71.71H.71c-.39,0-.71-.32-.71-.71s.32-.71.71-.71h3.65c.39,0,.71.32.71.71Z\"\n fill={fill}\n />\n <path\n d=\"M16,13.1c0,.39-.32.71-.71.71h-7.31v.74c0,.39-.32.71-.71.71s-.71-.32-.71-.71v-2.92c0-.39.32-.71.71-.71s.71.32.71.71v.75h7.31c.39,0,.71.32.71.71Z\"\n fill={fill}\n />\n <path\n d=\"M16,2.9c0,.39-.32.71-.71.71h-7.31v.75c0,.39-.32.71-.71.71s-.71-.32-.71-.71V1.44c0-.39.32-.71.71-.71s.71.32.71.71v.74h7.31c.39,0,.71.32.71.71Z\"\n fill={fill}\n />\n <path\n d=\"M9.44,6.55v2.91c0,.39-.32.71-.71.71s-.71-.32-.71-.71v-.74H.71c-.39,0-.71-.32-.71-.71s.32-.71.71-.71h7.31v-.74c0-.39.32-.71.71-.71s.71.32.71.71Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface HomepageIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const HomepageIcon = ({ fill = 'currentColor', ...props }: HomepageIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.75,14.8s-.17-.1-.28-.13h-.19V6.16c-.03-.52-.25-1.02-.61-1.43l-.7-.56c-1.59-1.28-3.24-2.62-4.91-3.89-.32-.18-.68-.28-1.05-.28-.42,0-.84.13-1.2.38L1.51,4.6c-.7.62-.75,1.21-.78,2.13-.02,1.32-.02,2.65,0,3.97,0,1.28,0,2.58-.02,3.96h-.17s-.09.03-.11.03l-.09.05c-.26.15-.39.42-.33.72.07.3.3.5.6.53h14.75c.29,0,.52-.19.61-.46.09-.28,0-.57-.22-.74ZM9.55,13.89h-3.1v-4.25c.06-.43.21-.99.61-1.17.1,0,.21,0,.32,0,.19,0,.38,0,.55,0,.19,0,.37-.02.54-.02.15,0,.29,0,.42.02.4.03.64.79.65,1.17v4.25ZM13.96,14.65h-3.11l.02-.11c-.03-.77,0-1.55,0-2.33,0-.83.03-1.68,0-2.5-.05-1.17-.63-2.41-1.83-2.58-.12,0-.25,0-.38,0-.2,0-.4,0-.6,0-.2,0-.4-.02-.6-.02-.17,0-.34,0-.49.02-1.25.09-1.78,1.63-1.83,2.65-.03.82,0,1.66,0,2.47,0,.76.02,1.53,0,2.3l.02.12h-3.13l.04-8.45c.02-.22.11-.4.27-.55L7.51,1.52c.14-.12.32-.18.49-.18.17,0,.34.06.47.15l5.22,4.17c.1.09.26.34.26.44v8.54Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface InfoCircleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const InfoCircleIcon = ({ fill = 'currentColor', ...props }: InfoCircleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.09,4.36C13.71,1.68,11.01.02,8.03.02h-.26C4.77.12,2.19,1.78.85,4.46-.48,7.13-.24,10.19,1.49,12.62c1.52,2.14,3.89,3.36,6.5,3.36s4.98-1.22,6.51-3.35c1.77-2.46,1.98-5.55.59-8.27ZM13.76,11.33c-1.21,2.09-3.36,3.33-5.76,3.33h-.01c-2.17,0-4.14-1.02-5.41-2.79-1.44-2.01-1.64-4.54-.56-6.76,1.08-2.24,3.19-3.63,5.65-3.74.11,0,.23-.01.33-.01,2.41,0,4.56,1.25,5.77,3.36,1.2,2.08,1.19,4.55-.01,6.62Z\"\n fill={fill}\n />\n <path\n d=\"M8.73,7.13c-.01.55-.01,1.08,0,1.63-.05.49-.41.71-.73.71s-.66-.21-.72-.65v-3.8c.03-.32.3-.6.58-.65,0,0,.13-.01.14-.01.35,0,.62.22.71.57.02.75.02,1.48.02,2.2Z\"\n fill={fill}\n />\n <path d=\"M7.84,10.14c1.43-.19,1.44,1.97.1,1.86-1.12-.07-1.15-1.72-.1-1.86Z\" fill={fill} />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface MapRadarIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const MapRadarIcon = ({ fill = 'currentColor', ...props }: MapRadarIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M14.73,6.37h-5.17l-.03-.83h4.09s.05,0,.07-.02l2.3-2.24s-.03-.14-.05-.16l-2.36-2.22h-4.02V.1c0-.06-.04-.1-.1-.1h-2.91s-.1.04-.1.1v.79H1.35c-.06,0-.1.05-.1.1l-.05,4.45s0,.05.02.07c.02.02.05.03.08.03h5.17v.82l-4.11.02L.03,8.6s-.03.05-.03.08c0,.02,0,.05.03.07l2.41,2.27h12.24s.1-.05.1-.1l.05-4.45s0-.05-.03-.07c-.02-.02-.05-.03-.07-.03ZM13.6,9.88l-10.67.02-1.26-1.2,1.21-1.17h4.68c.06,0,.1-.04.1-.1v-.86c.06,0,.12,0,.18,0,.08,0,.5,0,.52,0v.87c0,.06.04.1.1.1h5.16l-.02,2.34ZM2.42,4.4v-2.33h5.14s.1-.05.1-.1v-.79h.71v.78s.04.1.1.1l4.63-.03,1.26,1.21-1.18,1.16H2.42Z\"\n fill={fill}\n />\n <path\n d=\"M9.47,11.26h-2.9s-.1.05-.1.1v4.54c0,.06.05.1.1.1h2.86s.05,0,.07-.03c.02-.02.07-.08.07-.11v-4.46s0-.02,0-.04c0-.05-.05-.1-.11-.1ZM7.66,14.84v-2.42h.69l-.03,2.42h-.66Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface MoonIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const MoonIcon = ({ fill = 'currentColor', ...props }: MoonIconProps) => {\n return (\n <svg width=\"22\" height=\"21\" viewBox=\"0 0 22 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M14.8826 13.8402C15.6927 13.8382 16.4913 13.7578 17.2638 13.4936C17.3246 13.4729 17.4082 13.4088 17.4524 13.4715C17.4917 13.527 17.4134 13.5945 17.3783 13.6514C16.8666 14.4752 16.223 15.1769 15.4244 15.7309C14.5042 16.3696 13.4897 16.7794 12.38 16.9328C11.1049 17.1091 9.8683 16.9377 8.68782 16.4287C7.92166 16.0982 7.23295 15.6444 6.62473 15.0635C5.91638 14.387 5.38367 13.5961 5.0017 12.7016C4.58184 11.7192 4.41395 10.6867 4.47507 9.62472C4.53399 8.60057 4.8186 7.63418 5.31038 6.72886C5.92358 5.59997 6.7893 4.71759 7.88322 4.05214C7.92 4.02976 7.96011 3.97642 8.00353 4.01179C8.04585 4.04634 8.00575 4.09884 7.99136 4.13947C7.67439 5.04921 7.58256 5.9899 7.63705 6.94358C7.68684 7.81436 7.89954 8.65004 8.25993 9.44869C8.66126 10.3377 9.20781 11.1223 9.91394 11.793C10.9808 12.8058 12.2403 13.4497 13.6869 13.7222C14.0816 13.7965 14.4804 13.8379 14.8826 13.8402Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface OpenLockIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const OpenLockIcon = ({ fill = 'currentColor', ...props }: OpenLockIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M6.91,11.52s.02.05.02.08v-.03s0-.03-.02-.05ZM7.46,10.06s0,.02,0,.03c.02-.04.05-.08.08-.11-.03.03-.05.06-.07.08Z\"\n fill={fill}\n />\n <path\n d=\"M14.31,11.69c0-1.42,0-2.89-.04-4.32,0-.02,0-.05,0-.08-.1-.51-.53-.91-1.12-1.02h-7.45c-.05-.23-.1-.57-.1-.99,0-.32.04-.65.13-1.02.02-.12.24-1.17,1.32-1.66.35-.16.73-.25,1.09-.25.4,0,.79.11,1.1.3.41.26,1.08,1.04,1.11,1.49.02.11.04.22.05.32,0,.07.07.13.15.13h2.02c.08,0,.15-.06.15-.14,0-.11,0-.22,0-.32v-.1c-.12-.81-.37-1.5-.8-2.09-.86-1.22-2.33-1.95-3.9-1.95-1.45,0-2.79.62-3.68,1.7-.66.8-1,1.81-1.05,3.09-.02.47,0,.94,0,1.41v.04h-.28c-.3,0-.59.13-.81.36-.27.28-.43.7-.42,1.09.02.94-.02,1.9-.05,2.84-.04,1.08-.08,2.19-.04,3.29.04.88.09,2.09,1.43,2.18h9.93c.7-.1,1.19-.62,1.26-1.34-.02-.98,0-1.97,0-2.96ZM4.25,3.88c0-.13.27-.76.43-1.04.67-1.21,1.97-1.95,3.41-1.95s2.6.69,3.27,1.84c.11.19.44.93.48,1.2h-.62c-.11-.44-.54-1.17-.76-1.41-.62-.67-1.46-1.04-2.38-1.04-1.38,0-2.93.89-3.22,2.59-.06.33-.09.66-.09.97-.02.41,0,.82.06,1.25h-.61c-.07-.34-.11-.67-.11-.99,0-.49.03-.95.13-1.4ZM13.4,14.64c0,.12-.07.27-.2.39,0,0-.02,0-.03.02-1.52,0-3.05.02-4.58.02-1.37,0-2.75,0-4.12,0h-1.5c-.25-.1-.25-.29-.24-.63,0-.08,0-.16,0-.25-.06-1.65-.04-3.34-.03-4.97,0-.62.02-1.23,0-1.79.06-.13.17-.23.27-.27,1.64-.02,3.28-.02,4.93-.02,1.38,0,2.77,0,4.14-.02h.44c.65,0,.89.13.9.5v7.02Z\"\n fill={fill}\n />\n <path\n d=\"M6.62,9.7s-.05.1-.07.15c.04-.1.09-.19.15-.27-.03.04-.06.08-.08.12ZM7.89,11.32c0,.14-.02.26-.04.37.04-.14.06-.27.04-.37ZM9.44,11.18c.11-.17.18-.35.21-.55-.03.2-.11.38-.21.55Z\"\n fill={fill}\n />\n <path\n d=\"M9.64,10.18s-.02-.07-.02-.1c-.02-.07-.05-.15-.08-.22,0-.04-.03-.08-.05-.12-.03-.07-.07-.13-.12-.19-.06-.09-.12-.17-.2-.24s-.16-.14-.25-.2-.19-.11-.28-.15c-.1-.04-.2-.07-.3-.09,0,0-.02,0-.03,0-.1-.02-.22-.03-.32-.03h0c-.1,0-.19.02-.27.04-.02,0-.04,0-.06,0-.09.03-.18.06-.27.1-.1.04-.19.1-.27.17-.08.05-.15.11-.21.17-.08.08-.14.16-.2.25-.06.08-.11.17-.15.27-.04.09-.07.18-.09.26,0,.02,0,.04,0,.05-.02.09-.03.18-.03.26,0,.24.06.47.18.69.04.07.09.13.15.2.06.07.13.16.16.22,0,.02.02.04.02.05v.03c0,.16-.07.37-.14.59-.06.19-.12.38-.14.54,0,.14-.02.26.02.36.02.06.05.11.1.15.04.04.09.07.16.1.06.02.14.04.23.05.28.02.64.03.95.03h.4c.27-.02.53-.03.66-.07.05,0,.09-.03.13-.06.03-.02.05-.04.07-.07.02-.03.04-.07.05-.11.02-.05.03-.1.03-.17s0-.14,0-.19c-.02-.19-.08-.38-.14-.59-.07-.22-.14-.44-.13-.61,0-.05.1-.16.15-.23.05-.06.1-.11.13-.16.1-.17.18-.35.21-.55,0-.07,0-.13,0-.2,0-.09,0-.18-.02-.26ZM8.7,10.69c-.05.14-.1.17-.18.22-.06.04-.13.09-.2.16-.09.11-.13.22-.13.33,0,.06,0,.11.02.17,0,.05.03.12.04.18.03.1.06.2.09.29.05.17.1.31.11.47h-.82c.02-.14.08-.3.13-.47.03-.11.07-.22.1-.33h0c.02-.13.04-.25.04-.38-.03-.18-.17-.29-.29-.39-.08-.07-.16-.13-.19-.19-.04-.09-.06-.19-.06-.28,0-.07,0-.14.03-.2,0-.05.03-.1.06-.15,0,0,0-.02,0-.02,0,0,0-.02,0-.03.02-.02.04-.05.07-.08.02-.03.05-.07.09-.09.03-.03.07-.06.12-.08.04-.02.08-.04.13-.05,0,0,.03,0,.04,0,.04,0,.08-.02.13-.02.07,0,.13,0,.19.02s.11.03.16.06c.03,0,.06.03.08.05.04.02.08.04.1.08.03.02.06.05.08.08,0,0,0,0,0,.02.03.05.06.1.08.16v.02c.02.06.03.12.03.18,0,.1-.02.2-.05.28Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface OrganizationIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const OrganizationIcon = ({ fill = 'currentColor', ...props }: OrganizationIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.13,14.08c-.23-.18-.48-.2-.74-.21v-7.7c-.04-.39-.34-.8-.72-.93l-3.84-1.02V.87c-.16-.54-.56-.87-1.05-.87-.09,0-.18,0-.27.04-.86.27-1.74.53-2.61.79-1.24.37-2.48.75-3.72,1.16-.33.2-.55.54-.57.93v10.96h-.19c-.16,0-.43.13-.54.21-.34.27-.49.73-.36,1.15.11.42.45.72.88.77h13.2c.42-.04.77-.31.89-.74.13-.44,0-.9-.36-1.18ZM2.65,14.92s.03-.06.03-.09l.04-11.9,5.93-1.81s.09-.07.11-.08v12.93s0,.04,0,.06c0,.08.06.15.15.15h1.58c.08,0,.15-.07.15-.15V5.55l2.64.7s.02.03.03.03c0,0,0,0,0,0v8.56s0,.07.03.09H2.65Z\"\n fill={fill}\n />\n <path\n d=\"M6.65,4.12h-3.06c-.09,0-.15.06-.15.15v3.04c0,.08.06.15.15.15h3.06c.08,0,.15-.07.15-.15v-3.04c0-.09-.07-.15-.15-.15ZM4.51,6.35v-1.17h1.22v1.17h-1.22Z\"\n fill={fill}\n />\n <path\n d=\"M6.65,9.73h-3.06c-.09,0-.15.07-.15.15v3.04c0,.09.06.15.15.15h3.06c.08,0,.15-.06.15-.15v-3.04c0-.08-.07-.15-.15-.15ZM4.51,11.98v-1.18h1.22v1.18h-1.22Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface PasswordFinderIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const PasswordFinderIcon = ({ fill = 'currentColor', ...props }: PasswordFinderIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M7.89,12.32h-1.06v1.84h-1.84v1.84H1.24c-.5,0-1.09-.7-1.17-1.17-.09-.51-.08-2.07-.03-2.6.03-.3.18-.62.39-.84l4.61-4.62-.14-1.2c.08-3.89,3.79-6.55,7.51-5.22,5.78,2.07,4.32,11.06-2.45,10.73-.18,0-.58-.14-.71-.11-.08.03-1.06,1.03-1.26,1.2-.04.04-.05.08-.05.13h-.04ZM1.37,14.66h2.34v-1.79h1.79v-1.84h1.76l1.58-1.5c.93.26,1.73.38,2.69.13,2.97-.75,4.17-4.46,2.18-6.83-2.88-3.41-8.3-.76-7.35,3.79.04.18.2.43.12.6L1.33,12.37c-.04.29-.08,2.22.03,2.29h.01Z\"\n fill={fill}\n />\n <path\n d=\"M10.73,3.67c.14,0,.32.07.43.14.11.08,1.06,1.05,1.1,1.13.25.6-.34,1.17-.93.87-.09-.05-1.13-1.11-1.17-1.18-.18-.45.05-.96.55-.97h.01Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface PhonebookIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const PhonebookIcon = ({ fill = 'currentColor', ...props }: PhonebookIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.01,8.44V3.26c0-.31,0-.94-.7-.94,0,0-.11,0-.15,0-.19,0-.32-.04-.4-.12-.12-.14-.12-.4-.1-.65,0-.12,0-.24,0-.35v-.17c0-.94-.11-1.05-1.03-1.05H2.99C1.67,0,.98.69.98,2v11.88c0,1.35.79,2.12,2.14,2.12h10.85c.9,0,1.05-.16,1.05-1.05v-5.75c0-.26,0-.51,0-.76ZM2.71,1.2c.08,0,.16,0,.24,0h9.01c.42,0,.55.08.56.58,0,.23-.03.37-.11.45-.08.07-.21.11-.43.11h-.11c-.7-.02-1.4-.02-2.11-.02h-2.18c-1.45,0-2.89,0-4.35,0h0c-.19,0-.37,0-.54-.03-.31-.04-.48-.24-.47-.54.02-.39.29-.5.51-.53ZM13.83,13.81v.47c0,.22-.02.36-.1.42-.07.08-.21.11-.45.11-3.37,0-6.74,0-10.1,0-.78,0-1-.23-1-1,0-1.67,0-3.33,0-4.99s0-3.33,0-4.99c0-.35.04-.39.36-.39v-.1l.08.1c.89.03,1.79.04,2.68.04h5.27c.91,0,1.82,0,2.73-.02.43,0,.56.07.56.52-.02,3.27,0,6.55,0,9.82Z\"\n fill={fill}\n />\n <path\n d=\"M11.48,10.12c-.23-.02-.44-.08-.67-.13-.34-.08-.67-.16-1.02-.16-.42,0-.79.13-1.19.4-.46-.21-.79-.6-1.12-1.02-.13-.17-.08-.25.05-.4.05-.06.1-.13.14-.2.1-.2.15-.4.12-.6-.06-.59-.13-1.18-.23-1.76-.1-.59-.5-.92-1.17-.97h-.12c-1.14,0-1.99.9-2.01,2.13-.03,1.4.59,2.87,1.7,4.03,1.15,1.18,2.64,1.88,4.11,1.9h.06c1.29,0,2.21-.8,2.23-1.95.02-.73-.31-1.2-.89-1.27ZM5.68,6.79c.15-.2.32-.3.5-.3.04,0,.08,0,.12,0,.15.04.17.13.18.34,0,.06,0,.11.02.16.02.14.03.28.04.41.02.14.03.28.05.42,0,.16,0,.22-.08.26-.25.1-.4.24-.47.41-.1.26.03.55.18.86.49.96,1.23,1.69,2.22,2.15.21.09.37.14.51.14.26,0,.45-.15.57-.44.04-.1.1-.14.28-.14h.04c.07,0,.14,0,.22,0,.14,0,.27,0,.38.06.1.04.23.04.35.05.14,0,.27,0,.33.06.03.04.05.11.05.2,0,.41-.31.68-.89.72h-.22c-2.29-.06-4.56-2.34-4.59-4.61,0-.34.07-.58.23-.77Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface PrintIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const PrintIcon = ({ fill = 'currentColor', ...props }: PrintIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.24,3.65c-.48-.49-1.15-.77-1.83-.77h-.36v-.37c0-.44-.17-.85-.47-1.15-.3-.31-.72-.48-1.14-.48h-6.89c-.42,0-.84.17-1.14.48-.3.31-.46.72-.46,1.15v.37h-.37c-.69,0-1.34.27-1.83.77-.48.49-.76,1.16-.76,1.86v4.99c0,.44.17.85.47,1.15.3.31.71.47,1.14.47h1.35v1.37c0,.44.17.84.46,1.15.3.3.72.47,1.14.47h6.89c.42,0,.84-.17,1.14-.47.3-.31.47-.72.47-1.15v-1.37h1.34c.43,0,.84-.17,1.14-.47.31-.31.47-.72.47-1.15v-4.99c0-.7-.28-1.37-.76-1.86ZM4.2,2.51c0-.1.03-.19.1-.26.07-.07.16-.1.25-.1h6.89c.1,0,.18.03.25.1.07.07.1.17.1.26v.37h-7.61v-.37ZM11.8,13.5c0,.1-.03.19-.1.26s-.16.1-.25.1h-6.89c-.1,0-.18-.04-.25-.1s-.1-.17-.1-.26v-4c0-.1.03-.19.1-.26.07-.07.16-.1.25-.1h6.89c.1,0,.18.03.25.1.07.07.1.17.1.26v4ZM14.75,10.5c0,.1-.03.19-.1.26-.06.07-.16.1-.25.1h-1.34v-1.36c0-.44-.17-.85-.47-1.15-.3-.31-.72-.48-1.14-.48h-6.89c-.42,0-.84.17-1.14.48-.3.31-.46.72-.46,1.15v1.36h-1.35c-.1,0-.19-.03-.25-.1-.07-.07-.11-.17-.11-.26v-4.99c0-.37.15-.72.4-.97.25-.26.59-.4.94-.4h10.82c.35,0,.7.15.94.4.25.25.39.6.39.97v4.99Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface Profiler20IconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const Profiler2Icon = ({ fill = 'currentColor', ...props }: Profiler20IconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M10.26,7.61c-.67,0-1.32-.2-1.87-.57-.55-.37-.99-.89-1.24-1.51-.26-.61-.32-1.29-.19-1.94.13-.65.45-1.25.92-1.72.47-.47,1.07-.79,1.73-.92.65-.13,1.33-.06,1.95.19.62.25,1.14.68,1.51,1.24s.57,1.2.57,1.87c0,.89-.36,1.75-.99,2.38-.63.63-1.49.98-2.38.98ZM10.26,2.23c-.4,0-.79.12-1.12.34-.33.22-.59.54-.74.91-.15.37-.19.77-.12,1.17.08.39.27.75.55,1.03.28.28.64.47,1.04.55.39.08.8.04,1.17-.11.37-.15.69-.41.91-.74.22-.33.34-.72.34-1.12,0-.53-.21-1.05-.59-1.43s-.89-.59-1.43-.59Z\"\n fill={fill}\n />\n <path\n d=\"M4.83,7.7h-.29c-.72-.07-1.38-.42-1.83-.97s-.67-1.26-.61-1.98c.07-.71.42-1.37.98-1.83.56-.46,1.27-.67,1.99-.6.09,0,.18.03.26.07.08.04.16.1.22.17.06.07.11.15.13.24s.04.18.03.27c0,.09-.04.18-.08.26-.04.08-.11.15-.18.21s-.16.1-.25.12c-.09.02-.18.03-.27.01-.18-.02-.35,0-.52.05-.17.05-.32.14-.46.25-.14.11-.25.25-.33.4-.08.15-.14.32-.15.5-.02.18,0,.35.05.52.05.17.13.33.25.46.11.14.25.25.41.33.16.08.33.13.51.15.29.03.59-.04.84-.2.15-.09.34-.12.51-.08.18.04.33.15.42.3.09.15.12.34.08.51-.04.17-.15.32-.3.42-.42.27-.9.41-1.39.42Z\"\n fill={fill}\n />\n <path\n d=\"M.76,14.18c-.2,0-.39-.08-.53-.22-.14-.14-.22-.32-.23-.52,0-2.64.73-4.4,4.31-4.4.2,0,.39.08.54.22.14.14.22.32.22.52s-.08.38-.22.52c-.14.14-.34.22-.54.22-2.38,0-2.79.73-2.79,2.93,0,.19-.08.38-.23.52-.14.14-.33.22-.53.22Z\"\n fill={fill}\n />\n <path\n d=\"M15.42,15.11c-.15,0-.3-.09-.41-.25-.11-.15-.17-.36-.17-.58,0-2.15-.83-3.58-4.87-3.58s-4.87,1.43-4.87,3.58c0,.22-.06.43-.17.59-.11.15-.26.24-.41.24s-.3-.09-.41-.24c-.11-.16-.17-.37-.17-.59,0-5.24,4.23-5.24,6.03-5.24s6.03,0,6.03,5.24c0,.22-.06.43-.17.58-.11.15-.26.24-.41.25Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ProfilerIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ProfilerIcon = ({ fill = 'currentColor', ...props }: ProfilerIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M8,8.27c-.77,0-1.51-.24-2.15-.7-.64-.45-1.13-1.1-1.43-1.86-.29-.76-.37-1.59-.22-2.39.15-.8.52-1.54,1.06-2.12.54-.58,1.23-.97,1.98-1.13.75-.16,1.53-.08,2.24.23.71.31,1.31.84,1.74,1.52.43.68.65,1.48.65,2.3,0,1.1-.41,2.15-1.13,2.93s-1.71,1.21-2.74,1.21ZM8,1.65c-.46,0-.91.15-1.29.42-.38.27-.68.66-.86,1.11-.18.45-.22.95-.13,1.43.09.48.31.92.64,1.27.32.35.74.58,1.19.68.45.1.92.05,1.34-.14.42-.19.79-.51,1.04-.91.26-.41.39-.89.39-1.38,0-.66-.24-1.29-.68-1.75-.44-.46-1.03-.73-1.64-.73Z\"\n fill={fill}\n />\n <path\n d=\"M15.23,16c-.2,0-.4-.09-.54-.25-.14-.15-.23-.36-.23-.58,0-2.15-1.09-3.58-6.45-3.58s-6.45,1.43-6.45,3.58c0,.22-.08.43-.23.59-.15.15-.34.24-.55.24s-.4-.09-.55-.24c-.15-.16-.23-.37-.23-.59,0-5.24,5.61-5.24,8-5.24s8,0,8,5.24c0,.22-.09.43-.23.58-.14.15-.34.24-.54.25Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface SandBoxIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const SandBoxIcon = ({ fill = 'currentColor', ...props }: SandBoxIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.8,6.86s-.02-.02-.04-.04l-3.24-5.21c-.13-.28-.33-.51-.58-.67-.26-.16-.55-.25-.85-.25h-6.18c-.28-.01-.56.06-.81.2-.25.13-.45.34-.59.58L.11,6.94h0s-.04.08-.05.12c0,.03-.03.07-.04.12-.01.04-.01.08-.01.12v5.5c0,.33.07.66.19.96.13.31.32.59.55.82.23.23.51.42.81.54.31.13.64.2.97.2h10.96c.66,0,1.3-.27,1.77-.73.47-.47.74-1.1.75-1.76v-5.48c0-.19-.08-.36-.2-.49ZM4.7,2.16s.05-.06.09-.09c.03-.02.07-.03.12-.03h6.19c.09,0,.16.05.23.18l2.74,4.44h-3.33c-.18,0-.36.07-.49.2-.12.13-.2.3-.2.49v.2c0,.54-.21,1.07-.6,1.45-.38.39-.91.6-1.45.6s-1.07-.21-1.46-.6c-.38-.38-.6-.91-.6-1.45v-.2c0-.19-.07-.36-.2-.49-.13-.13-.3-.2-.48-.2H1.92l2.78-4.5ZM14.63,12.83c0,.3-.12.59-.34.81s-.5.33-.81.33H2.52c-.16,0-.31-.03-.45-.09s-.27-.14-.37-.25c-.11-.11-.19-.24-.25-.38-.05-.14-.08-.3-.08-.45v-4.8h3.24c.1.83.51,1.58,1.13,2.13.63.54,1.43.84,2.26.84s1.63-.3,2.25-.84c.62-.55,1.03-1.3,1.14-2.13h3.24v4.83Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface StatisticIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const StatisticIcon = ({ fill = 'currentColor', ...props }: StatisticIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M9.1.02c-.11,0-.22,0-.34,0-.2,0-.4,0-.61,0-.22,0-.42-.02-.63-.02-.19,0-.37,0-.53.02-.38.03-.81.38-.81.77v15.1c0,.06.04.1.1.1h3.46c.06,0,.1-.04.1-.1V.69c0-.29-.45-.67-.73-.67ZM7.57,14.6V1.41h.88v13.19h-.88Z\"\n fill={fill}\n />\n <path\n d=\"M2.9,4.97c-.19-.02-.4-.02-.6-.02s-.43,0-.66,0c-.22,0-.44,0-.66,0h-.3c-.32.04-.67.43-.67.75v10.17c0,.06.04.1.1.1h3.44s.03,0,.05,0c.05,0,.1-.04.1-.1V5.76c0-.4-.37-.76-.79-.79ZM1.41,14.59V6.35h.89v8.24h-.89Z\"\n fill={fill}\n />\n <path\n d=\"M15.89,8.33c-.14-.25-.4-.4-.73-.42-.26-.02-.62-.03-.98-.03s-.72,0-.99.03c-.32.02-.57.16-.72.4-.03.05-.13.31-.14.35v7.25c0,.06.05.1.1.1h3.47c.06,0,.1-.04.1-.1v-7.3c0-.08-.1-.25-.11-.27ZM13.74,14.6v-5.3h.86v5.3h-.86Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface SunIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n stroke?: string;\n}\n\nexport const SunIcon = ({ fill = 'currentColor', stroke = 'currentColor', ...props }: SunIconProps) => {\n return (\n <svg width=\"22\" height=\"21\" viewBox=\"0 0 22 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M10.7336 7.81445C12.3434 7.84801 13.4641 9.04097 13.5774 10.4131L13.5862 10.6904C13.557 12.3941 12.2055 13.533 10.7249 13.5186L10.5657 13.5127C9.039 13.4219 7.98725 12.2485 7.87915 10.9131L7.87036 10.6348C7.90006 8.96394 9.25521 7.81499 10.7336 7.81445Z\"\n stroke={stroke}\n />\n <path\n d=\"M7.26234 7.82055C7.02212 7.81698 6.86386 7.75484 6.73481 7.62848C6.48774 7.38645 6.24007 7.14473 5.99896 6.89706C5.72893 6.61966 5.73251 6.20073 5.99955 5.94206C6.2651 5.68487 6.67431 5.68546 6.94761 5.95098C7.19885 6.19508 7.44921 6.44037 7.68853 6.69577C7.88047 6.90063 7.93411 7.15157 7.81937 7.40994C7.70492 7.66802 7.49779 7.81609 7.26234 7.82055Z\"\n fill={fill}\n />\n <path\n d=\"M15.6541 14.872C15.6541 15.1839 15.5304 15.3915 15.2881 15.511C15.0539 15.6266 14.8151 15.6183 14.597 15.4557C14.5475 15.4188 14.4998 15.3781 14.456 15.3347C14.2235 15.1031 13.9881 14.8741 13.7622 14.6363C13.5127 14.3734 13.5255 13.9691 13.7809 13.714C14.0364 13.4591 14.4444 13.4458 14.7054 13.694C14.9594 13.9355 15.2067 14.1837 15.4514 14.4344C15.5784 14.5643 15.6681 14.7162 15.6541 14.872Z\"\n fill={fill}\n />\n <path\n d=\"M14.2545 7.81899C13.983 7.81155 13.7735 7.69173 13.6543 7.44882C13.533 7.20204 13.5488 6.95288 13.7342 6.74059C13.9964 6.44 14.2805 6.15843 14.5773 5.89203C14.814 5.67945 15.2199 5.71066 15.4559 5.93544C15.6875 6.15606 15.7379 6.54614 15.5304 6.79679C15.2565 7.12771 14.9445 7.42563 14.6167 7.70422C14.5165 7.78955 14.3893 7.82285 14.2545 7.81899Z\"\n fill={fill}\n />\n <path\n d=\"M5.80404 14.908C5.79748 14.7438 5.84725 14.5984 5.9614 14.4828C6.22278 14.2176 6.47879 13.9458 6.75656 13.6984C7.15594 13.3425 7.74992 13.5373 7.859 14.049C7.90103 14.2458 7.86616 14.4328 7.73115 14.5851C7.46649 14.8836 7.18723 15.1699 6.88681 15.4321C6.67967 15.6132 6.42872 15.6385 6.17629 15.5175C5.92266 15.3956 5.80761 15.1839 5.80404 14.908Z\"\n fill={fill}\n />\n <path\n d=\"M4.44378 10.18C4.55525 10.059 4.69354 9.99125 4.85627 9.98976C5.22911 9.98619 5.60285 9.974 5.9745 9.99452C6.50918 10.024 6.79202 10.5802 6.5071 11.0194C6.39742 11.1883 6.24035 11.2962 6.03709 11.309C5.63832 11.334 5.23805 11.3399 4.83958 11.314C4.56479 11.2962 4.36927 11.1371 4.27629 10.8737C4.1824 10.6088 4.25095 10.3778 4.44378 10.18Z\"\n fill={fill}\n />\n <path\n d=\"M15.0586 10.18C15.1701 10.059 15.3084 9.99125 15.4711 9.98976C15.844 9.98619 16.2177 9.974 16.5894 9.99452C17.124 10.024 17.4069 10.5802 17.122 11.0194C17.0123 11.1883 16.8552 11.2962 16.6519 11.309C16.2532 11.334 15.8529 11.3399 15.4544 11.314C15.1796 11.2962 14.9841 11.1371 14.8911 10.8737C14.7976 10.6088 14.8658 10.3778 15.0586 10.18Z\"\n fill={fill}\n />\n <path\n d=\"M11.3908 5.18099C11.3908 5.36235 11.3947 5.54402 11.3899 5.72539C11.3804 6.08693 11.0987 6.35839 10.739 6.35839C10.3617 6.35839 10.0762 6.09704 10.0687 5.72985C10.0613 5.36265 10.0621 4.99516 10.069 4.62796C10.0759 4.26226 10.3644 3.99764 10.7393 4.00002C11.0972 4.00239 11.3816 4.27861 11.3896 4.63688C11.3938 4.81825 11.3902 4.99962 11.3902 5.18128C11.3905 5.18099 11.3905 5.18099 11.3908 5.18099Z\"\n fill={fill}\n />\n <path\n d=\"M11.3908 15.8224C11.3908 16.0038 11.3947 16.1854 11.3899 16.3668C11.3804 16.7283 11.0987 16.9998 10.739 16.9998C10.3617 16.9998 10.0762 16.7385 10.0687 16.3713C10.0613 16.0041 10.0621 15.6366 10.069 15.2694C10.0759 14.9034 10.3644 14.6388 10.7393 14.6411C11.0972 14.6435 11.3816 14.9197 11.3896 15.278C11.3938 15.4594 11.3902 15.6407 11.3902 15.8224C11.3905 15.8224 11.3905 15.8224 11.3908 15.8224Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface UpRightArrowCircleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const UpRightArrowCircleIcon = ({ fill = 'currentColor', ...props }: UpRightArrowCircleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M10.68,4.72c.18,0,.32.15.3.33l-1.09,5.65c-.03.21-.26.28-.44.19l-1.85-1.85h-.04l-2.1,2.07c-.52.46-1.24-.13-.86-.72l2.17-2.17-1.96-1.95c-.12-.13-.06-.36.1-.42l5.78-1.13h-.01Z\"\n fill={fill}\n />\n <path\n d=\"M15.09,4.36C13.71,1.68,11.01.02,8.03.02h-.26C4.77.12,2.19,1.78.85,4.46-.48,7.13-.24,10.19,1.49,12.62c1.52,2.14,3.89,3.36,6.5,3.36s4.98-1.22,6.51-3.35c1.77-2.46,1.98-5.55.59-8.27ZM13.76,11.33c-1.21,2.09-3.36,3.33-5.76,3.33h-.01c-2.17,0-4.14-1.02-5.41-2.79-1.44-2.01-1.64-4.54-.56-6.76,1.08-2.24,3.19-3.63,5.65-3.74.11,0,.23-.01.33-.01,2.41,0,4.56,1.25,5.77,3.36,1.2,2.08,1.19,4.55-.01,6.62Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface VectorIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const VectorIcon = ({ fill = 'currentColor', ...props }: VectorIconProps) => {\n return (\n <svg viewBox=\"0 0 12 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M0.869629 5.00098H10.8696M10.8696 5.00098L6.86963 1.00098M10.8696 5.00098L7.11151 8.7591L6.86963 9.00098\"\n stroke={fill}\n strokeWidth=\"1.3\"\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface InfoCircleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const BallsMenu = ({ fill = 'currentColor', ...props }: InfoCircleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 3\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <ellipse cx=\"1.56746\" cy=\"1.5\" rx=\"1.53633\" ry=\"1.5\" fill={fill} />\n <ellipse cx=\"7.71278\" cy=\"1.5\" rx=\"1.53633\" ry=\"1.5\" fill={fill} />\n <ellipse cx=\"13.8581\" cy=\"1.5\" rx=\"1.53633\" ry=\"1.5\" fill={fill} />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface InfoCircleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const CheckIcon = ({ fill = 'currentColor', ...props }: InfoCircleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M14.4983 1L5.34428 11L1.18338 6.45455\" stroke={fill} stroke-width=\"1.5\" stroke-linejoin=\"round\" />;\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ChevronRightIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ChevronDownIcon = ({ fill = 'currentColor', ...props }: ChevronRightIconProps) => {\n return (\n <svg viewBox=\"0 0 18 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M17.4517 5.77798L16.4067 6.79197L10.8447 12.1899C10.0753 12.9367 8.82791 12.9367 8.05853 12.1899L2.49647 6.79197L1.45166 5.77798L3.54128 3.75L4.58609 4.76399L9.45161 9.48599L14.3172 4.76399L15.362 3.75L17.4517 5.77798Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ChevronRightIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ChevronUpIcon = ({ fill = 'currentColor', ...props }: ChevronRightIconProps) => {\n return (\n <svg viewBox=\"0 0 17 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M0.20166 10.722L1.24661 9.70803L6.80863 4.31012C7.57801 3.56329 8.82541 3.56329 9.59479 4.31012L15.1569 9.70803L16.2017 10.722L14.112 12.75L13.0672 11.736L8.20171 7.01401L3.33611 11.736L2.29136 12.75L0.20166 10.722Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface PrintIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const PlusIcon = ({ fill = 'currentColor', ...props }: PrintIconProps) => {\n return (\n <svg viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M9.21053 5.78952H0.789474C0.357895 5.78952 0 5.43162 0 5.00005C0 4.56847 0.357895 4.21057 0.789474 4.21057H9.21053C9.64211 4.21057 10 4.56847 10 5.00005C10 5.43162 9.64211 5.78952 9.21053 5.78952Z\"\n fill={fill}\n />\n <path\n d=\"M5.00041 10C4.56883 10 4.21094 9.64211 4.21094 9.21053V0.789474C4.21094 0.357895 4.56883 0 5.00041 0C5.43199 0 5.78988 0.357895 5.78988 0.789474V9.21053C5.78988 9.64211 5.43199 10 5.00041 10Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface PrintIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const UsersIcon = ({ fill = 'currentColor', ...props }: PrintIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M12.0003 5.27318C11.9803 5.27318 11.967 5.27318 11.947 5.27318H11.9136C10.6536 5.23318 9.71362 4.25985 9.71362 3.05984C9.71362 1.83318 10.7136 0.839844 11.9336 0.839844C13.1536 0.839844 14.1536 1.83984 14.1536 3.05984C14.147 4.26651 13.207 5.23985 12.007 5.27985C12.007 5.27318 12.007 5.27318 12.0003 5.27318ZM11.9336 1.83318C11.2603 1.83318 10.7136 2.37985 10.7136 3.05318C10.7136 3.71318 11.227 4.24652 11.887 4.27318C11.8936 4.26652 11.947 4.26652 12.007 4.27318C12.6536 4.23985 13.1536 3.70652 13.1603 3.05318C13.1603 2.37985 12.6136 1.83318 11.9336 1.83318Z\"\n fill={fill}\n />\n <path\n d=\"M12.0075 10.1871C11.7475 10.1871 11.4875 10.1671 11.2275 10.1204C10.9541 10.0738 10.7741 9.81376 10.8208 9.54042C10.8675 9.26709 11.1275 9.08709 11.4008 9.13376C12.2208 9.27376 13.0875 9.12043 13.6675 8.73376C13.9808 8.5271 14.1475 8.26709 14.1475 8.00709C14.1475 7.74709 13.9741 7.49375 13.6675 7.28709C13.0875 6.90042 12.2075 6.74709 11.3808 6.89376C11.1075 6.94709 10.8475 6.76042 10.8008 6.48709C10.7541 6.21376 10.9341 5.95376 11.2075 5.90709C12.2941 5.71376 13.4208 5.92042 14.2208 6.45375C14.8075 6.84709 15.1475 7.40709 15.1475 8.00709C15.1475 8.60042 14.8141 9.1671 14.2208 9.5671C13.6141 9.9671 12.8275 10.1871 12.0075 10.1871Z\"\n fill={fill}\n />\n <path\n d=\"M3.98031 5.27399C3.97365 5.27399 3.96698 5.27399 3.96698 5.27399C2.76698 5.23399 1.82698 4.26065 1.82031 3.06065C1.82031 1.83398 2.82031 0.833984 4.04031 0.833984C5.26031 0.833984 6.26031 1.83399 6.26031 3.05399C6.26031 4.26065 5.32031 5.23399 4.12031 5.27399L3.98031 4.77399L4.02698 5.27399C4.01365 5.27399 3.99365 5.27399 3.98031 5.27399ZM4.04698 4.27399C4.08698 4.27399 4.12031 4.27398 4.16031 4.28065C4.75365 4.25398 5.27365 3.72065 5.27365 3.06065C5.27365 2.38732 4.72698 1.84065 4.05365 1.84065C3.38031 1.84065 2.83365 2.38732 2.83365 3.06065C2.83365 3.71398 3.34031 4.24065 3.98698 4.28065C3.99365 4.27398 4.02031 4.27399 4.04698 4.27399Z\"\n fill={fill}\n />\n <path\n d=\"M3.97325 10.1871C3.15325 10.1871 2.36658 9.9671 1.75992 9.5671C1.17325 9.17376 0.833252 8.60709 0.833252 8.00709C0.833252 7.41376 1.17325 6.84709 1.75992 6.45375C2.55992 5.92042 3.68658 5.71376 4.77325 5.90709C5.04659 5.95376 5.22659 6.21376 5.17992 6.48709C5.13325 6.76042 4.87325 6.94709 4.59992 6.89376C3.77325 6.74709 2.89992 6.90042 2.31325 7.28709C1.99992 7.49375 1.83325 7.74709 1.83325 8.00709C1.83325 8.26709 2.00659 8.5271 2.31325 8.73376C2.89325 9.12043 3.75992 9.27376 4.57992 9.13376C4.85325 9.08709 5.11325 9.27376 5.15992 9.54042C5.20659 9.81376 5.02659 10.0738 4.75325 10.1204C4.49325 10.1671 4.23325 10.1871 3.97325 10.1871Z\"\n fill={fill}\n />\n <path\n d=\"M8.00023 10.2537C7.98023 10.2537 7.96689 10.2537 7.94689 10.2537H7.91356C6.65356 10.2137 5.71356 9.24031 5.71356 8.04031C5.71356 6.81365 6.71356 5.82031 7.93356 5.82031C9.15356 5.82031 10.1536 6.82031 10.1536 8.04031C10.1469 9.24698 9.20689 10.2203 8.00689 10.2603C8.00689 10.2536 8.0069 10.2537 8.00023 10.2537ZM7.93356 6.81365C7.26023 6.81365 6.71356 7.36032 6.71356 8.03365C6.71356 8.69365 7.2269 9.22699 7.8869 9.25365C7.89356 9.24699 7.94689 9.24699 8.00689 9.25365C8.65356 9.22032 9.15356 8.68698 9.16023 8.03365C9.16023 7.36698 8.61356 6.81365 7.93356 6.81365Z\"\n fill={fill}\n />\n <path\n d=\"M7.99921 15.1725C7.19921 15.1725 6.39921 14.9658 5.77921 14.5458C5.19254 14.1525 4.85254 13.5925 4.85254 12.9925C4.85254 12.3992 5.18587 11.8258 5.77921 11.4325C7.02587 10.6058 8.97921 10.6058 10.2192 11.4325C10.8059 11.8258 11.1459 12.3858 11.1459 12.9858C11.1459 13.5792 10.8125 14.1525 10.2192 14.5458C9.59921 14.9592 8.79921 15.1725 7.99921 15.1725ZM6.33254 12.2725C6.01921 12.4792 5.85254 12.7392 5.85254 12.9992C5.85254 13.2592 6.02587 13.5125 6.33254 13.7192C7.23254 14.3258 8.75921 14.3258 9.65921 13.7192C9.97254 13.5125 10.1392 13.2525 10.1392 12.9925C10.1392 12.7325 9.96587 12.4792 9.65921 12.2725C8.76587 11.6658 7.23921 11.6725 6.33254 12.2725Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface InfoCircleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const InfoCircleFilledIcon = ({ fill = 'currentColor', ...props }: InfoCircleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8 15C9.85652 15 11.637 14.2625 12.9497 12.9497C14.2625 11.637 15 9.85652 15 8C15 6.14348 14.2625 4.36301 12.9497 3.05025C11.637 1.7375 9.85652 1 8 1C6.14348 1 4.36301 1.7375 3.05025 3.05025C1.7375 4.36301 1 6.14348 1 8C1 9.85652 1.7375 11.637 3.05025 12.9497C4.36301 14.2625 6.14348 15 8 15ZM8 4C8.19891 4 8.38968 4.07902 8.53033 4.21967C8.67098 4.36032 8.75 4.55109 8.75 4.75V7.75C8.75 7.94891 8.67098 8.13968 8.53033 8.28033C8.38968 8.42098 8.19891 8.5 8 8.5C7.80109 8.5 7.61032 8.42098 7.46967 8.28033C7.32902 8.13968 7.25 7.94891 7.25 7.75V4.75C7.25 4.55109 7.32902 4.36032 7.46967 4.21967C7.61032 4.07902 7.80109 4 8 4ZM8 12C8.26522 12 8.51957 11.8946 8.70711 11.7071C8.89464 11.5196 9 11.2652 9 11C9 10.7348 8.89464 10.4804 8.70711 10.2929C8.51957 10.1054 8.26522 10 8 10C7.73478 10 7.48043 10.1054 7.29289 10.2929C7.10536 10.4804 7 10.7348 7 11C7 11.2652 7.10536 11.5196 7.29289 11.7071C7.48043 11.8946 7.73478 12 8 12Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { createContext } from 'react';\n\ninterface SidebarContext {\n collapsed: boolean;\n setCollapsed: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const SidebarContext = createContext<SidebarContext>({\n collapsed: false,\n setCollapsed: () => {},\n});\n","import { styled } from 'styled-components';\nimport React from 'react';\nimport { SidebarContext } from './SidebarContext';\n\nexport interface SidebarProps {\n defaultCollapsed?: boolean;\n children: any;\n}\n\ninterface StyledProps {\n $collapsed: boolean;\n}\n\nexport const Sidebar = ({ defaultCollapsed, children }: SidebarProps) => {\n const [collapsed, setCollapsed] = React.useState(!!defaultCollapsed);\n\n return (\n <StyledContainer $collapsed={collapsed}>\n <SidebarContext.Provider\n value={{\n collapsed,\n setCollapsed,\n }}\n >\n {children}\n </SidebarContext.Provider>\n </StyledContainer>\n );\n};\n\nconst StyledContainer = styled.aside<StyledProps>(\n ({ theme, $collapsed }) => `\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n gap: 20px;\n position: sticky;\n z-index: 1000;\n top: 0;\n width: ${theme.sidebar.width};\n padding: 12px;\n height: 100%;\n border-right: 1px solid ${theme.colors.stroke.light};\n background: ${theme.colors.background};\n ${\n $collapsed\n ? `\n width: 65px;\n `\n : ''\n }\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 25dvh;\n transform: translateY(-100%);\n background: ${theme.colors.background};\n border-right: 1px solid ${theme.colors.stroke.light};\n\n width: ${theme.sidebar.width};\n ${\n $collapsed\n ? `\n width: 65px;\n `\n : ''\n }\n }\n`\n);\n","import { SVGProps, useContext } from 'react';\nimport styled from 'styled-components';\nimport { SidebarContext } from './SidebarContext';\n\ninterface SidebarItemBase {\n active?: boolean;\n icon?: React.ComponentType<SVGProps<SVGSVGElement>>;\n label?: string;\n}\n\ninterface SidebarItemAnchor {\n href: string;\n onClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;\n target?: '_blank' | '_self' | '_parent' | '_top';\n}\n\ntype StyledProps = {\n $active: SidebarItemBase['active'];\n $collapsed: boolean;\n};\n\ninterface SidebarItemButton {\n type?: 'button' | 'reset' | 'submit';\n onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n}\n\nexport type SidebarItemProps = SidebarItemBase & (SidebarItemAnchor | SidebarItemButton);\n\nexport const SidebarItem = ({ active, icon: Icon, label, ...props }: SidebarItemProps) => {\n const { collapsed } = useContext(SidebarContext);\n\n const isAnchor = 'href' in props;\n\n return (\n <StyledItem\n title={collapsed ? label : ''}\n as={isAnchor ? 'a' : 'button'}\n $collapsed={collapsed}\n $active={active}\n {...props}\n >\n {Icon && <Icon aria-label={label} width={16} height={16} />}\n <StyledText $collapsed={collapsed} $active={active}>\n {label}\n </StyledText>\n </StyledItem>\n );\n};\n\nconst StyledText = styled.span<StyledProps>(\n ({ $collapsed }) => `\n margin-top: 2px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n width: 100%;\n text-align: left;\n display: inline-block;\n font-weight: 500;\n font-size: 14px;\n line-height: 1.49;\n font-family: Inter;\n\n ${\n $collapsed &&\n `\n & {\n width: 0;\n }\n `\n }\n`\n);\n\nconst StyledItem = styled.a<StyledProps>(\n ({ $active, $collapsed, theme }) => `\n display: flex;\n align-items: center;\n gap: 12px;\n padding-inline: 12px;\n height: 40px;\n min-width: 40px;\n border: none;\n cursor: pointer;\n text-decoration: none;\n border-radius: 8px;\n color: ${theme.colors.text.light};\n background: ${theme.colors.background};\n transition: background 0.3s ease-in-out, color 0.3s ease-in-out;\n position: relative;\n ${\n $active\n ? `\n background: ${theme.colors.primary.lighter};\n color: ${theme.colors.primary.main};\n `\n : ''\n }\n ${$collapsed ? `gap: 0;` : ''}\n\n\n\n &:hover {\n background: ${theme.colors.primary.lightest};\n color: ${theme.colors.primary.main};\n }\n\n &:before {\n content: '';\n position: absolute;\n left: -12px;\n top: 0;\n height: 100%;\n width: 0px;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n background: rgaba(0, 0, 0, 0);\n transition: background 0.4s ease-in-out, width 0.3s ease-in-out;\n ${\n $active\n ? `\n background: ${theme.colors.primary.main};\n width: 5px;\n `\n : ''\n }\n }\n\n svg {\n flex-shrink: 0;\n fill: currentColor;\n }\n`\n);\n","import { useContext } from 'react';\nimport { SidebarContext } from './SidebarContext';\nimport { styled } from 'styled-components';\n\ntype StyledProps = {\n $collapsed: boolean;\n};\n\nexport const SidebarDelimeter = () => {\n const { collapsed } = useContext(SidebarContext);\n return <StyledDelimeter $collapsed={collapsed} />;\n};\n\nconst StyledDelimeter = styled.div<StyledProps>(\n ({ $collapsed, theme }) => `\n min-width: 32px;\n width: 0;\n\n border-bottom: 1px dashed ${theme.colors.stroke.main};\n margin-block: 8px;\n margin-left: 4px;\n\n ${\n !$collapsed &&\n `\n & {\n width: 100%;\n margin-left: 0;\n }\n `\n }\n`\n);\n","import { CSSProperties, styled } from 'styled-components';\n\nexport interface SidebarSectionProps {\n grow?: number;\n shrink?: number;\n basis?: CSSProperties['flexBasis'];\n items: React.ReactElement[];\n}\n\nexport const SidebarSection = ({ grow, shrink, basis, items }: SidebarSectionProps) => {\n return (\n <StyledSection $grow={grow} $shrink={shrink} $basis={basis}>\n {items}\n </StyledSection>\n );\n};\n\ninterface StyledProps {\n $grow?: number;\n $shrink?: number;\n $basis?: CSSProperties['flexBasis'];\n}\n\nconst StyledSection = styled.div<StyledProps>(\n ({ $grow = 0, $shrink = 1, $basis = '100%' }) => `\n flex: ${$grow} ${$shrink} ${$basis};\n display: flex;\n flex-direction: column;\n gap: 1px;\n `\n);\n","import styled from 'styled-components';\nimport { CSSProperties, ElementType, ReactNode } from 'react';\nimport { ColorVariant, TypographyVariant } from '../../Theme';\nimport { resolveThemeColor } from '../../Theme/utils';\n\nexport interface TypographyProps {\n variant?: TypographyVariant;\n element?: ElementType;\n children: any;\n weight?: CSSProperties['fontWeight'];\n style?: CSSProperties['fontStyle'];\n color?: ColorVariant | string;\n className?: string;\n}\n\n// Create a styled component that can be dynamically rendered as different HTML elements\nconst StyledTypography = styled.div<{\n $variant: TypographyVariant;\n $weight?: CSSProperties['fontWeight'];\n $style?: CSSProperties['fontStyle'];\n $color?: ColorVariant | string;\n}>(({ theme, $variant, $color, $weight = '400', $style = 'initial' }) => {\n // Resolve color from theme if it's a theme color path, or use the direct color value\n\n return `\n font-size: ${theme.typography.variants[$variant].fontSize};\n font-weight: ${$weight};\n font-style: ${$style};\n color: ${resolveThemeColor(theme, $color) || theme.colors.text.main};\n `;\n});\n\nexport const Typography = ({\n variant = 'body',\n element,\n children,\n weight,\n style,\n color,\n className,\n}: TypographyProps) => {\n // Determine which HTML element to render based on the variant if not explicitly specified\n const Element = element || (variant.startsWith('h') ? variant : 'p');\n\n return (\n <StyledTypography\n as={Element}\n $variant={variant}\n $weight={weight}\n $style={style}\n $color={color}\n className={className}\n >\n {children}\n </StyledTypography>\n );\n};\n","import { ReactNode } from 'react';\nimport { styled } from 'styled-components';\n\nexport interface ListMenuProps {\n children: any;\n width?: number;\n}\n\ntype StyledListProps = {\n $width: number;\n};\nexport const ListMenu = ({ children, width = 220 }: ListMenuProps) => {\n return <StyledList $width={width}>{children}</StyledList>;\n};\n\nconst StyledList = styled.ul<StyledListProps>(\n ({ theme, $width }) => `\n margin: 0;\n padding: 20px;\n width: ${$width}px;\n list-style: none;\n height: 100%;\n overflow-y: auto;\n background-color: ${theme.colors.background};\n border-right: 1px solid ${theme.colors.stroke.light};\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: 40px;\n `\n);\n","import { FC } from 'react';\nimport { styled } from 'styled-components';\n\nexport type ListMenuItemBase = {\n active?: boolean;\n label?: string;\n count?: number;\n};\n\nexport type ListMenuItemAnchorProps = {\n href: string;\n onClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;\n target?: '_blank' | '_self' | '_parent' | '_top';\n};\n\nexport type ListMenuItemButtonProps = {\n type?: 'button' | 'reset' | 'submit';\n onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n};\n\nexport type ListMenuItemProps = ListMenuItemBase & (ListMenuItemAnchorProps | ListMenuItemButtonProps);\n\ntype StyledProps = {\n $active: ListMenuItemProps['active'];\n};\n\nexport const ListMenuItem = ({ active, label, count, ...props }: ListMenuItemProps) => {\n const Element = 'href' in props ? 'a' : 'button';\n return (\n <StyledItem $active={active}>\n <StyledLink as={'href' in props ? 'a' : 'button'} $active={active} {...props}>\n {label}\n {typeof count === 'number' && <StyledCount $active={active}>{count}</StyledCount>}\n </StyledLink>\n </StyledItem>\n );\n};\nconst StyledItem = styled.li<StyledProps>(\n ({ theme, $active }) => `\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n width: 100%;\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n ::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 2px;\n height: ${$active ? '100%' : 0};\n border-radius: 2px;\n transform: translateX(-25%);\n background-color: ${$active ? theme.colors.primary.main : 'transparent'};\n transition: background-color 0.3s ease-in-out, height 0.3s ease-in-out;\n }\n `\n);\n\nconst StyledLink = styled.a<StyledProps>(\n ({ theme, $active }) => `\n display: inline-block;\n \n padding: 8px 10px;\n border: none;\n outline: none;\n cursor: pointer;\n text-decoration: none;\n background-color: transparent;\n border-radius: 8px;\n \n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n \n font-family: Inter;\n font-weight: 500;\n font-size: 14px;\n line-height: 1.5;\n text-align: left;\n color: ${$active ? theme.colors.primary.main : theme.colors.text.main};\n\n transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;\n\n &:hover {\n color: ${theme.colors.primary.main};\n }`\n);\n\nconst StyledCount = styled.span<StyledProps>(\n ({ theme, $active }) => `\n margin-left: 8px;\n padding: 2px 4px;\n border-radius: 4px;\n background-color: ${$active ? theme.colors.primary.lightest2 : theme.colors.stroke.lighter};\n color: inherit;\n line-height: 1.5;\n transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;\n `\n);\n","import { ReactNode } from 'react';\nimport { styled } from 'styled-components';\n\nexport interface ListMenuSectionProps {\n items: any;\n title?: string;\n}\nexport const ListMenuSection = ({ title, items }: ListMenuSectionProps) => {\n return (\n <li>\n {!!title && <StyledTitle>{title}</StyledTitle>}\n <StyledList>{items}</StyledList>\n </li>\n );\n};\n\nconst StyledTitle = styled.h2(\n ({ theme }) => `\n margin: 0 0 15px 0;\n width: 100%;\n padding: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n font-family: Inter;\n font-weight: 600;\n font-size: 14px;\n line-height: 1;\n letter-spacing: 0.03em;\n text-align: left;\n text-transform: uppercase;\n color: ${theme.colors.text.lighter};\n`\n);\n\nconst StyledList = styled.ul(\n ({ theme }) => `\n margin: 0;\n padding: 0;\n width: 180px;\n list-style: none;\n position: relative;\n &::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 1px;\n height: 100%;\n background-color: ${theme.colors.stroke.light};\n }\n `\n);\n","import { styled } from 'styled-components';\n\ninterface HeaderProps {\n children?: any;\n}\n\nexport const Header = ({ children }: HeaderProps) => {\n return <StyledContainer>{children}</StyledContainer>;\n};\n\nconst StyledContainer = styled.header(\n ({ theme }) => `\n display: flex;\n position: sticky;\n top: 0;\n z-index: 1000;\n align-items: center;\n justify-content: space-between;\n padding-left: 12px;\n padding-right: 20px;\n height: 56px;\n background-color: ${theme.colors.background};\n border-bottom: 1px solid ${theme.colors.stroke.main};\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 25dvh;\n transform: translateY(-100%);\n background: ${theme.colors.background};\n }\n`\n);\n","import { styled } from 'styled-components';\n\nexport const HeaderDelimeter = () => {\n return <StyledDelimeter />;\n};\n\nconst StyledDelimeter = styled.div(\n ({ theme }) => `\n height: 32px;\n border-right: 1px dashed ${theme.colors.stroke.main};\n`\n);\n","import { CSSProperties } from 'react';\nimport { styled } from 'styled-components';\n\ninterface HeaderSectionProps {\n grow?: CSSProperties['flexGrow'];\n shrink?: CSSProperties['flexShrink'];\n basis?: CSSProperties['flexBasis'];\n justify?: CSSProperties['justifyContent'];\n children?: React.ReactNode;\n}\n\ninterface StyledProps {\n $grow?: CSSProperties['flexGrow'];\n $shrink?: CSSProperties['flexShrink'];\n $basis?: CSSProperties['flexBasis'];\n $justify?: CSSProperties['justifyContent'];\n}\n\nexport const HeaderSection = ({ grow, shrink, basis, justify, children }: HeaderSectionProps) => {\n return (\n <StyledSection $grow={grow} $shrink={shrink} $basis={basis} $justify={justify}>\n {children}\n </StyledSection>\n );\n};\n\nconst StyledSection = styled.section<StyledProps>(\n ({ $grow = 1, $shrink = 1, $basis = '100%', $justify = 'space-between' }) => `\n display: flex;\n align-items: center;\n justify-content: ${$justify};\n gap: 20px;\n flex-grow: ${$grow};\n flex-shrink: ${$shrink};\n flex-basis: ${$basis};\n`\n);\n","import { styled } from 'styled-components';\n\nexport const Row = styled.tr``;\n","import { styled } from 'styled-components';\n\nexport const HeadCell = styled.th(\n ({ theme }) => `\n padding-top: 15px;\n padding-bottom: 10px;\n padding-right: 15px;\n :not(:first-of-type) {\n padding-left: 15px;\n }\n\n border-bottom: 1px solid ${theme.colors.stroke.light};\n\n font-family: ${theme.typography.fontFamily};\n font-weight: 500;\n font-size: 14px;\n text-wrap: nowrap;\n text-align: left;\n line-height: 1.5;\n color: ${theme.colors.text.main};\n`\n);\n\nexport const Cell = styled.td(\n ({ theme }) => `\n padding-block: 15px;\n padding-right: 15px;\n :not(:first-of-type) {\n padding-left: 15px;\n }\n border-bottom: 1px solid ${theme.colors.stroke.light};\n\n vertical-align: middle;\n font-family: ${theme.typography.fontFamily};\n font-weight: 500;\n font-size: 14px;\n text-wrap: nowrap;\n text-align: left;\n line-height: 1.5;\n color: ${theme.colors.text.main};\n`\n);\n","import { ReactNode, useMemo, CSSProperties } from 'react';\nimport { styled } from 'styled-components';\nimport { Row } from './Row';\nimport { Cell, HeadCell } from './Cell';\n\nexport type ColumnTable<ID = string> = {\n id: ID;\n title: string;\n width?: CSSProperties['width'];\n className?: string;\n};\n\nexport type RenderCellProps<T = string> = {\n rowIndex: number;\n cellIndex: number;\n columnId: T;\n};\n\nexport type RenderHeaderCellProps<T = string> = {\n title: string;\n columnId: T;\n};\n\ninterface TableProps {\n columns: ColumnTable[];\n rowCount: number;\n renderCell: (props: RenderCellProps<any>) => any;\n renderHeaderCell: (props: RenderHeaderCellProps<any>) => any;\n rowIds?: string[];\n}\n\nexport const Table = ({ columns, rowCount, renderCell, renderHeaderCell, rowIds }: TableProps) => {\n const cellCount = columns.length;\n\n const data = useMemo(() => {\n const items: ReactNode[][] = [];\n for (let i = 0; i < rowCount; i++) {\n items[i] = [];\n for (let j = 0; j < cellCount; j++) {\n items[i][j] = renderCell({\n rowIndex: i,\n cellIndex: j,\n columnId: columns[j].id,\n });\n }\n }\n return items;\n }, [rowCount, cellCount, columns, renderCell]);\n\n return (\n <StyledTable>\n <StyledHead>\n <Row>\n {columns.map(({ id, title, width }) => (\n <HeadCell\n key={id}\n style={{\n width,\n }}\n >\n {renderHeaderCell({ title, columnId: id })}\n </HeadCell>\n ))}\n </Row>\n </StyledHead>\n <tbody>\n {data.map((cells, rowIndex) => (\n <Row key={`row-${rowIndex}`} id={rowIds ? rowIds[rowIndex] : `row-${rowIndex}`}>\n {cells.map((cell, cellIndex) => (\n <Cell className={columns[cellIndex]?.className} key={`cell-${cellIndex}`}>\n {cell}\n </Cell>\n ))}\n </Row>\n ))}\n </tbody>\n </StyledTable>\n );\n};\n\nconst StyledTable = styled.table`\n width: 100%;\n border-spacing: 0;\n table-layout: fixed;\n`;\n\nconst StyledHead = styled.thead(\n ({ theme }) => `\n background-color: ${theme.colors.background};\n position: sticky;\n top: 0;\n z-index: 1;\n`\n);\n","import { FC, useCallback, useMemo } from 'react';\nimport { styled } from 'styled-components';\nimport { ChevronRightIcon } from '../IconComponents';\nimport { ChevronLeftIcon } from '../IconComponents';\n\nexport interface PaginationProps {\n total_items: number;\n limit: number;\n offset: number;\n onChangePage: (offset: number) => void;\n}\n\nconst PAGINATION_LIMIT = 9;\nconst DIFF = 2;\nconst VISIBLE_GROUPE = 5;\nconst STEP = 1;\nconst ELLIPSIS = '...';\n\nexport const Pagination = ({ total_items, limit, offset, onChangePage }: PaginationProps) => {\n const currentPage = useMemo(() => (offset ? offset / limit + 1 : 1), [limit, offset]);\n const pages = Math.ceil(total_items / limit);\n const paginationItems: (number | string)[] = useMemo(() => {\n const items = [];\n if (pages <= PAGINATION_LIMIT) {\n for (let i = 1; i <= pages; i += 1) {\n items.push(i);\n }\n } else {\n const firstPage = 1;\n const lastPage = pages;\n items.push(firstPage);\n if (currentPage <= VISIBLE_GROUPE) {\n for (let i = 2; i <= VISIBLE_GROUPE + 2; i += 1) {\n items.push(i);\n }\n items.push(ELLIPSIS, lastPage);\n } else if (currentPage > VISIBLE_GROUPE && currentPage < lastPage - VISIBLE_GROUPE) {\n items.push(ELLIPSIS);\n for (let i = currentPage - DIFF; i <= currentPage + DIFF; i += 1) {\n items.push(i);\n }\n items.push(ELLIPSIS, lastPage);\n } else {\n items.push(ELLIPSIS);\n for (let i = lastPage - VISIBLE_GROUPE - 1; i <= lastPage; i += 1) {\n items.push(i);\n }\n }\n }\n return items;\n }, [currentPage, pages]);\n\n const isDisabled = useCallback(\n (page: number | string) => typeof page === 'string' || page === currentPage,\n [currentPage]\n );\n const onPaginationClick = useCallback(\n (page: number | string) => {\n if (isDisabled(page)) return;\n onChangePage(page as number);\n },\n [onChangePage, isDisabled]\n );\n return (\n <FlexGroup>\n <Button\n aria-label=\"previous page\"\n onClick={() => onPaginationClick(currentPage - STEP)}\n disabled={currentPage === 1}\n >\n <ChevronLeftIcon />\n </Button>\n <StyledList>\n {paginationItems.map((page, idx) => (\n <li key={`pagination-${page}-${idx}`}>\n <Button $current={page === currentPage} onClick={() => onPaginationClick(page)}>\n {page}\n </Button>\n </li>\n ))}\n </StyledList>\n <Button\n aria-label=\"next page\"\n onClick={() => onPaginationClick(currentPage + STEP)}\n disabled={!total_items || currentPage === pages}\n >\n <ChevronRightIcon />\n </Button>\n </FlexGroup>\n );\n};\n\ntype StyledButtonProps = {\n $current?: boolean;\n};\n\nconst StyledList = styled.div`\n list-style: none;\n padding: 0;\n display: flex;\n gap: 6px;\n`;\nconst Button = styled.button<StyledButtonProps>(\n ({ theme, $current }) => `\n font-family: ${theme.typography.fontFamily};\n background-color: ${$current ? theme.colors.primary.main : theme.colors.background};\n color: ${$current ? theme.colors.background : theme.colors.text.main};\n border: none;\n cursor: pointer;\n padding-block: 4px;\n padding-inline: 8px;\n border-radius: 3px;\n font-size: 14px;\n font-weight: 400;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 26px;\n svg {\n width: 8px;\n height: 8px;\n}\n &:hover {\n background-color: ${theme.colors.primary.light};\n }\n transition: background-color 0.3s ease-in-out;\n`\n);\nconst FlexGroup = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 6px;\n`;\n","import { ButtonSize, getButtonSizeStyles } from '../../Theme';\nimport { useRef } from 'react';\nimport { Popover, PopoverAlign, PopoverPosition } from 'react-tiny-popover';\nimport { styled, useTheme } from 'styled-components';\nimport { ChevronDownIcon, ChevronUpIcon } from '../IconComponents';\n\ninterface ContextMenuProps {\n isOpen: boolean;\n onClick: () => void;\n onClickOutside: (e: MouseEvent) => void;\n size?: ButtonSize;\n disabled?: boolean;\n fullWidth?: boolean;\n className?: string;\n children?: any;\n anchor?: any;\n positions?: PopoverPosition[] | PopoverPosition;\n align?: PopoverAlign;\n hasBorder?: boolean;\n maxHeight?: number;\n}\n\nexport const ContextMenu = ({\n isOpen,\n onClickOutside,\n onClick,\n anchor,\n size = 'medium',\n disabled,\n fullWidth,\n className,\n positions = ['bottom'],\n align = 'start',\n children,\n hasBorder = true,\n maxHeight = 500,\n}: ContextMenuProps) => {\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n\n const theme = useTheme();\n\n return (\n <Popover\n padding={theme.contextMenu.padding}\n isOpen={isOpen}\n positions={positions}\n align={align}\n onClickOutside={onClickOutside}\n content={children}\n containerStyle={{\n backgroundColor: theme.colors.background,\n border: `1px solid ${theme.colors.stroke.light}`,\n boxShadow: '0px 0px 10px 0px rgba(0, 0, 0, 0.25)',\n borderRadius: '5px',\n overflow: 'auto',\n maxHeight: `${maxHeight}px`,\n zIndex: `${9999}`,\n }}\n >\n <StyledButton\n ref={buttonRef}\n onClick={onClick}\n $disabled={disabled}\n $fullWidth={fullWidth}\n $size={size}\n className={className}\n type=\"button\"\n disabled={disabled}\n $hasBorder={hasBorder}\n >\n <div>{anchor}</div>\n {isOpen ? (\n <ChevronUpIcon width={theme.contextMenu.icon.size} height={theme.contextMenu.icon.size} />\n ) : (\n <ChevronDownIcon width={theme.contextMenu.icon.size} height={theme.contextMenu.icon.size} />\n )}\n </StyledButton>\n </Popover>\n );\n};\n\n// Створюємо стилізований компонент, що використовує уніфіковану палітру\nconst StyledButton = styled.button<{\n $size: ButtonSize;\n $disabled?: boolean;\n $fullWidth?: boolean;\n $hasBorder: boolean;\n}>`\n ${({ $size, $disabled, $fullWidth, theme, $hasBorder }) => {\n const sizes = getButtonSizeStyles(theme, $size);\n return `\n background: ${theme.contextMenu.button.default.background};\n color: ${theme.contextMenu.button.default.text};\n border-color: ${$hasBorder ? theme.contextMenu.button.default.border : 'transparent'};\n box-shadow: ${theme.contextMenu.button.default.boxShadow};\n font-size: ${sizes.fontSize};\n gap: ${sizes.gap};\n padding-block: ${sizes.paddingBlock};\n padding-inline: ${sizes.paddingInline};\n border-radius: ${sizes.borderRadius};\n border-width: ${sizes.borderWidth};\n border-style: solid;\n width: ${$fullWidth ? '100%' : 'auto'};\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n justify-content: ${$fullWidth ? 'space-between' : 'center'};\n text-decoration: none;\n transition: all 0.2s ease;\n outline: none;\n flex-direction: row;\n\n &:hover {\n background: ${theme.contextMenu.button.hover.background};\n color: ${theme.contextMenu.button.hover.text};\n border-color: ${$hasBorder ? theme.contextMenu.button.hover.border : 'transparent'};\n box-shadow: ${theme.contextMenu.button.hover.boxShadow};\n }\n\n &:active {\n background: ${theme.contextMenu.button.active.background};\n color: ${theme.contextMenu.button.active.text};\n border-color: ${$hasBorder ? theme.contextMenu.button.active.border : 'transparent'};\n box-shadow: ${theme.contextMenu.button.active.boxShadow};\n }\n\n &:disabled {\n background: ${theme.contextMenu.button.disabled.background};\n color: ${theme.contextMenu.button.disabled.text};\n border-color: ${$hasBorder ? theme.contextMenu.button.disabled.border : 'transparent'};\n box-shadow: ${theme.contextMenu.button.disabled.boxShadow};\n }\n\n `;\n }}\n`;\n","import { styled } from 'styled-components';\n\ninterface StyledProps {}\n\nexport const ContextMenuDelimiter = styled.div<StyledProps>(\n ({ theme }) => `\n margin-inline: ${theme.contextMenu.delimeter.marginInline};\n margin-block: ${theme.contextMenu.delimeter.marginBlock};\n border-top-width: ${theme.contextMenu.delimeter.thickness};\n border-top-style: ${theme.contextMenu.delimeter.style};\n border-top-color: ${theme.contextMenu.delimeter.color};\n `\n);\n","import { useState } from 'react';\n\nexport const useContextMenuControl = () => {\n const [isOpen, setIsOpen] = useState(false);\n\n const toggleMenu = () => {\n setIsOpen((prev) => !prev);\n };\n const closeMenu = () => {\n setIsOpen(false);\n };\n const openMenu = () => {\n setIsOpen(true);\n };\n return {\n isOpen,\n toggleMenu,\n closeMenu,\n openMenu,\n };\n};\n","import { useCallback, useState } from 'react';\nimport { PopoverAlign, PopoverPosition } from 'react-tiny-popover';\nimport { ContextMenu } from '../ContextMenu';\nimport { ButtonSize, getButtonSizeStyles } from '../../Theme';\nimport { styled } from 'styled-components';\n\ninterface SelectProps<T extends string | number> {\n selected?: T;\n options: { value: T; inputDisplay?: string }[];\n handleSelect: (id: T) => void;\n placeholder: string;\n disabled?: boolean;\n positions?: PopoverPosition[] | PopoverPosition;\n align?: PopoverAlign;\n size?: ButtonSize;\n hasBorder?: boolean;\n maxHeight?: number;\n}\n\nexport const Select = <T extends string | number>({\n options,\n selected,\n handleSelect,\n placeholder,\n disabled = false,\n positions = ['bottom'],\n align = 'start',\n size = 'small',\n hasBorder = true,\n maxHeight,\n}: SelectProps<T>) => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const handleToggle = useCallback(() => {\n if (!disabled) setIsOpen((prev) => !prev);\n }, []);\n\n return (\n <ContextMenu\n isOpen={isOpen}\n onClickOutside={() => setIsOpen(false)}\n onClick={handleToggle}\n disabled={disabled}\n anchor={!selected ? placeholder : options.find((option) => option.value === selected)?.inputDisplay || selected}\n fullWidth\n positions={positions}\n align={align}\n size={size}\n hasBorder={hasBorder}\n maxHeight={maxHeight}\n >\n <StyledWrapper>\n {options.map((item) => (\n <StyledItem\n onClick={() => {\n handleSelect(item.value);\n setIsOpen(false);\n }}\n type=\"button\"\n $selected={item.value === selected}\n key={item.value}\n disabled={disabled}\n $size={size}\n >\n {item.inputDisplay || item.value}\n </StyledItem>\n ))}\n </StyledWrapper>\n </ContextMenu>\n );\n};\n\nconst StyledWrapper = styled.div`\n padding-block: 7px;\n padding-inline: 5px;\n button:not(:last-of-type) {\n margin-bottom: 4px;\n }\n`;\n\nconst StyledItem = styled.button<{ $size: ButtonSize; $selected: boolean }>`\n ${({ theme, $size, $selected }) => {\n const sizes = getButtonSizeStyles(theme, $size);\n return `\n background: ${theme.select.item.default.background};\n color: ${theme.select.item.default.text};\n font-size: ${sizes.fontSize};\n gap: ${sizes.gap};\n padding-block: ${sizes.paddingBlock};\n padding-inline: ${sizes.paddingInline};\n border-radius: ${sizes.borderRadius};\n border-width: ${sizes.borderWidth};\n border: none;\n width: 100%;\n cursor: pointer;\n font-weight: 400;\n display: inline-flex;\n align-items: center;\n justify-content: flex-start;\n text-decoration: none;\n transition: all 0.2s ease;\n outline: none;\n flex-direction: row;\n\n &:hover {\n background-color: ${theme.select.item.hover.background};\n color: ${theme.select.item.hover.text};\n }\n\n ${\n $selected &&\n `background: ${theme.select.item.active.background};\n color: ${theme.select.item.active.text};`\n }\n\n &:disabled {\n background: ${theme.select.item.disabled.background};\n color: ${theme.select.item.disabled.text};\n cursor: not-allowed;\n }\n `;\n }}\n`;\n","import { ButtonColor, ButtonSize, getButtonSizeStyles } from '../../Theme';\nimport { useRef } from 'react';\nimport { Popover, PopoverAlign, PopoverPosition } from 'react-tiny-popover';\nimport { styled, useTheme } from 'styled-components';\nimport { BallsMenu } from '../IconComponents';\nimport { useContextMenuControl } from '../ContextMenu';\nimport { Button } from '../Button';\n\nexport type Action = {\n label: string;\n onClick: () => void;\n color: ButtonColor;\n};\n\ninterface RowActionsMenuProps {\n items: Action[];\n size?: ButtonSize;\n disabled?: boolean;\n className?: string;\n positions?: PopoverPosition[] | PopoverPosition;\n align?: PopoverAlign;\n}\n\nexport const RowActionsMenu = ({\n size = 'small',\n disabled,\n className,\n positions = ['bottom'],\n align = 'end',\n items,\n}: RowActionsMenuProps) => {\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const { isOpen, closeMenu, toggleMenu } = useContextMenuControl();\n\n const theme = useTheme();\n\n return (\n <Popover\n padding={theme.contextMenu.padding}\n isOpen={isOpen}\n positions={positions}\n align={align}\n onClickOutside={closeMenu}\n content={\n <ContentWrapper>\n {items.map(({ label, onClick, color }, idx) => (\n <Button\n variant=\"empty\"\n key={`row-action-${idx}`}\n color={color}\n fullWidth\n size={size}\n onClick={() => {\n onClick();\n closeMenu();\n }}\n >\n {label}\n </Button>\n ))}\n </ContentWrapper>\n }\n containerStyle={{\n backgroundColor: theme.colors.background,\n border: `1px solid ${theme.colors.stroke.light}`,\n boxShadow: '0px 0px 10px 0px rgba(0, 0, 0, 0.25)',\n borderRadius: '5px',\n zIndex: `${9999}`,\n }}\n >\n <StyledButton\n ref={buttonRef}\n onClick={toggleMenu}\n $disabled={disabled}\n $size={size}\n className={className}\n type=\"button\"\n disabled={disabled}\n >\n <BallsMenu width={theme.rowActionsMenu.icon.size} height={theme.rowActionsMenu.icon.size} />\n </StyledButton>\n </Popover>\n );\n};\n\nconst StyledButton = styled.button<{\n $size: ButtonSize;\n $disabled?: boolean;\n}>`\n ${({ $size, $disabled, theme }) => {\n const sizes = getButtonSizeStyles(theme, $size);\n return `\n background: ${theme.rowActionsMenu.button.default.background};\n color: ${theme.rowActionsMenu.button.default.text};\n border: none;\n font-size: ${sizes.fontSize};\n gap: ${sizes.gap};\n padding: 4px;\n border-radius: ${sizes.borderRadius};\n width: auto;\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n font-weight: 500;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n text-decoration: none;\n transition: all 0.2s ease;\n outline: none;\n\n &:hover {\n background: ${theme.rowActionsMenu.button.hover.background};\n color: ${theme.rowActionsMenu.button.hover.text};\n }\n\n &:active {\n background: ${theme.rowActionsMenu.button.active.background};\n color: ${theme.rowActionsMenu.button.active.text};\n }\n\n &:disabled {\n background: ${theme.rowActionsMenu.button.disabled.background};\n color: ${theme.rowActionsMenu.button.disabled.text};\n }\n\n `;\n }}\n`;\nconst ContentWrapper = styled.div(\n ({ theme }) => `\n padding: 5px 10px;\n display: flex;\n flex-direction: column;\n button {\n min-width: 110px;\n justify-content: flex-start;\n font-weight: 400;\n }\n button:not(:last-of-type) {\n position: relative;\n ::after {\n position: absolute;\n content: '';\n bottom: 0;\n left: 5px;\n right: 5px;\n height: 1px;\n background-color: ${theme.rowActionsMenu.delimiterColor};\n }\n }\n`\n);\n","import { InputSize, InputSizeStyle } from '../../Theme';\nimport { InputHTMLAttributes } from 'react';\nimport { styled } from 'styled-components';\nimport { InfoCircleFilledIcon } from '../IconComponents';\n\ntype StyledProps = {\n $error?: boolean;\n $sizes: InputSizeStyle;\n};\n\ntype InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> & {\n error?: boolean;\n append?: any;\n prepend?: any;\n size?: InputSize;\n};\n\nexport const Input = ({ error, append, prepend, size = 'small', disabled, className, ...props }: InputProps) => {\n return (\n <Group className={className} $error={error} $size={size} $disabled={!!disabled}>\n {!!prepend && prepend}\n <InputGroup $size={size}>\n <input {...props} disabled={disabled} />\n {!!error && (\n <IconWrapper>\n <InfoCircleFilledIcon />\n </IconWrapper>\n )}\n </InputGroup>\n {!!append && append}\n </Group>\n );\n};\n\nconst InputGroup = styled.div<{ $size: InputSize }>(\n ({ theme, $size }) => `\n display: inline-flex;\n align-items: center;\n width: 100%;\n color: currentColor;\n\n svg {\n width: ${theme.input.sizes[$size].iconSize};\n height: ${theme.input.sizes[$size].iconSize};\n }\n\n & input {\n font-size: ${theme.input.sizes[$size].fontSize};\n color: inherit;\n background: transparent;\n padding-block: ${theme.input.sizes[$size].paddingBlock};\n padding-inline: ${theme.input.sizes[$size].paddingInline};\n position: relative;\n width: 100%;\n outline: none;\n border: none;\n\n &::placeholder {\n color: ${theme.input.outlined.default.placeholder};\n font-size: ${theme.input.sizes[$size].fontSize};\n }\n\n &:disabled {\n cursor: not-allowed;\n color: inherit;\n }\n }\n`\n);\n\nconst IconWrapper = styled.span(\n ({ theme }) => `\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n color: ${theme.input.outlined.error.icon};\n margin-right: 10px;\n \n`\n);\n\nconst Group = styled.div<{ $disabled: boolean; $error?: boolean; $size: InputSize }>(\n ({ theme, $disabled, $error, $size }) => `\n display: inline-flex;\n align-items: center;\n width: 100%;\n border: 1px solid;\n border-radius: ${theme.input.sizes[$size].borderRadius};\n height: ${theme.input.sizes[$size].height};\n overflow: hidden;\n transition: all 0.2s ease;\n\n ${\n $error\n ? `\n border-color: ${theme.input.outlined.error.border};\n color: ${theme.input.outlined.error.text};\n background: ${theme.input.outlined.error.background};\n `\n : `\n border-color: ${theme.input.outlined.default.border};\n color: ${theme.input.outlined.default.text};\n background: ${theme.input.outlined.default.background};\n `\n }\n\n ${\n !$disabled &&\n !$error &&\n `\n &:hover {\n border-color: ${theme.input.outlined.focus.border};\n }\n \n &:focus-within {\n border-color: ${theme.input.outlined.focus.border};\n color: ${theme.input.outlined.focus.text};\n background: ${theme.input.outlined.focus.background};\n }\n `\n }\n\n ${\n $disabled &&\n `\n border-color: ${theme.input.outlined.disabled.border};\n color: ${theme.input.outlined.disabled.text};\n background: ${theme.input.outlined.disabled.background};\n cursor: not-allowed;\n `\n }\n`\n);\n","import { ReactElement } from 'react';\nimport { styled } from 'styled-components';\n\ninterface PageLayoutProps {\n header?: any;\n sidebar?: any;\n children?: any;\n}\n\nexport const PageLayout = ({ children, header, sidebar }: PageLayoutProps) => {\n return (\n <StyledContainer $withHeader={!!header} $withSidebar={!!sidebar}>\n {header}\n {sidebar}\n <StyledMain>{children}</StyledMain>\n </StyledContainer>\n );\n};\n\ninterface StyledContainerProps {\n $withHeader?: boolean;\n $withSidebar?: boolean;\n}\n\nexport const StyledContainer = styled.div<StyledContainerProps>(\n ({ $withHeader, $withSidebar }) => `\n display: grid;\n min-height: 100dvh;\n position: relative;\n grid-template-columns: ${$withSidebar ? 'auto 1fr' : '1fr'};\n grid-template-rows: ${$withHeader ? 'auto 1fr' : '1fr'};\n grid-template-areas: ${\n $withHeader\n ? $withSidebar\n ? `'sidebar header' 'sidebar content'`\n : `'header' 'content'`\n : $withSidebar\n ? `'sidebar content'`\n : `'content'`\n };\n\n & > header {\n grid-area: header;\n }\n\n & > aside {\n grid-area: sidebar;\n max-height: 100vh;\n }\n\n & > main {\n grid-area: content;\n }\n`\n);\n\nconst StyledMain = styled.main`\n min-width: 0;\n`;\n","import ForceGraph2D, { ForceGraphMethods } from 'react-force-graph-2d';\nimport { Graph2DProps } from './types';\nimport { useEffect, useRef, MutableRefObject } from 'react';\n\nexport const Graph2D = ({\n graphData,\n width,\n height,\n linkTarget,\n linkSource,\n config = {\n nodeSizeFactor: 2, // Множник для розміру вузла\n fontSize: 14, // Базовий розмір шрифту\n nodeSizeBase: 5, // Базовий розмір вузла (перед застосуванням множника)\n textPaddingFactor: 0.95, // Скільки разів текст може бути ширший за розмір вузла\n },\n onNodeClick,\n onLinkClick,\n}: Graph2DProps) => {\n // Максимальний рівень зуму\n const MAX_ZOOM = 4;\n // Максимальний розмір шрифту при максимальному зумі\n const MAX_FONT_SIZE = 8;\n\n // Функція для реверсивного масштабування тексту\n // При максимальному зумі текст має розмір MAX_FONT_SIZE\n // При зменшенні зуму текст також зменшується\n const calculateFontSize = (scale: number): number => {\n // Обмежуємо масштаб до MAX_ZOOM\n const limitedScale = Math.min(scale, MAX_ZOOM);\n\n // Обчислюємо коефіцієнт масштабування: при максимальному зумі = 1, при мінімальному - менше\n const fontSizeRatio = limitedScale / MAX_ZOOM;\n\n // Розраховуємо розмір шрифту в діапазоні від (MAX_FONT_SIZE / MAX_ZOOM) до MAX_FONT_SIZE\n return Math.max(MAX_FONT_SIZE * fontSizeRatio, MAX_FONT_SIZE / MAX_ZOOM);\n };\n\n const fgRef = useRef<ForceGraphMethods>(null) as MutableRefObject<ForceGraphMethods | undefined>;\n\n useEffect(() => {\n fgRef.current?.d3Force('link')?.distance(() => {\n return 100; // Set a constant distance of 100 for all links\n // Or use a function for dynamic distance based on link properties:\n // return link.value * 50;\n });\n }, [graphData]);\n\n return (\n <ForceGraph2D\n ref={fgRef}\n width={width}\n height={height}\n graphData={graphData}\n linkTarget={linkTarget}\n linkSource={linkSource}\n onNodeClick={onNodeClick}\n onLinkClick={onLinkClick}\n nodeLabel={(node: any) => `${node.label}`} // Показуємо повний текст у тултіпі\n linkLabel={(link: any) => link.label}\n nodeAutoColorBy=\"label\"\n linkDirectionalArrowLength={3.5}\n linkDirectionalArrowRelPos={1}\n linkCurvature={0}\n // Обмеження максимального зуму\n maxZoom={MAX_ZOOM}\n linkCanvasObjectMode={() => 'after'}\n linkCanvasObject={(link: any, ctx: CanvasRenderingContext2D, globalScale: number) => {\n // Отримуємо позиції початку і кінця зв'язку\n const { source, target, label } = link;\n if (!label) return; // Пропускаємо, якщо немає мітки\n\n // Координати початку і кінця зв'язку\n const start = { x: source.x, y: source.y };\n const end = { x: target.x, y: target.y };\n\n // Знаходимо середину лінії для розміщення тексту\n const middleX = start.x + (end.x - start.x) / 2;\n const middleY = start.y + (end.y - start.y) / 2;\n\n // Використовуємо реверсивне масштабування для тексту\n const scaledFontSize = calculateFontSize(globalScale);\n ctx.font = `${scaledFontSize}px Sans-Serif`;\n ctx.fillStyle = '#666'; // Колір тексту\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n\n // Визначення кута нахилу лінії для повороту тексту\n const angle = Math.atan2(end.y - start.y, end.x - start.x);\n\n // Збереження поточного стану контексту\n ctx.save();\n\n // Переміщення до центру лінії та поворот тексту\n ctx.translate(middleX, middleY);\n\n // Якщо кут близький до вертикального або перевернутий, коригуємо його\n if (Math.abs(angle) > Math.PI / 2) {\n ctx.rotate(angle + Math.PI);\n ctx.textAlign = 'center';\n } else {\n ctx.rotate(angle);\n ctx.textAlign = 'center';\n }\n\n // Рисуємо фон для тексту для кращої читаємості\n const textWidth = ctx.measureText(label).width;\n const padding = 2;\n ctx.fillStyle = 'rgba(255, 255, 255, 0.8)';\n ctx.fillRect(\n -textWidth / 2 - padding,\n -scaledFontSize / 2 - padding,\n textWidth + padding * 2,\n scaledFontSize + padding * 2\n );\n\n // Малюємо текст\n ctx.fillStyle = '#666';\n ctx.fillText(label, 0, 0);\n\n // Відновлення стану контексту\n ctx.restore();\n }}\n nodeCanvasObject={(node: any, ctx: CanvasRenderingContext2D, globalScale: number) => {\n // Отримуємо дані вузла та конфігурацію\n const { x, y, color, label } = node;\n\n // Розраховуємо розмір вузла\n const nodeSize = config.nodeSizeBase * config.nodeSizeFactor;\n\n // Малюємо коло\n ctx.beginPath();\n ctx.arc(x, y, nodeSize, 0, 2 * Math.PI);\n ctx.fillStyle = color;\n ctx.fill();\n\n // Зберігаємо стан контексту перед поворотом\n ctx.save();\n // Переміщуємось до позиції вузла\n ctx.translate(x, y);\n\n // Функція для обрізання тексту з трикрапкою (аналог text-overflow: ellipsis)\n const truncateText = (text: string, maxWidth: number): string => {\n if (!text) return '';\n\n // Вимірюємо ширину тексту\n const textWidth = ctx.measureText(text).width;\n\n // Якщо текст коротший за максимальну ширину, повертаємо як є\n if (textWidth <= maxWidth) return text;\n\n // Інакше обрізаємо текст і додаємо трикрапку\n let truncated = text;\n const ellipsis = '...';\n\n // Поступово скорочуємо текст, поки він не поміститься\n while (ctx.measureText(truncated + ellipsis).width > maxWidth && truncated.length > 0) {\n truncated = truncated.slice(0, -1);\n }\n\n return truncated + ellipsis;\n };\n\n // Використовуємо реверсивне масштабування для тексту вузлів\n const scaledFontSize = calculateFontSize(globalScale);\n ctx.font = `${scaledFontSize}px Sans-Serif`;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillStyle = 'black';\n\n // Розрахунок максимальної ширини тексту на основі розміру вузла\n // Ширина тексту = діаметр вузла * коефіцієнт розширення\n // Використовуємо globalScale для визначення пропорцій тексту\n const maxWidth = (nodeSize * config.textPaddingFactor) / globalScale;\n\n // Малюємо тип вузла з обрізанням (з меншою шириною)\n ctx.font = `${scaledFontSize * 0.8}px Sans-Serif`;\n const truncatedLabel = truncateText(label, maxWidth);\n ctx.fillText(truncatedLabel, 0, 0);\n\n // Відновлюємо стан контексту\n ctx.restore();\n }}\n />\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/Core/Button/Button.tsx","../src/Theme/GlobalStyle.tsx","../src/Theme/ThemeProvider.tsx","../src/Theme/utils.ts","../src/Theme/theme.ts","../src/Core/IconComponents/AlertIcon.tsx","../src/Core/IconComponents/ApiIcon.tsx","../src/Core/IconComponents/ArrowCircleTopRightIcon.tsx","../src/Core/IconComponents/ArrowRightIcon.tsx","../src/Core/IconComponents/BugReportIcon.tsx","../src/Core/IconComponents/CalendarIcon.tsx","../src/Core/IconComponents/ChevronLeftIcon.tsx","../src/Core/IconComponents/ChevronRightIcon.tsx","../src/Core/IconComponents/ClosedLockIcon.tsx","../src/Core/IconComponents/DataSetsIcon.tsx","../src/Core/IconComponents/DeepSearchIcon.tsx","../src/Core/IconComponents/DisabledVisibleIcon.tsx","../src/Core/IconComponents/DocsIcon.tsx","../src/Core/IconComponents/DownloadIcon.tsx","../src/Core/IconComponents/EditUserIcon.tsx","../src/Core/IconComponents/EnableVisibleIcon.tsx","../src/Core/IconComponents/EnterArrowLeftIcon.tsx","../src/Core/IconComponents/FiltersIcon.tsx","../src/Core/IconComponents/HomepageIcon.tsx","../src/Core/IconComponents/InfoCircleIcon.tsx","../src/Core/IconComponents/MapRadarIcon.tsx","../src/Core/IconComponents/MoonIcon.tsx","../src/Core/IconComponents/OpenLockIcon.tsx","../src/Core/IconComponents/OrganizationIcon.tsx","../src/Core/IconComponents/PasswordFinderIcon.tsx","../src/Core/IconComponents/PhonebookIcon.tsx","../src/Core/IconComponents/PrintIcon.tsx","../src/Core/IconComponents/Profiler2Icon.tsx","../src/Core/IconComponents/ProfilerIcon.tsx","../src/Core/IconComponents/SandBoxIcon.tsx","../src/Core/IconComponents/StatisticIcon.tsx","../src/Core/IconComponents/SunIcon.tsx","../src/Core/IconComponents/UpRightArrowCircleIcon.tsx","../src/Core/IconComponents/VectorIcon.tsx","../src/Core/IconComponents/BallsMenu.tsx","../src/Core/IconComponents/Check.tsx","../src/Core/IconComponents/ChevronDown.tsx","../src/Core/IconComponents/ChevronUp.tsx","../src/Core/IconComponents/Plus.tsx","../src/Core/IconComponents/Users.tsx","../src/Core/IconComponents/InfoCircleFilled.tsx","../src/Core/IconComponents/Unfold.tsx","../src/Core/IconComponents/Cross.tsx","../src/Core/Sidebar/Sidebar.tsx","../src/Core/Sidebar/SidebarContext.tsx","../src/Core/Sidebar/SidebarItem.tsx","../src/Core/Sidebar/SidebarDelimeter.tsx","../src/Core/Sidebar/SidebarSection.tsx","../src/Core/Typography/Typography.tsx","../src/Core/ListMenu/ListMenu.tsx","../src/Core/ListMenu/ListMenuItem.tsx","../src/Core/ListMenu/ListMenuSection.tsx","../src/Core/Header/Header.tsx","../src/Core/Header/HeaderDelimeter.tsx","../src/Core/Header/HeaderSection.tsx","../src/Core/Table/Row.tsx","../src/Core/Table/Cell.tsx","../src/Core/Table/Table.tsx","../src/Core/Pagination/Pagination.tsx","../src/Core/ContextMenu/ContextMenu.tsx","../src/Core/ContextMenu/ContextMenuDelimiter.tsx","../src/Core/ContextMenu/useContextMenuControl.ts","../src/Core/Select/Select.tsx","../src/Core/RowActionsMenu/RowActionsMenu.tsx","../src/Core/Input/Input.tsx","../src/Layouts/PageLayout/PageLayout.tsx","../src/Graph2D/Graph2D.tsx"],"names":["GlobalStyle","createGlobalStyle","resolveThemeColor","__name","theme","colorPath","parts","category","variant","colorCategory","pxToRem","pxValue","baseSize","numericValue","IGNORE_CONVERT_KEYS","convertPaletteToRem","obj","parentKey","result","key","value","prop","getButtonStyles","color","state","getButtonSizeStyles","size","getTypographyStyles","getBreakpoint","lightThemePx","lightTheme","darkTheme","ThemeProvider","children","jsxs","ThemeProviderStyled","jsx","getCss","styles","StyledButton","styled","$variant","$color","$size","$disabled","$fullWidth","$iconPosition","sizes","Button","disabled","fullWidth","className","icon","iconPosition","props","AlertIcon","fill","ApiIcon","ArrowCircleTopRightIcon","ArrowRightIcon","BugReportIcon","CalendarIcon","ChevronLeftIcon","ChevronRightIcon","ClosedLockIcon","DataSetsIcon","DeepSearchIcon","DisabledVisibleIcon","DocsIcon","DownloadIcon","EditUserIcon","EnableVisibleIcon","EnterArrowLeftIcon","FiltersIcon","HomepageIcon","InfoCircleIcon","MapRadarIcon","MoonIcon","OpenLockIcon","OrganizationIcon","PasswordFinderIcon","PhonebookIcon","PrintIcon","Profiler2Icon","ProfilerIcon","SandBoxIcon","StatisticIcon","SunIcon","stroke","UpRightArrowCircleIcon","VectorIcon","BallsMenu","CheckIcon","ChevronDownIcon","ChevronUpIcon","PlusIcon","UsersIcon","InfoCircleFilledIcon","UnfoldIcon","CrossIcon","SidebarContext","createContext","Sidebar","defaultCollapsed","collapsed","setCollapsed","React","StyledContainer","$collapsed","SidebarItem","active","Icon","label","useContext","isAnchor","StyledItem","StyledText","$active","SidebarDelimeter","StyledDelimeter","SidebarSection","grow","shrink","basis","items","StyledSection","$grow","$shrink","$basis","StyledTypography","$weight","$style","Typography","element","weight","style","Element","ListMenu","width","StyledList","$width","ListMenuItem","count","StyledLink","StyledCount","ListMenuSection","title","StyledTitle","Header","HeaderDelimeter","HeaderSection","justify","$justify","Row","HeadCell","Cell","Table","columns","rowCount","renderCell","renderHeaderCell","rowIds","cellCount","data","useMemo","i","j","StyledTable","StyledHead","id","cells","rowIndex","cell","cellIndex","PAGINATION_LIMIT","DIFF","VISIBLE_GROUPE","STEP","ELLIPSIS","Pagination","total_items","limit","offset","onChangePage","currentPage","pages","paginationItems","lastPage","isDisabled","useCallback","page","onPaginationClick","FlexGroup","idx","$current","ContextMenu","isOpen","onClickOutside","onClick","anchor","positions","align","hasBorder","maxHeight","buttonRef","useRef","useTheme","Popover","$hasBorder","ContextMenuDelimiter","useContextMenuControl","setIsOpen","useState","prev","Select","options","selected","handleSelect","placeholder","handleToggle","option","StyledWrapper","item","$selected","RowActionsMenu","closeMenu","toggleMenu","ContentWrapper","Input","error","append","prepend","Group","InputGroup","IconWrapper","$error","PageLayout","header","sidebar","StyledMain","$withHeader","$withSidebar","imgEyeLightIcon","eye_light_default","imgEyeLightHoverIcon","eye_light_hover_default","imgCrossLightIcon","cross_light_default","imgCrossLightHoverIcon","cross_light_hover_default","Graph2D","graphData","height","linkTarget","linkSource","config","onNodeClick","onLinkClick","highlightNodes","setHighlightNodes","highlightLinks","setHighlightLinks","hoverNode","setHoverNode","hiddenNodes","setHiddenNodes","collapsedNodes","setCollapsedNodes","hoverTopButton","setHoverTopButton","hoverBottomButton","setHoverBottomButton","fgRef","wrapperRef","calculateFontSize","scale","fontSizeRatio","handleNodeHover","node","_","newHighlightNodes","newHighlightLinks","neighbor","link","handleLinkHover","useEffect","source","n","target","baseDistance","sourceSizeBase","targetSizeBase","chargeForce","centerForce","collideForce","forceCollide","paintRing","ctx","globalScale","radius","paintNodeButtons","x","y","buttonRadius","iconSize","crossIcon","renderCrossIcon","eyeIcon","renderEyeIcon","collapseNode","handleHideNode","newHiddenNodes","handleCollapseChildren","newCollapsedNodes","isPointInButtonArea","buttonX","buttonY","startAngle","endAngle","dx","dy","distance","angle","isInRadius","isInAngle","handleCanvasMouseMove","event","zoom","nodeX","nodeY","canvasRect","mouseX","mouseY","canvasScaleX","canvasScaleY","scaledMouseX","scaledMouseY","graphCenter","nodeScreenX","nodeScreenY","screenPos","isOverTopButton","isOverBottomButton","truncateText","text","maxWidth","truncated","ellipsis","renderGrid","gridSpacing","dotSize","renderNodePointerAreaPaint","renderNodeCanvasObject","scaledFontSize","truncatedLabel","renderLinkCanvasObject","start","end","middleX","middleY","textWidth","padding","Wrapper","ForceGraph2D","canvas","clickX","clickY","scaledClickX","scaledClickY"],"mappings":"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","file":"index.mjs","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {\n ButtonVariant,\n ButtonSize,\n ButtonColor,\n getButtonStyles,\n getButtonSizeStyles,\n ButtonElementStyle,\n} from '../../Theme';\n\ninterface BaseButtonProps {\n children?: any;\n variant?: ButtonVariant;\n color?: ButtonColor;\n size?: ButtonSize;\n disabled?: boolean;\n fullWidth?: boolean;\n className?: string;\n icon?: any;\n iconPosition?: 'left' | 'right';\n}\n\nexport type ButtonProps = BaseButtonProps &\n (React.AnchorHTMLAttributes<HTMLAnchorElement> | React.ButtonHTMLAttributes<HTMLButtonElement>);\n\nconst getCss = (styles: ButtonElementStyle) => `\n background: ${styles.background};\n color: ${styles.text};\n border-color: ${styles.border};\n box-shadow: ${styles.boxShadow};\n `;\n\n// Створюємо стилізований компонент, що використовує уніфіковану палітру\nconst StyledButton = styled.button<{\n $variant: ButtonVariant;\n $color: ButtonColor;\n $size: ButtonSize;\n $disabled: boolean;\n $fullWidth: boolean;\n $iconPosition: 'left' | 'right';\n}>`\n ${({ $variant, $color, $size, $disabled, $fullWidth, $iconPosition, theme }) => {\n const sizes = getButtonSizeStyles(theme, $size);\n return `\n ${getCss(getButtonStyles(theme, $variant, $color, 'default'))}\n font-size: ${sizes.fontSize};\n gap: ${sizes.gap};\n padding-block: ${sizes.paddingBlock};\n padding-inline: ${sizes.paddingInline};\n border-radius: ${sizes.borderRadius};\n border-width: ${sizes.borderWidth};\n border-style: solid;\n width: ${$fullWidth ? '100%' : 'auto'};\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n transition: all 0.2s ease;\n outline: none;\n\n ${$iconPosition === 'right' ? 'flex-direction: row-reverse;' : ''}\n\n &:hover {\n ${getCss(getButtonStyles(theme, $variant, $color, 'hover'))}\n }\n\n &:active {\n ${getCss(getButtonStyles(theme, $variant, $color, 'active'))}\n }\n\n &:disabled {\n ${getCss(getButtonStyles(theme, $variant, $color, 'disabled'))}\n }\n\n svg {\n width: ${sizes.iconSize};\n height: ${sizes.iconSize};\n }\n `;\n }}\n`;\n\nexport const Button = ({\n children,\n variant = 'fill',\n color = 'primary',\n size = 'medium',\n disabled = false,\n fullWidth = false,\n className,\n icon,\n iconPosition = 'left',\n ...props\n}: ButtonProps) => {\n return (\n <StyledButton\n as={'href' in props ? 'a' : 'button'}\n $variant={variant}\n $color={color}\n $size={size}\n $disabled={disabled}\n $fullWidth={fullWidth}\n $iconPosition={iconPosition}\n disabled={disabled}\n className={className}\n {...props}\n >\n {icon}\n <div>{children}</div>\n </StyledButton>\n );\n};\n","import { createGlobalStyle } from 'styled-components';\n\nexport const GlobalStyle = createGlobalStyle`\n *, *::before, *::after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n }\n\n body, html {\n font-size: 14px;}\n`;\n","import { ThemeProvider as ThemeProviderStyled } from 'styled-components';\nimport { lightTheme } from './theme';\nimport { GlobalStyle } from './GlobalStyle';\n\nexport const ThemeProvider = ({ children }: { children: any }) => {\n return (\n <ThemeProviderStyled theme={lightTheme}>\n <GlobalStyle />\n {children}\n </ThemeProviderStyled>\n );\n};\n","import { DefaultTheme } from 'styled-components';\nimport { Breakpoint, ButtonColor, ButtonSize, ButtonState, ButtonVariant, InputSize, InputState } from './types';\n\n/**\n * Helper function to resolve nested color paths from theme\n * Supports formats like 'primary.main', 'text.lightest', 'background'\n *\n * @param theme - The styled-components theme object\n * @param colorPath - A dot-notation path to the color in the theme, e.g. 'primary.main'\n * @returns The resolved color value or undefined if not found\n */\nexport const resolveThemeColor = (theme: DefaultTheme, colorPath: string | undefined): string | undefined => {\n // Skip processing if not a string or empty\n if (!colorPath || typeof colorPath !== 'string') {\n return undefined;\n }\n\n // Check if it's a color path (contains dot) or a top-level theme color property\n const isThemeColorPath = colorPath.includes('.') || theme.colors.hasOwnProperty(colorPath);\n\n // Return early if it's not a theme color path\n if (!isThemeColorPath) {\n return colorPath; // Return as-is if it's not a theme color path\n }\n\n const parts = colorPath.split('.');\n\n if (parts.length === 1) {\n // For simple color keys like 'background', 'disable'\n return theme.colors[parts[0] as keyof typeof theme.colors] as string;\n } else if (parts.length === 2) {\n // For nested color keys like 'primary.main', 'text.light'\n const [category, variant] = parts;\n const colorCategory = theme.colors[category as keyof typeof theme.colors];\n\n if (colorCategory && typeof colorCategory === 'object') {\n return colorCategory[variant as keyof typeof colorCategory] as string;\n }\n }\n\n return undefined;\n};\n\n/**\n * Converts a pixel value to rem units\n *\n * @param pxValue - The pixel value to convert. Can be a number or a string with 'px' suffix\n * @param baseSize - Base font size in pixels. Default is 16px (browser default)\n * @returns The value in rem units as a string (e.g., \"1.25rem\")\n */\nexport const pxToRem = (pxValue: number | string, baseSize: number = 16): string => {\n // If pxValue is a string with 'px' suffix, extract the numeric value\n const numericValue = typeof pxValue === 'string' ? parseFloat(pxValue.replace('px', '')) : pxValue;\n\n // Handle invalid values\n if (isNaN(numericValue)) {\n console.warn(`Invalid pixel value: ${pxValue}`);\n return '0';\n }\n\n // Convert to rem and round to 4 decimal places for precision\n const remValue = (numericValue / baseSize).toFixed(4).replace(/\\.?0+$/, '');\n\n return `${remValue}rem`;\n};\n\nconst IGNORE_CONVERT_KEYS: Record<string, string[]> = {\n contextMenu: ['padding'],\n};\n\n/**\n * Recursively converts all pixel values in an object to rem units\n *\n * @param obj - The object containing values to convert\n * @param baseSize - Base font size in pixels. Default is 16px\n * @returns A new object with pixel values converted to rem\n */\nexport const convertPaletteToRem = (\n obj: Record<string, any>,\n baseSize: number = 14,\n parentKey?: string\n): Record<string, any> => {\n const result: Record<string, any> = {};\n\n Object.entries(obj).forEach(([key, value]) => {\n // If the value is an object and not null, recursively convert its properties\n if (value !== null && typeof value === 'object' && !Array.isArray(value)) {\n result[key] = convertPaletteToRem(value, baseSize, key);\n }\n // If value is a string and contains 'px', convert it to rem\n else if (typeof value === 'string' && value.includes('px')) {\n result[key] = pxToRem(value, baseSize);\n }\n // Handle numeric values that represent pixels for specific properties\n else if (\n typeof value === 'number' &&\n ['fontSize', 'width', 'height', 'padding', 'margin', 'gap', 'borderRadius', 'size'].some((prop) =>\n key.toLowerCase().includes(prop.toLowerCase())\n )\n ) {\n if (!(parentKey && IGNORE_CONVERT_KEYS[parentKey]?.includes(key))) {\n result[key] = pxToRem(value, baseSize);\n } else {\n result[key] = value; // Keep original value if it's in the ignore list\n }\n }\n // Keep other values unchanged\n else {\n result[key] = value;\n }\n });\n\n return result;\n};\n\n// Вспоміжні функції для роботи з палітрою\n/**\n * Функція для отримання стилів кнопки за варіантом, кольором, станом та розміром\n */\nexport const getButtonStyles = <V extends ButtonVariant>(\n theme: DefaultTheme,\n variant: ButtonVariant,\n color: ButtonColor,\n state: ButtonState\n) => {\n return theme.button[variant][color][state];\n};\n\nexport const getButtonSizeStyles = (theme: DefaultTheme, size: ButtonSize) => {\n return theme.button.sizes[size];\n};\n\n// /**\n// * Функція для отримання стилів інпута за варіантом, станом та розміром\n// */\n// export const getInputStyles = (\n// variant: InputVariant = 'default',\n// state: InputState = 'default',\n// size: InputSize = 'medium'\n// ) => {\n// const variantStyles = theme.input[variant][state];\n// const sizeStyles = theme.input.sizes[size];\n\n// return {\n// ...variantStyles,\n// ...sizeStyles,\n// };\n// };\n\n/**\n * Функція для отримання типографічних стилів\n */\nexport const getTypographyStyles = (theme: DefaultTheme, variant: string = 'body') => {\n return theme.typography.variants[variant as keyof typeof theme.typography.variants] || theme.typography.variants.body;\n};\n\n/**\n * Функція для отримання медіа-запитів для breakpoints\n */\nexport const getBreakpoint = (theme: DefaultTheme, size: Breakpoint = 'm') => {\n return `@media (min-width: ${theme.breakpoints[size]}px)`;\n};\n","import { DefaultTheme } from 'styled-components/dist/types';\n\nimport 'styled-components';\nimport { convertPaletteToRem } from './utils';\nimport { Theme } from './types';\n\n/**\n * Палітра, що містить як кольори, так і розміри в px\n * Кольори взято з теми, розміри будуть автоматично конвертовані в rem\n */\nexport const lightThemePx: Theme = {\n mode: 'light',\n // Секція кольорів з теми\n colors: {\n background: '#ffffff',\n primary: {\n main: '#0042EC',\n light: '#80A0F5',\n lighter: '#E5ECFD',\n lightest: '#F3F7FF',\n lightest2: 'rgba(0, 66, 236, 0.05)',\n },\n text: {\n main: '#101010',\n light: '#535353',\n lighter: '#99989C',\n invert: '#ffffff',\n },\n stroke: {\n main: '#C7C5C5',\n light: '#EBEBEB',\n lighter: '#F3F3F3',\n },\n disable: '#FAFAFA',\n success: '#27AE60',\n error: '#FF3B30',\n warning: '#F2994A',\n info: '#2F80ED',\n },\n // Типографія\n typography: {\n fontFamily:\n 'Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;',\n lineHeight: 1.49,\n // Розміри текстових елементів\n variants: {\n h1: {\n fontSize: 22,\n },\n h2: {\n fontSize: 16,\n },\n h3: {\n fontSize: 14,\n },\n body: {\n fontSize: 12,\n },\n },\n },\n breakpoints: {\n xs: 320,\n s: 576,\n m: 768,\n l: 992,\n xl: 1200,\n },\n zIndex: {\n dropdown: 1000,\n sticky: 1020,\n fixed: 1030,\n backdrop: 1040,\n modal: 1050,\n popover: 1060,\n tooltip: 1070,\n },\n button: {\n // Варіанти кнопок з кольорами\n fill: {\n default: {\n // колір default\n default: {\n background: '#E8EAEE',\n text: '#101010',\n border: ' #E8EAEE',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #E5ECFD',\n boxShadow: 'none',\n },\n active: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #E5ECFD',\n boxShadow: 'none',\n },\n disabled: {\n background: '#EBEBEB',\n text: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n },\n primary: {\n // колір primary\n default: {\n background: '#0042EC',\n text: '#FFFFFF',\n border: ' #0042EC',\n boxShadow: 'none',\n },\n hover: {\n background: '#4D7BF2',\n text: '#FFFFFF',\n border: ' #4D7BF2',\n boxShadow: 'none',\n },\n active: {\n background: '#4D7BF2',\n text: '#FFFFFF',\n border: ' #4D7BF2',\n boxShadow: 'none',\n },\n disabled: {\n background: '#99989C',\n text: '#FFFFFF',\n border: ' #E5ECFD',\n boxShadow: 'none',\n },\n },\n //default as secondary\n secondary: {\n // колір default\n default: {\n background: '#E8EAEE',\n text: '#101010',\n border: ' #E8EAEE',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #E5ECFD',\n boxShadow: 'none',\n },\n active: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #E5ECFD',\n boxShadow: 'none',\n },\n disabled: {\n background: '#EBEBEB',\n text: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n },\n error: {\n // колір error\n default: {\n background: '#C93939',\n text: '#FFFFFF',\n border: ' #C93939',\n boxShadow: 'none',\n },\n hover: {\n background: '#C53939',\n text: '#FFFFFF',\n border: ' #C53939',\n boxShadow: 'none',\n },\n active: {\n background: '#C53939',\n text: '#FFFFFF',\n border: ' #C53939',\n boxShadow: 'none',\n },\n disabled: {\n background: '#FFCCCB',\n text: '#FFFFFF',\n border: ' #FFCCCB',\n boxShadow: 'none',\n },\n },\n },\n outlined: {\n default: {\n // колір default\n default: {\n background: 'transparent',\n text: '#101010',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n active: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n },\n primary: {\n // колір primary\n default: {\n background: 'transparent',\n text: '#0042EC',\n border: ' #0042EC',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#0042EC',\n border: ' #0042EC',\n boxShadow: 'none',\n },\n active: {\n background: '#E5ECFD',\n text: '#0042EC',\n border: ' #0042EC',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: ' #99989C',\n boxShadow: 'none',\n },\n },\n secondary: {\n // колір secondary\n default: {\n background: 'transparent',\n text: '#0042EC',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#0042EC',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n active: {\n background: '#E5ECFD',\n text: '#0042EC',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n },\n error: {\n // колір error\n default: {\n background: 'transparent',\n text: '#C93939',\n border: ' #C93939',\n boxShadow: 'none',\n },\n hover: {\n background: '#FCF5F5',\n text: '#C93939',\n border: ' #C93939',\n boxShadow: 'none',\n },\n active: {\n background: '#FCF5F5',\n text: '#C93939',\n border: ' #C93939',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: ' #99989C',\n boxShadow: 'none',\n },\n },\n },\n empty: {\n default: {\n // колір default\n default: {\n background: 'transparent',\n text: '#101010',\n border: 'transparent',\n boxShadow: 'none',\n },\n hover: {\n background: 'transparent',\n text: '#80A0F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n active: {\n background: 'transparent',\n text: '#80A0F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: 'transparent',\n boxShadow: 'none',\n },\n },\n primary: {\n // колір primary\n default: {\n background: 'transparent',\n text: '#0042EC',\n border: 'transparent',\n boxShadow: 'none',\n },\n hover: {\n background: 'transparent',\n text: '#80A0F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n active: {\n background: 'transparent',\n text: '#80A0F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: 'transparent',\n boxShadow: 'none',\n },\n },\n //default as secondary\n secondary: {\n // колір default\n default: {\n background: 'transparent',\n text: '#101010',\n border: 'transparent',\n boxShadow: 'none',\n },\n hover: {\n background: 'rgba(0, 0, 0, 0.05)',\n text: '#101010',\n border: 'transparent',\n boxShadow: 'none',\n },\n active: {\n background: 'rgba(0, 0, 0, 0.1)',\n text: '#101010',\n border: 'transparent',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: 'transparent',\n boxShadow: 'none',\n },\n },\n error: {\n // колір error\n default: {\n background: 'transparent',\n text: '#C93939',\n border: 'transparent',\n boxShadow: 'none',\n },\n hover: {\n background: 'transparent',\n text: '#FCF5F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n active: {\n background: 'transparent',\n text: '#FCF5F5',\n border: 'transparent',\n boxShadow: 'none',\n },\n disabled: {\n background: 'transparent',\n text: '#99989C',\n border: 'transparent',\n boxShadow: 'none',\n },\n },\n },\n // Розміри кнопок\n sizes: {\n small: {\n fontSize: 14,\n iconSize: 16,\n paddingInline: 10,\n paddingBlock: 10,\n borderRadius: 5,\n borderWidth: 1,\n gap: 10,\n },\n medium: {\n fontSize: 16,\n iconSize: 16,\n paddingInline: 10,\n paddingBlock: 10,\n borderRadius: 5,\n borderWidth: 1,\n gap: 10,\n },\n },\n },\n\n // Компонент Sidebar\n sidebar: {\n background: '#FFFFFF',\n width: 224,\n collapsedWidth: 65,\n text: {\n default: '#101010',\n active: '#0042EC',\n hover: '#535353',\n },\n item: {\n default: {\n background: 'transparent',\n border: 'transparent',\n padding: '10px 16px',\n height: 40,\n },\n active: {\n background: '#F3F7FF',\n borderLeft: '2px solid #0042EC',\n padding: '10px 16px',\n height: 40,\n },\n hover: {\n background: '#F3F3F3',\n border: 'transparent',\n padding: '10px 16px',\n height: 40,\n },\n },\n section: {\n background: 'transparent',\n padding: '16px 16px 8px',\n title: {\n color: '#99989C',\n fontSize: '12px',\n fontWeight: 600,\n },\n },\n delimeter: {\n color: '#EBEBEB',\n thickness: 1,\n margin: '8px 0',\n },\n },\n contextMenu: {\n button: {\n default: {\n background: 'transparent',\n text: '#101010',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n hover: {\n background: 'transparent',\n text: '#0042EC',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n active: {\n background: 'transparent',\n text: '#0042EC',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n disabled: {\n background: '#FAFAFA',\n text: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n },\n },\n delimeter: {\n color: '#EBEBEB',\n thickness: 1,\n marginInline: 12,\n marginBlock: 3,\n style: 'solid',\n },\n shadow: '0px 4px 16px rgba(0, 0, 0, 0.1), 0px 2px 4px rgba(0, 0, 0, 0.06)',\n padding: 5,\n icon: {\n size: 7,\n },\n },\n // Компонент Select\n select: {\n item: {\n default: {\n background: 'transparent',\n text: '#101010',\n border: ' none',\n boxShadow: 'none',\n },\n hover: {\n background: '#E5ECFD',\n text: '#101010',\n border: ' none',\n boxShadow: 'none',\n },\n active: {\n background: '#E8EAEE',\n text: '#101010',\n border: ' none',\n boxShadow: 'none',\n },\n disabled: {\n background: '#FAFAFA',\n text: '#99989C',\n border: ' none',\n boxShadow: 'none',\n },\n },\n },\n // Компонент RowActionsMenu\n rowActionsMenu: {\n button: {\n default: {\n background: 'transparent',\n text: '#101010',\n border: ' none',\n boxShadow: 'none',\n },\n hover: {\n background: 'transparent',\n text: '#0042EC',\n border: ' none',\n boxShadow: 'none',\n },\n active: {\n background: 'transparent',\n text: '#0042EC',\n border: ' none',\n boxShadow: 'none',\n },\n disabled: {\n background: '#FAFAFA',\n text: '#99989C',\n border: ' none',\n boxShadow: 'none',\n },\n },\n delimiterColor: '#EBEBEB',\n icon: {\n size: 16,\n },\n },\n // Компонент Input\n input: {\n sizes: {\n small: {\n fontSize: 14,\n paddingInline: 10,\n paddingBlock: 10,\n borderRadius: 5,\n iconSize: 14,\n height: 40,\n },\n medium: {\n fontSize: 16,\n paddingInline: 10,\n paddingBlock: 10,\n borderRadius: 5,\n iconSize: 16,\n height: 40,\n },\n },\n outlined: {\n default: {\n background: 'transparent',\n text: '#101010',\n placeholder: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n icon: '#101010',\n },\n focus: {\n background: 'transparent',\n text: '#101010',\n placeholder: '#99989C',\n border: ' #0042EC',\n boxShadow: 'none',\n icon: '#101010',\n },\n error: {\n background: 'transparent',\n text: '#101010',\n placeholder: '#99989C',\n border: ' #C93939',\n boxShadow: 'none',\n icon: '#C93939',\n },\n disabled: {\n background: '#FAFAFA',\n text: '#99989C',\n placeholder: '#99989C',\n border: ' #EBEBEB',\n boxShadow: 'none',\n icon: '#99989C',\n },\n },\n },\n};\n\n// Конвертуємо всі розміри з px в rem\nexport const lightTheme = convertPaletteToRem(lightThemePx) as DefaultTheme;\nexport const darkTheme = convertPaletteToRem(lightThemePx) as DefaultTheme;\n\nconsole.log('Light theme:', lightTheme.contextMenu);\n","import { SVGProps } from 'react';\n\ninterface AlertIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const AlertIcon = ({ fill = 'currentColor', ...props }: AlertIconProps) => {\n return (\n <svg width=\"17\" height=\"15\" viewBox=\"0 0 17 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.8676 1.3524C7.53792 0.215866 9.21522 0.215866 9.88554 1.3524L16.1406 11.9435C16.8109 13.0801 15.9712 14.5 14.6306 14.5H2.12155C0.779912 14.5 -0.0587385 13.0801 0.61258 11.9435L6.8676 1.3524ZM8.37657 3.79201C8.57469 3.79201 8.7647 3.86897 8.90479 4.00595C9.04488 4.14293 9.12358 4.32871 9.12358 4.52243V7.93107C9.12358 8.12479 9.04488 8.31058 8.90479 8.44756C8.7647 8.58454 8.57469 8.66149 8.37657 8.66149C8.17845 8.66149 7.98844 8.58454 7.84835 8.44756C7.70826 8.31058 7.62955 8.12479 7.62955 7.93107V4.52243C7.62955 4.32871 7.70826 4.14293 7.84835 4.00595C7.98844 3.86897 8.17845 3.79201 8.37657 3.79201ZM8.37657 12.5571C8.64073 12.5571 8.89407 12.4545 9.08086 12.2718C9.26765 12.0892 9.37259 11.8415 9.37259 11.5832C9.37259 11.3249 9.26765 11.0772 9.08086 10.8945C8.89407 10.7119 8.64073 10.6093 8.37657 10.6093C8.11241 10.6093 7.85907 10.7119 7.67227 10.8945C7.48548 11.0772 7.38055 11.3249 7.38055 11.5832C7.38055 11.8415 7.48548 12.0892 7.67227 12.2718C7.85907 12.4545 8.11241 12.5571 8.37657 12.5571Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ApiIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ApiIcon = ({ fill = 'currentColor', ...props }: ApiIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M10.2,2.41l-3.38,11.52c-.12.32-.37.5-.68.5-.22,0-.41-.09-.55-.24-.14-.17-.19-.39-.15-.6l3.33-11.34c.08-.37.35-.64.69-.67.26,0,.46.1.6.27.13.15.18.36.14.57Z\"\n fill={fill}\n />\n <path\n d=\"M16,7.96c-.01.27-.22.46-.44.68l-.09.09c-.98.94-1.97,1.86-2.96,2.8l-1.16,1.09c-.17.09-.28.13-.41.13-.27,0-.53-.17-.66-.42-.12-.24-.08-.54.12-.77l3.82-3.61-3.76-3.45c-.23-.26-.3-.57-.18-.84.12-.27.37-.44.66-.44.15,0,.31.05.44.15l3,2.75s.03.03.03.05c.17.14.33.28.49.44.28.24.55.49.8.73.22.22.31.4.31.6Z\"\n fill={fill}\n />\n <path\n d=\"M5.22,11.6c.18.28.18.55.05.78s-.36.37-.62.37c-.19,0-.36-.08-.51-.21L.22,8.48c-.27-.28-.3-.68-.05-.98.62-.59,1.21-1.18,1.8-1.76.6-.59,1.2-1.17,1.8-1.75l.12-.12c.22-.21.39-.37.55-.42.08-.01.14-.03.22-.03.27,0,.53.17.64.42.13.26.08.55-.1.77l-1.22,1.2-.93.89c-.45.42-.89.85-1.32,1.27l3.5,3.63Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ArrowCircleTopRightIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ArrowCircleTopRightIcon = ({ fill = 'currentColor', ...props }: ArrowCircleTopRightIconProps) => {\n return (\n <svg viewBox=\"0 0 17 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_4867_31686)\">\n <path\n d=\"M3.30042 2.23687C7.62196 -1.93984 14.8631 0.000721882 16.548 5.73245C18.3872 12.0039 12.2779 17.7357 6.13 15.4995C0.599454 13.4947 -0.943954 6.33646 3.30042 2.23687ZM8.53515 1.13165C3.14608 1.40152 0.110708 7.53165 3.24897 11.9525C6.38724 16.3734 12.9339 15.6409 15.1332 10.8345C17.3326 6.02803 13.6413 0.874617 8.53515 1.13165Z\"\n fill={fill}\n />\n <path\n d=\"M11.5576 4.71729C11.7376 4.71729 11.8791 4.8715 11.8534 5.05142L10.7602 10.706C10.7344 10.9117 10.5029 10.9888 10.3229 10.8988L8.47077 9.04821H8.43218L6.33572 11.1173C5.82125 11.5799 5.10099 10.9888 5.47398 10.3976L7.64762 8.22572L5.69263 6.27231C5.57688 6.14379 5.62832 5.91247 5.79553 5.84821L11.5704 4.71729H11.5576Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_4867_31686\">\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.869629 0.000976562)\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ArrowRightIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ArrowRightIcon = ({ fill = 'currentColor', ...props }: ArrowRightIconProps) => {\n return (\n <svg viewBox=\"0 0 16 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_4867_31659)\">\n <path\n d=\"M12.4162 5.09031L8.51793 1.18745L9.70437 0.0217918L9.78912 0.000976562L15.8696 6.00618L9.78912 12.001L9.70437 11.9802L8.50734 10.7937L12.448 6.87001H0.869629V5.09031H12.4162Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_4867_31659\">\n <rect width=\"15\" height=\"12\" fill=\"white\" transform=\"translate(0.869629 0.000976562)\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface BugReportIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const BugReportIcon = ({ fill = 'currentColor', ...props }: BugReportIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.3.98c-.06-.1-.19-.28-.32-.4-.33-.34-.76-.52-1.2-.52-.13,0-.26.02-.39.05-.58.14-1.18.73-1.31,1.33-.07.03-1.73.56-3.85,1.23,0,0-4.3,1.35-4.82,1.51-.51.17-1.13.38-1.27.44-.52.25-1.02.76-1.32,1.34-.39.75-.43,1.58-.11,2.34.23.55.76,1.18,1.23,1.47.14.08.58.24.94.36l.66.21v2.01q0,2.29.21,2.7c.21.38.69.76,1.11.86.1.02.2.03.31.03.26,0,.54-.07.78-.2.23-.12.6-.49.72-.72.2-.36.2-.44.2-2.17,0-.74.01-1.23.01-1.45.73.23,4.55,1.43,5.03,1.59.08.02.18.05.21.12.01.08.06.21.11.31.3.62.92,1.02,1.57,1.02.17,0,.34-.03.5-.09.41-.13.84-.52,1.05-.94q.15-.31.15-5.56v-1.43q0-5.08-.2-5.44ZM5.69,12.71c0,1.52,0,1.76-.05,1.84-.07.16-.13.2-.44.2s-.36-.04-.44-.2c-.04-.08-.04-.35-.04-2.02,0-1.08,0-1.62.01-1.81,0,0,.92.29.96.3v1.69ZM12.04,11.79c-1.06-.32-9.07-2.85-9.31-2.94-.47-.17-.87-.62-1.01-1.12-.06-.23-.06-.76,0-.96.11-.43.44-.85.81-1.04.13-.07,1.12-.4,2.66-.88,0,0,6.66-2.11,6.86-2.17.01.45.02,2.11.02,4.55,0,2.69-.02,4.16-.03,4.56ZM14.26,13.05c-.05.11-.14.21-.48.21s-.43-.1-.48-.21c-.05-.12-.05-.5-.05-5.82,0-4.97,0-5.7.04-5.78.03-.06.09-.11.17-.15.08-.05.12-.06.24-.06h.13c.23.01.28.03.32.06.04.03.1.1.12.15.05.08.05.88.05,5.78,0,5.32,0,5.7-.06,5.82Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface CalendarIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const CalendarIcon = ({ fill = 'currentColor', ...props }: CalendarIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M11.87,1.16v-.44c0-.4-.34-.72-.76-.72s-.76.33-.76.72v.37h-4.7v-.37c0-.4-.34-.72-.76-.72s-.76.33-.76.72v.44C1.39,1.51.26,3.04.26,6.29v4.49c0,3.13.92,5.22,5.41,5.22h4.66c4.49,0,5.41-2.08,5.41-5.22v-4.49c0-3.24-1.12-4.76-3.88-5.12ZM14.23,10.78c0,2.78-.59,3.77-3.9,3.77h-4.66c-3.31,0-3.9-.99-3.9-3.77v-4.49c0-2.65.77-3.45,2.36-3.68v.29c0,.41.35.72.76.72s.76-.31.76-.72v-.36h4.7v.36c0,.41.34.72.76.72s.76-.31.76-.72v-.28c1.6.22,2.36,1.01,2.36,3.67v4.49Z\"\n fill={fill}\n />\n <path\n d=\"M11.09,8.72c0,.41-.34.72-.76.72h-6.21c-.42,0-.76-.31-.76-.72s.34-.71.76-.71h6.21c.42,0,.76.31.76.71Z\"\n fill={fill}\n />\n <path\n d=\"M8.76,11.63c0,.41-.34.72-.76.72h-3.88c-.42,0-.76-.31-.76-.72s.34-.71.76-.71h3.88c.42,0,.76.31.76.71Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ChevronLeftIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ChevronLeftIcon = ({ fill = 'currentColor', ...props }: ChevronLeftIconProps) => {\n return (\n <svg width=\"10\" height=\"17\" viewBox=\"0 0 10 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_4867_31655)\">\n <path\n d=\"M1.3889 10.312L8.1486 16.3084C9.1046 16.9491 10.0992 15.878 9.3846 14.9886L2.7312 9.1069C2.38356 8.78174 2.38356 8.27486 2.71189 7.93057L9.46189 1.94377C10.0316 1.06391 9.037 0.07886 8.14859 0.69097C6.09169 2.65157 3.83209 4.39207 1.77519 6.34307C0.50049 7.55767 0.18189 8.86787 1.38889 10.3025V10.312Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_4867_31655\">\n <rect width=\"9\" height=\"16\" fill=\"white\" transform=\"translate(0.63623 0.5)\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ChevronRightIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ChevronRightIcon = ({ fill = 'currentColor', ...props }: ChevronRightIconProps) => {\n return (\n <svg viewBox=\"0 0 10 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_4867_31655)\">\n <path\n d=\"M9.10673 9.81323L2.34707 15.8096C1.39106 16.4504 0.396428 15.3793 1.11102 14.4899L7.76445 8.60821C8.11209 8.28304 8.11209 7.77617 7.78377 7.43188L1.03377 1.44503C0.464025 0.56517 1.45866 -0.419887 2.34707 0.192187C4.40394 2.15274 6.6636 3.89332 8.72046 5.84431C9.99514 7.05889 10.3138 8.36911 9.10673 9.80366V9.81323Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_4867_31655\">\n <rect width=\"9\" height=\"16\" fill=\"white\" transform=\"translate(0.869629 0.000976562)\" />\n </clipPath>\n </defs>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ClosedLockIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ClosedLockIcon = ({ fill = 'currentColor', ...props }: ClosedLockIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M14.31,7.47c-.09-.74-.66-1.22-1.44-1.22h-.1v-.37c.03-1.32.04-2.56-.73-3.76-.85-1.33-2.35-2.12-4-2.12s-3.18.8-4.03,2.15c-.75,1.18-.74,2.4-.72,3.71v.39s-.1,0-.1,0c-.76,0-1.32.46-1.42,1.21.06,1.07,0,2.21-.03,3.32-.05,1.3-.1,2.63,0,3.87.07.79.58,1.29,1.36,1.35h9.87c.76-.07,1.26-.55,1.34-1.32v-7.21ZM4.21,4.01c0-.41.53-1.43.84-1.8.74-.86,1.83-1.35,2.99-1.35,1.4,0,2.65.7,3.32,1.87.16.26.49,1.04.49,1.28v2.26h-.64v-2.16c0-.16-.21-.7-.23-.75-.48-1.16-1.65-1.9-2.97-1.9-1.23,0-2.28.62-2.83,1.66-.1.2-.34.79-.34,1.04v2.11h-.64v-2.26ZM10.36,4.41v1.87h-4.66v-1.87c0-1.22,1.27-2.07,2.4-2.07.27,0,.52.04.76.13.71.26,1.5,1.14,1.5,1.94ZM13.41,14.71c-.02.15-.15.33-.27.37H2.97c-.14-.04-.2-.12-.27-.2-.06-1.51-.05-3.06-.05-4.55,0-.95,0-1.9,0-2.84.02-.16.21-.34.36-.37l9.84-.02c.27,0,.55.17.55.48v7.13Z\"\n fill={fill}\n />\n <path\n d=\"M9.47,11.09c.24-.47.22-1.02-.07-1.47-.29-.48-.8-.77-1.36-.77-.06,0-.12,0-.19,0-.53.06-.99.37-1.24.83-.24.44-.25.95-.02,1.39.03.08.1.16.17.25.05.06.14.17.15.2.02.12-.07.42-.14.67-.05.21-.11.4-.12.56-.03.26-.06.55.41.61.17.02.59.03,1.01.03.3,0,.83,0,1.03-.05.33-.07.32-.32.31-.51,0-.17-.07-.4-.14-.65s-.15-.54-.13-.65c0-.04.09-.14.14-.2.08-.1.15-.18.18-.26ZM7.74,11.98c.08-.31.14-.52.13-.63-.02-.19-.16-.3-.28-.41-.11-.09-.21-.17-.23-.27-.06-.26,0-.51.13-.69.13-.16.31-.25.52-.25.1,0,.2.02.3.06.2.07.35.24.4.44.06.23,0,.46-.14.64-.02.02-.06.04-.1.07-.11.07-.27.18-.28.4,0,.17.07.42.15.69.04.16.09.3.1.4,0,.03,0,.06,0,.09h-.84c.03-.14.09-.38.14-.55Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DataSetsIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const DataSetsIcon = ({ fill = 'currentColor', ...props }: DataSetsIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M12.43,2.08c-.18-.11-.31-.18-.4-.22-1.82-.8-3.7-.97-3.7-.97-.19,0-.45-.04-.79-.04s-.88.03-1.53.11c-1.24.14-2.21.27-3.16.87-.5.32-1.35.84-1.34,1.54,0,.83.71,1.2,1.37,1.49,2.18.98,4.45,1.09,6.79.7.99-.16,1.9-.46,2.75-.97,1.17-.72,1.16-1.76.02-2.52ZM12.36,4.51c-.8.48-1.69.8-2.72.96-.83.14-1.63.21-2.38.21-1.57,0-2.99-.3-4.34-.9-.66-.3-1.31-.64-1.32-1.4,0-.63.78-1.14,1.29-1.46.91-.56,1.78-.7,3.12-.85.55-.07,1.11-.11,1.52-.11.28,0,.5.02.68.04h.1s1.89.18,3.67.97c.09.03.21.1.39.21.52.35.81.78.8,1.2,0,.42-.3.83-.82,1.15Z\"\n fill={fill}\n />\n <path\n d=\"M14.23,4.12v-.7c0-.62-.21-1.14-.64-1.56-.42-.42-.92-.76-1.56-1.05-1.22-.55-2.61-.81-4.36-.81-.74,0-1.49.05-2.13.09-1.04.08-2.05.36-3.03.83C1.08,1.61.47,2.56.52,3.98c.09,2.66.09,5.36,0,8.02-.05,1.35.51,2.28,1.79,2.92,1.42.72,3.04,1.08,4.93,1.08.61,0,1.25-.04,1.97-.11.17,0,.34-.04.49-.07.25-.04.44-.28.44-.52,0-.27-.19-.5-.47-.54l-.22.03c-.29.04-.59.09-.92.11-.38.04-.75.06-1.13.07-1.66-.08-3.41-.24-4.94-1.18-.69-.43-1.01-1.05-.98-1.9,0-.26.05-.26.07-.26.03,0,.1,0,.24.09,1.73.94,3.57,1.42,5.47,1.42.79,0,1.62-.09,2.44-.25.27-.05.45-.29.44-.53,0-.26-.19-.47-.47-.52-.33.05-.68.11-1.06.14-.46.05-.92.08-1.36.08-.32,0-3.17-.11-4.69-1.07-.53-.35-.77-.7-.84-.85-.25-.44-.34-.98-.24-1.55.03-.14.06-.16.09-.17.04,0,.11.04.16.07.12.08.25.14.37.2.14.07.27.13.4.22.22.17.54.28,1.21.49.92.3,1.72.4,2.42.48.07,0,.81.09,1.65.09.47,0,.9-.03,1.26-.08.3-.04.58-.1.65-.13.03,0,.49-.11,1.06-.34.26-.11.45-.19.54-.4.03-.06.1-.25,0-.43-.12-.2-.37-.23-.42-.23h-.02c-1.13.32-2.27.49-3.42.5-.02,0-2.43-.05-4.6-.99-.96-.37-1.41-1.04-1.35-1.99v-.4c0-.19.03-.24.06-.25.03,0,.1.02.24.1,1.46.94,3.09,1.35,5.3,1.35.77,0,1.55-.06,2.15-.1,1.42-.11,2.71-.53,3.8-1.27.12-.08.18-.09.2-.09.03,0,.06.09.07.24.09,1.03-.13,1.64-.75,2.1-.04.04-.05.1-.02.14,0,0,.3.42.83.42.32,0,.61-.14.87-.47,0-1.5,0-2.73,0-3.55ZM12.41,4.6c-.85.5-1.76.81-2.75.97-2.33.39-4.6.28-6.79-.7-.66-.3-1.36-.66-1.37-1.49,0-.7.84-1.22,1.34-1.54.95-.6,1.92-.73,3.16-.87.65-.08,1.19-.11,1.53-.11s.6.03.79.04c0,0,1.89.17,3.7.97.09.04.22.11.4.22,1.14.76,1.15,1.8-.02,2.52Z\"\n fill={fill}\n />\n <path\n d=\"M15.48,13.04c0,.15-.06.31-.18.42l-.58.59c-.3.3-.59.6-.88.9l-.16.16c-.15.16-.31.32-.43.5-.11.17-.31.28-.53.28-.25,0-.47-.13-.59-.34-.04-.07-.09-.13-.15-.19l-1.86-1.91c-.19-.19-.23-.44-.11-.67.1-.17.28-.27.47-.27.25.02.35.13.42.22.35.36.7.71,1.06,1.07l.1.1v-4.92c0-.32.12-.51.37-.6.1-.04.2-.06.29-.06.18,0,.34.06.47.19.15.13.16.3.16.44v4.99l.04-.04c.08-.1.17-.19.25-.28l.89-.92c.13-.13.29-.19.43-.19.13,0,.25.04.35.14.11.1.17.24.18.38Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DeepSearchIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const DeepSearchIcon = ({ fill = 'currentColor', ...props }: DeepSearchIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.57,10.77c-.27-.27-.63-.43-1.01-.43h-.2v-1.06c0-.4-.16-.77-.43-1.05-.26-.28-.63-.44-1.01-.44h-4.3v-1.27h.61c.38-.01.75-.16,1.01-.44.27-.28.43-.65.43-1.05v-2.54c0-.4-.16-.77-.43-1.05-.26-.28-.63-.44-1.01-.44h-2.46c-.38,0-.74.16-1.01.44-.27.28-.42.65-.43,1.05v2.54c.01.4.16.77.43,1.05.27.28.63.43,1.01.44h.62v1.27H3.07c-.38,0-.74.16-1.01.44-.27.28-.42.65-.42,1.05v1.06h-.21c-.38,0-.74.16-1.01.43-.27.28-.42.66-.42,1.05v1.7c0,.39.15.77.42,1.05.27.27.63.43,1.01.43h1.64c.38,0,.75-.16,1.02-.43.27-.28.42-.66.42-1.05v-1.7c0-.39-.15-.77-.42-1.05-.27-.27-.64-.43-1.02-.43h-.2v-1.06c0-.06.02-.11.06-.15s.09-.07.14-.07h4.32v1.28h-.21c-.38,0-.75.16-1.02.43-.27.28-.42.66-.42,1.05v1.7c0,.39.15.77.42,1.05.27.27.64.43,1.02.43h1.64c.38,0,.74-.16,1.01-.43.27-.28.42-.66.42-1.05v-1.7c0-.39-.15-.77-.42-1.05-.27-.27-.63-.43-1.01-.43h-.2v-1.28h4.3c.06,0,.11.03.15.07s.06.09.06.15v1.06h-.21c-.38,0-.75.16-1.01.43-.27.28-.42.66-.43,1.05v1.7c.01.39.16.77.43,1.05.26.27.63.43,1.01.43h1.64c.38,0,.74-.16,1.01-.43.27-.28.42-.66.43-1.05v-1.7c-.01-.39-.16-.77-.43-1.05ZM3.07,11.61c.06,0,.11.02.15.06.04.04.06.1.06.15v1.7s-.02.11-.06.15c-.04.04-.09.06-.15.06h-1.64c-.05,0-.1-.02-.14-.06-.04-.04-.06-.1-.06-.15v-1.7s.02-.11.06-.15c.04-.04.09-.06.14-.06h1.64ZM8.82,11.61c.05,0,.1.02.14.06.04.04.06.1.06.15v1.7s-.02.11-.06.15-.09.06-.14.06h-1.64c-.06,0-.11-.02-.15-.06-.04-.04-.06-.1-.06-.15v-1.7s.02-.11.06-.15c.04-.04.09-.06.15-.06h1.64ZM6.77,5.24c-.06,0-.11-.02-.15-.06-.03-.04-.06-.09-.06-.15v-2.54c0-.06.03-.11.06-.15.04-.04.09-.06.15-.06h2.46c.06,0,.11.02.15.06.04.04.06.09.06.15v2.54c0,.06-.02.11-.06.15s-.09.06-.15.06h-2.46ZM14.77,13.52s-.03.11-.06.15c-.04.04-.09.06-.15.06h-1.64c-.06,0-.11-.02-.15-.06-.03-.04-.06-.1-.06-.15v-1.7s.03-.11.06-.15c.04-.04.09-.06.15-.06h1.64c.06,0,.11.02.15.06.03.04.06.1.06.15v1.7Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DisabledVisibleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const DisabledVisibleIcon = ({ fill = 'currentColor', ...props }: DisabledVisibleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.79.65c-.13-.12-.31-.2-.49-.2s-.36.07-.48.2l-2.46,2.32c-1.33-.87-2.84-1.32-4.35-1.32C5.22,1.65,2.58,3.18.76,5.86-.05,7.04-.05,8.97.76,10.14c.52.78,1.11,1.46,1.78,2.04L.21,14.39c-.13.13-.21.3-.21.48,0,.18.07.35.21.47s.31.2.49.2.36-.07.48-.2l5.46-5.13,3.69-3.47L15.79,1.61c.13-.13.21-.3.21-.48,0-.18-.07-.35-.21-.47ZM6.25,8.71c-.1-.23-.16-.46-.16-.71,0-.99.87-1.79,1.92-1.79.26,0,.52.05.75.14l-2.51,2.36ZM9.79,5.37c-.53-.33-1.14-.51-1.79-.51-1.82,0-3.32,1.4-3.32,3.13,0,.61.19,1.19.53,1.68l-1.66,1.57c-.6-.51-1.13-1.12-1.61-1.82-.52-.76-.52-2.08,0-2.85,1.55-2.28,3.75-3.59,6.06-3.59,1.15,0,2.29.32,3.33.94l-1.54,1.44Z\"\n fill={fill}\n />\n <path\n d=\"M15.24,10.14c-1.81,2.67-4.45,4.21-7.24,4.21-.99,0-1.96-.19-2.89-.56-.18-.07-.32-.21-.39-.38-.06-.16-.06-.34.01-.51.11-.25.36-.4.65-.4.09,0,.18.02.27.05.75.3,1.55.45,2.34.45,2.31,0,4.53-1.31,6.07-3.59.51-.76.51-2.08,0-2.85-.23-.33-.47-.65-.73-.95-.11-.13-.18-.31-.15-.48.02-.18.1-.34.26-.46.12-.09.29-.14.44-.14.21,0,.4.08.55.24.31.36.58.72.81,1.08.8,1.18.8,3.1,0,4.29Z\"\n fill={fill}\n />\n <path\n d=\"M11.26,8.62c-.25,1.24-1.3,2.24-2.63,2.46,0,0-.01.01-.02.01s-.02-.01-.03-.01l.03-.14-.04.14c-.4,0-.69-.23-.75-.54-.04-.18,0-.35.1-.49.1-.15.27-.26.45-.29.75-.12,1.36-.7,1.49-1.4.07-.32.36-.55.7-.55.01,0,.11.01.12.01.2.04.36.14.46.3.1.14.13.32.1.49Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DocsIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const DocsIcon = ({ fill = 'currentColor', ...props }: DocsIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.94,6.29c-.04-.08-.08-.16-.14-.22l-.09-.08L10.02.29l-.08-.09c-.13-.13-.29-.2-.47-.2h-3.67C1.74,0,0,1.74,0,5.79v4.41c0,4.06,1.74,5.79,5.79,5.79h4.41c4.06,0,5.79-1.74,5.79-5.79v-3.67c0-.08-.02-.18-.06-.25ZM10.13,2.28l3.59,3.59h-1.33c-1.82,0-2.26-.45-2.26-2.26v-1.33ZM14.66,10.21c0,3.3-1.16,4.46-4.46,4.46h-4.41c-3.3,0-4.46-1.16-4.46-4.46v-4.41C1.34,2.5,2.5,1.34,5.79,1.34h3v2.26c0,2.56,1.04,3.6,3.6,3.6h2.26v3Z\"\n fill={fill}\n />\n <path\n d=\"M9.4,8.73c0,.38-.29.67-.67.67h-4.39c-.38,0-.67-.29-.67-.67s.29-.66.67-.66h4.39c.38,0,.67.29.67.66Z\"\n fill={fill}\n />\n <path\n d=\"M7.93,11.66c0,.38-.29.67-.66.67h-2.93c-.38,0-.67-.29-.67-.67s.29-.66.67-.66h2.93c.36,0,.66.29.66.66Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DownloadIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const DownloadIcon = ({ fill = 'currentColor', ...props }: DownloadIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.96,7.28c-.01-1.06-.03-2.11-.02-3.15C15.72,1.7,14.09.18,11.58.04c-.6-.03-1.18-.04-1.78-.04-.71,0-1.41.02-2.12.03-.71.01-1.41.03-2.11.03-.42,0-.83-.01-1.25-.02C1.77.18.15,1.79,0,4.33v7.39c.12,2.48,1.73,4.12,4.21,4.28h7.52c2.5-.17,4.11-1.86,4.22-4.45.06-1.4.03-2.87,0-4.27ZM14.75,11.66c-.1,1.95-1.24,3.03-3.25,3.13-.56.02-1.11.03-1.68.03-.67,0-1.36-.01-2.03-.02-.68-.01-1.37-.03-2.04-.03-.42,0-.84.01-1.25.02-2.17-.1-3.22-1.2-3.3-3.47.02-.98.01-1.97,0-2.97-.02-1.25-.04-2.54.02-3.79.1-2.07,1.07-3.12,3.04-3.29.01,0,.02,0,.03-.01h7.32c1.87.1,3.01,1.22,3.12,3.08v7.32Z\"\n fill={fill}\n />\n <path\n d=\"M10.88,8.09l-2.44,2.44c-.13.12-.3.18-.47.18-.15,0-.31-.04-.43-.14l-2.48-2.48c-.18-.24-.2-.52-.08-.76.12-.23.37-.39.63-.39.15,0,.32.06.45.17l1.2,1.2V3.57l.11-.26c.14-.2.35-.31.58-.31.26,0,.51.15.63.4.07.14.08.18.08.21v4.74l1.24-1.26c.14-.11.29-.15.44-.15.26,0,.51.15.63.41.12.24.09.53-.09.75Z\"\n fill={fill}\n />\n <path\n d=\"M13.38,11.37c.08.28-.01.57-.23.76-.17.13-.67.31-1.57.52-1.17.28-2.39.42-3.61.42-1.31,0-2.62-.17-3.88-.49-.52-.12-1.17-.31-1.35-.49-.19-.18-.25-.46-.18-.73.08-.25.28-.43.52-.47.06,0,.1-.01.14-.01.2,0,.39.07.57.13.07.03.13.06.2.07,1.38.37,2.69.56,4.02.56,1.21,0,2.45-.17,3.66-.49.09-.02.2-.06.31-.09.24-.09.53-.18.74-.18.34.03.55.21.64.47Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface EditUserIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const EditUserIcon = ({ fill = 'currentColor', ...props }: EditUserIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M7.49,0C5.08,0,3.14,1.96,3.14,4.36s1.95,4.35,4.35,4.35,4.35-1.96,4.35-4.35S9.89,0,7.49,0ZM7.49,7.29c-1.62,0-2.93-1.31-2.93-2.93s1.31-2.94,2.93-2.94,2.93,1.32,2.93,2.94-1.31,2.93-2.93,2.93Z\"\n fill={fill}\n />\n <path\n d=\"M14.86,10.23c-.28-.28-.75-.62-1.32-.62-.45,0-.89.21-1.3.62l-.27.28c-.07.04-.12.1-.16.16l-2.14,2.13c-.22.21-.38.55-.43.83l-.13.98c-.07.39.05.78.32,1.04.22.22.52.34.85.34.07,0,.13-.01.19-.02l.98-.14c.3-.04.62-.21.84-.42l2.58-2.58c.42-.43.62-.85.62-1.3s-.22-.91-.62-1.31ZM13.25,11.22c.14-.14.23-.2.3-.2.08,0,.17.07.32.21.16.15.21.26.21.31,0,.02-.04.13-.21.3l-.04.04c-.25-.14-.47-.35-.61-.61l.04-.04ZM11.25,14.44l-.7.1.12-.73,1.52-1.52c.16.23.37.44.6.61l-1.54,1.54Z\"\n fill={fill}\n />\n <path\n d=\"M10.33,10.7c-.1.31-.37.5-.68.5-.08,0-.14-.01-.21-.03-.64-.19-1.3-.28-1.96-.28-3.06,0-5.55,1.98-5.55,4.39,0,.39-.32.72-.71.72s-.71-.32-.71-.71c0-3.2,3.13-5.81,6.97-5.81.8,0,1.6.12,2.36.34.19.05.34.19.43.35.09.16.11.36.05.54Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface EnableVisibleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const EnableVisibleIcon = ({ fill = 'currentColor', ...props }: EnableVisibleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M8,4.81c-1.86,0-3.38,1.43-3.38,3.19s1.52,3.18,3.38,3.18,3.38-1.43,3.38-3.18-1.51-3.19-3.38-3.19ZM8,9.82c-1.07,0-1.94-.82-1.94-1.82s.87-1.83,1.94-1.83,1.95.82,1.95,1.83-.88,1.82-1.95,1.82Z\"\n fill={fill}\n />\n <path\n d=\"M15.38,5.81c-1.84-2.72-4.53-4.29-7.38-4.29S2.47,3.09.61,5.81c-.82,1.21-.82,3.17,0,4.38,1.85,2.72,4.54,4.29,7.39,4.29s5.54-1.57,7.38-4.29c.83-1.21.83-3.17,0-4.38ZM14.18,9.44c-1.58,2.33-3.82,3.67-6.18,3.67s-4.6-1.33-6.18-3.67c-.53-.77-.53-2.12,0-2.89,1.58-2.33,3.82-3.67,6.18-3.67s4.6,1.33,6.18,3.67c.53.77.53,2.12,0,2.89Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface EnterArrowLeftIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const EnterArrowLeftIcon = ({ fill = 'currentColor', ...props }: EnterArrowLeftIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M16,3.09v6.63c0,.11-.1.21-.21.21H2.53l2.08,2.05c.18.25.2.54.08.78-.13.25-.4.41-.67.41-.16,0-.31-.06-.45-.16L.2,9.69c-.27-.3-.25-.72,0-.99l3.34-3.3c.17-.13.33-.18.5-.18.25,0,.5.14.64.37.13.23.13.5-.01.74l-2.14,2.12h11.98V3.09c0-.06.03-.11.07-.16s.13-.1.18-.1h.99c.06,0,.11.01.16.06.03.04.1.14.1.2Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface FiltersIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const FiltersIcon = ({ fill = 'currentColor', ...props }: FiltersIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M5.07,2.9c0,.39-.32.71-.71.71H.71c-.39,0-.71-.32-.71-.71s.32-.71.71-.71h3.65c.39,0,.71.32.71.71Z\"\n fill={fill}\n />\n <path\n d=\"M16,8c0,.39-.32.71-.71.71h-3.65c-.39,0-.71-.32-.71-.71s.32-.71.71-.71h3.65c.39,0,.71.32.71.71Z\"\n fill={fill}\n />\n <path\n d=\"M5.07,13.1c0,.39-.32.71-.71.71H.71c-.39,0-.71-.32-.71-.71s.32-.71.71-.71h3.65c.39,0,.71.32.71.71Z\"\n fill={fill}\n />\n <path\n d=\"M16,13.1c0,.39-.32.71-.71.71h-7.31v.74c0,.39-.32.71-.71.71s-.71-.32-.71-.71v-2.92c0-.39.32-.71.71-.71s.71.32.71.71v.75h7.31c.39,0,.71.32.71.71Z\"\n fill={fill}\n />\n <path\n d=\"M16,2.9c0,.39-.32.71-.71.71h-7.31v.75c0,.39-.32.71-.71.71s-.71-.32-.71-.71V1.44c0-.39.32-.71.71-.71s.71.32.71.71v.74h7.31c.39,0,.71.32.71.71Z\"\n fill={fill}\n />\n <path\n d=\"M9.44,6.55v2.91c0,.39-.32.71-.71.71s-.71-.32-.71-.71v-.74H.71c-.39,0-.71-.32-.71-.71s.32-.71.71-.71h7.31v-.74c0-.39.32-.71.71-.71s.71.32.71.71Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface HomepageIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const HomepageIcon = ({ fill = 'currentColor', ...props }: HomepageIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.75,14.8s-.17-.1-.28-.13h-.19V6.16c-.03-.52-.25-1.02-.61-1.43l-.7-.56c-1.59-1.28-3.24-2.62-4.91-3.89-.32-.18-.68-.28-1.05-.28-.42,0-.84.13-1.2.38L1.51,4.6c-.7.62-.75,1.21-.78,2.13-.02,1.32-.02,2.65,0,3.97,0,1.28,0,2.58-.02,3.96h-.17s-.09.03-.11.03l-.09.05c-.26.15-.39.42-.33.72.07.3.3.5.6.53h14.75c.29,0,.52-.19.61-.46.09-.28,0-.57-.22-.74ZM9.55,13.89h-3.1v-4.25c.06-.43.21-.99.61-1.17.1,0,.21,0,.32,0,.19,0,.38,0,.55,0,.19,0,.37-.02.54-.02.15,0,.29,0,.42.02.4.03.64.79.65,1.17v4.25ZM13.96,14.65h-3.11l.02-.11c-.03-.77,0-1.55,0-2.33,0-.83.03-1.68,0-2.5-.05-1.17-.63-2.41-1.83-2.58-.12,0-.25,0-.38,0-.2,0-.4,0-.6,0-.2,0-.4-.02-.6-.02-.17,0-.34,0-.49.02-1.25.09-1.78,1.63-1.83,2.65-.03.82,0,1.66,0,2.47,0,.76.02,1.53,0,2.3l.02.12h-3.13l.04-8.45c.02-.22.11-.4.27-.55L7.51,1.52c.14-.12.32-.18.49-.18.17,0,.34.06.47.15l5.22,4.17c.1.09.26.34.26.44v8.54Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface InfoCircleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const InfoCircleIcon = ({ fill = 'currentColor', ...props }: InfoCircleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.09,4.36C13.71,1.68,11.01.02,8.03.02h-.26C4.77.12,2.19,1.78.85,4.46-.48,7.13-.24,10.19,1.49,12.62c1.52,2.14,3.89,3.36,6.5,3.36s4.98-1.22,6.51-3.35c1.77-2.46,1.98-5.55.59-8.27ZM13.76,11.33c-1.21,2.09-3.36,3.33-5.76,3.33h-.01c-2.17,0-4.14-1.02-5.41-2.79-1.44-2.01-1.64-4.54-.56-6.76,1.08-2.24,3.19-3.63,5.65-3.74.11,0,.23-.01.33-.01,2.41,0,4.56,1.25,5.77,3.36,1.2,2.08,1.19,4.55-.01,6.62Z\"\n fill={fill}\n />\n <path\n d=\"M8.73,7.13c-.01.55-.01,1.08,0,1.63-.05.49-.41.71-.73.71s-.66-.21-.72-.65v-3.8c.03-.32.3-.6.58-.65,0,0,.13-.01.14-.01.35,0,.62.22.71.57.02.75.02,1.48.02,2.2Z\"\n fill={fill}\n />\n <path d=\"M7.84,10.14c1.43-.19,1.44,1.97.1,1.86-1.12-.07-1.15-1.72-.1-1.86Z\" fill={fill} />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface MapRadarIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const MapRadarIcon = ({ fill = 'currentColor', ...props }: MapRadarIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M14.73,6.37h-5.17l-.03-.83h4.09s.05,0,.07-.02l2.3-2.24s-.03-.14-.05-.16l-2.36-2.22h-4.02V.1c0-.06-.04-.1-.1-.1h-2.91s-.1.04-.1.1v.79H1.35c-.06,0-.1.05-.1.1l-.05,4.45s0,.05.02.07c.02.02.05.03.08.03h5.17v.82l-4.11.02L.03,8.6s-.03.05-.03.08c0,.02,0,.05.03.07l2.41,2.27h12.24s.1-.05.1-.1l.05-4.45s0-.05-.03-.07c-.02-.02-.05-.03-.07-.03ZM13.6,9.88l-10.67.02-1.26-1.2,1.21-1.17h4.68c.06,0,.1-.04.1-.1v-.86c.06,0,.12,0,.18,0,.08,0,.5,0,.52,0v.87c0,.06.04.1.1.1h5.16l-.02,2.34ZM2.42,4.4v-2.33h5.14s.1-.05.1-.1v-.79h.71v.78s.04.1.1.1l4.63-.03,1.26,1.21-1.18,1.16H2.42Z\"\n fill={fill}\n />\n <path\n d=\"M9.47,11.26h-2.9s-.1.05-.1.1v4.54c0,.06.05.1.1.1h2.86s.05,0,.07-.03c.02-.02.07-.08.07-.11v-4.46s0-.02,0-.04c0-.05-.05-.1-.11-.1ZM7.66,14.84v-2.42h.69l-.03,2.42h-.66Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface MoonIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const MoonIcon = ({ fill = 'currentColor', ...props }: MoonIconProps) => {\n return (\n <svg width=\"22\" height=\"21\" viewBox=\"0 0 22 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M14.8826 13.8402C15.6927 13.8382 16.4913 13.7578 17.2638 13.4936C17.3246 13.4729 17.4082 13.4088 17.4524 13.4715C17.4917 13.527 17.4134 13.5945 17.3783 13.6514C16.8666 14.4752 16.223 15.1769 15.4244 15.7309C14.5042 16.3696 13.4897 16.7794 12.38 16.9328C11.1049 17.1091 9.8683 16.9377 8.68782 16.4287C7.92166 16.0982 7.23295 15.6444 6.62473 15.0635C5.91638 14.387 5.38367 13.5961 5.0017 12.7016C4.58184 11.7192 4.41395 10.6867 4.47507 9.62472C4.53399 8.60057 4.8186 7.63418 5.31038 6.72886C5.92358 5.59997 6.7893 4.71759 7.88322 4.05214C7.92 4.02976 7.96011 3.97642 8.00353 4.01179C8.04585 4.04634 8.00575 4.09884 7.99136 4.13947C7.67439 5.04921 7.58256 5.9899 7.63705 6.94358C7.68684 7.81436 7.89954 8.65004 8.25993 9.44869C8.66126 10.3377 9.20781 11.1223 9.91394 11.793C10.9808 12.8058 12.2403 13.4497 13.6869 13.7222C14.0816 13.7965 14.4804 13.8379 14.8826 13.8402Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface OpenLockIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const OpenLockIcon = ({ fill = 'currentColor', ...props }: OpenLockIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M6.91,11.52s.02.05.02.08v-.03s0-.03-.02-.05ZM7.46,10.06s0,.02,0,.03c.02-.04.05-.08.08-.11-.03.03-.05.06-.07.08Z\"\n fill={fill}\n />\n <path\n d=\"M14.31,11.69c0-1.42,0-2.89-.04-4.32,0-.02,0-.05,0-.08-.1-.51-.53-.91-1.12-1.02h-7.45c-.05-.23-.1-.57-.1-.99,0-.32.04-.65.13-1.02.02-.12.24-1.17,1.32-1.66.35-.16.73-.25,1.09-.25.4,0,.79.11,1.1.3.41.26,1.08,1.04,1.11,1.49.02.11.04.22.05.32,0,.07.07.13.15.13h2.02c.08,0,.15-.06.15-.14,0-.11,0-.22,0-.32v-.1c-.12-.81-.37-1.5-.8-2.09-.86-1.22-2.33-1.95-3.9-1.95-1.45,0-2.79.62-3.68,1.7-.66.8-1,1.81-1.05,3.09-.02.47,0,.94,0,1.41v.04h-.28c-.3,0-.59.13-.81.36-.27.28-.43.7-.42,1.09.02.94-.02,1.9-.05,2.84-.04,1.08-.08,2.19-.04,3.29.04.88.09,2.09,1.43,2.18h9.93c.7-.1,1.19-.62,1.26-1.34-.02-.98,0-1.97,0-2.96ZM4.25,3.88c0-.13.27-.76.43-1.04.67-1.21,1.97-1.95,3.41-1.95s2.6.69,3.27,1.84c.11.19.44.93.48,1.2h-.62c-.11-.44-.54-1.17-.76-1.41-.62-.67-1.46-1.04-2.38-1.04-1.38,0-2.93.89-3.22,2.59-.06.33-.09.66-.09.97-.02.41,0,.82.06,1.25h-.61c-.07-.34-.11-.67-.11-.99,0-.49.03-.95.13-1.4ZM13.4,14.64c0,.12-.07.27-.2.39,0,0-.02,0-.03.02-1.52,0-3.05.02-4.58.02-1.37,0-2.75,0-4.12,0h-1.5c-.25-.1-.25-.29-.24-.63,0-.08,0-.16,0-.25-.06-1.65-.04-3.34-.03-4.97,0-.62.02-1.23,0-1.79.06-.13.17-.23.27-.27,1.64-.02,3.28-.02,4.93-.02,1.38,0,2.77,0,4.14-.02h.44c.65,0,.89.13.9.5v7.02Z\"\n fill={fill}\n />\n <path\n d=\"M6.62,9.7s-.05.1-.07.15c.04-.1.09-.19.15-.27-.03.04-.06.08-.08.12ZM7.89,11.32c0,.14-.02.26-.04.37.04-.14.06-.27.04-.37ZM9.44,11.18c.11-.17.18-.35.21-.55-.03.2-.11.38-.21.55Z\"\n fill={fill}\n />\n <path\n d=\"M9.64,10.18s-.02-.07-.02-.1c-.02-.07-.05-.15-.08-.22,0-.04-.03-.08-.05-.12-.03-.07-.07-.13-.12-.19-.06-.09-.12-.17-.2-.24s-.16-.14-.25-.2-.19-.11-.28-.15c-.1-.04-.2-.07-.3-.09,0,0-.02,0-.03,0-.1-.02-.22-.03-.32-.03h0c-.1,0-.19.02-.27.04-.02,0-.04,0-.06,0-.09.03-.18.06-.27.1-.1.04-.19.1-.27.17-.08.05-.15.11-.21.17-.08.08-.14.16-.2.25-.06.08-.11.17-.15.27-.04.09-.07.18-.09.26,0,.02,0,.04,0,.05-.02.09-.03.18-.03.26,0,.24.06.47.18.69.04.07.09.13.15.2.06.07.13.16.16.22,0,.02.02.04.02.05v.03c0,.16-.07.37-.14.59-.06.19-.12.38-.14.54,0,.14-.02.26.02.36.02.06.05.11.1.15.04.04.09.07.16.1.06.02.14.04.23.05.28.02.64.03.95.03h.4c.27-.02.53-.03.66-.07.05,0,.09-.03.13-.06.03-.02.05-.04.07-.07.02-.03.04-.07.05-.11.02-.05.03-.1.03-.17s0-.14,0-.19c-.02-.19-.08-.38-.14-.59-.07-.22-.14-.44-.13-.61,0-.05.1-.16.15-.23.05-.06.1-.11.13-.16.1-.17.18-.35.21-.55,0-.07,0-.13,0-.2,0-.09,0-.18-.02-.26ZM8.7,10.69c-.05.14-.1.17-.18.22-.06.04-.13.09-.2.16-.09.11-.13.22-.13.33,0,.06,0,.11.02.17,0,.05.03.12.04.18.03.1.06.2.09.29.05.17.1.31.11.47h-.82c.02-.14.08-.3.13-.47.03-.11.07-.22.1-.33h0c.02-.13.04-.25.04-.38-.03-.18-.17-.29-.29-.39-.08-.07-.16-.13-.19-.19-.04-.09-.06-.19-.06-.28,0-.07,0-.14.03-.2,0-.05.03-.1.06-.15,0,0,0-.02,0-.02,0,0,0-.02,0-.03.02-.02.04-.05.07-.08.02-.03.05-.07.09-.09.03-.03.07-.06.12-.08.04-.02.08-.04.13-.05,0,0,.03,0,.04,0,.04,0,.08-.02.13-.02.07,0,.13,0,.19.02s.11.03.16.06c.03,0,.06.03.08.05.04.02.08.04.1.08.03.02.06.05.08.08,0,0,0,0,0,.02.03.05.06.1.08.16v.02c.02.06.03.12.03.18,0,.1-.02.2-.05.28Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface OrganizationIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const OrganizationIcon = ({ fill = 'currentColor', ...props }: OrganizationIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.13,14.08c-.23-.18-.48-.2-.74-.21v-7.7c-.04-.39-.34-.8-.72-.93l-3.84-1.02V.87c-.16-.54-.56-.87-1.05-.87-.09,0-.18,0-.27.04-.86.27-1.74.53-2.61.79-1.24.37-2.48.75-3.72,1.16-.33.2-.55.54-.57.93v10.96h-.19c-.16,0-.43.13-.54.21-.34.27-.49.73-.36,1.15.11.42.45.72.88.77h13.2c.42-.04.77-.31.89-.74.13-.44,0-.9-.36-1.18ZM2.65,14.92s.03-.06.03-.09l.04-11.9,5.93-1.81s.09-.07.11-.08v12.93s0,.04,0,.06c0,.08.06.15.15.15h1.58c.08,0,.15-.07.15-.15V5.55l2.64.7s.02.03.03.03c0,0,0,0,0,0v8.56s0,.07.03.09H2.65Z\"\n fill={fill}\n />\n <path\n d=\"M6.65,4.12h-3.06c-.09,0-.15.06-.15.15v3.04c0,.08.06.15.15.15h3.06c.08,0,.15-.07.15-.15v-3.04c0-.09-.07-.15-.15-.15ZM4.51,6.35v-1.17h1.22v1.17h-1.22Z\"\n fill={fill}\n />\n <path\n d=\"M6.65,9.73h-3.06c-.09,0-.15.07-.15.15v3.04c0,.09.06.15.15.15h3.06c.08,0,.15-.06.15-.15v-3.04c0-.08-.07-.15-.15-.15ZM4.51,11.98v-1.18h1.22v1.18h-1.22Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface PasswordFinderIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const PasswordFinderIcon = ({ fill = 'currentColor', ...props }: PasswordFinderIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M7.89,12.32h-1.06v1.84h-1.84v1.84H1.24c-.5,0-1.09-.7-1.17-1.17-.09-.51-.08-2.07-.03-2.6.03-.3.18-.62.39-.84l4.61-4.62-.14-1.2c.08-3.89,3.79-6.55,7.51-5.22,5.78,2.07,4.32,11.06-2.45,10.73-.18,0-.58-.14-.71-.11-.08.03-1.06,1.03-1.26,1.2-.04.04-.05.08-.05.13h-.04ZM1.37,14.66h2.34v-1.79h1.79v-1.84h1.76l1.58-1.5c.93.26,1.73.38,2.69.13,2.97-.75,4.17-4.46,2.18-6.83-2.88-3.41-8.3-.76-7.35,3.79.04.18.2.43.12.6L1.33,12.37c-.04.29-.08,2.22.03,2.29h.01Z\"\n fill={fill}\n />\n <path\n d=\"M10.73,3.67c.14,0,.32.07.43.14.11.08,1.06,1.05,1.1,1.13.25.6-.34,1.17-.93.87-.09-.05-1.13-1.11-1.17-1.18-.18-.45.05-.96.55-.97h.01Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface PhonebookIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const PhonebookIcon = ({ fill = 'currentColor', ...props }: PhonebookIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M15.01,8.44V3.26c0-.31,0-.94-.7-.94,0,0-.11,0-.15,0-.19,0-.32-.04-.4-.12-.12-.14-.12-.4-.1-.65,0-.12,0-.24,0-.35v-.17c0-.94-.11-1.05-1.03-1.05H2.99C1.67,0,.98.69.98,2v11.88c0,1.35.79,2.12,2.14,2.12h10.85c.9,0,1.05-.16,1.05-1.05v-5.75c0-.26,0-.51,0-.76ZM2.71,1.2c.08,0,.16,0,.24,0h9.01c.42,0,.55.08.56.58,0,.23-.03.37-.11.45-.08.07-.21.11-.43.11h-.11c-.7-.02-1.4-.02-2.11-.02h-2.18c-1.45,0-2.89,0-4.35,0h0c-.19,0-.37,0-.54-.03-.31-.04-.48-.24-.47-.54.02-.39.29-.5.51-.53ZM13.83,13.81v.47c0,.22-.02.36-.1.42-.07.08-.21.11-.45.11-3.37,0-6.74,0-10.1,0-.78,0-1-.23-1-1,0-1.67,0-3.33,0-4.99s0-3.33,0-4.99c0-.35.04-.39.36-.39v-.1l.08.1c.89.03,1.79.04,2.68.04h5.27c.91,0,1.82,0,2.73-.02.43,0,.56.07.56.52-.02,3.27,0,6.55,0,9.82Z\"\n fill={fill}\n />\n <path\n d=\"M11.48,10.12c-.23-.02-.44-.08-.67-.13-.34-.08-.67-.16-1.02-.16-.42,0-.79.13-1.19.4-.46-.21-.79-.6-1.12-1.02-.13-.17-.08-.25.05-.4.05-.06.1-.13.14-.2.1-.2.15-.4.12-.6-.06-.59-.13-1.18-.23-1.76-.1-.59-.5-.92-1.17-.97h-.12c-1.14,0-1.99.9-2.01,2.13-.03,1.4.59,2.87,1.7,4.03,1.15,1.18,2.64,1.88,4.11,1.9h.06c1.29,0,2.21-.8,2.23-1.95.02-.73-.31-1.2-.89-1.27ZM5.68,6.79c.15-.2.32-.3.5-.3.04,0,.08,0,.12,0,.15.04.17.13.18.34,0,.06,0,.11.02.16.02.14.03.28.04.41.02.14.03.28.05.42,0,.16,0,.22-.08.26-.25.1-.4.24-.47.41-.1.26.03.55.18.86.49.96,1.23,1.69,2.22,2.15.21.09.37.14.51.14.26,0,.45-.15.57-.44.04-.1.1-.14.28-.14h.04c.07,0,.14,0,.22,0,.14,0,.27,0,.38.06.1.04.23.04.35.05.14,0,.27,0,.33.06.03.04.05.11.05.2,0,.41-.31.68-.89.72h-.22c-2.29-.06-4.56-2.34-4.59-4.61,0-.34.07-.58.23-.77Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface PrintIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const PrintIcon = ({ fill = 'currentColor', ...props }: PrintIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.24,3.65c-.48-.49-1.15-.77-1.83-.77h-.36v-.37c0-.44-.17-.85-.47-1.15-.3-.31-.72-.48-1.14-.48h-6.89c-.42,0-.84.17-1.14.48-.3.31-.46.72-.46,1.15v.37h-.37c-.69,0-1.34.27-1.83.77-.48.49-.76,1.16-.76,1.86v4.99c0,.44.17.85.47,1.15.3.31.71.47,1.14.47h1.35v1.37c0,.44.17.84.46,1.15.3.3.72.47,1.14.47h6.89c.42,0,.84-.17,1.14-.47.3-.31.47-.72.47-1.15v-1.37h1.34c.43,0,.84-.17,1.14-.47.31-.31.47-.72.47-1.15v-4.99c0-.7-.28-1.37-.76-1.86ZM4.2,2.51c0-.1.03-.19.1-.26.07-.07.16-.1.25-.1h6.89c.1,0,.18.03.25.1.07.07.1.17.1.26v.37h-7.61v-.37ZM11.8,13.5c0,.1-.03.19-.1.26s-.16.1-.25.1h-6.89c-.1,0-.18-.04-.25-.1s-.1-.17-.1-.26v-4c0-.1.03-.19.1-.26.07-.07.16-.1.25-.1h6.89c.1,0,.18.03.25.1.07.07.1.17.1.26v4ZM14.75,10.5c0,.1-.03.19-.1.26-.06.07-.16.1-.25.1h-1.34v-1.36c0-.44-.17-.85-.47-1.15-.3-.31-.72-.48-1.14-.48h-6.89c-.42,0-.84.17-1.14.48-.3.31-.46.72-.46,1.15v1.36h-1.35c-.1,0-.19-.03-.25-.1-.07-.07-.11-.17-.11-.26v-4.99c0-.37.15-.72.4-.97.25-.26.59-.4.94-.4h10.82c.35,0,.7.15.94.4.25.25.39.6.39.97v4.99Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface Profiler20IconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const Profiler2Icon = ({ fill = 'currentColor', ...props }: Profiler20IconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M10.26,7.61c-.67,0-1.32-.2-1.87-.57-.55-.37-.99-.89-1.24-1.51-.26-.61-.32-1.29-.19-1.94.13-.65.45-1.25.92-1.72.47-.47,1.07-.79,1.73-.92.65-.13,1.33-.06,1.95.19.62.25,1.14.68,1.51,1.24s.57,1.2.57,1.87c0,.89-.36,1.75-.99,2.38-.63.63-1.49.98-2.38.98ZM10.26,2.23c-.4,0-.79.12-1.12.34-.33.22-.59.54-.74.91-.15.37-.19.77-.12,1.17.08.39.27.75.55,1.03.28.28.64.47,1.04.55.39.08.8.04,1.17-.11.37-.15.69-.41.91-.74.22-.33.34-.72.34-1.12,0-.53-.21-1.05-.59-1.43s-.89-.59-1.43-.59Z\"\n fill={fill}\n />\n <path\n d=\"M4.83,7.7h-.29c-.72-.07-1.38-.42-1.83-.97s-.67-1.26-.61-1.98c.07-.71.42-1.37.98-1.83.56-.46,1.27-.67,1.99-.6.09,0,.18.03.26.07.08.04.16.1.22.17.06.07.11.15.13.24s.04.18.03.27c0,.09-.04.18-.08.26-.04.08-.11.15-.18.21s-.16.1-.25.12c-.09.02-.18.03-.27.01-.18-.02-.35,0-.52.05-.17.05-.32.14-.46.25-.14.11-.25.25-.33.4-.08.15-.14.32-.15.5-.02.18,0,.35.05.52.05.17.13.33.25.46.11.14.25.25.41.33.16.08.33.13.51.15.29.03.59-.04.84-.2.15-.09.34-.12.51-.08.18.04.33.15.42.3.09.15.12.34.08.51-.04.17-.15.32-.3.42-.42.27-.9.41-1.39.42Z\"\n fill={fill}\n />\n <path\n d=\"M.76,14.18c-.2,0-.39-.08-.53-.22-.14-.14-.22-.32-.23-.52,0-2.64.73-4.4,4.31-4.4.2,0,.39.08.54.22.14.14.22.32.22.52s-.08.38-.22.52c-.14.14-.34.22-.54.22-2.38,0-2.79.73-2.79,2.93,0,.19-.08.38-.23.52-.14.14-.33.22-.53.22Z\"\n fill={fill}\n />\n <path\n d=\"M15.42,15.11c-.15,0-.3-.09-.41-.25-.11-.15-.17-.36-.17-.58,0-2.15-.83-3.58-4.87-3.58s-4.87,1.43-4.87,3.58c0,.22-.06.43-.17.59-.11.15-.26.24-.41.24s-.3-.09-.41-.24c-.11-.16-.17-.37-.17-.59,0-5.24,4.23-5.24,6.03-5.24s6.03,0,6.03,5.24c0,.22-.06.43-.17.58-.11.15-.26.24-.41.25Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ProfilerIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ProfilerIcon = ({ fill = 'currentColor', ...props }: ProfilerIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M8,8.27c-.77,0-1.51-.24-2.15-.7-.64-.45-1.13-1.1-1.43-1.86-.29-.76-.37-1.59-.22-2.39.15-.8.52-1.54,1.06-2.12.54-.58,1.23-.97,1.98-1.13.75-.16,1.53-.08,2.24.23.71.31,1.31.84,1.74,1.52.43.68.65,1.48.65,2.3,0,1.1-.41,2.15-1.13,2.93s-1.71,1.21-2.74,1.21ZM8,1.65c-.46,0-.91.15-1.29.42-.38.27-.68.66-.86,1.11-.18.45-.22.95-.13,1.43.09.48.31.92.64,1.27.32.35.74.58,1.19.68.45.1.92.05,1.34-.14.42-.19.79-.51,1.04-.91.26-.41.39-.89.39-1.38,0-.66-.24-1.29-.68-1.75-.44-.46-1.03-.73-1.64-.73Z\"\n fill={fill}\n />\n <path\n d=\"M15.23,16c-.2,0-.4-.09-.54-.25-.14-.15-.23-.36-.23-.58,0-2.15-1.09-3.58-6.45-3.58s-6.45,1.43-6.45,3.58c0,.22-.08.43-.23.59-.15.15-.34.24-.55.24s-.4-.09-.55-.24c-.15-.16-.23-.37-.23-.59,0-5.24,5.61-5.24,8-5.24s8,0,8,5.24c0,.22-.09.43-.23.58-.14.15-.34.24-.54.25Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface SandBoxIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const SandBoxIcon = ({ fill = 'currentColor', ...props }: SandBoxIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.8,6.86s-.02-.02-.04-.04l-3.24-5.21c-.13-.28-.33-.51-.58-.67-.26-.16-.55-.25-.85-.25h-6.18c-.28-.01-.56.06-.81.2-.25.13-.45.34-.59.58L.11,6.94h0s-.04.08-.05.12c0,.03-.03.07-.04.12-.01.04-.01.08-.01.12v5.5c0,.33.07.66.19.96.13.31.32.59.55.82.23.23.51.42.81.54.31.13.64.2.97.2h10.96c.66,0,1.3-.27,1.77-.73.47-.47.74-1.1.75-1.76v-5.48c0-.19-.08-.36-.2-.49ZM4.7,2.16s.05-.06.09-.09c.03-.02.07-.03.12-.03h6.19c.09,0,.16.05.23.18l2.74,4.44h-3.33c-.18,0-.36.07-.49.2-.12.13-.2.3-.2.49v.2c0,.54-.21,1.07-.6,1.45-.38.39-.91.6-1.45.6s-1.07-.21-1.46-.6c-.38-.38-.6-.91-.6-1.45v-.2c0-.19-.07-.36-.2-.49-.13-.13-.3-.2-.48-.2H1.92l2.78-4.5ZM14.63,12.83c0,.3-.12.59-.34.81s-.5.33-.81.33H2.52c-.16,0-.31-.03-.45-.09s-.27-.14-.37-.25c-.11-.11-.19-.24-.25-.38-.05-.14-.08-.3-.08-.45v-4.8h3.24c.1.83.51,1.58,1.13,2.13.63.54,1.43.84,2.26.84s1.63-.3,2.25-.84c.62-.55,1.03-1.3,1.14-2.13h3.24v4.83Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface StatisticIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const StatisticIcon = ({ fill = 'currentColor', ...props }: StatisticIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M9.1.02c-.11,0-.22,0-.34,0-.2,0-.4,0-.61,0-.22,0-.42-.02-.63-.02-.19,0-.37,0-.53.02-.38.03-.81.38-.81.77v15.1c0,.06.04.1.1.1h3.46c.06,0,.1-.04.1-.1V.69c0-.29-.45-.67-.73-.67ZM7.57,14.6V1.41h.88v13.19h-.88Z\"\n fill={fill}\n />\n <path\n d=\"M2.9,4.97c-.19-.02-.4-.02-.6-.02s-.43,0-.66,0c-.22,0-.44,0-.66,0h-.3c-.32.04-.67.43-.67.75v10.17c0,.06.04.1.1.1h3.44s.03,0,.05,0c.05,0,.1-.04.1-.1V5.76c0-.4-.37-.76-.79-.79ZM1.41,14.59V6.35h.89v8.24h-.89Z\"\n fill={fill}\n />\n <path\n d=\"M15.89,8.33c-.14-.25-.4-.4-.73-.42-.26-.02-.62-.03-.98-.03s-.72,0-.99.03c-.32.02-.57.16-.72.4-.03.05-.13.31-.14.35v7.25c0,.06.05.1.1.1h3.47c.06,0,.1-.04.1-.1v-7.3c0-.08-.1-.25-.11-.27ZM13.74,14.6v-5.3h.86v5.3h-.86Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface SunIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n stroke?: string;\n}\n\nexport const SunIcon = ({ fill = 'currentColor', stroke = 'currentColor', ...props }: SunIconProps) => {\n return (\n <svg width=\"22\" height=\"21\" viewBox=\"0 0 22 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M10.7336 7.81445C12.3434 7.84801 13.4641 9.04097 13.5774 10.4131L13.5862 10.6904C13.557 12.3941 12.2055 13.533 10.7249 13.5186L10.5657 13.5127C9.039 13.4219 7.98725 12.2485 7.87915 10.9131L7.87036 10.6348C7.90006 8.96394 9.25521 7.81499 10.7336 7.81445Z\"\n stroke={stroke}\n />\n <path\n d=\"M7.26234 7.82055C7.02212 7.81698 6.86386 7.75484 6.73481 7.62848C6.48774 7.38645 6.24007 7.14473 5.99896 6.89706C5.72893 6.61966 5.73251 6.20073 5.99955 5.94206C6.2651 5.68487 6.67431 5.68546 6.94761 5.95098C7.19885 6.19508 7.44921 6.44037 7.68853 6.69577C7.88047 6.90063 7.93411 7.15157 7.81937 7.40994C7.70492 7.66802 7.49779 7.81609 7.26234 7.82055Z\"\n fill={fill}\n />\n <path\n d=\"M15.6541 14.872C15.6541 15.1839 15.5304 15.3915 15.2881 15.511C15.0539 15.6266 14.8151 15.6183 14.597 15.4557C14.5475 15.4188 14.4998 15.3781 14.456 15.3347C14.2235 15.1031 13.9881 14.8741 13.7622 14.6363C13.5127 14.3734 13.5255 13.9691 13.7809 13.714C14.0364 13.4591 14.4444 13.4458 14.7054 13.694C14.9594 13.9355 15.2067 14.1837 15.4514 14.4344C15.5784 14.5643 15.6681 14.7162 15.6541 14.872Z\"\n fill={fill}\n />\n <path\n d=\"M14.2545 7.81899C13.983 7.81155 13.7735 7.69173 13.6543 7.44882C13.533 7.20204 13.5488 6.95288 13.7342 6.74059C13.9964 6.44 14.2805 6.15843 14.5773 5.89203C14.814 5.67945 15.2199 5.71066 15.4559 5.93544C15.6875 6.15606 15.7379 6.54614 15.5304 6.79679C15.2565 7.12771 14.9445 7.42563 14.6167 7.70422C14.5165 7.78955 14.3893 7.82285 14.2545 7.81899Z\"\n fill={fill}\n />\n <path\n d=\"M5.80404 14.908C5.79748 14.7438 5.84725 14.5984 5.9614 14.4828C6.22278 14.2176 6.47879 13.9458 6.75656 13.6984C7.15594 13.3425 7.74992 13.5373 7.859 14.049C7.90103 14.2458 7.86616 14.4328 7.73115 14.5851C7.46649 14.8836 7.18723 15.1699 6.88681 15.4321C6.67967 15.6132 6.42872 15.6385 6.17629 15.5175C5.92266 15.3956 5.80761 15.1839 5.80404 14.908Z\"\n fill={fill}\n />\n <path\n d=\"M4.44378 10.18C4.55525 10.059 4.69354 9.99125 4.85627 9.98976C5.22911 9.98619 5.60285 9.974 5.9745 9.99452C6.50918 10.024 6.79202 10.5802 6.5071 11.0194C6.39742 11.1883 6.24035 11.2962 6.03709 11.309C5.63832 11.334 5.23805 11.3399 4.83958 11.314C4.56479 11.2962 4.36927 11.1371 4.27629 10.8737C4.1824 10.6088 4.25095 10.3778 4.44378 10.18Z\"\n fill={fill}\n />\n <path\n d=\"M15.0586 10.18C15.1701 10.059 15.3084 9.99125 15.4711 9.98976C15.844 9.98619 16.2177 9.974 16.5894 9.99452C17.124 10.024 17.4069 10.5802 17.122 11.0194C17.0123 11.1883 16.8552 11.2962 16.6519 11.309C16.2532 11.334 15.8529 11.3399 15.4544 11.314C15.1796 11.2962 14.9841 11.1371 14.8911 10.8737C14.7976 10.6088 14.8658 10.3778 15.0586 10.18Z\"\n fill={fill}\n />\n <path\n d=\"M11.3908 5.18099C11.3908 5.36235 11.3947 5.54402 11.3899 5.72539C11.3804 6.08693 11.0987 6.35839 10.739 6.35839C10.3617 6.35839 10.0762 6.09704 10.0687 5.72985C10.0613 5.36265 10.0621 4.99516 10.069 4.62796C10.0759 4.26226 10.3644 3.99764 10.7393 4.00002C11.0972 4.00239 11.3816 4.27861 11.3896 4.63688C11.3938 4.81825 11.3902 4.99962 11.3902 5.18128C11.3905 5.18099 11.3905 5.18099 11.3908 5.18099Z\"\n fill={fill}\n />\n <path\n d=\"M11.3908 15.8224C11.3908 16.0038 11.3947 16.1854 11.3899 16.3668C11.3804 16.7283 11.0987 16.9998 10.739 16.9998C10.3617 16.9998 10.0762 16.7385 10.0687 16.3713C10.0613 16.0041 10.0621 15.6366 10.069 15.2694C10.0759 14.9034 10.3644 14.6388 10.7393 14.6411C11.0972 14.6435 11.3816 14.9197 11.3896 15.278C11.3938 15.4594 11.3902 15.6407 11.3902 15.8224C11.3905 15.8224 11.3905 15.8224 11.3908 15.8224Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface UpRightArrowCircleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const UpRightArrowCircleIcon = ({ fill = 'currentColor', ...props }: UpRightArrowCircleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g>\n <path\n d=\"M10.68,4.72c.18,0,.32.15.3.33l-1.09,5.65c-.03.21-.26.28-.44.19l-1.85-1.85h-.04l-2.1,2.07c-.52.46-1.24-.13-.86-.72l2.17-2.17-1.96-1.95c-.12-.13-.06-.36.1-.42l5.78-1.13h-.01Z\"\n fill={fill}\n />\n <path\n d=\"M15.09,4.36C13.71,1.68,11.01.02,8.03.02h-.26C4.77.12,2.19,1.78.85,4.46-.48,7.13-.24,10.19,1.49,12.62c1.52,2.14,3.89,3.36,6.5,3.36s4.98-1.22,6.51-3.35c1.77-2.46,1.98-5.55.59-8.27ZM13.76,11.33c-1.21,2.09-3.36,3.33-5.76,3.33h-.01c-2.17,0-4.14-1.02-5.41-2.79-1.44-2.01-1.64-4.54-.56-6.76,1.08-2.24,3.19-3.63,5.65-3.74.11,0,.23-.01.33-.01,2.41,0,4.56,1.25,5.77,3.36,1.2,2.08,1.19,4.55-.01,6.62Z\"\n fill={fill}\n />\n </g>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface VectorIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const VectorIcon = ({ fill = 'currentColor', ...props }: VectorIconProps) => {\n return (\n <svg viewBox=\"0 0 12 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M0.869629 5.00098H10.8696M10.8696 5.00098L6.86963 1.00098M10.8696 5.00098L7.11151 8.7591L6.86963 9.00098\"\n stroke={fill}\n strokeWidth=\"1.3\"\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface InfoCircleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const BallsMenu = ({ fill = 'currentColor', ...props }: InfoCircleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 3\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <ellipse cx=\"1.56746\" cy=\"1.5\" rx=\"1.53633\" ry=\"1.5\" fill={fill} />\n <ellipse cx=\"7.71278\" cy=\"1.5\" rx=\"1.53633\" ry=\"1.5\" fill={fill} />\n <ellipse cx=\"13.8581\" cy=\"1.5\" rx=\"1.53633\" ry=\"1.5\" fill={fill} />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface InfoCircleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const CheckIcon = ({ fill = 'currentColor', ...props }: InfoCircleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M9.796 6.706c-3.438 3.638-4.457 4.698-4.481 4.671l-3.552-3.768c-0.026-0.028-0.193 0.115-0.792 0.678-0.418 0.394-0.759 0.727-0.759 0.739 0 0.011 1.010 1.091 2.245 2.396 2.080 2.2 2.258 2.381 2.425 2.462 0.32 0.158 0.729 0.142 1.015-0.038 0.149-0.094-0.051 0.115 5.257-5.502l4.634-4.902-0.752-0.715c-0.233-0.223-0.484-0.458-0.738-0.691l-0.034-0.030c-1.295 1.344-2.752 2.874-4.201 4.413l-0.268 0.287z\"\n fill={fill}\n ></path>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ChevronRightIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ChevronDownIcon = ({ fill = 'currentColor', ...props }: ChevronRightIconProps) => {\n return (\n <svg viewBox=\"0 0 18 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M17.4517 5.77798L16.4067 6.79197L10.8447 12.1899C10.0753 12.9367 8.82791 12.9367 8.05853 12.1899L2.49647 6.79197L1.45166 5.77798L3.54128 3.75L4.58609 4.76399L9.45161 9.48599L14.3172 4.76399L15.362 3.75L17.4517 5.77798Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface ChevronRightIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const ChevronUpIcon = ({ fill = 'currentColor', ...props }: ChevronRightIconProps) => {\n return (\n <svg viewBox=\"0 0 17 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M0.20166 10.722L1.24661 9.70803L6.80863 4.31012C7.57801 3.56329 8.82541 3.56329 9.59479 4.31012L15.1569 9.70803L16.2017 10.722L14.112 12.75L13.0672 11.736L8.20171 7.01401L3.33611 11.736L2.29136 12.75L0.20166 10.722Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface PrintIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const PlusIcon = ({ fill = 'currentColor', ...props }: PrintIconProps) => {\n return (\n <svg viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M9.21053 5.78952H0.789474C0.357895 5.78952 0 5.43162 0 5.00005C0 4.56847 0.357895 4.21057 0.789474 4.21057H9.21053C9.64211 4.21057 10 4.56847 10 5.00005C10 5.43162 9.64211 5.78952 9.21053 5.78952Z\"\n fill={fill}\n />\n <path\n d=\"M5.00041 10C4.56883 10 4.21094 9.64211 4.21094 9.21053V0.789474C4.21094 0.357895 4.56883 0 5.00041 0C5.43199 0 5.78988 0.357895 5.78988 0.789474V9.21053C5.78988 9.64211 5.43199 10 5.00041 10Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface PrintIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const UsersIcon = ({ fill = 'currentColor', ...props }: PrintIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M12.0003 5.27318C11.9803 5.27318 11.967 5.27318 11.947 5.27318H11.9136C10.6536 5.23318 9.71362 4.25985 9.71362 3.05984C9.71362 1.83318 10.7136 0.839844 11.9336 0.839844C13.1536 0.839844 14.1536 1.83984 14.1536 3.05984C14.147 4.26651 13.207 5.23985 12.007 5.27985C12.007 5.27318 12.007 5.27318 12.0003 5.27318ZM11.9336 1.83318C11.2603 1.83318 10.7136 2.37985 10.7136 3.05318C10.7136 3.71318 11.227 4.24652 11.887 4.27318C11.8936 4.26652 11.947 4.26652 12.007 4.27318C12.6536 4.23985 13.1536 3.70652 13.1603 3.05318C13.1603 2.37985 12.6136 1.83318 11.9336 1.83318Z\"\n fill={fill}\n />\n <path\n d=\"M12.0075 10.1871C11.7475 10.1871 11.4875 10.1671 11.2275 10.1204C10.9541 10.0738 10.7741 9.81376 10.8208 9.54042C10.8675 9.26709 11.1275 9.08709 11.4008 9.13376C12.2208 9.27376 13.0875 9.12043 13.6675 8.73376C13.9808 8.5271 14.1475 8.26709 14.1475 8.00709C14.1475 7.74709 13.9741 7.49375 13.6675 7.28709C13.0875 6.90042 12.2075 6.74709 11.3808 6.89376C11.1075 6.94709 10.8475 6.76042 10.8008 6.48709C10.7541 6.21376 10.9341 5.95376 11.2075 5.90709C12.2941 5.71376 13.4208 5.92042 14.2208 6.45375C14.8075 6.84709 15.1475 7.40709 15.1475 8.00709C15.1475 8.60042 14.8141 9.1671 14.2208 9.5671C13.6141 9.9671 12.8275 10.1871 12.0075 10.1871Z\"\n fill={fill}\n />\n <path\n d=\"M3.98031 5.27399C3.97365 5.27399 3.96698 5.27399 3.96698 5.27399C2.76698 5.23399 1.82698 4.26065 1.82031 3.06065C1.82031 1.83398 2.82031 0.833984 4.04031 0.833984C5.26031 0.833984 6.26031 1.83399 6.26031 3.05399C6.26031 4.26065 5.32031 5.23399 4.12031 5.27399L3.98031 4.77399L4.02698 5.27399C4.01365 5.27399 3.99365 5.27399 3.98031 5.27399ZM4.04698 4.27399C4.08698 4.27399 4.12031 4.27398 4.16031 4.28065C4.75365 4.25398 5.27365 3.72065 5.27365 3.06065C5.27365 2.38732 4.72698 1.84065 4.05365 1.84065C3.38031 1.84065 2.83365 2.38732 2.83365 3.06065C2.83365 3.71398 3.34031 4.24065 3.98698 4.28065C3.99365 4.27398 4.02031 4.27399 4.04698 4.27399Z\"\n fill={fill}\n />\n <path\n d=\"M3.97325 10.1871C3.15325 10.1871 2.36658 9.9671 1.75992 9.5671C1.17325 9.17376 0.833252 8.60709 0.833252 8.00709C0.833252 7.41376 1.17325 6.84709 1.75992 6.45375C2.55992 5.92042 3.68658 5.71376 4.77325 5.90709C5.04659 5.95376 5.22659 6.21376 5.17992 6.48709C5.13325 6.76042 4.87325 6.94709 4.59992 6.89376C3.77325 6.74709 2.89992 6.90042 2.31325 7.28709C1.99992 7.49375 1.83325 7.74709 1.83325 8.00709C1.83325 8.26709 2.00659 8.5271 2.31325 8.73376C2.89325 9.12043 3.75992 9.27376 4.57992 9.13376C4.85325 9.08709 5.11325 9.27376 5.15992 9.54042C5.20659 9.81376 5.02659 10.0738 4.75325 10.1204C4.49325 10.1671 4.23325 10.1871 3.97325 10.1871Z\"\n fill={fill}\n />\n <path\n d=\"M8.00023 10.2537C7.98023 10.2537 7.96689 10.2537 7.94689 10.2537H7.91356C6.65356 10.2137 5.71356 9.24031 5.71356 8.04031C5.71356 6.81365 6.71356 5.82031 7.93356 5.82031C9.15356 5.82031 10.1536 6.82031 10.1536 8.04031C10.1469 9.24698 9.20689 10.2203 8.00689 10.2603C8.00689 10.2536 8.0069 10.2537 8.00023 10.2537ZM7.93356 6.81365C7.26023 6.81365 6.71356 7.36032 6.71356 8.03365C6.71356 8.69365 7.2269 9.22699 7.8869 9.25365C7.89356 9.24699 7.94689 9.24699 8.00689 9.25365C8.65356 9.22032 9.15356 8.68698 9.16023 8.03365C9.16023 7.36698 8.61356 6.81365 7.93356 6.81365Z\"\n fill={fill}\n />\n <path\n d=\"M7.99921 15.1725C7.19921 15.1725 6.39921 14.9658 5.77921 14.5458C5.19254 14.1525 4.85254 13.5925 4.85254 12.9925C4.85254 12.3992 5.18587 11.8258 5.77921 11.4325C7.02587 10.6058 8.97921 10.6058 10.2192 11.4325C10.8059 11.8258 11.1459 12.3858 11.1459 12.9858C11.1459 13.5792 10.8125 14.1525 10.2192 14.5458C9.59921 14.9592 8.79921 15.1725 7.99921 15.1725ZM6.33254 12.2725C6.01921 12.4792 5.85254 12.7392 5.85254 12.9992C5.85254 13.2592 6.02587 13.5125 6.33254 13.7192C7.23254 14.3258 8.75921 14.3258 9.65921 13.7192C9.97254 13.5125 10.1392 13.2525 10.1392 12.9925C10.1392 12.7325 9.96587 12.4792 9.65921 12.2725C8.76587 11.6658 7.23921 11.6725 6.33254 12.2725Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface InfoCircleIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const InfoCircleFilledIcon = ({ fill = 'currentColor', ...props }: InfoCircleIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8 15C9.85652 15 11.637 14.2625 12.9497 12.9497C14.2625 11.637 15 9.85652 15 8C15 6.14348 14.2625 4.36301 12.9497 3.05025C11.637 1.7375 9.85652 1 8 1C6.14348 1 4.36301 1.7375 3.05025 3.05025C1.7375 4.36301 1 6.14348 1 8C1 9.85652 1.7375 11.637 3.05025 12.9497C4.36301 14.2625 6.14348 15 8 15ZM8 4C8.19891 4 8.38968 4.07902 8.53033 4.21967C8.67098 4.36032 8.75 4.55109 8.75 4.75V7.75C8.75 7.94891 8.67098 8.13968 8.53033 8.28033C8.38968 8.42098 8.19891 8.5 8 8.5C7.80109 8.5 7.61032 8.42098 7.46967 8.28033C7.32902 8.13968 7.25 7.94891 7.25 7.75V4.75C7.25 4.55109 7.32902 4.36032 7.46967 4.21967C7.61032 4.07902 7.80109 4 8 4ZM8 12C8.26522 12 8.51957 11.8946 8.70711 11.7071C8.89464 11.5196 9 11.2652 9 11C9 10.7348 8.89464 10.4804 8.70711 10.2929C8.51957 10.1054 8.26522 10 8 10C7.73478 10 7.48043 10.1054 7.29289 10.2929C7.10536 10.4804 7 10.7348 7 11C7 11.2652 7.10536 11.5196 7.29289 11.7071C7.48043 11.8946 7.73478 12 8 12Z\"\n fill={fill}\n />\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DataSetsIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const UnfoldIcon = ({ fill = 'currentColor', ...props }: DataSetsIconProps) => {\n return (\n <svg viewBox=\"0 0 15 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M3.765 3.97l3.109-3.219c0.362-0.375 0.949-0.375 1.311 0l3.109 3.219-0.983 1.018-2.781-2.879-2.781 2.879-0.983-1.018z\"\n fill={fill}\n ></path>\n <path\n d=\"M11.294 12.029l-3.109 3.219c-0.362 0.375-0.949 0.375-1.311 0l-3.109-3.219 0.983-1.018 2.781 2.879 2.781-2.879 0.983 1.018z\"\n fill={fill}\n ></path>\n </svg>\n );\n};\n","import { SVGProps } from 'react';\n\ninterface DataSetsIconProps extends SVGProps<SVGSVGElement> {\n fill?: string;\n}\n\nexport const CrossIcon = ({ fill = 'currentColor', ...props }: DataSetsIconProps) => {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M15.595 13.176c0.282 0.282 0.376 0.565 0.376 0.941s-0.188 0.753-0.376 0.941c-0.471 0.565-1.412 0.565-1.882 0l-5.176-5.176-5.176 5.176c-0.471 0.471-1.412 0.471-1.882 0s-0.376-0.565-0.376-0.941c0-0.376 0.188-0.659 0.376-0.941l5.176-5.176-0.376-0.376-4.988-4.8c-0.282-0.282-0.376-0.565-0.376-0.941s0.188-0.753 0.376-1.035c0.282-0.282 0.659-0.376 0.941-0.376s0.659 0.094 0.941 0.376l5.176 5.176 0.376-0.376 4.894-4.8c0.282-0.282 0.659-0.376 0.941-0.376s0.659 0.094 0.941 0.376c0.282 0.282 0.376 0.565 0.376 0.941s-0.188 0.753-0.376 0.941l-5.176 5.176 5.271 5.271z\"\n fill={fill}\n ></path>\n </svg>\n );\n};\n","import { styled } from 'styled-components';\nimport React from 'react';\nimport { SidebarContext } from './SidebarContext';\n\nexport interface SidebarProps {\n defaultCollapsed?: boolean;\n children: any;\n}\n\ninterface StyledProps {\n $collapsed: boolean;\n}\n\nexport const Sidebar = ({ defaultCollapsed, children }: SidebarProps) => {\n const [collapsed, setCollapsed] = React.useState(!!defaultCollapsed);\n\n return (\n <StyledContainer $collapsed={collapsed}>\n <SidebarContext.Provider\n value={{\n collapsed,\n setCollapsed,\n }}\n >\n {children}\n </SidebarContext.Provider>\n </StyledContainer>\n );\n};\n\nconst StyledContainer = styled.aside<StyledProps>(\n ({ theme, $collapsed }) => `\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n gap: 20px;\n position: sticky;\n z-index: 1000;\n top: 0;\n width: ${theme.sidebar.width};\n padding: 12px;\n height: 100%;\n border-right: 1px solid ${theme.colors.stroke.light};\n background: ${theme.colors.background};\n ${\n $collapsed\n ? `\n width: 65px;\n `\n : ''\n }\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 25dvh;\n transform: translateY(-100%);\n background: ${theme.colors.background};\n border-right: 1px solid ${theme.colors.stroke.light};\n\n width: ${theme.sidebar.width};\n ${\n $collapsed\n ? `\n width: 65px;\n `\n : ''\n }\n }\n`\n);\n","import { createContext } from 'react';\n\ninterface SidebarContext {\n collapsed: boolean;\n setCollapsed: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const SidebarContext = createContext<SidebarContext>({\n collapsed: false,\n setCollapsed: () => {},\n});\n","import { SVGProps, useContext } from 'react';\nimport styled from 'styled-components';\nimport { SidebarContext } from './SidebarContext';\n\ninterface SidebarItemBase {\n active?: boolean;\n icon?: React.ComponentType<SVGProps<SVGSVGElement>>;\n label?: string;\n}\n\ninterface SidebarItemAnchor {\n href: string;\n onClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;\n target?: '_blank' | '_self' | '_parent' | '_top';\n}\n\ntype StyledProps = {\n $active: SidebarItemBase['active'];\n $collapsed: boolean;\n};\n\ninterface SidebarItemButton {\n type?: 'button' | 'reset' | 'submit';\n onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n}\n\nexport type SidebarItemProps = SidebarItemBase & (SidebarItemAnchor | SidebarItemButton);\n\nexport const SidebarItem = ({ active, icon: Icon, label, ...props }: SidebarItemProps) => {\n const { collapsed } = useContext(SidebarContext);\n\n const isAnchor = 'href' in props;\n\n return (\n <StyledItem\n title={collapsed ? label : ''}\n as={isAnchor ? 'a' : 'button'}\n $collapsed={collapsed}\n $active={active}\n {...props}\n >\n {Icon && <Icon aria-label={label} width={16} height={16} />}\n <StyledText $collapsed={collapsed} $active={active}>\n {label}\n </StyledText>\n </StyledItem>\n );\n};\n\nconst StyledText = styled.span<StyledProps>(\n ({ $collapsed }) => `\n margin-top: 2px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n width: 100%;\n text-align: left;\n display: inline-block;\n font-weight: 500;\n font-size: 14px;\n line-height: 1.49;\n font-family: Inter;\n\n ${\n $collapsed &&\n `\n & {\n width: 0;\n }\n `\n }\n`\n);\n\nconst StyledItem = styled.a<StyledProps>(\n ({ $active, $collapsed, theme }) => `\n display: flex;\n align-items: center;\n gap: 12px;\n padding-inline: 12px;\n height: 40px;\n min-width: 40px;\n border: none;\n cursor: pointer;\n text-decoration: none;\n border-radius: 8px;\n color: ${theme.colors.text.light};\n background: ${theme.colors.background};\n transition: background 0.3s ease-in-out, color 0.3s ease-in-out;\n position: relative;\n ${\n $active\n ? `\n background: ${theme.colors.primary.lighter};\n color: ${theme.colors.primary.main};\n `\n : ''\n }\n ${$collapsed ? `gap: 0;` : ''}\n\n\n\n &:hover {\n background: ${theme.colors.primary.lightest};\n color: ${theme.colors.primary.main};\n }\n\n &:before {\n content: '';\n position: absolute;\n left: -12px;\n top: 0;\n height: 100%;\n width: 0px;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n background: rgaba(0, 0, 0, 0);\n transition: background 0.4s ease-in-out, width 0.3s ease-in-out;\n ${\n $active\n ? `\n background: ${theme.colors.primary.main};\n width: 5px;\n `\n : ''\n }\n }\n\n svg {\n flex-shrink: 0;\n fill: currentColor;\n }\n`\n);\n","import { useContext } from 'react';\nimport { SidebarContext } from './SidebarContext';\nimport { styled } from 'styled-components';\n\ntype StyledProps = {\n $collapsed: boolean;\n};\n\nexport const SidebarDelimeter = () => {\n const { collapsed } = useContext(SidebarContext);\n return <StyledDelimeter $collapsed={collapsed} />;\n};\n\nconst StyledDelimeter = styled.div<StyledProps>(\n ({ $collapsed, theme }) => `\n min-width: 32px;\n width: 0;\n\n border-bottom: 1px dashed ${theme.colors.stroke.main};\n margin-block: 8px;\n margin-left: 4px;\n\n ${\n !$collapsed &&\n `\n & {\n width: 100%;\n margin-left: 0;\n }\n `\n }\n`\n);\n","import { CSSProperties, styled } from 'styled-components';\n\nexport interface SidebarSectionProps {\n grow?: number;\n shrink?: number;\n basis?: CSSProperties['flexBasis'];\n items: React.ReactElement[];\n}\n\nexport const SidebarSection = ({ grow, shrink, basis, items }: SidebarSectionProps) => {\n return (\n <StyledSection $grow={grow} $shrink={shrink} $basis={basis}>\n {items}\n </StyledSection>\n );\n};\n\ninterface StyledProps {\n $grow?: number;\n $shrink?: number;\n $basis?: CSSProperties['flexBasis'];\n}\n\nconst StyledSection = styled.div<StyledProps>(\n ({ $grow = 0, $shrink = 1, $basis = '100%' }) => `\n flex: ${$grow} ${$shrink} ${$basis};\n display: flex;\n flex-direction: column;\n gap: 1px;\n `\n);\n","import styled from 'styled-components';\nimport { CSSProperties, ElementType, ReactNode } from 'react';\nimport { ColorVariant, TypographyVariant } from '../../Theme';\nimport { resolveThemeColor } from '../../Theme/utils';\n\nexport interface TypographyProps {\n variant?: TypographyVariant;\n element?: ElementType;\n children: any;\n weight?: CSSProperties['fontWeight'];\n style?: CSSProperties['fontStyle'];\n color?: ColorVariant | string;\n className?: string;\n}\n\n// Create a styled component that can be dynamically rendered as different HTML elements\nconst StyledTypography = styled.div<{\n $variant: TypographyVariant;\n $weight?: CSSProperties['fontWeight'];\n $style?: CSSProperties['fontStyle'];\n $color?: ColorVariant | string;\n}>(({ theme, $variant, $color, $weight = '400', $style = 'initial' }) => {\n // Resolve color from theme if it's a theme color path, or use the direct color value\n\n return `\n font-size: ${theme.typography.variants[$variant].fontSize};\n font-weight: ${$weight};\n font-style: ${$style};\n color: ${resolveThemeColor(theme, $color) || theme.colors.text.main};\n `;\n});\n\nexport const Typography = ({\n variant = 'body',\n element,\n children,\n weight,\n style,\n color,\n className,\n}: TypographyProps) => {\n // Determine which HTML element to render based on the variant if not explicitly specified\n const Element = element || (variant.startsWith('h') ? variant : 'p');\n\n return (\n <StyledTypography\n as={Element}\n $variant={variant}\n $weight={weight}\n $style={style}\n $color={color}\n className={className}\n >\n {children}\n </StyledTypography>\n );\n};\n","import { ReactNode } from 'react';\nimport { styled } from 'styled-components';\n\nexport interface ListMenuProps {\n children: any;\n width?: number;\n}\n\ntype StyledListProps = {\n $width: number;\n};\nexport const ListMenu = ({ children, width = 220 }: ListMenuProps) => {\n return <StyledList $width={width}>{children}</StyledList>;\n};\n\nconst StyledList = styled.ul<StyledListProps>(\n ({ theme, $width }) => `\n margin: 0;\n padding: 20px;\n width: ${$width}px;\n list-style: none;\n height: 100%;\n overflow-y: auto;\n background-color: ${theme.colors.background};\n border-right: 1px solid ${theme.colors.stroke.light};\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: 40px;\n `\n);\n","import { FC } from 'react';\nimport { styled } from 'styled-components';\n\nexport type ListMenuItemBase = {\n active?: boolean;\n label?: string;\n count?: number;\n};\n\nexport type ListMenuItemAnchorProps = {\n href: string;\n onClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;\n target?: '_blank' | '_self' | '_parent' | '_top';\n};\n\nexport type ListMenuItemButtonProps = {\n type?: 'button' | 'reset' | 'submit';\n onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n};\n\nexport type ListMenuItemProps = ListMenuItemBase & (ListMenuItemAnchorProps | ListMenuItemButtonProps);\n\ntype StyledProps = {\n $active: ListMenuItemProps['active'];\n};\n\nexport const ListMenuItem = ({ active, label, count, ...props }: ListMenuItemProps) => {\n const Element = 'href' in props ? 'a' : 'button';\n return (\n <StyledItem $active={active}>\n <StyledLink as={'href' in props ? 'a' : 'button'} $active={active} {...props}>\n {label}\n {typeof count === 'number' && <StyledCount $active={active}>{count}</StyledCount>}\n </StyledLink>\n </StyledItem>\n );\n};\nconst StyledItem = styled.li<StyledProps>(\n ({ theme, $active }) => `\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n width: 100%;\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n ::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 2px;\n height: ${$active ? '100%' : 0};\n border-radius: 2px;\n transform: translateX(-25%);\n background-color: ${$active ? theme.colors.primary.main : 'transparent'};\n transition: background-color 0.3s ease-in-out, height 0.3s ease-in-out;\n }\n `\n);\n\nconst StyledLink = styled.a<StyledProps>(\n ({ theme, $active }) => `\n display: inline-block;\n \n padding: 8px 10px;\n border: none;\n outline: none;\n cursor: pointer;\n text-decoration: none;\n background-color: transparent;\n border-radius: 8px;\n \n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n \n font-family: Inter;\n font-weight: 500;\n font-size: 14px;\n line-height: 1.5;\n text-align: left;\n color: ${$active ? theme.colors.primary.main : theme.colors.text.main};\n\n transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;\n\n &:hover {\n color: ${theme.colors.primary.main};\n }`\n);\n\nconst StyledCount = styled.span<StyledProps>(\n ({ theme, $active }) => `\n margin-left: 8px;\n padding: 2px 4px;\n border-radius: 4px;\n background-color: ${$active ? theme.colors.primary.lightest2 : theme.colors.stroke.lighter};\n color: inherit;\n line-height: 1.5;\n transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;\n `\n);\n","import { ReactNode } from 'react';\nimport { styled } from 'styled-components';\n\nexport interface ListMenuSectionProps {\n items: any;\n title?: string;\n}\nexport const ListMenuSection = ({ title, items }: ListMenuSectionProps) => {\n return (\n <li>\n {!!title && <StyledTitle>{title}</StyledTitle>}\n <StyledList>{items}</StyledList>\n </li>\n );\n};\n\nconst StyledTitle = styled.h2(\n ({ theme }) => `\n margin: 0 0 15px 0;\n width: 100%;\n padding: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n font-family: Inter;\n font-weight: 600;\n font-size: 14px;\n line-height: 1;\n letter-spacing: 0.03em;\n text-align: left;\n text-transform: uppercase;\n color: ${theme.colors.text.lighter};\n`\n);\n\nconst StyledList = styled.ul(\n ({ theme }) => `\n margin: 0;\n padding: 0;\n width: 180px;\n list-style: none;\n position: relative;\n &::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 1px;\n height: 100%;\n background-color: ${theme.colors.stroke.light};\n }\n `\n);\n","import { styled } from 'styled-components';\n\ninterface HeaderProps {\n children?: any;\n}\n\nexport const Header = ({ children }: HeaderProps) => {\n return <StyledContainer>{children}</StyledContainer>;\n};\n\nconst StyledContainer = styled.header(\n ({ theme }) => `\n display: flex;\n position: sticky;\n top: 0;\n z-index: 1000;\n align-items: center;\n justify-content: space-between;\n padding-left: 12px;\n padding-right: 20px;\n height: 56px;\n background-color: ${theme.colors.background};\n border-bottom: 1px solid ${theme.colors.stroke.main};\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 25dvh;\n transform: translateY(-100%);\n background: ${theme.colors.background};\n }\n`\n);\n","import { styled } from 'styled-components';\n\nexport const HeaderDelimeter = () => {\n return <StyledDelimeter />;\n};\n\nconst StyledDelimeter = styled.div(\n ({ theme }) => `\n height: 32px;\n border-right: 1px dashed ${theme.colors.stroke.main};\n`\n);\n","import { CSSProperties } from 'react';\nimport { styled } from 'styled-components';\n\ninterface HeaderSectionProps {\n grow?: CSSProperties['flexGrow'];\n shrink?: CSSProperties['flexShrink'];\n basis?: CSSProperties['flexBasis'];\n justify?: CSSProperties['justifyContent'];\n children?: React.ReactNode;\n}\n\ninterface StyledProps {\n $grow?: CSSProperties['flexGrow'];\n $shrink?: CSSProperties['flexShrink'];\n $basis?: CSSProperties['flexBasis'];\n $justify?: CSSProperties['justifyContent'];\n}\n\nexport const HeaderSection = ({ grow, shrink, basis, justify, children }: HeaderSectionProps) => {\n return (\n <StyledSection $grow={grow} $shrink={shrink} $basis={basis} $justify={justify}>\n {children}\n </StyledSection>\n );\n};\n\nconst StyledSection = styled.section<StyledProps>(\n ({ $grow = 1, $shrink = 1, $basis = '100%', $justify = 'space-between' }) => `\n display: flex;\n align-items: center;\n justify-content: ${$justify};\n gap: 20px;\n flex-grow: ${$grow};\n flex-shrink: ${$shrink};\n flex-basis: ${$basis};\n`\n);\n","import { styled } from 'styled-components';\n\nexport const Row = styled.tr``;\n","import { styled } from 'styled-components';\n\nexport const HeadCell = styled.th(\n ({ theme }) => `\n padding-top: 15px;\n padding-bottom: 10px;\n padding-right: 15px;\n :not(:first-of-type) {\n padding-left: 15px;\n }\n\n border-bottom: 1px solid ${theme.colors.stroke.light};\n\n font-family: ${theme.typography.fontFamily};\n font-weight: 500;\n font-size: 14px;\n text-wrap: nowrap;\n text-align: left;\n line-height: 1.5;\n color: ${theme.colors.text.main};\n`\n);\n\nexport const Cell = styled.td(\n ({ theme }) => `\n padding-block: 15px;\n padding-right: 15px;\n :not(:first-of-type) {\n padding-left: 15px;\n }\n border-bottom: 1px solid ${theme.colors.stroke.light};\n\n vertical-align: middle;\n font-family: ${theme.typography.fontFamily};\n font-weight: 500;\n font-size: 14px;\n text-wrap: nowrap;\n text-align: left;\n line-height: 1.5;\n color: ${theme.colors.text.main};\n`\n);\n","import { ReactNode, useMemo, CSSProperties } from 'react';\nimport { styled } from 'styled-components';\nimport { Row } from './Row';\nimport { Cell, HeadCell } from './Cell';\n\nexport type ColumnTable<ID = string> = {\n id: ID;\n title: string;\n width?: CSSProperties['width'];\n className?: string;\n};\n\nexport type RenderCellProps<T = string> = {\n rowIndex: number;\n cellIndex: number;\n columnId: T;\n};\n\nexport type RenderHeaderCellProps<T = string> = {\n title: string;\n columnId: T;\n};\n\ninterface TableProps {\n columns: ColumnTable[];\n rowCount: number;\n renderCell: (props: RenderCellProps<any>) => any;\n renderHeaderCell: (props: RenderHeaderCellProps<any>) => any;\n rowIds?: string[];\n}\n\nexport const Table = ({ columns, rowCount, renderCell, renderHeaderCell, rowIds }: TableProps) => {\n const cellCount = columns.length;\n\n const data = useMemo(() => {\n const items: ReactNode[][] = [];\n for (let i = 0; i < rowCount; i++) {\n items[i] = [];\n for (let j = 0; j < cellCount; j++) {\n items[i][j] = renderCell({\n rowIndex: i,\n cellIndex: j,\n columnId: columns[j].id,\n });\n }\n }\n return items;\n }, [rowCount, cellCount, columns, renderCell]);\n\n return (\n <StyledTable>\n <StyledHead>\n <Row>\n {columns.map(({ id, title, width }) => (\n <HeadCell\n key={id}\n style={{\n width,\n }}\n >\n {renderHeaderCell({ title, columnId: id })}\n </HeadCell>\n ))}\n </Row>\n </StyledHead>\n <tbody>\n {data.map((cells, rowIndex) => (\n <Row key={`row-${rowIndex}`} id={rowIds ? rowIds[rowIndex] : `row-${rowIndex}`}>\n {cells.map((cell, cellIndex) => (\n <Cell className={columns[cellIndex]?.className} key={`cell-${cellIndex}`}>\n {cell}\n </Cell>\n ))}\n </Row>\n ))}\n </tbody>\n </StyledTable>\n );\n};\n\nconst StyledTable = styled.table`\n width: 100%;\n border-spacing: 0;\n table-layout: fixed;\n`;\n\nconst StyledHead = styled.thead(\n ({ theme }) => `\n background-color: ${theme.colors.background};\n position: sticky;\n top: 0;\n z-index: 1;\n`\n);\n","import { FC, useCallback, useMemo } from 'react';\nimport { styled } from 'styled-components';\nimport { ChevronRightIcon } from '../IconComponents';\nimport { ChevronLeftIcon } from '../IconComponents';\n\nexport interface PaginationProps {\n total_items: number;\n limit: number;\n offset: number;\n onChangePage: (offset: number) => void;\n}\n\nconst PAGINATION_LIMIT = 9;\nconst DIFF = 2;\nconst VISIBLE_GROUPE = 5;\nconst STEP = 1;\nconst ELLIPSIS = '...';\n\nexport const Pagination = ({ total_items, limit, offset, onChangePage }: PaginationProps) => {\n const currentPage = useMemo(() => (offset ? offset / limit + 1 : 1), [limit, offset]);\n const pages = Math.ceil(total_items / limit);\n const paginationItems: (number | string)[] = useMemo(() => {\n const items = [];\n if (pages <= PAGINATION_LIMIT) {\n for (let i = 1; i <= pages; i += 1) {\n items.push(i);\n }\n } else {\n const firstPage = 1;\n const lastPage = pages;\n items.push(firstPage);\n if (currentPage <= VISIBLE_GROUPE) {\n for (let i = 2; i <= VISIBLE_GROUPE + 2; i += 1) {\n items.push(i);\n }\n items.push(ELLIPSIS, lastPage);\n } else if (currentPage > VISIBLE_GROUPE && currentPage < lastPage - VISIBLE_GROUPE) {\n items.push(ELLIPSIS);\n for (let i = currentPage - DIFF; i <= currentPage + DIFF; i += 1) {\n items.push(i);\n }\n items.push(ELLIPSIS, lastPage);\n } else {\n items.push(ELLIPSIS);\n for (let i = lastPage - VISIBLE_GROUPE - 1; i <= lastPage; i += 1) {\n items.push(i);\n }\n }\n }\n return items;\n }, [currentPage, pages]);\n\n const isDisabled = useCallback(\n (page: number | string) => typeof page === 'string' || page === currentPage,\n [currentPage]\n );\n const onPaginationClick = useCallback(\n (page: number | string) => {\n if (isDisabled(page)) return;\n onChangePage(page as number);\n },\n [onChangePage, isDisabled]\n );\n return (\n <FlexGroup>\n <Button\n aria-label=\"previous page\"\n onClick={() => onPaginationClick(currentPage - STEP)}\n disabled={currentPage === 1}\n >\n <ChevronLeftIcon />\n </Button>\n <StyledList>\n {paginationItems.map((page, idx) => (\n <li key={`pagination-${page}-${idx}`}>\n <Button $current={page === currentPage} onClick={() => onPaginationClick(page)}>\n {page}\n </Button>\n </li>\n ))}\n </StyledList>\n <Button\n aria-label=\"next page\"\n onClick={() => onPaginationClick(currentPage + STEP)}\n disabled={!total_items || currentPage === pages}\n >\n <ChevronRightIcon />\n </Button>\n </FlexGroup>\n );\n};\n\ntype StyledButtonProps = {\n $current?: boolean;\n};\n\nconst StyledList = styled.div`\n list-style: none;\n padding: 0;\n display: flex;\n gap: 6px;\n`;\nconst Button = styled.button<StyledButtonProps>(\n ({ theme, $current }) => `\n font-family: ${theme.typography.fontFamily};\n background-color: ${$current ? theme.colors.primary.main : theme.colors.background};\n color: ${$current ? theme.colors.background : theme.colors.text.main};\n border: none;\n cursor: pointer;\n padding-block: 4px;\n padding-inline: 8px;\n border-radius: 3px;\n font-size: 14px;\n font-weight: 400;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 26px;\n svg {\n width: 8px;\n height: 8px;\n}\n &:hover {\n background-color: ${theme.colors.primary.light};\n }\n transition: background-color 0.3s ease-in-out;\n`\n);\nconst FlexGroup = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 6px;\n`;\n","import { ButtonSize, getButtonSizeStyles } from '../../Theme';\nimport { useRef } from 'react';\nimport { Popover, PopoverAlign, PopoverPosition } from 'react-tiny-popover';\nimport { styled, useTheme } from 'styled-components';\nimport { ChevronDownIcon, ChevronUpIcon } from '../IconComponents';\n\ninterface ContextMenuProps {\n isOpen: boolean;\n onClick: () => void;\n onClickOutside: (e: MouseEvent) => void;\n size?: ButtonSize;\n disabled?: boolean;\n fullWidth?: boolean;\n className?: string;\n children?: any;\n anchor?: any;\n positions?: PopoverPosition[] | PopoverPosition;\n align?: PopoverAlign;\n hasBorder?: boolean;\n maxHeight?: number;\n}\n\nexport const ContextMenu = ({\n isOpen,\n onClickOutside,\n onClick,\n anchor,\n size = 'medium',\n disabled,\n fullWidth,\n className,\n positions = ['bottom'],\n align = 'start',\n children,\n hasBorder = true,\n maxHeight = 500,\n}: ContextMenuProps) => {\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n\n const theme = useTheme();\n\n return (\n <Popover\n padding={theme.contextMenu.padding}\n isOpen={isOpen}\n positions={positions}\n align={align}\n onClickOutside={onClickOutside}\n content={children}\n containerStyle={{\n backgroundColor: theme.colors.background,\n border: `1px solid ${theme.colors.stroke.light}`,\n boxShadow: '0px 0px 10px 0px rgba(0, 0, 0, 0.25)',\n borderRadius: '5px',\n overflow: 'auto',\n maxHeight: `${maxHeight}px`,\n zIndex: `${9999}`,\n }}\n >\n <StyledButton\n ref={buttonRef}\n onClick={onClick}\n $disabled={disabled}\n $fullWidth={fullWidth}\n $size={size}\n className={className}\n type=\"button\"\n disabled={disabled}\n $hasBorder={hasBorder}\n >\n <div>{anchor}</div>\n {isOpen ? (\n <ChevronUpIcon width={theme.contextMenu.icon.size} height={theme.contextMenu.icon.size} />\n ) : (\n <ChevronDownIcon width={theme.contextMenu.icon.size} height={theme.contextMenu.icon.size} />\n )}\n </StyledButton>\n </Popover>\n );\n};\n\n// Створюємо стилізований компонент, що використовує уніфіковану палітру\nconst StyledButton = styled.button<{\n $size: ButtonSize;\n $disabled?: boolean;\n $fullWidth?: boolean;\n $hasBorder: boolean;\n}>`\n ${({ $size, $disabled, $fullWidth, theme, $hasBorder }) => {\n const sizes = getButtonSizeStyles(theme, $size);\n return `\n background: ${theme.contextMenu.button.default.background};\n color: ${theme.contextMenu.button.default.text};\n border-color: ${$hasBorder ? theme.contextMenu.button.default.border : 'transparent'};\n box-shadow: ${theme.contextMenu.button.default.boxShadow};\n font-size: ${sizes.fontSize};\n gap: ${sizes.gap};\n padding-block: ${sizes.paddingBlock};\n padding-inline: ${sizes.paddingInline};\n border-radius: ${sizes.borderRadius};\n border-width: ${sizes.borderWidth};\n border-style: solid;\n width: ${$fullWidth ? '100%' : 'auto'};\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n justify-content: ${$fullWidth ? 'space-between' : 'center'};\n text-decoration: none;\n transition: all 0.2s ease;\n outline: none;\n flex-direction: row;\n\n &:hover {\n background: ${theme.contextMenu.button.hover.background};\n color: ${theme.contextMenu.button.hover.text};\n border-color: ${$hasBorder ? theme.contextMenu.button.hover.border : 'transparent'};\n box-shadow: ${theme.contextMenu.button.hover.boxShadow};\n }\n\n &:active {\n background: ${theme.contextMenu.button.active.background};\n color: ${theme.contextMenu.button.active.text};\n border-color: ${$hasBorder ? theme.contextMenu.button.active.border : 'transparent'};\n box-shadow: ${theme.contextMenu.button.active.boxShadow};\n }\n\n &:disabled {\n background: ${theme.contextMenu.button.disabled.background};\n color: ${theme.contextMenu.button.disabled.text};\n border-color: ${$hasBorder ? theme.contextMenu.button.disabled.border : 'transparent'};\n box-shadow: ${theme.contextMenu.button.disabled.boxShadow};\n }\n\n `;\n }}\n`;\n","import { styled } from 'styled-components';\n\ninterface StyledProps {}\n\nexport const ContextMenuDelimiter = styled.div<StyledProps>(\n ({ theme }) => `\n margin-inline: ${theme.contextMenu.delimeter.marginInline};\n margin-block: ${theme.contextMenu.delimeter.marginBlock};\n border-top-width: ${theme.contextMenu.delimeter.thickness};\n border-top-style: ${theme.contextMenu.delimeter.style};\n border-top-color: ${theme.contextMenu.delimeter.color};\n `\n);\n","import { useState } from 'react';\n\nexport const useContextMenuControl = () => {\n const [isOpen, setIsOpen] = useState(false);\n\n const toggleMenu = () => {\n setIsOpen((prev) => !prev);\n };\n const closeMenu = () => {\n setIsOpen(false);\n };\n const openMenu = () => {\n setIsOpen(true);\n };\n return {\n isOpen,\n toggleMenu,\n closeMenu,\n openMenu,\n };\n};\n","import { useCallback, useState } from 'react';\nimport { PopoverAlign, PopoverPosition } from 'react-tiny-popover';\nimport { ContextMenu } from '../ContextMenu';\nimport { ButtonSize, getButtonSizeStyles } from '../../Theme';\nimport { styled } from 'styled-components';\n\ninterface SelectProps<T extends string | number> {\n selected?: T;\n options: { value: T; inputDisplay?: string }[];\n handleSelect: (id: T) => void;\n placeholder: string;\n disabled?: boolean;\n positions?: PopoverPosition[] | PopoverPosition;\n align?: PopoverAlign;\n size?: ButtonSize;\n hasBorder?: boolean;\n maxHeight?: number;\n}\n\nexport const Select = <T extends string | number>({\n options,\n selected,\n handleSelect,\n placeholder,\n disabled = false,\n positions = ['bottom'],\n align = 'start',\n size = 'small',\n hasBorder = true,\n maxHeight,\n}: SelectProps<T>) => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const handleToggle = useCallback(() => {\n if (!disabled) setIsOpen((prev) => !prev);\n }, []);\n\n return (\n <ContextMenu\n isOpen={isOpen}\n onClickOutside={() => setIsOpen(false)}\n onClick={handleToggle}\n disabled={disabled}\n anchor={!selected ? placeholder : options.find((option) => option.value === selected)?.inputDisplay || selected}\n fullWidth\n positions={positions}\n align={align}\n size={size}\n hasBorder={hasBorder}\n maxHeight={maxHeight}\n >\n <StyledWrapper>\n {options.map((item) => (\n <StyledItem\n onClick={() => {\n handleSelect(item.value);\n setIsOpen(false);\n }}\n type=\"button\"\n $selected={item.value === selected}\n key={item.value}\n disabled={disabled}\n $size={size}\n >\n {item.inputDisplay || item.value}\n </StyledItem>\n ))}\n </StyledWrapper>\n </ContextMenu>\n );\n};\n\nconst StyledWrapper = styled.div`\n padding-block: 7px;\n padding-inline: 5px;\n button:not(:last-of-type) {\n margin-bottom: 4px;\n }\n`;\n\nconst StyledItem = styled.button<{ $size: ButtonSize; $selected: boolean }>`\n ${({ theme, $size, $selected }) => {\n const sizes = getButtonSizeStyles(theme, $size);\n return `\n background: ${theme.select.item.default.background};\n color: ${theme.select.item.default.text};\n font-size: ${sizes.fontSize};\n gap: ${sizes.gap};\n padding-block: ${sizes.paddingBlock};\n padding-inline: ${sizes.paddingInline};\n border-radius: ${sizes.borderRadius};\n border-width: ${sizes.borderWidth};\n border: none;\n width: 100%;\n cursor: pointer;\n font-weight: 400;\n display: inline-flex;\n align-items: center;\n justify-content: flex-start;\n text-decoration: none;\n transition: all 0.2s ease;\n outline: none;\n flex-direction: row;\n\n &:hover {\n background-color: ${theme.select.item.hover.background};\n color: ${theme.select.item.hover.text};\n }\n\n ${\n $selected &&\n `background: ${theme.select.item.active.background};\n color: ${theme.select.item.active.text};`\n }\n\n &:disabled {\n background: ${theme.select.item.disabled.background};\n color: ${theme.select.item.disabled.text};\n cursor: not-allowed;\n }\n `;\n }}\n`;\n","import { ButtonColor, ButtonSize, getButtonSizeStyles } from '../../Theme';\nimport { useRef } from 'react';\nimport { Popover, PopoverAlign, PopoverPosition } from 'react-tiny-popover';\nimport { styled, useTheme } from 'styled-components';\nimport { BallsMenu } from '../IconComponents';\nimport { useContextMenuControl } from '../ContextMenu';\nimport { Button } from '../Button';\n\nexport type Action = {\n label: string;\n onClick: () => void;\n color: ButtonColor;\n};\n\ninterface RowActionsMenuProps {\n items: Action[];\n size?: ButtonSize;\n disabled?: boolean;\n className?: string;\n positions?: PopoverPosition[] | PopoverPosition;\n align?: PopoverAlign;\n}\n\nexport const RowActionsMenu = ({\n size = 'small',\n disabled,\n className,\n positions = ['bottom'],\n align = 'end',\n items,\n}: RowActionsMenuProps) => {\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const { isOpen, closeMenu, toggleMenu } = useContextMenuControl();\n\n const theme = useTheme();\n\n return (\n <Popover\n padding={theme.contextMenu.padding}\n isOpen={isOpen}\n positions={positions}\n align={align}\n onClickOutside={closeMenu}\n content={\n <ContentWrapper>\n {items.map(({ label, onClick, color }, idx) => (\n <Button\n variant=\"empty\"\n key={`row-action-${idx}`}\n color={color}\n fullWidth\n size={size}\n onClick={() => {\n onClick();\n closeMenu();\n }}\n >\n {label}\n </Button>\n ))}\n </ContentWrapper>\n }\n containerStyle={{\n backgroundColor: theme.colors.background,\n border: `1px solid ${theme.colors.stroke.light}`,\n boxShadow: '0px 0px 10px 0px rgba(0, 0, 0, 0.25)',\n borderRadius: '5px',\n zIndex: `${9999}`,\n }}\n >\n <StyledButton\n ref={buttonRef}\n onClick={toggleMenu}\n $disabled={disabled}\n $size={size}\n className={className}\n type=\"button\"\n disabled={disabled}\n >\n <BallsMenu width={theme.rowActionsMenu.icon.size} height={theme.rowActionsMenu.icon.size} />\n </StyledButton>\n </Popover>\n );\n};\n\nconst StyledButton = styled.button<{\n $size: ButtonSize;\n $disabled?: boolean;\n}>`\n ${({ $size, $disabled, theme }) => {\n const sizes = getButtonSizeStyles(theme, $size);\n return `\n background: ${theme.rowActionsMenu.button.default.background};\n color: ${theme.rowActionsMenu.button.default.text};\n border: none;\n font-size: ${sizes.fontSize};\n gap: ${sizes.gap};\n padding: 4px;\n border-radius: ${sizes.borderRadius};\n width: auto;\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n font-weight: 500;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n text-decoration: none;\n transition: all 0.2s ease;\n outline: none;\n\n &:hover {\n background: ${theme.rowActionsMenu.button.hover.background};\n color: ${theme.rowActionsMenu.button.hover.text};\n }\n\n &:active {\n background: ${theme.rowActionsMenu.button.active.background};\n color: ${theme.rowActionsMenu.button.active.text};\n }\n\n &:disabled {\n background: ${theme.rowActionsMenu.button.disabled.background};\n color: ${theme.rowActionsMenu.button.disabled.text};\n }\n\n `;\n }}\n`;\nconst ContentWrapper = styled.div(\n ({ theme }) => `\n padding: 5px 10px;\n display: flex;\n flex-direction: column;\n button {\n min-width: 110px;\n justify-content: flex-start;\n font-weight: 400;\n }\n button:not(:last-of-type) {\n position: relative;\n ::after {\n position: absolute;\n content: '';\n bottom: 0;\n left: 5px;\n right: 5px;\n height: 1px;\n background-color: ${theme.rowActionsMenu.delimiterColor};\n }\n }\n`\n);\n","import { InputSize, InputSizeStyle } from '../../Theme';\nimport { InputHTMLAttributes } from 'react';\nimport { styled } from 'styled-components';\nimport { InfoCircleFilledIcon } from '../IconComponents';\n\ntype StyledProps = {\n $error?: boolean;\n $sizes: InputSizeStyle;\n};\n\ntype InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> & {\n error?: boolean;\n append?: any;\n prepend?: any;\n size?: InputSize;\n};\n\nexport const Input = ({ error, append, prepend, size = 'small', disabled, className, ...props }: InputProps) => {\n return (\n <Group className={className} $error={error} $size={size} $disabled={!!disabled}>\n {!!prepend && prepend}\n <InputGroup $size={size}>\n <input {...props} disabled={disabled} />\n {!!error && (\n <IconWrapper>\n <InfoCircleFilledIcon />\n </IconWrapper>\n )}\n </InputGroup>\n {!!append && append}\n </Group>\n );\n};\n\nconst InputGroup = styled.div<{ $size: InputSize }>(\n ({ theme, $size }) => `\n display: inline-flex;\n align-items: center;\n width: 100%;\n color: currentColor;\n\n svg {\n width: ${theme.input.sizes[$size].iconSize};\n height: ${theme.input.sizes[$size].iconSize};\n }\n\n & input {\n font-size: ${theme.input.sizes[$size].fontSize};\n color: inherit;\n background: transparent;\n padding-block: ${theme.input.sizes[$size].paddingBlock};\n padding-inline: ${theme.input.sizes[$size].paddingInline};\n position: relative;\n width: 100%;\n outline: none;\n border: none;\n\n &::placeholder {\n color: ${theme.input.outlined.default.placeholder};\n font-size: ${theme.input.sizes[$size].fontSize};\n }\n\n &:disabled {\n cursor: not-allowed;\n color: inherit;\n }\n }\n`\n);\n\nconst IconWrapper = styled.span(\n ({ theme }) => `\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n color: ${theme.input.outlined.error.icon};\n margin-right: 10px;\n \n`\n);\n\nconst Group = styled.div<{ $disabled: boolean; $error?: boolean; $size: InputSize }>(\n ({ theme, $disabled, $error, $size }) => `\n display: inline-flex;\n align-items: center;\n width: 100%;\n border: 1px solid;\n border-radius: ${theme.input.sizes[$size].borderRadius};\n height: ${theme.input.sizes[$size].height};\n overflow: hidden;\n transition: all 0.2s ease;\n\n ${\n $error\n ? `\n border-color: ${theme.input.outlined.error.border};\n color: ${theme.input.outlined.error.text};\n background: ${theme.input.outlined.error.background};\n `\n : `\n border-color: ${theme.input.outlined.default.border};\n color: ${theme.input.outlined.default.text};\n background: ${theme.input.outlined.default.background};\n `\n }\n\n ${\n !$disabled &&\n !$error &&\n `\n &:hover {\n border-color: ${theme.input.outlined.focus.border};\n }\n \n &:focus-within {\n border-color: ${theme.input.outlined.focus.border};\n color: ${theme.input.outlined.focus.text};\n background: ${theme.input.outlined.focus.background};\n }\n `\n }\n\n ${\n $disabled &&\n `\n border-color: ${theme.input.outlined.disabled.border};\n color: ${theme.input.outlined.disabled.text};\n background: ${theme.input.outlined.disabled.background};\n cursor: not-allowed;\n `\n }\n`\n);\n","import { ReactElement } from 'react';\nimport { styled } from 'styled-components';\n\ninterface PageLayoutProps {\n header?: any;\n sidebar?: any;\n children?: any;\n}\n\nexport const PageLayout = ({ children, header, sidebar }: PageLayoutProps) => {\n return (\n <StyledContainer $withHeader={!!header} $withSidebar={!!sidebar}>\n {header}\n {sidebar}\n <StyledMain>{children}</StyledMain>\n </StyledContainer>\n );\n};\n\ninterface StyledContainerProps {\n $withHeader?: boolean;\n $withSidebar?: boolean;\n}\n\nexport const StyledContainer = styled.div<StyledContainerProps>(\n ({ $withHeader, $withSidebar }) => `\n display: grid;\n min-height: 100dvh;\n position: relative;\n grid-template-columns: ${$withSidebar ? 'auto 1fr' : '1fr'};\n grid-template-rows: ${$withHeader ? 'auto 1fr' : '1fr'};\n grid-template-areas: ${\n $withHeader\n ? $withSidebar\n ? `'sidebar header' 'sidebar content'`\n : `'header' 'content'`\n : $withSidebar\n ? `'sidebar content'`\n : `'content'`\n };\n\n & > header {\n grid-area: header;\n }\n\n & > aside {\n grid-area: sidebar;\n max-height: 100vh;\n }\n\n & > main {\n grid-area: content;\n }\n`\n);\n\nconst StyledMain = styled.main`\n min-width: 0;\n`;\n","import ForceGraph2D, { ForceGraphMethods, LinkObject, NodeObject } from 'react-force-graph-2d';\nimport { Graph2DProps } from './types';\nimport { useEffect, useRef, useState, useCallback } from 'react';\nimport { forceCollide } from 'd3-force';\nimport { styled } from 'styled-components';\nimport eyeLightIcon from './eye_light.png';\nimport eyeLightHoverIcon from './eye_light_hover.png';\nimport crossLightIcon from './cross_light.png';\nimport crossLightHoverIcon from './cross_light_hover.png';\n\n// Створюємо та налаштовуємо об'єкти зображень\nconst imgEyeLightIcon = new Image();\nimgEyeLightIcon.src = eyeLightIcon;\n\nconst imgEyeLightHoverIcon = new Image();\nimgEyeLightHoverIcon.src = eyeLightHoverIcon;\n\nconst imgCrossLightIcon = new Image();\nimgCrossLightIcon.src = crossLightIcon;\n\nconst imgCrossLightHoverIcon = new Image();\nimgCrossLightHoverIcon.src = crossLightHoverIcon;\n\nexport const Graph2D = ({\n graphData,\n width,\n height,\n linkTarget,\n linkSource,\n config = {\n fontSize: 3, // Максимальний розмір шрифту при максимальному зумі\n nodeSizeBase: 30, // Базовий розмір вузла\n nodeAreaFactor: 2, // Фактор збільшення розміру вузла для відображення області (hover)\n textPaddingFactor: 0.9, // Скільки разів текст може бути ширшим за розмір вузла\n gridSpacing: 20, // Відстань між точками сітки\n dotSize: 1, // Розмір точки сітки,\n maxZoom: 4, // Максимальний зум\n },\n onNodeClick,\n onLinkClick,\n}: Graph2DProps) => {\n // Стан для підсвічування вузлів і зв'язків\n const [highlightNodes, setHighlightNodes] = useState(new Set());\n const [highlightLinks, setHighlightLinks] = useState(new Set());\n const [hoverNode, setHoverNode] = useState<any>(null);\n const [hiddenNodes, setHiddenNodes] = useState(new Set<string>());\n const [collapsedNodes, setCollapsedNodes] = useState(new Set<string>());\n // Стани для відстеження наведення на кнопки\n const [hoverTopButton, setHoverTopButton] = useState(false);\n const [hoverBottomButton, setHoverBottomButton] = useState(false);\n\n const fgRef = useRef<ForceGraphMethods>(null) as React.MutableRefObject<ForceGraphMethods<NodeObject, LinkObject>>;\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n // Функція для реверсивного масштабування тексту\n // При максимальному зумі текст має розмір config.fontSize\n // При зменшенні зуму текст також зменшується\n const calculateFontSize = (scale: number): number => {\n // Обмежуємо масштаб до config.maxZoom\n const limitedScale = Math.min(scale, config.maxZoom);\n\n // Обчислюємо коефіцієнт масштабування: при максимальному зумі = 1, при мінімальному - менше\n const fontSizeRatio = limitedScale / config.maxZoom;\n\n return Math.max(config.fontSize * fontSizeRatio, config.fontSize);\n };\n\n // Обробка подій наведення на вузол\n const handleNodeHover = useCallback((node: NodeObject | null, _: NodeObject | null) => {\n const newHighlightNodes = new Set();\n const newHighlightLinks = new Set();\n\n if (node) {\n newHighlightNodes.add(node);\n\n // Додавання сусідніх вузлів і зв'язків до підсвічування\n // Перевіряємо наявність сусідів і зв'язків\n if (node.neighbors) {\n node.neighbors.forEach((neighbor: any) => newHighlightNodes.add(neighbor));\n }\n\n if (node.links) {\n node.links.forEach((link: any) => newHighlightLinks.add(link));\n }\n }\n\n setHoverNode(node || null);\n setHighlightNodes(newHighlightNodes);\n setHighlightLinks(newHighlightLinks);\n }, []);\n\n // Обробка подій наведення на зв'язок\n const handleLinkHover = useCallback((link: any) => {\n const newHighlightNodes = new Set();\n const newHighlightLinks = new Set();\n\n if (link) {\n newHighlightLinks.add(link);\n newHighlightNodes.add(link.source);\n newHighlightNodes.add(link.target);\n }\n\n setHighlightNodes(newHighlightNodes);\n setHighlightLinks(newHighlightLinks);\n }, []);\n\n // Створення взаємозв'язків між вузлами\n useEffect(() => {\n if (!graphData) return;\n\n // Прив'язка вузлів до їхніх сусідів та зв'язків\n graphData.links.forEach((link: any) => {\n const source =\n typeof link.source === 'object' ? link.source : graphData.nodes.find((n: any) => n.id === link.source);\n const target =\n typeof link.target === 'object' ? link.target : graphData.nodes.find((n: any) => n.id === link.target);\n\n if (!source || !target) return;\n\n // Ініціалізація масивів, якщо вони відсутні\n !source.neighbors && (source.neighbors = []);\n !target.neighbors && (target.neighbors = []);\n source.neighbors.push(target);\n target.neighbors.push(source);\n\n !source.links && (source.links = []);\n !target.links && (target.links = []);\n source.links.push(link);\n target.links.push(link);\n });\n\n // Налаштування відстані між вузлами\n fgRef.current?.d3Force('link')?.distance((link: any) => {\n // Отримуємо вузли на кінцях зв'язку\n const source = link.source;\n const target = link.target;\n\n // Базова відстань\n const baseDistance = config.nodeSizeBase * 2;\n\n // Динамічна відстань на основі розміру вузлів\n // Більші вузли повинні бути далі один від одного\n const sourceSizeBase = source.size || config.nodeSizeBase;\n const targetSizeBase = target.size || config.nodeSizeBase;\n\n // Відстань залежить від суми розмірів вузлів\n // Додаємо базову відстань 100\n return baseDistance + (sourceSizeBase + targetSizeBase);\n });\n\n // Додаємо різні сили для уникнення перекриття вузлів\n if (fgRef.current) {\n // 1. Додаємо силу відштовхування між всіма вузлами (charge force)\n const chargeForce = fgRef.current.d3Force('charge');\n if (chargeForce) {\n chargeForce\n .strength(-100) // Збільшуємо силу відштовхування (negative for repulsion)\n .distanceMax(100); // Максимальна дистанція, на якій діє ця сила\n }\n\n // 2. Додаємо силу центрування для кращої організації графа\n const centerForce = fgRef.current.d3Force('center');\n if (centerForce) {\n centerForce.strength(0.05); // Невелике притягування до центру\n }\n\n // 3. Додаємо силу колізії через імпортовану функцію forceCollide\n try {\n const collideForce = forceCollide()\n .radius((node: any) => {\n // Визначаємо радіус колізії на основі розміру вузла\n const nodeSize = node.size || config.nodeSizeBase;\n return nodeSize * 1.5; // Більший відступ для кращої сепарації\n })\n .iterations(3) // Більше ітерацій для точнішого розрахунку\n .strength(1); // Максимальна сила (1 - тверде обмеження)\n\n fgRef.current.d3Force('collide', collideForce);\n } catch (err) {\n console.error('Error setting up collision force:', err);\n }\n\n // Перезапустити симуляцію для застосування змін\n fgRef.current.resumeAnimation();\n }\n }, [graphData]);\n\n // Функція для малювання кільця навколо підсвічених вузлів\n const paintRing = useCallback(\n (node: any, ctx: CanvasRenderingContext2D, globalScale: number) => {\n // Отримуємо розмір вузла\n const radius = (config.nodeSizeBase * config.nodeAreaFactor * 0.75) / 2;\n\n // Малюємо кільце навколо вузла\n ctx.beginPath();\n ctx.arc(node.x, node.y, radius, 0, 2 * Math.PI, false);\n ctx.fillStyle = 'rgba(255, 165, 0, 0.3)';\n ctx.fill();\n },\n [config]\n );\n\n // Функція для малювання кнопок навколо вузла при наведенні\n const paintNodeButtons = useCallback(\n (node: any, ctx: CanvasRenderingContext2D, globalScale: number) => {\n const { x, y } = node;\n const buttonRadius = (config.nodeSizeBase * config.nodeAreaFactor) / 2;\n\n // Зберігаємо стан контексту\n ctx.save();\n\n // Кнопка \"сховати\" (верхня частина кільця)\n ctx.beginPath();\n ctx.arc(x, y, buttonRadius, Math.PI, Math.PI * 2, false);\n ctx.lineWidth = 1;\n ctx.strokeStyle = '#e5e5e5';\n ctx.stroke();\n ctx.fillStyle = hoverTopButton ? 'rgba(230, 230, 230, 0.9)' : 'rgba(255, 255, 255, 0.8)';\n ctx.fill();\n\n // Лінія розділення між кнопками\n ctx.beginPath();\n ctx.moveTo(x - buttonRadius, y);\n ctx.lineTo(x + buttonRadius, y);\n ctx.lineWidth = 1;\n ctx.strokeStyle = '#e5e5e5';\n ctx.stroke();\n\n // Кнопка \"згорнути\" (нижня частина кільця)\n ctx.beginPath();\n ctx.arc(x, y, buttonRadius, Math.PI * 2, Math.PI, false);\n ctx.lineWidth = 1;\n ctx.strokeStyle = '#e5e5e5';\n ctx.stroke();\n ctx.fillStyle = hoverBottomButton ? 'rgba(230, 230, 230, 0.9)' : 'rgba(255, 255, 255, 0.8)';\n ctx.fill();\n\n // Додаємо іконку хрестика для кнопки \"сховати вузол\"\n const iconSize = buttonRadius * 0.3; // Розмір іконки відносно радіуса кнопки (зменшено вдвічі)\n\n // Вибір іконки в залежності від стану наведення для верхньої кнопки (сховати)\n const crossIcon = hoverTopButton ? imgCrossLightHoverIcon : imgCrossLightIcon;\n const renderCrossIcon = () => {\n ctx.drawImage(crossIcon, x - iconSize / 2, y - (buttonRadius * 2) / 4 - iconSize - 1, iconSize, iconSize);\n };\n // Використовуємо безпосередньо зображення, якщо воно вже завантажене\n if (crossIcon.complete) {\n // Розміщуємо іконку в центрі верхньої половини кнопки\n renderCrossIcon();\n } else {\n // Якщо зображення ще не завантажене, додаємо обробник завершення завантаження\n crossIcon.onload = () => {\n renderCrossIcon();\n };\n }\n\n // Додаємо іконку ока для кнопки \"згорнути дочірні вузли\"\n const eyeIcon = hoverBottomButton ? imgEyeLightHoverIcon : imgEyeLightIcon;\n const renderEyeIcon = () => {\n ctx.drawImage(eyeIcon, x - iconSize / 2, y + (buttonRadius * 2) / 4 + 1, iconSize, iconSize);\n };\n // Використовуємо безпосередньо зображення, якщо воно вже завантажене\n if (eyeIcon.complete) {\n // Розміщуємо іконку в центрі нижньої половини кнопки\n renderEyeIcon();\n } else {\n // Якщо зображення ще не завантажене, додаємо обробник завершення завантаження\n eyeIcon.onload = () => {\n renderEyeIcon();\n };\n }\n\n ctx.restore();\n },\n [config, hoverTopButton, hoverBottomButton]\n );\n\n const collapseNode = (collapsed: Set<string>, node: NodeObject) => {\n if (node && node.id && !collapsed.has(`${node.id}`) && graphData) {\n // Прив'язка вузлів до їхніх сусідів та зв'язків\n const targets = graphData.links.filter((link: any) => {\n return link.source.id === node.id && link.label !== 'MATCH';\n });\n targets.forEach((link: any) => {\n collapsed.add(`${link.target.id}`);\n collapseNode(collapsed, link.target);\n });\n }\n };\n\n // Функція для обробки кліку на кнопку \"сховати вузол\"\n const handleHideNode = (node: any) => {\n const newHiddenNodes = new Set(hiddenNodes);\n collapseNode(newHiddenNodes, node);\n newHiddenNodes.add(node.id);\n\n setHiddenNodes(newHiddenNodes);\n };\n\n // Функція для обробки кліку на кнопку \"згорнути дочірні вузли\"\n const handleCollapseChildren = (node: any) => {\n const newCollapsedNodes = new Set(collapsedNodes);\n\n collapseNode(newCollapsedNodes, node);\n setCollapsedNodes(newCollapsedNodes);\n };\n\n // Функція для визначення, чи знаходиться точка в межах сектора кола (кнопки)\n const isPointInButtonArea = useCallback(\n (\n x: number, // X координата точки кліку в системі координат canvas\n y: number, // Y координата точки кліку в системі координат canvas\n buttonX: number, // X координата центра вузла в системі координат canvas\n buttonY: number, // Y координата центра вузла в системі координат canvas\n buttonRadius: number, // Радіус кнопки (з урахуванням зуму)\n startAngle: number, // Початковий кут сектора\n endAngle: number // Кінцевий кут сектора\n ): boolean => {\n // Обчислюємо відстань від точки кліку до центру вузла\n const dx = x - buttonX;\n const dy = y - buttonY;\n const distance = Math.sqrt(dx * dx + dy * dy);\n\n // Обчислюємо кут між точкою та горизонтальною віссю\n let angle = Math.atan2(dy, dx);\n if (angle < 0) angle += 2 * Math.PI; // Конвертуємо у діапазон [0, 2π]\n\n // Розширюємо діапазон радіусу для легшого потрапляння по кнопці\n // При більшому зумі можна зменшити цей діапазон для більшої точності\n const minRadiusRatio = 0.5; // Більш точне значення\n const maxRadiusRatio = 1.5; // Більш точне значення\n const isInRadius = distance >= buttonRadius * minRadiusRatio && distance <= buttonRadius * maxRadiusRatio;\n\n // Перевіряємо чи знаходиться кут у межах сектора\n let isInAngle = false;\n\n // Верхня півкуля: від Math.PI до Math.PI * 2\n if (startAngle === Math.PI && endAngle === Math.PI * 2) {\n isInAngle = angle >= Math.PI && angle <= Math.PI * 2;\n }\n // Нижня півкуля: від 0 до Math.PI\n else if (startAngle === 0 && endAngle === Math.PI) {\n isInAngle = angle >= 0 && angle <= Math.PI;\n }\n // Загальний випадок\n else {\n isInAngle =\n (startAngle <= endAngle && angle >= startAngle && angle <= endAngle) ||\n (startAngle > endAngle && (angle >= startAngle || angle <= endAngle));\n }\n\n return isInRadius && isInAngle;\n },\n []\n );\n\n // Додаємо обробник руху миші для відстеження наведення на кнопки\n useEffect(() => {\n const handleCanvasMouseMove = (event: MouseEvent) => {\n if (!hoverNode || !fgRef.current || !wrapperRef.current) {\n // Скидаємо стани наведення, якщо немає активного вузла\n if (hoverTopButton) setHoverTopButton(false);\n if (hoverBottomButton) setHoverBottomButton(false);\n return;\n }\n\n const nodeSize = config.nodeSizeBase;\n const buttonRadius = (config.nodeSizeBase * config.nodeAreaFactor) / 2;\n const zoom = fgRef.current.zoom() || 1; // Отримуємо поточний зум\n\n // Координати вузла в системі координат графа\n const nodeX = hoverNode.x;\n const nodeY = hoverNode.y;\n\n // Отримуємо позицію canvas відносно вікна\n const canvasRect = wrapperRef.current.getBoundingClientRect();\n\n // Координати миші відносно canvas\n const mouseX = event.clientX - canvasRect.left;\n const mouseY = event.clientY - canvasRect.top;\n\n // Враховуємо співвідношення між реальними розмірами canvas та його відображенням на екрані\n const canvasScaleX = wrapperRef.current.clientWidth / canvasRect.width;\n const canvasScaleY = wrapperRef.current.clientHeight / canvasRect.height;\n\n // Масштабовані координати миші у внутрішній системі координат canvas\n const scaledMouseX = mouseX * canvasScaleX;\n const scaledMouseY = mouseY * canvasScaleY;\n\n // Отримуємо параметри трансформації графа\n const graphCenter = {\n x: wrapperRef.current.clientWidth / 2,\n y: wrapperRef.current.clientHeight / 2,\n };\n\n // Визначаємо координати вузла на екрані\n let nodeScreenX, nodeScreenY;\n\n if (typeof fgRef.current.graph2ScreenCoords === 'function') {\n // Використовуємо API графа для перетворення координат\n const screenPos = fgRef.current.graph2ScreenCoords(nodeX, nodeY);\n if (screenPos) {\n nodeScreenX = screenPos.x;\n nodeScreenY = screenPos.y;\n }\n }\n\n // Якщо метод не доступний, спробуємо обчислити позицію\n if (nodeScreenX === undefined || nodeScreenY === undefined) {\n nodeScreenX = graphCenter.x + nodeX * zoom;\n nodeScreenY = graphCenter.y + nodeY * zoom;\n }\n\n // Перевіряємо наведення на верхню кнопку (hide)\n const isOverTopButton = isPointInButtonArea(\n scaledMouseX,\n scaledMouseY,\n nodeScreenX,\n nodeScreenY,\n buttonRadius * zoom,\n Math.PI,\n Math.PI * 2\n );\n\n // Перевіряємо наведення на нижню кнопку (collapse)\n const isOverBottomButton = isPointInButtonArea(\n scaledMouseX,\n scaledMouseY,\n nodeScreenX,\n nodeScreenY,\n buttonRadius * zoom,\n 0,\n Math.PI\n );\n\n // Оновлюємо стани наведення\n setHoverTopButton(isOverTopButton);\n setHoverBottomButton(isOverBottomButton);\n };\n\n if (wrapperRef.current) {\n wrapperRef.current.addEventListener('mousemove', handleCanvasMouseMove);\n }\n\n return () => {\n if (wrapperRef.current) {\n wrapperRef.current.removeEventListener('mousemove', handleCanvasMouseMove);\n }\n };\n }, [hoverNode, config, isPointInButtonArea, hoverTopButton, hoverBottomButton]);\n\n const truncateText = (text: string, maxWidth: number, ctx: CanvasRenderingContext2D): string => {\n if (!text) return '';\n\n // Вимірюємо ширину тексту\n const textWidth = ctx.measureText(text).width;\n\n // Якщо текст коротший за максимальну ширину, повертаємо як є\n if (textWidth <= maxWidth) return text;\n\n // Інакше обрізаємо текст і додаємо трикрапку\n let truncated = text;\n const ellipsis = '...';\n\n // Поступово скорочуємо текст, поки він не поміститься\n while (ctx.measureText(truncated + ellipsis).width > maxWidth && truncated.length > 0) {\n truncated = truncated.slice(0, -1);\n }\n\n return truncated + ellipsis;\n };\n\n const renderGrid = (ctx: CanvasRenderingContext2D, globalScale: number) => {\n // This will be called before each rendering frame\n ctx.getTransform();\n ctx.save();\n\n // Reset transform to draw the background in screen coordinates\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n\n // Draw background dots\n const { width, height } = ctx.canvas;\n const gridSpacing = config.gridSpacing;\n const dotSize = config.dotSize;\n\n ctx.fillStyle = 'rgba(0, 0, 0, 0.5)';\n\n for (let x = 0; x < width; x += gridSpacing) {\n for (let y = 0; y < height; y += gridSpacing) {\n ctx.beginPath();\n ctx.arc(x, y, dotSize, 0, 2 * Math.PI);\n ctx.fill();\n }\n }\n\n // Restore original transform for the graph rendering\n ctx.restore();\n };\n\n const renderNodePointerAreaPaint = (\n node: NodeObject,\n color: string,\n ctx: CanvasRenderingContext2D,\n globalScale: number\n ) => {\n const { x, y } = node;\n const radius = config.nodeSizeBase;\n\n ctx.beginPath();\n ctx.arc(x as number, y as number, radius, 0, 2 * Math.PI);\n ctx.fillStyle = color; //має бути обовʼязково колір що прийшов з параметрів ForceGraph\n ctx.fill();\n };\n\n const renderNodeCanvasObject = (node: NodeObject, ctx: CanvasRenderingContext2D, globalScale: number) => {\n // Функція для обрізання тексту з трикрапкою (аналог text-overflow: ellipsis)\n\n // Якщо вузол підсвічений, малюємо кільце\n if (highlightNodes.has(node)) {\n // Якщо це наведений вузол, малюємо кнопки\n if (node === hoverNode) {\n paintNodeButtons(node, ctx, globalScale);\n } else {\n paintRing(node, ctx, globalScale);\n }\n }\n\n const { x, y, color, label } = node;\n\n const size = config.nodeSizeBase;\n const radius = config.nodeSizeBase / 2;\n\n // Малюємо коло\n ctx.beginPath();\n ctx.arc(x as number, y as number, radius, 0, 2 * Math.PI);\n ctx.fillStyle = color; // Колір контуру TODO: додати прив'язку до значення label\n ctx.fill();\n\n // пігтовока до малювання тексту\n ctx.save();\n ctx.translate(x as number, y as number);\n\n const scaledFontSize = calculateFontSize(globalScale);\n const maxWidth = size * config.textPaddingFactor;\n // Розрахунок максимальної ширини тексту на основі розміру вузла\n // Ширина тексту = діаметр вузла * коефіцієнт розширення\n // Використовуємо globalScale для визначення пропорцій тексту\n ctx.font = `${scaledFontSize}px Sans-Serif`;\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n ctx.fillStyle = 'black';\n\n const truncatedLabel = truncateText(label, maxWidth, ctx);\n ctx.fillText(truncatedLabel, 0, 0);\n\n ctx.restore();\n };\n\n const renderLinkCanvasObject = (link: NodeObject, ctx: CanvasRenderingContext2D, globalScale: number) => {\n // Отримуємо позиції початку і кінця зв'язку\n const { source, target, label } = link;\n\n if (!label) return; // Пропускаємо, якщо немає мітки\n\n // Координати початку і кінця зв'язку\n const start = { x: source.x, y: source.y };\n const end = { x: target.x, y: target.y };\n // Знаходимо середину лінії для розміщення тексту\n const middleX = start.x + (end.x - start.x) / 2;\n const middleY = start.y + (end.y - start.y) / 2;\n\n // Використовуємо реверсивне масштабування для тексту\n const scaledFontSize = calculateFontSize(globalScale);\n ctx.font = `${scaledFontSize}px Sans-Serif`;\n ctx.fillStyle = '#666'; // Колір тексту\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n\n // Визначення кута нахилу лінії для повороту тексту\n const angle = Math.atan2(end.y - start.y, end.x - start.x);\n ctx.save();\n // Переміщення до центру лінії та поворот тексту\n ctx.translate(middleX, middleY);\n // Якщо кут близький до вертикального або перевернутий, коригуємо його\n if (Math.abs(angle) > Math.PI / 2) {\n ctx.rotate(angle + Math.PI);\n ctx.textAlign = 'center';\n } else {\n ctx.rotate(angle);\n ctx.textAlign = 'center';\n }\n\n // Рисуємо фон для тексту для кращої читаємості\n const textWidth = ctx.measureText(label).width;\n const padding = 2;\n ctx.fillStyle = highlightLinks.has(link) ? 'rgba(255, 230, 204, 0.9)' : 'rgba(255, 255, 255, 0.8)';\n ctx.fillRect(\n -textWidth / 2 - padding,\n -scaledFontSize / 2 - padding,\n textWidth + padding * 2,\n scaledFontSize + padding * 2\n );\n\n // Малюємо текст\n ctx.fillStyle = highlightLinks.has(link) ? '#663300' : '#666';\n ctx.fillText(label, 0, 0);\n\n // Відновлення стану контексту\n ctx.restore();\n };\n\n const handleNodeClick = (node: NodeObject, event: MouseEvent) => {\n if (!node || !fgRef.current) return;\n\n const buttonRadius = (config.nodeSizeBase * config.nodeAreaFactor) / 2;\n const zoom = fgRef.current.zoom() || 1; // Отримуємо поточний зум\n const canvas = event.target as HTMLCanvasElement;\n // Координати вузла в системі координат графа\n const nodeX = node.x as number;\n const nodeY = node.y as number;\n\n // // Отримуємо позицію canvas відносно вікна\n const canvasRect = canvas.getBoundingClientRect();\n\n // Координати кліку відносно canvas\n // event.clientX/Y - це координати кліку відносно вікна браузера\n // віднімаємо координати canvas щоб отримати координати відносно canvas\n // враховуємо також можливий скролінг сторінки\n const clickX = event.clientX - canvasRect.left;\n const clickY = event.clientY - canvasRect.top;\n\n // Враховуємо співвідношення між реальними розмірами canvas та його відображенням на екрані\n // це важливо якщо canvas відмальовується з відмінним від реального розміру\n const canvasScaleX = canvas.width / canvasRect.width;\n const canvasScaleY = canvas.height / canvasRect.height;\n\n // Масштабовані координати кліку у внутрішній системі координат canvas\n const scaledClickX = clickX * canvasScaleX;\n const scaledClickY = clickY * canvasScaleY;\n\n // Отримуємо параметри трансформації графа\n // ForceGraph використовує центр канваса як початок координат\n // і застосовує зум і панорамування до всіх координат\n const graphCenter = {\n x: canvas.width / 2,\n y: canvas.height / 2,\n };\n\n // Спробуємо отримати реальні координати вузла на екрані\n // Якщо доступний метод перетворення координат\n let nodeScreenX, nodeScreenY;\n\n if (typeof fgRef.current.graph2ScreenCoords === 'function') {\n // Використовуємо API графа для перетворення координат\n const screenPos = fgRef.current.graph2ScreenCoords(nodeX, nodeY);\n if (screenPos) {\n nodeScreenX = screenPos.x;\n nodeScreenY = screenPos.y;\n }\n }\n\n // Якщо метод не доступний, спробуємо обчислити позицію\n if (nodeScreenX === undefined || nodeScreenY === undefined) {\n // Це наближене обчислення, яке може бути неточним, але краще ніж нічого\n // Ми припускаємо, що граф знаходиться в центрі канваса і застосовується масштабування\n nodeScreenX = graphCenter.x + nodeX * zoom;\n nodeScreenY = graphCenter.y + nodeY * zoom;\n }\n\n // Перевіряємо клік на верхній кнопці (hide)\n if (\n isPointInButtonArea(\n scaledClickX,\n scaledClickY,\n nodeScreenX,\n nodeScreenY,\n buttonRadius * zoom, // Масштабуємо радіус відповідно до зуму\n Math.PI, // Початковий кут для верхньої півсфери\n Math.PI * 2 // Кінцевий кут для верхньої півсфери\n )\n ) {\n handleHideNode(hoverNode);\n event.stopPropagation();\n return;\n }\n\n // Перевіряємо клік на нижній кнопці (collapse)\n if (\n isPointInButtonArea(\n scaledClickX,\n scaledClickY,\n nodeScreenX,\n nodeScreenY,\n buttonRadius * zoom, // Масштабуємо радіус відповідно до зуму\n 0, // Початковий кут для нижньої півсфери\n Math.PI // Кінцевий кут для нижньої півсфери\n )\n ) {\n handleCollapseChildren(hoverNode);\n event.stopPropagation();\n return;\n }\n\n // Якщо клік не на кнопках, обробляємо клік на вузлі\n if (onNodeClick) onNodeClick(node);\n };\n\n return (\n <Wrapper ref={wrapperRef}>\n <ForceGraph2D\n ref={fgRef}\n width={width}\n height={height}\n graphData={graphData}\n linkTarget={linkTarget}\n linkSource={linkSource}\n onLinkClick={onLinkClick}\n onNodeClick={handleNodeClick}\n nodeLabel={(node: any) => `${node.label || ''}`} // Показуємо повний текст у тултіпі\n linkLabel={(link: any) => link.label}\n nodeAutoColorBy=\"label\"\n linkDirectionalArrowLength={3.5}\n linkDirectionalArrowRelPos={1}\n linkCurvature={0}\n // Обмеження максимального зуму\n maxZoom={config.maxZoom}\n minZoom={1}\n // Додавання обробників наведення\n onNodeHover={handleNodeHover}\n onLinkHover={handleLinkHover}\n // Виділення зв'язків при наведенні\n linkWidth={(link: any) => (highlightLinks.has(link) ? 3 : 1)}\n linkColor={(link: any) => (highlightLinks.has(link) ? '#ff9900' : '#999')}\n onRenderFramePre={renderGrid}\n nodePointerAreaPaint={renderNodePointerAreaPaint}\n nodeCanvasObject={renderNodeCanvasObject}\n linkCanvasObjectMode={() => 'after'}\n linkCanvasObject={renderLinkCanvasObject}\n linkVisibility={(link: any) => {\n // Перевіряємо, чи вузол прихований\n if (hiddenNodes.has(link.source.id) || hiddenNodes.has(link.target.id)) return false;\n // Перевіряємо, чи вузол згорнутий\n if (collapsedNodes.has(link.source.id) || collapsedNodes.has(link.target.id)) return false;\n\n return true; // Показуємо вузол, якщо не прихований і не згорнутий\n }}\n nodeVisibility={(node: NodeObject) => {\n // Перевіряємо, чи вузол прихований\n if (hiddenNodes.has(node.id as string)) return false;\n // Перевіряємо, чи вузол згорнутий\n if (collapsedNodes.has(node.id as string)) return false;\n return true; // Показуємо вузол, якщо не прихований і не згорнутий\n }}\n />\n </Wrapper>\n );\n};\n\nconst Wrapper = styled.div`\n display: inline-block;\n`;\n"]}