@skylab-kulubu/skylcn-ui 0.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.
Files changed (253) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +100 -0
  3. package/dist/assets/skylab-mark.d.ts +5 -0
  4. package/dist/assets/skylab-mark.d.ts.map +1 -0
  5. package/dist/assets/skylab-mark.js +29 -0
  6. package/dist/assets/skylab-mark.js.map +1 -0
  7. package/dist/charts/chart-frame.d.ts +42 -0
  8. package/dist/charts/chart-frame.d.ts.map +1 -0
  9. package/dist/charts/chart-frame.js +33 -0
  10. package/dist/charts/chart-frame.js.map +1 -0
  11. package/dist/charts/charts.d.ts +84 -0
  12. package/dist/charts/charts.d.ts.map +1 -0
  13. package/dist/charts/charts.js +194 -0
  14. package/dist/charts/charts.js.map +1 -0
  15. package/dist/charts/index.d.ts +3 -0
  16. package/dist/charts/index.d.ts.map +1 -0
  17. package/dist/charts/index.js +3 -0
  18. package/dist/charts/index.js.map +1 -0
  19. package/dist/components/accordion.d.ts +7 -0
  20. package/dist/components/accordion.d.ts.map +1 -0
  21. package/dist/components/accordion.js +17 -0
  22. package/dist/components/accordion.js.map +1 -0
  23. package/dist/components/app-shell.d.ts +96 -0
  24. package/dist/components/app-shell.d.ts.map +1 -0
  25. package/dist/components/app-shell.js +191 -0
  26. package/dist/components/app-shell.js.map +1 -0
  27. package/dist/components/avatar.d.ts +28 -0
  28. package/dist/components/avatar.d.ts.map +1 -0
  29. package/dist/components/avatar.js +26 -0
  30. package/dist/components/avatar.js.map +1 -0
  31. package/dist/components/badge.d.ts +41 -0
  32. package/dist/components/badge.d.ts.map +1 -0
  33. package/dist/components/badge.js +42 -0
  34. package/dist/components/badge.js.map +1 -0
  35. package/dist/components/bar-list.d.ts +33 -0
  36. package/dist/components/bar-list.d.ts.map +1 -0
  37. package/dist/components/bar-list.js +31 -0
  38. package/dist/components/bar-list.js.map +1 -0
  39. package/dist/components/breadcrumbs.d.ts +16 -0
  40. package/dist/components/breadcrumbs.d.ts.map +1 -0
  41. package/dist/components/breadcrumbs.js +21 -0
  42. package/dist/components/breadcrumbs.js.map +1 -0
  43. package/dist/components/button.d.ts +30 -0
  44. package/dist/components/button.d.ts.map +1 -0
  45. package/dist/components/button.js +51 -0
  46. package/dist/components/button.js.map +1 -0
  47. package/dist/components/calendar.d.ts +44 -0
  48. package/dist/components/calendar.d.ts.map +1 -0
  49. package/dist/components/calendar.js +93 -0
  50. package/dist/components/calendar.js.map +1 -0
  51. package/dist/components/card.d.ts +38 -0
  52. package/dist/components/card.d.ts.map +1 -0
  53. package/dist/components/card.js +38 -0
  54. package/dist/components/card.js.map +1 -0
  55. package/dist/components/carousel.d.ts +42 -0
  56. package/dist/components/carousel.d.ts.map +1 -0
  57. package/dist/components/carousel.js +92 -0
  58. package/dist/components/carousel.js.map +1 -0
  59. package/dist/components/checkbox.d.ts +3 -0
  60. package/dist/components/checkbox.d.ts.map +1 -0
  61. package/dist/components/checkbox.js +9 -0
  62. package/dist/components/checkbox.js.map +1 -0
  63. package/dist/components/command.d.ts +31 -0
  64. package/dist/components/command.d.ts.map +1 -0
  65. package/dist/components/command.js +91 -0
  66. package/dist/components/command.js.map +1 -0
  67. package/dist/components/copy-button.d.ts +10 -0
  68. package/dist/components/copy-button.d.ts.map +1 -0
  69. package/dist/components/copy-button.js +23 -0
  70. package/dist/components/copy-button.js.map +1 -0
  71. package/dist/components/data-list.d.ts +70 -0
  72. package/dist/components/data-list.d.ts.map +1 -0
  73. package/dist/components/data-list.js +119 -0
  74. package/dist/components/data-list.js.map +1 -0
  75. package/dist/components/dialog.d.ts +41 -0
  76. package/dist/components/dialog.d.ts.map +1 -0
  77. package/dist/components/dialog.js +49 -0
  78. package/dist/components/dialog.js.map +1 -0
  79. package/dist/components/display-extra.d.ts +91 -0
  80. package/dist/components/display-extra.d.ts.map +1 -0
  81. package/dist/components/display-extra.js +91 -0
  82. package/dist/components/display-extra.js.map +1 -0
  83. package/dist/components/drawer.d.ts +22 -0
  84. package/dist/components/drawer.d.ts.map +1 -0
  85. package/dist/components/drawer.js +50 -0
  86. package/dist/components/drawer.js.map +1 -0
  87. package/dist/components/feedback.d.ts +63 -0
  88. package/dist/components/feedback.d.ts.map +1 -0
  89. package/dist/components/feedback.js +59 -0
  90. package/dist/components/feedback.js.map +1 -0
  91. package/dist/components/field.d.ts +21 -0
  92. package/dist/components/field.d.ts.map +1 -0
  93. package/dist/components/field.js +38 -0
  94. package/dist/components/field.js.map +1 -0
  95. package/dist/components/form-extra.d.ts +58 -0
  96. package/dist/components/form-extra.d.ts.map +1 -0
  97. package/dist/components/form-extra.js +51 -0
  98. package/dist/components/form-extra.js.map +1 -0
  99. package/dist/components/icon-swap.d.ts +15 -0
  100. package/dist/components/icon-swap.d.ts.map +1 -0
  101. package/dist/components/icon-swap.js +13 -0
  102. package/dist/components/icon-swap.js.map +1 -0
  103. package/dist/components/list.d.ts +43 -0
  104. package/dist/components/list.d.ts.map +1 -0
  105. package/dist/components/list.js +30 -0
  106. package/dist/components/list.js.map +1 -0
  107. package/dist/components/menu.d.ts +41 -0
  108. package/dist/components/menu.d.ts.map +1 -0
  109. package/dist/components/menu.js +67 -0
  110. package/dist/components/menu.js.map +1 -0
  111. package/dist/components/month-calendar.d.ts +38 -0
  112. package/dist/components/month-calendar.d.ts.map +1 -0
  113. package/dist/components/month-calendar.js +64 -0
  114. package/dist/components/month-calendar.js.map +1 -0
  115. package/dist/components/motion.d.ts +43 -0
  116. package/dist/components/motion.d.ts.map +1 -0
  117. package/dist/components/motion.js +56 -0
  118. package/dist/components/motion.js.map +1 -0
  119. package/dist/components/navigation-menu.d.ts +28 -0
  120. package/dist/components/navigation-menu.d.ts.map +1 -0
  121. package/dist/components/navigation-menu.js +26 -0
  122. package/dist/components/navigation-menu.js.map +1 -0
  123. package/dist/components/page-header.d.ts +45 -0
  124. package/dist/components/page-header.d.ts.map +1 -0
  125. package/dist/components/page-header.js +37 -0
  126. package/dist/components/page-header.js.map +1 -0
  127. package/dist/components/pagination.d.ts +19 -0
  128. package/dist/components/pagination.d.ts.map +1 -0
  129. package/dist/components/pagination.js +70 -0
  130. package/dist/components/pagination.js.map +1 -0
  131. package/dist/components/popover.d.ts +10 -0
  132. package/dist/components/popover.d.ts.map +1 -0
  133. package/dist/components/popover.js +15 -0
  134. package/dist/components/popover.js.map +1 -0
  135. package/dist/components/preview-card.d.ts +11 -0
  136. package/dist/components/preview-card.d.ts.map +1 -0
  137. package/dist/components/preview-card.js +18 -0
  138. package/dist/components/preview-card.js.map +1 -0
  139. package/dist/components/proportion-bar.d.ts +16 -0
  140. package/dist/components/proportion-bar.d.ts.map +1 -0
  141. package/dist/components/proportion-bar.js +20 -0
  142. package/dist/components/proportion-bar.js.map +1 -0
  143. package/dist/components/radio-group.d.ts +11 -0
  144. package/dist/components/radio-group.d.ts.map +1 -0
  145. package/dist/components/radio-group.js +13 -0
  146. package/dist/components/radio-group.js.map +1 -0
  147. package/dist/components/reveal.d.ts +19 -0
  148. package/dist/components/reveal.d.ts.map +1 -0
  149. package/dist/components/reveal.js +25 -0
  150. package/dist/components/reveal.js.map +1 -0
  151. package/dist/components/segmented-control.d.ts +16 -0
  152. package/dist/components/segmented-control.d.ts.map +1 -0
  153. package/dist/components/segmented-control.js +21 -0
  154. package/dist/components/segmented-control.js.map +1 -0
  155. package/dist/components/select.d.ts +25 -0
  156. package/dist/components/select.d.ts.map +1 -0
  157. package/dist/components/select.js +33 -0
  158. package/dist/components/select.js.map +1 -0
  159. package/dist/components/side-nav.d.ts +33 -0
  160. package/dist/components/side-nav.d.ts.map +1 -0
  161. package/dist/components/side-nav.js +52 -0
  162. package/dist/components/side-nav.js.map +1 -0
  163. package/dist/components/skeleton.d.ts +4 -0
  164. package/dist/components/skeleton.d.ts.map +1 -0
  165. package/dist/components/skeleton.js +7 -0
  166. package/dist/components/skeleton.js.map +1 -0
  167. package/dist/components/skylab-loader.d.ts +10 -0
  168. package/dist/components/skylab-loader.d.ts.map +1 -0
  169. package/dist/components/skylab-loader.js +12 -0
  170. package/dist/components/skylab-loader.js.map +1 -0
  171. package/dist/components/sparkline.d.ts +12 -0
  172. package/dist/components/sparkline.d.ts.map +1 -0
  173. package/dist/components/sparkline.js +26 -0
  174. package/dist/components/sparkline.js.map +1 -0
  175. package/dist/components/state-card.d.ts +27 -0
  176. package/dist/components/state-card.d.ts.map +1 -0
  177. package/dist/components/state-card.js +17 -0
  178. package/dist/components/state-card.js.map +1 -0
  179. package/dist/components/switch.d.ts +15 -0
  180. package/dist/components/switch.d.ts.map +1 -0
  181. package/dist/components/switch.js +12 -0
  182. package/dist/components/switch.js.map +1 -0
  183. package/dist/components/tabs.d.ts +8 -0
  184. package/dist/components/tabs.d.ts.map +1 -0
  185. package/dist/components/tabs.js +17 -0
  186. package/dist/components/tabs.js.map +1 -0
  187. package/dist/components/toast.d.ts +17 -0
  188. package/dist/components/toast.d.ts.map +1 -0
  189. package/dist/components/toast.js +30 -0
  190. package/dist/components/toast.js.map +1 -0
  191. package/dist/components/tooltip.d.ts +15 -0
  192. package/dist/components/tooltip.d.ts.map +1 -0
  193. package/dist/components/tooltip.js +13 -0
  194. package/dist/components/tooltip.js.map +1 -0
  195. package/dist/components/tree.d.ts +26 -0
  196. package/dist/components/tree.d.ts.map +1 -0
  197. package/dist/components/tree.js +92 -0
  198. package/dist/components/tree.js.map +1 -0
  199. package/dist/components/trend-badge.d.ts +13 -0
  200. package/dist/components/trend-badge.d.ts.map +1 -0
  201. package/dist/components/trend-badge.js +22 -0
  202. package/dist/components/trend-badge.js.map +1 -0
  203. package/dist/data-table/data-table.d.ts +59 -0
  204. package/dist/data-table/data-table.d.ts.map +1 -0
  205. package/dist/data-table/data-table.js +207 -0
  206. package/dist/data-table/data-table.js.map +1 -0
  207. package/dist/data-table/index.d.ts +2 -0
  208. package/dist/data-table/index.d.ts.map +1 -0
  209. package/dist/data-table/index.js +2 -0
  210. package/dist/data-table/index.js.map +1 -0
  211. package/dist/index.d.ts +57 -0
  212. package/dist/index.d.ts.map +1 -0
  213. package/dist/index.js +57 -0
  214. package/dist/index.js.map +1 -0
  215. package/dist/lib/cn.d.ts +2 -0
  216. package/dist/lib/cn.d.ts.map +1 -0
  217. package/dist/lib/cn.js +2 -0
  218. package/dist/lib/cn.js.map +1 -0
  219. package/dist/lib/motion-preference.d.ts +11 -0
  220. package/dist/lib/motion-preference.d.ts.map +1 -0
  221. package/dist/lib/motion-preference.js +42 -0
  222. package/dist/lib/motion-preference.js.map +1 -0
  223. package/dist/lib/motion-tokens.d.ts +55 -0
  224. package/dist/lib/motion-tokens.d.ts.map +1 -0
  225. package/dist/lib/motion-tokens.js +26 -0
  226. package/dist/lib/motion-tokens.js.map +1 -0
  227. package/dist/lib/motion.d.ts +3 -0
  228. package/dist/lib/motion.d.ts.map +1 -0
  229. package/dist/lib/motion.js +19 -0
  230. package/dist/lib/motion.js.map +1 -0
  231. package/dist/lib/provider.d.ts +160 -0
  232. package/dist/lib/provider.d.ts.map +1 -0
  233. package/dist/lib/provider.js +156 -0
  234. package/dist/lib/provider.js.map +1 -0
  235. package/dist/lib/theme-script.d.ts +15 -0
  236. package/dist/lib/theme-script.d.ts.map +1 -0
  237. package/dist/lib/theme-script.js +15 -0
  238. package/dist/lib/theme-script.js.map +1 -0
  239. package/dist/lib/theme.d.ts +13 -0
  240. package/dist/lib/theme.d.ts.map +1 -0
  241. package/dist/lib/theme.js +78 -0
  242. package/dist/lib/theme.js.map +1 -0
  243. package/dist/lib/use-pending-indicator.d.ts +7 -0
  244. package/dist/lib/use-pending-indicator.d.ts.map +1 -0
  245. package/dist/lib/use-pending-indicator.js +27 -0
  246. package/dist/lib/use-pending-indicator.js.map +1 -0
  247. package/dist/lib/use-reduced-motion.d.ts +7 -0
  248. package/dist/lib/use-reduced-motion.d.ts.map +1 -0
  249. package/dist/lib/use-reduced-motion.js +28 -0
  250. package/dist/lib/use-reduced-motion.js.map +1 -0
  251. package/dist/styles/theme.css +368 -0
  252. package/dist/styles/tokens.css +248 -0
  253. package/package.json +90 -0
