@yuva-devlab/ui 2.0.0 → 2.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.
Files changed (71) hide show
  1. package/dist/common.css +0 -40
  2. package/dist/components/badge/badge.css +31 -27
  3. package/dist/components/badge/badge.mdx +6 -4
  4. package/dist/components/chain-of-thought/chain-of-thought.css +72 -0
  5. package/dist/components/chain-of-thought/chain-of-thought.mdx +18 -0
  6. package/dist/components/checkpoint/checkpoint.css +54 -0
  7. package/dist/components/checkpoint/checkpoint.mdx +18 -0
  8. package/dist/components/code-block/code-block.css +84 -0
  9. package/dist/components/code-block/code-block.mdx +26 -0
  10. package/dist/components/confirmation/confirmation.css +75 -0
  11. package/dist/components/confirmation/confirmation.mdx +22 -0
  12. package/dist/components/context/context.css +80 -0
  13. package/dist/components/context/context.mdx +18 -0
  14. package/dist/components/data-table/data-table.css +71 -0
  15. package/dist/components/data-table/data-table.mdx +22 -0
  16. package/dist/components/file-tree/file-tree.css +58 -0
  17. package/dist/components/file-tree/file-tree.mdx +18 -0
  18. package/dist/components/input-number/input-number.css +95 -0
  19. package/dist/components/input-number/input-number.mdx +34 -0
  20. package/dist/components/kbd/kbd.css +78 -0
  21. package/dist/components/kbd/kbd.mdx +30 -0
  22. package/dist/components/legal-footer/legal-footer.css +98 -0
  23. package/dist/components/legal-footer/legal-footer.mdx +38 -0
  24. package/dist/components/message/message.css +89 -0
  25. package/dist/components/message/message.mdx +14 -0
  26. package/dist/components/model-selector/model-selector.css +138 -0
  27. package/dist/components/model-selector/model-selector.mdx +26 -0
  28. package/dist/components/multi-select/multi-select.css +212 -0
  29. package/dist/components/multi-select/multi-select.mdx +30 -0
  30. package/dist/components/password-input/password-input.css +21 -0
  31. package/dist/components/password-input/password-input.mdx +30 -0
  32. package/dist/components/plan/plan.css +106 -0
  33. package/dist/components/plan/plan.mdx +22 -0
  34. package/dist/components/popover/popover.css +0 -5
  35. package/dist/components/prompt-input/prompt-input.css +140 -0
  36. package/dist/components/prompt-input/prompt-input.mdx +22 -0
  37. package/dist/components/queue/queue.css +76 -0
  38. package/dist/components/queue/queue.mdx +18 -0
  39. package/dist/components/search-input/search-input.css +21 -0
  40. package/dist/components/search-input/search-input.mdx +30 -0
  41. package/dist/components/select/select.css +1 -1
  42. package/dist/components/sonner/sonner.css +68 -17
  43. package/dist/components/sonner/sonner.mdx +5 -3
  44. package/dist/components/sources/sources.css +105 -0
  45. package/dist/components/sources/sources.mdx +18 -0
  46. package/dist/components/stack-trace/stack-trace.css +105 -0
  47. package/dist/components/stack-trace/stack-trace.mdx +18 -0
  48. package/dist/components/subagent/subagent.css +70 -0
  49. package/dist/components/subagent/subagent.mdx +18 -0
  50. package/dist/components/suggestion/suggestion.css +52 -0
  51. package/dist/components/suggestion/suggestion.mdx +14 -0
  52. package/dist/components/terminal/terminal.css +60 -0
  53. package/dist/components/terminal/terminal.mdx +26 -0
  54. package/dist/components/test-results/test-results.css +108 -0
  55. package/dist/components/test-results/test-results.mdx +18 -0
  56. package/dist/components/tool-call/tool-call.css +111 -0
  57. package/dist/components/tool-call/tool-call.mdx +22 -0
  58. package/dist/components/trace/trace.css +100 -0
  59. package/dist/components/trace/trace.mdx +18 -0
  60. package/dist/components.css +2716 -333
  61. package/dist/index.cjs +3605 -793
  62. package/dist/index.cjs.map +1 -1
  63. package/dist/index.d.cts +1065 -8
  64. package/dist/index.d.ts +1065 -8
  65. package/dist/index.js +3638 -842
  66. package/dist/index.js.map +1 -1
  67. package/dist/preset.css +0 -1
  68. package/dist/styles/common.css +0 -40
  69. package/dist/styles/components.css +2716 -333
  70. package/dist/styles/preset.css +0 -1
  71. package/package.json +4 -3
