@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.
Files changed (91) hide show
  1. package/README.md +172 -128
  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 +183 -0
  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.css +2 -0
  22. package/dist/components/copy-button/copy-button.mdx +18 -0
  23. package/dist/components/date-picker/date-picker.css +11 -5
  24. package/dist/components/date-picker/date-picker.mdx +18 -0
  25. package/dist/components/dialog/dialog.css +6 -6
  26. package/dist/components/drawer/drawer.mdx +18 -0
  27. package/dist/components/dropdown-menu/dropdown-menu.css +18 -0
  28. package/dist/components/dropdown-menu/dropdown-menu.mdx +18 -0
  29. package/dist/components/empty-state/empty-state.css +67 -0
  30. package/dist/components/empty-state/empty-state.mdx +18 -0
  31. package/dist/components/form/form.mdx +18 -0
  32. package/dist/components/hover-card/hover-card.mdx +18 -0
  33. package/dist/components/input-otp/input-otp.mdx +18 -0
  34. package/dist/components/label/label.mdx +18 -0
  35. package/dist/components/layout/layout.css +158 -0
  36. package/dist/components/layout/layout.mdx +30 -0
  37. package/dist/components/loading-state/loading-state.css +11 -0
  38. package/dist/components/loading-state/loading-state.mdx +18 -0
  39. package/dist/components/menubar/menubar.css +4 -4
  40. package/dist/components/menubar/menubar.mdx +18 -0
  41. package/dist/components/metric-card/metric-card.mdx +18 -0
  42. package/dist/components/navigation-menu/navigation-menu.css +2 -2
  43. package/dist/components/navigation-menu/navigation-menu.mdx +18 -0
  44. package/dist/components/pagination/pagination.css +8 -2
  45. package/dist/components/pagination/pagination.mdx +18 -0
  46. package/dist/components/panel/panel.mdx +18 -0
  47. package/dist/components/popover/popover.css +7 -2
  48. package/dist/components/popover/popover.mdx +18 -0
  49. package/dist/components/radio-group/radio-group.mdx +18 -0
  50. package/dist/components/resizable/resizable.mdx +18 -0
  51. package/dist/components/scroll-area/scroll-area.mdx +18 -0
  52. package/dist/components/searchable-select/searchable-select.css +26 -3
  53. package/dist/components/searchable-select/searchable-select.mdx +18 -0
  54. package/dist/components/secret-reveal-card/secret-reveal-card.css +9 -0
  55. package/dist/components/secret-reveal-card/secret-reveal-card.mdx +18 -0
  56. package/dist/components/select/select.css +16 -1
  57. package/dist/components/separator/separator.mdx +18 -0
  58. package/dist/components/sheet/sheet.css +5 -1
  59. package/dist/components/sheet/sheet.mdx +18 -0
  60. package/dist/components/sidebar/sidebar-menu.css +183 -0
  61. package/dist/components/sidebar/sidebar-submenu.css +69 -0
  62. package/dist/components/sidebar/sidebar.css +171 -4
  63. package/dist/components/sidebar/sidebar.mdx +18 -0
  64. package/dist/components/slider/slider.mdx +18 -0
  65. package/dist/components/status-chip/status-chip.mdx +18 -0
  66. package/dist/components/table/table.css +5 -3
  67. package/dist/components/tabs/tabs.css +3 -3
  68. package/dist/components/textarea/textarea.css +3 -3
  69. package/dist/components/textarea/textarea.mdx +18 -0
  70. package/dist/components/toggle/toggle.css +9 -9
  71. package/dist/components/toggle/toggle.mdx +18 -0
  72. package/dist/components/toggle-group/toggle-group.mdx +18 -0
  73. package/dist/components/tooltip/tooltip.mdx +18 -0
  74. package/dist/components/typography/heading.mdx +36 -0
  75. package/dist/components/typography/text.mdx +34 -0
  76. package/dist/components/typography/typography.css +98 -0
  77. package/dist/components.css +1366 -118
  78. package/dist/index.cjs +1239 -1008
  79. package/dist/index.cjs.map +1 -1
  80. package/dist/index.d.cts +662 -197
  81. package/dist/index.d.ts +662 -197
  82. package/dist/index.js +1220 -1011
  83. package/dist/index.js.map +1 -1
  84. package/dist/preset.css +2 -4
  85. package/dist/styles/components.css +1366 -118
  86. package/dist/styles/preset.css +2 -4
  87. package/dist/styles/styles.css +7 -4
  88. package/dist/styles/utilities.css +137 -0
  89. package/dist/styles.css +7 -4
  90. package/dist/utilities.css +137 -0
  91. package/package.json +22 -4
