@aciole/acyon 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"acyon.es.js","sources":["../src/utils/classNames.ts","../src/utils/variants.ts","../src/utils/styleTokens.ts","../src/components/Loader/Loader.tsx","../src/components/Button/Button.tsx","../src/components/IconButton/IconButton.tsx","../src/utils/formater.ts","../src/components/Text/Text.tsx","../src/components/Flex/Flex.tsx","../src/components/FormField/FormField.tsx","../src/icons/IconBase.tsx","../src/icons/generated.tsx","../src/components/Input/Input.tsx","../src/components/TextArea/TextArea.tsx","../src/components/Search/Search.tsx","../src/components/DatePicker/DatePicker.tsx","../src/components/Select/Select.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/Radio.tsx","../src/components/Slider/Slider.tsx","../src/components/FileUpload/FileUpload.tsx","../src/components/Heading/Heading.tsx","../src/components/Card/Card.tsx","../src/components/Box/Box.tsx","../src/components/Grid/Grid.tsx","../src/components/Container/Container.tsx","../src/components/Spacer/Spacer.tsx","../src/components/Divider/Divider.tsx","../src/components/List/List.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Code/Code.tsx","../src/components/Link/Link.tsx","../src/components/Badge/Badge.tsx","../src/components/Tag/Tag.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Skeleton/Skeleton.tsx","../src/components/Image/Image.tsx","../src/components/Switch/Switch.tsx","../src/components/Pagination/Pagination.tsx","../src/components/EmptyState/EmptyState.tsx","../src/components/Modal/Modal.tsx","../src/components/Drawer/Drawer.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/Toast/Toast.tsx","../src/components/Table/Table.tsx","../src/components/Sidebar/Sidebar.tsx","../src/components/ThemeProvider/ThemeProvider.tsx","../src/components/TopBar/TopBar.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/Breadcrumb/Breadcrumb.tsx","../src/components/Progress/Progress.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Timeline/Timeline.tsx"],"sourcesContent":["/**\r\n * classNames – combina strings de classes CSS ignorando falsy values.\r\n * Similar ao `clsx` mas sem dependências externas.\r\n */\r\ntype ClassValue = string | undefined | null | false | ClassValue[] | Record<string, unknown>;\r\n\r\nexport function classNames(...args: ClassValue[]): string {\r\n const classes: string[] = [];\r\n\r\n for (const arg of args) {\r\n if (!arg) continue;\r\n \r\n if (typeof arg === 'string') {\r\n classes.push(arg);\r\n } else if (Array.isArray(arg)) {\r\n const nested = classNames(...arg);\r\n if (nested) classes.push(nested);\r\n } else if (typeof arg === 'object') {\r\n for (const key in arg) {\r\n if (arg[key]) {\r\n classes.push(key);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return classes.join(' ');\r\n}\r\n\r\n\r\n\r\n","/**\r\n * Sistema de variants – mapeia variant/size → classes CSS.\r\n * Inspirado no CVA mas sem dependências externas.\r\n */\r\n\r\ntype VariantMap<V extends string, S extends string> = {\r\n base?: string;\r\n variants?: Partial<Record<V, string>>;\r\n sizes?: Partial<Record<S, string>>;\r\n compound?: Array<{\r\n variant?: V;\r\n size?: S;\r\n className: string;\r\n }>;\r\n defaultVariants?: {\r\n variant?: V;\r\n size?: S;\r\n };\r\n};\r\n\r\ntype VariantOptions<V extends string, S extends string> = {\r\n variant?: V;\r\n size?: S;\r\n className?: string;\r\n};\r\n\r\nexport function createVariants<V extends string, S extends string>(\r\n config: VariantMap<V, S>\r\n) {\r\n return function resolve(options: VariantOptions<V, S> = {}): string {\r\n const variant = options.variant ?? config.defaultVariants?.variant;\r\n const size = options.size ?? config.defaultVariants?.size;\r\n\r\n const classes: string[] = [];\r\n\r\n if (config.base) classes.push(config.base);\r\n if (variant && config.variants?.[variant]) {\r\n classes.push(config.variants[variant] as string);\r\n }\r\n if (size && config.sizes?.[size]) {\r\n classes.push(config.sizes[size] as string);\r\n }\r\n if (config.compound) {\r\n for (const c of config.compound) {\r\n const matchVariant = c.variant === undefined || c.variant === variant;\r\n const matchSize = c.size === undefined || c.size === size;\r\n if (matchVariant && matchSize) classes.push(c.className);\r\n }\r\n }\r\n if (options.className) classes.push(options.className);\r\n\r\n return classes.filter(Boolean).join(' ');\r\n };\r\n}\r\n\r\n\r\n\r\n","import type { LooseStringUnion } from '../components/types';\n\nexport type TokenColor = 'primary' | 'success' | 'danger' | 'warning' | 'info' | 'neutral';\nexport type ColorValue = LooseStringUnion<TokenColor>;\nexport type TokenTextColor = LooseStringUnion<TokenColor | 'default' | 'subtle' | 'muted' | 'inverse' | 'disabled'>;\nexport type TokenIconColor = LooseStringUnion<TokenColor | 'default' | 'disabled'>;\n\nexport type TokenSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type TokenWeight = 'normal' | 'medium' | 'semibold' | 'bold';\n\nconst TOKEN_COLORS: readonly TokenColor[] = ['primary', 'success', 'danger', 'warning', 'info', 'neutral'];\n\nexport function isTokenColor(color?: string): color is TokenColor {\n if (!color) return false;\n return TOKEN_COLORS.includes(color as TokenColor);\n}\n\nfunction normalizeTokenColor(color?: ColorValue): TokenColor | undefined {\n if (!color) return undefined;\n return isTokenColor(color) ? color : undefined;\n}\n\nexport function colorVar(color?: ColorValue): string | undefined {\n if (!color) return undefined;\n if (!isTokenColor(color)) return color;\n if (color === 'neutral') return 'var(--border-main)';\n return `var(--color-${color})`;\n}\n\nexport function textColorVar(color?: TokenTextColor): string | undefined {\n if (!color) return 'var(--text-main)';\n if (color === 'default') return 'var(--text-main)';\n if (color === 'disabled') return 'var(--text-muted)';\n if (color === 'subtle') return 'var(--text-subtle)';\n if (color === 'muted') return 'var(--text-muted)';\n if (color === 'inverse') return 'var(--text-inverse)';\n\n const normalized = normalizeTokenColor(color as ColorValue);\n if (!normalized) return color;\n return `var(--color-${normalized})`;\n}\n\nexport function iconColorVar(color?: TokenIconColor): string | undefined {\n if (!color) return 'currentColor';\n if (color === 'default') return 'currentColor';\n if (color === 'disabled') return 'var(--text-muted)';\n\n const normalized = normalizeTokenColor(color as ColorValue);\n if (!normalized) return color;\n return `var(--color-${normalized})`;\n}\n\nexport function fontSizeVar(size?: TokenSize): string | undefined {\n return size ? `var(--font-size-${size})` : undefined;\n}\n\nexport function fontWeightVar(weight?: TokenWeight): string | undefined {\n return weight ? `var(--font-weight-${weight})` : undefined;\n}\n\nexport function spaceVar(space: string | number): string {\n return `var(--space-${space})`;\n}\n","import './Loader.css';\r\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { LoaderProps } from './types';\n\nexport type { LoaderProps, LoaderSize } from './types';\n\r\nexport function Loader({ size = 'md', color, className, label = 'Loading...' }: LoaderProps) {\r\n const style = color ? { ['--loader-color' as string]: colorVar(color) } : {};\r\n \r\n return (\r\n <span role=\"status\" aria-label={label} className={classNames('loader', `loader--${size}`, className)} style={style}>\r\n <span className=\"loader__ring\" />\r\n <span className=\"sr-only\">{label}</span>\r\n </span>\r\n );\r\n}\r\n\r\n","import './Button.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar, isTokenColor } from '../../utils/styleTokens';\nimport { Loader } from '../Loader/Loader';\nimport type { ButtonProps } from './types';\n\nexport type { ButtonColor, ButtonProps, ButtonSize, ButtonVariant } from './types';\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({\n variant = 'solid',\n size = 'md',\n loading = false,\n disabled,\n icon,\n iconRight = false,\n full = false,\n color = 'primary',\n children,\n className,\n style,\n ...props\n }, ref) => {\n const isDisabled = disabled || loading;\n const tokenColor = isTokenColor(color) || color === 'default' ? color : undefined;\n const customColor = !color || tokenColor || color === 'default' ? undefined : colorVar(color);\n const buttonStyle = customColor\n ? {\n ...style,\n ['--btn-base' as string]: customColor,\n ['--btn-bg' as string]: customColor,\n ['--btn-text' as string]: 'var(--text-inverse)',\n }\n : style;\n\n return (\n <button\n ref={ref}\n disabled={isDisabled}\n aria-busy={loading}\n className={classNames(\n 'btn',\n `btn--${variant}`,\n `btn--${size}`,\n tokenColor && `btn--color-${tokenColor}`,\n full && 'btn--full',\n loading && 'btn--loading',\n className\n )}\n style={buttonStyle}\n {...props}\n >\n {loading && (\n <Loader \n size={size === 'xs' || size === 'sm' ? 'xs' : size === 'md' ? 'sm' : 'md'} \n className=\"btn__spinner\" \n />\n )}\n {!loading && icon && !iconRight && (\n <span className=\"btn__icon btn__icon--left\">{icon}</span>\n )}\n {children && <span className=\"btn__label\">{children}</span>}\n {!loading && icon && iconRight && (\n <span className=\"btn__icon btn__icon--right\">{icon}</span>\n )}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n","import React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport './IconButton.css';\nimport { Loader } from '../Loader/Loader';\nimport { Button } from '../Button/Button';\nimport type { IconButtonProps } from './types';\n\nexport type { IconButtonProps, IconButtonSize, IconButtonVariant } from './types';\n\nexport const IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ icon, variant = 'solid', size = 'md', loading = false, disabled, className, style, label, ...props }, ref) => {\n return (\n <Button\n ref={ref}\n className={classNames('icon-btn', `icon-btn--size-${size}`, className)}\n aria-label={label || (typeof icon === 'string' ? icon : 'icon-button')}\n aria-busy={loading}\n variant={variant}\n size={size}\n disabled={disabled || loading}\n style={style}\n {...props}\n >\n {loading ? (\n <Loader />\n ) : (\n <span className=\"icon-btn__content\">\n {icon}\n </span>\n )}\n </Button>\n );\n }\n);\n\nIconButton.displayName = 'IconButton';\n","export function LabelFormater(text: string): string {\r\n if (!text) return '';\r\n\r\n return text\r\n .toLowerCase()\r\n .replace(/^\\p{L}/u, (char) => char.toUpperCase());\r\n}\r\n\r\n\r\n","import React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { isTokenColor, textColorVar } from '../../utils/styleTokens';\nimport './Text.css';\nimport type { TextProps } from './types';\n\nexport type { TextColor, TextOwnProps, TextProps, TextSize, TextWeight } from './types';\n\nexport const Text = <TElement extends React.ElementType = 'p'>({\n size = 'md',\n color = 'default',\n weight = 'normal',\n as,\n className,\n children,\n style,\n ...props\n}: TextProps<TElement>) => {\n const Component = (as || 'p') as React.ElementType;\n const tokenColorClass = isTokenColor(color) || ['default', 'subtle', 'muted', 'inverse'].includes(color)\n ? `text--color-${color}`\n : undefined;\n\n return (\n <Component\n className={classNames(\n 'text',\n `text--size-${size}`,\n tokenColorClass,\n `text--weight-${weight}`,\n className\n )}\n style={!tokenColorClass ? { ...style, color: textColorVar(color) } : style}\n {...props}\n >\n {children}\n </Component>\n );\n};\n","import React from 'react';\nimport './Flex.css';\nimport { classNames } from '../../utils/classNames';\nimport type { FlexProps } from './types';\n\nexport type { FlexAlign, FlexDirection, FlexGap, FlexJustify, FlexOwnProps, FlexProps, FlexWrap } from './types';\n\nexport const Flex = <TElement extends React.ElementType = 'div'>({\n children,\r\n direction = 'row',\r\n align = 'stretch',\r\n justify = 'flex-start',\r\n wrap = 'nowrap',\r\n gap = '0',\n className,\n style,\n as,\n ...props\n}: FlexProps<TElement>) => {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n className={classNames(\r\n 'flex',\r\n `flex-direction--${direction}`,\r\n `flex-align--${align}`,\r\n `flex-justify--${justify}`,\r\n `flex-wrap--${wrap}`,\r\n `flex-gap--${gap}`,\r\n className\r\n )}\r\n style={style}\r\n {...props}\r\n >\r\n {children}\n </Component>\n );\n};\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\nimport { classNames, LabelFormater } from '../../utils';\nimport { Text } from '../Text/Text';\nimport { Flex } from '../Flex/Flex';\nimport './FormField.css';\nimport type { FormFieldProps } from './types';\n\nexport type { FormFieldProps } from './types';\n\r\nexport const FormField: React.FC<FormFieldProps> = ({\r\n label,\r\n error,\r\n hint,\r\n children,\r\n full = false,\r\n className,\r\n htmlFor\r\n}) => {\r\n return (\r\n <Flex direction=\"column\" gap=\"1\" className={classNames('form-field-root', full && 'form-field--full', className)}>\r\n {label && (\r\n <Text size=\"sm\" weight=\"medium\" as=\"label\" htmlFor={htmlFor} className=\"form-field-label\">\r\n {LabelFormater(label)}\r\n </Text>\r\n )}\r\n {children}\r\n {error && (\r\n <Text as=\"span\" color=\"danger\" size=\"sm\" className=\"form-field-message\" role=\"alert\">\r\n {error}\r\n </Text>\r\n )}\r\n {!error && hint && (\r\n <Text as=\"span\" color=\"subtle\" size=\"sm\" className=\"form-field-message\">\r\n {hint}\r\n </Text>\r\n )}\r\n </Flex>\r\n );\r\n};\r\n","import React from 'react';\n\nexport interface IconProps extends Omit<React.SVGProps<SVGSVGElement>, 'name'> {\n size?: number;\n}\n\nexport function IconBase({\n size = 20,\n width,\n height,\n viewBox = '0 0 24 24',\n fill = 'none',\n stroke = 'currentColor',\n strokeWidth = 2,\n strokeLinecap = 'round',\n strokeLinejoin = 'round',\n children,\n ...props\n}: IconProps) {\n return (\n <svg\n width={width ?? size}\n height={height ?? size}\n viewBox={viewBox}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n strokeLinecap={strokeLinecap}\n strokeLinejoin={strokeLinejoin}\n aria-hidden=\"true\"\n {...props}\n >\n {children}\n </svg>\n );\n}\n","import React from 'react';\nimport { IconBase } from './IconBase';\nimport type { IconProps } from './IconBase';\n\nexport type IconName =\n | 'activity'\n | 'alert-circle'\n | 'alert-triangle'\n | 'align-horizontal'\n | 'align-justify'\n | 'app-window'\n | 'arrow-down'\n | 'arrow-left'\n | 'arrow-right'\n | 'arrow-up'\n | 'badge'\n | 'battery'\n | 'bell'\n | 'bluetooth'\n | 'book'\n | 'box'\n | 'calendar'\n | 'camera'\n | 'check-square'\n | 'check'\n | 'chevron-down'\n | 'chevron-left'\n | 'chevron-right'\n | 'chevron-up'\n | 'chevron'\n | 'circle-dot'\n | 'clock'\n | 'close'\n | 'cloud'\n | 'code'\n | 'component'\n | 'copy'\n | 'credit-card'\n | 'database'\n | 'download'\n | 'edit'\n | 'external-link'\n | 'eye-off'\n | 'eye'\n | 'file-text'\n | 'file'\n | 'filter'\n | 'folder'\n | 'form-input'\n | 'ghost'\n | 'gift'\n | 'git-commit'\n | 'github'\n | 'grid'\n | 'grip'\n | 'heading1'\n | 'heart'\n | 'help-circle'\n | 'history'\n | 'home'\n | 'image'\n | 'info'\n | 'lab'\n | 'laptop'\n | 'layout-template'\n | 'layout'\n | 'link'\n | 'linkedin'\n | 'list-checks'\n | 'list-collapse'\n | 'list-filter'\n | 'list'\n | 'loader2'\n | 'lock'\n | 'log-in'\n | 'log-out'\n | 'mail'\n | 'map-pin'\n | 'menu'\n | 'message-circle'\n | 'message-square'\n | 'mic'\n | 'milestone'\n | 'minus'\n | 'monitor'\n | 'moon'\n | 'more-horizontal'\n | 'mouse-pointer'\n | 'music'\n | 'panel-left'\n | 'panel-top'\n | 'panel'\n | 'phone'\n | 'plus'\n | 'rectangle-horizontal'\n | 'refresh'\n | 'rocket'\n | 'ruler'\n | 'search'\n | 'server'\n | 'settings'\n | 'share'\n | 'shield'\n | 'shopping-cart'\n | 'sliders-horizontal'\n | 'smartphone'\n | 'spark'\n | 'sparkles'\n | 'spinner'\n | 'square'\n | 'star'\n | 'sun'\n | 'table'\n | 'tablet'\n | 'tag'\n | 'text-cursor'\n | 'theme-dark'\n | 'theme-light'\n | 'toggle-right'\n | 'trash'\n | 'type'\n | 'unlock'\n | 'upload-cloud'\n | 'upload'\n | 'user-circle'\n | 'user'\n | 'video'\n | 'warning'\n | 'wifi'\n | 'x'\n | 'zap';\n\nconst icons = {\n 'activity': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\\\" />\",\n },\n 'alert-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12\\\" y1=\\\"8\\\" y2=\\\"12\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12.01\\\" y1=\\\"16\\\" y2=\\\"16\\\" />\",\n },\n 'alert-triangle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\\\" />\\n <path d=\\\"M12 9v4\\\" />\\n <path d=\\\"M12 17h.01\\\" />\",\n },\n 'align-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"6\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"5\\\" rx=\\\"2\\\" />\\n <rect width=\\\"6\\\" height=\\\"10\\\" x=\\\"16\\\" y=\\\"7\\\" rx=\\\"2\\\" />\\n <path d=\\\"M12 2v20\\\" />\",\n },\n 'align-justify': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 5h18\\\" />\\n <path d=\\\"M3 12h18\\\" />\\n <path d=\\\"M3 19h18\\\" />\",\n },\n 'app-window': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect x=\\\"2\\\" y=\\\"4\\\" width=\\\"20\\\" height=\\\"16\\\" rx=\\\"2\\\" />\\n <path d=\\\"M10 4v4\\\" />\\n <path d=\\\"M2 8h20\\\" />\\n <path d=\\\"M6 4v4\\\" />\",\n },\n 'arrow-down': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 5v14\\\" />\\n <path d=\\\"m19 12-7 7-7-7\\\" />\",\n },\n 'arrow-left': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m12 19-7-7 7-7\\\" />\\n <path d=\\\"M19 12H5\\\" />\",\n },\n 'arrow-right': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M5 12h14\\\" />\\n <path d=\\\"m12 5 7 7-7 7\\\" />\",\n },\n 'arrow-up': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m5 12 7-7 7 7\\\" />\\n <path d=\\\"M12 19V5\\\" />\",\n },\n 'badge': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\\\" />\",\n },\n 'battery': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M 22 14 L 22 10\\\" />\\n <rect x=\\\"2\\\" y=\\\"6\\\" width=\\\"16\\\" height=\\\"12\\\" rx=\\\"2\\\" />\",\n },\n 'bell': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10.268 21a2 2 0 0 0 3.464 0\\\" />\\n <path d=\\\"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326\\\" />\",\n },\n 'bluetooth': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m7 7 10 10-5 5V2l5 5L7 17\\\" />\",\n },\n 'book': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\\\" />\\n <path d=\\\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\\\" />\",\n },\n 'box': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z\\\" />\\n <path d=\\\"m3.3 7 8.7 5 8.7-5\\\" />\\n <path d=\\\"M12 22V12\\\" />\",\n },\n 'calendar': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M8 2v4\\\" />\\n <path d=\\\"M16 2v4\\\" />\\n <rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"4\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 10h18\\\" />\",\n },\n 'camera': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"13\\\" r=\\\"3\\\" />\",\n },\n 'check-square': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344\\\" />\\n <path d=\\\"m9 11 3 3L22 4\\\" />\",\n },\n 'check': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20 6 9 17l-5-5\\\" />\",\n },\n 'chevron-down': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m6 9 6 6 6-6\\\" />\",\n },\n 'chevron-left': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m15 18-6-6 6-6\\\" />\",\n },\n 'chevron-right': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m9 18 6-6-6-6\\\" />\",\n },\n 'chevron-up': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m18 15-6-6-6 6\\\" />\",\n },\n 'chevron': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m9 18 6-6-6-6\\\" />\",\n },\n 'circle-dot': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\" />\",\n },\n 'clock': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <path d=\\\"M12 6v6l4 2\\\" />\",\n },\n 'close': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M18 6 6 18\\\" />\\n <path d=\\\"m6 6 12 12\\\" />\",\n },\n 'cloud': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z\\\" />\",\n },\n 'code': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m10 9-3 3 3 3\\\"/><path d=\\\"m14 15 3-3-3-3\\\"/><rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\"/>\",\n },\n 'component': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\\\" />\\n <path d=\\\"M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z\\\" />\\n <path d=\\\"M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z\\\" />\\n <path d=\\\"M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\\\" />\",\n },\n 'copy': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"14\\\" height=\\\"14\\\" x=\\\"8\\\" y=\\\"8\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\\" />\",\n },\n 'credit-card': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"5\\\" rx=\\\"2\\\" />\\n <line x1=\\\"2\\\" x2=\\\"22\\\" y1=\\\"10\\\" y2=\\\"10\\\" />\",\n },\n 'database': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<ellipse cx=\\\"12\\\" cy=\\\"5\\\" rx=\\\"9\\\" ry=\\\"3\\\" />\\n <path d=\\\"M3 5V19A9 3 0 0 0 21 19V5\\\" />\\n <path d=\\\"M3 12A9 3 0 0 0 21 12\\\" />\",\n },\n 'download': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 15V3\\\" />\\n <path d=\\\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\" />\\n <path d=\\\"m7 10 5 5 5-5\\\" />\",\n },\n 'edit': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\\\" />\\n <path d=\\\"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\\\" />\",\n },\n 'external-link': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15 3h6v6\\\" />\\n <path d=\\\"M10 14 21 3\\\" />\\n <path d=\\\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\\\" />\",\n },\n 'eye-off': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49\\\" />\\n <path d=\\\"M14.084 14.158a3 3 0 0 1-4.242-4.242\\\" />\\n <path d=\\\"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143\\\" />\\n <path d=\\\"m2 2 20 20\\\" />\",\n },\n 'eye': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\" />\",\n },\n 'file-text': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\\" />\\n <path d=\\\"M14 2v5a1 1 0 0 0 1 1h5\\\" />\\n <path d=\\\"M10 9H8\\\" />\\n <path d=\\\"M16 13H8\\\" />\\n <path d=\\\"M16 17H8\\\" />\",\n },\n 'file': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\\" />\\n <path d=\\\"M14 2v5a1 1 0 0 0 1 1h5\\\" />\",\n },\n 'filter': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z\\\" />\",\n },\n 'folder': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\\\" />\",\n },\n 'form-input': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"12\\\" x=\\\"2\\\" y=\\\"6\\\" rx=\\\"2\\\" />\\n <path d=\\\"M12 12h.01\\\" />\\n <path d=\\\"M17 12h.01\\\" />\\n <path d=\\\"M7 12h.01\\\" />\",\n },\n 'ghost': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M9 10h.01\\\" />\\n <path d=\\\"M15 10h.01\\\" />\\n <path d=\\\"M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z\\\" />\",\n },\n 'gift': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 7v14\\\" />\\n <path d=\\\"M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8\\\" />\\n <path d=\\\"M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5\\\" />\\n <rect x=\\\"3\\\" y=\\\"7\\\" width=\\\"18\\\" height=\\\"4\\\" rx=\\\"1\\\" />\",\n },\n 'git-commit': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\" />\\n <line x1=\\\"3\\\" x2=\\\"9\\\" y1=\\\"12\\\" y2=\\\"12\\\" />\\n <line x1=\\\"15\\\" x2=\\\"21\\\" y1=\\\"12\\\" y2=\\\"12\\\" />\",\n },\n 'github': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\\\" />\\n <path d=\\\"M9 18c-4.51 2-5-2-7-2\\\" />\",\n },\n 'grid': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 9h18\\\" />\\n <path d=\\\"M3 15h18\\\" />\\n <path d=\\\"M9 3v18\\\" />\\n <path d=\\\"M15 3v18\\\" />\",\n },\n 'grip': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"12\\\" cy=\\\"19\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"19\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"19\\\" r=\\\"1\\\"/>\",\n },\n 'heading1': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M4 12h8\\\" />\\n <path d=\\\"M4 18V6\\\" />\\n <path d=\\\"M12 18V6\\\" />\\n <path d=\\\"m17 12 3-2v8\\\" />\",\n },\n 'heart': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\\\" />\",\n },\n 'help-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <path d=\\\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\\\" />\\n <path d=\\\"M12 17h.01\\\" />\",\n },\n 'history': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\\\" />\\n <path d=\\\"M3 3v5h5\\\" />\\n <path d=\\\"M12 7v5l4 2\\\" />\",\n },\n 'home': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\\\" />\\n <path d=\\\"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\" />\",\n },\n 'image': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <circle cx=\\\"9\\\" cy=\\\"9\\\" r=\\\"2\\\" />\\n <path d=\\\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\\\" />\",\n },\n 'info': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <path d=\\\"M12 16v-4\\\" />\\n <path d=\\\"M12 8h.01\\\" />\",\n },\n 'lab': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2\\\" />\\n <path d=\\\"M6.453 15h11.094\\\" />\\n <path d=\\\"M8.5 2h7\\\" />\",\n },\n 'laptop': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z\\\" />\\n <path d=\\\"M20.054 15.987H3.946\\\" />\",\n },\n 'layout-template': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"7\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"1\\\" />\\n <rect width=\\\"9\\\" height=\\\"7\\\" x=\\\"3\\\" y=\\\"14\\\" rx=\\\"1\\\" />\\n <rect width=\\\"5\\\" height=\\\"7\\\" x=\\\"16\\\" y=\\\"14\\\" rx=\\\"1\\\" />\",\n },\n 'layout': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\" />\\n <line x1=\\\"9\\\" y1=\\\"3\\\" x2=\\\"9\\\" y2=\\\"21\\\" />\\n <line x1=\\\"9\\\" y1=\\\"9\\\" x2=\\\"21\\\" y2=\\\"9\\\" />\",\n },\n 'link': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\\\" />\\n <path d=\\\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\\\" />\",\n },\n 'linkedin': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\\\" />\\n <rect width=\\\"4\\\" height=\\\"12\\\" x=\\\"2\\\" y=\\\"9\\\" />\\n <circle cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\" />\",\n },\n 'list-checks': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M13 5h8\\\" />\\n <path d=\\\"M13 12h8\\\" />\\n <path d=\\\"M13 19h8\\\" />\\n <path d=\\\"m3 17 2 2 4-4\\\" />\\n <path d=\\\"m3 7 2 2 4-4\\\" />\",\n },\n 'list-collapse': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 5h11\\\" />\\n <path d=\\\"M10 12h11\\\" />\\n <path d=\\\"M10 19h11\\\" />\\n <path d=\\\"m3 10 3-3-3-3\\\" />\\n <path d=\\\"m3 20 3-3-3-3\\\" />\",\n },\n 'list-filter': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2 5h20\\\" />\\n <path d=\\\"M6 12h12\\\" />\\n <path d=\\\"M9 19h6\\\" />\",\n },\n 'list': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 5h.01\\\" />\\n <path d=\\\"M3 12h.01\\\" />\\n <path d=\\\"M3 19h.01\\\" />\\n <path d=\\\"M8 5h13\\\" />\\n <path d=\\\"M8 12h13\\\" />\\n <path d=\\\"M8 19h13\\\" />\",\n },\n 'loader2': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 12a9 9 0 1 1-6.219-8.56\\\" />\",\n },\n 'lock': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"11\\\" x=\\\"3\\\" y=\\\"11\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M7 11V7a5 5 0 0 1 10 0v4\\\" />\",\n },\n 'log-in': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m10 17 5-5-5-5\\\" />\\n <path d=\\\"M15 12H3\\\" />\\n <path d=\\\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\\\" />\",\n },\n 'log-out': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m16 17 5-5-5-5\\\" />\\n <path d=\\\"M21 12H9\\\" />\\n <path d=\\\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\\\" />\",\n },\n 'mail': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\\\" />\\n <rect x=\\\"2\\\" y=\\\"4\\\" width=\\\"20\\\" height=\\\"16\\\" rx=\\\"2\\\" />\",\n },\n 'map-pin': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"10\\\" r=\\\"3\\\" />\",\n },\n 'menu': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M4 5h16\\\" />\\n <path d=\\\"M4 12h16\\\" />\\n <path d=\\\"M4 19h16\\\" />\",\n },\n 'message-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719\\\" />\",\n },\n 'message-square': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z\\\" />\",\n },\n 'mic': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 19v3\\\" />\\n <path d=\\\"M19 10v2a7 7 0 0 1-14 0v-2\\\" />\\n <rect x=\\\"9\\\" y=\\\"2\\\" width=\\\"6\\\" height=\\\"13\\\" rx=\\\"3\\\" />\",\n },\n 'milestone': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 13v8\\\" />\\n <path d=\\\"M12 3v3\\\" />\\n <path d=\\\"M4 6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h13a2 2 0 0 0 1.152-.365l3.424-2.317a1 1 0 0 0 0-1.635l-3.424-2.318A2 2 0 0 0 17 6z\\\" />\",\n },\n 'minus': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M5 12h14\\\" />\",\n },\n 'monitor': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <line x1=\\\"8\\\" x2=\\\"16\\\" y1=\\\"21\\\" y2=\\\"21\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12\\\" y1=\\\"17\\\" y2=\\\"21\\\" />\",\n },\n 'moon': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\\" />\",\n },\n 'more-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\" />\\n <circle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\" />\\n <circle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\" />\",\n },\n 'mouse-pointer': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M14 4.1 12 6\\\" />\\n <path d=\\\"m5.1 8-2.9-.8\\\" />\\n <path d=\\\"m6 12-1.9 2\\\" />\\n <path d=\\\"M7.2 2.2 8 5.1\\\" />\\n <path d=\\\"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z\\\" />\",\n },\n 'music': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M9 18V5l12-2v13\\\" />\\n <circle cx=\\\"6\\\" cy=\\\"18\\\" r=\\\"3\\\" />\\n <circle cx=\\\"18\\\" cy=\\\"16\\\" r=\\\"3\\\" />\",\n },\n 'panel-left': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M9 3v18\\\" />\",\n },\n 'panel-top': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 9h18\\\" />\",\n },\n 'panel': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M12 3v18\\\"/>\",\n },\n 'phone': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\\\" />\",\n },\n 'plus': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M5 12h14\\\" />\\n <path d=\\\"M12 5v14\\\" />\",\n },\n 'rectangle-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"12\\\" x=\\\"2\\\" y=\\\"6\\\" rx=\\\"2\\\" />\",\n },\n 'refresh': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\\\" />\\n <path d=\\\"M21 3v5h-5\\\" />\\n <path d=\\\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\\\" />\\n <path d=\\\"M8 16H3v5\\\" />\",\n },\n 'rocket': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5\\\" />\\n <path d=\\\"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09\\\" />\\n <path d=\\\"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z\\\" />\\n <path d=\\\"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05\\\" />\",\n },\n 'ruler': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z\\\" />\\n <path d=\\\"m14.5 12.5 2-2\\\" />\\n <path d=\\\"m11.5 9.5 2-2\\\" />\\n <path d=\\\"m8.5 6.5 2-2\\\" />\\n <path d=\\\"m17.5 15.5 2-2\\\" />\",\n },\n 'search': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m21 21-4.34-4.34\\\" />\\n <circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\" />\",\n },\n 'server': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"8\\\" x=\\\"2\\\" y=\\\"2\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <rect width=\\\"20\\\" height=\\\"8\\\" x=\\\"2\\\" y=\\\"14\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <line x1=\\\"6\\\" x2=\\\"6.01\\\" y1=\\\"6\\\" y2=\\\"6\\\" />\\n <line x1=\\\"6\\\" x2=\\\"6.01\\\" y1=\\\"18\\\" y2=\\\"18\\\" />\",\n },\n 'settings': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\" />\",\n },\n 'share': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 2v13\\\" />\\n <path d=\\\"m16 6-4-4-4 4\\\" />\\n <path d=\\\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\\\" />\",\n },\n 'shield': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\\\" />\",\n },\n 'shopping-cart': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"8\\\" cy=\\\"21\\\" r=\\\"1\\\" />\\n <circle cx=\\\"19\\\" cy=\\\"21\\\" r=\\\"1\\\" />\\n <path d=\\\"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12\\\" />\",\n },\n 'sliders-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 5H3\\\" />\\n <path d=\\\"M12 19H3\\\" />\\n <path d=\\\"M14 3v4\\\" />\\n <path d=\\\"M16 17v4\\\" />\\n <path d=\\\"M21 12h-9\\\" />\\n <path d=\\\"M21 19h-5\\\" />\\n <path d=\\\"M21 5h-7\\\" />\\n <path d=\\\"M8 10v4\\\" />\\n <path d=\\\"M8 12H3\\\" />\",\n },\n 'smartphone': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"14\\\" height=\\\"20\\\" x=\\\"5\\\" y=\\\"2\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M12 18h.01\\\" />\",\n },\n 'spark': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\\\" />\\n <path d=\\\"M20 2v4\\\" />\\n <path d=\\\"M22 4h-4\\\" />\\n <circle cx=\\\"4\\\" cy=\\\"20\\\" r=\\\"2\\\" />\",\n },\n 'sparkles': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\\\" />\\n <path d=\\\"M20 2v4\\\" />\\n <path d=\\\"M22 4h-4\\\" />\\n <circle cx=\\\"4\\\" cy=\\\"20\\\" r=\\\"2\\\" />\",\n },\n 'spinner': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 12a9 9 0 1 1-6.219-8.56\\\" />\",\n },\n 'square': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\",\n },\n 'star': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\\\" />\",\n },\n 'sun': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\" />\\n <path d=\\\"M12 2v2\\\" />\\n <path d=\\\"M12 20v2\\\" />\\n <path d=\\\"m4.93 4.93 1.41 1.41\\\" />\\n <path d=\\\"m17.66 17.66 1.41 1.41\\\" />\\n <path d=\\\"M2 12h2\\\" />\\n <path d=\\\"M20 12h2\\\" />\\n <path d=\\\"m6.34 17.66-1.41 1.41\\\" />\\n <path d=\\\"m19.07 4.93-1.41 1.41\\\" />\",\n },\n 'table': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 3v18\\\" />\\n <rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 9h18\\\" />\\n <path d=\\\"M3 15h18\\\" />\",\n },\n 'tablet': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"16\\\" height=\\\"20\\\" x=\\\"4\\\" y=\\\"2\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12.01\\\" y1=\\\"18\\\" y2=\\\"18\\\" />\",\n },\n 'tag': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z\\\" />\\n <circle cx=\\\"7.5\\\" cy=\\\"7.5\\\" r=\\\".5\\\" fill=\\\"currentColor\\\" />\",\n },\n 'text-cursor': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6\\\" />\\n <path d=\\\"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7\\\" />\\n <path d=\\\"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1\\\" />\\n <path d=\\\"M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1\\\" />\\n <path d=\\\"M9 6v12\\\" />\",\n },\n 'theme-dark': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\\" />\",\n },\n 'theme-light': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\" />\\n <path d=\\\"M12 2v2\\\" />\\n <path d=\\\"M12 20v2\\\" />\\n <path d=\\\"m4.93 4.93 1.41 1.41\\\" />\\n <path d=\\\"m17.66 17.66 1.41 1.41\\\" />\\n <path d=\\\"M2 12h2\\\" />\\n <path d=\\\"M20 12h2\\\" />\\n <path d=\\\"m6.34 17.66-1.41 1.41\\\" />\\n <path d=\\\"m19.07 4.93-1.41 1.41\\\" />\",\n },\n 'toggle-right': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"15\\\" cy=\\\"12\\\" r=\\\"3\\\" />\\n <rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"5\\\" rx=\\\"7\\\" />\",\n },\n 'trash': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6\\\" />\\n <path d=\\\"M3 6h18\\\" />\\n <path d=\\\"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\\\" />\",\n },\n 'type': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 4v16\\\" />\\n <path d=\\\"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2\\\" />\\n <path d=\\\"M9 20h6\\\" />\",\n },\n 'unlock': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"11\\\" x=\\\"3\\\" y=\\\"11\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M7 11V7a5 5 0 0 1 9.9-1\\\" />\",\n },\n 'upload-cloud': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 13v8\\\" />\\n <path d=\\\"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\\\" />\\n <path d=\\\"m8 17 4-4 4 4\\\" />\",\n },\n 'upload': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 3v12\\\" />\\n <path d=\\\"m17 8-5-5-5 5\\\" />\\n <path d=\\\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\" />\",\n },\n 'user-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"10\\\" r=\\\"3\\\" />\\n <path d=\\\"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662\\\" />\",\n },\n 'user': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"7\\\" r=\\\"4\\\" />\",\n },\n 'video': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5\\\" />\\n <rect x=\\\"2\\\" y=\\\"6\\\" width=\\\"14\\\" height=\\\"12\\\" rx=\\\"2\\\" />\",\n },\n 'warning': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\\\" />\\n <path d=\\\"M12 9v4\\\" />\\n <path d=\\\"M12 17h.01\\\" />\",\n },\n 'wifi': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 20h.01\\\" />\\n <path d=\\\"M2 8.82a15 15 0 0 1 20 0\\\" />\\n <path d=\\\"M5 12.859a10 10 0 0 1 14 0\\\" />\\n <path d=\\\"M8.5 16.429a5 5 0 0 1 7 0\\\" />\",\n },\n 'x': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M18 6 6 18\\\" />\\n <path d=\\\"m6 6 12 12\\\" />\",\n },\n 'zap': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<polygon points=\\\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\\\" />\",\n },\n} satisfies Record<IconName, {\n viewBox: string;\n fill: string;\n stroke: string;\n strokeWidth: string;\n strokeLinecap: string;\n strokeLinejoin: string;\n body: string;\n}>;\n\nexport interface NamedIconProps extends IconProps {\n name: IconName;\n}\n\nexport function Icon({ name, ...props }: NamedIconProps) {\n const icon = icons[name];\n return (\n <IconBase\n viewBox={icon.viewBox}\n fill={icon.fill}\n stroke={icon.stroke}\n strokeWidth={Number(icon.strokeWidth)}\n strokeLinecap={icon.strokeLinecap as React.SVGProps<SVGSVGElement>['strokeLinecap']}\n strokeLinejoin={icon.strokeLinejoin as React.SVGProps<SVGSVGElement>['strokeLinejoin']}\n dangerouslySetInnerHTML={{ __html: icon.body }}\n {...props}\n />\n );\n}\n\nfunction createNamedIcon(name: IconName) {\n return function NamedIcon(props: IconProps) {\n return <Icon name={name} {...props} />;\n };\n}\n\nexport const ActivityIcon = createNamedIcon('activity' as IconName);\nexport const AlertCircleIcon = createNamedIcon('alert-circle' as IconName);\nexport const AlertTriangleIcon = createNamedIcon('alert-triangle' as IconName);\nexport const AlignHorizontalIcon = createNamedIcon('align-horizontal' as IconName);\nexport const AlignJustifyIcon = createNamedIcon('align-justify' as IconName);\nexport const AppWindowIcon = createNamedIcon('app-window' as IconName);\nexport const ArrowDownIcon = createNamedIcon('arrow-down' as IconName);\nexport const ArrowLeftIcon = createNamedIcon('arrow-left' as IconName);\nexport const ArrowRightIcon = createNamedIcon('arrow-right' as IconName);\nexport const ArrowUpIcon = createNamedIcon('arrow-up' as IconName);\nexport const BadgeIcon = createNamedIcon('badge' as IconName);\nexport const BatteryIcon = createNamedIcon('battery' as IconName);\nexport const BellIcon = createNamedIcon('bell' as IconName);\nexport const BluetoothIcon = createNamedIcon('bluetooth' as IconName);\nexport const BookIcon = createNamedIcon('book' as IconName);\nexport const BoxIcon = createNamedIcon('box' as IconName);\nexport const CalendarIcon = createNamedIcon('calendar' as IconName);\nexport const CameraIcon = createNamedIcon('camera' as IconName);\nexport const CheckSquareIcon = createNamedIcon('check-square' as IconName);\nexport const CheckIcon = createNamedIcon('check' as IconName);\nexport const ChevronDownIcon = createNamedIcon('chevron-down' as IconName);\nexport const ChevronLeftIcon = createNamedIcon('chevron-left' as IconName);\nexport const ChevronRightIcon = createNamedIcon('chevron-right' as IconName);\nexport const ChevronUpIcon = createNamedIcon('chevron-up' as IconName);\nexport const ChevronIcon = createNamedIcon('chevron' as IconName);\nexport const CircleDotIcon = createNamedIcon('circle-dot' as IconName);\nexport const ClockIcon = createNamedIcon('clock' as IconName);\nexport const CloseIcon = createNamedIcon('close' as IconName);\nexport const CloudIcon = createNamedIcon('cloud' as IconName);\nexport const CodeIcon = createNamedIcon('code' as IconName);\nexport const ComponentIcon = createNamedIcon('component' as IconName);\nexport const CopyIcon = createNamedIcon('copy' as IconName);\nexport const CreditCardIcon = createNamedIcon('credit-card' as IconName);\nexport const DatabaseIcon = createNamedIcon('database' as IconName);\nexport const DownloadIcon = createNamedIcon('download' as IconName);\nexport const EditIcon = createNamedIcon('edit' as IconName);\nexport const ExternalLinkIcon = createNamedIcon('external-link' as IconName);\nexport const EyeOffIcon = createNamedIcon('eye-off' as IconName);\nexport const EyeIcon = createNamedIcon('eye' as IconName);\nexport const FileTextIcon = createNamedIcon('file-text' as IconName);\nexport const FileIcon = createNamedIcon('file' as IconName);\nexport const FilterIcon = createNamedIcon('filter' as IconName);\nexport const FolderIcon = createNamedIcon('folder' as IconName);\nexport const FormInputIcon = createNamedIcon('form-input' as IconName);\nexport const GhostIcon = createNamedIcon('ghost' as IconName);\nexport const GiftIcon = createNamedIcon('gift' as IconName);\nexport const GitCommitIcon = createNamedIcon('git-commit' as IconName);\nexport const GithubIcon = createNamedIcon('github' as IconName);\nexport const GridIcon = createNamedIcon('grid' as IconName);\nexport const GripIcon = createNamedIcon('grip' as IconName);\nexport const Heading1Icon = createNamedIcon('heading1' as IconName);\nexport const HeartIcon = createNamedIcon('heart' as IconName);\nexport const HelpCircleIcon = createNamedIcon('help-circle' as IconName);\nexport const HistoryIcon = createNamedIcon('history' as IconName);\nexport const HomeIcon = createNamedIcon('home' as IconName);\nexport const ImageIcon = createNamedIcon('image' as IconName);\nexport const InfoIcon = createNamedIcon('info' as IconName);\nexport const LabIcon = createNamedIcon('lab' as IconName);\nexport const LaptopIcon = createNamedIcon('laptop' as IconName);\nexport const LayoutTemplateIcon = createNamedIcon('layout-template' as IconName);\nexport const LayoutIcon = createNamedIcon('layout' as IconName);\nexport const LinkIcon = createNamedIcon('link' as IconName);\nexport const LinkedinIcon = createNamedIcon('linkedin' as IconName);\nexport const ListChecksIcon = createNamedIcon('list-checks' as IconName);\nexport const ListCollapseIcon = createNamedIcon('list-collapse' as IconName);\nexport const ListFilterIcon = createNamedIcon('list-filter' as IconName);\nexport const ListIcon = createNamedIcon('list' as IconName);\nexport const Loader2Icon = createNamedIcon('loader2' as IconName);\nexport const LockIcon = createNamedIcon('lock' as IconName);\nexport const LogInIcon = createNamedIcon('log-in' as IconName);\nexport const LogOutIcon = createNamedIcon('log-out' as IconName);\nexport const MailIcon = createNamedIcon('mail' as IconName);\nexport const MapPinIcon = createNamedIcon('map-pin' as IconName);\nexport const MenuIcon = createNamedIcon('menu' as IconName);\nexport const MessageCircleIcon = createNamedIcon('message-circle' as IconName);\nexport const MessageSquareIcon = createNamedIcon('message-square' as IconName);\nexport const MicIcon = createNamedIcon('mic' as IconName);\nexport const MilestoneIcon = createNamedIcon('milestone' as IconName);\nexport const MinusIcon = createNamedIcon('minus' as IconName);\nexport const MonitorIcon = createNamedIcon('monitor' as IconName);\nexport const MoonIcon = createNamedIcon('moon' as IconName);\nexport const MoreHorizontalIcon = createNamedIcon('more-horizontal' as IconName);\nexport const MousePointerIcon = createNamedIcon('mouse-pointer' as IconName);\nexport const MusicIcon = createNamedIcon('music' as IconName);\nexport const PanelLeftIcon = createNamedIcon('panel-left' as IconName);\nexport const PanelTopIcon = createNamedIcon('panel-top' as IconName);\nexport const PanelIcon = createNamedIcon('panel' as IconName);\nexport const PhoneIcon = createNamedIcon('phone' as IconName);\nexport const PlusIcon = createNamedIcon('plus' as IconName);\nexport const RectangleHorizontalIcon = createNamedIcon('rectangle-horizontal' as IconName);\nexport const RefreshIcon = createNamedIcon('refresh' as IconName);\nexport const RocketIcon = createNamedIcon('rocket' as IconName);\nexport const RulerIcon = createNamedIcon('ruler' as IconName);\nexport const SearchIcon = createNamedIcon('search' as IconName);\nexport const ServerIcon = createNamedIcon('server' as IconName);\nexport const SettingsIcon = createNamedIcon('settings' as IconName);\nexport const ShareIcon = createNamedIcon('share' as IconName);\nexport const ShieldIcon = createNamedIcon('shield' as IconName);\nexport const ShoppingCartIcon = createNamedIcon('shopping-cart' as IconName);\nexport const SlidersHorizontalIcon = createNamedIcon('sliders-horizontal' as IconName);\nexport const SmartphoneIcon = createNamedIcon('smartphone' as IconName);\nexport const SparkIcon = createNamedIcon('spark' as IconName);\nexport const SparklesIcon = createNamedIcon('sparkles' as IconName);\nexport const SpinnerIcon = createNamedIcon('spinner' as IconName);\nexport const SquareIcon = createNamedIcon('square' as IconName);\nexport const StarIcon = createNamedIcon('star' as IconName);\nexport const SunIcon = createNamedIcon('sun' as IconName);\nexport const TableIcon = createNamedIcon('table' as IconName);\nexport const TabletIcon = createNamedIcon('tablet' as IconName);\nexport const TagIcon = createNamedIcon('tag' as IconName);\nexport const TextCursorIcon = createNamedIcon('text-cursor' as IconName);\nexport const ThemeDarkIcon = createNamedIcon('theme-dark' as IconName);\nexport const ThemeLightIcon = createNamedIcon('theme-light' as IconName);\nexport const ToggleRightIcon = createNamedIcon('toggle-right' as IconName);\nexport const TrashIcon = createNamedIcon('trash' as IconName);\nexport const TypeIcon = createNamedIcon('type' as IconName);\nexport const UnlockIcon = createNamedIcon('unlock' as IconName);\nexport const UploadCloudIcon = createNamedIcon('upload-cloud' as IconName);\nexport const UploadIcon = createNamedIcon('upload' as IconName);\nexport const UserCircleIcon = createNamedIcon('user-circle' as IconName);\nexport const UserIcon = createNamedIcon('user' as IconName);\nexport const VideoIcon = createNamedIcon('video' as IconName);\nexport const WarningIcon = createNamedIcon('warning' as IconName);\nexport const WifiIcon = createNamedIcon('wifi' as IconName);\nexport const XIcon = createNamedIcon('x' as IconName);\nexport const ZapIcon = createNamedIcon('zap' as IconName);\n\nexport { icons as iconRegistry };\n","import './Input.css';\nimport { classNames, LabelFormater } from '../../utils';\nimport React from 'react';\nimport { FormField } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Icon } from '../../icons';\nimport type { InputProps } from './types';\n\nexport type { InputProps, InputSize } from './types';\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ label, error, supportText, prefix, suffix, clearable = false, size = 'md', full = false, className, id, ...props }, ref) => {\n const inputId = id ?? (label ? `input-${LabelFormater(label)}` : undefined);\n const inputRef = React.useRef<HTMLInputElement | null>(null);\n const [, forceRender] = React.useState(0);\n const isControlled = props.value !== undefined;\n const hasValue = String(isControlled ? props.value ?? '' : props.defaultValue ?? inputRef.current?.value ?? '').length > 0;\n\n const setRefs = (node: HTMLInputElement | null) => {\n inputRef.current = node;\n\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n if (ref) {\n ref.current = node;\n }\n };\n\n const handleClear = () => {\n const node = inputRef.current;\n if (!node || props.disabled || props.readOnly) {\n return;\n }\n\n const descriptor = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value');\n descriptor?.set?.call(node, '');\n node.dispatchEvent(new Event('input', { bubbles: true }));\n node.dispatchEvent(new Event('change', { bubbles: true }));\n forceRender((current) => current + 1);\n node.focus();\n };\n\n const handleInput = (event: React.FormEvent<HTMLInputElement>) => {\n props.onInput?.(event);\n if (!isControlled) {\n forceRender((current) => current + 1);\n }\n };\n\n const resolvedSuffix = clearable && hasValue ? (\n <IconButton\n icon={<Icon name=\"close\" size={12} />}\n aria-label=\"Limpar campo\"\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleClear}\n tabIndex={-1}\n className=\"input-field__clear\"\n />\n ) : suffix;\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} htmlFor={inputId} className={className}>\n <div className={classNames('input-field', `input-field--${size}`, error && 'input-field--error', props.disabled && 'input-field--disabled')}>\n {prefix && <span className=\"input-field__adornment input-field__adornment--prefix\">{prefix}</span>}\n <input\n ref={setRefs}\n id={inputId}\n className={classNames(\n 'input-field__input',\n Boolean(prefix) && 'input-field__input--with-prefix',\n Boolean(resolvedSuffix) && 'input-field__input--with-suffix'\n )}\n aria-invalid={!!error}\n aria-describedby={error ? `${inputId}-error` : supportText ? `${inputId}-supportText` : undefined}\n {...props}\n onInput={handleInput}\n />\n {resolvedSuffix && <span className=\"input-field__adornment input-field__adornment--suffix\">{resolvedSuffix}</span>}\n </div>\n </FormField>\n );\n }\n);\n\nInput.displayName = 'Input';\n","import './TextArea.css';\nimport React from 'react';\nimport { classNames, LabelFormater } from '../../utils';\nimport { FormField } from '../FormField/FormField';\nimport type { TextAreaProps } from './types';\n\nexport type { TextAreaProps, TextAreaResize } from './types';\n\nexport const TextArea = React.forwardRef<HTMLTextAreaElement, TextAreaProps>(\n ({ label, error, supportText, full = false, resize = 'vertical', className, id, rows = 4, style, ...props }, ref) => {\n const inputId = id ?? (label ? `textarea-${LabelFormater(label)}` : undefined);\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} htmlFor={inputId} className={className}>\n <textarea\n ref={ref}\n id={inputId}\n rows={rows}\n className={classNames(\n 'textarea',\n error && 'textarea--error'\n )}\n aria-invalid={!!error}\n aria-describedby={error ? `${inputId}-error` : supportText ? `${inputId}-supportText` : undefined}\n style={{ resize, ...(style ?? {}) }}\n {...props}\n />\n </FormField>\n );\n }\n);\n\nTextArea.displayName = 'TextArea';\n","import React from 'react';\nimport { Input } from '../Input/Input';\nimport { Loader } from '../Loader/Loader';\nimport { Icon } from '../../icons';\nimport type { SearchProps } from './types';\n\nexport type { SearchProps } from './types';\n\nexport const Search = React.forwardRef<HTMLInputElement, SearchProps>(\n ({ onSearch, loading = false, onChange, ...props }, ref) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n onSearch?.(event.target.value);\n };\n\n return (\n <Input\n ref={ref}\n type=\"search\"\n clearable\n prefix={loading ? <Loader size=\"xs\" /> : <Icon name=\"search\" size={16} />}\n onChange={handleChange}\n {...props}\n />\n );\n }\n);\n\nSearch.displayName = 'Search';\n","import './DatePicker.css';\nimport React from 'react';\nimport { classNames, LabelFormater } from '../../utils';\nimport { Icon } from '../../icons';\nimport { FormField } from '../FormField/FormField';\nimport { Button } from '../Button/Button';\nimport type { DatePickerProps } from './types';\n\nexport type { DatePickerProps } from './types';\n\nconst WEEK_DAYS = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'];\n\nfunction parseDateValue(value?: string) {\n if (!value) return null;\n\n const [year, month, day] = value.split('-').map(Number);\n if (!year || !month || !day) return null;\n\n return new Date(year, month - 1, day);\n}\n\nfunction formatDateValue(date: Date | null) {\n if (!date) return '';\n\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n\n return `${day}/${month}/${year}`;\n}\n\nfunction toIsoDate(date: Date | null) {\n if (!date) return '';\n\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n\n return `${year}-${month}-${day}`;\n}\n\nfunction isSameDay(a: Date | null, b: Date | null) {\n if (!a || !b) return false;\n\n return a.getFullYear() === b.getFullYear()\n && a.getMonth() === b.getMonth()\n && a.getDate() === b.getDate();\n}\n\nfunction buildCalendarDays(monthDate: Date) {\n const startOfMonth = new Date(monthDate.getFullYear(), monthDate.getMonth(), 1);\n const endOfMonth = new Date(monthDate.getFullYear(), monthDate.getMonth() + 1, 0);\n const startDay = startOfMonth.getDay();\n const totalDays = endOfMonth.getDate();\n const days: Array<{ date: Date; outside: boolean }> = [];\n\n for (let index = startDay - 1; index >= 0; index -= 1) {\n const date = new Date(startOfMonth);\n date.setDate(startOfMonth.getDate() - (index + 1));\n days.push({ date, outside: true });\n }\n\n for (let day = 1; day <= totalDays; day += 1) {\n days.push({ date: new Date(monthDate.getFullYear(), monthDate.getMonth(), day), outside: false });\n }\n\n const minimumCells = days.length <= 35 ? 35 : 42;\n\n while (days.length < minimumCells) {\n const lastDate = days[days.length - 1]?.date ?? endOfMonth;\n const nextDate = new Date(lastDate);\n nextDate.setDate(lastDate.getDate() + 1);\n days.push({ date: nextDate, outside: true });\n }\n\n return days;\n}\n\nexport const DatePicker = React.forwardRef<HTMLInputElement, DatePickerProps>(\n ({ label, error, supportText, full = false, className, id, value, defaultValue, onChange, placeholder = 'dd/mm/aaaa', disabled, size: _size, prefix: _prefix, suffix: _suffix, clearable: _clearable, ...props }, ref) => {\n const inputId = id ?? (label ? `datepicker-${LabelFormater(label)}` : undefined);\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const fallbackToday = React.useMemo(() => toIsoDate(new Date()), []);\n const initialDate = React.useMemo(() => parseDateValue(value ?? defaultValue ?? fallbackToday), [defaultValue, fallbackToday, value]);\n const [internalValue, setInternalValue] = React.useState<string>(defaultValue ?? fallbackToday);\n const [open, setOpen] = React.useState(false);\n const selectedDate = parseDateValue(value ?? internalValue);\n const [viewDate, setViewDate] = React.useState<Date>(initialDate ?? new Date());\n const isControlled = value !== undefined;\n\n React.useEffect(() => {\n const nextDate = parseDateValue(value ?? internalValue);\n if (nextDate) {\n setViewDate(nextDate);\n }\n }, [internalValue, value]);\n\n React.useEffect(() => {\n if (!open) return undefined;\n\n const handlePointerDown = (event: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n setOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handlePointerDown);\n return () => document.removeEventListener('mousedown', handlePointerDown);\n }, [open]);\n\n const commitValue = (nextIsoValue: string) => {\n if (!isControlled) {\n setInternalValue(nextIsoValue);\n }\n\n const nextEvent = {\n target: { value: nextIsoValue, id: inputId, name: props.name },\n currentTarget: { value: nextIsoValue, id: inputId, name: props.name },\n } as React.ChangeEvent<HTMLInputElement>;\n\n onChange?.(nextEvent);\n };\n\n const handleSelectDate = (date: Date) => {\n const nextIsoValue = toIsoDate(date);\n commitValue(nextIsoValue);\n setViewDate(date);\n };\n\n const handleClear = () => {\n commitValue('');\n };\n\n const handleApply = () => {\n setOpen(false);\n };\n\n const monthLabel = viewDate.toLocaleDateString('pt-BR', {\n month: 'long',\n year: 'numeric',\n });\n\n const calendarDays = buildCalendarDays(viewDate);\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} htmlFor={inputId} className={className}>\n <div ref={rootRef} className=\"date-picker\">\n <div\n className={classNames(\n 'date-picker__field',\n open && 'date-picker__field--open',\n error && 'date-picker__field--error',\n disabled && 'date-picker__field--disabled'\n )}\n >\n <input\n {...props}\n ref={ref}\n id={inputId}\n type=\"text\"\n value={formatDateValue(selectedDate)}\n placeholder={placeholder}\n readOnly\n disabled={disabled}\n className=\"date-picker__input\"\n onClick={() => !disabled && setOpen(true)}\n />\n <button\n type=\"button\"\n className=\"date-picker__toggle\"\n onClick={() => !disabled && setOpen((current) => !current)}\n aria-label=\"Abrir calendario\"\n disabled={disabled}\n >\n <Icon name=\"calendar\" size={18} />\n </button>\n </div>\n\n {open ? (\n <div className=\"date-picker__popover\" role=\"dialog\" aria-modal=\"false\">\n <div className=\"date-picker__header\">\n <button\n type=\"button\"\n className=\"date-picker__nav\"\n onClick={() => setViewDate((current) => new Date(current.getFullYear(), current.getMonth() - 1, 1))}\n aria-label=\"Mes anterior\"\n >\n <Icon name=\"chevron-left\" size={16} />\n </button>\n <span className=\"date-picker__month\">{monthLabel}</span>\n <button\n type=\"button\"\n className=\"date-picker__nav\"\n onClick={() => setViewDate((current) => new Date(current.getFullYear(), current.getMonth() + 1, 1))}\n aria-label=\"Proximo mes\"\n >\n <Icon name=\"chevron-right\" size={16} />\n </button>\n </div>\n\n <div className=\"date-picker__weekdays\">\n {WEEK_DAYS.map((day) => (\n <span key={day} className=\"date-picker__weekday\">{day}</span>\n ))}\n </div>\n\n <div className=\"date-picker__grid\">\n {calendarDays.map(({ date, outside }) => {\n const isSelected = isSameDay(date, selectedDate);\n\n return (\n <button\n key={date.toISOString()}\n type=\"button\"\n className={classNames(\n 'date-picker__day',\n outside && 'date-picker__day--outside',\n isSelected && 'date-picker__day--selected'\n )}\n onClick={() => handleSelectDate(date)}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n\n <div className=\"date-picker__footer\">\n <Button variant=\"ghost\" onClick={handleClear}>Limpar</Button>\n <Button onClick={handleApply}>Concluido</Button>\n </div>\n </div>\n ) : null}\n </div>\n </FormField>\n );\n }\n);\n\nDatePicker.displayName = 'DatePicker';\n","import './Select.css';\nimport React, { useEffect, useId, useMemo, useRef, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { Icon } from '../../icons';\nimport type { SelectProps } from './types';\n\nexport type { SelectOption, SelectProps, SelectSize } from './types';\n\nexport const Select = React.forwardRef<HTMLDivElement, SelectProps>(\n ({\n options,\n value,\n defaultValue,\n onChange,\n label,\n error,\n supportText,\n size = 'md',\n placeholder = 'Select...',\n full = false,\n disabled = false,\n searchable = false,\n searchPlaceholder = 'Search...',\n className,\n ...props\n }, ref) => {\n const generatedId = useId();\n const rootRef = useRef<HTMLDivElement>(null);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState('');\n const [internalValue, setInternalValue] = useState(defaultValue ?? '');\n const selectedValue = value ?? internalValue;\n\n useEffect(() => {\n if (!isOpen) {\n setSearchTerm('');\n return;\n }\n\n if (searchable) {\n searchInputRef.current?.focus();\n }\n }, [isOpen, searchable]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n const selectedOption = options.find((option) => option.value === selectedValue);\n\n const filteredOptions = useMemo(() => {\n if (!searchable || !searchTerm) return options;\n\n return options.filter((option) => {\n const term = option.searchValue ?? (typeof option.label === 'string' ? option.label : option.value);\n return term.toLowerCase().includes(searchTerm.toLowerCase());\n });\n }, [options, searchable, searchTerm]);\n\n const handleSelect = (nextValue: string, optionDisabled?: boolean) => {\n if (optionDisabled) return;\n\n if (value === undefined) {\n setInternalValue(nextValue);\n }\n\n onChange?.(nextValue);\n setIsOpen(false);\n };\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} className={className} htmlFor={generatedId}>\n <div ref={rootRef} className={classNames('select', full && 'select--full')}>\n <div\n ref={ref}\n id={generatedId}\n role=\"combobox\"\n aria-expanded={isOpen}\n aria-controls={`${generatedId}-listbox`}\n aria-haspopup=\"listbox\"\n tabIndex={disabled ? -1 : 0}\n className={classNames(\n 'select__trigger',\n `select__trigger--${size}`,\n isOpen && 'select__trigger--open',\n error && 'select__trigger--error',\n disabled && 'select__trigger--disabled'\n )}\n onClick={() => !disabled && setIsOpen((current) => !current)}\n onKeyDown={(event) => {\n if (disabled) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n setIsOpen((current) => !current);\n }\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n }}\n {...props}\n >\n <span className={classNames('select__value', !selectedOption && 'select__value--placeholder')}>\n {selectedOption?.label ?? placeholder}\n </span>\n <span className=\"select__icon\"><Icon name=\"chevron-down\" size={16} /></span>\n </div>\n\n {isOpen && (\n <div className=\"select__menu\">\n {searchable && (\n <div className=\"select__search\">\n <span className=\"select__search-icon\"><Icon name=\"search\" size={14} /></span>\n <input\n ref={searchInputRef}\n className=\"select__search-input\"\n value={searchTerm}\n placeholder={searchPlaceholder}\n onChange={(event) => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n\n <ul id={`${generatedId}-listbox`} className=\"select__list\" role=\"listbox\">\n {filteredOptions.length > 0 ? filteredOptions.map((option) => {\n const isSelected = option.value === selectedValue;\n\n return (\n <li\n key={option.value}\n role=\"option\"\n aria-selected={isSelected}\n className={classNames(\n 'select__option',\n isSelected && 'select__option--selected',\n option.disabled && 'select__option--disabled'\n )}\n onClick={() => handleSelect(option.value, option.disabled)}\n >\n <span>{option.label}</span>\n {isSelected && <span className=\"select__option-check\"><Icon name=\"check\" size={14} /></span>}\n </li>\n );\n }) : (\n <li className=\"select__empty\">No results found</li>\n )}\n </ul>\n </div>\n )}\n </div>\n </FormField>\n );\n }\n);\n\nSelect.displayName = 'Select';\n","import './MultiSelect.css';\nimport React, { useEffect, useId, useMemo, useRef, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { Icon } from '../../icons';\nimport type { MultiSelectProps } from './types';\n\nexport type { MultiSelectOption, MultiSelectProps } from './types';\n\nexport const MultiSelect = React.forwardRef<HTMLDivElement, MultiSelectProps>(\n ({\n options,\n value,\n defaultValue = [],\n onChange,\n label,\n error,\n supportText,\n placeholder = 'Select options...',\n full = false,\n disabled = false,\n className,\n ...props\n }, ref) => {\n const generatedId = useId();\n const rootRef = useRef<HTMLDivElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [internalValue, setInternalValue] = useState<string[]>(defaultValue);\n const selectedValues = value ?? internalValue;\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n const selectedOptions = useMemo(\n () => options.filter((option) => selectedValues.includes(option.value)),\n [options, selectedValues]\n );\n\n const commitChange = (nextValue: string[]) => {\n if (value === undefined) {\n setInternalValue(nextValue);\n }\n\n onChange?.(nextValue);\n };\n\n const toggleValue = (optionValue: string, optionDisabled?: boolean) => {\n if (optionDisabled) return;\n\n if (selectedValues.includes(optionValue)) {\n commitChange(selectedValues.filter((item) => item !== optionValue));\n return;\n }\n\n commitChange([...selectedValues, optionValue]);\n };\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} className={className} htmlFor={generatedId}>\n <div ref={rootRef} className={classNames('multiselect', full && 'multiselect--full')}>\n <div\n ref={ref}\n id={generatedId}\n role=\"combobox\"\n aria-expanded={isOpen}\n aria-controls={`${generatedId}-listbox`}\n aria-haspopup=\"listbox\"\n tabIndex={disabled ? -1 : 0}\n className={classNames(\n 'multiselect__trigger',\n isOpen && 'multiselect__trigger--open',\n error && 'multiselect__trigger--error',\n disabled && 'multiselect__trigger--disabled'\n )}\n onClick={() => !disabled && setIsOpen((current) => !current)}\n onKeyDown={(event) => {\n if (disabled) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n setIsOpen((current) => !current);\n }\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n }}\n {...props}\n >\n <div className=\"multiselect__values\">\n {selectedOptions.length > 0 ? selectedOptions.map((option) => (\n <span key={option.value} className=\"multiselect__tag\">\n <span className=\"multiselect__tag-label\">{option.label}</span>\n <button\n type=\"button\"\n className=\"multiselect__tag-remove\"\n onClick={(event) => {\n event.stopPropagation();\n toggleValue(option.value);\n }}\n aria-label={`Remove ${option.label}`}\n >\n <Icon name=\"close\" size={12} />\n </button>\n </span>\n )) : (\n <span className=\"multiselect__placeholder\">{placeholder}</span>\n )}\n </div>\n <span className=\"multiselect__icon\"><Icon name=\"chevron-down\" size={16} /></span>\n </div>\n\n {isOpen && (\n <ul id={`${generatedId}-listbox`} className=\"multiselect__menu\" role=\"listbox\" aria-multiselectable=\"true\">\n {options.length > 0 ? options.map((option) => {\n const isSelected = selectedValues.includes(option.value);\n\n return (\n <li\n key={option.value}\n role=\"option\"\n aria-selected={isSelected}\n className={classNames(\n 'multiselect__option',\n isSelected && 'multiselect__option--selected',\n option.disabled && 'multiselect__option--disabled'\n )}\n onClick={() => toggleValue(option.value, option.disabled)}\n >\n <span className=\"multiselect__checkbox\">{isSelected ? <Icon name=\"check\" size={12} /> : null}</span>\n <span>{option.label}</span>\n </li>\n );\n }) : (\n <li className=\"multiselect__empty\">No options available</li>\n )}\n </ul>\n )}\n </div>\n </FormField>\n );\n }\n);\n\nMultiSelect.displayName = 'MultiSelect';\n","import './Checkbox.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { colorVar } from '../../utils/styleTokens';\nimport { Icon } from '../../icons';\nimport type { CheckboxProps } from './types';\n\nexport type { CheckboxProps } from './types';\n\nfunction setForwardedRef<T>(ref: React.ForwardedRef<T>, value: T | null) {\n if (typeof ref === 'function') ref(value);\n else if (ref) ref.current = value;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n ({ label, indeterminate = false, supportText, className, id, disabled, color = 'primary', style, ...props }, ref) => {\n const generatedId = React.useId();\n const inputId = id ?? `checkbox-${generatedId}`;\n const inputRef = React.useRef<HTMLInputElement | null>(null);\n\n React.useEffect(() => {\n if (inputRef.current) inputRef.current.indeterminate = indeterminate;\n }, [indeterminate]);\n\n const handleRef = (node: HTMLInputElement | null) => {\n inputRef.current = node;\n setForwardedRef(ref, node);\n };\n\n return (\n <FormField hint={supportText} full className={className} htmlFor={inputId}>\n <label className={classNames('checkbox', disabled && 'checkbox--disabled')} style={{ ['--checkbox-color' as string]: colorVar(color), ...(style ?? {}) }}>\n <span className=\"checkbox__control\">\n <input\n ref={handleRef}\n id={inputId}\n type=\"checkbox\"\n className=\"checkbox__input\"\n disabled={disabled}\n aria-checked={indeterminate ? 'mixed' : undefined}\n {...props}\n />\n <span className=\"checkbox__box\" aria-hidden=\"true\">\n <span className=\"checkbox__icon\">{indeterminate ? <Icon name=\"minus\" /> : <Icon name=\"check\" />}</span>\n </span>\n </span>\n {label && <span className=\"checkbox__label\">{label}</span>}\n </label>\n </FormField>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n","import './Radio.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { RadioProps } from './types';\n\nexport type { RadioProps } from './types';\n\nexport const Radio = React.forwardRef<HTMLInputElement, RadioProps>(({\n label,\n description,\n className,\n disabled,\n error,\n style,\n color = 'primary',\n id,\n ...props\n}, ref) => {\n const generatedId = React.useId();\n const inputId = id ?? `radio-${generatedId}`;\n\n return (\n <FormField full className={className} htmlFor={inputId}>\n <label className={classNames('radio', disabled && 'radio--disabled', error && 'radio--error')} style={{ ['--radio-color' as string]: colorVar(color), ...(style ?? {}) }}>\n <span className=\"radio__input-container\">\n <input ref={ref} id={inputId} type=\"radio\" className=\"radio__input\" disabled={disabled} {...props} />\n <span className=\"radio__control\">\n <span className=\"radio__dot\" />\n </span>\n </span>\n {(label || description) && (\n <span className=\"radio__content\">\n {label && <span className=\"radio__label\">{label}</span>}\n {description && <span className=\"radio__description\">{description}</span>}\n </span>\n )}\n </label>\n </FormField>\n );\n});\n\nRadio.displayName = 'Radio';\n","import './Slider.css';\nimport React, { useState } from 'react';\nimport { FormField } from '../FormField/FormField';\nimport type { SliderProps } from './types';\n\nexport type { SliderProps } from './types';\n\nexport const Slider: React.FC<SliderProps> = ({\n value,\n defaultValue,\n onChange,\n min = 0,\n max = 100,\n label,\n supportText,\n className,\n id,\n ...props\n}) => {\n const generatedId = React.useId();\n const inputId = id ?? `slider-${generatedId}`;\n const [internalValue, setInternalValue] = useState(Number(value ?? defaultValue ?? 0));\n const currentValue = value !== undefined ? Number(value) : internalValue;\n const percentage = ((currentValue - Number(min)) / (Number(max) - Number(min))) * 100;\n\n return (\n <FormField label={label} hint={supportText} full className={className} htmlFor={inputId}>\n <div className=\"slider\">\n <div className=\"slider__track\">\n <div className=\"slider__fill\" style={{ width: `${percentage}%` }} />\n </div>\n <input\n id={inputId}\n type=\"range\"\n min={min}\n max={max}\n value={currentValue}\n onChange={(event) => {\n const next = Number(event.target.value);\n if (value === undefined) setInternalValue(next);\n onChange?.(event);\n }}\n className=\"slider__input\"\n {...props}\n />\n <div className=\"slider__value\">{currentValue}</div>\n </div>\n </FormField>\n );\n};\n","import './FileUpload.css';\nimport React, { useRef, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Text } from '../Text/Text';\nimport { Icon } from '../../icons';\nimport type { FileUploadProps } from './types';\n\nexport type { FileUploadProps } from './types';\n\nexport const FileUpload: React.FC<FileUploadProps> = ({\n onFileSelect,\n accept,\n multiple = false,\n disabled = false,\n maxSize,\n title = 'Drag and drop a file or click to upload',\n description = 'Supported files depend on the accept property.',\n className,\n ...props\n}) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragging, setIsDragging] = useState(false);\n const [files, setFiles] = useState<File[]>([]);\n const [error, setError] = useState<string | null>(null);\n\n const processFiles = (incoming: File[]) => {\n setError(null);\n let valid = incoming;\n\n if (maxSize) {\n const oversized = incoming.filter((file) => file.size > maxSize);\n if (oversized.length > 0) {\n setError(`Some files exceed ${Math.round(maxSize / 1024 / 1024)}MB.`);\n valid = incoming.filter((file) => file.size <= maxSize);\n }\n }\n\n if (!multiple && valid.length > 1) valid = [valid[0]];\n\n const updated = multiple ? [...files, ...valid] : valid;\n setFiles(updated);\n onFileSelect?.(updated);\n };\n\n return (\n <div className={classNames('file-upload', className)} {...props}>\n <div\n className={classNames(\n 'file-upload__dropzone',\n isDragging && 'file-upload__dropzone--dragging',\n disabled && 'file-upload__dropzone--disabled',\n error && 'file-upload__dropzone--error'\n )}\n onDragEnter={(event) => {\n event.preventDefault();\n if (!disabled) setIsDragging(true);\n }}\n onDragOver={(event) => {\n event.preventDefault();\n if (!disabled) setIsDragging(true);\n }}\n onDragLeave={(event) => {\n event.preventDefault();\n setIsDragging(false);\n }}\n onDrop={(event) => {\n event.preventDefault();\n setIsDragging(false);\n if (!disabled) processFiles(Array.from(event.dataTransfer.files));\n }}\n onClick={() => !disabled && inputRef.current?.click()}\n >\n <input\n ref={inputRef}\n type=\"file\"\n className=\"file-upload__input\"\n onChange={(event) => event.target.files && processFiles(Array.from(event.target.files))}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n />\n <div className=\"file-upload__content\">\n <div className=\"file-upload__icon\"><Icon name=\"upload\" size={20} /></div>\n <Text weight=\"medium\">{title}</Text>\n <Text size=\"sm\" color=\"subtle\">{description}</Text>\n </div>\n </div>\n {error && <Text size=\"sm\" color=\"danger\">{error}</Text>}\n {files.length > 0 && (\n <ul className=\"file-upload__list\">\n {files.map((file, index) => (\n <li key={`${file.name}-${index}`} className=\"file-upload__item\">\n <span className=\"file-upload__file-name\">{file.name}</span>\n <button\n type=\"button\"\n className=\"file-upload__remove\"\n onClick={() => {\n const updated = files.filter((_, itemIndex) => itemIndex !== index);\n setFiles(updated);\n onFileSelect?.(updated);\n }}\n >\n <Icon name=\"close\" size={14} />\n </button>\n </li>\n ))}\n </ul>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport './Heading.css';\nimport type { BaseHeadingProps, HeadingTag } from './types';\n\nexport type { BaseHeadingProps, HeadingTag, HeadingWeight } from './types';\n\nfunction createHeading(tag: HeadingTag, levelClassName: string) {\n const Component = React.forwardRef<HTMLHeadingElement, BaseHeadingProps>(\n ({ weight = 'bold', className, children, ...props }, ref) => {\n return React.createElement(\n tag,\n {\n ref,\n className: classNames(\n 'heading',\n levelClassName,\n `heading--weight-${weight}`,\n className\n ),\n ...props,\n },\n children\n );\n }\n );\n\n Component.displayName = tag.charAt(0).toUpperCase() + tag.slice(1);\n\n return Component;\n}\n\nexport const Heading = createHeading('h1', 'heading--h1');\nexport const Heading2 = createHeading('h2', 'heading--h2');\nexport const Heading3 = createHeading('h3', 'heading--h3');\nexport const Heading4 = createHeading('h4', 'heading--h4');\nexport const Heading5 = createHeading('h5', 'heading--h5');\nexport const Heading6 = createHeading('h6', 'heading--h6');\n","import './Card.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Heading5 } from '../Heading/Heading';\nimport { Text } from '../Text/Text';\nimport type { CardHeaderProps, CardProps, CardSectionProps } from './types';\n\nexport type { CardHeaderProps, CardPadding, CardProps, CardSectionProps, CardVariant } from './types';\n\nexport function Card<TElement extends React.ElementType = 'div'>({ padding = 'md', variant = 'default', as, children, className, ...props }: CardProps<TElement>) {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n className={classNames('card', `card--${variant}`, `card--pad-${padding}`, className)}\n {...props}\n >\n {children}\n </Component>\n );\n}\n\nexport function CardHeader({ title, description, icon, action, children, className, ...props }: CardHeaderProps) {\n return (\n <div className={classNames('card-header', className)} {...props}>\n <div className=\"card-header__content\">\n {(title || icon) && (\n <div className=\"card-header__title-wrapper\">\n {icon && <span className=\"card-header__icon\">{icon}</span>}\n {title && (\n <Heading5 weight=\"semibold\">{title}</Heading5>\n )}\n </div>\n )}\n {description && (\n <Text size=\"sm\" color=\"subtle\">\n {description}\n </Text>\n )}\n {children}\n </div>\n {action && <div className=\"card-header__action\">{action}</div>}\n </div>\n );\n}\n\nexport function CardBody({ children, className, ...props }: CardSectionProps) {\n return <div className={classNames('card-body', className)} {...props}>{children}</div>;\n}\n\nexport function CardFooter({ children, className, ...props }: CardSectionProps) {\n return <div className={classNames('card-footer', className)} {...props}>{children}</div>;\n}\n","import React from 'react';\nimport './Box.css';\nimport { classNames } from '../../utils/classNames';\nimport type { BoxProps } from './types';\n\nexport type { BoxOwnProps, BoxPadding, BoxProps, BoxRounded, BoxShadow, BoxSurface } from './types';\n\nexport const Box = React.forwardRef(function Box<TElement extends React.ElementType = 'div'>({\n as,\n padding = '0',\n rounded = 'none',\n shadow = 'none',\n surface = 'default',\n border = false,\n className,\n children,\n ...props\n}: BoxProps<TElement>, ref: React.ForwardedRef<Element>) {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n ref={ref}\n className={classNames(\n 'box',\n `box-padding--${padding}`,\n `box-rounded--${rounded}`,\n `box-shadow--${shadow}`,\n `box-surface--${surface}`,\n border && 'box--border',\n className\n )}\n {...props}\n >\n {children}\n </Component>\n );\n}) as <TElement extends React.ElementType = 'div'>(\n props: BoxProps<TElement> & { ref?: React.ForwardedRef<Element> }\n) => React.ReactElement | null;\n","import React from 'react';\nimport './Grid.css';\nimport { classNames } from '../../utils/classNames';\nimport type { GridProps } from './types';\n\nexport type { GridColumns, GridGap, GridOwnProps, GridProps } from './types';\n\nexport const Grid = <TElement extends React.ElementType = 'div'>({\n children,\r\n columns = 1,\r\n gap = '4',\n className,\n style,\n as,\n ...props\n}: GridProps<TElement>) => {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n className={classNames(\r\n 'grid',\r\n `grid-cols--${columns}`,\r\n `grid-gap--${gap}`,\r\n className\r\n )}\n style={style}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\nimport './Container.css';\nimport { classNames } from '../../utils/classNames';\nimport type { ContainerProps } from './types';\n\nexport type { ContainerProps, ContainerSize } from './types';\n\r\nexport const Container: React.FC<ContainerProps> = ({\r\n children,\r\n size = 'lg',\r\n className,\r\n style\r\n}) => {\r\n return (\r\n <div\r\n className={classNames('container', `container--${size}`, className)}\r\n style={style}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\nimport type { SpacerProps } from './types';\n\nexport type { SpacerAxis, SpacerProps } from './types';\n\nexport const Spacer: React.FC<SpacerProps> = ({ size = '1rem', axis = 'vertical', style }) => {\n const width = axis === 'horizontal' ? size : 1;\n const height = axis === 'vertical' ? size : 1;\n\n return <span style={{ display: 'block', width, minWidth: width, height, minHeight: height, ...style }} aria-hidden=\"true\" />;\n};\n","import './Divider.css';\nimport { classNames } from '../../utils/classNames';\nimport type { DividerProps } from './types';\n\nexport type { DividerOrientation, DividerProps } from './types';\n\nexport function Divider({ orientation = 'horizontal', label, className, ...props }: DividerProps) {\n return (\n <div\n role=\"separator\"\n aria-orientation={orientation}\n className={classNames('divider', `divider--${orientation}`, label && 'divider--labeled', className)}\n {...props}\n >\n {label && orientation === 'horizontal' && <span className=\"divider__label\">{label}</span>}\n </div>\n );\n}\n","import { createContext, useContext } from 'react';\nimport { Icon } from '../../icons';\nimport { classNames } from '../../utils/classNames';\nimport { Text } from '../Text/Text';\nimport './List.css';\nimport type { ListItemProps, ListProps } from './types';\n\nexport type { ListItemProps, ListProps, ListVariant } from './types';\n\nconst ListContext = createContext<{ variant: NonNullable<ListProps['variant']> }>({ variant: 'default' });\n\nfunction ListRoot({ children, variant = 'default', className, ...props }: ListProps) {\n return (\n <ListContext.Provider value={{ variant }}>\n <div className={classNames('list', `list--${variant}`, className)} role=\"list\" {...props}>\n {children}\n </div>\n </ListContext.Provider>\n );\n}\n\nfunction ListItem({\n children,\n description,\n startContent,\n endContent,\n active = false,\n disabled = false,\n className,\n onClick,\n ...props\n \n}: ListItemProps) {\n const { variant } = useContext(ListContext);\n const resolvedStart = variant === 'checklist' && !startContent ? <Icon name=\"check\" size={16} /> : startContent;\n\n return (\n <div\n className={classNames(\n 'list-item',\n active && 'list-item--active',\n onClick && !disabled && 'list-item--clickable',\n disabled && 'list-item--disabled',\n className\n )}\n role=\"listitem\"\n tabIndex={disabled ? -1 : onClick ? 0 : undefined}\n onClick={disabled ? undefined : onClick}\n {...props}\n >\n {resolvedStart && <div className=\"list-item__start\">{resolvedStart}</div>}\n <div className=\"list-item__content\">\n <Text as=\"span\" weight=\"medium\" className=\"list-item__title\">{children}</Text>\n {description && <Text as=\"span\" size=\"sm\" color=\"subtle\" className=\"list-item__description\">{description}</Text>}\n </div>\n {endContent && <div className=\"list-item__end\">{endContent}</div>}\n </div>\n );\n}\n\nexport const List = Object.assign(ListRoot, {\n Item: ListItem\n});\n\n(List as typeof List & { displayName?: string }).displayName = 'List';\n","import './Accordion.css';\nimport React, { useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Icon } from '../../icons';\nimport type { AccordionComponent, AccordionItemProps } from './types';\n\nexport type { AccordionComponent, AccordionItemProps, AccordionProps } from './types';\n\nfunction useAccordionState(type: 'single' | 'multiple', defaultValue?: string | string[]) {\n const initial = Array.isArray(defaultValue) ? defaultValue : defaultValue ? [defaultValue] : [];\n const [openItems, setOpenItems] = useState<string[]>(initial);\n\n const toggle = (id: string) => {\n setOpenItems((current) => {\n const isOpen = current.includes(id);\n if (type === 'single') return isOpen ? [] : [id];\n return isOpen ? current.filter((item) => item !== id) : [...current, id];\n });\n };\n\n return { openItems, toggle };\n}\n\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n title,\n children,\n isOpen = false,\n onToggle,\n id,\n className,\n ...props\n}) => (\n <div className={classNames('accordion-item', isOpen && 'accordion-item--open', className)} {...props}>\n <button\n className=\"accordion-item__trigger\"\n onClick={onToggle}\n aria-expanded={isOpen}\n aria-controls={`accordion-content-${id}`}\n id={`accordion-trigger-${id}`}\n type=\"button\"\n >\n <span className=\"accordion-item__title\">{title}</span>\n <span className=\"accordion-item__icon\"><Icon name=\"chevron-down\" size={16} /></span>\n </button>\n <div\n className=\"accordion-item__content\"\n id={`accordion-content-${id}`}\n role=\"region\"\n aria-labelledby={`accordion-trigger-${id}`}\n hidden={!isOpen}\n >\n <div className=\"accordion-item__content-inner\">{children}</div>\n </div>\n </div>\n);\n\nexport const Accordion: AccordionComponent = ({\n children,\n type = 'single',\n defaultValue,\n className,\n ...props\n}) => {\n const { openItems, toggle } = useAccordionState(type, defaultValue);\n\n return (\n <div className={classNames('accordion', className)} {...props}>\n {React.Children.map(children, (child, index) => {\n if (!React.isValidElement<AccordionItemProps>(child)) return child;\n const id = child.props.id ?? `accordion-item-${index}`;\n return React.cloneElement(child, {\n id,\n isOpen: openItems.includes(id),\n onToggle: () => toggle(id)\n });\n })}\n </div>\n );\n};\n\nAccordion.Item = AccordionItem;\n","import './Code.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { CodeProps } from './types';\n\nexport type { CodeProps, CodeSize, CodeWeight } from './types';\n\nexport const Code: React.FC<CodeProps> = ({\n size = 'sm',\n weight = 'medium',\n block = false,\n children,\n className,\n ...props\n}) => {\n return (\n <code\n className={classNames(\n 'code',\n `code--${size}`,\n `code--${weight}`,\n block && 'code--block',\n className\n )}\n {...props}\n >\n {children}\n </code>\n );\n};\n\nCode.displayName = 'Code';\n","import './Link.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { LinkProps } from './types';\n\nexport type { LinkOwnProps, LinkProps } from './types';\n\nexport const Link = <TElement extends React.ElementType = 'a'>({ \n color = 'primary', \n underline = false, \n active, \n as, \n className, \n children, \n href, \n to, \n style, \n ...props \n}: LinkProps<TElement>) => {\n const currentPath = typeof window !== 'undefined' ? window.location.pathname : '';\n const route = to ?? href;\n const Component = (as || 'a') as React.ElementType;\n \n const normalizePath = (path: string) => {\n const pathname = path.split('?')[0].split('#')[0];\n return pathname.endsWith('/') && pathname !== '/' ? pathname.slice(0, -1) : pathname;\n };\n \n const isCurrentRoute = route && currentPath ? normalizePath(currentPath) === normalizePath(route) : false;\n const isActive = active ?? isCurrentRoute;\n\n return (\n <Component\n className={classNames('link', underline && 'link--underline', isActive && 'link--active', className)}\n style={{ \n ['--link-color' as string]: colorVar(color),\n ...(style ?? {}) \n }}\n href={route}\n aria-current={isActive ? 'page' : undefined}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\nLink.displayName = 'Link';\n","import './Badge.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar, isTokenColor } from '../../utils/styleTokens';\nimport type { BadgeProps } from './types';\n\nexport type { BadgeColor, BadgeProps, BadgeSize, BadgeVariant } from './types';\n\nexport const Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(({\n children,\n variant = 'soft',\n color = 'primary',\n size = 'md',\n className,\n ...props\n}, ref) => {\n const tokenColor = isTokenColor(color) ? color : undefined;\n\n return (\n <span\n ref={ref}\n className={classNames('badge', `badge--${variant}`, tokenColor && `badge--${tokenColor}`, `badge--${size}`, className)}\n style={!tokenColor ? { ['--badge-color' as string]: colorVar(color) } : undefined}\n {...props}\n >\n {children}\n </span>\n );\n});\n\nBadge.displayName = 'Badge';\n","import './Tag.css';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { TagProps } from './types';\n\nexport type { TagProps, TagSize, TagVariant } from './types';\n\nexport function Tag({\n children,\n variant = 'soft',\n size = 'md',\n color = 'primary',\n leftIcon,\n rightIcon,\n closable,\n onRemove,\n className,\n style,\n ...props\n}: TagProps) {\n const removable = closable || Boolean(onRemove);\n\n return (\n <span\n className={classNames('tag', `tag--variant-${variant}`, `tag--size-${size}`, className)}\n style={{ ['--tag-color' as string]: colorVar(color), ...(style ?? {}) }}\n {...props}\n >\n {leftIcon && <span className=\"tag__icon\">{leftIcon}</span>}\n <span className=\"tag__label\">{children}</span>\n {rightIcon && <span className=\"tag__icon\">{rightIcon}</span>}\n {removable && (\n <button type=\"button\" className=\"tag__remove\" onClick={onRemove} aria-label=\"Remove tag\">\n x\n </button>\n )}\n </span>\n );\n}\n","import './Avatar.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { AvatarProps } from './types';\n\nexport type { AvatarProps, AvatarSize, AvatarStatus } from './types';\n\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(({\n src,\n name,\n size = 'md',\n status,\n className,\n ...props\n}, ref) => {\n const getInitials = (name?: string) => {\n if (!name) return '';\n const parts = name.split(' ');\n if (parts.length === 1) return parts[0].substring(0, 2);\n return (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();\n };\n\n return (\n <div ref={ref} className={classNames('avatar', `avatar--${size}`, className)} {...props}>\n {src ? (\n <img src={src} alt={name} className=\"avatar-image\" />\n ) : (\n <span className=\"avatar-initials\">{getInitials(name)}</span>\n )}\n {status && (\n <span className={classNames('avatar-status', `avatar-status--${status}`)} />\n )}\n </div>\n );\n});\n\nAvatar.displayName = 'Avatar';\n","import './Skeleton.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { SkeletonProps } from './types';\n\nexport type { SkeletonProps } from './types';\n\nexport const Skeleton: React.FC<SkeletonProps> = ({\n width,\n height,\n circle = false,\n radius,\n animated = true,\n className,\n style,\n ...props\n}) => {\n const customStyle: React.CSSProperties = {\n width: typeof width === 'number' ? `${width}px` : width,\n height: typeof height === 'number' ? `${height}px` : height,\n borderRadius: circle ? '50%' : (typeof radius === 'number' ? `${radius}px` : radius),\n ...style\n };\n\n return (\n <div\n className={classNames(\n 'skeleton',\n circle && 'skeleton--circle',\n animated && 'skeleton--animated',\n className\n )}\n style={customStyle}\n {...props}\n />\n );\n};\n\nSkeleton.displayName = 'Skeleton';\n","import './Image.css';\nimport React, { useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport type { ImageProps } from './types';\n\nexport type { ImageObjectFit, ImageProps, ImageRadius } from './types';\n\nexport const Image: React.FC<ImageProps> = ({\n src,\n alt,\n objectFit = 'cover',\n radius = 'md',\n className,\n style,\n fallback,\n ...props\n}) => {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState(false);\n\n if (error && fallback) return <>{fallback}</>;\n\n return (\n <div className={classNames('image-wrapper', className)} style={style}>\n {!loaded && !error && <Skeleton className={classNames('image-skeleton', `image-radius--${radius}`)} style={{ width: '100%', height: '100%' }} />}\n <img\n src={src}\n alt={alt}\n className={classNames('image', `image-fit--${objectFit}`, `image-radius--${radius}`, loaded && 'image--loaded')}\n onLoad={() => setLoaded(true)}\n onError={() => setError(true)}\n {...props}\n />\n </div>\n );\n};\n","import './Switch.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { SwitchProps } from './types';\n\nexport type { SwitchProps, SwitchSize } from './types';\n\nexport const Switch = React.forwardRef<HTMLInputElement, SwitchProps>(\n ({ label, size = 'md', className, disabled, ...props }, ref) => {\n return (\n <label className={classNames(\n 'switch-wrapper',\n `switch--${size}`,\n disabled && 'switch-wrapper--disabled',\n className\n )}>\n <input\n type=\"checkbox\"\n className=\"switch-input\"\n disabled={disabled}\n ref={ref}\n {...props}\n />\n <span className=\"switch-track\">\n <span className=\"switch-thumb\" />\n </span>\n {label && <span className=\"switch-label\">{label}</span>}\n </label>\n );\n }\n);\n\nSwitch.displayName = 'Switch';\n","import './Pagination.css';\nimport React, { useMemo } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Icon } from '../../icons';\nimport type { PaginationProps } from './types';\n\nexport type { PaginationProps } from './types';\n\nexport const Pagination: React.FC<PaginationProps> = ({\n currentPage,\n totalPages,\n onPageChange,\n showControls = true,\n className,\n ...props\n}) => {\n const pages = useMemo(() => {\n const items: Array<number | string> = [];\n const startPage = Math.max(1, currentPage - 1);\n const endPage = Math.min(totalPages, currentPage + 1);\n\n if (startPage > 1) {\n items.push(1);\n if (startPage > 2) items.push('dots-start');\n }\n\n for (let page = startPage; page <= endPage; page += 1) {\n items.push(page);\n }\n\n if (endPage < totalPages) {\n if (endPage < totalPages - 1) items.push('dots-end');\n items.push(totalPages);\n }\n\n return items;\n }, [currentPage, totalPages]);\n\n return (\n <nav className={classNames('pagination', className)} aria-label=\"Pagination\" {...props}>\n {showControls && (\n <button\n type=\"button\"\n className={classNames('pagination__item', currentPage === 1 && 'pagination__item--disabled')}\n onClick={() => onPageChange(currentPage - 1)}\n disabled={currentPage === 1}\n aria-label=\"Previous page\"\n >\n <Icon name=\"chevron-left\" size={16} />\n </button>\n )}\n\n {pages.map((page, index) => {\n if (typeof page === 'string') {\n return <span key={`${page}-${index}`} className=\"pagination__dots\">...</span>;\n }\n\n const isActive = page === currentPage;\n\n return (\n <button\n key={page}\n type=\"button\"\n className={classNames('pagination__item', isActive && 'pagination__item--active')}\n onClick={() => !isActive && onPageChange(page)}\n aria-current={isActive ? 'page' : undefined}\n >\n {page}\n </button>\n );\n })}\n\n {showControls && (\n <button\n type=\"button\"\n className={classNames('pagination__item', currentPage === totalPages && 'pagination__item--disabled')}\n onClick={() => onPageChange(currentPage + 1)}\n disabled={currentPage === totalPages}\n aria-label=\"Next page\"\n >\n <Icon name=\"chevron-right\" size={16} />\n </button>\n )}\n </nav>\n );\n};\n\nPagination.displayName = 'Pagination';\n","import './EmptyState.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Heading4 } from '../Heading/Heading';\nimport { Text } from '../Text/Text';\nimport type { EmptyStateProps } from './types';\n\nexport type { EmptyStateProps } from './types';\n\nexport const EmptyState: React.FC<EmptyStateProps> = ({\n icon,\n title,\n description,\n action,\n className,\n ...props\n}) => {\n return (\n <div className={classNames('empty-state', className)} {...props}>\n {icon && <div className=\"empty-state__icon\">{icon}</div>}\n <Heading4>{title}</Heading4>\n {description && <Text color=\"subtle\">{description}</Text>}\n {action && <div className=\"empty-state__action\">{action}</div>}\n </div>\n );\n};\n","import './Modal.css';\nimport React, { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Heading2 } from '../Heading/Heading';\nimport { Icon } from '../../icons';\nimport type { ModalProps } from './types';\n\nexport type { ModalProps, ModalSize } from './types';\n\nexport const Modal: React.FC<ModalProps> = ({\n open,\n onClose,\n title,\n description,\n children,\n footer,\n size = 'md',\n closeOnOverlayClick = true,\n className,\n}) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n if (!open) return;\n\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n };\n\n document.addEventListener('keydown', onKeyDown);\n document.body.style.overflow = 'hidden';\n setMounted(true);\n\n return () => {\n document.removeEventListener('keydown', onKeyDown);\n document.body.style.overflow = '';\n };\n }, [open, onClose]);\n\n if (!open || !mounted) return null;\n\n return createPortal(\n <div\n className=\"modal-overlay\"\n onClick={closeOnOverlayClick ? onClose : undefined}\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? 'modal-title' : undefined}\n aria-describedby={description ? 'modal-description' : undefined}\n tabIndex={-1}\n className={classNames('modal', `modal--${size}`, className)}\n onClick={(e) => e.stopPropagation()}\n >\n {(title || description) && (\n <div className=\"modal-header\">\n <div>\n {title && (\n <Heading2 id=\"modal-title\" className=\"modal-title\">{title}</Heading2>\n )}\n\n {description && (\n <p id=\"modal-description\" className=\"modal-description\">\n {description}\n </p>\n )}\n </div>\n\n <IconButton\n icon={<Icon name=\"close\" size={16} />}\n aria-label=\"Close modal\"\n variant=\"ghost\"\n color=\"default\"\n size=\"sm\"\n onClick={onClose}\n />\n </div>\n )}\n\n {children && <div className=\"modal-body\">{children}</div>}\n {footer && <div className=\"modal-footer\">{footer}</div>}\n </div>\n </div>,\n document.body\n );\n};\n\nModal.displayName = 'Modal';\n","import './Drawer.css';\nimport React, { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Heading2 } from '../Heading/Heading';\nimport { Icon } from '../../icons';\nimport type { DrawerProps } from './types';\n\nexport type { DrawerPlacement, DrawerProps, DrawerSize } from './types';\n\nexport const Drawer: React.FC<DrawerProps> = ({\n isOpen,\n onClose,\n title,\n placement = 'right',\n children,\n footer,\n size = 'md',\n className,\n closeOnOverlayClick = true\n}) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n if (isOpen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'unset';\n }\n return () => {\n document.body.style.overflow = 'unset';\n };\n }, [isOpen]);\n\n if (!mounted) return null;\n\n return createPortal(\n <>\n {isOpen && <div className=\"drawer-overlay\" onClick={closeOnOverlayClick ? onClose : undefined} />}\n <div\n className={classNames(\n 'drawer',\n `drawer--${placement}`,\n `drawer--size-${size}`,\n isOpen && 'drawer--open',\n className\n )}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={!isOpen}\n >\n <div className=\"drawer-header\">\n {title ? <Heading2 className=\"drawer-title\">{title}</Heading2> : <span />}\n <IconButton\n icon={<Icon name=\"close\" size={16} />}\n variant=\"ghost\"\n size=\"sm\"\n onClick={onClose}\n aria-label=\"Fechar painel\"\n />\n </div>\n <div className=\"drawer-body\">\n {children}\n </div>\n {footer && (\n <div className=\"drawer-footer\">\n {footer}\n </div>\n )}\n </div>\n </>,\n document.body\n );\n};\n\nDrawer.displayName = 'Drawer';\n","import './Tooltip.css';\nimport React, { useCallback, useEffect, useId, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport type { TooltipProps } from './types';\n\nexport type { TooltipPlacement, TooltipProps } from './types';\n\nexport function Tooltip({ content, placement = 'top', children, delay = 300 }: TooltipProps) {\n const tooltipId = useId();\n const triggerRef = useRef<HTMLElement | null>(null);\n const timerRef = useRef<number>();\n const [visible, setVisible] = useState(false);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n\n const updatePosition = useCallback(() => {\n if (!triggerRef.current) return;\n\n const rect = triggerRef.current.getBoundingClientRect();\n const offset = 10;\n\n if (placement === 'top') {\n setPosition({ top: rect.top + window.scrollY - offset, left: rect.left + rect.width / 2 + window.scrollX });\n return;\n }\n\n if (placement === 'bottom') {\n setPosition({ top: rect.bottom + window.scrollY + offset, left: rect.left + rect.width / 2 + window.scrollX });\n return;\n }\n\n if (placement === 'left') {\n setPosition({ top: rect.top + rect.height / 2 + window.scrollY, left: rect.left + window.scrollX - offset });\n return;\n }\n\n setPosition({ top: rect.top + rect.height / 2 + window.scrollY, left: rect.right + window.scrollX + offset });\n }, [placement]);\n\n const show = useCallback(() => {\n timerRef.current = window.setTimeout(() => {\n updatePosition();\n setVisible(true);\n }, delay);\n }, [delay, updatePosition]);\n\n const hide = useCallback(() => {\n window.clearTimeout(timerRef.current);\n setVisible(false);\n }, []);\n\n useEffect(() => {\n if (!visible) return;\n\n const handleUpdate = () => updatePosition();\n window.addEventListener('scroll', handleUpdate, true);\n window.addEventListener('resize', handleUpdate);\n\n return () => {\n window.removeEventListener('scroll', handleUpdate, true);\n window.removeEventListener('resize', handleUpdate);\n };\n }, [visible, updatePosition]);\n\n const child = React.cloneElement(children, {\n ref: triggerRef,\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => {\n children.props.onMouseEnter?.(event);\n show();\n },\n onMouseLeave: (event: React.MouseEvent<HTMLElement>) => {\n children.props.onMouseLeave?.(event);\n hide();\n },\n onFocus: (event: React.FocusEvent<HTMLElement>) => {\n children.props.onFocus?.(event);\n show();\n },\n onBlur: (event: React.FocusEvent<HTMLElement>) => {\n children.props.onBlur?.(event);\n hide();\n },\n 'aria-describedby': visible ? tooltipId : children.props['aria-describedby']\n });\n\n return (\n <>\n {child}\n {visible && createPortal(\n <div\n id={tooltipId}\n className={classNames('tooltip', `tooltip--${placement}`)}\n style={{ top: position.top, left: position.left }}\n role=\"tooltip\"\n >\n {content}\n </div>,\n document.body\n )}\n </>\n );\n}\n","import './Toast.css';\nimport React, { createContext, useContext, useState, useCallback, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Icon } from '../../icons';\nimport type { ToastContextValue, ToastData, ToastProviderProps } from './types';\n\nexport type { ToastColor, ToastContextValue, ToastData, ToastPosition, ToastProviderProps } from './types';\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nconst COLOR_ICONS: Record<string, React.ReactNode> = {\n success: <Icon name=\"check\" size={16} />,\n warning: <Icon name=\"warning\" size={16} />,\n danger: <Icon name=\"close\" size={16} />,\n primary: <Icon name=\"info\" size={16} />\n};\n\nfunction ToastItem({ toast, onDismiss }: { toast: ToastData; onDismiss: (id: string) => void }) {\n const [exiting, setExiting] = useState(false);\n \n const handleDismiss = useCallback(() => { \n setExiting(true); \n setTimeout(() => onDismiss(toast.id), 250); \n }, [toast.id, onDismiss]);\n\n useEffect(() => { \n const timer = setTimeout(handleDismiss, toast.duration ?? 4000); \n return () => clearTimeout(timer); \n }, [handleDismiss, toast.duration]);\n\n const color = toast.color ?? 'primary';\n const icon = COLOR_ICONS[color] || COLOR_ICONS.primary;\n\n return (\n <div className={classNames('toast', `toast--${color}`, exiting && 'toast--exiting')}>\n <span className=\"toast-icon\">\n {icon}\n </span>\n <div className=\"toast-content\">\n <p className=\"toast-title\">{toast.title}</p>\n {toast.description && <p className=\"toast-description\">{toast.description}</p>}\n </div>\n <IconButton \n icon={<Icon name=\"close\" size={14} />}\n aria-label=\"Dismiss notification\" \n variant=\"ghost\" \n size=\"sm\" \n onClick={handleDismiss} \n className=\"toast-close\" \n />\n </div>\n );\n}\n\nexport const ToastProvider: React.FC<ToastProviderProps> = ({ \n children, \n position = 'top-right', \n maxToasts = 5 \n}) => {\n const [status, setStatus] = useState<boolean>(false);\n const [toasts, setToasts] = useState<ToastData[]>([]);\n\n useEffect(() => {\n setStatus(true);\n }, []);\n\n const toast = useCallback((data: Omit<ToastData, 'id'>) => {\n const id = `toast-${Date.now()}-${Math.random().toString(36).slice(2)}`;\n setToasts((prev) => [...prev.slice(-(maxToasts - 1)), { ...data, id }]);\n }, [maxToasts]);\n\n const dismiss = useCallback((id: string) => {\n setToasts((prev) => prev.filter((t) => t.id !== id));\n }, []);\n\n return (\n <ToastContext.Provider value={{ toast, dismiss }}>\n {children}\n {status && createPortal(\n <div className={classNames('toast-container', `toast-container--${position}`)}>\n {toasts.map((t) => (\n <ToastItem key={t.id} toast={t} onDismiss={dismiss} />\n ))}\n </div>,\n document.body\n )}\n </ToastContext.Provider>\n );\n};\n\nexport function useToast(): ToastContextValue {\n const ctx = useContext(ToastContext);\n if (!ctx) throw new Error('useToast must be used inside <ToastProvider>');\n return ctx;\n}\n","import './Table.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { TableProps } from './types';\n\nexport type { TableProps } from './types';\n\nexport const Table: React.FC<TableProps> = ({\n striped = false,\n hover = true,\n compact = false,\n stickyHeader = false,\n className,\n containerClassName,\n children,\n ...props\n}) => {\n return (\n <div className={classNames(\n 'table-container',\n stickyHeader && 'table-container--sticky-header',\n containerClassName\n )}>\n <table\n className={classNames(\n 'table',\n striped && 'table--striped',\n hover && 'table--hover',\n compact && 'table--compact',\n className\n )}\n {...props}\n >\n {children}\n </table>\n </div>\n );\n};\n\nexport const Thead: React.FC<React.HTMLAttributes<HTMLTableSectionElement>> = (props) => (\n <thead {...props} />\n);\n\nexport const Tbody: React.FC<React.HTMLAttributes<HTMLTableSectionElement>> = (props) => (\n <tbody {...props} />\n);\n\nexport const Tr: React.FC<React.HTMLAttributes<HTMLTableRowElement>> = (props) => (\n <tr {...props} />\n);\n\nexport const Th: React.FC<React.ThHTMLAttributes<HTMLTableCellElement>> = (props) => (\n <th {...props} />\n);\n\nexport const Td: React.FC<React.TdHTMLAttributes<HTMLTableCellElement>> = (props) => (\n <td {...props} />\n);\n\nTable.displayName = 'Table';\nThead.displayName = 'Thead';\nTbody.displayName = 'Tbody';\nTr.displayName = 'Tr';\nTh.displayName = 'Th';\nTd.displayName = 'Td';\n","import './Sidebar.css';\nimport React, { createContext, useContext, useMemo, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Icon } from '../../icons';\nimport { Input } from '../Input/Input';\nimport type { SidebarFooterProps, SidebarGroupProps, SidebarHeaderProps, SidebarItemProps, SidebarProps } from './types';\n\nexport type { SidebarFooterProps, SidebarGroupProps, SidebarHeaderProps, SidebarItemOwnProps, SidebarItemProps, SidebarProps } from './types';\n\ntype SidebarContextValue = {\n collapsed: boolean;\n toggleCollapsed: () => void;\n searchTerm: string;\n setSearchTerm: (value: string) => void;\n enableSearch: boolean;\n searchPlaceholder: string;\n};\n\nconst SidebarContext = createContext<SidebarContextValue>({\n collapsed: false,\n toggleCollapsed: () => {},\n searchTerm: '',\n setSearchTerm: () => {},\n enableSearch: false,\n searchPlaceholder: 'Buscar item',\n});\n\nfunction useSidebarContext() {\n return useContext(SidebarContext);\n}\n\nfunction getNodeText(node: React.ReactNode): string {\n if (typeof node === 'string' || typeof node === 'number') {\n return String(node);\n }\n\n if (Array.isArray(node)) {\n return node.map(getNodeText).join(' ');\n }\n\n if (React.isValidElement(node)) {\n return getNodeText(node.props.children);\n }\n\n return '';\n}\n\nfunction countSidebarItems(children: React.ReactNode): number {\n let count = 0;\n\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) {\n return;\n }\n\n if (child.type === SidebarItem) {\n count += 1;\n return;\n }\n\n count += countSidebarItems(child.props.children);\n });\n\n return count;\n}\n\nfunction findFirstSidebarItem(children: React.ReactNode): React.ReactElement | null {\n for (const child of React.Children.toArray(children)) {\n if (!React.isValidElement(child)) {\n continue;\n }\n\n if (child.type === SidebarItem) {\n return child;\n }\n\n const nestedItem = findFirstSidebarItem(child.props.children);\n if (nestedItem) {\n return nestedItem;\n }\n }\n\n return null;\n}\n\nfunction SidebarRoot({\n collapsed: controlledCollapsed,\n defaultCollapsed = false,\n onToggle,\n className,\n children,\n searchThreshold = 12,\n searchPlaceholder = 'Buscar item',\n ...props\n}: SidebarProps) {\n const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed);\n const [searchTerm, setSearchTerm] = useState('');\n\n const isControlled = controlledCollapsed !== undefined;\n const collapsed = isControlled ? controlledCollapsed : internalCollapsed;\n const itemCount = useMemo(() => countSidebarItems(children), [children]);\n const enableSearch = itemCount > searchThreshold && !collapsed;\n const childArray = React.Children.toArray(children);\n const footerIndex = childArray.findIndex(\n (child) => React.isValidElement(child) && child.type === SidebarFooter\n );\n\n const toggleCollapsed = () => {\n const nextValue = !collapsed;\n\n if (!isControlled) {\n setInternalCollapsed(nextValue);\n }\n\n onToggle?.(nextValue);\n };\n\n const contextValue = useMemo(\n () => ({\n collapsed,\n toggleCollapsed,\n searchTerm,\n setSearchTerm,\n enableSearch,\n searchPlaceholder,\n }),\n [collapsed, searchTerm, enableSearch, searchPlaceholder]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <aside\n className={classNames('sidebar', collapsed && 'sidebar--collapsed', className)}\n {...props}\n >\n {footerIndex === -1 ? children : childArray.slice(0, footerIndex)}\n {footerIndex === -1 ? null : childArray.slice(footerIndex)}\n </aside>\n </SidebarContext.Provider>\n );\n}\n\nfunction SidebarHeader({\n icon,\n logo,\n collapsible = true,\n className,\n children,\n onClick,\n ...props\n}: SidebarHeaderProps) {\n const { collapsed, toggleCollapsed, enableSearch, searchTerm, setSearchTerm, searchPlaceholder } = useSidebarContext();\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (collapsible) {\n toggleCollapsed();\n }\n\n onClick?.(e);\n };\n\n return (\n <>\n <div\n className={classNames('sidebar__header', className)}\n onClick={handleClick}\n {...props}\n >\n <div className=\"sidebar__header-icon\">\n {icon ?? <Icon name=\"menu\" />}\n </div>\n\n {!collapsed && (\n <div className=\"sidebar__header-content\">\n {logo ?? children}\n </div>\n )}\n </div>\n\n {enableSearch ? (\n <div className=\"sidebar__search sidebar__search--header\">\n <Input\n value={searchTerm}\n onChange={(event) => setSearchTerm(event.target.value)}\n placeholder={searchPlaceholder}\n prefix={<Icon name=\"search\" size={16} />}\n size=\"sm\"\n full\n />\n </div>\n ) : null}\n </>\n );\n}\n\nfunction SidebarItem<TElement extends React.ElementType = 'button'>({\n icon,\n active = false,\n as,\n className,\n children,\n searchText,\n ...props\n}: SidebarItemProps<TElement>) {\n const { collapsed, searchTerm } = useSidebarContext();\n const Component = (as || 'button') as React.ElementType;\n const itemText = (searchText ?? getNodeText(children)).trim().toLocaleLowerCase();\n const normalizedSearchTerm = searchTerm.trim().toLocaleLowerCase();\n const isVisible = !normalizedSearchTerm || itemText.includes(normalizedSearchTerm);\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <Component\n className={classNames(\n 'sidebar__item',\n active && 'sidebar__item--active',\n className\n )}\n {...props}\n >\n {icon ? <span className=\"sidebar__item-icon\">{icon}</span> : null}\n {!collapsed && <span className=\"sidebar__item-label\">{children}</span>}\n </Component>\n );\n}\n\nfunction SidebarGroup({\n title,\n leftIcon,\n defaultOpen = true,\n open: controlledOpen,\n onOpenChange,\n collapsible = true,\n className,\n children,\n ...props\n}: SidebarGroupProps) {\n const { collapsed, searchTerm } = useSidebarContext();\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : internalOpen;\n const normalizedSearchTerm = searchTerm.trim().toLocaleLowerCase();\n const childText = getNodeText(children).toLocaleLowerCase();\n const hasMatch = !normalizedSearchTerm || childText.includes(normalizedSearchTerm);\n const shouldForceOpen = Boolean(normalizedSearchTerm && hasMatch);\n const isOpen = collapsed ? false : shouldForceOpen || open;\n const firstItem = findFirstSidebarItem(children);\n\n if (!hasMatch) {\n return null;\n }\n\n const handleToggle = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (collapsed) {\n const onClick = firstItem?.props?.onClick;\n if (typeof onClick === 'function') {\n onClick(event);\n }\n\n return;\n }\n\n if (!collapsible || shouldForceOpen) {\n return;\n }\n\n const nextValue = !open;\n\n if (!isControlled) {\n setInternalOpen(nextValue);\n }\n\n onOpenChange?.(nextValue);\n };\n\n return (\n <div\n className={classNames('sidebar__group', isOpen && 'sidebar__group--open', className)}\n {...props}\n >\n <button\n type=\"button\"\n className=\"sidebar__group-trigger\"\n onClick={handleToggle}\n aria-expanded={isOpen}\n disabled={!collapsible || shouldForceOpen}\n >\n {leftIcon ? <span className=\"sidebar__group-left-icon\">{leftIcon}</span> : null}\n {!collapsed ? <span className=\"sidebar__group-title\">{title}</span> : null}\n <span className=\"sidebar__group-icon\">\n <Icon name=\"chevron-down\" size={16} />\n </span>\n </button>\n\n {isOpen ? <div className=\"sidebar__group-content\">{children}</div> : null}\n </div>\n );\n}\n\nfunction SidebarFooter({\n className,\n children,\n ...props\n}: SidebarFooterProps) {\n return (\n <div className={classNames('sidebar__footer', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Item: SidebarItem,\n Group: SidebarGroup,\n Footer: SidebarFooter,\n});\n\n(Sidebar as typeof Sidebar & { displayName?: string }).displayName = 'Sidebar';\n","import React, { createContext, useContext, useEffect, useState } from 'react';\nimport type { Theme, ThemeContextValue, ThemeProviderProps } from './types';\nimport { ToastProvider } from '../Toast/Toast';\n\nexport type { Theme, ThemeContextValue, ThemeProviderProps } from './types';\n\nconst ThemeContext = createContext<ThemeContextValue | undefined>(undefined);\n\nexport const useTheme = () => {\n const context = useContext(ThemeContext);\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider');\n }\n return context;\n};\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\n children,\n defaultTheme = 'dark',\n storageKey = 'theme',\n toastPosition,\n toastMaxToasts\n}) => {\n const [theme, setThemeState] = useState<Theme>(() => {\n return (localStorage.getItem(storageKey) as Theme) || defaultTheme;\n });\n\n useEffect(() => {\n const root = window.document.documentElement;\n root.classList.remove('theme-light', 'theme-dark');\n root.classList.add(`theme-${theme}`);\n root.setAttribute('data-theme', theme);\n localStorage.setItem(storageKey, theme);\n }, [theme, storageKey]);\n\n const toggleTheme = () => {\n setThemeState((prev) => (prev === 'light' ? 'dark' : 'light'));\n };\n\n const setTheme = (newTheme: Theme) => {\n setThemeState(newTheme);\n };\n\n return (\n <ThemeContext.Provider value={{ theme, toggleTheme, setTheme }}>\n <ToastProvider position={toastPosition} maxToasts={toastMaxToasts}>\n {children}\n </ToastProvider>\n </ThemeContext.Provider>\n );\n};\n","import './TopBar.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Flex } from '../Flex/Flex';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Link } from '../Link/Link';\nimport { useTheme } from '../ThemeProvider/ThemeProvider';\nimport { Icon } from '../../icons';\nimport type { TopBarProps } from './types';\n\nexport type { TopBarNavItem, TopBarProps } from './types';\n\nexport const TopBar: React.FC<TopBarProps> = ({\n logo,\n navItems = [],\n navPosition = 'center',\n extraContent,\n themeToggle = false,\n sticky = false,\n className,\n children,\n contentInside = false,\n ...props\n}) => {\n const { theme, toggleTheme } = useTheme();\n const currentPath = typeof window !== 'undefined' ? window.location.pathname : '';\n\n const normalizePath = (path: string) => {\n const pathname = path.split('?')[0].split('#')[0];\n return pathname.endsWith('/') && pathname !== '/' ? pathname.slice(0, -1) : pathname;\n };\n\n const renderNav = () => (\n <Flex as=\"nav\" align=\"center\" gap=\"5\" className=\"topbar__nav\">\n {navItems.map((item, index) => {\n const route = item.to ?? item.href;\n const isActive = item.active ?? (route ? normalizePath(route) === normalizePath(currentPath) : false);\n\n if (route) {\n return (\n <Link\n key={`${item.label ?? 'link'}-${index}`}\n href={route}\n className={classNames('topbar__nav-item', isActive && 'topbar__nav-item--active')}\n active={isActive}\n onClick={item.onClick}\n >\n {item.label}\n </Link>\n );\n }\n\n return (\n <button\n key={`${item.label ?? 'button'}-${index}`}\n type=\"button\"\n className={classNames('topbar__nav-item', isActive && 'topbar__nav-item--active')}\n onClick={item.onClick}\n >\n {item.label}\n </button>\n );\n })}\n </Flex>\n );\n\n return (\n <Flex\n as=\"header\"\n align=\"center\"\n justify=\"space-between\"\n className={classNames(\n 'topbar',\n sticky && 'topbar--sticky',\n navPosition === 'right' && 'topbar--nav-right',\n contentInside && 'topbar--with-children',\n className\n )}\n {...props}\n >\n <Flex align=\"center\" gap=\"4\" className=\"topbar__left\">\n {logo && <div className=\"topbar__logo\">{logo}</div>}\n </Flex>\n\n {navPosition === 'center' && navItems.length > 0 && (\n <Flex align=\"center\" justify=\"center\" className=\"topbar__center\">\n {renderNav()}\n </Flex>\n )}\n\n {contentInside && children && <div className=\"topbar__content\">{children}</div>}\n\n <Flex align=\"center\" gap=\"4\" className=\"topbar__right\">\n {navPosition === 'right' && navItems.length > 0 && renderNav()}\n {extraContent}\n {themeToggle && (\n <IconButton\n icon={theme === 'dark' ? <Icon name=\"sun\" size={16} /> : <Icon name=\"moon\" size={16} />}\n variant=\"ghost\"\n size=\"sm\"\n label=\"Toggle theme\"\n onClick={toggleTheme}\n />\n )}\n </Flex>\n\n {!contentInside && children && <div className=\"topbar__children\">{children}</div>}\n </Flex>\n );\n};\n\nTopBar.displayName = 'TopBar';\n","import React from 'react';\nimport { Icon } from '../../icons';\nimport { classNames } from '../../utils/classNames';\nimport { Heading } from '../Heading/Heading';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Text } from '../Text/Text';\nimport './PageHeader.css';\nimport type { PageHeaderProps } from './types';\n\nexport type { PageHeaderProps } from './types';\n\nexport const PageHeader: React.FC<PageHeaderProps> = ({\n title,\n description,\n showBack = false,\n onBack,\n width,\n action,\n className,\n ...props\n}) => {\n return (\n <div className={classNames('page-header', className)} {...props} >\n <div className=\"page-header__left\">\n {showBack && (\n <IconButton\n variant=\"ghost\"\n size=\"sm\"\n icon={<Icon name=\"chevron-left\" size={16} />}\n onClick={onBack}\n label=\"Back\"\n />\n )}\n <div className=\"page-header__content\">\n <Heading weight=\"bold\">{title}</Heading>\n {description && <Text color=\"subtle\" style={{ width: `${width || '100%'}` }}>{description}</Text>}\n </div>\n </div>\n {action && <div className=\"page-header__right\">{action}</div>}\n </div>\n );\n};\n","import './Breadcrumb.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Link } from '../Link/Link';\nimport type { BreadcrumbProps } from './types';\n\nexport type { BreadcrumbItem, BreadcrumbProps } from './types';\n\nexport const Breadcrumb: React.FC<BreadcrumbProps> = ({\n items,\n separator = '/',\n className\n}) => {\n return (\n <nav className={classNames('breadcrumb', className)} aria-label=\"Breadcrumb\">\n <ol className=\"breadcrumb-list\">\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n\n return (\n <li key={index} className=\"breadcrumb-item\">\n {item.href && !isLast ? (\n <Link href={item.href} color=\"neutral\" className=\"breadcrumb-link\">\n {item.icon && <span className=\"breadcrumb-icon\">{item.icon}</span>}\n {item.label}\n </Link>\n ) : (\n <span \n className={classNames('breadcrumb-link', isLast && 'breadcrumb-current')} \n aria-current={isLast ? 'page' : undefined}\n >\n {item.icon && <span className=\"breadcrumb-icon\">{item.icon}</span>}\n {item.label}\n </span>\n )}\n\n {!isLast && <span className=\"breadcrumb-separator\">{separator}</span>}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n\nBreadcrumb.displayName = 'Breadcrumb';\n","import './Progress.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { ProgressProps } from './types';\n\nexport type { ProgressProps, ProgressSize } from './types';\n\nexport const Progress: React.FC<ProgressProps> = ({\n value,\n max = 100,\n size = 'md',\n color,\n animated = false,\n showValue = false,\n label,\n className,\n style,\n ...props\n}) => {\n const percentage = Math.min(100, Math.max(0, (value / max) * 100));\n\n return (\n <div\n className={classNames('progress-wrapper', className)}\n style={{ ['--progress-color' as string]: colorVar(color), ...(style ?? {}) }}\n {...props}\n >\n {(label || showValue) && (\n <div className=\"progress-label\">\n {label && <span>{label}</span>}\n {showValue && <span className=\"progress-value\">{Math.round(percentage)}%</span>}\n </div>\n )}\n <div\n className={classNames('progress', `progress--${size}`, animated && 'progress--animated')}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={max}\n >\n <div className=\"progress-bar\" style={{ width: `${percentage}%` }} />\n </div>\n </div>\n );\n};\n\nProgress.displayName = 'Progress';\n","import './Tabs.css';\nimport React, { useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { TabsProps } from './types';\n\nexport type { TabItem, TabsProps, TabsSize, TabsVariant } from './types';\n\nexport const Tabs: React.FC<TabsProps> = ({\n tabs,\n defaultValue,\n value: controlledValue,\n onChange,\n className,\n variant = 'default',\n size = 'md'\n}) => {\n const [internalValue, setInternalValue] = useState(defaultValue ?? tabs[0]?.value ?? '');\n const activeValue = controlledValue ?? internalValue;\n\n const handleSelect = (val: string) => {\n if (controlledValue === undefined) {\n setInternalValue(val);\n }\n onChange?.(val);\n };\n\n const activeTab = tabs.find((t) => t.value === activeValue);\n\n return (\n <div className={classNames('tabs', `tabs--${variant}`, `tabs--${size}`, className)}>\n <div className=\"tabs-list\" role=\"tablist\">\n {tabs.map((tab) => {\n const isActive = activeValue === tab.value;\n const triggerClasses = classNames(\n 'tabs-trigger',\n isActive && 'tabs-trigger--active'\n );\n\n if (tab.href) {\n return (\n <a\n key={tab.value}\n role=\"tab\"\n href={tab.href}\n aria-selected={isActive}\n className={triggerClasses}\n onClick={(e) => {\n if (tab.disabled) e.preventDefault();\n else handleSelect(tab.value);\n }}\n >\n {tab.label}\n </a>\n );\n }\n\n return (\n <button\n key={tab.value}\n role=\"tab\"\n type=\"button\"\n disabled={tab.disabled}\n aria-selected={isActive}\n className={triggerClasses}\n onClick={() => handleSelect(tab.value)}\n >\n {tab.label}\n </button>\n );\n })}\n </div>\n <div\n role=\"tabpanel\"\n className=\"tabs-panel\"\n tabIndex={0}\n >\n {activeTab?.content}\n </div>\n </div>\n );\n};\n\nTabs.displayName = 'Tabs';\n","import './Timeline.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Avatar } from '../Avatar/Avatar';\nimport { Text } from '../Text/Text';\nimport type { TimelineItemProps, TimelineProps } from './types';\n\nexport type { TimelineItemProps, TimelineProps } from './types';\n\nexport const TimelineItem: React.FC<TimelineItemProps> = ({ title, description, date, icon, src, name }) => {\n return (\n <div className={classNames('timeline-item', !icon && !src && !name && 'timeline-item--dot')}>\n <div className=\"timeline-item__aside\">\n <div className=\"timeline-item__marker\">\n {src || name ? <Avatar src={src} name={name} size=\"sm\" /> : icon ? <div className=\"timeline-item__icon\">{icon}</div> : <div className=\"timeline-item__dot\" />}\n </div>\n <div className=\"timeline-item__line\" />\n </div>\n <div className=\"timeline-item__content\">\n <div className=\"timeline-item__header\">\n <Text weight=\"medium\">{title}</Text>\n {date && <Text size=\"sm\" color=\"subtle\">{date}</Text>}\n </div>\n {description && <div className=\"timeline-item__description\"><Text color=\"subtle\">{description}</Text></div>}\n </div>\n </div>\n );\n};\n\nexport const Timeline: React.FC<TimelineProps> = ({ children, className, ...props }) => {\n return <div className={classNames('timeline', className)} {...props}>{children}</div>;\n};\n\nTimeline.displayName = 'Timeline';\nTimelineItem.displayName = 'TimelineItem';\n"],"names":["classNames","args","classes","arg","nested","key","createVariants","config","options","variant","size","matchVariant","matchSize","TOKEN_COLORS","isTokenColor","color","normalizeTokenColor","colorVar","textColorVar","normalized","Loader","className","label","style","jsxs","jsx","Button","React","loading","disabled","icon","iconRight","full","children","props","ref","isDisabled","tokenColor","customColor","buttonStyle","IconButton","LabelFormater","text","char","Text","weight","as","Component","tokenColorClass","Flex","direction","align","justify","wrap","gap","FormField","error","hint","htmlFor","IconBase","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","icons","Icon","name","createNamedIcon","ActivityIcon","AlertCircleIcon","AlertTriangleIcon","AlignHorizontalIcon","AlignJustifyIcon","AppWindowIcon","ArrowDownIcon","ArrowLeftIcon","ArrowRightIcon","ArrowUpIcon","BadgeIcon","BatteryIcon","BellIcon","BluetoothIcon","BookIcon","BoxIcon","CalendarIcon","CameraIcon","CheckSquareIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","ChevronIcon","CircleDotIcon","ClockIcon","CloseIcon","CloudIcon","CodeIcon","ComponentIcon","CopyIcon","CreditCardIcon","DatabaseIcon","DownloadIcon","EditIcon","ExternalLinkIcon","EyeOffIcon","EyeIcon","FileTextIcon","FileIcon","FilterIcon","FolderIcon","FormInputIcon","GhostIcon","GiftIcon","GitCommitIcon","GithubIcon","GridIcon","GripIcon","Heading1Icon","HeartIcon","HelpCircleIcon","HistoryIcon","HomeIcon","ImageIcon","InfoIcon","LabIcon","LaptopIcon","LayoutTemplateIcon","LayoutIcon","LinkIcon","LinkedinIcon","ListChecksIcon","ListCollapseIcon","ListFilterIcon","ListIcon","Loader2Icon","LockIcon","LogInIcon","LogOutIcon","MailIcon","MapPinIcon","MenuIcon","MessageCircleIcon","MessageSquareIcon","MicIcon","MilestoneIcon","MinusIcon","MonitorIcon","MoonIcon","MoreHorizontalIcon","MousePointerIcon","MusicIcon","PanelLeftIcon","PanelTopIcon","PanelIcon","PhoneIcon","PlusIcon","RectangleHorizontalIcon","RefreshIcon","RocketIcon","RulerIcon","SearchIcon","ServerIcon","SettingsIcon","ShareIcon","ShieldIcon","ShoppingCartIcon","SlidersHorizontalIcon","SmartphoneIcon","SparkIcon","SparklesIcon","SpinnerIcon","SquareIcon","StarIcon","SunIcon","TableIcon","TabletIcon","TagIcon","TextCursorIcon","ThemeDarkIcon","ThemeLightIcon","ToggleRightIcon","TrashIcon","TypeIcon","UnlockIcon","UploadCloudIcon","UploadIcon","UserCircleIcon","UserIcon","VideoIcon","WarningIcon","WifiIcon","XIcon","ZapIcon","Input","supportText","prefix","suffix","clearable","id","inputId","inputRef","forceRender","isControlled","hasValue","setRefs","node","handleClear","current","handleInput","event","resolvedSuffix","TextArea","resize","rows","Search","onSearch","onChange","WEEK_DAYS","parseDateValue","value","year","month","day","formatDateValue","date","toIsoDate","isSameDay","a","b","buildCalendarDays","monthDate","startOfMonth","endOfMonth","startDay","totalDays","days","index","minimumCells","lastDate","nextDate","DatePicker","defaultValue","placeholder","_size","_prefix","_suffix","_clearable","rootRef","fallbackToday","initialDate","internalValue","setInternalValue","open","setOpen","selectedDate","viewDate","setViewDate","handlePointerDown","commitValue","nextIsoValue","nextEvent","handleSelectDate","handleApply","monthLabel","calendarDays","outside","isSelected","Select","searchable","searchPlaceholder","generatedId","useId","useRef","searchInputRef","isOpen","setIsOpen","useState","searchTerm","setSearchTerm","selectedValue","useEffect","handleClickOutside","selectedOption","option","filteredOptions","useMemo","handleSelect","nextValue","optionDisabled","MultiSelect","selectedValues","selectedOptions","commitChange","toggleValue","optionValue","item","setForwardedRef","Checkbox","indeterminate","handleRef","Radio","description","Slider","min","max","currentValue","percentage","next","FileUpload","onFileSelect","accept","multiple","maxSize","title","isDragging","setIsDragging","files","setFiles","setError","processFiles","incoming","valid","file","updated","_","itemIndex","createHeading","tag","levelClassName","Heading","Heading2","Heading3","Heading4","Heading5","Heading6","Card","padding","CardHeader","action","CardBody","CardFooter","Box","rounded","shadow","surface","border","Grid","columns","Container","Spacer","axis","Divider","orientation","ListContext","createContext","ListRoot","ListItem","startContent","endContent","active","onClick","useContext","resolvedStart","List","useAccordionState","type","initial","openItems","setOpenItems","AccordionItem","onToggle","Accordion","toggle","child","Code","block","Link","underline","href","to","currentPath","route","normalizePath","path","pathname","isCurrentRoute","isActive","Badge","Tag","leftIcon","rightIcon","closable","onRemove","removable","Avatar","src","status","getInitials","parts","Skeleton","circle","radius","animated","customStyle","Image","alt","objectFit","fallback","loaded","setLoaded","Fragment","Switch","Pagination","currentPage","totalPages","onPageChange","showControls","pages","items","startPage","endPage","page","EmptyState","Modal","onClose","footer","closeOnOverlayClick","mounted","setMounted","onKeyDown","e","createPortal","Drawer","placement","Tooltip","content","delay","tooltipId","triggerRef","timerRef","visible","setVisible","position","setPosition","updatePosition","useCallback","rect","offset","show","hide","handleUpdate","ToastContext","COLOR_ICONS","ToastItem","toast","onDismiss","exiting","setExiting","handleDismiss","timer","ToastProvider","maxToasts","setStatus","toasts","setToasts","data","prev","dismiss","t","useToast","ctx","Table","striped","hover","compact","stickyHeader","containerClassName","Thead","Tbody","Tr","Th","Td","SidebarContext","useSidebarContext","getNodeText","countSidebarItems","count","SidebarItem","findFirstSidebarItem","nestedItem","SidebarRoot","controlledCollapsed","defaultCollapsed","searchThreshold","internalCollapsed","setInternalCollapsed","collapsed","enableSearch","childArray","footerIndex","SidebarFooter","toggleCollapsed","contextValue","SidebarHeader","logo","collapsible","handleClick","searchText","itemText","normalizedSearchTerm","SidebarGroup","defaultOpen","controlledOpen","onOpenChange","internalOpen","setInternalOpen","childText","hasMatch","shouldForceOpen","firstItem","handleToggle","Sidebar","ThemeContext","useTheme","context","ThemeProvider","defaultTheme","storageKey","toastPosition","toastMaxToasts","theme","setThemeState","root","toggleTheme","setTheme","newTheme","TopBar","navItems","navPosition","extraContent","themeToggle","sticky","contentInside","renderNav","PageHeader","showBack","onBack","Breadcrumb","separator","isLast","Progress","showValue","Tabs","tabs","controlledValue","activeValue","val","activeTab","tab","triggerClasses","TimelineItem","Timeline"],"mappings":"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"}
1
+ {"version":3,"file":"acyon.es.js","sources":["../src/utils/classNames.ts","../src/utils/variants.ts","../src/utils/styleTokens.ts","../src/components/Loader/Loader.tsx","../src/components/Button/Button.tsx","../src/components/IconButton/IconButton.tsx","../src/utils/formater.ts","../src/components/Text/Text.tsx","../src/components/Flex/Flex.tsx","../src/components/FormField/FormField.tsx","../src/icons/IconBase.tsx","../src/icons/generated.tsx","../src/components/Input/Input.tsx","../src/components/TextArea/TextArea.tsx","../src/components/Search/Search.tsx","../src/components/DatePicker/DatePicker.tsx","../src/components/Select/Select.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/Dropdown/Dropdown.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Radio/Radio.tsx","../src/components/Slider/Slider.tsx","../src/components/FileUpload/FileUpload.tsx","../src/components/Heading/Heading.tsx","../src/components/Card/Card.tsx","../src/components/Box/Box.tsx","../src/components/Grid/Grid.tsx","../src/components/Container/Container.tsx","../src/components/Spacer/Spacer.tsx","../src/components/Divider/Divider.tsx","../src/components/List/List.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Code/Code.tsx","../src/components/Link/Link.tsx","../src/components/Badge/Badge.tsx","../src/components/Alert/Alert.tsx","../src/components/Tag/Tag.tsx","../src/components/Avatar/Avatar.tsx","../src/components/Skeleton/Skeleton.tsx","../src/components/Image/Image.tsx","../src/components/Switch/Switch.tsx","../src/components/Pagination/Pagination.tsx","../src/components/EmptyState/EmptyState.tsx","../src/components/Modal/Modal.tsx","../src/components/Drawer/Drawer.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/Toast/Toast.tsx","../src/components/Table/Table.tsx","../src/components/Sidebar/Sidebar.tsx","../src/components/ThemeProvider/ThemeProvider.tsx","../src/components/TopBar/TopBar.tsx","../src/components/PageHeader/PageHeader.tsx","../src/components/Breadcrumb/Breadcrumb.tsx","../src/components/Progress/Progress.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Timeline/Timeline.tsx"],"sourcesContent":["/**\r\n * classNames – combina strings de classes CSS ignorando falsy values.\r\n * Similar ao `clsx` mas sem dependências externas.\r\n */\r\ntype ClassValue = string | undefined | null | false | ClassValue[] | Record<string, unknown>;\r\n\r\nexport function classNames(...args: ClassValue[]): string {\r\n const classes: string[] = [];\r\n\r\n for (const arg of args) {\r\n if (!arg) continue;\r\n \r\n if (typeof arg === 'string') {\r\n classes.push(arg);\r\n } else if (Array.isArray(arg)) {\r\n const nested = classNames(...arg);\r\n if (nested) classes.push(nested);\r\n } else if (typeof arg === 'object') {\r\n for (const key in arg) {\r\n if (arg[key]) {\r\n classes.push(key);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return classes.join(' ');\r\n}\r\n\r\n\r\n\r\n","/**\r\n * Sistema de variants – mapeia variant/size → classes CSS.\r\n * Inspirado no CVA mas sem dependências externas.\r\n */\r\n\r\ntype VariantMap<V extends string, S extends string> = {\r\n base?: string;\r\n variants?: Partial<Record<V, string>>;\r\n sizes?: Partial<Record<S, string>>;\r\n compound?: Array<{\r\n variant?: V;\r\n size?: S;\r\n className: string;\r\n }>;\r\n defaultVariants?: {\r\n variant?: V;\r\n size?: S;\r\n };\r\n};\r\n\r\ntype VariantOptions<V extends string, S extends string> = {\r\n variant?: V;\r\n size?: S;\r\n className?: string;\r\n};\r\n\r\nexport function createVariants<V extends string, S extends string>(\r\n config: VariantMap<V, S>\r\n) {\r\n return function resolve(options: VariantOptions<V, S> = {}): string {\r\n const variant = options.variant ?? config.defaultVariants?.variant;\r\n const size = options.size ?? config.defaultVariants?.size;\r\n\r\n const classes: string[] = [];\r\n\r\n if (config.base) classes.push(config.base);\r\n if (variant && config.variants?.[variant]) {\r\n classes.push(config.variants[variant] as string);\r\n }\r\n if (size && config.sizes?.[size]) {\r\n classes.push(config.sizes[size] as string);\r\n }\r\n if (config.compound) {\r\n for (const c of config.compound) {\r\n const matchVariant = c.variant === undefined || c.variant === variant;\r\n const matchSize = c.size === undefined || c.size === size;\r\n if (matchVariant && matchSize) classes.push(c.className);\r\n }\r\n }\r\n if (options.className) classes.push(options.className);\r\n\r\n return classes.filter(Boolean).join(' ');\r\n };\r\n}\r\n\r\n\r\n\r\n","import type { LooseStringUnion } from '../components/types';\n\nexport type TokenColor = 'primary' | 'neutral' | 'success' | 'warning' | 'error';\nexport type ColorValue = LooseStringUnion<TokenColor>;\nexport type TokenTextColor = LooseStringUnion<TokenColor | 'default' | 'inverse' | 'disabled'>;\nexport type TokenIconColor = LooseStringUnion<TokenColor | 'default' | 'disabled'>;\n\nexport type TokenSize = 'extraSmall' | 'small' | 'medium' | 'large' | 'extraLarge';\nexport type TokenWeight = 'normal' | 'medium' | 'semibold' | 'bold';\n\nconst TOKEN_COLORS: readonly TokenColor[] = ['primary', 'neutral', 'success', 'warning', 'error'];\n\nexport function isTokenColor(color?: string): color is TokenColor {\n if (!color) return false;\n return TOKEN_COLORS.includes(color as TokenColor);\n}\n\nfunction normalizeTokenColor(color?: ColorValue): TokenColor | undefined {\n if (!color) return undefined;\n return isTokenColor(color) ? color : undefined;\n}\n\nexport function colorVar(color?: ColorValue): string | undefined {\n if (!color) return undefined;\n if (!isTokenColor(color)) return color;\n if (color === 'neutral') return 'var(--border-main)';\n if (color === 'error') return 'var(--color-danger)';\n return `var(--color-${color})`;\n}\n\nexport function textColorVar(color?: TokenTextColor): string | undefined {\n if (!color) return 'var(--text-main)';\n if (color === 'default') return 'var(--text-main)';\n if (color === 'disabled') return 'var(--text-muted)';\n if (color === 'inverse') return 'var(--text-inverse)';\n\n const normalized = normalizeTokenColor(color as ColorValue);\n if (!normalized) return color;\n if (normalized === 'neutral') return 'var(--text-muted)';\n if (normalized === 'error') return 'var(--color-danger)';\n return `var(--color-${normalized})`;\n}\n\nexport function iconColorVar(color?: TokenIconColor): string | undefined {\n if (!color) return 'currentColor';\n if (color === 'default') return 'currentColor';\n if (color === 'disabled') return 'var(--text-muted)';\n\n const normalized = normalizeTokenColor(color as ColorValue);\n if (!normalized) return color;\n if (normalized === 'neutral') return 'var(--text-subtle)';\n if (normalized === 'error') return 'var(--color-danger)';\n return `var(--color-${normalized})`;\n}\n\nexport function fontSizeVar(size?: TokenSize): string | undefined {\n if (!size) return undefined;\n\n const fontSizeMap: Record<TokenSize, string> = {\n extraSmall: 'xs',\n small: 'sm',\n medium: 'md',\n large: 'lg',\n extraLarge: 'xl',\n };\n\n return `var(--font-size-${fontSizeMap[size]})`;\n}\n\nexport function fontWeightVar(weight?: TokenWeight): string | undefined {\n return weight ? `var(--font-weight-${weight})` : undefined;\n}\n\nexport function spaceVar(space: string | number): string {\n return `var(--space-${space})`;\n}\n","import './Loader.css';\r\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { LoaderProps } from './types';\n\nexport type { LoaderProps, LoaderSize } from './types';\n\r\nexport function Loader({ size = 'medium', color, className, label = 'Loading...' }: LoaderProps) {\n const style = color ? { ['--loader-color' as string]: colorVar(color) } : {};\r\n \r\n return (\r\n <span role=\"status\" aria-label={label} className={classNames('loader', `loader--${size}`, className)} style={style}>\r\n <span className=\"loader__ring\" />\r\n <span className=\"sr-only\">{label}</span>\r\n </span>\r\n );\r\n}\r\n\r\n","import './Button.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar, isTokenColor } from '../../utils/styleTokens';\nimport { Loader } from '../Loader/Loader';\nimport type { ButtonProps } from './types';\n\nexport type { ButtonColor, ButtonProps, ButtonSize, ButtonVariant } from './types';\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({\n variant = 'solid',\n size = 'medium',\n loading = false,\n disabled,\n icon,\n iconRight = false,\n full = false,\n color = 'primary',\n children,\n className,\n style,\n ...props\n }, ref) => {\n const isDisabled = disabled || loading;\n const tokenColor = isTokenColor(color) ? color : undefined;\n const customColor = !color || tokenColor ? undefined : colorVar(color);\n const buttonStyle = customColor\n ? {\n ...style,\n ['--btn-base' as string]: customColor,\n ['--btn-bg' as string]: customColor,\n ['--btn-text' as string]: 'var(--text-inverse)',\n }\n : style;\n\n return (\n <button\n ref={ref}\n disabled={isDisabled}\n aria-busy={loading}\n className={classNames(\n 'btn',\n `btn--${variant}`,\n `btn--${size}`,\n tokenColor && `btn--color-${tokenColor}`,\n full && 'btn--full',\n loading && 'btn--loading',\n className\n )}\n style={buttonStyle}\n {...props}\n >\n {loading && (\n <Loader \n size={size === 'extraSmall' || size === 'small' ? 'extraSmall' : size === 'medium' ? 'small' : 'medium'} \n className=\"btn__spinner\" \n />\n )}\n {!loading && icon && !iconRight && (\n <span className=\"btn__icon btn__icon--left\">{icon}</span>\n )}\n {children && <span className=\"btn__label\">{children}</span>}\n {!loading && icon && iconRight && (\n <span className=\"btn__icon btn__icon--right\">{icon}</span>\n )}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n","import React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport './IconButton.css';\nimport { Loader } from '../Loader/Loader';\nimport { Button } from '../Button/Button';\nimport type { IconButtonProps } from './types';\n\nexport type { IconButtonProps, IconButtonSize, IconButtonVariant } from './types';\n\nexport const IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ icon, variant = 'solid', size = 'medium', loading = false, disabled, className, style, label, ...props }, ref) => {\n return (\n <Button\n ref={ref}\n className={classNames('icon-btn', `icon-btn--size-${size}`, className)}\n aria-label={label || (typeof icon === 'string' ? icon : 'icon-button')}\n aria-busy={loading}\n variant={variant}\n size={size}\n disabled={disabled || loading}\n style={style}\n {...props}\n >\n {loading ? (\n <Loader />\n ) : (\n <span className=\"icon-btn__content\">\n {icon}\n </span>\n )}\n </Button>\n );\n }\n);\n\nIconButton.displayName = 'IconButton';\n","export function LabelFormater(text: string): string {\r\n if (!text) return '';\r\n\r\n return text\r\n .toLowerCase()\r\n .replace(/^\\p{L}/u, (char) => char.toUpperCase());\r\n}\r\n\r\n\r\n","import React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { isTokenColor, textColorVar } from '../../utils/styleTokens';\nimport './Text.css';\nimport type { TextProps } from './types';\n\nexport type { TextColor, TextOwnProps, TextProps, TextSize, TextWeight } from './types';\n\nexport const Text = <TElement extends React.ElementType = 'p'>({\n size = 'medium',\n color = 'default',\n weight = 'normal',\n as,\n className,\n children,\n style,\n ...props\n}: TextProps<TElement>) => {\n const Component = (as || 'p') as React.ElementType;\n const tokenColorClass = isTokenColor(color) || ['default', 'inverse'].includes(color)\n ? `text--color-${color}`\n : undefined;\n\n return (\n <Component\n className={classNames(\n 'text',\n `text--size-${size}`,\n tokenColorClass,\n `text--weight-${weight}`,\n className\n )}\n style={!tokenColorClass ? { ...style, color: textColorVar(color) } : style}\n {...props}\n >\n {children}\n </Component>\n );\n};\n","import React from 'react';\nimport './Flex.css';\nimport { classNames } from '../../utils/classNames';\nimport type { FlexProps } from './types';\n\nexport type { FlexAlign, FlexDirection, FlexGap, FlexJustify, FlexOwnProps, FlexProps, FlexWrap } from './types';\n\nexport const Flex = <TElement extends React.ElementType = 'div'>({\n children,\r\n direction = 'row',\r\n align = 'stretch',\r\n justify = 'flex-start',\r\n wrap = 'nowrap',\r\n gap = '0',\n className,\n style,\n as,\n ...props\n}: FlexProps<TElement>) => {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n className={classNames(\r\n 'flex',\r\n `flex-direction--${direction}`,\r\n `flex-align--${align}`,\r\n `flex-justify--${justify}`,\r\n `flex-wrap--${wrap}`,\r\n `flex-gap--${gap}`,\r\n className\r\n )}\r\n style={style}\r\n {...props}\r\n >\r\n {children}\n </Component>\n );\n};\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\nimport { classNames, LabelFormater } from '../../utils';\nimport { Text } from '../Text/Text';\nimport { Flex } from '../Flex/Flex';\nimport './FormField.css';\nimport type { FormFieldProps } from './types';\n\nexport type { FormFieldProps } from './types';\n\r\nexport const FormField: React.FC<FormFieldProps> = ({\r\n label,\r\n error,\r\n hint,\r\n children,\r\n full = false,\r\n className,\r\n htmlFor\r\n}) => {\r\n return (\r\n <Flex direction=\"column\" gap=\"1\" className={classNames('form-field-root', full && 'form-field--full', className)}>\r\n {label && (\r\n <Text size=\"small\" weight=\"medium\" as=\"label\" htmlFor={htmlFor} className=\"form-field-label\">\n {LabelFormater(label)}\r\n </Text>\r\n )}\r\n {children}\r\n {error && (\r\n <Text as=\"span\" color=\"error\" size=\"small\" className=\"form-field-message\" role=\"alert\">\n {error}\r\n </Text>\r\n )}\r\n {!error && hint && (\r\n <Text as=\"span\" color=\"neutral\" size=\"small\" className=\"form-field-message\">\n {hint}\r\n </Text>\r\n )}\r\n </Flex>\r\n );\r\n};\r\n","import React from 'react';\n\nexport interface IconProps extends Omit<React.SVGProps<SVGSVGElement>, 'name'> {\n size?: number;\n}\n\nexport function IconBase({\n size = 20,\n width,\n height,\n viewBox = '0 0 24 24',\n fill = 'none',\n stroke = 'currentColor',\n strokeWidth = 2,\n strokeLinecap = 'round',\n strokeLinejoin = 'round',\n children,\n ...props\n}: IconProps) {\n return (\n <svg\n width={width ?? size}\n height={height ?? size}\n viewBox={viewBox}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n strokeLinecap={strokeLinecap}\n strokeLinejoin={strokeLinejoin}\n aria-hidden=\"true\"\n {...props}\n >\n {children}\n </svg>\n );\n}\n","import React from 'react';\nimport { IconBase } from './IconBase';\nimport type { IconProps } from './IconBase';\n\nexport type IconName =\n | 'activity'\n | 'alert-circle'\n | 'alert-triangle'\n | 'align-horizontal'\n | 'align-justify'\n | 'app-window'\n | 'arrow-down'\n | 'arrow-left'\n | 'arrow-right'\n | 'arrow-up'\n | 'badge'\n | 'battery'\n | 'bell'\n | 'bluetooth'\n | 'book'\n | 'box'\n | 'calendar'\n | 'camera'\n | 'check-square'\n | 'check'\n | 'chevron-down'\n | 'chevron-left'\n | 'chevron-right'\n | 'chevron-up'\n | 'chevron'\n | 'circle-dot'\n | 'clock'\n | 'close'\n | 'cloud'\n | 'code'\n | 'component'\n | 'copy'\n | 'credit-card'\n | 'database'\n | 'download'\n | 'edit'\n | 'external-link'\n | 'eye-off'\n | 'eye'\n | 'file-text'\n | 'file'\n | 'filter'\n | 'folder'\n | 'form-input'\n | 'ghost'\n | 'gift'\n | 'git-commit'\n | 'github'\n | 'grid'\n | 'grip'\n | 'heading1'\n | 'heart'\n | 'help-circle'\n | 'history'\n | 'home'\n | 'image'\n | 'info'\n | 'lab'\n | 'laptop'\n | 'layout-template'\n | 'layout'\n | 'link'\n | 'linkedin'\n | 'list-checks'\n | 'list-collapse'\n | 'list-filter'\n | 'list'\n | 'loader2'\n | 'lock'\n | 'log-in'\n | 'log-out'\n | 'mail'\n | 'map-pin'\n | 'menu'\n | 'message-circle'\n | 'message-square'\n | 'mic'\n | 'milestone'\n | 'minus'\n | 'monitor'\n | 'moon'\n | 'more-horizontal'\n | 'mouse-pointer'\n | 'music'\n | 'panel-left'\n | 'panel-top'\n | 'panel'\n | 'phone'\n | 'plus'\n | 'rectangle-horizontal'\n | 'refresh'\n | 'rocket'\n | 'ruler'\n | 'search'\n | 'server'\n | 'settings'\n | 'share'\n | 'shield'\n | 'shopping-cart'\n | 'sliders-horizontal'\n | 'smartphone'\n | 'spark'\n | 'sparkles'\n | 'spinner'\n | 'square'\n | 'star'\n | 'sun'\n | 'table'\n | 'tablet'\n | 'tag'\n | 'text-cursor'\n | 'theme-dark'\n | 'theme-light'\n | 'toggle-right'\n | 'trash'\n | 'type'\n | 'unlock'\n | 'upload-cloud'\n | 'upload'\n | 'user-circle'\n | 'user'\n | 'video'\n | 'warning'\n | 'wifi'\n | 'x'\n | 'zap';\n\nconst icons = {\n 'activity': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\\\" />\",\n },\n 'alert-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12\\\" y1=\\\"8\\\" y2=\\\"12\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12.01\\\" y1=\\\"16\\\" y2=\\\"16\\\" />\",\n },\n 'alert-triangle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\\\" />\\n <path d=\\\"M12 9v4\\\" />\\n <path d=\\\"M12 17h.01\\\" />\",\n },\n 'align-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"6\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"5\\\" rx=\\\"2\\\" />\\n <rect width=\\\"6\\\" height=\\\"10\\\" x=\\\"16\\\" y=\\\"7\\\" rx=\\\"2\\\" />\\n <path d=\\\"M12 2v20\\\" />\",\n },\n 'align-justify': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 5h18\\\" />\\n <path d=\\\"M3 12h18\\\" />\\n <path d=\\\"M3 19h18\\\" />\",\n },\n 'app-window': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect x=\\\"2\\\" y=\\\"4\\\" width=\\\"20\\\" height=\\\"16\\\" rx=\\\"2\\\" />\\n <path d=\\\"M10 4v4\\\" />\\n <path d=\\\"M2 8h20\\\" />\\n <path d=\\\"M6 4v4\\\" />\",\n },\n 'arrow-down': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 5v14\\\" />\\n <path d=\\\"m19 12-7 7-7-7\\\" />\",\n },\n 'arrow-left': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m12 19-7-7 7-7\\\" />\\n <path d=\\\"M19 12H5\\\" />\",\n },\n 'arrow-right': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M5 12h14\\\" />\\n <path d=\\\"m12 5 7 7-7 7\\\" />\",\n },\n 'arrow-up': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m5 12 7-7 7 7\\\" />\\n <path d=\\\"M12 19V5\\\" />\",\n },\n 'badge': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\\\" />\",\n },\n 'battery': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M 22 14 L 22 10\\\" />\\n <rect x=\\\"2\\\" y=\\\"6\\\" width=\\\"16\\\" height=\\\"12\\\" rx=\\\"2\\\" />\",\n },\n 'bell': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10.268 21a2 2 0 0 0 3.464 0\\\" />\\n <path d=\\\"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326\\\" />\",\n },\n 'bluetooth': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m7 7 10 10-5 5V2l5 5L7 17\\\" />\",\n },\n 'book': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\\\" />\\n <path d=\\\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\\\" />\",\n },\n 'box': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z\\\" />\\n <path d=\\\"m3.3 7 8.7 5 8.7-5\\\" />\\n <path d=\\\"M12 22V12\\\" />\",\n },\n 'calendar': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M8 2v4\\\" />\\n <path d=\\\"M16 2v4\\\" />\\n <rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"4\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 10h18\\\" />\",\n },\n 'camera': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"13\\\" r=\\\"3\\\" />\",\n },\n 'check-square': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344\\\" />\\n <path d=\\\"m9 11 3 3L22 4\\\" />\",\n },\n 'check': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20 6 9 17l-5-5\\\" />\",\n },\n 'chevron-down': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m6 9 6 6 6-6\\\" />\",\n },\n 'chevron-left': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m15 18-6-6 6-6\\\" />\",\n },\n 'chevron-right': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m9 18 6-6-6-6\\\" />\",\n },\n 'chevron-up': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m18 15-6-6-6 6\\\" />\",\n },\n 'chevron': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m9 18 6-6-6-6\\\" />\",\n },\n 'circle-dot': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\" />\",\n },\n 'clock': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <path d=\\\"M12 6v6l4 2\\\" />\",\n },\n 'close': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M18 6 6 18\\\" />\\n <path d=\\\"m6 6 12 12\\\" />\",\n },\n 'cloud': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z\\\" />\",\n },\n 'code': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m10 9-3 3 3 3\\\"/><path d=\\\"m14 15 3-3-3-3\\\"/><rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\"/>\",\n },\n 'component': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\\\" />\\n <path d=\\\"M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z\\\" />\\n <path d=\\\"M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z\\\" />\\n <path d=\\\"M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\\\" />\",\n },\n 'copy': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"14\\\" height=\\\"14\\\" x=\\\"8\\\" y=\\\"8\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\\\" />\",\n },\n 'credit-card': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"5\\\" rx=\\\"2\\\" />\\n <line x1=\\\"2\\\" x2=\\\"22\\\" y1=\\\"10\\\" y2=\\\"10\\\" />\",\n },\n 'database': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<ellipse cx=\\\"12\\\" cy=\\\"5\\\" rx=\\\"9\\\" ry=\\\"3\\\" />\\n <path d=\\\"M3 5V19A9 3 0 0 0 21 19V5\\\" />\\n <path d=\\\"M3 12A9 3 0 0 0 21 12\\\" />\",\n },\n 'download': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 15V3\\\" />\\n <path d=\\\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\" />\\n <path d=\\\"m7 10 5 5 5-5\\\" />\",\n },\n 'edit': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\\\" />\\n <path d=\\\"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\\\" />\",\n },\n 'external-link': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15 3h6v6\\\" />\\n <path d=\\\"M10 14 21 3\\\" />\\n <path d=\\\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\\\" />\",\n },\n 'eye-off': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49\\\" />\\n <path d=\\\"M14.084 14.158a3 3 0 0 1-4.242-4.242\\\" />\\n <path d=\\\"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143\\\" />\\n <path d=\\\"m2 2 20 20\\\" />\",\n },\n 'eye': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\" />\",\n },\n 'file-text': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\\" />\\n <path d=\\\"M14 2v5a1 1 0 0 0 1 1h5\\\" />\\n <path d=\\\"M10 9H8\\\" />\\n <path d=\\\"M16 13H8\\\" />\\n <path d=\\\"M16 17H8\\\" />\",\n },\n 'file': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\\\" />\\n <path d=\\\"M14 2v5a1 1 0 0 0 1 1h5\\\" />\",\n },\n 'filter': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z\\\" />\",\n },\n 'folder': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\\\" />\",\n },\n 'form-input': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"12\\\" x=\\\"2\\\" y=\\\"6\\\" rx=\\\"2\\\" />\\n <path d=\\\"M12 12h.01\\\" />\\n <path d=\\\"M17 12h.01\\\" />\\n <path d=\\\"M7 12h.01\\\" />\",\n },\n 'ghost': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M9 10h.01\\\" />\\n <path d=\\\"M15 10h.01\\\" />\\n <path d=\\\"M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z\\\" />\",\n },\n 'gift': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 7v14\\\" />\\n <path d=\\\"M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8\\\" />\\n <path d=\\\"M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5\\\" />\\n <rect x=\\\"3\\\" y=\\\"7\\\" width=\\\"18\\\" height=\\\"4\\\" rx=\\\"1\\\" />\",\n },\n 'git-commit': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\" />\\n <line x1=\\\"3\\\" x2=\\\"9\\\" y1=\\\"12\\\" y2=\\\"12\\\" />\\n <line x1=\\\"15\\\" x2=\\\"21\\\" y1=\\\"12\\\" y2=\\\"12\\\" />\",\n },\n 'github': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\\\" />\\n <path d=\\\"M9 18c-4.51 2-5-2-7-2\\\" />\",\n },\n 'grid': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 9h18\\\" />\\n <path d=\\\"M3 15h18\\\" />\\n <path d=\\\"M9 3v18\\\" />\\n <path d=\\\"M15 3v18\\\" />\",\n },\n 'grip': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"5\\\" r=\\\"1\\\"/><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\"/><circle cx=\\\"12\\\" cy=\\\"19\\\" r=\\\"1\\\"/><circle cx=\\\"19\\\" cy=\\\"19\\\" r=\\\"1\\\"/><circle cx=\\\"5\\\" cy=\\\"19\\\" r=\\\"1\\\"/>\",\n },\n 'heading1': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M4 12h8\\\" />\\n <path d=\\\"M4 18V6\\\" />\\n <path d=\\\"M12 18V6\\\" />\\n <path d=\\\"m17 12 3-2v8\\\" />\",\n },\n 'heart': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\\\" />\",\n },\n 'help-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <path d=\\\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\\\" />\\n <path d=\\\"M12 17h.01\\\" />\",\n },\n 'history': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\\\" />\\n <path d=\\\"M3 3v5h5\\\" />\\n <path d=\\\"M12 7v5l4 2\\\" />\",\n },\n 'home': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\\\" />\\n <path d=\\\"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\" />\",\n },\n 'image': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <circle cx=\\\"9\\\" cy=\\\"9\\\" r=\\\"2\\\" />\\n <path d=\\\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\\\" />\",\n },\n 'info': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <path d=\\\"M12 16v-4\\\" />\\n <path d=\\\"M12 8h.01\\\" />\",\n },\n 'lab': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2\\\" />\\n <path d=\\\"M6.453 15h11.094\\\" />\\n <path d=\\\"M8.5 2h7\\\" />\",\n },\n 'laptop': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z\\\" />\\n <path d=\\\"M20.054 15.987H3.946\\\" />\",\n },\n 'layout-template': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"7\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"1\\\" />\\n <rect width=\\\"9\\\" height=\\\"7\\\" x=\\\"3\\\" y=\\\"14\\\" rx=\\\"1\\\" />\\n <rect width=\\\"5\\\" height=\\\"7\\\" x=\\\"16\\\" y=\\\"14\\\" rx=\\\"1\\\" />\",\n },\n 'layout': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\" />\\n <line x1=\\\"9\\\" y1=\\\"3\\\" x2=\\\"9\\\" y2=\\\"21\\\" />\\n <line x1=\\\"9\\\" y1=\\\"9\\\" x2=\\\"21\\\" y2=\\\"9\\\" />\",\n },\n 'link': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\\\" />\\n <path d=\\\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\\\" />\",\n },\n 'linkedin': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\\\" />\\n <rect width=\\\"4\\\" height=\\\"12\\\" x=\\\"2\\\" y=\\\"9\\\" />\\n <circle cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\" />\",\n },\n 'list-checks': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M13 5h8\\\" />\\n <path d=\\\"M13 12h8\\\" />\\n <path d=\\\"M13 19h8\\\" />\\n <path d=\\\"m3 17 2 2 4-4\\\" />\\n <path d=\\\"m3 7 2 2 4-4\\\" />\",\n },\n 'list-collapse': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 5h11\\\" />\\n <path d=\\\"M10 12h11\\\" />\\n <path d=\\\"M10 19h11\\\" />\\n <path d=\\\"m3 10 3-3-3-3\\\" />\\n <path d=\\\"m3 20 3-3-3-3\\\" />\",\n },\n 'list-filter': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2 5h20\\\" />\\n <path d=\\\"M6 12h12\\\" />\\n <path d=\\\"M9 19h6\\\" />\",\n },\n 'list': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 5h.01\\\" />\\n <path d=\\\"M3 12h.01\\\" />\\n <path d=\\\"M3 19h.01\\\" />\\n <path d=\\\"M8 5h13\\\" />\\n <path d=\\\"M8 12h13\\\" />\\n <path d=\\\"M8 19h13\\\" />\",\n },\n 'loader2': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 12a9 9 0 1 1-6.219-8.56\\\" />\",\n },\n 'lock': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"11\\\" x=\\\"3\\\" y=\\\"11\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M7 11V7a5 5 0 0 1 10 0v4\\\" />\",\n },\n 'log-in': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m10 17 5-5-5-5\\\" />\\n <path d=\\\"M15 12H3\\\" />\\n <path d=\\\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\\\" />\",\n },\n 'log-out': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m16 17 5-5-5-5\\\" />\\n <path d=\\\"M21 12H9\\\" />\\n <path d=\\\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\\\" />\",\n },\n 'mail': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\\\" />\\n <rect x=\\\"2\\\" y=\\\"4\\\" width=\\\"20\\\" height=\\\"16\\\" rx=\\\"2\\\" />\",\n },\n 'map-pin': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"10\\\" r=\\\"3\\\" />\",\n },\n 'menu': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M4 5h16\\\" />\\n <path d=\\\"M4 12h16\\\" />\\n <path d=\\\"M4 19h16\\\" />\",\n },\n 'message-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719\\\" />\",\n },\n 'message-square': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z\\\" />\",\n },\n 'mic': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 19v3\\\" />\\n <path d=\\\"M19 10v2a7 7 0 0 1-14 0v-2\\\" />\\n <rect x=\\\"9\\\" y=\\\"2\\\" width=\\\"6\\\" height=\\\"13\\\" rx=\\\"3\\\" />\",\n },\n 'milestone': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 13v8\\\" />\\n <path d=\\\"M12 3v3\\\" />\\n <path d=\\\"M4 6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h13a2 2 0 0 0 1.152-.365l3.424-2.317a1 1 0 0 0 0-1.635l-3.424-2.318A2 2 0 0 0 17 6z\\\" />\",\n },\n 'minus': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M5 12h14\\\" />\",\n },\n 'monitor': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <line x1=\\\"8\\\" x2=\\\"16\\\" y1=\\\"21\\\" y2=\\\"21\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12\\\" y1=\\\"17\\\" y2=\\\"21\\\" />\",\n },\n 'moon': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\\" />\",\n },\n 'more-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\" />\\n <circle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\" />\\n <circle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\" />\",\n },\n 'mouse-pointer': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M14 4.1 12 6\\\" />\\n <path d=\\\"m5.1 8-2.9-.8\\\" />\\n <path d=\\\"m6 12-1.9 2\\\" />\\n <path d=\\\"M7.2 2.2 8 5.1\\\" />\\n <path d=\\\"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z\\\" />\",\n },\n 'music': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M9 18V5l12-2v13\\\" />\\n <circle cx=\\\"6\\\" cy=\\\"18\\\" r=\\\"3\\\" />\\n <circle cx=\\\"18\\\" cy=\\\"16\\\" r=\\\"3\\\" />\",\n },\n 'panel-left': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M9 3v18\\\" />\",\n },\n 'panel-top': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 9h18\\\" />\",\n },\n 'panel': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\"/><path d=\\\"M12 3v18\\\"/>\",\n },\n 'phone': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\\\" />\",\n },\n 'plus': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M5 12h14\\\" />\\n <path d=\\\"M12 5v14\\\" />\",\n },\n 'rectangle-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"12\\\" x=\\\"2\\\" y=\\\"6\\\" rx=\\\"2\\\" />\",\n },\n 'refresh': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\\\" />\\n <path d=\\\"M21 3v5h-5\\\" />\\n <path d=\\\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\\\" />\\n <path d=\\\"M8 16H3v5\\\" />\",\n },\n 'rocket': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5\\\" />\\n <path d=\\\"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09\\\" />\\n <path d=\\\"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z\\\" />\\n <path d=\\\"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05\\\" />\",\n },\n 'ruler': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z\\\" />\\n <path d=\\\"m14.5 12.5 2-2\\\" />\\n <path d=\\\"m11.5 9.5 2-2\\\" />\\n <path d=\\\"m8.5 6.5 2-2\\\" />\\n <path d=\\\"m17.5 15.5 2-2\\\" />\",\n },\n 'search': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m21 21-4.34-4.34\\\" />\\n <circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\" />\",\n },\n 'server': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"20\\\" height=\\\"8\\\" x=\\\"2\\\" y=\\\"2\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <rect width=\\\"20\\\" height=\\\"8\\\" x=\\\"2\\\" y=\\\"14\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <line x1=\\\"6\\\" x2=\\\"6.01\\\" y1=\\\"6\\\" y2=\\\"6\\\" />\\n <line x1=\\\"6\\\" x2=\\\"6.01\\\" y1=\\\"18\\\" y2=\\\"18\\\" />\",\n },\n 'settings': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\" />\",\n },\n 'share': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 2v13\\\" />\\n <path d=\\\"m16 6-4-4-4 4\\\" />\\n <path d=\\\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\\\" />\",\n },\n 'shield': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\\\" />\",\n },\n 'shopping-cart': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"8\\\" cy=\\\"21\\\" r=\\\"1\\\" />\\n <circle cx=\\\"19\\\" cy=\\\"21\\\" r=\\\"1\\\" />\\n <path d=\\\"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12\\\" />\",\n },\n 'sliders-horizontal': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M10 5H3\\\" />\\n <path d=\\\"M12 19H3\\\" />\\n <path d=\\\"M14 3v4\\\" />\\n <path d=\\\"M16 17v4\\\" />\\n <path d=\\\"M21 12h-9\\\" />\\n <path d=\\\"M21 19h-5\\\" />\\n <path d=\\\"M21 5h-7\\\" />\\n <path d=\\\"M8 10v4\\\" />\\n <path d=\\\"M8 12H3\\\" />\",\n },\n 'smartphone': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"14\\\" height=\\\"20\\\" x=\\\"5\\\" y=\\\"2\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M12 18h.01\\\" />\",\n },\n 'spark': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\\\" />\\n <path d=\\\"M20 2v4\\\" />\\n <path d=\\\"M22 4h-4\\\" />\\n <circle cx=\\\"4\\\" cy=\\\"20\\\" r=\\\"2\\\" />\",\n },\n 'sparkles': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\\\" />\\n <path d=\\\"M20 2v4\\\" />\\n <path d=\\\"M22 4h-4\\\" />\\n <circle cx=\\\"4\\\" cy=\\\"20\\\" r=\\\"2\\\" />\",\n },\n 'spinner': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M21 12a9 9 0 1 1-6.219-8.56\\\" />\",\n },\n 'square': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\",\n },\n 'star': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\\\" />\",\n },\n 'sun': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\" />\\n <path d=\\\"M12 2v2\\\" />\\n <path d=\\\"M12 20v2\\\" />\\n <path d=\\\"m4.93 4.93 1.41 1.41\\\" />\\n <path d=\\\"m17.66 17.66 1.41 1.41\\\" />\\n <path d=\\\"M2 12h2\\\" />\\n <path d=\\\"M20 12h2\\\" />\\n <path d=\\\"m6.34 17.66-1.41 1.41\\\" />\\n <path d=\\\"m19.07 4.93-1.41 1.41\\\" />\",\n },\n 'table': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 3v18\\\" />\\n <rect width=\\\"18\\\" height=\\\"18\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"2\\\" />\\n <path d=\\\"M3 9h18\\\" />\\n <path d=\\\"M3 15h18\\\" />\",\n },\n 'tablet': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"16\\\" height=\\\"20\\\" x=\\\"4\\\" y=\\\"2\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <line x1=\\\"12\\\" x2=\\\"12.01\\\" y1=\\\"18\\\" y2=\\\"18\\\" />\",\n },\n 'tag': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z\\\" />\\n <circle cx=\\\"7.5\\\" cy=\\\"7.5\\\" r=\\\".5\\\" fill=\\\"currentColor\\\" />\",\n },\n 'text-cursor': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6\\\" />\\n <path d=\\\"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7\\\" />\\n <path d=\\\"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1\\\" />\\n <path d=\\\"M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1\\\" />\\n <path d=\\\"M9 6v12\\\" />\",\n },\n 'theme-dark': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\\\" />\",\n },\n 'theme-light': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\" />\\n <path d=\\\"M12 2v2\\\" />\\n <path d=\\\"M12 20v2\\\" />\\n <path d=\\\"m4.93 4.93 1.41 1.41\\\" />\\n <path d=\\\"m17.66 17.66 1.41 1.41\\\" />\\n <path d=\\\"M2 12h2\\\" />\\n <path d=\\\"M20 12h2\\\" />\\n <path d=\\\"m6.34 17.66-1.41 1.41\\\" />\\n <path d=\\\"m19.07 4.93-1.41 1.41\\\" />\",\n },\n 'toggle-right': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"15\\\" cy=\\\"12\\\" r=\\\"3\\\" />\\n <rect width=\\\"20\\\" height=\\\"14\\\" x=\\\"2\\\" y=\\\"5\\\" rx=\\\"7\\\" />\",\n },\n 'trash': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6\\\" />\\n <path d=\\\"M3 6h18\\\" />\\n <path d=\\\"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\\\" />\",\n },\n 'type': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 4v16\\\" />\\n <path d=\\\"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2\\\" />\\n <path d=\\\"M9 20h6\\\" />\",\n },\n 'unlock': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<rect width=\\\"18\\\" height=\\\"11\\\" x=\\\"3\\\" y=\\\"11\\\" rx=\\\"2\\\" ry=\\\"2\\\" />\\n <path d=\\\"M7 11V7a5 5 0 0 1 9.9-1\\\" />\",\n },\n 'upload-cloud': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 13v8\\\" />\\n <path d=\\\"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\\\" />\\n <path d=\\\"m8 17 4-4 4 4\\\" />\",\n },\n 'upload': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 3v12\\\" />\\n <path d=\\\"m17 8-5-5-5 5\\\" />\\n <path d=\\\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\" />\",\n },\n 'user-circle': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"10\\\" r=\\\"3\\\" />\\n <path d=\\\"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662\\\" />\",\n },\n 'user': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\\\" />\\n <circle cx=\\\"12\\\" cy=\\\"7\\\" r=\\\"4\\\" />\",\n },\n 'video': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5\\\" />\\n <rect x=\\\"2\\\" y=\\\"6\\\" width=\\\"14\\\" height=\\\"12\\\" rx=\\\"2\\\" />\",\n },\n 'warning': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\\\" />\\n <path d=\\\"M12 9v4\\\" />\\n <path d=\\\"M12 17h.01\\\" />\",\n },\n 'wifi': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M12 20h.01\\\" />\\n <path d=\\\"M2 8.82a15 15 0 0 1 20 0\\\" />\\n <path d=\\\"M5 12.859a10 10 0 0 1 14 0\\\" />\\n <path d=\\\"M8.5 16.429a5 5 0 0 1 7 0\\\" />\",\n },\n 'x': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<path d=\\\"M18 6 6 18\\\" />\\n <path d=\\\"m6 6 12 12\\\" />\",\n },\n 'zap': {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n body: \"<polygon points=\\\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\\\" />\",\n },\n} satisfies Record<IconName, {\n viewBox: string;\n fill: string;\n stroke: string;\n strokeWidth: string;\n strokeLinecap: string;\n strokeLinejoin: string;\n body: string;\n}>;\n\nexport interface NamedIconProps extends IconProps {\n name: IconName;\n}\n\nexport function Icon({ name, ...props }: NamedIconProps) {\n const icon = icons[name];\n return (\n <IconBase\n viewBox={icon.viewBox}\n fill={icon.fill}\n stroke={icon.stroke}\n strokeWidth={Number(icon.strokeWidth)}\n strokeLinecap={icon.strokeLinecap as React.SVGProps<SVGSVGElement>['strokeLinecap']}\n strokeLinejoin={icon.strokeLinejoin as React.SVGProps<SVGSVGElement>['strokeLinejoin']}\n dangerouslySetInnerHTML={{ __html: icon.body }}\n {...props}\n />\n );\n}\n\nfunction createNamedIcon(name: IconName) {\n return function NamedIcon(props: IconProps) {\n return <Icon name={name} {...props} />;\n };\n}\n\nexport const ActivityIcon = createNamedIcon('activity' as IconName);\nexport const AlertCircleIcon = createNamedIcon('alert-circle' as IconName);\nexport const AlertTriangleIcon = createNamedIcon('alert-triangle' as IconName);\nexport const AlignHorizontalIcon = createNamedIcon('align-horizontal' as IconName);\nexport const AlignJustifyIcon = createNamedIcon('align-justify' as IconName);\nexport const AppWindowIcon = createNamedIcon('app-window' as IconName);\nexport const ArrowDownIcon = createNamedIcon('arrow-down' as IconName);\nexport const ArrowLeftIcon = createNamedIcon('arrow-left' as IconName);\nexport const ArrowRightIcon = createNamedIcon('arrow-right' as IconName);\nexport const ArrowUpIcon = createNamedIcon('arrow-up' as IconName);\nexport const BadgeIcon = createNamedIcon('badge' as IconName);\nexport const BatteryIcon = createNamedIcon('battery' as IconName);\nexport const BellIcon = createNamedIcon('bell' as IconName);\nexport const BluetoothIcon = createNamedIcon('bluetooth' as IconName);\nexport const BookIcon = createNamedIcon('book' as IconName);\nexport const BoxIcon = createNamedIcon('box' as IconName);\nexport const CalendarIcon = createNamedIcon('calendar' as IconName);\nexport const CameraIcon = createNamedIcon('camera' as IconName);\nexport const CheckSquareIcon = createNamedIcon('check-square' as IconName);\nexport const CheckIcon = createNamedIcon('check' as IconName);\nexport const ChevronDownIcon = createNamedIcon('chevron-down' as IconName);\nexport const ChevronLeftIcon = createNamedIcon('chevron-left' as IconName);\nexport const ChevronRightIcon = createNamedIcon('chevron-right' as IconName);\nexport const ChevronUpIcon = createNamedIcon('chevron-up' as IconName);\nexport const ChevronIcon = createNamedIcon('chevron' as IconName);\nexport const CircleDotIcon = createNamedIcon('circle-dot' as IconName);\nexport const ClockIcon = createNamedIcon('clock' as IconName);\nexport const CloseIcon = createNamedIcon('close' as IconName);\nexport const CloudIcon = createNamedIcon('cloud' as IconName);\nexport const CodeIcon = createNamedIcon('code' as IconName);\nexport const ComponentIcon = createNamedIcon('component' as IconName);\nexport const CopyIcon = createNamedIcon('copy' as IconName);\nexport const CreditCardIcon = createNamedIcon('credit-card' as IconName);\nexport const DatabaseIcon = createNamedIcon('database' as IconName);\nexport const DownloadIcon = createNamedIcon('download' as IconName);\nexport const EditIcon = createNamedIcon('edit' as IconName);\nexport const ExternalLinkIcon = createNamedIcon('external-link' as IconName);\nexport const EyeOffIcon = createNamedIcon('eye-off' as IconName);\nexport const EyeIcon = createNamedIcon('eye' as IconName);\nexport const FileTextIcon = createNamedIcon('file-text' as IconName);\nexport const FileIcon = createNamedIcon('file' as IconName);\nexport const FilterIcon = createNamedIcon('filter' as IconName);\nexport const FolderIcon = createNamedIcon('folder' as IconName);\nexport const FormInputIcon = createNamedIcon('form-input' as IconName);\nexport const GhostIcon = createNamedIcon('ghost' as IconName);\nexport const GiftIcon = createNamedIcon('gift' as IconName);\nexport const GitCommitIcon = createNamedIcon('git-commit' as IconName);\nexport const GithubIcon = createNamedIcon('github' as IconName);\nexport const GridIcon = createNamedIcon('grid' as IconName);\nexport const GripIcon = createNamedIcon('grip' as IconName);\nexport const Heading1Icon = createNamedIcon('heading1' as IconName);\nexport const HeartIcon = createNamedIcon('heart' as IconName);\nexport const HelpCircleIcon = createNamedIcon('help-circle' as IconName);\nexport const HistoryIcon = createNamedIcon('history' as IconName);\nexport const HomeIcon = createNamedIcon('home' as IconName);\nexport const ImageIcon = createNamedIcon('image' as IconName);\nexport const InfoIcon = createNamedIcon('info' as IconName);\nexport const LabIcon = createNamedIcon('lab' as IconName);\nexport const LaptopIcon = createNamedIcon('laptop' as IconName);\nexport const LayoutTemplateIcon = createNamedIcon('layout-template' as IconName);\nexport const LayoutIcon = createNamedIcon('layout' as IconName);\nexport const LinkIcon = createNamedIcon('link' as IconName);\nexport const LinkedinIcon = createNamedIcon('linkedin' as IconName);\nexport const ListChecksIcon = createNamedIcon('list-checks' as IconName);\nexport const ListCollapseIcon = createNamedIcon('list-collapse' as IconName);\nexport const ListFilterIcon = createNamedIcon('list-filter' as IconName);\nexport const ListIcon = createNamedIcon('list' as IconName);\nexport const Loader2Icon = createNamedIcon('loader2' as IconName);\nexport const LockIcon = createNamedIcon('lock' as IconName);\nexport const LogInIcon = createNamedIcon('log-in' as IconName);\nexport const LogOutIcon = createNamedIcon('log-out' as IconName);\nexport const MailIcon = createNamedIcon('mail' as IconName);\nexport const MapPinIcon = createNamedIcon('map-pin' as IconName);\nexport const MenuIcon = createNamedIcon('menu' as IconName);\nexport const MessageCircleIcon = createNamedIcon('message-circle' as IconName);\nexport const MessageSquareIcon = createNamedIcon('message-square' as IconName);\nexport const MicIcon = createNamedIcon('mic' as IconName);\nexport const MilestoneIcon = createNamedIcon('milestone' as IconName);\nexport const MinusIcon = createNamedIcon('minus' as IconName);\nexport const MonitorIcon = createNamedIcon('monitor' as IconName);\nexport const MoonIcon = createNamedIcon('moon' as IconName);\nexport const MoreHorizontalIcon = createNamedIcon('more-horizontal' as IconName);\nexport const MousePointerIcon = createNamedIcon('mouse-pointer' as IconName);\nexport const MusicIcon = createNamedIcon('music' as IconName);\nexport const PanelLeftIcon = createNamedIcon('panel-left' as IconName);\nexport const PanelTopIcon = createNamedIcon('panel-top' as IconName);\nexport const PanelIcon = createNamedIcon('panel' as IconName);\nexport const PhoneIcon = createNamedIcon('phone' as IconName);\nexport const PlusIcon = createNamedIcon('plus' as IconName);\nexport const RectangleHorizontalIcon = createNamedIcon('rectangle-horizontal' as IconName);\nexport const RefreshIcon = createNamedIcon('refresh' as IconName);\nexport const RocketIcon = createNamedIcon('rocket' as IconName);\nexport const RulerIcon = createNamedIcon('ruler' as IconName);\nexport const SearchIcon = createNamedIcon('search' as IconName);\nexport const ServerIcon = createNamedIcon('server' as IconName);\nexport const SettingsIcon = createNamedIcon('settings' as IconName);\nexport const ShareIcon = createNamedIcon('share' as IconName);\nexport const ShieldIcon = createNamedIcon('shield' as IconName);\nexport const ShoppingCartIcon = createNamedIcon('shopping-cart' as IconName);\nexport const SlidersHorizontalIcon = createNamedIcon('sliders-horizontal' as IconName);\nexport const SmartphoneIcon = createNamedIcon('smartphone' as IconName);\nexport const SparkIcon = createNamedIcon('spark' as IconName);\nexport const SparklesIcon = createNamedIcon('sparkles' as IconName);\nexport const SpinnerIcon = createNamedIcon('spinner' as IconName);\nexport const SquareIcon = createNamedIcon('square' as IconName);\nexport const StarIcon = createNamedIcon('star' as IconName);\nexport const SunIcon = createNamedIcon('sun' as IconName);\nexport const TableIcon = createNamedIcon('table' as IconName);\nexport const TabletIcon = createNamedIcon('tablet' as IconName);\nexport const TagIcon = createNamedIcon('tag' as IconName);\nexport const TextCursorIcon = createNamedIcon('text-cursor' as IconName);\nexport const ThemeDarkIcon = createNamedIcon('theme-dark' as IconName);\nexport const ThemeLightIcon = createNamedIcon('theme-light' as IconName);\nexport const ToggleRightIcon = createNamedIcon('toggle-right' as IconName);\nexport const TrashIcon = createNamedIcon('trash' as IconName);\nexport const TypeIcon = createNamedIcon('type' as IconName);\nexport const UnlockIcon = createNamedIcon('unlock' as IconName);\nexport const UploadCloudIcon = createNamedIcon('upload-cloud' as IconName);\nexport const UploadIcon = createNamedIcon('upload' as IconName);\nexport const UserCircleIcon = createNamedIcon('user-circle' as IconName);\nexport const UserIcon = createNamedIcon('user' as IconName);\nexport const VideoIcon = createNamedIcon('video' as IconName);\nexport const WarningIcon = createNamedIcon('warning' as IconName);\nexport const WifiIcon = createNamedIcon('wifi' as IconName);\nexport const XIcon = createNamedIcon('x' as IconName);\nexport const ZapIcon = createNamedIcon('zap' as IconName);\n\nexport { icons as iconRegistry };\n","import './Input.css';\nimport { classNames, LabelFormater } from '../../utils';\nimport React from 'react';\nimport { FormField } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Icon } from '../../icons';\nimport type { InputProps } from './types';\n\nexport type { InputProps, InputSize } from './types';\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ label, error, hint, prefix, suffix, clearable = false, size = 'medium', full = false, className, id, ...props }, ref) => {\n const inputId = id ?? (label ? `input-${LabelFormater(label)}` : undefined);\n const inputRef = React.useRef<HTMLInputElement | null>(null);\n const [, forceRender] = React.useState(0);\n const isControlled = props.value !== undefined;\n const hasValue = String(isControlled ? props.value ?? '' : props.defaultValue ?? inputRef.current?.value ?? '').length > 0;\n\n const setRefs = (node: HTMLInputElement | null) => {\n inputRef.current = node;\n\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n if (ref) {\n ref.current = node;\n }\n };\n\n const handleClear = () => {\n const node = inputRef.current;\n if (!node || props.disabled || props.readOnly) {\n return;\n }\n\n const descriptor = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value');\n descriptor?.set?.call(node, '');\n node.dispatchEvent(new Event('input', { bubbles: true }));\n node.dispatchEvent(new Event('change', { bubbles: true }));\n forceRender((current) => current + 1);\n node.focus();\n };\n\n const handleInput = (event: React.FormEvent<HTMLInputElement>) => {\n props.onInput?.(event);\n if (!isControlled) {\n forceRender((current) => current + 1);\n }\n };\n\n const resolvedSuffix = clearable && hasValue ? (\n <IconButton\n icon={<Icon name=\"close\" size={12} />}\n aria-label=\"Limpar campo\"\n variant=\"ghost\"\n size=\"small\"\n onClick={handleClear}\n tabIndex={-1}\n className=\"input-field__clear\"\n />\n ) : suffix;\n\n return (\n <FormField label={label} error={error} hint={hint} full={full} htmlFor={inputId} className={className}>\n <div className={classNames('input-field', `input-field--${size}`, error && 'input-field--error', props.disabled && 'input-field--disabled')}>\n {prefix && <span className=\"input-field__adornment input-field__adornment--prefix\">{prefix}</span>}\n <input\n ref={setRefs}\n id={inputId}\n className={classNames(\n 'input-field__input',\n Boolean(prefix) && 'input-field__input--with-prefix',\n Boolean(resolvedSuffix) && 'input-field__input--with-suffix'\n )}\n aria-invalid={!!error}\n aria-describedby={error ? `${inputId}-error` : hint ? `${inputId}-hint` : undefined}\n {...props}\n onInput={handleInput}\n />\n {resolvedSuffix && <span className=\"input-field__adornment input-field__adornment--suffix\">{resolvedSuffix}</span>}\n </div>\n </FormField>\n );\n }\n);\n\nInput.displayName = 'Input';\n","import './TextArea.css';\nimport React from 'react';\nimport { classNames, LabelFormater } from '../../utils';\nimport { FormField } from '../FormField/FormField';\nimport type { TextAreaProps } from './types';\n\nexport type { TextAreaProps, TextAreaResize } from './types';\n\nexport const TextArea = React.forwardRef<HTMLTextAreaElement, TextAreaProps>(\n ({ label, error, hint, full = false, resize = 'vertical', className, id, rows = 4, style, ...props }, ref) => {\n const inputId = id ?? (label ? `textarea-${LabelFormater(label)}` : undefined);\n\n return (\n <FormField label={label} error={error} hint={hint} full={full} htmlFor={inputId} className={className}>\n <textarea\n ref={ref}\n id={inputId}\n rows={rows}\n className={classNames(\n 'textarea',\n error && 'textarea--error'\n )}\n aria-invalid={!!error}\n aria-describedby={error ? `${inputId}-error` : hint ? `${inputId}-hint` : undefined}\n style={{ resize, ...(style ?? {}) }}\n {...props}\n />\n </FormField>\n );\n }\n);\n\nTextArea.displayName = 'TextArea';\n","import React from 'react';\nimport { Input } from '../Input/Input';\nimport { Loader } from '../Loader/Loader';\nimport { Icon } from '../../icons';\nimport type { SearchProps } from './types';\n\nexport type { SearchProps } from './types';\n\nexport const Search = React.forwardRef<HTMLInputElement, SearchProps>(\n ({ onSearch, loading = false, onChange, ...props }, ref) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n onSearch?.(event.target.value);\n };\n\n return (\n <Input\n ref={ref}\n type=\"search\"\n clearable\n prefix={loading ? <Loader size=\"extraSmall\" /> : <Icon name=\"search\" size={16} />}\n onChange={handleChange}\n {...props}\n />\n );\n }\n);\n\nSearch.displayName = 'Search';\n","import './DatePicker.css';\nimport React from 'react';\nimport { classNames, LabelFormater } from '../../utils';\nimport { Icon } from '../../icons';\nimport { FormField } from '../FormField/FormField';\nimport { Button } from '../Button/Button';\nimport type { DatePickerProps } from './types';\n\nexport type { DatePickerProps } from './types';\n\nconst WEEK_DAYS = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'];\n\nfunction parseDateValue(value?: string) {\n if (!value) return null;\n\n const [year, month, day] = value.split('-').map(Number);\n if (!year || !month || !day) return null;\n\n return new Date(year, month - 1, day);\n}\n\nfunction formatDateValue(date: Date | null) {\n if (!date) return '';\n\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n\n return `${day}/${month}/${year}`;\n}\n\nfunction toIsoDate(date: Date | null) {\n if (!date) return '';\n\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n\n return `${year}-${month}-${day}`;\n}\n\nfunction isSameDay(a: Date | null, b: Date | null) {\n if (!a || !b) return false;\n\n return a.getFullYear() === b.getFullYear()\n && a.getMonth() === b.getMonth()\n && a.getDate() === b.getDate();\n}\n\nfunction buildCalendarDays(monthDate: Date) {\n const startOfMonth = new Date(monthDate.getFullYear(), monthDate.getMonth(), 1);\n const endOfMonth = new Date(monthDate.getFullYear(), monthDate.getMonth() + 1, 0);\n const startDay = startOfMonth.getDay();\n const totalDays = endOfMonth.getDate();\n const days: Array<{ date: Date; outside: boolean }> = [];\n\n for (let index = startDay - 1; index >= 0; index -= 1) {\n const date = new Date(startOfMonth);\n date.setDate(startOfMonth.getDate() - (index + 1));\n days.push({ date, outside: true });\n }\n\n for (let day = 1; day <= totalDays; day += 1) {\n days.push({ date: new Date(monthDate.getFullYear(), monthDate.getMonth(), day), outside: false });\n }\n\n const minimumCells = days.length <= 35 ? 35 : 42;\n\n while (days.length < minimumCells) {\n const lastDate = days[days.length - 1]?.date ?? endOfMonth;\n const nextDate = new Date(lastDate);\n nextDate.setDate(lastDate.getDate() + 1);\n days.push({ date: nextDate, outside: true });\n }\n\n return days;\n}\n\nexport const DatePicker = React.forwardRef<HTMLInputElement, DatePickerProps>(\n ({ label, error, hint, full = false, className, id, value, defaultValue, onChange, placeholder = 'dd/mm/aaaa', disabled, size: _size, prefix: _prefix, suffix: _suffix, clearable: _clearable, ...props }, ref) => {\n const inputId = id ?? (label ? `datepicker-${LabelFormater(label)}` : undefined);\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const fallbackToday = React.useMemo(() => toIsoDate(new Date()), []);\n const initialDate = React.useMemo(() => parseDateValue(value ?? defaultValue ?? fallbackToday), [defaultValue, fallbackToday, value]);\n const [internalValue, setInternalValue] = React.useState<string>(defaultValue ?? fallbackToday);\n const [open, setOpen] = React.useState(false);\n const selectedDate = parseDateValue(value ?? internalValue);\n const [viewDate, setViewDate] = React.useState<Date>(initialDate ?? new Date());\n const isControlled = value !== undefined;\n\n React.useEffect(() => {\n const nextDate = parseDateValue(value ?? internalValue);\n if (nextDate) {\n setViewDate(nextDate);\n }\n }, [internalValue, value]);\n\n React.useEffect(() => {\n if (!open) return undefined;\n\n const handlePointerDown = (event: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n setOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handlePointerDown);\n return () => document.removeEventListener('mousedown', handlePointerDown);\n }, [open]);\n\n const commitValue = (nextIsoValue: string) => {\n if (!isControlled) {\n setInternalValue(nextIsoValue);\n }\n\n const nextEvent = {\n target: { value: nextIsoValue, id: inputId, name: props.name },\n currentTarget: { value: nextIsoValue, id: inputId, name: props.name },\n } as React.ChangeEvent<HTMLInputElement>;\n\n onChange?.(nextEvent);\n };\n\n const handleSelectDate = (date: Date) => {\n const nextIsoValue = toIsoDate(date);\n commitValue(nextIsoValue);\n setViewDate(date);\n };\n\n const handleClear = () => {\n commitValue('');\n };\n\n const handleApply = () => {\n setOpen(false);\n };\n\n const monthLabel = viewDate.toLocaleDateString('pt-BR', {\n month: 'long',\n year: 'numeric',\n });\n\n const calendarDays = buildCalendarDays(viewDate);\n\n return (\n <FormField label={label} error={error} hint={hint} full={full} htmlFor={inputId} className={className}>\n <div ref={rootRef} className=\"date-picker\">\n <div\n className={classNames(\n 'date-picker__field',\n open && 'date-picker__field--open',\n error && 'date-picker__field--error',\n disabled && 'date-picker__field--disabled'\n )}\n >\n <input\n {...props}\n ref={ref}\n id={inputId}\n type=\"text\"\n value={formatDateValue(selectedDate)}\n placeholder={placeholder}\n readOnly\n disabled={disabled}\n className=\"date-picker__input\"\n onClick={() => !disabled && setOpen(true)}\n />\n <button\n type=\"button\"\n className=\"date-picker__toggle\"\n onClick={() => !disabled && setOpen((current) => !current)}\n aria-label=\"Abrir calendario\"\n disabled={disabled}\n >\n <Icon name=\"calendar\" size={18} />\n </button>\n </div>\n\n {open ? (\n <div className=\"date-picker__popover\" role=\"dialog\" aria-modal=\"false\">\n <div className=\"date-picker__header\">\n <button\n type=\"button\"\n className=\"date-picker__nav\"\n onClick={() => setViewDate((current) => new Date(current.getFullYear(), current.getMonth() - 1, 1))}\n aria-label=\"Mes anterior\"\n >\n <Icon name=\"chevron-left\" size={16} />\n </button>\n <span className=\"date-picker__month\">{monthLabel}</span>\n <button\n type=\"button\"\n className=\"date-picker__nav\"\n onClick={() => setViewDate((current) => new Date(current.getFullYear(), current.getMonth() + 1, 1))}\n aria-label=\"Proximo mes\"\n >\n <Icon name=\"chevron-right\" size={16} />\n </button>\n </div>\n\n <div className=\"date-picker__weekdays\">\n {WEEK_DAYS.map((day) => (\n <span key={day} className=\"date-picker__weekday\">{day}</span>\n ))}\n </div>\n\n <div className=\"date-picker__grid\">\n {calendarDays.map(({ date, outside }) => {\n const isSelected = isSameDay(date, selectedDate);\n\n return (\n <button\n key={date.toISOString()}\n type=\"button\"\n className={classNames(\n 'date-picker__day',\n outside && 'date-picker__day--outside',\n isSelected && 'date-picker__day--selected'\n )}\n onClick={() => handleSelectDate(date)}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n\n <div className=\"date-picker__footer\">\n <Button variant=\"ghost\" onClick={handleClear}>Limpar</Button>\n <Button onClick={handleApply}>Concluido</Button>\n </div>\n </div>\n ) : null}\n </div>\n </FormField>\n );\n }\n);\n\nDatePicker.displayName = 'DatePicker';\n","import './Select.css';\nimport React, { useEffect, useId, useMemo, useRef, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { Icon } from '../../icons';\nimport type { SelectProps } from './types';\n\nexport type { SelectOption, SelectProps, SelectSize } from './types';\n\nexport const Select = React.forwardRef<HTMLDivElement, SelectProps>(\n ({\n options,\n value,\n defaultValue,\n onChange,\n label,\n error,\n supportText,\n size = 'medium',\n placeholder = 'Select...',\n full = false,\n disabled = false,\n searchable = false,\n searchPlaceholder = 'Search...',\n className,\n ...props\n }, ref) => {\n const generatedId = useId();\n const rootRef = useRef<HTMLDivElement>(null);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState('');\n const [internalValue, setInternalValue] = useState(defaultValue ?? '');\n const selectedValue = value ?? internalValue;\n\n useEffect(() => {\n if (!isOpen) {\n setSearchTerm('');\n return;\n }\n\n if (searchable) {\n searchInputRef.current?.focus();\n }\n }, [isOpen, searchable]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n const selectedOption = options.find((option) => option.value === selectedValue);\n\n const filteredOptions = useMemo(() => {\n if (!searchable || !searchTerm) return options;\n\n return options.filter((option) => {\n const term = option.searchValue ?? (typeof option.label === 'string' ? option.label : option.value);\n return term.toLowerCase().includes(searchTerm.toLowerCase());\n });\n }, [options, searchable, searchTerm]);\n\n const handleSelect = (nextValue: string, optionDisabled?: boolean) => {\n if (optionDisabled) return;\n\n if (value === undefined) {\n setInternalValue(nextValue);\n }\n\n onChange?.(nextValue);\n setIsOpen(false);\n };\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} className={className} htmlFor={generatedId}>\n <div ref={rootRef} className={classNames('select', full && 'select--full')}>\n <div\n ref={ref}\n id={generatedId}\n role=\"combobox\"\n aria-expanded={isOpen}\n aria-controls={`${generatedId}-listbox`}\n aria-haspopup=\"listbox\"\n tabIndex={disabled ? -1 : 0}\n className={classNames(\n 'select__trigger',\n `select__trigger--${size}`,\n isOpen && 'select__trigger--open',\n error && 'select__trigger--error',\n disabled && 'select__trigger--disabled'\n )}\n onClick={() => !disabled && setIsOpen((current) => !current)}\n onKeyDown={(event) => {\n if (disabled) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n setIsOpen((current) => !current);\n }\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n }}\n {...props}\n >\n <span className={classNames('select__value', !selectedOption && 'select__value--placeholder')}>\n {selectedOption?.label ?? placeholder}\n </span>\n <span className=\"select__icon\"><Icon name=\"chevron-down\" size={16} /></span>\n </div>\n\n {isOpen && (\n <div className=\"select__menu\">\n {searchable && (\n <div className=\"select__search\">\n <span className=\"select__search-icon\"><Icon name=\"search\" size={14} /></span>\n <input\n ref={searchInputRef}\n className=\"select__search-input\"\n value={searchTerm}\n placeholder={searchPlaceholder}\n onChange={(event) => setSearchTerm(event.target.value)}\n />\n </div>\n )}\n\n <ul id={`${generatedId}-listbox`} className=\"select__list\" role=\"listbox\">\n {filteredOptions.length > 0 ? filteredOptions.map((option) => {\n const isSelected = option.value === selectedValue;\n\n return (\n <li\n key={option.value}\n role=\"option\"\n aria-selected={isSelected}\n className={classNames(\n 'select__option',\n isSelected && 'select__option--selected',\n option.disabled && 'select__option--disabled'\n )}\n onClick={() => handleSelect(option.value, option.disabled)}\n >\n <span>{option.label}</span>\n {isSelected && <span className=\"select__option-check\"><Icon name=\"check\" size={14} /></span>}\n </li>\n );\n }) : (\n <li className=\"select__empty\">No results found</li>\n )}\n </ul>\n </div>\n )}\n </div>\n </FormField>\n );\n }\n);\n\nSelect.displayName = 'Select';\n","import './MultiSelect.css';\nimport React, { useEffect, useId, useMemo, useRef, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { Icon } from '../../icons';\nimport type { MultiSelectProps } from './types';\n\nexport type { MultiSelectOption, MultiSelectProps } from './types';\n\nexport const MultiSelect = React.forwardRef<HTMLDivElement, MultiSelectProps>(\n ({\n options,\n value,\n defaultValue = [],\n onChange,\n label,\n error,\n supportText,\n placeholder = 'Select options...',\n full = false,\n disabled = false,\n className,\n ...props\n }, ref) => {\n const generatedId = useId();\n const rootRef = useRef<HTMLDivElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [internalValue, setInternalValue] = useState<string[]>(defaultValue);\n const selectedValues = value ?? internalValue;\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n const selectedOptions = useMemo(\n () => options.filter((option) => selectedValues.includes(option.value)),\n [options, selectedValues]\n );\n\n const commitChange = (nextValue: string[]) => {\n if (value === undefined) {\n setInternalValue(nextValue);\n }\n\n onChange?.(nextValue);\n };\n\n const toggleValue = (optionValue: string, optionDisabled?: boolean) => {\n if (optionDisabled) return;\n\n if (selectedValues.includes(optionValue)) {\n commitChange(selectedValues.filter((item) => item !== optionValue));\n return;\n }\n\n commitChange([...selectedValues, optionValue]);\n };\n\n return (\n <FormField label={label} error={error} hint={supportText} full={full} className={className} htmlFor={generatedId}>\n <div ref={rootRef} className={classNames('multiselect', full && 'multiselect--full')}>\n <div\n ref={ref}\n id={generatedId}\n role=\"combobox\"\n aria-expanded={isOpen}\n aria-controls={`${generatedId}-listbox`}\n aria-haspopup=\"listbox\"\n tabIndex={disabled ? -1 : 0}\n className={classNames(\n 'multiselect__trigger',\n isOpen && 'multiselect__trigger--open',\n error && 'multiselect__trigger--error',\n disabled && 'multiselect__trigger--disabled'\n )}\n onClick={() => !disabled && setIsOpen((current) => !current)}\n onKeyDown={(event) => {\n if (disabled) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n setIsOpen((current) => !current);\n }\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n }}\n {...props}\n >\n <div className=\"multiselect__values\">\n {selectedOptions.length > 0 ? selectedOptions.map((option) => (\n <span key={option.value} className=\"multiselect__tag\">\n <span className=\"multiselect__tag-label\">{option.label}</span>\n <button\n type=\"button\"\n className=\"multiselect__tag-remove\"\n onClick={(event) => {\n event.stopPropagation();\n toggleValue(option.value);\n }}\n aria-label={`Remove ${option.label}`}\n >\n <Icon name=\"close\" size={12} />\n </button>\n </span>\n )) : (\n <span className=\"multiselect__placeholder\">{placeholder}</span>\n )}\n </div>\n <span className=\"multiselect__icon\"><Icon name=\"chevron-down\" size={16} /></span>\n </div>\n\n {isOpen && (\n <ul id={`${generatedId}-listbox`} className=\"multiselect__menu\" role=\"listbox\" aria-multiselectable=\"true\">\n {options.length > 0 ? options.map((option) => {\n const isSelected = selectedValues.includes(option.value);\n\n return (\n <li\n key={option.value}\n role=\"option\"\n aria-selected={isSelected}\n className={classNames(\n 'multiselect__option',\n isSelected && 'multiselect__option--selected',\n option.disabled && 'multiselect__option--disabled'\n )}\n onClick={() => toggleValue(option.value, option.disabled)}\n >\n <span className=\"multiselect__checkbox\">{isSelected ? <Icon name=\"check\" size={12} /> : null}</span>\n <span>{option.label}</span>\n </li>\n );\n }) : (\n <li className=\"multiselect__empty\">No options available</li>\n )}\n </ul>\n )}\n </div>\n </FormField>\n );\n }\n);\n\nMultiSelect.displayName = 'MultiSelect';\n","import './Dropdown.css';\nimport React, { createContext, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport type { DropdownItemProps, DropdownPlacement, DropdownProps } from './types';\n\nexport type { DropdownItemProps, DropdownPlacement, DropdownProps } from './types';\n\ninterface DropdownContextValue {\n close: () => void;\n}\n\nconst DropdownContext = createContext<DropdownContextValue | null>(null);\n\nfunction assignRef<TValue>(ref: React.Ref<TValue> | undefined, value: TValue) {\n if (!ref) return;\n\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n\n (ref as React.MutableRefObject<TValue>).current = value;\n}\n\nfunction resolvePosition(\n rect: DOMRect,\n placement: DropdownPlacement,\n offset: number,\n matchTriggerWidth: boolean\n) {\n const top = placement.startsWith('bottom')\n ? rect.bottom + offset\n : rect.top - offset;\n const left = placement.endsWith('end')\n ? rect.right\n : rect.left;\n\n return {\n top,\n left,\n minWidth: matchTriggerWidth ? rect.width : undefined,\n transform: placement === 'bottom-end'\n ? 'translateX(-100%)'\n : placement === 'top-start'\n ? 'translateY(-100%)'\n : placement === 'top-end'\n ? 'translate(-100%, -100%)'\n : undefined,\n };\n}\n\nfunction DropdownRoot({\n children,\n content,\n open,\n defaultOpen = false,\n onOpenChange,\n placement = 'bottom-start',\n offset = 8,\n disabled = false,\n matchTriggerWidth = false,\n closeOnClickOutside = true,\n className,\n ...props\n}: DropdownProps) {\n const generatedId = useId();\n const triggerRef = useRef<HTMLElement | null>(null);\n const menuRef = useRef<HTMLDivElement | null>(null);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const [position, setPosition] = useState<{ top: number; left: number; minWidth?: number; transform?: string }>({\n top: 0,\n left: 0,\n });\n const isOpen = open ?? internalOpen;\n\n const setOpen = useCallback((nextOpen: boolean) => {\n if (open === undefined) {\n setInternalOpen(nextOpen);\n }\n\n onOpenChange?.(nextOpen);\n }, [onOpenChange, open]);\n\n const close = useCallback(() => setOpen(false), [setOpen]);\n\n const updatePosition = useCallback(() => {\n if (!triggerRef.current) return;\n\n const rect = triggerRef.current.getBoundingClientRect();\n setPosition(resolvePosition(rect, placement, offset, matchTriggerWidth));\n }, [matchTriggerWidth, offset, placement]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n updatePosition();\n\n const handleUpdate = () => updatePosition();\n window.addEventListener('resize', handleUpdate);\n window.addEventListener('scroll', handleUpdate, true);\n\n return () => {\n window.removeEventListener('resize', handleUpdate);\n window.removeEventListener('scroll', handleUpdate, true);\n };\n }, [isOpen, updatePosition]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n const handlePointerDown = (event: MouseEvent) => {\n const target = event.target as Node;\n\n if (triggerRef.current?.contains(target) || menuRef.current?.contains(target)) {\n return;\n }\n\n if (closeOnClickOutside) {\n close();\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n close();\n triggerRef.current?.focus();\n }\n };\n\n document.addEventListener('mousedown', handlePointerDown);\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('mousedown', handlePointerDown);\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [close, closeOnClickOutside, isOpen]);\n\n const contextValue = useMemo<DropdownContextValue>(() => ({ close }), [close]);\n\n const child = React.cloneElement(children, {\n ref: (node: HTMLElement | null) => {\n triggerRef.current = node;\n assignRef((children as React.ReactElement & { ref?: React.Ref<HTMLElement> }).ref, node);\n },\n 'aria-expanded': isOpen,\n 'aria-haspopup': 'menu',\n 'aria-controls': isOpen ? generatedId : undefined,\n onClick: (event: React.MouseEvent<HTMLElement>) => {\n children.props.onClick?.(event);\n if (!event.defaultPrevented && !disabled) {\n setOpen(!isOpen);\n }\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => {\n children.props.onKeyDown?.(event);\n\n if (disabled || event.defaultPrevented) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n setOpen(!isOpen);\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n setOpen(true);\n }\n },\n });\n\n return (\n <>\n {child}\n {isOpen && createPortal(\n <DropdownContext.Provider value={contextValue}>\n <div\n id={generatedId}\n ref={menuRef}\n className={classNames('dropdown__menu', className)}\n style={{\n top: position.top,\n left: position.left,\n minWidth: position.minWidth,\n transform: position.transform,\n }}\n role=\"menu\"\n {...props}\n >\n <div className=\"dropdown__content\">{content}</div>\n </div>\n </DropdownContext.Provider>,\n document.body\n )}\n </>\n );\n}\n\nfunction DropdownItem({\n children,\n className,\n inset = false,\n destructive = false,\n keepOpen = false,\n leftContent,\n rightContent,\n onClick,\n onSelect,\n ...props\n}: DropdownItemProps) {\n const context = useContext(DropdownContext);\n\n return (\n <button\n type=\"button\"\n className={classNames(\n 'dropdown__item',\n inset && 'dropdown__item--inset',\n destructive && 'dropdown__item--destructive',\n className\n )}\n role=\"menuitem\"\n onClick={(event) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n\n onSelect?.();\n if (!keepOpen) {\n context?.close();\n }\n }}\n {...props}\n >\n <span className=\"dropdown__item-label\">\n {leftContent && <span className=\"dropdown__item-left\">{leftContent}</span>}\n <span>{children}</span>\n </span>\n {rightContent && <span className=\"dropdown__item-right\">{rightContent}</span>}\n </button>\n );\n}\n\nexport const Dropdown = Object.assign(DropdownRoot, {\n Item: DropdownItem,\n});\n\n(Dropdown as typeof Dropdown & { displayName?: string }).displayName = 'Dropdown';\n","import './Checkbox.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { colorVar } from '../../utils/styleTokens';\nimport { Icon } from '../../icons';\nimport type { CheckboxProps } from './types';\n\nexport type { CheckboxProps } from './types';\n\nfunction setForwardedRef<T>(ref: React.ForwardedRef<T>, value: T | null) {\n if (typeof ref === 'function') ref(value);\n else if (ref) ref.current = value;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n ({ label, indeterminate = false, supportText, className, id, disabled, color = 'primary', style, ...props }, ref) => {\n const generatedId = React.useId();\n const inputId = id ?? `checkbox-${generatedId}`;\n const inputRef = React.useRef<HTMLInputElement | null>(null);\n\n React.useEffect(() => {\n if (inputRef.current) inputRef.current.indeterminate = indeterminate;\n }, [indeterminate]);\n\n const handleRef = (node: HTMLInputElement | null) => {\n inputRef.current = node;\n setForwardedRef(ref, node);\n };\n\n return (\n <FormField hint={supportText} full className={className} htmlFor={inputId}>\n <label className={classNames('checkbox', disabled && 'checkbox--disabled')} style={{ ['--checkbox-color' as string]: colorVar(color), ...(style ?? {}) }}>\n <span className=\"checkbox__control\">\n <input\n ref={handleRef}\n id={inputId}\n type=\"checkbox\"\n className=\"checkbox__input\"\n disabled={disabled}\n aria-checked={indeterminate ? 'mixed' : undefined}\n {...props}\n />\n <span className=\"checkbox__box\" aria-hidden=\"true\">\n <span className=\"checkbox__icon\">{indeterminate ? <Icon name=\"minus\" /> : <Icon name=\"check\" />}</span>\n </span>\n </span>\n {label && <span className=\"checkbox__label\">{label}</span>}\n </label>\n </FormField>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n","import './Radio.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { FormField } from '../FormField/FormField';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { RadioProps } from './types';\n\nexport type { RadioProps } from './types';\n\nexport const Radio = React.forwardRef<HTMLInputElement, RadioProps>(({\n label,\n description,\n className,\n disabled,\n error,\n style,\n color = 'primary',\n id,\n ...props\n}, ref) => {\n const generatedId = React.useId();\n const inputId = id ?? `radio-${generatedId}`;\n\n return (\n <FormField full className={className} htmlFor={inputId}>\n <label className={classNames('radio', disabled && 'radio--disabled', error && 'radio--error')} style={{ ['--radio-color' as string]: colorVar(color), ...(style ?? {}) }}>\n <span className=\"radio__input-container\">\n <input ref={ref} id={inputId} type=\"radio\" className=\"radio__input\" disabled={disabled} {...props} />\n <span className=\"radio__control\">\n <span className=\"radio__dot\" />\n </span>\n </span>\n {(label || description) && (\n <span className=\"radio__content\">\n {label && <span className=\"radio__label\">{label}</span>}\n {description && <span className=\"radio__description\">{description}</span>}\n </span>\n )}\n </label>\n </FormField>\n );\n});\n\nRadio.displayName = 'Radio';\n","import './Slider.css';\nimport React, { useState } from 'react';\nimport { FormField } from '../FormField/FormField';\nimport type { SliderProps } from './types';\n\nexport type { SliderProps } from './types';\n\nexport const Slider: React.FC<SliderProps> = ({\n value,\n defaultValue,\n onChange,\n min = 0,\n max = 100,\n label,\n supportText,\n className,\n id,\n ...props\n}) => {\n const generatedId = React.useId();\n const inputId = id ?? `slider-${generatedId}`;\n const [internalValue, setInternalValue] = useState(Number(value ?? defaultValue ?? 0));\n const currentValue = value !== undefined ? Number(value) : internalValue;\n const percentage = ((currentValue - Number(min)) / (Number(max) - Number(min))) * 100;\n\n return (\n <FormField label={label} hint={supportText} full className={className} htmlFor={inputId}>\n <div className=\"slider\">\n <div className=\"slider__track\">\n <div className=\"slider__fill\" style={{ width: `${percentage}%` }} />\n </div>\n <input\n id={inputId}\n type=\"range\"\n min={min}\n max={max}\n value={currentValue}\n onChange={(event) => {\n const next = Number(event.target.value);\n if (value === undefined) setInternalValue(next);\n onChange?.(event);\n }}\n className=\"slider__input\"\n {...props}\n />\n <div className=\"slider__value\">{currentValue}</div>\n </div>\n </FormField>\n );\n};\n","import './FileUpload.css';\nimport React, { useRef, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Text } from '../Text/Text';\nimport { Icon } from '../../icons';\nimport type { FileUploadProps } from './types';\n\nexport type { FileUploadProps } from './types';\n\nexport const FileUpload: React.FC<FileUploadProps> = ({\n onFileSelect,\n accept,\n multiple = false,\n disabled = false,\n maxSize,\n title = 'Drag and drop a file or click to upload',\n description = 'Supported files depend on the accept property.',\n className,\n ...props\n}) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragging, setIsDragging] = useState(false);\n const [files, setFiles] = useState<File[]>([]);\n const [error, setError] = useState<string | null>(null);\n\n const processFiles = (incoming: File[]) => {\n setError(null);\n let valid = incoming;\n\n if (maxSize) {\n const oversized = incoming.filter((file) => file.size > maxSize);\n if (oversized.length > 0) {\n setError(`Some files exceed ${Math.round(maxSize / 1024 / 1024)}MB.`);\n valid = incoming.filter((file) => file.size <= maxSize);\n }\n }\n\n if (!multiple && valid.length > 1) valid = [valid[0]];\n\n const updated = multiple ? [...files, ...valid] : valid;\n setFiles(updated);\n onFileSelect?.(updated);\n };\n\n return (\n <div className={classNames('file-upload', className)} {...props}>\n <div\n className={classNames(\n 'file-upload__dropzone',\n isDragging && 'file-upload__dropzone--dragging',\n disabled && 'file-upload__dropzone--disabled',\n error && 'file-upload__dropzone--error'\n )}\n onDragEnter={(event) => {\n event.preventDefault();\n if (!disabled) setIsDragging(true);\n }}\n onDragOver={(event) => {\n event.preventDefault();\n if (!disabled) setIsDragging(true);\n }}\n onDragLeave={(event) => {\n event.preventDefault();\n setIsDragging(false);\n }}\n onDrop={(event) => {\n event.preventDefault();\n setIsDragging(false);\n if (!disabled) processFiles(Array.from(event.dataTransfer.files));\n }}\n onClick={() => !disabled && inputRef.current?.click()}\n >\n <input\n ref={inputRef}\n type=\"file\"\n className=\"file-upload__input\"\n onChange={(event) => event.target.files && processFiles(Array.from(event.target.files))}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n />\n <div className=\"file-upload__content\">\n <div className=\"file-upload__icon\"><Icon name=\"upload\" size={20} /></div>\n <Text weight=\"medium\">{title}</Text>\n <Text size=\"small\" color=\"neutral\">{description}</Text>\n </div>\n </div>\n {error && <Text size=\"small\" color=\"error\">{error}</Text>}\n {files.length > 0 && (\n <ul className=\"file-upload__list\">\n {files.map((file, index) => (\n <li key={`${file.name}-${index}`} className=\"file-upload__item\">\n <span className=\"file-upload__file-name\">{file.name}</span>\n <button\n type=\"button\"\n className=\"file-upload__remove\"\n onClick={() => {\n const updated = files.filter((_, itemIndex) => itemIndex !== index);\n setFiles(updated);\n onFileSelect?.(updated);\n }}\n >\n <Icon name=\"close\" size={14} />\n </button>\n </li>\n ))}\n </ul>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport './Heading.css';\nimport type { BaseHeadingProps, HeadingTag } from './types';\n\nexport type { BaseHeadingProps, HeadingTag, HeadingWeight } from './types';\n\nfunction createHeading(tag: HeadingTag, levelClassName: string) {\n const Component = React.forwardRef<HTMLHeadingElement, BaseHeadingProps>(\n ({ weight = 'bold', className, children, ...props }, ref) => {\n return React.createElement(\n tag,\n {\n ref,\n className: classNames(\n 'heading',\n levelClassName,\n `heading--weight-${weight}`,\n className\n ),\n ...props,\n },\n children\n );\n }\n );\n\n Component.displayName = tag.charAt(0).toUpperCase() + tag.slice(1);\n\n return Component;\n}\n\nexport const Heading = createHeading('h1', 'heading--h1');\nexport const Heading2 = createHeading('h2', 'heading--h2');\nexport const Heading3 = createHeading('h3', 'heading--h3');\nexport const Heading4 = createHeading('h4', 'heading--h4');\nexport const Heading5 = createHeading('h5', 'heading--h5');\nexport const Heading6 = createHeading('h6', 'heading--h6');\n","import './Card.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Heading5 } from '../Heading/Heading';\nimport { Text } from '../Text/Text';\nimport type { CardHeaderProps, CardProps, CardSectionProps } from './types';\n\nexport type { CardHeaderProps, CardPadding, CardProps, CardSectionProps, CardVariant } from './types';\n\nexport function Card<TElement extends React.ElementType = 'div'>({ padding = 'md', variant = 'default', as, children, className, ...props }: CardProps<TElement>) {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n className={classNames('card', `card--${variant}`, `card--pad-${padding}`, className)}\n {...props}\n >\n {children}\n </Component>\n );\n}\n\nexport function CardHeader({ title, description, icon, action, children, className, ...props }: CardHeaderProps) {\n return (\n <div className={classNames('card-header', className)} {...props}>\n <div className=\"card-header__content\">\n {(title || icon) && (\n <div className=\"card-header__title-wrapper\">\n {icon && <span className=\"card-header__icon\">{icon}</span>}\n {title && (\n <Heading5 weight=\"semibold\">{title}</Heading5>\n )}\n </div>\n )}\n {description && (\n <Text size=\"small\" color=\"neutral\">\n {description}\n </Text>\n )}\n {children}\n </div>\n {action && <div className=\"card-header__action\">{action}</div>}\n </div>\n );\n}\n\nexport function CardBody({ children, className, ...props }: CardSectionProps) {\n return <div className={classNames('card-body', className)} {...props}>{children}</div>;\n}\n\nexport function CardFooter({ children, className, ...props }: CardSectionProps) {\n return <div className={classNames('card-footer', className)} {...props}>{children}</div>;\n}\n","import React from 'react';\nimport './Box.css';\nimport { classNames } from '../../utils/classNames';\nimport type { BoxProps } from './types';\n\nexport type { BoxOwnProps, BoxPadding, BoxProps, BoxRounded, BoxShadow, BoxSurface } from './types';\n\nexport const Box = React.forwardRef(function Box<TElement extends React.ElementType = 'div'>({\n as,\n padding = '0',\n rounded = 'none',\n shadow = 'none',\n surface = 'default',\n border = false,\n className,\n children,\n ...props\n}: BoxProps<TElement>, ref: React.ForwardedRef<Element>) {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n ref={ref}\n className={classNames(\n 'box',\n `box-padding--${padding}`,\n `box-rounded--${rounded}`,\n `box-shadow--${shadow}`,\n `box-surface--${surface}`,\n border && 'box--border',\n className\n )}\n {...props}\n >\n {children}\n </Component>\n );\n}) as <TElement extends React.ElementType = 'div'>(\n props: BoxProps<TElement> & { ref?: React.ForwardedRef<Element> }\n) => React.ReactElement | null;\n","import React from 'react';\nimport './Grid.css';\nimport { classNames } from '../../utils/classNames';\nimport type { GridProps } from './types';\n\nexport type { GridColumns, GridGap, GridOwnProps, GridProps } from './types';\n\nexport const Grid = <TElement extends React.ElementType = 'div'>({\n children,\r\n columns = 1,\r\n gap = '4',\n className,\n style,\n as,\n ...props\n}: GridProps<TElement>) => {\n const Component = (as || 'div') as React.ElementType;\n\n return (\n <Component\n className={classNames(\r\n 'grid',\r\n `grid-cols--${columns}`,\r\n `grid-gap--${gap}`,\r\n className\r\n )}\n style={style}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\nimport './Container.css';\nimport { classNames } from '../../utils/classNames';\nimport type { ContainerProps } from './types';\n\nexport type { ContainerProps, ContainerSize } from './types';\n\r\nexport const Container: React.FC<ContainerProps> = ({\r\n children,\r\n size = 'large',\n className,\r\n style\r\n}) => {\r\n return (\r\n <div\r\n className={classNames('container', `container--${size}`, className)}\r\n style={style}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\nimport type { SpacerProps } from './types';\n\nexport type { SpacerAxis, SpacerProps } from './types';\n\nexport const Spacer: React.FC<SpacerProps> = ({ size = '1rem', axis = 'vertical', style }) => {\n const width = axis === 'horizontal' ? size : 1;\n const height = axis === 'vertical' ? size : 1;\n\n return <span style={{ display: 'block', width, minWidth: width, height, minHeight: height, ...style }} aria-hidden=\"true\" />;\n};\n","import './Divider.css';\nimport { classNames } from '../../utils/classNames';\nimport type { DividerProps } from './types';\n\nexport type { DividerOrientation, DividerProps } from './types';\n\nexport function Divider({ orientation = 'horizontal', label, className, ...props }: DividerProps) {\n return (\n <div\n role=\"separator\"\n aria-orientation={orientation}\n className={classNames('divider', `divider--${orientation}`, label && 'divider--labeled', className)}\n {...props}\n >\n {label && orientation === 'horizontal' && <span className=\"divider__label\">{label}</span>}\n </div>\n );\n}\n","import { createContext, useContext } from 'react';\nimport { Icon } from '../../icons';\nimport { classNames } from '../../utils/classNames';\nimport { Text } from '../Text/Text';\nimport './List.css';\nimport type { ListItemProps, ListProps } from './types';\n\nexport type { ListItemProps, ListProps, ListVariant } from './types';\n\nconst ListContext = createContext<{ variant: NonNullable<ListProps['variant']> }>({ variant: 'default' });\n\nfunction ListRoot({ children, variant = 'default', className, ...props }: ListProps) {\n return (\n <ListContext.Provider value={{ variant }}>\n <div className={classNames('list', `list--${variant}`, className)} role=\"list\" {...props}>\n {children}\n </div>\n </ListContext.Provider>\n );\n}\n\nfunction ListItem({\n children,\n description,\n startContent,\n endContent,\n active = false,\n disabled = false,\n className,\n onClick,\n ...props\n \n}: ListItemProps) {\n const { variant } = useContext(ListContext);\n const resolvedStart = variant === 'checklist' && !startContent ? <Icon name=\"check\" size={16} /> : startContent;\n\n return (\n <div\n className={classNames(\n 'list-item',\n active && 'list-item--active',\n onClick && !disabled && 'list-item--clickable',\n disabled && 'list-item--disabled',\n className\n )}\n role=\"listitem\"\n tabIndex={disabled ? -1 : onClick ? 0 : undefined}\n onClick={disabled ? undefined : onClick}\n {...props}\n >\n {resolvedStart && <div className=\"list-item__start\">{resolvedStart}</div>}\n <div className=\"list-item__content\">\n <Text as=\"span\" weight=\"medium\" className=\"list-item__title\">{children}</Text>\n {description && <Text as=\"span\" size=\"small\" color=\"neutral\" className=\"list-item__description\">{description}</Text>}\n </div>\n {endContent && <div className=\"list-item__end\">{endContent}</div>}\n </div>\n );\n}\n\nexport const List = Object.assign(ListRoot, {\n Item: ListItem\n});\n\n(List as typeof List & { displayName?: string }).displayName = 'List';\n","import './Accordion.css';\nimport React, { useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Icon } from '../../icons';\nimport type { AccordionComponent, AccordionItemProps } from './types';\n\nexport type { AccordionComponent, AccordionItemProps, AccordionProps } from './types';\n\nfunction useAccordionState(type: 'single' | 'multiple', defaultValue?: string | string[]) {\n const initial = Array.isArray(defaultValue) ? defaultValue : defaultValue ? [defaultValue] : [];\n const [openItems, setOpenItems] = useState<string[]>(initial);\n\n const toggle = (id: string) => {\n setOpenItems((current) => {\n const isOpen = current.includes(id);\n if (type === 'single') return isOpen ? [] : [id];\n return isOpen ? current.filter((item) => item !== id) : [...current, id];\n });\n };\n\n return { openItems, toggle };\n}\n\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n title,\n children,\n isOpen = false,\n onToggle,\n id,\n className,\n ...props\n}) => (\n <div className={classNames('accordion-item', isOpen && 'accordion-item--open', className)} {...props}>\n <button\n className=\"accordion-item__trigger\"\n onClick={onToggle}\n aria-expanded={isOpen}\n aria-controls={`accordion-content-${id}`}\n id={`accordion-trigger-${id}`}\n type=\"button\"\n >\n <span className=\"accordion-item__title\">{title}</span>\n <span className=\"accordion-item__icon\"><Icon name=\"chevron-down\" size={16} /></span>\n </button>\n <div\n className=\"accordion-item__content\"\n id={`accordion-content-${id}`}\n role=\"region\"\n aria-labelledby={`accordion-trigger-${id}`}\n hidden={!isOpen}\n >\n <div className=\"accordion-item__content-inner\">{children}</div>\n </div>\n </div>\n);\n\nexport const Accordion: AccordionComponent = ({\n children,\n type = 'single',\n defaultValue,\n className,\n ...props\n}) => {\n const { openItems, toggle } = useAccordionState(type, defaultValue);\n\n return (\n <div className={classNames('accordion', className)} {...props}>\n {React.Children.map(children, (child, index) => {\n if (!React.isValidElement<AccordionItemProps>(child)) return child;\n const id = child.props.id ?? `accordion-item-${index}`;\n return React.cloneElement(child, {\n id,\n isOpen: openItems.includes(id),\n onToggle: () => toggle(id)\n });\n })}\n </div>\n );\n};\n\nAccordion.Item = AccordionItem;\n","import './Code.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { CodeProps } from './types';\n\nexport type { CodeProps, CodeSize, CodeWeight } from './types';\n\nexport const Code: React.FC<CodeProps> = ({\n size = 'small',\n weight = 'medium',\n block = false,\n children,\n className,\n ...props\n}) => {\n return (\n <code\n className={classNames(\n 'code',\n `code--${size}`,\n `code--${weight}`,\n block && 'code--block',\n className\n )}\n {...props}\n >\n {children}\n </code>\n );\n};\n\nCode.displayName = 'Code';\n","import './Link.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { LinkProps } from './types';\n\nexport type { LinkOwnProps, LinkProps } from './types';\n\nexport const Link = <TElement extends React.ElementType = 'a'>({ \n color = 'primary', \n underline = false, \n active, \n as, \n className, \n children, \n href, \n to, \n style, \n ...props \n}: LinkProps<TElement>) => {\n const currentPath = typeof window !== 'undefined' ? window.location.pathname : '';\n const route = to ?? href;\n const Component = (as || 'a') as React.ElementType;\n \n const normalizePath = (path: string) => {\n const pathname = path.split('?')[0].split('#')[0];\n return pathname.endsWith('/') && pathname !== '/' ? pathname.slice(0, -1) : pathname;\n };\n \n const isCurrentRoute = route && currentPath ? normalizePath(currentPath) === normalizePath(route) : false;\n const isActive = active ?? isCurrentRoute;\n\n return (\n <Component\n className={classNames('link', underline && 'link--underline', isActive && 'link--active', className)}\n style={{ \n ['--link-color' as string]: colorVar(color),\n ...(style ?? {}) \n }}\n href={route}\n aria-current={isActive ? 'page' : undefined}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\nLink.displayName = 'Link';\n","import './Badge.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar, isTokenColor } from '../../utils/styleTokens';\nimport type { BadgeProps } from './types';\n\nexport type { BadgeColor, BadgeProps, BadgeSize, BadgeVariant } from './types';\n\nexport const Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(({\n children,\n variant = 'soft',\n color = 'primary',\n size = 'medium',\n className,\n ...props\n}, ref) => {\n const tokenColor = isTokenColor(color) ? color : undefined;\n\n return (\n <span\n ref={ref}\n className={classNames('badge', `badge--${variant}`, tokenColor && `badge--${tokenColor}`, `badge--${size}`, className)}\n style={!tokenColor ? { ['--badge-color' as string]: colorVar(color) } : undefined}\n {...props}\n >\n {children}\n </span>\n );\n});\n\nBadge.displayName = 'Badge';\n","import './Alert.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Heading5 } from '../Heading/Heading';\nimport { Text } from '../Text/Text';\nimport type { AlertProps } from './types';\n\nexport type { AlertProps, AlertVariant } from './types';\n\nexport const Alert: React.FC<AlertProps> = ({\n variant = 'primary',\n title,\n icon,\n action,\n children,\n className,\n ...props\n}) => {\n return (\n <div className={classNames('alert', `alert--${variant}`, className)} role=\"alert\" {...props}>\n {icon && <div className=\"alert__icon\">{icon}</div>}\n <div className=\"alert__content\">\n {title && <Heading5 className=\"alert__title\">{title}</Heading5>}\n {children && (\n <Text size=\"small\" className=\"alert__description\">\n {children}\n </Text>\n )}\n </div>\n {action && <div className=\"alert__action\">{action}</div>}\n </div>\n );\n};\n","import './Tag.css';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { TagProps } from './types';\n\nexport type { TagProps, TagSize, TagVariant } from './types';\n\nexport function Tag({\n children,\n variant = 'soft',\n size = 'medium',\n color = 'primary',\n leftIcon,\n rightIcon,\n closable,\n onRemove,\n className,\n style,\n ...props\n}: TagProps) {\n const removable = closable || Boolean(onRemove);\n\n return (\n <span\n className={classNames('tag', `tag--variant-${variant}`, `tag--size-${size}`, className)}\n style={{ ['--tag-color' as string]: colorVar(color), ...(style ?? {}) }}\n {...props}\n >\n {leftIcon && <span className=\"tag__icon\">{leftIcon}</span>}\n <span className=\"tag__label\">{children}</span>\n {rightIcon && <span className=\"tag__icon\">{rightIcon}</span>}\n {removable && (\n <button type=\"button\" className=\"tag__remove\" onClick={onRemove} aria-label=\"Remove tag\">\n x\n </button>\n )}\n </span>\n );\n}\n","import './Avatar.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { AvatarProps } from './types';\n\nexport type { AvatarProps, AvatarSize, AvatarStatus } from './types';\n\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(({\n src,\n name,\n size = 'medium',\n status,\n className,\n ...props\n}, ref) => {\n const getInitials = (name?: string) => {\n if (!name) return '';\n const parts = name.split(' ');\n if (parts.length === 1) return parts[0].substring(0, 2);\n return (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();\n };\n\n return (\n <div ref={ref} className={classNames('avatar', `avatar--${size}`, className)} {...props}>\n {src ? (\n <img src={src} alt={name} className=\"avatar-image\" />\n ) : (\n <span className=\"avatar-initials\">{getInitials(name)}</span>\n )}\n {status && (\n <span className={classNames('avatar-status', `avatar-status--${status}`)} />\n )}\n </div>\n );\n});\n\nAvatar.displayName = 'Avatar';\n","import './Skeleton.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { SkeletonProps } from './types';\n\nexport type { SkeletonProps } from './types';\n\nexport const Skeleton: React.FC<SkeletonProps> = ({\n width,\n height,\n animated = true,\n rounded = false\n}) => {\n const customStyle: React.CSSProperties = {\n width: typeof width === 'number' ? `${width}px` : width,\n height: typeof height === 'number' ? `${height}px` : height,\n borderRadius: rounded ? '9999px' : 'var(--radius-md)'\n };\n\n return (\n <div\n className={classNames(\n 'skeleton',\n animated && 'skeleton--animated',\n rounded && 'skeleton--rounded'\n )}\n style={customStyle}\n />\n );\n};\n\nSkeleton.displayName = 'Skeleton';\n","import './Image.css';\nimport React, { useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport type { ImageProps } from './types';\n\nexport type { ImageObjectFit, ImageProps, ImageRadius } from './types';\n\nexport const Image: React.FC<ImageProps> = ({\n src,\n alt,\n objectFit = 'cover',\n radius = 'medium',\n className,\n style,\n fallback,\n ...props\n}) => {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState(false);\n\n if (error && fallback) return <>{fallback}</>;\n\n return (\n <div className={classNames('image-wrapper', className)} style={style}>\n {!loaded && !error && (\n <div className={classNames('image-skeleton', `image-radius--${radius}`)}>\n <Skeleton width=\"100%\" height=\"100%\" />\n </div>\n )}\n <img\n src={src}\n alt={alt}\n className={classNames('image', `image-fit--${objectFit}`, `image-radius--${radius}`, loaded && 'image--loaded')}\n onLoad={() => setLoaded(true)}\n onError={() => setError(true)}\n {...props}\n />\n </div>\n );\n};\n","import './Switch.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { SwitchProps } from './types';\n\nexport type { SwitchProps, SwitchSize } from './types';\n\nexport const Switch = React.forwardRef<HTMLInputElement, SwitchProps>(\n ({ label, size = 'medium', className, disabled, ...props }, ref) => {\n return (\n <label className={classNames(\n 'switch-wrapper',\n `switch--${size}`,\n disabled && 'switch-wrapper--disabled',\n className\n )}>\n <input\n type=\"checkbox\"\n className=\"switch-input\"\n disabled={disabled}\n ref={ref}\n {...props}\n />\n <span className=\"switch-track\">\n <span className=\"switch-thumb\" />\n </span>\n {label && <span className=\"switch-label\">{label}</span>}\n </label>\n );\n }\n);\n\nSwitch.displayName = 'Switch';\n","import './Pagination.css';\nimport React, { useMemo } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Icon } from '../../icons';\nimport type { PaginationProps } from './types';\n\nexport type { PaginationProps } from './types';\n\nexport const Pagination: React.FC<PaginationProps> = ({\n currentPage,\n totalPages,\n onPageChange,\n showControls = true,\n className,\n ...props\n}) => {\n const pages = useMemo(() => {\n const items: Array<number | string> = [];\n const startPage = Math.max(1, currentPage - 1);\n const endPage = Math.min(totalPages, currentPage + 1);\n\n if (startPage > 1) {\n items.push(1);\n if (startPage > 2) items.push('dots-start');\n }\n\n for (let page = startPage; page <= endPage; page += 1) {\n items.push(page);\n }\n\n if (endPage < totalPages) {\n if (endPage < totalPages - 1) items.push('dots-end');\n items.push(totalPages);\n }\n\n return items;\n }, [currentPage, totalPages]);\n\n return (\n <nav className={classNames('pagination', className)} aria-label=\"Pagination\" {...props}>\n {showControls && (\n <button\n type=\"button\"\n className={classNames('pagination__item', currentPage === 1 && 'pagination__item--disabled')}\n onClick={() => onPageChange(currentPage - 1)}\n disabled={currentPage === 1}\n aria-label=\"Previous page\"\n >\n <Icon name=\"chevron-left\" size={16} />\n </button>\n )}\n\n {pages.map((page, index) => {\n if (typeof page === 'string') {\n return <span key={`${page}-${index}`} className=\"pagination__dots\">...</span>;\n }\n\n const isActive = page === currentPage;\n\n return (\n <button\n key={page}\n type=\"button\"\n className={classNames('pagination__item', isActive && 'pagination__item--active')}\n onClick={() => !isActive && onPageChange(page)}\n aria-current={isActive ? 'page' : undefined}\n >\n {page}\n </button>\n );\n })}\n\n {showControls && (\n <button\n type=\"button\"\n className={classNames('pagination__item', currentPage === totalPages && 'pagination__item--disabled')}\n onClick={() => onPageChange(currentPage + 1)}\n disabled={currentPage === totalPages}\n aria-label=\"Next page\"\n >\n <Icon name=\"chevron-right\" size={16} />\n </button>\n )}\n </nav>\n );\n};\n\nPagination.displayName = 'Pagination';\n","import './EmptyState.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Heading4 } from '../Heading/Heading';\nimport { Text } from '../Text/Text';\nimport type { EmptyStateProps } from './types';\n\nexport type { EmptyStateProps } from './types';\n\nexport const EmptyState: React.FC<EmptyStateProps> = ({\n icon,\n title,\n description,\n action,\n className,\n ...props\n}) => {\n return (\n <div className={classNames('empty-state', className)} {...props}>\n {icon && <div className=\"empty-state__icon\">{icon}</div>}\n <Heading4>{title}</Heading4>\n {description && <Text color=\"neutral\">{description}</Text>}\n {action && <div className=\"empty-state__action\">{action}</div>}\n </div>\n );\n};\n","import './Modal.css';\nimport React, { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Heading2 } from '../Heading/Heading';\nimport { Icon } from '../../icons';\nimport type { ModalProps } from './types';\n\nexport type { ModalProps, ModalSize } from './types';\n\nexport const Modal: React.FC<ModalProps> = ({\n open,\n onClose,\n title,\n description,\n children,\n footer,\n size = 'medium',\n closeOnOverlayClick = true,\n className,\n}) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n if (!open) return;\n\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n };\n\n document.addEventListener('keydown', onKeyDown);\n document.body.style.overflow = 'hidden';\n setMounted(true);\n\n return () => {\n document.removeEventListener('keydown', onKeyDown);\n document.body.style.overflow = '';\n };\n }, [open, onClose]);\n\n if (!open || !mounted) return null;\n\n return createPortal(\n <div\n className=\"modal-overlay\"\n onClick={closeOnOverlayClick ? onClose : undefined}\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? 'modal-title' : undefined}\n aria-describedby={description ? 'modal-description' : undefined}\n tabIndex={-1}\n className={classNames('modal', `modal--${size}`, className)}\n onClick={(e) => e.stopPropagation()}\n >\n {(title || description) && (\n <div className=\"modal-header\">\n <div>\n {title && (\n <Heading2 id=\"modal-title\" className=\"modal-title\">{title}</Heading2>\n )}\n\n {description && (\n <p id=\"modal-description\" className=\"modal-description\">\n {description}\n </p>\n )}\n </div>\n\n <IconButton\n icon={<Icon name=\"close\" size={16} />}\n aria-label=\"Close modal\"\n variant=\"ghost\"\n color=\"neutral\"\n size=\"small\"\n onClick={onClose}\n />\n </div>\n )}\n\n {children && <div className=\"modal-body\">{children}</div>}\n {footer && <div className=\"modal-footer\">{footer}</div>}\n </div>\n </div>,\n document.body\n );\n};\n\nModal.displayName = 'Modal';\n","import './Drawer.css';\nimport React, { useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Heading2 } from '../Heading/Heading';\nimport { Icon } from '../../icons';\nimport type { DrawerProps } from './types';\n\nexport type { DrawerPlacement, DrawerProps, DrawerSize } from './types';\n\nexport const Drawer: React.FC<DrawerProps> = ({\n isOpen,\n onClose,\n title,\n placement = 'right',\n children,\n footer,\n size = 'medium',\n className,\n closeOnOverlayClick = true\n}) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n if (isOpen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'unset';\n }\n return () => {\n document.body.style.overflow = 'unset';\n };\n }, [isOpen]);\n\n if (!mounted) return null;\n\n return createPortal(\n <>\n {isOpen && <div className=\"drawer-overlay\" onClick={closeOnOverlayClick ? onClose : undefined} />}\n <div\n className={classNames(\n 'drawer',\n `drawer--${placement}`,\n `drawer--size-${size}`,\n isOpen && 'drawer--open',\n className\n )}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={!isOpen}\n >\n <div className=\"drawer-header\">\n {title ? <Heading2 className=\"drawer-title\">{title}</Heading2> : <span />}\n <IconButton\n icon={<Icon name=\"close\" size={16} />}\n variant=\"ghost\"\n size=\"small\"\n onClick={onClose}\n aria-label=\"Fechar painel\"\n />\n </div>\n <div className=\"drawer-body\">\n {children}\n </div>\n {footer && (\n <div className=\"drawer-footer\">\n {footer}\n </div>\n )}\n </div>\n </>,\n document.body\n );\n};\n\nDrawer.displayName = 'Drawer';\n","import './Tooltip.css';\nimport React, { useCallback, useEffect, useId, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport type { TooltipProps } from './types';\n\nexport type { TooltipPlacement, TooltipProps } from './types';\n\nexport function Tooltip({ content, placement = 'top', children, delay = 300 }: TooltipProps) {\n const tooltipId = useId();\n const triggerRef = useRef<HTMLElement | null>(null);\n const timerRef = useRef<number>();\n const [visible, setVisible] = useState(false);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n\n const updatePosition = useCallback(() => {\n if (!triggerRef.current) return;\n\n const rect = triggerRef.current.getBoundingClientRect();\n const offset = 10;\n\n if (placement === 'top') {\n setPosition({ top: rect.top + window.scrollY - offset, left: rect.left + rect.width / 2 + window.scrollX });\n return;\n }\n\n if (placement === 'bottom') {\n setPosition({ top: rect.bottom + window.scrollY + offset, left: rect.left + rect.width / 2 + window.scrollX });\n return;\n }\n\n if (placement === 'left') {\n setPosition({ top: rect.top + rect.height / 2 + window.scrollY, left: rect.left + window.scrollX - offset });\n return;\n }\n\n setPosition({ top: rect.top + rect.height / 2 + window.scrollY, left: rect.right + window.scrollX + offset });\n }, [placement]);\n\n const show = useCallback(() => {\n timerRef.current = window.setTimeout(() => {\n updatePosition();\n setVisible(true);\n }, delay);\n }, [delay, updatePosition]);\n\n const hide = useCallback(() => {\n window.clearTimeout(timerRef.current);\n setVisible(false);\n }, []);\n\n useEffect(() => {\n if (!visible) return;\n\n const handleUpdate = () => updatePosition();\n window.addEventListener('scroll', handleUpdate, true);\n window.addEventListener('resize', handleUpdate);\n\n return () => {\n window.removeEventListener('scroll', handleUpdate, true);\n window.removeEventListener('resize', handleUpdate);\n };\n }, [visible, updatePosition]);\n\n const child = React.cloneElement(children, {\n ref: triggerRef,\n onMouseEnter: (event: React.MouseEvent<HTMLElement>) => {\n children.props.onMouseEnter?.(event);\n show();\n },\n onMouseLeave: (event: React.MouseEvent<HTMLElement>) => {\n children.props.onMouseLeave?.(event);\n hide();\n },\n onFocus: (event: React.FocusEvent<HTMLElement>) => {\n children.props.onFocus?.(event);\n show();\n },\n onBlur: (event: React.FocusEvent<HTMLElement>) => {\n children.props.onBlur?.(event);\n hide();\n },\n 'aria-describedby': visible ? tooltipId : children.props['aria-describedby']\n });\n\n return (\n <>\n {child}\n {visible && createPortal(\n <div\n id={tooltipId}\n className={classNames('tooltip', `tooltip--${placement}`)}\n style={{ top: position.top, left: position.left }}\n role=\"tooltip\"\n >\n {content}\n </div>,\n document.body\n )}\n </>\n );\n}\n","import './Toast.css';\nimport React, { createContext, useContext, useState, useCallback, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classNames } from '../../utils/classNames';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Icon } from '../../icons';\nimport type { ToastContextValue, ToastData, ToastProviderProps } from './types';\n\nexport type { ToastColor, ToastContextValue, ToastData, ToastPosition, ToastProviderProps } from './types';\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nconst COLOR_ICONS: Record<string, React.ReactNode> = {\n success: <Icon name=\"check\" size={16} />,\n warning: <Icon name=\"warning\" size={16} />,\n error: <Icon name=\"close\" size={16} />,\n neutral: <Icon name=\"info\" size={16} />,\n primary: <Icon name=\"info\" size={16} />\n};\n\nfunction ToastItem({ toast, onDismiss }: { toast: ToastData; onDismiss: (id: string) => void }) {\n const [exiting, setExiting] = useState(false);\n \n const handleDismiss = useCallback(() => { \n setExiting(true); \n setTimeout(() => onDismiss(toast.id), 250); \n }, [toast.id, onDismiss]);\n\n useEffect(() => { \n const timer = setTimeout(handleDismiss, toast.duration ?? 4000); \n return () => clearTimeout(timer); \n }, [handleDismiss, toast.duration]);\n\n const color = toast.color ?? 'primary';\n const icon = COLOR_ICONS[color] || COLOR_ICONS.primary;\n\n return (\n <div className={classNames('toast', `toast--${color}`, exiting && 'toast--exiting')}>\n <span className=\"toast-icon\">\n {icon}\n </span>\n <div className=\"toast-content\">\n <p className=\"toast-title\">{toast.title}</p>\n {toast.description && <p className=\"toast-description\">{toast.description}</p>}\n </div>\n <IconButton \n icon={<Icon name=\"close\" size={14} />}\n aria-label=\"Dismiss notification\" \n variant=\"ghost\" \n size=\"small\" \n onClick={handleDismiss} \n className=\"toast-close\" \n />\n </div>\n );\n}\n\nexport const ToastProvider: React.FC<ToastProviderProps> = ({ \n children, \n position = 'top-right', \n maxToasts = 5 \n}) => {\n const [status, setStatus] = useState<boolean>(false);\n const [toasts, setToasts] = useState<ToastData[]>([]);\n\n useEffect(() => {\n setStatus(true);\n }, []);\n\n const toast = useCallback((data: Omit<ToastData, 'id'>) => {\n const id = `toast-${Date.now()}-${Math.random().toString(36).slice(2)}`;\n setToasts((prev) => [...prev.slice(-(maxToasts - 1)), { ...data, id }]);\n }, [maxToasts]);\n\n const dismiss = useCallback((id: string) => {\n setToasts((prev) => prev.filter((t) => t.id !== id));\n }, []);\n\n return (\n <ToastContext.Provider value={{ toast, dismiss }}>\n {children}\n {status && createPortal(\n <div className={classNames('toast-container', `toast-container--${position}`)}>\n {toasts.map((t) => (\n <ToastItem key={t.id} toast={t} onDismiss={dismiss} />\n ))}\n </div>,\n document.body\n )}\n </ToastContext.Provider>\n );\n};\n\nexport function useToast(): ToastContextValue {\n const ctx = useContext(ToastContext);\n if (!ctx) throw new Error('useToast must be used inside <ToastProvider>');\n return ctx;\n}\n","import './Table.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { TableProps } from './types';\n\nexport type { TableProps } from './types';\n\nexport const Table: React.FC<TableProps> = ({\n striped = false,\n hover = true,\n compact = false,\n stickyHeader = false,\n className,\n containerClassName,\n children,\n ...props\n}) => {\n return (\n <div className={classNames(\n 'table-container',\n stickyHeader && 'table-container--sticky-header',\n containerClassName\n )}>\n <table\n className={classNames(\n 'table',\n striped && 'table--striped',\n hover && 'table--hover',\n compact && 'table--compact',\n className\n )}\n {...props}\n >\n {children}\n </table>\n </div>\n );\n};\n\nexport const Thead: React.FC<React.HTMLAttributes<HTMLTableSectionElement>> = (props) => (\n <thead {...props} />\n);\n\nexport const Tbody: React.FC<React.HTMLAttributes<HTMLTableSectionElement>> = (props) => (\n <tbody {...props} />\n);\n\nexport const Tr: React.FC<React.HTMLAttributes<HTMLTableRowElement>> = (props) => (\n <tr {...props} />\n);\n\nexport const Th: React.FC<React.ThHTMLAttributes<HTMLTableCellElement>> = (props) => (\n <th {...props} />\n);\n\nexport const Td: React.FC<React.TdHTMLAttributes<HTMLTableCellElement>> = (props) => (\n <td {...props} />\n);\n\nTable.displayName = 'Table';\nThead.displayName = 'Thead';\nTbody.displayName = 'Tbody';\nTr.displayName = 'Tr';\nTh.displayName = 'Th';\nTd.displayName = 'Td';\n","import './Sidebar.css';\nimport React, { createContext, useContext, useMemo, useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Icon } from '../../icons';\nimport { Input } from '../Input/Input';\nimport type { SidebarFooterProps, SidebarGroupProps, SidebarHeaderProps, SidebarItemProps, SidebarProps } from './types';\n\nexport type { SidebarFooterProps, SidebarGroupProps, SidebarHeaderProps, SidebarItemOwnProps, SidebarItemProps, SidebarProps } from './types';\n\ntype SidebarContextValue = {\n collapsed: boolean;\n toggleCollapsed: () => void;\n searchTerm: string;\n setSearchTerm: (value: string) => void;\n enableSearch: boolean;\n searchPlaceholder: string;\n};\n\nconst SidebarContext = createContext<SidebarContextValue>({\n collapsed: false,\n toggleCollapsed: () => {},\n searchTerm: '',\n setSearchTerm: () => {},\n enableSearch: false,\n searchPlaceholder: 'Buscar item',\n});\n\nfunction useSidebarContext() {\n return useContext(SidebarContext);\n}\n\nfunction getNodeText(node: React.ReactNode): string {\n if (typeof node === 'string' || typeof node === 'number') {\n return String(node);\n }\n\n if (Array.isArray(node)) {\n return node.map(getNodeText).join(' ');\n }\n\n if (React.isValidElement(node)) {\n return getNodeText(node.props.children);\n }\n\n return '';\n}\n\nfunction countSidebarItems(children: React.ReactNode): number {\n let count = 0;\n\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) {\n return;\n }\n\n if (child.type === SidebarItem) {\n count += 1;\n return;\n }\n\n count += countSidebarItems(child.props.children);\n });\n\n return count;\n}\n\nfunction findFirstSidebarItem(children: React.ReactNode): React.ReactElement | null {\n for (const child of React.Children.toArray(children)) {\n if (!React.isValidElement(child)) {\n continue;\n }\n\n if (child.type === SidebarItem) {\n return child;\n }\n\n const nestedItem = findFirstSidebarItem(child.props.children);\n if (nestedItem) {\n return nestedItem;\n }\n }\n\n return null;\n}\n\nfunction SidebarRoot({\n collapsed: controlledCollapsed,\n defaultCollapsed = false,\n onToggle,\n className,\n children,\n searchThreshold = 12,\n searchPlaceholder = 'Buscar item',\n ...props\n}: SidebarProps) {\n const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed);\n const [searchTerm, setSearchTerm] = useState('');\n\n const isControlled = controlledCollapsed !== undefined;\n const collapsed = isControlled ? controlledCollapsed : internalCollapsed;\n const itemCount = useMemo(() => countSidebarItems(children), [children]);\n const enableSearch = itemCount > searchThreshold && !collapsed;\n const childArray = React.Children.toArray(children);\n const footerIndex = childArray.findIndex(\n (child) => React.isValidElement(child) && child.type === SidebarFooter\n );\n\n const toggleCollapsed = () => {\n const nextValue = !collapsed;\n\n if (!isControlled) {\n setInternalCollapsed(nextValue);\n }\n\n onToggle?.(nextValue);\n };\n\n const contextValue = useMemo(\n () => ({\n collapsed,\n toggleCollapsed,\n searchTerm,\n setSearchTerm,\n enableSearch,\n searchPlaceholder,\n }),\n [collapsed, searchTerm, enableSearch, searchPlaceholder]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <aside\n className={classNames('sidebar', collapsed && 'sidebar--collapsed', className)}\n {...props}\n >\n {footerIndex === -1 ? children : childArray.slice(0, footerIndex)}\n {footerIndex === -1 ? null : childArray.slice(footerIndex)}\n </aside>\n </SidebarContext.Provider>\n );\n}\n\nfunction SidebarHeader({\n icon,\n logo,\n collapsible = true,\n className,\n children,\n onClick,\n ...props\n}: SidebarHeaderProps) {\n const { collapsed, toggleCollapsed, enableSearch, searchTerm, setSearchTerm, searchPlaceholder } = useSidebarContext();\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (collapsible) {\n toggleCollapsed();\n }\n\n onClick?.(e);\n };\n\n return (\n <>\n <div\n className={classNames('sidebar__header', className)}\n onClick={handleClick}\n {...props}\n >\n <div className=\"sidebar__header-icon\">\n {icon ?? <Icon name=\"menu\" />}\n </div>\n\n {!collapsed && (\n <div className=\"sidebar__header-content\">\n {logo ?? children}\n </div>\n )}\n </div>\n\n {enableSearch ? (\n <div className=\"sidebar__search sidebar__search--header\">\n <Input\n value={searchTerm}\n onChange={(event) => setSearchTerm(event.target.value)}\n placeholder={searchPlaceholder}\n prefix={<Icon name=\"search\" size={16} />}\n size=\"small\"\n full\n />\n </div>\n ) : null}\n </>\n );\n}\n\nfunction SidebarItem<TElement extends React.ElementType = 'button'>({\n icon,\n active = false,\n as,\n className,\n children,\n searchText,\n ...props\n}: SidebarItemProps<TElement>) {\n const { collapsed, searchTerm } = useSidebarContext();\n const Component = (as || 'button') as React.ElementType;\n const itemText = (searchText ?? getNodeText(children)).trim().toLocaleLowerCase();\n const normalizedSearchTerm = searchTerm.trim().toLocaleLowerCase();\n const isVisible = !normalizedSearchTerm || itemText.includes(normalizedSearchTerm);\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <Component\n className={classNames(\n 'sidebar__item',\n active && 'sidebar__item--active',\n className\n )}\n {...props}\n >\n {icon ? <span className=\"sidebar__item-icon\">{icon}</span> : null}\n {!collapsed && <span className=\"sidebar__item-label\">{children}</span>}\n </Component>\n );\n}\n\nfunction SidebarGroup({\n title,\n leftIcon,\n defaultOpen = true,\n open: controlledOpen,\n onOpenChange,\n collapsible = true,\n className,\n children,\n ...props\n}: SidebarGroupProps) {\n const { collapsed, searchTerm } = useSidebarContext();\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : internalOpen;\n const normalizedSearchTerm = searchTerm.trim().toLocaleLowerCase();\n const childText = getNodeText(children).toLocaleLowerCase();\n const hasMatch = !normalizedSearchTerm || childText.includes(normalizedSearchTerm);\n const shouldForceOpen = Boolean(normalizedSearchTerm && hasMatch);\n const isOpen = collapsed ? false : shouldForceOpen || open;\n const firstItem = findFirstSidebarItem(children);\n\n if (!hasMatch) {\n return null;\n }\n\n const handleToggle = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (collapsed) {\n const onClick = firstItem?.props?.onClick;\n if (typeof onClick === 'function') {\n onClick(event);\n }\n\n return;\n }\n\n if (!collapsible || shouldForceOpen) {\n return;\n }\n\n const nextValue = !open;\n\n if (!isControlled) {\n setInternalOpen(nextValue);\n }\n\n onOpenChange?.(nextValue);\n };\n\n return (\n <div\n className={classNames('sidebar__group', isOpen && 'sidebar__group--open', className)}\n {...props}\n >\n <button\n type=\"button\"\n className=\"sidebar__group-trigger\"\n onClick={handleToggle}\n aria-expanded={isOpen}\n disabled={!collapsible || shouldForceOpen}\n >\n {leftIcon ? <span className=\"sidebar__group-left-icon\">{leftIcon}</span> : null}\n {!collapsed ? <span className=\"sidebar__group-title\">{title}</span> : null}\n <span className=\"sidebar__group-icon\">\n <Icon name=\"chevron-down\" size={16} />\n </span>\n </button>\n\n {isOpen ? <div className=\"sidebar__group-content\">{children}</div> : null}\n </div>\n );\n}\n\nfunction SidebarFooter({\n className,\n children,\n ...props\n}: SidebarFooterProps) {\n return (\n <div className={classNames('sidebar__footer', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Item: SidebarItem,\n Group: SidebarGroup,\n Footer: SidebarFooter,\n});\n\n(Sidebar as typeof Sidebar & { displayName?: string }).displayName = 'Sidebar';\n","import React, { createContext, useContext, useEffect, useState } from 'react';\nimport type { Theme, ThemeContextValue, ThemeProviderProps } from './types';\nimport { ToastProvider } from '../Toast/Toast';\n\nexport type { Theme, ThemeContextValue, ThemeProviderProps } from './types';\n\nconst ThemeContext = createContext<ThemeContextValue | undefined>(undefined);\n\nexport const useTheme = () => {\n const context = useContext(ThemeContext);\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider');\n }\n return context;\n};\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\n children,\n defaultTheme = 'dark',\n storageKey = 'theme',\n toastPosition,\n toastMaxToasts\n}) => {\n const [theme, setThemeState] = useState<Theme>(() => {\n return (localStorage.getItem(storageKey) as Theme) || defaultTheme;\n });\n\n useEffect(() => {\n const root = window.document.documentElement;\n root.classList.remove('theme-light', 'theme-dark');\n root.classList.add(`theme-${theme}`);\n root.setAttribute('data-theme', theme);\n localStorage.setItem(storageKey, theme);\n }, [theme, storageKey]);\n\n const toggleTheme = () => {\n setThemeState((prev) => (prev === 'light' ? 'dark' : 'light'));\n };\n\n const setTheme = (newTheme: Theme) => {\n setThemeState(newTheme);\n };\n\n return (\n <ThemeContext.Provider value={{ theme, toggleTheme, setTheme }}>\n <ToastProvider position={toastPosition} maxToasts={toastMaxToasts}>\n {children}\n </ToastProvider>\n </ThemeContext.Provider>\n );\n};\n","import './TopBar.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Flex } from '../Flex/Flex';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Link } from '../Link/Link';\nimport { useTheme } from '../ThemeProvider/ThemeProvider';\nimport { Icon } from '../../icons';\nimport type { TopBarProps } from './types';\n\nexport type { TopBarNavItem, TopBarProps } from './types';\n\nexport const TopBar: React.FC<TopBarProps> = ({\n logo,\n navItems = [],\n navPosition = 'center',\n extraContent,\n themeToggle = false,\n sticky = false,\n className,\n children,\n contentInside = false,\n ...props\n}) => {\n const { theme, toggleTheme } = useTheme();\n const currentPath = typeof window !== 'undefined' ? window.location.pathname : '';\n\n const normalizePath = (path: string) => {\n const pathname = path.split('?')[0].split('#')[0];\n return pathname.endsWith('/') && pathname !== '/' ? pathname.slice(0, -1) : pathname;\n };\n\n const renderNav = () => (\n <Flex as=\"nav\" align=\"center\" gap=\"5\" className=\"topbar__nav\">\n {navItems.map((item, index) => {\n const route = item.to ?? item.href;\n const isActive = item.active ?? (route ? normalizePath(route) === normalizePath(currentPath) : false);\n\n if (route) {\n return (\n <Link\n key={`${item.label ?? 'link'}-${index}`}\n href={route}\n className={classNames('topbar__nav-item', isActive && 'topbar__nav-item--active')}\n active={isActive}\n onClick={item.onClick}\n >\n {item.label}\n </Link>\n );\n }\n\n return (\n <button\n key={`${item.label ?? 'button'}-${index}`}\n type=\"button\"\n className={classNames('topbar__nav-item', isActive && 'topbar__nav-item--active')}\n onClick={item.onClick}\n >\n {item.label}\n </button>\n );\n })}\n </Flex>\n );\n\n return (\n <Flex\n as=\"header\"\n align=\"center\"\n justify=\"space-between\"\n className={classNames(\n 'topbar',\n sticky && 'topbar--sticky',\n navPosition === 'right' && 'topbar--nav-right',\n contentInside && 'topbar--with-children',\n className\n )}\n {...props}\n >\n <Flex align=\"center\" gap=\"4\" className=\"topbar__left\">\n {logo && <div className=\"topbar__logo\">{logo}</div>}\n </Flex>\n\n {navPosition === 'center' && navItems.length > 0 && (\n <Flex align=\"center\" justify=\"center\" className=\"topbar__center\">\n {renderNav()}\n </Flex>\n )}\n\n {contentInside && children && <div className=\"topbar__content\">{children}</div>}\n\n <Flex align=\"center\" gap=\"4\" className=\"topbar__right\">\n {navPosition === 'right' && navItems.length > 0 && renderNav()}\n {extraContent}\n {themeToggle && (\n <IconButton\n icon={theme === 'dark' ? <Icon name=\"sun\" size={16} /> : <Icon name=\"moon\" size={16} />}\n variant=\"ghost\"\n size=\"small\"\n label=\"Toggle theme\"\n onClick={toggleTheme}\n />\n )}\n </Flex>\n\n {!contentInside && children && <div className=\"topbar__children\">{children}</div>}\n </Flex>\n );\n};\n\nTopBar.displayName = 'TopBar';\n","import React from 'react';\nimport { Icon } from '../../icons';\nimport { classNames } from '../../utils/classNames';\nimport { Heading } from '../Heading/Heading';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Text } from '../Text/Text';\nimport './PageHeader.css';\nimport type { PageHeaderProps } from './types';\n\nexport type { PageHeaderProps } from './types';\n\nexport const PageHeader: React.FC<PageHeaderProps> = ({\n title,\n description,\n showBack = false,\n onBack,\n width,\n action,\n className,\n ...props\n}) => {\n return (\n <div className={classNames('page-header', className)} {...props} >\n <div className=\"page-header__left\">\n {showBack && (\n <IconButton\n variant=\"ghost\"\n size=\"small\"\n icon={<Icon name=\"chevron-left\" size={16} />}\n onClick={onBack}\n label=\"Back\"\n />\n )}\n <div className=\"page-header__content\">\n <Heading weight=\"bold\">{title}</Heading>\n {description && <Text color=\"neutral\" style={{ width: `${width || '100%'}` }}>{description}</Text>}\n </div>\n </div>\n {action && <div className=\"page-header__right\">{action}</div>}\n </div>\n );\n};\n","import './Breadcrumb.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Link } from '../Link/Link';\nimport type { BreadcrumbProps } from './types';\n\nexport type { BreadcrumbItem, BreadcrumbProps } from './types';\n\nexport const Breadcrumb: React.FC<BreadcrumbProps> = ({\n items,\n separator = '/',\n className\n}) => {\n return (\n <nav className={classNames('breadcrumb', className)} aria-label=\"Breadcrumb\">\n <ol className=\"breadcrumb-list\">\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n\n return (\n <li key={index} className=\"breadcrumb-item\">\n {item.href && !isLast ? (\n <Link href={item.href} color=\"neutral\" className=\"breadcrumb-link\">\n {item.icon && <span className=\"breadcrumb-icon\">{item.icon}</span>}\n {item.label}\n </Link>\n ) : (\n <span \n className={classNames('breadcrumb-link', isLast && 'breadcrumb-current')} \n aria-current={isLast ? 'page' : undefined}\n >\n {item.icon && <span className=\"breadcrumb-icon\">{item.icon}</span>}\n {item.label}\n </span>\n )}\n\n {!isLast && <span className=\"breadcrumb-separator\">{separator}</span>}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n\nBreadcrumb.displayName = 'Breadcrumb';\n","import './Progress.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { colorVar } from '../../utils/styleTokens';\nimport type { ProgressProps } from './types';\n\nexport type { ProgressProps, ProgressSize } from './types';\n\nexport const Progress: React.FC<ProgressProps> = ({\n value,\n max = 100,\n size = 'medium',\n color,\n animated = false,\n showValue = false,\n label,\n className,\n style,\n ...props\n}) => {\n const percentage = Math.min(100, Math.max(0, (value / max) * 100));\n\n return (\n <div\n className={classNames('progress-wrapper', className)}\n style={{ ['--progress-color' as string]: colorVar(color), ...(style ?? {}) }}\n {...props}\n >\n {(label || showValue) && (\n <div className=\"progress-label\">\n {label && <span>{label}</span>}\n {showValue && <span className=\"progress-value\">{Math.round(percentage)}%</span>}\n </div>\n )}\n <div\n className={classNames('progress', `progress--${size}`, animated && 'progress--animated')}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={max}\n >\n <div className=\"progress-bar\" style={{ width: `${percentage}%` }} />\n </div>\n </div>\n );\n};\n\nProgress.displayName = 'Progress';\n","import './Tabs.css';\nimport React, { useState } from 'react';\nimport { classNames } from '../../utils/classNames';\nimport type { TabsProps } from './types';\n\nexport type { TabItem, TabsProps, TabsSize, TabsVariant } from './types';\n\nexport const Tabs: React.FC<TabsProps> = ({\n tabs,\n defaultValue,\n value: controlledValue,\n onChange,\n className,\n variant = 'default',\n size = 'medium'\n}) => {\n const [internalValue, setInternalValue] = useState(defaultValue ?? tabs[0]?.value ?? '');\n const activeValue = controlledValue ?? internalValue;\n\n const handleSelect = (val: string) => {\n if (controlledValue === undefined) {\n setInternalValue(val);\n }\n onChange?.(val);\n };\n\n const activeTab = tabs.find((t) => t.value === activeValue);\n\n return (\n <div className={classNames('tabs', `tabs--${variant}`, `tabs--${size}`, className)}>\n <div className=\"tabs-list\" role=\"tablist\">\n {tabs.map((tab) => {\n const isActive = activeValue === tab.value;\n const triggerClasses = classNames(\n 'tabs-trigger',\n isActive && 'tabs-trigger--active'\n );\n\n if (tab.href) {\n return (\n <a\n key={tab.value}\n role=\"tab\"\n href={tab.href}\n aria-selected={isActive}\n className={triggerClasses}\n onClick={(e) => {\n if (tab.disabled) e.preventDefault();\n else handleSelect(tab.value);\n }}\n >\n {tab.label}\n </a>\n );\n }\n\n return (\n <button\n key={tab.value}\n role=\"tab\"\n type=\"button\"\n disabled={tab.disabled}\n aria-selected={isActive}\n className={triggerClasses}\n onClick={() => handleSelect(tab.value)}\n >\n {tab.label}\n </button>\n );\n })}\n </div>\n <div\n role=\"tabpanel\"\n className=\"tabs-panel\"\n tabIndex={0}\n >\n {activeTab?.content}\n </div>\n </div>\n );\n};\n\nTabs.displayName = 'Tabs';\n","import './Timeline.css';\nimport React from 'react';\nimport { classNames } from '../../utils/classNames';\nimport { Avatar } from '../Avatar/Avatar';\nimport { Text } from '../Text/Text';\nimport type { TimelineItemProps, TimelineProps } from './types';\n\nexport type { TimelineItemProps, TimelineProps } from './types';\n\nexport const TimelineItem: React.FC<TimelineItemProps> = ({ title, description, date, icon, src, name }) => {\n return (\n <div className={classNames('timeline-item', !icon && !src && !name && 'timeline-item--dot')}>\n <div className=\"timeline-item__aside\">\n <div className=\"timeline-item__marker\">\n {src || name ? <Avatar src={src} name={name} size=\"small\" /> : icon ? <div className=\"timeline-item__icon\">{icon}</div> : <div className=\"timeline-item__dot\" />}\n </div>\n <div className=\"timeline-item__line\" />\n </div>\n <div className=\"timeline-item__content\">\n <div className=\"timeline-item__header\">\n <Text weight=\"medium\">{title}</Text>\n {date && <Text size=\"small\" color=\"neutral\">{date}</Text>}\n </div>\n {description && <div className=\"timeline-item__description\"><Text color=\"neutral\">{description}</Text></div>}\n </div>\n </div>\n );\n};\n\nexport const Timeline: React.FC<TimelineProps> = ({ children, className, ...props }) => {\n return <div className={classNames('timeline', className)} {...props}>{children}</div>;\n};\n\nTimeline.displayName = 'Timeline';\nTimelineItem.displayName = 'TimelineItem';\n"],"names":["classNames","args","classes","arg","nested","key","createVariants","config","options","variant","size","matchVariant","matchSize","TOKEN_COLORS","isTokenColor","color","normalizeTokenColor","colorVar","textColorVar","normalized","Loader","className","label","style","jsxs","jsx","Button","React","loading","disabled","icon","iconRight","full","children","props","ref","isDisabled","tokenColor","customColor","buttonStyle","IconButton","LabelFormater","text","char","Text","weight","as","Component","tokenColorClass","Flex","direction","align","justify","wrap","gap","FormField","error","hint","htmlFor","IconBase","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","icons","Icon","name","createNamedIcon","ActivityIcon","AlertCircleIcon","AlertTriangleIcon","AlignHorizontalIcon","AlignJustifyIcon","AppWindowIcon","ArrowDownIcon","ArrowLeftIcon","ArrowRightIcon","ArrowUpIcon","BadgeIcon","BatteryIcon","BellIcon","BluetoothIcon","BookIcon","BoxIcon","CalendarIcon","CameraIcon","CheckSquareIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","ChevronIcon","CircleDotIcon","ClockIcon","CloseIcon","CloudIcon","CodeIcon","ComponentIcon","CopyIcon","CreditCardIcon","DatabaseIcon","DownloadIcon","EditIcon","ExternalLinkIcon","EyeOffIcon","EyeIcon","FileTextIcon","FileIcon","FilterIcon","FolderIcon","FormInputIcon","GhostIcon","GiftIcon","GitCommitIcon","GithubIcon","GridIcon","GripIcon","Heading1Icon","HeartIcon","HelpCircleIcon","HistoryIcon","HomeIcon","ImageIcon","InfoIcon","LabIcon","LaptopIcon","LayoutTemplateIcon","LayoutIcon","LinkIcon","LinkedinIcon","ListChecksIcon","ListCollapseIcon","ListFilterIcon","ListIcon","Loader2Icon","LockIcon","LogInIcon","LogOutIcon","MailIcon","MapPinIcon","MenuIcon","MessageCircleIcon","MessageSquareIcon","MicIcon","MilestoneIcon","MinusIcon","MonitorIcon","MoonIcon","MoreHorizontalIcon","MousePointerIcon","MusicIcon","PanelLeftIcon","PanelTopIcon","PanelIcon","PhoneIcon","PlusIcon","RectangleHorizontalIcon","RefreshIcon","RocketIcon","RulerIcon","SearchIcon","ServerIcon","SettingsIcon","ShareIcon","ShieldIcon","ShoppingCartIcon","SlidersHorizontalIcon","SmartphoneIcon","SparkIcon","SparklesIcon","SpinnerIcon","SquareIcon","StarIcon","SunIcon","TableIcon","TabletIcon","TagIcon","TextCursorIcon","ThemeDarkIcon","ThemeLightIcon","ToggleRightIcon","TrashIcon","TypeIcon","UnlockIcon","UploadCloudIcon","UploadIcon","UserCircleIcon","UserIcon","VideoIcon","WarningIcon","WifiIcon","XIcon","ZapIcon","Input","prefix","suffix","clearable","id","inputId","inputRef","forceRender","isControlled","hasValue","setRefs","node","handleClear","current","handleInput","event","resolvedSuffix","TextArea","resize","rows","Search","onSearch","onChange","WEEK_DAYS","parseDateValue","value","year","month","day","formatDateValue","date","toIsoDate","isSameDay","a","b","buildCalendarDays","monthDate","startOfMonth","endOfMonth","startDay","totalDays","days","index","minimumCells","lastDate","nextDate","DatePicker","defaultValue","placeholder","_size","_prefix","_suffix","_clearable","rootRef","fallbackToday","initialDate","internalValue","setInternalValue","open","setOpen","selectedDate","viewDate","setViewDate","handlePointerDown","commitValue","nextIsoValue","nextEvent","handleSelectDate","handleApply","monthLabel","calendarDays","outside","isSelected","Select","supportText","searchable","searchPlaceholder","generatedId","useId","useRef","searchInputRef","isOpen","setIsOpen","useState","searchTerm","setSearchTerm","selectedValue","useEffect","handleClickOutside","selectedOption","option","filteredOptions","useMemo","handleSelect","nextValue","optionDisabled","MultiSelect","selectedValues","selectedOptions","commitChange","toggleValue","optionValue","item","DropdownContext","createContext","assignRef","resolvePosition","rect","placement","offset","matchTriggerWidth","top","left","DropdownRoot","content","defaultOpen","onOpenChange","closeOnClickOutside","triggerRef","menuRef","internalOpen","setInternalOpen","position","setPosition","useCallback","nextOpen","close","updatePosition","handleUpdate","target","handleKeyDown","contextValue","child","Fragment","createPortal","DropdownItem","inset","destructive","keepOpen","leftContent","rightContent","onClick","onSelect","context","useContext","Dropdown","setForwardedRef","Checkbox","indeterminate","handleRef","Radio","description","Slider","min","max","currentValue","percentage","next","FileUpload","onFileSelect","accept","multiple","maxSize","title","isDragging","setIsDragging","files","setFiles","setError","processFiles","incoming","valid","file","updated","_","itemIndex","createHeading","tag","levelClassName","Heading","Heading2","Heading3","Heading4","Heading5","Heading6","Card","padding","CardHeader","action","CardBody","CardFooter","Box","rounded","shadow","surface","border","Grid","columns","Container","Spacer","axis","Divider","orientation","ListContext","ListRoot","ListItem","startContent","endContent","active","resolvedStart","List","useAccordionState","type","initial","openItems","setOpenItems","AccordionItem","onToggle","Accordion","toggle","Code","block","Link","underline","href","to","currentPath","route","normalizePath","path","pathname","isCurrentRoute","isActive","Badge","Alert","Tag","leftIcon","rightIcon","closable","onRemove","removable","Avatar","src","status","getInitials","parts","Skeleton","animated","customStyle","Image","alt","objectFit","radius","fallback","loaded","setLoaded","Switch","Pagination","currentPage","totalPages","onPageChange","showControls","pages","items","startPage","endPage","page","EmptyState","Modal","onClose","footer","closeOnOverlayClick","mounted","setMounted","onKeyDown","e","Drawer","Tooltip","delay","tooltipId","timerRef","visible","setVisible","show","hide","ToastContext","COLOR_ICONS","ToastItem","toast","onDismiss","exiting","setExiting","handleDismiss","timer","ToastProvider","maxToasts","setStatus","toasts","setToasts","data","prev","dismiss","t","useToast","ctx","Table","striped","hover","compact","stickyHeader","containerClassName","Thead","Tbody","Tr","Th","Td","SidebarContext","useSidebarContext","getNodeText","countSidebarItems","count","SidebarItem","findFirstSidebarItem","nestedItem","SidebarRoot","controlledCollapsed","defaultCollapsed","searchThreshold","internalCollapsed","setInternalCollapsed","collapsed","enableSearch","childArray","footerIndex","SidebarFooter","toggleCollapsed","SidebarHeader","logo","collapsible","handleClick","searchText","itemText","normalizedSearchTerm","SidebarGroup","controlledOpen","childText","hasMatch","shouldForceOpen","firstItem","handleToggle","Sidebar","ThemeContext","useTheme","ThemeProvider","defaultTheme","storageKey","toastPosition","toastMaxToasts","theme","setThemeState","root","toggleTheme","setTheme","newTheme","TopBar","navItems","navPosition","extraContent","themeToggle","sticky","contentInside","renderNav","PageHeader","showBack","onBack","Breadcrumb","separator","isLast","Progress","showValue","Tabs","tabs","controlledValue","activeValue","val","activeTab","tab","triggerClasses","TimelineItem","Timeline"],"mappings":"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"}