@tekton-ui/ui 0.2.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 (383) hide show
  1. package/README.md +1137 -0
  2. package/dist/index.d.mts +719 -0
  3. package/dist/index.mjs +3511 -0
  4. package/dist/src/components/alert-dialog.d.ts +21 -0
  5. package/dist/src/components/alert-dialog.d.ts.map +1 -0
  6. package/dist/src/components/alert-dialog.js +26 -0
  7. package/dist/src/components/alert-dialog.js.map +1 -0
  8. package/dist/src/components/alert-dialog.stories.d.ts +22 -0
  9. package/dist/src/components/alert-dialog.stories.d.ts.map +1 -0
  10. package/dist/src/components/alert-dialog.stories.js +22 -0
  11. package/dist/src/components/alert-dialog.stories.js.map +1 -0
  12. package/dist/src/components/avatar.d.ts +7 -0
  13. package/dist/src/components/avatar.d.ts.map +1 -0
  14. package/dist/src/components/avatar.js +12 -0
  15. package/dist/src/components/avatar.js.map +1 -0
  16. package/dist/src/components/avatar.stories.d.ts +38 -0
  17. package/dist/src/components/avatar.stories.d.ts.map +1 -0
  18. package/dist/src/components/avatar.stories.js +33 -0
  19. package/dist/src/components/avatar.stories.js.map +1 -0
  20. package/dist/src/components/badge.d.ts +10 -0
  21. package/dist/src/components/badge.d.ts.map +1 -0
  22. package/dist/src/components/badge.js +21 -0
  23. package/dist/src/components/badge.js.map +1 -0
  24. package/dist/src/components/badge.stories.d.ts +73 -0
  25. package/dist/src/components/badge.stories.d.ts.map +1 -0
  26. package/dist/src/components/badge.stories.js +60 -0
  27. package/dist/src/components/badge.stories.js.map +1 -0
  28. package/dist/src/components/breadcrumb.d.ts +27 -0
  29. package/dist/src/components/breadcrumb.d.ts.map +1 -0
  30. package/dist/src/components/breadcrumb.js +60 -0
  31. package/dist/src/components/breadcrumb.js.map +1 -0
  32. package/dist/src/components/breadcrumb.stories.d.ts +49 -0
  33. package/dist/src/components/breadcrumb.stories.d.ts.map +1 -0
  34. package/dist/src/components/breadcrumb.stories.js +43 -0
  35. package/dist/src/components/breadcrumb.stories.js.map +1 -0
  36. package/dist/src/components/button.d.ts +12 -0
  37. package/dist/src/components/button.d.ts.map +1 -0
  38. package/dist/src/components/button.js +34 -0
  39. package/dist/src/components/button.js.map +1 -0
  40. package/dist/src/components/button.stories.d.ts +134 -0
  41. package/dist/src/components/button.stories.d.ts.map +1 -0
  42. package/dist/src/components/button.stories.js +101 -0
  43. package/dist/src/components/button.stories.js.map +1 -0
  44. package/dist/src/components/calendar.d.ts +8 -0
  45. package/dist/src/components/calendar.d.ts.map +1 -0
  46. package/dist/src/components/calendar.js +39 -0
  47. package/dist/src/components/calendar.js.map +1 -0
  48. package/dist/src/components/calendar.stories.d.ts +46 -0
  49. package/dist/src/components/calendar.stories.d.ts.map +1 -0
  50. package/dist/src/components/calendar.stories.js +88 -0
  51. package/dist/src/components/calendar.stories.js.map +1 -0
  52. package/dist/src/components/card.d.ts +9 -0
  53. package/dist/src/components/card.d.ts.map +1 -0
  54. package/dist/src/components/card.js +17 -0
  55. package/dist/src/components/card.js.map +1 -0
  56. package/dist/src/components/card.stories.d.ts +46 -0
  57. package/dist/src/components/card.stories.d.ts.map +1 -0
  58. package/dist/src/components/card.stories.js +40 -0
  59. package/dist/src/components/card.stories.js.map +1 -0
  60. package/dist/src/components/checkbox.d.ts +5 -0
  61. package/dist/src/components/checkbox.d.ts.map +1 -0
  62. package/dist/src/components/checkbox.js +9 -0
  63. package/dist/src/components/checkbox.js.map +1 -0
  64. package/dist/src/components/checkbox.stories.d.ts +50 -0
  65. package/dist/src/components/checkbox.stories.d.ts.map +1 -0
  66. package/dist/src/components/checkbox.stories.js +48 -0
  67. package/dist/src/components/checkbox.stories.js.map +1 -0
  68. package/dist/src/components/command.d.ts +81 -0
  69. package/dist/src/components/command.d.ts.map +1 -0
  70. package/dist/src/components/command.js +27 -0
  71. package/dist/src/components/command.js.map +1 -0
  72. package/dist/src/components/command.stories.d.ts +34 -0
  73. package/dist/src/components/command.stories.d.ts.map +1 -0
  74. package/dist/src/components/command.stories.js +44 -0
  75. package/dist/src/components/command.stories.js.map +1 -0
  76. package/dist/src/components/dialog.d.ts +20 -0
  77. package/dist/src/components/dialog.d.ts.map +1 -0
  78. package/dist/src/components/dialog.js +23 -0
  79. package/dist/src/components/dialog.js.map +1 -0
  80. package/dist/src/components/dialog.stories.d.ts +38 -0
  81. package/dist/src/components/dialog.stories.d.ts.map +1 -0
  82. package/dist/src/components/dialog.stories.js +36 -0
  83. package/dist/src/components/dialog.stories.js.map +1 -0
  84. package/dist/src/components/dropdown-menu.d.ts +28 -0
  85. package/dist/src/components/dropdown-menu.d.ts.map +1 -0
  86. package/dist/src/components/dropdown-menu.js +33 -0
  87. package/dist/src/components/dropdown-menu.js.map +1 -0
  88. package/dist/src/components/dropdown-menu.stories.d.ts +30 -0
  89. package/dist/src/components/dropdown-menu.stories.d.ts.map +1 -0
  90. package/dist/src/components/dropdown-menu.stories.js +37 -0
  91. package/dist/src/components/dropdown-menu.stories.js.map +1 -0
  92. package/dist/src/components/form.d.ts +24 -0
  93. package/dist/src/components/form.d.ts.map +1 -0
  94. package/dist/src/components/form.js +62 -0
  95. package/dist/src/components/form.js.map +1 -0
  96. package/dist/src/components/form.stories.d.ts +34 -0
  97. package/dist/src/components/form.stories.d.ts.map +1 -0
  98. package/dist/src/components/form.stories.js +132 -0
  99. package/dist/src/components/form.stories.js.map +1 -0
  100. package/dist/src/components/input.d.ts +5 -0
  101. package/dist/src/components/input.d.ts.map +1 -0
  102. package/dist/src/components/input.js +9 -0
  103. package/dist/src/components/input.js.map +1 -0
  104. package/dist/src/components/input.stories.d.ts +101 -0
  105. package/dist/src/components/input.stories.d.ts.map +1 -0
  106. package/dist/src/components/input.stories.js +79 -0
  107. package/dist/src/components/input.stories.js.map +1 -0
  108. package/dist/src/components/label.d.ts +6 -0
  109. package/dist/src/components/label.d.ts.map +1 -0
  110. package/dist/src/components/label.js +10 -0
  111. package/dist/src/components/label.js.map +1 -0
  112. package/dist/src/components/label.stories.d.ts +34 -0
  113. package/dist/src/components/label.stories.d.ts.map +1 -0
  114. package/dist/src/components/label.stories.js +32 -0
  115. package/dist/src/components/label.stories.js.map +1 -0
  116. package/dist/src/components/navigation-menu.d.ts +13 -0
  117. package/dist/src/components/navigation-menu.d.ts.map +1 -0
  118. package/dist/src/components/navigation-menu.js +22 -0
  119. package/dist/src/components/navigation-menu.js.map +1 -0
  120. package/dist/src/components/navigation-menu.stories.d.ts +26 -0
  121. package/dist/src/components/navigation-menu.stories.d.ts.map +1 -0
  122. package/dist/src/components/navigation-menu.stories.js +30 -0
  123. package/dist/src/components/navigation-menu.stories.js.map +1 -0
  124. package/dist/src/components/popover.d.ts +7 -0
  125. package/dist/src/components/popover.d.ts.map +1 -0
  126. package/dist/src/components/popover.js +10 -0
  127. package/dist/src/components/popover.js.map +1 -0
  128. package/dist/src/components/popover.stories.d.ts +22 -0
  129. package/dist/src/components/popover.stories.d.ts.map +1 -0
  130. package/dist/src/components/popover.stories.js +24 -0
  131. package/dist/src/components/popover.stories.js.map +1 -0
  132. package/dist/src/components/progress.d.ts +5 -0
  133. package/dist/src/components/progress.d.ts.map +1 -0
  134. package/dist/src/components/progress.js +8 -0
  135. package/dist/src/components/progress.js.map +1 -0
  136. package/dist/src/components/progress.stories.d.ts +44 -0
  137. package/dist/src/components/progress.stories.d.ts.map +1 -0
  138. package/dist/src/components/progress.stories.js +63 -0
  139. package/dist/src/components/progress.stories.js.map +1 -0
  140. package/dist/src/components/radio-group.d.ts +6 -0
  141. package/dist/src/components/radio-group.d.ts.map +1 -0
  142. package/dist/src/components/radio-group.js +15 -0
  143. package/dist/src/components/radio-group.js.map +1 -0
  144. package/dist/src/components/radio-group.stories.d.ts +34 -0
  145. package/dist/src/components/radio-group.stories.d.ts.map +1 -0
  146. package/dist/src/components/radio-group.stories.js +31 -0
  147. package/dist/src/components/radio-group.stories.js.map +1 -0
  148. package/dist/src/components/scroll-area.d.ts +6 -0
  149. package/dist/src/components/scroll-area.d.ts.map +1 -0
  150. package/dist/src/components/scroll-area.js +10 -0
  151. package/dist/src/components/scroll-area.js.map +1 -0
  152. package/dist/src/components/scroll-area.stories.d.ts +46 -0
  153. package/dist/src/components/scroll-area.stories.d.ts.map +1 -0
  154. package/dist/src/components/scroll-area.stories.js +44 -0
  155. package/dist/src/components/scroll-area.stories.js.map +1 -0
  156. package/dist/src/components/select.d.ts +14 -0
  157. package/dist/src/components/select.d.ts.map +1 -0
  158. package/dist/src/components/select.js +26 -0
  159. package/dist/src/components/select.js.map +1 -0
  160. package/dist/src/components/select.stories.d.ts +42 -0
  161. package/dist/src/components/select.stories.d.ts.map +1 -0
  162. package/dist/src/components/select.stories.js +37 -0
  163. package/dist/src/components/select.stories.js.map +1 -0
  164. package/dist/src/components/separator.d.ts +5 -0
  165. package/dist/src/components/separator.d.ts.map +1 -0
  166. package/dist/src/components/separator.js +8 -0
  167. package/dist/src/components/separator.js.map +1 -0
  168. package/dist/src/components/separator.stories.d.ts +47 -0
  169. package/dist/src/components/separator.stories.d.ts.map +1 -0
  170. package/dist/src/components/separator.stories.js +41 -0
  171. package/dist/src/components/separator.stories.js.map +1 -0
  172. package/dist/src/components/sheet.d.ts +26 -0
  173. package/dist/src/components/sheet.d.ts.map +1 -0
  174. package/dist/src/components/sheet.js +37 -0
  175. package/dist/src/components/sheet.js.map +1 -0
  176. package/dist/src/components/sheet.stories.d.ts +18 -0
  177. package/dist/src/components/sheet.stories.d.ts.map +1 -0
  178. package/dist/src/components/sheet.stories.js +21 -0
  179. package/dist/src/components/sheet.stories.js.map +1 -0
  180. package/dist/src/components/sidebar.d.ts +40 -0
  181. package/dist/src/components/sidebar.d.ts.map +1 -0
  182. package/dist/src/components/sidebar.js +101 -0
  183. package/dist/src/components/sidebar.js.map +1 -0
  184. package/dist/src/components/sidebar.stories.d.ts +55 -0
  185. package/dist/src/components/sidebar.stories.d.ts.map +1 -0
  186. package/dist/src/components/sidebar.stories.js +51 -0
  187. package/dist/src/components/sidebar.stories.js.map +1 -0
  188. package/dist/src/components/skeleton.d.ts +3 -0
  189. package/dist/src/components/skeleton.d.ts.map +1 -0
  190. package/dist/src/components/skeleton.js +7 -0
  191. package/dist/src/components/skeleton.js.map +1 -0
  192. package/dist/src/components/skeleton.stories.d.ts +50 -0
  193. package/dist/src/components/skeleton.stories.d.ts.map +1 -0
  194. package/dist/src/components/skeleton.stories.js +42 -0
  195. package/dist/src/components/skeleton.stories.js.map +1 -0
  196. package/dist/src/components/switch.d.ts +5 -0
  197. package/dist/src/components/switch.d.ts.map +1 -0
  198. package/dist/src/components/switch.js +8 -0
  199. package/dist/src/components/switch.js.map +1 -0
  200. package/dist/src/components/switch.stories.d.ts +50 -0
  201. package/dist/src/components/switch.stories.d.ts.map +1 -0
  202. package/dist/src/components/switch.stories.js +48 -0
  203. package/dist/src/components/switch.stories.js.map +1 -0
  204. package/dist/src/components/table.d.ts +11 -0
  205. package/dist/src/components/table.d.ts.map +1 -0
  206. package/dist/src/components/table.js +21 -0
  207. package/dist/src/components/table.js.map +1 -0
  208. package/dist/src/components/table.stories.d.ts +26 -0
  209. package/dist/src/components/table.stories.d.ts.map +1 -0
  210. package/dist/src/components/table.stories.js +26 -0
  211. package/dist/src/components/table.stories.js.map +1 -0
  212. package/dist/src/components/tabs.d.ts +8 -0
  213. package/dist/src/components/tabs.d.ts.map +1 -0
  214. package/dist/src/components/tabs.js +13 -0
  215. package/dist/src/components/tabs.js.map +1 -0
  216. package/dist/src/components/tabs.stories.d.ts +22 -0
  217. package/dist/src/components/tabs.stories.d.ts.map +1 -0
  218. package/dist/src/components/tabs.stories.js +25 -0
  219. package/dist/src/components/tabs.stories.js.map +1 -0
  220. package/dist/src/components/textarea.d.ts +5 -0
  221. package/dist/src/components/textarea.d.ts.map +1 -0
  222. package/dist/src/components/textarea.js +9 -0
  223. package/dist/src/components/textarea.js.map +1 -0
  224. package/dist/src/components/textarea.stories.d.ts +64 -0
  225. package/dist/src/components/textarea.stories.d.ts.map +1 -0
  226. package/dist/src/components/textarea.stories.js +60 -0
  227. package/dist/src/components/textarea.stories.js.map +1 -0
  228. package/dist/src/components/toast.d.ts +16 -0
  229. package/dist/src/components/toast.d.ts.map +1 -0
  230. package/dist/src/components/toast.js +34 -0
  231. package/dist/src/components/toast.js.map +1 -0
  232. package/dist/src/components/toast.stories.d.ts +22 -0
  233. package/dist/src/components/toast.stories.d.ts.map +1 -0
  234. package/dist/src/components/toast.stories.js +32 -0
  235. package/dist/src/components/toast.stories.js.map +1 -0
  236. package/dist/src/components/tooltip.d.ts +8 -0
  237. package/dist/src/components/tooltip.d.ts.map +1 -0
  238. package/dist/src/components/tooltip.js +11 -0
  239. package/dist/src/components/tooltip.js.map +1 -0
  240. package/dist/src/components/tooltip.stories.d.ts +26 -0
  241. package/dist/src/components/tooltip.stories.d.ts.map +1 -0
  242. package/dist/src/components/tooltip.stories.js +25 -0
  243. package/dist/src/components/tooltip.stories.js.map +1 -0
  244. package/dist/src/index.d.ts +45 -0
  245. package/dist/src/index.d.ts.map +1 -0
  246. package/dist/src/index.js +36 -0
  247. package/dist/src/index.js.map +1 -0
  248. package/dist/src/lib/motion.d.ts +99 -0
  249. package/dist/src/lib/motion.d.ts.map +1 -0
  250. package/dist/src/lib/motion.js +88 -0
  251. package/dist/src/lib/motion.js.map +1 -0
  252. package/dist/src/lib/theme-loader.d.ts +69 -0
  253. package/dist/src/lib/theme-loader.d.ts.map +1 -0
  254. package/dist/src/lib/theme-loader.js +113 -0
  255. package/dist/src/lib/theme-loader.js.map +1 -0
  256. package/dist/src/lib/tokens.d.ts +50 -0
  257. package/dist/src/lib/tokens.d.ts.map +1 -0
  258. package/dist/src/lib/tokens.js +53 -0
  259. package/dist/src/lib/tokens.js.map +1 -0
  260. package/dist/src/lib/utils.d.ts +3 -0
  261. package/dist/src/lib/utils.d.ts.map +1 -0
  262. package/dist/src/lib/utils.js +6 -0
  263. package/dist/src/lib/utils.js.map +1 -0
  264. package/dist/src/templates/auth/forgot-password.d.ts +4 -0
  265. package/dist/src/templates/auth/forgot-password.d.ts.map +1 -0
  266. package/dist/src/templates/auth/forgot-password.js +47 -0
  267. package/dist/src/templates/auth/forgot-password.js.map +1 -0
  268. package/dist/src/templates/auth/forgot-password.stories.d.ts +14 -0
  269. package/dist/src/templates/auth/forgot-password.stories.d.ts.map +1 -0
  270. package/dist/src/templates/auth/forgot-password.stories.js +14 -0
  271. package/dist/src/templates/auth/forgot-password.stories.js.map +1 -0
  272. package/dist/src/templates/auth/login.d.ts +4 -0
  273. package/dist/src/templates/auth/login.d.ts.map +1 -0
  274. package/dist/src/templates/auth/login.js +50 -0
  275. package/dist/src/templates/auth/login.js.map +1 -0
  276. package/dist/src/templates/auth/login.stories.d.ts +95 -0
  277. package/dist/src/templates/auth/login.stories.d.ts.map +1 -0
  278. package/dist/src/templates/auth/login.stories.js +77 -0
  279. package/dist/src/templates/auth/login.stories.js.map +1 -0
  280. package/dist/src/templates/auth/signup.d.ts +4 -0
  281. package/dist/src/templates/auth/signup.d.ts.map +1 -0
  282. package/dist/src/templates/auth/signup.js +49 -0
  283. package/dist/src/templates/auth/signup.js.map +1 -0
  284. package/dist/src/templates/auth/signup.stories.d.ts +18 -0
  285. package/dist/src/templates/auth/signup.stories.d.ts.map +1 -0
  286. package/dist/src/templates/auth/signup.stories.js +21 -0
  287. package/dist/src/templates/auth/signup.stories.js.map +1 -0
  288. package/dist/src/templates/auth/verification.d.ts +4 -0
  289. package/dist/src/templates/auth/verification.d.ts.map +1 -0
  290. package/dist/src/templates/auth/verification.js +47 -0
  291. package/dist/src/templates/auth/verification.js.map +1 -0
  292. package/dist/src/templates/auth/verification.stories.d.ts +19 -0
  293. package/dist/src/templates/auth/verification.stories.d.ts.map +1 -0
  294. package/dist/src/templates/auth/verification.stories.js +19 -0
  295. package/dist/src/templates/auth/verification.stories.js.map +1 -0
  296. package/dist/src/templates/core/landing.d.ts +4 -0
  297. package/dist/src/templates/core/landing.d.ts.map +1 -0
  298. package/dist/src/templates/core/landing.js +44 -0
  299. package/dist/src/templates/core/landing.js.map +1 -0
  300. package/dist/src/templates/core/landing.stories.d.ts +14 -0
  301. package/dist/src/templates/core/landing.stories.d.ts.map +1 -0
  302. package/dist/src/templates/core/landing.stories.js +14 -0
  303. package/dist/src/templates/core/landing.stories.js.map +1 -0
  304. package/dist/src/templates/core/preferences.d.ts +4 -0
  305. package/dist/src/templates/core/preferences.d.ts.map +1 -0
  306. package/dist/src/templates/core/preferences.js +51 -0
  307. package/dist/src/templates/core/preferences.js.map +1 -0
  308. package/dist/src/templates/core/preferences.stories.d.ts +14 -0
  309. package/dist/src/templates/core/preferences.stories.d.ts.map +1 -0
  310. package/dist/src/templates/core/preferences.stories.js +14 -0
  311. package/dist/src/templates/core/preferences.stories.js.map +1 -0
  312. package/dist/src/templates/core/profile.d.ts +4 -0
  313. package/dist/src/templates/core/profile.d.ts.map +1 -0
  314. package/dist/src/templates/core/profile.js +49 -0
  315. package/dist/src/templates/core/profile.js.map +1 -0
  316. package/dist/src/templates/core/profile.stories.d.ts +19 -0
  317. package/dist/src/templates/core/profile.stories.d.ts.map +1 -0
  318. package/dist/src/templates/core/profile.stories.js +19 -0
  319. package/dist/src/templates/core/profile.stories.js.map +1 -0
  320. package/dist/src/templates/dashboard/overview.d.ts +4 -0
  321. package/dist/src/templates/dashboard/overview.d.ts.map +1 -0
  322. package/dist/src/templates/dashboard/overview.js +65 -0
  323. package/dist/src/templates/dashboard/overview.js.map +1 -0
  324. package/dist/src/templates/dashboard/overview.stories.d.ts +55 -0
  325. package/dist/src/templates/dashboard/overview.stories.d.ts.map +1 -0
  326. package/dist/src/templates/dashboard/overview.stories.js +51 -0
  327. package/dist/src/templates/dashboard/overview.stories.js.map +1 -0
  328. package/dist/src/templates/feedback/confirmation.d.ts +4 -0
  329. package/dist/src/templates/feedback/confirmation.d.ts.map +1 -0
  330. package/dist/src/templates/feedback/confirmation.js +47 -0
  331. package/dist/src/templates/feedback/confirmation.js.map +1 -0
  332. package/dist/src/templates/feedback/confirmation.stories.d.ts +14 -0
  333. package/dist/src/templates/feedback/confirmation.stories.d.ts.map +1 -0
  334. package/dist/src/templates/feedback/confirmation.stories.js +14 -0
  335. package/dist/src/templates/feedback/confirmation.stories.js.map +1 -0
  336. package/dist/src/templates/feedback/empty.d.ts +4 -0
  337. package/dist/src/templates/feedback/empty.d.ts.map +1 -0
  338. package/dist/src/templates/feedback/empty.js +45 -0
  339. package/dist/src/templates/feedback/empty.js.map +1 -0
  340. package/dist/src/templates/feedback/empty.stories.d.ts +14 -0
  341. package/dist/src/templates/feedback/empty.stories.d.ts.map +1 -0
  342. package/dist/src/templates/feedback/empty.stories.js +14 -0
  343. package/dist/src/templates/feedback/empty.stories.js.map +1 -0
  344. package/dist/src/templates/feedback/error.d.ts +4 -0
  345. package/dist/src/templates/feedback/error.d.ts.map +1 -0
  346. package/dist/src/templates/feedback/error.js +45 -0
  347. package/dist/src/templates/feedback/error.js.map +1 -0
  348. package/dist/src/templates/feedback/error.stories.d.ts +14 -0
  349. package/dist/src/templates/feedback/error.stories.d.ts.map +1 -0
  350. package/dist/src/templates/feedback/error.stories.js +14 -0
  351. package/dist/src/templates/feedback/error.stories.js.map +1 -0
  352. package/dist/src/templates/feedback/loading.d.ts +4 -0
  353. package/dist/src/templates/feedback/loading.d.ts.map +1 -0
  354. package/dist/src/templates/feedback/loading.js +42 -0
  355. package/dist/src/templates/feedback/loading.js.map +1 -0
  356. package/dist/src/templates/feedback/loading.stories.d.ts +14 -0
  357. package/dist/src/templates/feedback/loading.stories.d.ts.map +1 -0
  358. package/dist/src/templates/feedback/loading.stories.js +14 -0
  359. package/dist/src/templates/feedback/loading.stories.js.map +1 -0
  360. package/dist/src/templates/feedback/success.d.ts +4 -0
  361. package/dist/src/templates/feedback/success.d.ts.map +1 -0
  362. package/dist/src/templates/feedback/success.js +45 -0
  363. package/dist/src/templates/feedback/success.js.map +1 -0
  364. package/dist/src/templates/feedback/success.stories.d.ts +14 -0
  365. package/dist/src/templates/feedback/success.stories.d.ts.map +1 -0
  366. package/dist/src/templates/feedback/success.stories.js +14 -0
  367. package/dist/src/templates/feedback/success.stories.js.map +1 -0
  368. package/dist/src/templates/index.d.ts +16 -0
  369. package/dist/src/templates/index.d.ts.map +1 -0
  370. package/dist/src/templates/index.js +45 -0
  371. package/dist/src/templates/index.js.map +1 -0
  372. package/dist/src/templates/registry.d.ts +23 -0
  373. package/dist/src/templates/registry.d.ts.map +1 -0
  374. package/dist/src/templates/registry.js +90 -0
  375. package/dist/src/templates/registry.js.map +1 -0
  376. package/dist/src/templates/types.d.ts +78 -0
  377. package/dist/src/templates/types.d.ts.map +1 -0
  378. package/dist/src/templates/types.js +23 -0
  379. package/dist/src/templates/types.js.map +1 -0
  380. package/dist/tsconfig.tsbuildinfo +1 -0
  381. package/package.json +117 -0
  382. package/styles/globals.css +191 -0
  383. package/styles/tokens.css +303 -0
