@yuva-devlab/ui 1.2.0 → 1.3.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/dist/components/alert/alert.css +31 -9
- package/dist/components/alert/alert.mdx +26 -0
- package/dist/components/alert-dialog/alert-dialog.css +9 -3
- package/dist/components/avatar/avatar.mdx +18 -0
- package/dist/components/badge/badge.mdx +24 -0
- package/dist/components/button/button.mdx +40 -0
- package/dist/components/card/card.mdx +18 -0
- package/dist/components/checkbox/checkbox.mdx +22 -0
- package/dist/components/dialog/dialog.css +77 -10
- package/dist/components/dialog/dialog.mdx +18 -0
- package/dist/components/input/input.mdx +30 -0
- package/dist/components/progress/progress.mdx +18 -0
- package/dist/components/select/select.mdx +18 -0
- package/dist/components/skeleton/skeleton.mdx +18 -0
- package/dist/components/sonner/sonner.mdx +22 -0
- package/dist/components/status-badge/status-badge.mdx +24 -0
- package/dist/components/switch/switch.mdx +22 -0
- package/dist/components/table/table.mdx +18 -0
- package/dist/components/tabs/tabs.mdx +18 -0
- package/dist/components.css +117 -22
- package/dist/index.cjs +15 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +38 -5
- package/dist/index.d.ts +38 -5
- package/dist/index.js +14 -16
- package/dist/index.js.map +1 -1
- package/dist/styles/components.css +117 -22
- package/package.json +2 -1
|
@@ -3,39 +3,61 @@
|
|
|
3
3
|
width: 100%;
|
|
4
4
|
border-radius: var(--radius-lg, 0.5rem);
|
|
5
5
|
border: 1px solid var(--border);
|
|
6
|
-
padding: 1rem;
|
|
6
|
+
padding: 0.875rem 1rem;
|
|
7
7
|
font-size: 0.875rem;
|
|
8
8
|
display: grid;
|
|
9
|
-
grid-template-columns:
|
|
10
|
-
gap: 0
|
|
9
|
+
grid-template-columns: 1fr;
|
|
10
|
+
row-gap: 0.25rem;
|
|
11
11
|
align-items: start;
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
|
|
14
|
+
.dl-alert:has(> svg) {
|
|
15
|
+
grid-template-columns: 1rem 1fr;
|
|
16
|
+
column-gap: 0.75rem;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.dl-alert > svg {
|
|
20
|
+
grid-column: 1;
|
|
21
|
+
grid-row: 1 / span 2;
|
|
14
22
|
width: 1rem;
|
|
15
23
|
height: 1rem;
|
|
16
24
|
margin-top: 0.125rem;
|
|
25
|
+
color: currentColor;
|
|
26
|
+
flex-shrink: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.dl-alert:has(> svg) .dl-alert__title,
|
|
30
|
+
.dl-alert:has(> svg) .dl-alert__desc {
|
|
31
|
+
grid-column: 2;
|
|
17
32
|
}
|
|
33
|
+
|
|
18
34
|
.dl-alert--default {
|
|
19
|
-
background-color: var(--background);
|
|
35
|
+
background-color: var(--card, var(--background));
|
|
20
36
|
color: var(--foreground);
|
|
21
37
|
}
|
|
38
|
+
|
|
22
39
|
.dl-alert--destructive {
|
|
23
|
-
border-color: color-mix(in oklch, var(--destructive)
|
|
40
|
+
border-color: color-mix(in oklch, var(--destructive) 45%, transparent);
|
|
24
41
|
color: var(--destructive);
|
|
25
42
|
background-color: color-mix(
|
|
26
43
|
in oklch,
|
|
27
|
-
var(--destructive)
|
|
44
|
+
var(--destructive) 8%,
|
|
28
45
|
var(--background)
|
|
29
46
|
);
|
|
30
47
|
}
|
|
48
|
+
|
|
31
49
|
.dl-alert__title {
|
|
32
50
|
font-weight: 600;
|
|
33
|
-
line-height: 1;
|
|
51
|
+
line-height: 1.35;
|
|
34
52
|
letter-spacing: -0.01em;
|
|
35
|
-
margin-bottom: 0.25rem;
|
|
36
53
|
}
|
|
54
|
+
|
|
37
55
|
.dl-alert__desc {
|
|
38
56
|
font-size: 0.875rem;
|
|
39
57
|
color: var(--muted-foreground);
|
|
40
58
|
line-height: 1.5;
|
|
41
59
|
}
|
|
60
|
+
|
|
61
|
+
.dl-alert--destructive .dl-alert__desc {
|
|
62
|
+
color: color-mix(in oklch, var(--destructive) 80%, var(--foreground));
|
|
63
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as AlertStories from "./alert.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={AlertStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Alert
|
|
9
|
+
|
|
10
|
+
The `Alert` component displays contextual feedback, announcements, or critical system errors to users with accessible ARIA semantics and high-contrast color styling.
|
|
11
|
+
|
|
12
|
+
## Default Alert
|
|
13
|
+
|
|
14
|
+
Used for neutral announcements, system notices, and informational messages.
|
|
15
|
+
|
|
16
|
+
<Canvas of={AlertStories.Default} />
|
|
17
|
+
|
|
18
|
+
## Destructive Alert
|
|
19
|
+
|
|
20
|
+
Used for critical runtime exceptions, failed agent steps, or irreversible actions.
|
|
21
|
+
|
|
22
|
+
<Canvas of={AlertStories.Destructive} />
|
|
23
|
+
|
|
24
|
+
## Component Properties
|
|
25
|
+
|
|
26
|
+
<Controls />
|
|
@@ -19,15 +19,19 @@
|
|
|
19
19
|
top: 50%;
|
|
20
20
|
transform: translate(-50%, -50%);
|
|
21
21
|
z-index: 50;
|
|
22
|
-
display:
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
width: calc(100% - 2rem);
|
|
25
|
+
max-width: var(--dl-dialog-max-width, 32rem);
|
|
26
|
+
max-height: calc(100dvh - 3rem);
|
|
25
27
|
gap: 1rem;
|
|
26
28
|
border: 1px solid var(--border);
|
|
27
29
|
background-color: var(--background);
|
|
28
30
|
padding: 1.5rem;
|
|
29
31
|
box-shadow: 0 8px 32px rgb(0 0 0 / 0.2);
|
|
30
32
|
border-radius: var(--radius-lg, 0.5rem);
|
|
33
|
+
overflow-y: auto;
|
|
34
|
+
overscroll-behavior: contain;
|
|
31
35
|
}
|
|
32
36
|
|
|
33
37
|
.dl-alert-dialog-content[data-state="open"] {
|
|
@@ -43,6 +47,7 @@
|
|
|
43
47
|
flex-direction: column;
|
|
44
48
|
gap: 0.5rem;
|
|
45
49
|
text-align: center;
|
|
50
|
+
flex-shrink: 0;
|
|
46
51
|
}
|
|
47
52
|
|
|
48
53
|
@media (min-width: 640px) {
|
|
@@ -55,6 +60,7 @@
|
|
|
55
60
|
display: flex;
|
|
56
61
|
flex-direction: column-reverse;
|
|
57
62
|
gap: 0.5rem;
|
|
63
|
+
flex-shrink: 0;
|
|
58
64
|
}
|
|
59
65
|
|
|
60
66
|
@media (min-width: 640px) {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as AvatarStories from "./avatar.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={AvatarStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Avatar
|
|
9
|
+
|
|
10
|
+
Image element with fallback text initials for representing users, agents, or entities.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={AvatarStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<Controls />
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as BadgeStories from "./badge.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={BadgeStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Badge
|
|
9
|
+
|
|
10
|
+
Displays metadata, statuses, count indicators, or short labels with semantic color tokens.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={BadgeStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Variants
|
|
17
|
+
|
|
18
|
+
Available in `default`, `secondary`, `outline`, `destructive`, `success`, `warning`, and `info`.
|
|
19
|
+
|
|
20
|
+
<Canvas of={BadgeStories.AllVariants} />
|
|
21
|
+
|
|
22
|
+
## Component Properties
|
|
23
|
+
|
|
24
|
+
<Controls />
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as ButtonStories from "./button.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={ButtonStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Button
|
|
9
|
+
|
|
10
|
+
Buttons allow users to take actions, submit forms, and make choices with a single tap or click. Built with pure CSS tokens and accessible interactive states.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={ButtonStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Variants
|
|
17
|
+
|
|
18
|
+
Available in `default`, `secondary`, `outline`, `destructive`, `ghost`, and `link`.
|
|
19
|
+
|
|
20
|
+
<Canvas of={ButtonStories.AllVariants} />
|
|
21
|
+
|
|
22
|
+
## Sizes
|
|
23
|
+
|
|
24
|
+
Supports `sm`, `default`, `lg`, and `icon`.
|
|
25
|
+
|
|
26
|
+
<Canvas of={ButtonStories.AllSizes} />
|
|
27
|
+
|
|
28
|
+
## With Icons
|
|
29
|
+
|
|
30
|
+
Integrates seamlessly with Lucide or any SVG icon set.
|
|
31
|
+
|
|
32
|
+
<Canvas of={ButtonStories.WithIcons} />
|
|
33
|
+
|
|
34
|
+
## Disabled State
|
|
35
|
+
|
|
36
|
+
<Canvas of={ButtonStories.Disabled} />
|
|
37
|
+
|
|
38
|
+
## Component Properties
|
|
39
|
+
|
|
40
|
+
<Controls />
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as CardStories from "./card.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={CardStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Card
|
|
9
|
+
|
|
10
|
+
Structured content container featuring header, title, description, content body, and action footer subcomponents.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={CardStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<Controls />
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as CheckboxStories from "./checkbox.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={CheckboxStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Checkbox
|
|
9
|
+
|
|
10
|
+
Accessible binary selection control built upon Radix UI Checkbox supporting checked, unchecked, and indeterminate states.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={CheckboxStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Disabled State
|
|
17
|
+
|
|
18
|
+
<Canvas of={CheckboxStories.Disabled} />
|
|
19
|
+
|
|
20
|
+
## Component Properties
|
|
21
|
+
|
|
22
|
+
<Controls />
|
|
@@ -17,15 +17,19 @@
|
|
|
17
17
|
top: 50%;
|
|
18
18
|
transform: translate(-50%, -50%);
|
|
19
19
|
z-index: 50;
|
|
20
|
-
display:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
width: calc(100% - 2rem);
|
|
23
|
+
max-width: var(--dl-dialog-max-width, 32rem);
|
|
24
|
+
max-height: calc(100dvh - 3rem);
|
|
24
25
|
border: 1px solid var(--border);
|
|
25
26
|
background-color: var(--background);
|
|
26
|
-
padding:
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
padding: 0;
|
|
28
|
+
gap: 0;
|
|
29
|
+
box-shadow: 0 16px 48px rgb(0 0 0 / 0.24);
|
|
30
|
+
border-radius: var(--radius-lg, 0.75rem);
|
|
31
|
+
overflow: hidden;
|
|
32
|
+
overscroll-behavior: contain;
|
|
29
33
|
}
|
|
30
34
|
.dl-dialog-content[data-state="open"] {
|
|
31
35
|
animation: dl-zoom-in 150ms ease;
|
|
@@ -34,10 +38,42 @@
|
|
|
34
38
|
animation: dl-zoom-out 150ms ease;
|
|
35
39
|
}
|
|
36
40
|
|
|
41
|
+
/* ── Sizing Variants ── */
|
|
42
|
+
.dl-dialog--sm {
|
|
43
|
+
max-width: 24rem;
|
|
44
|
+
}
|
|
45
|
+
.dl-dialog--md {
|
|
46
|
+
max-width: 32rem;
|
|
47
|
+
}
|
|
48
|
+
.dl-dialog--lg {
|
|
49
|
+
width: 90vw;
|
|
50
|
+
max-width: 44rem;
|
|
51
|
+
height: 80vh;
|
|
52
|
+
max-height: 80vh;
|
|
53
|
+
}
|
|
54
|
+
.dl-dialog--xl {
|
|
55
|
+
width: 92vw;
|
|
56
|
+
max-width: 56rem;
|
|
57
|
+
height: 85vh;
|
|
58
|
+
max-height: 85vh;
|
|
59
|
+
}
|
|
60
|
+
.dl-dialog--2xl {
|
|
61
|
+
width: 94vw;
|
|
62
|
+
max-width: 72rem;
|
|
63
|
+
height: 85vh;
|
|
64
|
+
max-height: 85vh;
|
|
65
|
+
}
|
|
66
|
+
.dl-dialog--full {
|
|
67
|
+
width: calc(100vw - 2rem);
|
|
68
|
+
max-width: calc(100vw - 2rem);
|
|
69
|
+
height: calc(100dvh - 2rem);
|
|
70
|
+
max-height: calc(100dvh - 2rem);
|
|
71
|
+
}
|
|
72
|
+
|
|
37
73
|
.dl-dialog-close {
|
|
38
74
|
position: absolute;
|
|
39
|
-
right:
|
|
40
|
-
top:
|
|
75
|
+
right: 1.25rem;
|
|
76
|
+
top: 1.25rem;
|
|
41
77
|
border-radius: var(--radius-sm, 0.25rem);
|
|
42
78
|
opacity: 0.7;
|
|
43
79
|
cursor: pointer;
|
|
@@ -46,6 +82,7 @@
|
|
|
46
82
|
padding: 0.25rem;
|
|
47
83
|
transition: opacity 0.15s ease;
|
|
48
84
|
color: var(--foreground);
|
|
85
|
+
z-index: 10;
|
|
49
86
|
}
|
|
50
87
|
.dl-dialog-close:hover {
|
|
51
88
|
opacity: 1;
|
|
@@ -54,22 +91,52 @@
|
|
|
54
91
|
outline: 2px solid var(--ring);
|
|
55
92
|
outline-offset: 2px;
|
|
56
93
|
}
|
|
94
|
+
.dl-dialog-close svg {
|
|
95
|
+
width: 1rem;
|
|
96
|
+
height: 1rem;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.dl-dialog-sr-only {
|
|
100
|
+
position: absolute;
|
|
101
|
+
width: 1px;
|
|
102
|
+
height: 1px;
|
|
103
|
+
padding: 0;
|
|
104
|
+
margin: -1px;
|
|
105
|
+
overflow: hidden;
|
|
106
|
+
clip: rect(0, 0, 0, 0);
|
|
107
|
+
white-space: nowrap;
|
|
108
|
+
border-width: 0;
|
|
109
|
+
}
|
|
57
110
|
|
|
58
111
|
.dl-dialog__header {
|
|
59
112
|
display: flex;
|
|
60
113
|
flex-direction: column;
|
|
61
114
|
gap: 0.375rem;
|
|
115
|
+
padding: 1.25rem 1.5rem;
|
|
116
|
+
padding-right: 3.5rem;
|
|
117
|
+
border-bottom: 1px solid var(--border);
|
|
118
|
+
flex-shrink: 0;
|
|
119
|
+
}
|
|
120
|
+
.dl-dialog__body {
|
|
121
|
+
flex: 1 1 auto;
|
|
122
|
+
min-height: 0;
|
|
123
|
+
overflow-y: auto;
|
|
124
|
+
padding: 1.25rem 1.5rem;
|
|
62
125
|
}
|
|
63
126
|
.dl-dialog__footer {
|
|
64
127
|
display: flex;
|
|
65
128
|
flex-direction: row;
|
|
66
129
|
justify-content: flex-end;
|
|
67
130
|
gap: 0.5rem;
|
|
131
|
+
padding: 0.875rem 1.5rem;
|
|
132
|
+
border-top: 1px solid var(--border);
|
|
133
|
+
background-color: color-mix(in srgb, var(--muted) 35%, transparent);
|
|
134
|
+
flex-shrink: 0;
|
|
68
135
|
}
|
|
69
136
|
.dl-dialog__title {
|
|
70
137
|
font-size: 1.125rem;
|
|
71
138
|
font-weight: 600;
|
|
72
|
-
line-height: 1;
|
|
139
|
+
line-height: 1.25;
|
|
73
140
|
letter-spacing: -0.01em;
|
|
74
141
|
}
|
|
75
142
|
.dl-dialog__desc {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as DialogStories from "./dialog.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={DialogStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Dialog
|
|
9
|
+
|
|
10
|
+
Modal dialog built on accessible Radix primitives with focus trapping, ESC dismiss, and animated backdrop overlays.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={DialogStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<Controls />
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as InputStories from "./input.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={InputStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Input
|
|
9
|
+
|
|
10
|
+
Form text input supporting start and end icons, password masking toggles, error borders, and customizable focus rings.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={InputStories.Default} />
|
|
15
|
+
|
|
16
|
+
## With Start Icon
|
|
17
|
+
|
|
18
|
+
<Canvas of={InputStories.WithStartIcon} />
|
|
19
|
+
|
|
20
|
+
## With End Icon
|
|
21
|
+
|
|
22
|
+
<Canvas of={InputStories.WithEndIcon} />
|
|
23
|
+
|
|
24
|
+
## Disabled State
|
|
25
|
+
|
|
26
|
+
<Canvas of={InputStories.Disabled} />
|
|
27
|
+
|
|
28
|
+
## Component Properties
|
|
29
|
+
|
|
30
|
+
<Controls />
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as ProgressStories from "./progress.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={ProgressStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Progress
|
|
9
|
+
|
|
10
|
+
Visual progress indicator displaying task completion, data loading, or quota utilization.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={ProgressStories.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 SelectStories from "./select.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={SelectStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Select
|
|
9
|
+
|
|
10
|
+
Accessible dropdown selector component built on Radix primitives with grouped items, keyboard navigation, and custom trigger values.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={SelectStories.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 SkeletonStories from "./skeleton.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={SkeletonStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Skeleton
|
|
9
|
+
|
|
10
|
+
Placeholder skeleton loading animation used while waiting for data or component trees to resolve.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={SkeletonStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<Controls />
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as SonnerStories from "./sonner.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={SonnerStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Toaster / Toast
|
|
9
|
+
|
|
10
|
+
An opinionated, elegant toast notification component built upon Sonner and styled with `@yuva-devlab/ui` design system tokens.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={SonnerStories.Default} />
|
|
15
|
+
|
|
16
|
+
## With Action Button
|
|
17
|
+
|
|
18
|
+
<Canvas of={SonnerStories.WithAction} />
|
|
19
|
+
|
|
20
|
+
## Component Properties
|
|
21
|
+
|
|
22
|
+
<Controls />
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as StatusBadgeStories from "./status-badge.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={StatusBadgeStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# StatusBadge
|
|
9
|
+
|
|
10
|
+
Context-aware status indicator with colored dot and semantic token mapping for agent execution states.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={StatusBadgeStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Statuses
|
|
17
|
+
|
|
18
|
+
Automatically adapts its color and pulse dot based on status names like `Active`, `Completed`, `In Progress`, `Needs Approval`, `Failed`, and `Offline`.
|
|
19
|
+
|
|
20
|
+
<Canvas of={StatusBadgeStories.AllStatuses} />
|
|
21
|
+
|
|
22
|
+
## Component Properties
|
|
23
|
+
|
|
24
|
+
<Controls />
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as SwitchStories from "./switch.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={SwitchStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Switch
|
|
9
|
+
|
|
10
|
+
A control that allows the user to toggle between checked and unchecked states.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={SwitchStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Disabled State
|
|
17
|
+
|
|
18
|
+
<Canvas of={SwitchStories.Disabled} />
|
|
19
|
+
|
|
20
|
+
## Component Properties
|
|
21
|
+
|
|
22
|
+
<Controls />
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as TableStories from "./table.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={TableStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Table
|
|
9
|
+
|
|
10
|
+
Accessible data table layout components providing header, body, rows, cells, and captions with hover row highlights.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={TableStories.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 TabsStories from "./tabs.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={TabsStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Tabs
|
|
9
|
+
|
|
10
|
+
Tabbed interface built upon Radix UI Tabs for switching between related views and panels with keyboard accessibility.
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={TabsStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Component Properties
|
|
17
|
+
|
|
18
|
+
<Controls />
|