@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.
- package/README.md +172 -128
- package/dist/components/accordion/accordion.mdx +18 -0
- package/dist/components/alert/alert.css +2 -2
- package/dist/components/alert-dialog/alert-dialog.mdx +18 -0
- package/dist/components/aspect-ratio/aspect-ratio.mdx +22 -0
- package/dist/components/breadcrumb/breadcrumb.mdx +18 -0
- package/dist/components/calendar/calendar-nav.css +111 -0
- package/dist/components/calendar/calendar.css +183 -0
- package/dist/components/calendar/calendar.mdx +18 -0
- package/dist/components/card/card.css +4 -4
- package/dist/components/carousel/carousel.css +4 -4
- package/dist/components/carousel/carousel.mdx +18 -0
- package/dist/components/chart/chart.css +86 -0
- package/dist/components/chart/chart.mdx +18 -0
- package/dist/components/checkbox/checkbox.css +11 -0
- package/dist/components/collapsible/collapsible.mdx +18 -0
- package/dist/components/command/command.css +3 -3
- package/dist/components/command/command.mdx +18 -0
- package/dist/components/confirm-dialog/confirm-dialog.mdx +18 -0
- package/dist/components/context-menu/context-menu.mdx +18 -0
- package/dist/components/copy-button/copy-button.css +2 -0
- package/dist/components/copy-button/copy-button.mdx +18 -0
- package/dist/components/date-picker/date-picker.css +11 -5
- package/dist/components/date-picker/date-picker.mdx +18 -0
- package/dist/components/dialog/dialog.css +6 -6
- package/dist/components/drawer/drawer.mdx +18 -0
- package/dist/components/dropdown-menu/dropdown-menu.css +18 -0
- package/dist/components/dropdown-menu/dropdown-menu.mdx +18 -0
- package/dist/components/empty-state/empty-state.css +67 -0
- package/dist/components/empty-state/empty-state.mdx +18 -0
- package/dist/components/form/form.mdx +18 -0
- package/dist/components/hover-card/hover-card.mdx +18 -0
- package/dist/components/input-otp/input-otp.mdx +18 -0
- package/dist/components/label/label.mdx +18 -0
- package/dist/components/layout/layout.css +158 -0
- package/dist/components/layout/layout.mdx +30 -0
- package/dist/components/loading-state/loading-state.css +11 -0
- package/dist/components/loading-state/loading-state.mdx +18 -0
- package/dist/components/menubar/menubar.css +4 -4
- package/dist/components/menubar/menubar.mdx +18 -0
- package/dist/components/metric-card/metric-card.mdx +18 -0
- package/dist/components/navigation-menu/navigation-menu.css +2 -2
- package/dist/components/navigation-menu/navigation-menu.mdx +18 -0
- package/dist/components/pagination/pagination.css +8 -2
- package/dist/components/pagination/pagination.mdx +18 -0
- package/dist/components/panel/panel.mdx +18 -0
- package/dist/components/popover/popover.css +7 -2
- package/dist/components/popover/popover.mdx +18 -0
- package/dist/components/radio-group/radio-group.mdx +18 -0
- package/dist/components/resizable/resizable.mdx +18 -0
- package/dist/components/scroll-area/scroll-area.mdx +18 -0
- package/dist/components/searchable-select/searchable-select.css +26 -3
- package/dist/components/searchable-select/searchable-select.mdx +18 -0
- package/dist/components/secret-reveal-card/secret-reveal-card.css +9 -0
- package/dist/components/secret-reveal-card/secret-reveal-card.mdx +18 -0
- package/dist/components/select/select.css +16 -1
- package/dist/components/separator/separator.mdx +18 -0
- package/dist/components/sheet/sheet.css +5 -1
- package/dist/components/sheet/sheet.mdx +18 -0
- package/dist/components/sidebar/sidebar-menu.css +183 -0
- package/dist/components/sidebar/sidebar-submenu.css +69 -0
- package/dist/components/sidebar/sidebar.css +171 -4
- package/dist/components/sidebar/sidebar.mdx +18 -0
- package/dist/components/slider/slider.mdx +18 -0
- package/dist/components/status-chip/status-chip.mdx +18 -0
- package/dist/components/table/table.css +5 -3
- package/dist/components/tabs/tabs.css +3 -3
- package/dist/components/textarea/textarea.css +3 -3
- package/dist/components/textarea/textarea.mdx +18 -0
- package/dist/components/toggle/toggle.css +9 -9
- package/dist/components/toggle/toggle.mdx +18 -0
- package/dist/components/toggle-group/toggle-group.mdx +18 -0
- package/dist/components/tooltip/tooltip.mdx +18 -0
- package/dist/components/typography/heading.mdx +36 -0
- package/dist/components/typography/text.mdx +34 -0
- package/dist/components/typography/typography.css +98 -0
- package/dist/components.css +1366 -118
- package/dist/index.cjs +1239 -1008
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +662 -197
- package/dist/index.d.ts +662 -197
- package/dist/index.js +1220 -1011
- package/dist/index.js.map +1 -1
- package/dist/preset.css +2 -4
- package/dist/styles/components.css +1366 -118
- package/dist/styles/preset.css +2 -4
- package/dist/styles/styles.css +7 -4
- package/dist/styles/utilities.css +137 -0
- package/dist/styles.css +7 -4
- package/dist/utilities.css +137 -0
- 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
|
|
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 />
|
|
@@ -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
|
-
|
|
29
|
-
|
|
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
|
|
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 />
|