@yuva-devlab/ui 1.4.4 → 2.1.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/common.css +0 -40
- 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/badge/badge.css +31 -27
- package/dist/components/badge/badge.mdx +6 -4
- 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/chain-of-thought/chain-of-thought.css +72 -0
- package/dist/components/chain-of-thought/chain-of-thought.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/checkpoint/checkpoint.css +54 -0
- package/dist/components/checkpoint/checkpoint.mdx +18 -0
- package/dist/components/code-block/code-block.css +84 -0
- package/dist/components/code-block/code-block.mdx +26 -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/confirmation/confirmation.css +75 -0
- package/dist/components/confirmation/confirmation.mdx +22 -0
- package/dist/components/context/context.css +80 -0
- package/dist/components/context/context.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/data-table/data-table.css +71 -0
- package/dist/components/data-table/data-table.mdx +22 -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/file-tree/file-tree.css +58 -0
- package/dist/components/file-tree/file-tree.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-number/input-number.css +95 -0
- package/dist/components/input-number/input-number.mdx +34 -0
- package/dist/components/input-otp/input-otp.mdx +18 -0
- package/dist/components/kbd/kbd.css +78 -0
- package/dist/components/kbd/kbd.mdx +30 -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/message/message.css +89 -0
- package/dist/components/message/message.mdx +14 -0
- package/dist/components/metric-card/metric-card.mdx +18 -0
- package/dist/components/model-selector/model-selector.css +138 -0
- package/dist/components/model-selector/model-selector.mdx +26 -0
- package/dist/components/multi-select/multi-select.css +212 -0
- package/dist/components/multi-select/multi-select.mdx +30 -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/password-input/password-input.css +21 -0
- package/dist/components/password-input/password-input.mdx +30 -0
- package/dist/components/plan/plan.css +106 -0
- package/dist/components/plan/plan.mdx +22 -0
- package/dist/components/popover/popover.css +2 -7
- package/dist/components/popover/popover.mdx +18 -0
- package/dist/components/prompt-input/prompt-input.css +140 -0
- package/dist/components/prompt-input/prompt-input.mdx +22 -0
- package/dist/components/queue/queue.css +76 -0
- package/dist/components/queue/queue.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/search-input/search-input.css +21 -0
- package/dist/components/search-input/search-input.mdx +30 -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 +17 -2
- 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/sonner/sonner.css +68 -17
- package/dist/components/sonner/sonner.mdx +5 -3
- package/dist/components/sources/sources.css +105 -0
- package/dist/components/sources/sources.mdx +18 -0
- package/dist/components/stack-trace/stack-trace.css +105 -0
- package/dist/components/stack-trace/stack-trace.mdx +18 -0
- package/dist/components/status-chip/status-chip.mdx +18 -0
- package/dist/components/subagent/subagent.css +70 -0
- package/dist/components/subagent/subagent.mdx +18 -0
- package/dist/components/suggestion/suggestion.css +52 -0
- package/dist/components/suggestion/suggestion.mdx +14 -0
- package/dist/components/table/table.css +5 -3
- package/dist/components/tabs/tabs.css +3 -3
- package/dist/components/terminal/terminal.css +60 -0
- package/dist/components/terminal/terminal.mdx +26 -0
- package/dist/components/test-results/test-results.css +108 -0
- package/dist/components/test-results/test-results.mdx +18 -0
- 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/tool-call/tool-call.css +111 -0
- package/dist/components/tool-call/tool-call.mdx +22 -0
- package/dist/components/tooltip/tooltip.mdx +18 -0
- package/dist/components/trace/trace.css +100 -0
- package/dist/components/trace/trace.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 +4454 -1179
- package/dist/index.cjs +4094 -1125
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1742 -248
- package/dist/index.d.ts +1742 -248
- package/dist/index.js +4088 -1156
- package/dist/index.js.map +1 -1
- package/dist/preset.css +1 -4
- package/dist/styles/common.css +0 -40
- package/dist/styles/components.css +4454 -1179
- package/dist/styles/preset.css +1 -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 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,75 @@
|
|
|
1
|
+
.dl-confirmation {
|
|
2
|
+
display: flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
justify-content: space-between;
|
|
5
|
+
gap: 1rem;
|
|
6
|
+
width: 100%;
|
|
7
|
+
border-radius: var(--radius-md, 0.375rem);
|
|
8
|
+
padding: 0.75rem 1rem;
|
|
9
|
+
border: 1px solid var(--border);
|
|
10
|
+
background-color: var(--card, var(--background));
|
|
11
|
+
color: var(--card-foreground, var(--foreground));
|
|
12
|
+
font-size: 0.875rem;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.dl-confirmation--sm {
|
|
16
|
+
padding: 0.5rem 0.75rem;
|
|
17
|
+
font-size: 0.8125rem;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.dl-confirmation--destructive {
|
|
21
|
+
border-color: color-mix(in oklch, var(--destructive) 40%, transparent);
|
|
22
|
+
background-color: color-mix(in oklch, var(--destructive) 5%, transparent);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.dl-confirmation__body {
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
gap: 0.75rem;
|
|
29
|
+
flex: 1;
|
|
30
|
+
min-width: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.dl-confirmation__media {
|
|
34
|
+
display: inline-flex;
|
|
35
|
+
align-items: center;
|
|
36
|
+
justify-content: center;
|
|
37
|
+
width: 2rem;
|
|
38
|
+
height: 2rem;
|
|
39
|
+
border-radius: var(--radius-sm, 0.25rem);
|
|
40
|
+
background-color: var(--secondary);
|
|
41
|
+
color: var(--secondary-foreground);
|
|
42
|
+
flex-shrink: 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.dl-confirmation--destructive .dl-confirmation__media {
|
|
46
|
+
background-color: color-mix(in oklch, var(--destructive) 15%, transparent);
|
|
47
|
+
color: var(--destructive);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.dl-confirmation__content {
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
gap: 0.125rem;
|
|
54
|
+
min-width: 0;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.dl-confirmation__title {
|
|
58
|
+
font-size: 0.875rem;
|
|
59
|
+
font-weight: 500;
|
|
60
|
+
line-height: 1.25;
|
|
61
|
+
color: var(--foreground);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.dl-confirmation__description {
|
|
65
|
+
font-size: 0.75rem;
|
|
66
|
+
color: var(--muted-foreground);
|
|
67
|
+
line-height: 1.35;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.dl-confirmation__actions {
|
|
71
|
+
display: flex;
|
|
72
|
+
align-items: center;
|
|
73
|
+
gap: 0.5rem;
|
|
74
|
+
flex-shrink: 0;
|
|
75
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas } from "@storybook/blocks";
|
|
2
|
+
import * as ConfirmationStories from "./confirmation.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={ConfirmationStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Confirmation
|
|
9
|
+
|
|
10
|
+
Human-in-the-loop action approval card for sensitive or destructive AI agent actions, with title, risk description, and contextual approve/deny actions.
|
|
11
|
+
|
|
12
|
+
## Default Command Approval
|
|
13
|
+
|
|
14
|
+
<Canvas of={ConfirmationStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Destructive Resource Deletion
|
|
17
|
+
|
|
18
|
+
<Canvas of={ConfirmationStories.Destructive} />
|
|
19
|
+
|
|
20
|
+
## IAM Policy Approval
|
|
21
|
+
|
|
22
|
+
<Canvas of={ConfirmationStories.PolicyApproval} />
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
.dl-context-usage {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
gap: 0.5rem;
|
|
5
|
+
width: 100%;
|
|
6
|
+
padding: 0.75rem;
|
|
7
|
+
border-radius: var(--radius-md, 0.375rem);
|
|
8
|
+
border: 1px solid var(--border);
|
|
9
|
+
background-color: var(--card, var(--background));
|
|
10
|
+
font-size: 0.8125rem;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.dl-context-usage--sm {
|
|
14
|
+
padding: 0.5rem;
|
|
15
|
+
font-size: 0.75rem;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.dl-context-usage__header {
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: space-between;
|
|
22
|
+
gap: 0.5rem;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.dl-context-usage__title {
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
gap: 0.375rem;
|
|
29
|
+
font-weight: 600;
|
|
30
|
+
color: var(--foreground);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.dl-context-usage__fraction {
|
|
34
|
+
font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
|
|
35
|
+
font-size: 0.75rem;
|
|
36
|
+
color: var(--muted-foreground);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.dl-context-usage__bar-bg {
|
|
40
|
+
position: relative;
|
|
41
|
+
width: 100%;
|
|
42
|
+
height: 0.375rem;
|
|
43
|
+
border-radius: 9999px;
|
|
44
|
+
background-color: var(--muted);
|
|
45
|
+
overflow: hidden;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.dl-context-usage__bar-fill {
|
|
49
|
+
height: 100%;
|
|
50
|
+
border-radius: 9999px;
|
|
51
|
+
transition: width 0.3s ease;
|
|
52
|
+
background-color: var(--primary);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.dl-context-usage__bar-fill--warning {
|
|
56
|
+
background-color: var(--warning);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.dl-context-usage__bar-fill--danger {
|
|
60
|
+
background-color: var(--destructive);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.dl-context-usage__breakdown {
|
|
64
|
+
display: flex;
|
|
65
|
+
align-items: center;
|
|
66
|
+
gap: 0.5rem;
|
|
67
|
+
flex-wrap: wrap;
|
|
68
|
+
font-size: 0.6875rem;
|
|
69
|
+
color: var(--muted-foreground);
|
|
70
|
+
margin-top: 0.25rem;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.dl-context-usage__pill {
|
|
74
|
+
display: inline-flex;
|
|
75
|
+
align-items: center;
|
|
76
|
+
gap: 0.25rem;
|
|
77
|
+
padding: 0.125rem 0.375rem;
|
|
78
|
+
border-radius: var(--radius-sm, 0.25rem);
|
|
79
|
+
background-color: var(--muted);
|
|
80
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas, Controls } from "@storybook/blocks";
|
|
2
|
+
import * as ContextStories from "./context.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={ContextStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Context Usage
|
|
9
|
+
|
|
10
|
+
Token gauge visualizing context window consumption, remaining capacity thresholds, and token category breakdowns (input, output, reasoning, cache).
|
|
11
|
+
|
|
12
|
+
## Default
|
|
13
|
+
|
|
14
|
+
<Canvas of={ContextStories.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 />
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
.dl-data-table-container {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
width: 100%;
|
|
5
|
+
border-radius: var(--radius-md, 0.375rem);
|
|
6
|
+
border: 1px solid var(--border);
|
|
7
|
+
background-color: var(--card, var(--background));
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.dl-data-table-wrapper {
|
|
12
|
+
overflow-x: auto;
|
|
13
|
+
width: 100%;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.dl-data-table-sort-btn {
|
|
17
|
+
display: inline-flex;
|
|
18
|
+
align-items: center;
|
|
19
|
+
gap: 0.375rem;
|
|
20
|
+
background: transparent;
|
|
21
|
+
border: none;
|
|
22
|
+
font: inherit;
|
|
23
|
+
color: inherit;
|
|
24
|
+
cursor: pointer;
|
|
25
|
+
padding: 0;
|
|
26
|
+
user-select: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.dl-data-table-sort-btn:hover {
|
|
30
|
+
color: var(--foreground);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.dl-data-table-sort-icon {
|
|
34
|
+
width: 0.875rem;
|
|
35
|
+
height: 0.875rem;
|
|
36
|
+
color: var(--muted-foreground);
|
|
37
|
+
transition: color 0.15s ease;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.dl-data-table-sort-btn:hover .dl-data-table-sort-icon {
|
|
41
|
+
color: var(--foreground);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.dl-data-table-row--clickable {
|
|
45
|
+
cursor: pointer;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.dl-data-table-footer {
|
|
49
|
+
display: flex;
|
|
50
|
+
flex-wrap: wrap;
|
|
51
|
+
align-items: center;
|
|
52
|
+
justify-content: space-between;
|
|
53
|
+
gap: 1rem;
|
|
54
|
+
padding: 0.75rem 1rem;
|
|
55
|
+
border-top: 1px solid var(--border);
|
|
56
|
+
background-color: var(--background);
|
|
57
|
+
font-size: 0.8125rem;
|
|
58
|
+
color: var(--muted-foreground);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.dl-data-table-summary {
|
|
62
|
+
display: flex;
|
|
63
|
+
align-items: center;
|
|
64
|
+
gap: 0.25rem;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.dl-data-table-empty {
|
|
68
|
+
padding: 3rem 1rem;
|
|
69
|
+
text-align: center;
|
|
70
|
+
color: var(--muted-foreground);
|
|
71
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Meta, Title, Description, Canvas } from "@storybook/blocks";
|
|
2
|
+
import * as DataTableStories from "./data-table.stories";
|
|
3
|
+
|
|
4
|
+
<Meta of={DataTableStories} />
|
|
5
|
+
|
|
6
|
+
<Title />
|
|
7
|
+
|
|
8
|
+
# Data Table
|
|
9
|
+
|
|
10
|
+
Enterprise-grade data table uniting `@yuva-devlab/ui` Table and Pagination primitives with column sorting, customizable cell renderers, and empty state fallbacks.
|
|
11
|
+
|
|
12
|
+
## Default with Pagination
|
|
13
|
+
|
|
14
|
+
<Canvas of={DataTableStories.Default} />
|
|
15
|
+
|
|
16
|
+
## Static (No Pagination)
|
|
17
|
+
|
|
18
|
+
<Canvas of={DataTableStories.WithoutPagination} />
|
|
19
|
+
|
|
20
|
+
## Empty State Fallback
|
|
21
|
+
|
|
22
|
+
<Canvas of={DataTableStories.Empty} />
|
|
@@ -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,58 @@
|
|
|
1
|
+
.dl-file-tree {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
width: 100%;
|
|
5
|
+
font-size: 0.8125rem;
|
|
6
|
+
font-family: var(--font-mono, ui-monospace, SFMono-Regular, monospace);
|
|
7
|
+
user-select: none;
|
|
8
|
+
background-color: var(--card, var(--background));
|
|
9
|
+
border: 1px solid var(--border);
|
|
10
|
+
border-radius: var(--radius-md, 0.375rem);
|
|
11
|
+
padding: 0.375rem;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.dl-file-tree__node {
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
gap: 0.375rem;
|
|
18
|
+
padding: 0.25rem 0.5rem;
|
|
19
|
+
border-radius: var(--radius-sm, 0.25rem);
|
|
20
|
+
cursor: pointer;
|
|
21
|
+
color: var(--muted-foreground);
|
|
22
|
+
transition: all 0.12s ease;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.dl-file-tree__node:hover {
|
|
26
|
+
background-color: var(--accent);
|
|
27
|
+
color: var(--accent-foreground);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.dl-file-tree__node--active {
|
|
31
|
+
background-color: var(--accent);
|
|
32
|
+
color: var(--foreground);
|
|
33
|
+
font-weight: 500;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.dl-file-tree__icon {
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
width: 1rem;
|
|
41
|
+
height: 1rem;
|
|
42
|
+
flex-shrink: 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.dl-file-tree__name {
|
|
46
|
+
overflow: hidden;
|
|
47
|
+
text-overflow: ellipsis;
|
|
48
|
+
white-space: nowrap;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.dl-file-tree__children {
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
position: relative;
|
|
55
|
+
margin-left: 0.75rem;
|
|
56
|
+
padding-left: 0.5rem;
|
|
57
|
+
border-left: 1px solid var(--border);
|
|
58
|
+
}
|