@krpkg/ui 0.3.1 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Button.tsx","../src/components/BracketCard.tsx","../src/components/CornerFrame.tsx","../src/components/Badge.tsx","../src/components/Dot.tsx","../src/components/TechLabel.tsx","../src/components/Vinyl.tsx","../src/components/StickyNote.tsx","../src/components/SpoilerGate.tsx","../src/components/Logo.tsx","../src/components/Input.tsx","../src/components/TelemetryBar.tsx","../src/components/HudModal.tsx","../src/components/TerminalWindow.tsx","../src/components/Tooltip.tsx","../src/components/SegmentedControl.tsx","../src/components/CyberSwitch.tsx","../src/components/KeyValGrid.tsx","../src/components/Breadcrumbs.tsx","../src/components/TacticalDrawer.tsx","../src/components/HudToast.tsx","../src/components/BottomBar.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes, forwardRef } from 'react';\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: 'primary' | 'outline' | 'ghost';\n size?: 'sm' | 'md' | 'lg';\n asChild?: boolean;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className = '', variant = 'outline', size = 'md', children, ...props }, ref) => {\n const classList = [\n 'kz-btn',\n `kz-btn-${variant}`,\n size !== 'md' ? `kz-btn-${size}` : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <button ref={ref} className={classList} {...props}>\n {children}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface BracketCardProps extends HTMLAttributes<HTMLDivElement> {\n active?: boolean;\n}\n\nexport const BracketCard = forwardRef<HTMLDivElement, BracketCardProps>(\n ({ className = '', children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={`kz-bracket-card ${className}`.trim()}\n {...props}\n >\n {children}\n </div>\n );\n }\n);\n\nBracketCard.displayName = 'BracketCard';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface CornerFrameProps extends HTMLAttributes<HTMLDivElement> {\n showCorners?: boolean;\n}\n\nexport const CornerFrame = forwardRef<HTMLDivElement, CornerFrameProps>(\n ({ showCorners = true, className = '', children, ...props }, ref) => {\n return (\n <div ref={ref} className={`kz-corner-frame ${className}`.trim()} {...props}>\n {showCorners && (\n <>\n <span className=\"kz-corner tl\" aria-hidden=\"true\" />\n <span className=\"kz-corner tr\" aria-hidden=\"true\" />\n <span className=\"kz-corner bl\" aria-hidden=\"true\" />\n <span className=\"kz-corner br\" aria-hidden=\"true\" />\n </>\n )}\n {children}\n </div>\n );\n }\n);\n\nCornerFrame.displayName = 'CornerFrame';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n variant?: 'default' | 'accent' | 'teal' | 'purple' | 'outline';\n}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ variant = 'default', className = '', children, ...props }, ref) => {\n const classList = [\n 'kz-badge',\n variant !== 'default' ? variant : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <span ref={ref} className={classList} {...props}>\n {children}\n </span>\n );\n }\n);\n\nBadge.displayName = 'Badge';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface DotProps extends HTMLAttributes<HTMLSpanElement> {\n color?: 'accent' | 'green' | 'red' | 'teal' | 'purple';\n pulse?: boolean;\n}\n\nexport const Dot = forwardRef<HTMLSpanElement, DotProps>(\n ({ color = 'accent', pulse = false, className = '', ...props }, ref) => {\n const classList = [\n 'kz-dot',\n color !== 'accent' ? color : '',\n pulse ? 'pulse' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return <span ref={ref} className={classList} aria-hidden=\"true\" {...props} />;\n }\n);\n\nDot.displayName = 'Dot';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface TechLabelProps extends HTMLAttributes<HTMLDivElement> {\n label: string;\n jp?: string;\n coord?: string;\n}\n\nexport const TechLabel = forwardRef<HTMLDivElement, TechLabelProps>(\n ({ label, jp, coord, className = '', children, ...props }, ref) => {\n return (\n <div ref={ref} className={`kz-tech-label ${className}`.trim()} {...props}>\n <span>{label}</span>\n {jp && <span className=\"jp\">{jp}</span>}\n {coord && <span className=\"kz-coord\">[{coord}]</span>}\n {children}\n </div>\n );\n }\n);\n\nTechLabel.displayName = 'TechLabel';\n","import React, { HTMLAttributes, ReactNode, forwardRef } from 'react';\n\nexport type VinylLayout = 'disc' | 'card' | 'mini' | 'turntable';\n\nexport interface VinylProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n size?: 'sm' | 'md' | 'lg';\n variant?: 'default' | 'alley' | 'teal' | 'gold' | 'hologram';\n layout?: VinylLayout;\n playing?: boolean;\n coverUrl?: string;\n label?: string;\n showRing?: boolean;\n // Metadata for compound layouts (card, mini, turntable)\n title?: ReactNode;\n artist?: ReactNode;\n album?: ReactNode;\n rpm?: '33' | '45' | '78';\n controls?: ReactNode;\n}\n\nexport const Vinyl = forwardRef<HTMLDivElement, VinylProps>(\n (\n {\n size = 'md',\n variant = 'default',\n layout = 'disc',\n playing = false,\n coverUrl,\n label = 'KRZ',\n showRing = true,\n title,\n artist,\n album,\n rpm = '33',\n controls,\n className = '',\n onClick,\n ...props\n },\n ref\n ) => {\n // Pure Disc Element\n const discElement = (\n <div\n className={`kz-vinyl-area kz-vinyl-${size} kz-vinyl-${variant}`}\n onClick={onClick}\n >\n {showRing && <div className=\"kz-vinyl-ring\" aria-hidden=\"true\" />}\n <div className={`kz-vinyl ${playing ? 'playing' : ''}`}>\n <div className=\"kz-vinyl-grooves\" aria-hidden=\"true\" />\n <div className=\"kz-vinyl-label\">\n {coverUrl ? (\n <img\n src={coverUrl}\n alt=\"Vinyl center artwork\"\n className=\"kz-vinyl-cover\"\n />\n ) : (\n <span>{label}</span>\n )}\n <div className=\"kz-vinyl-spindle\" aria-hidden=\"true\" />\n </div>\n </div>\n </div>\n );\n\n // 1. Pure Disc Layout (Default)\n if (layout === 'disc') {\n return (\n <div\n ref={ref}\n className={`kz-vinyl-wrapper kz-layout-disc ${className}`.trim()}\n {...props}\n >\n {discElement}\n </div>\n );\n }\n\n // 2. Mini Player Row (Compact inline player with track info)\n if (layout === 'mini') {\n return (\n <div\n ref={ref}\n className={`kz-vinyl-layout-mini kz-vinyl-${variant} ${\n playing ? 'kz-playing' : ''\n } ${className}`.trim()}\n {...props}\n >\n <div className=\"kz-vinyl-mini-disc\">{discElement}</div>\n <div className=\"kz-vinyl-mini-info\">\n <div className=\"kz-vinyl-mini-status\">\n <span className={`kz-vinyl-pulse ${playing ? 'kz-pulse-active' : ''}`} />\n <span className=\"kz-vinyl-status-text\">\n {playing ? 'NOW PLAYING' : 'STANDBY'}\n </span>\n <span className=\"kz-vinyl-rpm-tag\">{rpm} RPM</span>\n </div>\n {title && <div className=\"kz-vinyl-mini-title\">{title}</div>}\n {(artist || album) && (\n <div className=\"kz-vinyl-mini-artist\">\n {artist}\n {album && ` — [${album}]`}\n </div>\n )}\n </div>\n {controls && <div className=\"kz-vinyl-mini-controls\">{controls}</div>}\n </div>\n );\n }\n\n // 3. Card / Turntable Player Layout (Full Deck)\n if (layout === 'card' || layout === 'turntable') {\n return (\n <div\n ref={ref}\n className={`kz-vinyl-layout-card kz-vinyl-${variant} ${\n playing ? 'kz-playing' : ''\n } ${className}`.trim()}\n {...props}\n >\n <div className=\"kz-vinyl-deck-header\">\n <span className=\"kz-vinyl-deck-tag\">HI-FI DECK // {rpm} RPM</span>\n <span className=\"kz-vinyl-deck-status\">\n <span className={`kz-vinyl-pulse ${playing ? 'kz-pulse-active' : ''}`} />\n {playing ? 'ACTIVE_PLAYBACK' : 'IDLE'}\n </span>\n </div>\n\n <div className=\"kz-vinyl-deck-center\">\n {discElement}\n {layout === 'turntable' && (\n <div className={`kz-turntable-tonearm ${playing ? 'engaged' : ''}`}>\n <div className=\"kz-tonearm-pivot\" />\n <div className=\"kz-tonearm-rod\" />\n <div className=\"kz-tonearm-head\" />\n </div>\n )}\n </div>\n\n <div className=\"kz-vinyl-deck-footer\">\n <div className=\"kz-vinyl-deck-meta\">\n {title && <div className=\"kz-vinyl-deck-title\">{title}</div>}\n {(artist || album) && (\n <div className=\"kz-vinyl-deck-artist\">\n {artist}\n {album && ` — [${album}]`}\n </div>\n )}\n </div>\n {controls && <div className=\"kz-vinyl-deck-controls\">{controls}</div>}\n </div>\n </div>\n );\n }\n\n return discElement;\n }\n);\n\nVinyl.displayName = 'Vinyl';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface StickyNoteProps extends HTMLAttributes<HTMLDivElement> {\n colorVariant?: 1 | 2 | 3 | 4;\n title?: string;\n tape?: boolean;\n}\n\nexport const StickyNote = forwardRef<HTMLDivElement, StickyNoteProps>(\n ({ colorVariant = 1, title, tape = true, className = '', children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={`kz-sticky kz-sticky-${colorVariant} ${tape ? 'has-tape' : ''} ${className}`.trim()}\n {...props}\n >\n {title && <div className=\"kz-sticky-title\">{title}</div>}\n <div className=\"kz-sticky-body\">{children}</div>\n </div>\n );\n }\n);\n\nStickyNote.displayName = 'StickyNote';\n","'use client';\n\nimport React, { useState } from 'react';\nimport { BracketCard } from './BracketCard';\nimport { Button } from './Button';\n\nexport interface SpoilerGateProps {\n title?: string;\n description?: string;\n clearanceText?: string;\n buttonText?: string;\n children: React.ReactNode;\n defaultRevealed?: boolean;\n}\n\nexport function SpoilerGate({\n title = 'CLASSIFIED CONTENT // SPOILER GATE',\n description = 'This section contains narrative disclosures or classified intel. Proceed with caution.',\n clearanceText = '// clearance: user acknowledgement required',\n buttonText = 'Reveal Content',\n children,\n defaultRevealed = false,\n}: SpoilerGateProps) {\n const [revealed, setRevealed] = useState(defaultRevealed);\n\n if (revealed) {\n return <>{children}</>;\n }\n\n return (\n <BracketCard className=\"kz-spoiler-gate\">\n <div className=\"kz-spoiler-icon\" aria-hidden=\"true\">\n ⚠\n </div>\n <div className=\"kz-spoiler-title\">{title}</div>\n <p className=\"kz-spoiler-desc\">{description}</p>\n <div className=\"kz-spoiler-clearance\">{clearanceText}</div>\n <Button\n variant=\"primary\"\n size=\"sm\"\n onClick={() => setRevealed(true)}\n >\n {buttonText}\n </Button>\n </BracketCard>\n );\n}\n","import React, { SVGProps, forwardRef } from 'react';\n\nexport interface LogoProps extends SVGProps<SVGSVGElement> {\n size?: number | string;\n color?: string;\n variant?: 'default' | 'accent' | 'teal' | 'purple' | 'minimal' | 'monochrome' | 'badge';\n withRing?: boolean;\n}\n\n// Canonical vector path extracted from the authentic Kurzagin brand emblem\nconst KURZAGIN_EMBLEM_PATH =\n 'M 427.836 313.750 C 407.437 340.731, 394.892 355.256, 374.072 376.002 C 354.040 395.961, 340.283 407.774, 313 428.443 C 304.475 434.901, 297.379 440.507, 297.231 440.899 C 297.083 441.292, 301.161 442.068, 306.293 442.625 C 315.608 443.635, 315.631 443.644, 319.771 448.136 C 322.053 450.611, 326.525 453.914, 329.710 455.475 C 332.894 457.037, 342.025 459.858, 350 461.744 C 372.991 467.182, 394.656 473.443, 409.642 478.980 C 417.264 481.796, 435.650 490.118, 450.500 497.473 C 465.350 504.829, 479.843 511.371, 482.706 512.013 C 485.569 512.654, 489.315 512.870, 491.030 512.493 C 495.063 511.608, 500.400 506.893, 502.055 502.755 C 502.771 500.965, 504.654 497.826, 506.239 495.780 L 509.121 492.059 500.195 477.780 C 482.447 449.389, 470.897 425.848, 461.635 399.191 C 453.474 375.701, 448.375 352.493, 444.016 319 C 442.835 309.925, 441.560 301.262, 441.184 299.750 C 440.541 297.166, 439.733 298.014, 427.836 313.750 M 653.035 367.631 C 630.326 397.968, 609.007 422.929, 590.366 441.009 C 571.099 459.696, 557.105 471.452, 529.623 492.040 C 516.293 502.026, 515.859 502.464, 518.623 503.127 C 520.205 503.507, 524.434 504.108, 528.020 504.464 C 534.161 505.072, 534.824 505.396, 539.427 510.027 C 545.512 516.149, 554.045 519.837, 570.500 523.457 C 597.419 529.379, 620.207 536.452, 641.500 545.492 C 647.550 548.061, 660.747 554.437, 670.826 559.661 C 680.905 564.885, 691.663 570.024, 694.732 571.080 C 705.045 574.628, 713.038 573.043, 717.643 566.536 C 718.664 565.093, 721.423 561.512, 723.773 558.577 L 728.046 553.241 721.158 542.371 C 706.003 518.456, 694.474 496.400, 686.725 476.500 C 681.571 463.266, 675.390 443.922, 672.594 432.275 C 669.515 419.452, 665.566 396.537, 662.660 374.631 L 660.422 357.763 653.035 367.631 M 495 525.305 C 490.875 530.880, 482.805 541.304, 477.066 548.471 C 443.624 590.231, 416.848 615.914, 370.750 650.443 C 364.288 655.284, 359 659.554, 359 659.931 C 359 660.308, 363.190 661.072, 368.312 661.627 C 377.605 662.634, 377.632 662.645, 381.771 667.136 C 384.053 669.611, 388.419 672.860, 391.474 674.356 C 394.529 675.852, 403.885 678.674, 412.264 680.626 C 453.717 690.286, 479.620 699.543, 512.500 716.446 C 523.500 722.101, 534.907 727.515, 537.848 728.477 C 541.471 729.662, 545.147 730.085, 549.239 729.789 C 554.840 729.384, 555.545 729.051, 558.891 725.234 C 565.508 717.684, 570 711.874, 570 710.865 C 570 710.315, 565.859 703.258, 560.797 695.183 C 550.969 679.501, 539.291 657.628, 532.980 643.076 C 527.165 629.669, 518.662 604.130, 515.143 589.500 C 511.412 573.988, 507.612 551.727, 505.413 532.500 C 504.533 524.800, 503.517 517.750, 503.156 516.834 C 502.661 515.577, 500.658 517.657, 495 525.305';\n\nexport const Logo = forwardRef<SVGSVGElement, LogoProps>(\n (\n {\n size = 28,\n color,\n variant = 'default',\n withRing,\n className = '',\n style,\n ...props\n },\n ref\n ) => {\n let glyphFill = color;\n let ringStroke = color || 'currentColor';\n let ringBg = 'transparent';\n\n if (!color) {\n switch (variant) {\n case 'accent':\n glyphFill = 'var(--kz-accent, #c49368)';\n ringStroke = 'var(--kz-accent, #c49368)';\n break;\n case 'teal':\n glyphFill = 'var(--kz-teal, #50b0b0)';\n ringStroke = 'var(--kz-teal, #50b0b0)';\n break;\n case 'purple':\n glyphFill = 'var(--kz-purple, #b066ff)';\n ringStroke = 'var(--kz-purple, #b066ff)';\n break;\n case 'minimal':\n glyphFill = 'var(--kz-text-1, #b0aca4)';\n ringStroke = 'var(--kz-border, #2a2a30)';\n break;\n case 'monochrome':\n glyphFill = 'var(--kz-text-0, #e2ded6)';\n ringStroke = 'var(--kz-border-light, #3a3a42)';\n break;\n case 'badge':\n glyphFill = 'var(--kz-accent, #c49368)';\n ringStroke = 'var(--kz-accent, #c49368)';\n ringBg = 'rgba(10, 10, 12, 0.9)';\n break;\n case 'default':\n default:\n glyphFill = 'var(--kz-accent, #c49368)';\n ringStroke = 'var(--kz-border, #2a2a30)';\n break;\n }\n }\n\n const showRing = withRing !== undefined ? withRing : variant === 'badge';\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 1024 1024\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={`kz-logo kz-logo-${variant} ${className}`.trim()}\n style={{\n display: 'inline-block',\n verticalAlign: 'middle',\n flexShrink: 0,\n ...style,\n }}\n {...props}\n >\n {showRing && (\n <>\n {ringBg !== 'transparent' && (\n <circle cx=\"512\" cy=\"512\" r=\"488\" fill={ringBg} />\n )}\n <circle\n cx=\"512\"\n cy=\"512\"\n r=\"488\"\n stroke={ringStroke}\n strokeWidth=\"24\"\n strokeOpacity={variant === 'default' ? 0.4 : 0.8}\n />\n {/* HUD Corner Accents */}\n <circle cx=\"512\" cy=\"18\" r=\"8\" fill={glyphFill} />\n <circle cx=\"512\" cy=\"1006\" r=\"8\" fill={glyphFill} />\n <circle cx=\"18\" cy=\"512\" r=\"8\" fill={glyphFill} />\n <circle cx=\"1006\" cy=\"512\" r=\"8\" fill={glyphFill} />\n </>\n )}\n <path\n d={KURZAGIN_EMBLEM_PATH}\n fill={glyphFill || 'currentColor'}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nLogo.displayName = 'Logo';\n","import React, { InputHTMLAttributes, forwardRef, ReactNode } from 'react';\n\nexport interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'size'> {\n label?: string;\n sublabel?: string;\n prefixSymbol?: ReactNode;\n suffixSymbol?: ReactNode;\n error?: string;\n hint?: string;\n inputSize?: 'sm' | 'md' | 'lg';\n fullWidth?: boolean;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n className = '',\n label,\n sublabel,\n prefixSymbol = '>_',\n suffixSymbol,\n error,\n hint,\n inputSize = 'md',\n fullWidth = true,\n disabled,\n ...props\n },\n ref\n ) => {\n return (\n <div\n className={[\n 'kz-input-wrapper',\n fullWidth ? 'kz-input-full' : '',\n disabled ? 'kz-input-disabled' : '',\n error ? 'kz-input-has-error' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {(label || sublabel) && (\n <div className=\"kz-input-header\">\n {label && <label className=\"kz-input-label\">{label}</label>}\n {sublabel && <span className=\"kz-input-sublabel\">{sublabel}</span>}\n </div>\n )}\n\n <div className={`kz-input-field-container kz-input-${inputSize}`}>\n {prefixSymbol && <div className=\"kz-input-prefix\">{prefixSymbol}</div>}\n <input\n ref={ref}\n disabled={disabled}\n className=\"kz-input-field\"\n {...props}\n />\n {suffixSymbol && <div className=\"kz-input-suffix\">{suffixSymbol}</div>}\n <div className=\"kz-input-corner-tl\" />\n <div className=\"kz-input-corner-br\" />\n </div>\n\n {(error || hint) && (\n <div className=\"kz-input-footer\">\n {error ? (\n <span className=\"kz-input-error-msg\">{error}</span>\n ) : (\n <span className=\"kz-input-hint-msg\">{hint}</span>\n )}\n </div>\n )}\n </div>\n );\n }\n);\n\nInput.displayName = 'Input';\n","import React, { HTMLAttributes, forwardRef, ReactNode } from 'react';\n\nexport interface TelemetryBarProps extends HTMLAttributes<HTMLDivElement> {\n value: number; // 0 to 100\n max?: number;\n label?: string;\n coord?: string;\n variant?: 'accent' | 'teal' | 'purple' | 'danger' | 'success';\n segmented?: boolean;\n segmentsCount?: number;\n showReadout?: boolean;\n size?: 'sm' | 'md' | 'lg';\n}\n\nexport const TelemetryBar = forwardRef<HTMLDivElement, TelemetryBarProps>(\n (\n {\n className = '',\n value,\n max = 100,\n label,\n coord,\n variant = 'accent',\n segmented = false,\n segmentsCount = 20,\n showReadout = true,\n size = 'md',\n ...props\n },\n ref\n ) => {\n const clampedValue = Math.min(Math.max(value, 0), max);\n const percentage = Math.round((clampedValue / max) * 100);\n\n return (\n <div\n ref={ref}\n className={[\n 'kz-telemetry-container',\n `kz-telemetry-${size}`,\n `kz-telemetry-${variant}`,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {(label || coord || showReadout) && (\n <div className=\"kz-telemetry-header\">\n <div className=\"kz-telemetry-label-group\">\n {label && <span className=\"kz-telemetry-label\">{label}</span>}\n {coord && <span className=\"kz-telemetry-coord\">[{coord}]</span>}\n </div>\n {showReadout && (\n <span className=\"kz-telemetry-readout\">{percentage}%</span>\n )}\n </div>\n )}\n\n <div className=\"kz-telemetry-track\">\n {segmented ? (\n <div className=\"kz-telemetry-segments\">\n {Array.from({ length: segmentsCount }).map((_, idx) => {\n const step = 100 / segmentsCount;\n const active = (idx + 1) * step <= percentage || (idx * step < percentage && (idx + 1) * step > percentage);\n return (\n <span\n key={idx}\n className={`kz-telemetry-seg ${active ? 'active' : ''}`}\n />\n );\n })}\n </div>\n ) : (\n <div\n className=\"kz-telemetry-fill\"\n style={{ width: `${percentage}%` }}\n >\n <div className=\"kz-telemetry-glow\" />\n </div>\n )}\n </div>\n </div>\n );\n }\n);\n\nTelemetryBar.displayName = 'TelemetryBar';\n","import React, { ReactNode, useEffect } from 'react';\n\nexport interface HudModalProps {\n isOpen: boolean;\n onClose: () => void;\n title?: string;\n jp?: string;\n coord?: string;\n children: ReactNode;\n footer?: ReactNode;\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n closeOnBackdrop?: boolean;\n}\n\nexport const HudModal: React.FC<HudModalProps> = ({\n isOpen,\n onClose,\n title = 'SYS_ALERT',\n jp,\n coord = 'NODE-01',\n children,\n footer,\n size = 'md',\n className = '',\n closeOnBackdrop = true,\n}) => {\n useEffect(() => {\n if (!isOpen) return;\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n onClose();\n }\n };\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [isOpen, onClose]);\n\n if (!isOpen) return null;\n\n return (\n <div className=\"kz-modal-portal\">\n <div\n className=\"kz-modal-backdrop\"\n onClick={closeOnBackdrop ? onClose : undefined}\n />\n <div className={`kz-modal-dialog kz-modal-${size} ${className}`}>\n {/* Top Header */}\n <div className=\"kz-modal-header\">\n <div className=\"kz-modal-title-group\">\n <span className=\"kz-modal-title\">{title}</span>\n {jp && <span className=\"kz-modal-jp\">{jp}</span>}\n {coord && <span className=\"kz-modal-coord\">// [{coord}]</span>}\n </div>\n <button\n type=\"button\"\n className=\"kz-modal-close-btn\"\n onClick={onClose}\n aria-label=\"Close dialog\"\n >\n [ESC ✕]\n </button>\n </div>\n\n {/* Modal Body */}\n <div className=\"kz-modal-body\">{children}</div>\n\n {/* Optional Footer */}\n {footer && <div className=\"kz-modal-footer\">{footer}</div>}\n\n {/* Corner Accents */}\n <div className=\"kz-modal-corner-tl\" />\n <div className=\"kz-modal-corner-tr\" />\n <div className=\"kz-modal-corner-bl\" />\n <div className=\"kz-modal-corner-br\" />\n </div>\n </div>\n );\n};\n\nHudModal.displayName = 'HudModal';\n","import React, { HTMLAttributes, forwardRef, useState } from 'react';\n\nexport interface TerminalWindowProps extends HTMLAttributes<HTMLDivElement> {\n title?: string;\n badge?: string;\n code: string;\n showLineNumbers?: boolean;\n copyable?: boolean;\n}\n\nexport const TerminalWindow = forwardRef<HTMLDivElement, TerminalWindowProps>(\n (\n {\n className = '',\n title = 'terminal.sh',\n badge = 'ACTIVE',\n code,\n showLineNumbers = true,\n copyable = true,\n ...props\n },\n ref\n ) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = () => {\n navigator.clipboard.writeText(code);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n };\n\n const lines = code.trim().split('\\n');\n\n return (\n <div\n ref={ref}\n className={['kz-terminal-window', className].filter(Boolean).join(' ')}\n {...props}\n >\n <div className=\"kz-terminal-header\">\n <div className=\"kz-terminal-dots\">\n <span className=\"kz-term-dot kz-term-dot-red\" />\n <span className=\"kz-term-dot kz-term-dot-yellow\" />\n <span className=\"kz-term-dot kz-term-dot-green\" />\n </div>\n\n <div className=\"kz-terminal-title-box\">\n <span className=\"kz-terminal-title\">{title}</span>\n {badge && <span className=\"kz-terminal-badge\">{badge}</span>}\n </div>\n\n <div className=\"kz-terminal-actions\">\n {copyable && (\n <button\n type=\"button\"\n className=\"kz-terminal-copy-btn\"\n onClick={handleCopy}\n aria-label=\"Copy code\"\n >\n {copied ? '[COPIED]' : '[COPY]'}\n </button>\n )}\n </div>\n </div>\n\n <div className=\"kz-terminal-body\">\n <pre className=\"kz-terminal-pre\">\n {showLineNumbers ? (\n <code>\n {lines.map((line, idx) => (\n <div key={idx} className=\"kz-terminal-line\">\n <span className=\"kz-terminal-lineno\">{idx + 1}</span>\n <span className=\"kz-terminal-linecontent\">{line || ' '}</span>\n </div>\n ))}\n </code>\n ) : (\n <code>{code}</code>\n )}\n </pre>\n </div>\n </div>\n );\n }\n);\n\nTerminalWindow.displayName = 'TerminalWindow';\n","import React, { ReactNode, useState, useRef } from 'react';\n\nexport interface TooltipProps {\n content: ReactNode;\n children: ReactNode;\n position?: 'top' | 'bottom' | 'left' | 'right';\n coord?: string;\n className?: string;\n}\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n content,\n children,\n position = 'top',\n coord,\n className = '',\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const show = () => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n setIsVisible(true);\n };\n\n const hide = () => {\n timeoutRef.current = setTimeout(() => {\n setIsVisible(false);\n }, 100);\n };\n\n return (\n <div\n className=\"kz-tooltip-wrapper\"\n onMouseEnter={show}\n onMouseLeave={hide}\n onFocus={show}\n onBlur={hide}\n >\n {children}\n {isVisible && (\n <div\n role=\"tooltip\"\n className={`kz-tooltip-box kz-tooltip-${position} ${className}`}\n >\n {coord && <span className=\"kz-tooltip-coord\">[{coord}]</span>}\n <div className=\"kz-tooltip-content\">{content}</div>\n <div className=\"kz-tooltip-arrow\" />\n </div>\n )}\n </div>\n );\n};\n\nTooltip.displayName = 'Tooltip';\n","import React, { ReactNode } from 'react';\n\nexport interface SegmentedOption<T extends string = string> {\n value: T;\n label: ReactNode;\n sublabel?: string;\n badge?: string | number;\n disabled?: boolean;\n}\n\nexport interface SegmentedControlProps<T extends string = string> {\n options: SegmentedOption<T>[];\n value: T;\n onChange: (value: T) => void;\n size?: 'sm' | 'md' | 'lg';\n fullWidth?: boolean;\n className?: string;\n variant?: 'default' | 'accent' | 'purple' | 'teal';\n}\n\nexport function SegmentedControl<T extends string = string>({\n options,\n value,\n onChange,\n size = 'md',\n fullWidth = false,\n className = '',\n variant = 'default',\n}: SegmentedControlProps<T>) {\n return (\n <div\n className={`kz-segmented-control kz-segmented-${size} kz-segmented-${variant} ${\n fullWidth ? 'kz-segmented-full' : ''\n } ${className}`.trim()}\n role=\"tablist\"\n >\n {options.map((option) => {\n const isActive = option.value === value;\n return (\n <button\n key={option.value}\n type=\"button\"\n role=\"tab\"\n aria-selected={isActive}\n disabled={option.disabled}\n className={`kz-segmented-item ${isActive ? 'kz-active' : ''} ${\n option.disabled ? 'kz-disabled' : ''\n }`.trim()}\n onClick={() => !option.disabled && onChange(option.value)}\n >\n {isActive && <span className=\"kz-segmented-bracket-l\" />}\n <span className=\"kz-segmented-content\">\n <span className=\"kz-segmented-label\">{option.label}</span>\n {option.sublabel && (\n <span className=\"kz-segmented-sublabel\">{option.sublabel}</span>\n )}\n </span>\n {option.badge !== undefined && (\n <span className=\"kz-segmented-badge\">{option.badge}</span>\n )}\n {isActive && <span className=\"kz-segmented-bracket-r\" />}\n </button>\n );\n })}\n </div>\n );\n}\n","import React, { ReactNode } from 'react';\n\nexport interface CyberSwitchProps {\n checked: boolean;\n onChange: (checked: boolean) => void;\n label?: ReactNode;\n sublabel?: string;\n disabled?: boolean;\n size?: 'sm' | 'md' | 'lg';\n variant?: 'default' | 'purple' | 'teal';\n className?: string;\n}\n\nexport function CyberSwitch({\n checked,\n onChange,\n label,\n sublabel,\n disabled = false,\n size = 'md',\n variant = 'default',\n className = '',\n}: CyberSwitchProps) {\n return (\n <label\n className={`kz-switch-container kz-switch-${size} kz-switch-${variant} ${\n checked ? 'kz-checked' : ''\n } ${disabled ? 'kz-disabled' : ''} ${className}`.trim()}\n onClick={(e) => {\n if (disabled) return;\n e.preventDefault();\n onChange(!checked);\n }}\n >\n <div\n className=\"kz-switch-track\"\n role=\"switch\"\n aria-checked={checked}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n e.preventDefault();\n onChange(!checked);\n }\n }}\n >\n <span className=\"kz-switch-state-text left\">{checked ? '1' : ''}</span>\n <div className=\"kz-switch-thumb\">\n <span className=\"kz-switch-thumb-grip\" />\n </div>\n <span className=\"kz-switch-state-text right\">{!checked ? '0' : ''}</span>\n </div>\n\n {(label || sublabel) && (\n <div className=\"kz-switch-text-group\">\n {label && <span className=\"kz-switch-label\">{label}</span>}\n {sublabel && <span className=\"kz-switch-sublabel\">{sublabel}</span>}\n </div>\n )}\n </label>\n );\n}\n","import React, { ReactNode } from 'react';\n\nexport interface DataSpecItem {\n key: string;\n value: ReactNode;\n sub?: string;\n status?: 'default' | 'success' | 'warning' | 'alert' | 'purple';\n}\n\nexport interface KeyValGridProps {\n items: DataSpecItem[];\n title?: string;\n coord?: string;\n columns?: 1 | 2;\n leaderDots?: boolean;\n className?: string;\n}\n\nexport function KeyValGrid({\n items,\n title,\n coord,\n columns = 1,\n leaderDots = true,\n className = '',\n}: KeyValGridProps) {\n return (\n <div\n className={`kz-keyval-grid kz-keyval-cols-${columns} ${className}`.trim()}\n >\n {(title || coord) && (\n <div className=\"kz-keyval-header\">\n {title && <span className=\"kz-keyval-title\">{title}</span>}\n {coord && <span className=\"kz-keyval-coord\">{coord}</span>}\n </div>\n )}\n <div className=\"kz-keyval-list\">\n {items.map((item, idx) => (\n <div key={idx} className=\"kz-keyval-row\">\n <span className=\"kz-keyval-key\">\n {item.status && (\n <span className={`kz-keyval-dot kz-dot-${item.status}`} />\n )}\n {item.key}\n </span>\n {leaderDots && <span className=\"kz-keyval-leader\" />}\n <span className=\"kz-keyval-val\">\n <span className=\"kz-keyval-val-main\">{item.value}</span>\n {item.sub && <span className=\"kz-keyval-val-sub\">{item.sub}</span>}\n </span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n","import React, { ReactNode } from 'react';\n\nexport interface BreadcrumbItem {\n label: ReactNode;\n href?: string;\n onClick?: () => void;\n active?: boolean;\n}\n\nexport interface BreadcrumbsProps {\n items: BreadcrumbItem[];\n prefix?: string;\n separator?: string;\n className?: string;\n}\n\nexport function Breadcrumbs({\n items,\n prefix = 'SYS //',\n separator = '/',\n className = '',\n}: BreadcrumbsProps) {\n return (\n <nav\n aria-label=\"Breadcrumb\"\n className={`kz-breadcrumbs ${className}`.trim()}\n >\n {prefix && <span className=\"kz-breadcrumb-prefix\">{prefix}</span>}\n <ol className=\"kz-breadcrumb-list\">\n {items.map((item, idx) => {\n const isLast = idx === items.length - 1;\n const isActive = item.active || isLast;\n\n return (\n <li\n key={idx}\n className={`kz-breadcrumb-item ${isActive ? 'kz-active' : ''}`}\n >\n {idx > 0 && (\n <span className=\"kz-breadcrumb-separator\" aria-hidden=\"true\">\n {separator}\n </span>\n )}\n {item.href && !isActive ? (\n <a\n href={item.href}\n className=\"kz-breadcrumb-link\"\n onClick={item.onClick}\n >\n {item.label}\n </a>\n ) : item.onClick && !isActive ? (\n <button\n type=\"button\"\n className=\"kz-breadcrumb-button\"\n onClick={item.onClick}\n >\n {item.label}\n </button>\n ) : (\n <span\n className=\"kz-breadcrumb-current\"\n aria-current={isActive ? 'page' : undefined}\n >\n {item.label}\n </span>\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n}\n","import React, { ReactNode, useEffect } from 'react';\n\nexport interface TacticalDrawerProps {\n isOpen: boolean;\n onClose: () => void;\n title?: ReactNode;\n coord?: string;\n sublabel?: string;\n children: ReactNode;\n position?: 'bottom' | 'right';\n className?: string;\n}\n\nexport function TacticalDrawer({\n isOpen,\n onClose,\n title,\n coord = 'DRAWER // 0xAF',\n sublabel,\n children,\n position = 'bottom',\n className = '',\n}: TacticalDrawerProps) {\n useEffect(() => {\n if (!isOpen) return;\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n };\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [isOpen, onClose]);\n\n if (!isOpen) return null;\n\n return (\n <div\n className={`kz-drawer-backdrop kz-drawer-${position}`}\n onClick={(e) => {\n if (e.target === e.currentTarget) onClose();\n }}\n >\n <div\n className={`kz-drawer-panel kz-drawer-panel-${position} ${className}`.trim()}\n role=\"dialog\"\n aria-modal=\"true\"\n >\n {/* Grab Handle for Bottom Drawer */}\n {position === 'bottom' && (\n <div className=\"kz-drawer-handle-bar\" onClick={onClose}>\n <span className=\"kz-drawer-handle-pill\" />\n </div>\n )}\n\n <div className=\"kz-drawer-header\">\n <div className=\"kz-drawer-title-group\">\n {coord && <span className=\"kz-drawer-coord\">{coord}</span>}\n {title && <h3 className=\"kz-drawer-title\">{title}</h3>}\n {sublabel && <span className=\"kz-drawer-sublabel\">{sublabel}</span>}\n </div>\n <button\n type=\"button\"\n className=\"kz-drawer-close-btn\"\n onClick={onClose}\n aria-label=\"Close drawer\"\n >\n ✕\n </button>\n </div>\n\n <div className=\"kz-drawer-body\">{children}</div>\n </div>\n </div>\n );\n}\n","import React, { ReactNode, useEffect, useState } from 'react';\n\nexport interface HudToastProps {\n id?: string;\n isOpen: boolean;\n onClose: () => void;\n title: ReactNode;\n description?: ReactNode;\n variant?: 'default' | 'success' | 'alert' | 'purple' | 'teal';\n duration?: number; // ms, 0 means persist\n coord?: string;\n className?: string;\n}\n\nexport function HudToast({\n isOpen,\n onClose,\n title,\n description,\n variant = 'default',\n duration = 4000,\n coord = 'HUD // NOTIFY',\n className = '',\n}: HudToastProps) {\n const [progress, setProgress] = useState(100);\n\n useEffect(() => {\n if (!isOpen || duration <= 0) return;\n setProgress(100);\n\n const startTime = Date.now();\n const interval = setInterval(() => {\n const elapsed = Date.now() - startTime;\n const remaining = Math.max(0, 100 - (elapsed / duration) * 100);\n setProgress(remaining);\n if (elapsed >= duration) {\n clearInterval(interval);\n onClose();\n }\n }, 50);\n\n return () => clearInterval(interval);\n }, [isOpen, duration, onClose]);\n\n if (!isOpen) return null;\n\n return (\n <div\n className={`kz-hud-toast kz-toast-${variant} ${className}`.trim()}\n role=\"alert\"\n >\n <div className=\"kz-toast-inner\">\n <span className=\"kz-toast-bracket-l\" />\n <div className=\"kz-toast-content\">\n <div className=\"kz-toast-header\">\n <span className=\"kz-toast-dot\" />\n <span className=\"kz-toast-coord\">{coord}</span>\n </div>\n <div className=\"kz-toast-title\">{title}</div>\n {description && (\n <div className=\"kz-toast-desc\">{description}</div>\n )}\n </div>\n <button\n type=\"button\"\n className=\"kz-toast-dismiss\"\n onClick={onClose}\n aria-label=\"Dismiss notification\"\n >\n ✕\n </button>\n <span className=\"kz-toast-bracket-r\" />\n </div>\n\n {duration > 0 && (\n <div className=\"kz-toast-progress-track\">\n <div\n className=\"kz-toast-progress-bar\"\n style={{ width: `${progress}%` }}\n />\n </div>\n )}\n </div>\n );\n}\n","import React, { ReactNode } from 'react';\n\nexport interface BottomBarItem {\n id: string;\n label: ReactNode;\n icon?: ReactNode;\n badge?: string | number;\n active?: boolean;\n disabled?: boolean;\n onClick?: () => void;\n}\n\nexport interface BottomBarProps {\n items: BottomBarItem[];\n activeId?: string;\n onSelect?: (id: string) => void;\n bordered?: boolean;\n blur?: boolean;\n fixed?: boolean;\n className?: string;\n variant?: 'default' | 'alley' | 'teal';\n}\n\nexport function BottomBar({\n items,\n activeId,\n onSelect,\n bordered = true,\n blur = true,\n fixed = true,\n className = '',\n variant = 'default',\n}: BottomBarProps) {\n return (\n <nav\n className={`kz-bottom-bar kz-bottom-bar-${variant} ${\n fixed ? 'kz-bottom-bar-fixed' : ''\n } ${blur ? 'kz-bottom-bar-blur' : ''} ${\n bordered ? 'kz-bottom-bar-bordered' : ''\n } ${className}`.trim()}\n role=\"navigation\"\n aria-label=\"Bottom navigation\"\n >\n <div className=\"kz-bottom-bar-track\">\n {items.map((item) => {\n const isActive = activeId !== undefined ? item.id === activeId : item.active;\n\n return (\n <button\n key={item.id}\n type=\"button\"\n role=\"tab\"\n aria-selected={isActive}\n disabled={item.disabled}\n className={`kz-bottom-bar-item ${isActive ? 'kz-active' : ''} ${\n item.disabled ? 'kz-disabled' : ''\n }`.trim()}\n onClick={() => {\n if (item.disabled) return;\n item.onClick?.();\n onSelect?.(item.id);\n }}\n >\n {isActive && <span className=\"kz-bottom-bar-active-pip\" />}\n <div className=\"kz-bottom-bar-icon-wrap\">\n {item.icon}\n {item.badge !== undefined && (\n <span className=\"kz-bottom-bar-badge\">{item.badge}</span>\n )}\n </div>\n <span className=\"kz-bottom-bar-label\">{item.label}</span>\n </button>\n );\n })}\n </div>\n </nav>\n );\n}\n"],"mappings":"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","names":["forwardRef","jsx","forwardRef","jsx","forwardRef","jsx","forwardRef","jsx","forwardRef","jsx","jsxs","forwardRef","jsx","jsxs","forwardRef","jsx","jsxs","Fragment","jsx","jsxs","forwardRef","Fragment","jsx","jsxs","forwardRef","jsx","jsxs","forwardRef","jsx","jsxs","jsx","jsxs","forwardRef","useState","jsx","jsxs","useState","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsxs","useEffect","jsx","jsxs","useEffect","useState","jsx","jsxs","jsx","jsxs"]}
1
+ {"version":3,"sources":["../src/components/Button.tsx","../src/components/BracketCard.tsx","../src/components/CornerFrame.tsx","../src/components/Badge.tsx","../src/components/Dot.tsx","../src/components/TechLabel.tsx","../src/components/Vinyl.tsx","../src/components/StickyNote.tsx","../src/components/SpoilerGate.tsx","../src/components/Logo.tsx","../src/components/Input.tsx","../src/components/TelemetryBar.tsx","../src/components/HudModal.tsx","../src/components/TerminalWindow.tsx","../src/components/Tooltip.tsx","../src/components/SegmentedControl.tsx","../src/components/CyberSwitch.tsx","../src/components/KeyValGrid.tsx","../src/components/Breadcrumbs.tsx","../src/components/TacticalDrawer.tsx","../src/components/HudToast.tsx","../src/components/BottomBar.tsx","../src/components/Slider.tsx","../src/components/ColorPicker.tsx","../src/components/DropdownMenu.tsx","../src/components/Popover.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes, forwardRef } from 'react';\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: 'primary' | 'outline' | 'ghost';\n size?: 'sm' | 'md' | 'lg';\n asChild?: boolean;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className = '', variant = 'outline', size = 'md', children, ...props }, ref) => {\n const classList = [\n 'kz-btn',\n `kz-btn-${variant}`,\n size !== 'md' ? `kz-btn-${size}` : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <button ref={ref} className={classList} {...props}>\n {children}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface BracketCardProps extends HTMLAttributes<HTMLDivElement> {\n active?: boolean;\n}\n\nexport const BracketCard = forwardRef<HTMLDivElement, BracketCardProps>(\n ({ className = '', children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={`kz-bracket-card ${className}`.trim()}\n {...props}\n >\n {children}\n </div>\n );\n }\n);\n\nBracketCard.displayName = 'BracketCard';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface CornerFrameProps extends HTMLAttributes<HTMLDivElement> {\n showCorners?: boolean;\n}\n\nexport const CornerFrame = forwardRef<HTMLDivElement, CornerFrameProps>(\n ({ showCorners = true, className = '', children, ...props }, ref) => {\n return (\n <div ref={ref} className={`kz-corner-frame ${className}`.trim()} {...props}>\n {showCorners && (\n <>\n <span className=\"kz-corner tl\" aria-hidden=\"true\" />\n <span className=\"kz-corner tr\" aria-hidden=\"true\" />\n <span className=\"kz-corner bl\" aria-hidden=\"true\" />\n <span className=\"kz-corner br\" aria-hidden=\"true\" />\n </>\n )}\n {children}\n </div>\n );\n }\n);\n\nCornerFrame.displayName = 'CornerFrame';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n variant?: 'default' | 'accent' | 'teal' | 'purple' | 'outline';\n}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ variant = 'default', className = '', children, ...props }, ref) => {\n const classList = [\n 'kz-badge',\n variant !== 'default' ? variant : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <span ref={ref} className={classList} {...props}>\n {children}\n </span>\n );\n }\n);\n\nBadge.displayName = 'Badge';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface DotProps extends HTMLAttributes<HTMLSpanElement> {\n color?: 'accent' | 'green' | 'red' | 'teal' | 'purple';\n pulse?: boolean;\n}\n\nexport const Dot = forwardRef<HTMLSpanElement, DotProps>(\n ({ color = 'accent', pulse = false, className = '', ...props }, ref) => {\n const classList = [\n 'kz-dot',\n color !== 'accent' ? color : '',\n pulse ? 'pulse' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return <span ref={ref} className={classList} aria-hidden=\"true\" {...props} />;\n }\n);\n\nDot.displayName = 'Dot';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface TechLabelProps extends HTMLAttributes<HTMLDivElement> {\n label: string;\n jp?: string;\n coord?: string;\n}\n\nexport const TechLabel = forwardRef<HTMLDivElement, TechLabelProps>(\n ({ label, jp, coord, className = '', children, ...props }, ref) => {\n return (\n <div ref={ref} className={`kz-tech-label ${className}`.trim()} {...props}>\n <span>{label}</span>\n {jp && <span className=\"jp\">{jp}</span>}\n {coord && <span className=\"kz-coord\">[{coord}]</span>}\n {children}\n </div>\n );\n }\n);\n\nTechLabel.displayName = 'TechLabel';\n","import React, { HTMLAttributes, ReactNode, forwardRef } from 'react';\n\nexport type VinylLayout = 'disc' | 'card' | 'mini' | 'turntable';\n\nexport interface VinylProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n size?: 'sm' | 'md' | 'lg';\n variant?: 'default' | 'alley' | 'teal' | 'gold' | 'hologram';\n layout?: VinylLayout;\n playing?: boolean;\n coverUrl?: string;\n label?: string;\n showRing?: boolean;\n // Metadata for compound layouts (card, mini, turntable)\n title?: ReactNode;\n artist?: ReactNode;\n album?: ReactNode;\n rpm?: '33' | '45' | '78';\n controls?: ReactNode;\n}\n\nexport const Vinyl = forwardRef<HTMLDivElement, VinylProps>(\n (\n {\n size = 'md',\n variant = 'default',\n layout = 'disc',\n playing = false,\n coverUrl,\n label = 'KRZ',\n showRing = true,\n title,\n artist,\n album,\n rpm = '33',\n controls,\n className = '',\n onClick,\n ...props\n },\n ref\n ) => {\n // Pure Disc Element\n const discElement = (\n <div\n className={`kz-vinyl-area kz-vinyl-${size} kz-vinyl-${variant}`}\n onClick={onClick}\n >\n {showRing && <div className=\"kz-vinyl-ring\" aria-hidden=\"true\" />}\n <div className={`kz-vinyl ${playing ? 'playing' : ''}`}>\n <div className=\"kz-vinyl-grooves\" aria-hidden=\"true\" />\n <div className=\"kz-vinyl-label\">\n {coverUrl ? (\n <img\n src={coverUrl}\n alt=\"Vinyl center artwork\"\n className=\"kz-vinyl-cover\"\n />\n ) : (\n <span>{label}</span>\n )}\n <div className=\"kz-vinyl-spindle\" aria-hidden=\"true\" />\n </div>\n </div>\n </div>\n );\n\n // 1. Pure Disc Layout (Default)\n if (layout === 'disc') {\n return (\n <div\n ref={ref}\n className={`kz-vinyl-wrapper kz-layout-disc ${className}`.trim()}\n {...props}\n >\n {discElement}\n </div>\n );\n }\n\n // 2. Mini Player Row (Compact inline player with track info)\n if (layout === 'mini') {\n return (\n <div\n ref={ref}\n className={`kz-vinyl-layout-mini kz-vinyl-${variant} ${\n playing ? 'kz-playing' : ''\n } ${className}`.trim()}\n {...props}\n >\n <div className=\"kz-vinyl-mini-disc\">{discElement}</div>\n <div className=\"kz-vinyl-mini-info\">\n <div className=\"kz-vinyl-mini-status\">\n <span className={`kz-vinyl-pulse ${playing ? 'kz-pulse-active' : ''}`} />\n <span className=\"kz-vinyl-status-text\">\n {playing ? 'NOW PLAYING' : 'STANDBY'}\n </span>\n <span className=\"kz-vinyl-rpm-tag\">{rpm} RPM</span>\n </div>\n {title && <div className=\"kz-vinyl-mini-title\">{title}</div>}\n {(artist || album) && (\n <div className=\"kz-vinyl-mini-artist\">\n {artist}\n {album && ` — [${album}]`}\n </div>\n )}\n </div>\n {controls && <div className=\"kz-vinyl-mini-controls\">{controls}</div>}\n </div>\n );\n }\n\n // 3. Card / Turntable Player Layout (Full Deck)\n if (layout === 'card' || layout === 'turntable') {\n return (\n <div\n ref={ref}\n className={`kz-vinyl-layout-card kz-vinyl-${variant} ${\n playing ? 'kz-playing' : ''\n } ${className}`.trim()}\n {...props}\n >\n <div className=\"kz-vinyl-deck-header\">\n <span className=\"kz-vinyl-deck-tag\">HI-FI DECK // {rpm} RPM</span>\n <span className=\"kz-vinyl-deck-status\">\n <span className={`kz-vinyl-pulse ${playing ? 'kz-pulse-active' : ''}`} />\n {playing ? 'ACTIVE_PLAYBACK' : 'IDLE'}\n </span>\n </div>\n\n <div className=\"kz-vinyl-deck-center\">\n {discElement}\n {layout === 'turntable' && (\n <div className={`kz-turntable-tonearm ${playing ? 'engaged' : ''}`}>\n <div className=\"kz-tonearm-pivot\" />\n <div className=\"kz-tonearm-rod\" />\n <div className=\"kz-tonearm-head\" />\n </div>\n )}\n </div>\n\n <div className=\"kz-vinyl-deck-footer\">\n <div className=\"kz-vinyl-deck-meta\">\n {title && <div className=\"kz-vinyl-deck-title\">{title}</div>}\n {(artist || album) && (\n <div className=\"kz-vinyl-deck-artist\">\n {artist}\n {album && ` — [${album}]`}\n </div>\n )}\n </div>\n {controls && <div className=\"kz-vinyl-deck-controls\">{controls}</div>}\n </div>\n </div>\n );\n }\n\n return discElement;\n }\n);\n\nVinyl.displayName = 'Vinyl';\n","import React, { HTMLAttributes, forwardRef } from 'react';\n\nexport interface StickyNoteProps extends HTMLAttributes<HTMLDivElement> {\n colorVariant?: 1 | 2 | 3 | 4;\n title?: string;\n tape?: boolean;\n}\n\nexport const StickyNote = forwardRef<HTMLDivElement, StickyNoteProps>(\n ({ colorVariant = 1, title, tape = true, className = '', children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={`kz-sticky kz-sticky-${colorVariant} ${tape ? 'has-tape' : ''} ${className}`.trim()}\n {...props}\n >\n {title && <div className=\"kz-sticky-title\">{title}</div>}\n <div className=\"kz-sticky-body\">{children}</div>\n </div>\n );\n }\n);\n\nStickyNote.displayName = 'StickyNote';\n","'use client';\n\nimport React, { useState } from 'react';\nimport { BracketCard } from './BracketCard';\nimport { Button } from './Button';\n\nexport interface SpoilerGateProps {\n title?: string;\n description?: string;\n clearanceText?: string;\n buttonText?: string;\n children: React.ReactNode;\n defaultRevealed?: boolean;\n}\n\nexport function SpoilerGate({\n title = 'CLASSIFIED CONTENT // SPOILER GATE',\n description = 'This section contains narrative disclosures or classified intel. Proceed with caution.',\n clearanceText = '// clearance: user acknowledgement required',\n buttonText = 'Reveal Content',\n children,\n defaultRevealed = false,\n}: SpoilerGateProps) {\n const [revealed, setRevealed] = useState(defaultRevealed);\n\n if (revealed) {\n return <>{children}</>;\n }\n\n return (\n <BracketCard className=\"kz-spoiler-gate\">\n <div className=\"kz-spoiler-icon\" aria-hidden=\"true\">\n ⚠\n </div>\n <div className=\"kz-spoiler-title\">{title}</div>\n <p className=\"kz-spoiler-desc\">{description}</p>\n <div className=\"kz-spoiler-clearance\">{clearanceText}</div>\n <Button\n variant=\"primary\"\n size=\"sm\"\n onClick={() => setRevealed(true)}\n >\n {buttonText}\n </Button>\n </BracketCard>\n );\n}\n","import React, { SVGProps, forwardRef } from 'react';\n\nexport interface LogoProps extends SVGProps<SVGSVGElement> {\n size?: number | string;\n color?: string;\n variant?: 'default' | 'accent' | 'teal' | 'purple' | 'minimal' | 'monochrome' | 'badge';\n withRing?: boolean;\n}\n\n// Canonical vector path extracted from the authentic Kurzagin brand emblem\nconst KURZAGIN_EMBLEM_PATH =\n 'M 427.836 313.750 C 407.437 340.731, 394.892 355.256, 374.072 376.002 C 354.040 395.961, 340.283 407.774, 313 428.443 C 304.475 434.901, 297.379 440.507, 297.231 440.899 C 297.083 441.292, 301.161 442.068, 306.293 442.625 C 315.608 443.635, 315.631 443.644, 319.771 448.136 C 322.053 450.611, 326.525 453.914, 329.710 455.475 C 332.894 457.037, 342.025 459.858, 350 461.744 C 372.991 467.182, 394.656 473.443, 409.642 478.980 C 417.264 481.796, 435.650 490.118, 450.500 497.473 C 465.350 504.829, 479.843 511.371, 482.706 512.013 C 485.569 512.654, 489.315 512.870, 491.030 512.493 C 495.063 511.608, 500.400 506.893, 502.055 502.755 C 502.771 500.965, 504.654 497.826, 506.239 495.780 L 509.121 492.059 500.195 477.780 C 482.447 449.389, 470.897 425.848, 461.635 399.191 C 453.474 375.701, 448.375 352.493, 444.016 319 C 442.835 309.925, 441.560 301.262, 441.184 299.750 C 440.541 297.166, 439.733 298.014, 427.836 313.750 M 653.035 367.631 C 630.326 397.968, 609.007 422.929, 590.366 441.009 C 571.099 459.696, 557.105 471.452, 529.623 492.040 C 516.293 502.026, 515.859 502.464, 518.623 503.127 C 520.205 503.507, 524.434 504.108, 528.020 504.464 C 534.161 505.072, 534.824 505.396, 539.427 510.027 C 545.512 516.149, 554.045 519.837, 570.500 523.457 C 597.419 529.379, 620.207 536.452, 641.500 545.492 C 647.550 548.061, 660.747 554.437, 670.826 559.661 C 680.905 564.885, 691.663 570.024, 694.732 571.080 C 705.045 574.628, 713.038 573.043, 717.643 566.536 C 718.664 565.093, 721.423 561.512, 723.773 558.577 L 728.046 553.241 721.158 542.371 C 706.003 518.456, 694.474 496.400, 686.725 476.500 C 681.571 463.266, 675.390 443.922, 672.594 432.275 C 669.515 419.452, 665.566 396.537, 662.660 374.631 L 660.422 357.763 653.035 367.631 M 495 525.305 C 490.875 530.880, 482.805 541.304, 477.066 548.471 C 443.624 590.231, 416.848 615.914, 370.750 650.443 C 364.288 655.284, 359 659.554, 359 659.931 C 359 660.308, 363.190 661.072, 368.312 661.627 C 377.605 662.634, 377.632 662.645, 381.771 667.136 C 384.053 669.611, 388.419 672.860, 391.474 674.356 C 394.529 675.852, 403.885 678.674, 412.264 680.626 C 453.717 690.286, 479.620 699.543, 512.500 716.446 C 523.500 722.101, 534.907 727.515, 537.848 728.477 C 541.471 729.662, 545.147 730.085, 549.239 729.789 C 554.840 729.384, 555.545 729.051, 558.891 725.234 C 565.508 717.684, 570 711.874, 570 710.865 C 570 710.315, 565.859 703.258, 560.797 695.183 C 550.969 679.501, 539.291 657.628, 532.980 643.076 C 527.165 629.669, 518.662 604.130, 515.143 589.500 C 511.412 573.988, 507.612 551.727, 505.413 532.500 C 504.533 524.800, 503.517 517.750, 503.156 516.834 C 502.661 515.577, 500.658 517.657, 495 525.305';\n\nexport const Logo = forwardRef<SVGSVGElement, LogoProps>(\n (\n {\n size = 28,\n color,\n variant = 'default',\n withRing,\n className = '',\n style,\n ...props\n },\n ref\n ) => {\n let glyphFill = color;\n let ringStroke = color || 'currentColor';\n let ringBg = 'transparent';\n\n if (!color) {\n switch (variant) {\n case 'accent':\n glyphFill = 'var(--kz-accent, #c49368)';\n ringStroke = 'var(--kz-accent, #c49368)';\n break;\n case 'teal':\n glyphFill = 'var(--kz-teal, #50b0b0)';\n ringStroke = 'var(--kz-teal, #50b0b0)';\n break;\n case 'purple':\n glyphFill = 'var(--kz-purple, #b066ff)';\n ringStroke = 'var(--kz-purple, #b066ff)';\n break;\n case 'minimal':\n glyphFill = 'var(--kz-text-1, #b0aca4)';\n ringStroke = 'var(--kz-border, #2a2a30)';\n break;\n case 'monochrome':\n glyphFill = 'var(--kz-text-0, #e2ded6)';\n ringStroke = 'var(--kz-border-light, #3a3a42)';\n break;\n case 'badge':\n glyphFill = 'var(--kz-accent, #c49368)';\n ringStroke = 'var(--kz-accent, #c49368)';\n ringBg = 'rgba(10, 10, 12, 0.9)';\n break;\n case 'default':\n default:\n glyphFill = 'var(--kz-accent, #c49368)';\n ringStroke = 'var(--kz-border, #2a2a30)';\n break;\n }\n }\n\n const showRing = withRing !== undefined ? withRing : variant === 'badge';\n\n return (\n <svg\n ref={ref}\n width={size}\n height={size}\n viewBox=\"0 0 1024 1024\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={`kz-logo kz-logo-${variant} ${className}`.trim()}\n style={{\n display: 'inline-block',\n verticalAlign: 'middle',\n flexShrink: 0,\n ...style,\n }}\n {...props}\n >\n {showRing && (\n <>\n {ringBg !== 'transparent' && (\n <circle cx=\"512\" cy=\"512\" r=\"488\" fill={ringBg} />\n )}\n <circle\n cx=\"512\"\n cy=\"512\"\n r=\"488\"\n stroke={ringStroke}\n strokeWidth=\"24\"\n strokeOpacity={variant === 'default' ? 0.4 : 0.8}\n />\n {/* HUD Corner Accents */}\n <circle cx=\"512\" cy=\"18\" r=\"8\" fill={glyphFill} />\n <circle cx=\"512\" cy=\"1006\" r=\"8\" fill={glyphFill} />\n <circle cx=\"18\" cy=\"512\" r=\"8\" fill={glyphFill} />\n <circle cx=\"1006\" cy=\"512\" r=\"8\" fill={glyphFill} />\n </>\n )}\n <path\n d={KURZAGIN_EMBLEM_PATH}\n fill={glyphFill || 'currentColor'}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nLogo.displayName = 'Logo';\n","import React, { InputHTMLAttributes, forwardRef, ReactNode } from 'react';\n\nexport interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'size'> {\n label?: string;\n sublabel?: string;\n prefixSymbol?: ReactNode;\n suffixSymbol?: ReactNode;\n error?: string;\n hint?: string;\n inputSize?: 'sm' | 'md' | 'lg';\n fullWidth?: boolean;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n className = '',\n label,\n sublabel,\n prefixSymbol = '>_',\n suffixSymbol,\n error,\n hint,\n inputSize = 'md',\n fullWidth = true,\n disabled,\n ...props\n },\n ref\n ) => {\n return (\n <div\n className={[\n 'kz-input-wrapper',\n fullWidth ? 'kz-input-full' : '',\n disabled ? 'kz-input-disabled' : '',\n error ? 'kz-input-has-error' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {(label || sublabel) && (\n <div className=\"kz-input-header\">\n {label && <label className=\"kz-input-label\">{label}</label>}\n {sublabel && <span className=\"kz-input-sublabel\">{sublabel}</span>}\n </div>\n )}\n\n <div className={`kz-input-field-container kz-input-${inputSize}`}>\n {prefixSymbol && <div className=\"kz-input-prefix\">{prefixSymbol}</div>}\n <input\n ref={ref}\n disabled={disabled}\n className=\"kz-input-field\"\n {...props}\n />\n {suffixSymbol && <div className=\"kz-input-suffix\">{suffixSymbol}</div>}\n <div className=\"kz-input-corner-tl\" />\n <div className=\"kz-input-corner-br\" />\n </div>\n\n {(error || hint) && (\n <div className=\"kz-input-footer\">\n {error ? (\n <span className=\"kz-input-error-msg\">{error}</span>\n ) : (\n <span className=\"kz-input-hint-msg\">{hint}</span>\n )}\n </div>\n )}\n </div>\n );\n }\n);\n\nInput.displayName = 'Input';\n","import React, { HTMLAttributes, forwardRef, ReactNode } from 'react';\n\nexport interface TelemetryBarProps extends HTMLAttributes<HTMLDivElement> {\n value: number; // 0 to 100\n max?: number;\n label?: string;\n coord?: string;\n variant?: 'accent' | 'teal' | 'purple' | 'danger' | 'success';\n segmented?: boolean;\n segmentsCount?: number;\n showReadout?: boolean;\n size?: 'sm' | 'md' | 'lg';\n}\n\nexport const TelemetryBar = forwardRef<HTMLDivElement, TelemetryBarProps>(\n (\n {\n className = '',\n value,\n max = 100,\n label,\n coord,\n variant = 'accent',\n segmented = false,\n segmentsCount = 20,\n showReadout = true,\n size = 'md',\n ...props\n },\n ref\n ) => {\n const clampedValue = Math.min(Math.max(value, 0), max);\n const percentage = Math.round((clampedValue / max) * 100);\n\n return (\n <div\n ref={ref}\n className={[\n 'kz-telemetry-container',\n `kz-telemetry-${size}`,\n `kz-telemetry-${variant}`,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n >\n {(label || coord || showReadout) && (\n <div className=\"kz-telemetry-header\">\n <div className=\"kz-telemetry-label-group\">\n {label && <span className=\"kz-telemetry-label\">{label}</span>}\n {coord && <span className=\"kz-telemetry-coord\">[{coord}]</span>}\n </div>\n {showReadout && (\n <span className=\"kz-telemetry-readout\">{percentage}%</span>\n )}\n </div>\n )}\n\n <div className=\"kz-telemetry-track\">\n {segmented ? (\n <div className=\"kz-telemetry-segments\">\n {Array.from({ length: segmentsCount }).map((_, idx) => {\n const step = 100 / segmentsCount;\n const active = (idx + 1) * step <= percentage || (idx * step < percentage && (idx + 1) * step > percentage);\n return (\n <span\n key={idx}\n className={`kz-telemetry-seg ${active ? 'active' : ''}`}\n />\n );\n })}\n </div>\n ) : (\n <div\n className=\"kz-telemetry-fill\"\n style={{ width: `${percentage}%` }}\n >\n <div className=\"kz-telemetry-glow\" />\n </div>\n )}\n </div>\n </div>\n );\n }\n);\n\nTelemetryBar.displayName = 'TelemetryBar';\n","import React, { ReactNode, useEffect } from 'react';\n\nexport interface HudModalProps {\n isOpen: boolean;\n onClose: () => void;\n title?: string;\n jp?: string;\n coord?: string;\n children: ReactNode;\n footer?: ReactNode;\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n closeOnBackdrop?: boolean;\n}\n\nexport const HudModal: React.FC<HudModalProps> = ({\n isOpen,\n onClose,\n title = 'SYS_ALERT',\n jp,\n coord = 'NODE-01',\n children,\n footer,\n size = 'md',\n className = '',\n closeOnBackdrop = true,\n}) => {\n useEffect(() => {\n if (!isOpen) return;\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n onClose();\n }\n };\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [isOpen, onClose]);\n\n if (!isOpen) return null;\n\n return (\n <div className=\"kz-modal-portal\">\n <div\n className=\"kz-modal-backdrop\"\n onClick={closeOnBackdrop ? onClose : undefined}\n />\n <div className={`kz-modal-dialog kz-modal-${size} ${className}`}>\n {/* Top Header */}\n <div className=\"kz-modal-header\">\n <div className=\"kz-modal-title-group\">\n <span className=\"kz-modal-title\">{title}</span>\n {jp && <span className=\"kz-modal-jp\">{jp}</span>}\n {coord && <span className=\"kz-modal-coord\">// [{coord}]</span>}\n </div>\n <button\n type=\"button\"\n className=\"kz-modal-close-btn\"\n onClick={onClose}\n aria-label=\"Close dialog\"\n >\n [ESC ✕]\n </button>\n </div>\n\n {/* Modal Body */}\n <div className=\"kz-modal-body\">{children}</div>\n\n {/* Optional Footer */}\n {footer && <div className=\"kz-modal-footer\">{footer}</div>}\n\n {/* Corner Accents */}\n <div className=\"kz-modal-corner-tl\" />\n <div className=\"kz-modal-corner-tr\" />\n <div className=\"kz-modal-corner-bl\" />\n <div className=\"kz-modal-corner-br\" />\n </div>\n </div>\n );\n};\n\nHudModal.displayName = 'HudModal';\n","import React, { HTMLAttributes, forwardRef, useState } from 'react';\n\nexport interface TerminalWindowProps extends HTMLAttributes<HTMLDivElement> {\n title?: string;\n badge?: string;\n code: string;\n showLineNumbers?: boolean;\n copyable?: boolean;\n}\n\nexport const TerminalWindow = forwardRef<HTMLDivElement, TerminalWindowProps>(\n (\n {\n className = '',\n title = 'terminal.sh',\n badge = 'ACTIVE',\n code,\n showLineNumbers = true,\n copyable = true,\n ...props\n },\n ref\n ) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = () => {\n navigator.clipboard.writeText(code);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n };\n\n const lines = code.trim().split('\\n');\n\n return (\n <div\n ref={ref}\n className={['kz-terminal-window', className].filter(Boolean).join(' ')}\n {...props}\n >\n <div className=\"kz-terminal-header\">\n <div className=\"kz-terminal-dots\">\n <span className=\"kz-term-dot kz-term-dot-red\" />\n <span className=\"kz-term-dot kz-term-dot-yellow\" />\n <span className=\"kz-term-dot kz-term-dot-green\" />\n </div>\n\n <div className=\"kz-terminal-title-box\">\n <span className=\"kz-terminal-title\">{title}</span>\n {badge && <span className=\"kz-terminal-badge\">{badge}</span>}\n </div>\n\n <div className=\"kz-terminal-actions\">\n {copyable && (\n <button\n type=\"button\"\n className=\"kz-terminal-copy-btn\"\n onClick={handleCopy}\n aria-label=\"Copy code\"\n >\n {copied ? '[COPIED]' : '[COPY]'}\n </button>\n )}\n </div>\n </div>\n\n <div className=\"kz-terminal-body\">\n <pre className=\"kz-terminal-pre\">\n {showLineNumbers ? (\n <code>\n {lines.map((line, idx) => (\n <div key={idx} className=\"kz-terminal-line\">\n <span className=\"kz-terminal-lineno\">{idx + 1}</span>\n <span className=\"kz-terminal-linecontent\">{line || ' '}</span>\n </div>\n ))}\n </code>\n ) : (\n <code>{code}</code>\n )}\n </pre>\n </div>\n </div>\n );\n }\n);\n\nTerminalWindow.displayName = 'TerminalWindow';\n","import React, { forwardRef, ReactNode } from 'react';\n\nexport interface TooltipProps {\n content: ReactNode;\n children: ReactNode;\n position?: 'top' | 'bottom' | 'left' | 'right';\n coord?: string;\n shortcut?: string;\n className?: string;\n}\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n content,\n children,\n position = 'top',\n coord,\n shortcut,\n className = '',\n}) => {\n return (\n <div className={`kz-tooltip-wrapper ${className}`}>\n {children}\n <div className={`kz-tooltip-bubble kz-tooltip-${position}`}>\n <div className=\"kz-tooltip-content\">\n {coord && <span className=\"kz-tooltip-coord\">{coord}</span>}\n <span className=\"kz-tooltip-text\">{content}</span>\n {shortcut && <kbd className=\"kz-tooltip-shortcut\">{shortcut}</kbd>}\n </div>\n <div className=\"kz-tooltip-arrow\" />\n </div>\n </div>\n );\n};\n","import React, { ReactNode } from 'react';\n\nexport interface SegmentedOption<T extends string = string> {\n value: T;\n label: ReactNode;\n sublabel?: string;\n badge?: string | number;\n disabled?: boolean;\n}\n\nexport interface SegmentedControlProps<T extends string = string> {\n options: SegmentedOption<T>[];\n value: T;\n onChange: (value: T) => void;\n size?: 'sm' | 'md' | 'lg';\n fullWidth?: boolean;\n className?: string;\n variant?: 'default' | 'accent' | 'purple' | 'teal';\n}\n\nexport function SegmentedControl<T extends string = string>({\n options,\n value,\n onChange,\n size = 'md',\n fullWidth = false,\n className = '',\n variant = 'default',\n}: SegmentedControlProps<T>) {\n return (\n <div\n className={`kz-segmented-control kz-segmented-${size} kz-segmented-${variant} ${\n fullWidth ? 'kz-segmented-full' : ''\n } ${className}`.trim()}\n role=\"tablist\"\n >\n {options.map((option) => {\n const isActive = option.value === value;\n return (\n <button\n key={option.value}\n type=\"button\"\n role=\"tab\"\n aria-selected={isActive}\n disabled={option.disabled}\n className={`kz-segmented-item ${isActive ? 'kz-active' : ''} ${\n option.disabled ? 'kz-disabled' : ''\n }`.trim()}\n onClick={() => !option.disabled && onChange(option.value)}\n >\n {isActive && <span className=\"kz-segmented-bracket-l\" />}\n <span className=\"kz-segmented-content\">\n <span className=\"kz-segmented-label\">{option.label}</span>\n {option.sublabel && (\n <span className=\"kz-segmented-sublabel\">{option.sublabel}</span>\n )}\n </span>\n {option.badge !== undefined && (\n <span className=\"kz-segmented-badge\">{option.badge}</span>\n )}\n {isActive && <span className=\"kz-segmented-bracket-r\" />}\n </button>\n );\n })}\n </div>\n );\n}\n","import React, { ReactNode } from 'react';\n\nexport interface CyberSwitchProps {\n checked: boolean;\n onChange: (checked: boolean) => void;\n label?: ReactNode;\n sublabel?: string;\n disabled?: boolean;\n size?: 'sm' | 'md' | 'lg';\n variant?: 'default' | 'purple' | 'teal';\n className?: string;\n}\n\nexport function CyberSwitch({\n checked,\n onChange,\n label,\n sublabel,\n disabled = false,\n size = 'md',\n variant = 'default',\n className = '',\n}: CyberSwitchProps) {\n return (\n <label\n className={`kz-switch-container kz-switch-${size} kz-switch-${variant} ${\n checked ? 'kz-checked' : ''\n } ${disabled ? 'kz-disabled' : ''} ${className}`.trim()}\n onClick={(e) => {\n if (disabled) return;\n e.preventDefault();\n onChange(!checked);\n }}\n >\n <div\n className=\"kz-switch-track\"\n role=\"switch\"\n aria-checked={checked}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n e.preventDefault();\n onChange(!checked);\n }\n }}\n >\n <span className=\"kz-switch-state-text left\">{checked ? '1' : ''}</span>\n <div className=\"kz-switch-thumb\">\n <span className=\"kz-switch-thumb-grip\" />\n </div>\n <span className=\"kz-switch-state-text right\">{!checked ? '0' : ''}</span>\n </div>\n\n {(label || sublabel) && (\n <div className=\"kz-switch-text-group\">\n {label && <span className=\"kz-switch-label\">{label}</span>}\n {sublabel && <span className=\"kz-switch-sublabel\">{sublabel}</span>}\n </div>\n )}\n </label>\n );\n}\n","import React, { ReactNode } from 'react';\n\nexport interface DataSpecItem {\n key: string;\n value: ReactNode;\n sub?: string;\n status?: 'default' | 'success' | 'warning' | 'alert' | 'purple';\n}\n\nexport interface KeyValGridProps {\n items: DataSpecItem[];\n title?: string;\n coord?: string;\n columns?: 1 | 2;\n leaderDots?: boolean;\n className?: string;\n}\n\nexport function KeyValGrid({\n items,\n title,\n coord,\n columns = 1,\n leaderDots = true,\n className = '',\n}: KeyValGridProps) {\n return (\n <div\n className={`kz-keyval-grid kz-keyval-cols-${columns} ${className}`.trim()}\n >\n {(title || coord) && (\n <div className=\"kz-keyval-header\">\n {title && <span className=\"kz-keyval-title\">{title}</span>}\n {coord && <span className=\"kz-keyval-coord\">{coord}</span>}\n </div>\n )}\n <div className=\"kz-keyval-list\">\n {items.map((item, idx) => (\n <div key={idx} className=\"kz-keyval-row\">\n <span className=\"kz-keyval-key\">\n {item.status && (\n <span className={`kz-keyval-dot kz-dot-${item.status}`} />\n )}\n {item.key}\n </span>\n {leaderDots && <span className=\"kz-keyval-leader\" />}\n <span className=\"kz-keyval-val\">\n <span className=\"kz-keyval-val-main\">{item.value}</span>\n {item.sub && <span className=\"kz-keyval-val-sub\">{item.sub}</span>}\n </span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n","import React, { ReactNode } from 'react';\n\nexport interface BreadcrumbItem {\n label: ReactNode;\n href?: string;\n onClick?: () => void;\n active?: boolean;\n}\n\nexport interface BreadcrumbsProps {\n items: BreadcrumbItem[];\n prefix?: string;\n separator?: string;\n className?: string;\n}\n\nexport function Breadcrumbs({\n items,\n prefix = 'SYS //',\n separator = '/',\n className = '',\n}: BreadcrumbsProps) {\n return (\n <nav\n aria-label=\"Breadcrumb\"\n className={`kz-breadcrumbs ${className}`.trim()}\n >\n {prefix && <span className=\"kz-breadcrumb-prefix\">{prefix}</span>}\n <ol className=\"kz-breadcrumb-list\">\n {items.map((item, idx) => {\n const isLast = idx === items.length - 1;\n const isActive = item.active || isLast;\n\n return (\n <li\n key={idx}\n className={`kz-breadcrumb-item ${isActive ? 'kz-active' : ''}`}\n >\n {idx > 0 && (\n <span className=\"kz-breadcrumb-separator\" aria-hidden=\"true\">\n {separator}\n </span>\n )}\n {item.href && !isActive ? (\n <a\n href={item.href}\n className=\"kz-breadcrumb-link\"\n onClick={item.onClick}\n >\n {item.label}\n </a>\n ) : item.onClick && !isActive ? (\n <button\n type=\"button\"\n className=\"kz-breadcrumb-button\"\n onClick={item.onClick}\n >\n {item.label}\n </button>\n ) : (\n <span\n className=\"kz-breadcrumb-current\"\n aria-current={isActive ? 'page' : undefined}\n >\n {item.label}\n </span>\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n}\n","import React, { ReactNode, useEffect } from 'react';\n\nexport interface TacticalDrawerProps {\n isOpen: boolean;\n onClose: () => void;\n title?: ReactNode;\n coord?: string;\n sublabel?: string;\n children: ReactNode;\n position?: 'bottom' | 'right';\n className?: string;\n}\n\nexport function TacticalDrawer({\n isOpen,\n onClose,\n title,\n coord = 'DRAWER // 0xAF',\n sublabel,\n children,\n position = 'bottom',\n className = '',\n}: TacticalDrawerProps) {\n useEffect(() => {\n if (!isOpen) return;\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n };\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [isOpen, onClose]);\n\n if (!isOpen) return null;\n\n return (\n <div\n className={`kz-drawer-backdrop kz-drawer-${position}`}\n onClick={(e) => {\n if (e.target === e.currentTarget) onClose();\n }}\n >\n <div\n className={`kz-drawer-panel kz-drawer-panel-${position} ${className}`.trim()}\n role=\"dialog\"\n aria-modal=\"true\"\n >\n {/* Grab Handle for Bottom Drawer */}\n {position === 'bottom' && (\n <div className=\"kz-drawer-handle-bar\" onClick={onClose}>\n <span className=\"kz-drawer-handle-pill\" />\n </div>\n )}\n\n <div className=\"kz-drawer-header\">\n <div className=\"kz-drawer-title-group\">\n {coord && <span className=\"kz-drawer-coord\">{coord}</span>}\n {title && <h3 className=\"kz-drawer-title\">{title}</h3>}\n {sublabel && <span className=\"kz-drawer-sublabel\">{sublabel}</span>}\n </div>\n <button\n type=\"button\"\n className=\"kz-drawer-close-btn\"\n onClick={onClose}\n aria-label=\"Close drawer\"\n >\n ✕\n </button>\n </div>\n\n <div className=\"kz-drawer-body\">{children}</div>\n </div>\n </div>\n );\n}\n","import React, { ReactNode, useEffect, useState } from 'react';\n\nexport interface HudToastProps {\n id?: string;\n isOpen: boolean;\n onClose: () => void;\n title: ReactNode;\n description?: ReactNode;\n variant?: 'default' | 'success' | 'alert' | 'purple' | 'teal';\n duration?: number; // ms, 0 means persist\n coord?: string;\n className?: string;\n}\n\nexport function HudToast({\n isOpen,\n onClose,\n title,\n description,\n variant = 'default',\n duration = 4000,\n coord = 'HUD // NOTIFY',\n className = '',\n}: HudToastProps) {\n const [progress, setProgress] = useState(100);\n\n useEffect(() => {\n if (!isOpen || duration <= 0) return;\n setProgress(100);\n\n const startTime = Date.now();\n const interval = setInterval(() => {\n const elapsed = Date.now() - startTime;\n const remaining = Math.max(0, 100 - (elapsed / duration) * 100);\n setProgress(remaining);\n if (elapsed >= duration) {\n clearInterval(interval);\n onClose();\n }\n }, 50);\n\n return () => clearInterval(interval);\n }, [isOpen, duration, onClose]);\n\n if (!isOpen) return null;\n\n return (\n <div\n className={`kz-hud-toast kz-toast-${variant} ${className}`.trim()}\n role=\"alert\"\n >\n <div className=\"kz-toast-inner\">\n <span className=\"kz-toast-bracket-l\" />\n <div className=\"kz-toast-content\">\n <div className=\"kz-toast-header\">\n <span className=\"kz-toast-dot\" />\n <span className=\"kz-toast-coord\">{coord}</span>\n </div>\n <div className=\"kz-toast-title\">{title}</div>\n {description && (\n <div className=\"kz-toast-desc\">{description}</div>\n )}\n </div>\n <button\n type=\"button\"\n className=\"kz-toast-dismiss\"\n onClick={onClose}\n aria-label=\"Dismiss notification\"\n >\n ✕\n </button>\n <span className=\"kz-toast-bracket-r\" />\n </div>\n\n {duration > 0 && (\n <div className=\"kz-toast-progress-track\">\n <div\n className=\"kz-toast-progress-bar\"\n style={{ width: `${progress}%` }}\n />\n </div>\n )}\n </div>\n );\n}\n","import React, { ReactNode } from 'react';\n\nexport interface BottomBarItem {\n id: string;\n label: ReactNode;\n icon?: ReactNode;\n badge?: string | number;\n active?: boolean;\n disabled?: boolean;\n onClick?: () => void;\n}\n\nexport interface BottomBarProps {\n items: BottomBarItem[];\n activeId?: string;\n onSelect?: (id: string) => void;\n bordered?: boolean;\n blur?: boolean;\n fixed?: boolean;\n className?: string;\n variant?: 'default' | 'alley' | 'teal';\n}\n\nexport function BottomBar({\n items,\n activeId,\n onSelect,\n bordered = true,\n blur = true,\n fixed = true,\n className = '',\n variant = 'default',\n}: BottomBarProps) {\n return (\n <nav\n className={`kz-bottom-bar kz-bottom-bar-${variant} ${\n fixed ? 'kz-bottom-bar-fixed' : ''\n } ${blur ? 'kz-bottom-bar-blur' : ''} ${\n bordered ? 'kz-bottom-bar-bordered' : ''\n } ${className}`.trim()}\n role=\"navigation\"\n aria-label=\"Bottom navigation\"\n >\n <div className=\"kz-bottom-bar-track\">\n {items.map((item) => {\n const isActive = activeId !== undefined ? item.id === activeId : item.active;\n\n return (\n <button\n key={item.id}\n type=\"button\"\n role=\"tab\"\n aria-selected={isActive}\n disabled={item.disabled}\n className={`kz-bottom-bar-item ${isActive ? 'kz-active' : ''} ${\n item.disabled ? 'kz-disabled' : ''\n }`.trim()}\n onClick={() => {\n if (item.disabled) return;\n item.onClick?.();\n onSelect?.(item.id);\n }}\n >\n {isActive && <span className=\"kz-bottom-bar-active-pip\" />}\n <div className=\"kz-bottom-bar-icon-wrap\">\n {item.icon}\n {item.badge !== undefined && (\n <span className=\"kz-bottom-bar-badge\">{item.badge}</span>\n )}\n </div>\n <span className=\"kz-bottom-bar-label\">{item.label}</span>\n </button>\n );\n })}\n </div>\n </nav>\n );\n}\n","import React, { forwardRef, InputHTMLAttributes, ReactNode } from 'react';\n\nexport interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {\n label?: string;\n sublabel?: string;\n coord?: string;\n showValue?: boolean;\n valueFormatter?: (val: number) => ReactNode;\n sliderSize?: 'sm' | 'md' | 'lg';\n variant?: 'default' | 'accent' | 'teal' | 'purple';\n fullWidth?: boolean;\n}\n\nexport const Slider = forwardRef<HTMLInputElement, SliderProps>(\n (\n {\n className = '',\n label,\n sublabel,\n coord,\n showValue = true,\n valueFormatter,\n sliderSize = 'md',\n variant = 'accent',\n fullWidth = true,\n min = 0,\n max = 100,\n value,\n defaultValue,\n disabled,\n ...props\n },\n ref\n ) => {\n const currentVal = Number(value !== undefined ? value : defaultValue !== undefined ? defaultValue : min);\n const minVal = Number(min);\n const maxVal = Number(max);\n const pct = Math.max(0, Math.min(100, ((currentVal - minVal) / (maxVal - minVal || 1)) * 100));\n\n return (\n <div\n className={[\n 'kz-slider-wrapper',\n `kz-slider-${sliderSize}`,\n `kz-slider-${variant}`,\n fullWidth ? 'kz-slider-full' : '',\n disabled ? 'kz-slider-disabled' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {(label || sublabel || showValue || coord) && (\n <div className=\"kz-slider-header\">\n <div className=\"kz-slider-label-group\">\n {label && <label className=\"kz-slider-label\">{label}</label>}\n {sublabel && <span className=\"kz-slider-sublabel\">{sublabel}</span>}\n {coord && <span className=\"kz-slider-coord\">{coord}</span>}\n </div>\n {showValue && (\n <span className=\"kz-slider-value\">\n {valueFormatter ? valueFormatter(currentVal) : currentVal}\n </span>\n )}\n </div>\n )}\n\n <div className=\"kz-slider-track-container\">\n <input\n ref={ref}\n type=\"range\"\n min={min}\n max={max}\n value={value}\n defaultValue={defaultValue}\n disabled={disabled}\n className=\"kz-slider-input\"\n style={{ '--kz-slider-pct': `${pct}%` } as React.CSSProperties}\n {...props}\n />\n </div>\n </div>\n );\n }\n);\n\nSlider.displayName = 'Slider';\n","import React, { forwardRef, ReactNode, useState, useRef, useEffect } from 'react';\n\nexport interface ColorPickerProps {\n value: string;\n onChange: (color: string) => void;\n presets?: string[];\n label?: string;\n sublabel?: string;\n coord?: string;\n showHexInput?: boolean;\n disabled?: boolean;\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n children?: ReactNode;\n}\n\nexport const ColorPicker = forwardRef<HTMLDivElement, ColorPickerProps>(\n (\n {\n value,\n onChange,\n presets = [\n '#000000', '#ffffff', '#c49368', '#6a9e9e', '#a855f7',\n '#3b82f6', '#22c55e', '#ef4444', '#eab308', '#ec4899',\n '#64748b', '#1e293b'\n ],\n label,\n sublabel,\n coord,\n showHexInput = true,\n disabled = false,\n size = 'md',\n className = '',\n },\n ref\n ) => {\n const [isOpen, setIsOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const handleOutsideClick = (e: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(e.target as Node)) {\n setIsOpen(false);\n }\n };\n if (isOpen) {\n document.addEventListener('mousedown', handleOutsideClick);\n }\n return () => {\n document.removeEventListener('mousedown', handleOutsideClick);\n };\n }, [isOpen]);\n\n return (\n <div\n ref={containerRef}\n className={[\n 'kz-color-picker',\n `kz-color-picker-${size}`,\n disabled ? 'kz-color-picker-disabled' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {(label || sublabel || coord) && (\n <div className=\"kz-color-picker-header\">\n <div className=\"kz-color-picker-label-group\">\n {label && <label className=\"kz-color-picker-label\">{label}</label>}\n {sublabel && <span className=\"kz-color-picker-sublabel\">{sublabel}</span>}\n {coord && <span className=\"kz-color-picker-coord\">{coord}</span>}\n </div>\n <span className=\"kz-color-picker-hex\">{value.toUpperCase()}</span>\n </div>\n )}\n\n <div className=\"kz-color-picker-trigger-row\" ref={ref}>\n <button\n type=\"button\"\n disabled={disabled}\n className=\"kz-color-picker-swatch-trigger\"\n onClick={() => !disabled && setIsOpen(!isOpen)}\n aria-label={label || 'Select color'}\n >\n <span className=\"kz-color-picker-swatch-preview\" style={{ backgroundColor: value }} />\n <span className=\"kz-color-picker-swatch-val\">{value}</span>\n <span className=\"kz-color-picker-caret\">▼</span>\n </button>\n </div>\n\n {isOpen && (\n <div className=\"kz-color-picker-popover\">\n <div className=\"kz-color-picker-palette\">\n {presets.map((color) => (\n <button\n key={color}\n type=\"button\"\n className={[\n 'kz-color-picker-palette-btn',\n value.toLowerCase() === color.toLowerCase() ? 'active' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{ backgroundColor: color }}\n onClick={() => {\n onChange(color);\n }}\n title={color}\n />\n ))}\n </div>\n\n {showHexInput && (\n <div className=\"kz-color-picker-custom-input\">\n <input\n type=\"color\"\n value={value.startsWith('#') && value.length === 7 ? value : '#000000'}\n onChange={(e) => onChange(e.target.value)}\n className=\"kz-color-picker-native-input\"\n />\n <input\n type=\"text\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n placeholder=\"#000000\"\n className=\"kz-color-picker-text-input\"\n />\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n);\n\nColorPicker.displayName = 'ColorPicker';\n","import React, { forwardRef, ReactNode, useState, useRef, useEffect } from 'react';\n\nexport interface DropdownItem {\n id: string;\n label: ReactNode;\n sublabel?: string;\n icon?: ReactNode;\n badge?: string | number;\n shortcut?: string;\n disabled?: boolean;\n danger?: boolean;\n onClick?: () => void;\n}\n\nexport interface DropdownMenuProps {\n trigger: ReactNode;\n items: DropdownItem[];\n title?: string;\n coord?: string;\n align?: 'left' | 'right';\n className?: string;\n disabled?: boolean;\n}\n\nexport const DropdownMenu = forwardRef<HTMLDivElement, DropdownMenuProps>(\n (\n {\n trigger,\n items,\n title,\n coord,\n align = 'left',\n className = '',\n disabled = false,\n },\n ref\n ) => {\n const [isOpen, setIsOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const handleOutsideClick = (e: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(e.target as Node)) {\n setIsOpen(false);\n }\n };\n if (isOpen) {\n document.addEventListener('mousedown', handleOutsideClick);\n }\n return () => {\n document.removeEventListener('mousedown', handleOutsideClick);\n };\n }, [isOpen]);\n\n return (\n <div\n ref={containerRef}\n className={['kz-dropdown-container', className].filter(Boolean).join(' ')}\n >\n <div\n ref={ref}\n className=\"kz-dropdown-trigger-wrapper\"\n onClick={() => !disabled && setIsOpen(!isOpen)}\n >\n {trigger}\n </div>\n\n {isOpen && (\n <div\n className={[\n 'kz-dropdown-menu',\n `align-${align}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {(title || coord) && (\n <div className=\"kz-dropdown-header\">\n {title && <span className=\"kz-dropdown-title\">{title}</span>}\n {coord && <span className=\"kz-dropdown-coord\">{coord}</span>}\n </div>\n )}\n <div className=\"kz-dropdown-list\">\n {items.map((item) => (\n <button\n key={item.id}\n type=\"button\"\n disabled={item.disabled}\n className={[\n 'kz-dropdown-item',\n item.danger ? 'danger' : '',\n item.disabled ? 'disabled' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => {\n if (item.disabled) return;\n item.onClick?.();\n setIsOpen(false);\n }}\n >\n <div className=\"kz-dropdown-item-left\">\n {item.icon && <span className=\"kz-dropdown-item-icon\">{item.icon}</span>}\n <div className=\"kz-dropdown-item-text\">\n <span className=\"kz-dropdown-item-label\">{item.label}</span>\n {item.sublabel && (\n <span className=\"kz-dropdown-item-sublabel\">{item.sublabel}</span>\n )}\n </div>\n </div>\n <div className=\"kz-dropdown-item-right\">\n {item.shortcut && (\n <span className=\"kz-dropdown-item-shortcut\">{item.shortcut}</span>\n )}\n {item.badge !== undefined && (\n <span className=\"kz-dropdown-item-badge\">{item.badge}</span>\n )}\n </div>\n </button>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n }\n);\n\nDropdownMenu.displayName = 'DropdownMenu';\n","import React, { forwardRef, ReactNode, useState, useRef, useEffect } from 'react';\n\nexport interface PopoverProps {\n trigger: ReactNode;\n children: ReactNode;\n title?: string;\n coord?: string;\n align?: 'left' | 'right' | 'center';\n position?: 'top' | 'bottom';\n className?: string;\n isOpen?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n disabled?: boolean;\n}\n\nexport const Popover = forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n trigger,\n children,\n title,\n coord,\n align = 'center',\n position = 'bottom',\n className = '',\n isOpen: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n disabled = false,\n },\n ref\n ) => {\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : internalOpen;\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const toggleOpen = () => {\n if (disabled) return;\n const next = !open;\n if (!isControlled) {\n setInternalOpen(next);\n }\n onOpenChange?.(next);\n };\n\n const handleClose = () => {\n if (!isControlled) {\n setInternalOpen(false);\n }\n onOpenChange?.(false);\n };\n\n useEffect(() => {\n const handleOutsideClick = (e: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(e.target as Node)) {\n handleClose();\n }\n };\n if (open) {\n document.addEventListener('mousedown', handleOutsideClick);\n }\n return () => {\n document.removeEventListener('mousedown', handleOutsideClick);\n };\n }, [open]);\n\n return (\n <div\n ref={containerRef}\n className={['kz-popover-container', className].filter(Boolean).join(' ')}\n >\n <div\n ref={ref}\n className=\"kz-popover-trigger-wrapper\"\n onClick={toggleOpen}\n >\n {trigger}\n </div>\n\n {open && (\n <div\n className={[\n 'kz-popover-content',\n `pos-${position}`,\n `align-${align}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {(title || coord) && (\n <div className=\"kz-popover-header\">\n {title && <span className=\"kz-popover-title\">{title}</span>}\n {coord && <span className=\"kz-popover-coord\">{coord}</span>}\n </div>\n )}\n <div className=\"kz-popover-body\">{children}</div>\n </div>\n )}\n </div>\n );\n }\n);\n\nPopover.displayName = 'Popover';\n"],"mappings":";;;;;;;;;;;;;;;AAAA,SAAsC,kBAAkB;AAoBlD;AAZC,IAAM,SAAS;AAAA,EACpB,CAAC,EAAE,YAAY,IAAI,UAAU,WAAW,OAAO,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ;AACjF,UAAM,YAAY;AAAA,MAChB;AAAA,MACA,UAAU,OAAO;AAAA,MACjB,SAAS,OAAO,UAAU,IAAI,KAAK;AAAA,MACnC;AAAA,IACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,WACE,oBAAC,YAAO,KAAU,WAAW,WAAY,GAAG,OACzC,UACH;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;;;AC3BrB,SAAgC,cAAAA,mBAAkB;AAS5C,gBAAAC,YAAA;AAHC,IAAM,cAAcD;AAAA,EACzB,CAAC,EAAE,YAAY,IAAI,UAAU,GAAG,MAAM,GAAG,QAAQ;AAC/C,WACE,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,mBAAmB,SAAS,GAAG,KAAK;AAAA,QAC9C,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,YAAY,cAAc;;;ACpB1B,SAAgC,cAAAC,mBAAkB;AAWxC,mBACE,OAAAC,MADF;AALH,IAAM,cAAcD;AAAA,EACzB,CAAC,EAAE,cAAc,MAAM,YAAY,IAAI,UAAU,GAAG,MAAM,GAAG,QAAQ;AACnE,WACE,qBAAC,SAAI,KAAU,WAAW,mBAAmB,SAAS,GAAG,KAAK,GAAI,GAAG,OAClE;AAAA,qBACC,iCACE;AAAA,wBAAAC,KAAC,UAAK,WAAU,gBAAe,eAAY,QAAO;AAAA,QAClD,gBAAAA,KAAC,UAAK,WAAU,gBAAe,eAAY,QAAO;AAAA,QAClD,gBAAAA,KAAC,UAAK,WAAU,gBAAe,eAAY,QAAO;AAAA,QAClD,gBAAAA,KAAC,UAAK,WAAU,gBAAe,eAAY,QAAO;AAAA,SACpD;AAAA,MAED;AAAA,OACH;AAAA,EAEJ;AACF;AAEA,YAAY,cAAc;;;ACxB1B,SAAgC,cAAAC,mBAAkB;AAiB5C,gBAAAC,YAAA;AAXC,IAAM,QAAQD;AAAA,EACnB,CAAC,EAAE,UAAU,WAAW,YAAY,IAAI,UAAU,GAAG,MAAM,GAAG,QAAQ;AACpE,UAAM,YAAY;AAAA,MAChB;AAAA,MACA,YAAY,YAAY,UAAU;AAAA,MAClC;AAAA,IACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,WACE,gBAAAC,KAAC,UAAK,KAAU,WAAW,WAAY,GAAG,OACvC,UACH;AAAA,EAEJ;AACF;AAEA,MAAM,cAAc;;;ACxBpB,SAAgC,cAAAC,mBAAkB;AAkBvC,gBAAAC,YAAA;AAXJ,IAAM,MAAMD;AAAA,EACjB,CAAC,EAAE,QAAQ,UAAU,QAAQ,OAAO,YAAY,IAAI,GAAG,MAAM,GAAG,QAAQ;AACtE,UAAM,YAAY;AAAA,MAChB;AAAA,MACA,UAAU,WAAW,QAAQ;AAAA,MAC7B,QAAQ,UAAU;AAAA,MAClB;AAAA,IACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,WAAO,gBAAAC,KAAC,UAAK,KAAU,WAAW,WAAW,eAAY,QAAQ,GAAG,OAAO;AAAA,EAC7E;AACF;AAEA,IAAI,cAAc;;;ACtBlB,SAAgC,cAAAC,mBAAkB;AAY1C,gBAAAC,MAEU,QAAAC,aAFV;AAJD,IAAM,YAAYF;AAAA,EACvB,CAAC,EAAE,OAAO,IAAI,OAAO,YAAY,IAAI,UAAU,GAAG,MAAM,GAAG,QAAQ;AACjE,WACE,gBAAAE,MAAC,SAAI,KAAU,WAAW,iBAAiB,SAAS,GAAG,KAAK,GAAI,GAAG,OACjE;AAAA,sBAAAD,KAAC,UAAM,iBAAM;AAAA,MACZ,MAAM,gBAAAA,KAAC,UAAK,WAAU,MAAM,cAAG;AAAA,MAC/B,SAAS,gBAAAC,MAAC,UAAK,WAAU,YAAW;AAAA;AAAA,QAAE;AAAA,QAAM;AAAA,SAAC;AAAA,MAC7C;AAAA,OACH;AAAA,EAEJ;AACF;AAEA,UAAU,cAAc;;;ACrBxB,SAA2C,cAAAC,mBAAkB;AA+CxC,gBAAAC,MAGX,QAAAC,aAHW;AA3Bd,IAAM,QAAQF;AAAA,EACnB,CACE;AAAA,IACE,OAAO;AAAA,IACP,UAAU;AAAA,IACV,SAAS;AAAA,IACT,UAAU;AAAA,IACV;AAAA,IACA,QAAQ;AAAA,IACR,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AAEH,UAAM,cACJ,gBAAAE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,0BAA0B,IAAI,aAAa,OAAO;AAAA,QAC7D;AAAA,QAEC;AAAA,sBAAY,gBAAAD,KAAC,SAAI,WAAU,iBAAgB,eAAY,QAAO;AAAA,UAC/D,gBAAAC,MAAC,SAAI,WAAW,YAAY,UAAU,YAAY,EAAE,IAClD;AAAA,4BAAAD,KAAC,SAAI,WAAU,oBAAmB,eAAY,QAAO;AAAA,YACrD,gBAAAC,MAAC,SAAI,WAAU,kBACZ;AAAA,yBACC,gBAAAD;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAK;AAAA,kBACL,KAAI;AAAA,kBACJ,WAAU;AAAA;AAAA,cACZ,IAEA,gBAAAA,KAAC,UAAM,iBAAM;AAAA,cAEf,gBAAAA,KAAC,SAAI,WAAU,oBAAmB,eAAY,QAAO;AAAA,eACvD;AAAA,aACF;AAAA;AAAA;AAAA,IACF;AAIF,QAAI,WAAW,QAAQ;AACrB,aACE,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,WAAW,mCAAmC,SAAS,GAAG,KAAK;AAAA,UAC9D,GAAG;AAAA,UAEH;AAAA;AAAA,MACH;AAAA,IAEJ;AAGA,QAAI,WAAW,QAAQ;AACrB,aACE,gBAAAC;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,WAAW,iCAAiC,OAAO,IACjD,UAAU,eAAe,EAC3B,IAAI,SAAS,GAAG,KAAK;AAAA,UACpB,GAAG;AAAA,UAEJ;AAAA,4BAAAD,KAAC,SAAI,WAAU,sBAAsB,uBAAY;AAAA,YACjD,gBAAAC,MAAC,SAAI,WAAU,sBACb;AAAA,8BAAAA,MAAC,SAAI,WAAU,wBACb;AAAA,gCAAAD,KAAC,UAAK,WAAW,kBAAkB,UAAU,oBAAoB,EAAE,IAAI;AAAA,gBACvE,gBAAAA,KAAC,UAAK,WAAU,wBACb,oBAAU,gBAAgB,WAC7B;AAAA,gBACA,gBAAAC,MAAC,UAAK,WAAU,oBAAoB;AAAA;AAAA,kBAAI;AAAA,mBAAI;AAAA,iBAC9C;AAAA,cACC,SAAS,gBAAAD,KAAC,SAAI,WAAU,uBAAuB,iBAAM;AAAA,eACpD,UAAU,UACV,gBAAAC,MAAC,SAAI,WAAU,wBACZ;AAAA;AAAA,gBACA,SAAS,YAAO,KAAK;AAAA,iBACxB;AAAA,eAEJ;AAAA,YACC,YAAY,gBAAAD,KAAC,SAAI,WAAU,0BAA0B,oBAAS;AAAA;AAAA;AAAA,MACjE;AAAA,IAEJ;AAGA,QAAI,WAAW,UAAU,WAAW,aAAa;AAC/C,aACE,gBAAAC;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,WAAW,iCAAiC,OAAO,IACjD,UAAU,eAAe,EAC3B,IAAI,SAAS,GAAG,KAAK;AAAA,UACpB,GAAG;AAAA,UAEJ;AAAA,4BAAAA,MAAC,SAAI,WAAU,wBACb;AAAA,8BAAAA,MAAC,UAAK,WAAU,qBAAoB;AAAA;AAAA,gBAAe;AAAA,gBAAI;AAAA,iBAAI;AAAA,cAC3D,gBAAAA,MAAC,UAAK,WAAU,wBACd;AAAA,gCAAAD,KAAC,UAAK,WAAW,kBAAkB,UAAU,oBAAoB,EAAE,IAAI;AAAA,gBACtE,UAAU,oBAAoB;AAAA,iBACjC;AAAA,eACF;AAAA,YAEA,gBAAAC,MAAC,SAAI,WAAU,wBACZ;AAAA;AAAA,cACA,WAAW,eACV,gBAAAA,MAAC,SAAI,WAAW,wBAAwB,UAAU,YAAY,EAAE,IAC9D;AAAA,gCAAAD,KAAC,SAAI,WAAU,oBAAmB;AAAA,gBAClC,gBAAAA,KAAC,SAAI,WAAU,kBAAiB;AAAA,gBAChC,gBAAAA,KAAC,SAAI,WAAU,mBAAkB;AAAA,iBACnC;AAAA,eAEJ;AAAA,YAEA,gBAAAC,MAAC,SAAI,WAAU,wBACb;AAAA,8BAAAA,MAAC,SAAI,WAAU,sBACZ;AAAA,yBAAS,gBAAAD,KAAC,SAAI,WAAU,uBAAuB,iBAAM;AAAA,iBACpD,UAAU,UACV,gBAAAC,MAAC,SAAI,WAAU,wBACZ;AAAA;AAAA,kBACA,SAAS,YAAO,KAAK;AAAA,mBACxB;AAAA,iBAEJ;AAAA,cACC,YAAY,gBAAAD,KAAC,SAAI,WAAU,0BAA0B,oBAAS;AAAA,eACjE;AAAA;AAAA;AAAA,MACF;AAAA,IAEJ;AAEA,WAAO;AAAA,EACT;AACF;AAEA,MAAM,cAAc;;;AChKpB,SAAgC,cAAAE,mBAAkB;AAW5C,SAKY,OAAAC,MALZ,QAAAC,aAAA;AAHC,IAAM,aAAaF;AAAA,EACxB,CAAC,EAAE,eAAe,GAAG,OAAO,OAAO,MAAM,YAAY,IAAI,UAAU,GAAG,MAAM,GAAG,QAAQ;AACrF,WACE,gBAAAE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,uBAAuB,YAAY,IAAI,OAAO,aAAa,EAAE,IAAI,SAAS,GAAG,KAAK;AAAA,QAC5F,GAAG;AAAA,QAEH;AAAA,mBAAS,gBAAAD,KAAC,SAAI,WAAU,mBAAmB,iBAAM;AAAA,UAClD,gBAAAA,KAAC,SAAI,WAAU,kBAAkB,UAAS;AAAA;AAAA;AAAA,IAC5C;AAAA,EAEJ;AACF;AAEA,WAAW,cAAc;;;ACrBzB,SAAgB,gBAAgB;AAwBrB,qBAAAE,WAAA,OAAAC,MAIP,QAAAC,aAJO;AAXJ,SAAS,YAAY;AAAA,EAC1B,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb;AAAA,EACA,kBAAkB;AACpB,GAAqB;AACnB,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,eAAe;AAExD,MAAI,UAAU;AACZ,WAAO,gBAAAD,KAAAD,WAAA,EAAG,UAAS;AAAA,EACrB;AAEA,SACE,gBAAAE,MAAC,eAAY,WAAU,mBACrB;AAAA,oBAAAD,KAAC,SAAI,WAAU,mBAAkB,eAAY,QAAO,oBAEpD;AAAA,IACA,gBAAAA,KAAC,SAAI,WAAU,oBAAoB,iBAAM;AAAA,IACzC,gBAAAA,KAAC,OAAE,WAAU,mBAAmB,uBAAY;AAAA,IAC5C,gBAAAA,KAAC,SAAI,WAAU,wBAAwB,yBAAc;AAAA,IACrD,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAS,MAAM,YAAY,IAAI;AAAA,QAE9B;AAAA;AAAA,IACH;AAAA,KACF;AAEJ;;;AC9CA,SAA0B,cAAAE,mBAAkB;AAqFlC,qBAAAC,WAEI,OAAAC,OAFJ,QAAAC,aAAA;AA3EV,IAAM,uBACJ;AAEK,IAAM,OAAOH;AAAA,EAClB,CACE;AAAA,IACE,OAAO;AAAA,IACP;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,QAAI,YAAY;AAChB,QAAI,aAAa,SAAS;AAC1B,QAAI,SAAS;AAEb,QAAI,CAAC,OAAO;AACV,cAAQ,SAAS;AAAA,QACf,KAAK;AACH,sBAAY;AACZ,uBAAa;AACb;AAAA,QACF,KAAK;AACH,sBAAY;AACZ,uBAAa;AACb;AAAA,QACF,KAAK;AACH,sBAAY;AACZ,uBAAa;AACb;AAAA,QACF,KAAK;AACH,sBAAY;AACZ,uBAAa;AACb;AAAA,QACF,KAAK;AACH,sBAAY;AACZ,uBAAa;AACb;AAAA,QACF,KAAK;AACH,sBAAY;AACZ,uBAAa;AACb,mBAAS;AACT;AAAA,QACF,KAAK;AAAA,QACL;AACE,sBAAY;AACZ,uBAAa;AACb;AAAA,MACJ;AAAA,IACF;AAEA,UAAM,WAAW,aAAa,SAAY,WAAW,YAAY;AAEjE,WACE,gBAAAG;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,OAAM;AAAA,QACN,WAAW,mBAAmB,OAAO,IAAI,SAAS,GAAG,KAAK;AAAA,QAC1D,OAAO;AAAA,UACL,SAAS;AAAA,UACT,eAAe;AAAA,UACf,YAAY;AAAA,UACZ,GAAG;AAAA,QACL;AAAA,QACC,GAAG;AAAA,QAEH;AAAA,sBACC,gBAAAA,MAAAF,WAAA,EACG;AAAA,uBAAW,iBACV,gBAAAC,MAAC,YAAO,IAAG,OAAM,IAAG,OAAM,GAAE,OAAM,MAAM,QAAQ;AAAA,YAElD,gBAAAA;AAAA,cAAC;AAAA;AAAA,gBACC,IAAG;AAAA,gBACH,IAAG;AAAA,gBACH,GAAE;AAAA,gBACF,QAAQ;AAAA,gBACR,aAAY;AAAA,gBACZ,eAAe,YAAY,YAAY,MAAM;AAAA;AAAA,YAC/C;AAAA,YAEA,gBAAAA,MAAC,YAAO,IAAG,OAAM,IAAG,MAAK,GAAE,KAAI,MAAM,WAAW;AAAA,YAChD,gBAAAA,MAAC,YAAO,IAAG,OAAM,IAAG,QAAO,GAAE,KAAI,MAAM,WAAW;AAAA,YAClD,gBAAAA,MAAC,YAAO,IAAG,MAAK,IAAG,OAAM,GAAE,KAAI,MAAM,WAAW;AAAA,YAChD,gBAAAA,MAAC,YAAO,IAAG,QAAO,IAAG,OAAM,GAAE,KAAI,MAAM,WAAW;AAAA,aACpD;AAAA,UAEF,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,GAAG;AAAA,cACH,MAAM,aAAa;AAAA,cACnB,UAAS;AAAA;AAAA,UACX;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;;;AClHnB,SAAqC,cAAAE,oBAA6B;AA2CxD,SACY,OAAAC,OADZ,QAAAC,aAAA;AA9BH,IAAM,QAAQF;AAAA,EACnB,CACE;AAAA,IACE,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,WACE,gBAAAE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,YAAY,kBAAkB;AAAA,UAC9B,WAAW,sBAAsB;AAAA,UACjC,QAAQ,uBAAuB;AAAA,UAC/B;AAAA,QACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QAET;AAAA,oBAAS,aACT,gBAAAA,MAAC,SAAI,WAAU,mBACZ;AAAA,qBAAS,gBAAAD,MAAC,WAAM,WAAU,kBAAkB,iBAAM;AAAA,YAClD,YAAY,gBAAAA,MAAC,UAAK,WAAU,qBAAqB,oBAAS;AAAA,aAC7D;AAAA,UAGF,gBAAAC,MAAC,SAAI,WAAW,qCAAqC,SAAS,IAC3D;AAAA,4BAAgB,gBAAAD,MAAC,SAAI,WAAU,mBAAmB,wBAAa;AAAA,YAChE,gBAAAA;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA;AAAA,gBACA,WAAU;AAAA,gBACT,GAAG;AAAA;AAAA,YACN;AAAA,YACC,gBAAgB,gBAAAA,MAAC,SAAI,WAAU,mBAAmB,wBAAa;AAAA,YAChE,gBAAAA,MAAC,SAAI,WAAU,sBAAqB;AAAA,YACpC,gBAAAA,MAAC,SAAI,WAAU,sBAAqB;AAAA,aACtC;AAAA,WAEE,SAAS,SACT,gBAAAA,MAAC,SAAI,WAAU,mBACZ,kBACC,gBAAAA,MAAC,UAAK,WAAU,sBAAsB,iBAAM,IAE5C,gBAAAA,MAAC,UAAK,WAAU,qBAAqB,gBAAK,GAE9C;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AAEA,MAAM,cAAc;;;AC5EpB,SAAgC,cAAAE,oBAA6B;AAkDrC,gBAAAC,OACA,QAAAC,aADA;AApCjB,IAAM,eAAeF;AAAA,EAC1B,CACE;AAAA,IACE,YAAY;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,OAAO;AAAA,IACP,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,eAAe,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG,GAAG;AACrD,UAAM,aAAa,KAAK,MAAO,eAAe,MAAO,GAAG;AAExD,WACE,gBAAAE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA,gBAAgB,IAAI;AAAA,UACpB,gBAAgB,OAAO;AAAA,UACvB;AAAA,QACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QACV,GAAG;AAAA,QAEF;AAAA,oBAAS,SAAS,gBAClB,gBAAAA,MAAC,SAAI,WAAU,uBACb;AAAA,4BAAAA,MAAC,SAAI,WAAU,4BACZ;AAAA,uBAAS,gBAAAD,MAAC,UAAK,WAAU,sBAAsB,iBAAM;AAAA,cACrD,SAAS,gBAAAC,MAAC,UAAK,WAAU,sBAAqB;AAAA;AAAA,gBAAE;AAAA,gBAAM;AAAA,iBAAC;AAAA,eAC1D;AAAA,YACC,eACC,gBAAAA,MAAC,UAAK,WAAU,wBAAwB;AAAA;AAAA,cAAW;AAAA,eAAC;AAAA,aAExD;AAAA,UAGF,gBAAAD,MAAC,SAAI,WAAU,sBACZ,sBACC,gBAAAA,MAAC,SAAI,WAAU,yBACZ,gBAAM,KAAK,EAAE,QAAQ,cAAc,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ;AACrD,kBAAM,OAAO,MAAM;AACnB,kBAAM,UAAU,MAAM,KAAK,QAAQ,cAAe,MAAM,OAAO,eAAe,MAAM,KAAK,OAAO;AAChG,mBACE,gBAAAA;AAAA,cAAC;AAAA;AAAA,gBAEC,WAAW,oBAAoB,SAAS,WAAW,EAAE;AAAA;AAAA,cADhD;AAAA,YAEP;AAAA,UAEJ,CAAC,GACH,IAEA,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,OAAO,EAAE,OAAO,GAAG,UAAU,IAAI;AAAA,cAEjC,0BAAAA,MAAC,SAAI,WAAU,qBAAoB;AAAA;AAAA,UACrC,GAEJ;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;;;ACvF3B,SAA2B,iBAAiB;AA0CtC,gBAAAE,OAUgB,QAAAC,aAVhB;AA3BC,IAAM,WAAoC,CAAC;AAAA,EAChD;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,kBAAkB;AACpB,MAAM;AACJ,YAAU,MAAM;AACd,QAAI,CAAC,OAAQ;AACb,UAAM,gBAAgB,CAAC,MAAqB;AAC1C,UAAI,EAAE,QAAQ,UAAU;AACtB,gBAAQ;AAAA,MACV;AAAA,IACF;AACA,WAAO,iBAAiB,WAAW,aAAa;AAChD,WAAO,MAAM,OAAO,oBAAoB,WAAW,aAAa;AAAA,EAClE,GAAG,CAAC,QAAQ,OAAO,CAAC;AAEpB,MAAI,CAAC,OAAQ,QAAO;AAEpB,SACE,gBAAAA,MAAC,SAAI,WAAU,mBACb;AAAA,oBAAAD;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS,kBAAkB,UAAU;AAAA;AAAA,IACvC;AAAA,IACA,gBAAAC,MAAC,SAAI,WAAW,4BAA4B,IAAI,IAAI,SAAS,IAE3D;AAAA,sBAAAA,MAAC,SAAI,WAAU,mBACb;AAAA,wBAAAA,MAAC,SAAI,WAAU,wBACb;AAAA,0BAAAD,MAAC,UAAK,WAAU,kBAAkB,iBAAM;AAAA,UACvC,MAAM,gBAAAA,MAAC,UAAK,WAAU,eAAe,cAAG;AAAA,UACxC,SAAS,gBAAAC,MAAC,UAAK,WAAU,kBAAiB;AAAA;AAAA,YAAK;AAAA,YAAM;AAAA,aAAC;AAAA,WACzD;AAAA,QACA,gBAAAD;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAU;AAAA,YACV,SAAS;AAAA,YACT,cAAW;AAAA,YACZ;AAAA;AAAA,QAED;AAAA,SACF;AAAA,MAGA,gBAAAA,MAAC,SAAI,WAAU,iBAAiB,UAAS;AAAA,MAGxC,UAAU,gBAAAA,MAAC,SAAI,WAAU,mBAAmB,kBAAO;AAAA,MAGpD,gBAAAA,MAAC,SAAI,WAAU,sBAAqB;AAAA,MACpC,gBAAAA,MAAC,SAAI,WAAU,sBAAqB;AAAA,MACpC,gBAAAA,MAAC,SAAI,WAAU,sBAAqB;AAAA,MACpC,gBAAAA,MAAC,SAAI,WAAU,sBAAqB;AAAA,OACtC;AAAA,KACF;AAEJ;AAEA,SAAS,cAAc;;;AChFvB,SAAgC,cAAAE,cAAY,YAAAC,iBAAgB;AAwClD,SACE,OAAAC,OADF,QAAAC,cAAA;AA9BH,IAAM,iBAAiBH;AAAA,EAC5B,CACE;AAAA,IACE,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR;AAAA,IACA,kBAAkB;AAAA,IAClB,WAAW;AAAA,IACX,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,CAAC,QAAQ,SAAS,IAAIC,UAAS,KAAK;AAE1C,UAAM,aAAa,MAAM;AACvB,gBAAU,UAAU,UAAU,IAAI;AAClC,gBAAU,IAAI;AACd,iBAAW,MAAM,UAAU,KAAK,GAAG,GAAI;AAAA,IACzC;AAEA,UAAM,QAAQ,KAAK,KAAK,EAAE,MAAM,IAAI;AAEpC,WACE,gBAAAE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,CAAC,sBAAsB,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,QACpE,GAAG;AAAA,QAEJ;AAAA,0BAAAA,OAAC,SAAI,WAAU,sBACb;AAAA,4BAAAA,OAAC,SAAI,WAAU,oBACb;AAAA,8BAAAD,MAAC,UAAK,WAAU,+BAA8B;AAAA,cAC9C,gBAAAA,MAAC,UAAK,WAAU,kCAAiC;AAAA,cACjD,gBAAAA,MAAC,UAAK,WAAU,iCAAgC;AAAA,eAClD;AAAA,YAEA,gBAAAC,OAAC,SAAI,WAAU,yBACb;AAAA,8BAAAD,MAAC,UAAK,WAAU,qBAAqB,iBAAM;AAAA,cAC1C,SAAS,gBAAAA,MAAC,UAAK,WAAU,qBAAqB,iBAAM;AAAA,eACvD;AAAA,YAEA,gBAAAA,MAAC,SAAI,WAAU,uBACZ,sBACC,gBAAAA;AAAA,cAAC;AAAA;AAAA,gBACC,MAAK;AAAA,gBACL,WAAU;AAAA,gBACV,SAAS;AAAA,gBACT,cAAW;AAAA,gBAEV,mBAAS,aAAa;AAAA;AAAA,YACzB,GAEJ;AAAA,aACF;AAAA,UAEA,gBAAAA,MAAC,SAAI,WAAU,oBACb,0BAAAA,MAAC,SAAI,WAAU,mBACZ,4BACC,gBAAAA,MAAC,UACE,gBAAM,IAAI,CAAC,MAAM,QAChB,gBAAAC,OAAC,SAAc,WAAU,oBACvB;AAAA,4BAAAD,MAAC,UAAK,WAAU,sBAAsB,gBAAM,GAAE;AAAA,YAC9C,gBAAAA,MAAC,UAAK,WAAU,2BAA2B,kBAAQ,KAAI;AAAA,eAF/C,GAGV,CACD,GACH,IAEA,gBAAAA,MAAC,UAAM,gBAAK,GAEhB,GACF;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,eAAe,cAAc;;;AC/DrB,SACY,OAAAE,OADZ,QAAAC,cAAA;AAZD,IAAM,UAAkC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,YAAY;AACd,MAAM;AACJ,SACE,gBAAAA,OAAC,SAAI,WAAW,sBAAsB,SAAS,IAC5C;AAAA;AAAA,IACD,gBAAAA,OAAC,SAAI,WAAW,gCAAgC,QAAQ,IACtD;AAAA,sBAAAA,OAAC,SAAI,WAAU,sBACZ;AAAA,iBAAS,gBAAAD,MAAC,UAAK,WAAU,oBAAoB,iBAAM;AAAA,QACpD,gBAAAA,MAAC,UAAK,WAAU,mBAAmB,mBAAQ;AAAA,QAC1C,YAAY,gBAAAA,MAAC,SAAI,WAAU,uBAAuB,oBAAS;AAAA,SAC9D;AAAA,MACA,gBAAAA,MAAC,SAAI,WAAU,oBAAmB;AAAA,OACpC;AAAA,KACF;AAEJ;;;ACkByB,gBAAAE,OACb,QAAAC,cADa;AA9BlB,SAAS,iBAA4C;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AACZ,GAA6B;AAC3B,SACE,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,qCAAqC,IAAI,iBAAiB,OAAO,IAC1E,YAAY,sBAAsB,EACpC,IAAI,SAAS,GAAG,KAAK;AAAA,MACrB,MAAK;AAAA,MAEJ,kBAAQ,IAAI,CAAC,WAAW;AACvB,cAAM,WAAW,OAAO,UAAU;AAClC,eACE,gBAAAC;AAAA,UAAC;AAAA;AAAA,YAEC,MAAK;AAAA,YACL,MAAK;AAAA,YACL,iBAAe;AAAA,YACf,UAAU,OAAO;AAAA,YACjB,WAAW,qBAAqB,WAAW,cAAc,EAAE,IACzD,OAAO,WAAW,gBAAgB,EACpC,GAAG,KAAK;AAAA,YACR,SAAS,MAAM,CAAC,OAAO,YAAY,SAAS,OAAO,KAAK;AAAA,YAEvD;AAAA,0BAAY,gBAAAD,MAAC,UAAK,WAAU,0BAAyB;AAAA,cACtD,gBAAAC,OAAC,UAAK,WAAU,wBACd;AAAA,gCAAAD,MAAC,UAAK,WAAU,sBAAsB,iBAAO,OAAM;AAAA,gBAClD,OAAO,YACN,gBAAAA,MAAC,UAAK,WAAU,yBAAyB,iBAAO,UAAS;AAAA,iBAE7D;AAAA,cACC,OAAO,UAAU,UAChB,gBAAAA,MAAC,UAAK,WAAU,sBAAsB,iBAAO,OAAM;AAAA,cAEpD,YAAY,gBAAAA,MAAC,UAAK,WAAU,0BAAyB;AAAA;AAAA;AAAA,UApBjD,OAAO;AAAA,QAqBd;AAAA,MAEJ,CAAC;AAAA;AAAA,EACH;AAEJ;;;AChCM,SAaE,OAAAE,OAbF,QAAAC,cAAA;AArBC,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,OAAO;AAAA,EACP,UAAU;AAAA,EACV,YAAY;AACd,GAAqB;AACnB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,iCAAiC,IAAI,cAAc,OAAO,IACnE,UAAU,eAAe,EAC3B,IAAI,WAAW,gBAAgB,EAAE,IAAI,SAAS,GAAG,KAAK;AAAA,MACtD,SAAS,CAAC,MAAM;AACd,YAAI,SAAU;AACd,UAAE,eAAe;AACjB,iBAAS,CAAC,OAAO;AAAA,MACnB;AAAA,MAEA;AAAA,wBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,gBAAc;AAAA,YACd,UAAU,WAAW,KAAK;AAAA,YAC1B,WAAW,CAAC,MAAM;AAChB,kBAAI,SAAU;AACd,kBAAI,EAAE,QAAQ,OAAO,EAAE,QAAQ,SAAS;AACtC,kBAAE,eAAe;AACjB,yBAAS,CAAC,OAAO;AAAA,cACnB;AAAA,YACF;AAAA,YAEA;AAAA,8BAAAD,MAAC,UAAK,WAAU,6BAA6B,oBAAU,MAAM,IAAG;AAAA,cAChE,gBAAAA,MAAC,SAAI,WAAU,mBACb,0BAAAA,MAAC,UAAK,WAAU,wBAAuB,GACzC;AAAA,cACA,gBAAAA,MAAC,UAAK,WAAU,8BAA8B,WAAC,UAAU,MAAM,IAAG;AAAA;AAAA;AAAA,QACpE;AAAA,SAEE,SAAS,aACT,gBAAAC,OAAC,SAAI,WAAU,wBACZ;AAAA,mBAAS,gBAAAD,MAAC,UAAK,WAAU,mBAAmB,iBAAM;AAAA,UAClD,YAAY,gBAAAA,MAAC,UAAK,WAAU,sBAAsB,oBAAS;AAAA,WAC9D;AAAA;AAAA;AAAA,EAEJ;AAEJ;;;AC/BQ,SACY,OAAAE,OADZ,QAAAC,cAAA;AAbD,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,aAAa;AAAA,EACb,YAAY;AACd,GAAoB;AAClB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,iCAAiC,OAAO,IAAI,SAAS,GAAG,KAAK;AAAA,MAEtE;AAAA,kBAAS,UACT,gBAAAA,OAAC,SAAI,WAAU,oBACZ;AAAA,mBAAS,gBAAAD,MAAC,UAAK,WAAU,mBAAmB,iBAAM;AAAA,UAClD,SAAS,gBAAAA,MAAC,UAAK,WAAU,mBAAmB,iBAAM;AAAA,WACrD;AAAA,QAEF,gBAAAA,MAAC,SAAI,WAAU,kBACZ,gBAAM,IAAI,CAAC,MAAM,QAChB,gBAAAC,OAAC,SAAc,WAAU,iBACvB;AAAA,0BAAAA,OAAC,UAAK,WAAU,iBACb;AAAA,iBAAK,UACJ,gBAAAD,MAAC,UAAK,WAAW,wBAAwB,KAAK,MAAM,IAAI;AAAA,YAEzD,KAAK;AAAA,aACR;AAAA,UACC,cAAc,gBAAAA,MAAC,UAAK,WAAU,oBAAmB;AAAA,UAClD,gBAAAC,OAAC,UAAK,WAAU,iBACd;AAAA,4BAAAD,MAAC,UAAK,WAAU,sBAAsB,eAAK,OAAM;AAAA,YAChD,KAAK,OAAO,gBAAAA,MAAC,UAAK,WAAU,qBAAqB,eAAK,KAAI;AAAA,aAC7D;AAAA,aAXQ,GAYV,CACD,GACH;AAAA;AAAA;AAAA,EACF;AAEJ;;;AC5BiB,gBAAAE,OAOL,QAAAC,cAPK;AAXV,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AACd,GAAqB;AACnB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,cAAW;AAAA,MACX,WAAW,kBAAkB,SAAS,GAAG,KAAK;AAAA,MAE7C;AAAA,kBAAU,gBAAAD,MAAC,UAAK,WAAU,wBAAwB,kBAAO;AAAA,QAC1D,gBAAAA,MAAC,QAAG,WAAU,sBACX,gBAAM,IAAI,CAAC,MAAM,QAAQ;AACxB,gBAAM,SAAS,QAAQ,MAAM,SAAS;AACtC,gBAAM,WAAW,KAAK,UAAU;AAEhC,iBACE,gBAAAC;AAAA,YAAC;AAAA;AAAA,cAEC,WAAW,sBAAsB,WAAW,cAAc,EAAE;AAAA,cAE3D;AAAA,sBAAM,KACL,gBAAAD,MAAC,UAAK,WAAU,2BAA0B,eAAY,QACnD,qBACH;AAAA,gBAED,KAAK,QAAQ,CAAC,WACb,gBAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,MAAM,KAAK;AAAA,oBACX,WAAU;AAAA,oBACV,SAAS,KAAK;AAAA,oBAEb,eAAK;AAAA;AAAA,gBACR,IACE,KAAK,WAAW,CAAC,WACnB,gBAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,MAAK;AAAA,oBACL,WAAU;AAAA,oBACV,SAAS,KAAK;AAAA,oBAEb,eAAK;AAAA;AAAA,gBACR,IAEA,gBAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,WAAU;AAAA,oBACV,gBAAc,WAAW,SAAS;AAAA,oBAEjC,eAAK;AAAA;AAAA,gBACR;AAAA;AAAA;AAAA,YA9BG;AAAA,UAgCP;AAAA,QAEJ,CAAC,GACH;AAAA;AAAA;AAAA,EACF;AAEJ;;;ACzEA,SAA2B,aAAAE,kBAAiB;AAiDhC,gBAAAC,OAKF,QAAAC,cALE;AApCL,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,YAAY;AACd,GAAwB;AACtB,EAAAF,WAAU,MAAM;AACd,QAAI,CAAC,OAAQ;AACb,UAAM,gBAAgB,CAAC,MAAqB;AAC1C,UAAI,EAAE,QAAQ,SAAU,SAAQ;AAAA,IAClC;AACA,WAAO,iBAAiB,WAAW,aAAa;AAChD,WAAO,MAAM,OAAO,oBAAoB,WAAW,aAAa;AAAA,EAClE,GAAG,CAAC,QAAQ,OAAO,CAAC;AAEpB,MAAI,CAAC,OAAQ,QAAO;AAEpB,SACE,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,gCAAgC,QAAQ;AAAA,MACnD,SAAS,CAAC,MAAM;AACd,YAAI,EAAE,WAAW,EAAE,cAAe,SAAQ;AAAA,MAC5C;AAAA,MAEA,0BAAAC;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,mCAAmC,QAAQ,IAAI,SAAS,GAAG,KAAK;AAAA,UAC3E,MAAK;AAAA,UACL,cAAW;AAAA,UAGV;AAAA,yBAAa,YACZ,gBAAAD,MAAC,SAAI,WAAU,wBAAuB,SAAS,SAC7C,0BAAAA,MAAC,UAAK,WAAU,yBAAwB,GAC1C;AAAA,YAGF,gBAAAC,OAAC,SAAI,WAAU,oBACb;AAAA,8BAAAA,OAAC,SAAI,WAAU,yBACZ;AAAA,yBAAS,gBAAAD,MAAC,UAAK,WAAU,mBAAmB,iBAAM;AAAA,gBAClD,SAAS,gBAAAA,MAAC,QAAG,WAAU,mBAAmB,iBAAM;AAAA,gBAChD,YAAY,gBAAAA,MAAC,UAAK,WAAU,sBAAsB,oBAAS;AAAA,iBAC9D;AAAA,cACA,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAK;AAAA,kBACL,WAAU;AAAA,kBACV,SAAS;AAAA,kBACT,cAAW;AAAA,kBACZ;AAAA;AAAA,cAED;AAAA,eACF;AAAA,YAEA,gBAAAA,MAAC,SAAI,WAAU,kBAAkB,UAAS;AAAA;AAAA;AAAA,MAC5C;AAAA;AAAA,EACF;AAEJ;;;ACzEA,SAA2B,aAAAE,YAAW,YAAAC,iBAAgB;AAoD9C,gBAAAC,OAEE,QAAAC,cAFF;AAtCD,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,YAAY;AACd,GAAkB;AAChB,QAAM,CAAC,UAAU,WAAW,IAAIF,UAAS,GAAG;AAE5C,EAAAD,WAAU,MAAM;AACd,QAAI,CAAC,UAAU,YAAY,EAAG;AAC9B,gBAAY,GAAG;AAEf,UAAM,YAAY,KAAK,IAAI;AAC3B,UAAM,WAAW,YAAY,MAAM;AACjC,YAAM,UAAU,KAAK,IAAI,IAAI;AAC7B,YAAM,YAAY,KAAK,IAAI,GAAG,MAAO,UAAU,WAAY,GAAG;AAC9D,kBAAY,SAAS;AACrB,UAAI,WAAW,UAAU;AACvB,sBAAc,QAAQ;AACtB,gBAAQ;AAAA,MACV;AAAA,IACF,GAAG,EAAE;AAEL,WAAO,MAAM,cAAc,QAAQ;AAAA,EACrC,GAAG,CAAC,QAAQ,UAAU,OAAO,CAAC;AAE9B,MAAI,CAAC,OAAQ,QAAO;AAEpB,SACE,gBAAAG;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,yBAAyB,OAAO,IAAI,SAAS,GAAG,KAAK;AAAA,MAChE,MAAK;AAAA,MAEL;AAAA,wBAAAA,OAAC,SAAI,WAAU,kBACb;AAAA,0BAAAD,MAAC,UAAK,WAAU,sBAAqB;AAAA,UACrC,gBAAAC,OAAC,SAAI,WAAU,oBACb;AAAA,4BAAAA,OAAC,SAAI,WAAU,mBACb;AAAA,8BAAAD,MAAC,UAAK,WAAU,gBAAe;AAAA,cAC/B,gBAAAA,MAAC,UAAK,WAAU,kBAAkB,iBAAM;AAAA,eAC1C;AAAA,YACA,gBAAAA,MAAC,SAAI,WAAU,kBAAkB,iBAAM;AAAA,YACtC,eACC,gBAAAA,MAAC,SAAI,WAAU,iBAAiB,uBAAY;AAAA,aAEhD;AAAA,UACA,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,WAAU;AAAA,cACV,SAAS;AAAA,cACT,cAAW;AAAA,cACZ;AAAA;AAAA,UAED;AAAA,UACA,gBAAAA,MAAC,UAAK,WAAU,sBAAqB;AAAA,WACvC;AAAA,QAEC,WAAW,KACV,gBAAAA,MAAC,SAAI,WAAU,2BACb,0BAAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,OAAO,GAAG,QAAQ,IAAI;AAAA;AAAA,QACjC,GACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;;;ACrB2B,gBAAAE,OACb,QAAAC,cADa;AAxCpB,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU;AACZ,GAAmB;AACjB,SACE,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,+BAA+B,OAAO,IAC/C,QAAQ,wBAAwB,EAClC,IAAI,OAAO,uBAAuB,EAAE,IAClC,WAAW,2BAA2B,EACxC,IAAI,SAAS,GAAG,KAAK;AAAA,MACrB,MAAK;AAAA,MACL,cAAW;AAAA,MAEX,0BAAAA,MAAC,SAAI,WAAU,uBACZ,gBAAM,IAAI,CAAC,SAAS;AACnB,cAAM,WAAW,aAAa,SAAY,KAAK,OAAO,WAAW,KAAK;AAEtE,eACE,gBAAAC;AAAA,UAAC;AAAA;AAAA,YAEC,MAAK;AAAA,YACL,MAAK;AAAA,YACL,iBAAe;AAAA,YACf,UAAU,KAAK;AAAA,YACf,WAAW,sBAAsB,WAAW,cAAc,EAAE,IAC1D,KAAK,WAAW,gBAAgB,EAClC,GAAG,KAAK;AAAA,YACR,SAAS,MAAM;AACb,kBAAI,KAAK,SAAU;AACnB,mBAAK,UAAU;AACf,yBAAW,KAAK,EAAE;AAAA,YACpB;AAAA,YAEC;AAAA,0BAAY,gBAAAD,MAAC,UAAK,WAAU,4BAA2B;AAAA,cACxD,gBAAAC,OAAC,SAAI,WAAU,2BACZ;AAAA,qBAAK;AAAA,gBACL,KAAK,UAAU,UACd,gBAAAD,MAAC,UAAK,WAAU,uBAAuB,eAAK,OAAM;AAAA,iBAEtD;AAAA,cACA,gBAAAA,MAAC,UAAK,WAAU,uBAAuB,eAAK,OAAM;AAAA;AAAA;AAAA,UArB7C,KAAK;AAAA,QAsBZ;AAAA,MAEJ,CAAC,GACH;AAAA;AAAA,EACF;AAEJ;;;AC7EA,SAAgB,cAAAE,oBAAkD;AAsDtD,SACY,OAAAC,OADZ,QAAAC,cAAA;AAzCL,IAAM,SAASF;AAAA,EACpB,CACE;AAAA,IACE,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA,aAAa;AAAA,IACb,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,aAAa,OAAO,UAAU,SAAY,QAAQ,iBAAiB,SAAY,eAAe,GAAG;AACvG,UAAM,SAAS,OAAO,GAAG;AACzB,UAAM,SAAS,OAAO,GAAG;AACzB,UAAM,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,MAAO,aAAa,WAAW,SAAS,UAAU,KAAM,GAAG,CAAC;AAE7F,WACE,gBAAAE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,aAAa,UAAU;AAAA,UACvB,aAAa,OAAO;AAAA,UACpB,YAAY,mBAAmB;AAAA,UAC/B,WAAW,uBAAuB;AAAA,UAClC;AAAA,QACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QAET;AAAA,oBAAS,YAAY,aAAa,UAClC,gBAAAA,OAAC,SAAI,WAAU,oBACb;AAAA,4BAAAA,OAAC,SAAI,WAAU,yBACZ;AAAA,uBAAS,gBAAAD,MAAC,WAAM,WAAU,mBAAmB,iBAAM;AAAA,cACnD,YAAY,gBAAAA,MAAC,UAAK,WAAU,sBAAsB,oBAAS;AAAA,cAC3D,SAAS,gBAAAA,MAAC,UAAK,WAAU,mBAAmB,iBAAM;AAAA,eACrD;AAAA,YACC,aACC,gBAAAA,MAAC,UAAK,WAAU,mBACb,2BAAiB,eAAe,UAAU,IAAI,YACjD;AAAA,aAEJ;AAAA,UAGF,gBAAAA,MAAC,SAAI,WAAU,6BACb,0BAAAA;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,MAAK;AAAA,cACL;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,WAAU;AAAA,cACV,OAAO,EAAE,mBAAmB,GAAG,GAAG,IAAI;AAAA,cACrC,GAAG;AAAA;AAAA,UACN,GACF;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;;;ACtFrB,SAAgB,cAAAE,cAAuB,YAAAC,WAAU,QAAQ,aAAAC,kBAAiB;AAmE9D,SACY,OAAAC,OADZ,QAAAC,cAAA;AAnDL,IAAM,cAAcJ;AAAA,EACzB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,UAAU;AAAA,MACR;AAAA,MAAW;AAAA,MAAW;AAAA,MAAW;AAAA,MAAW;AAAA,MAC5C;AAAA,MAAW;AAAA,MAAW;AAAA,MAAW;AAAA,MAAW;AAAA,MAC5C;AAAA,MAAW;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,WAAW;AAAA,IACX,OAAO;AAAA,IACP,YAAY;AAAA,EACd,GACA,QACG;AACH,UAAM,CAAC,QAAQ,SAAS,IAAIC,UAAS,KAAK;AAC1C,UAAM,eAAe,OAAuB,IAAI;AAEhD,IAAAC,WAAU,MAAM;AACd,YAAM,qBAAqB,CAAC,MAAkB;AAC5C,YAAI,aAAa,WAAW,CAAC,aAAa,QAAQ,SAAS,EAAE,MAAc,GAAG;AAC5E,oBAAU,KAAK;AAAA,QACjB;AAAA,MACF;AACA,UAAI,QAAQ;AACV,iBAAS,iBAAiB,aAAa,kBAAkB;AAAA,MAC3D;AACA,aAAO,MAAM;AACX,iBAAS,oBAAoB,aAAa,kBAAkB;AAAA,MAC9D;AAAA,IACF,GAAG,CAAC,MAAM,CAAC;AAEX,WACE,gBAAAE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,WAAW;AAAA,UACT;AAAA,UACA,mBAAmB,IAAI;AAAA,UACvB,WAAW,6BAA6B;AAAA,UACxC;AAAA,QACF,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QAET;AAAA,oBAAS,YAAY,UACrB,gBAAAA,OAAC,SAAI,WAAU,0BACb;AAAA,4BAAAA,OAAC,SAAI,WAAU,+BACZ;AAAA,uBAAS,gBAAAD,MAAC,WAAM,WAAU,yBAAyB,iBAAM;AAAA,cACzD,YAAY,gBAAAA,MAAC,UAAK,WAAU,4BAA4B,oBAAS;AAAA,cACjE,SAAS,gBAAAA,MAAC,UAAK,WAAU,yBAAyB,iBAAM;AAAA,eAC3D;AAAA,YACA,gBAAAA,MAAC,UAAK,WAAU,uBAAuB,gBAAM,YAAY,GAAE;AAAA,aAC7D;AAAA,UAGF,gBAAAA,MAAC,SAAI,WAAU,+BAA8B,KAC3C,0BAAAC;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL;AAAA,cACA,WAAU;AAAA,cACV,SAAS,MAAM,CAAC,YAAY,UAAU,CAAC,MAAM;AAAA,cAC7C,cAAY,SAAS;AAAA,cAErB;AAAA,gCAAAD,MAAC,UAAK,WAAU,kCAAiC,OAAO,EAAE,iBAAiB,MAAM,GAAG;AAAA,gBACpF,gBAAAA,MAAC,UAAK,WAAU,8BAA8B,iBAAM;AAAA,gBACpD,gBAAAA,MAAC,UAAK,WAAU,yBAAwB,oBAAC;AAAA;AAAA;AAAA,UAC3C,GACF;AAAA,UAEC,UACC,gBAAAC,OAAC,SAAI,WAAU,2BACb;AAAA,4BAAAD,MAAC,SAAI,WAAU,2BACZ,kBAAQ,IAAI,CAAC,UACZ,gBAAAA;AAAA,cAAC;AAAA;AAAA,gBAEC,MAAK;AAAA,gBACL,WAAW;AAAA,kBACT;AAAA,kBACA,MAAM,YAAY,MAAM,MAAM,YAAY,IAAI,WAAW;AAAA,gBAC3D,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,gBACX,OAAO,EAAE,iBAAiB,MAAM;AAAA,gBAChC,SAAS,MAAM;AACb,2BAAS,KAAK;AAAA,gBAChB;AAAA,gBACA,OAAO;AAAA;AAAA,cAZF;AAAA,YAaP,CACD,GACH;AAAA,YAEC,gBACC,gBAAAC,OAAC,SAAI,WAAU,gCACb;AAAA,8BAAAD;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAK;AAAA,kBACL,OAAO,MAAM,WAAW,GAAG,KAAK,MAAM,WAAW,IAAI,QAAQ;AAAA,kBAC7D,UAAU,CAAC,MAAM,SAAS,EAAE,OAAO,KAAK;AAAA,kBACxC,WAAU;AAAA;AAAA,cACZ;AAAA,cACA,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAK;AAAA,kBACL;AAAA,kBACA,UAAU,CAAC,MAAM,SAAS,EAAE,OAAO,KAAK;AAAA,kBACxC,aAAY;AAAA,kBACZ,WAAU;AAAA;AAAA,cACZ;AAAA,eACF;AAAA,aAEJ;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AAEA,YAAY,cAAc;;;ACxI1B,SAAgB,cAAAE,cAAuB,YAAAC,WAAU,UAAAC,SAAQ,aAAAC,kBAAiB;AA2DlE,gBAAAC,OAkBM,QAAAC,cAlBN;AAnCD,IAAM,eAAeL;AAAA,EAC1B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,WAAW;AAAA,EACb,GACA,QACG;AACH,UAAM,CAAC,QAAQ,SAAS,IAAIC,UAAS,KAAK;AAC1C,UAAM,eAAeC,QAAuB,IAAI;AAEhD,IAAAC,WAAU,MAAM;AACd,YAAM,qBAAqB,CAAC,MAAkB;AAC5C,YAAI,aAAa,WAAW,CAAC,aAAa,QAAQ,SAAS,EAAE,MAAc,GAAG;AAC5E,oBAAU,KAAK;AAAA,QACjB;AAAA,MACF;AACA,UAAI,QAAQ;AACV,iBAAS,iBAAiB,aAAa,kBAAkB;AAAA,MAC3D;AACA,aAAO,MAAM;AACX,iBAAS,oBAAoB,aAAa,kBAAkB;AAAA,MAC9D;AAAA,IACF,GAAG,CAAC,MAAM,CAAC;AAEX,WACE,gBAAAE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,WAAW,CAAC,yBAAyB,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,QAExE;AAAA,0BAAAD;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,WAAU;AAAA,cACV,SAAS,MAAM,CAAC,YAAY,UAAU,CAAC,MAAM;AAAA,cAE5C;AAAA;AAAA,UACH;AAAA,UAEC,UACC,gBAAAC;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA,SAAS,KAAK;AAAA,cAChB,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,cAET;AAAA,0BAAS,UACT,gBAAAA,OAAC,SAAI,WAAU,sBACZ;AAAA,2BAAS,gBAAAD,MAAC,UAAK,WAAU,qBAAqB,iBAAM;AAAA,kBACpD,SAAS,gBAAAA,MAAC,UAAK,WAAU,qBAAqB,iBAAM;AAAA,mBACvD;AAAA,gBAEF,gBAAAA,MAAC,SAAI,WAAU,oBACZ,gBAAM,IAAI,CAAC,SACV,gBAAAC;AAAA,kBAAC;AAAA;AAAA,oBAEC,MAAK;AAAA,oBACL,UAAU,KAAK;AAAA,oBACf,WAAW;AAAA,sBACT;AAAA,sBACA,KAAK,SAAS,WAAW;AAAA,sBACzB,KAAK,WAAW,aAAa;AAAA,oBAC/B,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,oBACX,SAAS,MAAM;AACb,0BAAI,KAAK,SAAU;AACnB,2BAAK,UAAU;AACf,gCAAU,KAAK;AAAA,oBACjB;AAAA,oBAEA;AAAA,sCAAAA,OAAC,SAAI,WAAU,yBACZ;AAAA,6BAAK,QAAQ,gBAAAD,MAAC,UAAK,WAAU,yBAAyB,eAAK,MAAK;AAAA,wBACjE,gBAAAC,OAAC,SAAI,WAAU,yBACb;AAAA,0CAAAD,MAAC,UAAK,WAAU,0BAA0B,eAAK,OAAM;AAAA,0BACpD,KAAK,YACJ,gBAAAA,MAAC,UAAK,WAAU,6BAA6B,eAAK,UAAS;AAAA,2BAE/D;AAAA,yBACF;AAAA,sBACA,gBAAAC,OAAC,SAAI,WAAU,0BACZ;AAAA,6BAAK,YACJ,gBAAAD,MAAC,UAAK,WAAU,6BAA6B,eAAK,UAAS;AAAA,wBAE5D,KAAK,UAAU,UACd,gBAAAA,MAAC,UAAK,WAAU,0BAA0B,eAAK,OAAM;AAAA,yBAEzD;AAAA;AAAA;AAAA,kBAhCK,KAAK;AAAA,gBAiCZ,CACD,GACH;AAAA;AAAA;AAAA,UACF;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;;;AChI3B,SAAgB,cAAAE,cAAuB,YAAAC,WAAU,UAAAC,SAAQ,aAAAC,kBAAiB;AA0ElE,gBAAAC,OAmBM,QAAAC,cAnBN;AA1DD,IAAM,UAAUL;AAAA,EACrB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,cAAc;AAAA,IACd;AAAA,IACA,WAAW;AAAA,EACb,GACA,QACG;AACH,UAAM,CAAC,cAAc,eAAe,IAAIC,UAAS,WAAW;AAC5D,UAAM,eAAe,mBAAmB;AACxC,UAAM,OAAO,eAAe,iBAAiB;AAE7C,UAAM,eAAeC,QAAuB,IAAI;AAEhD,UAAM,aAAa,MAAM;AACvB,UAAI,SAAU;AACd,YAAM,OAAO,CAAC;AACd,UAAI,CAAC,cAAc;AACjB,wBAAgB,IAAI;AAAA,MACtB;AACA,qBAAe,IAAI;AAAA,IACrB;AAEA,UAAM,cAAc,MAAM;AACxB,UAAI,CAAC,cAAc;AACjB,wBAAgB,KAAK;AAAA,MACvB;AACA,qBAAe,KAAK;AAAA,IACtB;AAEA,IAAAC,WAAU,MAAM;AACd,YAAM,qBAAqB,CAAC,MAAkB;AAC5C,YAAI,aAAa,WAAW,CAAC,aAAa,QAAQ,SAAS,EAAE,MAAc,GAAG;AAC5E,sBAAY;AAAA,QACd;AAAA,MACF;AACA,UAAI,MAAM;AACR,iBAAS,iBAAiB,aAAa,kBAAkB;AAAA,MAC3D;AACA,aAAO,MAAM;AACX,iBAAS,oBAAoB,aAAa,kBAAkB;AAAA,MAC9D;AAAA,IACF,GAAG,CAAC,IAAI,CAAC;AAET,WACE,gBAAAE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,WAAW,CAAC,wBAAwB,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,QAEvE;AAAA,0BAAAD;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,WAAU;AAAA,cACV,SAAS;AAAA,cAER;AAAA;AAAA,UACH;AAAA,UAEC,QACC,gBAAAC;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA,OAAO,QAAQ;AAAA,gBACf,SAAS,KAAK;AAAA,cAChB,EACG,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,cAET;AAAA,0BAAS,UACT,gBAAAA,OAAC,SAAI,WAAU,qBACZ;AAAA,2BAAS,gBAAAD,MAAC,UAAK,WAAU,oBAAoB,iBAAM;AAAA,kBACnD,SAAS,gBAAAA,MAAC,UAAK,WAAU,oBAAoB,iBAAM;AAAA,mBACtD;AAAA,gBAEF,gBAAAA,MAAC,SAAI,WAAU,mBAAmB,UAAS;AAAA;AAAA;AAAA,UAC7C;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AAEA,QAAQ,cAAc;","names":["forwardRef","jsx","forwardRef","jsx","forwardRef","jsx","forwardRef","jsx","forwardRef","jsx","jsxs","forwardRef","jsx","jsxs","forwardRef","jsx","jsxs","Fragment","jsx","jsxs","forwardRef","Fragment","jsx","jsxs","forwardRef","jsx","jsxs","forwardRef","jsx","jsxs","jsx","jsxs","forwardRef","useState","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsxs","jsx","jsxs","useEffect","jsx","jsxs","useEffect","useState","jsx","jsxs","jsx","jsxs","forwardRef","jsx","jsxs","forwardRef","useState","useEffect","jsx","jsxs","forwardRef","useState","useRef","useEffect","jsx","jsxs","forwardRef","useState","useRef","useEffect","jsx","jsxs"]}
package/dist/native.d.mts CHANGED
@@ -50,4 +50,16 @@ interface NativeCyberSwitchProps {
50
50
  }
51
51
  declare function CyberSwitch({ checked, onChange, label, sublabel, disabled, style, }: NativeCyberSwitchProps): React.JSX.Element;
52
52
 
53
- export { Badge, BracketCard, Button, CyberSwitch, Dot, type NativeBadgeProps, type NativeBracketCardProps, type NativeButtonProps, type NativeCyberSwitchProps, type NativeDotProps, type NativeTechLabelProps, TechLabel };
53
+ interface NativeColorPickerProps {
54
+ value: string;
55
+ onChange: (color: string) => void;
56
+ presets?: string[];
57
+ label?: string;
58
+ jp?: string;
59
+ coord?: string;
60
+ style?: StyleProp<ViewStyle>;
61
+ labelStyle?: StyleProp<TextStyle>;
62
+ }
63
+ declare function ColorPicker({ value, onChange, presets, label, jp, coord, style, labelStyle, }: NativeColorPickerProps): React.JSX.Element;
64
+
65
+ export { Badge, BracketCard, Button, ColorPicker, CyberSwitch, Dot, type NativeBadgeProps, type NativeBracketCardProps, type NativeButtonProps, type NativeColorPickerProps, type NativeCyberSwitchProps, type NativeDotProps, type NativeTechLabelProps, TechLabel };
package/dist/native.d.ts CHANGED
@@ -50,4 +50,16 @@ interface NativeCyberSwitchProps {
50
50
  }
51
51
  declare function CyberSwitch({ checked, onChange, label, sublabel, disabled, style, }: NativeCyberSwitchProps): React.JSX.Element;
52
52
 
53
- export { Badge, BracketCard, Button, CyberSwitch, Dot, type NativeBadgeProps, type NativeBracketCardProps, type NativeButtonProps, type NativeCyberSwitchProps, type NativeDotProps, type NativeTechLabelProps, TechLabel };
53
+ interface NativeColorPickerProps {
54
+ value: string;
55
+ onChange: (color: string) => void;
56
+ presets?: string[];
57
+ label?: string;
58
+ jp?: string;
59
+ coord?: string;
60
+ style?: StyleProp<ViewStyle>;
61
+ labelStyle?: StyleProp<TextStyle>;
62
+ }
63
+ declare function ColorPicker({ value, onChange, presets, label, jp, coord, style, labelStyle, }: NativeColorPickerProps): React.JSX.Element;
64
+
65
+ export { Badge, BracketCard, Button, ColorPicker, CyberSwitch, Dot, type NativeBadgeProps, type NativeBracketCardProps, type NativeButtonProps, type NativeColorPickerProps, type NativeCyberSwitchProps, type NativeDotProps, type NativeTechLabelProps, TechLabel };
package/dist/native.js CHANGED
@@ -23,6 +23,7 @@ __export(native_exports, {
23
23
  Badge: () => Badge,
24
24
  BracketCard: () => BracketCard,
25
25
  Button: () => Button,
26
+ ColorPicker: () => ColorPicker,
26
27
  CyberSwitch: () => CyberSwitch,
27
28
  Dot: () => Dot,
28
29
  TechLabel: () => TechLabel
@@ -512,11 +513,124 @@ var styles6 = import_react_native6.StyleSheet.create({
512
513
  color: colors.text2
513
514
  }
514
515
  });
516
+
517
+ // src/native/ColorPicker.tsx
518
+ var import_react_native7 = require("react-native");
519
+ var import_jsx_runtime7 = require("react/jsx-runtime");
520
+ function ColorPicker({
521
+ value,
522
+ onChange,
523
+ presets = [
524
+ "#000000",
525
+ "#ffffff",
526
+ "#c49368",
527
+ "#6a9e9e",
528
+ "#a855f7",
529
+ "#3b82f6",
530
+ "#22c55e",
531
+ "#ef4444",
532
+ "#eab308",
533
+ "#ec4899",
534
+ "#64748b",
535
+ "#1e293b"
536
+ ],
537
+ label,
538
+ jp,
539
+ coord,
540
+ style,
541
+ labelStyle
542
+ }) {
543
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native7.View, { style: [styles7.container, style], children: [
544
+ (label || jp || coord) && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native7.View, { style: styles7.header, children: [
545
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native7.View, { style: styles7.labelGroup, children: [
546
+ label && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native7.Text, { style: [styles7.label, labelStyle], children: label }),
547
+ jp && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native7.Text, { style: styles7.jp, children: jp }),
548
+ coord && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native7.Text, { style: styles7.coord, children: [
549
+ "[",
550
+ coord,
551
+ "]"
552
+ ] })
553
+ ] }),
554
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native7.Text, { style: styles7.hexValue, children: value.toUpperCase() })
555
+ ] }),
556
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native7.View, { style: styles7.palette, children: presets.map((color) => {
557
+ const isSelected = value.toLowerCase() === color.toLowerCase();
558
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
559
+ import_react_native7.Pressable,
560
+ {
561
+ onPress: () => onChange(color),
562
+ style: [
563
+ styles7.swatch,
564
+ { backgroundColor: color },
565
+ isSelected && styles7.swatchSelected
566
+ ]
567
+ },
568
+ color
569
+ );
570
+ }) })
571
+ ] });
572
+ }
573
+ var styles7 = import_react_native7.StyleSheet.create({
574
+ container: {
575
+ marginVertical: spacing.sm
576
+ },
577
+ header: {
578
+ flexDirection: "row",
579
+ justifyContent: "space-between",
580
+ alignItems: "baseline",
581
+ marginBottom: spacing.xs
582
+ },
583
+ labelGroup: {
584
+ flexDirection: "row",
585
+ alignItems: "center",
586
+ gap: spacing.xs
587
+ },
588
+ label: {
589
+ fontFamily: "monospace",
590
+ fontSize: 11,
591
+ fontWeight: "700",
592
+ color: colors.text1,
593
+ textTransform: "uppercase"
594
+ },
595
+ jp: {
596
+ fontSize: 10,
597
+ color: colors.text3
598
+ },
599
+ coord: {
600
+ fontFamily: "monospace",
601
+ fontSize: 9,
602
+ color: colors.accent
603
+ },
604
+ hexValue: {
605
+ fontFamily: "monospace",
606
+ fontSize: 11,
607
+ color: colors.accent,
608
+ fontWeight: "700"
609
+ },
610
+ palette: {
611
+ flexDirection: "row",
612
+ flexWrap: "wrap",
613
+ gap: spacing.xs
614
+ },
615
+ swatch: {
616
+ width: 28,
617
+ height: 28,
618
+ borderRadius: borderRadius.sm,
619
+ borderWidth: 1,
620
+ borderColor: "rgba(255, 255, 255, 0.2)"
621
+ },
622
+ swatchSelected: {
623
+ borderColor: "#ffffff",
624
+ borderWidth: 2,
625
+ transform: [{ scale: 1.1 }]
626
+ }
627
+ });
515
628
  // Annotate the CommonJS export names for ESM import in node:
516
629
  0 && (module.exports = {
517
630
  Badge,
518
631
  BracketCard,
519
632
  Button,
633
+ ColorPicker,
520
634
  CyberSwitch,
521
635
  Dot,
522
636
  TechLabel