@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.
Files changed (90) hide show
  1. package/README.md +117 -33
  2. package/dist/components/accordion/accordion.mdx +18 -0
  3. package/dist/components/alert/alert.css +2 -2
  4. package/dist/components/alert-dialog/alert-dialog.mdx +18 -0
  5. package/dist/components/aspect-ratio/aspect-ratio.mdx +22 -0
  6. package/dist/components/breadcrumb/breadcrumb.mdx +18 -0
  7. package/dist/components/calendar/calendar-nav.css +111 -0
  8. package/dist/components/calendar/calendar.css +27 -82
  9. package/dist/components/calendar/calendar.mdx +18 -0
  10. package/dist/components/card/card.css +4 -4
  11. package/dist/components/carousel/carousel.css +4 -4
  12. package/dist/components/carousel/carousel.mdx +18 -0
  13. package/dist/components/chart/chart.css +86 -0
  14. package/dist/components/chart/chart.mdx +18 -0
  15. package/dist/components/checkbox/checkbox.css +11 -0
  16. package/dist/components/collapsible/collapsible.mdx +18 -0
  17. package/dist/components/command/command.css +3 -3
  18. package/dist/components/command/command.mdx +18 -0
  19. package/dist/components/confirm-dialog/confirm-dialog.mdx +18 -0
  20. package/dist/components/context-menu/context-menu.mdx +18 -0
  21. package/dist/components/copy-button/copy-button.mdx +18 -0
  22. package/dist/components/date-picker/date-picker.css +2 -2
  23. package/dist/components/date-picker/date-picker.mdx +18 -0
  24. package/dist/components/dialog/dialog.css +6 -6
  25. package/dist/components/drawer/drawer.mdx +18 -0
  26. package/dist/components/dropdown-menu/dropdown-menu.css +18 -0
  27. package/dist/components/dropdown-menu/dropdown-menu.mdx +18 -0
  28. package/dist/components/empty-state/empty-state.css +67 -0
  29. package/dist/components/empty-state/empty-state.mdx +18 -0
  30. package/dist/components/form/form.mdx +18 -0
  31. package/dist/components/hover-card/hover-card.mdx +18 -0
  32. package/dist/components/input-otp/input-otp.mdx +18 -0
  33. package/dist/components/label/label.mdx +18 -0
  34. package/dist/components/layout/layout.css +158 -0
  35. package/dist/components/layout/layout.mdx +30 -0
  36. package/dist/components/loading-state/loading-state.css +11 -0
  37. package/dist/components/loading-state/loading-state.mdx +18 -0
  38. package/dist/components/menubar/menubar.css +4 -4
  39. package/dist/components/menubar/menubar.mdx +18 -0
  40. package/dist/components/metric-card/metric-card.mdx +18 -0
  41. package/dist/components/navigation-menu/navigation-menu.css +2 -2
  42. package/dist/components/navigation-menu/navigation-menu.mdx +18 -0
  43. package/dist/components/pagination/pagination.css +8 -2
  44. package/dist/components/pagination/pagination.mdx +18 -0
  45. package/dist/components/panel/panel.mdx +18 -0
  46. package/dist/components/popover/popover.css +2 -2
  47. package/dist/components/popover/popover.mdx +18 -0
  48. package/dist/components/radio-group/radio-group.mdx +18 -0
  49. package/dist/components/resizable/resizable.mdx +18 -0
  50. package/dist/components/scroll-area/scroll-area.mdx +18 -0
  51. package/dist/components/searchable-select/searchable-select.css +26 -3
  52. package/dist/components/searchable-select/searchable-select.mdx +18 -0
  53. package/dist/components/secret-reveal-card/secret-reveal-card.css +6 -0
  54. package/dist/components/secret-reveal-card/secret-reveal-card.mdx +18 -0
  55. package/dist/components/select/select.css +16 -1
  56. package/dist/components/separator/separator.mdx +18 -0
  57. package/dist/components/sheet/sheet.css +5 -1
  58. package/dist/components/sheet/sheet.mdx +18 -0
  59. package/dist/components/sidebar/sidebar-menu.css +183 -0
  60. package/dist/components/sidebar/sidebar-submenu.css +69 -0
  61. package/dist/components/sidebar/sidebar.css +171 -4
  62. package/dist/components/sidebar/sidebar.mdx +18 -0
  63. package/dist/components/slider/slider.mdx +18 -0
  64. package/dist/components/status-chip/status-chip.mdx +18 -0
  65. package/dist/components/table/table.css +5 -3
  66. package/dist/components/tabs/tabs.css +3 -3
  67. package/dist/components/textarea/textarea.css +3 -3
  68. package/dist/components/textarea/textarea.mdx +18 -0
  69. package/dist/components/toggle/toggle.css +9 -9
  70. package/dist/components/toggle/toggle.mdx +18 -0
  71. package/dist/components/toggle-group/toggle-group.mdx +18 -0
  72. package/dist/components/tooltip/tooltip.mdx +18 -0
  73. package/dist/components/typography/heading.mdx +36 -0
  74. package/dist/components/typography/text.mdx +34 -0
  75. package/dist/components/typography/typography.css +98 -0
  76. package/dist/components.css +1156 -164
  77. package/dist/index.cjs +1206 -958
  78. package/dist/index.cjs.map +1 -1
  79. package/dist/index.d.cts +657 -196
  80. package/dist/index.d.ts +657 -196
  81. package/dist/index.js +1174 -948
  82. package/dist/index.js.map +1 -1
  83. package/dist/preset.css +2 -4
  84. package/dist/styles/components.css +1156 -164
  85. package/dist/styles/preset.css +2 -4
  86. package/dist/styles/styles.css +7 -4
  87. package/dist/styles/utilities.css +137 -0
  88. package/dist/styles.css +7 -4
  89. package/dist/utilities.css +137 -0
  90. 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-lg, 0.75rem);
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 />