@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,181 @@
1
+ import * as react from 'react';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ type TableDensity = "compact" | "comfortable";
6
+ type TableSortDirection = "asc" | "desc";
7
+ type TableAlign = "left" | "center" | "right";
8
+ declare const tableRootVariants: (props?: ({
9
+ density?: "compact" | "comfortable" | null | undefined;
10
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
11
+ interface TableProps extends React.HTMLAttributes<HTMLTableElement>, VariantProps<typeof tableRootVariants> {
12
+ /**
13
+ * Row height density.
14
+ * @default "comfortable"
15
+ */
16
+ density?: TableDensity;
17
+ /**
18
+ * Alternate row background color for readability.
19
+ * @default false
20
+ */
21
+ striped?: boolean;
22
+ /**
23
+ * Highlight rows on hover.
24
+ * @default false
25
+ */
26
+ hoverable?: boolean;
27
+ /**
28
+ * Add borders between cells.
29
+ * @default false
30
+ */
31
+ bordered?: boolean;
32
+ /**
33
+ * Wrap the table in a horizontally-scrollable container
34
+ * so it doesn't overflow on small screens.
35
+ * @default true
36
+ */
37
+ responsive?: boolean;
38
+ /** Additional CSS classes for the wrapper (when responsive). */
39
+ wrapperClassName?: string;
40
+ /** Additional CSS classes for the table element. */
41
+ className?: string;
42
+ }
43
+ /**
44
+ * Table — semantic `<table>` element with design-system tokens.
45
+ *
46
+ * Provides context for density, striping, hovering, and borders to all
47
+ * sub-components.
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * <Table striped hoverable density="compact" bordered>
52
+ * <TableHeader>
53
+ * <TableRow>
54
+ * <TableHead>Name</TableHead>
55
+ * <TableHead align="right">Amount</TableHead>
56
+ * </TableRow>
57
+ * </TableHeader>
58
+ * <TableBody>
59
+ * <TableRow>
60
+ * <TableCell>Alice</TableCell>
61
+ * <TableCell align="right">$1,200</TableCell>
62
+ * </TableRow>
63
+ * </TableBody>
64
+ * </Table>
65
+ * ```
66
+ */
67
+ declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>>;
68
+ interface TableHeaderProps extends React.HTMLAttributes<HTMLTableSectionElement> {
69
+ /** Additional CSS classes. */
70
+ className?: string;
71
+ }
72
+ /**
73
+ * TableHeader — wraps `<thead>` with design-system styles.
74
+ */
75
+ declare const TableHeader: react.ForwardRefExoticComponent<TableHeaderProps & react.RefAttributes<HTMLTableSectionElement>>;
76
+ interface TableBodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {
77
+ /** Additional CSS classes. */
78
+ className?: string;
79
+ }
80
+ /**
81
+ * TableBody — wraps `<tbody>` with design-system styles.
82
+ */
83
+ declare const TableBody: react.ForwardRefExoticComponent<TableBodyProps & react.RefAttributes<HTMLTableSectionElement>>;
84
+ interface TableFooterProps extends React.HTMLAttributes<HTMLTableSectionElement> {
85
+ /** Additional CSS classes. */
86
+ className?: string;
87
+ }
88
+ /**
89
+ * TableFooter — wraps `<tfoot>` with design-system styles.
90
+ */
91
+ declare const TableFooter: react.ForwardRefExoticComponent<TableFooterProps & react.RefAttributes<HTMLTableSectionElement>>;
92
+ interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement> {
93
+ /**
94
+ * Whether this row is selected / highlighted.
95
+ * @default false
96
+ */
97
+ selected?: boolean;
98
+ /** Additional CSS classes. */
99
+ className?: string;
100
+ }
101
+ /**
102
+ * TableRow — wraps `<tr>` with design-system styles.
103
+ */
104
+ declare const TableRow: react.ForwardRefExoticComponent<TableRowProps & react.RefAttributes<HTMLTableRowElement>>;
105
+ interface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
106
+ /**
107
+ * Text alignment within the cell.
108
+ * @default "left"
109
+ */
110
+ align?: TableAlign;
111
+ /**
112
+ * Whether this column is sortable.
113
+ * When true, renders a sort indicator and makes the header clickable.
114
+ * @default false
115
+ */
116
+ sortable?: boolean;
117
+ /**
118
+ * Current sort direction. Only relevant when `sortable` is true.
119
+ * - `"asc"` — ascending (renders up chevron)
120
+ * - `"desc"` — descending (renders down chevron)
121
+ * - `undefined` — not currently sorted (renders neutral indicator)
122
+ */
123
+ sorted?: TableSortDirection;
124
+ /**
125
+ * Callback fired when the sortable header is clicked.
126
+ * Only relevant when `sortable` is true.
127
+ */
128
+ onSort?: () => void;
129
+ /**
130
+ * Whether the header should stick to the top of the scroll container.
131
+ * @default false
132
+ */
133
+ sticky?: boolean;
134
+ /** Additional CSS classes. */
135
+ className?: string;
136
+ }
137
+ /**
138
+ * TableHead — wraps `<th>` with design-system styles.
139
+ *
140
+ * Supports sort indicators for sortable columns. The sort logic is
141
+ * consumer-owned — this component only provides the visual indicator
142
+ * and click handler.
143
+ *
144
+ * @example
145
+ * ```tsx
146
+ * <TableHead
147
+ * sortable
148
+ * sorted="asc"
149
+ * onSort={() => toggleSort("name")}
150
+ * >
151
+ * Name
152
+ * </TableHead>
153
+ * ```
154
+ */
155
+ declare const TableHead: react.ForwardRefExoticComponent<TableHeadProps & react.RefAttributes<HTMLTableCellElement>>;
156
+ interface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
157
+ /**
158
+ * Text alignment within the cell.
159
+ * @default "left"
160
+ */
161
+ align?: TableAlign;
162
+ /** Additional CSS classes. */
163
+ className?: string;
164
+ }
165
+ /**
166
+ * TableCell — wraps `<td>` with design-system styles.
167
+ */
168
+ declare const TableCell: react.ForwardRefExoticComponent<TableCellProps & react.RefAttributes<HTMLTableCellElement>>;
169
+ interface TableCaptionProps extends React.HTMLAttributes<HTMLTableCaptionElement> {
170
+ /** Additional CSS classes. */
171
+ className?: string;
172
+ }
173
+ /**
174
+ * TableCaption — wraps `<caption>` with design-system styles.
175
+ *
176
+ * Renders at the bottom of the table by default (via `caption-bottom`
177
+ * on the root `<table>`).
178
+ */
179
+ declare const TableCaption: react.ForwardRefExoticComponent<TableCaptionProps & react.RefAttributes<HTMLTableCaptionElement>>;
180
+
181
+ export { Table, type TableAlign, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, type TableDensity, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, type TableSortDirection, tableRootVariants };
@@ -0,0 +1,181 @@
1
+ import * as react from 'react';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ type TableDensity = "compact" | "comfortable";
6
+ type TableSortDirection = "asc" | "desc";
7
+ type TableAlign = "left" | "center" | "right";
8
+ declare const tableRootVariants: (props?: ({
9
+ density?: "compact" | "comfortable" | null | undefined;
10
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
11
+ interface TableProps extends React.HTMLAttributes<HTMLTableElement>, VariantProps<typeof tableRootVariants> {
12
+ /**
13
+ * Row height density.
14
+ * @default "comfortable"
15
+ */
16
+ density?: TableDensity;
17
+ /**
18
+ * Alternate row background color for readability.
19
+ * @default false
20
+ */
21
+ striped?: boolean;
22
+ /**
23
+ * Highlight rows on hover.
24
+ * @default false
25
+ */
26
+ hoverable?: boolean;
27
+ /**
28
+ * Add borders between cells.
29
+ * @default false
30
+ */
31
+ bordered?: boolean;
32
+ /**
33
+ * Wrap the table in a horizontally-scrollable container
34
+ * so it doesn't overflow on small screens.
35
+ * @default true
36
+ */
37
+ responsive?: boolean;
38
+ /** Additional CSS classes for the wrapper (when responsive). */
39
+ wrapperClassName?: string;
40
+ /** Additional CSS classes for the table element. */
41
+ className?: string;
42
+ }
43
+ /**
44
+ * Table — semantic `<table>` element with design-system tokens.
45
+ *
46
+ * Provides context for density, striping, hovering, and borders to all
47
+ * sub-components.
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * <Table striped hoverable density="compact" bordered>
52
+ * <TableHeader>
53
+ * <TableRow>
54
+ * <TableHead>Name</TableHead>
55
+ * <TableHead align="right">Amount</TableHead>
56
+ * </TableRow>
57
+ * </TableHeader>
58
+ * <TableBody>
59
+ * <TableRow>
60
+ * <TableCell>Alice</TableCell>
61
+ * <TableCell align="right">$1,200</TableCell>
62
+ * </TableRow>
63
+ * </TableBody>
64
+ * </Table>
65
+ * ```
66
+ */
67
+ declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>>;
68
+ interface TableHeaderProps extends React.HTMLAttributes<HTMLTableSectionElement> {
69
+ /** Additional CSS classes. */
70
+ className?: string;
71
+ }
72
+ /**
73
+ * TableHeader — wraps `<thead>` with design-system styles.
74
+ */
75
+ declare const TableHeader: react.ForwardRefExoticComponent<TableHeaderProps & react.RefAttributes<HTMLTableSectionElement>>;
76
+ interface TableBodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {
77
+ /** Additional CSS classes. */
78
+ className?: string;
79
+ }
80
+ /**
81
+ * TableBody — wraps `<tbody>` with design-system styles.
82
+ */
83
+ declare const TableBody: react.ForwardRefExoticComponent<TableBodyProps & react.RefAttributes<HTMLTableSectionElement>>;
84
+ interface TableFooterProps extends React.HTMLAttributes<HTMLTableSectionElement> {
85
+ /** Additional CSS classes. */
86
+ className?: string;
87
+ }
88
+ /**
89
+ * TableFooter — wraps `<tfoot>` with design-system styles.
90
+ */
91
+ declare const TableFooter: react.ForwardRefExoticComponent<TableFooterProps & react.RefAttributes<HTMLTableSectionElement>>;
92
+ interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement> {
93
+ /**
94
+ * Whether this row is selected / highlighted.
95
+ * @default false
96
+ */
97
+ selected?: boolean;
98
+ /** Additional CSS classes. */
99
+ className?: string;
100
+ }
101
+ /**
102
+ * TableRow — wraps `<tr>` with design-system styles.
103
+ */
104
+ declare const TableRow: react.ForwardRefExoticComponent<TableRowProps & react.RefAttributes<HTMLTableRowElement>>;
105
+ interface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
106
+ /**
107
+ * Text alignment within the cell.
108
+ * @default "left"
109
+ */
110
+ align?: TableAlign;
111
+ /**
112
+ * Whether this column is sortable.
113
+ * When true, renders a sort indicator and makes the header clickable.
114
+ * @default false
115
+ */
116
+ sortable?: boolean;
117
+ /**
118
+ * Current sort direction. Only relevant when `sortable` is true.
119
+ * - `"asc"` — ascending (renders up chevron)
120
+ * - `"desc"` — descending (renders down chevron)
121
+ * - `undefined` — not currently sorted (renders neutral indicator)
122
+ */
123
+ sorted?: TableSortDirection;
124
+ /**
125
+ * Callback fired when the sortable header is clicked.
126
+ * Only relevant when `sortable` is true.
127
+ */
128
+ onSort?: () => void;
129
+ /**
130
+ * Whether the header should stick to the top of the scroll container.
131
+ * @default false
132
+ */
133
+ sticky?: boolean;
134
+ /** Additional CSS classes. */
135
+ className?: string;
136
+ }
137
+ /**
138
+ * TableHead — wraps `<th>` with design-system styles.
139
+ *
140
+ * Supports sort indicators for sortable columns. The sort logic is
141
+ * consumer-owned — this component only provides the visual indicator
142
+ * and click handler.
143
+ *
144
+ * @example
145
+ * ```tsx
146
+ * <TableHead
147
+ * sortable
148
+ * sorted="asc"
149
+ * onSort={() => toggleSort("name")}
150
+ * >
151
+ * Name
152
+ * </TableHead>
153
+ * ```
154
+ */
155
+ declare const TableHead: react.ForwardRefExoticComponent<TableHeadProps & react.RefAttributes<HTMLTableCellElement>>;
156
+ interface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
157
+ /**
158
+ * Text alignment within the cell.
159
+ * @default "left"
160
+ */
161
+ align?: TableAlign;
162
+ /** Additional CSS classes. */
163
+ className?: string;
164
+ }
165
+ /**
166
+ * TableCell — wraps `<td>` with design-system styles.
167
+ */
168
+ declare const TableCell: react.ForwardRefExoticComponent<TableCellProps & react.RefAttributes<HTMLTableCellElement>>;
169
+ interface TableCaptionProps extends React.HTMLAttributes<HTMLTableCaptionElement> {
170
+ /** Additional CSS classes. */
171
+ className?: string;
172
+ }
173
+ /**
174
+ * TableCaption — wraps `<caption>` with design-system styles.
175
+ *
176
+ * Renders at the bottom of the table by default (via `caption-bottom`
177
+ * on the root `<table>`).
178
+ */
179
+ declare const TableCaption: react.ForwardRefExoticComponent<TableCaptionProps & react.RefAttributes<HTMLTableCaptionElement>>;
180
+
181
+ export { Table, type TableAlign, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, type TableDensity, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, type TableSortDirection, tableRootVariants };
@@ -0,0 +1,349 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { cn } from "../utils/cn";
4
+ import { focusRingCompactClasses } from "../utils/focus-ring";
5
+ import { cva } from "class-variance-authority";
6
+ import { createContext, forwardRef, useContext } from "react";
7
+ const TableContext = createContext({
8
+ density: "comfortable",
9
+ striped: false,
10
+ hoverable: false,
11
+ bordered: false
12
+ });
13
+ function useTableContext() {
14
+ return useContext(TableContext);
15
+ }
16
+ function SortAscIcon({ className }) {
17
+ return /* @__PURE__ */ jsx(
18
+ "svg",
19
+ {
20
+ className,
21
+ xmlns: "http://www.w3.org/2000/svg",
22
+ viewBox: "0 0 24 24",
23
+ fill: "none",
24
+ stroke: "currentColor",
25
+ strokeWidth: "2",
26
+ strokeLinecap: "round",
27
+ strokeLinejoin: "round",
28
+ "aria-hidden": "true",
29
+ children: /* @__PURE__ */ jsx("path", { d: "m5 15 7-7 7 7" })
30
+ }
31
+ );
32
+ }
33
+ function SortDescIcon({ className }) {
34
+ return /* @__PURE__ */ jsx(
35
+ "svg",
36
+ {
37
+ className,
38
+ xmlns: "http://www.w3.org/2000/svg",
39
+ viewBox: "0 0 24 24",
40
+ fill: "none",
41
+ stroke: "currentColor",
42
+ strokeWidth: "2",
43
+ strokeLinecap: "round",
44
+ strokeLinejoin: "round",
45
+ "aria-hidden": "true",
46
+ children: /* @__PURE__ */ jsx("path", { d: "m19 9-7 7-7-7" })
47
+ }
48
+ );
49
+ }
50
+ function SortNeutralIcon({ className }) {
51
+ return /* @__PURE__ */ jsxs(
52
+ "svg",
53
+ {
54
+ className,
55
+ xmlns: "http://www.w3.org/2000/svg",
56
+ viewBox: "0 0 24 24",
57
+ fill: "none",
58
+ stroke: "currentColor",
59
+ strokeWidth: "2",
60
+ strokeLinecap: "round",
61
+ strokeLinejoin: "round",
62
+ "aria-hidden": "true",
63
+ children: [
64
+ /* @__PURE__ */ jsx("path", { d: "m7 15 5 5 5-5" }),
65
+ /* @__PURE__ */ jsx("path", { d: "m7 9 5-5 5 5" })
66
+ ]
67
+ }
68
+ );
69
+ }
70
+ const tableRootVariants = cva(
71
+ ["w-full", "caption-bottom", "text-sm", "border-collapse", "m-0"],
72
+ {
73
+ variants: {
74
+ density: {
75
+ compact: "",
76
+ comfortable: ""
77
+ }
78
+ },
79
+ defaultVariants: {
80
+ density: "comfortable"
81
+ }
82
+ }
83
+ );
84
+ const densityHeadPadding = {
85
+ compact: "px-3 py-1.5",
86
+ comfortable: "px-4 py-2.5"
87
+ };
88
+ const densityCellPadding = {
89
+ compact: "px-3 py-1.5",
90
+ comfortable: "px-4 py-2"
91
+ };
92
+ const alignClassMap = {
93
+ left: "text-left",
94
+ center: "text-center",
95
+ right: "text-right"
96
+ };
97
+ const Table = forwardRef(function Table2({
98
+ density = "comfortable",
99
+ striped = false,
100
+ hoverable = false,
101
+ bordered = false,
102
+ responsive = true,
103
+ wrapperClassName,
104
+ className,
105
+ children,
106
+ ...rest
107
+ }, ref) {
108
+ const contextValue = {
109
+ density,
110
+ striped,
111
+ hoverable,
112
+ bordered
113
+ };
114
+ const table = /* @__PURE__ */ jsx(TableContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
115
+ "table",
116
+ {
117
+ ref,
118
+ className: cn(
119
+ "not-prose",
120
+ tableRootVariants({ density }),
121
+ bordered && !responsive && "border border-border rounded-md",
122
+ className
123
+ ),
124
+ "data-ds": "",
125
+ "data-ds-component": "table",
126
+ "data-ds-density": density,
127
+ ...rest,
128
+ children
129
+ }
130
+ ) });
131
+ if (responsive) {
132
+ return /* @__PURE__ */ jsx(
133
+ "div",
134
+ {
135
+ className: cn(
136
+ "not-prose",
137
+ "w-full overflow-x-auto overflow-y-hidden",
138
+ "rounded-md border border-border",
139
+ wrapperClassName
140
+ ),
141
+ "data-ds": "",
142
+ "data-ds-component": "table-wrapper",
143
+ children: table
144
+ }
145
+ );
146
+ }
147
+ return table;
148
+ });
149
+ Table.displayName = "Table";
150
+ const TableHeader = forwardRef(function TableHeader2({ className, children, ...rest }, ref) {
151
+ return /* @__PURE__ */ jsx(
152
+ "thead",
153
+ {
154
+ ref,
155
+ className: cn(
156
+ "bg-muted/50",
157
+ "[&_tr]:border-b [&_tr]:border-border",
158
+ className
159
+ ),
160
+ "data-ds": "",
161
+ "data-ds-component": "table-header",
162
+ ...rest,
163
+ children
164
+ }
165
+ );
166
+ });
167
+ TableHeader.displayName = "TableHeader";
168
+ const TableBody = forwardRef(
169
+ function TableBody2({ className, children, ...rest }, ref) {
170
+ const { striped, hoverable, bordered } = useTableContext();
171
+ return /* @__PURE__ */ jsx(
172
+ "tbody",
173
+ {
174
+ ref,
175
+ className: cn(
176
+ // Last row: no bottom border (the wrapper/table border handles it)
177
+ "[&_tr:last-child]:border-b-0",
178
+ // Row borders
179
+ "[&_tr]:border-b [&_tr]:border-border-muted",
180
+ // Striped rows
181
+ striped && "**:data-[ds-row-index=odd]:bg-muted/30",
182
+ // Hoverable rows
183
+ hoverable && "[&_tr]:transition-colors [&_tr]:duration-fast [&_tr:hover]:bg-muted/50",
184
+ // Bordered cells
185
+ bordered && "[&_td]:border-r [&_td]:border-border-muted [&_td:last-child]:border-r-0",
186
+ className
187
+ ),
188
+ "data-ds": "",
189
+ "data-ds-component": "table-body",
190
+ ...rest,
191
+ children
192
+ }
193
+ );
194
+ }
195
+ );
196
+ TableBody.displayName = "TableBody";
197
+ const TableFooter = forwardRef(function TableFooter2({ className, children, ...rest }, ref) {
198
+ return /* @__PURE__ */ jsx(
199
+ "tfoot",
200
+ {
201
+ ref,
202
+ className: cn(
203
+ "bg-muted/50",
204
+ "border-t border-border",
205
+ "font-medium",
206
+ "[&_tr]:border-b-0",
207
+ className
208
+ ),
209
+ "data-ds": "",
210
+ "data-ds-component": "table-footer",
211
+ ...rest,
212
+ children
213
+ }
214
+ );
215
+ });
216
+ TableFooter.displayName = "TableFooter";
217
+ const TableRow = forwardRef(
218
+ function TableRow2({ selected = false, className, children, ...rest }, ref) {
219
+ return /* @__PURE__ */ jsx(
220
+ "tr",
221
+ {
222
+ ref,
223
+ className: cn(
224
+ "transition-colors duration-fast",
225
+ selected && "bg-primary-muted",
226
+ className
227
+ ),
228
+ "data-ds": "",
229
+ "data-ds-component": "table-row",
230
+ "aria-selected": selected || void 0,
231
+ ...rest,
232
+ children
233
+ }
234
+ );
235
+ }
236
+ );
237
+ TableRow.displayName = "TableRow";
238
+ const TableHead = forwardRef(
239
+ function TableHead2({
240
+ align = "left",
241
+ sortable = false,
242
+ sorted,
243
+ onSort,
244
+ sticky = false,
245
+ className,
246
+ children,
247
+ ...rest
248
+ }, ref) {
249
+ const { density, bordered } = useTableContext();
250
+ const content = sortable ? /* @__PURE__ */ jsxs(
251
+ "button",
252
+ {
253
+ type: "button",
254
+ onClick: onSort,
255
+ className: cn(
256
+ "inline-flex items-center gap-1",
257
+ "w-full",
258
+ "cursor-pointer select-none",
259
+ "hover:text-foreground",
260
+ "transition-colors duration-fast",
261
+ focusRingCompactClasses,
262
+ "rounded-sm",
263
+ align === "right" && "justify-end",
264
+ align === "center" && "justify-center"
265
+ ),
266
+ "aria-label": sorted === "asc" ? "Sorted ascending. Click to sort descending." : sorted === "desc" ? "Sorted descending. Click to remove sort." : "Click to sort ascending.",
267
+ children: [
268
+ children,
269
+ /* @__PURE__ */ jsx("span", { className: "shrink-0", children: sorted === "asc" ? /* @__PURE__ */ jsx(SortAscIcon, { className: "size-3.5" }) : sorted === "desc" ? /* @__PURE__ */ jsx(SortDescIcon, { className: "size-3.5" }) : /* @__PURE__ */ jsx(SortNeutralIcon, { className: "size-3.5 opacity-30" }) })
270
+ ]
271
+ }
272
+ ) : children;
273
+ return /* @__PURE__ */ jsx(
274
+ "th",
275
+ {
276
+ ref,
277
+ scope: "col",
278
+ className: cn(
279
+ densityHeadPadding[density],
280
+ alignClassMap[align],
281
+ "text-muted-foreground",
282
+ "font-semibold",
283
+ "whitespace-nowrap",
284
+ sticky && "sticky top-0 z-[var(--z-sticky)] bg-muted/95 backdrop-blur-sm",
285
+ bordered && "border-r border-border-muted last:border-r-0",
286
+ className
287
+ ),
288
+ "data-ds": "",
289
+ "data-ds-component": "table-head",
290
+ "aria-sort": sorted === "asc" ? "ascending" : sorted === "desc" ? "descending" : sortable ? "none" : void 0,
291
+ ...rest,
292
+ children: content
293
+ }
294
+ );
295
+ }
296
+ );
297
+ TableHead.displayName = "TableHead";
298
+ const TableCell = forwardRef(
299
+ function TableCell2({ align = "left", className, children, ...rest }, ref) {
300
+ const { density } = useTableContext();
301
+ return /* @__PURE__ */ jsx(
302
+ "td",
303
+ {
304
+ ref,
305
+ className: cn(
306
+ densityCellPadding[density],
307
+ alignClassMap[align],
308
+ "text-foreground",
309
+ className
310
+ ),
311
+ "data-ds": "",
312
+ "data-ds-component": "table-cell",
313
+ ...rest,
314
+ children
315
+ }
316
+ );
317
+ }
318
+ );
319
+ TableCell.displayName = "TableCell";
320
+ const TableCaption = forwardRef(function TableCaption2({ className, children, ...rest }, ref) {
321
+ return /* @__PURE__ */ jsx(
322
+ "caption",
323
+ {
324
+ ref,
325
+ className: cn(
326
+ "mt-2 px-4 pb-0.5",
327
+ "text-xs leading-5",
328
+ "text-muted-foreground",
329
+ className
330
+ ),
331
+ "data-ds": "",
332
+ "data-ds-component": "table-caption",
333
+ ...rest,
334
+ children
335
+ }
336
+ );
337
+ });
338
+ TableCaption.displayName = "TableCaption";
339
+ export {
340
+ Table,
341
+ TableBody,
342
+ TableCaption,
343
+ TableCell,
344
+ TableFooter,
345
+ TableHead,
346
+ TableHeader,
347
+ TableRow,
348
+ tableRootVariants
349
+ };