@work-rjkashyap/unified-ui 0.3.4 → 0.3.6

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 -1957
  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-AAEWG5VR.mjs → tokens/colors.cjs} +94 -94
  372. package/dist/{z-index-DmLl6FUD.d.ts → tokens/colors.d.cts} +118 -72
  373. package/dist/{z-index-DmLl6FUD.d.cts → tokens/colors.d.ts} +118 -72
  374. package/dist/{chunk-6ZZZBOCH.cjs → tokens/colors.mjs} +47 -121
  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-A2DGHQL2.cjs +0 -21808
  428. package/dist/chunk-BJ55D5IK.mjs +0 -2433
  429. package/dist/chunk-F4JJFWWU.cjs +0 -604
  430. package/dist/chunk-FUWXGHWQ.cjs +0 -468
  431. package/dist/chunk-MBYCK2JJ.mjs +0 -37
  432. package/dist/chunk-OHEH57BV.mjs +0 -455
  433. package/dist/chunk-RUG3BW2B.cjs +0 -2471
  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 -159
  446. package/dist/theme.d.cts +0 -440
  447. package/dist/theme.d.ts +0 -440
  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,90 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import { Switch as Switch$1 } from 'radix-ui';
6
+
7
+ declare const switchTrackVariants: (props?: ({
8
+ size?: "sm" | "md" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ declare const switchThumbVariants: (props?: ({
11
+ size?: "sm" | "md" | null | undefined;
12
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
13
+ type SwitchSize = "sm" | "md";
14
+ type SwitchLabelPosition = "left" | "right";
15
+ interface SwitchProps extends Omit<React.ComponentPropsWithoutRef<typeof Switch$1.Root>, "asChild">, VariantProps<typeof switchTrackVariants> {
16
+ /**
17
+ * Size of the switch.
18
+ * @default "md"
19
+ */
20
+ size?: SwitchSize;
21
+ /**
22
+ * Text label for the switch.
23
+ */
24
+ label?: ReactNode;
25
+ /**
26
+ * Description text displayed below the label.
27
+ */
28
+ description?: ReactNode;
29
+ /**
30
+ * Position of the label relative to the switch.
31
+ * @default "right"
32
+ */
33
+ labelPosition?: SwitchLabelPosition;
34
+ /**
35
+ * Additional CSS classes for the outer wrapper element.
36
+ */
37
+ wrapperClassName?: string;
38
+ /**
39
+ * Additional CSS classes for the label element.
40
+ */
41
+ labelClassName?: string;
42
+ /**
43
+ * Additional CSS classes for the description element.
44
+ */
45
+ descriptionClassName?: string;
46
+ /** Additional CSS classes to merge on the switch track element. */
47
+ className?: string;
48
+ }
49
+ /**
50
+ * Switch — a toggle control for binary on/off states.
51
+ *
52
+ * Built on Radix UI's Switch primitive for accessibility and the design
53
+ * system's token layer for styling. The thumb uses a Framer Motion spring
54
+ * animation for a tactile, snappy feel.
55
+ *
56
+ * Accessibility:
57
+ * - Radix handles `role="switch"`, `aria-checked`, keyboard toggle (Space)
58
+ * - Focus ring visible on keyboard navigation (focus-visible)
59
+ * - Disabled state uses both `disabled` attribute and `aria-disabled`
60
+ * - Label is associated via `htmlFor` / `id` linkage
61
+ * - Description linked via `aria-describedby`
62
+ *
63
+ * @example
64
+ * ```tsx
65
+ * // Basic usage
66
+ * <Switch label="Dark mode" />
67
+ *
68
+ * // Controlled
69
+ * <Switch
70
+ * checked={enabled}
71
+ * onCheckedChange={setEnabled}
72
+ * label="Notifications"
73
+ * />
74
+ *
75
+ * // Small with left label
76
+ * <Switch size="sm" label="Auto-save" labelPosition="left" />
77
+ *
78
+ * // With description
79
+ * <Switch
80
+ * label="Marketing emails"
81
+ * description="Receive emails about new features and updates"
82
+ * />
83
+ *
84
+ * // Disabled
85
+ * <Switch disabled label="Feature locked" />
86
+ * ```
87
+ */
88
+ declare const Switch: react.ForwardRefExoticComponent<SwitchProps & react.RefAttributes<HTMLButtonElement>>;
89
+
90
+ export { Switch, type SwitchLabelPosition, type SwitchProps, type SwitchSize, switchThumbVariants, switchTrackVariants };
@@ -0,0 +1,228 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { cn } from "../utils/cn.mjs";
4
+ import { focusRingClasses } from "../utils/focus-ring.mjs";
5
+ import { cva } from "class-variance-authority";
6
+ import {
7
+ motion,
8
+ useMotionValue,
9
+ useReducedMotion,
10
+ useSpring
11
+ } from "framer-motion";
12
+ import { Switch as SwitchPrimitive } from "radix-ui";
13
+ import {
14
+ forwardRef,
15
+ useCallback,
16
+ useEffect,
17
+ useId,
18
+ useState
19
+ } from "react";
20
+ const switchTrackVariants = cva(
21
+ [
22
+ // Layout
23
+ "relative inline-flex shrink-0 cursor-pointer items-center",
24
+ // Shape
25
+ "rounded-full",
26
+ // Border
27
+ "border-2 border-transparent",
28
+ // Transition
29
+ "transition-[background-color,box-shadow] duration-fast ease-standard",
30
+ // Focus ring
31
+ focusRingClasses,
32
+ // Disabled
33
+ "disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed",
34
+ // Unchecked state
35
+ "data-[state=unchecked]:bg-input",
36
+ // Checked state
37
+ "data-[state=checked]:bg-primary"
38
+ ],
39
+ {
40
+ variants: {
41
+ size: {
42
+ /**
43
+ * Small — compact for dense UIs, settings panels.
44
+ * Track: 36px × 20px
45
+ */
46
+ sm: "h-5 w-9",
47
+ /**
48
+ * Medium — default size for most switches.
49
+ * Track: 44px × 24px
50
+ */
51
+ md: "h-6 w-11"
52
+ }
53
+ },
54
+ defaultVariants: {
55
+ size: "md"
56
+ }
57
+ }
58
+ );
59
+ const switchThumbVariants = cva(
60
+ [
61
+ // Shape
62
+ "pointer-events-none block rounded-full",
63
+ // Color
64
+ "bg-white",
65
+ // Shadow
66
+ "shadow-sm"
67
+ ],
68
+ {
69
+ variants: {
70
+ size: {
71
+ sm: "size-4",
72
+ md: "size-5"
73
+ }
74
+ },
75
+ defaultVariants: {
76
+ size: "md"
77
+ }
78
+ }
79
+ );
80
+ const thumbSpringConfig = {
81
+ stiffness: 500,
82
+ damping: 30,
83
+ mass: 0.5
84
+ };
85
+ const thumbTravel = {
86
+ sm: { off: 0, on: 16 },
87
+ md: { off: 0, on: 20 }
88
+ };
89
+ const MotionThumb = motion.create("span");
90
+ const instantSpringConfig = {
91
+ stiffness: 1e4,
92
+ damping: 1e4,
93
+ mass: 0.01
94
+ };
95
+ function AnimatedThumb({
96
+ size = "md",
97
+ checked
98
+ }) {
99
+ const prefersReduced = useReducedMotion();
100
+ const travel = thumbTravel[size];
101
+ const x = useMotionValue(checked ? travel.on : travel.off);
102
+ const springConfig = prefersReduced ? instantSpringConfig : thumbSpringConfig;
103
+ const springX = useSpring(x, springConfig);
104
+ useEffect(() => {
105
+ x.set(checked ? travel.on : travel.off);
106
+ }, [checked, travel, x]);
107
+ return /* @__PURE__ */ jsx(SwitchPrimitive.Thumb, { asChild: true, children: /* @__PURE__ */ jsx(
108
+ MotionThumb,
109
+ {
110
+ className: cn(switchThumbVariants({ size })),
111
+ style: { x: springX },
112
+ "aria-hidden": "true"
113
+ }
114
+ ) });
115
+ }
116
+ const Switch = forwardRef(function Switch2({
117
+ size = "md",
118
+ label,
119
+ description,
120
+ labelPosition = "right",
121
+ wrapperClassName,
122
+ labelClassName,
123
+ descriptionClassName,
124
+ className,
125
+ id: idProp,
126
+ checked,
127
+ defaultChecked,
128
+ disabled,
129
+ onCheckedChange,
130
+ ...rest
131
+ }, ref) {
132
+ const autoId = useId();
133
+ const id = idProp ?? autoId;
134
+ const descriptionId = description ? `${id}-description` : void 0;
135
+ const isControlled = checked !== void 0;
136
+ const [internalChecked, setInternalChecked] = useState(
137
+ checked ?? defaultChecked ?? false
138
+ );
139
+ const [prevChecked, setPrevChecked] = useState(checked);
140
+ if (isControlled && checked !== prevChecked) {
141
+ setPrevChecked(checked);
142
+ setInternalChecked(checked);
143
+ }
144
+ const handleCheckedChange = useCallback(
145
+ (value) => {
146
+ if (!isControlled) {
147
+ setInternalChecked(value);
148
+ }
149
+ onCheckedChange?.(value);
150
+ },
151
+ [isControlled, onCheckedChange]
152
+ );
153
+ const isChecked = isControlled ? checked : internalChecked;
154
+ const switchElement = /* @__PURE__ */ jsx(
155
+ SwitchPrimitive.Root,
156
+ {
157
+ ref,
158
+ id,
159
+ checked: isControlled ? checked : void 0,
160
+ defaultChecked: isControlled ? void 0 : defaultChecked,
161
+ disabled,
162
+ onCheckedChange: handleCheckedChange,
163
+ "aria-describedby": descriptionId,
164
+ className: cn(switchTrackVariants({ size }), className),
165
+ "data-ds": "",
166
+ "data-ds-component": "switch",
167
+ "data-ds-size": size,
168
+ ...rest,
169
+ children: /* @__PURE__ */ jsx(AnimatedThumb, { size, checked: isChecked })
170
+ }
171
+ );
172
+ if (!label) {
173
+ return switchElement;
174
+ }
175
+ const labelBlock = /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 flex-1 min-w-0", children: [
176
+ /* @__PURE__ */ jsx(
177
+ "label",
178
+ {
179
+ htmlFor: id,
180
+ className: cn(
181
+ "text-sm font-medium leading-5 text-foreground",
182
+ "select-none",
183
+ disabled && "opacity-50 cursor-not-allowed",
184
+ !disabled && "cursor-pointer",
185
+ labelClassName
186
+ ),
187
+ children: label
188
+ }
189
+ ),
190
+ description && /* @__PURE__ */ jsx(
191
+ "span",
192
+ {
193
+ id: descriptionId,
194
+ className: cn(
195
+ "text-xs leading-4 text-muted-foreground",
196
+ disabled && "opacity-50",
197
+ descriptionClassName
198
+ ),
199
+ children: description
200
+ }
201
+ )
202
+ ] });
203
+ return /* @__PURE__ */ jsxs(
204
+ "div",
205
+ {
206
+ className: cn(
207
+ "flex items-center gap-3",
208
+ // Reverse order when label is on the left
209
+ labelPosition === "left" ? "flex-row" : "flex-row-reverse",
210
+ // Align to start when description is present
211
+ description && "items-start",
212
+ wrapperClassName
213
+ ),
214
+ "data-ds": "",
215
+ "data-ds-component": "switch-group",
216
+ children: [
217
+ switchElement,
218
+ labelBlock
219
+ ]
220
+ }
221
+ );
222
+ });
223
+ Switch.displayName = "Switch";
224
+ export {
225
+ Switch,
226
+ switchThumbVariants,
227
+ switchTrackVariants
228
+ };
@@ -0,0 +1,381 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var table_exports = {};
21
+ __export(table_exports, {
22
+ Table: () => Table,
23
+ TableBody: () => TableBody,
24
+ TableCaption: () => TableCaption,
25
+ TableCell: () => TableCell,
26
+ TableFooter: () => TableFooter,
27
+ TableHead: () => TableHead,
28
+ TableHeader: () => TableHeader,
29
+ TableRow: () => TableRow,
30
+ tableRootVariants: () => tableRootVariants
31
+ });
32
+ module.exports = __toCommonJS(table_exports);
33
+ var import_jsx_runtime = require("react/jsx-runtime");
34
+ var import_cn = require("../utils/cn.cjs");
35
+ var import_focus_ring = require("../utils/focus-ring.cjs");
36
+ var import_class_variance_authority = require("class-variance-authority");
37
+ var import_react = require("react");
38
+ const TableContext = (0, import_react.createContext)({
39
+ density: "comfortable",
40
+ striped: false,
41
+ hoverable: false,
42
+ bordered: false
43
+ });
44
+ function useTableContext() {
45
+ return (0, import_react.useContext)(TableContext);
46
+ }
47
+ function SortAscIcon({ className }) {
48
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
49
+ "svg",
50
+ {
51
+ className,
52
+ xmlns: "http://www.w3.org/2000/svg",
53
+ viewBox: "0 0 24 24",
54
+ fill: "none",
55
+ stroke: "currentColor",
56
+ strokeWidth: "2",
57
+ strokeLinecap: "round",
58
+ strokeLinejoin: "round",
59
+ "aria-hidden": "true",
60
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m5 15 7-7 7 7" })
61
+ }
62
+ );
63
+ }
64
+ function SortDescIcon({ className }) {
65
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
66
+ "svg",
67
+ {
68
+ className,
69
+ xmlns: "http://www.w3.org/2000/svg",
70
+ viewBox: "0 0 24 24",
71
+ fill: "none",
72
+ stroke: "currentColor",
73
+ strokeWidth: "2",
74
+ strokeLinecap: "round",
75
+ strokeLinejoin: "round",
76
+ "aria-hidden": "true",
77
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m19 9-7 7-7-7" })
78
+ }
79
+ );
80
+ }
81
+ function SortNeutralIcon({ className }) {
82
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
83
+ "svg",
84
+ {
85
+ className,
86
+ xmlns: "http://www.w3.org/2000/svg",
87
+ viewBox: "0 0 24 24",
88
+ fill: "none",
89
+ stroke: "currentColor",
90
+ strokeWidth: "2",
91
+ strokeLinecap: "round",
92
+ strokeLinejoin: "round",
93
+ "aria-hidden": "true",
94
+ children: [
95
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m7 15 5 5 5-5" }),
96
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m7 9 5-5 5 5" })
97
+ ]
98
+ }
99
+ );
100
+ }
101
+ const tableRootVariants = (0, import_class_variance_authority.cva)(
102
+ ["w-full", "caption-bottom", "text-sm", "border-collapse", "m-0"],
103
+ {
104
+ variants: {
105
+ density: {
106
+ compact: "",
107
+ comfortable: ""
108
+ }
109
+ },
110
+ defaultVariants: {
111
+ density: "comfortable"
112
+ }
113
+ }
114
+ );
115
+ const densityHeadPadding = {
116
+ compact: "px-3 py-1.5",
117
+ comfortable: "px-4 py-2.5"
118
+ };
119
+ const densityCellPadding = {
120
+ compact: "px-3 py-1.5",
121
+ comfortable: "px-4 py-2"
122
+ };
123
+ const alignClassMap = {
124
+ left: "text-left",
125
+ center: "text-center",
126
+ right: "text-right"
127
+ };
128
+ const Table = (0, import_react.forwardRef)(function Table2({
129
+ density = "comfortable",
130
+ striped = false,
131
+ hoverable = false,
132
+ bordered = false,
133
+ responsive = true,
134
+ wrapperClassName,
135
+ className,
136
+ children,
137
+ ...rest
138
+ }, ref) {
139
+ const contextValue = {
140
+ density,
141
+ striped,
142
+ hoverable,
143
+ bordered
144
+ };
145
+ const table = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
146
+ "table",
147
+ {
148
+ ref,
149
+ className: (0, import_cn.cn)(
150
+ "not-prose",
151
+ tableRootVariants({ density }),
152
+ bordered && !responsive && "border border-border rounded-md",
153
+ className
154
+ ),
155
+ "data-ds": "",
156
+ "data-ds-component": "table",
157
+ "data-ds-density": density,
158
+ ...rest,
159
+ children
160
+ }
161
+ ) });
162
+ if (responsive) {
163
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
164
+ "div",
165
+ {
166
+ className: (0, import_cn.cn)(
167
+ "not-prose",
168
+ "w-full overflow-x-auto overflow-y-hidden",
169
+ "rounded-md border border-border",
170
+ wrapperClassName
171
+ ),
172
+ "data-ds": "",
173
+ "data-ds-component": "table-wrapper",
174
+ children: table
175
+ }
176
+ );
177
+ }
178
+ return table;
179
+ });
180
+ Table.displayName = "Table";
181
+ const TableHeader = (0, import_react.forwardRef)(function TableHeader2({ className, children, ...rest }, ref) {
182
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
183
+ "thead",
184
+ {
185
+ ref,
186
+ className: (0, import_cn.cn)(
187
+ "bg-muted/50",
188
+ "[&_tr]:border-b [&_tr]:border-border",
189
+ className
190
+ ),
191
+ "data-ds": "",
192
+ "data-ds-component": "table-header",
193
+ ...rest,
194
+ children
195
+ }
196
+ );
197
+ });
198
+ TableHeader.displayName = "TableHeader";
199
+ const TableBody = (0, import_react.forwardRef)(
200
+ function TableBody2({ className, children, ...rest }, ref) {
201
+ const { striped, hoverable, bordered } = useTableContext();
202
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
203
+ "tbody",
204
+ {
205
+ ref,
206
+ className: (0, import_cn.cn)(
207
+ // Last row: no bottom border (the wrapper/table border handles it)
208
+ "[&_tr:last-child]:border-b-0",
209
+ // Row borders
210
+ "[&_tr]:border-b [&_tr]:border-border-muted",
211
+ // Striped rows
212
+ striped && "**:data-[ds-row-index=odd]:bg-muted/30",
213
+ // Hoverable rows
214
+ hoverable && "[&_tr]:transition-colors [&_tr]:duration-fast [&_tr:hover]:bg-muted/50",
215
+ // Bordered cells
216
+ bordered && "[&_td]:border-r [&_td]:border-border-muted [&_td:last-child]:border-r-0",
217
+ className
218
+ ),
219
+ "data-ds": "",
220
+ "data-ds-component": "table-body",
221
+ ...rest,
222
+ children
223
+ }
224
+ );
225
+ }
226
+ );
227
+ TableBody.displayName = "TableBody";
228
+ const TableFooter = (0, import_react.forwardRef)(function TableFooter2({ className, children, ...rest }, ref) {
229
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
230
+ "tfoot",
231
+ {
232
+ ref,
233
+ className: (0, import_cn.cn)(
234
+ "bg-muted/50",
235
+ "border-t border-border",
236
+ "font-medium",
237
+ "[&_tr]:border-b-0",
238
+ className
239
+ ),
240
+ "data-ds": "",
241
+ "data-ds-component": "table-footer",
242
+ ...rest,
243
+ children
244
+ }
245
+ );
246
+ });
247
+ TableFooter.displayName = "TableFooter";
248
+ const TableRow = (0, import_react.forwardRef)(
249
+ function TableRow2({ selected = false, className, children, ...rest }, ref) {
250
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
251
+ "tr",
252
+ {
253
+ ref,
254
+ className: (0, import_cn.cn)(
255
+ "transition-colors duration-fast",
256
+ selected && "bg-primary-muted",
257
+ className
258
+ ),
259
+ "data-ds": "",
260
+ "data-ds-component": "table-row",
261
+ "aria-selected": selected || void 0,
262
+ ...rest,
263
+ children
264
+ }
265
+ );
266
+ }
267
+ );
268
+ TableRow.displayName = "TableRow";
269
+ const TableHead = (0, import_react.forwardRef)(
270
+ function TableHead2({
271
+ align = "left",
272
+ sortable = false,
273
+ sorted,
274
+ onSort,
275
+ sticky = false,
276
+ className,
277
+ children,
278
+ ...rest
279
+ }, ref) {
280
+ const { density, bordered } = useTableContext();
281
+ const content = sortable ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
282
+ "button",
283
+ {
284
+ type: "button",
285
+ onClick: onSort,
286
+ className: (0, import_cn.cn)(
287
+ "inline-flex items-center gap-1",
288
+ "w-full",
289
+ "cursor-pointer select-none",
290
+ "hover:text-foreground",
291
+ "transition-colors duration-fast",
292
+ import_focus_ring.focusRingCompactClasses,
293
+ "rounded-sm",
294
+ align === "right" && "justify-end",
295
+ align === "center" && "justify-center"
296
+ ),
297
+ "aria-label": sorted === "asc" ? "Sorted ascending. Click to sort descending." : sorted === "desc" ? "Sorted descending. Click to remove sort." : "Click to sort ascending.",
298
+ children: [
299
+ children,
300
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "shrink-0", children: sorted === "asc" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SortAscIcon, { className: "size-3.5" }) : sorted === "desc" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SortDescIcon, { className: "size-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SortNeutralIcon, { className: "size-3.5 opacity-30" }) })
301
+ ]
302
+ }
303
+ ) : children;
304
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
305
+ "th",
306
+ {
307
+ ref,
308
+ scope: "col",
309
+ className: (0, import_cn.cn)(
310
+ densityHeadPadding[density],
311
+ alignClassMap[align],
312
+ "text-muted-foreground",
313
+ "font-semibold",
314
+ "whitespace-nowrap",
315
+ sticky && "sticky top-0 z-[var(--z-sticky)] bg-muted/95 backdrop-blur-sm",
316
+ bordered && "border-r border-border-muted last:border-r-0",
317
+ className
318
+ ),
319
+ "data-ds": "",
320
+ "data-ds-component": "table-head",
321
+ "aria-sort": sorted === "asc" ? "ascending" : sorted === "desc" ? "descending" : sortable ? "none" : void 0,
322
+ ...rest,
323
+ children: content
324
+ }
325
+ );
326
+ }
327
+ );
328
+ TableHead.displayName = "TableHead";
329
+ const TableCell = (0, import_react.forwardRef)(
330
+ function TableCell2({ align = "left", className, children, ...rest }, ref) {
331
+ const { density } = useTableContext();
332
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
333
+ "td",
334
+ {
335
+ ref,
336
+ className: (0, import_cn.cn)(
337
+ densityCellPadding[density],
338
+ alignClassMap[align],
339
+ "text-foreground",
340
+ className
341
+ ),
342
+ "data-ds": "",
343
+ "data-ds-component": "table-cell",
344
+ ...rest,
345
+ children
346
+ }
347
+ );
348
+ }
349
+ );
350
+ TableCell.displayName = "TableCell";
351
+ const TableCaption = (0, import_react.forwardRef)(function TableCaption2({ className, children, ...rest }, ref) {
352
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
353
+ "caption",
354
+ {
355
+ ref,
356
+ className: (0, import_cn.cn)(
357
+ "mt-2 px-4 pb-0.5",
358
+ "text-xs leading-5",
359
+ "text-muted-foreground",
360
+ className
361
+ ),
362
+ "data-ds": "",
363
+ "data-ds-component": "table-caption",
364
+ ...rest,
365
+ children
366
+ }
367
+ );
368
+ });
369
+ TableCaption.displayName = "TableCaption";
370
+ // Annotate the CommonJS export names for ESM import in node:
371
+ 0 && (module.exports = {
372
+ Table,
373
+ TableBody,
374
+ TableCaption,
375
+ TableCell,
376
+ TableFooter,
377
+ TableHead,
378
+ TableHeader,
379
+ TableRow,
380
+ tableRootVariants
381
+ });