@@ -0,0 +1,70 @@
1
+ .dl-subagent {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ border-radius: var(--radius-md, 0.375rem);
6
+ border: 1px solid var(--border);
7
+ background-color: var(--card, var(--background));
8
+ overflow: hidden;
9
+ font-size: 0.8125rem;
10
+ }
11
+
12
+ .dl-subagent__header {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: space-between;
16
+ padding: 0.5rem 0.75rem;
17
+ background-color: var(--muted);
18
+ border-bottom: 1px solid var(--border);
19
+ cursor: pointer;
20
+ user-select: none;
21
+ }
22
+
23
+ .dl-subagent__title-area {
24
+ display: flex;
25
+ align-items: center;
26
+ gap: 0.5rem;
27
+ }
28
+
29
+ .dl-subagent__avatar {
30
+ display: flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ width: 1.5rem;
34
+ height: 1.5rem;
35
+ border-radius: 9999px;
36
+ background-color: var(--primary);
37
+ color: var(--primary-foreground);
38
+ font-size: 0.6875rem;
39
+ font-weight: 700;
40
+ }
41
+
42
+ .dl-subagent__meta {
43
+ display: flex;
44
+ flex-direction: column;
45
+ }
46
+
47
+ .dl-subagent__name {
48
+ font-weight: 600;
49
+ color: var(--foreground);
50
+ line-height: 1.2;
51
+ }
52
+
53
+ .dl-subagent__role {
54
+ font-size: 0.6875rem;
55
+ color: var(--muted-foreground);
56
+ }
57
+
58
+ .dl-subagent__badges {
59
+ display: flex;
60
+ align-items: center;
61
+ gap: 0.375rem;
62
+ }
63
+
64
+ .dl-subagent__content {
65
+ padding: 0.75rem;
66
+ background-color: var(--background);
67
+ font-size: 0.75rem;
68
+ line-height: 1.5;
69
+ color: var(--foreground);
70
+ }
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as SubagentStories from "./subagent.stories";
3
+
4
+ <Meta of={SubagentStories} />
5
+
6
+ <Title />
7
+
8
+ # Subagent
9
+
10
+ Lifecycle and activity card for delegated subagent tasks, showing status, conversation ID, model, and message stream.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={SubagentStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -0,0 +1,52 @@
1
+ .dl-suggestion-list {
2
+ display: flex;
3
+ gap: 0.5rem;
4
+ width: 100%;
5
+ }
6
+
7
+ .dl-suggestion-list--wrap {
8
+ flex-wrap: wrap;
9
+ }
10
+
11
+ .dl-suggestion-list--scroll {
12
+ overflow-x: auto;
13
+ padding-bottom: 0.25rem;
14
+ }
15
+
16
+ .dl-suggestion {
17
+ display: inline-flex;
18
+ align-items: center;
19
+ gap: 0.375rem;
20
+ padding: 0.375rem 0.75rem;
21
+ border-radius: 9999px;
22
+ border: 1px solid var(--border);
23
+ background-color: var(--secondary, var(--background));
24
+ color: var(--foreground);
25
+ font-size: 0.75rem;
26
+ font-weight: 500;
27
+ cursor: pointer;
28
+ text-align: left;
29
+ transition: all 0.15s ease;
30
+ white-space: nowrap;
31
+ }
32
+
33
+ .dl-suggestion:hover {
34
+ background-color: var(--accent);
35
+ border-color: color-mix(in oklch, var(--primary) 30%, var(--border));
36
+ }
37
+
38
+ .dl-suggestion__icon {
39
+ display: inline-flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ color: var(--muted-foreground);
43
+ }
44
+
45
+ .dl-suggestion:hover .dl-suggestion__icon {
46
+ color: var(--primary);
47
+ }
48
+
49
+ .dl-suggestion__description {
50
+ color: var(--muted-foreground);
51
+ font-weight: 400;
52
+ }
@@ -0,0 +1,14 @@
1
+ import { Meta, Title, Description, Canvas } from "@storybook/blocks";
2
+ import * as SuggestionStories from "./suggestion.stories";
3
+
4
+ <Meta of={SuggestionStories} />
5
+
6
+ <Title />
7
+
8
+ # Suggestion
9
+
10
+ Clickable starter prompt and follow-up query pills designed for empty state conversations or smart follow-up suggestions.
11
+
12
+ ## Suggestion Pills List
13
+
14
+ <Canvas of={SuggestionStories.Default} />
@@ -0,0 +1,60 @@
1
+ .dl-terminal {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ border-radius: var(--radius-md, 0.375rem);
6
+ border: 1px solid var(--border);
7
+ background-color: var(--secondary, #0d1117);
8
+ color: var(--foreground);
9
+ font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
10
+ font-size: 0.8125rem;
11
+ overflow: hidden;
12
+ }
13
+
14
+ .dl-terminal__header {
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: space-between;
18
+ padding: 0.375rem 0.75rem;
19
+ border-bottom: 1px solid var(--border);
20
+ background-color: var(--background);
21
+ font-size: 0.75rem;
22
+ }
23
+
24
+ .dl-terminal__dots {
25
+ display: flex;
26
+ align-items: center;
27
+ gap: 0.375rem;
28
+ }
29
+
30
+ .dl-terminal__dot {
31
+ width: 0.625rem;
32
+ height: 0.625rem;
33
+ border-radius: 9999px;
34
+ background-color: var(--muted-foreground);
35
+ opacity: 0.4;
36
+ }
37
+
38
+ .dl-terminal__title {
39
+ display: flex;
40
+ align-items: center;
41
+ gap: 0.375rem;
42
+ font-weight: 500;
43
+ color: var(--muted-foreground);
44
+ }
45
+
46
+ .dl-terminal__output {
47
+ margin: 0;
48
+ padding: 0.75rem 1rem;
49
+ overflow-y: auto;
50
+ line-height: 1.5;
51
+ white-space: pre-wrap;
52
+ word-break: break-all;
53
+ color: var(--foreground);
54
+ }
55
+
56
+ .dl-terminal__prompt-line {
57
+ color: var(--primary);
58
+ font-weight: 600;
59
+ margin-bottom: 0.25rem;
60
+ }
@@ -0,0 +1,26 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as TerminalStories from "./terminal.stories";
3
+
4
+ <Meta of={TerminalStories} />
5
+
6
+ <Title />
7
+
8
+ # Terminal
9
+
10
+ Shell command execution container mimicking native terminal output with prompt indicator, window dots, and copy action.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={TerminalStories.Default} />
15
+
16
+ ## Streaming Output
17
+
18
+ <Canvas of={TerminalStories.StreamingLogs} />
19
+
20
+ ## Custom Composition
21
+
22
+ <Canvas of={TerminalStories.CustomComposition} />
23
+
24
+ ## Component Properties
25
+
26
+ <Controls />
@@ -0,0 +1,108 @@
1
+ .dl-test-results {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ border-radius: var(--radius-md, 0.375rem);
6
+ border: 1px solid var(--border);
7
+ background-color: var(--card, var(--background));
8
+ overflow: hidden;
9
+ font-size: 0.8125rem;
10
+ }
11
+
12
+ .dl-test-results__header {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: space-between;
16
+ padding: 0.625rem 0.875rem;
17
+ background-color: var(--muted);
18
+ border-bottom: 1px solid var(--border);
19
+ }
20
+
21
+ .dl-test-results__summary {
22
+ display: flex;
23
+ align-items: center;
24
+ gap: 0.75rem;
25
+ }
26
+
27
+ .dl-test-results__badge {
28
+ display: inline-flex;
29
+ align-items: center;
30
+ gap: 0.25rem;
31
+ font-weight: 600;
32
+ font-size: 0.75rem;
33
+ }
34
+
35
+ .dl-test-results__badge--passed {
36
+ color: var(--success);
37
+ }
38
+
39
+ .dl-test-results__badge--failed {
40
+ color: var(--destructive);
41
+ }
42
+
43
+ .dl-test-results__badge--skipped {
44
+ color: var(--muted-foreground);
45
+ }
46
+
47
+ .dl-test-results__list {
48
+ display: flex;
49
+ flex-direction: column;
50
+ divide-y: 1px solid var(--border);
51
+ max-height: 20rem;
52
+ overflow-y: auto;
53
+ }
54
+
55
+ .dl-test-case {
56
+ display: flex;
57
+ flex-direction: column;
58
+ padding: 0.5rem 0.875rem;
59
+ transition: background-color 0.12s ease;
60
+ }
61
+
62
+ .dl-test-case:hover {
63
+ background-color: var(--accent);
64
+ }
65
+
66
+ .dl-test-case__row {
67
+ display: flex;
68
+ align-items: center;
69
+ justify-content: space-between;
70
+ gap: 0.5rem;
71
+ }
72
+
73
+ .dl-test-case__info {
74
+ display: flex;
75
+ align-items: center;
76
+ gap: 0.5rem;
77
+ min-width: 0;
78
+ }
79
+
80
+ .dl-test-case__name {
81
+ font-weight: 500;
82
+ color: var(--foreground);
83
+ overflow: hidden;
84
+ text-overflow: ellipsis;
85
+ white-space: nowrap;
86
+ }
87
+
88
+ .dl-test-case__duration {
89
+ font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
90
+ font-size: 0.6875rem;
91
+ color: var(--muted-foreground);
92
+ shrink: 0;
93
+ }
94
+
95
+ .dl-test-case__error {
96
+ margin-top: 0.375rem;
97
+ padding: 0.375rem 0.5rem;
98
+ background-color: color-mix(
99
+ in oklch,
100
+ var(--destructive) 10%,
101
+ var(--background)
102
+ );
103
+ border-radius: var(--radius-sm, 0.25rem);
104
+ font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
105
+ font-size: 0.75rem;
106
+ color: var(--destructive);
107
+ white-space: pre-wrap;
108
+ }
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as TestResultsStories from "./test-results.stories";
3
+
4
+ <Meta of={TestResultsStories} />
5
+
6
+ <Title />
7
+
8
+ # Test Results
9
+
10
+ Test execution results dashboard displaying passed, failed, and skipped unit/integration test outcomes and error traces.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={TestResultsStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -0,0 +1,111 @@
1
+ .dl-tool-call {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ border-radius: var(--radius-md, 0.375rem);
6
+ border: 1px solid var(--border);
7
+ background-color: var(--card, var(--background));
8
+ font-size: 0.8125rem;
9
+ overflow: hidden;
10
+ }
11
+
12
+ .dl-tool-call__header {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: space-between;
16
+ width: 100%;
17
+ padding: 0.5rem 0.75rem;
18
+ background: transparent;
19
+ border: none;
20
+ cursor: pointer;
21
+ text-align: left;
22
+ font: inherit;
23
+ color: var(--foreground);
24
+ }
25
+
26
+ .dl-tool-call__title-wrap {
27
+ display: flex;
28
+ align-items: center;
29
+ gap: 0.5rem;
30
+ }
31
+
32
+ .dl-tool-call__icon {
33
+ display: inline-flex;
34
+ align-items: center;
35
+ justify-content: center;
36
+ width: 1.25rem;
37
+ height: 1.25rem;
38
+ color: var(--muted-foreground);
39
+ }
40
+
41
+ .dl-tool-call__name {
42
+ font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
43
+ font-weight: 600;
44
+ font-size: 0.75rem;
45
+ }
46
+
47
+ .dl-tool-call__actions {
48
+ display: flex;
49
+ align-items: center;
50
+ gap: 0.5rem;
51
+ }
52
+
53
+ .dl-tool-call__status-badge {
54
+ display: inline-flex;
55
+ align-items: center;
56
+ gap: 0.25rem;
57
+ font-size: 0.6875rem;
58
+ font-weight: 500;
59
+ padding: 0.125rem 0.375rem;
60
+ border-radius: var(--radius-sm, 0.25rem);
61
+ }
62
+
63
+ .dl-tool-call__status-badge--running {
64
+ background-color: color-mix(in oklch, var(--primary) 12%, transparent);
65
+ color: var(--primary);
66
+ }
67
+
68
+ .dl-tool-call__status-badge--success {
69
+ background-color: color-mix(in oklch, var(--success) 12%, transparent);
70
+ color: var(--success);
71
+ }
72
+
73
+ .dl-tool-call__status-badge--error {
74
+ background-color: color-mix(in oklch, var(--destructive) 12%, transparent);
75
+ color: var(--destructive);
76
+ }
77
+
78
+ .dl-tool-call__chevron {
79
+ width: 0.875rem;
80
+ height: 0.875rem;
81
+ color: var(--muted-foreground);
82
+ transition: transform 0.2s ease;
83
+ }
84
+
85
+ .dl-tool-call[data-state="open"] .dl-tool-call__chevron {
86
+ transform: rotate(180deg);
87
+ }
88
+
89
+ .dl-tool-call__body {
90
+ display: flex;
91
+ flex-direction: column;
92
+ gap: 0.5rem;
93
+ padding: 0.5rem 0.75rem 0.75rem;
94
+ border-top: 1px solid var(--border);
95
+ background-color: var(--secondary, var(--background));
96
+ }
97
+
98
+ .dl-tool-call__args {
99
+ display: flex;
100
+ flex-wrap: wrap;
101
+ gap: 0.375rem;
102
+ font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
103
+ font-size: 0.6875rem;
104
+ }
105
+
106
+ .dl-tool-call__arg-pill {
107
+ padding: 0.125rem 0.375rem;
108
+ border-radius: var(--radius-sm, 0.25rem);
109
+ background-color: var(--background);
110
+ border: 1px solid var(--border);
111
+ }
@@ -0,0 +1,22 @@
1
+ import { Meta, Title, Description, Canvas } from "@storybook/blocks";
2
+ import * as ToolCallStories from "./tool-call.stories";
3
+
4
+ <Meta of={ToolCallStories} />
5
+
6
+ <Title />
7
+
8
+ # Tool Call
9
+
10
+ Visualizer card for agent tool executions, displaying tool name, parameter pills, live execution status badge, and expandable return payloads.
11
+
12
+ ## Completed Success with Output Payload
13
+
14
+ <Canvas of={ToolCallStories.Default} />
15
+
16
+ ## Live Running Execution
17
+
18
+ <Canvas of={ToolCallStories.Running} />
19
+
20
+ ## Error State with Exception Details
21
+
22
+ <Canvas of={ToolCallStories.ErrorState} />
@@ -0,0 +1,100 @@
1
+ .dl-trace {
2
+ position: relative;
3
+ display: flex;
4
+ flex-direction: column;
5
+ width: 100%;
6
+ font-size: 0.8125rem;
7
+ }
8
+
9
+ .dl-trace-line {
10
+ position: relative;
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 0.625rem;
14
+ padding: 0.375rem 0;
15
+ color: var(--foreground);
16
+ }
17
+
18
+ .dl-trace-icon {
19
+ display: inline-flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+ width: 1.25rem;
23
+ height: 1.25rem;
24
+ border-radius: 9999px;
25
+ background-color: var(--muted);
26
+ color: var(--muted-foreground);
27
+ flex-shrink: 0;
28
+ }
29
+
30
+ .dl-trace-icon--running {
31
+ background-color: transparent;
32
+ color: var(--primary);
33
+ animation: dl-spin 1s linear infinite;
34
+ }
35
+
36
+ .dl-trace-icon--success {
37
+ background-color: color-mix(in oklch, var(--success) 15%, transparent);
38
+ color: var(--success);
39
+ }
40
+
41
+ .dl-trace-icon--error {
42
+ background-color: color-mix(in oklch, var(--destructive) 15%, transparent);
43
+ color: var(--destructive);
44
+ }
45
+
46
+ .dl-trace-title {
47
+ display: flex;
48
+ align-items: center;
49
+ gap: 0.5rem;
50
+ font-weight: 500;
51
+ line-height: 1.25rem;
52
+ color: var(--foreground);
53
+ }
54
+
55
+ .dl-trace-content {
56
+ margin-left: 1.875rem;
57
+ padding: 0.25rem 0 0.5rem;
58
+ color: var(--muted-foreground);
59
+ }
60
+
61
+ .dl-trace-collapsible-trigger {
62
+ display: flex;
63
+ align-items: center;
64
+ width: 100%;
65
+ background: transparent;
66
+ border: none;
67
+ padding: 0;
68
+ cursor: pointer;
69
+ text-align: left;
70
+ font: inherit;
71
+ color: inherit;
72
+ }
73
+
74
+ .dl-trace-collapsible-trigger:hover .dl-trace-title {
75
+ color: var(--primary);
76
+ }
77
+
78
+ /* ── Shimmer Animation Utility for AI Streaming ── */
79
+ @keyframes dl-shimmer-sweep {
80
+ 0% {
81
+ background-position: -200% 0;
82
+ }
83
+ 100% {
84
+ background-position: 200% 0;
85
+ }
86
+ }
87
+
88
+ .dl-shimmer {
89
+ background: linear-gradient(
90
+ 90deg,
91
+ var(--muted-foreground) 0%,
92
+ var(--foreground) 50%,
93
+ var(--muted-foreground) 100%
94
+ );
95
+ background-size: 200% 100%;
96
+ -webkit-background-clip: text;
97
+ background-clip: text;
98
+ -webkit-text-fill-color: transparent;
99
+ animation: dl-shimmer-sweep 2.2s infinite linear;
100
+ }
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas } from "@storybook/blocks";
2
+ import * as TraceStories from "./trace.stories";
3
+
4
+ <Meta of={TraceStories} />
5
+
6
+ <Title />
7
+
8
+ # Trace
9
+
10
+ Vertical step execution line primitive with status icons, animated running states, and collapsible step groups. Powers Chain of Thought and Tool Call visualizers.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={TraceStories.Default} />
15
+
16
+ ## Collapsible Trace
17
+
18
+ <Canvas of={TraceStories.CollapsibleTrace} />