@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.
- package/README.md +117 -33
- 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 +27 -82
- 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.mdx +18 -0
- package/dist/components/date-picker/date-picker.css +2 -2
- 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 +2 -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 +6 -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 +1156 -164
- package/dist/index.cjs +1206 -958
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +657 -196
- package/dist/index.d.ts +657 -196
- package/dist/index.js +1174 -948
- package/dist/index.js.map +1 -1
- package/dist/preset.css +2 -4
- package/dist/styles/components.css +1156 -164
- 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 +5 -6
|
@@ -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,7 +18,7 @@
|
|
|
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;
|
|
@@ -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 />
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file empty-state.css
|
|
3
|
+
* @description Scoped styles for the EmptyState component.
|
|
4
|
+
* Governed by semantic design tokens.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
.dl-empty-state {
|
|
8
|
+
position: relative;
|
|
9
|
+
display: flex;
|
|
10
|
+
min-height: 14rem;
|
|
11
|
+
width: 100%;
|
|
12
|
+
flex-direction: column;
|
|
13
|
+
align-items: center;
|
|
14
|
+
justify-content: center;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
border-radius: var(--radius, 0.5rem);
|
|
17
|
+
border: 1px dashed var(--border);
|
|
18
|
+
background-color: color-mix(in oklab, var(--card) 40%, transparent);
|
|
19
|
+
padding: var(--card-padding, var(--space-6, 1.5rem));
|
|
20
|
+
text-align: center;
|
|
21
|
+
backdrop-filter: blur(8px);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.dl-empty-state__icon-box {
|
|
25
|
+
display: flex;
|
|
26
|
+
align-items: center;
|
|
27
|
+
justify-content: center;
|
|
28
|
+
width: var(--control-height-lg, 2.5rem);
|
|
29
|
+
height: var(--control-height-lg, 2.5rem);
|
|
30
|
+
border-radius: var(--radius-md, 0.375rem);
|
|
31
|
+
border: 1px solid color-mix(in oklab, var(--primary) 30%, transparent);
|
|
32
|
+
background-color: color-mix(in oklab, var(--primary) 10%, transparent);
|
|
33
|
+
color: var(--primary);
|
|
34
|
+
margin-bottom: var(--space-3, 0.75rem);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.dl-empty-state__icon-box svg {
|
|
38
|
+
width: var(--icon-md, 1.25rem);
|
|
39
|
+
height: var(--icon-md, 1.25rem);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.dl-empty-state__title {
|
|
43
|
+
font-family: var(--theme-font-display, var(--theme-font-sans, inherit));
|
|
44
|
+
font-size: 0.875rem;
|
|
45
|
+
font-weight: 600;
|
|
46
|
+
line-height: 1.25;
|
|
47
|
+
letter-spacing: -0.01em;
|
|
48
|
+
color: var(--foreground);
|
|
49
|
+
margin: 0;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.dl-empty-state__description {
|
|
53
|
+
margin: 0;
|
|
54
|
+
margin-top: var(--space-1, 0.25rem);
|
|
55
|
+
max-width: 24rem;
|
|
56
|
+
font-size: 0.75rem;
|
|
57
|
+
line-height: 1.5;
|
|
58
|
+
color: var(--muted-foreground);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.dl-empty-state__actions {
|
|
62
|
+
display: flex;
|
|
63
|
+
align-items: center;
|
|
64
|
+
justify-content: center;
|
|
65
|
+
gap: var(--space-2, 0.5rem);
|
|
66
|
+
margin-top: var(--space-4, 1rem);
|
|
67
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as EmptyStateStories from "./empty-state.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={EmptyStateStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Empty State
|
|
9
|
+
|
|
10
|
+
Informational placeholder displayed when tables, collections, or searches yield zero results.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={EmptyStateStories.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,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,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 />
|