@yuva-devlab/ui 1.4.4 → 2.0.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 (90) hide show
  1. package/README.md +117 -33
  2. package/dist/components/accordion/accordion.mdx +18 -0
  3. package/dist/components/alert/alert.css +2 -2
  4. package/dist/components/alert-dialog/alert-dialog.mdx +18 -0
  5. package/dist/components/aspect-ratio/aspect-ratio.mdx +22 -0
  6. package/dist/components/breadcrumb/breadcrumb.mdx +18 -0
  7. package/dist/components/calendar/calendar-nav.css +111 -0
  8. package/dist/components/calendar/calendar.css +27 -82
  9. package/dist/components/calendar/calendar.mdx +18 -0
  10. package/dist/components/card/card.css +4 -4
  11. package/dist/components/carousel/carousel.css +4 -4
  12. package/dist/components/carousel/carousel.mdx +18 -0
  13. package/dist/components/chart/chart.css +86 -0
  14. package/dist/components/chart/chart.mdx +18 -0
  15. package/dist/components/checkbox/checkbox.css +11 -0
  16. package/dist/components/collapsible/collapsible.mdx +18 -0
  17. package/dist/components/command/command.css +3 -3
  18. package/dist/components/command/command.mdx +18 -0
  19. package/dist/components/confirm-dialog/confirm-dialog.mdx +18 -0
  20. package/dist/components/context-menu/context-menu.mdx +18 -0
  21. package/dist/components/copy-button/copy-button.mdx +18 -0
  22. package/dist/components/date-picker/date-picker.css +2 -2
  23. package/dist/components/date-picker/date-picker.mdx +18 -0
  24. package/dist/components/dialog/dialog.css +6 -6
  25. package/dist/components/drawer/drawer.mdx +18 -0
  26. package/dist/components/dropdown-menu/dropdown-menu.css +18 -0
  27. package/dist/components/dropdown-menu/dropdown-menu.mdx +18 -0
  28. package/dist/components/empty-state/empty-state.css +67 -0
  29. package/dist/components/empty-state/empty-state.mdx +18 -0
  30. package/dist/components/form/form.mdx +18 -0
  31. package/dist/components/hover-card/hover-card.mdx +18 -0
  32. package/dist/components/input-otp/input-otp.mdx +18 -0
  33. package/dist/components/label/label.mdx +18 -0
  34. package/dist/components/layout/layout.css +158 -0
  35. package/dist/components/layout/layout.mdx +30 -0
  36. package/dist/components/loading-state/loading-state.css +11 -0
  37. package/dist/components/loading-state/loading-state.mdx +18 -0
  38. package/dist/components/menubar/menubar.css +4 -4
  39. package/dist/components/menubar/menubar.mdx +18 -0
  40. package/dist/components/metric-card/metric-card.mdx +18 -0
  41. package/dist/components/navigation-menu/navigation-menu.css +2 -2
  42. package/dist/components/navigation-menu/navigation-menu.mdx +18 -0
  43. package/dist/components/pagination/pagination.css +8 -2
  44. package/dist/components/pagination/pagination.mdx +18 -0
  45. package/dist/components/panel/panel.mdx +18 -0
  46. package/dist/components/popover/popover.css +2 -2
  47. package/dist/components/popover/popover.mdx +18 -0
  48. package/dist/components/radio-group/radio-group.mdx +18 -0
  49. package/dist/components/resizable/resizable.mdx +18 -0
  50. package/dist/components/scroll-area/scroll-area.mdx +18 -0
  51. package/dist/components/searchable-select/searchable-select.css +26 -3
  52. package/dist/components/searchable-select/searchable-select.mdx +18 -0
  53. package/dist/components/secret-reveal-card/secret-reveal-card.css +6 -0
  54. package/dist/components/secret-reveal-card/secret-reveal-card.mdx +18 -0
  55. package/dist/components/select/select.css +16 -1
  56. package/dist/components/separator/separator.mdx +18 -0
  57. package/dist/components/sheet/sheet.css +5 -1
  58. package/dist/components/sheet/sheet.mdx +18 -0
  59. package/dist/components/sidebar/sidebar-menu.css +183 -0
  60. package/dist/components/sidebar/sidebar-submenu.css +69 -0
  61. package/dist/components/sidebar/sidebar.css +171 -4
  62. package/dist/components/sidebar/sidebar.mdx +18 -0
  63. package/dist/components/slider/slider.mdx +18 -0
  64. package/dist/components/status-chip/status-chip.mdx +18 -0
  65. package/dist/components/table/table.css +5 -3
  66. package/dist/components/tabs/tabs.css +3 -3
  67. package/dist/components/textarea/textarea.css +3 -3
  68. package/dist/components/textarea/textarea.mdx +18 -0
  69. package/dist/components/toggle/toggle.css +9 -9
  70. package/dist/components/toggle/toggle.mdx +18 -0
  71. package/dist/components/toggle-group/toggle-group.mdx +18 -0
  72. package/dist/components/tooltip/tooltip.mdx +18 -0
  73. package/dist/components/typography/heading.mdx +36 -0
  74. package/dist/components/typography/text.mdx +34 -0
  75. package/dist/components/typography/typography.css +98 -0
  76. package/dist/components.css +1156 -164
  77. package/dist/index.cjs +1206 -958
  78. package/dist/index.cjs.map +1 -1
  79. package/dist/index.d.cts +657 -196
  80. package/dist/index.d.ts +657 -196
  81. package/dist/index.js +1174 -948
  82. package/dist/index.js.map +1 -1
  83. package/dist/preset.css +2 -4
  84. package/dist/styles/components.css +1156 -164
  85. package/dist/styles/preset.css +2 -4
  86. package/dist/styles/styles.css +7 -4
  87. package/dist/styles/utilities.css +137 -0
  88. package/dist/styles.css +7 -4
  89. package/dist/utilities.css +137 -0
  90. package/package.json +5 -6
