@cyber-harbour/ui 1.0.21 → 1.0.23
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.
- package/dist/index.d.mts +37 -6
- package/dist/index.d.ts +37 -6
- package/dist/index.js +123 -67
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +114 -58
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/Core/ContextMenu/ContextMenu.tsx +12 -6
- package/src/Core/IconComponents/Users.tsx +36 -0
- package/src/Core/IconComponents/index.ts +1 -0
- package/src/Core/RowActionsMenu/RowActionsMenu.tsx +151 -0
- package/src/Core/RowActionsMenu/index.ts +1 -0
- package/src/Core/Select/Select.tsx +7 -1
- package/src/Core/index.ts +1 -0
- package/src/Theme/theme.ts +33 -0
- package/src/Theme/types.ts +7 -0
package/dist/index.mjs.map
CHANGED
|
@@ -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/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/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","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","buttonRef","useRef","useTheme","Popover","ContextMenuDelimiter","useContextMenuControl","setIsOpen","useState","prev","Select","options","selected","handleSelect","placeholder","handleToggle","option","StyledWrapper","item","$selected","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 } 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};\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 { 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}\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}: 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: '500px',\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 >\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}>`\n ${({ $size, $disabled, $fullWidth, theme }) => {\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: ${theme.contextMenu.button.default.border};\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: ${theme.contextMenu.button.hover.border};\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: ${theme.contextMenu.button.active.border};\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: ${theme.contextMenu.button.disabled.border};\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}\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}: 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 >\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 { 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/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/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","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","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 } 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};\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 { 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 { 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"]}
|