@yuva-devlab/ui 1.4.3 → 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 (91) hide show
  1. package/README.md +172 -128
  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 +183 -0
  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.css +2 -0
  22. package/dist/components/copy-button/copy-button.mdx +18 -0
  23. package/dist/components/date-picker/date-picker.css +11 -5
  24. package/dist/components/date-picker/date-picker.mdx +18 -0
  25. package/dist/components/dialog/dialog.css +6 -6
  26. package/dist/components/drawer/drawer.mdx +18 -0
  27. package/dist/components/dropdown-menu/dropdown-menu.css +18 -0
  28. package/dist/components/dropdown-menu/dropdown-menu.mdx +18 -0
  29. package/dist/components/empty-state/empty-state.css +67 -0
  30. package/dist/components/empty-state/empty-state.mdx +18 -0
  31. package/dist/components/form/form.mdx +18 -0
  32. package/dist/components/hover-card/hover-card.mdx +18 -0
  33. package/dist/components/input-otp/input-otp.mdx +18 -0
  34. package/dist/components/label/label.mdx +18 -0
  35. package/dist/components/layout/layout.css +158 -0
  36. package/dist/components/layout/layout.mdx +30 -0
  37. package/dist/components/loading-state/loading-state.css +11 -0
  38. package/dist/components/loading-state/loading-state.mdx +18 -0
  39. package/dist/components/menubar/menubar.css +4 -4
  40. package/dist/components/menubar/menubar.mdx +18 -0
  41. package/dist/components/metric-card/metric-card.mdx +18 -0
  42. package/dist/components/navigation-menu/navigation-menu.css +2 -2
  43. package/dist/components/navigation-menu/navigation-menu.mdx +18 -0
  44. package/dist/components/pagination/pagination.css +8 -2
  45. package/dist/components/pagination/pagination.mdx +18 -0
  46. package/dist/components/panel/panel.mdx +18 -0
  47. package/dist/components/popover/popover.css +7 -2
  48. package/dist/components/popover/popover.mdx +18 -0
  49. package/dist/components/radio-group/radio-group.mdx +18 -0
  50. package/dist/components/resizable/resizable.mdx +18 -0
  51. package/dist/components/scroll-area/scroll-area.mdx +18 -0
  52. package/dist/components/searchable-select/searchable-select.css +26 -3
  53. package/dist/components/searchable-select/searchable-select.mdx +18 -0
  54. package/dist/components/secret-reveal-card/secret-reveal-card.css +9 -0
  55. package/dist/components/secret-reveal-card/secret-reveal-card.mdx +18 -0
  56. package/dist/components/select/select.css +16 -1
  57. package/dist/components/separator/separator.mdx +18 -0
  58. package/dist/components/sheet/sheet.css +5 -1
  59. package/dist/components/sheet/sheet.mdx +18 -0
  60. package/dist/components/sidebar/sidebar-menu.css +183 -0
  61. package/dist/components/sidebar/sidebar-submenu.css +69 -0
  62. package/dist/components/sidebar/sidebar.css +171 -4
  63. package/dist/components/sidebar/sidebar.mdx +18 -0
  64. package/dist/components/slider/slider.mdx +18 -0
  65. package/dist/components/status-chip/status-chip.mdx +18 -0
  66. package/dist/components/table/table.css +5 -3
  67. package/dist/components/tabs/tabs.css +3 -3
  68. package/dist/components/textarea/textarea.css +3 -3
  69. package/dist/components/textarea/textarea.mdx +18 -0
  70. package/dist/components/toggle/toggle.css +9 -9
  71. package/dist/components/toggle/toggle.mdx +18 -0
  72. package/dist/components/toggle-group/toggle-group.mdx +18 -0
  73. package/dist/components/tooltip/tooltip.mdx +18 -0
  74. package/dist/components/typography/heading.mdx +36 -0
  75. package/dist/components/typography/text.mdx +34 -0
  76. package/dist/components/typography/typography.css +98 -0
  77. package/dist/components.css +1366 -118
  78. package/dist/index.cjs +1239 -1008
  79. package/dist/index.cjs.map +1 -1
  80. package/dist/index.d.cts +662 -197
  81. package/dist/index.d.ts +662 -197
  82. package/dist/index.js +1220 -1011
  83. package/dist/index.js.map +1 -1
  84. package/dist/preset.css +2 -4
  85. package/dist/styles/components.css +1366 -118
  86. package/dist/styles/preset.css +2 -4
  87. package/dist/styles/styles.css +7 -4
  88. package/dist/styles/utilities.css +137 -0
  89. package/dist/styles.css +7 -4
  90. package/dist/utilities.css +137 -0
  91. package/package.json +22 -4
