@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
@@ -1,9 +1,9 @@
1
1
  .dl-calendar {
2
- --cell-size: 2rem;
2
+ --cell-size: var(--control-height-sm, 2rem);
3
3
  display: inline-block;
4
4
  width: fit-content;
5
5
  max-width: 100%;
6
- padding: 0.75rem;
6
+ padding: var(--space-3, 0.75rem);
7
7
  box-sizing: border-box;
8
8
  color: var(--foreground);
9
9
  }
@@ -13,7 +13,8 @@
13
13
  margin: 0 auto;
14
14
  }
15
15
 
16
- .dl-calendar .rdp-months {
16
+ .dl-calendar .rdp-months,
17
+ .dl-calendar .dl-calendar__months {
17
18
  position: relative;
18
19
  display: flex;
19
20
  flex-direction: column;
@@ -22,81 +23,23 @@
22
23
  box-sizing: border-box;
23
24
  }
24
25
 
25
- .dl-calendar .rdp-month {
26
+ @media (min-width: 768px) {
27
+ .dl-calendar .rdp-months,
28
+ .dl-calendar .dl-calendar__months {
29
+ flex-direction: row;
30
+ }
31
+ }
32
+
33
+ .dl-calendar .rdp-month,
34
+ .dl-calendar .dl-calendar__month {
26
35
  display: flex;
27
36
  flex-direction: column;
28
37
  gap: 0.75rem;
29
38
  width: 100%;
30
39
  }
31
40
 
32
- .dl-calendar .rdp-month_caption {
33
- position: relative;
34
- display: flex;
35
- height: var(--cell-size, 2rem);
36
- width: 100%;
37
- align-items: center;
38
- justify-content: center;
39
- padding: 0 var(--cell-size, 2rem);
40
- font-size: 0.875rem;
41
- font-weight: 600;
42
- color: var(--foreground);
43
- box-sizing: border-box;
44
- }
45
-
46
- .dl-calendar .rdp-caption_label {
47
- font-size: 0.875rem;
48
- font-weight: 600;
49
- color: var(--foreground);
50
- line-height: 1;
51
- }
52
-
53
- /* Navigation prev / next arrows */
54
- .dl-calendar .rdp-nav {
55
- position: absolute;
56
- top: 0;
57
- left: 0;
58
- right: 0;
59
- display: flex;
60
- align-items: center;
61
- justify-content: space-between;
62
- width: 100%;
63
- height: var(--cell-size, 2rem);
64
- pointer-events: none;
65
- }
66
-
67
- .dl-calendar .rdp-button_previous,
68
- .dl-calendar .rdp-button_next {
69
- pointer-events: auto;
70
- width: var(--cell-size, 2rem) !important;
71
- height: var(--cell-size, 2rem) !important;
72
- min-width: var(--cell-size, 2rem) !important;
73
- padding: 0 !important;
74
- display: inline-flex !important;
75
- align-items: center;
76
- justify-content: center;
77
- border-radius: var(--radius-md, 0.375rem) !important;
78
- border: 1px solid var(--border);
79
- background: var(--background);
80
- color: var(--muted-foreground);
81
- cursor: pointer;
82
- transition: all 0.15s ease;
83
- }
84
-
85
- .dl-calendar .rdp-button_previous:hover,
86
- .dl-calendar .rdp-button_next:hover {
87
- background-color: var(--accent);
88
- color: var(--accent-foreground);
89
- }
90
-
91
- .dl-calendar .rdp-button_previous svg,
92
- .dl-calendar .rdp-button_next svg {
93
- width: 1rem;
94
- height: 1rem;
95
- flex-shrink: 0;
96
- }
97
-
98
- /* Grid Table */
99
41
  .dl-calendar table.rdp-month_grid,
42
+ .dl-calendar table.dl-calendar__table,
100
43
  .dl-calendar table {
101
44
  width: 100%;
102
45
  border-collapse: collapse;
@@ -104,7 +47,6 @@
104
47
  margin: 0;
105
48
  }
106
49
 
107
- /* Weekday header cells */
108
50
  .dl-calendar th.rdp-weekday,
109
51
  .dl-calendar th {
110
52
  width: calc(100% / 7);
@@ -119,7 +61,6 @@
119
61
  box-sizing: border-box;
120
62
  }
121
63
 
122
- /* Day table cells */
123
64
  .dl-calendar td.rdp-day,
124
65
  .dl-calendar td {
125
66
  width: calc(100% / 7);
@@ -129,12 +70,19 @@
129
70
  text-align: center;
130
71
  vertical-align: middle;
131
72
  background: transparent !important;
132
- background-color: transparent !important;
133
73
  border: none !important;
134
74
  box-sizing: border-box;
135
75
  }
136
76
 
137
- /* Day Button inside td */
77
+ .dl-calendar .dl-calendar__week-number {
78
+ display: flex;
79
+ width: var(--cell-size, 2rem);
80
+ height: var(--cell-size, 2rem);
81
+ align-items: center;
82
+ justify-content: center;
83
+ text-align: center;
84
+ }
85
+
138
86
  .dl-calendar button.rdp-day_button,
139
87
  .dl-calendar .dl-calendar__day-button {
140
88
  width: 100% !important;
@@ -146,10 +94,12 @@
146
94
  display: inline-flex !important;
147
95
  align-items: center;
148
96
  justify-content: center;
97
+ aspect-ratio: 1 / 1;
149
98
  border-radius: var(--radius-md, 0.375rem) !important;
150
99
  border: none !important;
151
100
  font-size: 0.875rem;
152
101
  font-weight: 400;
102
+ line-height: 1;
153
103
  color: var(--foreground);
154
104
  background: transparent;
155
105
  cursor: pointer;
@@ -162,7 +112,6 @@
162
112
  color: var(--accent-foreground) !important;
163
113
  }
164
114
 
165
- /* Selected Date Highlight */
166
115
  .dl-calendar td[aria-selected="true"] button.rdp-day_button,
167
116
  .dl-calendar td.rdp-selected button.rdp-day_button,
168
117
  .dl-calendar button.rdp-day_button[data-selected="true"],
@@ -182,7 +131,6 @@
182
131
  color: var(--primary-foreground) !important;
183
132
  }
184
133
 
185
- /* Today indicator (when not selected) */
186
134
  .dl-calendar
187
135
  td.rdp-today:not([aria-selected="true"]):not(.rdp-selected)
188
136
  button.rdp-day_button {
@@ -196,11 +144,9 @@
196
144
  border: 1px solid var(--border) !important;
197
145
  }
198
146
 
199
- /* Range selection styles */
200
147
  .dl-calendar td.rdp-range_start {
201
148
  background-color: var(--accent) !important;
202
- border-top-left-radius: var(--radius-md, 0.375rem) !important;
203
- border-bottom-left-radius: var(--radius-md, 0.375rem) !important;
149
+ border-radius: var(--radius-md, 0.375rem) 0 0 var(--radius-md, 0.375rem) !important;
204
150
  }
205
151
 
206
152
  .dl-calendar td.rdp-range_middle {
@@ -216,8 +162,7 @@
216
162
 
217
163
  .dl-calendar td.rdp-range_end {
218
164
  background-color: var(--accent) !important;
219
- border-top-right-radius: var(--radius-md, 0.375rem) !important;
220
- border-bottom-right-radius: var(--radius-md, 0.375rem) !important;
165
+ border-radius: 0 var(--radius-md, 0.375rem) var(--radius-md, 0.375rem) !important;
221
166
  }
222
167
 
223
168
  .dl-calendar td.rdp-outside button.rdp-day_button {
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as CalendarStories from "./calendar.stories";
3
+
4
+ <Meta of={CalendarStories} />
5
+
6
+ <Title />
7
+
8
+ # Calendar
9
+
10
+ Interactive calendar date selection component supporting day, month, and year navigation.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={CalendarStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -1,5 +1,5 @@
1
1
  .dl-card {
2
- border-radius: var(--radius-lg, 0.5rem);
2
+ border-radius: var(--radius, 0.75rem);
3
3
  border: 1px solid var(--border);
4
4
  background-color: var(--card);
5
5
  color: var(--card-foreground);
@@ -9,7 +9,7 @@
9
9
  display: flex;
10
10
  flex-direction: column;
11
11
  gap: 0.375rem;
12
- padding: 1.5rem;
12
+ padding: var(--card-padding, 1.5rem);
13
13
  }
14
14
  .dl-card__title {
15
15
  font-weight: 600;
@@ -21,10 +21,10 @@
21
21
  color: var(--muted-foreground);
22
22
  }
23
23
  .dl-card__content {
24
- padding: 1.5rem;
24
+ padding: var(--card-padding, 1.5rem);
25
25
  }
26
26
  .dl-card__footer {
27
27
  display: flex;
28
28
  align-items: center;
29
- padding: 1.5rem;
29
+ padding: var(--card-padding, 1.5rem);
30
30
  }
@@ -27,18 +27,18 @@
27
27
  }
28
28
 
29
29
  .dl-carousel-item--horizontal {
30
- padding-left: 1rem;
30
+ padding-left: var(--space-4, 1rem);
31
31
  }
32
32
 
33
33
  .dl-carousel-item--vertical {
34
- padding-top: 1rem;
34
+ padding-top: var(--space-4, 1rem);
35
35
  }
36
36
 
37
37
  .dl-carousel-btn {
38
38
  position: absolute;
39
39
  border-radius: 9999px;
40
- width: 2rem;
41
- height: 2rem;
40
+ width: var(--control-height-sm, 2rem);
41
+ height: var(--control-height-sm, 2rem);
42
42
  padding: 0;
43
43
  }
44
44
 
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as CarouselStories from "./carousel.stories";
3
+
4
+ <Meta of={CarouselStories} />
5
+
6
+ <Title />
7
+
8
+ # Carousel
9
+
10
+ Motion-driven cyclic slideshow component for cycling through sequential media or card elements.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={CarouselStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -0,0 +1,72 @@
1
+ .dl-cot {
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, var(--card));
8
+ font-size: 0.8125rem;
9
+ overflow: hidden;
10
+ transition: border-color 0.15s ease;
11
+ }
12
+
13
+ .dl-cot:hover {
14
+ border-color: color-mix(in oklch, var(--primary) 30%, var(--border));
15
+ }
16
+
17
+ .dl-cot__header {
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: space-between;
21
+ width: 100%;
22
+ padding: 0.5rem 0.75rem;
23
+ background: transparent;
24
+ border: none;
25
+ cursor: pointer;
26
+ text-align: left;
27
+ font: inherit;
28
+ color: var(--foreground);
29
+ }
30
+
31
+ .dl-cot__summary {
32
+ display: flex;
33
+ align-items: center;
34
+ gap: 0.5rem;
35
+ font-weight: 500;
36
+ }
37
+
38
+ .dl-cot__chevron {
39
+ width: 0.875rem;
40
+ height: 0.875rem;
41
+ color: var(--muted-foreground);
42
+ transition: transform 0.2s ease;
43
+ }
44
+
45
+ .dl-cot[data-state="open"] .dl-cot__chevron {
46
+ transform: rotate(180deg);
47
+ }
48
+
49
+ .dl-cot__content {
50
+ display: flex;
51
+ flex-direction: column;
52
+ gap: 0.375rem;
53
+ padding: 0.5rem 0.75rem 0.75rem;
54
+ border-top: 1px solid var(--border);
55
+ background-color: var(--background);
56
+ }
57
+
58
+ .dl-cot__step {
59
+ display: flex;
60
+ align-items: center;
61
+ gap: 0.5rem;
62
+ font-size: 0.75rem;
63
+ color: var(--muted-foreground);
64
+ }
65
+
66
+ .dl-cot__step--running {
67
+ color: var(--foreground);
68
+ }
69
+
70
+ .dl-cot__step--error {
71
+ color: var(--destructive);
72
+ }
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas } from "@storybook/blocks";
2
+ import * as ChainOfThoughtStories from "./chain-of-thought.stories";
3
+
4
+ <Meta of={ChainOfThoughtStories} />
5
+
6
+ <Title />
7
+
8
+ # Chain of Thought
9
+
10
+ Visual presentation for AI model reasoning processes, featuring execution duration timers, live animated thinking states, and expandable step lists.
11
+
12
+ ## Default Completed Thought
13
+
14
+ <Canvas of={ChainOfThoughtStories.Default} />
15
+
16
+ ## Live Streaming / Currently Thinking
17
+
18
+ <Canvas of={ChainOfThoughtStories.CurrentlyThinking} />
@@ -30,9 +30,95 @@
30
30
  box-shadow: 0 8px 32px rgb(0 0 0 / 0.18);
31
31
  }
32
32
 
33
+ .dl-chart-tooltip__label {
34
+ font-weight: 500;
35
+ }
36
+ .dl-chart-tooltip__grid {
37
+ display: grid;
38
+ gap: 0.375rem;
39
+ }
40
+ .dl-chart-tooltip__item {
41
+ display: flex;
42
+ flex-wrap: wrap;
43
+ align-items: stretch;
44
+ gap: 0.5rem;
45
+ }
46
+ .dl-chart-tooltip__item--center {
47
+ align-items: center;
48
+ }
49
+ .dl-chart-tooltip__item svg {
50
+ color: var(--muted-foreground);
51
+ width: 0.625rem;
52
+ height: 0.625rem;
53
+ }
54
+
55
+ .dl-chart-tooltip__indicator {
56
+ flex-shrink: 0;
57
+ border-radius: var(--radius-xs, 0.125rem);
58
+ background-color: var(--color-bg);
59
+ }
60
+ .dl-chart-tooltip__indicator--dot {
61
+ width: 0.625rem;
62
+ height: 0.625rem;
63
+ }
64
+ .dl-chart-tooltip__indicator--line {
65
+ width: 0.25rem;
66
+ }
67
+ .dl-chart-tooltip__indicator--dashed {
68
+ width: 0;
69
+ border: 1.5px dashed var(--color-border);
70
+ background: transparent;
71
+ }
72
+ .dl-chart-tooltip__indicator--nested {
73
+ margin-block: 0.125rem;
74
+ }
75
+
76
+ .dl-chart-tooltip__row {
77
+ display: flex;
78
+ flex: 1 1 0%;
79
+ justify-content: space-between;
80
+ align-items: center;
81
+ line-height: 1;
82
+ }
83
+ .dl-chart-tooltip__row--end {
84
+ align-items: flex-end;
85
+ }
86
+ .dl-chart-tooltip__item-label {
87
+ color: var(--muted-foreground);
88
+ }
89
+ .dl-chart-tooltip__item-value {
90
+ font-family: var(--font-mono, monospace);
91
+ font-weight: 500;
92
+ font-variant-numeric: tabular-nums;
93
+ color: var(--foreground);
94
+ }
95
+
33
96
  .dl-chart-legend {
34
97
  display: flex;
35
98
  align-items: center;
36
99
  justify-content: center;
37
100
  gap: 1rem;
38
101
  }
102
+ .dl-chart-legend--top {
103
+ padding-bottom: 0.75rem;
104
+ }
105
+ .dl-chart-legend--bottom {
106
+ padding-top: 0.75rem;
107
+ }
108
+
109
+ .dl-chart-legend__item {
110
+ display: flex;
111
+ align-items: center;
112
+ gap: 0.375rem;
113
+ }
114
+ .dl-chart-legend__item svg {
115
+ color: var(--muted-foreground);
116
+ width: 0.75rem;
117
+ height: 0.75rem;
118
+ }
119
+ .dl-chart-legend__indicator {
120
+ flex-shrink: 0;
121
+ border-radius: var(--radius-xs, 0.125rem);
122
+ width: 0.5rem;
123
+ height: 0.5rem;
124
+ }
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as ChartStories from "./chart.stories";
3
+
4
+ <Meta of={ChartStories} />
5
+
6
+ <Title />
7
+
8
+ # Chart
9
+
10
+ Responsive data visualization charting components powered by Recharts with design system token integration.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={ChartStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -25,3 +25,14 @@
25
25
  background-color: var(--primary);
26
26
  color: var(--primary-foreground);
27
27
  }
28
+
29
+ .dl-checkbox-indicator {
30
+ display: grid;
31
+ place-content: center;
32
+ color: currentColor;
33
+ }
34
+
35
+ .dl-checkbox-icon {
36
+ width: 0.75rem;
37
+ height: 0.75rem;
38
+ }
@@ -0,0 +1,54 @@
1
+ .dl-checkpoint {
2
+ position: relative;
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ width: 100%;
7
+ margin: 1.25rem 0;
8
+ }
9
+
10
+ .dl-checkpoint::before {
11
+ content: "";
12
+ position: absolute;
13
+ left: 0;
14
+ right: 0;
15
+ top: 50%;
16
+ height: 1px;
17
+ background-color: var(--border);
18
+ z-index: 1;
19
+ }
20
+
21
+ .dl-checkpoint__content {
22
+ position: relative;
23
+ z-index: 2;
24
+ display: inline-flex;
25
+ align-items: center;
26
+ gap: 0.5rem;
27
+ padding: 0.25rem 0.75rem;
28
+ border-radius: 9999px;
29
+ background-color: var(--background);
30
+ border: 1px solid var(--border);
31
+ font-size: 0.75rem;
32
+ color: var(--muted-foreground);
33
+ box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);
34
+ }
35
+
36
+ .dl-checkpoint__restore-btn {
37
+ display: inline-flex;
38
+ align-items: center;
39
+ gap: 0.25rem;
40
+ background: transparent;
41
+ border: none;
42
+ font: inherit;
43
+ font-weight: 500;
44
+ font-size: 0.6875rem;
45
+ color: var(--primary);
46
+ cursor: pointer;
47
+ padding: 0.125rem 0.375rem;
48
+ border-radius: var(--radius-sm, 0.25rem);
49
+ transition: all 0.15s ease;
50
+ }
51
+
52
+ .dl-checkpoint__restore-btn:hover {
53
+ background-color: color-mix(in oklch, var(--primary) 10%, transparent);
54
+ }
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas } from "@storybook/blocks";
2
+ import * as CheckpointStories from "./checkpoint.stories";
3
+
4
+ <Meta of={CheckpointStories} />
5
+
6
+ <Title />
7
+
8
+ # Checkpoint
9
+
10
+ Divider marker indicating a significant milestone in conversational history with optional one-click restore capabilities.
11
+
12
+ ## Default with Restore Action
13
+
14
+ <Canvas of={CheckpointStories.Default} />
15
+
16
+ ## Informational Checkpoint
17
+
18
+ <Canvas of={CheckpointStories.WithoutRestore} />
@@ -0,0 +1,84 @@
1
+ .dl-code-block {
2
+ position: relative;
3
+ display: flex;
4
+ flex-direction: column;
5
+ width: 100%;
6
+ border-radius: var(--radius-md, 0.375rem);
7
+ border: 1px solid var(--border);
8
+ background-color: var(--secondary, #0d1117);
9
+ color: var(--foreground);
10
+ font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
11
+ font-size: 0.8125rem;
12
+ overflow: hidden;
13
+ }
14
+
15
+ .dl-code-block__header {
16
+ display: flex;
17
+ align-items: center;
18
+ justify-content: space-between;
19
+ padding: 0.375rem 0.75rem;
20
+ border-bottom: 1px solid var(--border);
21
+ background-color: var(--background);
22
+ font-size: 0.75rem;
23
+ color: var(--muted-foreground);
24
+ }
25
+
26
+ .dl-code-block__filename {
27
+ font-weight: 500;
28
+ color: var(--foreground);
29
+ }
30
+
31
+ .dl-code-block__language {
32
+ text-transform: uppercase;
33
+ font-size: 0.6875rem;
34
+ letter-spacing: 0.05em;
35
+ opacity: 0.8;
36
+ }
37
+
38
+ .dl-code-block__copy-btn {
39
+ display: inline-flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ width: 1.625rem;
43
+ height: 1.625rem;
44
+ border-radius: var(--radius-sm, 0.25rem);
45
+ border: 1px solid transparent;
46
+ background: transparent;
47
+ color: var(--muted-foreground);
48
+ cursor: pointer;
49
+ transition: all 0.15s ease;
50
+ }
51
+
52
+ .dl-code-block__copy-btn:hover {
53
+ background-color: var(--accent);
54
+ color: var(--foreground);
55
+ border-color: var(--border);
56
+ }
57
+
58
+ .dl-code-block__content {
59
+ margin: 0;
60
+ padding: 0.75rem 1rem;
61
+ overflow-x: auto;
62
+ line-height: 1.5;
63
+ tab-size: 2;
64
+ }
65
+
66
+ .dl-code-block__content--wrap {
67
+ white-space: pre-wrap;
68
+ word-break: break-all;
69
+ }
70
+
71
+ .dl-code-block__line {
72
+ display: flex;
73
+ min-height: 1.25rem;
74
+ }
75
+
76
+ .dl-code-block__line-num {
77
+ display: inline-block;
78
+ width: 2rem;
79
+ padding-right: 0.75rem;
80
+ text-align: right;
81
+ color: var(--muted-foreground);
82
+ opacity: 0.5;
83
+ user-select: none;
84
+ }
@@ -0,0 +1,26 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as CodeBlockStories from "./code-block.stories";
3
+
4
+ <Meta of={CodeBlockStories} />
5
+
6
+ <Title />
7
+
8
+ # Code Block
9
+
10
+ Syntax code snippet presentation container with filename badge, language label, line numbers, and one-click copy button.
11
+
12
+ ## Default with Copy & Line Numbers
13
+
14
+ <Canvas of={CodeBlockStories.Default} />
15
+
16
+ ## Minimal Code Block (Without Header)
17
+
18
+ <Canvas of={CodeBlockStories.WithoutHeader} />
19
+
20
+ ## Multi-Line SQL Schema
21
+
22
+ <Canvas of={CodeBlockStories.LineNumbers} />
23
+
24
+ ## Component Properties
25
+
26
+ <Controls />