@work-rjkashyap/unified-ui 0.3.3 → 0.3.5

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 (456) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/LICENSE +21 -0
  3. package/dist/components/accordion.cjs +225 -0
  4. package/dist/components/accordion.d.cts +157 -0
  5. package/dist/components/accordion.d.ts +157 -0
  6. package/dist/components/accordion.mjs +199 -0
  7. package/dist/components/alert-dialog.cjs +246 -0
  8. package/dist/components/alert-dialog.d.cts +61 -0
  9. package/dist/components/alert-dialog.d.ts +61 -0
  10. package/dist/components/alert-dialog.mjs +218 -0
  11. package/dist/components/alert.cjs +401 -0
  12. package/dist/components/alert.d.cts +217 -0
  13. package/dist/components/alert.d.ts +217 -0
  14. package/dist/components/alert.mjs +374 -0
  15. package/dist/components/aspect-ratio.cjs +45 -0
  16. package/dist/components/aspect-ratio.d.cts +10 -0
  17. package/dist/components/aspect-ratio.d.ts +10 -0
  18. package/dist/components/aspect-ratio.mjs +23 -0
  19. package/dist/components/avatar.cjs +348 -0
  20. package/dist/components/avatar.d.cts +198 -0
  21. package/dist/components/avatar.d.ts +198 -0
  22. package/dist/components/avatar.mjs +329 -0
  23. package/dist/components/badge.cjs +325 -0
  24. package/dist/components/badge.d.cts +259 -0
  25. package/dist/components/badge.d.ts +259 -0
  26. package/dist/components/badge.mjs +298 -0
  27. package/dist/components/banner.cjs +147 -0
  28. package/dist/components/banner.d.cts +31 -0
  29. package/dist/components/banner.d.ts +31 -0
  30. package/dist/components/banner.mjs +122 -0
  31. package/dist/components/breadcrumb.cjs +266 -0
  32. package/dist/components/breadcrumb.d.cts +159 -0
  33. package/dist/components/breadcrumb.d.ts +159 -0
  34. package/dist/components/breadcrumb.mjs +235 -0
  35. package/dist/components/button.cjs +254 -0
  36. package/dist/components/button.d.cts +126 -0
  37. package/dist/components/button.d.ts +126 -0
  38. package/dist/components/button.mjs +229 -0
  39. package/dist/components/calendar.cjs +511 -0
  40. package/dist/components/calendar.d.cts +94 -0
  41. package/dist/components/calendar.d.ts +94 -0
  42. package/dist/components/calendar.mjs +492 -0
  43. package/dist/components/card.cjs +234 -0
  44. package/dist/components/card.d.cts +190 -0
  45. package/dist/components/card.d.ts +190 -0
  46. package/dist/components/card.mjs +210 -0
  47. package/dist/components/carousel.cjs +234 -0
  48. package/dist/components/carousel.d.cts +30 -0
  49. package/dist/components/carousel.d.ts +30 -0
  50. package/dist/components/carousel.mjs +217 -0
  51. package/dist/components/chart.cjs +122 -0
  52. package/dist/components/chart.d.cts +103 -0
  53. package/dist/components/chart.d.ts +103 -0
  54. package/dist/components/chart.mjs +96 -0
  55. package/dist/components/checkbox.cjs +318 -0
  56. package/dist/components/checkbox.d.cts +182 -0
  57. package/dist/components/checkbox.d.ts +182 -0
  58. package/dist/components/checkbox.mjs +296 -0
  59. package/dist/components/code-highlight.cjs +335 -0
  60. package/dist/components/code-highlight.d.cts +18 -0
  61. package/dist/components/code-highlight.d.ts +18 -0
  62. package/dist/components/code-highlight.mjs +308 -0
  63. package/dist/components/code.cjs +265 -0
  64. package/dist/components/code.d.cts +40 -0
  65. package/dist/components/code.d.ts +40 -0
  66. package/dist/components/code.mjs +243 -0
  67. package/dist/components/collapsible.cjs +143 -0
  68. package/dist/components/collapsible.d.cts +159 -0
  69. package/dist/components/collapsible.d.ts +159 -0
  70. package/dist/components/collapsible.mjs +123 -0
  71. package/dist/components/color-picker.cjs +348 -0
  72. package/dist/components/color-picker.d.cts +35 -0
  73. package/dist/components/color-picker.d.ts +35 -0
  74. package/dist/components/color-picker.mjs +331 -0
  75. package/dist/components/combobox.cjs +584 -0
  76. package/dist/components/combobox.d.cts +183 -0
  77. package/dist/components/combobox.d.ts +183 -0
  78. package/dist/components/combobox.mjs +571 -0
  79. package/dist/components/command.cjs +329 -0
  80. package/dist/components/command.d.cts +97 -0
  81. package/dist/components/command.d.ts +97 -0
  82. package/dist/components/command.mjs +311 -0
  83. package/dist/components/confirm-dialog.cjs +100 -0
  84. package/dist/components/confirm-dialog.d.cts +25 -0
  85. package/dist/components/confirm-dialog.d.ts +25 -0
  86. package/dist/components/confirm-dialog.mjs +86 -0
  87. package/dist/components/context-menu.cjs +325 -0
  88. package/dist/components/context-menu.d.cts +259 -0
  89. package/dist/components/context-menu.d.ts +259 -0
  90. package/dist/components/context-menu.mjs +290 -0
  91. package/dist/components/copy-button.cjs +203 -0
  92. package/dist/components/copy-button.d.cts +22 -0
  93. package/dist/components/copy-button.d.ts +22 -0
  94. package/dist/components/copy-button.mjs +178 -0
  95. package/dist/components/data-list.cjs +140 -0
  96. package/dist/components/data-list.d.cts +36 -0
  97. package/dist/components/data-list.d.ts +36 -0
  98. package/dist/components/data-list.mjs +113 -0
  99. package/dist/components/data-table-toolbar.cjs +338 -0
  100. package/dist/components/data-table-toolbar.d.cts +84 -0
  101. package/dist/components/data-table-toolbar.d.ts +84 -0
  102. package/dist/components/data-table-toolbar.mjs +320 -0
  103. package/dist/components/data-table.cjs +1324 -0
  104. package/dist/components/data-table.d.cts +349 -0
  105. package/dist/components/data-table.d.ts +349 -0
  106. package/dist/components/data-table.mjs +1323 -0
  107. package/dist/components/date-picker.cjs +282 -0
  108. package/dist/components/date-picker.d.cts +97 -0
  109. package/dist/components/date-picker.d.ts +97 -0
  110. package/dist/components/date-picker.mjs +258 -0
  111. package/dist/components/dialog.cjs +319 -0
  112. package/dist/components/dialog.d.cts +74 -0
  113. package/dist/components/dialog.d.ts +74 -0
  114. package/dist/components/dialog.mjs +292 -0
  115. package/dist/components/drawer.cjs +262 -0
  116. package/dist/components/drawer.d.cts +113 -0
  117. package/dist/components/drawer.d.ts +113 -0
  118. package/dist/components/drawer.mjs +230 -0
  119. package/dist/components/dropdown-menu.cjs +328 -0
  120. package/dist/components/dropdown-menu.d.cts +95 -0
  121. package/dist/components/dropdown-menu.d.ts +95 -0
  122. package/dist/components/dropdown-menu.mjs +293 -0
  123. package/dist/components/empty-state.cjs +123 -0
  124. package/dist/components/empty-state.d.cts +15 -0
  125. package/dist/components/empty-state.d.ts +15 -0
  126. package/dist/components/empty-state.mjs +99 -0
  127. package/dist/components/file-upload.cjs +442 -0
  128. package/dist/components/file-upload.d.cts +35 -0
  129. package/dist/components/file-upload.d.ts +35 -0
  130. package/dist/components/file-upload.mjs +423 -0
  131. package/dist/components/form-field.cjs +191 -0
  132. package/dist/components/form-field.d.cts +163 -0
  133. package/dist/components/form-field.d.ts +163 -0
  134. package/dist/components/form-field.mjs +167 -0
  135. package/dist/components/hover-card.cjs +99 -0
  136. package/dist/components/hover-card.d.cts +28 -0
  137. package/dist/components/hover-card.d.ts +28 -0
  138. package/dist/components/hover-card.mjs +75 -0
  139. package/dist/components/image-gallery.cjs +359 -0
  140. package/dist/components/image-gallery.d.cts +46 -0
  141. package/dist/components/image-gallery.d.ts +46 -0
  142. package/dist/components/image-gallery.mjs +340 -0
  143. package/dist/components/index.cjs +719 -0
  144. package/dist/components/index.d.cts +84 -0
  145. package/dist/components/index.d.ts +84 -0
  146. package/dist/components/index.mjs +771 -0
  147. package/dist/components/infinite-scroll.cjs +95 -0
  148. package/dist/components/infinite-scroll.d.cts +54 -0
  149. package/dist/components/infinite-scroll.d.ts +54 -0
  150. package/dist/components/infinite-scroll.mjs +71 -0
  151. package/dist/components/input-group.cjs +202 -0
  152. package/dist/components/input-group.d.cts +22 -0
  153. package/dist/components/input-group.d.ts +22 -0
  154. package/dist/components/input-group.mjs +178 -0
  155. package/dist/components/input.cjs +318 -0
  156. package/dist/components/input.d.cts +99 -0
  157. package/dist/components/input.d.ts +99 -0
  158. package/dist/components/input.mjs +296 -0
  159. package/dist/components/kbd.cjs +69 -0
  160. package/dist/components/kbd.d.cts +25 -0
  161. package/dist/components/kbd.d.ts +25 -0
  162. package/dist/components/kbd.mjs +44 -0
  163. package/dist/components/label.cjs +138 -0
  164. package/dist/components/label.d.cts +91 -0
  165. package/dist/components/label.d.ts +91 -0
  166. package/dist/components/label.mjs +113 -0
  167. package/dist/components/markdown.cjs +179 -0
  168. package/dist/components/markdown.d.cts +41 -0
  169. package/dist/components/markdown.d.ts +41 -0
  170. package/dist/components/markdown.mjs +155 -0
  171. package/dist/components/menubar.cjs +365 -0
  172. package/dist/components/menubar.d.cts +88 -0
  173. package/dist/components/menubar.d.ts +88 -0
  174. package/dist/components/menubar.mjs +329 -0
  175. package/dist/components/navigation-menu.cjs +280 -0
  176. package/dist/components/navigation-menu.d.cts +123 -0
  177. package/dist/components/navigation-menu.d.ts +123 -0
  178. package/dist/components/navigation-menu.mjs +250 -0
  179. package/dist/components/number-input.cjs +419 -0
  180. package/dist/components/number-input.d.cts +111 -0
  181. package/dist/components/number-input.d.ts +111 -0
  182. package/dist/components/number-input.mjs +400 -0
  183. package/dist/components/pagination.cjs +322 -0
  184. package/dist/components/pagination.d.cts +119 -0
  185. package/dist/components/pagination.d.ts +119 -0
  186. package/dist/components/pagination.mjs +297 -0
  187. package/dist/components/pin-input.cjs +321 -0
  188. package/dist/components/pin-input.d.cts +112 -0
  189. package/dist/components/pin-input.d.ts +112 -0
  190. package/dist/components/pin-input.mjs +303 -0
  191. package/dist/components/popover.cjs +194 -0
  192. package/dist/components/popover.d.cts +108 -0
  193. package/dist/components/popover.d.ts +108 -0
  194. package/dist/components/popover.mjs +168 -0
  195. package/dist/components/progress.cjs +237 -0
  196. package/dist/components/progress.d.cts +137 -0
  197. package/dist/components/progress.d.ts +137 -0
  198. package/dist/components/progress.mjs +211 -0
  199. package/dist/components/radio.cjs +344 -0
  200. package/dist/components/radio.d.cts +145 -0
  201. package/dist/components/radio.d.ts +145 -0
  202. package/dist/components/radio.mjs +320 -0
  203. package/dist/components/resizable.cjs +121 -0
  204. package/dist/components/resizable.d.cts +23 -0
  205. package/dist/components/resizable.d.ts +23 -0
  206. package/dist/components/resizable.mjs +99 -0
  207. package/dist/components/scroll-area.cjs +168 -0
  208. package/dist/components/scroll-area.d.cts +131 -0
  209. package/dist/components/scroll-area.d.ts +131 -0
  210. package/dist/components/scroll-area.mjs +143 -0
  211. package/dist/components/search-input.cjs +261 -0
  212. package/dist/components/search-input.d.cts +26 -0
  213. package/dist/components/search-input.d.ts +26 -0
  214. package/dist/components/search-input.mjs +243 -0
  215. package/dist/components/select.cjs +320 -0
  216. package/dist/components/select.d.cts +55 -0
  217. package/dist/components/select.d.ts +55 -0
  218. package/dist/components/select.mjs +288 -0
  219. package/dist/components/separator.cjs +193 -0
  220. package/dist/components/separator.d.cts +92 -0
  221. package/dist/components/separator.d.ts +92 -0
  222. package/dist/components/separator.mjs +170 -0
  223. package/dist/components/sheet.cjs +399 -0
  224. package/dist/components/sheet.d.cts +219 -0
  225. package/dist/components/sheet.d.ts +219 -0
  226. package/dist/components/sheet.mjs +379 -0
  227. package/dist/components/sidebar.cjs +1077 -0
  228. package/dist/components/sidebar.d.cts +733 -0
  229. package/dist/components/sidebar.d.ts +733 -0
  230. package/dist/components/sidebar.mjs +1033 -0
  231. package/dist/components/skeleton.cjs +210 -0
  232. package/dist/components/skeleton.d.cts +202 -0
  233. package/dist/components/skeleton.d.ts +202 -0
  234. package/dist/components/skeleton.mjs +182 -0
  235. package/dist/components/slider.cjs +319 -0
  236. package/dist/components/slider.d.cts +82 -0
  237. package/dist/components/slider.d.ts +82 -0
  238. package/dist/components/slider.mjs +296 -0
  239. package/dist/components/sonner.cjs +119 -0
  240. package/dist/components/sonner.d.cts +60 -0
  241. package/dist/components/sonner.d.ts +60 -0
  242. package/dist/components/sonner.mjs +94 -0
  243. package/dist/components/spinner.cjs +238 -0
  244. package/dist/components/spinner.d.cts +101 -0
  245. package/dist/components/spinner.d.ts +101 -0
  246. package/dist/components/spinner.mjs +213 -0
  247. package/dist/components/stat.cjs +180 -0
  248. package/dist/components/stat.d.cts +21 -0
  249. package/dist/components/stat.d.ts +21 -0
  250. package/dist/components/stat.mjs +161 -0
  251. package/dist/components/steps.cjs +228 -0
  252. package/dist/components/steps.d.cts +76 -0
  253. package/dist/components/steps.d.ts +76 -0
  254. package/dist/components/steps.mjs +207 -0
  255. package/dist/components/switch.cjs +243 -0
  256. package/dist/components/switch.d.cts +90 -0
  257. package/dist/components/switch.d.ts +90 -0
  258. package/dist/components/switch.mjs +228 -0
  259. package/dist/components/table.cjs +381 -0
  260. package/dist/components/table.d.cts +181 -0
  261. package/dist/components/table.d.ts +181 -0
  262. package/dist/components/table.mjs +349 -0
  263. package/dist/components/tabs.cjs +326 -0
  264. package/dist/components/tabs.d.cts +154 -0
  265. package/dist/components/tabs.d.ts +154 -0
  266. package/dist/components/tabs.mjs +304 -0
  267. package/dist/components/textarea.cjs +258 -0
  268. package/dist/components/textarea.d.cts +112 -0
  269. package/dist/components/textarea.d.ts +112 -0
  270. package/dist/components/textarea.mjs +233 -0
  271. package/dist/components/theme-toggle.cjs +282 -0
  272. package/dist/components/theme-toggle.d.cts +58 -0
  273. package/dist/components/theme-toggle.d.ts +58 -0
  274. package/dist/components/theme-toggle.mjs +258 -0
  275. package/dist/components/timeline.cjs +178 -0
  276. package/dist/components/timeline.d.cts +41 -0
  277. package/dist/components/timeline.d.ts +41 -0
  278. package/dist/components/timeline.mjs +157 -0
  279. package/dist/components/toast.cjs +546 -0
  280. package/dist/components/toast.d.cts +169 -0
  281. package/dist/components/toast.d.ts +169 -0
  282. package/dist/components/toast.mjs +528 -0
  283. package/dist/components/toggle-group.cjs +204 -0
  284. package/dist/components/toggle-group.d.cts +215 -0
  285. package/dist/components/toggle-group.d.ts +215 -0
  286. package/dist/components/toggle-group.mjs +180 -0
  287. package/dist/components/toggle.cjs +155 -0
  288. package/dist/components/toggle.d.cts +100 -0
  289. package/dist/components/toggle.d.ts +100 -0
  290. package/dist/components/toggle.mjs +130 -0
  291. package/dist/components/tooltip.cjs +155 -0
  292. package/dist/components/tooltip.d.cts +129 -0
  293. package/dist/components/tooltip.d.ts +129 -0
  294. package/dist/components/tooltip.mjs +132 -0
  295. package/dist/components/tree-view.cjs +450 -0
  296. package/dist/components/tree-view.d.cts +67 -0
  297. package/dist/components/tree-view.d.ts +67 -0
  298. package/dist/components/tree-view.mjs +433 -0
  299. package/dist/components/video-player.cjs +344 -0
  300. package/dist/components/video-player.d.cts +34 -0
  301. package/dist/components/video-player.d.ts +34 -0
  302. package/dist/components/video-player.mjs +320 -0
  303. package/dist/components/virtual-list.cjs +153 -0
  304. package/dist/components/virtual-list.d.cts +53 -0
  305. package/dist/components/virtual-list.d.ts +53 -0
  306. package/dist/components/virtual-list.mjs +136 -0
  307. package/dist/components/visually-hidden.cjs +43 -0
  308. package/dist/components/visually-hidden.d.cts +9 -0
  309. package/dist/components/visually-hidden.d.ts +9 -0
  310. package/dist/components/visually-hidden.mjs +21 -0
  311. package/dist/index.cjs +1081 -1933
  312. package/dist/index.d.cts +99 -11
  313. package/dist/index.d.ts +99 -11
  314. package/dist/index.mjs +1138 -16
  315. package/dist/motion/hooks.cjs +98 -0
  316. package/dist/motion/hooks.d.cts +32 -0
  317. package/dist/motion/hooks.d.ts +32 -0
  318. package/dist/motion/hooks.mjs +70 -0
  319. package/dist/motion/index.cjs +157 -0
  320. package/dist/motion/index.d.cts +5 -0
  321. package/dist/motion/index.d.ts +5 -0
  322. package/dist/motion/index.mjs +137 -0
  323. package/dist/motion/presets.cjs +609 -0
  324. package/dist/{motion.d.ts → motion/presets.d.cts} +1 -30
  325. package/dist/{motion.d.cts → motion/presets.d.ts} +1 -30
  326. package/dist/{chunk-PLRSH37T.mjs → motion/presets.mjs} +119 -126
  327. package/dist/primitives/container.cjs +88 -0
  328. package/dist/primitives/container.d.cts +82 -0
  329. package/dist/primitives/container.d.ts +82 -0
  330. package/dist/primitives/container.mjs +64 -0
  331. package/dist/primitives/divider.cjs +74 -0
  332. package/dist/primitives/divider.d.cts +30 -0
  333. package/dist/primitives/divider.d.ts +30 -0
  334. package/dist/primitives/divider.mjs +50 -0
  335. package/dist/primitives/index.cjs +54 -0
  336. package/dist/primitives/index.d.cts +6 -0
  337. package/dist/primitives/index.d.ts +6 -0
  338. package/dist/primitives/index.mjs +33 -0
  339. package/dist/primitives/stack.cjs +167 -0
  340. package/dist/primitives/stack.d.cts +132 -0
  341. package/dist/primitives/stack.d.ts +132 -0
  342. package/dist/primitives/stack.mjs +142 -0
  343. package/dist/primitives/typography.cjs +260 -0
  344. package/dist/primitives/typography.d.cts +157 -0
  345. package/dist/primitives/typography.d.ts +157 -0
  346. package/dist/primitives/typography.mjs +229 -0
  347. package/dist/theme/contract.cjs +246 -0
  348. package/dist/theme/contract.d.cts +76 -0
  349. package/dist/theme/contract.d.ts +76 -0
  350. package/dist/theme/contract.mjs +221 -0
  351. package/dist/theme/customizer-store.cjs +266 -0
  352. package/dist/theme/customizer-store.d.cts +76 -0
  353. package/dist/theme/customizer-store.d.ts +76 -0
  354. package/dist/theme/customizer-store.mjs +261 -0
  355. package/dist/theme/customizer.cjs +812 -0
  356. package/dist/theme/customizer.d.cts +13 -0
  357. package/dist/theme/customizer.d.ts +13 -0
  358. package/dist/theme/customizer.mjs +803 -0
  359. package/dist/theme/index.cjs +105 -0
  360. package/dist/theme/index.d.cts +13 -0
  361. package/dist/theme/index.d.ts +13 -0
  362. package/dist/theme/index.mjs +87 -0
  363. package/dist/theme/presets.cjs +1205 -0
  364. package/dist/theme/presets.d.cts +232 -0
  365. package/dist/theme/presets.d.ts +232 -0
  366. package/dist/theme/presets.mjs +1175 -0
  367. package/dist/theme/provider.cjs +122 -0
  368. package/dist/theme/provider.d.cts +57 -0
  369. package/dist/theme/provider.d.ts +57 -0
  370. package/dist/theme/provider.mjs +104 -0
  371. package/dist/{chunk-IVZAB7BV.mjs → tokens/colors.cjs} +212 -86
  372. package/dist/{z-index-Dd8IllRx.d.cts → tokens/colors.d.cts} +235 -72
  373. package/dist/{z-index-Dd8IllRx.d.ts → tokens/colors.d.ts} +235 -72
  374. package/dist/{chunk-ZBGR7MUW.cjs → tokens/colors.mjs} +165 -104
  375. package/dist/tokens/index.cjs +96 -0
  376. package/dist/tokens/index.d.cts +7 -0
  377. package/dist/tokens/index.d.ts +7 -0
  378. package/dist/tokens/index.mjs +71 -0
  379. package/dist/{chunk-XCKK6P46.cjs → tokens/motion.cjs} +46 -18
  380. package/dist/{motion-D9wQbcKL.d.cts → tokens/motion.d.cts} +1 -1
  381. package/dist/{motion-D9wQbcKL.d.ts → tokens/motion.d.ts} +1 -1
  382. package/dist/{chunk-EZ2L3XPS.mjs → tokens/motion.mjs} +16 -10
  383. package/dist/tokens/radius.cjs +41 -0
  384. package/dist/tokens/radius.d.cts +18 -0
  385. package/dist/tokens/radius.d.ts +18 -0
  386. package/dist/tokens/radius.mjs +17 -0
  387. package/dist/tokens/shadows.cjs +57 -0
  388. package/dist/tokens/shadows.d.cts +32 -0
  389. package/dist/tokens/shadows.d.ts +32 -0
  390. package/dist/tokens/shadows.mjs +32 -0
  391. package/dist/tokens/spacing.cjs +51 -0
  392. package/dist/tokens/spacing.d.cts +26 -0
  393. package/dist/tokens/spacing.d.ts +26 -0
  394. package/dist/{chunk-NMPHV6ZD.mjs → tokens/spacing.mjs} +4 -4
  395. package/dist/{chunk-ECIGDEAH.cjs → tokens/typography.cjs} +43 -16
  396. package/dist/{typography-DlvVjEdE.d.ts → tokens/typography.d.cts} +1 -1
  397. package/dist/{typography-DlvVjEdE.d.cts → tokens/typography.d.ts} +1 -1
  398. package/dist/{chunk-ITBG42M5.mjs → tokens/typography.mjs} +14 -9
  399. package/dist/tokens/z-index.cjs +47 -0
  400. package/dist/tokens/z-index.d.cts +24 -0
  401. package/dist/tokens/z-index.d.ts +24 -0
  402. package/dist/tokens/z-index.mjs +23 -0
  403. package/dist/utils/cn.cjs +102 -0
  404. package/dist/utils/cn.d.cts +84 -0
  405. package/dist/utils/cn.d.ts +84 -0
  406. package/dist/{chunk-ZT3PCXDF.mjs → utils/cn.mjs} +14 -7
  407. package/dist/{chunk-33QEKXRQ.cjs → utils/contrast.cjs} +68 -38
  408. package/dist/utils/contrast.d.cts +209 -0
  409. package/dist/utils/contrast.d.ts +209 -0
  410. package/dist/{chunk-5NZDQWRV.mjs → utils/contrast.mjs} +27 -18
  411. package/dist/utils/focus-ring.cjs +81 -0
  412. package/dist/utils/focus-ring.d.cts +80 -0
  413. package/dist/utils/focus-ring.d.ts +80 -0
  414. package/dist/utils/focus-ring.mjs +47 -0
  415. package/dist/utils/index.cjs +107 -0
  416. package/dist/utils/index.d.cts +6 -0
  417. package/dist/utils/index.d.ts +6 -0
  418. package/dist/utils/index.mjs +88 -0
  419. package/dist/utils/types.cjs +38 -0
  420. package/dist/utils/types.d.cts +187 -0
  421. package/dist/utils/types.d.ts +187 -0
  422. package/dist/utils/types.mjs +13 -0
  423. package/package.json +191 -191
  424. package/dist/chunk-2JFREULQ.cjs +0 -29
  425. package/dist/chunk-3EHT6IOA.cjs +0 -49
  426. package/dist/chunk-4ON3M3OM.cjs +0 -73
  427. package/dist/chunk-5TP7J7T4.cjs +0 -1766
  428. package/dist/chunk-A2DGHQL2.cjs +0 -21808
  429. package/dist/chunk-EQWESXRH.mjs +0 -1735
  430. package/dist/chunk-F4JJFWWU.cjs +0 -604
  431. package/dist/chunk-FUWXGHWQ.cjs +0 -468
  432. package/dist/chunk-MBYCK2JJ.mjs +0 -37
  433. package/dist/chunk-OHEH57BV.mjs +0 -455
  434. package/dist/chunk-XAIUX2YS.mjs +0 -21477
  435. package/dist/components.cjs +0 -1247
  436. package/dist/components.d.cts +0 -7881
  437. package/dist/components.d.ts +0 -7881
  438. package/dist/components.mjs +0 -6
  439. package/dist/motion.cjs +0 -264
  440. package/dist/motion.mjs +0 -3
  441. package/dist/primitives.cjs +0 -57
  442. package/dist/primitives.d.cts +0 -390
  443. package/dist/primitives.d.ts +0 -390
  444. package/dist/primitives.mjs +0 -4
  445. package/dist/theme.cjs +0 -131
  446. package/dist/theme.d.cts +0 -414
  447. package/dist/theme.d.ts +0 -414
  448. package/dist/theme.mjs +0 -6
  449. package/dist/tokens.cjs +0 -137
  450. package/dist/tokens.d.cts +0 -30
  451. package/dist/tokens.d.ts +0 -30
  452. package/dist/tokens.mjs +0 -4
  453. package/dist/utils.cjs +0 -164
  454. package/dist/utils.d.cts +0 -525
  455. package/dist/utils.d.ts +0 -525
  456. package/dist/utils.mjs +0 -3