@@ -0,0 +1,183 @@
1
+ .dl-calendar {
2
+ --cell-size: var(--control-height-sm, 2rem);
3
+ display: inline-block;
4
+ width: fit-content;
5
+ max-width: 100%;
6
+ padding: var(--space-3, 0.75rem);
7
+ box-sizing: border-box;
8
+ color: var(--foreground);
9
+ }
10
+
11
+ .dl-calendar .rdp-root {
12
+ width: fit-content;
13
+ margin: 0 auto;
14
+ }
15
+
16
+ .dl-calendar .rdp-months,
17
+ .dl-calendar .dl-calendar__months {
18
+ position: relative;
19
+ display: flex;
20
+ flex-direction: column;
21
+ gap: 1rem;
22
+ width: calc(var(--cell-size, 2rem) * 7);
23
+ box-sizing: border-box;
24
+ }
25
+
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 {
35
+ display: flex;
36
+ flex-direction: column;
37
+ gap: 0.75rem;
38
+ width: 100%;
39
+ }
40
+
41
+ .dl-calendar table.rdp-month_grid,
42
+ .dl-calendar table.dl-calendar__table,
43
+ .dl-calendar table {
44
+ width: 100%;
45
+ border-collapse: collapse;
46
+ table-layout: fixed;
47
+ margin: 0;
48
+ }
49
+
50
+ .dl-calendar th.rdp-weekday,
51
+ .dl-calendar th {
52
+ width: calc(100% / 7);
53
+ height: var(--cell-size, 2rem);
54
+ text-align: center;
55
+ vertical-align: middle;
56
+ font-size: 0.75rem;
57
+ font-weight: 500;
58
+ color: var(--muted-foreground);
59
+ padding: 0;
60
+ margin: 0;
61
+ box-sizing: border-box;
62
+ }
63
+
64
+ .dl-calendar td.rdp-day,
65
+ .dl-calendar td {
66
+ width: calc(100% / 7);
67
+ height: var(--cell-size, 2rem);
68
+ padding: 2px !important;
69
+ margin: 0;
70
+ text-align: center;
71
+ vertical-align: middle;
72
+ background: transparent !important;
73
+ border: none !important;
74
+ box-sizing: border-box;
75
+ }
76
+
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
+
86
+ .dl-calendar button.rdp-day_button,
87
+ .dl-calendar .dl-calendar__day-button {
88
+ width: 100% !important;
89
+ height: 100% !important;
90
+ min-width: 0 !important;
91
+ min-height: 0 !important;
92
+ margin: 0 auto !important;
93
+ padding: 0 !important;
94
+ display: inline-flex !important;
95
+ align-items: center;
96
+ justify-content: center;
97
+ aspect-ratio: 1 / 1;
98
+ border-radius: var(--radius-md, 0.375rem) !important;
99
+ border: none !important;
100
+ font-size: 0.875rem;
101
+ font-weight: 400;
102
+ line-height: 1;
103
+ color: var(--foreground);
104
+ background: transparent;
105
+ cursor: pointer;
106
+ box-sizing: border-box;
107
+ transition: all 0.15s ease;
108
+ }
109
+
110
+ .dl-calendar button.rdp-day_button:hover:not(:disabled) {
111
+ background-color: var(--accent) !important;
112
+ color: var(--accent-foreground) !important;
113
+ }
114
+
115
+ .dl-calendar td[aria-selected="true"] button.rdp-day_button,
116
+ .dl-calendar td.rdp-selected button.rdp-day_button,
117
+ .dl-calendar button.rdp-day_button[data-selected="true"],
118
+ .dl-calendar button.rdp-day_button[data-selected-single="true"] {
119
+ background-color: var(--primary) !important;
120
+ color: var(--primary-foreground) !important;
121
+ border-radius: var(--radius-md, 0.375rem) !important;
122
+ font-weight: 600;
123
+ box-shadow: 0 1px 2px rgb(0 0 0 / 0.12);
124
+ }
125
+
126
+ .dl-calendar td[aria-selected="true"] button.rdp-day_button:hover,
127
+ .dl-calendar td.rdp-selected button.rdp-day_button:hover,
128
+ .dl-calendar button.rdp-day_button[data-selected="true"]:hover,
129
+ .dl-calendar button.rdp-day_button[data-selected-single="true"]:hover {
130
+ background-color: color-mix(in oklch, var(--primary) 88%, black) !important;
131
+ color: var(--primary-foreground) !important;
132
+ }
133
+
134
+ .dl-calendar
135
+ td.rdp-today:not([aria-selected="true"]):not(.rdp-selected)
136
+ button.rdp-day_button {
137
+ background-color: color-mix(
138
+ in oklch,
139
+ var(--secondary) 60%,
140
+ transparent
141
+ ) !important;
142
+ color: var(--foreground) !important;
143
+ font-weight: 600;
144
+ border: 1px solid var(--border) !important;
145
+ }
146
+
147
+ .dl-calendar td.rdp-range_start {
148
+ background-color: var(--accent) !important;
149
+ border-radius: var(--radius-md, 0.375rem) 0 0 var(--radius-md, 0.375rem) !important;
150
+ }
151
+
152
+ .dl-calendar td.rdp-range_middle {
153
+ background-color: var(--accent) !important;
154
+ border-radius: 0 !important;
155
+ }
156
+
157
+ .dl-calendar td.rdp-range_middle button.rdp-day_button {
158
+ background: transparent !important;
159
+ color: var(--accent-foreground) !important;
160
+ border-radius: 0 !important;
161
+ }
162
+
163
+ .dl-calendar td.rdp-range_end {
164
+ background-color: var(--accent) !important;
165
+ border-radius: 0 var(--radius-md, 0.375rem) var(--radius-md, 0.375rem) !important;
166
+ }
167
+
168
+ .dl-calendar td.rdp-outside button.rdp-day_button {
169
+ color: var(--muted-foreground) !important;
170
+ opacity: 0.35;
171
+ }
172
+
173
+ .dl-calendar button.rdp-day_button:disabled {
174
+ color: var(--muted-foreground) !important;
175
+ opacity: 0.25;
176
+ cursor: not-allowed;
177
+ pointer-events: none;
178
+ }
179
+
180
+ .dl-calendar td.rdp-hidden {
181
+ visibility: hidden;
182
+ pointer-events: none;
183
+ }
@@ -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 />
@@ -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,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as CollapsibleStories from "./collapsible.stories";
3
+
4
+ <Meta of={CollapsibleStories} />
5
+
6
+ <Title />
7
+
8
+ # Collapsible
9
+
10
+ Interactive component that expands and collapses a section of secondary content.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={CollapsibleStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -18,11 +18,11 @@
18
18
  display: flex;
19
19
  align-items: center;
20
20
  border-bottom: 1px solid var(--border);
21
- padding-inline: 0.75rem;
21
+ padding-inline: var(--space-3, 0.75rem);
22
22
  }