package/package.json ADDED
@@ -0,0 +1,117 @@
1
+ {
2
+ "name": "@tekton-ui/ui",
3
+ "version": "0.2.0",
4
+ "description": "Tekton UI Reference Component Library",
5
+ "main": "./dist/index.mjs",
6
+ "types": "./dist/index.d.mts",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./dist/index.mjs",
10
+ "types": "./dist/index.d.mts"
11
+ },
12
+ "./styles": "./styles/tokens.css"
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "styles",
17
+ "README.md",
18
+ "package.json"
19
+ ],
20
+ "publishConfig": {
21
+ "access": "public",
22
+ "registry": "https://registry.npmjs.org/"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://github.com/soo-kate-yeon/tekton",
27
+ "directory": "packages/ui"
28
+ },
29
+ "scripts": {
30
+ "build": "tsup",
31
+ "test": "vitest run",
32
+ "test:watch": "vitest",
33
+ "test:a11y": "vitest accessibility",
34
+ "test:coverage": "vitest --coverage",
35
+ "lint": "eslint src --ext .ts,.tsx,.js,.jsx",
36
+ "type-check": "tsc --noEmit",
37
+ "storybook": "storybook dev -p 6006",
38
+ "storybook:build": "storybook build -o storybook-static",
39
+ "prepublishOnly": "pnpm build"
40
+ },
41
+ "keywords": [
42
+ "design-system",
43
+ "components",
44
+ "react",
45
+ "typescript",
46
+ "radix-ui",
47
+ "accessibility"
48
+ ],
49
+ "dependencies": {
50
+ "@hookform/resolvers": "^3.3.4",
51
+ "@radix-ui/react-alert-dialog": "^1.0.5",
52
+ "@radix-ui/react-avatar": "^1.0.4",
53
+ "@radix-ui/react-checkbox": "^1.0.4",
54
+ "@radix-ui/react-dialog": "^1.0.5",
55
+ "@radix-ui/react-dropdown-menu": "^2.0.6",
56
+ "@radix-ui/react-label": "^2.0.2",
57
+ "@radix-ui/react-navigation-menu": "^1.2.14",
58
+ "@radix-ui/react-popover": "^1.0.7",
59
+ "@radix-ui/react-progress": "^1.0.3",
60
+ "@radix-ui/react-radio-group": "^1.1.3",
61
+ "@radix-ui/react-scroll-area": "^1.0.5",
62
+ "@radix-ui/react-select": "^2.0.0",
63
+ "@radix-ui/react-separator": "^1.0.3",
64
+ "@radix-ui/react-slider": "^1.1.2",
65
+ "@radix-ui/react-slot": "^1.0.2",
66
+ "@radix-ui/react-switch": "^1.0.3",
67
+ "@radix-ui/react-tabs": "^1.0.4",
68
+ "@radix-ui/react-toast": "^1.1.5",
69
+ "@radix-ui/react-tooltip": "^1.0.7",
70
+ "@tekton-ui/tokens": "workspace:*",
71
+ "class-variance-authority": "^0.7.0",
72
+ "clsx": "^2.1.0",
73
+ "cmdk": "^1.1.1",
74
+ "date-fns": "^4.1.0",
75
+ "framer-motion": "^12.29.2",
76
+ "lucide-react": "^0.294.0",
77
+ "react-day-picker": "^9.13.0",
78
+ "react-hook-form": "^7.49.3",
79
+ "tailwind-merge": "^2.2.2",
80
+ "zod": "^3.22.4"
81
+ },
82
+ "peerDependencies": {
83
+ "react": "^18.0.0",
84
+ "react-dom": "^18.0.0"
85
+ },
86
+ "devDependencies": {
87
+ "@axe-core/react": "^4.8.0",
88
+ "@storybook/addon-a11y": "^8.6.15",
89
+ "@storybook/addon-essentials": "^8.6.15",
90
+ "@storybook/addon-interactions": "^8.6.15",
91
+ "@storybook/addon-themes": "^8.6.15",
92
+ "@storybook/react": "^8.6.15",
93
+ "@storybook/react-vite": "^8.6.15",
94
+ "@storybook/test": "^8.6.15",
95
+ "@storybook/theming": "^8.6.15",
96
+ "@testing-library/jest-dom": "^6.9.1",
97
+ "@testing-library/react": "^14.0.0",
98
+ "@testing-library/user-event": "^14.0.0",
99
+ "@types/react": "~18.2.79",
100
+ "@types/react-dom": "~18.2.25",
101
+ "@typescript-eslint/eslint-plugin": "^8.20.0",
102
+ "@typescript-eslint/parser": "^8.20.0",
103
+ "@vitest/coverage-v8": "^2.1.8",
104
+ "autoprefixer": "^10.4.23",
105
+ "axe-core": "^4.11.1",
106
+ "eslint": "^9.18.0",
107
+ "happy-dom": "^20.3.9",
108
+ "postcss": "^8.5.6",
109
+ "storybook": "^8.6.15",
110
+ "tailwindcss": "^3.4.19",
111
+ "tailwindcss-animate": "^1.0.7",
112
+ "tsup": "^8.0.0",
113
+ "typescript": "^5.7.0",
114
+ "vitest": "^2.1.8",
115
+ "vitest-axe": "^0.1.0"
116
+ }
117
+ }
@@ -0,0 +1,191 @@
1
+ /**
2
+ * @tekton/ui - Global Styles
3
+ * SPEC-UI-001: shadcn-ui Fork & Token Integration
4
+ *
5
+ * This file provides base styles for Tekton UI components.
6
+ * Theme-specific CSS Variables are loaded dynamically via theme-loader.ts
7
+ *
8
+ * Usage in Next.js:
9
+ * ```tsx
10
+ * import '@tekton/ui/styles/globals.css';
11
+ * ```
12
+ */
13
+
14
+ @tailwind base;
15
+ @tailwind components;
16
+ @tailwind utilities;
17
+
18
+ /* ========================================
19
+ Base Layer
20
+ Foundational styles for all components
21
+ ======================================== */
22
+
23
+ @layer base {
24
+ * {
25
+ @apply border-[var(--tekton-border-default)];
26
+ }
27
+
28
+ body {
29
+ @apply bg-[var(--tekton-bg-background)] text-[var(--tekton-bg-foreground)];
30
+ }
31
+ }
32
+
33
+ /* ========================================
34
+ Tekton Token Defaults
35
+ Fallback values when theme is not loaded
36
+ These are overridden by theme-loader.ts
37
+ ======================================== */
38
+
39
+ :root {
40
+ /* Background Tokens */
41
+ --tekton-bg-background: oklch(0.99 0.005 265);
42
+ --tekton-bg-foreground: oklch(0.2 0.04 265);
43
+ --tekton-bg-card: oklch(1 0 0);
44
+ --tekton-bg-card-foreground: oklch(0.2 0.04 265);
45
+ --tekton-bg-popover: oklch(1 0 0);
46
+ --tekton-bg-popover-foreground: oklch(0.2 0.04 265);
47
+ --tekton-bg-primary: oklch(0.55 0.12 265);
48
+ --tekton-bg-primary-foreground: oklch(1 0 0);
49
+ --tekton-bg-secondary: oklch(0.96 0.01 265);
50
+ --tekton-bg-secondary-foreground: oklch(0.2 0.04 265);
51
+ --tekton-bg-muted: oklch(0.99 0.005 265);
52
+ --tekton-bg-muted-foreground: oklch(0.6 0.03 265);
53
+ --tekton-bg-accent: oklch(0.96 0.01 265);
54
+ --tekton-bg-accent-foreground: oklch(0.2 0.04 265);
55
+ --tekton-bg-destructive: oklch(0.55 0.22 30);
56
+ --tekton-bg-destructive-foreground: oklch(1 0 0);
57
+
58
+ /* Border Tokens */
59
+ --tekton-border-default: oklch(0.92 0.015 265);
60
+ --tekton-border-input: oklch(0.96 0.01 265);
61
+ --tekton-border-ring: oklch(0.55 0.12 265);
62
+
63
+ /* Radius Tokens */
64
+ --tekton-radius-xs: 2px;
65
+ --tekton-radius-sm: 4px;
66
+ --tekton-radius-md: 6px;
67
+ --tekton-radius-lg: 8px;
68
+ --tekton-radius-xl: 12px;
69
+ --tekton-radius-2xl: 16px;
70
+ --tekton-radius-3xl: 24px;
71
+ --tekton-radius-full: 9999px;
72
+ --tekton-radius-none: 0;
73
+
74
+ /* Spacing Tokens */
75
+ --tekton-spacing-0: 0;
76
+ --tekton-spacing-1: 4px;
77
+ --tekton-spacing-2: 8px;
78
+ --tekton-spacing-3: 12px;
79
+ --tekton-spacing-4: 16px;
80
+ --tekton-spacing-5: 20px;
81
+ --tekton-spacing-6: 24px;
82
+ --tekton-spacing-8: 32px;
83
+ --tekton-spacing-10: 40px;
84
+ --tekton-spacing-12: 48px;
85
+ --tekton-spacing-16: 64px;
86
+ --tekton-spacing-20: 80px;
87
+ --tekton-spacing-24: 96px;
88
+
89
+ /* Motion Tokens [SPEC-UI-001] [TAG-018] */
90
+ --tekton-motion-duration-instant: 0ms;
91
+ --tekton-motion-duration-fast: 100ms;
92
+ --tekton-motion-duration-moderate: 200ms;
93
+ --tekton-motion-duration-slow: 300ms;
94
+ --tekton-motion-duration-complex: 500ms;
95
+ --tekton-motion-easing-linear: linear;
96
+ --tekton-motion-easing-standard: cubic-bezier(0, 0, 0.2, 1);
97
+ --tekton-motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
98
+ --tekton-motion-easing-decelerate: cubic-bezier(0, 0, 0.2, 1);
99
+ --tekton-motion-easing-accelerate: cubic-bezier(0.4, 0, 1, 1);
100
+ }
101
+
102
+ /* ========================================
103
+ Dark Mode Support
104
+ Auto-applied when [data-theme="*-dark"] or .dark
105
+ ======================================== */
106
+
107
+ [data-theme*="-dark"],
108
+ .dark {
109
+ --tekton-bg-background: oklch(0.15 0.02 265);
110
+ --tekton-bg-foreground: oklch(0.95 0.005 265);
111
+ --tekton-bg-card: oklch(0.2 0.03 265);
112
+ --tekton-bg-card-foreground: oklch(0.95 0.005 265);
113
+ --tekton-bg-popover: oklch(0.2 0.03 265);
114
+ --tekton-bg-popover-foreground: oklch(0.95 0.005 265);
115
+ --tekton-bg-primary: oklch(0.6 0.14 265);
116
+ --tekton-bg-primary-foreground: oklch(0.1 0.01 265);
117
+ --tekton-bg-secondary: oklch(0.25 0.03 265);
118
+ --tekton-bg-secondary-foreground: oklch(0.95 0.005 265);
119
+ --tekton-bg-muted: oklch(0.18 0.02 265);
120
+ --tekton-bg-muted-foreground: oklch(0.7 0.02 265);
121
+ --tekton-bg-accent: oklch(0.25 0.03 265);
122
+ --tekton-bg-accent-foreground: oklch(0.95 0.005 265);
123
+ --tekton-bg-destructive: oklch(0.5 0.2 30);
124
+ --tekton-bg-destructive-foreground: oklch(1 0 0);
125
+
126
+ --tekton-border-default: oklch(0.3 0.03 265);
127
+ --tekton-border-input: oklch(0.25 0.03 265);
128
+ --tekton-border-ring: oklch(0.6 0.14 265);
129
+ }
130
+
131
+ /* ========================================
132
+ Accessibility Utilities
133
+ Focus rings, reduced motion, high contrast
134
+ ======================================== */
135
+
136
+ @layer utilities {
137
+ /* Focus visible states */
138
+ .focus-ring {
139
+ @apply focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tekton-border-ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--tekton-bg-background)];
140
+ }
141
+
142
+ /* Reduced motion support */
143
+ @media (prefers-reduced-motion: reduce) {
144
+ *,
145
+ *::before,
146
+ *::after {
147
+ animation-duration: 0.01ms !important;
148
+ animation-iteration-count: 1 !important;
149
+ transition-duration: 0.01ms !important;
150
+ scroll-behavior: auto !important;
151
+ }
152
+ }
153
+
154
+ /* High contrast mode support */
155
+ @media (prefers-contrast: high) {
156
+ * {
157
+ border-width: 2px;
158
+ }
159
+ }
160
+ }
161
+
162
+ /* ========================================
163
+ Component Base Styles
164
+ Shared styles for shadcn-ui components
165
+ ======================================== */
166
+
167
+ @layer components {
168
+ /* Scrollbar styling */
169
+ .tekton-scrollbar {
170
+ scrollbar-width: thin;
171
+ scrollbar-color: var(--tekton-bg-muted) transparent;
172
+ }
173
+
174
+ .tekton-scrollbar::-webkit-scrollbar {
175
+ width: 8px;
176
+ height: 8px;
177
+ }
178
+
179
+ .tekton-scrollbar::-webkit-scrollbar-track {
180
+ background: transparent;
181
+ }
182
+
183
+ .tekton-scrollbar::-webkit-scrollbar-thumb {
184
+ background: var(--tekton-bg-muted);
185
+ border-radius: var(--tekton-radius-full);
186
+ }
187
+
188
+ .tekton-scrollbar::-webkit-scrollbar-thumb:hover {
189
+ background: var(--tekton-bg-muted-foreground);
190
+ }
191
+ }
@@ -0,0 +1,303 @@
1
+ /**
2
+ * Tekton UI Token Variables Template
3
+ * Generated by: SPEC-COMPONENT-001-C
4
+ * This file is a template showing expected CSS Variable structure
5
+ *
6
+ * Usage: Import this file and customize variables in your application
7
+ * @import '@tekton/ui/styles';
8
+ */
9
+
10
+ :root {
11
+ /* ========================================
12
+ Layer 1: Atomic Tokens
13
+ Foundation tokens for colors, spacing, typography
14
+ ======================================== */
15
+
16
+ /* Colors - Primary Palette */
17
+ --color-primary-50: #eff6ff;
18
+ --color-primary-100: #dbeafe;
19
+ --color-primary-200: #bfdbfe;
20
+ --color-primary-300: #93c5fd;
21
+ --color-primary-400: #60a5fa;
22
+ --color-primary-500: #3b82f6;
23
+ --color-primary-600: #2563eb;
24
+ --color-primary-700: #1d4ed8;
25
+ --color-primary-800: #1e40af;
26
+ --color-primary-900: #1e3a8a;
27
+
28
+ /* Colors - Neutral Palette */
29
+ --color-neutral-50: #f9fafb;
30
+ --color-neutral-100: #f3f4f6;
31
+ --color-neutral-200: #e5e7eb;
32
+ --color-neutral-300: #d1d5db;
33
+ --color-neutral-400: #9ca3af;
34
+ --color-neutral-500: #6b7280;
35
+ --color-neutral-600: #4b5563;
36
+ --color-neutral-700: #374151;
37
+ --color-neutral-800: #1f2937;
38
+ --color-neutral-900: #111827;
39
+
40
+ /* Colors - Semantic */
41
+ --color-success-500: #10b981;
42
+ --color-warning-500: #f59e0b;
43
+ --color-error-500: #ef4444;
44
+ --color-info-500: #3b82f6;
45
+
46
+ /* Spacing */
47
+ --spacing-1: 0.25rem; /* 4px */
48
+ --spacing-2: 0.5rem; /* 8px */
49
+ --spacing-3: 0.75rem; /* 12px */
50
+ --spacing-4: 1rem; /* 16px */
51
+ --spacing-5: 1.25rem; /* 20px */
52
+ --spacing-6: 1.5rem; /* 24px */
53
+ --spacing-8: 2rem; /* 32px */
54
+ --spacing-10: 2.5rem; /* 40px */
55
+ --spacing-12: 3rem; /* 48px */
56
+
57
+ /* Border Radius */
58
+ --radius-none: 0;
59
+ --radius-sm: 0.125rem; /* 2px */
60
+ --radius-md: 0.375rem; /* 6px */
61
+ --radius-lg: 0.5rem; /* 8px */
62
+ --radius-xl: 0.75rem; /* 12px */
63
+ --radius-2xl: 1rem; /* 16px */
64
+ --radius-full: 9999px;
65
+
66
+ /* Shadows */
67
+ --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
68
+ --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
69
+ --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
70
+ --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);
71
+
72
+ /* ========================================
73
+ Layer 2: Semantic Tokens
74
+ Purpose-based tokens referencing atomic tokens
75
+ ======================================== */
76
+
77
+ --background-page: var(--color-neutral-50);
78
+ --background-elevated: white;
79
+ --foreground-primary: var(--color-neutral-900);
80
+ --foreground-secondary: var(--color-neutral-700);
81
+ --foreground-muted: var(--color-neutral-500);
82
+ --foreground-accent: var(--color-primary-600);
83
+ --foreground-inverse: white;
84
+
85
+ --border-default: var(--color-neutral-200);
86
+ --border-focus: var(--color-primary-500);
87
+ --border-error: var(--color-error-500);
88
+
89
+ --surface-primary: white;
90
+ --surface-secondary: var(--color-neutral-100);
91
+ --surface-elevated: white;
92
+ --surface-inverse: var(--color-neutral-900);
93
+
94
+ /* ========================================
95
+ Layer 3: Component Tokens
96
+ Component-specific tokens for all 20 components
97
+ ======================================== */
98
+
99
+ /* Button Component */
100
+ --button-default-background: var(--color-primary-600);
101
+ --button-default-foreground: white;
102
+ --button-default-border: transparent;
103
+ --button-default-hover-background: var(--color-primary-700);
104
+
105
+ --button-secondary-background: var(--color-neutral-200);
106
+ --button-secondary-foreground: var(--color-neutral-900);
107
+ --button-secondary-hover-background: var(--color-neutral-300);
108
+
109
+ --button-ghost-hover-background: var(--color-neutral-100);
110
+ --button-ghost-hover-foreground: var(--color-neutral-900);
111
+
112
+ --button-destructive-background: var(--color-error-500);
113
+ --button-destructive-foreground: white;
114
+ --button-destructive-hover-background: #dc2626;
115
+
116
+ --button-outline-border: var(--color-neutral-300);
117
+ --button-outline-hover-background: var(--color-neutral-100);
118
+ --button-outline-hover-foreground: var(--color-neutral-900);
119
+
120
+ --button-link-foreground: var(--color-primary-600);
121
+
122
+ /* Input Component */
123
+ --input-background: white;
124
+ --input-foreground: var(--foreground-primary);
125
+ --input-border: var(--border-default);
126
+ --input-placeholder: var(--foreground-muted);
127
+ --input-focus-ring: var(--color-primary-500);
128
+ --input-error-border: var(--color-error-500);
129
+ --input-error-ring: var(--color-error-500);
130
+
131
+ /* Checkbox Component */
132
+ --checkbox-border: var(--border-default);
133
+ --checkbox-background: white;
134
+ --checkbox-checked-background: var(--color-primary-600);
135
+ --checkbox-checked-foreground: white;
136
+ --checkbox-focus-ring: var(--color-primary-500);
137
+
138
+ /* Radio Component */
139
+ --radio-border: var(--border-default);
140
+ --radio-background: white;
141
+ --radio-checked-foreground: var(--color-primary-600);
142
+ --radio-focus-ring: var(--color-primary-500);
143
+
144
+ /* Switch Component */
145
+ --switch-background: var(--color-neutral-300);
146
+ --switch-checked-background: var(--color-primary-600);
147
+ --switch-thumb-background: white;
148
+ --switch-focus-ring: var(--color-primary-500);
149
+
150
+ /* Slider Component */
151
+ --slider-track-background: var(--color-neutral-200);
152
+ --slider-range-background: var(--color-primary-600);
153
+ --slider-thumb-background: white;
154
+ --slider-thumb-border: var(--color-primary-600);
155
+ --slider-thumb-ring-offset: white;
156
+ --slider-focus-ring: var(--color-primary-500);
157
+
158
+ /* Text Component */
159
+ --text-body-color: var(--foreground-primary);
160
+ --text-caption-color: var(--foreground-muted);
161
+ --text-label-color: var(--foreground-secondary);
162
+ --text-code-color: var(--color-primary-600);
163
+
164
+ /* Heading Component */
165
+ --heading-foreground: var(--foreground-primary);
166
+
167
+ /* Badge Component */
168
+ --badge-default-background: var(--color-primary-600);
169
+ --badge-default-foreground: white;
170
+ --badge-secondary-background: var(--color-neutral-200);
171
+ --badge-secondary-foreground: var(--color-neutral-900);
172
+ --badge-destructive-background: var(--color-error-500);
173
+ --badge-destructive-foreground: white;
174
+ --badge-outline-border: var(--border-default);
175
+ --badge-outline-foreground: var(--foreground-primary);
176
+
177
+ /* Avatar Component */
178
+ --avatar-fallback-background: var(--color-neutral-200);
179
+ --avatar-fallback-foreground: var(--color-neutral-700);
180
+
181
+ /* Progress Component */
182
+ --progress-background: var(--color-neutral-200);
183
+ --progress-indicator-background: var(--color-primary-600);
184
+
185
+ /* Link Component */
186
+ --link-foreground: var(--color-primary-600);
187
+ --link-hover-foreground: var(--color-primary-700);
188
+ --link-muted-foreground: var(--foreground-muted);
189
+ --link-muted-hover-foreground: var(--foreground-primary);
190
+ --link-subtle-foreground: var(--foreground-secondary);
191
+ --link-subtle-hover-foreground: var(--foreground-primary);
192
+
193
+ /* List Component */
194
+ --list-foreground: var(--foreground-primary);
195
+ --list-item-foreground: var(--foreground-primary);
196
+
197
+ /* Image Component */
198
+ --image-placeholder-background: var(--color-neutral-100);
199
+
200
+ /* Card Component */
201
+ --card-background: white;
202
+ --card-foreground: var(--foreground-primary);
203
+ --card-border: var(--border-default);
204
+ --card-shadow: var(--shadow-sm);
205
+ --card-title-foreground: var(--foreground-primary);
206
+ --card-description-foreground: var(--foreground-muted);
207
+
208
+ /* Form Component */
209
+ --form-label-foreground: var(--foreground-secondary);
210
+ --form-message-error-foreground: var(--color-error-500);
211
+
212
+ /* Modal Component */
213
+ --modal-overlay-background: rgb(0 0 0 / 0.5);
214
+ --modal-background: white;
215
+ --modal-border: var(--border-default);
216
+ --modal-title-foreground: var(--foreground-primary);
217
+ --modal-description-foreground: var(--foreground-muted);
218
+ --modal-close-hover-background: var(--color-neutral-100);
219
+ --modal-close-foreground: var(--foreground-muted);
220
+
221
+ /* Dropdown Component */
222
+ --dropdown-background: white;
223
+ --dropdown-foreground: var(--foreground-primary);
224
+ --dropdown-border: var(--border-default);
225
+ --dropdown-item-focus-background: var(--color-neutral-100);
226
+ --dropdown-item-focus-foreground: var(--foreground-primary);
227
+ --dropdown-separator-background: var(--border-default);
228
+
229
+ /* Tabs Component */
230
+ --tabs-list-background: var(--color-neutral-100);
231
+ --tabs-list-foreground: var(--foreground-muted);
232
+ --tabs-trigger-active-background: white;
233
+ --tabs-trigger-active-foreground: var(--foreground-primary);
234
+ --tabs-trigger-ring-offset: white;
235
+ --tabs-trigger-focus-ring: var(--color-primary-500);
236
+ --tabs-content-ring-offset: white;
237
+ --tabs-content-focus-ring: var(--color-primary-500);
238
+
239
+ /* Table Component */
240
+ --table-foreground: var(--foreground-primary);
241
+ --table-border: var(--border-default);
242
+ --table-footer-background: var(--color-neutral-50);
243
+ --table-row-hover-background: var(--color-neutral-50);
244
+ --table-row-selected-background: var(--color-neutral-100);
245
+ --table-head-foreground: var(--foreground-muted);
246
+ --table-caption-foreground: var(--foreground-muted);
247
+ }
248
+
249
+ /* ========================================
250
+ Dark Mode Theme
251
+ Override variables for dark mode
252
+ ======================================== */
253
+
254
+ .dark {
255
+ --background-page: var(--color-neutral-900);
256
+ --background-elevated: var(--color-neutral-800);
257
+ --foreground-primary: var(--color-neutral-50);
258
+ --foreground-secondary: var(--color-neutral-300);
259
+ --foreground-muted: var(--color-neutral-400);
260
+ --foreground-inverse: var(--color-neutral-900);
261
+
262
+ --border-default: var(--color-neutral-700);
263
+ --border-focus: var(--color-primary-400);
264
+
265
+ --surface-primary: var(--color-neutral-800);
266
+ --surface-secondary: var(--color-neutral-700);
267
+ --surface-elevated: var(--color-neutral-800);
268
+ --surface-inverse: var(--color-neutral-50);
269
+
270
+ /* Button Dark Mode */
271
+ --button-default-background: var(--color-primary-500);
272
+ --button-default-hover-background: var(--color-primary-600);
273
+
274
+ --button-secondary-background: var(--color-neutral-700);
275
+ --button-secondary-foreground: var(--color-neutral-100);
276
+ --button-secondary-hover-background: var(--color-neutral-600);
277
+
278
+ --button-ghost-hover-background: var(--color-neutral-700);
279
+
280
+ --button-outline-border: var(--color-neutral-600);
281
+ --button-outline-hover-background: var(--color-neutral-700);
282
+
283
+ /* Input Dark Mode */
284
+ --input-background: var(--color-neutral-800);
285
+ --input-border: var(--color-neutral-700);
286
+
287
+ /* Card Dark Mode */
288
+ --card-background: var(--color-neutral-800);
289
+ --card-border: var(--color-neutral-700);
290
+
291
+ /* Modal Dark Mode */
292
+ --modal-background: var(--color-neutral-800);
293
+ --modal-border: var(--color-neutral-700);
294
+
295
+ /* Dropdown Dark Mode */
296
+ --dropdown-background: var(--color-neutral-800);
297
+ --dropdown-border: var(--color-neutral-700);
298
+
299
+ /* Table Dark Mode */
300
+ --table-footer-background: var(--color-neutral-800);
301
+ --table-row-hover-background: var(--color-neutral-700);
302
+ --table-row-selected-background: var(--color-neutral-600);
303
+ }