@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 FileTreeStories from "./file-tree.stories";
3
+
4
+ <Meta of={FileTreeStories} />
5
+
6
+ <Title />
7
+
8
+ # File Tree
9
+
10
+ Interactive file and folder tree navigation structure for agent workspace inspection and code repositories.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={FileTreeStories.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 FormStories from "./form.stories";
3
+
4
+ <Meta of={FormStories} />
5
+
6
+ <Title />
7
+
8
+ # Form
9
+
10
+ Form management primitive integrating validation messages, field descriptions, and labels.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={FormStories.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 HoverCardStories from "./hover-card.stories";
3
+
4
+ <Meta of={HoverCardStories} />
5
+
6
+ <Title />
7
+
8
+ # Hover Card
9
+
10
+ Allows sighted users to preview content available behind a link or trigger upon mouse hover.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={HoverCardStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -0,0 +1,95 @@
1
+ .dl-input-number {
2
+ position: relative;
3
+ display: inline-flex;
4
+ align-items: center;
5
+ width: 100%;
6
+ max-width: 10rem;
7
+ height: var(--control-height-md, 2.25rem);
8
+ border-radius: var(--radius-md, 0.375rem);
9
+ border: 1px solid var(--input, var(--border));
10
+ background-color: var(--background);
11
+ color: var(--foreground);
12
+ font-size: 0.875rem;
13
+ transition:
14
+ border-color 0.15s ease,
15
+ box-shadow 0.15s ease;
16
+ overflow: hidden;
17
+ }
18
+
19
+ .dl-input-number:focus-within {
20
+ outline: none;
21
+ border-color: var(--ring);
22
+ box-shadow: 0 0 0 1px var(--ring);
23
+ }
24
+
25
+ .dl-input-number--disabled {
26
+ opacity: 0.5;
27
+ cursor: not-allowed;
28
+ background-color: var(--muted);
29
+ }
30
+
31
+ .dl-input-number__input {
32
+ flex: 1;
33
+ width: 100%;
34
+ height: 100%;
35
+ padding: 0 0.75rem;
36
+ background: transparent;
37
+ border: none;
38
+ color: inherit;
39
+ font-family: inherit;
40
+ font-size: inherit;
41
+ text-align: left;
42
+ }
43
+
44
+ .dl-input-number__input:focus {
45
+ outline: none;
46
+ }
47
+
48
+ .dl-input-number__controls {
49
+ display: flex;
50
+ flex-direction: column;
51
+ height: 100%;
52
+ width: 1.5rem;
53
+ border-left: 1px solid var(--border);
54
+ background-color: var(--secondary);
55
+ }
56
+
57
+ .dl-input-number__btn {
58
+ display: flex;
59
+ align-items: center;
60
+ justify-content: center;
61
+ height: 50%;
62
+ width: 100%;
63
+ background: transparent;
64
+ border: none;
65
+ padding: 0;
66
+ cursor: pointer;
67
+ color: var(--muted-foreground);
68
+ transition:
69
+ color 0.15s ease,
70
+ background-color 0.15s ease;
71
+ }
72
+
73
+ .dl-input-number__btn:hover:not(:disabled) {
74
+ background-color: var(--accent);
75
+ color: var(--foreground);
76
+ }
77
+
78
+ .dl-input-number__btn:disabled {
79
+ opacity: 0.35;
80
+ cursor: not-allowed;
81
+ }
82
+
83
+ .dl-input-number__btn--up {
84
+ border-bottom: 1px solid var(--border);
85
+ }
86
+
87
+ .dl-input-number__prefix,
88
+ .dl-input-number__suffix {
89
+ display: flex;
90
+ align-items: center;
91
+ padding: 0 0.5rem;
92
+ color: var(--muted-foreground);
93
+ font-size: 0.75rem;
94
+ user-select: none;
95
+ }
@@ -0,0 +1,34 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as InputNumberStories from "./input-number.stories";
3
+
4
+ <Meta of={InputNumberStories} />
5
+
6
+ <Title />
7
+
8
+ # Input Number
9
+
10
+ Precision numeric input control with integrated stepper buttons, keyboard arrow controls, min/max guards, and prefix/suffix support.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={InputNumberStories.Default} />
15
+
16
+ ## With Min and Max Bounds
17
+
18
+ <Canvas of={InputNumberStories.WithMinMax} />
19
+
20
+ ## Decimal Precision & Step
21
+
22
+ <Canvas of={InputNumberStories.DecimalPrecision} />
23
+
24
+ ## Prefix and Suffix Units
25
+
26
+ <Canvas of={InputNumberStories.WithPrefixAndSuffix} />
27
+
28
+ ## Disabled State
29
+
30
+ <Canvas of={InputNumberStories.Disabled} />
31
+
32
+ ## Component Properties
33
+
34
+ <Controls />
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as InputOtpStories from "./input-otp.stories";
3
+
4
+ <Meta of={InputOtpStories} />
5
+
6
+ <Title />
7
+
8
+ # Input OTP
9
+
10
+ One-time password and verification code input component with discrete segmented digit boxes.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={InputOtpStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -0,0 +1,78 @@
1
+ .dl-kbd {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ font-family: var(
6
+ --font-mono,
7
+ ui-monospace,
8
+ SFMono-Regular,
9
+ Menlo,
10
+ Monaco,
11
+ Consolas,
12
+ monospace
13
+ );
14
+ font-weight: 500;
15
+ user-select: none;
16
+ pointer-events: none;
17
+ white-space: nowrap;
18
+ vertical-align: baseline;
19
+ box-sizing: border-box;
20
+ }
21
+
22
+ /* ── Sizes ── */
23
+ .dl-kbd--sm {
24
+ min-width: 1.125rem;
25
+ height: 1.125rem;
26
+ padding: 0 0.25rem;
27
+ font-size: 0.625rem;
28
+ border-radius: var(--radius-sm, 0.25rem);
29
+ }
30
+
31
+ .dl-kbd--md {
32
+ min-width: 1.375rem;
33
+ height: 1.375rem;
34
+ padding: 0 0.375rem;
35
+ font-size: 0.6875rem;
36
+ border-radius: var(--radius-sm, 0.25rem);
37
+ }
38
+
39
+ .dl-kbd--lg {
40
+ min-width: 1.625rem;
41
+ height: 1.625rem;
42
+ padding: 0 0.5rem;
43
+ font-size: 0.75rem;
44
+ border-radius: var(--radius-md, 0.375rem);
45
+ }
46
+
47
+ /* ── Variants ── */
48
+ .dl-kbd--default {
49
+ background-color: var(--muted);
50
+ color: var(--muted-foreground);
51
+ border: 1px solid var(--border);
52
+ box-shadow: 0 1px 0 0 var(--border);
53
+ }
54
+
55
+ .dl-kbd--outline {
56
+ background-color: transparent;
57
+ color: var(--foreground);
58
+ border: 1px solid var(--border);
59
+ }
60
+
61
+ .dl-kbd--ghost {
62
+ background-color: transparent;
63
+ color: var(--muted-foreground);
64
+ border: none;
65
+ }
66
+
67
+ /* ── KbdGroup ── */
68
+ .dl-kbd-group {
69
+ display: inline-flex;
70
+ align-items: center;
71
+ gap: 0.25rem;
72
+ }
73
+
74
+ .dl-kbd-separator {
75
+ color: var(--muted-foreground);
76
+ font-size: 0.6875rem;
77
+ user-select: none;
78
+ }
@@ -0,0 +1,30 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as KbdStories from "./kbd.stories";
3
+
4
+ <Meta of={KbdStories} />
5
+
6
+ <Title />
7
+
8
+ # Kbd
9
+
10
+ Semantic keycap element and sequence container for displaying keyboard shortcuts and hotkeys.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={KbdStories.Default} />
15
+
16
+ ## Sizes
17
+
18
+ <Canvas of={KbdStories.Sizes} />
19
+
20
+ ## Variants
21
+
22
+ <Canvas of={KbdStories.Variants} />
23
+
24
+ ## Shortcut Combination Groups
25
+
26
+ <Canvas of={KbdStories.ShortcutGroup} />
27
+
28
+ ## Component Properties
29
+
30
+ <Controls />
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as LabelStories from "./label.stories";
3
+
4
+ <Meta of={LabelStories} />
5
+
6
+ <Title />
7
+
8
+ # Label
9
+
10
+ Accessible text label associated with form controls for screen reader compatibility.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={LabelStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -0,0 +1,158 @@
1
+ /**
2
+ * @file layout.css
3
+ * @description Layout primitive styles wrapped in @layer dl-layout.
4
+ * Governed by semantic design tokens.
5
+ */
6
+
7
+ @layer dl-layout {
8
+ /* ── Box ───────────────────────────────────────────────────────────── */
9
+ .dl-box {
10
+ box-sizing: border-box;
11
+ }
12
+
13
+ /* ── Flex ──────────────────────────────────────────────────────────── */
14
+ .dl-flex {
15
+ display: flex;
16
+ box-sizing: border-box;
17
+ }
18
+ .dl-flex--inline {
19
+ display: inline-flex;
20
+ }
21
+
22
+ .dl-flex--row {
23
+ flex-direction: row;
24
+ }
25
+ .dl-flex--row-reverse {
26
+ flex-direction: row-reverse;
27
+ }
28
+ .dl-flex--col {
29
+ flex-direction: column;
30
+ }
31
+ .dl-flex--col-reverse {
32
+ flex-direction: column-reverse;
33
+ }
34
+
35
+ .dl-flex--justify-start {
36
+ justify-content: flex-start;
37
+ }
38
+ .dl-flex--justify-center {
39
+ justify-content: center;
40
+ }
41
+ .dl-flex--justify-end {
42
+ justify-content: flex-end;
43
+ }
44
+ .dl-flex--justify-between {
45
+ justify-content: space-between;
46
+ }
47
+ .dl-flex--justify-around {
48
+ justify-content: space-around;
49
+ }
50
+ .dl-flex--justify-evenly {
51
+ justify-content: space-evenly;
52
+ }
53
+
54
+ .dl-flex--align-start {
55
+ align-items: flex-start;
56
+ }
57
+ .dl-flex--align-center {
58
+ align-items: center;
59
+ }
60
+ .dl-flex--align-end {
61
+ align-items: flex-end;
62
+ }
63
+ .dl-flex--align-stretch {
64
+ align-items: stretch;
65
+ }
66
+ .dl-flex--align-baseline {
67
+ align-items: baseline;
68
+ }
69
+
70
+ .dl-flex--wrap {
71
+ flex-wrap: wrap;
72
+ }
73
+ .dl-flex--nowrap {
74
+ flex-wrap: nowrap;
75
+ }
76
+ .dl-flex--wrap-reverse {
77
+ flex-wrap: wrap-reverse;
78
+ }
79
+
80
+ /* ── Stack ─────────────────────────────────────────────────────────── */
81
+ .dl-stack {
82
+ display: flex;
83
+ box-sizing: border-box;
84
+ }
85
+ .dl-stack--col {
86
+ flex-direction: column;
87
+ }
88
+ .dl-stack--row {
89
+ flex-direction: row;
90
+ }
91
+
92
+ /* ── Grid ──────────────────────────────────────────────────────────── */
93
+ .dl-grid {
94
+ display: grid;
95
+ box-sizing: border-box;
96
+ }
97
+ .dl-grid--inline {
98
+ display: inline-grid;
99
+ }
100
+
101
+ /* ── Container ─────────────────────────────────────────────────────── */
102
+ .dl-container {
103
+ width: 100%;
104
+ margin-left: auto;
105
+ margin-right: auto;
106
+ box-sizing: border-box;
107
+ padding-left: var(--space-4, 1rem);
108
+ padding-right: var(--space-4, 1rem);
109
+ }
110
+
111
+ .dl-container--sm {
112
+ max-width: 640px;
113
+ }
114
+ .dl-container--md {
115
+ max-width: 768px;
116
+ }
117
+ .dl-container--lg {
118
+ max-width: 1024px;
119
+ }
120
+ .dl-container--xl {
121
+ max-width: 1280px;
122
+ }
123
+ .dl-container--2xl {
124
+ max-width: 1536px;
125
+ }
126
+ .dl-container--fluid {
127
+ max-width: 100%;
128
+ }
129
+
130
+ /* ── Token Gaps ────────────────────────────────────────────────────── */
131
+ .dl-gap-0 {
132
+ gap: 0;
133
+ }
134
+ .dl-gap-1 {
135
+ gap: var(--space-1, 0.25rem);
136
+ }
137
+ .dl-gap-2 {
138
+ gap: var(--space-2, 0.5rem);
139
+ }
140
+ .dl-gap-3 {
141
+ gap: var(--space-3, 0.75rem);
142
+ }
143
+ .dl-gap-4 {
144
+ gap: var(--space-4, 1rem);
145
+ }
146
+ .dl-gap-5 {
147
+ gap: var(--space-5, 1.25rem);
148
+ }
149
+ .dl-gap-6 {
150
+ gap: var(--space-6, 1.5rem);
151
+ }
152
+ .dl-gap-8 {
153
+ gap: var(--space-8, 2rem);
154
+ }
155
+ .dl-gap-10 {
156
+ gap: var(--space-10, 2.5rem);
157
+ }
158
+ }
@@ -0,0 +1,30 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as LayoutStories from "./layout.stories";
3
+
4
+ <Meta of={LayoutStories} />
5
+
6
+ <Title />
7
+
8
+ # Layout Primitives
9
+
10
+ Composable layout primitives including Box, Flex, Stack, Grid, and Container for token-based structures.
11
+
12
+ ## Box Primitive
13
+
14
+ <Canvas of={LayoutStories.BoxPrimitive} />
15
+
16
+ ## Flex Primitive
17
+
18
+ <Canvas of={LayoutStories.FlexPrimitive} />
19
+
20
+ ## Stack Primitive
21
+
22
+ <Canvas of={LayoutStories.StackPrimitive} />
23
+
24
+ ## Grid Primitive
25
+
26
+ <Canvas of={LayoutStories.GridPrimitive} />
27
+
28
+ ## Container Primitive
29
+
30
+ <Canvas of={LayoutStories.ContainerPrimitive} />
@@ -24,3 +24,14 @@
24
24
  flex-direction: column;
25
25
  gap: 0.5rem;
26
26
  }
27
+
28
+ .dl-loading-skeleton__header {
29
+ height: 2rem;
30
+ width: 33.333%;
31
+ }
32
+
33
+ .dl-loading-skeleton__row {
34
+ height: 4rem;
35
+ width: 100%;
36
+ border-radius: var(--radius-lg, 0.75rem);
37
+ }
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as LoadingStateStories from "./loading-state.stories";
3
+
4
+ <Meta of={LoadingStateStories} />
5
+
6
+ <Title />
7
+
8
+ # Loading State
9
+
10
+ Flexible loading state indicator providing spinner and skeleton placeholder rows.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={LoadingStateStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -1,12 +1,12 @@
1
1
  .dl-menubar {
2
2
  display: flex;
3
- height: 2.25rem;
3
+ height: var(--control-height-md, 2.25rem);
4
4
  align-items: center;
5
- gap: 0.25rem;
5
+ gap: var(--space-1, 0.25rem);
6
6
  border-radius: var(--radius-md, 0.375rem);
7
7
  border: 1px solid var(--border);
8
8
  background-color: var(--background);
9
- padding: 0.25rem;
9
+ padding: var(--space-1, 0.25rem);
10
10
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);
11
11
  }
12
12
 
@@ -16,7 +16,7 @@
16
16
  user-select: none;
17
17
  align-items: center;
18
18
  border-radius: var(--radius-sm, 0.25rem);
19
- padding: 0.25rem 0.75rem;
19
+ padding: var(--space-1, 0.25rem) var(--space-3, 0.75rem);
20
20
  font-size: 0.875rem;
21
21
  font-weight: 500;
22
22
  outline: none;
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as MenubarStories from "./menubar.stories";
3
+
4
+ <Meta of={MenubarStories} />
5
+
6
+ <Title />
7
+
8
+ # Menubar
9
+
10
+ Persistent top-level desktop application menubar supporting nested submenus and shortcut badges.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={MenubarStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -0,0 +1,89 @@
1
+ .dl-message {
2
+ display: flex;
3
+ gap: 0.75rem;
4
+ width: 100%;
5
+ padding: 0.75rem 0;
6
+ color: var(--foreground);
7
+ font-size: 0.875rem;
8
+ line-height: 1.5;
9
+ }
10
+
11
+ .dl-message--user {
12
+ flex-direction: row-reverse;
13
+ }
14
+
15
+ .dl-message__avatar {
16
+ display: inline-flex;
17
+ align-items: center;
18
+ justify-content: center;
19
+ width: 2rem;
20
+ height: 2rem;
21
+ border-radius: 9999px;
22
+ background-color: var(--secondary);
23
+ color: var(--secondary-foreground);
24
+ font-weight: 600;
25
+ font-size: 0.75rem;
26
+ flex-shrink: 0;
27
+ border: 1px solid var(--border);
28
+ }
29
+
30
+ .dl-message--assistant .dl-message__avatar {
31
+ background-color: color-mix(in oklch, var(--primary) 12%, transparent);
32
+ color: var(--primary);
33
+ border-color: color-mix(in oklch, var(--primary) 25%, transparent);
34
+ }
35
+
36
+ .dl-message__body {
37
+ display: flex;
38
+ flex-direction: column;
39
+ gap: 0.375rem;
40
+ max-width: 80%;
41
+ }
42
+
43
+ .dl-message--user .dl-message__body {
44
+ align-items: flex-end;
45
+ }
46
+
47
+ .dl-message__content {
48
+ border-radius: var(--radius-lg, 0.5rem);
49
+ padding: 0.625rem 0.875rem;
50
+ background-color: var(--card, var(--background));
51
+ border: 1px solid var(--border);
52
+ }
53
+
54
+ .dl-message--user .dl-message__content {
55
+ background-color: var(--primary);
56
+ color: var(--primary-foreground);
57
+ border-color: var(--primary);
58
+ }
59
+
60
+ .dl-message__actions {
61
+ display: flex;
62
+ align-items: center;
63
+ gap: 0.25rem;
64
+ opacity: 0.8;
65
+ transition: opacity 0.15s ease;
66
+ }
67
+
68
+ .dl-message:hover .dl-message__actions {
69
+ opacity: 1;
70
+ }
71
+
72
+ .dl-message__action-btn {
73
+ display: inline-flex;
74
+ align-items: center;
75
+ justify-content: center;
76
+ width: 1.5rem;
77
+ height: 1.5rem;
78
+ border-radius: var(--radius-sm, 0.25rem);
79
+ border: none;
80
+ background: transparent;
81
+ color: var(--muted-foreground);
82
+ cursor: pointer;
83
+ transition: all 0.15s ease;
84
+ }
85
+
86
+ .dl-message__action-btn:hover {
87
+ background-color: var(--secondary);
88
+ color: var(--foreground);
89
+ }
@@ -0,0 +1,14 @@
1
+ import { Meta, Title, Description, Canvas } from "@storybook/blocks";
2
+ import * as MessageStories from "./message.stories";
3
+
4
+ <Meta of={MessageStories} />
5
+
6
+ <Title />
7
+
8
+ # Message
9
+
10
+ Conversational turn wrapper for user, assistant, and system messages with avatar slots, message bubble styling, and action toolbars (copy, retry, feedback).
11
+
12
+ ## Interactive Chat Thread
13
+
14
+ <Canvas of={MessageStories.Thread} />