codex-linux 1.0.0 → 1.0.2

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,31 +1,29 @@
1
- import React, { useState, useEffect } from 'react';
1
+ import React from 'react';
2
2
  import { cva, type VariantProps } from 'class-variance-authority';
3
3
  import { Loader2 } from 'lucide-react';
4
- import { cn } from '@/lib/utils';
5
4
 
6
5
  const buttonVariants = cva(
7
- 'inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',
6
+ 'inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-[var(--radius-sm)] font-medium transition-all duration-[180ms] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--teal-400)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--bg-void)] disabled:pointer-events-none disabled:opacity-50 cursor-pointer border-none',
8
7
  {
9
8
  variants: {
10
9
  variant: {
11
- default: 'bg-neutral-900 text-white hover:bg-neutral-800 active:scale-[0.98]',
12
- secondary: 'bg-neutral-100 text-neutral-900 hover:bg-neutral-200 active:scale-[0.98]',
13
- outline: 'border border-neutral-200 bg-transparent hover:bg-neutral-50 hover:border-neutral-300',
14
- ghost: 'hover:bg-neutral-100 hover:text-neutral-900',
15
- link: 'text-neutral-900 underline-offset-4 hover:underline',
16
- subtle: 'bg-neutral-50 text-neutral-700 hover:bg-neutral-100',
17
- danger: 'bg-red-50 text-red-600 hover:bg-red-100',
10
+ primary: 'bg-[var(--teal-500)] text-[var(--bg-void)] hover:bg-[var(--teal-400)] active:scale-[0.98] font-medium',
11
+ secondary: 'bg-transparent text-[var(--teal-400)] border border-[var(--border-accent)] hover:bg-[rgba(0,200,168,0.06)] active:scale-[0.98]',
12
+ ghost: 'bg-transparent text-[var(--text-secondary)] hover:bg-[var(--bg-hover)] hover:text-[var(--text-primary)] active:scale-[0.98]',
13
+ danger: 'bg-[rgba(232,90,106,0.1)] text-[var(--error)] border border-[rgba(232,90,106,0.2)] hover:bg-[rgba(232,90,106,0.15)]',
14
+ outline: 'bg-transparent text-[var(--text-secondary)] border border-[var(--border-default)] hover:border-[var(--border-accent)] hover:text-[var(--teal-400)]',
15
+ icon: 'bg-[var(--bg-elevated)] text-[var(--text-secondary)] border border-[var(--border-subtle)] hover:bg-[var(--bg-hover)] hover:text-[var(--teal-400)]',
18
16
  },
19
17
  size: {
20
- default: 'h-10 px-4 py-2',
21
- sm: 'h-8 px-3 text-xs',
22
- lg: 'h-12 px-6',
23
- icon: 'h-10 w-10',
24
- 'icon-sm': 'h-8 w-8',
18
+ default: 'h-10 px-4.5 py-2 text-[13px]',
19
+ sm: 'h-8 px-3 text-[11px] rounded-[var(--radius-sm)]',
20
+ lg: 'h-12 px-6 text-[14px]',
21
+ icon: 'h-10 w-10 p-2',
22
+ 'icon-sm': 'h-8 w-8 p-2',
25
23
  },
26
24
  },
27
25
  defaultVariants: {
28
- variant: 'default',
26
+ variant: 'primary',
29
27
  size: 'default',
30
28
  },
31
29
  }
@@ -46,7 +44,7 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
46
44
  ({ className, variant, size, loading, children, disabled, ariaLabel, ariaDescribedBy, ariaExpanded, ariaPressed, ...props }, ref) => {
47
45
  return (
48
46
  <button
49
- className={cn(buttonVariants({ variant, size, className }))}
47
+ className={buttonVariants({ variant, size, className })}
50
48
  ref={ref}
51
49
  disabled={disabled || loading}
52
50
  aria-label={ariaLabel}
@@ -56,7 +54,7 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
56
54
  {...props}
57
55
  >
58
56
  {loading && (
59
- <Loader2 className="mr-2 h-4 w-4 animate-spin" aria-hidden="true" />
57
+ <Loader2 className="w-4 h-4 animate-spin" aria-hidden="true" />
60
58
  )}
61
59
  {children}
62
60
  </button>
@@ -65,4 +63,4 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
65
63
  );
66
64
  Button.displayName = 'Button';
67
65
 
68
- export { Button, buttonVariants };
66
+ export { Button, buttonVariants };
@@ -1,22 +1,21 @@
1
1
  import React from 'react';
2
2
  import { cva, type VariantProps } from 'class-variance-authority';
3
- import { cn } from '@/lib/utils';
4
3
 
5
4
  const cardVariants = cva(
6
- 'rounded-xl bg-white border border-neutral-200 shadow-sm transition-all duration-200',
5
+ 'rounded-[var(--radius-lg)] bg-[var(--bg-card)] border transition-all duration-[200ms]',
7
6
  {
8
7
  variants: {
9
8
  variant: {
10
- default: 'hover:shadow-md hover:border-neutral-300',
11
- ghost: 'border-transparent shadow-none hover:bg-neutral-50',
12
- elevated: 'shadow-md hover:shadow-lg hover:-translate-y-0.5',
13
- interactive: 'cursor-pointer hover:shadow-md hover:border-neutral-300 active:scale-[0.99]',
9
+ default: 'border-[var(--border-subtle)] hover:border-[var(--border-accent)] hover:translate-y-[-2px]',
10
+ ghost: 'border-transparent shadow-none hover:bg-[var(--bg-hover)]',
11
+ elevated: 'border-[var(--border-subtle)] shadow-[var(--shadow-md)] hover:shadow-[var(--shadow-lg)] hover:translate-y-[-2px]',
12
+ interactive: 'border-[var(--border-subtle)] cursor-pointer hover:border-[var(--border-accent)] hover:translate-y-[-2px] active:scale-[0.99]',
14
13
  },
15
14
  padding: {
16
15
  none: '',
17
16
  sm: 'p-4',
18
- default: 'p-6',
19
- lg: 'p-8',
17
+ default: 'p-5',
18
+ lg: 'p-7',
20
19
  },
21
20
  },
22
21
  defaultVariants: {
@@ -35,7 +34,7 @@ const Card = React.forwardRef<HTMLDivElement, CardProps>(
35
34
  return (
36
35
  <div
37
36
  ref={ref}
38
- className={cn(cardVariants({ variant, padding, className }))}
37
+ className={cardVariants({ variant, padding, className })}
39
38
  {...props}
40
39
  />
41
40
  );
@@ -49,7 +48,7 @@ const CardHeader = React.forwardRef<
49
48
  >(({ className, ...props }, ref) => (
50
49
  <div
51
50
  ref={ref}
52
- className={cn('flex flex-col space-y-1.5 pb-4', className)}
51
+ className={`flex flex-col space-y-1.5 pb-4 ${className || ''}`}
53
52
  {...props}
54
53
  />
55
54
  ));
@@ -61,7 +60,7 @@ const CardTitle = React.forwardRef<
61
60
  >(({ className, ...props }, ref) => (
62
61
  <h3
63
62
  ref={ref}
64
- className={cn('font-semibold leading-none tracking-tight text-neutral-900', className)}
63
+ className={`font-medium leading-none tracking-tight text-[var(--text-primary)] text-[13px] ${className || ''}`}
65
64
  {...props}
66
65
  />
67
66
  ));
@@ -73,7 +72,7 @@ const CardDescription = React.forwardRef<
73
72
  >(({ className, ...props }, ref) => (
74
73
  <p
75
74
  ref={ref}
76
- className={cn('text-sm text-neutral-500', className)}
75
+ className={`text-[11px] text-[var(--text-muted)] ${className || ''}`}
77
76
  {...props}
78
77
  />
79
78
  ));
@@ -83,7 +82,7 @@ const CardContent = React.forwardRef<
83
82
  HTMLDivElement,
84
83
  React.HTMLAttributes<HTMLDivElement>
85
84
  >(({ className, ...props }, ref) => (
86
- <div ref={ref} className={cn('', className)} {...props} />
85
+ <div ref={ref} className={className || ''} {...props} />
87
86
  ));
88
87
  CardContent.displayName = 'CardContent';
89
88
 
@@ -93,10 +92,10 @@ const CardFooter = React.forwardRef<
93
92
  >(({ className, ...props }, ref) => (
94
93
  <div
95
94
  ref={ref}
96
- className={cn('flex items-center pt-4 mt-4 border-t border-neutral-100', className)}
95
+ className={`flex items-center pt-4 mt-4 border-t border-[var(--border-faint)] ${className || ''}`}
97
96
  {...props}
98
97
  />
99
98
  ));
100
99
  CardFooter.displayName = 'CardFooter';
101
100
 
102
- export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter };
101
+ export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter };
@@ -1,38 +1,37 @@
1
1
  import React from 'react';
2
2
  import { cva, type VariantProps } from 'class-variance-authority';
3
- import { cn } from '@/lib/utils';
4
3
 
5
4
  const inputVariants = cva(
6
- 'flex w-full rounded-lg border border-neutral-200 bg-transparent px-3 py-2 text-sm ring-offset-white file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-neutral-400 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200',
5
+ 'flex w-full rounded-[var(--radius-md)] border bg-[var(--bg-elevated)] px-3.5 py-2.5 text-[13px] font-[var(--font-body)] text-[var(--text-primary)] placeholder:text-[var(--text-disabled)] focus-visible:outline-none focus-visible:border-[var(--teal-500)] focus-visible:shadow-[0_0_0_3px_rgba(0,158,136,0.15)] disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-[150ms]',
7
6
  {
8
7
  variants: {
9
8
  variant: {
10
- default: 'focus:border-neutral-400',
11
- error: 'border-red-300 focus:border-red-500 focus:ring-red-200',
12
- success: 'border-green-300 focus:border-green-500 focus:ring-green-200',
9
+ default: 'border-[var(--border-subtle)]',
10
+ error: 'border-[rgba(232,90,106,0.3)] focus:border-[var(--error)] focus-visible:shadow-[0_0_0_3px_rgba(232,90,106,0.15)]',
11
+ success: 'border-[rgba(60,200,120,0.3)] focus:border-[var(--success)] focus-visible:shadow-[0_0_0_3px_rgba(60,200,120,0.15)]',
13
12
  },
14
- size: {
13
+ inputSize: {
15
14
  default: 'h-10',
16
- sm: 'h-8 text-xs',
17
- lg: 'h-12 text-base',
15
+ sm: 'h-8 text-[11px] px-3',
16
+ lg: 'h-12 text-[14px] px-4',
18
17
  },
19
18
  },
20
19
  defaultVariants: {
21
20
  variant: 'default',
22
- size: 'default',
21
+ inputSize: 'default',
23
22
  },
24
23
  }
25
24
  );
26
25
 
27
26
  export interface InputProps
28
- extends React.InputHTMLAttributes<HTMLInputElement>,
27
+ extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>,
29
28
  VariantProps<typeof inputVariants> {}
30
29
 
31
30
  const Input = React.forwardRef<HTMLInputElement, InputProps>(
32
- ({ className, variant, size, ...props }, ref) => {
31
+ ({ className, variant, inputSize, ...props }, ref) => {
33
32
  return (
34
33
  <input
35
- className={cn(inputVariants({ variant, size, className }))}
34
+ className={inputVariants({ variant, inputSize, className })}
36
35
  ref={ref}
37
36
  {...props}
38
37
  />
@@ -41,4 +40,4 @@ const Input = React.forwardRef<HTMLInputElement, InputProps>(
41
40
  );
42
41
  Input.displayName = 'Input';
43
42
 
44
- export { Input };
43
+ export { Input };
@@ -4,62 +4,40 @@
4
4
 
5
5
  @layer base {
6
6
  :root {
7
- --background: 0 0% 100%;
8
- --foreground: 240 10% 3.9%;
9
- --card: 0 0% 100%;
10
- --card-foreground: 240 10% 3.9%;
11
- --popover: 0 0% 100%;
12
- --popover-foreground: 240 10% 3.9%;
13
- --primary: 240 5.9% 10%;
14
- --primary-foreground: 0 0% 98%;
15
- --secondary: 240 4.8% 95.9%;
16
- --secondary-foreground: 240 5.9% 10%;
17
- --muted: 240 4.8% 95.9%;
18
- --muted-foreground: 240 3.8% 46.1%;
19
- --accent: 240 4.8% 95.9%;
20
- --accent-foreground: 240 5.9% 10%;
21
- --destructive: 0 84.2% 60.2%;
22
- --destructive-foreground: 0 0% 98%;
23
- --border: 240 5.9% 90%;
24
- --input: 240 5.9% 90%;
25
- --ring: 240 5.9% 10%;
26
- --radius: 0.5rem;
27
- }
28
-
29
- .dark {
30
- --background: 240 10% 3.9%;
31
- --foreground: 0 0% 98%;
32
- --card: 240 10% 3.9%;
33
- --card-foreground: 0 0% 98%;
34
- --popover: 240 10% 3.9%;
35
- --popover-foreground: 0 0% 98%;
36
- --primary: 0 0% 98%;
37
- --primary-foreground: 240 5.9% 10%;
38
- --secondary: 240 3.7% 15.9%;
39
- --secondary-foreground: 0 0% 98%;
40
- --muted: 240 3.7% 15.9%;
41
- --muted-foreground: 240 5% 64.9%;
42
- --accent: 240 3.7% 15.9%;
43
- --accent-foreground: 0 0% 98%;
44
- --destructive: 0 62.8% 30.6%;
45
- --destructive-foreground: 0 0% 98%;
46
- --border: 240 3.7% 15.9%;
47
- --input: 240 3.7% 15.9%;
48
- --ring: 240 4.9% 83.9%;
7
+ --background: 210 50% 3%;
8
+ --foreground: 160 30% 85%;
9
+ --card: 200 35% 6%;
10
+ --card-foreground: 160 30% 85%;
11
+ --popover: 200 35% 6%;
12
+ --popover-foreground: 160 30% 85%;
13
+ --primary: 165 100% 39%;
14
+ --primary-foreground: 210 50% 3%;
15
+ --secondary: 200 30% 10%;
16
+ --secondary-foreground: 160 30% 85%;
17
+ --muted: 200 30% 10%;
18
+ --muted-foreground: 165 30% 35%;
19
+ --accent: 165 100% 39%;
20
+ --accent-foreground: 210 50% 3%;
21
+ --destructive: 0 70% 55%;
22
+ --destructive-foreground: 160 30% 85%;
23
+ --border: 200 30% 10%;
24
+ --input: 200 30% 10%;
25
+ --ring: 165 100% 39%;
26
+ --radius: 0.625rem;
49
27
  }
50
28
  }
51
29
 
52
30
  @layer base {
53
31
  * {
54
- @apply border-border;
32
+ border-color: var(--border-faint, rgba(0,200,168,0.06));
55
33
  }
56
34
  body {
57
- @apply bg-background text-foreground;
35
+ background-color: var(--bg-void, #030709);
36
+ color: var(--text-primary, #D8EEE8);
58
37
  font-feature-settings: "rlig" 1, "calt" 1;
59
38
  }
60
39
  }
61
40
 
62
- /* Custom scrollbar */
63
41
  ::-webkit-scrollbar {
64
42
  width: 8px;
65
43
  height: 8px;
@@ -70,49 +48,49 @@
70
48
  }
71
49
 
72
50
  ::-webkit-scrollbar-thumb {
73
- background: hsl(var(--muted-foreground) / 0.3);
51
+ background: var(--border-default, #1B3040);
74
52
  border-radius: 4px;
75
53
  }
76
54
 
77
55
  ::-webkit-scrollbar-thumb:hover {
78
- background: hsl(var(--muted-foreground) / 0.5);
56
+ background: var(--teal-700, #005C4E);
79
57
  }
80
58
 
81
- /* Code blocks */
82
59
  pre {
83
- background: hsl(var(--muted));
84
- border-radius: var(--radius);
60
+ background: var(--bg-card, #0A1318);
61
+ border-radius: var(--radius-md, 10px);
85
62
  padding: 1rem;
86
63
  overflow-x: auto;
64
+ border: 1px solid var(--border-subtle, #102028);
87
65
  }
88
66
 
89
67
  code {
90
- font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
68
+ font-family: var(--font-mono, 'JetBrains Mono', monospace);
91
69
  font-size: 0.875em;
70
+ color: var(--teal-300, #00DFC0);
92
71
  }
93
72
 
94
- /* Agent status indicators */
95
73
  .agent-status-idle {
96
- @apply text-yellow-500;
74
+ color: var(--warning, #E6B94A);
97
75
  }
98
76
 
99
77
  .agent-status-running {
100
- @apply text-green-500 animate-pulse;
78
+ color: var(--success, #3CC878);
79
+ animation: pulse 2s ease-in-out infinite;
101
80
  }
102
81
 
103
82
  .agent-status-paused {
104
- @apply text-orange-500;
83
+ color: var(--warning, #E6B94A);
105
84
  }
106
85
 
107
86
  .agent-status-error {
108
- @apply text-red-500;
87
+ color: var(--error, #E85A6A);
109
88
  }
110
89
 
111
90
  .agent-status-completed {
112
- @apply text-blue-500;
91
+ color: var(--info, #6890F4);
113
92
  }
114
93
 
115
- /* Animations */
116
94
  @keyframes slideIn {
117
95
  from {
118
96
  opacity: 0;
@@ -126,4 +104,4 @@ code {
126
104
 
127
105
  .animate-slide-in {
128
106
  animation: slideIn 0.3s ease-out;
129
- }
107
+ }