@yuva-devlab/ui 1.4.4 → 2.1.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 (146) hide show
  1. package/README.md +117 -33
  2. package/dist/common.css +0 -40
  3. package/dist/components/accordion/accordion.mdx +18 -0
  4. package/dist/components/alert/alert.css +2 -2
  5. package/dist/components/alert-dialog/alert-dialog.mdx +18 -0
  6. package/dist/components/aspect-ratio/aspect-ratio.mdx +22 -0
  7. package/dist/components/badge/badge.css +31 -27
  8. package/dist/components/badge/badge.mdx +6 -4
  9. package/dist/components/breadcrumb/breadcrumb.mdx +18 -0
  10. package/dist/components/calendar/calendar-nav.css +111 -0
  11. package/dist/components/calendar/calendar.css +27 -82
  12. package/dist/components/calendar/calendar.mdx +18 -0
  13. package/dist/components/card/card.css +4 -4
  14. package/dist/components/carousel/carousel.css +4 -4
  15. package/dist/components/carousel/carousel.mdx +18 -0
  16. package/dist/components/chain-of-thought/chain-of-thought.css +72 -0
  17. package/dist/components/chain-of-thought/chain-of-thought.mdx +18 -0
  18. package/dist/components/chart/chart.css +86 -0
  19. package/dist/components/chart/chart.mdx +18 -0
  20. package/dist/components/checkbox/checkbox.css +11 -0
  21. package/dist/components/checkpoint/checkpoint.css +54 -0
  22. package/dist/components/checkpoint/checkpoint.mdx +18 -0
  23. package/dist/components/code-block/code-block.css +84 -0
  24. package/dist/components/code-block/code-block.mdx +26 -0
  25. package/dist/components/collapsible/collapsible.mdx +18 -0
  26. package/dist/components/command/command.css +3 -3
  27. package/dist/components/command/command.mdx +18 -0
  28. package/dist/components/confirm-dialog/confirm-dialog.mdx +18 -0
  29. package/dist/components/confirmation/confirmation.css +75 -0
  30. package/dist/components/confirmation/confirmation.mdx +22 -0
  31. package/dist/components/context/context.css +80 -0
  32. package/dist/components/context/context.mdx +18 -0
  33. package/dist/components/context-menu/context-menu.mdx +18 -0
  34. package/dist/components/copy-button/copy-button.mdx +18 -0
  35. package/dist/components/data-table/data-table.css +71 -0
  36. package/dist/components/data-table/data-table.mdx +22 -0
  37. package/dist/components/date-picker/date-picker.css +2 -2
  38. package/dist/components/date-picker/date-picker.mdx +18 -0
  39. package/dist/components/dialog/dialog.css +6 -6
  40. package/dist/components/drawer/drawer.mdx +18 -0
  41. package/dist/components/dropdown-menu/dropdown-menu.css +18 -0
  42. package/dist/components/dropdown-menu/dropdown-menu.mdx +18 -0
  43. package/dist/components/empty-state/empty-state.css +67 -0
  44. package/dist/components/empty-state/empty-state.mdx +18 -0
  45. package/dist/components/file-tree/file-tree.css +58 -0
  46. package/dist/components/file-tree/file-tree.mdx +18 -0
  47. package/dist/components/form/form.mdx +18 -0
  48. package/dist/components/hover-card/hover-card.mdx +18 -0
  49. package/dist/components/input-number/input-number.css +95 -0
  50. package/dist/components/input-number/input-number.mdx +34 -0
  51. package/dist/components/input-otp/input-otp.mdx +18 -0
  52. package/dist/components/kbd/kbd.css +78 -0
  53. package/dist/components/kbd/kbd.mdx +30 -0
  54. package/dist/components/label/label.mdx +18 -0
  55. package/dist/components/layout/layout.css +158 -0
  56. package/dist/components/layout/layout.mdx +30 -0
  57. package/dist/components/loading-state/loading-state.css +11 -0
  58. package/dist/components/loading-state/loading-state.mdx +18 -0
  59. package/dist/components/menubar/menubar.css +4 -4
  60. package/dist/components/menubar/menubar.mdx +18 -0
  61. package/dist/components/message/message.css +89 -0
  62. package/dist/components/message/message.mdx +14 -0
  63. package/dist/components/metric-card/metric-card.mdx +18 -0
  64. package/dist/components/model-selector/model-selector.css +138 -0
  65. package/dist/components/model-selector/model-selector.mdx +26 -0
  66. package/dist/components/multi-select/multi-select.css +212 -0
  67. package/dist/components/multi-select/multi-select.mdx +30 -0
  68. package/dist/components/navigation-menu/navigation-menu.css +2 -2
  69. package/dist/components/navigation-menu/navigation-menu.mdx +18 -0
  70. package/dist/components/pagination/pagination.css +8 -2
  71. package/dist/components/pagination/pagination.mdx +18 -0
  72. package/dist/components/panel/panel.mdx +18 -0
  73. package/dist/components/password-input/password-input.css +21 -0
  74. package/dist/components/password-input/password-input.mdx +30 -0
  75. package/dist/components/plan/plan.css +106 -0
  76. package/dist/components/plan/plan.mdx +22 -0
  77. package/dist/components/popover/popover.css +2 -7
  78. package/dist/components/popover/popover.mdx +18 -0
  79. package/dist/components/prompt-input/prompt-input.css +140 -0
  80. package/dist/components/prompt-input/prompt-input.mdx +22 -0
  81. package/dist/components/queue/queue.css +76 -0
  82. package/dist/components/queue/queue.mdx +18 -0
  83. package/dist/components/radio-group/radio-group.mdx +18 -0
  84. package/dist/components/resizable/resizable.mdx +18 -0
  85. package/dist/components/scroll-area/scroll-area.mdx +18 -0
  86. package/dist/components/search-input/search-input.css +21 -0
  87. package/dist/components/search-input/search-input.mdx +30 -0
  88. package/dist/components/searchable-select/searchable-select.css +26 -3
  89. package/dist/components/searchable-select/searchable-select.mdx +18 -0
  90. package/dist/components/secret-reveal-card/secret-reveal-card.css +6 -0
  91. package/dist/components/secret-reveal-card/secret-reveal-card.mdx +18 -0
  92. package/dist/components/select/select.css +17 -2
  93. package/dist/components/separator/separator.mdx +18 -0
  94. package/dist/components/sheet/sheet.css +5 -1
  95. package/dist/components/sheet/sheet.mdx +18 -0
  96. package/dist/components/sidebar/sidebar-menu.css +183 -0
  97. package/dist/components/sidebar/sidebar-submenu.css +69 -0
  98. package/dist/components/sidebar/sidebar.css +171 -4
  99. package/dist/components/sidebar/sidebar.mdx +18 -0
  100. package/dist/components/slider/slider.mdx +18 -0
  101. package/dist/components/sonner/sonner.css +68 -17
  102. package/dist/components/sonner/sonner.mdx +5 -3
  103. package/dist/components/sources/sources.css +105 -0
  104. package/dist/components/sources/sources.mdx +18 -0
  105. package/dist/components/stack-trace/stack-trace.css +105 -0
  106. package/dist/components/stack-trace/stack-trace.mdx +18 -0
  107. package/dist/components/status-chip/status-chip.mdx +18 -0
  108. package/dist/components/subagent/subagent.css +70 -0
  109. package/dist/components/subagent/subagent.mdx +18 -0
  110. package/dist/components/suggestion/suggestion.css +52 -0
  111. package/dist/components/suggestion/suggestion.mdx +14 -0
  112. package/dist/components/table/table.css +5 -3
  113. package/dist/components/tabs/tabs.css +3 -3
  114. package/dist/components/terminal/terminal.css +60 -0
  115. package/dist/components/terminal/terminal.mdx +26 -0
  116. package/dist/components/test-results/test-results.css +108 -0
  117. package/dist/components/test-results/test-results.mdx +18 -0
  118. package/dist/components/textarea/textarea.css +3 -3
  119. package/dist/components/textarea/textarea.mdx +18 -0
  120. package/dist/components/toggle/toggle.css +9 -9
  121. package/dist/components/toggle/toggle.mdx +18 -0
  122. package/dist/components/toggle-group/toggle-group.mdx +18 -0
  123. package/dist/components/tool-call/tool-call.css +111 -0
  124. package/dist/components/tool-call/tool-call.mdx +22 -0
  125. package/dist/components/tooltip/tooltip.mdx +18 -0
  126. package/dist/components/trace/trace.css +100 -0
  127. package/dist/components/trace/trace.mdx +18 -0
  128. package/dist/components/typography/heading.mdx +36 -0
  129. package/dist/components/typography/text.mdx +34 -0
  130. package/dist/components/typography/typography.css +98 -0
  131. package/dist/components.css +4454 -1179
  132. package/dist/index.cjs +4094 -1125
  133. package/dist/index.cjs.map +1 -1
  134. package/dist/index.d.cts +1742 -248
  135. package/dist/index.d.ts +1742 -248
  136. package/dist/index.js +4088 -1156
  137. package/dist/index.js.map +1 -1
  138. package/dist/preset.css +1 -4
  139. package/dist/styles/common.css +0 -40
  140. package/dist/styles/components.css +4454 -1179
  141. package/dist/styles/preset.css +1 -4
  142. package/dist/styles/styles.css +7 -4
  143. package/dist/styles/utilities.css +137 -0
  144. package/dist/styles.css +7 -4
  145. package/dist/utilities.css +137 -0
  146. package/package.json +5 -6
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as MetricCardStories from "./metric-card.stories";
3
+
4
+ <Meta of={MetricCardStories} />
5
+
6
+ <Title />
7
+
8
+ # Metric Card
9
+
10
+ Statistical metric card displaying benchmark measurements, trend indicators, and telemetry badges.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={MetricCardStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -0,0 +1,138 @@
1
+ .dl-model-selector {
2
+ position: relative;
3
+ display: inline-flex;
4
+ }
5
+
6
+ .dl-model-selector__trigger {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ justify-content: space-between;
10
+ gap: 0.5rem;
11
+ padding: 0.375rem 0.625rem;
12
+ font-size: 0.8125rem;
13
+ font-weight: 500;
14
+ line-height: 1;
15
+ border-radius: var(--radius-md, 0.375rem);
16
+ border: 1px solid var(--border);
17
+ background-color: var(--background);
18
+ color: var(--foreground);
19
+ cursor: pointer;
20
+ transition: all 0.15s ease;
21
+ user-select: none;
22
+ font-family: inherit;
23
+ }
24
+
25
+ .dl-model-selector__trigger:hover:not(:disabled) {
26
+ background-color: var(--accent);
27
+ color: var(--accent-foreground);
28
+ }
29
+
30
+ .dl-model-selector__trigger:focus-visible {
31
+ outline: 2px solid var(--ring);
32
+ outline-offset: 2px;
33
+ }
34
+
35
+ .dl-model-selector__trigger:disabled {
36
+ opacity: 0.5;
37
+ cursor: not-allowed;
38
+ }
39
+
40
+ .dl-model-selector__trigger--sm {
41
+ padding: 0.25rem 0.5rem;
42
+ font-size: 0.75rem;
43
+ }
44
+
45
+ .dl-model-selector__content {
46
+ position: absolute;
47
+ top: calc(100% + 4px);
48
+ left: 0;
49
+ z-index: 50;
50
+ min-width: 16rem;
51
+ max-width: 22rem;
52
+ border-radius: var(--radius-md, 0.375rem);
53
+ border: 1px solid var(--border);
54
+ background-color: var(--popover, var(--background));
55
+ color: var(--popover-foreground, var(--foreground));
56
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
57
+ padding: 0.375rem;
58
+ display: flex;
59
+ flex-direction: column;
60
+ gap: 0.25rem;
61
+ max-height: 20rem;
62
+ overflow-y: auto;
63
+ }
64
+
65
+ .dl-model-selector__search {
66
+ padding: 0.375rem 0.5rem;
67
+ margin-bottom: 0.25rem;
68
+ font-size: 0.75rem;
69
+ border-radius: var(--radius-sm, 0.25rem);
70
+ border: 1px solid var(--border);
71
+ background-color: var(--input);
72
+ color: var(--foreground);
73
+ outline: none;
74
+ }
75
+
76
+ .dl-model-selector__search:focus {
77
+ border-color: var(--ring);
78
+ }
79
+
80
+ .dl-model-selector__item {
81
+ display: flex;
82
+ align-items: flex-start;
83
+ justify-content: space-between;
84
+ gap: 0.5rem;
85
+ padding: 0.5rem;
86
+ border-radius: var(--radius-sm, 0.25rem);
87
+ cursor: pointer;
88
+ transition: background-color 0.12s ease;
89
+ user-select: none;
90
+ }
91
+
92
+ .dl-model-selector__item:hover:not([data-disabled="true"]) {
93
+ background-color: var(--accent);
94
+ }
95
+
96
+ .dl-model-selector__item--active {
97
+ background-color: var(--accent);
98
+ }
99
+
100
+ .dl-model-selector__item-info {
101
+ display: flex;
102
+ flex-direction: column;
103
+ gap: 0.125rem;
104
+ min-width: 0;
105
+ }
106
+
107
+ .dl-model-selector__item-title {
108
+ display: flex;
109
+ align-items: center;
110
+ gap: 0.375rem;
111
+ font-weight: 500;
112
+ font-size: 0.8125rem;
113
+ }
114
+
115
+ .dl-model-selector__item-desc {
116
+ font-size: 0.75rem;
117
+ color: var(--muted-foreground);
118
+ line-height: 1.3;
119
+ }
120
+
121
+ .dl-model-selector__item-tags {
122
+ display: flex;
123
+ align-items: center;
124
+ gap: 0.25rem;
125
+ margin-top: 0.25rem;
126
+ flex-wrap: wrap;
127
+ }
128
+
129
+ .dl-model-selector__tag {
130
+ display: inline-flex;
131
+ align-items: center;
132
+ font-size: 0.6875rem;
133
+ padding: 0.0625rem 0.375rem;
134
+ border-radius: 9999px;
135
+ background-color: var(--muted);
136
+ color: var(--muted-foreground);
137
+ font-weight: 500;
138
+ }
@@ -0,0 +1,26 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as ModelSelectorStories from "./model-selector.stories";
3
+
4
+ <Meta of={ModelSelectorStories} />
5
+
6
+ <Title />
7
+
8
+ # Model Selector
9
+
10
+ Dropdown picker for choosing LLM backends and agent models, complete with provider metadata, capability tags, and filtering.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={ModelSelectorStories.Default} />
15
+
16
+ ## Small Trigger (Prompt Input Embed)
17
+
18
+ <Canvas of={ModelSelectorStories.SmallTrigger} />
19
+
20
+ ## Custom Model Catalog
21
+
22
+ <Canvas of={ModelSelectorStories.CustomModels} />
23
+
24
+ ## Component Properties
25
+
26
+ <Controls />
@@ -0,0 +1,212 @@
1
+ .dl-multi-select-trigger {
2
+ display: flex;
3
+ width: 100%;
4
+ min-height: var(--control-height-md, 2.25rem);
5
+ height: auto;
6
+ align-items: center;
7
+ justify-content: space-between;
8
+ border-radius: var(--radius-md, 0.375rem);
9
+ border: 1px solid var(--input, var(--border));
10
+ background-color: var(--background);
11
+ padding: 0.25rem 0.75rem;
12
+ font-size: 0.875rem;
13
+ line-height: 1.25rem;
14
+ color: var(--foreground);
15
+ cursor: pointer;
16
+ transition:
17
+ border-color 0.15s ease,
18
+ box-shadow 0.15s ease;
19
+ gap: 0.5rem;
20
+ }
21
+
22
+ .dl-multi-select-trigger:focus-visible {
23
+ outline: none;
24
+ border-color: var(--ring);
25
+ box-shadow: 0 0 0 1px var(--ring);
26
+ }
27
+
28
+ .dl-multi-select-trigger--disabled {
29
+ opacity: 0.5;
30
+ cursor: not-allowed;
31
+ background-color: var(--muted);
32
+ }
33
+
34
+ .dl-multi-select-tags {
35
+ display: flex;
36
+ flex-wrap: wrap;
37
+ align-items: center;
38
+ gap: 0.25rem;
39
+ flex: 1;
40
+ min-width: 0;
41
+ }
42
+
43
+ .dl-multi-select-placeholder {
44
+ color: var(--muted-foreground);
45
+ user-select: none;
46
+ }
47
+
48
+ .dl-multi-select-chip {
49
+ display: inline-flex;
50
+ align-items: center;
51
+ gap: 0.25rem;
52
+ background-color: var(--secondary);
53
+ color: var(--secondary-foreground);
54
+ border-radius: var(--radius-sm, 0.25rem);
55
+ padding: 0.125rem 0.375rem;
56
+ font-size: 0.75rem;
57
+ font-weight: 500;
58
+ line-height: 1;
59
+ max-width: 100%;
60
+ }
61
+
62
+ .dl-multi-select-chip__text {
63
+ overflow: hidden;
64
+ text-overflow: ellipsis;
65
+ white-space: nowrap;
66
+ }
67
+
68
+ .dl-multi-select-chip__remove {
69
+ display: inline-flex;
70
+ align-items: center;
71
+ justify-content: center;
72
+ background: transparent;
73
+ border: none;
74
+ cursor: pointer;
75
+ padding: 0;
76
+ color: var(--muted-foreground);
77
+ transition: color 0.15s ease;
78
+ }
79
+
80
+ .dl-multi-select-chip__remove:hover {
81
+ color: var(--foreground);
82
+ }
83
+
84
+ .dl-multi-select-content {
85
+ width: var(--radix-popover-trigger-width);
86
+ min-width: 14rem;
87
+ padding: 0.25rem;
88
+ background-color: var(--popover);
89
+ color: var(--popover-foreground);
90
+ border: 1px solid var(--border);
91
+ border-radius: var(--radius-md, 0.375rem);
92
+ box-shadow: 0 4px 16px rgb(0 0 0 / 0.1);
93
+ z-index: 50;
94
+ }
95
+
96
+ .dl-multi-select-search {
97
+ position: relative;
98
+ display: flex;
99
+ align-items: center;
100
+ padding: 0.25rem 0.5rem 0.5rem;
101
+ border-bottom: 1px solid var(--border);
102
+ }
103
+
104
+ .dl-multi-select-search-icon {
105
+ position: absolute;
106
+ left: 0.875rem;
107
+ top: 50%;
108
+ transform: translateY(-60%);
109
+ width: 0.875rem;
110
+ height: 0.875rem;
111
+ color: var(--muted-foreground);
112
+ pointer-events: none;
113
+ }
114
+
115
+ .dl-multi-select-search-input {
116
+ width: 100%;
117
+ height: 1.875rem;
118
+ padding-left: 1.75rem;
119
+ padding-right: 0.5rem;
120
+ font-size: 0.8125rem;
121
+ border-radius: var(--radius-sm, 0.25rem);
122
+ border: 1px solid var(--border);
123
+ background: var(--background);
124
+ }
125
+
126
+ .dl-multi-select-search-input:focus {
127
+ outline: none;
128
+ border-color: var(--ring);
129
+ }
130
+
131
+ .dl-multi-select-actions {
132
+ display: flex;
133
+ align-items: center;
134
+ justify-content: space-between;
135
+ padding: 0.375rem 0.5rem;
136
+ border-bottom: 1px solid var(--border);
137
+ font-size: 0.75rem;
138
+ color: var(--muted-foreground);
139
+ }
140
+
141
+ .dl-multi-select-action-btn {
142
+ background: transparent;
143
+ border: none;
144
+ color: var(--primary);
145
+ font-size: 0.75rem;
146
+ font-weight: 500;
147
+ cursor: pointer;
148
+ padding: 0.125rem 0.25rem;
149
+ border-radius: var(--radius-sm, 0.25rem);
150
+ }
151
+
152
+ .dl-multi-select-action-btn:hover {
153
+ text-decoration: underline;
154
+ }
155
+
156
+ .dl-multi-select-list {
157
+ max-height: 14rem;
158
+ overflow-y: auto;
159
+ padding: 0.25rem 0;
160
+ }
161
+
162
+ .dl-multi-select-item {
163
+ display: flex;
164
+ align-items: center;
165
+ gap: 0.5rem;
166
+ padding: 0.375rem 0.5rem;
167
+ font-size: 0.8125rem;
168
+ border-radius: var(--radius-sm, 0.25rem);
169
+ cursor: pointer;
170
+ user-select: none;
171
+ transition: background-color 0.15s ease;
172
+ }
173
+
174
+ .dl-multi-select-item:hover:not(.dl-multi-select-item--disabled) {
175
+ background-color: var(--accent);
176
+ color: var(--accent-foreground);
177
+ }
178
+
179
+ .dl-multi-select-item--selected {
180
+ font-weight: 500;
181
+ }
182
+
183
+ .dl-multi-select-item--disabled {
184
+ opacity: 0.5;
185
+ cursor: not-allowed;
186
+ }
187
+
188
+ .dl-multi-select-checkbox {
189
+ display: inline-flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ width: 1rem;
193
+ height: 1rem;
194
+ border-radius: 0.1875rem;
195
+ border: 1px solid var(--input, var(--border));
196
+ background-color: var(--background);
197
+ color: var(--primary-foreground);
198
+ flex-shrink: 0;
199
+ transition: all 0.15s ease;
200
+ }
201
+
202
+ .dl-multi-select-item--selected .dl-multi-select-checkbox {
203
+ background-color: var(--primary);
204
+ border-color: var(--primary);
205
+ }
206
+
207
+ .dl-multi-select-empty {
208
+ padding: 1.25rem 0.5rem;
209
+ text-align: center;
210
+ font-size: 0.8125rem;
211
+ color: var(--muted-foreground);
212
+ }
@@ -0,0 +1,30 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as MultiSelectStories from "./multi-select.stories";
3
+
4
+ <Meta of={MultiSelectStories} />
5
+
6
+ <Title />
7
+
8
+ # Multi Select
9
+
10
+ Select component enabling users to filter, select, and manage multiple items represented as dismissible tags in the trigger.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={MultiSelectStories.Default} />
15
+
16
+ ## With Preset Selections
17
+
18
+ <Canvas of={MultiSelectStories.WithPresetSelections} />
19
+
20
+ ## Compact Chip Truncation
21
+
22
+ <Canvas of={MultiSelectStories.CompactMaxChips} />
23
+
24
+ ## Disabled State
25
+
26
+ <Canvas of={MultiSelectStories.Disabled} />
27
+
28
+ ## Component Properties
29
+
30
+ <Controls />
@@ -21,13 +21,13 @@
21
21
 
22
22
  .dl-navigation-menu-trigger {
23
23
  display: inline-flex;
24
- height: 2.25rem;
24
+ height: var(--control-height-md, 2.25rem);
25
25
  width: max-content;
26
26
  align-items: center;
27
27
  justify-content: center;
28
28
  border-radius: var(--radius-md, 0.375rem);
29
29
  background-color: var(--background);
30
- padding: 0.5rem 1rem;
30
+ padding: var(--space-2, 0.5rem) var(--space-4, 1rem);
31
31
  font-size: 0.875rem;
32
32
  font-weight: 500;
33
33
  cursor: pointer;
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as NavigationMenuStories from "./navigation-menu.stories";
3
+
4
+ <Meta of={NavigationMenuStories} />
5
+
6
+ <Title />
7
+
8
+ # Navigation Menu
9
+
10
+ Top-level site navigation menu with rich flyout panels and smooth enter/exit animations.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={NavigationMenuStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -29,12 +29,18 @@
29
29
  padding-inline-end: 0.625rem;
30
30
  }
31
31
 
32
+ .dl-pagination-icon {
33
+ width: 1rem;
34
+ height: 1rem;
35
+ flex-shrink: 0;
36
+ }
37
+
32
38
  .dl-pagination-ellipsis {
33
39
  display: flex;
34
40
  align-items: center;
35
41
  justify-content: center;
36
- width: 2.25rem;
37
- height: 2.25rem;
42
+ width: var(--control-height-md, 2.25rem);
43
+ height: var(--control-height-md, 2.25rem);
38
44
  }
39
45
 
40
46
  .dl-pagination-ellipsis svg {
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as PaginationStories from "./pagination.stories";
3
+
4
+ <Meta of={PaginationStories} />
5
+
6
+ <Title />
7
+
8
+ # Pagination
9
+
10
+ Accessible page navigation controls for traversing large multi-page datasets.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={PaginationStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as PanelStories from "./panel.stories";
3
+
4
+ <Meta of={PanelStories} />
5
+
6
+ <Title />
7
+
8
+ # Panel
9
+
10
+ Sectional container card component for modular grouping of settings, metrics, and agent views.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={PanelStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -0,0 +1,21 @@
1
+ .dl-password-toggle-btn {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ background: transparent;
6
+ border: none;
7
+ cursor: pointer;
8
+ padding: 0;
9
+ color: var(--muted-foreground);
10
+ transition: color 0.15s ease;
11
+ }
12
+
13
+ .dl-password-toggle-btn:hover {
14
+ color: var(--foreground);
15
+ }
16
+
17
+ .dl-password-toggle-btn:focus-visible {
18
+ outline: 2px solid var(--ring);
19
+ outline-offset: 2px;
20
+ border-radius: var(--radius-sm, 0.25rem);
21
+ }
@@ -0,0 +1,30 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as PasswordInputStories from "./password-input.stories";
3
+
4
+ <Meta of={PasswordInputStories} />
5
+
6
+ <Title />
7
+
8
+ # Password Input
9
+
10
+ Specialized textual input with an integrated, accessible visibility toggle for passwords and confidential tokens.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={PasswordInputStories.Default} />
15
+
16
+ ## With Preset Value
17
+
18
+ <Canvas of={PasswordInputStories.WithValue} />
19
+
20
+ ## Without Toggle Button
21
+
22
+ <Canvas of={PasswordInputStories.WithoutToggle} />
23
+
24
+ ## Disabled State
25
+
26
+ <Canvas of={PasswordInputStories.Disabled} />
27
+
28
+ ## Component Properties
29
+
30
+ <Controls />
@@ -0,0 +1,106 @@
1
+ .dl-plan {
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
+ }
10
+
11
+ .dl-plan__header {
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: space-between;
15
+ padding: 0.625rem 0.875rem;
16
+ border-bottom: 1px solid var(--border);
17
+ background-color: var(--muted);
18
+ font-size: 0.8125rem;
19
+ }
20
+
21
+ .dl-plan__header-title {
22
+ display: flex;
23
+ align-items: center;
24
+ gap: 0.5rem;
25
+ font-weight: 600;
26
+ color: var(--foreground);
27
+ }
28
+
29
+ .dl-plan__header-meta {
30
+ display: flex;
31
+ align-items: center;
32
+ gap: 0.5rem;
33
+ font-size: 0.75rem;
34
+ color: var(--muted-foreground);
35
+ }
36
+
37
+ .dl-plan__tasks {
38
+ display: flex;
39
+ flex-direction: column;
40
+ padding: 0.5rem 0;
41
+ }
42
+
43
+ .dl-plan__task {
44
+ display: flex;
45
+ flex-direction: column;
46
+ padding: 0.5rem 0.875rem;
47
+ transition: background-color 0.12s ease;
48
+ }
49
+
50
+ .dl-plan__task:hover {
51
+ background-color: var(--accent);
52
+ }
53
+
54
+ .dl-plan__task-header {
55
+ display: flex;
56
+ align-items: flex-start;
57
+ gap: 0.625rem;
58
+ cursor: pointer;
59
+ user-select: none;
60
+ }
61
+
62
+ .dl-plan__task-icon {
63
+ margin-top: 0.125rem;
64
+ display: flex;
65
+ align-items: center;
66
+ justify-content: center;
67
+ shrink: 0;
68
+ }
69
+
70
+ .dl-plan__task-body {
71
+ display: flex;
72
+ flex-direction: column;
73
+ flex: 1;
74
+ min-width: 0;
75
+ }
76
+
77
+ .dl-plan__task-title {
78
+ font-size: 0.8125rem;
79
+ font-weight: 500;
80
+ color: var(--foreground);
81
+ }
82
+
83
+ .dl-plan__task--completed .dl-plan__task-title {
84
+ color: var(--muted-foreground);
85
+ }
86
+
87
+ .dl-plan__task-desc {
88
+ font-size: 0.75rem;
89
+ color: var(--muted-foreground);
90
+ margin-top: 0.125rem;
91
+ line-height: 1.4;
92
+ }
93
+
94
+ .dl-plan__task-details {
95
+ margin-top: 0.5rem;
96
+ padding-left: 1.5rem;
97
+ font-size: 0.75rem;
98
+ color: var(--muted-foreground);
99
+ }
100
+
101
+ .dl-plan__subtask-item {
102
+ display: flex;
103
+ align-items: center;
104
+ gap: 0.375rem;
105
+ padding: 0.125rem 0;
106
+ }
@@ -0,0 +1,22 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as PlanStories from "./plan.stories";
3
+
4
+ <Meta of={PlanStories} />
5
+
6
+ <Title />
7
+
8
+ # Plan & Task
9
+
10
+ Hierarchical execution plan and task checklist component for visualizing multi-step AI agent workflows and progress.
11
+
12
+ ## In-Progress Plan
13
+
14
+ <Canvas of={PlanStories.Default} />
15
+
16
+ ## Completed Plan
17
+
18
+ <Canvas of={PlanStories.CompletedPlan} />
19
+
20
+ ## Component Properties
21
+
22
+ <Controls />