@@ -1,8 +1,6 @@
1
1
  /**
2
2
  * @file src/styles/preset.css
3
- * @description Backward compatibility bridge for @yuva-devlab/ui.
4
- * Directs downstream Tailwind 4 consumers to @yuva-devlab/tokens/preset.css
5
- * and imports UI component styles.
3
+ * @description Composite preset importing tokens and UI component styles.
6
4
  */
7
- @import "@yuva-devlab/tokens/preset.css";
5
+ @import "@yuva-devlab/tokens/styles.css";
8
6
  @import "./styles.css";
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * @file src/styles/styles.css
3
3
  * @description Master stylesheet for @yuva-devlab/ui.
4
- * Architecture: Tokens (@yuva-devlab/tokens) -> Common Primitives -> Component Styles.
5
- * Zero Tailwind dependency. Pure CSS with scoped dl-* classes.
4
+ * Architecture: Reset -> Tokens -> Components -> Layout -> Utilities.
5
+ * Governed by W3C Cascade Layers.
6
6
  */
7
7
 
8
- /* ── 0. Establish Layer Precedence (utilities > dl-components > dl-base) ─── */
9
- @layer dl-base, dl-components, utilities;
8
+ /* ── 0. Establish Layer Precedence ───────────────────────────────────────── */
9
+ @layer dl-reset, dl-tokens, dl-components, dl-layout, dl-utilities;
10
10
 
11
11
  /* ── 1. Design Tokens & Theme Baseline ───────────────────────────────────── */
12
12
  @import "@yuva-devlab/tokens/styles.css";
@@ -16,3 +16,6 @@
16
16
 
17
17
  /* ── 3. Modular Scoped Component Styles ─────────────────────────────────── */
18
18
  @import "./components.css";
19
+
20
+ /* ── 4. Zero-Runtime Platform Utilities ─────────────────────────────────── */
21
+ @import "./utilities.css";
@@ -0,0 +1,137 @@
1
+ /**
2
+ * @file src/styles/utilities.css
3
+ * @description Platform Utility Layer (@layer dl-utilities).
4
+ * Provides semantic, accessibility, icon, and text utilities.
5
+ */
6
+
7
+ @layer dl-utilities {
8
+ /* ── Accessibility ─────────────────────────────────────────────────────── */
9
+ .dl-sr-only {
10
+ position: absolute;
11
+ width: 1px;
12
+ height: 1px;
13
+ padding: 0;
14
+ margin: -1px;
15
+ overflow: hidden;
16
+ clip: rect(0, 0, 0, 0);
17
+ white-space: nowrap;
18
+ border-width: 0;
19
+ }
20
+
21
+ .dl-not-sr-only {
22
+ position: static;
23
+ width: auto;
24
+ height: auto;
25
+ padding: 0;
26
+ margin: 0;
27
+ overflow: visible;
28
+ clip: auto;
29
+ white-space: normal;
30
+ }
31
+
32
+ /* ── Text Clamping & Truncation ────────────────────────────────────────── */
33
+ .dl-truncate {
34
+ overflow: hidden;
35
+ text-overflow: ellipsis;
36
+ white-space: nowrap;
37
+ }
38
+
39
+ .dl-line-clamp-1 {
40
+ display: -webkit-box;
41
+ -webkit-line-clamp: 1;
42
+ -webkit-box-orient: vertical;
43
+ overflow: hidden;
44
+ }
45
+
46
+ .dl-line-clamp-2 {
47
+ display: -webkit-box;
48
+ -webkit-line-clamp: 2;
49
+ -webkit-box-orient: vertical;
50
+ overflow: hidden;
51
+ }
52
+
53
+ .dl-line-clamp-3 {
54
+ display: -webkit-box;
55
+ -webkit-line-clamp: 3;
56
+ -webkit-box-orient: vertical;
57
+ overflow: hidden;
58
+ }
59
+
60
+ /* ── Typography & Alignment ────────────────────────────────────────────── */
61
+ .dl-text-left {
62
+ text-align: left;
63
+ }
64
+
65
+ .dl-text-center {
66
+ text-align: center;
67
+ }
68
+
69
+ .dl-text-right {
70
+ text-align: right;
71
+ }
72
+
73
+ .dl-whitespace-nowrap {
74
+ white-space: nowrap;
75
+ }
76
+
77
+ /* ── Standard Icon Dimensions ──────────────────────────────────────────── */
78
+ .dl-icon-xs {
79
+ width: var(--icon-xs, 0.875rem);
80
+ height: var(--icon-xs, 0.875rem);
81
+ flex-shrink: 0;
82
+ }
83
+
84
+ .dl-icon-sm {
85
+ width: var(--icon-sm, 1rem);
86
+ height: var(--icon-sm, 1rem);
87
+ flex-shrink: 0;
88
+ }
89
+
90
+ .dl-icon-md {
91
+ width: var(--icon-md, 1.25rem);
92
+ height: var(--icon-md, 1.25rem);
93
+ flex-shrink: 0;
94
+ }
95
+
96
+ .dl-icon-lg {
97
+ width: var(--icon-lg, 1.5rem);
98
+ height: var(--icon-lg, 1.5rem);
99
+ flex-shrink: 0;
100
+ }
101
+
102
+ .dl-icon-xl {
103
+ width: var(--icon-xl, 2rem);
104
+ height: var(--icon-xl, 2rem);
105
+ flex-shrink: 0;
106
+ }
107
+
108
+ /* ── Containment & Overflow ────────────────────────────────────────────── */
109
+ .dl-overflow-hidden {
110
+ overflow: hidden;
111
+ }
112
+
113
+ .dl-overflow-auto {
114
+ overflow: auto;
115
+ }
116
+
117
+ .dl-overflow-x-auto {
118
+ overflow-x: auto;
119
+ }
120
+
121
+ .dl-overflow-y-auto {
122
+ overflow-y: auto;
123
+ }
124
+
125
+ /* ── Interaction ───────────────────────────────────────────────────────── */
126
+ .dl-cursor-pointer {
127
+ cursor: pointer;
128
+ }
129
+
130
+ .dl-cursor-not-allowed {
131
+ cursor: not-allowed;
132
+ }
133
+
134
+ .dl-select-none {
135
+ user-select: none;
136
+ }
137
+ }
package/dist/styles.css CHANGED
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * @file src/styles/styles.css
3
3
  * @description Master stylesheet for @yuva-devlab/ui.
