@work-rjkashyap/unified-ui 0.3.4 → 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 -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,288 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { scaleIn } from "../motion/index";
4
+ import { cn } from "../utils/cn";
5
+ import { focusRingClasses } from "../utils/focus-ring";
6
+ import { cva } from "class-variance-authority";
7
+ import { motion, useReducedMotion } from "framer-motion";
8
+ import { Select as SelectPrimitive } from "radix-ui";
9
+ import {
10
+ forwardRef
11
+ } from "react";
12
+ const selectTriggerVariants = cva(
13
+ [
14
+ "inline-flex items-center justify-between w-full",
15
+ "text-sm leading-5",
16
+ "rounded-md",
17
+ "border",
18
+ "bg-background text-input-foreground",
19
+ "transition-[color,background-color,border-color,box-shadow,opacity]",
20
+ "duration-fast ease-standard",
21
+ focusRingClasses,
22
+ "disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-disabled disabled:text-disabled-foreground",
23
+ "data-[placeholder]:text-input-placeholder",
24
+ "cursor-pointer"
25
+ ],
26
+ {
27
+ variants: {
28
+ variant: {
29
+ default: [
30
+ "border-input",
31
+ "hover:border-border-strong",
32
+ "focus-visible:border-border-strong"
33
+ ],
34
+ error: [
35
+ "border-danger",
36
+ "text-foreground",
37
+ "focus-visible:border-danger"
38
+ ],
39
+ success: [
40
+ "border-success",
41
+ "text-foreground",
42
+ "focus-visible:border-success"
43
+ ]
44
+ },
45
+ size: {
46
+ sm: "h-8 px-2.5 text-xs gap-1.5",
47
+ md: "h-9 px-3 text-sm gap-2",
48
+ lg: "h-10 px-3.5 text-sm gap-2"
49
+ }
50
+ },
51
+ defaultVariants: {
52
+ variant: "default",
53
+ size: "md"
54
+ }
55
+ }
56
+ );
57
+ function ChevronDownIcon({ className }) {
58
+ return /* @__PURE__ */ jsx(
59
+ "svg",
60
+ {
61
+ xmlns: "http://www.w3.org/2000/svg",
62
+ viewBox: "0 0 24 24",
63
+ fill: "none",
64
+ stroke: "currentColor",
65
+ strokeWidth: "2",
66
+ strokeLinecap: "round",
67
+ strokeLinejoin: "round",
68
+ className,
69
+ "aria-hidden": "true",
70
+ children: /* @__PURE__ */ jsx("path", { d: "m6 9 6 6 6-6" })
71
+ }
72
+ );
73
+ }
74
+ function ChevronUpIcon({ className }) {
75
+ return /* @__PURE__ */ jsx(
76
+ "svg",
77
+ {
78
+ xmlns: "http://www.w3.org/2000/svg",
79
+ viewBox: "0 0 24 24",
80
+ fill: "none",
81
+ stroke: "currentColor",
82
+ strokeWidth: "2",
83
+ strokeLinecap: "round",
84
+ strokeLinejoin: "round",
85
+ className,
86
+ "aria-hidden": "true",
87
+ children: /* @__PURE__ */ jsx("path", { d: "m18 15-6-6-6 6" })
88
+ }
89
+ );
90
+ }
91
+ function CheckIconInternal({ className }) {
92
+ return /* @__PURE__ */ jsx(
93
+ "svg",
94
+ {
95
+ xmlns: "http://www.w3.org/2000/svg",
96
+ viewBox: "0 0 24 24",
97
+ fill: "none",
98
+ stroke: "currentColor",
99
+ strokeWidth: "2",
100
+ strokeLinecap: "round",
101
+ strokeLinejoin: "round",
102
+ className,
103
+ "aria-hidden": "true",
104
+ children: /* @__PURE__ */ jsx("path", { d: "M20 6 9 17l-5-5" })
105
+ }
106
+ );
107
+ }
108
+ const iconSizeMap = {
109
+ sm: "size-3.5",
110
+ md: "size-4",
111
+ lg: "size-4"
112
+ };
113
+ const Select = SelectPrimitive.Root;
114
+ const SelectTrigger = forwardRef(function SelectTrigger2({ className, children, variant = "default", size = "md", ...props }, ref) {
115
+ return /* @__PURE__ */ jsxs(
116
+ SelectPrimitive.Trigger,
117
+ {
118
+ ref,
119
+ className: cn(selectTriggerVariants({ variant, size }), className),
120
+ "data-ds": "",
121
+ "data-ds-component": "select-trigger",
122
+ "data-ds-variant": variant,
123
+ "data-ds-size": size,
124
+ ...props,
125
+ children: [
126
+ children,
127
+ /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(
128
+ ChevronDownIcon,
129
+ {
130
+ className: cn(iconSizeMap[size], "shrink-0 text-muted-foreground")
131
+ }
132
+ ) })
133
+ ]
134
+ }
135
+ );
136
+ });
137
+ SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
138
+ const SelectValue = SelectPrimitive.Value;
139
+ const SelectContent = forwardRef(function SelectContent2({ className, children, position = "popper", sideOffset = 4, ...props }, ref) {
140
+ const shouldReduce = useReducedMotion();
141
+ return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx(
142
+ SelectPrimitive.Content,
143
+ {
144
+ ref,
145
+ position,
146
+ sideOffset,
147
+ asChild: true,
148
+ ...props,
149
+ children: /* @__PURE__ */ jsxs(
150
+ motion.div,
151
+ {
152
+ className: cn(
153
+ "relative z-[var(--z-popover)]",
154
+ "min-w-[var(--radix-select-trigger-width)]",
155
+ "max-h-[min(var(--radix-select-content-available-height),320px)]",
156
+ "overflow-hidden",
157
+ "rounded-md",
158
+ "border border-border",
159
+ "bg-background",
160
+ "shadow-lg",
161
+ className
162
+ ),
163
+ variants: shouldReduce ? void 0 : scaleIn.variants,
164
+ initial: shouldReduce ? { opacity: 0 } : "initial",
165
+ animate: shouldReduce ? { opacity: 1 } : "animate",
166
+ exit: shouldReduce ? { opacity: 0 } : "exit",
167
+ transition: shouldReduce ? { duration: 0.15 } : scaleIn.transition,
168
+ "data-ds-animated": "",
169
+ children: [
170
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
171
+ /* @__PURE__ */ jsx(
172
+ SelectPrimitive.Viewport,
173
+ {
174
+ className: cn(
175
+ "p-1",
176
+ position === "popper" && "w-full min-w-[var(--radix-select-trigger-width)]"
177
+ ),
178
+ children
179
+ }
180
+ ),
181
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
182
+ ]
183
+ }
184
+ )
185
+ }
186
+ ) });
187
+ });
188
+ SelectContent.displayName = SelectPrimitive.Content.displayName;
189
+ const SelectScrollUpButton = forwardRef(function SelectScrollUpButton2({ className, ...props }, ref) {
190
+ return /* @__PURE__ */ jsx(
191
+ SelectPrimitive.ScrollUpButton,
192
+ {
193
+ ref,
194
+ className: cn(
195
+ "flex items-center justify-center py-1",
196
+ "cursor-default text-muted-foreground",
197
+ className
198
+ ),
199
+ ...props,
200
+ children: /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4" })
201
+ }
202
+ );
203
+ });
204
+ SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
205
+ const SelectScrollDownButton = forwardRef(function SelectScrollDownButton2({ className, ...props }, ref) {
206
+ return /* @__PURE__ */ jsx(
207
+ SelectPrimitive.ScrollDownButton,
208
+ {
209
+ ref,
210
+ className: cn(
211
+ "flex items-center justify-center py-1",
212
+ "cursor-default text-muted-foreground",
213
+ className
214
+ ),
215
+ ...props,
216
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4" })
217
+ }
218
+ );
219
+ });
220
+ SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
221
+ const SelectItem = forwardRef(function SelectItem2({ className, children, ...rest }, ref) {
222
+ return /* @__PURE__ */ jsxs(
223
+ SelectPrimitive.Item,
224
+ {
225
+ ref,
226
+ className: cn(
227
+ "relative flex w-full cursor-pointer select-none items-center",
228
+ "rounded-sm py-1.5 pl-8 pr-2",
229
+ "text-sm leading-5 text-foreground",
230
+ "outline-none",
231
+ "focus:bg-muted focus:text-foreground",
232
+ "data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
233
+ className
234
+ ),
235
+ "data-ds": "",
236
+ "data-ds-component": "select-item",
237
+ ...rest,
238
+ children: [
239
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIconInternal, { className: "size-4" }) }) }),
240
+ /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
241
+ ]
242
+ }
243
+ );
244
+ });
245
+ SelectItem.displayName = "SelectItem";
246
+ const SelectGroup = forwardRef(function SelectGroup2({ className, children, ...rest }, ref) {
247
+ return /* @__PURE__ */ jsx(SelectPrimitive.Group, { ref, className: cn("", className), ...rest, children });
248
+ });
249
+ SelectGroup.displayName = "SelectGroup";
250
+ const SelectLabel = forwardRef(function SelectLabel2({ className, children, ...rest }, ref) {
251
+ return /* @__PURE__ */ jsx(
252
+ SelectPrimitive.Label,
253
+ {
254
+ ref,
255
+ className: cn(
256
+ "py-1.5 pl-8 pr-2 text-xs font-semibold text-muted-foreground",
257
+ className
258
+ ),
259
+ ...rest,
260
+ children
261
+ }
262
+ );
263
+ });
264
+ SelectLabel.displayName = "SelectLabel";
265
+ const SelectSeparator = forwardRef(function SelectSeparator2({ className, ...rest }, ref) {
266
+ return /* @__PURE__ */ jsx(
267
+ SelectPrimitive.Separator,
268
+ {
269
+ ref,
270
+ className: cn("-mx-1 my-1 h-px bg-border", className),
271
+ ...rest
272
+ }
273
+ );
274
+ });
275
+ SelectSeparator.displayName = "SelectSeparator";
276
+ export {
277
+ Select,
278
+ SelectContent,
279
+ SelectGroup,
280
+ SelectItem,
281
+ SelectLabel,
282
+ SelectScrollDownButton,
283
+ SelectScrollUpButton,
284
+ SelectSeparator,
285
+ SelectTrigger,
286
+ SelectValue,
287
+ selectTriggerVariants
288
+ };
@@ -0,0 +1,193 @@
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 separator_exports = {};
21
+ __export(separator_exports, {
22
+ Separator: () => Separator,
23
+ separatorVariants: () => separatorVariants
24
+ });
25
+ module.exports = __toCommonJS(separator_exports);
26
+ var import_jsx_runtime = require("react/jsx-runtime");
27
+ var import_cn = require("../utils/cn");
28
+ var import_class_variance_authority = require("class-variance-authority");
29
+ var import_radix_ui = require("radix-ui");
30
+ var import_react = require("react");
31
+ const separatorVariants = (0, import_class_variance_authority.cva)(
32
+ // Base styles — shared across all variants
33
+ "shrink-0 bg-border",
34
+ {
35
+ variants: {
36
+ /**
37
+ * Visual variant of the separator line.
38
+ */
39
+ variant: {
40
+ /**
41
+ * Default — solid line using the border token color.
42
+ */
43
+ default: "",
44
+ /**
45
+ * Muted — lighter separator using the muted-foreground color at
46
+ * reduced opacity. Useful for less prominent divisions.
47
+ */
48
+ muted: "bg-muted-foreground/20",
49
+ /**
50
+ * Dashed — renders a dashed border instead of a solid background.
51
+ * Uses border-style rather than background.
52
+ */
53
+ dashed: "bg-transparent !h-auto !w-auto",
54
+ /**
55
+ * Gradient — fades in from transparent at both ends.
56
+ * Creates a more elegant, subtle divider.
57
+ */
58
+ gradient: "bg-transparent"
59
+ },
60
+ /**
61
+ * Orientation of the separator.
62
+ */
63
+ orientation: {
64
+ horizontal: "h-px w-full",
65
+ vertical: "h-full w-px"
66
+ }
67
+ },
68
+ compoundVariants: [
69
+ // Dashed + horizontal
70
+ {
71
+ variant: "dashed",
72
+ orientation: "horizontal",
73
+ class: "border-b border-dashed border-border w-full"
74
+ },
75
+ // Dashed + vertical
76
+ {
77
+ variant: "dashed",
78
+ orientation: "vertical",
79
+ class: "border-l border-dashed border-border h-full"
80
+ }
81
+ ],
82
+ defaultVariants: {
83
+ variant: "default",
84
+ orientation: "horizontal"
85
+ }
86
+ }
87
+ );
88
+ const spacingYMap = {
89
+ 0: "my-0",
90
+ 1: "my-1",
91
+ 2: "my-2",
92
+ 3: "my-3",
93
+ 4: "my-4",
94
+ 5: "my-5",
95
+ 6: "my-6",
96
+ 8: "my-8",
97
+ 10: "my-10",
98
+ 12: "my-12"
99
+ };
100
+ const spacingXMap = {
101
+ 0: "mx-0",
102
+ 1: "mx-1",
103
+ 2: "mx-2",
104
+ 3: "mx-3",
105
+ 4: "mx-4",
106
+ 5: "mx-5",
107
+ 6: "mx-6",
108
+ 8: "mx-8",
109
+ 10: "mx-10",
110
+ 12: "mx-12"
111
+ };
112
+ const gradientHorizontal = "bg-gradient-to-r from-transparent via-border to-transparent";
113
+ const gradientVertical = "bg-gradient-to-b from-transparent via-border to-transparent";
114
+ const Separator = (0, import_react.forwardRef)(function Separator2({
115
+ variant = "default",
116
+ orientation = "horizontal",
117
+ decorative = true,
118
+ spacing = 4,
119
+ label,
120
+ className,
121
+ ...rest
122
+ }, ref) {
123
+ const isVertical = orientation === "vertical";
124
+ const spacingClass = isVertical ? spacingXMap[spacing] ?? "mx-4" : spacingYMap[spacing] ?? "my-4";
125
+ const gradientClass = variant === "gradient" ? isVertical ? gradientVertical : gradientHorizontal : void 0;
126
+ if (label && !isVertical) {
127
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
128
+ "div",
129
+ {
130
+ className: (0, import_cn.cn)("flex items-center w-full", spacingClass, className),
131
+ role: decorative ? "none" : "separator",
132
+ "aria-orientation": decorative ? void 0 : orientation,
133
+ "data-ds": "",
134
+ "data-ds-component": "separator",
135
+ "data-ds-variant": variant,
136
+ "data-ds-orientation": orientation,
137
+ "data-ds-labeled": "",
138
+ children: [
139
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
140
+ import_radix_ui.Separator.Root,
141
+ {
142
+ decorative: true,
143
+ orientation,
144
+ className: (0, import_cn.cn)(
145
+ separatorVariants({ variant, orientation }),
146
+ gradientClass,
147
+ "flex-1"
148
+ )
149
+ }
150
+ ),
151
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "px-3 text-xs text-muted-foreground font-medium select-none shrink-0", children: label }),
152
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
153
+ import_radix_ui.Separator.Root,
154
+ {
155
+ decorative: true,
156
+ orientation,
157
+ className: (0, import_cn.cn)(
158
+ separatorVariants({ variant, orientation }),
159
+ gradientClass,
160
+ "flex-1"
161
+ )
162
+ }
163
+ )
164
+ ]
165
+ }
166
+ );
167
+ }
168
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
169
+ import_radix_ui.Separator.Root,
170
+ {
171
+ ref,
172
+ decorative,
173
+ orientation,
174
+ className: (0, import_cn.cn)(
175
+ separatorVariants({ variant, orientation }),
176
+ gradientClass,
177
+ spacingClass,
178
+ className
179
+ ),
180
+ "data-ds": "",
181
+ "data-ds-component": "separator",
182
+ "data-ds-variant": variant,
183
+ "data-ds-orientation": orientation,
184
+ ...rest
185
+ }
186
+ );
187
+ });
188
+ Separator.displayName = "Separator";
189
+ // Annotate the CommonJS export names for ESM import in node:
190
+ 0 && (module.exports = {
191
+ Separator,
192
+ separatorVariants
193
+ });
@@ -0,0 +1,92 @@
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 { VariantProps } from 'class-variance-authority';
5
+ import { Separator as Separator$1 } from 'radix-ui';
6
+
7
+ declare const separatorVariants: (props?: ({
8
+ variant?: "default" | "dashed" | "muted" | "gradient" | null | undefined;
9
+ orientation?: "horizontal" | "vertical" | null | undefined;
10
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
11
+ type SeparatorVariant = NonNullable<VariantProps<typeof separatorVariants>["variant"]>;
12
+ type SeparatorOrientation = "horizontal" | "vertical";
13
+ type SeparatorSpacing = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
14
+ interface SeparatorProps extends ComponentPropsWithoutRef<typeof Separator$1.Root> {
15
+ /**
16
+ * Visual variant of the separator.
17
+ * @default "default"
18
+ */
19
+ variant?: SeparatorVariant;
20
+ /**
21
+ * Orientation of the separator.
22
+ * @default "horizontal"
23
+ */
24
+ orientation?: SeparatorOrientation;
25
+ /**
26
+ * Whether the separator is purely decorative. When `true`, it is hidden
27
+ * from the accessibility tree. When `false`, it renders as a semantic
28
+ * separator with `role="separator"`.
29
+ * @default true
30
+ */
31
+ decorative?: boolean;
32
+ /**
33
+ * Vertical margin (horizontal orientation) or horizontal margin
34
+ * (vertical orientation), using Tailwind spacing scale.
35
+ * @default 4
36
+ */
37
+ spacing?: SeparatorSpacing;
38
+ /**
39
+ * Optional label to render centered on the separator.
40
+ * Creates a "divider with text" pattern (e.g., "OR", "Continue", etc.).
41
+ * Only supported for horizontal orientation.
42
+ */
43
+ label?: ReactNode;
44
+ /**
45
+ * Additional CSS classes applied to the separator line (or wrapper
46
+ * when a label is present).
47
+ */
48
+ className?: string;
49
+ }
50
+ /**
51
+ * Separator — a visual divider between content sections.
52
+ *
53
+ * Built on Radix UI's Separator primitive with design system tokens for
54
+ * consistent styling. Supports horizontal and vertical orientations,
55
+ * optional labels, and multiple visual variants.
56
+ *
57
+ * Accessibility:
58
+ * - `decorative={true}` (default) → `role="none"`, hidden from AT
59
+ * - `decorative={false}` → `role="separator"` + `aria-orientation`
60
+ * - Label text is visible but does not affect semantics when decorative
61
+ *
62
+ * @example
63
+ * ```tsx
64
+ * // Basic horizontal separator
65
+ * <Separator />
66
+ *
67
+ * // With custom spacing
68
+ * <Separator spacing={6} />
69
+ *
70
+ * // Vertical separator (e.g., in a toolbar)
71
+ * <Separator orientation="vertical" />
72
+ *
73
+ * // With a label
74
+ * <Separator label="OR" />
75
+ * <Separator label={<span className="text-muted-foreground">Section</span>} />
76
+ *
77
+ * // Muted variant
78
+ * <Separator variant="muted" />
79
+ *
80
+ * // Dashed variant
81
+ * <Separator variant="dashed" />
82
+ *
83
+ * // Gradient variant
84
+ * <Separator variant="gradient" />
85
+ *
86
+ * // Semantic (non-decorative) separator
87
+ * <Separator decorative={false} />
88
+ * ```
89
+ */
90
+ declare const Separator: react.ForwardRefExoticComponent<SeparatorProps & react.RefAttributes<HTMLDivElement>>;
91
+
92
+ export { Separator, type SeparatorOrientation, type SeparatorProps, type SeparatorSpacing, type SeparatorVariant, separatorVariants };
@@ -0,0 +1,92 @@
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 { VariantProps } from 'class-variance-authority';
5
+ import { Separator as Separator$1 } from 'radix-ui';
6
+
7
+ declare const separatorVariants: (props?: ({
8
+ variant?: "default" | "dashed" | "muted" | "gradient" | null | undefined;
9
+ orientation?: "horizontal" | "vertical" | null | undefined;
10
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
11
+ type SeparatorVariant = NonNullable<VariantProps<typeof separatorVariants>["variant"]>;
12
+ type SeparatorOrientation = "horizontal" | "vertical";
13
+ type SeparatorSpacing = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
14
+ interface SeparatorProps extends ComponentPropsWithoutRef<typeof Separator$1.Root> {
15
+ /**
16
+ * Visual variant of the separator.
17
+ * @default "default"
18
+ */
19
+ variant?: SeparatorVariant;
20
+ /**
21
+ * Orientation of the separator.
22
+ * @default "horizontal"
23
+ */
24
+ orientation?: SeparatorOrientation;
25
+ /**
26
+ * Whether the separator is purely decorative. When `true`, it is hidden
27
+ * from the accessibility tree. When `false`, it renders as a semantic
28
+ * separator with `role="separator"`.
29
+ * @default true
30
+ */
31
+ decorative?: boolean;
32
+ /**
33
+ * Vertical margin (horizontal orientation) or horizontal margin
34
+ * (vertical orientation), using Tailwind spacing scale.
35
+ * @default 4
36
+ */
37
+ spacing?: SeparatorSpacing;
38
+ /**
39
+ * Optional label to render centered on the separator.
40
+ * Creates a "divider with text" pattern (e.g., "OR", "Continue", etc.).
41
+ * Only supported for horizontal orientation.
42
+ */
43
+ label?: ReactNode;
44
+ /**
45
+ * Additional CSS classes applied to the separator line (or wrapper
46
+ * when a label is present).
47
+ */
48
+ className?: string;
49
+ }
50
+ /**
51
+ * Separator — a visual divider between content sections.
52
+ *
53
+ * Built on Radix UI's Separator primitive with design system tokens for
54
+ * consistent styling. Supports horizontal and vertical orientations,
55
+ * optional labels, and multiple visual variants.
56
+ *
57
+ * Accessibility:
58
+ * - `decorative={true}` (default) → `role="none"`, hidden from AT
59
+ * - `decorative={false}` → `role="separator"` + `aria-orientation`
60
+ * - Label text is visible but does not affect semantics when decorative
61
+ *
62
+ * @example
63
+ * ```tsx
64
+ * // Basic horizontal separator
65
+ * <Separator />
66
+ *
67
+ * // With custom spacing
68
+ * <Separator spacing={6} />
69
+ *
70
+ * // Vertical separator (e.g., in a toolbar)
71
+ * <Separator orientation="vertical" />
72
+ *
73
+ * // With a label
74
+ * <Separator label="OR" />
75
+ * <Separator label={<span className="text-muted-foreground">Section</span>} />
76
+ *
77
+ * // Muted variant
78
+ * <Separator variant="muted" />
79
+ *
80
+ * // Dashed variant
81
+ * <Separator variant="dashed" />
82
+ *
83
+ * // Gradient variant
84
+ * <Separator variant="gradient" />
85
+ *
86
+ * // Semantic (non-decorative) separator
87
+ * <Separator decorative={false} />
88
+ * ```
89
+ */
90
+ declare const Separator: react.ForwardRefExoticComponent<SeparatorProps & react.RefAttributes<HTMLDivElement>>;
91
+
92
+ export { Separator, type SeparatorOrientation, type SeparatorProps, type SeparatorSpacing, type SeparatorVariant, separatorVariants };