@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,99 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { cn } from "../utils/cn.mjs";
4
+ import { motion, useReducedMotion } from "framer-motion";
5
+ import {
6
+ Group,
7
+ Panel,
8
+ Separator
9
+ } from "react-resizable-panels";
10
+ function ResizablePanelGroup({
11
+ direction = "horizontal",
12
+ className,
13
+ ...rest
14
+ }) {
15
+ return /* @__PURE__ */ jsx(
16
+ Group,
17
+ {
18
+ orientation: direction,
19
+ className: cn(
20
+ "flex h-full w-full",
21
+ direction === "vertical" && "flex-col",
22
+ className
23
+ ),
24
+ "data-ds": "",
25
+ "data-ds-component": "resizable-panel-group",
26
+ "data-ds-direction": direction,
27
+ ...rest
28
+ }
29
+ );
30
+ }
31
+ ResizablePanelGroup.displayName = "ResizablePanelGroup";
32
+ const ResizablePanel = Panel;
33
+ function GripIcon({ className }) {
34
+ return /* @__PURE__ */ jsxs(
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: [
47
+ /* @__PURE__ */ jsx("circle", { cx: "9", cy: "12", r: "1" }),
48
+ /* @__PURE__ */ jsx("circle", { cx: "9", cy: "5", r: "1" }),
49
+ /* @__PURE__ */ jsx("circle", { cx: "9", cy: "19", r: "1" }),
50
+ /* @__PURE__ */ jsx("circle", { cx: "15", cy: "12", r: "1" }),
51
+ /* @__PURE__ */ jsx("circle", { cx: "15", cy: "5", r: "1" }),
52
+ /* @__PURE__ */ jsx("circle", { cx: "15", cy: "19", r: "1" })
53
+ ]
54
+ }
55
+ );
56
+ }
57
+ function ResizableHandle({
58
+ withHandle = false,
59
+ className,
60
+ ...rest
61
+ }) {
62
+ const shouldReduce = useReducedMotion();
63
+ return /* @__PURE__ */ jsx(
64
+ Separator,
65
+ {
66
+ className: cn(
67
+ "relative flex w-px items-center justify-center bg-border",
68
+ "after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2",
69
+ "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1",
70
+ "[&[aria-orientation=horizontal]]:h-px [&[aria-orientation=horizontal]]:w-full",
71
+ "[&[aria-orientation=horizontal]]:after:left-0 [&[aria-orientation=horizontal]]:after:h-1",
72
+ "[&[aria-orientation=horizontal]]:after:w-full [&[aria-orientation=horizontal]]:after:-translate-y-1/2",
73
+ "[&[aria-orientation=horizontal]]:after:translate-x-0",
74
+ "[&[aria-orientation=horizontal]>div]:rotate-90",
75
+ className
76
+ ),
77
+ "data-ds-component": "resizable-handle",
78
+ ...rest,
79
+ children: withHandle && /* @__PURE__ */ jsx(
80
+ motion.div,
81
+ {
82
+ className: cn(
83
+ "z-10 flex h-4 w-3 items-center justify-center rounded-sm border border-border bg-border"
84
+ ),
85
+ whileHover: shouldReduce ? void 0 : { opacity: 1, scale: 1.15 },
86
+ initial: { opacity: 0.7 },
87
+ "data-ds-animated": "",
88
+ children: /* @__PURE__ */ jsx(GripIcon, { className: "size-2.5 text-muted-foreground" })
89
+ }
90
+ )
91
+ }
92
+ );
93
+ }
94
+ ResizableHandle.displayName = "ResizableHandle";
95
+ export {
96
+ ResizableHandle,
97
+ ResizablePanel,
98
+ ResizablePanelGroup
99
+ };
@@ -0,0 +1,168 @@
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 scroll_area_exports = {};
21
+ __export(scroll_area_exports, {
22
+ ScrollArea: () => ScrollArea,
23
+ ScrollBar: () => ScrollBar,
24
+ scrollbarThumbVariants: () => scrollbarThumbVariants,
25
+ scrollbarVariants: () => scrollbarVariants
26
+ });
27
+ module.exports = __toCommonJS(scroll_area_exports);
28
+ var import_jsx_runtime = require("react/jsx-runtime");
29
+ var import_cn = require("../utils/cn.cjs");
30
+ var import_class_variance_authority = require("class-variance-authority");
31
+ var import_radix_ui = require("radix-ui");
32
+ var import_react = require("react");
33
+ const scrollbarThumbVariants = (0, import_class_variance_authority.cva)(
34
+ [
35
+ // Shape
36
+ "relative rounded-full",
37
+ // Color
38
+ "bg-border",
39
+ // Transition
40
+ "transition-[background-color] duration-fast ease-standard",
41
+ // Hover
42
+ "hover:bg-muted-foreground/50"
43
+ ],
44
+ {
45
+ variants: {
46
+ size: {
47
+ sm: "",
48
+ md: ""
49
+ }
50
+ },
51
+ defaultVariants: {
52
+ size: "md"
53
+ }
54
+ }
55
+ );
56
+ const scrollbarVariants = (0, import_class_variance_authority.cva)(
57
+ [
58
+ // Layout
59
+ "flex touch-none select-none",
60
+ // Transition
61
+ "transition-[background-color,opacity] duration-fast ease-standard",
62
+ // Background
63
+ "bg-transparent",
64
+ // Hover — subtle track background
65
+ "hover:bg-muted/50",
66
+ // Border
67
+ "border-transparent"
68
+ ],
69
+ {
70
+ variants: {
71
+ orientation: {
72
+ vertical: "h-full border-l border-l-transparent p-px",
73
+ horizontal: "flex-col border-t border-t-transparent p-px"
74
+ },
75
+ size: {
76
+ /**
77
+ * Small — thin scrollbar for compact UIs.
78
+ * Track width/height: 6px
79
+ */
80
+ sm: "",
81
+ /**
82
+ * Medium — default scrollbar width.
83
+ * Track width/height: 10px
84
+ */
85
+ md: ""
86
+ }
87
+ },
88
+ compoundVariants: [
89
+ { orientation: "vertical", size: "sm", className: "w-1.5" },
90
+ { orientation: "vertical", size: "md", className: "w-2.5" },
91
+ { orientation: "horizontal", size: "sm", className: "h-1.5" },
92
+ { orientation: "horizontal", size: "md", className: "h-2.5" }
93
+ ],
94
+ defaultVariants: {
95
+ orientation: "vertical",
96
+ size: "md"
97
+ }
98
+ }
99
+ );
100
+ const ScrollBar = (0, import_react.forwardRef)(function ScrollBar2({ orientation = "vertical", size = "md", className, ...rest }, ref) {
101
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
102
+ import_radix_ui.ScrollArea.Scrollbar,
103
+ {
104
+ ref,
105
+ orientation,
106
+ className: (0, import_cn.cn)(scrollbarVariants({ orientation, size }), className),
107
+ "data-ds": "",
108
+ "data-ds-component": "scroll-bar",
109
+ "data-ds-orientation": orientation,
110
+ "data-ds-size": size,
111
+ ...rest,
112
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
113
+ import_radix_ui.ScrollArea.Thumb,
114
+ {
115
+ className: (0, import_cn.cn)(scrollbarThumbVariants({ size }))
116
+ }
117
+ )
118
+ }
119
+ );
120
+ });
121
+ ScrollBar.displayName = "ScrollBar";
122
+ const ScrollArea = (0, import_react.forwardRef)(function ScrollArea2({
123
+ type = "hover",
124
+ scrollbarSize = "md",
125
+ showVertical = true,
126
+ showHorizontal = false,
127
+ viewportClassName,
128
+ className,
129
+ children,
130
+ ...rest
131
+ }, ref) {
132
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
133
+ import_radix_ui.ScrollArea.Root,
134
+ {
135
+ ref,
136
+ type,
137
+ className: (0, import_cn.cn)("relative overflow-hidden", className),
138
+ "data-ds": "",
139
+ "data-ds-component": "scroll-area",
140
+ ...rest,
141
+ children: [
142
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
143
+ import_radix_ui.ScrollArea.Viewport,
144
+ {
145
+ className: (0, import_cn.cn)(
146
+ "size-full rounded-[inherit]",
147
+ // Ensure the viewport stretches children to full width
148
+ "[&>div]:!block",
149
+ viewportClassName
150
+ ),
151
+ children
152
+ }
153
+ ),
154
+ showVertical && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ScrollBar, { orientation: "vertical", size: scrollbarSize }),
155
+ showHorizontal && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ScrollBar, { orientation: "horizontal", size: scrollbarSize }),
156
+ showVertical && showHorizontal && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_radix_ui.ScrollArea.Corner, { className: "bg-muted/50" })
157
+ ]
158
+ }
159
+ );
160
+ });
161
+ ScrollArea.displayName = "ScrollArea";
162
+ // Annotate the CommonJS export names for ESM import in node:
163
+ 0 && (module.exports = {
164
+ ScrollArea,
165
+ ScrollBar,
166
+ scrollbarThumbVariants,
167
+ scrollbarVariants
168
+ });
@@ -0,0 +1,131 @@
1
+ import * as react from 'react';
2
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { ScrollArea as ScrollArea$1 } from 'radix-ui';
5
+
6
+ declare const scrollbarThumbVariants: (props?: ({
7
+ size?: "sm" | "md" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ declare const scrollbarVariants: (props?: ({
10
+ orientation?: "horizontal" | "vertical" | null | undefined;
11
+ size?: "sm" | "md" | null | undefined;
12
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
13
+ type ScrollAreaType = "auto" | "always" | "scroll" | "hover";
14
+ type ScrollBarSize = "sm" | "md";
15
+ type ScrollBarOrientation = "vertical" | "horizontal";
16
+ interface ScrollAreaProps extends Omit<ComponentPropsWithoutRef<typeof ScrollArea$1.Root>, "type"> {
17
+ /**
18
+ * The scrollbar visibility behavior.
19
+ * - `"auto"` — scrollbars visible when content overflows
20
+ * - `"always"` — scrollbars always visible
21
+ * - `"scroll"` — scrollbars visible during scrolling only
22
+ * - `"hover"` — scrollbars visible on hover only
23
+ * @default "hover"
24
+ */
25
+ type?: ScrollAreaType;
26
+ /**
27
+ * Size of the scrollbar track.
28
+ * @default "md"
29
+ */
30
+ scrollbarSize?: ScrollBarSize;
31
+ /**
32
+ * Whether to show the vertical scrollbar.
33
+ * @default true
34
+ */
35
+ showVertical?: boolean;
36
+ /**
37
+ * Whether to show the horizontal scrollbar.
38
+ * @default false
39
+ */
40
+ showHorizontal?: boolean;
41
+ /**
42
+ * Additional CSS classes for the viewport element.
43
+ */
44
+ viewportClassName?: string;
45
+ /** Additional CSS classes to merge on the root element. */
46
+ className?: string;
47
+ /** Content to render inside the scrollable area. */
48
+ children?: ReactNode;
49
+ }
50
+ interface ScrollBarProps extends ComponentPropsWithoutRef<typeof ScrollArea$1.Scrollbar> {
51
+ /**
52
+ * Orientation of the scrollbar.
53
+ * @default "vertical"
54
+ */
55
+ orientation?: ScrollBarOrientation;
56
+ /**
57
+ * Size of the scrollbar.
58
+ * @default "md"
59
+ */
60
+ size?: ScrollBarSize;
61
+ /** Additional CSS classes to merge. */
62
+ className?: string;
63
+ }
64
+ /**
65
+ * ScrollBar — a styled scrollbar track and thumb.
66
+ *
67
+ * Used internally by ScrollArea but can also be used standalone when
68
+ * composing custom scroll area layouts.
69
+ *
70
+ * @example
71
+ * ```tsx
72
+ * <ScrollArea.Root>
73
+ * <ScrollArea.Viewport>{content}</ScrollArea.Viewport>
74
+ * <ScrollBar orientation="vertical" size="sm" />
75
+ * <ScrollBar orientation="horizontal" size="sm" />
76
+ * </ScrollArea.Root>
77
+ * ```
78
+ */
79
+ declare const ScrollBar: react.ForwardRefExoticComponent<ScrollBarProps & react.RefAttributes<HTMLDivElement>>;
80
+ /**
81
+ * ScrollArea — a custom scrollbar container for consistent cross-browser
82
+ * scroll appearance.
83
+ *
84
+ * Built on Radix UI's ScrollArea primitive. Replaces native browser
85
+ * scrollbars with styled, consistent scrollbar tracks and thumbs that
86
+ * match the design system's visual language.
87
+ *
88
+ * Accessibility:
89
+ * - Keyboard scrolling works natively (not intercepted)
90
+ * - Custom scrollbars are decorative — assistive technology uses the
91
+ * native scrollable region
92
+ * - Focus management and tab order are preserved
93
+ * - Scroll position is announced by screen readers naturally
94
+ *
95
+ * @example
96
+ * ```tsx
97
+ * // Basic vertical scroll
98
+ * <ScrollArea className="h-72 w-full rounded-md border">
99
+ * <div className="p-4">
100
+ * {longContent}
101
+ * </div>
102
+ * </ScrollArea>
103
+ *
104
+ * // Horizontal scroll
105
+ * <ScrollArea className="w-96" showHorizontal showVertical={false}>
106
+ * <div className="flex gap-4 p-4 w-max">
107
+ * {horizontalItems}
108
+ * </div>
109
+ * </ScrollArea>
110
+ *
111
+ * // Both scrollbars with small size
112
+ * <ScrollArea className="h-64 w-64" showHorizontal scrollbarSize="sm">
113
+ * <div className="w-[800px] h-[800px]">
114
+ * {largeContent}
115
+ * </div>
116
+ * </ScrollArea>
117
+ *
118
+ * // Always visible scrollbars
119
+ * <ScrollArea className="h-48" type="always">
120
+ * {content}
121
+ * </ScrollArea>
122
+ *
123
+ * // Scroll on hover only
124
+ * <ScrollArea className="h-48" type="hover">
125
+ * {content}
126
+ * </ScrollArea>
127
+ * ```
128
+ */
129
+ declare const ScrollArea: react.ForwardRefExoticComponent<ScrollAreaProps & react.RefAttributes<HTMLDivElement>>;
130
+
131
+ export { ScrollArea, type ScrollAreaProps, type ScrollAreaType, ScrollBar, type ScrollBarOrientation, type ScrollBarProps, type ScrollBarSize, scrollbarThumbVariants, scrollbarVariants };
@@ -0,0 +1,131 @@
1
+ import * as react from 'react';
2
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { ScrollArea as ScrollArea$1 } from 'radix-ui';
5
+
6
+ declare const scrollbarThumbVariants: (props?: ({
7
+ size?: "sm" | "md" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ declare const scrollbarVariants: (props?: ({
10
+ orientation?: "horizontal" | "vertical" | null | undefined;
11
+ size?: "sm" | "md" | null | undefined;
12
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
13
+ type ScrollAreaType = "auto" | "always" | "scroll" | "hover";
14
+ type ScrollBarSize = "sm" | "md";
15
+ type ScrollBarOrientation = "vertical" | "horizontal";
16
+ interface ScrollAreaProps extends Omit<ComponentPropsWithoutRef<typeof ScrollArea$1.Root>, "type"> {
17
+ /**
18
+ * The scrollbar visibility behavior.
19
+ * - `"auto"` — scrollbars visible when content overflows
20
+ * - `"always"` — scrollbars always visible
21
+ * - `"scroll"` — scrollbars visible during scrolling only
22
+ * - `"hover"` — scrollbars visible on hover only
23
+ * @default "hover"
24
+ */
25
+ type?: ScrollAreaType;
26
+ /**
27
+ * Size of the scrollbar track.
28
+ * @default "md"
29
+ */
30
+ scrollbarSize?: ScrollBarSize;
31
+ /**
32
+ * Whether to show the vertical scrollbar.
33
+ * @default true
34
+ */
35
+ showVertical?: boolean;
36
+ /**
37
+ * Whether to show the horizontal scrollbar.
38
+ * @default false
39
+ */
40
+ showHorizontal?: boolean;
41
+ /**
42
+ * Additional CSS classes for the viewport element.
43
+ */
44
+ viewportClassName?: string;
45
+ /** Additional CSS classes to merge on the root element. */
46
+ className?: string;
47
+ /** Content to render inside the scrollable area. */
48
+ children?: ReactNode;
49
+ }
50
+ interface ScrollBarProps extends ComponentPropsWithoutRef<typeof ScrollArea$1.Scrollbar> {
51
+ /**
52
+ * Orientation of the scrollbar.
53
+ * @default "vertical"
54
+ */
55
+ orientation?: ScrollBarOrientation;
56
+ /**
57
+ * Size of the scrollbar.
58
+ * @default "md"
59
+ */
60
+ size?: ScrollBarSize;
61
+ /** Additional CSS classes to merge. */
62
+ className?: string;
63
+ }
64
+ /**
65
+ * ScrollBar — a styled scrollbar track and thumb.
66
+ *
67
+ * Used internally by ScrollArea but can also be used standalone when
68
+ * composing custom scroll area layouts.
69
+ *
70
+ * @example
71
+ * ```tsx
72
+ * <ScrollArea.Root>
73
+ * <ScrollArea.Viewport>{content}</ScrollArea.Viewport>
74
+ * <ScrollBar orientation="vertical" size="sm" />
75
+ * <ScrollBar orientation="horizontal" size="sm" />
76
+ * </ScrollArea.Root>
77
+ * ```
78
+ */
79
+ declare const ScrollBar: react.ForwardRefExoticComponent<ScrollBarProps & react.RefAttributes<HTMLDivElement>>;
80
+ /**
81
+ * ScrollArea — a custom scrollbar container for consistent cross-browser
82
+ * scroll appearance.
83
+ *
84
+ * Built on Radix UI's ScrollArea primitive. Replaces native browser
85
+ * scrollbars with styled, consistent scrollbar tracks and thumbs that
86
+ * match the design system's visual language.
87
+ *
88
+ * Accessibility:
89
+ * - Keyboard scrolling works natively (not intercepted)
90
+ * - Custom scrollbars are decorative — assistive technology uses the
91
+ * native scrollable region
92
+ * - Focus management and tab order are preserved
93
+ * - Scroll position is announced by screen readers naturally
94
+ *
95
+ * @example
96
+ * ```tsx
97
+ * // Basic vertical scroll
98
+ * <ScrollArea className="h-72 w-full rounded-md border">
99
+ * <div className="p-4">
100
+ * {longContent}
101
+ * </div>
102
+ * </ScrollArea>
103
+ *
104
+ * // Horizontal scroll
105
+ * <ScrollArea className="w-96" showHorizontal showVertical={false}>
106
+ * <div className="flex gap-4 p-4 w-max">
107
+ * {horizontalItems}
108
+ * </div>
109
+ * </ScrollArea>
110
+ *
111
+ * // Both scrollbars with small size
112
+ * <ScrollArea className="h-64 w-64" showHorizontal scrollbarSize="sm">
113
+ * <div className="w-[800px] h-[800px]">
114
+ * {largeContent}
115
+ * </div>
116
+ * </ScrollArea>
117
+ *
118
+ * // Always visible scrollbars
119
+ * <ScrollArea className="h-48" type="always">
120
+ * {content}
121
+ * </ScrollArea>
122
+ *
123
+ * // Scroll on hover only
124
+ * <ScrollArea className="h-48" type="hover">
125
+ * {content}
126
+ * </ScrollArea>
127
+ * ```
128
+ */
129
+ declare const ScrollArea: react.ForwardRefExoticComponent<ScrollAreaProps & react.RefAttributes<HTMLDivElement>>;
130
+
131
+ export { ScrollArea, type ScrollAreaProps, type ScrollAreaType, ScrollBar, type ScrollBarOrientation, type ScrollBarProps, type ScrollBarSize, scrollbarThumbVariants, scrollbarVariants };
@@ -0,0 +1,143 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { cn } from "../utils/cn.mjs";
4
+ import { cva } from "class-variance-authority";
5
+ import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
6
+ import {
7
+ forwardRef
8
+ } from "react";
9
+ const scrollbarThumbVariants = cva(
10
+ [
11
+ // Shape
12
+ "relative rounded-full",
13
+ // Color
14
+ "bg-border",
15
+ // Transition
16
+ "transition-[background-color] duration-fast ease-standard",
17
+ // Hover
18
+ "hover:bg-muted-foreground/50"
19
+ ],
20
+ {
21
+ variants: {
22
+ size: {
23
+ sm: "",
24
+ md: ""
25
+ }
26
+ },
27
+ defaultVariants: {
28
+ size: "md"
29
+ }
30
+ }
31
+ );
32
+ const scrollbarVariants = cva(
33
+ [
34
+ // Layout
35
+ "flex touch-none select-none",
36
+ // Transition
37
+ "transition-[background-color,opacity] duration-fast ease-standard",
38
+ // Background
39
+ "bg-transparent",
40
+ // Hover — subtle track background
41
+ "hover:bg-muted/50",
42
+ // Border
43
+ "border-transparent"
44
+ ],
45
+ {
46
+ variants: {
47
+ orientation: {
48
+ vertical: "h-full border-l border-l-transparent p-px",
49
+ horizontal: "flex-col border-t border-t-transparent p-px"
50
+ },
51
+ size: {
52
+ /**
53
+ * Small — thin scrollbar for compact UIs.
54
+ * Track width/height: 6px
55
+ */
56
+ sm: "",
57
+ /**
58
+ * Medium — default scrollbar width.
59
+ * Track width/height: 10px
60
+ */
61
+ md: ""
62
+ }
63
+ },
64
+ compoundVariants: [
65
+ { orientation: "vertical", size: "sm", className: "w-1.5" },
66
+ { orientation: "vertical", size: "md", className: "w-2.5" },
67
+ { orientation: "horizontal", size: "sm", className: "h-1.5" },
68
+ { orientation: "horizontal", size: "md", className: "h-2.5" }
69
+ ],
70
+ defaultVariants: {
71
+ orientation: "vertical",
72
+ size: "md"
73
+ }
74
+ }
75
+ );
76
+ const ScrollBar = forwardRef(function ScrollBar2({ orientation = "vertical", size = "md", className, ...rest }, ref) {
77
+ return /* @__PURE__ */ jsx(
78
+ ScrollAreaPrimitive.Scrollbar,
79
+ {
80
+ ref,
81
+ orientation,
82
+ className: cn(scrollbarVariants({ orientation, size }), className),
83
+ "data-ds": "",
84
+ "data-ds-component": "scroll-bar",
85
+ "data-ds-orientation": orientation,
86
+ "data-ds-size": size,
87
+ ...rest,
88
+ children: /* @__PURE__ */ jsx(
89
+ ScrollAreaPrimitive.Thumb,
90
+ {
91
+ className: cn(scrollbarThumbVariants({ size }))
92
+ }
93
+ )
94
+ }
95
+ );
96
+ });
97
+ ScrollBar.displayName = "ScrollBar";
98
+ const ScrollArea = forwardRef(function ScrollArea2({
99
+ type = "hover",
100
+ scrollbarSize = "md",
101
+ showVertical = true,
102
+ showHorizontal = false,
103
+ viewportClassName,
104
+ className,
105
+ children,
106
+ ...rest
107
+ }, ref) {
108
+ return /* @__PURE__ */ jsxs(
109
+ ScrollAreaPrimitive.Root,
110
+ {
111
+ ref,
112
+ type,
113
+ className: cn("relative overflow-hidden", className),
114
+ "data-ds": "",
115
+ "data-ds-component": "scroll-area",
116
+ ...rest,
117
+ children: [
118
+ /* @__PURE__ */ jsx(
119
+ ScrollAreaPrimitive.Viewport,
120
+ {
121
+ className: cn(
122
+ "size-full rounded-[inherit]",
123
+ // Ensure the viewport stretches children to full width
124
+ "[&>div]:!block",
125
+ viewportClassName
126
+ ),
127
+ children
128
+ }
129
+ ),
130
+ showVertical && /* @__PURE__ */ jsx(ScrollBar, { orientation: "vertical", size: scrollbarSize }),
131
+ showHorizontal && /* @__PURE__ */ jsx(ScrollBar, { orientation: "horizontal", size: scrollbarSize }),
132
+ showVertical && showHorizontal && /* @__PURE__ */ jsx(ScrollAreaPrimitive.Corner, { className: "bg-muted/50" })
133
+ ]
134
+ }
135
+ );
136
+ });
137
+ ScrollArea.displayName = "ScrollArea";
138
+ export {
139
+ ScrollArea,
140
+ ScrollBar,
141
+ scrollbarThumbVariants,
142
+ scrollbarVariants
143
+ };