@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,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 />
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file layout.css
|
|
3
|
+
* @description Layout primitive styles wrapped in @layer dl-layout.
|
|
4
|
+
* Governed by semantic design tokens.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
@layer dl-layout {
|
|
8
|
+
/* ── Box ───────────────────────────────────────────────────────────── */
|
|
9
|
+
.dl-box {
|
|
10
|
+
box-sizing: border-box;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* ── Flex ──────────────────────────────────────────────────────────── */
|
|
14
|
+
.dl-flex {
|
|
15
|
+
display: flex;
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
}
|
|
18
|
+
.dl-flex--inline {
|
|
19
|
+
display: inline-flex;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.dl-flex--row {
|
|
23
|
+
flex-direction: row;
|
|
24
|
+
}
|
|
25
|
+
.dl-flex--row-reverse {
|
|
26
|
+
flex-direction: row-reverse;
|
|
27
|
+
}
|
|
28
|
+
.dl-flex--col {
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
}
|
|
31
|
+
.dl-flex--col-reverse {
|
|
32
|
+
flex-direction: column-reverse;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.dl-flex--justify-start {
|
|
36
|
+
justify-content: flex-start;
|
|
37
|
+
}
|
|
38
|
+
.dl-flex--justify-center {
|
|
39
|
+
justify-content: center;
|
|
40
|
+
}
|
|
41
|
+
.dl-flex--justify-end {
|
|
42
|
+
justify-content: flex-end;
|
|
43
|
+
}
|
|
44
|
+
.dl-flex--justify-between {
|
|
45
|
+
justify-content: space-between;
|
|
46
|
+
}
|
|
47
|
+
.dl-flex--justify-around {
|
|
48
|
+
justify-content: space-around;
|
|
49
|
+
}
|
|
50
|
+
.dl-flex--justify-evenly {
|
|
51
|
+
justify-content: space-evenly;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.dl-flex--align-start {
|
|
55
|
+
align-items: flex-start;
|
|
56
|
+
}
|
|
57
|
+
.dl-flex--align-center {
|
|
58
|
+
align-items: center;
|
|
59
|
+
}
|
|
60
|
+
.dl-flex--align-end {
|
|
61
|
+
align-items: flex-end;
|
|
62
|
+
}
|
|
63
|
+
.dl-flex--align-stretch {
|
|
64
|
+
align-items: stretch;
|
|
65
|
+
}
|
|
66
|
+
.dl-flex--align-baseline {
|
|
67
|
+
align-items: baseline;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.dl-flex--wrap {
|
|
71
|
+
flex-wrap: wrap;
|
|
72
|
+
}
|
|
73
|
+
.dl-flex--nowrap {
|
|
74
|
+
flex-wrap: nowrap;
|
|
75
|
+
}
|
|
76
|
+
.dl-flex--wrap-reverse {
|
|
77
|
+
flex-wrap: wrap-reverse;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* ── Stack ─────────────────────────────────────────────────────────── */
|
|
81
|
+
.dl-stack {
|
|
82
|
+
display: flex;
|
|
83
|
+
box-sizing: border-box;
|
|
84
|
+
}
|
|
85
|
+
.dl-stack--col {
|
|
86
|
+
flex-direction: column;
|
|
87
|
+
}
|
|
88
|
+
.dl-stack--row {
|
|
89
|
+
flex-direction: row;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* ── Grid ──────────────────────────────────────────────────────────── */
|
|
93
|
+
.dl-grid {
|
|
94
|
+
display: grid;
|
|
95
|
+
box-sizing: border-box;
|
|
96
|
+
}
|
|
97
|
+
.dl-grid--inline {
|
|
98
|
+
display: inline-grid;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* ── Container ─────────────────────────────────────────────────────── */
|
|
102
|
+
.dl-container {
|
|
103
|
+
width: 100%;
|
|
104
|
+
margin-left: auto;
|
|
105
|
+
margin-right: auto;
|
|
106
|
+
box-sizing: border-box;
|
|
107
|
+
padding-left: var(--space-4, 1rem);
|
|
108
|
+
padding-right: var(--space-4, 1rem);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.dl-container--sm {
|
|
112
|
+
max-width: 640px;
|
|
113
|
+
}
|
|
114
|
+
.dl-container--md {
|
|
115
|
+
max-width: 768px;
|
|
116
|
+
}
|
|
117
|
+
.dl-container--lg {
|
|
118
|
+
max-width: 1024px;
|
|
119
|
+
}
|
|
120
|
+
.dl-container--xl {
|
|
121
|
+
max-width: 1280px;
|
|
122
|
+
}
|
|
123
|
+
.dl-container--2xl {
|
|
124
|
+
max-width: 1536px;
|
|
125
|
+
}
|
|
126
|
+
.dl-container--fluid {
|
|
127
|
+
max-width: 100%;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/* ── Token Gaps ────────────────────────────────────────────────────── */
|
|
131
|
+
.dl-gap-0 {
|
|
132
|
+
gap: 0;
|
|
133
|
+
}
|
|
134
|
+
.dl-gap-1 {
|
|
135
|
+
gap: var(--space-1, 0.25rem);
|
|
136
|
+
}
|
|
137
|
+
.dl-gap-2 {
|
|
138
|
+
gap: var(--space-2, 0.5rem);
|
|
139
|
+
}
|
|
140
|
+
.dl-gap-3 {
|
|
141
|
+
gap: var(--space-3, 0.75rem);
|
|
142
|
+
}
|
|
143
|
+
.dl-gap-4 {
|
|
144
|
+
gap: var(--space-4, 1rem);
|
|
145
|
+
}
|
|
146
|
+
.dl-gap-5 {
|
|
147
|
+
gap: var(--space-5, 1.25rem);
|
|
148
|
+
}
|
|
149
|
+
.dl-gap-6 {
|
|
150
|
+
gap: var(--space-6, 1.5rem);
|
|
151
|
+
}
|
|
152
|
+
.dl-gap-8 {
|
|
153
|
+
gap: var(--space-8, 2rem);
|
|
154
|
+
}
|
|
155
|
+
.dl-gap-10 {
|
|
156
|
+
gap: var(--space-10, 2.5rem);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as LayoutStories from "./layout.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={LayoutStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Layout Primitives
|
|
9
|
+
|
|
10
|
+
Composable layout primitives including Box, Flex, Stack, Grid, and Container for token-based structures.
|
|
11
|
+
|
|
12
|
+
## Box Primitive
|
|
13
|
+
|
|
14
|
+
<Canvas of={LayoutStories.BoxPrimitive} />
|
|
15
|
+
|
|
16
|
+
## Flex Primitive
|
|
17
|
+
|
|
18
|
+
<Canvas of={LayoutStories.FlexPrimitive} />
|
|
19
|
+
|
|
20
|
+
## Stack Primitive
|
|
21
|
+
|
|
22
|
+
<Canvas of={LayoutStories.StackPrimitive} />
|
|
23
|
+
|
|
24
|
+
## Grid Primitive
|
|
25
|
+
|
|
26
|
+
<Canvas of={LayoutStories.GridPrimitive} />
|
|
27
|
+
|
|
28
|
+
## Container Primitive
|
|
29
|
+
|
|
30
|
+
<Canvas of={LayoutStories.ContainerPrimitive} />
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as LoadingStateStories from "./loading-state.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={LoadingStateStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Loading State
|
|
9
|
+
|
|
10
|
+
Flexible loading state indicator providing spinner and skeleton placeholder rows.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={LoadingStateStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<Controls />
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
.dl-menubar {
|
|
2
2
|
display: flex;
|
|
3
|
-
height: 2.25rem;
|
|
3
|
+
height: var(--control-height-md, 2.25rem);
|
|
4
4
|
align-items: center;
|
|
5
|
-
gap: 0.25rem;
|
|
5
|
+
gap: var(--space-1, 0.25rem);
|
|
6
6
|
border-radius: var(--radius-md, 0.375rem);
|
|
7
7
|
border: 1px solid var(--border);
|
|
8
8
|
background-color: var(--background);
|
|
9
|
-
padding: 0.25rem;
|
|
9
|
+
padding: var(--space-1, 0.25rem);
|
|
10
10
|
box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
user-select: none;
|
|
17
17
|
align-items: center;
|
|
18
18
|
border-radius: var(--radius-sm, 0.25rem);
|
|
19
|
-
padding: 0.25rem 0.75rem;
|
|
19
|
+
padding: var(--space-1, 0.25rem) var(--space-3, 0.75rem);
|
|
20
20
|
font-size: 0.875rem;
|
|
21
21
|
font-weight: 500;
|
|
22
22
|
outline: none;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as MenubarStories from "./menubar.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={MenubarStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Menubar
|
|
9
|
+
|
|
10
|
+
Persistent top-level desktop application menubar supporting nested submenus and shortcut badges.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={MenubarStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<Controls />
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as MetricCardStories from "./metric-card.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={MetricCardStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Metric Card
|
|
9
|
+
|
|
10
|
+
Statistical metric card displaying benchmark measurements, trend indicators, and telemetry badges.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={MetricCardStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<Controls />
|
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
|
|
22
22
|
.dl-navigation-menu-trigger {
|
|
23
23
|
display: inline-flex;
|
|
24
|
-
height: 2.25rem;
|
|
24
|
+
height: var(--control-height-md, 2.25rem);
|
|
25
25
|
width: max-content;
|
|
26
26
|
align-items: center;
|
|
27
27
|
justify-content: center;
|
|
28
28
|
border-radius: var(--radius-md, 0.375rem);
|
|
29
29
|
background-color: var(--background);
|
|
30
|
-
padding: 0.5rem 1rem;
|
|
30
|
+
padding: var(--space-2, 0.5rem) var(--space-4, 1rem);
|
|
31
31
|
font-size: 0.875rem;
|
|
32
32
|
font-weight: 500;
|
|
33
33
|
cursor: pointer;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as NavigationMenuStories from "./navigation-menu.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={NavigationMenuStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Navigation Menu
|
|
9
|
+
|
|
10
|
+
Top-level site navigation menu with rich flyout panels and smooth enter/exit animations.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={NavigationMenuStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<Controls />
|
|
@@ -29,12 +29,18 @@
|
|
|
29
29
|
padding-inline-end: 0.625rem;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
.dl-pagination-icon {
|
|
33
|
+
width: 1rem;
|
|
34
|
+
height: 1rem;
|
|
35
|
+
flex-shrink: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
32
38
|
.dl-pagination-ellipsis {
|
|
33
39
|
display: flex;
|
|
34
40
|
align-items: center;
|
|
35
41
|
justify-content: center;
|
|
36
|
-
width: 2.25rem;
|
|
37
|
-
height: 2.25rem;
|
|
42
|
+
width: var(--control-height-md, 2.25rem);
|
|
43
|
+
height: var(--control-height-md, 2.25rem);
|
|
38
44
|
}
|
|
39
45
|
|
|
40
46
|
.dl-pagination-ellipsis svg {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as PaginationStories from "./pagination.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={PaginationStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Pagination
|
|
9
|
+
|
|
10
|
+
Accessible page navigation controls for traversing large multi-page datasets.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={PaginationStories.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 PanelStories from "./panel.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={PanelStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Panel
|
|
9
|
+
|
|
10
|
+
Sectional container card component for modular grouping of settings, metrics, and agent views.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={PanelStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<Controls />
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
.dl-popover {
|
|
2
2
|
z-index: 50;
|
|
3
3
|
width: 18rem;
|
|
4
|
-
border-radius: var(--radius
|
|
4
|
+
border-radius: var(--radius, 0.5rem);
|
|
5
5
|
border: 1px solid var(--border);
|
|
6
6
|
background-color: var(--popover);
|
|
7
7
|
color: var(--popover-foreground);
|
|
8
|
-
padding: 1rem;
|
|
8
|
+
padding: var(--space-4, 1rem);
|
|
9
9
|
box-shadow: 0 4px 24px rgb(0 0 0/0.12);
|
|
10
10
|
outline: none;
|
|
11
11
|
}
|
|
@@ -15,3 +15,8 @@
|
|
|
15
15
|
.dl-popover[data-state="closed"] {
|
|
16
16
|
animation: dl-fade-out 150ms ease;
|
|
17
17
|
}
|
|
18
|
+
|
|
19
|
+
.dl-popover.dl-date-picker-content {
|
|
20
|
+
width: auto;
|
|
21
|
+
padding: 0;
|
|
22
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as PopoverStories from "./popover.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={PopoverStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Popover
|
|
9
|
+
|
|
10
|
+
Floating contextual overlay anchored to a trigger element with focus management.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={PopoverStories.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 RadioGroupStories from "./radio-group.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={RadioGroupStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Radio Group
|
|
9
|
+
|
|
10
|
+
Set of checkable buttons—known as radio buttons—where no more than one button can be checked at a time.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={RadioGroupStories.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 ResizableStories from "./resizable.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={ResizableStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Resizable Panels
|
|
9
|
+
|
|
10
|
+
Accessible resizable panel layout groups supporting horizontal and vertical split ratios.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={ResizableStories.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 ScrollAreaStories from "./scroll-area.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={ScrollAreaStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Scroll Area
|
|
9
|
+
|
|
10
|
+
Custom scrollable view with cross-browser custom styled scrollbars.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={ScrollAreaStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<Controls />
|