0x-lang 0.1.19 → 0.1.21

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.
@@ -0,0 +1,93 @@
1
+ // Generated by 0x
2
+ import React, { useEffect, useMemo, useState } from 'react';
3
+
4
+ export default function Kanban() {
5
+ const [tasks, setTasks] = useState([]);
6
+ const [newTask, setNewTask] = useState('');
7
+ const todoTasks = useMemo(() => setTasks(prev => prev.filter(t => t.status == 'todo')), [tasks]);
8
+ const doingTasks = useMemo(() => setTasks(prev => prev.filter(t => t.status == 'doing')), [tasks]);
9
+ const doneTasks = useMemo(() => setTasks(prev => prev.filter(t => t.status == 'done')), [tasks]);
10
+ const totalCount = useMemo(() => tasks.length, [tasks]);
11
+ useEffect(() => {
12
+ setTasks(prev => [...prev, { id: 1, title: 'Design mockups', status: 'todo' }]);
13
+ setTasks(prev => [...prev, { id: 2, title: 'Set up database', status: 'doing' }]);
14
+ setTasks(prev => [...prev, { id: 3, title: 'Write API docs', status: 'done' }]);
15
+ }, []);
16
+ const addTask = () => {
17
+ if (newTask.trim() != '') {
18
+ setTasks(prev => [...prev, { id: Date.now(), title: newTask, status: 'todo' }]);
19
+ setNewTask('');
20
+ }
21
+ };
22
+ const moveTask = (id, newStatus) => {
23
+ task = tasks.find(t => t.id == id);
24
+ if (task) {
25
+ task.status = newStatus;
26
+ }
27
+ };
28
+ const deleteTask = (id) => {
29
+ setTasks(setTasks(prev => prev.filter(t => t.id != id)));
30
+ };
31
+
32
+ return (
33
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '24px', padding: '32px' }}>
34
+ {/* Header */}
35
+ <div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
36
+ <span style={{ fontSize: '40px', fontWeight: 'bold' }}>Kanban Board</span>
37
+ <span style={{ fontSize: '20px', color: ''#666'' }}>{totalCount} tasks</span>
38
+ </div>
39
+ {/* Add Task */}
40
+ <div style={{ display: 'flex', flexDirection: 'row', gap: '8px' }}>
41
+ <input value={newTask} onChange={e => setNewTask(e.target.value)} placeholder="New task..." />
42
+ <button onClick={() => addTask()} className="primary">Add</button>
43
+ </div>
44
+ {/* Board Columns */}
45
+ <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: '16px' }}>
46
+ {/* Todo Column */}
47
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '12px', padding: '16px', borderRadius: '12px', backgroundColor: ''#f0f0f0'' }}>
48
+ <span style={{ fontSize: '20px', fontWeight: 'bold', color: ''#e74c3c'' }}>To Do ({todoTasks.length})</span>
49
+ {todoTasks.map((task) => (
50
+ <TaskCard {...task} />
51
+ ))}
52
+ </div>
53
+ {/* Doing Column */}
54
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '12px', padding: '16px', borderRadius: '12px', backgroundColor: ''#f0f0f0'' }}>
55
+ <span style={{ fontSize: '20px', fontWeight: 'bold', color: ''#f39c12'' }}>In Progress ({doingTasks.length})</span>
56
+ {doingTasks.map((task) => (
57
+ <TaskCard {...task} />
58
+ ))}
59
+ </div>
60
+ {/* Done Column */}
61
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '12px', padding: '16px', borderRadius: '12px', backgroundColor: ''#f0f0f0'' }}>
62
+ <span style={{ fontSize: '20px', fontWeight: 'bold', color: ''#27ae60'' }}>Done ({doneTasks.length})</span>
63
+ {doneTasks.map((task) => (
64
+ <TaskCard {...task} />
65
+ ))}
66
+ </div>
67
+ </div>
68
+ </div>
69
+ );
70
+ }
71
+
72
+ // Generated by 0x
73
+ import React from 'react';
74
+
75
+ function TaskCard({ task }) {
76
+
77
+ return (
78
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '8px', padding: '16px', borderRadius: '8px', boxShadow: '0 1px 2px rgba(0,0,0,0.1)', backgroundColor: 'white' }}>
79
+ <span style={{ fontSize: '16px' }}>{task.title}</span>
80
+ <div style={{ display: 'flex', flexDirection: 'row', gap: '4px' }}>
81
+ {task.status != 'doing' && (
82
+ <button onClick={() => moveTask(task.id, 'doing')}>Start</button>
83
+ )}
84
+ {task.status != 'done' && (
85
+ <button onClick={() => moveTask(task.id, 'done')} className="primary">Done</button>
86
+ )}
87
+ <button onClick={() => deleteTask(task.id)} className="danger">Delete</button>
88
+ </div>
89
+ </div>
90
+ );
91
+ }
92
+
93
+ export { TaskCard };
@@ -0,0 +1,91 @@
1
+ // Generated by 0x
2
+ import React, { useEffect, useState } from 'react';
3
+
4
+ export default function SaasLanding() {
5
+ const [features, setFeatures] = useState([]);
6
+ useEffect(() => {
7
+ setFeatures(prev => [...prev, { title: 'Fast', desc: 'Lightning fast builds in seconds', icon: 'rocket.png' }]);
8
+ setFeatures(prev => [...prev, { title: 'Secure', desc: 'Enterprise-grade security built in', icon: 'shield.png' }]);
9
+ setFeatures(prev => [...prev, { title: 'Scalable', desc: 'Scales from startup to enterprise', icon: 'chart.png' }]);
10
+ }, []);
11
+
12
+ return (
13
+ <div style={{ display: 'flex', flexDirection: 'column' }}>
14
+ {/* Nav */}
15
+ <div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', padding: '24px', backgroundColor: 'white', boxShadow: '0 1px 2px rgba(0,0,0,0.1)' }}>
16
+ <span style={{ fontSize: '24px', fontWeight: 'bold', color: ''#333'' }}>LaunchPad</span>
17
+ <div style={{ display: 'flex', flexDirection: 'row', gap: '24px', alignItems: 'center' }}>
18
+ <a href={'#features'}>Features</a>
19
+ <a href={'#pricing'}>Pricing</a>
20
+ <button onClick={() => navigate('/signup')} className="primary">Get Started</button>
21
+ </div>
22
+ </div>
23
+ {/* Hero */}
24
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '16px', padding: '64px', alignItems: 'center', backgroundColor: ''#f8f9fa'' }}>
25
+ <span style={{ fontSize: '4xlpx', fontWeight: 'bold' }}>Build Products Faster</span>
26
+ <span style={{ fontSize: '20px', color: ''#666'' }}>The all-in-one platform for modern teams to ship great software.</span>
27
+ <div style={{ display: 'flex', flexDirection: 'row', gap: '12px', alignItems: 'center' }}>
28
+ <button onClick={() => navigate('/signup')} className="primary">Start Free</button>
29
+ <button onClick={() => navigate('/docs')} className="outline">Learn More</button>
30
+ </div>
31
+ </div>
32
+ {/* Features */}
33
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '24px', padding: '48px' }}>
34
+ <span style={{ fontSize: '40px', fontWeight: 'bold', textAlign: 'center' }}>Features</span>
35
+ <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: '24px' }}>
36
+ {features.map((feature) => (
37
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '12px', padding: '24px', borderRadius: '12px', boxShadow: '0 4px 6px rgba(0,0,0,0.1)', backgroundColor: 'white', alignItems: 'center' }}>
38
+ <img src={feature.icon} width="64" height="64" />
39
+ <span style={{ fontSize: '24px', fontWeight: 'bold' }}>{feature.title}</span>
40
+ <span style={{ color: ''#666'', textAlign: 'center' }}>{feature.desc}</span>
41
+ </div>
42
+ ))}
43
+ </div>
44
+ </div>
45
+ {/* Pricing */}
46
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '24px', padding: '48px', backgroundColor: ''#f8f9fa'' }}>
47
+ <span style={{ fontSize: '40px', fontWeight: 'bold', textAlign: 'center' }}>Pricing</span>
48
+ <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: '24px' }}>
49
+ {/* Starter */}
50
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '16px', padding: '32px', borderRadius: '12px', boxShadow: '0 4px 6px rgba(0,0,0,0.1)', backgroundColor: 'white', alignItems: 'center' }}>
51
+ <span style={{ fontSize: '24px', fontWeight: 'bold' }}>Starter</span>
52
+ <span style={{ fontSize: '40px', fontWeight: 'bold', color: ''#333'' }}>$0/mo</span>
53
+ <span style={{ fontSize: '14px', color: ''#666'' }}>1 project</span>
54
+ <span style={{ fontSize: '14px', color: ''#666'' }}>1GB storage</span>
55
+ <span style={{ fontSize: '14px', color: ''#666'' }}>Community support</span>
56
+ <button onClick={() => navigate('/signup')} className="outline">Get Started</button>
57
+ </div>
58
+ {/* Pro */}
59
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '16px', padding: '32px', borderRadius: '12px', boxShadow: '0 4px 6px rgba(0,0,0,0.1)', backgroundColor: 'white', alignItems: 'center' }}>
60
+ <span style={{ fontSize: '24px', fontWeight: 'bold' }}>Pro</span>
61
+ <span style={{ fontSize: '40px', fontWeight: 'bold', color: ''#333'' }}>$29/mo</span>
62
+ <span style={{ fontSize: '14px', color: ''#666'' }}>10 projects</span>
63
+ <span style={{ fontSize: '14px', color: ''#666'' }}>50GB storage</span>
64
+ <span style={{ fontSize: '14px', color: ''#666'' }}>Priority support</span>
65
+ <span style={{ fontSize: '14px', color: ''#666'' }}>API access</span>
66
+ <button onClick={() => navigate('/signup')} className="primary">Choose Pro</button>
67
+ </div>
68
+ {/* Enterprise */}
69
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '16px', padding: '32px', borderRadius: '12px', boxShadow: '0 4px 6px rgba(0,0,0,0.1)', backgroundColor: 'white', alignItems: 'center' }}>
70
+ <span style={{ fontSize: '24px', fontWeight: 'bold' }}>Enterprise</span>
71
+ <span style={{ fontSize: '40px', fontWeight: 'bold', color: ''#333'' }}>$99/mo</span>
72
+ <span style={{ fontSize: '14px', color: ''#666'' }}>Unlimited projects</span>
73
+ <span style={{ fontSize: '14px', color: ''#666'' }}>1TB storage</span>
74
+ <span style={{ fontSize: '14px', color: ''#666'' }}>24/7 support</span>
75
+ <span style={{ fontSize: '14px', color: ''#666'' }}>Custom integrations</span>
76
+ <button onClick={() => navigate('/contact')} className="primary">Contact Sales</button>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ {/* Footer */}
81
+ <div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'space-between', padding: '32px', backgroundColor: ''#333'' }}>
82
+ <span style={{ color: 'white' }}>LaunchPad Inc.</span>
83
+ <div style={{ display: 'flex', flexDirection: 'row', gap: '16px' }}>
84
+ <a href={'/privacy'}>Privacy</a>
85
+ <a href={'/terms'}>Terms</a>
86
+ <a href={'/contact'}>Contact</a>
87
+ </div>
88
+ </div>
89
+ </div>
90
+ );
91
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "0x-lang",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "0x — AI-First Programming Language Compiler",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -67,6 +67,8 @@
67
67
  "dependencies": {
68
68
  "@jridgewell/gen-mapping": "^0.3.13",
69
69
  "@modelcontextprotocol/sdk": "^1.12.1",
70
+ "vscode-languageserver": "^9.0.1",
71
+ "vscode-languageserver-textdocument": "^1.0.12",
70
72
  "zod": "^3.24.0"
71
73
  },
72
74
  "devDependencies": {