@@ -0,0 +1,183 @@
1
+ .dl-sidebar-group {
2
+ position: relative;
3
+ display: flex;
4
+ width: 100%;
5
+ min-width: 0;
6
+ flex-direction: column;
7
+ padding: var(--space-2, 0.5rem);
8
+ }
9
+ .dl-sidebar-group-label {
10
+ display: flex;
11
+ height: var(--control-height-sm, 2rem);
12
+ flex-shrink: 0;
13
+ align-items: center;
14
+ border-radius: var(--radius-md, 0.375rem);
15
+ padding-inline: var(--space-2, 0.5rem);
16
+ font-size: 0.75rem;
17
+ font-weight: 500;
18
+ color: color-mix(in oklch, var(--sidebar-foreground) 70%, transparent);
19
+ outline: none;
20
+ transition:
21
+ margin 0.2s ease-linear,
22
+ opacity 0.2s ease-linear;
23
+ }
24
+ .dl-sidebar-group-label svg {
25
+ width: 1rem;
26
+ height: 1rem;
27
+ }
28
+ [data-collapsible="icon"] .dl-sidebar-group-label {
29
+ margin-top: -2rem;
30
+ opacity: 0;
31
+ }
32
+
33
+ .dl-sidebar-group-action {
34
+ position: absolute;
35
+ right: 0.75rem;
36
+ top: 0.875rem;
37
+ display: flex;
38
+ aspect-ratio: 1 / 1;
39
+ width: 1.25rem;
40
+ align-items: center;
41
+ justify-content: center;
42
+ border-radius: var(--radius-md, 0.375rem);
43
+ padding: 0;
44
+ background: transparent;
45
+ border: none;
46
+ color: var(--sidebar-foreground);
47
+ outline: none;
48
+ cursor: pointer;
49
+ }
50
+ .dl-sidebar-group-action:hover {
51
+ background-color: var(--sidebar-accent);
52
+ color: var(--sidebar-accent-foreground);
53
+ }
54
+ [data-collapsible="icon"] .dl-sidebar-group-action {
55
+ display: none;
56
+ }
57
+ .dl-sidebar-group-content {
58
+ width: 100%;
59
+ font-size: 0.875rem;
60
+ }
61
+
62
+ .dl-sidebar-menu {
63
+ display: flex;
64
+ width: 100%;
65
+ min-width: 0;
66
+ flex-direction: column;
67
+ gap: 0.25rem;
68
+ list-style: none;
69
+ padding: 0;
70
+ margin: 0;
71
+ }
72
+ .dl-sidebar-menu-item {
73
+ position: relative;
74
+ list-style: none;
75
+ }
76
+
77
+ .dl-sidebar-menu-button {
78
+ display: flex;
79
+ width: 100%;
80
+ align-items: center;
81
+ gap: 0.5rem;
82
+ overflow: hidden;
83
+ border-radius: var(--radius-md, 0.375rem);
84
+ padding: 0.5rem;
85
+ text-align: left;
86
+ outline: none;
87
+ border: none;
88
+ background: transparent;
89
+ color: inherit;
90
+ cursor: pointer;
91
+ text-decoration: none;
92
+ box-sizing: border-box;
93
+ transition:
94
+ width 0.15s ease,
95
+ height 0.15s ease,
96
+ padding 0.15s ease,
97
+ background-color 0.15s ease,
98
+ color 0.15s ease;
99
+ }
100
+ .dl-sidebar-menu-button:hover,
101
+ .dl-sidebar-menu-button[data-state="open"] {
102
+ background-color: var(--sidebar-accent);
103
+ color: var(--sidebar-accent-foreground);
104
+ }
105
+ .dl-sidebar-menu-button:active,
106
+ .dl-sidebar-menu-button[data-active="true"] {
107
+ background-color: var(--sidebar-accent);
108
+ color: var(--sidebar-accent-foreground);
109
+ font-weight: 500;
110
+ }
111
+ .dl-sidebar-menu-button:disabled,
112
+ .dl-sidebar-menu-button[aria-disabled="true"] {
113
+ pointer-events: none;
114
+ opacity: 0.5;
115
+ cursor: not-allowed;
116
+ }
117
+ .dl-sidebar-menu-button svg {
118
+ width: 1rem;
119
+ height: 1rem;
120
+ flex-shrink: 0;
121
+ }
122
+ .dl-sidebar-menu-button > span:last-child {
123
+ overflow: hidden;
124
+ text-overflow: ellipsis;
125
+ white-space: nowrap;
126
+ }
127
+ .dl-sidebar-menu-button[data-size="default"] {
128
+ height: var(--control-height-sm, 2rem);
129
+ font-size: 0.875rem;
130
+ }
131
+ .dl-sidebar-menu-button[data-size="sm"] {
132
+ height: var(--control-height-xs, 1.75rem);
133
+ font-size: 0.75rem;
134
+ }
135
+ .dl-sidebar-menu-button[data-size="lg"] {
136
+ height: var(--control-height-xl, 3rem);
137
+ font-size: 0.875rem;
138
+ }
139
+ .dl-sidebar-menu-button[data-variant="outline"] {
140
+ background-color: var(--background);
141
+ box-shadow: 0 0 0 1px var(--sidebar-border);
142
+ }
143
+ .dl-sidebar-menu-button[data-variant="outline"]:hover {
144
+ box-shadow: 0 0 0 1px var(--sidebar-accent);
145
+ }
146
+ [data-collapsible="icon"] .dl-sidebar-menu-button {
147
+ width: var(--control-height-sm, 2rem) !important;
148
+ height: var(--control-height-sm, 2rem) !important;
149
+ padding: var(--space-2, 0.5rem) !important;
150
+ }
151
+ [data-collapsible="icon"] .dl-sidebar-menu-button[data-size="lg"] {
152
+ padding: 0 !important;
153
+ }
154
+
155
+ .dl-sidebar-menu-action {
156
+ position: absolute;
157
+ right: 0.25rem;
158
+ top: 0.375rem;
159
+ display: flex;
160
+ aspect-ratio: 1 / 1;
161
+ width: 1.25rem;
162
+ align-items: center;
163
+ justify-content: center;
164
+ border-radius: var(--radius-md, 0.375rem);
165
+ padding: 0;
166
+ border: none;
167
+ background: transparent;
168
+ color: var(--sidebar-foreground);
169
+ cursor: pointer;
170
+ outline: none;
171
+ }
172
+ .dl-sidebar-menu-action:hover {
173
+ background-color: var(--sidebar-accent);
174
+ color: var(--sidebar-accent-foreground);
175
+ }
176
+ .dl-sidebar-menu-action svg {
177
+ width: 1rem;
178
+ height: 1rem;
179
+ flex-shrink: 0;
180
+ }
181
+ [data-collapsible="icon"] .dl-sidebar-menu-action {
182
+ display: none;
183
+ }
@@ -0,0 +1,69 @@
1
+ .dl-sidebar-menu-badge {
2
+ pointer-events: none;
3
+ position: absolute;
4
+ right: 0.25rem;
5
+ display: flex;
6
+ height: 1.25rem;
7
+ min-width: 1.25rem;
8
+ align-items: center;
9
+ justify-content: center;
10
+ border-radius: var(--radius-md, 0.375rem);
11
+ padding-inline: 0.25rem;
12
+ font-size: 0.75rem;
13
+ font-weight: 500;
14
+ font-variant-numeric: tabular-nums;
15
+ color: var(--sidebar-foreground);
16
+ }
17
+ [data-collapsible="icon"] .dl-sidebar-menu-badge {
18
+ display: none;
19
+ }
20
+
21
+ .dl-sidebar-menu-skeleton {
22
+ display: flex;
23
+ height: var(--control-height-sm, 2rem);
24
+ align-items: center;
25
+ gap: var(--space-2, 0.5rem);
26
+ border-radius: var(--radius-md, 0.375rem);
27
+ padding-inline: var(--space-2, 0.5rem);
28
+ }
29
+
30
+ .dl-sidebar-menu-sub {
31
+ margin-inline: 0.875rem;
32
+ display: flex;
33
+ min-width: 0;
34
+ flex-direction: column;
35
+ gap: var(--space-1, 0.25rem);
36
+ border-left: 1px solid var(--sidebar-border);
37
+ padding-inline: 0.625rem;
38
+ padding-block: 0.125rem;
39
+ list-style: none;
40
+ }
41
+ [data-collapsible="icon"] .dl-sidebar-menu-sub {
42
+ display: none;
43
+ }
44
+
45
+ .dl-sidebar-menu-sub-button {
46
+ display: flex;
47
+ height: var(--control-height-xs, 1.75rem);
48
+ min-width: 0;
49
+ align-items: center;
50
+ gap: var(--space-2, 0.5rem);
51
+ overflow: hidden;
52
+ border-radius: var(--radius-md, 0.375rem);
53
+ padding-inline: var(--space-2, 0.5rem);
54
+ color: var(--sidebar-foreground);
55
+ cursor: pointer;
56
+ text-decoration: none;
57
+ font-size: 0.875rem;
58
+ }
59
+ .dl-sidebar-menu-sub-button[data-size="sm"] {
60
+ font-size: 0.75rem;
61
+ }
62
+ .dl-sidebar-menu-sub-button:hover,
63
+ .dl-sidebar-menu-sub-button[data-active="true"] {
64
+ background-color: var(--sidebar-accent);
65
+ color: var(--sidebar-accent-foreground);
66
+ }
67
+ [data-collapsible="icon"] .dl-sidebar-menu-sub-button {
68
+ display: none;
69
+ }
@@ -1,18 +1,185 @@
1
1
  .dl-sidebar-wrapper {
2
2
  display: flex;
3
- min-height: 100vh;
3
+ min-height: 100svh;
4
4
  width: 100%;
5
5
  }