@@ -0,0 +1,126 @@
1
+ import * as react from 'react';
2
+ import { ReactNode, ElementType } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const buttonVariants: (props?: ({
7
+ variant?: "danger" | "primary" | "secondary" | "ghost" | null | undefined;
8
+ size?: "sm" | "md" | "lg" | null | undefined;
9
+ fullWidth?: boolean | null | undefined;
10
+ iconOnly?: boolean | null | undefined;
11
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
12
+ type ButtonVariant = "primary" | "secondary" | "ghost" | "danger";
13
+ type ButtonSize = "sm" | "md" | "lg";
14
+ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "disabled">, VariantProps<typeof buttonVariants> {
15
+ /**
16
+ * Visual variant of the button.
17
+ * @default "primary"
18
+ */
19
+ variant?: ButtonVariant;
20
+ /**
21
+ * Size of the button.
22
+ * @default "md"
23
+ */
24
+ size?: ButtonSize;
25
+ /**
26
+ * Whether the button stretches to fill its container.
27
+ * @default false
28
+ */
29
+ fullWidth?: boolean;
30
+ /**
31
+ * Whether the button is in a loading state.
32
+ * When true, the button is disabled and shows a spinner.
33
+ * @default false
34
+ */
35
+ loading?: boolean;
36
+ /**
37
+ * Text to display alongside the spinner during loading.
38
+ * If not provided, the original children are hidden and only
39
+ * the spinner is shown.
40
+ */
41
+ loadingText?: string;
42
+ /**
43
+ * Icon to display before the button label.
44
+ */
45
+ iconLeft?: ReactNode;
46
+ /**
47
+ * Icon to display after the button label.
48
+ */
49
+ iconRight?: ReactNode;
50
+ /**
51
+ * Whether this is an icon-only button (no text label).
52
+ * Ensures the button is square and properly sized.
53
+ * When true, you MUST provide an `aria-label` for accessibility.
54
+ * @default false
55
+ */
56
+ iconOnly?: boolean;
57
+ /**
58
+ * Whether the button is disabled.
59
+ * @default false
60
+ */
61
+ disabled?: boolean;
62
+ /**
63
+ * The HTML element or component to render as.
64
+ * Useful for rendering as an anchor (<a>) or Next.js <Link>.
65
+ * @default "button"
66
+ */
67
+ as?: ElementType;
68
+ /** Content to render inside the button. */
69
+ children?: ReactNode;
70
+ /** Additional CSS classes to merge. */
71
+ className?: string;
72
+ }
73
+ /**
74
+ * Button — the primary interactive element for triggering actions.
75
+ *
76
+ * Built on the design system's token layer with CVA for variant composition.
77
+ * All colors, radii, spacing, and transitions come from CSS custom properties
78
+ * defined in design-system.css.
79
+ *
80
+ * Accessibility:
81
+ * - Focus ring visible on keyboard navigation (focus-visible)
82
+ * - Disabled state uses both `disabled` attribute and `aria-disabled`
83
+ * - Loading state sets `aria-busy="true"` and disables interaction
84
+ * - Icon-only buttons require `aria-label`
85
+ *
86
+ * @example
87
+ * ```tsx
88
+ * // Primary action
89
+ * <Button variant="primary" onClick={handleSave}>
90
+ * Save Changes
91
+ * </Button>
92
+ *
93
+ * // Secondary with icon
94
+ * <Button variant="secondary" iconLeft={<PlusIcon className="size-4" />}>
95
+ * Add Item
96
+ * </Button>
97
+ *
98
+ * // Loading state
99
+ * <Button variant="primary" loading loadingText="Saving...">
100
+ * Save
101
+ * </Button>
102
+ *
103
+ * // Icon-only
104
+ * <Button variant="ghost" iconOnly aria-label="Close">
105
+ * <XIcon className="size-4" />
106
+ * </Button>
107
+ *
108
+ * // Danger / destructive
109
+ * <Button variant="danger" onClick={handleDelete}>
110
+ * Delete Account
111
+ * </Button>
112
+ *
113
+ * // Rendered as anchor
114
+ * <Button as="a" href="/login" variant="secondary">
115
+ * Log In
116
+ * </Button>
117
+ *
118
+ * // Full-width
119
+ * <Button variant="primary" fullWidth>
120
+ * Continue
121
+ * </Button>
122
+ * ```
123
+ */
124
+ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
125
+
126
+ export { Button, type ButtonProps, type ButtonSize, type ButtonVariant, buttonVariants };
@@ -0,0 +1,126 @@
1
+ import * as react from 'react';
2
+ import { ReactNode, ElementType } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const buttonVariants: (props?: ({
7
+ variant?: "danger" | "primary" | "secondary" | "ghost" | null | undefined;
8
+ size?: "sm" | "md" | "lg" | null | undefined;
9
+ fullWidth?: boolean | null | undefined;
10
+ iconOnly?: boolean | null | undefined;
11
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
12
+ type ButtonVariant = "primary" | "secondary" | "ghost" | "danger";
13
+ type ButtonSize = "sm" | "md" | "lg";
14
+ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "disabled">, VariantProps<typeof buttonVariants> {
15
+ /**
16
+ * Visual variant of the button.
17
+ * @default "primary"
18
+ */
19
+ variant?: ButtonVariant;
20
+ /**
21
+ * Size of the button.
22
+ * @default "md"
23
+ */
24
+ size?: ButtonSize;
25
+ /**
26
+ * Whether the button stretches to fill its container.
27
+ * @default false
28
+ */
29
+ fullWidth?: boolean;
30
+ /**
31
+ * Whether the button is in a loading state.
32
+ * When true, the button is disabled and shows a spinner.
33
+ * @default false
34
+ */
35
+ loading?: boolean;
36
+ /**
37
+ * Text to display alongside the spinner during loading.
38
+ * If not provided, the original children are hidden and only
39
+ * the spinner is shown.
40
+ */
41
+ loadingText?: string;
42
+ /**
43
+ * Icon to display before the button label.
44
+ */
45
+ iconLeft?: ReactNode;
46
+ /**
47
+ * Icon to display after the button label.
48
+ */
49
+ iconRight?: ReactNode;
50
+ /**
51
+ * Whether this is an icon-only button (no text label).
52
+ * Ensures the button is square and properly sized.
53
+ * When true, you MUST provide an `aria-label` for accessibility.
54
+ * @default false
55
+ */
56
+ iconOnly?: boolean;
57
+ /**
58
+ * Whether the button is disabled.
59
+ * @default false
60
+ */
61
+ disabled?: boolean;
62
+ /**
63
+ * The HTML element or component to render as.
64
+ * Useful for rendering as an anchor (<a>) or Next.js <Link>.
65
+ * @default "button"
66
+ */
67
+ as?: ElementType;
68
+ /** Content to render inside the button. */
69
+ children?: ReactNode;
70
+ /** Additional CSS classes to merge. */
71
+ className?: string;
72
+ }
73
+ /**
74
+ * Button — the primary interactive element for triggering actions.
75
+ *
76
+ * Built on the design system's token layer with CVA for variant composition.
77
+ * All colors, radii, spacing, and transitions come from CSS custom properties
78
+ * defined in design-system.css.
79
+ *
80
+ * Accessibility:
81
+ * - Focus ring visible on keyboard navigation (focus-visible)
82
+ * - Disabled state uses both `disabled` attribute and `aria-disabled`
83
+ * - Loading state sets `aria-busy="true"` and disables interaction
84
+ * - Icon-only buttons require `aria-label`
85
+ *
86
+ * @example
87
+ * ```tsx
88
+ * // Primary action
89
+ * <Button variant="primary" onClick={handleSave}>
90
+ * Save Changes
91
+ * </Button>
92
+ *
93
+ * // Secondary with icon
94
+ * <Button variant="secondary" iconLeft={<PlusIcon className="size-4" />}>
95
+ * Add Item
96
+ * </Button>
97
+ *
98
+ * // Loading state
99
+ * <Button variant="primary" loading loadingText="Saving...">
100
+ * Save
101
+ * </Button>
102
+ *
103
+ * // Icon-only
104
+ * <Button variant="ghost" iconOnly aria-label="Close">
105
+ * <XIcon className="size-4" />
106
+ * </Button>
107
+ *
108
+ * // Danger / destructive
109
+ * <Button variant="danger" onClick={handleDelete}>
110
+ * Delete Account
111
+ * </Button>
112
+ *
113
+ * // Rendered as anchor
114
+ * <Button as="a" href="/login" variant="secondary">
115
+ * Log In
116
+ * </Button>
117
+ *
118
+ * // Full-width
119
+ * <Button variant="primary" fullWidth>
120
+ * Continue
121
+ * </Button>
122
+ * ```
123
+ */
124
+ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
125
+
126
+ export { Button, type ButtonProps, type ButtonSize, type ButtonVariant, buttonVariants };
@@ -0,0 +1,229 @@
1
+ "use client";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { cn } from "../utils/cn";
4
+ import { focusRingClasses } from "../utils/focus-ring";
5
+ import { cva } from "class-variance-authority";
6
+ import { forwardRef } from "react";
7
+ const buttonVariants = cva(
8
+ // Base styles — shared across all variants and sizes
9
+ [
10
+ // Opt out of prose typography overrides (prevents underline on <a> buttons)
11
+ "not-prose no-underline",
12
+ // Layout
13
+ "inline-flex items-center justify-center gap-2",
14
+ // Typography
15
+ "text-sm font-medium leading-5",
16
+ // Shape
17
+ "rounded-md",
18
+ // Transition (uses design system motion tokens)
19
+ "transition-[color,background-color,border-color,box-shadow,opacity,transform]",
20
+ "duration-fast ease-standard",
21
+ // Focus ring — WCAG AA compliant, visible on keyboard navigation only
22
+ focusRingClasses,
23
+ // Disabled — consistent across all variants
24
+ "disabled:pointer-events-none disabled:opacity-50",
25
+ // Cursor
26
+ "cursor-pointer disabled:cursor-not-allowed",
27
+ // Prevent text selection on rapid clicks
28
+ "select-none",
29
+ // Smooth press feedback
30
+ "active:scale-[0.98] disabled:active:scale-100"
31
+ ],
32
+ {
33
+ variants: {
34
+ // -----------------------------------------------------------------
35
+ // Visual Variants
36
+ // -----------------------------------------------------------------
37
+ variant: {
38
+ /**
39
+ * Primary — the main call-to-action. Uses brand color.
40
+ * High visual prominence. Use sparingly (1–2 per view).
41
+ */
42
+ primary: [
43
+ "bg-primary text-primary-foreground",
44
+ "hover:bg-primary-hover",
45
+ "active:bg-primary-active"
46
+ ],
47
+ /**
48
+ * Secondary — for secondary actions. Uses muted surface color.
49
+ * Medium visual prominence. Pairs with primary buttons.
50
+ */
51
+ secondary: [
52
+ "bg-secondary text-secondary-foreground",
53
+ "border border-border",
54
+ "hover:bg-secondary-hover",
55
+ "active:bg-secondary-active"
56
+ ],
57
+ /**
58
+ * Ghost — minimal visual weight. No background until hover.
59
+ * Low visual prominence. Use for tertiary actions, toolbars, nav.
60
+ */
61
+ ghost: [
62
+ "bg-transparent text-foreground",
63
+ "hover:bg-muted hover:text-foreground",
64
+ "active:bg-secondary-active"
65
+ ],
66
+ /**
67
+ * Danger — destructive actions. Uses danger (red) color.
68
+ * High visual prominence. Use for delete, remove, revoke actions.
69
+ */
70
+ danger: [
71
+ "bg-danger text-danger-foreground",
72
+ "hover:bg-danger-hover",
73
+ "active:bg-danger-active"
74
+ ]
75
+ },
76
+ // -----------------------------------------------------------------
77
+ // Size Variants
78
+ // -----------------------------------------------------------------
79
+ size: {
80
+ /**
81
+ * Small — compact buttons for dense UIs, tables, toolbars.
82
+ * Height: 32px (h-8), Padding: 12px horizontal, Font: 12px
83
+ */
84
+ sm: "h-8 px-3 text-xs gap-1.5",
85
+ /**
86
+ * Medium — default size for most buttons.
87
+ * Height: var(--ds-control-height), Padding: var(--ds-padding-button-x), Font: 14px
88
+ */
89
+ md: "h-(--ds-control-height) px-(--ds-padding-button-x) text-sm gap-2",
90
+ /**
91
+ * Large — prominent buttons for hero sections, forms.
92
+ * Height: 40px (h-10), Padding: 20px horizontal, Font: 14px
93
+ */
94
+ lg: "h-10 px-5 text-sm gap-2"
95
+ },
96
+ // -----------------------------------------------------------------
97
+ // Width Variants
98
+ // -----------------------------------------------------------------
99
+ fullWidth: {
100
+ true: "w-full",
101
+ false: ""
102
+ },
103
+ // -----------------------------------------------------------------
104
+ // Icon-Only Variant
105
+ // -----------------------------------------------------------------
106
+ iconOnly: {
107
+ true: "!px-0",
108
+ false: ""
109
+ }
110
+ },
111
+ // -------------------------------------------------------------------
112
+ // Compound Variants
113
+ // -------------------------------------------------------------------
114
+ // Handle special combinations that can't be expressed as individual
115
+ // variant values.
116
+ // -------------------------------------------------------------------
117
+ compoundVariants: [
118
+ // Icon-only buttons are square (width = height)
119
+ { iconOnly: true, size: "sm", className: "w-8" },
120
+ { iconOnly: true, size: "md", className: "w-9" },
121
+ { iconOnly: true, size: "lg", className: "w-10" }
122
+ ],
123
+ // -------------------------------------------------------------------
124
+ // Default Variants
125
+ // -------------------------------------------------------------------
126
+ defaultVariants: {
127
+ variant: "primary",
128
+ size: "md",
129
+ fullWidth: false,
130
+ iconOnly: false
131
+ }
132
+ }
133
+ );
134
+ function ButtonSpinner({ className }) {
135
+ return /* @__PURE__ */ jsxs(
136
+ "svg",
137
+ {
138
+ className: cn("animate-spin size-4", className),
139
+ xmlns: "http://www.w3.org/2000/svg",
140
+ fill: "none",
141
+ viewBox: "0 0 24 24",
142
+ "aria-hidden": "true",
143
+ children: [
144
+ /* @__PURE__ */ jsx(
145
+ "circle",
146
+ {
147
+ className: "opacity-25",
148
+ cx: "12",
149
+ cy: "12",
150
+ r: "10",
151
+ stroke: "currentColor",
152
+ strokeWidth: "4"
153
+ }
154
+ ),
155
+ /* @__PURE__ */ jsx(
156
+ "path",
157
+ {
158
+ className: "opacity-75",
159
+ fill: "currentColor",
160
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
161
+ }
162
+ )
163
+ ]
164
+ }
165
+ );
166
+ }
167
+ const Button = forwardRef(
168
+ function Button2({
169
+ variant = "primary",
170
+ size = "md",
171
+ fullWidth = false,
172
+ loading = false,
173
+ loadingText,
174
+ iconLeft,
175
+ iconRight,
176
+ iconOnly = false,
177
+ disabled = false,
178
+ as: Component = "button",
179
+ className,
180
+ children,
181
+ ...rest
182
+ }, ref) {
183
+ const isDisabled = disabled || loading;
184
+ const iconSizeClass = size === "sm" ? "[&>svg]:size-3.5" : "[&>svg]:size-4";
185
+ return /* @__PURE__ */ jsxs(
186
+ Component,
187
+ {
188
+ ref,
189
+ type: Component === "button" ? "button" : void 0,
190
+ disabled: isDisabled,
191
+ "aria-disabled": isDisabled || void 0,
192
+ "aria-busy": loading || void 0,
193
+ className: cn(
194
+ buttonVariants({ variant, size, fullWidth, iconOnly }),
195
+ iconSizeClass,
196
+ className
197
+ ),
198
+ "data-ds": "",
199
+ "data-ds-component": "button",
200
+ "data-ds-variant": variant,
201
+ "data-ds-size": size,
202
+ ...loading ? { "data-ds-loading": "" } : {},
203
+ ...rest,
204
+ children: [
205
+ loading && /* @__PURE__ */ jsx(ButtonSpinner, { className: size === "sm" ? "size-3.5" : "size-4" }),
206
+ loading && loadingText ? /* @__PURE__ */ jsx("span", { children: loadingText }) : /* @__PURE__ */ jsxs(Fragment, { children: [
207
+ !loading && iconLeft && /* @__PURE__ */ jsx("span", { className: "shrink-0", "aria-hidden": "true", children: iconLeft }),
208
+ children && /* @__PURE__ */ jsx(
209
+ "span",
210
+ {
211
+ className: cn(
212
+ "inline-flex items-center gap-[inherit]",
213
+ loading && !loadingText && "invisible"
214
+ ),
215
+ children
216
+ }
217
+ ),
218
+ !loading && iconRight && /* @__PURE__ */ jsx("span", { className: "shrink-0", "aria-hidden": "true", children: iconRight })
219
+ ] })
220
+ ]
221
+ }
222
+ );
223
+ }
224
+ );
225
+ Button.displayName = "Button";
226
+ export {
227
+ Button,
228
+ buttonVariants
229
+ };