my-you-eye 0.2.1 → 0.3.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/COMPONENTS.md +10 -11
- package/README.md +1 -1
- package/SKILL.md +57 -8
- package/bin/my-you-eye.mjs +2 -2
- package/components.json +37 -50
- package/dist/index.d.ts +32 -31
- package/dist/index.js +2025 -897
- package/dist/styles.css +123 -0
- package/dist/themes/brutal.css +100 -0
- package/dist/themes/comic.css +111 -0
- package/dist/themes/contrast.css +62 -0
- package/dist/themes/dark.css +31 -0
- package/dist/themes/frosted.css +138 -0
- package/dist/themes/glass.css +163 -0
- package/dist/themes/metallic.css +136 -0
- package/dist/themes/neon.css +60 -0
- package/dist/themes/stark.css +100 -0
- package/dist/tokens.css +135 -0
- package/package.json +3 -2
package/COMPONENTS.md
CHANGED
|
@@ -9,14 +9,14 @@ import { Button, Card } from "my-you-eye";
|
|
|
9
9
|
import "my-you-eye/styles.css";
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
**
|
|
12
|
+
**54 components** across 9 groups.
|
|
13
13
|
|
|
14
14
|
## canvas
|
|
15
15
|
|
|
16
16
|
| Component | Variants | Demos |
|
|
17
17
|
|---|---|---|
|
|
18
18
|
| `Canvas` | — | Empty grid |
|
|
19
|
-
| `
|
|
19
|
+
| `ConnectionLine` | variant: bezier / stepped / straight<br>state: connected | Path variants, Edge states |
|
|
20
20
|
| `Graph` | type: button | Pipeline editor (drag nodes, connect ports, delete selected) |
|
|
21
21
|
| `GraphNode` | variant: muted / selected | Variants |
|
|
22
22
|
| `Port` | state: connected / default / highlighted | States |
|
|
@@ -25,11 +25,11 @@ import "my-you-eye/styles.css";
|
|
|
25
25
|
|
|
26
26
|
| Component | Variants | Demos |
|
|
27
27
|
|---|---|---|
|
|
28
|
-
| `
|
|
29
|
-
| `DataList` | variant: compact | Default & Compact,
|
|
30
|
-
| `DataTable` | variant: striped<br>density: compact |
|
|
31
|
-
| `Table` |
|
|
32
|
-
| `TreeView` | type: button<br>variant: condensed | Default
|
|
28
|
+
| `CellType` | type: array / audio / badge / boolean / bytes / currency / date-human / date-system / datetime-tz / duration / email / image / json / null / number / percentage / signed / status / text / tree / url | Data Types, Project X, Project X, Numeric types |
|
|
29
|
+
| `DataList` | variant: compact | Default & Compact, Striped, Scrolling |
|
|
30
|
+
| `DataTable` | variant: striped<br>density: compact | Default, Striped, Scrolling + sticky header, Truncation |
|
|
31
|
+
| `Table` | — | |
|
|
32
|
+
| `TreeView` | type: button<br>variant: condensed | Default vs Condensed, Depth-based expand, Controlled expand state, Leading icons (click a row, then use arrow keys), Messy nested payload (hover to trace depth guides) |
|
|
33
33
|
|
|
34
34
|
## display
|
|
35
35
|
|
|
@@ -38,7 +38,7 @@ import "my-you-eye/styles.css";
|
|
|
38
38
|
| `Avatar` | size: lg / md / sm | Sizes, Fallback variants, With image, With ring, With status dot |
|
|
39
39
|
| `Badge` | variant: danger / neutral / primary / success / warning<br>style: soft | Variants (solid), Variants (soft) |
|
|
40
40
|
| `Card` | variant: danger / default / elevated / ghost / outlined<br>size: sm | Variants, With footer actions |
|
|
41
|
-
| `CodeBlock` | variant: elevated | Bare (no header, no language), Language-only (badge overlay, no header bar), With header + language, Elevated, Line numbers, No wrap (horizontal scroll) |
|
|
41
|
+
| `CodeBlock` | variant: elevated | Bare (no header, no language), Language-only (badge overlay, no header bar), With header + language, Elevated, Line numbers, No wrap (horizontal scroll), Syntax highlighting (TS), Syntax highlighting (CSS / HTML / SQL / YAML / Python) |
|
|
42
42
|
| `EmptyState` | variant: secondary | Default, With icon and action |
|
|
43
43
|
| `Image` | — | Fit modes, Border radius, Aspect ratio, Styles, With caption |
|
|
44
44
|
| `Kbd` | — | Default, Combinations |
|
|
@@ -53,9 +53,9 @@ import "my-you-eye/styles.css";
|
|
|
53
53
|
|---|---|---|
|
|
54
54
|
| `Alert` | variant: danger / info / success / warning | Variants, With title, With icon |
|
|
55
55
|
| `Progress` | variant: danger / default / success / warning | Variants, No label |
|
|
56
|
-
| `Saved` | variant: danger / secondary | Trigger toasts |
|
|
57
56
|
| `Skeleton` | shape: circle / rect / text | Shapes |
|
|
58
57
|
| `Spinner` | size: lg / md / sm | Sizes |
|
|
58
|
+
| `Toast` | variant: danger / secondary | Trigger toasts |
|
|
59
59
|
|
|
60
60
|
## inputs
|
|
61
61
|
|
|
@@ -80,7 +80,7 @@ import "my-you-eye/styles.css";
|
|
|
80
80
|
|---|---|---|
|
|
81
81
|
| `Breadcrumbs` | — | Default, Custom separator |
|
|
82
82
|
| `Pagination` | — | Default (10 pages), Few pages |
|
|
83
|
-
| `Tabs` | variant: pills / underline | Underline, Pills |
|
|
83
|
+
| `Tabs` | variant: filing / pills / underline | Underline, Pills, Filing |
|
|
84
84
|
|
|
85
85
|
## overlay
|
|
86
86
|
|
|
@@ -98,7 +98,6 @@ import "my-you-eye/styles.css";
|
|
|
98
98
|
| Component | Variants | Demos |
|
|
99
99
|
|---|---|---|
|
|
100
100
|
| `ConfirmDialog` | variant: danger / secondary | Variants |
|
|
101
|
-
| `FilingTabs` | — | Default, Many tabs, First tab active |
|
|
102
101
|
| `FormField` | type: password | Default, With hint, Required with error |
|
|
103
102
|
| `PageShell` | variant: secondary | Default, With actions |
|
|
104
103
|
| `StatCard` | — | Default |
|
package/README.md
CHANGED
|
@@ -136,7 +136,7 @@ src/
|
|
|
136
136
|
lib/cn.ts # clsx + tailwind-merge helper
|
|
137
137
|
styles/
|
|
138
138
|
tokens.css # ALL base design tokens
|
|
139
|
-
themes/*.css # per-theme token overrides (dark, neon,
|
|
139
|
+
themes/*.css # per-theme token overrides (dark, neon, contrast, …)
|
|
140
140
|
globals.css # tailwind entry, global scrollbar, base styles
|
|
141
141
|
ui/<component>/ # Component.tsx + Component.showcase.tsx + index.ts
|
|
142
142
|
ui/patterns/ # compositions built FROM primitives (FormField, Orchestrator, …)
|
package/SKILL.md
CHANGED
|
@@ -11,18 +11,22 @@ There is almost certainly already a component for it.
|
|
|
11
11
|
|
|
12
12
|
## Step 1 — find the component (always do this first)
|
|
13
13
|
|
|
14
|
-
Read `
|
|
15
|
-
auto-generated from the library's showcases and
|
|
16
|
-
variant props. Pick the component whose name/group matches what you need.
|
|
14
|
+
Read `COMPONENTS.md` (human-readable) or `components.json` (machine-readable) at the package
|
|
15
|
+
root. Both are auto-generated from the library's showcases and list **every** component, its
|
|
16
|
+
group, and its variant props. Pick the component whose name/group matches what you need.
|
|
17
|
+
|
|
18
|
+
You can also run `npx my-you-eye list` for a quick terminal overview.
|
|
19
|
+
|
|
20
|
+
## Component catalog
|
|
17
21
|
|
|
18
22
|
### inputs
|
|
19
23
|
Button, Checkbox, Combobox, FileDrop, Input, Label, MultiSelect, RadioGroup, Select, Slider, Switch, Textarea
|
|
20
24
|
|
|
21
25
|
### display
|
|
22
|
-
Avatar, Badge, Card, CodeBlock,
|
|
26
|
+
Avatar, Badge, Card, CodeBlock, EmptyState, Image, Kbd, Markdown, ScrollArea, Separator, StatusDot
|
|
23
27
|
|
|
24
28
|
### feedback
|
|
25
|
-
Alert, Progress, Spinner, Toast
|
|
29
|
+
Alert, Progress, Skeleton, Spinner, Toast
|
|
26
30
|
|
|
27
31
|
### overlay
|
|
28
32
|
CommandPalette, Dialog, Drawer, DropdownMenu, Popover, Tooltip
|
|
@@ -31,13 +35,16 @@ CommandPalette, Dialog, Drawer, DropdownMenu, Popover, Tooltip
|
|
|
31
35
|
Breadcrumbs, Pagination, Tabs
|
|
32
36
|
|
|
33
37
|
### canvas
|
|
34
|
-
Canvas, ConnectionLine,
|
|
38
|
+
Canvas, ConnectionLine, Graph, GraphNode, Port
|
|
35
39
|
|
|
36
40
|
### data
|
|
37
|
-
|
|
41
|
+
CellType, DataList, DataTable, Table, TreeView
|
|
38
42
|
|
|
39
43
|
### patterns
|
|
40
|
-
ConfirmDialog,
|
|
44
|
+
ConfirmDialog, FormField, PageShell, StatCard, TexturedSurface, Toolbar
|
|
45
|
+
|
|
46
|
+
### typography
|
|
47
|
+
Typography
|
|
41
48
|
|
|
42
49
|
## Step 2 — use it
|
|
43
50
|
|
|
@@ -48,16 +55,58 @@ import "my-you-eye/styles.css"; // once, at the app root
|
|
|
48
55
|
<Button variant="primary" size="md">Save</Button>
|
|
49
56
|
```
|
|
50
57
|
|
|
58
|
+
**Setup requirements:**
|
|
59
|
+
- Your project must use Tailwind CSS v4 (the library's CSS imports `@import "tailwindcss"`).
|
|
60
|
+
- Wrap your app root in `<TooltipProvider>` if you use Tooltip.
|
|
61
|
+
- Render `<Toaster />` somewhere in your app if you use toasts.
|
|
62
|
+
|
|
51
63
|
Pick behavior with **variant props** from the manifest's allowed set. Use `className` only for
|
|
52
64
|
one-off **layout** (width, margin) — never to restyle. If you keep re-adding the same
|
|
53
65
|
`className`, the right fix is a new variant in the library, not a local override.
|
|
54
66
|
|
|
67
|
+
## Multi-part components
|
|
68
|
+
|
|
69
|
+
Some components export sub-parts. Import them by name:
|
|
70
|
+
|
|
71
|
+
**Dialog:** `Dialog, DialogTrigger, DialogClose, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter`
|
|
72
|
+
**Drawer:** `Drawer, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerTitle, DrawerDescription, DrawerBody, DrawerFooter`
|
|
73
|
+
**DropdownMenu:** `DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuLabel`
|
|
74
|
+
**Popover:** `Popover, PopoverTrigger, PopoverContent, PopoverClose`
|
|
75
|
+
**Tooltip:** `TooltipProvider, Tooltip, TooltipContent`
|
|
76
|
+
**Select:** `Select, SelectTrigger, SelectContent, SelectItem, SelectValue`
|
|
77
|
+
**Tabs:** `Tabs, TabsList, TabsTrigger, TabsContent`
|
|
78
|
+
**Card:** `Card, CardHeader, CardTitle, CardContent, CardFooter`
|
|
79
|
+
**Table:** `Table, TableHeader, TableBody, TableRow, TableHead, TableCell`
|
|
80
|
+
**RadioGroup:** `RadioGroup, RadioGroupItem`
|
|
81
|
+
**Toast:** `Toaster, useToast` (hook — `const { toast } = useToast()`)
|
|
82
|
+
|
|
55
83
|
## Step 3 — customize by theme, not by fork
|
|
56
84
|
|
|
57
85
|
All color, radius, spacing, typography, border, and surface values come from CSS variables.
|
|
58
86
|
To restyle globally, override the tokens at your app root or set `data-theme="<name>"` /
|
|
59
87
|
`.dark` on `<html>` — do not copy component code or wrap components in style overrides.
|
|
60
88
|
|
|
89
|
+
Available themes: `default`, `dark`, `neon`, `contrast`, `glass`, `comic`, `brutal`, `stark`, `frosted`, `metallic`.
|
|
90
|
+
|
|
91
|
+
```tsx
|
|
92
|
+
// Switch theme
|
|
93
|
+
document.documentElement.dataset.theme = "glass";
|
|
94
|
+
// Toggle dark mode
|
|
95
|
+
document.documentElement.classList.toggle("dark");
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## CLI tool
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
npx my-you-eye init [--force] Copy SKILL.md + components.json to skills/
|
|
102
|
+
npx my-you-eye list List all components with groups and variants
|
|
103
|
+
npx my-you-eye sync Re-copy SKILL.md + components.json (overwrite)
|
|
104
|
+
npx my-you-eye --help Show usage
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
`init` places `SKILL.md` and `components.json` in a local `skills/` directory so your AI
|
|
108
|
+
agent can discover them automatically.
|
|
109
|
+
|
|
61
110
|
## If a component genuinely does not exist
|
|
62
111
|
|
|
63
112
|
It belongs in the library, not in the consuming app. Add it upstream in `src/ui/` following
|
package/bin/my-you-eye.mjs
CHANGED
|
@@ -54,14 +54,14 @@ function cmdList() {
|
|
|
54
54
|
(groups[c.group] ??= []).push(c);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
const groupOrder = ["inputs", "display", "feedback", "overlay", "navigation", "canvas", "data", "patterns"];
|
|
57
|
+
const groupOrder = ["inputs", "display", "feedback", "overlay", "navigation", "canvas", "data", "patterns", "typography"];
|
|
58
58
|
|
|
59
59
|
for (const group of groupOrder) {
|
|
60
60
|
if (!groups[group]) continue;
|
|
61
61
|
console.log(`\n ${group}`);
|
|
62
62
|
console.log(` ${"-".repeat(group.length)}`);
|
|
63
63
|
for (const c of groups[group]) {
|
|
64
|
-
const variants = Object.entries(c.
|
|
64
|
+
const variants = Object.entries(c.props)
|
|
65
65
|
.map(([k, v]) => `${k}: ${v.join(" | ")}`)
|
|
66
66
|
.join(", ");
|
|
67
67
|
console.log(` ${c.name}${variants ? ` (${variants})` : ""}`);
|
package/components.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "my-you-eye",
|
|
3
3
|
"generated": "auto — do not edit by hand; run `npm run manifest`",
|
|
4
|
-
"count":
|
|
4
|
+
"count": 54,
|
|
5
5
|
"components": [
|
|
6
6
|
{
|
|
7
7
|
"name": "Canvas",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
]
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
|
-
"name": "
|
|
16
|
+
"name": "ConnectionLine",
|
|
17
17
|
"group": "canvas",
|
|
18
18
|
"folder": "ui/connection-line",
|
|
19
19
|
"props": {
|
|
@@ -74,9 +74,9 @@
|
|
|
74
74
|
]
|
|
75
75
|
},
|
|
76
76
|
{
|
|
77
|
-
"name": "
|
|
77
|
+
"name": "CellType",
|
|
78
78
|
"group": "data",
|
|
79
|
-
"folder": "ui/cell-
|
|
79
|
+
"folder": "ui/cell-type",
|
|
80
80
|
"props": {
|
|
81
81
|
"type": [
|
|
82
82
|
"array",
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
"badge",
|
|
85
85
|
"boolean",
|
|
86
86
|
"bytes",
|
|
87
|
+
"currency",
|
|
87
88
|
"date-human",
|
|
88
89
|
"date-system",
|
|
89
90
|
"datetime-tz",
|
|
@@ -94,6 +95,7 @@
|
|
|
94
95
|
"null",
|
|
95
96
|
"number",
|
|
96
97
|
"percentage",
|
|
98
|
+
"signed",
|
|
97
99
|
"status",
|
|
98
100
|
"text",
|
|
99
101
|
"tree",
|
|
@@ -101,8 +103,8 @@
|
|
|
101
103
|
]
|
|
102
104
|
},
|
|
103
105
|
"demos": [
|
|
104
|
-
"Data
|
|
105
|
-
"
|
|
106
|
+
"Data Types",
|
|
107
|
+
"Project X",
|
|
106
108
|
"Project X",
|
|
107
109
|
"Numeric types"
|
|
108
110
|
]
|
|
@@ -118,7 +120,8 @@
|
|
|
118
120
|
},
|
|
119
121
|
"demos": [
|
|
120
122
|
"Default & Compact",
|
|
121
|
-
"
|
|
123
|
+
"Striped",
|
|
124
|
+
"Scrolling"
|
|
122
125
|
]
|
|
123
126
|
},
|
|
124
127
|
{
|
|
@@ -134,28 +137,18 @@
|
|
|
134
137
|
]
|
|
135
138
|
},
|
|
136
139
|
"demos": [
|
|
137
|
-
"Alice",
|
|
138
|
-
"Bob",
|
|
139
|
-
"Charlie",
|
|
140
|
-
"Diana",
|
|
141
140
|
"Default",
|
|
142
|
-
"
|
|
143
|
-
"
|
|
141
|
+
"Striped",
|
|
142
|
+
"Scrolling + sticky header",
|
|
143
|
+
"Truncation"
|
|
144
144
|
]
|
|
145
145
|
},
|
|
146
146
|
{
|
|
147
147
|
"name": "Table",
|
|
148
148
|
"group": "data",
|
|
149
149
|
"folder": "ui/table",
|
|
150
|
-
"props": {
|
|
151
|
-
|
|
152
|
-
"right"
|
|
153
|
-
]
|
|
154
|
-
},
|
|
155
|
-
"demos": [
|
|
156
|
-
"Row ${i + 1}",
|
|
157
|
-
"Sticky header (scroll down)"
|
|
158
|
-
]
|
|
150
|
+
"props": {},
|
|
151
|
+
"demos": []
|
|
159
152
|
},
|
|
160
153
|
{
|
|
161
154
|
"name": "TreeView",
|
|
@@ -170,7 +163,8 @@
|
|
|
170
163
|
]
|
|
171
164
|
},
|
|
172
165
|
"demos": [
|
|
173
|
-
"Default
|
|
166
|
+
"Default vs Condensed",
|
|
167
|
+
"Depth-based expand",
|
|
174
168
|
"Controlled expand state",
|
|
175
169
|
"Leading icons (click a row, then use arrow keys)",
|
|
176
170
|
"Messy nested payload (hover to trace depth guides)"
|
|
@@ -252,7 +246,9 @@
|
|
|
252
246
|
"With header + language",
|
|
253
247
|
"Elevated",
|
|
254
248
|
"Line numbers",
|
|
255
|
-
"No wrap (horizontal scroll)"
|
|
249
|
+
"No wrap (horizontal scroll)",
|
|
250
|
+
"Syntax highlighting (TS)",
|
|
251
|
+
"Syntax highlighting (CSS / HTML / SQL / YAML / Python)"
|
|
256
252
|
]
|
|
257
253
|
},
|
|
258
254
|
{
|
|
@@ -383,20 +379,6 @@
|
|
|
383
379
|
"No label"
|
|
384
380
|
]
|
|
385
381
|
},
|
|
386
|
-
{
|
|
387
|
-
"name": "Saved",
|
|
388
|
-
"group": "feedback",
|
|
389
|
-
"folder": "ui/toast",
|
|
390
|
-
"props": {
|
|
391
|
-
"variant": [
|
|
392
|
-
"danger",
|
|
393
|
-
"secondary"
|
|
394
|
-
]
|
|
395
|
-
},
|
|
396
|
-
"demos": [
|
|
397
|
-
"Trigger toasts"
|
|
398
|
-
]
|
|
399
|
-
},
|
|
400
382
|
{
|
|
401
383
|
"name": "Skeleton",
|
|
402
384
|
"group": "feedback",
|
|
@@ -427,6 +409,20 @@
|
|
|
427
409
|
"Sizes"
|
|
428
410
|
]
|
|
429
411
|
},
|
|
412
|
+
{
|
|
413
|
+
"name": "Toast",
|
|
414
|
+
"group": "feedback",
|
|
415
|
+
"folder": "ui/toast",
|
|
416
|
+
"props": {
|
|
417
|
+
"variant": [
|
|
418
|
+
"danger",
|
|
419
|
+
"secondary"
|
|
420
|
+
]
|
|
421
|
+
},
|
|
422
|
+
"demos": [
|
|
423
|
+
"Trigger toasts"
|
|
424
|
+
]
|
|
425
|
+
},
|
|
430
426
|
{
|
|
431
427
|
"name": "Button",
|
|
432
428
|
"group": "inputs",
|
|
@@ -613,13 +609,15 @@
|
|
|
613
609
|
"folder": "ui/tabs",
|
|
614
610
|
"props": {
|
|
615
611
|
"variant": [
|
|
612
|
+
"filing",
|
|
616
613
|
"pills",
|
|
617
614
|
"underline"
|
|
618
615
|
]
|
|
619
616
|
},
|
|
620
617
|
"demos": [
|
|
621
618
|
"Underline",
|
|
622
|
-
"Pills"
|
|
619
|
+
"Pills",
|
|
620
|
+
"Filing"
|
|
623
621
|
]
|
|
624
622
|
},
|
|
625
623
|
{
|
|
@@ -738,17 +736,6 @@
|
|
|
738
736
|
"Variants"
|
|
739
737
|
]
|
|
740
738
|
},
|
|
741
|
-
{
|
|
742
|
-
"name": "FilingTabs",
|
|
743
|
-
"group": "patterns",
|
|
744
|
-
"folder": "ui/patterns/filing-tabs",
|
|
745
|
-
"props": {},
|
|
746
|
-
"demos": [
|
|
747
|
-
"Default",
|
|
748
|
-
"Many tabs",
|
|
749
|
-
"First tab active"
|
|
750
|
-
]
|
|
751
|
-
},
|
|
752
739
|
{
|
|
753
740
|
"name": "FormField",
|
|
754
741
|
"group": "patterns",
|
package/dist/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export { Root as DropdownMenu, Trigger as DropdownMenuTrigger } from '@radix-ui/
|
|
|
20
20
|
import * as _radix_ui_react_popover from '@radix-ui/react-popover';
|
|
21
21
|
export { Root as Popover, Close as PopoverClose, Trigger as PopoverTrigger } from '@radix-ui/react-popover';
|
|
22
22
|
import * as _radix_ui_react_tabs from '@radix-ui/react-tabs';
|
|
23
|
-
import { List, Trigger as Trigger$1
|
|
23
|
+
import { List, Trigger as Trigger$1 } from '@radix-ui/react-tabs';
|
|
24
24
|
import { Root as Root$3 } from '@radix-ui/react-avatar';
|
|
25
25
|
|
|
26
26
|
declare function cn(...inputs: ClassValue[]): string;
|
|
@@ -195,19 +195,23 @@ interface ConfirmDialogProps {
|
|
|
195
195
|
declare function ConfirmDialog({ title, description, confirmLabel, destructive, onConfirm, trigger, open, onOpenChange, }: ConfirmDialogProps): react.JSX.Element;
|
|
196
196
|
|
|
197
197
|
declare const tabsListVariants: (props?: ({
|
|
198
|
-
variant?: "underline" | "pills" | null | undefined;
|
|
198
|
+
variant?: "underline" | "pills" | "filing" | null | undefined;
|
|
199
199
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
200
200
|
declare const tabsTriggerVariants: (props?: ({
|
|
201
|
-
variant?: "underline" | "pills" | null | undefined;
|
|
201
|
+
variant?: "underline" | "pills" | "filing" | null | undefined;
|
|
202
202
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
203
203
|
interface TabsListProps extends React.ComponentPropsWithoutRef<typeof List>, VariantProps<typeof tabsListVariants> {
|
|
204
204
|
}
|
|
205
205
|
interface TabsTriggerProps extends React.ComponentPropsWithoutRef<typeof Trigger$1>, VariantProps<typeof tabsTriggerVariants> {
|
|
206
206
|
}
|
|
207
|
-
declare const Tabs: react.ForwardRefExoticComponent<_radix_ui_react_tabs.TabsProps & react.RefAttributes<HTMLDivElement
|
|
207
|
+
declare const Tabs: react.ForwardRefExoticComponent<Omit<_radix_ui_react_tabs.TabsProps & react.RefAttributes<HTMLDivElement>, "ref"> & VariantProps<(props?: ({
|
|
208
|
+
variant?: "underline" | "pills" | "filing" | null | undefined;
|
|
209
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string> & react.RefAttributes<HTMLDivElement>>;
|
|
208
210
|
declare const TabsList: react.ForwardRefExoticComponent<TabsListProps & react.RefAttributes<HTMLDivElement>>;
|
|
209
211
|
declare const TabsTrigger: react.ForwardRefExoticComponent<TabsTriggerProps & react.RefAttributes<HTMLButtonElement>>;
|
|
210
|
-
declare const TabsContent: react.ForwardRefExoticComponent<Omit<_radix_ui_react_tabs.TabsContentProps & react.RefAttributes<HTMLDivElement>, "ref"> &
|
|
212
|
+
declare const TabsContent: react.ForwardRefExoticComponent<Omit<_radix_ui_react_tabs.TabsContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & VariantProps<(props?: ({
|
|
213
|
+
variant?: "underline" | "pills" | "filing" | null | undefined;
|
|
214
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string> & react.RefAttributes<HTMLDivElement>>;
|
|
211
215
|
|
|
212
216
|
interface BreadcrumbItem {
|
|
213
217
|
label: string;
|
|
@@ -354,12 +358,12 @@ declare const StatusDot: react.ForwardRefExoticComponent<StatusDotProps & react.
|
|
|
354
358
|
type KbdProps = HTMLAttributes<HTMLElement>;
|
|
355
359
|
declare const Kbd: react.ForwardRefExoticComponent<KbdProps & react.RefAttributes<HTMLElement>>;
|
|
356
360
|
|
|
357
|
-
type CellValueType = "text" | "boolean" | "email" | "url" | "json" | "null" | "badge" | "status" | "number" | "percentage" | "date-human" | "date-system" | "datetime-tz" | "bytes" | "duration" | "array" | "image" | "audio" | "tree";
|
|
361
|
+
type CellValueType = "text" | "boolean" | "email" | "url" | "json" | "null" | "badge" | "status" | "number" | "percentage" | "date-human" | "date-system" | "datetime-tz" | "bytes" | "duration" | "currency" | "signed" | "array" | "image" | "audio" | "tree";
|
|
358
362
|
type UrlReplacement = {
|
|
359
363
|
pattern: string | RegExp;
|
|
360
364
|
label: string;
|
|
361
365
|
};
|
|
362
|
-
interface
|
|
366
|
+
interface CellTypeProps {
|
|
363
367
|
type?: CellValueType;
|
|
364
368
|
value?: unknown;
|
|
365
369
|
badgeVariant?: BadgeProps["variant"];
|
|
@@ -368,8 +372,15 @@ interface CellValueProps {
|
|
|
368
372
|
statusPulse?: boolean;
|
|
369
373
|
replacements?: UrlReplacement[];
|
|
370
374
|
dateFormat?: Intl.DateTimeFormatOptions;
|
|
375
|
+
compact?: boolean;
|
|
376
|
+
/** Fraction digits (0-20). Controls minimumFractionDigits and maximumFractionDigits. */
|
|
377
|
+
fractionDigits?: number;
|
|
378
|
+
/** ISO 4217 currency code for "currency" type (default "USD"). */
|
|
379
|
+
currency?: string;
|
|
380
|
+
/** Force a byte unit (e.g. "GB"). Overrides auto-scaling for "bytes" type. */
|
|
381
|
+
displayUnit?: string;
|
|
371
382
|
}
|
|
372
|
-
declare function
|
|
383
|
+
declare function CellType({ type, value, badgeVariant, badgeStyle, statusVariant, statusPulse, replacements, dateFormat, compact, fractionDigits, currency, displayUnit, }: CellTypeProps): react.JSX.Element;
|
|
373
384
|
|
|
374
385
|
interface CanvasProps extends HTMLAttributes<HTMLDivElement> {
|
|
375
386
|
gridSize?: number;
|
|
@@ -467,6 +478,8 @@ interface CodeBlockProps extends HTMLAttributes<HTMLPreElement>, VariantProps<ty
|
|
|
467
478
|
header?: string;
|
|
468
479
|
wrap?: boolean;
|
|
469
480
|
showLineNumbers?: boolean;
|
|
481
|
+
/** Enable syntax highlighting for supported languages (js, ts, tsx, json, bash). */
|
|
482
|
+
highlight?: boolean;
|
|
470
483
|
}
|
|
471
484
|
declare const CodeBlock: react.ForwardRefExoticComponent<CodeBlockProps & react.RefAttributes<HTMLPreElement>>;
|
|
472
485
|
|
|
@@ -483,7 +496,7 @@ interface ComboboxProps {
|
|
|
483
496
|
className?: string;
|
|
484
497
|
disabled?: boolean;
|
|
485
498
|
}
|
|
486
|
-
declare
|
|
499
|
+
declare const Combobox: react.ForwardRefExoticComponent<ComboboxProps & react.RefAttributes<HTMLButtonElement>>;
|
|
487
500
|
|
|
488
501
|
interface MultiSelectOption {
|
|
489
502
|
value: string;
|
|
@@ -498,7 +511,7 @@ interface MultiSelectProps {
|
|
|
498
511
|
className?: string;
|
|
499
512
|
disabled?: boolean;
|
|
500
513
|
}
|
|
501
|
-
declare
|
|
514
|
+
declare const MultiSelect: react.ForwardRefExoticComponent<MultiSelectProps & react.RefAttributes<HTMLButtonElement>>;
|
|
502
515
|
|
|
503
516
|
interface CommandAction {
|
|
504
517
|
id: string;
|
|
@@ -519,7 +532,7 @@ interface CommandPaletteProps {
|
|
|
519
532
|
actionIds: string[];
|
|
520
533
|
}[];
|
|
521
534
|
}
|
|
522
|
-
declare
|
|
535
|
+
declare const CommandPalette: react.ForwardRefExoticComponent<CommandPaletteProps & react.RefAttributes<HTMLDivElement>>;
|
|
523
536
|
|
|
524
537
|
declare const drawerContentVariants: (props?: ({
|
|
525
538
|
side?: "left" | "right" | null | undefined;
|
|
@@ -559,6 +572,8 @@ interface DataTableColumn {
|
|
|
559
572
|
header: string;
|
|
560
573
|
type?: CellValueType;
|
|
561
574
|
align?: "left" | "right" | "center";
|
|
575
|
+
/** Relative width hint for table-fixed layout. Omit for equal share of remaining space. */
|
|
576
|
+
width?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
562
577
|
badgeVariant?: "neutral" | "primary" | "success" | "warning" | "danger";
|
|
563
578
|
badgeStyle?: "solid" | "soft";
|
|
564
579
|
statusVariant?: StatusVariant | ((value: unknown) => StatusVariant);
|
|
@@ -569,6 +584,10 @@ interface DataTableProps extends HTMLAttributes<HTMLDivElement>, VariantProps<ty
|
|
|
569
584
|
rows: Record<string, unknown>[];
|
|
570
585
|
stickyHeader?: boolean;
|
|
571
586
|
replacements?: UrlReplacement[];
|
|
587
|
+
/** "fixed" locks columns to width hints/equal share (default). "auto" sizes columns
|
|
588
|
+
* to content and enables horizontal scroll — use for rows with divergent content
|
|
589
|
+
* widths (e.g. a type smoke test) where fixed columns would clip legitimate content. */
|
|
590
|
+
layout?: "fixed" | "auto";
|
|
572
591
|
}
|
|
573
592
|
declare const dataTableVariants: (props?: ({
|
|
574
593
|
variant?: "default" | "striped" | null | undefined;
|
|
@@ -607,7 +626,7 @@ interface ConnectionLineProps extends VariantProps<typeof lineVariants> {
|
|
|
607
626
|
};
|
|
608
627
|
className?: string;
|
|
609
628
|
}
|
|
610
|
-
declare
|
|
629
|
+
declare const ConnectionLine: react.ForwardRefExoticComponent<ConnectionLineProps & react.RefAttributes<SVGSVGElement>>;
|
|
611
630
|
|
|
612
631
|
interface FileDropProps extends Omit<HTMLAttributes<HTMLDivElement>, "onDrop"> {
|
|
613
632
|
onDrop?: (files: File[]) => void;
|
|
@@ -700,22 +719,4 @@ declare const TexturedSurface: react.ForwardRefExoticComponent<TexturedSurfacePr
|
|
|
700
719
|
ParamTable: typeof ParamTable;
|
|
701
720
|
};
|
|
702
721
|
|
|
703
|
-
|
|
704
|
-
variant?: "default" | null | undefined;
|
|
705
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
706
|
-
declare const filingTriggerVariants: (props?: ({} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
707
|
-
declare const filingContentVariants: (props?: ({
|
|
708
|
-
variant?: "default" | null | undefined;
|
|
709
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
710
|
-
interface FilingTabsListProps extends React.ComponentPropsWithoutRef<typeof List>, VariantProps<typeof filingListVariants> {
|
|
711
|
-
}
|
|
712
|
-
interface FilingTabsTriggerProps extends React.ComponentPropsWithoutRef<typeof Trigger$1>, VariantProps<typeof filingTriggerVariants> {
|
|
713
|
-
}
|
|
714
|
-
interface FilingTabsContentProps extends React.ComponentPropsWithoutRef<typeof Content$1>, VariantProps<typeof filingContentVariants> {
|
|
715
|
-
}
|
|
716
|
-
declare const FilingTabs: react.ForwardRefExoticComponent<_radix_ui_react_tabs.TabsProps & react.RefAttributes<HTMLDivElement>>;
|
|
717
|
-
declare const FilingTabsList: react.ForwardRefExoticComponent<FilingTabsListProps & react.RefAttributes<HTMLDivElement>>;
|
|
718
|
-
declare const FilingTabsTrigger: react.ForwardRefExoticComponent<FilingTabsTriggerProps & react.RefAttributes<HTMLButtonElement>>;
|
|
719
|
-
declare const FilingTabsContent: react.ForwardRefExoticComponent<FilingTabsContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
720
|
-
|
|
721
|
-
export { Alert, Avatar, Badge, Breadcrumbs, Button, Canvas, Card, CardContent, CardFooter, CardHeader, CardTitle, CellValue, Checkbox, CodeBlock, Combobox, CommandPalette, ConfirmDialog, ConnectionLine, DataList, DataTable, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DrawerBody, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, type EditorEdge, type EditorNode, EmptyState, FileDrop, FilingTabs, FilingTabsContent, FilingTabsList, FilingTabsTrigger, FormField, Graph, GraphNode, type GraphProps, Image, Input, Kbd, Label, Markdown, MultiSelect, PageShell, Pagination, PopoverContent, Port, Progress, RadioGroup, RadioGroupItem, ScrollArea, SelectContent, SelectItem, SelectTrigger, Separator, Skeleton, Slider, Spinner, StatCard, StatusDot, Switch, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TexturedSurface, Toaster, Toolbar, Tooltip, TooltipContent, TooltipProvider, TreeView, Typography, cn, useToast };
|
|
722
|
+
export { Alert, Avatar, Badge, Breadcrumbs, Button, Canvas, Card, CardContent, CardFooter, CardHeader, CardTitle, CellType, Checkbox, CodeBlock, Combobox, CommandPalette, ConfirmDialog, ConnectionLine, DataList, DataTable, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DrawerBody, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, type EditorEdge, type EditorNode, EmptyState, FileDrop, FormField, Graph, GraphNode, type GraphProps, Image, Input, Kbd, Label, Markdown, MultiSelect, PageShell, Pagination, PopoverContent, Port, Progress, RadioGroup, RadioGroupItem, ScrollArea, SelectContent, SelectItem, SelectTrigger, Separator, Skeleton, Slider, Spinner, StatCard, StatusDot, Switch, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TexturedSurface, Toaster, Toolbar, Tooltip, TooltipContent, TooltipProvider, TreeView, Typography, cn, useToast };
|