23
23
 
24
24
  .dl-command-input-icon {
25
- margin-inline-end: 0.5rem;
25
+ margin-inline-end: var(--space-2, 0.5rem);
26
26
  width: 1rem;
27
27
  height: 1rem;
28
28
  flex-shrink: 0;
@@ -31,7 +31,7 @@
31
31
 
32
32
  .dl-command-input {
33
33
  display: flex;
34
- height: 2.5rem;
34
+ height: var(--control-height-lg, 2.5rem);
35
35
  width: 100%;
36
36
  border-radius: var(--radius-md, 0.375rem);
37
37
  background-color: transparent;
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as CommandStories from "./command.stories";
3
+
4
+ <Meta of={CommandStories} />
5
+
6
+ <Title />
7
+
8
+ # Command
9
+
10
+ Fast, composable, unstyled command menu palette for searching, filtering, and triggering actions.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={CommandStories.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 ConfirmDialogStories from "./confirm-dialog.stories";
3
+
4
+ <Meta of={ConfirmDialogStories} />
5
+
6
+ <Title />
7
+
8
+ # Confirm Dialog
9
+
10
+ Pre-configured dialog component for confirming user decisions before destructive or critical actions.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={ConfirmDialogStories.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 ContextMenuStories from "./context-menu.stories";
3
+
4
+ <Meta of={ContextMenuStories} />
5
+
6
+ <Title />
7
+
8
+ # Context Menu
9
+
10
+ Right-click contextual menu providing contextual actions anchored to targeted elements.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={ContextMenuStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -13,6 +13,8 @@
13
13
  cursor: pointer;
14
14
  transition: all 0.15s ease;
15
15
  user-select: none;
16
+ white-space: nowrap;
17
+ flex-shrink: 0;
16
18
  }
17
19
 
18
20
  .dl-copy-button:hover {
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as CopyButtonStories from "./copy-button.stories";
3
+
4
+ <Meta of={CopyButtonStories} />
5
+
6
+ <Title />
7
+
8
+ # Copy Button
9
+
10
+ One-click clipboard copying trigger with visual icon state transitions and tooltip feedback.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={CopyButtonStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -3,7 +3,7 @@
3
3
  justify-content: flex-start;
4
4
  text-align: left;
5
5
  font-weight: 400;
6
- height: 2.25rem;
6
+ height: var(--control-height-md, 2.25rem);
7
7
  border-color: var(--border);
8
8
  background-color: color-mix(in oklch, var(--secondary) 40%, transparent);
9
9
  }
@@ -18,13 +18,19 @@
18
18
  }
19
19
 
20
20
  .dl-date-picker-icon {
21
- margin-inline-end: 0.5rem;
21
+ margin-inline-end: var(--space-2, 0.5rem);
22
22
  width: 1rem;
23
23
  height: 1rem;
24
24
  flex-shrink: 0;
25
25
  }
26
26
 
27
- .dl-date-picker-content {
28
- width: auto;
29
- padding: 0;
27
+ .dl-date-picker-content,
28
+ .dl-popover.dl-date-picker-content {
29
+ width: fit-content !important;
30
+ max-width: fit-content !important;
31
+ padding: 0 !important;
32
+ box-shadow: 0 4px 20px rgb(0 0 0 / 0.15);
33
+ border-radius: var(--radius-lg, 0.5rem);
34
+ border: 1px solid var(--border);
35
+ background-color: var(--popover);
30
36
  }
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as DatePickerStories from "./date-picker.stories";
3
+
4
+ <Meta of={DatePickerStories} />
5
+
6
+ <Title />
7
+
8
+ # Date Picker
9
+
10
+ Accessible date picker component featuring an interactive popover calendar with local timezone safety.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={DatePickerStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -28,7 +28,7 @@
28
28
  padding: 0;
29
29
  gap: 0;
30
30
  box-shadow: 0 16px 48px rgb(0 0 0 / 0.24);
31
- border-radius: var(--radius-lg, 0.75rem);
31
+ border-radius: var(--radius, 0.75rem);
32
32
  overflow: hidden;
33
33
  overscroll-behavior: contain;
34
34
  }
@@ -112,8 +112,8 @@
112
112
  .dl-dialog__header {
113
113
  display: flex;
114
114
  flex-direction: column;
115
- gap: 0.375rem;
116
- padding: 1.25rem 1.5rem;
115
+ gap: var(--form-field-gap, 0.375rem);
116
+ padding: var(--dialog-padding, 1.25rem 1.5rem);
117
117
  padding-right: 3.5rem;
118
118
  border-bottom: 1px solid var(--border);
119
119
  flex-shrink: 0;
@@ -122,14 +122,14 @@
122
122
  flex: 1 1 auto;
123
123
  min-height: 0;
124
124
  overflow-y: auto;
125
- padding: 1.25rem 1.5rem;
125
+ padding: var(--dialog-padding, 1.25rem 1.5rem);
126
126
  }
127
127
  .dl-dialog__footer {
128
128
  display: flex;
129
129
  flex-direction: row;
130
130
  justify-content: flex-end;
131
- gap: 0.5rem;
132
- padding: 0.875rem 1.5rem;
131
+ gap: var(--form-field-gap, 0.5rem);
132
+ padding: var(--dialog-padding, 0.875rem 1.5rem);
133
133
  border-top: 1px solid var(--border);
134
134
  background-color: color-mix(in srgb, var(--muted) 35%, transparent);
135
135
  flex-shrink: 0;
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as DrawerStories from "./drawer.stories";
3
+
4
+ <Meta of={DrawerStories} />
5
+
6
+ <Title />
7
+
8
+ # Drawer
9
+
10
+ Sliding modal drawer panel typically anchored to the viewport edge for secondary tasks.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={DrawerStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />
@@ -51,6 +51,24 @@
51
51
  font-weight: 600;
52
52
  color: var(--muted-foreground);
53
53
  }
54
+ .dl-menu-item--inset,
55
+ .dl-menu-label--inset {
56
+ padding-left: 2rem;
57
+ }
58
+ .dl-menu-item__chevron {
59
+ margin-left: auto;
60
+ width: 1rem;
61
+ height: 1rem;
62
+ }
63
+ .dl-menu-item__icon {
64
+ width: 1rem;
65
+ height: 1rem;
66
+ }
67
+ .dl-menu-item__radio-dot {
68
+ width: 0.5rem;
69
+ height: 0.5rem;
70
+ fill: currentColor;
71
+ }
54
72
  .dl-menu-separator {
55
73
  margin: 0.25rem -0.25rem;
56
74
  height: 1px;
@@ -0,0 +1,18 @@
1
+ import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
2
+ import * as DropdownMenuStories from "./dropdown-menu.stories";
3
+
4
+ <Meta of={DropdownMenuStories} />
5
+
6
+ <Title />
7
+
8
+ # Dropdown Menu
9
+
10
+ Displays a menu of actions or options triggered by a button with full keyboard navigation.
11
+
12
+ ## Default
13
+
14
+ <Canvas of={DropdownMenuStories.Default} />
15
+
16
+ ## Component Properties
17
+
18
+ <Controls />