@@ -0,0 +1,248 @@
1
+ /*
2
+ * skylcn-ui design tokens. Plain CSS custom properties with no Tailwind in
3
+ * them, so surfaces without Tailwind (the Keycloak login theme) can use the
4
+ * same set. Dark is the default; `data-theme="light"` on any ancestor switches.
5
+ */
6
+
7
+ :root,
8
+ [data-theme='dark'] {
9
+ color-scheme: dark;
10
+
11
+ /* Brand */
12
+ --skylab-300: #f3e8f5;
13
+ --skylab-400: #ebd5ee;
14
+ --skylab-500: #e0c8e5;
15
+ --skylab-600: #c8a4ce;
16
+ --skylab-700: #ae7eb6;
17
+ --skylab-800: #8f5e98;
18
+ --skylab-900: #6e4576;
19
+
20
+ /* Surfaces: the chrome behind the sidebar, the page panel, raised layers */
21
+ --sidebar: #0a0a0a;
22
+ --background: #171717;
23
+ --sheet: #121212;
24
+ --popover: #1a1a1a;
25
+ --card: rgb(255 255 255 / 3%);
26
+
27
+ /* Text. Down to subtle every step reads at 4.5:1 or more on every surface;
28
+ faint is for decoration and disabled states only, never for text to be read. */
29
+ --foreground: #f5f5f5;
30
+ --foreground-strong: #fafafa;
31
+ --secondary-foreground: #e5e5e5;
32
+ --muted-foreground: #a3a3a3;
33
+ --subtle-foreground: #8c8c8c;
34
+ --faint-foreground: #525252;
35
+
36
+ /* Washes and lines, drawn as foreground at low opacity so they sit on any surface */
37
+ --muted: rgb(255 255 255 / 5%);
38
+ --accent: rgb(255 255 255 / 5%);
39
+ --accent-strong: rgb(255 255 255 / 10%);
40
+ --border: rgb(255 255 255 / 10%);
41
+ --border-subtle: rgb(255 255 255 / 5%);
42
+ --border-strong: rgb(255 255 255 / 20%);
43
+ --input: rgb(255 255 255 / 10%);
44
+ --input-background: rgb(38 38 38 / 50%);
45
+
46
+ /* Brand roles */
47
+ --primary: var(--skylab-500);
48
+ --primary-foreground: #0a0a0a;
49
+ --ring: rgb(235 213 238 / 40%);
50
+
51
+ /* Status */
52
+ --destructive: #f87171;
53
+ --destructive-foreground: #fecaca;
54
+ --success: #34d399;
55
+ --warning: #fbbf24;
56
+ --info: #93c5fd;
57
+
58
+ /*
59
+ * Charts. Eight series colours in a fixed order, assigned in sequence and
60
+ * never cycled: brand lilac first, then orange, aqua, yellow, magenta, green,
61
+ * blue, red. Validated as a set for each theme (lightness band, chroma floor,
62
+ * neighbours told apart under protanopia and deuteranopia at ΔE 8.4 or more
63
+ * and under normal vision at 19.3 or more, 3:1 against the card). Change a
64
+ * value only by re-running that validation.
65
+ */
66
+ --chart-1: #a875b8;
67
+ --chart-2: #d95926;
68
+ --chart-3: #199e70;
69
+ --chart-4: #c98500;
70
+ --chart-5: #d55181;
71
+ --chart-6: #008300;
72
+ --chart-7: #3987e5;
73
+ --chart-8: #e66767;
74
+ --chart-grid: rgb(255 255 255 / 7%);
75
+ --chart-axis: rgb(255 255 255 / 16%);
76
+ /* The chart card, opaque: gaps between bars and rings around dots are drawn in it */
77
+ --chart-surface: #1e1e1e;
78
+
79
+ /* Shape */
80
+ --radius: 0.5rem;
81
+ --elevation-overlay: 0 20px 40px -12px rgb(0 0 0 / 60%);
82
+
83
+ /* Scrollbars */
84
+ --scrollbar-thumb: #3f3f46;
85
+ --scrollbar-thumb-hover: #52525b;
86
+ }
87
+
88
+ [data-theme='light'] {
89
+ color-scheme: light;
90
+
91
+ --skylab-300: #75447f;
92
+ --skylab-400: #8f5e98;
93
+ --skylab-500: #ae7eb6;
94
+ --skylab-600: #c8a4ce;
95
+ --skylab-700: #8f5e98;
96
+ --skylab-800: #75447f;
97
+ --skylab-900: #5b3363;
98
+
99
+ --sidebar: #ece8e3;
100
+ --background: #fdfcfa;
101
+ --sheet: #fdfcfa;
102
+ --popover: #ffffff;
103
+ --card: rgb(0 0 0 / 2%);
104
+
105
+ --foreground: #1c1a18;
106
+ --foreground-strong: #121014;
107
+ --secondary-foreground: #2b2825;
108
+ --muted-foreground: #57524c;
109
+ --subtle-foreground: #6b665f;
110
+ --faint-foreground: #8a847d;
111
+
112
+ --muted: rgb(0 0 0 / 4%);
113
+ --accent: rgb(0 0 0 / 5%);
114
+ --accent-strong: rgb(0 0 0 / 8%);
115
+ --border: rgb(0 0 0 / 10%);
116
+ --border-subtle: rgb(0 0 0 / 6%);
117
+ --border-strong: rgb(0 0 0 / 18%);
118
+ --input: rgb(0 0 0 / 12%);
119
+ --input-background: #ffffff;
120
+
121
+ --primary: #8f5e98;
122
+ --primary-foreground: #ffffff;
123
+ --ring: rgb(143 94 152 / 40%);
124
+
125
+ --destructive: #b91c1c;
126
+ --destructive-foreground: #7f1d1d;
127
+ --success: #047857;
128
+ --warning: #a44a07;
129
+ --info: #1d4ed8;
130
+
131
+ /* Four of these sit under 3:1 on the light card, so every chart carries a legend and a table view */
132
+ --chart-1: #8f5e98;
133
+ --chart-2: #eb6834;
134
+ --chart-3: #1baf7a;
135
+ --chart-4: #eda100;
136
+ --chart-5: #e87ba4;
137
+ --chart-6: #008300;
138
+ --chart-7: #2a78d6;
139
+ --chart-8: #e34948;
140
+ --chart-grid: rgb(0 0 0 / 8%);
141
+ --chart-axis: rgb(0 0 0 / 20%);
142
+ --chart-surface: #f8f7f5;
143
+
144
+ --elevation-overlay: 0 20px 40px -16px rgb(28 26 24 / 25%);
145
+
146
+ --scrollbar-thumb: #c9c3bc;
147
+ --scrollbar-thumb-hover: #a8a19a;
148
+ }
149
+
150
+ :root {
151
+ /* Type. Apps load the faces (next/font or @font-face) and may point these at their variables. */
152
+ --font-family-sans:
153
+ var(--skylcn-font-sans, 'Space Grotesk'), ui-sans-serif, system-ui, -apple-system, sans-serif;
154
+ --font-family-mono:
155
+ var(--skylcn-font-mono, 'Space Mono'), ui-monospace, SFMono-Regular, monospace;
156
+
157
+ /* Micro type scale below Tailwind's xs: 2xs meta lines, 3xs chips and labels (the smallest text) */
158
+ --type-2xs: 0.6875rem;
159
+ --type-2xs-leading: 1rem;
160
+ --type-3xs: 0.625rem;
161
+ --type-3xs-leading: 0.875rem;
162
+ --letter-spacing-label: 0.18em;
163
+
164
+ /* Motion */
165
+ --motion-ease-enter: cubic-bezier(0.22, 1, 0.36, 1);
166
+ --motion-ease-exit: cubic-bezier(0.4, 0, 0.2, 1);
167
+ /* The drawer spring (stiffness 300, damping 30, mass 0.8), sampled for CSS */
168
+ --motion-ease-spring: linear(
169
+ 0,
170
+ 0.0577,
171
+ 0.1801,
172
+ 0.3211,
173
+ 0.4567,
174
+ 0.579,
175
+ 0.6783,
176
+ 0.7581,
177
+ 0.8205,
178
+ 0.8685,
179
+ 0.9046,
180
+ 0.9315,
181
+ 0.9512,
182
+ 0.9658,
183
+ 0.9761,
184
+ 0.9834,
185
+ 0.9885,
186
+ 0.9922,
187
+ 0.9947,
188
+ 0.9964,
189
+ 0.9976,
190
+ 0.9984,
191
+ 0.999,
192
+ 0.9993,
193
+ 1
194
+ );
195
+ --motion-duration-instant: 100ms;
196
+ --motion-duration-fast: 150ms;
197
+ --motion-duration-base: 200ms;
198
+ --motion-duration-slow: 350ms;
199
+ --motion-duration-spring: 450ms;
200
+ --motion-stagger: 60ms;
201
+ /* How far things travel as they appear: popups and rows, then larger surfaces */
202
+ --motion-shift: 4px;
203
+ --motion-shift-lg: 8px;
204
+ --motion-scale-from: 0.98;
205
+ }
206
+
207
+ /*
208
+ * Reduced motion keeps short fades, so changes stay noticeable, and drops all
209
+ * travel and scaling. It follows the system setting, or data-motion="reduced"
210
+ * on <html> when the reader turns it on inside a product.
211
+ */
212
+ @media (prefers-reduced-motion: reduce) {
213
+ :root {
214
+ --motion-duration-slow: 200ms;
215
+ --motion-duration-spring: 200ms;
216
+ --motion-stagger: 0ms;
217
+ --motion-shift: 0px;
218
+ --motion-shift-lg: 0px;
219
+ --motion-scale-from: 1;
220
+ }
221
+ }
222
+ :root[data-motion='reduced'] {
223
+ --motion-duration-slow: 200ms;
224
+ --motion-duration-spring: 200ms;
225
+ --motion-stagger: 0ms;
226
+ --motion-shift: 0px;
227
+ --motion-shift-lg: 0px;
228
+ --motion-scale-from: 1;
229
+ }
230
+
231
+ /* A stronger contrast request lifts quiet text one step and firms up the lines */
232
+ @media (prefers-contrast: more) {
233
+ :root,
234
+ [data-theme='dark'] {
235
+ --subtle-foreground: #a3a3a3;
236
+ --faint-foreground: #828282;
237
+ --border: rgb(255 255 255 / 22%);
238
+ --border-subtle: rgb(255 255 255 / 14%);
239
+ --input: rgb(255 255 255 / 30%);
240
+ }
241
+ [data-theme='light'] {
242
+ --subtle-foreground: #57524c;
243
+ --faint-foreground: #6b665f;
244
+ --border: rgb(0 0 0 / 25%);
245
+ --border-subtle: rgb(0 0 0 / 15%);
246
+ --input: rgb(0 0 0 / 35%);
247
+ }
248
+ }
package/package.json ADDED
@@ -0,0 +1,90 @@
1
+ {
2
+ "name": "@skylab-kulubu/skylcn-ui",
3
+ "version": "0.1.0",
4
+ "description": "SKY LAB web ürünlerinin ortak tasarım sistemi: token'lar, tema ve bileşenler.",
5
+ "license": "MIT",
6
+ "author": "SKY LAB",
7
+ "contributors": [
8
+ "Kaan Necip Kalp",
9
+ "Fatih Naz"
10
+ ],
11
+ "type": "module",
12
+ "sideEffects": [
13
+ "**/*.css"
14
+ ],
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "import": "./dist/index.js"
19
+ },
20
+ "./charts": {
21
+ "types": "./dist/charts/index.d.ts",
22
+ "import": "./dist/charts/index.js"
23
+ },
24
+ "./data-table": {
25
+ "types": "./dist/data-table/index.d.ts",
26
+ "import": "./dist/data-table/index.js"
27
+ },
28
+ "./theme.css": "./dist/styles/theme.css",
29
+ "./tokens.css": "./dist/styles/tokens.css",
30
+ "./package.json": "./package.json"
31
+ },
32
+ "files": [
33
+ "dist"
34
+ ],
35
+ "scripts": {
36
+ "build": "node scripts/build.mjs",
37
+ "prepack": "node -e \"require('node:fs').copyFileSync('../../README.md', 'README.md')\"",
38
+ "typecheck": "tsc --noEmit",
39
+ "test": "vitest run --passWithNoTests"
40
+ },
41
+ "peerDependencies": {
42
+ "react": "^19.0.0",
43
+ "react-dom": "^19.0.0"
44
+ },
45
+ "dependencies": {
46
+ "@base-ui/react": "^1.8.0",
47
+ "@tanstack/react-table": "^9.2.4",
48
+ "@tanstack/react-virtual": "^3.14.13",
49
+ "class-variance-authority": "^0.7.1",
50
+ "cn": "^0.4.0",
51
+ "lucide-react": "^1.48.0",
52
+ "motion": "^13.4.4",
53
+ "react-day-picker": "^10.0.1",
54
+ "react-is": "^19.3.0",
55
+ "recharts": "^3.10.1",
56
+ "tw-animate-css": "^1.4.0"
57
+ },
58
+ "devDependencies": {
59
+ "@testing-library/jest-dom": "^7.0.1",
60
+ "@testing-library/react": "^16.3.3",
61
+ "@testing-library/user-event": "^14.6.7",
62
+ "@types/react": "^19.3.0",
63
+ "@types/react-dom": "^19.3.0",
64
+ "axe-core": "^4.13.0",
65
+ "jsdom": "^30.1.1",
66
+ "react": "19.2.3",
67
+ "react-dom": "19.2.3",
68
+ "typescript": "5.9.3",
69
+ "vitest": "^5.0.2"
70
+ },
71
+ "publishConfig": {
72
+ "access": "public"
73
+ },
74
+ "repository": {
75
+ "type": "git",
76
+ "url": "git+https://github.com/skylab-kulubu/skylcn-ui.git",
77
+ "directory": "packages/skylcn-ui"
78
+ },
79
+ "keywords": [
80
+ "skylab",
81
+ "design-system",
82
+ "base-ui",
83
+ "shadcn",
84
+ "tailwindcss"
85
+ ],
86
+ "homepage": "https://github.com/skylab-kulubu/skylcn-ui#readme",
87
+ "bugs": {
88
+ "url": "https://github.com/skylab-kulubu/skylcn-ui/issues"
89
+ }
90
+ }