4
- * Architecture: Tokens (@yuva-devlab/tokens) -> Common Primitives -> Component Styles.
5
- * Zero Tailwind dependency. Pure CSS with scoped dl-* classes.
4
+ * Architecture: Reset -> Tokens -> Components -> Layout -> Utilities.
5
+ * Governed by W3C Cascade Layers.
6
6
  */
7
7
 
8
- /* ── 0. Establish Layer Precedence (utilities > dl-components > dl-base) ─── */
9
- @layer dl-base, dl-components, utilities;
8
+ /* ── 0. Establish Layer Precedence ───────────────────────────────────────── */
9
+ @layer dl-reset, dl-tokens, dl-components, dl-layout, dl-utilities;
10
10
 
11
11
  /* ── 1. Design Tokens & Theme Baseline ───────────────────────────────────── */
12
12
  @import "@yuva-devlab/tokens/styles.css";
@@ -16,3 +16,6 @@
16
16
 
17
17
  /* ── 3. Modular Scoped Component Styles ─────────────────────────────────── */
18
18
  @import "./components.css";
19
+
20
+ /* ── 4. Zero-Runtime Platform Utilities ─────────────────────────────────── */
21
+ @import "./utilities.css";
@@ -0,0 +1,137 @@
1
+ /**
2
+ * @file src/styles/utilities.css
3
+ * @description Platform Utility Layer (@layer dl-utilities).
4
+ * Provides semantic, accessibility, icon, and text utilities.
5
+ */
6
+
7
+ @layer dl-utilities {
8
+ /* ── Accessibility ─────────────────────────────────────────────────────── */
9
+ .dl-sr-only {
10
+ position: absolute;
11
+ width: 1px;
12
+ height: 1px;
13
+ padding: 0;
14
+ margin: -1px;
15
+ overflow: hidden;
16
+ clip: rect(0, 0, 0, 0);
17
+ white-space: nowrap;
18
+ border-width: 0;
19
+ }
20
+
21
+ .dl-not-sr-only {
22
+ position: static;
23
+ width: auto;
24
+ height: auto;
25
+ padding: 0;
26
+ margin: 0;
27
+ overflow: visible;
28
+ clip: auto;
29
+ white-space: normal;
30
+ }
31
+
32
+ /* ── Text Clamping & Truncation ────────────────────────────────────────── */
33
+ .dl-truncate {
34
+ overflow: hidden;
35
+ text-overflow: ellipsis;
36
+ white-space: nowrap;
37
+ }
38
+
39
+ .dl-line-clamp-1 {
40
+ display: -webkit-box;
41
+ -webkit-line-clamp: 1;
42
+ -webkit-box-orient: vertical;
43
+ overflow: hidden;
44
+ }
45
+
46
+ .dl-line-clamp-2 {
47
+ display: -webkit-box;
48
+ -webkit-line-clamp: 2;
49
+ -webkit-box-orient: vertical;
50
+ overflow: hidden;
51
+ }
52
+
53
+ .dl-line-clamp-3 {
54
+ display: -webkit-box;
55
+ -webkit-line-clamp: 3;
56
+ -webkit-box-orient: vertical;
57
+ overflow: hidden;
58
+ }
59
+
60
+ /* ── Typography & Alignment ────────────────────────────────────────────── */
61
+ .dl-text-left {
62
+ text-align: left;
63
+ }
64
+
65
+ .dl-text-center {
66
+ text-align: center;
67
+ }
68
+
69
+ .dl-text-right {
70
+ text-align: right;
71
+ }
72
+
73
+ .dl-whitespace-nowrap {
74
+ white-space: nowrap;
75
+ }
76
+
77
+ /* ── Standard Icon Dimensions ──────────────────────────────────────────── */
78
+ .dl-icon-xs {
79
+ width: var(--icon-xs, 0.875rem);
80
+ height: var(--icon-xs, 0.875rem);
81
+ flex-shrink: 0;
82
+ }
83
+
84
+ .dl-icon-sm {
85
+ width: var(--icon-sm, 1rem);
86
+ height: var(--icon-sm, 1rem);
87
+ flex-shrink: 0;
88
+ }
89
+
90
+ .dl-icon-md {
91
+ width: var(--icon-md, 1.25rem);
92
+ height: var(--icon-md, 1.25rem);
93
+ flex-shrink: 0;
94
+ }
95
+
96
+ .dl-icon-lg {
97
+ width: var(--icon-lg, 1.5rem);
98
+ height: var(--icon-lg, 1.5rem);
99
+ flex-shrink: 0;
100
+ }
101
+
102
+ .dl-icon-xl {
103
+ width: var(--icon-xl, 2rem);
104
+ height: var(--icon-xl, 2rem);
105
+ flex-shrink: 0;
106
+ }
107
+
108
+ /* ── Containment & Overflow ────────────────────────────────────────────── */
109
+ .dl-overflow-hidden {
110
+ overflow: hidden;
111
+ }
112
+
113
+ .dl-overflow-auto {
114
+ overflow: auto;
115
+ }
116
+
117
+ .dl-overflow-x-auto {
118
+ overflow-x: auto;
119
+ }
120
+
121
+ .dl-overflow-y-auto {
122
+ overflow-y: auto;
123
+ }
124
+
125
+ /* ── Interaction ───────────────────────────────────────────────────────── */
126
+ .dl-cursor-pointer {
127
+ cursor: pointer;
128
+ }
129
+
130
+ .dl-cursor-not-allowed {
131
+ cursor: not-allowed;
132
+ }
133
+
134
+ .dl-select-none {
135
+ user-select: none;
136
+ }
137
+ }
package/package.json CHANGED
@@ -1,6 +1,24 @@
1
1
  {
2
2
  "name": "@yuva-devlab/ui",
3
- "version": "1.4.3",
3
+ "version": "2.0.0",
4
+ "description": "Production-ready, accessible React 19 component library built on Radix UI and semantic design tokens for Yuva DevLab",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/yuvadevlab/devlab-shared.git",
8
+ "directory": "packages/ui"
9
+ },
10
+ "bugs": {
11
+ "url": "https://github.com/yuvadevlab/devlab-shared/issues"
12
+ },
13
+ "keywords": [
14
+ "react",
15
+ "react-19",
16
+ "ui",
17
+ "components",
18
+ "radix-ui",
19
+ "design-system",
20
+ "devlab"
21
+ ],
4
22
  "type": "module",
5
23
  "main": "./dist/index.cjs",
6
24
  "module": "./dist/index.js",
@@ -26,7 +44,8 @@
26
44
  "./root.css": "./dist/root.css",
27
45
  "./common.css": "./dist/common.css",
28
46
  "./components/*": "./dist/components/*",
29
- "./components.css": "./dist/components.css"
47
+ "./components.css": "./dist/components.css",
48
+ "./utilities.css": "./dist/utilities.css"
30
49
  },
31
50
  "files": [
32
51
  "dist"
@@ -69,10 +88,9 @@
69
88
  "react-hook-form": "^7.71.2",
70
89
  "react-resizable-panels": "^4.6.5",
71
90
  "recharts": "^2.15.4",
72
- "tailwind-merge": "^3.5.0",
73
91
  "vaul": "^1.1.2",
74
92
  "zod": "^3.25.76",
75
- "@yuva-devlab/tokens": "1.3.0"
93
+ "@yuva-devlab/tokens": "2.0.0"
76
94
  },
77
95
  "devDependencies": {
78
96
  "@storybook/react": "^8.6.14",