@krpkg/ui 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -2
- package/assets/android-background-alley.svg +3 -0
- package/assets/android-background-clean.svg +3 -0
- package/assets/android-background-default.svg +3 -0
- package/assets/android-background-mono.svg +3 -0
- package/assets/android-background-teal.svg +3 -0
- package/assets/android-foreground-alley.svg +3 -0
- package/assets/android-foreground-clean.svg +3 -0
- package/assets/android-foreground-default.svg +3 -0
- package/assets/android-foreground-mono.svg +3 -0
- package/assets/android-foreground-teal.svg +3 -0
- package/assets/android-icon-background.png +0 -0
- package/assets/android-icon-foreground.png +0 -0
- package/assets/android-icon-monochrome.png +0 -0
- package/assets/apple-touch-icon-120x120.png +0 -0
- package/assets/apple-touch-icon-152x152.png +0 -0
- package/assets/apple-touch-icon-167x167.png +0 -0
- package/assets/apple-touch-icon-180x180.png +0 -0
- package/assets/apple-touch-icon.png +0 -0
- package/assets/favicon-128x128.png +0 -0
- package/assets/favicon-16x16.png +0 -0
- package/assets/favicon-32x32.png +0 -0
- package/assets/favicon-48x48.png +0 -0
- package/assets/favicon-64x64.png +0 -0
- package/assets/favicon-96x96.png +0 -0
- package/assets/favicon.ico +0 -0
- package/assets/favicon.png +0 -0
- package/assets/favicon.svg +11 -0
- package/assets/icon-alley.png +0 -0
- package/assets/icon-teal.png +0 -0
- package/assets/icon.png +0 -0
- package/assets/logo-alley.svg +11 -0
- package/assets/logo-badge.svg +11 -0
- package/assets/logo-clean.svg +11 -0
- package/assets/logo-default.svg +11 -0
- package/assets/logo-icon.svg +3 -0
- package/assets/logo-mono.svg +11 -0
- package/assets/logo-teal.svg +11 -0
- package/assets/logo.svg +3 -0
- package/assets/pwa-192x192.png +0 -0
- package/assets/pwa-256x256.png +0 -0
- package/assets/pwa-384x384.png +0 -0
- package/assets/pwa-512x512.png +0 -0
- package/assets/pwa-maskable-192x192.png +0 -0
- package/assets/pwa-maskable-512x512.png +0 -0
- package/assets/splash-icon.png +0 -0
- package/dist/chunk-HAD2NPEW.mjs +155 -0
- package/dist/chunk-HAD2NPEW.mjs.map +1 -0
- package/dist/chunk-ZJSL4I3W.mjs +38 -0
- package/dist/chunk-ZJSL4I3W.mjs.map +1 -0
- package/dist/index.css +2053 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +245 -0
- package/dist/index.d.ts +245 -0
- package/dist/index.js +1331 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +1110 -0
- package/dist/index.mjs.map +1 -0
- package/dist/tokens.d.mts +183 -0
- package/dist/tokens.d.ts +183 -0
- package/dist/tokens.js +185 -0
- package/dist/tokens.js.map +1 -0
- package/dist/tokens.mjs +19 -0
- package/dist/tokens.mjs.map +1 -0
- package/dist/utils.d.mts +13 -0
- package/dist/utils.d.ts +13 -0
- package/dist/utils.js +65 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.mjs +9 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +55 -4
|
@@ -0,0 +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"]}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw design tokens - source of truth across Web, Tauri Desktop, and React Native
|
|
3
|
+
*/
|
|
4
|
+
declare const colors: {
|
|
5
|
+
readonly bg: "#0a0a0c";
|
|
6
|
+
readonly bg0: "#0a0a0c";
|
|
7
|
+
readonly bg1: "#111114";
|
|
8
|
+
readonly bg2: "#18181c";
|
|
9
|
+
readonly bg3: "#1f1f24";
|
|
10
|
+
readonly bgCard: "#121215";
|
|
11
|
+
readonly bgCardHover: "#18181d";
|
|
12
|
+
readonly bgCardActive: "#222228";
|
|
13
|
+
readonly border: "#2a2a30";
|
|
14
|
+
readonly borderSubtle: "#1e1e24";
|
|
15
|
+
readonly borderLight: "#3f3f46";
|
|
16
|
+
readonly text: "#f4f4f5";
|
|
17
|
+
readonly text0: "#e2ded6";
|
|
18
|
+
readonly text1: "#b0aca4";
|
|
19
|
+
readonly text2: "#706c66";
|
|
20
|
+
readonly text3: "#4a4844";
|
|
21
|
+
readonly textMuted: "#a1a1aa";
|
|
22
|
+
readonly textDim: "#71717a";
|
|
23
|
+
readonly accent: "#c49368";
|
|
24
|
+
readonly accentHover: "#d4a478";
|
|
25
|
+
readonly accentDim: "rgba(196, 147, 104, 0.12)";
|
|
26
|
+
readonly accentMuted: "rgba(224, 169, 109, 0.15)";
|
|
27
|
+
readonly teal: "#6a9e9e";
|
|
28
|
+
readonly tealDim: "rgba(106, 158, 158, 0.12)";
|
|
29
|
+
readonly warm: "#a08060";
|
|
30
|
+
readonly redSoft: "#b05050";
|
|
31
|
+
readonly greenSoft: "#6a9a6a";
|
|
32
|
+
readonly danger: "#ef4444";
|
|
33
|
+
readonly success: "#22c55e";
|
|
34
|
+
readonly blue: "#3b82f6";
|
|
35
|
+
readonly purple: "#a855f7";
|
|
36
|
+
readonly sticky1: "#e8e0b8";
|
|
37
|
+
readonly sticky2: "#e0c8c0";
|
|
38
|
+
readonly sticky3: "#c0d0d8";
|
|
39
|
+
readonly sticky4: "#c8d8c0";
|
|
40
|
+
};
|
|
41
|
+
declare const themePalettes: {
|
|
42
|
+
readonly default: {
|
|
43
|
+
readonly name: "Amber Baseline";
|
|
44
|
+
readonly accent: "#c49368";
|
|
45
|
+
readonly bg0: "#0a0a0c";
|
|
46
|
+
readonly bg1: "#111114";
|
|
47
|
+
readonly bg2: "#18181c";
|
|
48
|
+
readonly border: "#2a2a30";
|
|
49
|
+
};
|
|
50
|
+
readonly citlali: {
|
|
51
|
+
readonly name: "Citlali Star-Gaze";
|
|
52
|
+
readonly accent: "#f2a9c8";
|
|
53
|
+
readonly bg0: "#090d1d";
|
|
54
|
+
readonly bg1: "#10172d";
|
|
55
|
+
readonly bg2: "#172343";
|
|
56
|
+
readonly border: "#334879";
|
|
57
|
+
};
|
|
58
|
+
readonly furina: {
|
|
59
|
+
readonly name: "Furina Hydro-Overture";
|
|
60
|
+
readonly accent: "#5ab2ff";
|
|
61
|
+
readonly bg0: "#060d16";
|
|
62
|
+
readonly bg1: "#0b1624";
|
|
63
|
+
readonly bg2: "#122238";
|
|
64
|
+
readonly border: "#1f3c5e";
|
|
65
|
+
};
|
|
66
|
+
readonly alley: {
|
|
67
|
+
readonly name: "Alley Neon-Noir";
|
|
68
|
+
readonly accent: "#b066ff";
|
|
69
|
+
readonly bg0: "#050409";
|
|
70
|
+
readonly bg1: "#0b0914";
|
|
71
|
+
readonly bg2: "#141021";
|
|
72
|
+
readonly border: "#382c54";
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
declare const typography: {
|
|
76
|
+
readonly fontMono: "IBMPlexMono_400Regular";
|
|
77
|
+
readonly fontMonoLight: "IBMPlexMono_300Light";
|
|
78
|
+
readonly fontMonoMedium: "IBMPlexMono_500Medium";
|
|
79
|
+
readonly fontMonoBold: "IBMPlexMono_600SemiBold";
|
|
80
|
+
readonly fontSans: "IBMPlexSans_400Regular";
|
|
81
|
+
readonly fontSansLight: "IBMPlexSans_300Light";
|
|
82
|
+
readonly fontSansMedium: "IBMPlexSans_500Medium";
|
|
83
|
+
readonly fontSansBold: "IBMPlexSans_600SemiBold";
|
|
84
|
+
readonly fontJp: "NotoSansJP_400Regular";
|
|
85
|
+
readonly fontJpMedium: "NotoSansJP_500Medium";
|
|
86
|
+
readonly fontJpBold: "NotoSansJP_700Bold";
|
|
87
|
+
readonly webMono: "'IBM Plex Mono', monospace";
|
|
88
|
+
readonly webSans: "'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif";
|
|
89
|
+
readonly webJp: "'Noto Sans JP', sans-serif";
|
|
90
|
+
};
|
|
91
|
+
declare const spacing: {
|
|
92
|
+
readonly none: 0;
|
|
93
|
+
readonly xs: 4;
|
|
94
|
+
readonly sm: 8;
|
|
95
|
+
readonly md: 12;
|
|
96
|
+
readonly lg: 16;
|
|
97
|
+
readonly xl: 24;
|
|
98
|
+
readonly xxl: 32;
|
|
99
|
+
readonly xxxl: 48;
|
|
100
|
+
};
|
|
101
|
+
declare const borderRadius: {
|
|
102
|
+
readonly none: 0;
|
|
103
|
+
readonly sm: 4;
|
|
104
|
+
readonly md: 6;
|
|
105
|
+
readonly lg: 10;
|
|
106
|
+
readonly full: 9999;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* CSS Variable references for DOM & Tauri Webview contexts
|
|
110
|
+
*/
|
|
111
|
+
declare const cssTokens: {
|
|
112
|
+
readonly colors: {
|
|
113
|
+
readonly bg0: "var(--kz-bg-0)";
|
|
114
|
+
readonly bg1: "var(--kz-bg-1)";
|
|
115
|
+
readonly bg2: "var(--kz-bg-2)";
|
|
116
|
+
readonly bg3: "var(--kz-bg-3)";
|
|
117
|
+
readonly border: "var(--kz-border)";
|
|
118
|
+
readonly borderSubtle: "var(--kz-border-subtle)";
|
|
119
|
+
readonly borderLight: "var(--kz-border-light)";
|
|
120
|
+
readonly text0: "var(--kz-text-0)";
|
|
121
|
+
readonly text1: "var(--kz-text-1)";
|
|
122
|
+
readonly text2: "var(--kz-text-2)";
|
|
123
|
+
readonly text3: "var(--kz-text-3)";
|
|
124
|
+
readonly accent: "var(--kz-accent)";
|
|
125
|
+
readonly accentHover: "var(--kz-accent-hover)";
|
|
126
|
+
readonly accentDim: "var(--kz-accent-dim)";
|
|
127
|
+
readonly teal: "var(--kz-teal)";
|
|
128
|
+
readonly tealDim: "var(--kz-teal-dim)";
|
|
129
|
+
readonly warm: "var(--kz-warm)";
|
|
130
|
+
readonly redSoft: "var(--kz-red-soft)";
|
|
131
|
+
readonly greenSoft: "var(--kz-green-soft)";
|
|
132
|
+
readonly blue: "var(--kz-blue)";
|
|
133
|
+
readonly purple: "var(--kz-purple)";
|
|
134
|
+
};
|
|
135
|
+
readonly typography: {
|
|
136
|
+
readonly mono: "var(--kz-mono)";
|
|
137
|
+
readonly sans: "var(--kz-sans)";
|
|
138
|
+
readonly jp: "var(--kz-jp)";
|
|
139
|
+
};
|
|
140
|
+
readonly radius: {
|
|
141
|
+
readonly sm: "var(--kz-radius-sm)";
|
|
142
|
+
readonly md: "var(--kz-radius-md)";
|
|
143
|
+
readonly lg: "var(--kz-radius-lg)";
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
declare const tokens: {
|
|
147
|
+
readonly colors: {
|
|
148
|
+
readonly bg0: "var(--kz-bg-0)";
|
|
149
|
+
readonly bg1: "var(--kz-bg-1)";
|
|
150
|
+
readonly bg2: "var(--kz-bg-2)";
|
|
151
|
+
readonly bg3: "var(--kz-bg-3)";
|
|
152
|
+
readonly border: "var(--kz-border)";
|
|
153
|
+
readonly borderSubtle: "var(--kz-border-subtle)";
|
|
154
|
+
readonly borderLight: "var(--kz-border-light)";
|
|
155
|
+
readonly text0: "var(--kz-text-0)";
|
|
156
|
+
readonly text1: "var(--kz-text-1)";
|
|
157
|
+
readonly text2: "var(--kz-text-2)";
|
|
158
|
+
readonly text3: "var(--kz-text-3)";
|
|
159
|
+
readonly accent: "var(--kz-accent)";
|
|
160
|
+
readonly accentHover: "var(--kz-accent-hover)";
|
|
161
|
+
readonly accentDim: "var(--kz-accent-dim)";
|
|
162
|
+
readonly teal: "var(--kz-teal)";
|
|
163
|
+
readonly tealDim: "var(--kz-teal-dim)";
|
|
164
|
+
readonly warm: "var(--kz-warm)";
|
|
165
|
+
readonly redSoft: "var(--kz-red-soft)";
|
|
166
|
+
readonly greenSoft: "var(--kz-green-soft)";
|
|
167
|
+
readonly blue: "var(--kz-blue)";
|
|
168
|
+
readonly purple: "var(--kz-purple)";
|
|
169
|
+
};
|
|
170
|
+
readonly typography: {
|
|
171
|
+
readonly mono: "var(--kz-mono)";
|
|
172
|
+
readonly sans: "var(--kz-sans)";
|
|
173
|
+
readonly jp: "var(--kz-jp)";
|
|
174
|
+
};
|
|
175
|
+
readonly radius: {
|
|
176
|
+
readonly sm: "var(--kz-radius-sm)";
|
|
177
|
+
readonly md: "var(--kz-radius-md)";
|
|
178
|
+
readonly lg: "var(--kz-radius-lg)";
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
type ThemeName = 'default' | 'citlali' | 'furina' | 'alley';
|
|
182
|
+
|
|
183
|
+
export { type ThemeName, borderRadius, colors, cssTokens, spacing, themePalettes, tokens, typography };
|
package/dist/tokens.d.ts
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw design tokens - source of truth across Web, Tauri Desktop, and React Native
|
|
3
|
+
*/
|
|
4
|
+
declare const colors: {
|
|
5
|
+
readonly bg: "#0a0a0c";
|
|
6
|
+
readonly bg0: "#0a0a0c";
|
|
7
|
+
readonly bg1: "#111114";
|
|
8
|
+
readonly bg2: "#18181c";
|
|
9
|
+
readonly bg3: "#1f1f24";
|
|
10
|
+
readonly bgCard: "#121215";
|
|
11
|
+
readonly bgCardHover: "#18181d";
|
|
12
|
+
readonly bgCardActive: "#222228";
|
|
13
|
+
readonly border: "#2a2a30";
|
|
14
|
+
readonly borderSubtle: "#1e1e24";
|
|
15
|
+
readonly borderLight: "#3f3f46";
|
|
16
|
+
readonly text: "#f4f4f5";
|
|
17
|
+
readonly text0: "#e2ded6";
|
|
18
|
+
readonly text1: "#b0aca4";
|
|
19
|
+
readonly text2: "#706c66";
|
|
20
|
+
readonly text3: "#4a4844";
|
|
21
|
+
readonly textMuted: "#a1a1aa";
|
|
22
|
+
readonly textDim: "#71717a";
|
|
23
|
+
readonly accent: "#c49368";
|
|
24
|
+
readonly accentHover: "#d4a478";
|
|
25
|
+
readonly accentDim: "rgba(196, 147, 104, 0.12)";
|
|
26
|
+
readonly accentMuted: "rgba(224, 169, 109, 0.15)";
|
|
27
|
+
readonly teal: "#6a9e9e";
|
|
28
|
+
readonly tealDim: "rgba(106, 158, 158, 0.12)";
|
|
29
|
+
readonly warm: "#a08060";
|
|
30
|
+
readonly redSoft: "#b05050";
|
|
31
|
+
readonly greenSoft: "#6a9a6a";
|
|
32
|
+
readonly danger: "#ef4444";
|
|
33
|
+
readonly success: "#22c55e";
|
|
34
|
+
readonly blue: "#3b82f6";
|
|
35
|
+
readonly purple: "#a855f7";
|
|
36
|
+
readonly sticky1: "#e8e0b8";
|
|
37
|
+
readonly sticky2: "#e0c8c0";
|
|
38
|
+
readonly sticky3: "#c0d0d8";
|
|
39
|
+
readonly sticky4: "#c8d8c0";
|
|
40
|
+
};
|
|
41
|
+
declare const themePalettes: {
|
|
42
|
+
readonly default: {
|
|
43
|
+
readonly name: "Amber Baseline";
|
|
44
|
+
readonly accent: "#c49368";
|
|
45
|
+
readonly bg0: "#0a0a0c";
|
|
46
|
+
readonly bg1: "#111114";
|
|
47
|
+
readonly bg2: "#18181c";
|
|
48
|
+
readonly border: "#2a2a30";
|
|
49
|
+
};
|
|
50
|
+
readonly citlali: {
|
|
51
|
+
readonly name: "Citlali Star-Gaze";
|
|
52
|
+
readonly accent: "#f2a9c8";
|
|
53
|
+
readonly bg0: "#090d1d";
|
|
54
|
+
readonly bg1: "#10172d";
|
|
55
|
+
readonly bg2: "#172343";
|
|
56
|
+
readonly border: "#334879";
|
|
57
|
+
};
|
|
58
|
+
readonly furina: {
|
|
59
|
+
readonly name: "Furina Hydro-Overture";
|
|
60
|
+
readonly accent: "#5ab2ff";
|
|
61
|
+
readonly bg0: "#060d16";
|
|
62
|
+
readonly bg1: "#0b1624";
|
|
63
|
+
readonly bg2: "#122238";
|
|
64
|
+
readonly border: "#1f3c5e";
|
|
65
|
+
};
|
|
66
|
+
readonly alley: {
|
|
67
|
+
readonly name: "Alley Neon-Noir";
|
|
68
|
+
readonly accent: "#b066ff";
|
|
69
|
+
readonly bg0: "#050409";
|
|
70
|
+
readonly bg1: "#0b0914";
|
|
71
|
+
readonly bg2: "#141021";
|
|
72
|
+
readonly border: "#382c54";
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
declare const typography: {
|
|
76
|
+
readonly fontMono: "IBMPlexMono_400Regular";
|
|
77
|
+
readonly fontMonoLight: "IBMPlexMono_300Light";
|
|
78
|
+
readonly fontMonoMedium: "IBMPlexMono_500Medium";
|
|
79
|
+
readonly fontMonoBold: "IBMPlexMono_600SemiBold";
|
|
80
|
+
readonly fontSans: "IBMPlexSans_400Regular";
|
|
81
|
+
readonly fontSansLight: "IBMPlexSans_300Light";
|
|
82
|
+
readonly fontSansMedium: "IBMPlexSans_500Medium";
|
|
83
|
+
readonly fontSansBold: "IBMPlexSans_600SemiBold";
|
|
84
|
+
readonly fontJp: "NotoSansJP_400Regular";
|
|
85
|
+
readonly fontJpMedium: "NotoSansJP_500Medium";
|
|
86
|
+
readonly fontJpBold: "NotoSansJP_700Bold";
|
|
87
|
+
readonly webMono: "'IBM Plex Mono', monospace";
|
|
88
|
+
readonly webSans: "'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif";
|
|
89
|
+
readonly webJp: "'Noto Sans JP', sans-serif";
|
|
90
|
+
};
|
|
91
|
+
declare const spacing: {
|
|
92
|
+
readonly none: 0;
|
|
93
|
+
readonly xs: 4;
|
|
94
|
+
readonly sm: 8;
|
|
95
|
+
readonly md: 12;
|
|
96
|
+
readonly lg: 16;
|
|
97
|
+
readonly xl: 24;
|
|
98
|
+
readonly xxl: 32;
|
|
99
|
+
readonly xxxl: 48;
|
|
100
|
+
};
|
|
101
|
+
declare const borderRadius: {
|
|
102
|
+
readonly none: 0;
|
|
103
|
+
readonly sm: 4;
|
|
104
|
+
readonly md: 6;
|
|
105
|
+
readonly lg: 10;
|
|
106
|
+
readonly full: 9999;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* CSS Variable references for DOM & Tauri Webview contexts
|
|
110
|
+
*/
|
|
111
|
+
declare const cssTokens: {
|
|
112
|
+
readonly colors: {
|
|
113
|
+
readonly bg0: "var(--kz-bg-0)";
|
|
114
|
+
readonly bg1: "var(--kz-bg-1)";
|
|
115
|
+
readonly bg2: "var(--kz-bg-2)";
|
|
116
|
+
readonly bg3: "var(--kz-bg-3)";
|
|
117
|
+
readonly border: "var(--kz-border)";
|
|
118
|
+
readonly borderSubtle: "var(--kz-border-subtle)";
|
|
119
|
+
readonly borderLight: "var(--kz-border-light)";
|
|
120
|
+
readonly text0: "var(--kz-text-0)";
|
|
121
|
+
readonly text1: "var(--kz-text-1)";
|
|
122
|
+
readonly text2: "var(--kz-text-2)";
|
|
123
|
+
readonly text3: "var(--kz-text-3)";
|
|
124
|
+
readonly accent: "var(--kz-accent)";
|
|
125
|
+
readonly accentHover: "var(--kz-accent-hover)";
|
|
126
|
+
readonly accentDim: "var(--kz-accent-dim)";
|
|
127
|
+
readonly teal: "var(--kz-teal)";
|
|
128
|
+
readonly tealDim: "var(--kz-teal-dim)";
|
|
129
|
+
readonly warm: "var(--kz-warm)";
|
|
130
|
+
readonly redSoft: "var(--kz-red-soft)";
|
|
131
|
+
readonly greenSoft: "var(--kz-green-soft)";
|
|
132
|
+
readonly blue: "var(--kz-blue)";
|
|
133
|
+
readonly purple: "var(--kz-purple)";
|
|
134
|
+
};
|
|
135
|
+
readonly typography: {
|
|
136
|
+
readonly mono: "var(--kz-mono)";
|
|
137
|
+
readonly sans: "var(--kz-sans)";
|
|
138
|
+
readonly jp: "var(--kz-jp)";
|
|
139
|
+
};
|
|
140
|
+
readonly radius: {
|
|
141
|
+
readonly sm: "var(--kz-radius-sm)";
|
|
142
|
+
readonly md: "var(--kz-radius-md)";
|
|
143
|
+
readonly lg: "var(--kz-radius-lg)";
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
declare const tokens: {
|
|
147
|
+
readonly colors: {
|
|
148
|
+
readonly bg0: "var(--kz-bg-0)";
|
|
149
|
+
readonly bg1: "var(--kz-bg-1)";
|
|
150
|
+
readonly bg2: "var(--kz-bg-2)";
|
|
151
|
+
readonly bg3: "var(--kz-bg-3)";
|
|
152
|
+
readonly border: "var(--kz-border)";
|
|
153
|
+
readonly borderSubtle: "var(--kz-border-subtle)";
|
|
154
|
+
readonly borderLight: "var(--kz-border-light)";
|
|
155
|
+
readonly text0: "var(--kz-text-0)";
|
|
156
|
+
readonly text1: "var(--kz-text-1)";
|
|
157
|
+
readonly text2: "var(--kz-text-2)";
|
|
158
|
+
readonly text3: "var(--kz-text-3)";
|
|
159
|
+
readonly accent: "var(--kz-accent)";
|
|
160
|
+
readonly accentHover: "var(--kz-accent-hover)";
|
|
161
|
+
readonly accentDim: "var(--kz-accent-dim)";
|
|
162
|
+
readonly teal: "var(--kz-teal)";
|
|
163
|
+
readonly tealDim: "var(--kz-teal-dim)";
|
|
164
|
+
readonly warm: "var(--kz-warm)";
|
|
165
|
+
readonly redSoft: "var(--kz-red-soft)";
|
|
166
|
+
readonly greenSoft: "var(--kz-green-soft)";
|
|
167
|
+
readonly blue: "var(--kz-blue)";
|
|
168
|
+
readonly purple: "var(--kz-purple)";
|
|
169
|
+
};
|
|
170
|
+
readonly typography: {
|
|
171
|
+
readonly mono: "var(--kz-mono)";
|
|
172
|
+
readonly sans: "var(--kz-sans)";
|
|
173
|
+
readonly jp: "var(--kz-jp)";
|
|
174
|
+
};
|
|
175
|
+
readonly radius: {
|
|
176
|
+
readonly sm: "var(--kz-radius-sm)";
|
|
177
|
+
readonly md: "var(--kz-radius-md)";
|
|
178
|
+
readonly lg: "var(--kz-radius-lg)";
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
type ThemeName = 'default' | 'citlali' | 'furina' | 'alley';
|
|
182
|
+
|
|
183
|
+
export { type ThemeName, borderRadius, colors, cssTokens, spacing, themePalettes, tokens, typography };
|