@eqtylab/equality 1.1.8 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts","../src/components/alert/alert.tsx","../src/components/button/button.tsx","../src/components/alert-dialog/alert-dialog.tsx","../src/components/avatar/avatar.tsx","../src/lib/elevations.ts","../src/components/icon/icon.tsx","../src/components/tooltip/tooltip.tsx","../src/components/badge/badge.tsx","../../tokens/equality-tokens.json","../src/components/bg-gradient/bg-gradient.tsx","../src/components/resource-badge/resource-badge.tsx","../src/components/card-content-header/card-content-header.tsx","../src/components/card/card.tsx","../src/components/checkbox/checkbox.tsx","../src/components/icon-button/icon-button.tsx","../src/components/copy-button/copy-button.tsx","../src/theme/lib/utils.ts","../src/theme/hooks/use-theme.ts","../src/components/code-block/code-block.tsx","../src/components/dialog/dialog.tsx","../src/components/command/command.tsx","../src/components/popover/popover.tsx","../src/components/date-range-picker/date-range-picker.tsx","../src/components/display-field/display-field.tsx","../src/components/drawer/drawer.tsx","../src/components/dropdown-menu/dropdown-menu.tsx","../src/components/empty-table-state/empty-table-state.tsx","../src/components/filter-dropdown/filter-dropdown.tsx","../src/components/label/label.tsx","../src/components/form/form.tsx","../src/components/info-card/info-card.tsx","../src/components/input/input.tsx","../src/components/list-or-grid-view-toggle/list-or-grid-view-toggle.tsx","../src/components/spinner/spinner.tsx","../src/components/loading-overlay/loading-overlay.tsx","../src/components/metric-card/metric-card.tsx","../src/components/motion-collapsible/motion-collapsible.tsx","../src/components/page-not-found/page-not-found.tsx","../src/components/select/select.tsx","../src/components/pagination/pagination.tsx","../src/components/panel-label/panel-label.tsx","../src/components/progress/progress.tsx","../src/components/radial-graph/radial-graph.tsx","../src/components/radio-dropdown/radio-dropdown.tsx","../src/components/radio-group/radio-group.tsx","../src/components/scroll-area/scroll-area.tsx","../src/components/search-bar/search-bar.tsx","../src/components/section-heading/section-heading.tsx","../src/components/separator/separator.tsx","../src/components/sheet/sheet.tsx","../src/components/skeleton/skeleton.tsx","../src/components/sort-selector/sort-selector.tsx","../src/components/switch/switch.tsx","../src/components/sort-button/sort-button.tsx","../src/components/table/table-components.tsx","../src/components/table/table.tsx","../src/components/tabs/tabs-components.tsx","../src/components/tabs/tabs.tsx","../src/components/textarea/textarea.tsx","../src/components/toast/toast-components.tsx","../src/hooks/use-toast.ts","../src/components/toast/toast.tsx","../src/components/truncated-description/truncated-description.tsx","../src/components/heading/heading.tsx","../src/components/control-status-badge/control-status-badge.tsx","../src/theme/portal.tsx","../src/theme/theme-provider.tsx"],"names":["React","cva","styles","React2","jsx","React3","jsxs","React4","forwardRef","React5","React6","React7","React8","Icon","LucideIcons","React9","SyntaxHighlighter","React10","CommandPrimitive","React11","useState","dateRange","useRef","Check","useEffect","DrawerPrimitive","React12","CheckIcon","ChevronRightIcon","ChevronRight","React13","Label","React14","Slot","React16","ChevronDownIcon","ChevronDown","React17","ChevronLeftIcon","ChevronLeft","React18","CircleIcon","Circle","RadioGroup","React19","React20","SearchIcon","Separator","React21","SheetPrimitive","React22","React23","React24","tableElevationVariants","React25","motion","React26","XIcon","X","React27","toast","props","Portal"],"mappings":"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","file":"index.js","sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function getThemeProviderRoot() {\n return document.getElementById('equality-theme-provider-root-portal');\n}\n","import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/alert/alert.module.css';\nimport { cn } from '@/lib/utils';\n\nconst alertVariants = cva(styles['alert'], {\n variants: {\n variant: {\n default: styles['alert--default'],\n success: styles['alert--success'],\n warning: styles['alert--warning'],\n danger: styles['alert--danger'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div ref={ref} role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />\n));\nAlert.displayName = 'Alert';\n\nconst AlertTitle = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h5 ref={ref} className={cn(styles['alert-title'], className)} {...props} />\n )\n);\nAlertTitle.displayName = 'AlertTitle';\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['alert-description'], className)} {...props} />\n));\nAlertDescription.displayName = 'AlertDescription';\n\nexport { Alert, AlertDescription, AlertTitle };\n","import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/button/button.module.css';\nimport { cn } from '@/lib/utils';\n\nconst buttonVariants = cva(styles['button'], {\n variants: {\n variant: {\n primary: styles['button--primary'],\n danger: styles['button--danger'],\n secondary: styles['button--secondary'],\n tertiary: styles['button--tertiary'],\n link: styles['button--link'],\n navigation: styles['button--navigation'],\n },\n size: {\n sm: styles['size--sm'],\n md: styles['size--md'],\n lg: styles['size--lg'],\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n },\n});\n\ntype ButtonBaseProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'prefix'>;\ntype AnchorBaseProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'prefix'>;\n\nexport type ButtonProps = VariantProps<typeof buttonVariants> &\n (\n | (ButtonBaseProps & {\n asChild?: boolean;\n href?: never;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n })\n | (AnchorBaseProps & {\n asChild?: never;\n href: string;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n target?: string;\n rel?: string;\n download?: string | boolean;\n })\n );\n\nconst Button = React.forwardRef<HTMLButtonElement | HTMLAnchorElement, ButtonProps>(\n ({ className, variant, size, asChild = false, prefix, suffix, children, ...props }, ref) => {\n const isLink = 'href' in props && props.href;\n\n if (isLink) {\n const { href, target, rel, download, ...anchorProps } = props as AnchorBaseProps & {\n href: string;\n target?: string;\n rel?: string;\n download?: string | boolean;\n };\n\n return (\n <a\n href={href}\n target={target}\n rel={rel}\n download={download}\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref as React.Ref<HTMLAnchorElement>}\n {...anchorProps}\n >\n {prefix}\n {children}\n {suffix}\n </a>\n );\n }\n\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref as React.Ref<HTMLButtonElement>}\n {...(props as ButtonBaseProps)}\n >\n {prefix}\n {children}\n {suffix}\n </Comp>\n );\n }\n);\nButton.displayName = 'Button';\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Button, buttonVariants };\n","import * as React from 'react';\nimport * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';\nimport { type VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/alert-dialog/alert-dialog.module.css';\nimport { buttonVariants } from '@/components/button/button';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst AlertDialog = AlertDialogPrimitive.Root;\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger;\n\nconst AlertDialogPortal = ({ children }: { children: React.ReactNode }) => (\n <AlertDialogPrimitive.Portal container={getThemeProviderRoot()}>\n {children}\n </AlertDialogPrimitive.Portal>\n);\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Overlay\n className={cn(styles['alert-dialog-overlay'], className)}\n {...props}\n ref={ref}\n />\n));\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(styles['alert-dialog-content'], className)}\n {...props}\n />\n </AlertDialogPortal>\n));\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\n\nconst AlertDialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['alert-dialog-header'], className)} {...props} />\n);\nAlertDialogHeader.displayName = 'AlertDialogHeader';\n\nconst AlertDialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['alert-dialog-footer'], className)} {...props} />\n);\nAlertDialogFooter.displayName = 'AlertDialogFooter';\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn(styles['alert-dialog-title'], className)}\n {...props}\n />\n));\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Description\n ref={ref}\n className={cn(styles['alert-dialog-description'], className)}\n {...props}\n />\n));\nAlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n Omit<React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>, 'prefix'> &\n VariantProps<typeof buttonVariants> & {\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n }\n>(({ className, variant = 'primary', size = 'sm', prefix, suffix, children, ...props }, ref) => (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants({ variant, size }), className)}\n {...props}\n >\n {prefix}\n {children}\n {suffix}\n </AlertDialogPrimitive.Action>\n));\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n Omit<React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>, 'prefix'> &\n VariantProps<typeof buttonVariants> & {\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n }\n>(({ className, variant = 'tertiary', size = 'sm', prefix, suffix, children, ...props }, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(buttonVariants({ variant, size }), styles['alert-dialog-cancel'], className)}\n {...props}\n >\n {prefix}\n {children}\n {suffix}\n </AlertDialogPrimitive.Cancel>\n));\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n","import * as React from 'react';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\n\nimport styles from '@/components/avatar/avatar.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface AvatarProps extends React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> {\n size?: 'sm' | 'md' | 'lg' | 'xl';\n shape?: 'circle' | 'square';\n}\n\nconst Avatar = React.forwardRef<React.ElementRef<typeof AvatarPrimitive.Root>, AvatarProps>(\n ({ className, size = 'md', shape = 'circle', ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(styles.avatar, styles[size], styles[shape], className)}\n {...props}\n />\n )\n);\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image ref={ref} className={cn(styles['avatar-image'], className)} {...props} />\n));\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(styles['avatar-fallback'], className)}\n {...props}\n />\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarFallback, AvatarImage };\n","import { cva } from 'class-variance-authority';\n\nexport const ELEVATION = {\n SUNKEN: 'sunken',\n BASE: 'base',\n RAISED: 'raised',\n OVERLAY: 'overlay',\n FLOATING: 'floating',\n};\n\nexport type Elevation = (typeof ELEVATION)[keyof typeof ELEVATION];\n\nexport const generateElevationVariants = (\n styles: { [key: string]: string },\n baseClassName: string,\n defaultElevation: Elevation\n) => {\n const classNames: { [key: string]: string } = {};\n Object.values(ELEVATION).forEach((elevation) => {\n classNames[elevation] = styles[`${baseClassName}--${elevation}`];\n });\n\n const variants = cva(styles[baseClassName], {\n variants: {\n elevation: classNames,\n },\n defaultVariants: {\n elevation: defaultElevation,\n },\n });\n\n return variants;\n};\n\nexport const getRelativeElevation = (elevation: Elevation, offset: number) => {\n const elevationIndex = Object.values(ELEVATION).indexOf(elevation);\n const newElevationIndex = elevationIndex + offset;\n const relativeElevation = Object.values(ELEVATION)[newElevationIndex];\n if (!relativeElevation) {\n console.warn(`Invalid elevation offset: from ${elevation} with offset ${offset}`);\n }\n return relativeElevation || elevation;\n};\n","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as LucideIcons from 'lucide-react';\n\nimport styles from '@/components/icon/icon.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nconst iconVariants = cva(styles['icon-container'], {\n variants: {\n size: {\n xs: styles['size--xs'],\n sm: styles['size--sm'],\n md: styles['size--md'],\n lg: styles['size--lg'],\n },\n background: {\n square: styles['background--square'],\n circle: styles['background--circle'],\n transparent: styles['background--transparent'],\n },\n },\n defaultVariants: {\n size: 'md',\n background: 'transparent',\n },\n});\n\nconst iconElevationVariants = generateElevationVariants(styles, 'icon-container', ELEVATION.RAISED);\n\nexport interface IconProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof iconVariants>,\n VariantProps<typeof iconElevationVariants> {\n icon: React.ReactElement | string;\n size?: 'xs' | 'sm' | 'md' | 'lg';\n background?: 'square' | 'circle' | 'transparent';\n}\n\nconst Icon = forwardRef<HTMLDivElement, IconProps>(\n ({ className, size, background, icon, elevation = ELEVATION.RAISED, ...props }, ref) => {\n let renderedIcon;\n\n if (typeof icon === 'string') {\n // Lucide icon by string name\n const LucideIcon = LucideIcons[icon as keyof typeof LucideIcons] as React.ElementType;\n\n if (!LucideIcon) {\n throw new Error(`Icon \"${icon}\" not found in lucide-react`);\n }\n\n renderedIcon = <LucideIcon className={cn(styles['icon'])} />;\n } else if (React.isValidElement(icon)) {\n // React element (e.g., <CustomIcon />) - clone to inject className\n const existingProps = icon.props as React.HTMLAttributes<HTMLElement> &\n Record<string, unknown>;\n\n renderedIcon = React.cloneElement(\n icon as React.ReactElement<React.HTMLAttributes<HTMLElement>>,\n {\n ...existingProps,\n className: cn(styles['icon'], existingProps.className),\n } as React.HTMLAttributes<HTMLElement>\n );\n } else {\n throw new Error('Icon must be either a string (Lucide icon name) or a React element');\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n iconVariants({ size, background }),\n iconElevationVariants({ elevation }),\n className\n )}\n {...props}\n >\n {renderedIcon}\n </div>\n );\n }\n);\n\nIcon.displayName = 'Icon';\n\nexport { Icon };\n","import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\n\nimport styles from '@/components/tooltip/tooltip.module.css';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\nconst Tooltip = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nconst TooltipPortal = ({ children }: { children: React.ReactNode }) => (\n <TooltipPrimitive.Portal container={getThemeProviderRoot()}>{children}</TooltipPrimitive.Portal>\n);\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPortal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(styles['tooltip-content'], className)}\n {...props}\n >\n {props.children}\n <TooltipPrimitive.Arrow width={18} height={6} className={styles['tooltip-arrow']} />\n </TooltipPrimitive.Content>\n </TooltipPortal>\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\n\nimport styles from '@/components/badge/badge.module.css';\nimport { Button } from '@/components/button/button';\nimport { Icon } from '@/components/icon/icon';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/tooltip/tooltip';\nimport { cn } from '@/lib/utils';\n\nconst XIcon = X as React.ComponentType<{ className?: string }>;\n\nconst badgeVariants = cva(styles['badge'], {\n variants: {\n variant: {\n primary: styles['badge--primary'],\n danger: styles['badge--danger'],\n neutral: styles['badge--neutral'],\n warning: styles['badge--warning'],\n success: styles['badge--success'],\n },\n },\n defaultVariants: {\n variant: 'primary',\n },\n});\n\nexport type BadgeDisplayMode = 'both' | 'text-only' | 'icon-only';\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {\n closeable?: boolean;\n handleClosable?: () => void;\n truncate?: boolean;\n truncateLength?: number;\n icon?: React.ReactElement | string;\n display?: BadgeDisplayMode;\n}\n\n// Default icons for variants\nconst defaultVariantIcons: Record<string, string> = {\n success: 'Check',\n warning: 'OctagonAlert',\n danger: 'TriangleAlert',\n};\n\nfunction Badge({\n className,\n variant,\n closeable,\n handleClosable,\n truncate = false,\n truncateLength = 50,\n icon,\n display = 'both',\n ...props\n}: BadgeProps) {\n // Use default icon for variant if no icon is provided\n const effectiveIcon = icon ?? (variant ? defaultVariantIcons[variant] : undefined);\n\n const renderClosable = () => {\n if (closeable && handleClosable)\n return (\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n onClick={handleClosable}\n className={styles['closable-btn']}\n >\n <XIcon />\n </Button>\n );\n return null;\n };\n\n const renderChildren = () => {\n const children = props.children;\n\n if (truncate && typeof children === 'string' && children.length > truncateLength) {\n const displayLabel = children.slice(0, truncateLength) + '...';\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger>{displayLabel}</TooltipTrigger>\n <TooltipContent className={styles['tooltip']}>{children}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return children;\n };\n\n const renderIcon = () => {\n if (effectiveIcon && display !== 'text-only') {\n return <Icon icon={effectiveIcon} size=\"xs\" className={styles['icon']} />;\n }\n return null;\n };\n\n // Validate icon-only mode requires an icon\n // If icon-only is set without an icon, fallback to showing both\n const effectiveDisplay = display === 'icon-only' && !effectiveIcon ? 'both' : display;\n const shouldShowChildren = effectiveDisplay !== 'icon-only';\n const isIconOnly = effectiveDisplay === 'icon-only' && effectiveIcon;\n\n return (\n <div\n className={cn(\n variant !== null && badgeVariants({ variant }),\n variant === null && styles['badge'],\n isIconOnly && styles['badge--icon-only'],\n className\n )}\n {...props}\n >\n {renderIcon()}\n {shouldShowChildren && renderChildren()}\n {renderClosable()}\n </div>\n );\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Badge, badgeVariants };\n","{\n \"Dark\": {\n \"color\": {\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.06018, 0.06019, 0.06787],\n \"hex\": \"#0F0F11\"\n }\n },\n \"background-base\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.06018, 0.06019, 0.06787],\n \"hex\": \"#0F0F11\"\n }\n },\n \"background-bottom\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1.094e-5, 5.131e-6, 6.469e-5],\n \"hex\": \"#000000\"\n }\n },\n \"background-floating\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1399, 0.14, 0.1485],\n \"hex\": \"#242426\"\n }\n },\n \"background-overlay\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1121, 0.1122, 0.1204],\n \"hex\": \"#1D1D1F\"\n }\n },\n \"background-raised\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.08523, 0.08526, 0.09324],\n \"hex\": \"#161618\"\n }\n },\n \"background-sunken\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.03547, 0.03547, 0.04268],\n \"hex\": \"#09090B\"\n }\n },\n \"background-top\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1399, 0.14, 0.1485],\n \"hex\": \"#242426\"\n }\n },\n \"badge\": {\n \"background\": {\n \"accepted\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"comment\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1689, 0.3045, 0.136],\n \"hex\": \"#2B4E23\"\n }\n },\n \"danger\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4113, 0.1505, 0.1319],\n \"hex\": \"#692622\"\n }\n },\n \"in-progress\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4118, 0.2185, 0.1135],\n \"hex\": \"#69381D\"\n }\n },\n \"in-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"neutral\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n },\n \"non-compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4113, 0.1505, 0.1319],\n \"hex\": \"#692622\"\n }\n },\n \"not-applicable\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n },\n \"not-started\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"question\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"ready-for-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1442, 0.2013, 0.4303],\n \"hex\": \"#25336E\"\n }\n },\n \"success\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1689, 0.3045, 0.136],\n \"hex\": \"#2B4E23\"\n }\n },\n \"warning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4487, 0.322, 0.1436],\n \"hex\": \"#725225\"\n }\n }\n },\n \"text\": {\n \"accepted\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"comment\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"danger\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"in-progress\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9272, 0.788, 0.7058],\n \"hex\": \"#ECC9B4\"\n }\n },\n \"in-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"neutral\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"non-compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"not-applicable\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"not-started\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"question\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"ready-for-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7289, 0.7853, 0.9401],\n \"hex\": \"#BAC8F0\"\n }\n },\n \"success\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"warning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9327, 0.8528, 0.7204],\n \"hex\": \"#EED9B8\"\n }\n }\n }\n },\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"border-base\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"border-bottom\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1589, 0.159, 0.1677],\n \"hex\": \"#29292B\"\n }\n },\n \"border-floating\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3328, 0.3328, 0.3426],\n \"hex\": \"#555557\"\n }\n },\n \"border-overlay\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2796, 0.2796, 0.2891],\n \"hex\": \"#47474A\"\n }\n },\n \"border-raised\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.228, 0.2281, 0.2372],\n \"hex\": \"#3A3A3C\"\n }\n },\n \"border-sunken\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"border-top\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3328, 0.3328, 0.3426],\n \"hex\": \"#555557\"\n }\n },\n \"button\": {\n \"danger\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7365, 0.2216, 0.2026],\n \"hex\": \"#BC3934\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8114, 0.4167, 0.3761],\n \"hex\": \"#CF6A60\"\n }\n }\n },\n \"primary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6266, 0.4562, 0.8302],\n \"hex\": \"#A074D4\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6266, 0.4562, 0.8302],\n \"hex\": \"#A074D4\"\n }\n }\n },\n \"secondary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0, 0, 0],\n \"hex\": \"#000000\"\n }\n }\n },\n \"tertiary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0, 0, 0],\n \"hex\": \"#000000\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n }\n }\n },\n \"card\": {\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.0861, 0.0861, 0.0861],\n \"hex\": \"#161616\"\n }\n },\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n }\n },\n \"focus-ring\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7319, 0.6108, 0.8873],\n \"hex\": \"#BB9CE2\"\n }\n },\n \"popover\": {\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.03547, 0.03547, 0.04268],\n \"hex\": \"#09090B\"\n }\n }\n },\n \"resource\": {\n \"background\": {\n \"agent\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1475, 0.2946, 0.2434],\n \"hex\": \"#264B3E\"\n }\n },\n \"benchmark\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"code\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6137, 0.3942, 0.177],\n \"hex\": \"#9C652D\"\n }\n },\n \"compute\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4487, 0.322, 0.1436],\n \"hex\": \"#725225\"\n }\n },\n \"context\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1394, 0.2691, 0.3776],\n \"hex\": \"#244560\"\n }\n },\n \"database\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"dataset\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"document\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5752, 0.2954, 0.1593],\n \"hex\": \"#934B29\"\n }\n },\n \"guard\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"guardrail\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"inference\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1689, 0.3045, 0.136],\n \"hex\": \"#2B4E23\"\n }\n },\n \"model\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1442, 0.2013, 0.4303],\n \"hex\": \"#25336E\"\n }\n },\n \"prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1394, 0.2691, 0.3776],\n \"hex\": \"#244560\"\n }\n },\n \"reasoning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1394, 0.2691, 0.3776],\n \"hex\": \"#244560\"\n }\n },\n \"system-parameters\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6137, 0.3942, 0.177],\n \"hex\": \"#9C652D\"\n }\n },\n \"system-prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1394, 0.2691, 0.3776],\n \"hex\": \"#244560\"\n }\n },\n \"token\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2534, 0.2782, 0.09737],\n \"hex\": \"#414719\"\n }\n },\n \"tools\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4113, 0.1505, 0.1319],\n \"hex\": \"#692622\"\n }\n },\n \"unknown\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n }\n },\n \"text\": {\n \"agent\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7135, 0.8482, 0.7942],\n \"hex\": \"#B6D8CB\"\n }\n },\n \"benchmark\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"code\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9376, 0.8222, 0.7184],\n \"hex\": \"#EFD2B7\"\n }\n },\n \"compute\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9327, 0.8528, 0.7204],\n \"hex\": \"#EED9B8\"\n }\n },\n \"context\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"database\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"dataset\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"document\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9272, 0.788, 0.7058],\n \"hex\": \"#ECC9B4\"\n }\n },\n \"guard\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"guardrail\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"inference\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"model\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7289, 0.7853, 0.9401],\n \"hex\": \"#BAC8F0\"\n }\n },\n \"prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"reasoning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"system-parameters\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9376, 0.8222, 0.7184],\n \"hex\": \"#EFD2B7\"\n }\n },\n \"system-prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"token\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8033, 0.8266, 0.7044],\n \"hex\": \"#CDD3B4\"\n }\n },\n \"tools\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"unknown\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n }\n }\n },\n \"text\": {\n \"link\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7319, 0.6108, 0.8873],\n \"hex\": \"#BB9CE2\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"secondary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"tertiary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5021, 0.5021, 0.5021],\n \"hex\": \"#808080\"\n }\n }\n }\n }\n },\n \"Light\": {\n \"color\": {\n \"amber\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9767, 0.9238, 0.8764],\n \"hex\": \"#F9ECDF\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9376, 0.8222, 0.7184],\n \"hex\": \"#EFD2B7\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.896, 0.7203, 0.5608],\n \"hex\": \"#E4B88F\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8518, 0.6176, 0.3997],\n \"hex\": \"#D99D66\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.805, 0.5129, 0.2188],\n \"hex\": \"#CD8338\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6137, 0.3942, 0.177],\n \"hex\": \"#9C652D\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4327, 0.2812, 0.1347],\n \"hex\": \"#6E4822\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2643, 0.1753, 0.09139],\n \"hex\": \"#432D17\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1121, 0.07777, 0.04646],\n \"hex\": \"#1D140C\"\n }\n }\n },\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8264, 0.8324, 0.8394],\n \"hex\": \"#D3D4D6\"\n }\n },\n \"background-base\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8264, 0.8324, 0.8394],\n \"hex\": \"#D3D4D6\"\n }\n },\n \"background-bottom\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6765, 0.6823, 0.689],\n \"hex\": \"#ADAEB0\"\n }\n },\n \"background-floating\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9424, 0.9485, 0.9557],\n \"hex\": \"#F0F2F4\"\n }\n },\n \"background-overlay\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9034, 0.9095, 0.9166],\n \"hex\": \"#E6E8EA\"\n }\n },\n \"background-raised\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8648, 0.8708, 0.8779],\n \"hex\": \"#DDDEE0\"\n }\n },\n \"background-sunken\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7758, 0.7817, 0.7887],\n \"hex\": \"#C6C7C9\"\n }\n },\n \"background-top\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9817, 0.9878, 0.9951],\n \"hex\": \"#FAFCFE\"\n }\n },\n \"badge\": {\n \"background\": {\n \"accepted\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"comment\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"danger\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"in-progress\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9272, 0.788, 0.7058],\n \"hex\": \"#ECC9B4\"\n }\n },\n \"in-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"neutral\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"non-compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"not-applicable\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"not-started\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"question\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"ready-for-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7289, 0.7853, 0.9401],\n \"hex\": \"#BAC8F0\"\n }\n },\n \"success\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"warning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9327, 0.8528, 0.7204],\n \"hex\": \"#EED9B8\"\n }\n }\n },\n \"text\": {\n \"accepted\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"comment\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1097, 0.1998, 0.08667],\n \"hex\": \"#1C3316\"\n }\n },\n \"danger\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2625, 0.1106, 0.09605],\n \"hex\": \"#431C18\"\n }\n },\n \"in-progress\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"in-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"neutral\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"non-compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2625, 0.1106, 0.09605],\n \"hex\": \"#431C18\"\n }\n },\n \"not-applicable\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"not-started\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"question\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"ready-for-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1017, 0.1411, 0.2832],\n \"hex\": \"#1A2448\"\n }\n },\n \"success\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1097, 0.1998, 0.08667],\n \"hex\": \"#1C3316\"\n }\n },\n \"warning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2723, 0.1933, 0.09642],\n \"hex\": \"#453119\"\n }\n }\n }\n },\n \"black\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0, 0, 0],\n \"hex\": \"#000000\"\n }\n },\n \"blue\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9115, 0.9345, 0.994],\n \"hex\": \"#E7EFFF\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7289, 0.7853, 0.9401],\n \"hex\": \"#BAC8F0\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5545, 0.6362, 0.8816],\n \"hex\": \"#8DA2E1\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3895, 0.4853, 0.8187],\n \"hex\": \"#637CD1\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2366, 0.3261, 0.7513],\n \"hex\": \"#3C53C0\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1892, 0.2629, 0.5868],\n \"hex\": \"#304396\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1442, 0.2013, 0.4303],\n \"hex\": \"#25336E\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1017, 0.1411, 0.2832],\n \"hex\": \"#1A2448\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.06177, 0.08243, 0.1475],\n \"hex\": \"#101526\"\n }\n }\n },\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"border-base\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"border-bottom\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6158, 0.6214, 0.6281],\n \"hex\": \"#9D9EA0\"\n }\n },\n \"border-floating\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8011, 0.807, 0.814],\n \"hex\": \"#CCCED0\"\n }\n },\n \"border-overlay\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8011, 0.807, 0.814],\n \"hex\": \"#CCCED0\"\n }\n },\n \"border-raised\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7383, 0.7441, 0.751],\n \"hex\": \"#BCBEC0\"\n }\n },\n \"border-sunken\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"border-top\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8011, 0.807, 0.814],\n \"hex\": \"#CCCED0\"\n }\n },\n \"brand\": {\n \"green\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4374, 0.6383, 0.4134],\n \"hex\": \"#70A369\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7319, 0.6108, 0.8873],\n \"hex\": \"#BB9CE2\"\n }\n },\n \"red\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8114, 0.4167, 0.3761],\n \"hex\": \"#CF6A60\"\n }\n },\n \"secondary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3895, 0.4853, 0.8187],\n \"hex\": \"#637CD1\"\n }\n },\n \"yellow\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.863, 0.6958, 0.4108],\n \"hex\": \"#DCB169\"\n }\n }\n },\n \"button\": {\n \"danger\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5698, 0.1873, 0.1674],\n \"hex\": \"#91302B\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7365, 0.2216, 0.2026],\n \"hex\": \"#BC3934\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n }\n },\n \"primary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5242, 0.2903, 0.7705],\n \"hex\": \"#864AC4\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5242, 0.2903, 0.7705],\n \"hex\": \"#864AC4\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n }\n },\n \"secondary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.0861, 0.0861, 0.0861],\n \"hex\": \"#161616\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.0861, 0.0861, 0.0861],\n \"hex\": \"#161616\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n }\n },\n \"tertiary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0, 0, 0],\n \"hex\": \"#000000\"\n }\n }\n }\n },\n \"card\": {\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n }\n },\n \"cyan\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8736, 0.9466, 0.9942],\n \"hex\": \"#DAF2FF\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5438, 0.7094, 0.8183],\n \"hex\": \"#8BB5D1\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.381, 0.5932, 0.7315],\n \"hex\": \"#6197BB\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2084, 0.4784, 0.6451],\n \"hex\": \"#357AA5\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1767, 0.3704, 0.5098],\n \"hex\": \"#2D5E82\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1394, 0.2691, 0.3776],\n \"hex\": \"#244560\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09755, 0.1752, 0.2506],\n \"hex\": \"#192D40\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.05266, 0.08974, 0.1315],\n \"hex\": \"#0D1722\"\n }\n }\n },\n \"emerald\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.902, 0.9535, 0.9056],\n \"hex\": \"#E6F3E7\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5855, 0.7436, 0.5779],\n \"hex\": \"#95BE93\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4374, 0.6383, 0.4134],\n \"hex\": \"#70A369\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2946, 0.5328, 0.2433],\n \"hex\": \"#4B883E\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2307, 0.4158, 0.1882],\n \"hex\": \"#3B6A30\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1689, 0.3045, 0.136],\n \"hex\": \"#2B4E23\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1097, 0.1998, 0.08667],\n \"hex\": \"#1C3316\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.05386, 0.1032, 0.04065],\n \"hex\": \"#0E1A0A\"\n }\n }\n },\n \"focus-ring\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5242, 0.2903, 0.7705],\n \"hex\": \"#864AC4\"\n }\n },\n \"fuschia\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9669, 0.9118, 0.9757],\n \"hex\": \"#F7E9F9\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8859, 0.7455, 0.9086],\n \"hex\": \"#E2BEE8\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8027, 0.5791, 0.8394],\n \"hex\": \"#CD94D6\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7171, 0.4076, 0.7681],\n \"hex\": \"#B768C4\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6289, 0.209, 0.6944],\n \"hex\": \"#A035B1\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4907, 0.1701, 0.542],\n \"hex\": \"#7D2B8A\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3593, 0.1309, 0.3967],\n \"hex\": \"#5C2165\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2359, 0.0912, 0.2602],\n \"hex\": \"#3C1742\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1221, 0.05054, 0.1344],\n \"hex\": \"#1F0D22\"\n }\n }\n },\n \"greyscale\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6205, 0.6205, 0.6205],\n \"hex\": \"#9E9E9E\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5021, 0.5021, 0.5021],\n \"hex\": \"#808080\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3886, 0.3886, 0.3886],\n \"hex\": \"#636363\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.0861, 0.0861, 0.0861],\n \"hex\": \"#161616\"\n }\n }\n },\n \"lilac\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9492, 0.917, 0.9935],\n \"hex\": \"#F2EAFD\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8396, 0.7634, 0.9416],\n \"hex\": \"#D6C3F0\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7319, 0.6108, 0.8873],\n \"hex\": \"#BB9CE2\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6266, 0.4562, 0.8302],\n \"hex\": \"#A074D4\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5242, 0.2903, 0.7705],\n \"hex\": \"#864AC4\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4045, 0.2306, 0.6077],\n \"hex\": \"#673B9B\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2927, 0.172, 0.4505],\n \"hex\": \"#4B2C73\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1898, 0.115, 0.3008],\n \"hex\": \"#301D4D\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09683, 0.05998, 0.1612],\n \"hex\": \"#190F29\"\n }\n }\n },\n \"olive\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9314, 0.9449, 0.8779],\n \"hex\": \"#EEF1E0\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8033, 0.8266, 0.7044],\n \"hex\": \"#CDD3B4\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6792, 0.7106, 0.5351],\n \"hex\": \"#ADB588\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5596, 0.5967, 0.3684],\n \"hex\": \"#8F985E\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4451, 0.4851, 0.1956],\n \"hex\": \"#727C32\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3469, 0.3792, 0.1453],\n \"hex\": \"#586125\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2534, 0.2782, 0.09737],\n \"hex\": \"#414719\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1652, 0.183, 0.0523],\n \"hex\": \"#2A2F0D\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.08365, 0.09501, 0.01653],\n \"hex\": \"#151804\"\n }\n }\n },\n \"orange\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9808, 0.9208, 0.8819],\n \"hex\": \"#FAEBE1\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9272, 0.788, 0.7058],\n \"hex\": \"#ECC9B4\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8118, 0.517, 0.3762],\n \"hex\": \"#CF8460\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7481, 0.374, 0.214],\n \"hex\": \"#BF5F37\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5752, 0.2954, 0.1593],\n \"hex\": \"#934B29\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4118, 0.2185, 0.1135],\n \"hex\": \"#69381D\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1219, 0.07196, 0.04009],\n \"hex\": \"#1F120A\"\n }\n }\n },\n \"popover\": {\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9738, 0.9799, 0.9872],\n \"hex\": \"#F8FAFC\"\n }\n }\n },\n \"purple\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9305, 0.9259, 0.9937],\n \"hex\": \"#EDECFD\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6663, 0.622, 0.9719],\n \"hex\": \"#AA9FF8\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5463, 0.4591, 0.9504],\n \"hex\": \"#8B75F2\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4378, 0.2639, 0.9228],\n \"hex\": \"#7043EB\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3399, 0.2142, 0.7184],\n \"hex\": \"#5737B7\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.08163, 0.06381, 0.1746],\n \"hex\": \"#15102D\"\n }\n }\n },\n \"red\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9851, 0.9151, 0.9036],\n \"hex\": \"#FBE9E6\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8779, 0.5865, 0.5474],\n \"hex\": \"#E0968C\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8114, 0.4167, 0.3761],\n \"hex\": \"#CF6A60\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7365, 0.2216, 0.2026],\n \"hex\": \"#BC3934\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5698, 0.1873, 0.1674],\n \"hex\": \"#91302B\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4113, 0.1505, 0.1319],\n \"hex\": \"#692622\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2625, 0.1106, 0.09605],\n \"hex\": \"#431C18\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1251, 0.06706, 0.05944],\n \"hex\": \"#20110F\"\n }\n }\n },\n \"resource\": {\n \"agent\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2615, 0.5132, 0.4268],\n \"hex\": \"#43836D\"\n }\n },\n \"background\": {\n \"agent\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7135, 0.8482, 0.7942],\n \"hex\": \"#B6D8CB\"\n }\n },\n \"benchmark\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"code\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9376, 0.8222, 0.7184],\n \"hex\": \"#EFD2B7\"\n }\n },\n \"compute\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9327, 0.8528, 0.7204],\n \"hex\": \"#EED9B8\"\n }\n },\n \"context\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"database\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"dataset\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"document\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9272, 0.788, 0.7058],\n \"hex\": \"#ECC9B4\"\n }\n },\n \"guard\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"guardrail\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"inference\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"model\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7289, 0.7853, 0.9401],\n \"hex\": \"#BAC8F0\"\n }\n },\n \"prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"reasoning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"system-parameters\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9376, 0.8222, 0.7184],\n \"hex\": \"#EFD2B7\"\n }\n },\n \"system-prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"token\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8033, 0.8266, 0.7044],\n \"hex\": \"#CDD3B4\"\n }\n },\n \"tools\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"unknown\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n }\n },\n \"benchmark\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4118, 0.2185, 0.1135],\n \"hex\": \"#69381D\"\n }\n },\n \"code\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.805, 0.5129, 0.2188],\n \"hex\": \"#CD8338\"\n }\n },\n \"compute\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8263, 0.6154, 0.2247],\n \"hex\": \"#D39D39\"\n }\n },\n \"context\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2084, 0.4784, 0.6451],\n \"hex\": \"#357AA5\"\n }\n },\n \"database\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4378, 0.2639, 0.9228],\n \"hex\": \"#7043EB\"\n }\n },\n \"dataset\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4378, 0.2639, 0.9228],\n \"hex\": \"#7043EB\"\n }\n },\n \"document\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7481, 0.374, 0.214],\n \"hex\": \"#BF5F37\"\n }\n },\n \"guard\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4118, 0.2185, 0.1135],\n \"hex\": \"#69381D\"\n }\n },\n \"guardrail\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4118, 0.2185, 0.1135],\n \"hex\": \"#69381D\"\n }\n },\n \"inference\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2946, 0.5328, 0.2433],\n \"hex\": \"#4B883E\"\n }\n },\n \"model\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2366, 0.3261, 0.7513],\n \"hex\": \"#3C53C0\"\n }\n },\n \"prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2084, 0.4784, 0.6451],\n \"hex\": \"#357AA5\"\n }\n },\n \"reasoning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2084, 0.4784, 0.6451],\n \"hex\": \"#357AA5\"\n }\n },\n \"system-parameters\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.805, 0.5129, 0.2188],\n \"hex\": \"#CD8338\"\n }\n },\n \"system-prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2084, 0.4784, 0.6451],\n \"hex\": \"#357AA5\"\n }\n },\n \"text\": {\n \"agent\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09443, 0.1941, 0.159],\n \"hex\": \"#183229\"\n }\n },\n \"benchmark\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"code\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2643, 0.1753, 0.09139],\n \"hex\": \"#432D17\"\n }\n },\n \"compute\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2723, 0.1933, 0.09642],\n \"hex\": \"#453119\"\n }\n },\n \"context\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09755, 0.1752, 0.2506],\n \"hex\": \"#192D40\"\n }\n },\n \"database\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"dataset\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"document\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"guard\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"guardrail\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"inference\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1097, 0.1998, 0.08667],\n \"hex\": \"#1C3316\"\n }\n },\n \"model\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1017, 0.1411, 0.2832],\n \"hex\": \"#1A2448\"\n }\n },\n \"prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09755, 0.1752, 0.2506],\n \"hex\": \"#192D40\"\n }\n },\n \"reasoning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09755, 0.1752, 0.2506],\n \"hex\": \"#192D40\"\n }\n },\n \"system-parameters\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2643, 0.1753, 0.09139],\n \"hex\": \"#432D17\"\n }\n },\n \"system-prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09755, 0.1752, 0.2506],\n \"hex\": \"#192D40\"\n }\n },\n \"token\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1652, 0.183, 0.0523],\n \"hex\": \"#2A2F0D\"\n }\n },\n \"tools\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2625, 0.1106, 0.09605],\n \"hex\": \"#431C18\"\n }\n },\n \"unknown\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n }\n },\n \"token\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4451, 0.4851, 0.1956],\n \"hex\": \"#727C32\"\n }\n },\n \"tools\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7365, 0.2216, 0.2026],\n \"hex\": \"#BC3934\"\n }\n },\n \"unknown\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5021, 0.5021, 0.5021],\n \"hex\": \"#808080\"\n }\n }\n },\n \"teal\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8678, 0.9647, 0.925],\n \"hex\": \"#DDF6EC\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7135, 0.8482, 0.7942],\n \"hex\": \"#B6D8CB\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5624, 0.734, 0.6673],\n \"hex\": \"#8FBBAA\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4132, 0.6223, 0.5447],\n \"hex\": \"#699F8B\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2615, 0.5132, 0.4268],\n \"hex\": \"#43836D\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2033, 0.4012, 0.3329],\n \"hex\": \"#346655\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1475, 0.2946, 0.2434],\n \"hex\": \"#264B3E\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09443, 0.1941, 0.159],\n \"hex\": \"#183229\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.04463, 0.1013, 0.08089],\n \"hex\": \"#0B1A15\"\n }\n }\n },\n \"text\": {\n \"link\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4045, 0.2306, 0.6077],\n \"hex\": \"#673B9B\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0, 0, 0],\n \"hex\": \"#000000\"\n }\n },\n \"secondary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"tertiary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5021, 0.5021, 0.5021],\n \"hex\": \"#808080\"\n }\n }\n },\n \"white\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"yellow\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.966, 0.9299, 0.8701],\n \"hex\": \"#F6EDDE\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9327, 0.8528, 0.7204],\n \"hex\": \"#EED9B8\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8984, 0.7748, 0.5691],\n \"hex\": \"#E5C691\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.863, 0.6958, 0.4108],\n \"hex\": \"#DCB169\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8263, 0.6154, 0.2247],\n \"hex\": \"#D39D39\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6345, 0.463, 0.1863],\n \"hex\": \"#A27630\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4487, 0.322, 0.1436],\n \"hex\": \"#725225\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2723, 0.1933, 0.09642],\n \"hex\": \"#453119\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1107, 0.07879, 0.04484],\n \"hex\": \"#1C140B\"\n }\n }\n }\n }\n }\n}\n","import { useEffect, useMemo, useRef } from 'react';\n\nimport styles from '@/components/bg-gradient/bg-gradient.module.css';\n\nimport tokens from '../../../../tokens/equality-tokens.json';\n\n// Extract brand colors from tokens\nconst getBrandColors = () => {\n const brandColors = tokens.Light.color.brand;\n const colors: Record<string, string> = {};\n\n Object.entries(brandColors).forEach(([key, value]) => {\n if (value.$value) {\n const hex = value.$value.hex;\n colors[key] =\n // Remove alpha channel on hex string (last 2 chars)\n hex.slice(0, 7) || '#000000';\n }\n });\n\n return colors;\n};\n\n// Type-safe Theme type based on available brand colors\nexport type Theme = keyof typeof tokens.Light.color.brand;\n\nconst getThemeColour = (theme: Theme, brandColors: Record<string, string>) => {\n return brandColors[theme] || '#000000';\n};\n\nconst BgGradient = ({\n theme,\n placement = 'full',\n}: {\n theme: Theme;\n placement?: 'full' | 'top';\n}) => {\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const brandColors = useMemo(() => getBrandColors(), []);\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n\n // Set canvas size\n const updateSize = () => {\n canvas.width = window.innerWidth;\n canvas.height = window.innerHeight;\n };\n updateSize();\n window.addEventListener('resize', updateSize);\n\n // Gradient blob configuration\n const blobs =\n placement === 'full'\n ? [\n {\n x: -0.15,\n y: -0.15,\n size: 0.45,\n animation: { duration: 10000, offset: 0 },\n },\n {\n x: 1.25,\n y: 0,\n size: 0.45,\n animation: { duration: 12000, offset: 2000 },\n },\n {\n x: 0,\n y: 1.5,\n size: 0.4,\n animation: { duration: 14000, offset: 1000 },\n },\n {\n x: 0.9,\n y: 1.25,\n size: 0.6,\n animation: { duration: 14000, offset: 0 },\n },\n ]\n : [\n {\n x: -0.1,\n y: -0.25,\n size: 0.3,\n animation: { duration: 10000, offset: 0 },\n },\n {\n x: 1,\n y: -0.25,\n size: 0.3,\n animation: { duration: 12000, offset: 2000 },\n },\n ];\n\n const themeColourBlobs = getThemeColour(theme, brandColors);\n\n let animationFrame: number;\n const animate = () => {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n const currentTime = Date.now();\n\n blobs.forEach((blob) => {\n const progress =\n ((currentTime + blob.animation.offset) % blob.animation.duration) /\n blob.animation.duration;\n const scale = 1 + Math.sin(progress * Math.PI * 2) * 0.2;\n const moveX = Math.sin(progress * Math.PI * 2) * 0.1;\n const moveY = Math.cos(progress * Math.PI * 2) * 0.1;\n\n const gradient = ctx.createRadialGradient(\n (blob.x + moveX) * canvas.width,\n (blob.y + moveY) * canvas.height,\n 0,\n (blob.x + moveX) * canvas.width,\n (blob.y + moveY) * canvas.height,\n blob.size * Math.max(canvas.width, 800) * scale\n );\n const opacity = 85;\n gradient.addColorStop(0, `${themeColourBlobs || '#000000'}${opacity}` || '#00000040');\n gradient.addColorStop(1, 'transparent');\n\n ctx.fillStyle = gradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n });\n\n animationFrame = requestAnimationFrame(animate);\n };\n\n animate();\n\n return () => {\n window.removeEventListener('resize', updateSize);\n cancelAnimationFrame(animationFrame);\n };\n }, [theme, placement, brandColors]);\n\n return <canvas ref={canvasRef} className={styles['bg-gradient']} />;\n};\n\nexport { BgGradient };\n","import { Badge, type BadgeDisplayMode } from '@/components/badge/badge';\nimport styles from '@/components/resource-badge/resource-badge.module.css';\n\nexport type ResourceType =\n | 'agent'\n | 'benchmark'\n | 'code'\n | 'compute'\n | 'database'\n | 'dataset'\n | 'document'\n | 'guard'\n | 'guardrail'\n | 'inference'\n | 'model'\n | 'prompt'\n | 'system-prompt'\n | 'context'\n | 'reasoning'\n | 'system-parameters'\n | 'token'\n | 'tools'\n | 'unknown';\n\nexport type ResourceDisplayMode = BadgeDisplayMode;\n\ninterface ResourceBadgeProps {\n type: ResourceType;\n display?: ResourceDisplayMode;\n}\n\nconst ResourceBadge = ({ type, display = 'both' }: ResourceBadgeProps) => {\n const config = getTypeConfig(type);\n\n return (\n <Badge icon={config.icon} display={display} className={config.className} variant={null}>\n {config.label}\n </Badge>\n );\n};\n\n// Helper function\nconst getTypeConfig = (type: ResourceType) => {\n switch (type) {\n case 'agent':\n return {\n icon: 'Bot',\n className: styles['badge--agent'],\n label: 'Agent',\n };\n case 'benchmark':\n return {\n icon: 'LineChart',\n className: styles['badge--benchmark'],\n label: 'Benchmark',\n };\n case 'code':\n return {\n icon: 'Code',\n className: styles['badge--code'],\n label: 'Code',\n };\n case 'compute':\n return {\n icon: 'Cpu',\n className: styles['badge--compute'],\n label: 'Compute',\n };\n case 'database':\n return {\n icon: 'Database',\n className: styles['badge--database'],\n label: 'Database',\n };\n case 'dataset':\n return {\n icon: 'Table',\n className: styles['badge--dataset'],\n label: 'Dataset',\n };\n case 'document':\n return {\n icon: 'FileText',\n className: styles['badge--document'],\n label: 'Document',\n };\n case 'guard':\n return {\n icon: 'Shield',\n className: styles['badge--guard'],\n label: 'Guard',\n };\n case 'guardrail':\n return {\n icon: 'Fence',\n className: styles['badge--guardrail'],\n label: 'Guardrail',\n };\n case 'inference':\n return {\n icon: 'Zap',\n className: styles['badge--inference'],\n label: 'Inference',\n };\n case 'model':\n return {\n icon: 'Brain',\n className: styles['badge--model'],\n label: 'Model',\n };\n case 'prompt':\n return {\n icon: 'MessageSquareText',\n className: styles['badge--prompt'],\n label: 'Prompt',\n };\n case 'system-prompt':\n return {\n icon: 'MessageSquareCode',\n className: styles['badge--system-prompt'],\n label: 'System Prompt',\n };\n case 'context':\n return {\n icon: 'MessageSquareQuote',\n className: styles['badge--context'],\n label: 'Context',\n };\n case 'reasoning':\n return {\n icon: 'MessageSquareMore',\n className: styles['badge--reasoning'],\n label: 'Reasoning',\n };\n case 'token':\n return {\n icon: 'Coins',\n className: styles['badge--token'],\n label: 'Token',\n };\n case 'tools':\n return {\n icon: 'Wrench',\n className: styles['badge--tools'],\n label: 'Tools',\n };\n case 'system-parameters':\n return {\n icon: 'Settings2',\n className: styles['badge--system-parameters'],\n label: 'System Parameters',\n };\n case 'unknown':\n return {\n icon: 'Box',\n className: styles['badge--unknown'],\n label: 'Unknown',\n };\n }\n};\n\nexport { ResourceBadge };\n","import { forwardRef } from 'react';\n\nimport { Button } from '@/components/button/button';\nimport styles from '@/components/card-content-header/card-content-header.module.css';\nimport { Icon } from '@/components/icon/icon';\nimport { cn } from '@/lib/utils';\n\nexport interface CardContentHeaderProps {\n className?: string;\n icon: React.ReactElement | string;\n heading?: string;\n onButtonClick?: () => void;\n}\n\nconst CardContentHeader = forwardRef<HTMLDivElement, CardContentHeaderProps>(\n ({ className, icon, heading, onButtonClick, ...props }, ref) => {\n const shouldRender = heading || onButtonClick;\n const shouldWrap = !!onButtonClick;\n\n if (!shouldRender) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n styles['card-content-header'],\n shouldWrap && styles['card-content-header--wrap'],\n className\n )}\n {...props}\n >\n {/* TODO refactor this to be a slot so elevation can be set independently */}\n <Icon icon={icon} background=\"circle\" elevation=\"overlay\" />\n {onButtonClick && (\n <Button className={styles.button} variant=\"tertiary\" size=\"sm\" onClick={onButtonClick}>\n See All\n </Button>\n )}\n {heading && (\n <h3 className={cn(styles.title, onButtonClick && styles['title--button-click'])}>\n {heading}\n </h3>\n )}\n </div>\n );\n }\n);\nCardContentHeader.displayName = 'CardContentHeader';\n\nexport { CardContentHeader };\n","import * as React from 'react';\nimport { VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/card/card.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nconst cardElevationVariants = generateElevationVariants(styles, 'card', ELEVATION.RAISED);\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & { hoverGradientClassName?: string } & VariantProps<\n typeof cardElevationVariants\n >\n>(({ className, hoverGradientClassName, elevation = ELEVATION.RAISED, ...props }, ref) => {\n // If the card should have a hover style\n const shouldHaveHoverStyle = props.onClick !== undefined;\n return (\n <div\n ref={ref}\n className={cn(\n styles.card,\n shouldHaveHoverStyle && styles['card--hover'],\n cardElevationVariants({ elevation }),\n className\n )}\n {...props}\n >\n {shouldHaveHoverStyle && (\n <div className={cn(styles['card-hover-gradient'], hoverGradientClassName)} />\n )}\n {props.children}\n </div>\n );\n});\nCard.displayName = 'Card';\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['card-header'], className)} {...props} />\n )\n);\nCardHeader.displayName = 'CardHeader';\n\nconst CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['card-title'], className)} {...props} />\n )\n);\nCardTitle.displayName = 'CardTitle';\n\nconst CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['card-description'], className)} {...props} />\n )\n);\nCardDescription.displayName = 'CardDescription';\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['card-content'], className)} {...props} />\n )\n);\nCardContent.displayName = 'CardContent';\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['card-footer'], className)} {...props} />\n )\n);\nCardFooter.displayName = 'CardFooter';\n\nexport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };\n","import * as React from 'react';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { Check } from 'lucide-react';\n\nimport styles from '@/components/checkbox/checkbox.module.css';\nimport { cn } from '@/lib/utils';\n\nconst CheckIcon = Check as React.ComponentType<{ className?: string }>;\n\ninterface CheckboxProps extends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {\n icon?: React.ElementType;\n size?: 'sm' | 'md';\n}\n\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, CheckboxProps>(\n ({ className, icon: Icon, size = 'md', ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(styles.checkbox, styles[size], className)}\n {...props}\n >\n <CheckboxPrimitive.Indicator className={styles.indicator}>\n {Icon ? <Icon className={styles.check} /> : <CheckIcon className={styles.check} />}{' '}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n);\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as LucideIcons from 'lucide-react';\n\nimport styles from '@/components/icon-button/icon-button.module.css';\nimport { cn } from '@/lib/utils';\n\nconst iconButtonVariants = cva(styles['icon-btn'], {\n variants: {\n size: {\n sm: styles['size--sm'],\n md: styles['size--md'],\n lg: styles['size--lg'],\n },\n variant: {\n primary: styles['icon-btn--primary'],\n danger: styles['icon-btn--danger'],\n },\n },\n defaultVariants: {\n size: 'sm',\n variant: 'primary',\n },\n});\n\nconst iconSizeMap = {\n sm: 16,\n md: 22,\n lg: 26,\n};\n\nexport interface IconButtonProps\n extends\n Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'name'>,\n VariantProps<typeof iconButtonVariants> {\n name: keyof typeof LucideIcons;\n label?: string;\n href?: string;\n target?: string;\n download?: string | boolean;\n}\n\nfunction IconButton({\n className,\n size = 'sm',\n variant = 'primary',\n name,\n label,\n href,\n target,\n download,\n disabled,\n ...props\n}: IconButtonProps) {\n const Icon = LucideIcons[name] as LucideIcons.LucideIcon;\n const iconSize = iconSizeMap[size || 'sm'];\n const IconComponent = Icon as React.ComponentType<{ size?: number }>;\n\n if (!Icon) {\n console.warn(`Icon \"${name}\" not found in lucide-react`);\n return null;\n }\n\n const content = <IconComponent size={iconSize} />;\n\n if (href && !disabled) {\n return (\n <a\n href={href}\n target={target}\n download={download}\n aria-label={label}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n className={cn(iconButtonVariants({ size, variant }), className)}\n >\n {content}\n </a>\n );\n }\n\n return (\n <button\n type=\"button\"\n aria-label={label}\n disabled={disabled}\n className={cn(iconButtonVariants({ size, variant }), className)}\n {...props}\n >\n {content}\n </button>\n );\n}\n\nexport { IconButton };\n","import * as React from 'react';\n\nimport { IconButton } from '@/components/icon-button/icon-button';\n\nexport interface CopyButtonProps {\n value: string;\n label?: string;\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n onClick?: () => void;\n}\n\nfunction CopyButton({\n value,\n label = 'Copy to clipboard',\n size = 'sm',\n className,\n onClick,\n}: CopyButtonProps) {\n const [copied, setCopied] = React.useState(false);\n\n const handleCopy = async () => {\n try {\n // Try modern Clipboard API first (requires HTTPS)\n if (navigator.clipboard && navigator.clipboard.writeText) {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n return;\n }\n\n // Fallback to legacy method\n const textArea = document.createElement('textarea');\n textArea.value = value;\n textArea.style.position = 'fixed';\n textArea.style.left = '-999999px';\n textArea.style.top = '-999999px';\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n const successful = document.execCommand('copy');\n document.body.removeChild(textArea);\n\n if (successful) {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n } else {\n throw new Error('Copy command failed');\n }\n } catch (err) {\n console.error('Failed to copy text:', err);\n }\n };\n\n const handleClick = () => {\n handleCopy();\n onClick?.();\n };\n\n return (\n <IconButton\n name={copied ? 'Check' : 'Copy'}\n label={copied ? 'Copied!' : label}\n size={size}\n onClick={handleClick}\n className={className}\n />\n );\n}\n\nexport { CopyButton };\n","const STORAGE_KEY = 'equality-theme';\nconst UPDATE_EVENT = 'equality-theme-change';\nconst FALLBACK_THEME = 'light';\ntype Theme = 'light' | 'dark';\n\ninterface InitializeThemeOptions {\n shouldStoreTheme?: boolean;\n}\n\ninterface GetCurrentThemeStateOptions {\n canFallbackToBrowserSettings?: boolean;\n}\n\ninterface GetFallbackThemeOptions {\n canFallbackToBrowserSettings?: boolean;\n}\n\nconst getFallbackTheme = (options: GetFallbackThemeOptions = {}): Theme => {\n const { canFallbackToBrowserSettings = false } = options;\n\n if (typeof window === 'undefined' || !canFallbackToBrowserSettings) {\n return FALLBACK_THEME;\n }\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n};\n\nconst getDefaultTheme = (): Theme | undefined => {\n const themeProviderRootElement =\n document.querySelector('[data-equality-theme]') || document.documentElement;\n if (themeProviderRootElement) {\n return (themeProviderRootElement.getAttribute('data-equality-theme') || undefined) as\n | Theme\n | undefined;\n } else {\n return undefined;\n }\n};\n\nconst getThemeFromLocalStorage = (): Theme | null => {\n const safeReadStorage = (key: string) => {\n try {\n return window.localStorage.getItem(key) as Theme | null;\n } catch {\n return null;\n }\n };\n\n const themeLocalStorageValue = safeReadStorage(STORAGE_KEY);\n return themeLocalStorageValue;\n};\n\nconst getThemeFromWindow = (): Theme | undefined => {\n return window.__equalityTheme as Theme | undefined;\n};\n\nconst applyThemeToDom = (theme: Theme) => {\n const themeProviderRootElement =\n document.querySelector('[data-equality-theme]') || document.documentElement;\n if (themeProviderRootElement) {\n themeProviderRootElement.setAttribute('data-equality-theme', theme); // This sets the theme that controls the styling color variables used\n }\n};\n\nconst setThemeInLocalStorage = (theme: Theme) => {\n try {\n window.localStorage.setItem(STORAGE_KEY, theme);\n window.dispatchEvent(new CustomEvent(UPDATE_EVENT, { detail: theme }));\n } catch {\n console.error('Failed to set theme in localStorage');\n }\n};\n\nconst setThemeOnWindow = (theme: Theme) => {\n window.__equalityTheme = theme;\n window.dispatchEvent(new CustomEvent(UPDATE_EVENT, { detail: theme }));\n};\n\nconst setTheme = (theme: Theme) => {\n const isUsingLocalStorage = window.__equalityIsUsingLocalStorage;\n if (isUsingLocalStorage) {\n setThemeInLocalStorage(theme);\n } else {\n setThemeOnWindow(theme);\n }\n applyThemeToDom(theme);\n};\n\nconst getCurrentThemeState = (options: GetCurrentThemeStateOptions = {}) => {\n const { canFallbackToBrowserSettings = false } = options;\n\n // First, use stored theme if available\n // Then, use default theme set on data-equality-theme attribute if available\n // Then, use fallback theme from browser settings if available\n\n if (typeof window === 'undefined') {\n return undefined;\n }\n\n const isUsingLocalStorage = window.__equalityIsUsingLocalStorage;\n const storedTheme = isUsingLocalStorage ? getThemeFromLocalStorage() : getThemeFromWindow();\n const theme =\n storedTheme || getDefaultTheme() || getFallbackTheme({ canFallbackToBrowserSettings });\n if (!storedTheme) {\n setTheme(theme);\n }\n return theme;\n};\n\nconst initializeTheme = (options: InitializeThemeOptions = {}) => {\n // This is only needed if the initial state needs to be dynamic\n const { shouldStoreTheme = false } = options;\n\n window.__equalityIsUsingLocalStorage = shouldStoreTheme;\n const theme = getCurrentThemeState({ canFallbackToBrowserSettings: true });\n if (theme) applyThemeToDom(theme);\n};\n\nconst subscribeToThemeChange = (listener: () => void) => {\n if (typeof window === 'undefined') {\n return () => {};\n }\n\n const isUsingLocalStorage = window.__equalityIsUsingLocalStorage;\n if (isUsingLocalStorage) {\n // use localStorage\n const storageListener = (event: StorageEvent) => {\n if (event.key === STORAGE_KEY) listener();\n };\n const updateListener = () => listener();\n\n window.addEventListener('storage', storageListener);\n window.addEventListener(UPDATE_EVENT, updateListener);\n return () => {\n window.removeEventListener('storage', storageListener);\n window.removeEventListener(UPDATE_EVENT, updateListener);\n };\n } else {\n // use window object\n const windowListener = () => {\n listener();\n };\n window.addEventListener(UPDATE_EVENT, windowListener);\n return () => {\n window.removeEventListener(UPDATE_EVENT, windowListener);\n };\n }\n};\n\nexport {\n Theme,\n InitializeThemeOptions,\n STORAGE_KEY,\n UPDATE_EVENT,\n FALLBACK_THEME,\n getCurrentThemeState,\n applyThemeToDom,\n initializeTheme,\n setTheme,\n subscribeToThemeChange,\n getFallbackTheme,\n getDefaultTheme,\n getThemeFromLocalStorage,\n getThemeFromWindow,\n setThemeInLocalStorage,\n setThemeOnWindow,\n};\n","import { useSyncExternalStore } from 'react';\n\nimport { getCurrentThemeState, setTheme, subscribeToThemeChange } from '@/theme/lib/utils';\n\nconst subscribe = (listener: () => void) => {\n return subscribeToThemeChange(listener);\n};\n\nconst getSnapshot = () => {\n return getCurrentThemeState();\n};\n\nconst getServerSnapshot = () => {\n // Default SSR value before hydration\n return undefined; // use undefined to indicate no server snapshot available if not using SSR\n};\n\nconst useTheme = () => {\n const theme = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return [theme, setTheme] as const;\n};\n\nexport { useTheme };\n","import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport darkStyle from 'react-syntax-highlighter/dist/esm/styles/prism/a11y-dark';\nimport lightStyle from 'react-syntax-highlighter/dist/esm/styles/prism/prism';\n\nimport { Badge } from '@/components/badge/badge';\nimport styles from '@/components/code-block/code-block.module.css';\nimport { CopyButton } from '@/components/copy-button/copy-button';\nimport { cn } from '@/lib/utils';\nimport { useTheme } from '@/theme/hooks/use-theme';\n\ninterface CodeBlockProps {\n className?: string;\n title?: string;\n code: string;\n language?: string;\n variant?: 'neutral' | 'primary' | 'success' | 'danger' | 'warning';\n codeLabel?: string;\n copy?: string;\n}\n\nconst WRAP = true;\n\nconst CodeBlock = ({\n className,\n title,\n code,\n language = 'text',\n variant = 'neutral',\n codeLabel,\n copy,\n}: CodeBlockProps) => {\n const [theme] = useTheme();\n\n return (\n <div className={cn(styles['code-block'], styles[variant], className)}>\n <div className={styles.header}>\n <div className={styles['header-left']}>\n {title && <span className={styles.title}>{title}</span>}\n <Badge variant=\"neutral\" className={styles['badge']}>\n {language}\n </Badge>\n </div>\n <div className={styles['header-right']}>\n <CopyButton value={copy || code} size=\"sm\" />\n </div>\n </div>\n <div className={cn(styles.content)}>\n <SyntaxHighlighter\n language={language}\n style={theme === 'dark' ? darkStyle : lightStyle}\n wrapLines={WRAP}\n wrapLongLines={WRAP}\n className={styles.pre}\n codeTagProps={{ className: cn(styles.code, { [styles.wrap]: WRAP }) }}\n >\n {code}\n </SyntaxHighlighter>\n </div>\n {codeLabel && (\n <div className={styles['code-label']}>\n <p className={styles['code-label-text']}>{codeLabel}</p>\n </div>\n )}\n </div>\n );\n};\n\nexport { CodeBlock };\n","import * as React from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\n\nimport styles from '@/components/dialog/dialog.module.css';\nimport { IconButton } from '@/components/icon-button/icon-button';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = ({ children }: { children: React.ReactNode }) => (\n <DialogPrimitive.Portal container={getThemeProviderRoot()}>{children}</DialogPrimitive.Portal>\n);\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(styles['dialog-overlay'], className)}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\ntype DialogContainerProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\n size?: 'sm' | 'md' | 'lg';\n};\n\nconst DialogContainer = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n DialogContainerProps\n>(({ className, children, size = 'md', ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(styles['dialog-content'], styles[`dialog-content--size-${size}`], className)}\n onCloseAutoFocus={(event) => {\n event.preventDefault();\n document.body.style.pointerEvents = '';\n }}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContainer.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['dialog-header'], className)} {...props}>\n <div className={styles['dialog-header-content']}>{children}</div>\n <DialogPrimitive.Close asChild>\n <IconButton name=\"X\" label=\"Close\" size=\"sm\" />\n </DialogPrimitive.Close>\n </div>\n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['dialog-footer'], className)} {...props} />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title ref={ref} className={cn(styles['dialog-title'], className)} {...props} />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(styles['dialog-description'], className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nconst DialogContent = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['dialog-body'], 'styled-vertical-scrollbar', className)} {...props} />\n);\nDialogContent.displayName = 'DialogContent';\n\nexport {\n Dialog,\n DialogClose,\n DialogContainer,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n","import * as React from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { SearchIcon } from 'lucide-react';\n\nimport styles from '@/components/command/command.module.css';\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '@/components/dialog/dialog';\nimport { cn } from '@/lib/utils';\n\nfunction Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive data-slot=\"command\" className={cn(styles.command, className)} {...props} />\n );\n}\n\nfunction CommandDialog({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n ...props\n}: React.ComponentProps<typeof Dialog> & {\n title?: string;\n description?: string;\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className={styles['command-dialog-header']}>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent className={styles['command-dialog-content']}>\n <Command className={styles['command-dialog-content-inner']}>{children}</Command>\n </DialogContent>\n </Dialog>\n );\n}\n\nfunction CommandInput({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div data-slot=\"command-input-wrapper\" className={styles['command-input']}>\n <SearchIcon className={styles['command-input-icon']} />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn(styles['command-input-input'], className)}\n {...props}\n />\n </div>\n );\n}\n\nfunction CommandList({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn(styles['command-list'], className)}\n {...props}\n />\n );\n}\n\nfunction CommandEmpty({ ...props }: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className={styles['command-empty']}\n {...props}\n />\n );\n}\n\nfunction CommandGroup({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(styles['command-group'], className)}\n {...props}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn(styles['command-separator'], className)}\n {...props}\n />\n );\n}\n\nfunction CommandItem({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(styles['command-item'], className)}\n {...props}\n />\n );\n}\n\nfunction CommandShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn(styles['command-shortcut'], className)}\n {...props}\n />\n );\n}\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n};\n","import * as React from 'react';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\n\nimport styles from '@/components/popover/popover.module.css';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverPortal = ({ children }: { children: React.ReactNode }) => (\n <PopoverPrimitive.Portal container={getThemeProviderRoot()}>{children}</PopoverPrimitive.Portal>\n);\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & { arrow?: boolean }\n>(({ className, align = 'center', sideOffset = 4, arrow = false, children, ...props }, ref) => (\n <PopoverPortal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(styles['popover-content'], className)}\n {...props}\n >\n {arrow && <PopoverPrimitive.Arrow className={styles['popover-arrow']} />}\n {children}\n </PopoverPrimitive.Content>\n </PopoverPortal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverContent, PopoverTrigger };\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { CalendarDays, ChevronLeft, ChevronRight } from 'lucide-react';\n\nimport { Button } from '@/components/button/button';\nimport styles from '@/components/date-range-picker/date-range-picker.module.css';\nimport { IconButton } from '@/components/icon-button/icon-button';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover/popover';\nimport { cn } from '@/lib/utils';\n\nconst CalendarDaysIcon = CalendarDays as React.ComponentType<{ className?: string }>;\nconst ChevronLeftIcon = ChevronLeft as React.ComponentType<{ className?: string }>;\nconst ChevronRightIcon = ChevronRight as React.ComponentType<{ className?: string }>;\n\ninterface DateRange {\n from?: Date;\n to?: Date;\n}\n\ninterface DateRangePickerProps {\n dateRange: DateRange;\n onSelect: (range: DateRange) => void;\n className?: string;\n}\n\nconst DateRangePicker = ({ dateRange, onSelect, className }: DateRangePickerProps) => {\n const [selecting, setSelecting] = useState<'from' | 'to' | null>(null);\n const [displayedMonth, setDisplayedMonth] = useState(new Date().getMonth());\n const [displayedYear, setDisplayedYear] = useState(new Date().getFullYear());\n\n // Create a grid of dates for the displayed month\n const daysInMonth = new Date(displayedYear, displayedMonth + 1, 0).getDate();\n const firstDayOfMonth = new Date(displayedYear, displayedMonth, 1).getDay();\n const days = Array.from(\n { length: daysInMonth },\n (_, i) => new Date(displayedYear, displayedMonth, i + 1)\n );\n const paddingDays = Array.from({ length: firstDayOfMonth }, (_, _i) => null);\n const hasSelection = dateRange.from || dateRange.to;\n\n const MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ];\n\n const DAY_HEADERS = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n\n // Format date to readable string\n const formatDate = (date: Date): string => {\n return date.toLocaleDateString('en-US', {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n });\n };\n\n // Format range for display\n const formatRange = (range: DateRange): string => {\n if (!range.from && !range.to) return 'Select Date Range';\n if (!range.to) return `From ${formatDate(range.from!)}`;\n if (!range.from) return `Until ${formatDate(range.to)}`;\n return `${formatDate(range.from)} - ${formatDate(range.to)}`;\n };\n\n const isDateSelected = (day: Date, dateRange: DateRange): boolean => {\n const matchesFrom =\n dateRange.from &&\n day.getDate() === dateRange.from.getDate() &&\n day.getMonth() === dateRange.from.getMonth() &&\n day.getFullYear() === dateRange.from.getFullYear();\n\n const matchesTo =\n dateRange.to &&\n day.getDate() === dateRange.to.getDate() &&\n day.getMonth() === dateRange.to.getMonth() &&\n day.getFullYear() === dateRange.to.getFullYear();\n\n return !!matchesFrom || !!matchesTo;\n };\n\n const checkIsToday = (day: Date): boolean => {\n const today = new Date();\n return (\n day.getDate() === today.getDate() &&\n day.getMonth() === today.getMonth() &&\n day.getFullYear() === today.getFullYear()\n );\n };\n\n const goToPreviousMonth = () => {\n if (displayedMonth === 0) {\n setDisplayedMonth(11);\n setDisplayedYear(displayedYear - 1);\n } else {\n setDisplayedMonth(displayedMonth - 1);\n }\n };\n\n const goToNextMonth = () => {\n if (displayedMonth === 11) {\n setDisplayedMonth(0);\n setDisplayedYear(displayedYear + 1);\n } else {\n setDisplayedMonth(displayedMonth + 1);\n }\n };\n\n const isInRange = (date: Date) => {\n if (!dateRange.from || !dateRange.to) return false;\n return date >= dateRange.from && date <= dateRange.to;\n };\n\n const handleDateSelect = (selectedDate: Date) => {\n const startOfDay = (date: Date) => {\n const d = new Date(date);\n d.setHours(0, 0, 0, 0);\n return d;\n };\n\n const endOfDay = (date: Date) => {\n const d = new Date(date);\n d.setHours(23, 59, 59, 999);\n return d;\n };\n\n if (!selecting || !dateRange) {\n // Start new selection from 'from' date\n onSelect({ from: startOfDay(selectedDate), to: undefined });\n setSelecting('to');\n return;\n }\n\n if (selecting === 'to') {\n if (dateRange.from && selectedDate < dateRange.from) {\n // Swap if selected date is before 'from'\n onSelect({ from: startOfDay(selectedDate), to: endOfDay(dateRange.from) });\n } else {\n onSelect({ from: startOfDay(dateRange.from!), to: endOfDay(selectedDate) });\n }\n setSelecting(null);\n }\n };\n\n const clearSelection = () => {\n onSelect({ from: undefined, to: undefined });\n setSelecting(null);\n };\n\n const handleClearClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n clearSelection();\n };\n\n return (\n <Popover>\n <div className={styles['popover-header']}>\n <PopoverTrigger asChild>\n <Button\n variant=\"tertiary\"\n prefix={<CalendarDaysIcon />}\n suffix={\n hasSelection && (\n <IconButton\n name=\"X\"\n size=\"sm\"\n onClick={handleClearClick}\n label=\"Clear dates\"\n ></IconButton>\n )\n }\n className={cn(dateRange.from && dateRange.to && styles, className)}\n >\n <span className={styles['date-range']}>{formatRange(dateRange)}</span>\n </Button>\n </PopoverTrigger>\n </div>\n <PopoverContent className={styles['popover-content']} align=\"end\">\n {/* Header with month navigation */}\n <div className={styles['month-navigation']}>\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n className={styles['month-navigation-btn']}\n onClick={goToPreviousMonth}\n >\n <ChevronLeftIcon />\n </Button>\n\n <div className={styles['month-date-display']}>\n <div className={styles['month-date-display-title']}>\n {`${MONTHS[displayedMonth]} ${displayedYear}`}\n </div>\n {selecting && (\n <div className={styles['month-date-display-subtitle']}>\n {selecting === 'from' ? 'Select start date' : 'Select end date'}\n </div>\n )}\n </div>\n\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n className={styles['month-navigation-btn']}\n onClick={goToNextMonth}\n >\n <ChevronRightIcon />\n </Button>\n </div>\n\n {/* Day headers */}\n <div className={styles['day-headers']}>\n {DAY_HEADERS.map((day) => (\n <div key={day} className={styles['day-headers-inner']}>\n {day}\n </div>\n ))}\n </div>\n\n {/* Calendar grid */}\n <div className={styles['calendar-grid']}>\n {paddingDays.map((_, index) => (\n <div key={`padding-${index}`} />\n ))}\n {days.map((day, index) => {\n const isSelected = isDateSelected(day, dateRange);\n const isToday = checkIsToday(day);\n const inRange = isInRange(day);\n\n return (\n <Button\n key={index}\n variant=\"tertiary\"\n className={cn(\n styles['calendar-day-btn'],\n isSelected && styles['calendar-day-btn--selected'],\n isToday && !isSelected && styles['calendar-day-btn--today'],\n inRange && !isSelected && styles['calendar-day-btn--in-range']\n )}\n onClick={() => handleDateSelect(day)}\n >\n {day.getDate()}\n </Button>\n );\n })}\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n\nexport { DateRangePicker };\n","import { useEffect, useRef, useState } from 'react';\nimport Truncate from 'react-truncate-inside';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Check, TriangleAlert } from 'lucide-react';\n\nimport { CopyButton } from '@/components/copy-button/copy-button';\nimport styles from '@/components/display-field/display-field.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nconst displayFieldVariants = cva('', {\n variants: {\n variant: {\n neutral: styles['display-field--neutral'],\n neutralCheck: styles['display-field--neutral'],\n success: styles['display-field--success'],\n failure: styles['display-field--failure'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n },\n});\n\nconst displayFieldElevationVariants = generateElevationVariants(\n styles,\n 'display-field',\n ELEVATION.BASE\n);\n\nexport interface DisplayFieldProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, 'slot'>,\n VariantProps<typeof displayFieldVariants> {\n variant?: 'neutral' | 'success' | 'neutralCheck' | 'failure';\n prefix?: string;\n truncate?: true | false | 'middle';\n copy?: boolean;\n actions?: React.ReactNode;\n slot?: React.ReactNode;\n elevation?: string;\n}\n\nfunction DisplayField({\n className,\n variant,\n elevation = ELEVATION.BASE,\n children,\n prefix,\n truncate = false,\n copy = true,\n actions,\n slot,\n ...props\n}: DisplayFieldProps) {\n const middleTruncationContainerRef = useRef<HTMLDivElement>(null);\n const [middleTruncationWidth, setMiddleTruncationWidth] = useState<number | undefined>(undefined);\n\n const getIcon = () => {\n if (variant === 'success' || variant === 'neutralCheck') {\n return <Check className={styles['icon-width']} />;\n }\n if (variant === 'failure') {\n return <TriangleAlert className={styles['icon-width']} />;\n }\n return null;\n };\n\n const renderContent = () => {\n if (truncate === 'middle' && typeof children === 'string') {\n return (\n <div ref={middleTruncationContainerRef}>\n <Truncate text={children} offset={8} ellipsis=\"…\" width={middleTruncationWidth} />\n </div>\n );\n }\n return children;\n };\n\n const getTruncateClass = () => {\n if (truncate === 'middle') return styles['overflow-hidden'];\n if (truncate === true) return styles['truncate'];\n return styles['overflow-x-scroll'];\n };\n\n const getValueForCopy = () => {\n if (typeof children === 'string') {\n return children;\n }\n return '';\n };\n\n const showActions = copy || actions;\n\n useEffect(() => {\n // Calculate the width of the middle truncation\n const calcMiddleTruncationWidth = () => {\n const targetW = middleTruncationContainerRef.current?.getBoundingClientRect().width;\n setMiddleTruncationWidth(targetW);\n };\n\n const observer = new ResizeObserver((entries) => {\n if (entries.length > 0) {\n calcMiddleTruncationWidth();\n }\n });\n if (middleTruncationContainerRef.current) {\n observer.observe(middleTruncationContainerRef.current);\n }\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return (\n <div\n className={cn(\n styles['display-field'],\n displayFieldElevationVariants({ elevation }),\n className\n )}\n {...props}\n >\n <div className={styles['display-field-inner']}>\n {prefix && (\n <div className={cn(styles['prefix'], displayFieldVariants({ variant: variant }))}>\n {getIcon()}\n {prefix}\n </div>\n )}\n <span\n className={cn(styles['content'], getTruncateClass())}\n style={{ scrollbarWidth: 'thin' }}\n >\n {renderContent()}\n </span>\n {showActions && (\n <div className={styles['actions']}>\n {actions}\n {copy && <CopyButton value={getValueForCopy()} size=\"sm\" />}\n </div>\n )}\n </div>\n {slot && (\n <div className={styles['slot']}>\n <div className={styles['slot-inner']}>{slot}</div>\n </div>\n )}\n </div>\n );\n}\n\nexport { DisplayField };\n","import * as React from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nimport styles from '@/components/drawer/drawer.module.css';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root shouldScaleBackground={shouldScaleBackground} {...props} />\n);\nDrawer.displayName = 'Drawer';\n\nconst DrawerTrigger = DrawerPrimitive.Trigger;\n\nconst DrawerPortal = ({ children }: { children: React.ReactNode }) => (\n <DrawerPrimitive.Portal container={getThemeProviderRoot()}>{children}</DrawerPrimitive.Portal>\n);\n\nconst DrawerClose = DrawerPrimitive.Close;\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn(styles['drawer-overlay'], className)}\n {...props}\n />\n));\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(styles['drawer-content'], className)}\n {...props}\n >\n <div className={styles['drawer-content-divider']} />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n));\nDrawerContent.displayName = 'DrawerContent';\n\nconst DrawerHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['drawer-header'], className)} {...props} />\n);\nDrawerHeader.displayName = 'DrawerHeader';\n\nconst DrawerHeaderActions = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & { rowSpan: number }\n>(({ className, rowSpan, style, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(styles['drawer-header-actions'], className)}\n style={{ ...style, '--row-span': rowSpan } as React.CSSProperties}\n {...props}\n />\n );\n});\nDrawerHeaderActions.displayName = 'DrawerHeaderActions';\n\nconst DrawerFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['drawer-footer'], className)} {...props} />\n);\nDrawerFooter.displayName = 'DrawerFooter';\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title ref={ref} className={cn(styles['drawer-title'], className)} {...props} />\n));\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName;\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn(styles['drawer-description'], className)}\n {...props}\n />\n));\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName;\n\nconst DrawerInnerContent = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['drawer-inner-content'], className)} {...props} />\n);\nDrawerInnerContent.displayName = 'DrawerInnerContent';\n\nexport {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerFooter,\n DrawerHeader,\n DrawerHeaderActions,\n DrawerInnerContent,\n DrawerOverlay,\n DrawerPortal,\n DrawerTitle,\n DrawerTrigger,\n};\n","import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\n\nimport styles from '@/components/dropdown-menu/dropdown-menu.module.css';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst CheckIcon = Check as React.ComponentType<{ className?: string }>;\nconst ChevronRightIcon = ChevronRight as React.ComponentType<{ className?: string }>;\nconst CircleIcon = Circle as React.ComponentType<{ className?: string }>;\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = ({ children }: { children: React.ReactNode }) => (\n <DropdownMenuPrimitive.Portal container={getThemeProviderRoot()}>\n {children}\n </DropdownMenuPrimitive.Portal>\n);\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n styles['dropdown-menu-trigger'],\n inset && styles['dropdown-menu-inset'],\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(styles['dropdown-menu-sub-content'], className)}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPortal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(styles['dropdown-menu-content'], className)}\n {...props}\n />\n </DropdownMenuPortal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(styles['dropdown-menu-item'], inset && styles['dropdown-menu-inset'], className)}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(styles['dropdown-menu-checkbox-item'], className)}\n checked={checked}\n {...props}\n >\n <span className={styles['dropdown-menu-item-indicator-checkbox']}>\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className={styles['icon-size']} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(styles['dropdown-menu-radio-item'], className)}\n {...props}\n >\n <span className={styles['dropdown-menu-item-indicator-radio']}>\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className={styles['radio-icon']} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(styles['dropdown-menu-label'], inset && styles['dropdown-menu-inset'], className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(styles['dropdown-menu-separator'], className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn(styles['dropdown-menu-shortcut'], className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n","import { Button } from '@/components/button/button';\nimport styles from '@/components/empty-table-state/empty-table-state.module.css';\nimport { Icon } from '@/components/icon/icon';\nimport { cn } from '@/lib/utils';\n\ninterface EmptyTableStateProps {\n icon: React.ReactElement | string;\n title: string;\n description?: string;\n showClearButton?: boolean;\n onClear?: () => void;\n className?: string;\n}\n\nconst EmptyTableState = ({\n icon,\n title,\n description,\n showClearButton = false,\n onClear,\n className,\n}: EmptyTableStateProps) => {\n const showButton = showClearButton && onClear;\n\n return (\n <div className={cn(styles['empty-table-state'], className)}>\n <div className={styles['icon-and-title-container']}>\n <Icon icon={icon} size=\"md\" background=\"circle\" />\n <span className={styles['title']}>{title}</span>\n </div>\n\n {description && <span className={styles['description']}>{description}</span>}\n\n {showButton && (\n <Button variant=\"tertiary\" size=\"sm\" onClick={onClear} className={styles['clear-button']}>\n Clear Filters\n </Button>\n )}\n </div>\n );\n};\n\nexport { EmptyTableState };\n","import * as React from 'react';\nimport { ChevronDown } from 'lucide-react';\n\nimport { Badge } from '@/components/badge/badge';\nimport { Button } from '@/components/button/button';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/dropdown-menu/dropdown-menu';\nimport styles from '@/components/filter-dropdown/filter-dropdown.module.css';\nimport { cn } from '@/lib/utils';\n\nconst ChevronDownIcon = ChevronDown as React.ComponentType<{ className?: string }>;\n\ninterface FilterOption {\n value: string;\n label: string;\n}\n\ninterface FilterDropdownProps {\n label: string;\n options: FilterOption[];\n selectedFilters: string[];\n onToggleFilter: (value: string) => void;\n onClearAll: () => void;\n buttonClassName?: string;\n contentClassName?: string;\n}\n\nconst FilterDropdown = ({\n label,\n options,\n selectedFilters,\n onToggleFilter,\n onClearAll,\n buttonClassName,\n contentClassName,\n}: FilterDropdownProps) => {\n const hasSelectedFilters = selectedFilters.length > 0;\n const filteredOptions = options\n .filter(\n (option) =>\n option.value && option.value.trim() !== '' && option.label && option.label.trim() !== ''\n )\n .sort((a, b) => a.label.localeCompare(b.label));\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" className={cn(styles['selector-button'], buttonClassName)}>\n <span className={styles['selector-button-content']}>\n {label}\n {hasSelectedFilters && <Badge variant=\"primary\">{selectedFilters.length}</Badge>}\n </span>\n <ChevronDownIcon className={styles['chevron-icon']} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n className={cn(styles['dropdown-menu-content'], contentClassName)}\n >\n <DropdownMenuLabel>\n Filters\n {hasSelectedFilters && (\n <Button variant=\"link\" size=\"sm\" onClick={onClearAll}>\n Clear all\n </Button>\n )}\n </DropdownMenuLabel>\n <DropdownMenuSeparator />\n {filteredOptions.map((option) => {\n const isSelected = selectedFilters.includes(option.value);\n\n return (\n <DropdownMenuCheckboxItem\n key={option.value}\n checked={isSelected}\n onCheckedChange={() => onToggleFilter(option.value)}\n onSelect={(e) => e.preventDefault()}\n >\n {option.label}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nexport { FilterDropdown };\n","import * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/label/label.module.css';\nimport { cn } from '@/lib/utils';\n\nconst labelVariants = cva(styles['label']);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import * as React from 'react';\nimport {\n Controller,\n FormProvider,\n useFormContext,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from 'react-hook-form';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\n\nimport styles from '@/components/form/form.module.css';\nimport { Label } from '@/components/label/label';\nimport { cn } from '@/lib/utils';\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(styles['form-item'], className)} {...props} />\n </FormItemContext.Provider>\n );\n }\n);\nFormItem.displayName = 'FormItem';\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n ref={ref}\n className={cn(styles['form-label'], error && styles['form-label--failure'], className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\nFormLabel.displayName = 'FormLabel';\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n );\n});\nFormControl.displayName = 'FormControl';\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(styles['form-description'], className)}\n {...props}\n />\n );\n});\nFormDescription.displayName = 'FormDescription';\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p ref={ref} id={formMessageId} className={cn(styles['form-message'], className)} {...props}>\n {body}\n </p>\n );\n});\nFormMessage.displayName = 'FormMessage';\n\nexport { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage };\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { useFormField };\n","import * as React from 'react';\n\nimport { Card, CardContent } from '@/components/card/card';\nimport { Icon } from '@/components/icon/icon';\nimport styles from '@/components/info-card/info-card.module.css';\nimport { Elevation, ELEVATION, getRelativeElevation } from '@/lib/elevations';\n\ninterface InfoCardProps {\n label: string;\n description: string | number | React.ReactNode;\n icon: React.ReactElement | string;\n className?: string;\n onClick?: () => void;\n elevation?: Elevation;\n}\n\nconst InfoCard = ({\n label,\n description,\n icon,\n elevation = ELEVATION.RAISED,\n className,\n onClick,\n ...props\n}: InfoCardProps) => {\n return (\n <Card className={className} onClick={onClick} elevation={elevation} {...props}>\n <CardContent>\n <div className={styles['info-card-content']}>\n <Icon\n icon={icon}\n size=\"sm\"\n background=\"square\"\n elevation={\n elevation === ELEVATION.SUNKEN ? ELEVATION.BASE : getRelativeElevation(elevation, -1)\n }\n />\n <div className={styles['copy-container']}>\n <p className={styles['label']}>{label}</p>\n <div className={styles['description']}>{description}</div>\n </div>\n </div>\n </CardContent>\n </Card>\n );\n};\n\nexport { InfoCard };\n","import * as React from 'react';\n\nimport styles from '@/components/input/input.module.css';\nimport { cn } from '@/lib/utils';\n\nexport type InputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'suffix'> & {\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n};\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, prefix, suffix, ...props }, ref) => {\n return (\n <div className={cn(styles['input-wrapper'], className)}>\n {prefix && <span className={styles['input-prefix']}>{prefix}</span>}\n <input type={type} className={styles['input-element']} ref={ref} {...props} />\n {suffix && <span className={styles['input-suffix']}>{suffix}</span>}\n </div>\n );\n }\n);\nInput.displayName = 'Input';\n\nexport { Input };\n","import { Grid3X3, List } from 'lucide-react';\n\nimport styles from '@/components/list-or-grid-view-toggle/list-or-grid-view-toggle.module.css';\nimport { cn } from '@/lib/utils';\n\nexport type ViewMode = 'grid' | 'list';\nexport type ViewOrder = ['grid', 'list'] | ['list', 'grid'];\n\ninterface ListOrGridViewToggleProps {\n viewMode: ViewMode;\n onViewModeChange: (mode: ViewMode) => void;\n order?: ViewOrder;\n className?: string;\n}\n\nconst ListOrGridViewToggle = ({\n viewMode,\n onViewModeChange,\n order = ['grid', 'list'],\n className,\n}: ListOrGridViewToggleProps) => {\n const currentActiveIndex = order.indexOf(viewMode);\n\n const handleGridClick = () => {\n onViewModeChange('grid');\n };\n\n const handleListClick = () => {\n onViewModeChange('list');\n };\n\n return (\n <div className={cn(styles['list-or-grid-view-toggle'], className)}>\n {order.map((mode) => {\n const currentlyActive = mode === viewMode;\n const Icon = mode === 'grid' ? Grid3X3 : List;\n return (\n <button\n key={mode}\n type=\"button\"\n aria-label={mode === 'grid' ? 'Grid view' : 'List view'}\n className={cn(\n styles['icon-button'],\n currentlyActive ? styles['icon-button--active'] : styles['icon-button--inactive']\n )}\n onClick={mode === 'grid' ? handleGridClick : handleListClick}\n >\n <Icon size={16} />\n </button>\n );\n })}\n <div\n className={styles['active-button-indicator']}\n style={{\n transform: `translateX(${currentActiveIndex * 100}%)`,\n width: `${100 / order.length}%`,\n }}\n ></div>\n </div>\n );\n};\n\nexport { ListOrGridViewToggle };\n","import styles from '@/components/spinner/spinner.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface SpinnerProps {\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n variant?: 'neutral' | 'primary' | 'success' | 'danger' | 'warning';\n}\n\nexport const Spinner = ({ size = 'md', variant = 'neutral' }: SpinnerProps) => {\n return (\n <div className={styles['spinner-container']}>\n <div className={cn(styles['spinner'], styles[size], styles[variant])} />\n <div className={cn(styles['spinner-background'], styles[size])} />\n </div>\n );\n};\n","import styles from '@/components/loading-overlay/loading-overlay.module.css';\nimport { Spinner } from '@/components/spinner/spinner';\n\ninterface LoadingOverlayProps {\n isVisible: boolean;\n message?: string;\n}\n\nfunction LoadingOverlay({ isVisible, message = 'Loading...' }: LoadingOverlayProps) {\n if (!isVisible) return null;\n\n return (\n <div className={styles['loading-overlay']}>\n <div className={styles['content']}>\n <Spinner variant=\"primary\" />\n <p className={styles['message']}>{message}</p>\n </div>\n </div>\n );\n}\n\nexport { LoadingOverlay };\n","import { VariantProps } from 'class-variance-authority';\n\nimport { Icon } from '@/components/icon/icon';\nimport styles from '@/components/metric-card/metric-card.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nconst metricCardElevationVariants = generateElevationVariants(\n styles,\n 'metric-card',\n ELEVATION.RAISED\n);\n\ntype Variant = 'default' | 'primary' | 'danger' | 'success' | 'warning';\n\ninterface MetricCardProps extends VariantProps<typeof metricCardElevationVariants> {\n value: string | number;\n label: string;\n icon: React.ReactElement | string;\n variant?: Variant;\n className?: string;\n}\n\nconst VARIANTS: Record<Variant, { text: string; iconBg: string }> = {\n default: {\n text: styles['text-default'],\n iconBg: styles['bg-default'],\n },\n primary: {\n text: styles['text-primary'],\n iconBg: styles['bg-primary'],\n },\n danger: {\n text: styles['text-danger'],\n iconBg: styles['bg-danger'],\n },\n success: {\n text: styles['text-success'],\n iconBg: styles['bg-success'],\n },\n warning: {\n text: styles['text-warning'],\n iconBg: styles['bg-warning'],\n },\n};\n\nconst MetricCard = ({\n value,\n label,\n icon,\n variant = 'default',\n elevation = ELEVATION.RAISED,\n className,\n}: MetricCardProps) => {\n const variantStyles = VARIANTS[variant];\n\n return (\n <div className={cn(metricCardElevationVariants({ elevation }), className)}>\n <div className={styles['value-container']}>\n <p className={cn(styles.value)}>{value}</p>\n {/* TODO: these status based icon styles are incompatible with the elevation system. Refactor them into the icon component as variants and make icon a slot instead of a hardcoded element with a property in metric card (this component) */}\n <Icon\n icon={icon}\n size=\"md\"\n background=\"circle\"\n className={cn(variantStyles.iconBg, variantStyles.text)}\n />\n </div>\n <p className={styles.label}>{label}</p>\n </div>\n );\n};\n\nexport { MetricCard };\n","import { ReactNode, useEffect, useRef, useState } from 'react';\nimport { AnimatePresence, motion } from 'motion/react';\n\nimport styles from '@/components/motion-collapsible/motion-collapsible.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface MotionCollapsibleContentProps {\n isOpen: boolean;\n children: ReactNode;\n className?: string;\n}\n\nconst MotionCollapsibleContent = ({\n isOpen,\n children,\n className,\n}: MotionCollapsibleContentProps) => {\n const [contentHeight, setContentHeight] = useState<number>(0);\n\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (contentRef.current) {\n const resizeObserver = new ResizeObserver(() => {\n if (contentRef.current) {\n setContentHeight(contentRef.current.scrollHeight);\n }\n });\n\n resizeObserver.observe(contentRef.current);\n setContentHeight(contentRef.current.scrollHeight);\n\n return () => resizeObserver.disconnect();\n }\n }, [children]);\n\n return (\n <AnimatePresence initial={false} mode=\"wait\">\n {isOpen && (\n <motion.div\n key=\"motion-content\"\n initial={{ height: 0, opacity: 0 }}\n animate={{ height: contentHeight, opacity: 1 }}\n exit={{ height: 0, opacity: 0 }}\n transition={{ duration: 0.3, ease: 'easeInOut' }}\n className={cn(styles['motion-collapsible'], className)}\n >\n <div ref={contentRef}>{children}</div>\n </motion.div>\n )}\n </AnimatePresence>\n );\n};\n\nexport { MotionCollapsibleContent };\n","import * as React from 'react';\nimport { AlertOctagon, Home } from 'lucide-react';\n\nimport { Button } from '@/components/button/button';\nimport styles from '@/components/page-not-found/page-not-found.module.css';\nimport { cn } from '@/lib/utils';\n\nconst OctagonAlert = AlertOctagon as React.ComponentType<{ className?: string }>;\nconst HomeIcon = Home as React.ComponentType<{ className?: string }>;\n\ninterface NotFoundProps {\n className?: string;\n title?: string;\n description?: string;\n showHomeButton?: boolean;\n onHomeClick?: () => void;\n}\n\nconst NotFound = ({\n className,\n title = 'Oops! Page Not Found',\n description = \"The page or resource you're looking for doesn't exist or has been moved.\",\n showHomeButton = true,\n onHomeClick = () => (window.location.href = '/'),\n}: NotFoundProps) => {\n return (\n <div className={cn(styles['page-not-found'], className)}>\n <div className={styles['page-not-found-inner']}>\n {/* Icon */}\n <div className={styles['icon-container']}>\n <OctagonAlert className={styles['alert-icon']} />\n </div>\n\n {/* Title */}\n <h1 className={styles['title']}>{title}</h1>\n\n {/* Description */}\n <p className={styles['description']}>{description}</p>\n\n {/* Actions */}\n <div className={styles['actions']}>\n {showHomeButton && (\n <Button onClick={onHomeClick} variant=\"secondary\">\n <HomeIcon className={styles['home-icon']} />\n Return Home\n </Button>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport { NotFound };\n","import * as React from 'react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { VariantProps } from 'class-variance-authority';\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\n\nimport styles from '@/components/select/select.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst CheckIcon = Check as React.ComponentType<{ className?: string }>;\nconst ChevronDownIcon = ChevronDown as React.ComponentType<{ className?: string }>;\nconst ChevronUpIcon = ChevronUp as React.ComponentType<{ className?: string }>;\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger ref={ref} className={cn(styles['select-trigger'], className)} {...props}>\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className={cn(styles['select-icon'], styles['select-icon--low-opacity'])} />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(styles['select-scroll-button'], className)}\n {...props}\n >\n <ChevronUpIcon className={styles['select-icon']} />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(styles['select-scroll-button'], className)}\n {...props}\n >\n <ChevronDownIcon className={styles['select-icon']} />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectPortal = ({ children }: { children: React.ReactNode }) => (\n <SelectPrimitive.Portal container={getThemeProviderRoot()}>{children}</SelectPrimitive.Portal>\n);\n\nconst selectContentElevationVariants = generateElevationVariants(\n styles,\n 'select-content',\n ELEVATION.OVERLAY\n);\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> &\n VariantProps<typeof selectContentElevationVariants>\n>(({ className, children, position = 'popper', elevation = ELEVATION.OVERLAY, ...props }, ref) => (\n <SelectPortal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n styles['select-content'],\n position === 'popper' && styles['select-content--popper'],\n selectContentElevationVariants({ elevation }),\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n styles['select-viewport'],\n position === 'popper' && styles['select-viewport--popper']\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPortal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label ref={ref} className={cn(styles['select-label'], className)} {...props} />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item ref={ref} className={cn(styles['select-item'], className)} {...props}>\n <span className={styles['select-item-indicator']}>\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className={styles['select-icon']} />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(styles['select-separator'], className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n","import * as React from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\n\nimport { Button } from '@/components/button/button';\nimport styles from '@/components/pagination/pagination.module.css';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@/components/select/select';\nimport { cn } from '@/lib/utils';\n\nconst ChevronLeftIcon = ChevronLeft as React.ComponentType<{ className?: string }>;\nconst ChevronRightIcon = ChevronRight as React.ComponentType<{ className?: string }>;\n\ninterface PaginationProps {\n currentPage: number;\n totalItems: number;\n filteredItems: number;\n itemsPerPage: number;\n onPageChange: (page: number) => void;\n onItemsPerPageChange?: (itemsPerPage: number) => void;\n itemsPerPageOptions?: number[];\n showInfo?: boolean;\n maxVisiblePages?: number;\n className?: string;\n type?: string;\n scrollTargetRef?: React.RefObject<HTMLElement | null> | string;\n}\n\nconst Pagination = ({\n currentPage,\n totalItems,\n filteredItems,\n itemsPerPage,\n onPageChange,\n onItemsPerPageChange,\n itemsPerPageOptions = [10, 25, 50, 100],\n showInfo = true,\n maxVisiblePages = 5,\n className = '',\n type = '',\n scrollTargetRef,\n}: PaginationProps) => {\n const totalPages = Math.ceil(filteredItems / itemsPerPage);\n const startItem = Math.min(filteredItems, 1 + (currentPage - 1) * itemsPerPage);\n const endItem = Math.min(currentPage * itemsPerPage, filteredItems);\n const hasFilteredItems = filteredItems > 0;\n const isFirstPage = currentPage === 1;\n const isLastPage = currentPage === totalPages;\n\n // Don't render if there's only one page or no items\n if (totalItems <= itemsPerPageOptions[0]) {\n return null;\n }\n\n const handlePageChange = (page: number) => {\n onPageChange(page);\n\n // Scroll to target element if provided\n if (scrollTargetRef) {\n if (typeof scrollTargetRef === 'string') {\n // Handle string case - treat as element ID\n const target = document.getElementById(scrollTargetRef);\n if (target) {\n target.scrollIntoView({ behavior: 'smooth' });\n }\n } else {\n // Handle ref case\n if (scrollTargetRef.current) {\n scrollTargetRef.current.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n const viewport = document.querySelector('[data-radix-scroll-area-viewport]');\n if (viewport) {\n viewport.scrollTop = 0;\n }\n }\n };\n\n const handleItemsPerPageChange = (value: string) => {\n const newItemsPerPage = parseInt(value);\n onItemsPerPageChange?.(newItemsPerPage);\n // Reset to page 1 when changing items per page\n onPageChange(1);\n };\n\n const handlePreviousPage = () => {\n handlePageChange(Math.max(1, currentPage - 1));\n };\n\n const handleNextPage = () => {\n handlePageChange(Math.min(totalPages, currentPage + 1));\n };\n\n // Calculate which page numbers to show\n const getVisiblePages = () => {\n const pageButtons = [];\n let startPage = 1;\n let endPage = totalPages;\n\n if (totalPages > maxVisiblePages) {\n const halfVisible = Math.floor(maxVisiblePages / 2);\n\n if (currentPage <= halfVisible + 1) {\n // Show first pages\n endPage = maxVisiblePages;\n } else if (currentPage >= totalPages - halfVisible) {\n // Show last pages\n startPage = totalPages - maxVisiblePages + 1;\n } else {\n // Show pages centered around current page\n startPage = currentPage - halfVisible;\n endPage = currentPage + halfVisible;\n }\n }\n\n for (let i = startPage; i <= endPage; i++) {\n pageButtons.push(\n <Button\n key={i}\n variant={currentPage === i ? 'primary' : 'tertiary'}\n size=\"sm\"\n onClick={() => handlePageChange(i)}\n >\n {i}\n </Button>\n );\n }\n\n return pageButtons;\n };\n\n return (\n <div className={cn(styles['pagination'], className)}>\n {/* Left side: Info text with inline dropdown */}\n <div className={styles['info-container']}>\n {showInfo && hasFilteredItems && (\n <>\n <span>Showing {startItem} to</span>\n {onItemsPerPageChange ? (\n <Select value={itemsPerPage.toString()} onValueChange={handleItemsPerPageChange}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {itemsPerPageOptions.map((option) => (\n <SelectItem key={option} value={option.toString()}>\n {option}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n ) : (\n <span>{endItem}</span>\n )}\n <span>\n of {filteredItems} {type}\n </span>\n </>\n )}\n </div>\n\n {/* Right side: Page navigation */}\n <div className={styles['page-navigation-container']}>\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n onClick={handlePreviousPage}\n disabled={isFirstPage}\n aria-label=\"Previous page\"\n >\n <ChevronLeftIcon />\n </Button>\n\n {getVisiblePages()}\n\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n onClick={handleNextPage}\n disabled={isLastPage}\n aria-label=\"Next page\"\n >\n <ChevronRightIcon />\n </Button>\n </div>\n </div>\n );\n};\n\nexport { Pagination };\n","import styles from '@/components/panel-label/panel-label.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface PanelLabelProps {\n className?: string;\n label: string;\n}\n\nconst PanelLabel = ({ className, label }: PanelLabelProps) => {\n return <div className={cn(styles['panel-label'], className)}>{label}</div>;\n};\n\nexport { PanelLabel };\n","import * as React from 'react';\nimport * as ProgressPrimitive from '@radix-ui/react-progress';\n\nimport styles from '@/components/progress/progress.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface ProgressProps extends React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root> {\n color?: 'primary' | 'secondary' | 'green' | 'red' | 'yellow';\n}\n\nconst Progress = React.forwardRef<React.ElementRef<typeof ProgressPrimitive.Root>, ProgressProps>(\n ({ className, value, color = 'primary', ...props }, ref) => (\n <ProgressPrimitive.Root ref={ref} className={cn(styles['progress'], className)} {...props}>\n <ProgressPrimitive.Indicator\n className={cn(styles['progress-indicator'], styles[color])}\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n )\n);\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n","import { forwardRef } from 'react';\n\nimport styles from '@/components/radial-graph/radial-graph.module.css';\nimport { cn } from '@/lib/utils';\n\nexport interface RadialGraphProps {\n percentage: number;\n displayLabel?: string;\n className?: string;\n subLabel?: string;\n graphSize?: 'sm' | 'md' | 'lg';\n variant?: 'primary' | 'success' | 'danger' | 'warning';\n}\n\nconst RadialGraph = forwardRef<HTMLDivElement, RadialGraphProps>(\n (\n {\n percentage,\n displayLabel,\n className,\n subLabel,\n graphSize = 'md',\n variant = 'primary',\n ...props\n },\n ref\n ) => {\n const bars = Array.from({ length: 100 });\n const label = displayLabel ?? `${Math.round(percentage)}%`;\n\n return (\n <div\n ref={ref}\n className={cn(styles['radial-graph'], styles[graphSize], className)}\n {...props}\n >\n <div className={styles['bars-container']}>\n {bars.map((_, i) => {\n const isActive = i < percentage;\n const delay = `${i * 10}ms`;\n\n return (\n <div\n key={i}\n className={styles['bar']}\n style={{\n transform: `rotate(${i * 3.6}deg)`,\n }}\n >\n <div\n className={cn(\n styles['bar-inner'],\n isActive ? styles['bar-inner--active'] : styles['bar-inner--inactive']\n )}\n style={{\n transitionDelay: delay,\n animationDelay: delay,\n }}\n >\n <div className={styles['bar-background']} />\n <div\n className={cn(\n styles['bar-gradient'],\n styles[`bar-gradient--${variant}`],\n isActive ? styles['bar-gradient--active'] : styles['bar-gradient--inactive']\n )}\n style={{\n transitionDelay: delay,\n animationDelay: delay,\n }}\n />\n </div>\n </div>\n );\n })}\n </div>\n <div className={styles['label-container']}>\n <p className={cn(styles['label'], styles[graphSize])}>{label}</p>\n {subLabel && <p className={styles['sub-label']}>{subLabel}</p>}\n </div>\n </div>\n );\n }\n);\nRadialGraph.displayName = 'RadialGraph';\n\nexport { RadialGraph };\n","import * as React from 'react';\nimport { ChevronDown } from 'lucide-react';\n\nimport { Badge } from '@/components/badge/badge';\nimport { Button } from '@/components/button/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/dropdown-menu/dropdown-menu';\nimport styles from '@/components/radio-dropdown/radio-dropdown.module.css';\n\nconst ChevronDownIcon = ChevronDown as React.ComponentType<{ className?: string }>;\n\ninterface FilterOption {\n value: string;\n label: string;\n count?: number;\n}\n\ninterface RadioDropdownProps {\n label: string;\n options: FilterOption[];\n selectedValue: string;\n onSelect: (value: string) => void;\n className?: string;\n}\n\nconst RadioDropdown = ({\n label,\n options,\n selectedValue,\n onSelect,\n className,\n}: RadioDropdownProps) => {\n const selectedOption = options.find((opt) => opt.value === selectedValue);\n const hasSelectedCount = selectedOption?.count !== undefined;\n\n const filteredOptions = options.filter(\n (option) =>\n option.value && option.value.trim() !== '' && option.label && option.label.trim() !== ''\n );\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" className={className}>\n <span className={styles['selector-button-inner']}>\n {selectedOption?.label || label}\n {hasSelectedCount && <Badge variant=\"primary\">{selectedOption.count}</Badge>}\n </span>\n <ChevronDownIcon className={styles['chevron-icon']} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className={styles['dropdown-menu-content']}>\n <DropdownMenuLabel>{label}</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuRadioGroup value={selectedValue} onValueChange={onSelect}>\n {filteredOptions.map((option) => {\n const hasCount = option.count !== undefined;\n\n return (\n <DropdownMenuRadioItem key={option.value} value={option.value}>\n {option.label}\n {hasCount && ` (${option.count})`}\n </DropdownMenuRadioItem>\n );\n })}\n </DropdownMenuRadioGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nexport { RadioDropdown };\n","import * as React from 'react';\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { Circle } from 'lucide-react';\n\nimport styles from '@/components/radio-group/radio-group.module.css';\nimport { cn } from '@/lib/utils';\n\nconst CircleIcon = Circle as React.ComponentType<{ className?: string }>;\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(styles['radio-group'], className)}\n {...props}\n ref={ref}\n />\n );\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(styles['radio-group-item'], className)}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className={styles['radio-group-item-indicator']}>\n <CircleIcon className={styles['indicator-icon']} />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n","import * as React from 'react';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\n\nimport styles from '@/components/scroll-area/scroll-area.module.css';\nimport { cn } from '@/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root ref={ref} className={cn(styles['scroll-area'], className)} {...props}>\n <ScrollAreaPrimitive.Viewport className={styles['scroll-area-viewport']}>\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n styles['scroll-bar'],\n orientation === 'vertical' && styles['scroll-bar--vertical'],\n orientation === 'horizontal' && styles['scroll-bar--horizontal'],\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className={styles['scroll-area-thumb']} />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import * as React from 'react';\nimport { Search } from 'lucide-react';\n\nimport { IconButton } from '@/components/icon-button/icon-button';\nimport { Input } from '@/components/input/input';\nimport styles from '@/components/search-bar/search-bar.module.css';\nimport { cn } from '@/lib/utils';\n\nconst SearchIcon = Search as React.ComponentType<{ className?: string }>;\n\ninterface SearchBarProps {\n className?: string;\n placeholder?: string;\n searchQuery: string;\n setSearchQuery: (query: string) => void;\n}\n\nconst SearchBar = ({\n searchQuery,\n setSearchQuery,\n placeholder = 'Search...',\n className,\n}: SearchBarProps) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchQuery(e.target.value);\n };\n\n const handleClear = () => {\n setSearchQuery('');\n };\n\n return (\n <search className={cn(styles['search-bar'], className)}>\n <Input\n placeholder={placeholder}\n value={searchQuery}\n onChange={handleChange}\n className={styles['input']}\n prefix={<SearchIcon className={styles['search-icon']} />}\n suffix={\n searchQuery && (\n <IconButton\n name=\"XIcon\"\n onClick={handleClear}\n className={styles['clear-button']}\n label=\"Clear search\"\n ></IconButton>\n )\n }\n />\n </search>\n );\n};\n\nexport { SearchBar };\n","import styles from '@/components/section-heading/section-heading.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface SectionHeadingProps {\n className?: string;\n heading: string;\n description?: string;\n renderRightContent?: () => React.ReactNode;\n}\n\nconst SectionHeading = ({\n heading,\n description,\n renderRightContent,\n className,\n}: SectionHeadingProps) => {\n const hasRightContent = !!renderRightContent;\n\n return (\n <div className={cn(hasRightContent && styles['section-heading--right-content'], className)}>\n <div className={styles['content']}>\n <h3 className={styles['heading']}>{heading}</h3>\n {description && <p className={styles['description']}>{description}</p>}\n </div>\n {hasRightContent && renderRightContent()}\n </div>\n );\n};\n\nexport { SectionHeading };\n","import * as React from 'react';\nimport * as SeparatorPrimitive from '@radix-ui/react-separator';\n\nimport styles from '@/components/separator/separator.module.css';\nimport { cn } from '@/lib/utils';\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n styles['separator'],\n orientation === 'horizontal'\n ? styles['separator--horizontal']\n : styles['separator--vertical'],\n className\n )}\n {...props}\n />\n));\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\n\nexport { Separator };\n","import * as React from 'react';\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { IconButton } from '@/components/icon-button/icon-button';\nimport styles from '@/components/sheet/sheet.module.css';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = ({ children }: { children: React.ReactNode }) => (\n <SheetPrimitive.Portal container={getThemeProviderRoot()}>{children}</SheetPrimitive.Portal>\n);\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay className={cn(styles['sheet-overlay'], className)} {...props} ref={ref} />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(styles['sheet-content'], {\n variants: {\n side: {\n top: styles['sheet-content--side-top'],\n bottom: styles['sheet-content--side-bottom'],\n left: styles['sheet-content--side-left'],\n right: styles['sheet-content--side-right'],\n },\n },\n defaultVariants: {\n side: 'right',\n },\n});\n\ninterface SheetContainerProps\n extends\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {}\n\nconst SheetContainer = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContainerProps\n>(({ side = 'right', className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content ref={ref} className={cn(sheetVariants({ side }), className)} {...props}>\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n));\nSheetContainer.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeaderIcon = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['sheet-header-icon'], className)} {...props} />\n);\nSheetHeaderIcon.displayName = 'SheetHeaderIcon';\n\nconst SheetHeader = ({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const childrenArray = React.Children.toArray(children);\n const icon = childrenArray.find(\n (child) => React.isValidElement(child) && child.type === SheetHeaderIcon\n );\n const otherChildren = childrenArray.filter(\n (child) => !(React.isValidElement(child) && child.type === SheetHeaderIcon)\n );\n\n return (\n <div className={cn(styles['sheet-header'], className)} {...props}>\n {icon}\n <div className={styles['sheet-header-text-content']}>{otherChildren}</div>\n <SheetPrimitive.Close asChild>\n <IconButton name=\"X\" label=\"Close\" className={styles['sheet-close']} />\n </SheetPrimitive.Close>\n </div>\n );\n};\nSheetHeader.displayName = 'SheetHeader';\n\nconst SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['sheet-footer'], className)} {...props} />\n);\nSheetFooter.displayName = 'SheetFooter';\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title ref={ref} className={cn(styles['sheet-title'], className)} {...props} />\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn(styles['sheet-description'], className)}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nconst SheetContent = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['sheet-body'], 'styled-vertical-scrollbar', className)} {...props} />\n);\nSheetContent.displayName = 'SheetContent';\n\nexport {\n Sheet,\n SheetClose,\n SheetContainer,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetHeaderIcon,\n SheetOverlay,\n SheetPortal,\n SheetTitle,\n SheetTrigger,\n};\n","import styles from '@/components/skeleton/skeleton.module.css';\nimport { cn } from '@/lib/utils';\n\nfunction Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(styles['skeleton'], className)} {...props} />;\n}\n\nexport { Skeleton };\n","import * as React from 'react';\nimport { ChevronDown } from 'lucide-react';\n\nimport { Button } from '@/components/button/button';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/dropdown-menu/dropdown-menu';\nimport styles from '@/components/sort-selector/sort-selector.module.css';\nimport { cn } from '@/lib/utils';\n\nconst ChevronDownIcon = ChevronDown as React.ComponentType<{ className?: string }>;\n\nexport type SortField = 'name' | 'type' | 'createdAt' | 'updatedAt';\nexport type SortOrder = 'asc' | 'desc';\nexport type SortMode = 'created' | 'updated';\n\ninterface SortSelectorProps {\n sortField: SortField;\n defaultSortField?: SortField;\n sortOrder: SortOrder;\n defaultSortOrder?: SortOrder;\n sortMode?: SortMode;\n setSortField: (field: SortField) => void;\n setSortOrder: (order: SortOrder) => void;\n setCurrentPage?: (page: number) => void;\n showDateOptions?: boolean;\n className?: string;\n}\n\nfunction SortSelector({\n sortField,\n defaultSortField = 'name',\n sortOrder,\n defaultSortOrder = 'asc',\n sortMode = 'created',\n setSortField,\n setSortOrder,\n setCurrentPage,\n showDateOptions = true,\n className,\n}: SortSelectorProps) {\n const options = [\n { value: 'name-asc', label: 'Name (A-Z)' },\n { value: 'name-desc', label: 'Name (Z-A)' },\n ...(showDateOptions\n ? sortMode === 'created'\n ? [\n { value: 'createdAt-desc', label: 'Recently Created' },\n { value: 'createdAt-asc', label: 'Oldest Created' },\n ]\n : [\n { value: 'updatedAt-desc', label: 'Recently Updated' },\n { value: 'updatedAt-asc', label: 'Oldest Updated' },\n ]\n : []),\n ] as const;\n\n const currentValue = `${sortField}-${sortOrder}`;\n const currentLabel = options.find((option) => option.value === currentValue)?.label || 'Sort';\n const isDefaultSort = sortField === defaultSortField && sortOrder === defaultSortOrder;\n\n const filteredOptions = options.filter(\n (option) =>\n option.value && option.value.trim() !== '' && option.label && option.label.trim() !== ''\n );\n\n const handleChange = (value: string) => {\n const [field, order] = value.split('-') as [SortField, SortOrder];\n setSortField(field);\n setSortOrder(order);\n setCurrentPage?.(1);\n };\n\n const handleReset = () => {\n setSortField(defaultSortField);\n setSortOrder(defaultSortOrder);\n setCurrentPage?.(1);\n };\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" className={cn(styles['sort-selector-trigger'], className)}>\n <span>{currentLabel}</span>\n <ChevronDownIcon className={styles['chevron-down-icon']} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className={styles['dropdown-menu-content']}>\n <DropdownMenuLabel>\n Sort\n {!isDefaultSort && (\n <Button variant=\"link\" size=\"sm\" onClick={handleReset}>\n Reset\n </Button>\n )}\n </DropdownMenuLabel>\n <DropdownMenuSeparator />\n {filteredOptions.map((option) => {\n const isSelected = currentValue === option.value;\n\n return (\n <DropdownMenuCheckboxItem\n key={option.value}\n checked={isSelected}\n onCheckedChange={() => handleChange(option.value)}\n onSelect={(e) => e.preventDefault()}\n >\n {option.label}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\nexport { SortSelector };\n","import * as React from 'react';\nimport * as SwitchPrimitives from '@radix-ui/react-switch';\n\nimport { Icon } from '@/components/icon/icon';\nimport styles from '@/components/switch/switch.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface SwitchProps extends React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> {\n size?: 'sm' | 'md' | 'lg';\n variant?: 'default' | 'danger';\n thumbIcon?: React.ReactElement | string;\n}\n\nconst Switch = React.forwardRef<React.ElementRef<typeof SwitchPrimitives.Root>, SwitchProps>(\n ({ className, size = 'md', variant = 'default', thumbIcon, ...props }, ref) => {\n const iconSize = size === 'sm' ? 'xs' : size === 'md' ? 'sm' : 'md';\n return (\n <SwitchPrimitives.Root\n className={cn(styles['switch'], styles[size], styles[variant], className)}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb className={cn(styles['thumb'], styles[size])}>\n {thumbIcon && <Icon icon={thumbIcon} className={styles['thumb-icon']} size={iconSize} />}\n </SwitchPrimitives.Thumb>\n </SwitchPrimitives.Root>\n );\n }\n);\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import * as React from 'react';\nimport { ArrowDown, ArrowUp, ArrowUpDown } from 'lucide-react';\n\nimport styles from '@/components/sort-button/sort-button.module.css';\n\nconst ArrowDownIcon = ArrowDown as React.ComponentType<{ className?: string }>;\nconst ArrowUpIcon = ArrowUp as React.ComponentType<{ className?: string }>;\nconst ArrowUpDownIcon = ArrowUpDown as React.ComponentType<{ className?: string }>;\n\ninterface SortButtonProps<T extends string> {\n field: T;\n children: React.ReactNode;\n icon?: React.ReactNode;\n sortField: T | null;\n sortDirection: 'asc' | 'desc';\n onSort: (field: T) => void;\n}\n\nfunction SortButton<T extends string>({\n field,\n children,\n icon,\n sortField,\n sortDirection,\n onSort,\n}: SortButtonProps<T>) {\n const isActive = sortField === field;\n const isAscending = sortDirection === 'asc';\n\n const handleClick = () => {\n onSort(field);\n };\n\n return (\n <button type=\"button\" onClick={handleClick} className={styles['sort-button']}>\n {icon}\n {children}\n <div className={styles['arrow-container']}>\n {isActive ? (\n isAscending ? (\n <ArrowUpIcon />\n ) : (\n <ArrowDownIcon />\n )\n ) : (\n <ArrowUpDownIcon className={styles['arrow-up-down-icon']} />\n )}\n </div>\n </button>\n );\n}\n\nexport { SortButton };\n","import * as React from 'react';\nimport { VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/table/table-components.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nconst tableElevationVariants = generateElevationVariants(styles, 'table', ELEVATION.RAISED);\n\nconst TableContainer = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement> & VariantProps<typeof tableElevationVariants>\n>(({ className, elevation = ELEVATION.RAISED, ...props }, ref) => (\n <div className={cn(styles['table'], tableElevationVariants({ elevation }), className)}>\n <table ref={ref} className={styles['table-inner']} {...props} />\n </div>\n));\nTableContainer.displayName = 'Table';\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(styles['table-header'], className)} {...props} />\n));\nTableHeader.displayName = 'TableHeader';\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={cn(styles['table-body'], className)} {...props} />\n));\nTableBody.displayName = 'TableBody';\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot ref={ref} className={cn(styles['table-footer'], className)} {...props} />\n));\nTableFooter.displayName = 'TableFooter';\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement>>(\n ({ className, ...props }, ref) => (\n <tr ref={ref} className={cn(styles['table-row'], className)} {...props} />\n )\n);\nTableRow.displayName = 'TableRow';\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th ref={ref} className={cn(styles['table-head'], className)} {...props} />\n));\nTableHead.displayName = 'TableHead';\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td ref={ref} className={cn(styles['table-cell'], className)} {...props} />\n));\nTableCell.displayName = 'TableCell';\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption ref={ref} className={cn(styles['table-caption'], className)} {...props} />\n));\nTableCaption.displayName = 'TableCaption';\n\nexport {\n TableBody,\n TableCaption,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TableHeader,\n TableRow,\n};\n","import * as React from 'react';\nimport { VariantProps } from 'class-variance-authority';\n\nimport {\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableHeader,\n TableRow,\n} from '@/components/table/table-components';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nimport styles from './table.module.css';\n\ntype TableColumn = {\n key: string;\n content: React.ReactNode;\n className?: string;\n};\n\ntype TableRowData = {\n key: string;\n cells: TableCellData[];\n onClick?: () => void;\n className?: string;\n};\n\ntype TableCellData = {\n key: string;\n content: React.ReactNode;\n className?: string;\n};\n\ninterface TableProps extends VariantProps<typeof tableElevationVariants> {\n columns: TableColumn[];\n rows: TableRowData[];\n className?: string;\n border?: boolean;\n}\n\nconst tableElevationVariants = generateElevationVariants(styles, 'table', ELEVATION.BASE);\n\nconst Table = ({\n columns,\n rows,\n className,\n border = false,\n elevation = ELEVATION.BASE,\n}: TableProps) => {\n return (\n <div\n className={cn(\n styles['table'],\n border && styles['table-border'],\n tableElevationVariants({ elevation }),\n className\n )}\n >\n <TableContainer elevation={elevation}>\n <TableHeader>\n <TableRow>\n {columns.map((column) => (\n <TableHead key={column.key} className={column.className}>\n {column.content}\n </TableHead>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody>\n {rows.map((row) => (\n <TableRow\n key={row.key}\n className={cn(row.className, row.onClick && styles['table-row-clickable'])}\n onClick={row.onClick}\n >\n {row.cells.map((cell) => (\n <TableCell key={cell.key} className={cell.className}>\n {cell.content}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </TableContainer>\n </div>\n );\n};\n\nexport { Table };\n","import * as React from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport styles from '@/components/tabs/tabs-components.module.css';\nimport { cn } from '@/lib/utils';\n\nconst TabsContainer = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List ref={ref} className={cn(styles['tabs-list'], className)} {...props} />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger ref={ref} className={cn(styles['tabs-trigger'], className)} {...props} />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content ref={ref} className={cn(styles['tabs-content'], className)} {...props} />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { TabsContainer, TabsContent, TabsList, TabsTrigger };\n","import { useState } from 'react';\nimport { motion } from 'motion/react';\n\nimport { Icon } from '@/components/icon/icon';\nimport {\n TabsContainer,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from '@/components/tabs/tabs-components';\nimport styles from '@/components/tabs/tabs.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface TabsProps {\n id: string;\n items: {\n label: string;\n value: string;\n icon?: React.ReactElement | string;\n content: React.ReactNode;\n }[];\n className?: string;\n tabsListBackground?: 'transparent' | 'filled';\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n}\n\nconst Tabs = ({\n id,\n items,\n className,\n tabsListBackground = 'transparent',\n defaultValue,\n onValueChange,\n}: TabsProps) => {\n const [activeTab, setActiveTab] = useState(defaultValue ?? items[0].value);\n\n const isFilled = tabsListBackground === 'filled';\n\n const handleValueChange = (newTab: string) => {\n setActiveTab(newTab);\n onValueChange?.(newTab);\n };\n\n const renderIcon = (icon?: React.ReactElement | string) => {\n if (icon) {\n return <Icon icon={icon} size=\"sm\" className={styles['tabs-icon']} />;\n }\n return null;\n };\n\n const renderActiveStyle = (isActive: boolean) => {\n if (isActive) {\n return (\n <motion.span\n className={cn(\n styles['active-tab-indicator'],\n isFilled\n ? styles['active-tab-indicator--filled']\n : styles['active-tab-indicator--transparent']\n )}\n initial={false}\n layoutId={`${id}-active-tab-indicator`}\n />\n );\n }\n return null;\n };\n\n return (\n <TabsContainer\n value={activeTab}\n onValueChange={handleValueChange}\n className={cn(styles['tabs'], className)}\n >\n <TabsList\n className={cn(\n styles['tabs-list'],\n isFilled ? styles['tabs-list--filled'] : styles['tabs-list--transparent']\n )}\n >\n {items.map(({ label, value, icon }) => {\n const isActive = activeTab === value;\n\n return (\n <TabsTrigger\n key={value}\n value={value}\n className={cn(\n styles['tabs-trigger'],\n isFilled ? styles['tabs-trigger--filled'] : styles['tabs-trigger--transparent']\n )}\n data-tour={`${value}-tab-overview`}\n >\n {renderIcon(icon)}\n {label}\n {renderActiveStyle(isActive)}\n </TabsTrigger>\n );\n })}\n </TabsList>\n\n {items.map(({ value, content }) => (\n <TabsContent value={value} key={value} className={styles['content']}>\n {content}\n </TabsContent>\n ))}\n </TabsContainer>\n );\n};\n\nexport { Tabs };\n","import * as React from 'react';\n\nimport styles from '@/components/textarea/textarea.module.css';\nimport { cn } from '@/lib/utils';\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, React.ComponentProps<'textarea'>>(\n ({ className, ...props }, ref) => {\n return <textarea className={cn(styles['textarea'], className)} ref={ref} {...props} />;\n }\n);\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n","import * as React from 'react';\nimport * as ToastPrimitives from '@radix-ui/react-toast';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\n\nimport styles from '@/components/toast/toast-components.module.css';\nimport { cn } from '@/lib/utils';\n\nconst XIcon = X as React.ComponentType<{ className?: string }>;\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(styles['toast-viewport'], className)}\n {...props}\n />\n));\nToastViewport.displayName = ToastPrimitives.Viewport.displayName;\n\nconst toastVariants = cva(styles['toast'], {\n variants: {\n variant: {\n default: styles['toast--default'],\n danger: styles['toast--danger'],\n warning: styles['toast--warning'],\n success: styles['toast--success'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst ToastContainer = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n );\n});\nToastContainer.displayName = ToastPrimitives.Root.displayName;\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action ref={ref} className={cn(styles['toast-action'], className)} {...props} />\n));\nToastAction.displayName = ToastPrimitives.Action.displayName;\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close ref={ref} className={cn(styles['toast-close'], className)} {...props}>\n <XIcon className={styles['toast-close-icon']} />\n </ToastPrimitives.Close>\n));\nToastClose.displayName = ToastPrimitives.Close.displayName;\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title ref={ref} className={cn(styles['toast-title'], className)} {...props} />\n));\nToastTitle.displayName = ToastPrimitives.Title.displayName;\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(styles['toast-description'], className)}\n {...props}\n />\n));\nToastDescription.displayName = ToastPrimitives.Description.displayName;\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof ToastContainer>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport {\n ToastContainer,\n ToastAction,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n type ToastActionElement,\n type ToastProps,\n};\n","import { useEffect, useState } from 'react';\n\nimport type { ToastActionElement, ToastProps } from '../components/toast/toast-components';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\nexport type ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n icon?: string | React.ReactElement;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType['ADD_TOAST'];\n toast: ToasterToast;\n }\n | {\n type: ActionType['UPDATE_TOAST'];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType['DISMISS_TOAST'];\n toastId?: ToasterToast['id'];\n }\n | {\n type: ActionType['REMOVE_TOAST'];\n toastId?: ToasterToast['id'];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'ADD_TOAST':\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case 'UPDATE_TOAST':\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case 'DISMISS_TOAST': {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t\n ),\n };\n }\n case 'REMOVE_TOAST':\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = useState<State>(memoryState);\n\n useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, []);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { toast, useToast };\n","import { Icon } from '@/components/icon/icon';\nimport {\n ToastClose,\n ToastContainer,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n} from '@/components/toast/toast-components';\nimport styles from '@/components/toast/toast.module.css';\nimport { ToasterToast, useToast } from '@/hooks/use-toast';\n\ninterface ToastProps {\n toast: ToasterToast;\n}\n\nconst Toast = ({ toast }: ToastProps) => {\n const { title, description, action, icon, variant, ...props } = toast;\n\n // Default icons based on variant\n const getDefaultIcon = () => {\n switch (variant) {\n case 'success':\n return 'Check';\n case 'warning':\n return 'AlertOctagon';\n case 'danger':\n return 'AlertTriangle';\n default:\n return 'Info';\n }\n };\n\n const displayIcon = icon !== undefined ? icon : getDefaultIcon();\n\n return (\n <ToastContainer {...props} variant={variant}>\n <div className={styles['toast-copy']}>\n {title && (\n <div className={styles['toast-title-container']}>\n {displayIcon && <Icon icon={displayIcon} size=\"sm\" background=\"transparent\" />}\n <ToastTitle>{title}</ToastTitle>\n </div>\n )}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action && <div className={styles['toast-action']}>{action}</div>}\n <ToastClose />\n </ToastContainer>\n );\n};\n\nconst Toaster = () => {\n const { toasts } = useToast();\n\n return toasts.map(function (toast) {\n return <Toast key={toast.id} toast={toast} />;\n });\n};\n\nconst ToastRoot = () => {\n return (\n <ToastProvider>\n <Toaster />\n <ToastViewport />\n </ToastProvider>\n );\n};\n\nexport { Toast, Toaster, ToastRoot };\n","import { useState } from 'react';\n\nimport { Button } from '@/components/button/button';\nimport styles from '@/components/truncated-description/truncated-description.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface TruncatedDescriptionProps {\n className?: string;\n description: string;\n maxLength?: number;\n}\n\nconst TruncatedDescription = ({\n className,\n description,\n maxLength = 120,\n}: TruncatedDescriptionProps) => {\n const plainText = removeHtmlTags(description);\n const isLongDescription = plainText.length > maxLength;\n const truncatedDescription = isLongDescription\n ? `${description.slice(0, maxLength)}...`\n : description;\n\n const [expanded, setExpanded] = useState(!isLongDescription);\n\n const displayDescription = expanded ? description : truncatedDescription;\n\n const handleToggle = (e: React.MouseEvent) => {\n e.stopPropagation();\n setExpanded(!expanded);\n };\n\n return (\n <div className={cn(styles['truncated-description'], className)}>\n <div dangerouslySetInnerHTML={{ __html: displayDescription }} />\n {isLongDescription && (\n <Button variant=\"link\" size=\"sm\" onClick={handleToggle}>\n {expanded ? 'Show less' : 'Show more'}\n </Button>\n )}\n </div>\n );\n};\n\n// Helper function\nconst removeHtmlTags = (html: string): string => {\n return html.replace(/<[^>]*>/g, '');\n};\n\nexport { TruncatedDescription };\n","import { forwardRef, HTMLAttributes } from 'react';\n\nimport styles from '@/components/heading/heading.module.css';\nimport { cn } from '@/lib/utils';\n\ntype HeadingTagType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\ninterface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {\n className?: string;\n as: HeadingTagType;\n displayAs?: HeadingTagType;\n children: string | React.ReactNode;\n}\n\nconst Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\n ({ className, as, displayAs, children, ...props }, ref) => {\n const displayClasses = {\n h1: styles['h1'],\n h2: styles['h2'],\n h3: styles['h3'],\n h4: styles['h4'],\n h5: styles['h5'],\n h6: styles['h6'],\n };\n\n const displayClass =\n displayClasses[displayAs as keyof typeof displayClasses] || displayClasses[as];\n const HeadingTag = as as HeadingTagType;\n\n return (\n <HeadingTag ref={ref} className={cn(displayClass, className)} {...props}>\n {children}\n </HeadingTag>\n );\n }\n);\n\nHeading.displayName = 'Heading';\n\nexport { Heading };\n","import { Badge, type BadgeDisplayMode } from '@/components/badge/badge';\nimport styles from '@/components/control-status-badge/control-status-badge.module.css';\n\nexport type ControlStatusBadgeDisplayMode = BadgeDisplayMode;\n\ninterface ControlStatusBadgeProps {\n status: string;\n display?: ControlStatusBadgeDisplayMode;\n}\n\nconst ControlStatusBadge = ({ status, display = 'both' }: ControlStatusBadgeProps) => {\n const config = getStatusConfig(status);\n\n return (\n <Badge icon={config.icon} display={display} className={config.className} variant={null}>\n {config.label}\n </Badge>\n );\n};\n\n// Helper function\nconst getStatusConfig = (status: string) => {\n switch (status) {\n case 'in-progress':\n return {\n icon: 'Clock',\n className: styles['badge--in-progress'],\n label: 'In Progress',\n };\n case 'not-started':\n return {\n icon: 'Circle',\n className: styles['badge--not-started'],\n label: 'Not Started',\n };\n case 'ready-for-review':\n return {\n icon: 'ClipboardCheck',\n className: styles['badge--ready-for-review'],\n label: 'Ready for Review',\n };\n case 'in-review':\n return {\n icon: 'Eye',\n className: styles['badge--in-review'],\n label: 'In Review',\n };\n case 'comment':\n return {\n icon: 'MessageCircle',\n className: styles['badge--comment'],\n label: 'Comment',\n };\n case 'not-applicable':\n return {\n icon: 'MinusCircle',\n className: styles['badge--not-applicable'],\n label: 'Not Applicable',\n };\n case 'accepted':\n return {\n icon: <MessageCircleCheckIcon />,\n className: styles['badge--accepted'],\n label: 'Accepted',\n };\n case 'questioned':\n return {\n icon: 'MessageCircleQuestion',\n className: styles['badge--question'],\n label: 'Questioned',\n };\n case 'general':\n return {\n icon: 'MessageCircle',\n className: styles['badge--comment'],\n label: 'General',\n };\n case 'compliant':\n return {\n icon: 'Check',\n className: styles['badge--compliant'],\n label: 'Compliant',\n };\n case 'non-compliant':\n return {\n icon: 'TriangleAlert',\n className: styles['badge--non-compliant'],\n label: 'Non-compliant',\n };\n default:\n return {\n icon: 'Circle',\n className: styles['badge--not-started'],\n label: status,\n };\n }\n};\n\nexport { ControlStatusBadge };\n\n// TODO: Remove and replace with Lucide icon once PR #3770 gets merged into their repo.\nconst MessageCircleCheckIcon = ({ className }: { className?: string }) => {\n return (\n <svg\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <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 <path d=\"m9 12 2 2 4-4\" />\n </svg>\n );\n};\n","const Portal = () => {\n return <div id=\"equality-theme-provider-root-portal\" />;\n};\n\nexport { Portal };\n","import { Portal } from './portal';\nimport styles from './theme.module.css';\n\ninterface ThemeProviderProps {\n customVars?: React.CSSProperties & {\n [key: `--${string}`]: string | number | undefined;\n };\n children: React.ReactNode;\n}\n\nconst ThemeProvider = ({ customVars, children }: ThemeProviderProps) => {\n return (\n <div id=\"equality-theme-provider-root\" className={styles.root} style={customVars}>\n {children}\n <Portal />\n </div>\n );\n};\n\nexport { ThemeProvider };\n"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/alert/alert.tsx","../src/components/button/button.tsx","../src/components/alert-dialog/alert-dialog.tsx","../src/components/avatar/avatar.tsx","../src/lib/elevations.ts","../src/components/icon/icon.tsx","../src/components/tooltip/tooltip.tsx","../src/components/badge/badge.tsx","../../tokens/equality-tokens.json","../src/components/bg-gradient/bg-gradient.tsx","../src/components/resource-badge/resource-badge.tsx","../src/components/card-content-header/card-content-header.tsx","../src/components/card/card.tsx","../src/components/checkbox/checkbox.tsx","../src/components/icon-button/icon-button.tsx","../src/components/copy-button/copy-button.tsx","../src/theme/lib/utils.ts","../src/theme/hooks/use-theme.ts","../src/components/code-block/code-block.tsx","../src/components/dialog/dialog.tsx","../src/components/command/command.tsx","../src/components/popover/popover.tsx","../src/components/date-range-picker/date-range-picker.tsx","../src/components/display-field/display-field.tsx","../src/components/drawer/drawer.tsx","../src/components/dropdown-menu/dropdown-menu.tsx","../src/components/empty-table-state/empty-table-state.tsx","../src/components/filter-dropdown/filter-dropdown.tsx","../src/components/label/label.tsx","../src/components/form/form.tsx","../src/components/info-card/info-card.tsx","../src/components/input/input.tsx","../src/components/list-or-grid-view-toggle/list-or-grid-view-toggle.tsx","../src/components/spinner/spinner.tsx","../src/components/loading-overlay/loading-overlay.tsx","../src/components/metric-card/metric-card.tsx","../src/components/motion-collapsible/motion-collapsible.tsx","../src/components/page-not-found/page-not-found.tsx","../src/components/select/select.tsx","../src/components/pagination/pagination.tsx","../src/components/panel-label/panel-label.tsx","../src/components/progress/progress.tsx","../src/components/radial-graph/radial-graph.tsx","../src/components/radio-dropdown/radio-dropdown.tsx","../src/components/radio-group/radio-group.tsx","../src/components/scroll-area/scroll-area.tsx","../src/components/search-bar/search-bar.tsx","../src/components/section-heading/section-heading.tsx","../src/components/separator/separator.tsx","../src/components/sheet/sheet.tsx","../src/components/skeleton/skeleton.tsx","../src/components/sort-selector/sort-selector.tsx","../src/components/switch/switch.tsx","../src/components/sort-button/sort-button.tsx","../src/components/table/table-components.tsx","../src/components/table/table.tsx","../src/components/tabs/tabs-components.tsx","../src/components/tabs/tabs.tsx","../src/components/textarea/textarea.tsx","../src/components/toast/toast-components.tsx","../src/hooks/use-toast.ts","../src/components/toast/toast.tsx","../src/components/truncated-description/truncated-description.tsx","../src/components/heading/heading.tsx","../src/components/control-status-badge/control-status-badge.tsx","../src/theme/portal.tsx","../src/theme/theme-provider.tsx"],"names":["React","cva","styles","React2","jsx","React3","jsxs","React4","forwardRef","React5","React6","React7","React8","Icon","LucideIcons","React9","SyntaxHighlighter","React10","CommandPrimitive","React11","useState","dateRange","useRef","Check","useEffect","DrawerPrimitive","React12","CheckIcon","ChevronRightIcon","ChevronRight","React13","Label","React14","Slot","React16","ChevronDownIcon","ChevronDown","React17","ChevronLeftIcon","ChevronLeft","React18","CircleIcon","Circle","RadioGroup","React19","React20","SearchIcon","Separator","React21","SheetPrimitive","React22","React23","React24","tableElevationVariants","React25","motion","React26","XIcon","X","React27","toast","props","Portal"],"mappings":"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","file":"index.js","sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function getThemeProviderRoot() {\n return document.getElementById('equality-theme-provider-root-portal');\n}\n","import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/alert/alert.module.css';\nimport { cn } from '@/lib/utils';\n\nconst alertVariants = cva(styles['alert'], {\n variants: {\n variant: {\n default: styles['alert--default'],\n success: styles['alert--success'],\n warning: styles['alert--warning'],\n danger: styles['alert--danger'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div ref={ref} role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />\n));\nAlert.displayName = 'Alert';\n\nconst AlertTitle = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h5 ref={ref} className={cn(styles['alert-title'], className)} {...props} />\n )\n);\nAlertTitle.displayName = 'AlertTitle';\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['alert-description'], className)} {...props} />\n));\nAlertDescription.displayName = 'AlertDescription';\n\nexport { Alert, AlertDescription, AlertTitle };\n","import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/button/button.module.css';\nimport { cn } from '@/lib/utils';\n\nconst buttonVariants = cva(styles['button'], {\n variants: {\n variant: {\n primary: styles['button--primary'],\n danger: styles['button--danger'],\n secondary: styles['button--secondary'],\n tertiary: styles['button--tertiary'],\n link: styles['button--link'],\n navigation: styles['button--navigation'],\n },\n size: {\n sm: styles['size--sm'],\n md: styles['size--md'],\n lg: styles['size--lg'],\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n },\n});\n\ntype ButtonBaseProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'prefix'>;\ntype AnchorBaseProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'prefix'>;\n\nexport type ButtonProps = VariantProps<typeof buttonVariants> &\n (\n | (ButtonBaseProps & {\n asChild?: boolean;\n href?: never;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n })\n | (AnchorBaseProps & {\n asChild?: never;\n href: string;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n target?: string;\n rel?: string;\n download?: string | boolean;\n })\n );\n\nconst Button = React.forwardRef<HTMLButtonElement | HTMLAnchorElement, ButtonProps>(\n ({ className, variant, size, asChild = false, prefix, suffix, children, ...props }, ref) => {\n const isLink = 'href' in props && props.href;\n\n if (isLink) {\n const { href, target, rel, download, ...anchorProps } = props as AnchorBaseProps & {\n href: string;\n target?: string;\n rel?: string;\n download?: string | boolean;\n };\n\n return (\n <a\n href={href}\n target={target}\n rel={rel}\n download={download}\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref as React.Ref<HTMLAnchorElement>}\n {...anchorProps}\n >\n {prefix}\n {children}\n {suffix}\n </a>\n );\n }\n\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref as React.Ref<HTMLButtonElement>}\n {...(props as ButtonBaseProps)}\n >\n {prefix}\n {children}\n {suffix}\n </Comp>\n );\n }\n);\nButton.displayName = 'Button';\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Button, buttonVariants };\n","import * as React from 'react';\nimport * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';\nimport { type VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/alert-dialog/alert-dialog.module.css';\nimport { buttonVariants } from '@/components/button/button';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst AlertDialog = AlertDialogPrimitive.Root;\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger;\n\nconst AlertDialogPortal = ({ children }: { children: React.ReactNode }) => (\n <AlertDialogPrimitive.Portal container={getThemeProviderRoot()}>\n {children}\n </AlertDialogPrimitive.Portal>\n);\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Overlay\n className={cn(styles['alert-dialog-overlay'], className)}\n {...props}\n ref={ref}\n />\n));\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(styles['alert-dialog-content'], className)}\n {...props}\n />\n </AlertDialogPortal>\n));\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\n\nconst AlertDialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['alert-dialog-header'], className)} {...props} />\n);\nAlertDialogHeader.displayName = 'AlertDialogHeader';\n\nconst AlertDialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['alert-dialog-footer'], className)} {...props} />\n);\nAlertDialogFooter.displayName = 'AlertDialogFooter';\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn(styles['alert-dialog-title'], className)}\n {...props}\n />\n));\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Description\n ref={ref}\n className={cn(styles['alert-dialog-description'], className)}\n {...props}\n />\n));\nAlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n Omit<React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>, 'prefix'> &\n VariantProps<typeof buttonVariants> & {\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n }\n>(({ className, variant = 'primary', size = 'sm', prefix, suffix, children, ...props }, ref) => (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants({ variant, size }), className)}\n {...props}\n >\n {prefix}\n {children}\n {suffix}\n </AlertDialogPrimitive.Action>\n));\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n Omit<React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>, 'prefix'> &\n VariantProps<typeof buttonVariants> & {\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n }\n>(({ className, variant = 'tertiary', size = 'sm', prefix, suffix, children, ...props }, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(buttonVariants({ variant, size }), styles['alert-dialog-cancel'], className)}\n {...props}\n >\n {prefix}\n {children}\n {suffix}\n </AlertDialogPrimitive.Cancel>\n));\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n","import * as React from 'react';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\n\nimport styles from '@/components/avatar/avatar.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface AvatarProps extends React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> {\n size?: 'sm' | 'md' | 'lg' | 'xl';\n shape?: 'circle' | 'square';\n}\n\nconst Avatar = React.forwardRef<React.ElementRef<typeof AvatarPrimitive.Root>, AvatarProps>(\n ({ className, size = 'md', shape = 'circle', ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(styles.avatar, styles[size], styles[shape], className)}\n {...props}\n />\n )\n);\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image ref={ref} className={cn(styles['avatar-image'], className)} {...props} />\n));\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(styles['avatar-fallback'], className)}\n {...props}\n />\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarFallback, AvatarImage };\n","import { cva } from 'class-variance-authority';\n\nexport const ELEVATION = {\n SUNKEN: 'sunken',\n BASE: 'base',\n RAISED: 'raised',\n OVERLAY: 'overlay',\n FLOATING: 'floating',\n};\n\nexport type Elevation = (typeof ELEVATION)[keyof typeof ELEVATION];\n\nexport const generateElevationVariants = (\n styles: { [key: string]: string },\n baseClassName: string,\n defaultElevation: Elevation\n) => {\n const classNames: { [key: string]: string } = {};\n Object.values(ELEVATION).forEach((elevation) => {\n classNames[elevation] = styles[`${baseClassName}--${elevation}`];\n });\n\n const variants = cva(styles[baseClassName], {\n variants: {\n elevation: classNames,\n },\n defaultVariants: {\n elevation: defaultElevation,\n },\n });\n\n return variants;\n};\n\nexport const getRelativeElevation = (elevation: Elevation, offset: number) => {\n const elevationIndex = Object.values(ELEVATION).indexOf(elevation);\n const newElevationIndex = elevationIndex + offset;\n const relativeElevation = Object.values(ELEVATION)[newElevationIndex];\n if (!relativeElevation) {\n console.warn(`Invalid elevation offset: from ${elevation} with offset ${offset}`);\n }\n return relativeElevation || elevation;\n};\n","import * as React from 'react';\nimport { forwardRef } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as LucideIcons from 'lucide-react';\n\nimport styles from '@/components/icon/icon.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nconst iconVariants = cva(styles['icon-container'], {\n variants: {\n size: {\n xs: styles['size--xs'],\n sm: styles['size--sm'],\n md: styles['size--md'],\n lg: styles['size--lg'],\n },\n background: {\n square: styles['background--square'],\n circle: styles['background--circle'],\n transparent: styles['background--transparent'],\n },\n },\n defaultVariants: {\n size: 'md',\n background: 'transparent',\n },\n});\n\nconst iconElevationVariants = generateElevationVariants(styles, 'icon-container', ELEVATION.RAISED);\n\nexport interface IconProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof iconVariants>,\n VariantProps<typeof iconElevationVariants> {\n icon: React.ReactElement | string;\n size?: 'xs' | 'sm' | 'md' | 'lg';\n background?: 'square' | 'circle' | 'transparent';\n}\n\nconst Icon = forwardRef<HTMLDivElement, IconProps>(\n ({ className, size, background, icon, elevation = ELEVATION.RAISED, ...props }, ref) => {\n let renderedIcon;\n\n if (typeof icon === 'string') {\n // Lucide icon by string name\n const LucideIcon = LucideIcons[icon as keyof typeof LucideIcons] as React.ElementType;\n\n if (!LucideIcon) {\n throw new Error(`Icon \"${icon}\" not found in lucide-react`);\n }\n\n renderedIcon = <LucideIcon className={cn(styles['icon'])} />;\n } else if (React.isValidElement(icon)) {\n // React element (e.g., <CustomIcon />) - clone to inject className\n const existingProps = icon.props as React.HTMLAttributes<HTMLElement> &\n Record<string, unknown>;\n\n renderedIcon = React.cloneElement(\n icon as React.ReactElement<React.HTMLAttributes<HTMLElement>>,\n {\n ...existingProps,\n className: cn(styles['icon'], existingProps.className),\n } as React.HTMLAttributes<HTMLElement>\n );\n } else {\n throw new Error('Icon must be either a string (Lucide icon name) or a React element');\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n iconVariants({ size, background }),\n iconElevationVariants({ elevation }),\n className\n )}\n {...props}\n >\n {renderedIcon}\n </div>\n );\n }\n);\n\nIcon.displayName = 'Icon';\n\nexport { Icon };\n","import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\n\nimport styles from '@/components/tooltip/tooltip.module.css';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\nconst Tooltip = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nconst TooltipPortal = ({ children }: { children: React.ReactNode }) => (\n <TooltipPrimitive.Portal container={getThemeProviderRoot()}>{children}</TooltipPrimitive.Portal>\n);\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPortal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(styles['tooltip-content'], className)}\n {...props}\n >\n {props.children}\n <TooltipPrimitive.Arrow width={18} height={6} className={styles['tooltip-arrow']} />\n </TooltipPrimitive.Content>\n </TooltipPortal>\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\n\nimport styles from '@/components/badge/badge.module.css';\nimport { Button } from '@/components/button/button';\nimport { Icon } from '@/components/icon/icon';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/tooltip/tooltip';\nimport { cn } from '@/lib/utils';\n\nconst XIcon = X as React.ComponentType<{ className?: string }>;\n\nconst badgeVariants = cva(styles['badge'], {\n variants: {\n variant: {\n primary: styles['badge--primary'],\n danger: styles['badge--danger'],\n neutral: styles['badge--neutral'],\n warning: styles['badge--warning'],\n success: styles['badge--success'],\n },\n },\n defaultVariants: {\n variant: 'primary',\n },\n});\n\nexport type BadgeDisplayMode = 'both' | 'text-only' | 'icon-only';\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {\n closeable?: boolean;\n handleClosable?: () => void;\n truncate?: boolean;\n truncateLength?: number;\n icon?: React.ReactElement | string;\n display?: BadgeDisplayMode;\n}\n\n// Default icons for variants\nconst defaultVariantIcons: Record<string, string> = {\n success: 'Check',\n warning: 'OctagonAlert',\n danger: 'TriangleAlert',\n};\n\nfunction Badge({\n className,\n variant,\n closeable,\n handleClosable,\n truncate = false,\n truncateLength = 50,\n icon,\n display = 'both',\n ...props\n}: BadgeProps) {\n // Use default icon for variant if no icon is provided\n const effectiveIcon = icon ?? (variant ? defaultVariantIcons[variant] : undefined);\n\n const renderClosable = () => {\n if (closeable && handleClosable)\n return (\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n onClick={handleClosable}\n className={styles['closable-btn']}\n >\n <XIcon />\n </Button>\n );\n return null;\n };\n\n const renderChildren = () => {\n const children = props.children;\n\n if (truncate && typeof children === 'string' && children.length > truncateLength) {\n const displayLabel = children.slice(0, truncateLength) + '...';\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger>{displayLabel}</TooltipTrigger>\n <TooltipContent className={styles['tooltip']}>{children}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return children;\n };\n\n const renderIcon = () => {\n if (effectiveIcon && display !== 'text-only') {\n return <Icon icon={effectiveIcon} size=\"xs\" className={styles['icon']} />;\n }\n return null;\n };\n\n // Validate icon-only mode requires an icon\n // If icon-only is set without an icon, fallback to showing both\n const effectiveDisplay = display === 'icon-only' && !effectiveIcon ? 'both' : display;\n const shouldShowChildren = effectiveDisplay !== 'icon-only';\n const isIconOnly = effectiveDisplay === 'icon-only' && effectiveIcon;\n\n return (\n <div\n className={cn(\n variant !== null && badgeVariants({ variant }),\n variant === null && styles['badge'],\n isIconOnly && styles['badge--icon-only'],\n className\n )}\n {...props}\n >\n {renderIcon()}\n {shouldShowChildren && renderChildren()}\n {renderClosable()}\n </div>\n );\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { Badge, badgeVariants };\n","{\n \"Dark\": {\n \"color\": {\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.06018, 0.06019, 0.06787],\n \"hex\": \"#0F0F11\"\n }\n },\n \"background-base\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.06018, 0.06019, 0.06787],\n \"hex\": \"#0F0F11\"\n }\n },\n \"background-bottom\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1.094e-5, 5.131e-6, 6.469e-5],\n \"hex\": \"#000000\"\n }\n },\n \"background-floating\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1399, 0.14, 0.1485],\n \"hex\": \"#242426\"\n }\n },\n \"background-overlay\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1121, 0.1122, 0.1204],\n \"hex\": \"#1D1D1F\"\n }\n },\n \"background-raised\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.08523, 0.08526, 0.09324],\n \"hex\": \"#161618\"\n }\n },\n \"background-sunken\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.03547, 0.03547, 0.04268],\n \"hex\": \"#09090B\"\n }\n },\n \"background-top\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1399, 0.14, 0.1485],\n \"hex\": \"#242426\"\n }\n },\n \"badge\": {\n \"background\": {\n \"accepted\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"comment\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1689, 0.3045, 0.136],\n \"hex\": \"#2B4E23\"\n }\n },\n \"danger\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4113, 0.1505, 0.1319],\n \"hex\": \"#692622\"\n }\n },\n \"in-progress\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4118, 0.2185, 0.1135],\n \"hex\": \"#69381D\"\n }\n },\n \"in-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"neutral\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n },\n \"non-compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4113, 0.1505, 0.1319],\n \"hex\": \"#692622\"\n }\n },\n \"not-applicable\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n },\n \"not-started\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"question\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"ready-for-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1442, 0.2013, 0.4303],\n \"hex\": \"#25336E\"\n }\n },\n \"success\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1689, 0.3045, 0.136],\n \"hex\": \"#2B4E23\"\n }\n },\n \"warning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4487, 0.322, 0.1436],\n \"hex\": \"#725225\"\n }\n }\n },\n \"text\": {\n \"accepted\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"comment\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"danger\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"in-progress\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9272, 0.788, 0.7058],\n \"hex\": \"#ECC9B4\"\n }\n },\n \"in-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"neutral\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"non-compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"not-applicable\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"not-started\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"question\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"ready-for-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7289, 0.7853, 0.9401],\n \"hex\": \"#BAC8F0\"\n }\n },\n \"success\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"warning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9327, 0.8528, 0.7204],\n \"hex\": \"#EED9B8\"\n }\n }\n }\n },\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"border-base\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"border-bottom\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1589, 0.159, 0.1677],\n \"hex\": \"#29292B\"\n }\n },\n \"border-floating\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3328, 0.3328, 0.3426],\n \"hex\": \"#555557\"\n }\n },\n \"border-overlay\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2796, 0.2796, 0.2891],\n \"hex\": \"#47474A\"\n }\n },\n \"border-raised\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.228, 0.2281, 0.2372],\n \"hex\": \"#3A3A3C\"\n }\n },\n \"border-sunken\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"border-top\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3328, 0.3328, 0.3426],\n \"hex\": \"#555557\"\n }\n },\n \"button\": {\n \"danger\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7365, 0.2216, 0.2026],\n \"hex\": \"#BC3934\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8114, 0.4167, 0.3761],\n \"hex\": \"#CF6A60\"\n }\n }\n },\n \"primary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6266, 0.4562, 0.8302],\n \"hex\": \"#A074D4\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6266, 0.4562, 0.8302],\n \"hex\": \"#A074D4\"\n }\n }\n },\n \"secondary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0, 0, 0],\n \"hex\": \"#000000\"\n }\n }\n },\n \"tertiary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0, 0, 0],\n \"hex\": \"#000000\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n }\n }\n },\n \"card\": {\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.0861, 0.0861, 0.0861],\n \"hex\": \"#161616\"\n }\n },\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n }\n },\n \"focus-ring\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7319, 0.6108, 0.8873],\n \"hex\": \"#BB9CE2\"\n }\n },\n \"popover\": {\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.03547, 0.03547, 0.04268],\n \"hex\": \"#09090B\"\n }\n }\n },\n \"resource\": {\n \"background\": {\n \"agent\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1475, 0.2946, 0.2434],\n \"hex\": \"#264B3E\"\n }\n },\n \"benchmark\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"code\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6137, 0.3942, 0.177],\n \"hex\": \"#9C652D\"\n }\n },\n \"compute\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4487, 0.322, 0.1436],\n \"hex\": \"#725225\"\n }\n },\n \"context\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1394, 0.2691, 0.3776],\n \"hex\": \"#244560\"\n }\n },\n \"database\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"dataset\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"document\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5752, 0.2954, 0.1593],\n \"hex\": \"#934B29\"\n }\n },\n \"guard\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"guardrail\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"inference\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1689, 0.3045, 0.136],\n \"hex\": \"#2B4E23\"\n }\n },\n \"model\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1442, 0.2013, 0.4303],\n \"hex\": \"#25336E\"\n }\n },\n \"prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1394, 0.2691, 0.3776],\n \"hex\": \"#244560\"\n }\n },\n \"reasoning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1394, 0.2691, 0.3776],\n \"hex\": \"#244560\"\n }\n },\n \"system-parameters\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6137, 0.3942, 0.177],\n \"hex\": \"#9C652D\"\n }\n },\n \"system-prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1394, 0.2691, 0.3776],\n \"hex\": \"#244560\"\n }\n },\n \"token\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2534, 0.2782, 0.09737],\n \"hex\": \"#414719\"\n }\n },\n \"tools\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4113, 0.1505, 0.1319],\n \"hex\": \"#692622\"\n }\n },\n \"unknown\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n }\n },\n \"text\": {\n \"agent\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7135, 0.8482, 0.7942],\n \"hex\": \"#B6D8CB\"\n }\n },\n \"benchmark\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"code\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9376, 0.8222, 0.7184],\n \"hex\": \"#EFD2B7\"\n }\n },\n \"compute\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9327, 0.8528, 0.7204],\n \"hex\": \"#EED9B8\"\n }\n },\n \"context\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"database\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"dataset\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"document\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9272, 0.788, 0.7058],\n \"hex\": \"#ECC9B4\"\n }\n },\n \"guard\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"guardrail\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"inference\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"model\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7289, 0.7853, 0.9401],\n \"hex\": \"#BAC8F0\"\n }\n },\n \"prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"reasoning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"system-parameters\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9376, 0.8222, 0.7184],\n \"hex\": \"#EFD2B7\"\n }\n },\n \"system-prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"token\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8033, 0.8266, 0.7044],\n \"hex\": \"#CDD3B4\"\n }\n },\n \"tools\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"unknown\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n }\n }\n },\n \"text\": {\n \"link\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7319, 0.6108, 0.8873],\n \"hex\": \"#BB9CE2\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"secondary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"tertiary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5021, 0.5021, 0.5021],\n \"hex\": \"#808080\"\n }\n }\n }\n }\n },\n \"Light\": {\n \"color\": {\n \"amber\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9767, 0.9238, 0.8764],\n \"hex\": \"#F9ECDF\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9376, 0.8222, 0.7184],\n \"hex\": \"#EFD2B7\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.896, 0.7203, 0.5608],\n \"hex\": \"#E4B88F\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8518, 0.6176, 0.3997],\n \"hex\": \"#D99D66\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.805, 0.5129, 0.2188],\n \"hex\": \"#CD8338\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6137, 0.3942, 0.177],\n \"hex\": \"#9C652D\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4327, 0.2812, 0.1347],\n \"hex\": \"#6E4822\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2643, 0.1753, 0.09139],\n \"hex\": \"#432D17\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1121, 0.07777, 0.04646],\n \"hex\": \"#1D140C\"\n }\n }\n },\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8264, 0.8324, 0.8394],\n \"hex\": \"#D3D4D6\"\n }\n },\n \"background-base\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8264, 0.8324, 0.8394],\n \"hex\": \"#D3D4D6\"\n }\n },\n \"background-bottom\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6765, 0.6823, 0.689],\n \"hex\": \"#ADAEB0\"\n }\n },\n \"background-floating\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9424, 0.9485, 0.9557],\n \"hex\": \"#F0F2F4\"\n }\n },\n \"background-overlay\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9034, 0.9095, 0.9166],\n \"hex\": \"#E6E8EA\"\n }\n },\n \"background-raised\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8648, 0.8708, 0.8779],\n \"hex\": \"#DDDEE0\"\n }\n },\n \"background-sunken\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7758, 0.7817, 0.7887],\n \"hex\": \"#C6C7C9\"\n }\n },\n \"background-top\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9817, 0.9878, 0.9951],\n \"hex\": \"#FAFCFE\"\n }\n },\n \"badge\": {\n \"background\": {\n \"accepted\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"comment\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"danger\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"in-progress\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9272, 0.788, 0.7058],\n \"hex\": \"#ECC9B4\"\n }\n },\n \"in-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"neutral\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"non-compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"not-applicable\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"not-started\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"question\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"ready-for-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7289, 0.7853, 0.9401],\n \"hex\": \"#BAC8F0\"\n }\n },\n \"success\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"warning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9327, 0.8528, 0.7204],\n \"hex\": \"#EED9B8\"\n }\n }\n },\n \"text\": {\n \"accepted\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"comment\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1097, 0.1998, 0.08667],\n \"hex\": \"#1C3316\"\n }\n },\n \"danger\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2625, 0.1106, 0.09605],\n \"hex\": \"#431C18\"\n }\n },\n \"in-progress\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"in-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"neutral\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"non-compliant\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2625, 0.1106, 0.09605],\n \"hex\": \"#431C18\"\n }\n },\n \"not-applicable\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"not-started\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"question\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"ready-for-review\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1017, 0.1411, 0.2832],\n \"hex\": \"#1A2448\"\n }\n },\n \"success\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1097, 0.1998, 0.08667],\n \"hex\": \"#1C3316\"\n }\n },\n \"warning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2723, 0.1933, 0.09642],\n \"hex\": \"#453119\"\n }\n }\n }\n },\n \"black\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0, 0, 0],\n \"hex\": \"#000000\"\n }\n },\n \"blue\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9115, 0.9345, 0.994],\n \"hex\": \"#E7EFFF\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7289, 0.7853, 0.9401],\n \"hex\": \"#BAC8F0\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5545, 0.6362, 0.8816],\n \"hex\": \"#8DA2E1\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3895, 0.4853, 0.8187],\n \"hex\": \"#637CD1\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2366, 0.3261, 0.7513],\n \"hex\": \"#3C53C0\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1892, 0.2629, 0.5868],\n \"hex\": \"#304396\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1442, 0.2013, 0.4303],\n \"hex\": \"#25336E\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1017, 0.1411, 0.2832],\n \"hex\": \"#1A2448\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.06177, 0.08243, 0.1475],\n \"hex\": \"#101526\"\n }\n }\n },\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"border-base\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"border-bottom\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6158, 0.6214, 0.6281],\n \"hex\": \"#9D9EA0\"\n }\n },\n \"border-floating\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8011, 0.807, 0.814],\n \"hex\": \"#CCCED0\"\n }\n },\n \"border-overlay\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8011, 0.807, 0.814],\n \"hex\": \"#CCCED0\"\n }\n },\n \"border-raised\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7383, 0.7441, 0.751],\n \"hex\": \"#BCBEC0\"\n }\n },\n \"border-sunken\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"border-top\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8011, 0.807, 0.814],\n \"hex\": \"#CCCED0\"\n }\n },\n \"brand\": {\n \"green\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4374, 0.6383, 0.4134],\n \"hex\": \"#70A369\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7319, 0.6108, 0.8873],\n \"hex\": \"#BB9CE2\"\n }\n },\n \"red\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8114, 0.4167, 0.3761],\n \"hex\": \"#CF6A60\"\n }\n },\n \"secondary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3895, 0.4853, 0.8187],\n \"hex\": \"#637CD1\"\n }\n },\n \"yellow\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.863, 0.6958, 0.4108],\n \"hex\": \"#DCB169\"\n }\n }\n },\n \"button\": {\n \"danger\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5698, 0.1873, 0.1674],\n \"hex\": \"#91302B\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7365, 0.2216, 0.2026],\n \"hex\": \"#BC3934\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n }\n },\n \"primary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5242, 0.2903, 0.7705],\n \"hex\": \"#864AC4\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5242, 0.2903, 0.7705],\n \"hex\": \"#864AC4\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n }\n },\n \"secondary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.0861, 0.0861, 0.0861],\n \"hex\": \"#161616\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.0861, 0.0861, 0.0861],\n \"hex\": \"#161616\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n }\n },\n \"tertiary\": {\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"fill\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"text\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0, 0, 0],\n \"hex\": \"#000000\"\n }\n }\n }\n },\n \"card\": {\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"border\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n }\n },\n \"cyan\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8736, 0.9466, 0.9942],\n \"hex\": \"#DAF2FF\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5438, 0.7094, 0.8183],\n \"hex\": \"#8BB5D1\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.381, 0.5932, 0.7315],\n \"hex\": \"#6197BB\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2084, 0.4784, 0.6451],\n \"hex\": \"#357AA5\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1767, 0.3704, 0.5098],\n \"hex\": \"#2D5E82\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1394, 0.2691, 0.3776],\n \"hex\": \"#244560\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09755, 0.1752, 0.2506],\n \"hex\": \"#192D40\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.05266, 0.08974, 0.1315],\n \"hex\": \"#0D1722\"\n }\n }\n },\n \"emerald\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.902, 0.9535, 0.9056],\n \"hex\": \"#E6F3E7\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5855, 0.7436, 0.5779],\n \"hex\": \"#95BE93\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4374, 0.6383, 0.4134],\n \"hex\": \"#70A369\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2946, 0.5328, 0.2433],\n \"hex\": \"#4B883E\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2307, 0.4158, 0.1882],\n \"hex\": \"#3B6A30\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1689, 0.3045, 0.136],\n \"hex\": \"#2B4E23\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1097, 0.1998, 0.08667],\n \"hex\": \"#1C3316\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.05386, 0.1032, 0.04065],\n \"hex\": \"#0E1A0A\"\n }\n }\n },\n \"focus-ring\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5242, 0.2903, 0.7705],\n \"hex\": \"#864AC4\"\n }\n },\n \"fuschia\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9669, 0.9118, 0.9757],\n \"hex\": \"#F7E9F9\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8859, 0.7455, 0.9086],\n \"hex\": \"#E2BEE8\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8027, 0.5791, 0.8394],\n \"hex\": \"#CD94D6\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7171, 0.4076, 0.7681],\n \"hex\": \"#B768C4\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6289, 0.209, 0.6944],\n \"hex\": \"#A035B1\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4907, 0.1701, 0.542],\n \"hex\": \"#7D2B8A\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3593, 0.1309, 0.3967],\n \"hex\": \"#5C2165\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2359, 0.0912, 0.2602],\n \"hex\": \"#3C1742\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1221, 0.05054, 0.1344],\n \"hex\": \"#1F0D22\"\n }\n }\n },\n \"greyscale\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7432, 0.7432, 0.7432],\n \"hex\": \"#BEBEBE\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6205, 0.6205, 0.6205],\n \"hex\": \"#9E9E9E\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5021, 0.5021, 0.5021],\n \"hex\": \"#808080\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3886, 0.3886, 0.3886],\n \"hex\": \"#636363\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2806, 0.2806, 0.2806],\n \"hex\": \"#484848\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.0861, 0.0861, 0.0861],\n \"hex\": \"#161616\"\n }\n }\n },\n \"lilac\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9492, 0.917, 0.9935],\n \"hex\": \"#F2EAFD\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8396, 0.7634, 0.9416],\n \"hex\": \"#D6C3F0\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7319, 0.6108, 0.8873],\n \"hex\": \"#BB9CE2\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6266, 0.4562, 0.8302],\n \"hex\": \"#A074D4\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5242, 0.2903, 0.7705],\n \"hex\": \"#864AC4\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4045, 0.2306, 0.6077],\n \"hex\": \"#673B9B\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2927, 0.172, 0.4505],\n \"hex\": \"#4B2C73\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1898, 0.115, 0.3008],\n \"hex\": \"#301D4D\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09683, 0.05998, 0.1612],\n \"hex\": \"#190F29\"\n }\n }\n },\n \"olive\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9314, 0.9449, 0.8779],\n \"hex\": \"#EEF1E0\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8033, 0.8266, 0.7044],\n \"hex\": \"#CDD3B4\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6792, 0.7106, 0.5351],\n \"hex\": \"#ADB588\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5596, 0.5967, 0.3684],\n \"hex\": \"#8F985E\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4451, 0.4851, 0.1956],\n \"hex\": \"#727C32\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3469, 0.3792, 0.1453],\n \"hex\": \"#586125\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2534, 0.2782, 0.09737],\n \"hex\": \"#414719\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1652, 0.183, 0.0523],\n \"hex\": \"#2A2F0D\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.08365, 0.09501, 0.01653],\n \"hex\": \"#151804\"\n }\n }\n },\n \"orange\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9808, 0.9208, 0.8819],\n \"hex\": \"#FAEBE1\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9272, 0.788, 0.7058],\n \"hex\": \"#ECC9B4\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8118, 0.517, 0.3762],\n \"hex\": \"#CF8460\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7481, 0.374, 0.214],\n \"hex\": \"#BF5F37\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5752, 0.2954, 0.1593],\n \"hex\": \"#934B29\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4118, 0.2185, 0.1135],\n \"hex\": \"#69381D\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1219, 0.07196, 0.04009],\n \"hex\": \"#1F120A\"\n }\n }\n },\n \"popover\": {\n \"background\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9738, 0.9799, 0.9872],\n \"hex\": \"#F8FAFC\"\n }\n }\n },\n \"purple\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9305, 0.9259, 0.9937],\n \"hex\": \"#EDECFD\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6663, 0.622, 0.9719],\n \"hex\": \"#AA9FF8\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5463, 0.4591, 0.9504],\n \"hex\": \"#8B75F2\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4378, 0.2639, 0.9228],\n \"hex\": \"#7043EB\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.3399, 0.2142, 0.7184],\n \"hex\": \"#5737B7\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2473, 0.1645, 0.5241],\n \"hex\": \"#3F2A86\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.08163, 0.06381, 0.1746],\n \"hex\": \"#15102D\"\n }\n }\n },\n \"red\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9851, 0.9151, 0.9036],\n \"hex\": \"#FBE9E6\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8779, 0.5865, 0.5474],\n \"hex\": \"#E0968C\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8114, 0.4167, 0.3761],\n \"hex\": \"#CF6A60\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7365, 0.2216, 0.2026],\n \"hex\": \"#BC3934\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5698, 0.1873, 0.1674],\n \"hex\": \"#91302B\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4113, 0.1505, 0.1319],\n \"hex\": \"#692622\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2625, 0.1106, 0.09605],\n \"hex\": \"#431C18\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1251, 0.06706, 0.05944],\n \"hex\": \"#20110F\"\n }\n }\n },\n \"resource\": {\n \"agent\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2615, 0.5132, 0.4268],\n \"hex\": \"#43836D\"\n }\n },\n \"background\": {\n \"agent\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7135, 0.8482, 0.7942],\n \"hex\": \"#B6D8CB\"\n }\n },\n \"benchmark\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"code\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9376, 0.8222, 0.7184],\n \"hex\": \"#EFD2B7\"\n }\n },\n \"compute\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9327, 0.8528, 0.7204],\n \"hex\": \"#EED9B8\"\n }\n },\n \"context\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"database\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"dataset\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.795, 0.7755, 0.9866],\n \"hex\": \"#CCC6FF\"\n }\n },\n \"document\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9272, 0.788, 0.7058],\n \"hex\": \"#ECC9B4\"\n }\n },\n \"guard\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"guardrail\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8711, 0.6538, 0.5378],\n \"hex\": \"#DEA789\"\n }\n },\n \"inference\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7403, 0.8486, 0.7417],\n \"hex\": \"#BDD8BD\"\n }\n },\n \"model\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7289, 0.7853, 0.9401],\n \"hex\": \"#BAC8F0\"\n }\n },\n \"prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"reasoning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"system-parameters\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9376, 0.8222, 0.7184],\n \"hex\": \"#EFD2B7\"\n }\n },\n \"system-prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7072, 0.8271, 0.9059],\n \"hex\": \"#B4D3E7\"\n }\n },\n \"token\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8033, 0.8266, 0.7044],\n \"hex\": \"#CDD3B4\"\n }\n },\n \"tools\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9358, 0.751, 0.7228],\n \"hex\": \"#EFC0B8\"\n }\n },\n \"unknown\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8698, 0.8698, 0.8698],\n \"hex\": \"#DEDEDE\"\n }\n }\n },\n \"benchmark\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4118, 0.2185, 0.1135],\n \"hex\": \"#69381D\"\n }\n },\n \"code\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.805, 0.5129, 0.2188],\n \"hex\": \"#CD8338\"\n }\n },\n \"compute\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8263, 0.6154, 0.2247],\n \"hex\": \"#D39D39\"\n }\n },\n \"context\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2084, 0.4784, 0.6451],\n \"hex\": \"#357AA5\"\n }\n },\n \"database\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4378, 0.2639, 0.9228],\n \"hex\": \"#7043EB\"\n }\n },\n \"dataset\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4378, 0.2639, 0.9228],\n \"hex\": \"#7043EB\"\n }\n },\n \"document\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7481, 0.374, 0.214],\n \"hex\": \"#BF5F37\"\n }\n },\n \"guard\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4118, 0.2185, 0.1135],\n \"hex\": \"#69381D\"\n }\n },\n \"guardrail\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4118, 0.2185, 0.1135],\n \"hex\": \"#69381D\"\n }\n },\n \"inference\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2946, 0.5328, 0.2433],\n \"hex\": \"#4B883E\"\n }\n },\n \"model\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2366, 0.3261, 0.7513],\n \"hex\": \"#3C53C0\"\n }\n },\n \"prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2084, 0.4784, 0.6451],\n \"hex\": \"#357AA5\"\n }\n },\n \"reasoning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2084, 0.4784, 0.6451],\n \"hex\": \"#357AA5\"\n }\n },\n \"system-parameters\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.805, 0.5129, 0.2188],\n \"hex\": \"#CD8338\"\n }\n },\n \"system-prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2084, 0.4784, 0.6451],\n \"hex\": \"#357AA5\"\n }\n },\n \"text\": {\n \"agent\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09443, 0.1941, 0.159],\n \"hex\": \"#183229\"\n }\n },\n \"benchmark\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"code\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2643, 0.1753, 0.09139],\n \"hex\": \"#432D17\"\n }\n },\n \"compute\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2723, 0.1933, 0.09642],\n \"hex\": \"#453119\"\n }\n },\n \"context\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09755, 0.1752, 0.2506],\n \"hex\": \"#192D40\"\n }\n },\n \"database\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"dataset\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1608, 0.1145, 0.3417],\n \"hex\": \"#291D57\"\n }\n },\n \"document\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"guard\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"guardrail\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2598, 0.1437, 0.07482],\n \"hex\": \"#422513\"\n }\n },\n \"inference\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1097, 0.1998, 0.08667],\n \"hex\": \"#1C3316\"\n }\n },\n \"model\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1017, 0.1411, 0.2832],\n \"hex\": \"#1A2448\"\n }\n },\n \"prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09755, 0.1752, 0.2506],\n \"hex\": \"#192D40\"\n }\n },\n \"reasoning\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09755, 0.1752, 0.2506],\n \"hex\": \"#192D40\"\n }\n },\n \"system-parameters\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2643, 0.1753, 0.09139],\n \"hex\": \"#432D17\"\n }\n },\n \"system-prompt\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09755, 0.1752, 0.2506],\n \"hex\": \"#192D40\"\n }\n },\n \"token\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1652, 0.183, 0.0523],\n \"hex\": \"#2A2F0D\"\n }\n },\n \"tools\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2625, 0.1106, 0.09605],\n \"hex\": \"#431C18\"\n }\n },\n \"unknown\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n }\n },\n \"token\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4451, 0.4851, 0.1956],\n \"hex\": \"#727C32\"\n }\n },\n \"tools\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7365, 0.2216, 0.2026],\n \"hex\": \"#BC3934\"\n }\n },\n \"unknown\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5021, 0.5021, 0.5021],\n \"hex\": \"#808080\"\n }\n }\n },\n \"teal\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8678, 0.9647, 0.925],\n \"hex\": \"#DDF6EC\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.7135, 0.8482, 0.7942],\n \"hex\": \"#B6D8CB\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5624, 0.734, 0.6673],\n \"hex\": \"#8FBBAA\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4132, 0.6223, 0.5447],\n \"hex\": \"#699F8B\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2615, 0.5132, 0.4268],\n \"hex\": \"#43836D\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2033, 0.4012, 0.3329],\n \"hex\": \"#346655\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1475, 0.2946, 0.2434],\n \"hex\": \"#264B3E\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.09443, 0.1941, 0.159],\n \"hex\": \"#183229\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.04463, 0.1013, 0.08089],\n \"hex\": \"#0B1A15\"\n }\n }\n },\n \"text\": {\n \"link\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4045, 0.2306, 0.6077],\n \"hex\": \"#673B9B\"\n }\n },\n \"primary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0, 0, 0],\n \"hex\": \"#000000\"\n }\n },\n \"secondary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1792, 0.1792, 0.1792],\n \"hex\": \"#2E2E2E\"\n }\n },\n \"tertiary\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.5021, 0.5021, 0.5021],\n \"hex\": \"#808080\"\n }\n }\n },\n \"white\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [1, 1, 1],\n \"hex\": \"#FFFFFF\"\n }\n },\n \"yellow\": {\n \"100\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.966, 0.9299, 0.8701],\n \"hex\": \"#F6EDDE\"\n }\n },\n \"200\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.9327, 0.8528, 0.7204],\n \"hex\": \"#EED9B8\"\n }\n },\n \"300\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8984, 0.7748, 0.5691],\n \"hex\": \"#E5C691\"\n }\n },\n \"400\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.863, 0.6958, 0.4108],\n \"hex\": \"#DCB169\"\n }\n },\n \"500\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.8263, 0.6154, 0.2247],\n \"hex\": \"#D39D39\"\n }\n },\n \"600\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.6345, 0.463, 0.1863],\n \"hex\": \"#A27630\"\n }\n },\n \"700\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.4487, 0.322, 0.1436],\n \"hex\": \"#725225\"\n }\n },\n \"800\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.2723, 0.1933, 0.09642],\n \"hex\": \"#453119\"\n }\n },\n \"900\": {\n \"$type\": \"color\",\n \"$value\": {\n \"colorSpace\": \"display-p3\",\n \"components\": [0.1107, 0.07879, 0.04484],\n \"hex\": \"#1C140B\"\n }\n }\n }\n }\n }\n}\n","import { useEffect, useMemo, useRef } from 'react';\n\nimport styles from '@/components/bg-gradient/bg-gradient.module.css';\n\nimport tokens from '../../../../tokens/equality-tokens.json';\n\n// Extract brand colors from tokens\nconst getBrandColors = () => {\n const brandColors = tokens.Light.color.brand;\n const colors: Record<string, string> = {};\n\n Object.entries(brandColors).forEach(([key, value]) => {\n if (value.$value) {\n const hex = value.$value.hex;\n colors[key] =\n // Remove alpha channel on hex string (last 2 chars)\n hex.slice(0, 7) || '#000000';\n }\n });\n\n return colors;\n};\n\n// Type-safe Theme type based on available brand colors\nexport type Theme = keyof typeof tokens.Light.color.brand;\n\nconst getThemeColour = (theme: Theme, brandColors: Record<string, string>) => {\n return brandColors[theme] || '#000000';\n};\n\nconst BgGradient = ({\n theme,\n placement = 'full',\n}: {\n theme: Theme;\n placement?: 'full' | 'top';\n}) => {\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const brandColors = useMemo(() => getBrandColors(), []);\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n\n // Set canvas size\n const updateSize = () => {\n canvas.width = window.innerWidth;\n canvas.height = window.innerHeight;\n };\n updateSize();\n window.addEventListener('resize', updateSize);\n\n // Gradient blob configuration\n const blobs =\n placement === 'full'\n ? [\n {\n x: -0.15,\n y: -0.15,\n size: 0.45,\n animation: { duration: 10000, offset: 0 },\n },\n {\n x: 1.25,\n y: 0,\n size: 0.45,\n animation: { duration: 12000, offset: 2000 },\n },\n {\n x: 0,\n y: 1.5,\n size: 0.4,\n animation: { duration: 14000, offset: 1000 },\n },\n {\n x: 0.9,\n y: 1.25,\n size: 0.6,\n animation: { duration: 14000, offset: 0 },\n },\n ]\n : [\n {\n x: -0.1,\n y: -0.25,\n size: 0.3,\n animation: { duration: 10000, offset: 0 },\n },\n {\n x: 1,\n y: -0.25,\n size: 0.3,\n animation: { duration: 12000, offset: 2000 },\n },\n ];\n\n const themeColourBlobs = getThemeColour(theme, brandColors);\n\n let animationFrame: number;\n const animate = () => {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n const currentTime = Date.now();\n\n blobs.forEach((blob) => {\n const progress =\n ((currentTime + blob.animation.offset) % blob.animation.duration) /\n blob.animation.duration;\n const scale = 1 + Math.sin(progress * Math.PI * 2) * 0.2;\n const moveX = Math.sin(progress * Math.PI * 2) * 0.1;\n const moveY = Math.cos(progress * Math.PI * 2) * 0.1;\n\n const gradient = ctx.createRadialGradient(\n (blob.x + moveX) * canvas.width,\n (blob.y + moveY) * canvas.height,\n 0,\n (blob.x + moveX) * canvas.width,\n (blob.y + moveY) * canvas.height,\n blob.size * Math.max(canvas.width, 800) * scale\n );\n const opacity = 85;\n gradient.addColorStop(0, `${themeColourBlobs || '#000000'}${opacity}` || '#00000040');\n gradient.addColorStop(1, 'transparent');\n\n ctx.fillStyle = gradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n });\n\n animationFrame = requestAnimationFrame(animate);\n };\n\n animate();\n\n return () => {\n window.removeEventListener('resize', updateSize);\n cancelAnimationFrame(animationFrame);\n };\n }, [theme, placement, brandColors]);\n\n return <canvas ref={canvasRef} className={styles['bg-gradient']} />;\n};\n\nexport { BgGradient };\n","import { Badge, type BadgeDisplayMode } from '@/components/badge/badge';\nimport styles from '@/components/resource-badge/resource-badge.module.css';\n\nexport type ResourceType =\n | 'agent'\n | 'benchmark'\n | 'code'\n | 'compute'\n | 'database'\n | 'dataset'\n | 'document'\n | 'guard'\n | 'guardrail'\n | 'inference'\n | 'model'\n | 'prompt'\n | 'system-prompt'\n | 'context'\n | 'reasoning'\n | 'system-parameters'\n | 'token'\n | 'tools'\n | 'unknown';\n\nexport type ResourceDisplayMode = BadgeDisplayMode;\n\ninterface ResourceBadgeProps {\n type: ResourceType;\n display?: ResourceDisplayMode;\n}\n\nconst ResourceBadge = ({ type, display = 'both' }: ResourceBadgeProps) => {\n const config = getTypeConfig(type);\n\n return (\n <Badge icon={config.icon} display={display} className={config.className} variant={null}>\n {config.label}\n </Badge>\n );\n};\n\n// Helper function\nconst getTypeConfig = (type: ResourceType) => {\n switch (type) {\n case 'agent':\n return {\n icon: 'Bot',\n className: styles['badge--agent'],\n label: 'Agent',\n };\n case 'benchmark':\n return {\n icon: 'LineChart',\n className: styles['badge--benchmark'],\n label: 'Benchmark',\n };\n case 'code':\n return {\n icon: 'Code',\n className: styles['badge--code'],\n label: 'Code',\n };\n case 'compute':\n return {\n icon: 'Cpu',\n className: styles['badge--compute'],\n label: 'Compute',\n };\n case 'database':\n return {\n icon: 'Database',\n className: styles['badge--database'],\n label: 'Database',\n };\n case 'dataset':\n return {\n icon: 'Table',\n className: styles['badge--dataset'],\n label: 'Dataset',\n };\n case 'document':\n return {\n icon: 'FileText',\n className: styles['badge--document'],\n label: 'Document',\n };\n case 'guard':\n return {\n icon: 'Shield',\n className: styles['badge--guard'],\n label: 'Guard',\n };\n case 'guardrail':\n return {\n icon: 'Fence',\n className: styles['badge--guardrail'],\n label: 'Guardrail',\n };\n case 'inference':\n return {\n icon: 'Zap',\n className: styles['badge--inference'],\n label: 'Inference',\n };\n case 'model':\n return {\n icon: 'Brain',\n className: styles['badge--model'],\n label: 'Model',\n };\n case 'prompt':\n return {\n icon: 'MessageSquareText',\n className: styles['badge--prompt'],\n label: 'Prompt',\n };\n case 'system-prompt':\n return {\n icon: 'MessageSquareCode',\n className: styles['badge--system-prompt'],\n label: 'System Prompt',\n };\n case 'context':\n return {\n icon: 'MessageSquareQuote',\n className: styles['badge--context'],\n label: 'Context',\n };\n case 'reasoning':\n return {\n icon: 'MessageSquareMore',\n className: styles['badge--reasoning'],\n label: 'Reasoning',\n };\n case 'token':\n return {\n icon: 'Coins',\n className: styles['badge--token'],\n label: 'Token',\n };\n case 'tools':\n return {\n icon: 'Wrench',\n className: styles['badge--tools'],\n label: 'Tools',\n };\n case 'system-parameters':\n return {\n icon: 'Settings2',\n className: styles['badge--system-parameters'],\n label: 'System Parameters',\n };\n case 'unknown':\n return {\n icon: 'Box',\n className: styles['badge--unknown'],\n label: 'Unknown',\n };\n }\n};\n\nexport { ResourceBadge };\n","import { forwardRef } from 'react';\n\nimport { Button } from '@/components/button/button';\nimport styles from '@/components/card-content-header/card-content-header.module.css';\nimport { Icon } from '@/components/icon/icon';\nimport { cn } from '@/lib/utils';\n\nexport interface CardContentHeaderProps {\n className?: string;\n icon: React.ReactElement | string;\n heading?: string;\n onButtonClick?: () => void;\n}\n\nconst CardContentHeader = forwardRef<HTMLDivElement, CardContentHeaderProps>(\n ({ className, icon, heading, onButtonClick, ...props }, ref) => {\n const shouldRender = heading || onButtonClick;\n const shouldWrap = !!onButtonClick;\n\n if (!shouldRender) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n styles['card-content-header'],\n shouldWrap && styles['card-content-header--wrap'],\n className\n )}\n {...props}\n >\n {/* TODO refactor this to be a slot so elevation can be set independently */}\n <Icon icon={icon} background=\"circle\" elevation=\"overlay\" />\n {onButtonClick && (\n <Button className={styles.button} variant=\"tertiary\" size=\"sm\" onClick={onButtonClick}>\n See All\n </Button>\n )}\n {heading && (\n <h3 className={cn(styles.title, onButtonClick && styles['title--button-click'])}>\n {heading}\n </h3>\n )}\n </div>\n );\n }\n);\nCardContentHeader.displayName = 'CardContentHeader';\n\nexport { CardContentHeader };\n","import * as React from 'react';\nimport { VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/card/card.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nconst cardElevationVariants = generateElevationVariants(styles, 'card', ELEVATION.RAISED);\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & { hoverGradientClassName?: string } & VariantProps<\n typeof cardElevationVariants\n >\n>(({ className, hoverGradientClassName, elevation = ELEVATION.RAISED, ...props }, ref) => {\n // If the card should have a hover style\n const shouldHaveHoverStyle = props.onClick !== undefined;\n return (\n <div\n ref={ref}\n className={cn(\n styles.card,\n shouldHaveHoverStyle && styles['card--hover'],\n cardElevationVariants({ elevation }),\n className\n )}\n {...props}\n >\n {shouldHaveHoverStyle && (\n <div className={cn(styles['card-hover-gradient'], hoverGradientClassName)} />\n )}\n {props.children}\n </div>\n );\n});\nCard.displayName = 'Card';\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['card-header'], className)} {...props} />\n )\n);\nCardHeader.displayName = 'CardHeader';\n\nconst CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['card-title'], className)} {...props} />\n )\n);\nCardTitle.displayName = 'CardTitle';\n\nconst CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['card-description'], className)} {...props} />\n )\n);\nCardDescription.displayName = 'CardDescription';\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['card-content'], className)} {...props} />\n )\n);\nCardContent.displayName = 'CardContent';\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(styles['card-footer'], className)} {...props} />\n )\n);\nCardFooter.displayName = 'CardFooter';\n\nexport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };\n","import * as React from 'react';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { Check } from 'lucide-react';\n\nimport styles from '@/components/checkbox/checkbox.module.css';\nimport { cn } from '@/lib/utils';\n\nconst CheckIcon = Check as React.ComponentType<{ className?: string }>;\n\ninterface CheckboxProps extends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {\n icon?: React.ElementType;\n size?: 'sm' | 'md';\n}\n\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, CheckboxProps>(\n ({ className, icon: Icon, size = 'md', ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(styles.checkbox, styles[size], className)}\n {...props}\n >\n <CheckboxPrimitive.Indicator className={styles.indicator}>\n {Icon ? <Icon className={styles.check} /> : <CheckIcon className={styles.check} />}{' '}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n);\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as LucideIcons from 'lucide-react';\n\nimport styles from '@/components/icon-button/icon-button.module.css';\nimport { cn } from '@/lib/utils';\n\nconst iconButtonVariants = cva(styles['icon-btn'], {\n variants: {\n size: {\n sm: styles['size--sm'],\n md: styles['size--md'],\n lg: styles['size--lg'],\n },\n variant: {\n primary: styles['icon-btn--primary'],\n danger: styles['icon-btn--danger'],\n },\n },\n defaultVariants: {\n size: 'sm',\n variant: 'primary',\n },\n});\n\nconst iconSizeMap = {\n sm: 16,\n md: 22,\n lg: 26,\n};\n\nexport interface IconButtonProps\n extends\n Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'name'>,\n VariantProps<typeof iconButtonVariants> {\n name: keyof typeof LucideIcons;\n label?: string;\n href?: string;\n target?: string;\n download?: string | boolean;\n}\n\nfunction IconButton({\n className,\n size = 'sm',\n variant = 'primary',\n name,\n label,\n href,\n target,\n download,\n disabled,\n ...props\n}: IconButtonProps) {\n const Icon = LucideIcons[name] as LucideIcons.LucideIcon;\n const iconSize = iconSizeMap[size || 'sm'];\n const IconComponent = Icon as React.ComponentType<{ size?: number }>;\n\n if (!Icon) {\n console.warn(`Icon \"${name}\" not found in lucide-react`);\n return null;\n }\n\n const content = <IconComponent size={iconSize} />;\n\n if (href && !disabled) {\n return (\n <a\n href={href}\n target={target}\n download={download}\n aria-label={label}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n className={cn(iconButtonVariants({ size, variant }), className)}\n >\n {content}\n </a>\n );\n }\n\n return (\n <button\n type=\"button\"\n aria-label={label}\n disabled={disabled}\n className={cn(iconButtonVariants({ size, variant }), className)}\n {...props}\n >\n {content}\n </button>\n );\n}\n\nexport { IconButton };\n","import * as React from 'react';\n\nimport { IconButton } from '@/components/icon-button/icon-button';\n\nexport interface CopyButtonProps {\n value: string;\n label?: string;\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n onClick?: () => void;\n}\n\nfunction CopyButton({\n value,\n label = 'Copy to clipboard',\n size = 'sm',\n className,\n onClick,\n}: CopyButtonProps) {\n const [copied, setCopied] = React.useState(false);\n\n const handleCopy = async () => {\n try {\n // Try modern Clipboard API first (requires HTTPS)\n if (navigator.clipboard && navigator.clipboard.writeText) {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n return;\n }\n\n // Fallback to legacy method\n const textArea = document.createElement('textarea');\n textArea.value = value;\n textArea.style.position = 'fixed';\n textArea.style.left = '-999999px';\n textArea.style.top = '-999999px';\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n const successful = document.execCommand('copy');\n document.body.removeChild(textArea);\n\n if (successful) {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n } else {\n throw new Error('Copy command failed');\n }\n } catch (err) {\n console.error('Failed to copy text:', err);\n }\n };\n\n const handleClick = () => {\n handleCopy();\n onClick?.();\n };\n\n return (\n <IconButton\n name={copied ? 'Check' : 'Copy'}\n label={copied ? 'Copied!' : label}\n size={size}\n onClick={handleClick}\n className={className}\n />\n );\n}\n\nexport { CopyButton };\n","const STORAGE_KEY = 'equality-theme';\nconst UPDATE_EVENT = 'equality-theme-change';\nconst FALLBACK_THEME = 'light';\ntype Theme = 'light' | 'dark';\n\ninterface InitializeThemeOptions {\n shouldStoreTheme?: boolean;\n}\n\ninterface GetCurrentThemeStateOptions {\n canFallbackToBrowserSettings?: boolean;\n}\n\ninterface GetFallbackThemeOptions {\n canFallbackToBrowserSettings?: boolean;\n}\n\nconst getFallbackTheme = (options: GetFallbackThemeOptions = {}): Theme => {\n const { canFallbackToBrowserSettings = false } = options;\n\n if (typeof window === 'undefined' || !canFallbackToBrowserSettings) {\n return FALLBACK_THEME;\n }\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n};\n\nconst getDefaultTheme = (): Theme | undefined => {\n const themeProviderRootElement =\n document.querySelector('[data-equality-theme]') || document.documentElement;\n if (themeProviderRootElement) {\n return (themeProviderRootElement.getAttribute('data-equality-theme') || undefined) as\n | Theme\n | undefined;\n } else {\n return undefined;\n }\n};\n\nconst getThemeFromLocalStorage = (): Theme | null => {\n const safeReadStorage = (key: string) => {\n try {\n return window.localStorage.getItem(key) as Theme | null;\n } catch {\n return null;\n }\n };\n\n const themeLocalStorageValue = safeReadStorage(STORAGE_KEY);\n return themeLocalStorageValue;\n};\n\nconst getThemeFromWindow = (): Theme | undefined => {\n return window.__equalityTheme as Theme | undefined;\n};\n\nconst applyThemeToDom = (theme: Theme) => {\n const themeProviderRootElement =\n document.querySelector('[data-equality-theme]') || document.documentElement;\n if (themeProviderRootElement) {\n themeProviderRootElement.setAttribute('data-equality-theme', theme); // This sets the theme that controls the styling color variables used\n }\n};\n\nconst setThemeInLocalStorage = (theme: Theme) => {\n try {\n window.localStorage.setItem(STORAGE_KEY, theme);\n window.dispatchEvent(new CustomEvent(UPDATE_EVENT, { detail: theme }));\n } catch {\n console.error('Failed to set theme in localStorage');\n }\n};\n\nconst setThemeOnWindow = (theme: Theme) => {\n window.__equalityTheme = theme;\n window.dispatchEvent(new CustomEvent(UPDATE_EVENT, { detail: theme }));\n};\n\nconst setTheme = (theme: Theme) => {\n const isUsingLocalStorage = window.__equalityIsUsingLocalStorage;\n if (isUsingLocalStorage) {\n setThemeInLocalStorage(theme);\n } else {\n setThemeOnWindow(theme);\n }\n applyThemeToDom(theme);\n};\n\nconst getCurrentThemeState = (options: GetCurrentThemeStateOptions = {}) => {\n const { canFallbackToBrowserSettings = false } = options;\n\n // First, use stored theme if available\n // Then, use default theme set on data-equality-theme attribute if available\n // Then, use fallback theme from browser settings if available\n\n if (typeof window === 'undefined') {\n return undefined;\n }\n\n const isUsingLocalStorage = window.__equalityIsUsingLocalStorage;\n const storedTheme = isUsingLocalStorage ? getThemeFromLocalStorage() : getThemeFromWindow();\n const theme =\n storedTheme || getDefaultTheme() || getFallbackTheme({ canFallbackToBrowserSettings });\n if (!storedTheme) {\n setTheme(theme);\n }\n return theme;\n};\n\nconst initializeTheme = (options: InitializeThemeOptions = {}) => {\n // This is only needed if the initial state needs to be dynamic\n const { shouldStoreTheme = false } = options;\n\n window.__equalityIsUsingLocalStorage = shouldStoreTheme;\n const theme = getCurrentThemeState({ canFallbackToBrowserSettings: true });\n if (theme) applyThemeToDom(theme);\n};\n\nconst subscribeToThemeChange = (listener: () => void) => {\n if (typeof window === 'undefined') {\n return () => {};\n }\n\n const isUsingLocalStorage = window.__equalityIsUsingLocalStorage;\n if (isUsingLocalStorage) {\n // use localStorage\n const storageListener = (event: StorageEvent) => {\n if (event.key === STORAGE_KEY) listener();\n };\n const updateListener = () => listener();\n\n window.addEventListener('storage', storageListener);\n window.addEventListener(UPDATE_EVENT, updateListener);\n return () => {\n window.removeEventListener('storage', storageListener);\n window.removeEventListener(UPDATE_EVENT, updateListener);\n };\n } else {\n // use window object\n const windowListener = () => {\n listener();\n };\n window.addEventListener(UPDATE_EVENT, windowListener);\n return () => {\n window.removeEventListener(UPDATE_EVENT, windowListener);\n };\n }\n};\n\nexport {\n Theme,\n InitializeThemeOptions,\n STORAGE_KEY,\n UPDATE_EVENT,\n FALLBACK_THEME,\n getCurrentThemeState,\n applyThemeToDom,\n initializeTheme,\n setTheme,\n subscribeToThemeChange,\n getFallbackTheme,\n getDefaultTheme,\n getThemeFromLocalStorage,\n getThemeFromWindow,\n setThemeInLocalStorage,\n setThemeOnWindow,\n};\n","import { useSyncExternalStore } from 'react';\n\nimport { getCurrentThemeState, setTheme, subscribeToThemeChange } from '@/theme/lib/utils';\n\nconst subscribe = (listener: () => void) => {\n return subscribeToThemeChange(listener);\n};\n\nconst getSnapshot = () => {\n return getCurrentThemeState();\n};\n\nconst getServerSnapshot = () => {\n // Default SSR value before hydration\n return undefined; // use undefined to indicate no server snapshot available if not using SSR\n};\n\nconst useTheme = () => {\n const theme = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return [theme, setTheme] as const;\n};\n\nexport { useTheme };\n","import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport darkStyle from 'react-syntax-highlighter/dist/esm/styles/prism/a11y-dark';\nimport lightStyle from 'react-syntax-highlighter/dist/esm/styles/prism/prism';\n\nimport { Badge } from '@/components/badge/badge';\nimport styles from '@/components/code-block/code-block.module.css';\nimport { CopyButton } from '@/components/copy-button/copy-button';\nimport { cn } from '@/lib/utils';\nimport { useTheme } from '@/theme/hooks/use-theme';\n\ninterface CodeBlockProps {\n className?: string;\n title?: string;\n code: string;\n language?: string;\n variant?: 'neutral' | 'primary' | 'success' | 'danger' | 'warning';\n codeLabel?: string;\n copy?: string;\n}\n\nconst WRAP = true;\n\nconst CodeBlock = ({\n className,\n title,\n code,\n language = 'text',\n variant = 'neutral',\n codeLabel,\n copy,\n}: CodeBlockProps) => {\n const [theme] = useTheme();\n\n return (\n <div className={cn(styles['code-block'], styles[variant], className)}>\n <div className={styles.header}>\n <div className={styles['header-left']}>\n {title && <span className={styles.title}>{title}</span>}\n <Badge variant=\"neutral\" className={styles['badge']}>\n {language}\n </Badge>\n </div>\n <div className={styles['header-right']}>\n <CopyButton value={copy || code} size=\"sm\" />\n </div>\n </div>\n <div className={cn(styles.content)}>\n <SyntaxHighlighter\n language={language}\n style={theme === 'dark' ? darkStyle : lightStyle}\n wrapLines={WRAP}\n wrapLongLines={WRAP}\n className={styles.pre}\n codeTagProps={{ className: cn(styles.code, { [styles.wrap]: WRAP }) }}\n >\n {code}\n </SyntaxHighlighter>\n </div>\n {codeLabel && (\n <div className={styles['code-label']}>\n <p className={styles['code-label-text']}>{codeLabel}</p>\n </div>\n )}\n </div>\n );\n};\n\nexport { CodeBlock };\n","import * as React from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\n\nimport styles from '@/components/dialog/dialog.module.css';\nimport { IconButton } from '@/components/icon-button/icon-button';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = ({ children }: { children: React.ReactNode }) => (\n <DialogPrimitive.Portal container={getThemeProviderRoot()}>{children}</DialogPrimitive.Portal>\n);\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(styles['dialog-overlay'], className)}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\ntype DialogContainerProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\n size?: 'sm' | 'md' | 'lg';\n};\n\nconst DialogContainer = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n DialogContainerProps\n>(({ className, children, size = 'md', ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(styles['dialog-content'], styles[`dialog-content--size-${size}`], className)}\n onCloseAutoFocus={(event) => {\n event.preventDefault();\n document.body.style.pointerEvents = '';\n }}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContainer.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeaderIcon = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['dialog-header-icon'], className)} {...props} />\n);\nDialogHeaderIcon.displayName = 'DialogHeaderIcon';\n\nconst DialogHeader = ({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const childrenArray = React.Children.toArray(children);\n const icon = childrenArray.find(\n (child) => React.isValidElement(child) && child.type === DialogHeaderIcon\n );\n const otherChildren = childrenArray.filter(\n (child) => !(React.isValidElement(child) && child.type === DialogHeaderIcon)\n );\n\n return (\n <div className={cn(styles['dialog-header'], className)} {...props}>\n {icon}\n <div className={styles['dialog-header-content']}>{otherChildren}</div>\n <DialogPrimitive.Close asChild>\n <IconButton name=\"X\" label=\"Close\" size=\"sm\" />\n </DialogPrimitive.Close>\n </div>\n );\n};\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['dialog-footer'], className)} {...props} />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title ref={ref} className={cn(styles['dialog-title'], className)} {...props} />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(styles['dialog-description'], className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nconst DialogContent = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['dialog-body'], 'styled-vertical-scrollbar', className)} {...props} />\n);\nDialogContent.displayName = 'DialogContent';\n\nexport {\n Dialog,\n DialogClose,\n DialogContainer,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogHeaderIcon,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n","import * as React from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { SearchIcon } from 'lucide-react';\n\nimport styles from '@/components/command/command.module.css';\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '@/components/dialog/dialog';\nimport { cn } from '@/lib/utils';\n\nfunction Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive data-slot=\"command\" className={cn(styles.command, className)} {...props} />\n );\n}\n\nfunction CommandDialog({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n ...props\n}: React.ComponentProps<typeof Dialog> & {\n title?: string;\n description?: string;\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className={styles['command-dialog-header']}>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent className={styles['command-dialog-content']}>\n <Command className={styles['command-dialog-content-inner']}>{children}</Command>\n </DialogContent>\n </Dialog>\n );\n}\n\nfunction CommandInput({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div data-slot=\"command-input-wrapper\" className={styles['command-input']}>\n <SearchIcon className={styles['command-input-icon']} />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn(styles['command-input-input'], className)}\n {...props}\n />\n </div>\n );\n}\n\nfunction CommandList({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn(styles['command-list'], className)}\n {...props}\n />\n );\n}\n\nfunction CommandEmpty({ ...props }: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className={styles['command-empty']}\n {...props}\n />\n );\n}\n\nfunction CommandGroup({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(styles['command-group'], className)}\n {...props}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn(styles['command-separator'], className)}\n {...props}\n />\n );\n}\n\nfunction CommandItem({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(styles['command-item'], className)}\n {...props}\n />\n );\n}\n\nfunction CommandShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn(styles['command-shortcut'], className)}\n {...props}\n />\n );\n}\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n};\n","import * as React from 'react';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\n\nimport styles from '@/components/popover/popover.module.css';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverPortal = ({ children }: { children: React.ReactNode }) => (\n <PopoverPrimitive.Portal container={getThemeProviderRoot()}>{children}</PopoverPrimitive.Portal>\n);\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & { arrow?: boolean }\n>(({ className, align = 'center', sideOffset = 4, arrow = false, children, ...props }, ref) => (\n <PopoverPortal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(styles['popover-content'], className)}\n {...props}\n >\n {arrow && <PopoverPrimitive.Arrow className={styles['popover-arrow']} />}\n {children}\n </PopoverPrimitive.Content>\n </PopoverPortal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverContent, PopoverTrigger };\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { CalendarDays, ChevronLeft, ChevronRight } from 'lucide-react';\n\nimport { Button } from '@/components/button/button';\nimport styles from '@/components/date-range-picker/date-range-picker.module.css';\nimport { IconButton } from '@/components/icon-button/icon-button';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/popover/popover';\nimport { cn } from '@/lib/utils';\n\nconst CalendarDaysIcon = CalendarDays as React.ComponentType<{ className?: string }>;\nconst ChevronLeftIcon = ChevronLeft as React.ComponentType<{ className?: string }>;\nconst ChevronRightIcon = ChevronRight as React.ComponentType<{ className?: string }>;\n\ninterface DateRange {\n from?: Date;\n to?: Date;\n}\n\ninterface DateRangePickerProps {\n dateRange: DateRange;\n onSelect: (range: DateRange) => void;\n className?: string;\n}\n\nconst DateRangePicker = ({ dateRange, onSelect, className }: DateRangePickerProps) => {\n const [selecting, setSelecting] = useState<'from' | 'to' | null>(null);\n const [displayedMonth, setDisplayedMonth] = useState(new Date().getMonth());\n const [displayedYear, setDisplayedYear] = useState(new Date().getFullYear());\n\n // Create a grid of dates for the displayed month\n const daysInMonth = new Date(displayedYear, displayedMonth + 1, 0).getDate();\n const firstDayOfMonth = new Date(displayedYear, displayedMonth, 1).getDay();\n const days = Array.from(\n { length: daysInMonth },\n (_, i) => new Date(displayedYear, displayedMonth, i + 1)\n );\n const paddingDays = Array.from({ length: firstDayOfMonth }, (_, _i) => null);\n const hasSelection = dateRange.from || dateRange.to;\n\n const MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ];\n\n const DAY_HEADERS = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n\n // Format date to readable string\n const formatDate = (date: Date): string => {\n return date.toLocaleDateString('en-US', {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n });\n };\n\n // Format range for display\n const formatRange = (range: DateRange): string => {\n if (!range.from && !range.to) return 'Select Date Range';\n if (!range.to) return `From ${formatDate(range.from!)}`;\n if (!range.from) return `Until ${formatDate(range.to)}`;\n return `${formatDate(range.from)} - ${formatDate(range.to)}`;\n };\n\n const isDateSelected = (day: Date, dateRange: DateRange): boolean => {\n const matchesFrom =\n dateRange.from &&\n day.getDate() === dateRange.from.getDate() &&\n day.getMonth() === dateRange.from.getMonth() &&\n day.getFullYear() === dateRange.from.getFullYear();\n\n const matchesTo =\n dateRange.to &&\n day.getDate() === dateRange.to.getDate() &&\n day.getMonth() === dateRange.to.getMonth() &&\n day.getFullYear() === dateRange.to.getFullYear();\n\n return !!matchesFrom || !!matchesTo;\n };\n\n const checkIsToday = (day: Date): boolean => {\n const today = new Date();\n return (\n day.getDate() === today.getDate() &&\n day.getMonth() === today.getMonth() &&\n day.getFullYear() === today.getFullYear()\n );\n };\n\n const goToPreviousMonth = () => {\n if (displayedMonth === 0) {\n setDisplayedMonth(11);\n setDisplayedYear(displayedYear - 1);\n } else {\n setDisplayedMonth(displayedMonth - 1);\n }\n };\n\n const goToNextMonth = () => {\n if (displayedMonth === 11) {\n setDisplayedMonth(0);\n setDisplayedYear(displayedYear + 1);\n } else {\n setDisplayedMonth(displayedMonth + 1);\n }\n };\n\n const isInRange = (date: Date) => {\n if (!dateRange.from || !dateRange.to) return false;\n return date >= dateRange.from && date <= dateRange.to;\n };\n\n const handleDateSelect = (selectedDate: Date) => {\n const startOfDay = (date: Date) => {\n const d = new Date(date);\n d.setHours(0, 0, 0, 0);\n return d;\n };\n\n const endOfDay = (date: Date) => {\n const d = new Date(date);\n d.setHours(23, 59, 59, 999);\n return d;\n };\n\n if (!selecting || !dateRange) {\n // Start new selection from 'from' date\n onSelect({ from: startOfDay(selectedDate), to: undefined });\n setSelecting('to');\n return;\n }\n\n if (selecting === 'to') {\n if (dateRange.from && selectedDate < dateRange.from) {\n // Swap if selected date is before 'from'\n onSelect({ from: startOfDay(selectedDate), to: endOfDay(dateRange.from) });\n } else {\n onSelect({ from: startOfDay(dateRange.from!), to: endOfDay(selectedDate) });\n }\n setSelecting(null);\n }\n };\n\n const clearSelection = () => {\n onSelect({ from: undefined, to: undefined });\n setSelecting(null);\n };\n\n const handleClearClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n clearSelection();\n };\n\n return (\n <Popover>\n <div className={styles['popover-header']}>\n <PopoverTrigger asChild>\n <Button\n variant=\"tertiary\"\n prefix={<CalendarDaysIcon />}\n suffix={\n hasSelection && (\n <IconButton\n name=\"X\"\n size=\"sm\"\n onClick={handleClearClick}\n label=\"Clear dates\"\n ></IconButton>\n )\n }\n className={cn(dateRange.from && dateRange.to && styles, className)}\n >\n <span className={styles['date-range']}>{formatRange(dateRange)}</span>\n </Button>\n </PopoverTrigger>\n </div>\n <PopoverContent className={styles['popover-content']} align=\"end\">\n {/* Header with month navigation */}\n <div className={styles['month-navigation']}>\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n className={styles['month-navigation-btn']}\n onClick={goToPreviousMonth}\n >\n <ChevronLeftIcon />\n </Button>\n\n <div className={styles['month-date-display']}>\n <div className={styles['month-date-display-title']}>\n {`${MONTHS[displayedMonth]} ${displayedYear}`}\n </div>\n {selecting && (\n <div className={styles['month-date-display-subtitle']}>\n {selecting === 'from' ? 'Select start date' : 'Select end date'}\n </div>\n )}\n </div>\n\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n className={styles['month-navigation-btn']}\n onClick={goToNextMonth}\n >\n <ChevronRightIcon />\n </Button>\n </div>\n\n {/* Day headers */}\n <div className={styles['day-headers']}>\n {DAY_HEADERS.map((day) => (\n <div key={day} className={styles['day-headers-inner']}>\n {day}\n </div>\n ))}\n </div>\n\n {/* Calendar grid */}\n <div className={styles['calendar-grid']}>\n {paddingDays.map((_, index) => (\n <div key={`padding-${index}`} />\n ))}\n {days.map((day, index) => {\n const isSelected = isDateSelected(day, dateRange);\n const isToday = checkIsToday(day);\n const inRange = isInRange(day);\n\n return (\n <Button\n key={index}\n variant=\"tertiary\"\n className={cn(\n styles['calendar-day-btn'],\n isSelected && styles['calendar-day-btn--selected'],\n isToday && !isSelected && styles['calendar-day-btn--today'],\n inRange && !isSelected && styles['calendar-day-btn--in-range']\n )}\n onClick={() => handleDateSelect(day)}\n >\n {day.getDate()}\n </Button>\n );\n })}\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n\nexport { DateRangePicker };\n","import { useEffect, useRef, useState } from 'react';\nimport Truncate from 'react-truncate-inside';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Check, TriangleAlert } from 'lucide-react';\n\nimport { CopyButton } from '@/components/copy-button/copy-button';\nimport styles from '@/components/display-field/display-field.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nconst displayFieldVariants = cva('', {\n variants: {\n variant: {\n neutral: styles['display-field--neutral'],\n neutralCheck: styles['display-field--neutral'],\n success: styles['display-field--success'],\n failure: styles['display-field--failure'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n },\n});\n\nconst displayFieldElevationVariants = generateElevationVariants(\n styles,\n 'display-field',\n ELEVATION.BASE\n);\n\nexport interface DisplayFieldProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, 'slot'>,\n VariantProps<typeof displayFieldVariants> {\n variant?: 'neutral' | 'success' | 'neutralCheck' | 'failure';\n prefix?: string;\n truncate?: true | false | 'middle';\n copy?: boolean;\n actions?: React.ReactNode;\n slot?: React.ReactNode;\n elevation?: string;\n}\n\nfunction DisplayField({\n className,\n variant,\n elevation = ELEVATION.BASE,\n children,\n prefix,\n truncate = false,\n copy = true,\n actions,\n slot,\n ...props\n}: DisplayFieldProps) {\n const middleTruncationContainerRef = useRef<HTMLDivElement>(null);\n const [middleTruncationWidth, setMiddleTruncationWidth] = useState<number | undefined>(undefined);\n\n const getIcon = () => {\n if (variant === 'success' || variant === 'neutralCheck') {\n return <Check className={styles['icon-width']} />;\n }\n if (variant === 'failure') {\n return <TriangleAlert className={styles['icon-width']} />;\n }\n return null;\n };\n\n const renderContent = () => {\n if (truncate === 'middle' && typeof children === 'string') {\n return (\n <div ref={middleTruncationContainerRef}>\n <Truncate text={children} offset={8} ellipsis=\"…\" width={middleTruncationWidth} />\n </div>\n );\n }\n return children;\n };\n\n const getTruncateClass = () => {\n if (truncate === 'middle') return styles['overflow-hidden'];\n if (truncate === true) return styles['truncate'];\n return styles['overflow-x-scroll'];\n };\n\n const getValueForCopy = () => {\n if (typeof children === 'string') {\n return children;\n }\n return '';\n };\n\n const showActions = copy || actions;\n\n useEffect(() => {\n // Calculate the width of the middle truncation\n const calcMiddleTruncationWidth = () => {\n const targetW = middleTruncationContainerRef.current?.getBoundingClientRect().width;\n setMiddleTruncationWidth(targetW);\n };\n\n const observer = new ResizeObserver((entries) => {\n if (entries.length > 0) {\n calcMiddleTruncationWidth();\n }\n });\n if (middleTruncationContainerRef.current) {\n observer.observe(middleTruncationContainerRef.current);\n }\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return (\n <div\n className={cn(\n styles['display-field'],\n displayFieldElevationVariants({ elevation }),\n className\n )}\n {...props}\n >\n <div className={styles['display-field-inner']}>\n {prefix && (\n <div className={cn(styles['prefix'], displayFieldVariants({ variant: variant }))}>\n {getIcon()}\n {prefix}\n </div>\n )}\n <span\n className={cn(styles['content'], getTruncateClass())}\n style={{ scrollbarWidth: 'thin' }}\n >\n {renderContent()}\n </span>\n {showActions && (\n <div className={styles['actions']}>\n {actions}\n {copy && <CopyButton value={getValueForCopy()} size=\"sm\" />}\n </div>\n )}\n </div>\n {slot && (\n <div className={styles['slot']}>\n <div className={styles['slot-inner']}>{slot}</div>\n </div>\n )}\n </div>\n );\n}\n\nexport { DisplayField };\n","import * as React from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nimport styles from '@/components/drawer/drawer.module.css';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root shouldScaleBackground={shouldScaleBackground} {...props} />\n);\nDrawer.displayName = 'Drawer';\n\nconst DrawerTrigger = DrawerPrimitive.Trigger;\n\nconst DrawerPortal = ({ children }: { children: React.ReactNode }) => (\n <DrawerPrimitive.Portal container={getThemeProviderRoot()}>{children}</DrawerPrimitive.Portal>\n);\n\nconst DrawerClose = DrawerPrimitive.Close;\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn(styles['drawer-overlay'], className)}\n {...props}\n />\n));\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(styles['drawer-content'], className)}\n {...props}\n >\n <div className={styles['drawer-content-divider']} />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n));\nDrawerContent.displayName = 'DrawerContent';\n\nconst DrawerHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['drawer-header'], className)} {...props} />\n);\nDrawerHeader.displayName = 'DrawerHeader';\n\nconst DrawerHeaderActions = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & { rowSpan: number }\n>(({ className, rowSpan, style, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(styles['drawer-header-actions'], className)}\n style={{ ...style, '--row-span': rowSpan } as React.CSSProperties}\n {...props}\n />\n );\n});\nDrawerHeaderActions.displayName = 'DrawerHeaderActions';\n\nconst DrawerFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['drawer-footer'], className)} {...props} />\n);\nDrawerFooter.displayName = 'DrawerFooter';\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title ref={ref} className={cn(styles['drawer-title'], className)} {...props} />\n));\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName;\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn(styles['drawer-description'], className)}\n {...props}\n />\n));\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName;\n\nconst DrawerInnerContent = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['drawer-inner-content'], className)} {...props} />\n);\nDrawerInnerContent.displayName = 'DrawerInnerContent';\n\nexport {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerFooter,\n DrawerHeader,\n DrawerHeaderActions,\n DrawerInnerContent,\n DrawerOverlay,\n DrawerPortal,\n DrawerTitle,\n DrawerTrigger,\n};\n","import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\n\nimport styles from '@/components/dropdown-menu/dropdown-menu.module.css';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst CheckIcon = Check as React.ComponentType<{ className?: string }>;\nconst ChevronRightIcon = ChevronRight as React.ComponentType<{ className?: string }>;\nconst CircleIcon = Circle as React.ComponentType<{ className?: string }>;\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = ({ children }: { children: React.ReactNode }) => (\n <DropdownMenuPrimitive.Portal container={getThemeProviderRoot()}>\n {children}\n </DropdownMenuPrimitive.Portal>\n);\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n styles['dropdown-menu-trigger'],\n inset && styles['dropdown-menu-inset'],\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(styles['dropdown-menu-sub-content'], className)}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPortal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(styles['dropdown-menu-content'], className)}\n {...props}\n />\n </DropdownMenuPortal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(styles['dropdown-menu-item'], inset && styles['dropdown-menu-inset'], className)}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(styles['dropdown-menu-checkbox-item'], className)}\n checked={checked}\n {...props}\n >\n <span className={styles['dropdown-menu-item-indicator-checkbox']}>\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className={styles['icon-size']} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(styles['dropdown-menu-radio-item'], className)}\n {...props}\n >\n <span className={styles['dropdown-menu-item-indicator-radio']}>\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className={styles['radio-icon']} />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(styles['dropdown-menu-label'], inset && styles['dropdown-menu-inset'], className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(styles['dropdown-menu-separator'], className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn(styles['dropdown-menu-shortcut'], className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n","import { Button } from '@/components/button/button';\nimport styles from '@/components/empty-table-state/empty-table-state.module.css';\nimport { Icon } from '@/components/icon/icon';\nimport { cn } from '@/lib/utils';\n\ninterface EmptyTableStateProps {\n icon: React.ReactElement | string;\n title: string;\n description?: string;\n showClearButton?: boolean;\n onClear?: () => void;\n className?: string;\n}\n\nconst EmptyTableState = ({\n icon,\n title,\n description,\n showClearButton = false,\n onClear,\n className,\n}: EmptyTableStateProps) => {\n const showButton = showClearButton && onClear;\n\n return (\n <div className={cn(styles['empty-table-state'], className)}>\n <div className={styles['icon-and-title-container']}>\n <Icon icon={icon} size=\"md\" background=\"circle\" />\n <span className={styles['title']}>{title}</span>\n </div>\n\n {description && <span className={styles['description']}>{description}</span>}\n\n {showButton && (\n <Button variant=\"tertiary\" size=\"sm\" onClick={onClear} className={styles['clear-button']}>\n Clear Filters\n </Button>\n )}\n </div>\n );\n};\n\nexport { EmptyTableState };\n","import * as React from 'react';\nimport { ChevronDown } from 'lucide-react';\n\nimport { Badge } from '@/components/badge/badge';\nimport { Button } from '@/components/button/button';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/dropdown-menu/dropdown-menu';\nimport styles from '@/components/filter-dropdown/filter-dropdown.module.css';\nimport { cn } from '@/lib/utils';\n\nconst ChevronDownIcon = ChevronDown as React.ComponentType<{ className?: string }>;\n\ninterface FilterOption {\n value: string;\n label: string;\n}\n\ninterface FilterDropdownProps {\n label: string;\n options: FilterOption[];\n selectedFilters: string[];\n onToggleFilter: (value: string) => void;\n onClearAll: () => void;\n buttonClassName?: string;\n contentClassName?: string;\n}\n\nconst FilterDropdown = ({\n label,\n options,\n selectedFilters,\n onToggleFilter,\n onClearAll,\n buttonClassName,\n contentClassName,\n}: FilterDropdownProps) => {\n const hasSelectedFilters = selectedFilters.length > 0;\n const filteredOptions = options\n .filter(\n (option) =>\n option.value && option.value.trim() !== '' && option.label && option.label.trim() !== ''\n )\n .sort((a, b) => a.label.localeCompare(b.label));\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" className={cn(styles['selector-button'], buttonClassName)}>\n <span className={styles['selector-button-content']}>\n {label}\n {hasSelectedFilters && <Badge variant=\"primary\">{selectedFilters.length}</Badge>}\n </span>\n <ChevronDownIcon className={styles['chevron-icon']} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n className={cn(styles['dropdown-menu-content'], contentClassName)}\n >\n <DropdownMenuLabel>\n Filters\n {hasSelectedFilters && (\n <Button variant=\"link\" size=\"sm\" onClick={onClearAll}>\n Clear all\n </Button>\n )}\n </DropdownMenuLabel>\n <DropdownMenuSeparator />\n {filteredOptions.map((option) => {\n const isSelected = selectedFilters.includes(option.value);\n\n return (\n <DropdownMenuCheckboxItem\n key={option.value}\n checked={isSelected}\n onCheckedChange={() => onToggleFilter(option.value)}\n onSelect={(e) => e.preventDefault()}\n >\n {option.label}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nexport { FilterDropdown };\n","import * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/label/label.module.css';\nimport { cn } from '@/lib/utils';\n\nconst labelVariants = cva(styles['label']);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import * as React from 'react';\nimport {\n Controller,\n FormProvider,\n useFormContext,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from 'react-hook-form';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\n\nimport styles from '@/components/form/form.module.css';\nimport { Label } from '@/components/label/label';\nimport { cn } from '@/lib/utils';\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(styles['form-item'], className)} {...props} />\n </FormItemContext.Provider>\n );\n }\n);\nFormItem.displayName = 'FormItem';\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n ref={ref}\n className={cn(styles['form-label'], error && styles['form-label--failure'], className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\nFormLabel.displayName = 'FormLabel';\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n );\n});\nFormControl.displayName = 'FormControl';\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(styles['form-description'], className)}\n {...props}\n />\n );\n});\nFormDescription.displayName = 'FormDescription';\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p ref={ref} id={formMessageId} className={cn(styles['form-message'], className)} {...props}>\n {body}\n </p>\n );\n});\nFormMessage.displayName = 'FormMessage';\n\nexport { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage };\n\n// eslint-disable-next-line react-refresh/only-export-components\nexport { useFormField };\n","import * as React from 'react';\n\nimport { Card, CardContent } from '@/components/card/card';\nimport { Icon } from '@/components/icon/icon';\nimport styles from '@/components/info-card/info-card.module.css';\nimport { Elevation, ELEVATION, getRelativeElevation } from '@/lib/elevations';\n\ninterface InfoCardProps {\n label: string;\n description: string | number | React.ReactNode;\n icon: React.ReactElement | string;\n className?: string;\n onClick?: () => void;\n elevation?: Elevation;\n}\n\nconst InfoCard = ({\n label,\n description,\n icon,\n elevation = ELEVATION.RAISED,\n className,\n onClick,\n ...props\n}: InfoCardProps) => {\n return (\n <Card className={className} onClick={onClick} elevation={elevation} {...props}>\n <CardContent>\n <div className={styles['info-card-content']}>\n <Icon\n icon={icon}\n size=\"sm\"\n background=\"square\"\n elevation={\n elevation === ELEVATION.SUNKEN ? ELEVATION.BASE : getRelativeElevation(elevation, -1)\n }\n />\n <div className={styles['copy-container']}>\n <p className={styles['label']}>{label}</p>\n <div className={styles['description']}>{description}</div>\n </div>\n </div>\n </CardContent>\n </Card>\n );\n};\n\nexport { InfoCard };\n","import * as React from 'react';\n\nimport styles from '@/components/input/input.module.css';\nimport { cn } from '@/lib/utils';\n\nexport type InputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'suffix'> & {\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n};\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, prefix, suffix, ...props }, ref) => {\n return (\n <div className={cn(styles['input-wrapper'], className)}>\n {prefix && <span className={styles['input-prefix']}>{prefix}</span>}\n <input type={type} className={styles['input-element']} ref={ref} {...props} />\n {suffix && <span className={styles['input-suffix']}>{suffix}</span>}\n </div>\n );\n }\n);\nInput.displayName = 'Input';\n\nexport { Input };\n","import { Grid3X3, List } from 'lucide-react';\n\nimport styles from '@/components/list-or-grid-view-toggle/list-or-grid-view-toggle.module.css';\nimport { cn } from '@/lib/utils';\n\nexport type ViewMode = 'grid' | 'list';\nexport type ViewOrder = ['grid', 'list'] | ['list', 'grid'];\n\ninterface ListOrGridViewToggleProps {\n viewMode: ViewMode;\n onViewModeChange: (mode: ViewMode) => void;\n order?: ViewOrder;\n className?: string;\n}\n\nconst ListOrGridViewToggle = ({\n viewMode,\n onViewModeChange,\n order = ['grid', 'list'],\n className,\n}: ListOrGridViewToggleProps) => {\n const currentActiveIndex = order.indexOf(viewMode);\n\n const handleGridClick = () => {\n onViewModeChange('grid');\n };\n\n const handleListClick = () => {\n onViewModeChange('list');\n };\n\n return (\n <div className={cn(styles['list-or-grid-view-toggle'], className)}>\n {order.map((mode) => {\n const currentlyActive = mode === viewMode;\n const Icon = mode === 'grid' ? Grid3X3 : List;\n return (\n <button\n key={mode}\n type=\"button\"\n aria-label={mode === 'grid' ? 'Grid view' : 'List view'}\n className={cn(\n styles['icon-button'],\n currentlyActive ? styles['icon-button--active'] : styles['icon-button--inactive']\n )}\n onClick={mode === 'grid' ? handleGridClick : handleListClick}\n >\n <Icon size={16} />\n </button>\n );\n })}\n <div\n className={styles['active-button-indicator']}\n style={{\n transform: `translateX(${currentActiveIndex * 100}%)`,\n width: `${100 / order.length}%`,\n }}\n ></div>\n </div>\n );\n};\n\nexport { ListOrGridViewToggle };\n","import styles from '@/components/spinner/spinner.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface SpinnerProps {\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n variant?: 'neutral' | 'primary' | 'success' | 'danger' | 'warning';\n}\n\nexport const Spinner = ({ size = 'md', variant = 'neutral' }: SpinnerProps) => {\n return (\n <div className={styles['spinner-container']}>\n <div className={cn(styles['spinner'], styles[size], styles[variant])} />\n <div className={cn(styles['spinner-background'], styles[size])} />\n </div>\n );\n};\n","import styles from '@/components/loading-overlay/loading-overlay.module.css';\nimport { Spinner } from '@/components/spinner/spinner';\n\ninterface LoadingOverlayProps {\n isVisible: boolean;\n message?: string;\n}\n\nfunction LoadingOverlay({ isVisible, message = 'Loading...' }: LoadingOverlayProps) {\n if (!isVisible) return null;\n\n return (\n <div className={styles['loading-overlay']}>\n <div className={styles['content']}>\n <Spinner variant=\"primary\" />\n <p className={styles['message']}>{message}</p>\n </div>\n </div>\n );\n}\n\nexport { LoadingOverlay };\n","import { VariantProps } from 'class-variance-authority';\n\nimport { Icon } from '@/components/icon/icon';\nimport styles from '@/components/metric-card/metric-card.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nconst metricCardElevationVariants = generateElevationVariants(\n styles,\n 'metric-card',\n ELEVATION.RAISED\n);\n\ntype Variant = 'default' | 'primary' | 'danger' | 'success' | 'warning';\n\ninterface MetricCardProps extends VariantProps<typeof metricCardElevationVariants> {\n value: string | number;\n label: string;\n icon: React.ReactElement | string;\n variant?: Variant;\n className?: string;\n}\n\nconst VARIANTS: Record<Variant, { text: string; iconBg: string }> = {\n default: {\n text: styles['text-default'],\n iconBg: styles['bg-default'],\n },\n primary: {\n text: styles['text-primary'],\n iconBg: styles['bg-primary'],\n },\n danger: {\n text: styles['text-danger'],\n iconBg: styles['bg-danger'],\n },\n success: {\n text: styles['text-success'],\n iconBg: styles['bg-success'],\n },\n warning: {\n text: styles['text-warning'],\n iconBg: styles['bg-warning'],\n },\n};\n\nconst MetricCard = ({\n value,\n label,\n icon,\n variant = 'default',\n elevation = ELEVATION.RAISED,\n className,\n}: MetricCardProps) => {\n const variantStyles = VARIANTS[variant];\n\n return (\n <div className={cn(metricCardElevationVariants({ elevation }), className)}>\n <div className={styles['value-container']}>\n <p className={cn(styles.value)}>{value}</p>\n {/* TODO: these status based icon styles are incompatible with the elevation system. Refactor them into the icon component as variants and make icon a slot instead of a hardcoded element with a property in metric card (this component) */}\n <Icon\n icon={icon}\n size=\"md\"\n background=\"circle\"\n className={cn(variantStyles.iconBg, variantStyles.text)}\n />\n </div>\n <p className={styles.label}>{label}</p>\n </div>\n );\n};\n\nexport { MetricCard };\n","import { ReactNode, useEffect, useRef, useState } from 'react';\nimport { AnimatePresence, motion } from 'motion/react';\n\nimport styles from '@/components/motion-collapsible/motion-collapsible.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface MotionCollapsibleContentProps {\n isOpen: boolean;\n children: ReactNode;\n className?: string;\n}\n\nconst MotionCollapsibleContent = ({\n isOpen,\n children,\n className,\n}: MotionCollapsibleContentProps) => {\n const [contentHeight, setContentHeight] = useState<number>(0);\n\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (contentRef.current) {\n const resizeObserver = new ResizeObserver(() => {\n if (contentRef.current) {\n setContentHeight(contentRef.current.scrollHeight);\n }\n });\n\n resizeObserver.observe(contentRef.current);\n setContentHeight(contentRef.current.scrollHeight);\n\n return () => resizeObserver.disconnect();\n }\n }, [children]);\n\n return (\n <AnimatePresence initial={false} mode=\"wait\">\n {isOpen && (\n <motion.div\n key=\"motion-content\"\n initial={{ height: 0, opacity: 0 }}\n animate={{ height: contentHeight, opacity: 1 }}\n exit={{ height: 0, opacity: 0 }}\n transition={{ duration: 0.3, ease: 'easeInOut' }}\n className={cn(styles['motion-collapsible'], className)}\n >\n <div ref={contentRef}>{children}</div>\n </motion.div>\n )}\n </AnimatePresence>\n );\n};\n\nexport { MotionCollapsibleContent };\n","import * as React from 'react';\nimport { AlertOctagon, Home } from 'lucide-react';\n\nimport { Button } from '@/components/button/button';\nimport styles from '@/components/page-not-found/page-not-found.module.css';\nimport { cn } from '@/lib/utils';\n\nconst OctagonAlert = AlertOctagon as React.ComponentType<{ className?: string }>;\nconst HomeIcon = Home as React.ComponentType<{ className?: string }>;\n\ninterface NotFoundProps {\n className?: string;\n title?: string;\n description?: string;\n showHomeButton?: boolean;\n onHomeClick?: () => void;\n}\n\nconst NotFound = ({\n className,\n title = 'Oops! Page Not Found',\n description = \"The page or resource you're looking for doesn't exist or has been moved.\",\n showHomeButton = true,\n onHomeClick = () => (window.location.href = '/'),\n}: NotFoundProps) => {\n return (\n <div className={cn(styles['page-not-found'], className)}>\n <div className={styles['page-not-found-inner']}>\n {/* Icon */}\n <div className={styles['icon-container']}>\n <OctagonAlert className={styles['alert-icon']} />\n </div>\n\n {/* Title */}\n <h1 className={styles['title']}>{title}</h1>\n\n {/* Description */}\n <p className={styles['description']}>{description}</p>\n\n {/* Actions */}\n <div className={styles['actions']}>\n {showHomeButton && (\n <Button onClick={onHomeClick} variant=\"secondary\">\n <HomeIcon className={styles['home-icon']} />\n Return Home\n </Button>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport { NotFound };\n","import * as React from 'react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { VariantProps } from 'class-variance-authority';\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\n\nimport styles from '@/components/select/select.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst CheckIcon = Check as React.ComponentType<{ className?: string }>;\nconst ChevronDownIcon = ChevronDown as React.ComponentType<{ className?: string }>;\nconst ChevronUpIcon = ChevronUp as React.ComponentType<{ className?: string }>;\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger ref={ref} className={cn(styles['select-trigger'], className)} {...props}>\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className={cn(styles['select-icon'], styles['select-icon--low-opacity'])} />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(styles['select-scroll-button'], className)}\n {...props}\n >\n <ChevronUpIcon className={styles['select-icon']} />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(styles['select-scroll-button'], className)}\n {...props}\n >\n <ChevronDownIcon className={styles['select-icon']} />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectPortal = ({ children }: { children: React.ReactNode }) => (\n <SelectPrimitive.Portal container={getThemeProviderRoot()}>{children}</SelectPrimitive.Portal>\n);\n\nconst selectContentElevationVariants = generateElevationVariants(\n styles,\n 'select-content',\n ELEVATION.OVERLAY\n);\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> &\n VariantProps<typeof selectContentElevationVariants>\n>(({ className, children, position = 'popper', elevation = ELEVATION.OVERLAY, ...props }, ref) => (\n <SelectPortal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n styles['select-content'],\n position === 'popper' && styles['select-content--popper'],\n selectContentElevationVariants({ elevation }),\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n styles['select-viewport'],\n position === 'popper' && styles['select-viewport--popper']\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPortal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label ref={ref} className={cn(styles['select-label'], className)} {...props} />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item ref={ref} className={cn(styles['select-item'], className)} {...props}>\n <span className={styles['select-item-indicator']}>\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className={styles['select-icon']} />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(styles['select-separator'], className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n","import * as React from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\n\nimport { Button } from '@/components/button/button';\nimport styles from '@/components/pagination/pagination.module.css';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@/components/select/select';\nimport { cn } from '@/lib/utils';\n\nconst ChevronLeftIcon = ChevronLeft as React.ComponentType<{ className?: string }>;\nconst ChevronRightIcon = ChevronRight as React.ComponentType<{ className?: string }>;\n\ninterface PaginationProps {\n currentPage: number;\n totalItems: number;\n filteredItems: number;\n itemsPerPage: number;\n onPageChange: (page: number) => void;\n onItemsPerPageChange?: (itemsPerPage: number) => void;\n itemsPerPageOptions?: number[];\n showInfo?: boolean;\n maxVisiblePages?: number;\n className?: string;\n type?: string;\n scrollTargetRef?: React.RefObject<HTMLElement | null> | string;\n}\n\nconst Pagination = ({\n currentPage,\n totalItems,\n filteredItems,\n itemsPerPage,\n onPageChange,\n onItemsPerPageChange,\n itemsPerPageOptions = [10, 25, 50, 100],\n showInfo = true,\n maxVisiblePages = 5,\n className = '',\n type = '',\n scrollTargetRef,\n}: PaginationProps) => {\n const totalPages = Math.ceil(filteredItems / itemsPerPage);\n const startItem = Math.min(filteredItems, 1 + (currentPage - 1) * itemsPerPage);\n const endItem = Math.min(currentPage * itemsPerPage, filteredItems);\n const hasFilteredItems = filteredItems > 0;\n const isFirstPage = currentPage === 1;\n const isLastPage = currentPage === totalPages;\n\n // Don't render if there's only one page or no items\n if (totalItems <= itemsPerPageOptions[0]) {\n return null;\n }\n\n const handlePageChange = (page: number) => {\n onPageChange(page);\n\n // Scroll to target element if provided\n if (scrollTargetRef) {\n if (typeof scrollTargetRef === 'string') {\n // Handle string case - treat as element ID\n const target = document.getElementById(scrollTargetRef);\n if (target) {\n target.scrollIntoView({ behavior: 'smooth' });\n }\n } else {\n // Handle ref case\n if (scrollTargetRef.current) {\n scrollTargetRef.current.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n const viewport = document.querySelector('[data-radix-scroll-area-viewport]');\n if (viewport) {\n viewport.scrollTop = 0;\n }\n }\n };\n\n const handleItemsPerPageChange = (value: string) => {\n const newItemsPerPage = parseInt(value);\n onItemsPerPageChange?.(newItemsPerPage);\n // Reset to page 1 when changing items per page\n onPageChange(1);\n };\n\n const handlePreviousPage = () => {\n handlePageChange(Math.max(1, currentPage - 1));\n };\n\n const handleNextPage = () => {\n handlePageChange(Math.min(totalPages, currentPage + 1));\n };\n\n // Calculate which page numbers to show\n const getVisiblePages = () => {\n const pageButtons = [];\n let startPage = 1;\n let endPage = totalPages;\n\n if (totalPages > maxVisiblePages) {\n const halfVisible = Math.floor(maxVisiblePages / 2);\n\n if (currentPage <= halfVisible + 1) {\n // Show first pages\n endPage = maxVisiblePages;\n } else if (currentPage >= totalPages - halfVisible) {\n // Show last pages\n startPage = totalPages - maxVisiblePages + 1;\n } else {\n // Show pages centered around current page\n startPage = currentPage - halfVisible;\n endPage = currentPage + halfVisible;\n }\n }\n\n for (let i = startPage; i <= endPage; i++) {\n pageButtons.push(\n <Button\n key={i}\n variant={currentPage === i ? 'primary' : 'tertiary'}\n size=\"sm\"\n onClick={() => handlePageChange(i)}\n >\n {i}\n </Button>\n );\n }\n\n return pageButtons;\n };\n\n return (\n <div className={cn(styles['pagination'], className)}>\n {/* Left side: Info text with inline dropdown */}\n <div className={styles['info-container']}>\n {showInfo && hasFilteredItems && (\n <>\n <span>Showing {startItem} to</span>\n {onItemsPerPageChange ? (\n <Select value={itemsPerPage.toString()} onValueChange={handleItemsPerPageChange}>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {itemsPerPageOptions.map((option) => (\n <SelectItem key={option} value={option.toString()}>\n {option}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n ) : (\n <span>{endItem}</span>\n )}\n <span>\n of {filteredItems} {type}\n </span>\n </>\n )}\n </div>\n\n {/* Right side: Page navigation */}\n <div className={styles['page-navigation-container']}>\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n onClick={handlePreviousPage}\n disabled={isFirstPage}\n aria-label=\"Previous page\"\n >\n <ChevronLeftIcon />\n </Button>\n\n {getVisiblePages()}\n\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n onClick={handleNextPage}\n disabled={isLastPage}\n aria-label=\"Next page\"\n >\n <ChevronRightIcon />\n </Button>\n </div>\n </div>\n );\n};\n\nexport { Pagination };\n","import styles from '@/components/panel-label/panel-label.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface PanelLabelProps {\n className?: string;\n label: string;\n}\n\nconst PanelLabel = ({ className, label }: PanelLabelProps) => {\n return <div className={cn(styles['panel-label'], className)}>{label}</div>;\n};\n\nexport { PanelLabel };\n","import * as React from 'react';\nimport * as ProgressPrimitive from '@radix-ui/react-progress';\n\nimport styles from '@/components/progress/progress.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface ProgressProps extends React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root> {\n color?: 'primary' | 'secondary' | 'green' | 'red' | 'yellow';\n}\n\nconst Progress = React.forwardRef<React.ElementRef<typeof ProgressPrimitive.Root>, ProgressProps>(\n ({ className, value, color = 'primary', ...props }, ref) => (\n <ProgressPrimitive.Root ref={ref} className={cn(styles['progress'], className)} {...props}>\n <ProgressPrimitive.Indicator\n className={cn(styles['progress-indicator'], styles[color])}\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n )\n);\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n","import { forwardRef } from 'react';\n\nimport styles from '@/components/radial-graph/radial-graph.module.css';\nimport { cn } from '@/lib/utils';\n\nexport interface RadialGraphProps {\n percentage: number;\n displayLabel?: string;\n className?: string;\n subLabel?: string;\n graphSize?: 'sm' | 'md' | 'lg';\n variant?: 'primary' | 'success' | 'danger' | 'warning';\n}\n\nconst RadialGraph = forwardRef<HTMLDivElement, RadialGraphProps>(\n (\n {\n percentage,\n displayLabel,\n className,\n subLabel,\n graphSize = 'md',\n variant = 'primary',\n ...props\n },\n ref\n ) => {\n const bars = Array.from({ length: 100 });\n const label = displayLabel ?? `${Math.round(percentage)}%`;\n\n return (\n <div\n ref={ref}\n className={cn(styles['radial-graph'], styles[graphSize], className)}\n {...props}\n >\n <div className={styles['bars-container']}>\n {bars.map((_, i) => {\n const isActive = i < percentage;\n const delay = `${i * 10}ms`;\n\n return (\n <div\n key={i}\n className={styles['bar']}\n style={{\n transform: `rotate(${i * 3.6}deg)`,\n }}\n >\n <div\n className={cn(\n styles['bar-inner'],\n isActive ? styles['bar-inner--active'] : styles['bar-inner--inactive']\n )}\n style={{\n transitionDelay: delay,\n animationDelay: delay,\n }}\n >\n <div className={styles['bar-background']} />\n <div\n className={cn(\n styles['bar-gradient'],\n styles[`bar-gradient--${variant}`],\n isActive ? styles['bar-gradient--active'] : styles['bar-gradient--inactive']\n )}\n style={{\n transitionDelay: delay,\n animationDelay: delay,\n }}\n />\n </div>\n </div>\n );\n })}\n </div>\n <div className={styles['label-container']}>\n <p className={cn(styles['label'], styles[graphSize])}>{label}</p>\n {subLabel && <p className={styles['sub-label']}>{subLabel}</p>}\n </div>\n </div>\n );\n }\n);\nRadialGraph.displayName = 'RadialGraph';\n\nexport { RadialGraph };\n","import * as React from 'react';\nimport { ChevronDown } from 'lucide-react';\n\nimport { Badge } from '@/components/badge/badge';\nimport { Button } from '@/components/button/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/dropdown-menu/dropdown-menu';\nimport styles from '@/components/radio-dropdown/radio-dropdown.module.css';\n\nconst ChevronDownIcon = ChevronDown as React.ComponentType<{ className?: string }>;\n\ninterface FilterOption {\n value: string;\n label: string;\n count?: number;\n}\n\ninterface RadioDropdownProps {\n label: string;\n options: FilterOption[];\n selectedValue: string;\n onSelect: (value: string) => void;\n className?: string;\n}\n\nconst RadioDropdown = ({\n label,\n options,\n selectedValue,\n onSelect,\n className,\n}: RadioDropdownProps) => {\n const selectedOption = options.find((opt) => opt.value === selectedValue);\n const hasSelectedCount = selectedOption?.count !== undefined;\n\n const filteredOptions = options.filter(\n (option) =>\n option.value && option.value.trim() !== '' && option.label && option.label.trim() !== ''\n );\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" className={className}>\n <span className={styles['selector-button-inner']}>\n {selectedOption?.label || label}\n {hasSelectedCount && <Badge variant=\"primary\">{selectedOption.count}</Badge>}\n </span>\n <ChevronDownIcon className={styles['chevron-icon']} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className={styles['dropdown-menu-content']}>\n <DropdownMenuLabel>{label}</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuRadioGroup value={selectedValue} onValueChange={onSelect}>\n {filteredOptions.map((option) => {\n const hasCount = option.count !== undefined;\n\n return (\n <DropdownMenuRadioItem key={option.value} value={option.value}>\n {option.label}\n {hasCount && ` (${option.count})`}\n </DropdownMenuRadioItem>\n );\n })}\n </DropdownMenuRadioGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nexport { RadioDropdown };\n","import * as React from 'react';\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { Circle } from 'lucide-react';\n\nimport styles from '@/components/radio-group/radio-group.module.css';\nimport { cn } from '@/lib/utils';\n\nconst CircleIcon = Circle as React.ComponentType<{ className?: string }>;\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(styles['radio-group'], className)}\n {...props}\n ref={ref}\n />\n );\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(styles['radio-group-item'], className)}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className={styles['radio-group-item-indicator']}>\n <CircleIcon className={styles['indicator-icon']} />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n","import * as React from 'react';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\n\nimport styles from '@/components/scroll-area/scroll-area.module.css';\nimport { cn } from '@/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root ref={ref} className={cn(styles['scroll-area'], className)} {...props}>\n <ScrollAreaPrimitive.Viewport className={styles['scroll-area-viewport']}>\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n styles['scroll-bar'],\n orientation === 'vertical' && styles['scroll-bar--vertical'],\n orientation === 'horizontal' && styles['scroll-bar--horizontal'],\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className={styles['scroll-area-thumb']} />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import * as React from 'react';\nimport { Search } from 'lucide-react';\n\nimport { IconButton } from '@/components/icon-button/icon-button';\nimport { Input } from '@/components/input/input';\nimport styles from '@/components/search-bar/search-bar.module.css';\nimport { cn } from '@/lib/utils';\n\nconst SearchIcon = Search as React.ComponentType<{ className?: string }>;\n\ninterface SearchBarProps {\n className?: string;\n placeholder?: string;\n searchQuery: string;\n setSearchQuery: (query: string) => void;\n}\n\nconst SearchBar = ({\n searchQuery,\n setSearchQuery,\n placeholder = 'Search...',\n className,\n}: SearchBarProps) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchQuery(e.target.value);\n };\n\n const handleClear = () => {\n setSearchQuery('');\n };\n\n return (\n <search className={cn(styles['search-bar'], className)}>\n <Input\n placeholder={placeholder}\n value={searchQuery}\n onChange={handleChange}\n className={styles['input']}\n prefix={<SearchIcon className={styles['search-icon']} />}\n suffix={\n searchQuery && (\n <IconButton\n name=\"XIcon\"\n onClick={handleClear}\n className={styles['clear-button']}\n label=\"Clear search\"\n ></IconButton>\n )\n }\n />\n </search>\n );\n};\n\nexport { SearchBar };\n","import styles from '@/components/section-heading/section-heading.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface SectionHeadingProps {\n className?: string;\n heading: string;\n description?: string;\n renderRightContent?: () => React.ReactNode;\n}\n\nconst SectionHeading = ({\n heading,\n description,\n renderRightContent,\n className,\n}: SectionHeadingProps) => {\n const hasRightContent = !!renderRightContent;\n\n return (\n <div className={cn(hasRightContent && styles['section-heading--right-content'], className)}>\n <div className={styles['content']}>\n <h3 className={styles['heading']}>{heading}</h3>\n {description && <p className={styles['description']}>{description}</p>}\n </div>\n {hasRightContent && renderRightContent()}\n </div>\n );\n};\n\nexport { SectionHeading };\n","import * as React from 'react';\nimport * as SeparatorPrimitive from '@radix-ui/react-separator';\n\nimport styles from '@/components/separator/separator.module.css';\nimport { cn } from '@/lib/utils';\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n styles['separator'],\n orientation === 'horizontal'\n ? styles['separator--horizontal']\n : styles['separator--vertical'],\n className\n )}\n {...props}\n />\n));\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\n\nexport { Separator };\n","import * as React from 'react';\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { IconButton } from '@/components/icon-button/icon-button';\nimport styles from '@/components/sheet/sheet.module.css';\nimport { cn, getThemeProviderRoot } from '@/lib/utils';\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = ({ children }: { children: React.ReactNode }) => (\n <SheetPrimitive.Portal container={getThemeProviderRoot()}>{children}</SheetPrimitive.Portal>\n);\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay className={cn(styles['sheet-overlay'], className)} {...props} ref={ref} />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(styles['sheet-content'], {\n variants: {\n side: {\n top: styles['sheet-content--side-top'],\n bottom: styles['sheet-content--side-bottom'],\n left: styles['sheet-content--side-left'],\n right: styles['sheet-content--side-right'],\n },\n },\n defaultVariants: {\n side: 'right',\n },\n});\n\ninterface SheetContainerProps\n extends\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {}\n\nconst SheetContainer = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContainerProps\n>(({ side = 'right', className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content ref={ref} className={cn(sheetVariants({ side }), className)} {...props}>\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n));\nSheetContainer.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeaderIcon = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['sheet-header-icon'], className)} {...props} />\n);\nSheetHeaderIcon.displayName = 'SheetHeaderIcon';\n\nconst SheetHeader = ({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const childrenArray = React.Children.toArray(children);\n const icon = childrenArray.find(\n (child) => React.isValidElement(child) && child.type === SheetHeaderIcon\n );\n const otherChildren = childrenArray.filter(\n (child) => !(React.isValidElement(child) && child.type === SheetHeaderIcon)\n );\n\n return (\n <div className={cn(styles['sheet-header'], className)} {...props}>\n {icon}\n <div className={styles['sheet-header-text-content']}>{otherChildren}</div>\n <SheetPrimitive.Close asChild>\n <IconButton name=\"X\" label=\"Close\" className={styles['sheet-close']} />\n </SheetPrimitive.Close>\n </div>\n );\n};\nSheetHeader.displayName = 'SheetHeader';\n\nconst SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['sheet-footer'], className)} {...props} />\n);\nSheetFooter.displayName = 'SheetFooter';\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title ref={ref} className={cn(styles['sheet-title'], className)} {...props} />\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn(styles['sheet-description'], className)}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nconst SheetContent = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(styles['sheet-body'], 'styled-vertical-scrollbar', className)} {...props} />\n);\nSheetContent.displayName = 'SheetContent';\n\nexport {\n Sheet,\n SheetClose,\n SheetContainer,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetHeaderIcon,\n SheetOverlay,\n SheetPortal,\n SheetTitle,\n SheetTrigger,\n};\n","import styles from '@/components/skeleton/skeleton.module.css';\nimport { cn } from '@/lib/utils';\n\nfunction Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn(styles['skeleton'], className)} {...props} />;\n}\n\nexport { Skeleton };\n","import * as React from 'react';\nimport { ChevronDown } from 'lucide-react';\n\nimport { Button } from '@/components/button/button';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/dropdown-menu/dropdown-menu';\nimport styles from '@/components/sort-selector/sort-selector.module.css';\nimport { cn } from '@/lib/utils';\n\nconst ChevronDownIcon = ChevronDown as React.ComponentType<{ className?: string }>;\n\nexport type SortField = 'name' | 'type' | 'createdAt' | 'updatedAt';\nexport type SortOrder = 'asc' | 'desc';\nexport type SortMode = 'created' | 'updated';\n\ninterface SortSelectorProps {\n sortField: SortField;\n defaultSortField?: SortField;\n sortOrder: SortOrder;\n defaultSortOrder?: SortOrder;\n sortMode?: SortMode;\n setSortField: (field: SortField) => void;\n setSortOrder: (order: SortOrder) => void;\n setCurrentPage?: (page: number) => void;\n showDateOptions?: boolean;\n className?: string;\n}\n\nfunction SortSelector({\n sortField,\n defaultSortField = 'name',\n sortOrder,\n defaultSortOrder = 'asc',\n sortMode = 'created',\n setSortField,\n setSortOrder,\n setCurrentPage,\n showDateOptions = true,\n className,\n}: SortSelectorProps) {\n const options = [\n { value: 'name-asc', label: 'Name (A-Z)' },\n { value: 'name-desc', label: 'Name (Z-A)' },\n ...(showDateOptions\n ? sortMode === 'created'\n ? [\n { value: 'createdAt-desc', label: 'Recently Created' },\n { value: 'createdAt-asc', label: 'Oldest Created' },\n ]\n : [\n { value: 'updatedAt-desc', label: 'Recently Updated' },\n { value: 'updatedAt-asc', label: 'Oldest Updated' },\n ]\n : []),\n ] as const;\n\n const currentValue = `${sortField}-${sortOrder}`;\n const currentLabel = options.find((option) => option.value === currentValue)?.label || 'Sort';\n const isDefaultSort = sortField === defaultSortField && sortOrder === defaultSortOrder;\n\n const filteredOptions = options.filter(\n (option) =>\n option.value && option.value.trim() !== '' && option.label && option.label.trim() !== ''\n );\n\n const handleChange = (value: string) => {\n const [field, order] = value.split('-') as [SortField, SortOrder];\n setSortField(field);\n setSortOrder(order);\n setCurrentPage?.(1);\n };\n\n const handleReset = () => {\n setSortField(defaultSortField);\n setSortOrder(defaultSortOrder);\n setCurrentPage?.(1);\n };\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" className={cn(styles['sort-selector-trigger'], className)}>\n <span>{currentLabel}</span>\n <ChevronDownIcon className={styles['chevron-down-icon']} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className={styles['dropdown-menu-content']}>\n <DropdownMenuLabel>\n Sort\n {!isDefaultSort && (\n <Button variant=\"link\" size=\"sm\" onClick={handleReset}>\n Reset\n </Button>\n )}\n </DropdownMenuLabel>\n <DropdownMenuSeparator />\n {filteredOptions.map((option) => {\n const isSelected = currentValue === option.value;\n\n return (\n <DropdownMenuCheckboxItem\n key={option.value}\n checked={isSelected}\n onCheckedChange={() => handleChange(option.value)}\n onSelect={(e) => e.preventDefault()}\n >\n {option.label}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\nexport { SortSelector };\n","import * as React from 'react';\nimport * as SwitchPrimitives from '@radix-ui/react-switch';\n\nimport { Icon } from '@/components/icon/icon';\nimport styles from '@/components/switch/switch.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface SwitchProps extends React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> {\n size?: 'sm' | 'md' | 'lg';\n variant?: 'default' | 'danger';\n thumbIcon?: React.ReactElement | string;\n}\n\nconst Switch = React.forwardRef<React.ElementRef<typeof SwitchPrimitives.Root>, SwitchProps>(\n ({ className, size = 'md', variant = 'default', thumbIcon, ...props }, ref) => {\n const iconSize = size === 'sm' ? 'xs' : size === 'md' ? 'sm' : 'md';\n return (\n <SwitchPrimitives.Root\n className={cn(styles['switch'], styles[size], styles[variant], className)}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb className={cn(styles['thumb'], styles[size])}>\n {thumbIcon && <Icon icon={thumbIcon} className={styles['thumb-icon']} size={iconSize} />}\n </SwitchPrimitives.Thumb>\n </SwitchPrimitives.Root>\n );\n }\n);\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import * as React from 'react';\nimport { ArrowDown, ArrowUp, ArrowUpDown } from 'lucide-react';\n\nimport styles from '@/components/sort-button/sort-button.module.css';\n\nconst ArrowDownIcon = ArrowDown as React.ComponentType<{ className?: string }>;\nconst ArrowUpIcon = ArrowUp as React.ComponentType<{ className?: string }>;\nconst ArrowUpDownIcon = ArrowUpDown as React.ComponentType<{ className?: string }>;\n\ninterface SortButtonProps<T extends string> {\n field: T;\n children: React.ReactNode;\n icon?: React.ReactNode;\n sortField: T | null;\n sortDirection: 'asc' | 'desc';\n onSort: (field: T) => void;\n}\n\nfunction SortButton<T extends string>({\n field,\n children,\n icon,\n sortField,\n sortDirection,\n onSort,\n}: SortButtonProps<T>) {\n const isActive = sortField === field;\n const isAscending = sortDirection === 'asc';\n\n const handleClick = () => {\n onSort(field);\n };\n\n return (\n <button type=\"button\" onClick={handleClick} className={styles['sort-button']}>\n {icon}\n {children}\n <div className={styles['arrow-container']}>\n {isActive ? (\n isAscending ? (\n <ArrowUpIcon />\n ) : (\n <ArrowDownIcon />\n )\n ) : (\n <ArrowUpDownIcon className={styles['arrow-up-down-icon']} />\n )}\n </div>\n </button>\n );\n}\n\nexport { SortButton };\n","import * as React from 'react';\nimport { VariantProps } from 'class-variance-authority';\n\nimport styles from '@/components/table/table-components.module.css';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nconst tableElevationVariants = generateElevationVariants(styles, 'table', ELEVATION.RAISED);\n\nconst TableContainer = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement> & VariantProps<typeof tableElevationVariants>\n>(({ className, elevation = ELEVATION.RAISED, ...props }, ref) => (\n <div className={cn(styles['table'], tableElevationVariants({ elevation }), className)}>\n <table ref={ref} className={styles['table-inner']} {...props} />\n </div>\n));\nTableContainer.displayName = 'Table';\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(styles['table-header'], className)} {...props} />\n));\nTableHeader.displayName = 'TableHeader';\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={cn(styles['table-body'], className)} {...props} />\n));\nTableBody.displayName = 'TableBody';\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot ref={ref} className={cn(styles['table-footer'], className)} {...props} />\n));\nTableFooter.displayName = 'TableFooter';\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement>>(\n ({ className, ...props }, ref) => (\n <tr ref={ref} className={cn(styles['table-row'], className)} {...props} />\n )\n);\nTableRow.displayName = 'TableRow';\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th ref={ref} className={cn(styles['table-head'], className)} {...props} />\n));\nTableHead.displayName = 'TableHead';\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td ref={ref} className={cn(styles['table-cell'], className)} {...props} />\n));\nTableCell.displayName = 'TableCell';\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption ref={ref} className={cn(styles['table-caption'], className)} {...props} />\n));\nTableCaption.displayName = 'TableCaption';\n\nexport {\n TableBody,\n TableCaption,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TableHeader,\n TableRow,\n};\n","import * as React from 'react';\nimport { VariantProps } from 'class-variance-authority';\n\nimport {\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableHeader,\n TableRow,\n} from '@/components/table/table-components';\nimport { ELEVATION, generateElevationVariants } from '@/lib/elevations';\nimport { cn } from '@/lib/utils';\n\nimport styles from './table.module.css';\n\ntype TableColumn = {\n key: string;\n content: React.ReactNode;\n className?: string;\n};\n\ntype TableRowData = {\n key: string;\n cells: TableCellData[];\n onClick?: () => void;\n className?: string;\n};\n\ntype TableCellData = {\n key: string;\n content: React.ReactNode;\n className?: string;\n};\n\ninterface TableProps extends VariantProps<typeof tableElevationVariants> {\n columns: TableColumn[];\n rows: TableRowData[];\n className?: string;\n border?: boolean;\n}\n\nconst tableElevationVariants = generateElevationVariants(styles, 'table', ELEVATION.BASE);\n\nconst Table = ({\n columns,\n rows,\n className,\n border = false,\n elevation = ELEVATION.BASE,\n}: TableProps) => {\n return (\n <div\n className={cn(\n styles['table'],\n border && styles['table-border'],\n tableElevationVariants({ elevation }),\n className\n )}\n >\n <TableContainer elevation={elevation}>\n <TableHeader>\n <TableRow>\n {columns.map((column) => (\n <TableHead key={column.key} className={column.className}>\n {column.content}\n </TableHead>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody>\n {rows.map((row) => (\n <TableRow\n key={row.key}\n className={cn(row.className, row.onClick && styles['table-row-clickable'])}\n onClick={row.onClick}\n >\n {row.cells.map((cell) => (\n <TableCell key={cell.key} className={cell.className}>\n {cell.content}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </TableContainer>\n </div>\n );\n};\n\nexport { Table };\n","import * as React from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport styles from '@/components/tabs/tabs-components.module.css';\nimport { cn } from '@/lib/utils';\n\nconst TabsContainer = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List ref={ref} className={cn(styles['tabs-list'], className)} {...props} />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger ref={ref} className={cn(styles['tabs-trigger'], className)} {...props} />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content ref={ref} className={cn(styles['tabs-content'], className)} {...props} />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { TabsContainer, TabsContent, TabsList, TabsTrigger };\n","import { useState } from 'react';\nimport { motion } from 'motion/react';\n\nimport { Icon } from '@/components/icon/icon';\nimport {\n TabsContainer,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from '@/components/tabs/tabs-components';\nimport styles from '@/components/tabs/tabs.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface TabsProps {\n id: string;\n items: {\n label: string;\n value: string;\n icon?: React.ReactElement | string;\n content: React.ReactNode;\n }[];\n className?: string;\n tabsListBackground?: 'transparent' | 'filled';\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n}\n\nconst Tabs = ({\n id,\n items,\n className,\n tabsListBackground = 'transparent',\n defaultValue,\n onValueChange,\n}: TabsProps) => {\n const [activeTab, setActiveTab] = useState(defaultValue ?? items[0].value);\n\n const isFilled = tabsListBackground === 'filled';\n\n const handleValueChange = (newTab: string) => {\n setActiveTab(newTab);\n onValueChange?.(newTab);\n };\n\n const renderIcon = (icon?: React.ReactElement | string) => {\n if (icon) {\n return <Icon icon={icon} size=\"sm\" className={styles['tabs-icon']} />;\n }\n return null;\n };\n\n const renderActiveStyle = (isActive: boolean) => {\n if (isActive) {\n return (\n <motion.span\n className={cn(\n styles['active-tab-indicator'],\n isFilled\n ? styles['active-tab-indicator--filled']\n : styles['active-tab-indicator--transparent']\n )}\n initial={false}\n layoutId={`${id}-active-tab-indicator`}\n />\n );\n }\n return null;\n };\n\n return (\n <TabsContainer\n value={activeTab}\n onValueChange={handleValueChange}\n className={cn(styles['tabs'], className)}\n >\n <TabsList\n className={cn(\n styles['tabs-list'],\n isFilled ? styles['tabs-list--filled'] : styles['tabs-list--transparent']\n )}\n >\n {items.map(({ label, value, icon }) => {\n const isActive = activeTab === value;\n\n return (\n <TabsTrigger\n key={value}\n value={value}\n className={cn(\n styles['tabs-trigger'],\n isFilled ? styles['tabs-trigger--filled'] : styles['tabs-trigger--transparent']\n )}\n data-tour={`${value}-tab-overview`}\n >\n {renderIcon(icon)}\n {label}\n {renderActiveStyle(isActive)}\n </TabsTrigger>\n );\n })}\n </TabsList>\n\n {items.map(({ value, content }) => (\n <TabsContent value={value} key={value} className={styles['content']}>\n {content}\n </TabsContent>\n ))}\n </TabsContainer>\n );\n};\n\nexport { Tabs };\n","import * as React from 'react';\n\nimport styles from '@/components/textarea/textarea.module.css';\nimport { cn } from '@/lib/utils';\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, React.ComponentProps<'textarea'>>(\n ({ className, ...props }, ref) => {\n return <textarea className={cn(styles['textarea'], className)} ref={ref} {...props} />;\n }\n);\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n","import * as React from 'react';\nimport * as ToastPrimitives from '@radix-ui/react-toast';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\n\nimport styles from '@/components/toast/toast-components.module.css';\nimport { cn } from '@/lib/utils';\n\nconst XIcon = X as React.ComponentType<{ className?: string }>;\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(styles['toast-viewport'], className)}\n {...props}\n />\n));\nToastViewport.displayName = ToastPrimitives.Viewport.displayName;\n\nconst toastVariants = cva(styles['toast'], {\n variants: {\n variant: {\n default: styles['toast--default'],\n danger: styles['toast--danger'],\n warning: styles['toast--warning'],\n success: styles['toast--success'],\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nconst ToastContainer = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n );\n});\nToastContainer.displayName = ToastPrimitives.Root.displayName;\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action ref={ref} className={cn(styles['toast-action'], className)} {...props} />\n));\nToastAction.displayName = ToastPrimitives.Action.displayName;\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close ref={ref} className={cn(styles['toast-close'], className)} {...props}>\n <XIcon className={styles['toast-close-icon']} />\n </ToastPrimitives.Close>\n));\nToastClose.displayName = ToastPrimitives.Close.displayName;\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title ref={ref} className={cn(styles['toast-title'], className)} {...props} />\n));\nToastTitle.displayName = ToastPrimitives.Title.displayName;\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(styles['toast-description'], className)}\n {...props}\n />\n));\nToastDescription.displayName = ToastPrimitives.Description.displayName;\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof ToastContainer>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport {\n ToastContainer,\n ToastAction,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n type ToastActionElement,\n type ToastProps,\n};\n","import { useEffect, useState } from 'react';\n\nimport type { ToastActionElement, ToastProps } from '../components/toast/toast-components';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\nexport type ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n icon?: string | React.ReactElement;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType['ADD_TOAST'];\n toast: ToasterToast;\n }\n | {\n type: ActionType['UPDATE_TOAST'];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType['DISMISS_TOAST'];\n toastId?: ToasterToast['id'];\n }\n | {\n type: ActionType['REMOVE_TOAST'];\n toastId?: ToasterToast['id'];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'ADD_TOAST':\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case 'UPDATE_TOAST':\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case 'DISMISS_TOAST': {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t\n ),\n };\n }\n case 'REMOVE_TOAST':\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = useState<State>(memoryState);\n\n useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, []);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { toast, useToast };\n","import { Icon } from '@/components/icon/icon';\nimport {\n ToastClose,\n ToastContainer,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n} from '@/components/toast/toast-components';\nimport styles from '@/components/toast/toast.module.css';\nimport { ToasterToast, useToast } from '@/hooks/use-toast';\n\ninterface ToastProps {\n toast: ToasterToast;\n}\n\nconst Toast = ({ toast }: ToastProps) => {\n const { title, description, action, icon, variant, ...props } = toast;\n\n // Default icons based on variant\n const getDefaultIcon = () => {\n switch (variant) {\n case 'success':\n return 'Check';\n case 'warning':\n return 'AlertOctagon';\n case 'danger':\n return 'AlertTriangle';\n default:\n return 'Info';\n }\n };\n\n const displayIcon = icon !== undefined ? icon : getDefaultIcon();\n\n return (\n <ToastContainer {...props} variant={variant}>\n <div className={styles['toast-copy']}>\n {title && (\n <div className={styles['toast-title-container']}>\n {displayIcon && <Icon icon={displayIcon} size=\"sm\" background=\"transparent\" />}\n <ToastTitle>{title}</ToastTitle>\n </div>\n )}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action && <div className={styles['toast-action']}>{action}</div>}\n <ToastClose />\n </ToastContainer>\n );\n};\n\nconst Toaster = () => {\n const { toasts } = useToast();\n\n return toasts.map(function (toast) {\n return <Toast key={toast.id} toast={toast} />;\n });\n};\n\nconst ToastRoot = () => {\n return (\n <ToastProvider>\n <Toaster />\n <ToastViewport />\n </ToastProvider>\n );\n};\n\nexport { Toast, Toaster, ToastRoot };\n","import { useState } from 'react';\n\nimport { Button } from '@/components/button/button';\nimport styles from '@/components/truncated-description/truncated-description.module.css';\nimport { cn } from '@/lib/utils';\n\ninterface TruncatedDescriptionProps {\n className?: string;\n description: string;\n maxLength?: number;\n}\n\nconst TruncatedDescription = ({\n className,\n description,\n maxLength = 120,\n}: TruncatedDescriptionProps) => {\n const plainText = removeHtmlTags(description);\n const isLongDescription = plainText.length > maxLength;\n const truncatedDescription = isLongDescription\n ? `${description.slice(0, maxLength)}...`\n : description;\n\n const [expanded, setExpanded] = useState(!isLongDescription);\n\n const displayDescription = expanded ? description : truncatedDescription;\n\n const handleToggle = (e: React.MouseEvent) => {\n e.stopPropagation();\n setExpanded(!expanded);\n };\n\n return (\n <div className={cn(styles['truncated-description'], className)}>\n <div dangerouslySetInnerHTML={{ __html: displayDescription }} />\n {isLongDescription && (\n <Button variant=\"link\" size=\"sm\" onClick={handleToggle}>\n {expanded ? 'Show less' : 'Show more'}\n </Button>\n )}\n </div>\n );\n};\n\n// Helper function\nconst removeHtmlTags = (html: string): string => {\n return html.replace(/<[^>]*>/g, '');\n};\n\nexport { TruncatedDescription };\n","import { forwardRef, HTMLAttributes } from 'react';\n\nimport styles from '@/components/heading/heading.module.css';\nimport { cn } from '@/lib/utils';\n\ntype HeadingTagType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\ninterface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {\n className?: string;\n as: HeadingTagType;\n displayAs?: HeadingTagType;\n children: string | React.ReactNode;\n}\n\nconst Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\n ({ className, as, displayAs, children, ...props }, ref) => {\n const displayClasses = {\n h1: styles['h1'],\n h2: styles['h2'],\n h3: styles['h3'],\n h4: styles['h4'],\n h5: styles['h5'],\n h6: styles['h6'],\n };\n\n const displayClass =\n displayClasses[displayAs as keyof typeof displayClasses] || displayClasses[as];\n const HeadingTag = as as HeadingTagType;\n\n return (\n <HeadingTag ref={ref} className={cn(displayClass, className)} {...props}>\n {children}\n </HeadingTag>\n );\n }\n);\n\nHeading.displayName = 'Heading';\n\nexport { Heading };\n","import { Badge, type BadgeDisplayMode } from '@/components/badge/badge';\nimport styles from '@/components/control-status-badge/control-status-badge.module.css';\n\nexport type ControlStatusBadgeDisplayMode = BadgeDisplayMode;\n\ninterface ControlStatusBadgeProps {\n status: string;\n display?: ControlStatusBadgeDisplayMode;\n}\n\nconst ControlStatusBadge = ({ status, display = 'both' }: ControlStatusBadgeProps) => {\n const config = getStatusConfig(status);\n\n return (\n <Badge icon={config.icon} display={display} className={config.className} variant={null}>\n {config.label}\n </Badge>\n );\n};\n\n// Helper function\nconst getStatusConfig = (status: string) => {\n switch (status) {\n case 'in-progress':\n return {\n icon: 'Clock',\n className: styles['badge--in-progress'],\n label: 'In Progress',\n };\n case 'not-started':\n return {\n icon: 'Circle',\n className: styles['badge--not-started'],\n label: 'Not Started',\n };\n case 'ready-for-review':\n return {\n icon: 'ClipboardCheck',\n className: styles['badge--ready-for-review'],\n label: 'Ready for Review',\n };\n case 'in-review':\n return {\n icon: 'Eye',\n className: styles['badge--in-review'],\n label: 'In Review',\n };\n case 'comment':\n return {\n icon: 'MessageCircle',\n className: styles['badge--comment'],\n label: 'Comment',\n };\n case 'not-applicable':\n return {\n icon: 'MinusCircle',\n className: styles['badge--not-applicable'],\n label: 'Not Applicable',\n };\n case 'accepted':\n return {\n icon: <MessageCircleCheckIcon />,\n className: styles['badge--accepted'],\n label: 'Accepted',\n };\n case 'questioned':\n return {\n icon: 'MessageCircleQuestion',\n className: styles['badge--question'],\n label: 'Questioned',\n };\n case 'general':\n return {\n icon: 'MessageCircle',\n className: styles['badge--comment'],\n label: 'General',\n };\n case 'compliant':\n return {\n icon: 'Check',\n className: styles['badge--compliant'],\n label: 'Compliant',\n };\n case 'non-compliant':\n return {\n icon: 'TriangleAlert',\n className: styles['badge--non-compliant'],\n label: 'Non-compliant',\n };\n default:\n return {\n icon: 'Circle',\n className: styles['badge--not-started'],\n label: status,\n };\n }\n};\n\nexport { ControlStatusBadge };\n\n// TODO: Remove and replace with Lucide icon once PR #3770 gets merged into their repo.\nconst MessageCircleCheckIcon = ({ className }: { className?: string }) => {\n return (\n <svg\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <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 <path d=\"m9 12 2 2 4-4\" />\n </svg>\n );\n};\n","const Portal = () => {\n return <div id=\"equality-theme-provider-root-portal\" />;\n};\n\nexport { Portal };\n","import { Portal } from './portal';\nimport styles from './theme.module.css';\n\ninterface ThemeProviderProps {\n customVars?: React.CSSProperties & {\n [key: `--${string}`]: string | number | undefined;\n };\n children: React.ReactNode;\n}\n\nconst ThemeProvider = ({ customVars, children }: ThemeProviderProps) => {\n return (\n <div id=\"equality-theme-provider-root\" className={styles.root} style={customVars}>\n {children}\n <Portal />\n </div>\n );\n};\n\nexport { ThemeProvider };\n"]}