6
-
6
+ .dl-sidebar-wrapper[data-has-inset="true"] {
7
+ background-color: var(--sidebar);
8
+ }
7
9
  .dl-sidebar-input {
8
- height: 2rem;
10
+ height: var(--control-height-sm, 2rem);
9
11
  background-color: var(--background);
10
12
  box-shadow: none;
11
13
  }
12
-
13
14
  .dl-sidebar-input:focus,
14
15
  .dl-sidebar-input:focus-visible {
15
16
  border-color: var(--sidebar-ring);
16
17
  box-shadow: 0 0 0 2px
17
18
  color-mix(in oklch, var(--sidebar-ring) 25%, transparent);
18
19
  }
20
+
21
+ .dl-sidebar-desktop-spacer {
22
+ position: relative;
23
+ width: var(--sidebar-width, 16rem);
24
+ background-color: transparent;
25
+ transition: width 0.2s linear;
26
+ }
27
+ [data-collapsible="offcanvas"] .dl-sidebar-desktop-spacer {
28
+ width: 0;
29
+ }
30
+ [data-side="right"] .dl-sidebar-desktop-spacer {
31
+ transform: rotate(180deg);
32
+ }
33
+ [data-variant="floating"][data-collapsible="icon"] .dl-sidebar-desktop-spacer,
34
+ [data-variant="inset"][data-collapsible="icon"] .dl-sidebar-desktop-spacer {
35
+ width: calc(var(--sidebar-width-icon, 3rem) + 1rem);
36
+ }
37
+ [data-collapsible="icon"] .dl-sidebar-desktop-spacer {
38
+ width: var(--sidebar-width-icon, 3rem);
39
+ }
40
+
41
+ .dl-sidebar-fixed {
42
+ position: fixed;
43
+ inset-block: 0;
44
+ z-index: 10;
45
+ display: none;
46
+ height: 100svh;
47
+ width: var(--sidebar-width, 16rem);
48
+ transition:
49
+ left 0.2s linear,
50
+ right 0.2s linear,
51
+ width 0.2s linear;
52
+ }
53
+ @media (min-width: 768px) {
54
+ .dl-sidebar-fixed {
55
+ display: flex;
56
+ }
57
+ }
58
+ [data-side="left"] .dl-sidebar-fixed {
59
+ left: 0;
60
+ border-right: 1px solid var(--sidebar-border);
61
+ }
62
+ [data-side="left"][data-state="collapsed"][data-collapsible="offcanvas"]
63
+ .dl-sidebar-fixed {
64
+ left: calc(-1 * var(--sidebar-width, 16rem));
65
+ }
66
+ [data-side="right"] .dl-sidebar-fixed {
67
+ right: 0;
68
+ border-left: 1px solid var(--sidebar-border);
69
+ }
70
+ [data-side="right"][data-state="collapsed"][data-collapsible="offcanvas"]
71
+ .dl-sidebar-fixed {
72
+ right: calc(-1 * var(--sidebar-width, 16rem));
73
+ }
74
+ [data-variant="floating"] .dl-sidebar-fixed,
75
+ [data-variant="inset"] .dl-sidebar-fixed {
76
+ padding: var(--space-2, 0.5rem);
77
+ border: none;
78
+ }
79
+ [data-variant="floating"][data-collapsible="icon"] .dl-sidebar-fixed,
80
+ [data-variant="inset"][data-collapsible="icon"] .dl-sidebar-fixed {
81
+ width: calc(var(--sidebar-width-icon, 3rem) + 1rem + 2px);
82
+ }
83
+ [data-collapsible="icon"] .dl-sidebar-fixed {
84
+ width: var(--sidebar-width-icon, 3rem);
85
+ }
86
+
87
+ .dl-sidebar-inner {
88
+ display: flex;
89
+ flex-direction: column;
90
+ width: 100%;
91
+ height: 100%;
92
+ background-color: var(--sidebar);
93
+ color: var(--sidebar-foreground);
94
+ }
95
+ [data-variant="floating"] .dl-sidebar-inner {
96
+ border-radius: var(--radius-lg, 0.5rem);
97
+ border: 1px solid var(--sidebar-border);
98
+ box-shadow: var(--shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05));
99
+ }
100
+
101
+ .dl-sidebar-mobile-content {
102
+ display: flex;
103
+ flex-direction: column;
104
+ width: 100%;
105
+ height: 100%;
106
+ }
107
+ .dl-sidebar-trigger {
108
+ width: var(--control-height-xs, 1.75rem);
109
+ height: var(--control-height-xs, 1.75rem);
110
+ padding: 0;
111
+ }
112
+
113
+ .dl-sidebar-rail {
114
+ position: absolute;
115
+ inset-block: 0;
116
+ z-index: 20;
117
+ display: none;
118
+ width: 1rem;
119
+ transform: translateX(-50%);
120
+ background: transparent;
121
+ border: none;
122
+ cursor: col-resize;
123
+ padding: 0;
124
+ transition: all 0.2s linear;
125
+ }
126
+ @media (min-width: 640px) {
127
+ .dl-sidebar-rail {
128
+ display: flex;
129
+ }
130
+ }
131
+ .dl-sidebar-rail::after {
132
+ content: "";
133
+ position: absolute;
134
+ inset-block: 0;
135
+ left: 50%;
136
+ width: 2px;
137
+ }
138
+ .dl-sidebar-rail:hover::after {
139
+ background-color: var(--sidebar-border);
140
+ }
141
+ [data-side="left"] .dl-sidebar-rail {
142
+ right: -1rem;
143
+ }
144
+ [data-side="right"] .dl-sidebar-rail {
145
+ left: 0;
146
+ }
147
+
148
+ .dl-sidebar-inset {
149
+ position: relative;
150
+ display: flex;
151
+ width: 100%;
152
+ flex: 1 1 0%;
153
+ flex-direction: column;
154
+ background-color: var(--background);
155
+ }
156
+ @media (min-width: 768px) {
157
+ .dl-sidebar[data-variant="inset"] ~ .dl-sidebar-inset,
158
+ [data-variant="inset"] .dl-sidebar-inset {
159
+ margin: var(--space-2, 0.5rem);
160
+ margin-left: 0;
161
+ border-radius: var(--radius-xl, 0.75rem);
162
+ box-shadow: var(--shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05));
163
+ }
164
+ }
165
+
166
+ .dl-sidebar-header,
167
+ .dl-sidebar-footer {
168
+ display: flex;
169
+ flex-direction: column;
170
+ gap: var(--space-2, 0.5rem);
171
+ padding: var(--space-2, 0.5rem);
172
+ }
173
+ .dl-sidebar-separator {
174
+ margin-inline: var(--space-2, 0.5rem);
175
+ width: auto;
176
+ background-color: var(--sidebar-border);
177
+ }
178
+ .dl-sidebar-content {
179
+ display: flex;
180
+ min-height: 0;
181
+ flex: 1 1 0%;
182
+ flex-direction: column;
183
+ gap: var(--space-2, 0.5rem);
184
+ overflow: auto;
185
+ }
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as SidebarStories from "./sidebar.stories";
3
+
4
+ <Meta of={SidebarStories} />
5
+
6
+ <Title />
7
+
8
+ # Sidebar
9
+
10
+ Collapsible application sidebar layout supporting responsive breakpoints, header, and footer docks.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={SidebarStories.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 SliderStories from "./slider.stories";
3
+
4
+ <Meta of={SliderStories} />
5
+
6
+ <Title />
7
+
8
+ # Slider
9
+
10
+ Interactive range slider input control for selecting numeric values along a track.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={SliderStories.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 StatusChipStories from "./status-chip.stories";
3
+
4
+ <Meta of={StatusChipStories} />
5
+
6
+ <Title />
7
+
8
+ # Status Chip
9
+
10
+ Compact lifecycle status badge displaying status tones and indicator dots.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={StatusChipStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -28,15 +28,17 @@
28
28
  transition: background-color 0.1s;
29
29
  }
30
30
  .dl-table__head-cell {
31
- height: 2.5rem;
32
- padding: 0 0.5rem;
31
+ height: var(--control-height-md, 2.5rem);
32
+ padding: var(--table-row-padding-y, 0.5rem)
33
+ var(--table-row-padding-x, 0.75rem);
33
34
  text-align: left;
34
35
  font-weight: 500;
35
36
  color: var(--muted-foreground);
36
37
  white-space: nowrap;
37
38
  }
38
39
  .dl-table__cell {
39
- padding: 0.75rem 0.5rem;
40
+ padding: var(--table-row-padding-y, 0.75rem)
41
+ var(--table-row-padding-x, 0.75rem);
40
42
  vertical-align: middle;
41
43
  }
42
44
  .dl-table__caption {
@@ -1,9 +1,9 @@
1
1
  .dl-tabs-list {
2
2
  display: inline-flex;
3
- height: 2.25rem;
3
+ height: var(--control-height-md, 2.25rem);
4
4
  align-items: center;
5
5
  justify-content: center;
6
- border-radius: var(--radius-lg, 0.5rem);
6
+ border-radius: var(--radius, 0.5rem);
7
7
  background-color: var(--muted);
8
8
  padding: 0.25rem;
9
9
  color: var(--muted-foreground);
@@ -13,7 +13,7 @@
13
13
  align-items: center;
14
14
  justify-content: center;
15
15
  white-space: nowrap;
16
- border-radius: var(--radius-md, 0.375rem);
16
+ border-radius: calc(var(--radius, 0.5rem) - 2px);
17
17
  padding: 0.25rem 0.75rem;
18
18
  font-size: 0.875rem;
19
19
  font-weight: 500;
@@ -2,11 +2,11 @@
2
2
  display: block;
3
3
  min-height: 4rem;
4
4
  width: 100%;
5
- border-radius: var(--radius-md, 0.375rem);
5
+ border-radius: var(--radius, 0.375rem);
6
6
  border: 1px solid var(--input);
7
7
  background-color: transparent;
8
- padding-block: 0.5rem;
9
- padding-inline: 0.75rem;
8
+ padding-block: var(--space-2, 0.5rem);
9
+ padding-inline: var(--space-3, 0.75rem);
10
10
  font-size: 0.75rem;
11
11
  font-family: inherit;
12
12
  color: var(--foreground);
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as TextareaStories from "./textarea.stories";
3
+
4
+ <Meta of={TextareaStories} />
5
+
6
+ <Title />
7
+
8
+ # Textarea
9
+
10
+ Multi-line form text input element supporting token-based borders, focus rings, and sizing.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={TextareaStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -65,21 +65,21 @@
65
65
 
66
66
  /* Sizes */
67
67
  .dl-toggle--size-default {
68
- height: 2.25rem;
69
- padding-inline: 0.5rem;
70
- min-width: 2.25rem;
68
+ height: var(--control-height-md, 2.25rem);
69
+ padding-inline: var(--space-2, 0.5rem);
70
+ min-width: var(--control-height-md, 2.25rem);
71
71
  }
72
72
 
73
73
  .dl-toggle--size-sm {
74
- height: 2rem;
75
- padding-inline: 0.375rem;
76
- min-width: 2rem;
74
+ height: var(--control-height-sm, 2rem);
75
+ padding-inline: calc(var(--space-2, 0.5rem) - 2px);
76
+ min-width: var(--control-height-sm, 2rem);
77
77
  }
78
78
 
79
79
  .dl-toggle--size-lg {
80
- height: 2.5rem;
81
- padding-inline: 0.625rem;
82
- min-width: 2.5rem;
80
+ height: var(--control-height-lg, 2.5rem);
81
+ padding-inline: var(--space-3, 0.75rem);
82
+ min-width: var(--control-height-lg, 2.5rem);
83
83
  }
84
84
 
85
85
  /* Group */
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as ToggleStories from "./toggle.stories";
3
+
4
+ <Meta of={ToggleStories} />
5
+
6
+ <Title />
7
+
8
+ # Toggle
9
+
10
+ Two-state button that can be either on or off.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={ToggleStories.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 ToggleGroupStories from "./toggle-group.stories";
3
+
4
+ <Meta of={ToggleGroupStories} />
5
+
6
+ <Title />
7
+
8
+ # Toggle Group
9
+
10
+ Group of two-state toggle buttons configured for single or multiple selection.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={ToggleGroupStories.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 TooltipStories from "./tooltip.stories";
3
+
4
+ <Meta of={TooltipStories} />
5
+
6
+ <Title />
7
+
8
+ # Tooltip
9
+
10
+ Popup that displays contextual information related to an element when focused or hovered.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={TooltipStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -0,0 +1,36 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as HeadingStories from "./heading.stories";
3
+
4
+ <Meta of={HeadingStories} />
5
+
6
+ <Title />
7
+
8
+ # Heading
9
+
10
+ Accessible typography heading primitive that decouples semantic DOM hierarchy (`as="h1"`) from visual presentation size (`size="h3"`).
11
+
12
+ ## Default
13
+
14
+ <Canvas of={HeadingStories.Default} />
15
+
16
+ ## All Sizes
17
+
18
+ Available in `display`, `h1`, `h2`, `h3`, `h4`, `h5`, and `h6`.
19
+
20
+ <Canvas of={HeadingStories.AllSizes} />
21
+
22
+ ## Decoupled Semantic Hierarchy
23
+
24
+ Ensures document accessibility and SEO compliance by allowing headings to render the correct semantic level while visually matching the UI design specs.
25
+
26
+ <Canvas of={HeadingStories.DecoupledHierarchy} />
27
+
28
+ ## Color Variants
29
+
30
+ Supports semantic token colors: `default`, `primary`, `muted`, `success`, `warning`, `destructive`, and `info`.
31
+
32
+ <Canvas of={HeadingStories.ColorVariants} />
33
+
34
+ ## Component Properties
35
+
36
+ <Controls />