@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,180 @@
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 stat_exports = {};
21
+ __export(stat_exports, {
22
+ Stat: () => Stat,
23
+ statVariants: () => statVariants
24
+ });
25
+ module.exports = __toCommonJS(stat_exports);
26
+ var import_jsx_runtime = require("react/jsx-runtime");
27
+ var import_motion = require("../motion/index.cjs");
28
+ var import_cn = require("../utils/cn.cjs");
29
+ var import_class_variance_authority = require("class-variance-authority");
30
+ var import_framer_motion = require("framer-motion");
31
+ var import_react = require("react");
32
+ const statVariants = (0, import_class_variance_authority.cva)([
33
+ "rounded-lg border border-border bg-card p-4 flex flex-col gap-2"
34
+ ]);
35
+ function TrendUpIcon({ className }) {
36
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
37
+ "svg",
38
+ {
39
+ className,
40
+ xmlns: "http://www.w3.org/2000/svg",
41
+ viewBox: "0 0 24 24",
42
+ fill: "none",
43
+ stroke: "currentColor",
44
+ strokeWidth: "2",
45
+ strokeLinecap: "round",
46
+ strokeLinejoin: "round",
47
+ "aria-hidden": "true",
48
+ children: [
49
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m22 7-8.5 8.5-5-5L2 17" }),
50
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M16 7h6v6" })
51
+ ]
52
+ }
53
+ );
54
+ }
55
+ function TrendDownIcon({ className }) {
56
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
57
+ "svg",
58
+ {
59
+ className,
60
+ xmlns: "http://www.w3.org/2000/svg",
61
+ viewBox: "0 0 24 24",
62
+ fill: "none",
63
+ stroke: "currentColor",
64
+ strokeWidth: "2",
65
+ strokeLinecap: "round",
66
+ strokeLinejoin: "round",
67
+ "aria-hidden": "true",
68
+ children: [
69
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m22 17-8.5-8.5-5 5L2 7" }),
70
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M16 17h6v-6" })
71
+ ]
72
+ }
73
+ );
74
+ }
75
+ function AnimatedNumber({
76
+ value,
77
+ prefix,
78
+ suffix
79
+ }) {
80
+ const shouldReduce = (0, import_framer_motion.useReducedMotion)();
81
+ const motionVal = (0, import_framer_motion.useMotionValue)(0);
82
+ (0, import_react.useEffect)(() => {
83
+ if (shouldReduce) {
84
+ motionVal.set(value);
85
+ return;
86
+ }
87
+ const controls = (0, import_framer_motion.animate)(motionVal, value, {
88
+ duration: 1,
89
+ ease: [0.4, 0, 0.2, 1]
90
+ });
91
+ return controls.stop;
92
+ }, [value, motionVal, shouldReduce]);
93
+ const rounded = (0, import_framer_motion.useTransform)(
94
+ motionVal,
95
+ (v) => `${prefix ?? ""}${Math.round(v).toLocaleString()}${suffix ?? ""}`
96
+ );
97
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_framer_motion.motion.span, { "data-ds-animated": "", children: rounded });
98
+ }
99
+ const Stat = (0, import_react.forwardRef)(function Stat2({
100
+ label,
101
+ value,
102
+ previousValue,
103
+ trend,
104
+ trendLabel,
105
+ sparkline,
106
+ prefix,
107
+ suffix,
108
+ animated = true,
109
+ className,
110
+ ...rest
111
+ }, ref) {
112
+ const shouldReduce = (0, import_framer_motion.useReducedMotion)();
113
+ const isNumeric = typeof value === "number";
114
+ const trendColor = trend === "up" ? "text-success" : trend === "down" ? "text-danger" : "text-muted-foreground";
115
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
116
+ "div",
117
+ {
118
+ ref,
119
+ className: (0, import_cn.cn)(statVariants(), className),
120
+ "data-ds": "",
121
+ "data-ds-component": "stat",
122
+ "data-ds-trend": trend,
123
+ ...rest,
124
+ children: [
125
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
126
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-sm font-medium text-muted-foreground leading-none", children: label }),
127
+ sparkline && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-8 flex items-center", children: sparkline })
128
+ ] }),
129
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
130
+ import_framer_motion.motion.div,
131
+ {
132
+ className: "text-2xl font-bold text-foreground leading-none tabular-nums",
133
+ variants: animated && !shouldReduce ? import_motion.countUp.variants : void 0,
134
+ initial: animated && !shouldReduce ? "initial" : void 0,
135
+ animate: animated && !shouldReduce ? "animate" : void 0,
136
+ transition: animated && !shouldReduce ? import_motion.countUp.transition : void 0,
137
+ "data-ds-animated": animated ? "" : void 0,
138
+ children: isNumeric && animated ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
139
+ AnimatedNumber,
140
+ {
141
+ value,
142
+ prefix,
143
+ suffix
144
+ }
145
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
146
+ prefix,
147
+ String(value),
148
+ suffix
149
+ ] })
150
+ }
151
+ ),
152
+ (trend || trendLabel) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
153
+ import_framer_motion.motion.div,
154
+ {
155
+ className: (0, import_cn.cn)(
156
+ "flex items-center gap-1 text-xs font-medium",
157
+ trendColor
158
+ ),
159
+ variants: animated && !shouldReduce ? import_motion.slideUpSm.variants : void 0,
160
+ initial: animated && !shouldReduce ? "initial" : void 0,
161
+ animate: animated && !shouldReduce ? "animate" : void 0,
162
+ transition: animated && !shouldReduce ? { ...import_motion.slideUpSm.transition, delay: 0.3 } : void 0,
163
+ "data-ds-animated": animated ? "" : void 0,
164
+ children: [
165
+ trend === "up" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TrendUpIcon, { className: "size-3.5" }),
166
+ trend === "down" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TrendDownIcon, { className: "size-3.5" }),
167
+ trendLabel && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: trendLabel })
168
+ ]
169
+ }
170
+ )
171
+ ]
172
+ }
173
+ );
174
+ });
175
+ Stat.displayName = "Stat";
176
+ // Annotate the CommonJS export names for ESM import in node:
177
+ 0 && (module.exports = {
178
+ Stat,
179
+ statVariants
180
+ });
@@ -0,0 +1,21 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+
5
+ declare const statVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
6
+ type StatTrend = "up" | "down" | "neutral";
7
+ interface StatProps {
8
+ label: ReactNode;
9
+ value: string | number;
10
+ previousValue?: number;
11
+ trend?: StatTrend;
12
+ trendLabel?: ReactNode;
13
+ sparkline?: ReactNode;
14
+ prefix?: string;
15
+ suffix?: string;
16
+ animated?: boolean;
17
+ className?: string;
18
+ }
19
+ declare const Stat: react.ForwardRefExoticComponent<StatProps & react.RefAttributes<HTMLDivElement>>;
20
+
21
+ export { Stat, type StatProps, type StatTrend, statVariants };
@@ -0,0 +1,21 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+
5
+ declare const statVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
6
+ type StatTrend = "up" | "down" | "neutral";
7
+ interface StatProps {
8
+ label: ReactNode;
9
+ value: string | number;
10
+ previousValue?: number;
11
+ trend?: StatTrend;
12
+ trendLabel?: ReactNode;
13
+ sparkline?: ReactNode;
14
+ prefix?: string;
15
+ suffix?: string;
16
+ animated?: boolean;
17
+ className?: string;
18
+ }
19
+ declare const Stat: react.ForwardRefExoticComponent<StatProps & react.RefAttributes<HTMLDivElement>>;
20
+
21
+ export { Stat, type StatProps, type StatTrend, statVariants };
@@ -0,0 +1,161 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { countUp, slideUpSm } from "../motion/index.mjs";
4
+ import { cn } from "../utils/cn.mjs";
5
+ import { cva } from "class-variance-authority";
6
+ import {
7
+ animate,
8
+ motion,
9
+ useMotionValue,
10
+ useReducedMotion,
11
+ useTransform
12
+ } from "framer-motion";
13
+ import { forwardRef, useEffect } from "react";
14
+ const statVariants = cva([
15
+ "rounded-lg border border-border bg-card p-4 flex flex-col gap-2"
16
+ ]);
17
+ function TrendUpIcon({ className }) {
18
+ return /* @__PURE__ */ jsxs(
19
+ "svg",
20
+ {
21
+ className,
22
+ xmlns: "http://www.w3.org/2000/svg",
23
+ viewBox: "0 0 24 24",
24
+ fill: "none",
25
+ stroke: "currentColor",
26
+ strokeWidth: "2",
27
+ strokeLinecap: "round",
28
+ strokeLinejoin: "round",
29
+ "aria-hidden": "true",
30
+ children: [
31
+ /* @__PURE__ */ jsx("path", { d: "m22 7-8.5 8.5-5-5L2 17" }),
32
+ /* @__PURE__ */ jsx("path", { d: "M16 7h6v6" })
33
+ ]
34
+ }
35
+ );
36
+ }
37
+ function TrendDownIcon({ className }) {
38
+ return /* @__PURE__ */ jsxs(
39
+ "svg",
40
+ {
41
+ className,
42
+ xmlns: "http://www.w3.org/2000/svg",
43
+ viewBox: "0 0 24 24",
44
+ fill: "none",
45
+ stroke: "currentColor",
46
+ strokeWidth: "2",
47
+ strokeLinecap: "round",
48
+ strokeLinejoin: "round",
49
+ "aria-hidden": "true",
50
+ children: [
51
+ /* @__PURE__ */ jsx("path", { d: "m22 17-8.5-8.5-5 5L2 7" }),
52
+ /* @__PURE__ */ jsx("path", { d: "M16 17h6v-6" })
53
+ ]
54
+ }
55
+ );
56
+ }
57
+ function AnimatedNumber({
58
+ value,
59
+ prefix,
60
+ suffix
61
+ }) {
62
+ const shouldReduce = useReducedMotion();
63
+ const motionVal = useMotionValue(0);
64
+ useEffect(() => {
65
+ if (shouldReduce) {
66
+ motionVal.set(value);
67
+ return;
68
+ }
69
+ const controls = animate(motionVal, value, {
70
+ duration: 1,
71
+ ease: [0.4, 0, 0.2, 1]
72
+ });
73
+ return controls.stop;
74
+ }, [value, motionVal, shouldReduce]);
75
+ const rounded = useTransform(
76
+ motionVal,
77
+ (v) => `${prefix ?? ""}${Math.round(v).toLocaleString()}${suffix ?? ""}`
78
+ );
79
+ return /* @__PURE__ */ jsx(motion.span, { "data-ds-animated": "", children: rounded });
80
+ }
81
+ const Stat = forwardRef(function Stat2({
82
+ label,
83
+ value,
84
+ previousValue,
85
+ trend,
86
+ trendLabel,
87
+ sparkline,
88
+ prefix,
89
+ suffix,
90
+ animated = true,
91
+ className,
92
+ ...rest
93
+ }, ref) {
94
+ const shouldReduce = useReducedMotion();
95
+ const isNumeric = typeof value === "number";
96
+ const trendColor = trend === "up" ? "text-success" : trend === "down" ? "text-danger" : "text-muted-foreground";
97
+ return /* @__PURE__ */ jsxs(
98
+ "div",
99
+ {
100
+ ref,
101
+ className: cn(statVariants(), className),
102
+ "data-ds": "",
103
+ "data-ds-component": "stat",
104
+ "data-ds-trend": trend,
105
+ ...rest,
106
+ children: [
107
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
108
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-muted-foreground leading-none", children: label }),
109
+ sparkline && /* @__PURE__ */ jsx("div", { className: "h-8 flex items-center", children: sparkline })
110
+ ] }),
111
+ /* @__PURE__ */ jsx(
112
+ motion.div,
113
+ {
114
+ className: "text-2xl font-bold text-foreground leading-none tabular-nums",
115
+ variants: animated && !shouldReduce ? countUp.variants : void 0,
116
+ initial: animated && !shouldReduce ? "initial" : void 0,
117
+ animate: animated && !shouldReduce ? "animate" : void 0,
118
+ transition: animated && !shouldReduce ? countUp.transition : void 0,
119
+ "data-ds-animated": animated ? "" : void 0,
120
+ children: isNumeric && animated ? /* @__PURE__ */ jsx(
121
+ AnimatedNumber,
122
+ {
123
+ value,
124
+ prefix,
125
+ suffix
126
+ }
127
+ ) : /* @__PURE__ */ jsxs("span", { children: [
128
+ prefix,
129
+ String(value),
130
+ suffix
131
+ ] })
132
+ }
133
+ ),
134
+ (trend || trendLabel) && /* @__PURE__ */ jsxs(
135
+ motion.div,
136
+ {
137
+ className: cn(
138
+ "flex items-center gap-1 text-xs font-medium",
139
+ trendColor
140
+ ),
141
+ variants: animated && !shouldReduce ? slideUpSm.variants : void 0,
142
+ initial: animated && !shouldReduce ? "initial" : void 0,
143
+ animate: animated && !shouldReduce ? "animate" : void 0,
144
+ transition: animated && !shouldReduce ? { ...slideUpSm.transition, delay: 0.3 } : void 0,
145
+ "data-ds-animated": animated ? "" : void 0,
146
+ children: [
147
+ trend === "up" && /* @__PURE__ */ jsx(TrendUpIcon, { className: "size-3.5" }),
148
+ trend === "down" && /* @__PURE__ */ jsx(TrendDownIcon, { className: "size-3.5" }),
149
+ trendLabel && /* @__PURE__ */ jsx("span", { children: trendLabel })
150
+ ]
151
+ }
152
+ )
153
+ ]
154
+ }
155
+ );
156
+ });
157
+ Stat.displayName = "Stat";
158
+ export {
159
+ Stat,
160
+ statVariants
161
+ };
@@ -0,0 +1,228 @@
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 steps_exports = {};
21
+ __export(steps_exports, {
22
+ Step: () => Step,
23
+ Steps: () => Steps
24
+ });
25
+ module.exports = __toCommonJS(steps_exports);
26
+ var import_jsx_runtime = require("react/jsx-runtime");
27
+ var import_cn = require("../utils/cn.cjs");
28
+ var import_react = require("react");
29
+ const StepsContext = (0, import_react.createContext)({
30
+ currentStep: 0,
31
+ orientation: "horizontal",
32
+ variant: "default",
33
+ totalSteps: 0
34
+ });
35
+ const StepIndexContext = (0, import_react.createContext)(0);
36
+ function CheckIcon({ className }) {
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
38
+ "svg",
39
+ {
40
+ xmlns: "http://www.w3.org/2000/svg",
41
+ width: "14",
42
+ height: "14",
43
+ viewBox: "0 0 24 24",
44
+ fill: "none",
45
+ stroke: "currentColor",
46
+ strokeWidth: "2.5",
47
+ strokeLinecap: "round",
48
+ strokeLinejoin: "round",
49
+ className,
50
+ "aria-hidden": "true",
51
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("polyline", { points: "20 6 9 17 4 12" })
52
+ }
53
+ );
54
+ }
55
+ const Steps = (0, import_react.forwardRef)(function Steps2({
56
+ currentStep,
57
+ orientation = "horizontal",
58
+ variant = "default",
59
+ onStepClick,
60
+ className,
61
+ children,
62
+ ...rest
63
+ }, ref) {
64
+ const childArray = Array.isArray(children) ? children : children ? [children] : [];
65
+ const totalSteps = childArray.length;
66
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
67
+ StepsContext.Provider,
68
+ {
69
+ value: { currentStep, orientation, variant, totalSteps, onStepClick },
70
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
71
+ "ol",
72
+ {
73
+ ref,
74
+ "aria-label": "Steps",
75
+ className: (0, import_cn.cn)(
76
+ "flex",
77
+ orientation === "horizontal" ? "flex-row items-start gap-0" : "flex-col gap-0",
78
+ className
79
+ ),
80
+ "data-ds": "",
81
+ "data-ds-component": "steps",
82
+ "data-ds-orientation": orientation,
83
+ ...rest,
84
+ children: childArray.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StepIndexContext.Provider, { value: index, children: child }, index))
85
+ }
86
+ )
87
+ }
88
+ );
89
+ });
90
+ Steps.displayName = "Steps";
91
+ const Step = (0, import_react.forwardRef)(function Step2({ icon, title, description, className, children, ...rest }, ref) {
92
+ const { currentStep, orientation, variant, totalSteps, onStepClick } = (0, import_react.useContext)(StepsContext);
93
+ const index = (0, import_react.useContext)(StepIndexContext);
94
+ const status = index < currentStep ? "complete" : index === currentStep ? "active" : "upcoming";
95
+ const isLast = index === totalSteps - 1;
96
+ const isClickable = !!onStepClick;
97
+ const indicatorContent = variant === "dots" ? null : status === "complete" && variant !== "outline" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CheckIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: index + 1 });
98
+ const indicator = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
99
+ "div",
100
+ {
101
+ className: (0, import_cn.cn)(
102
+ "flex shrink-0 items-center justify-center",
103
+ "font-medium text-xs leading-none",
104
+ "transition-colors duration-fast ease-standard",
105
+ // Dot variant
106
+ variant === "dots" ? (0, import_cn.cn)(
107
+ "size-2 rounded-full",
108
+ status === "complete" && "bg-primary",
109
+ status === "active" && "bg-primary",
110
+ status === "upcoming" && "bg-border"
111
+ ) : (0, import_cn.cn)(
112
+ // Default & outline
113
+ "size-7 rounded-full border-2",
114
+ variant === "default" ? (0, import_cn.cn)(
115
+ status === "complete" && "border-primary bg-primary text-primary-foreground",
116
+ status === "active" && "border-primary bg-background text-primary",
117
+ status === "upcoming" && "border-muted bg-background text-muted-foreground"
118
+ ) : (0, import_cn.cn)(
119
+ // outline variant
120
+ status === "complete" && "border-primary bg-primary/10 text-primary",
121
+ status === "active" && "border-primary bg-background text-primary",
122
+ status === "upcoming" && "border-muted bg-background text-muted-foreground"
123
+ )
124
+ )
125
+ ),
126
+ "aria-hidden": variant === "dots",
127
+ children: indicatorContent
128
+ }
129
+ );
130
+ const labelContent = (title || description) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
131
+ "div",
132
+ {
133
+ className: (0, import_cn.cn)(
134
+ orientation === "horizontal" ? "mt-2 text-center" : "ml-3 text-left"
135
+ ),
136
+ children: [
137
+ title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
138
+ "p",
139
+ {
140
+ className: (0, import_cn.cn)(
141
+ "text-sm font-medium leading-5",
142
+ status === "active" && "text-foreground",
143
+ status === "complete" && "text-foreground",
144
+ status === "upcoming" && "text-muted-foreground"
145
+ ),
146
+ children: title
147
+ }
148
+ ),
149
+ description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-xs leading-4 text-muted-foreground mt-0.5", children: description })
150
+ ]
151
+ }
152
+ );
153
+ const connector = !isLast && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
154
+ "div",
155
+ {
156
+ "aria-hidden": "true",
157
+ className: (0, import_cn.cn)(
158
+ "flex-1 transition-colors duration-fast ease-standard",
159
+ orientation === "horizontal" ? "mx-2 mt-3.5 h-px" : "ml-3.5 my-1 w-px self-stretch",
160
+ index < currentStep ? "bg-primary" : "bg-border"
161
+ )
162
+ }
163
+ );
164
+ const stepContent = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: orientation === "horizontal" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col items-center", children: [
165
+ indicator,
166
+ labelContent
167
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-start", children: [
168
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col items-center", children: [
169
+ indicator,
170
+ !isLast && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
171
+ "div",
172
+ {
173
+ "aria-hidden": "true",
174
+ className: (0, import_cn.cn)(
175
+ "mt-1 w-px flex-1 self-stretch transition-colors duration-fast ease-standard",
176
+ "min-h-[24px]",
177
+ index < currentStep ? "bg-primary" : "bg-border"
178
+ )
179
+ }
180
+ )
181
+ ] }),
182
+ labelContent
183
+ ] }) });
184
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
185
+ "li",
186
+ {
187
+ ref,
188
+ "aria-current": status === "active" ? "step" : void 0,
189
+ "data-ds": "",
190
+ "data-ds-component": "step",
191
+ "data-ds-status": status,
192
+ className: (0, import_cn.cn)(
193
+ orientation === "horizontal" ? "flex flex-1 items-start" : "flex flex-col",
194
+ className
195
+ ),
196
+ ...rest,
197
+ children: orientation === "horizontal" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
198
+ isClickable ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
199
+ "button",
200
+ {
201
+ type: "button",
202
+ onClick: () => onStepClick(index),
203
+ className: (0, import_cn.cn)(
204
+ "flex flex-1 flex-col items-center",
205
+ isClickable && "cursor-pointer",
206
+ status === "upcoming" && !isClickable && "cursor-default"
207
+ ),
208
+ "aria-label": title ? `Go to step: ${title}` : `Go to step ${index + 1}`,
209
+ children: [
210
+ indicator,
211
+ labelContent
212
+ ]
213
+ }
214
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-1 flex-col items-center", children: [
215
+ indicator,
216
+ labelContent
217
+ ] }),
218
+ connector
219
+ ] }) : stepContent
220
+ }
221
+ );
222
+ });
223
+ Step.displayName = "Step";
224
+ // Annotate the CommonJS export names for ESM import in node:
225
+ 0 && (module.exports = {
226
+ Step,
227
+ Steps
228
+ });
@@ -0,0 +1,76 @@
1
+ import * as react from 'react';
2
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
3
+
4
+ type StepsOrientation = "horizontal" | "vertical";
5
+ type StepsVariant = "default" | "outline" | "dots";
6
+ type StepStatus = "complete" | "active" | "upcoming";
7
+ interface StepsProps extends ComponentPropsWithoutRef<"ol"> {
8
+ /** The index of the currently active step (0-based). */
9
+ currentStep: number;
10
+ /** Orientation of the steps. @default "horizontal" */
11
+ orientation?: StepsOrientation;
12
+ /** Visual variant. @default "default" */
13
+ variant?: StepsVariant;
14
+ /** Total number of steps — derived from children if not provided. */
15
+ count?: number;
16
+ /** Callback when a step is clicked (for clickable wizards). */
17
+ onStepClick?: (index: number) => void;
18
+ className?: string;
19
+ children: ReactNode;
20
+ }
21
+ interface StepProps extends ComponentPropsWithoutRef<"li"> {
22
+ /** Optional custom icon to override the default number/check. */
23
+ icon?: ReactNode;
24
+ /** Optional title for the step. */
25
+ title?: string;
26
+ /** Optional description beneath the title. */
27
+ description?: string;
28
+ className?: string;
29
+ children?: ReactNode;
30
+ }
31
+ /**
32
+ * Steps — a wizard progress indicator.
33
+ *
34
+ * Wrap `Step` components as children. The `currentStep` prop (0-based index)
35
+ * drives the visual state of each step (complete, active, upcoming).
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * <Steps currentStep={1}>
40
+ * <Step title="Account" description="Create your account" />
41
+ * <Step title="Profile" description="Fill in your details" />
42
+ * <Step title="Confirm" description="Review and submit" />
43
+ * </Steps>
44
+ *
45
+ * // Vertical orientation
46
+ * <Steps currentStep={0} orientation="vertical">
47
+ * <Step title="Step 1" description="First step" />
48
+ * <Step title="Step 2" description="Second step" />
49
+ * </Steps>
50
+ *
51
+ * // Clickable steps
52
+ * <Steps currentStep={activeStep} onStepClick={setActiveStep}>
53
+ * <Step title="Step 1" />
54
+ * <Step title="Step 2" />
55
+ * <Step title="Step 3" />
56
+ * </Steps>
57
+ * ```
58
+ */
59
+ declare const Steps: react.ForwardRefExoticComponent<StepsProps & react.RefAttributes<HTMLOListElement>>;
60
+ /**
61
+ * Step — a single step in the Steps wizard.
62
+ *
63
+ * Must be a direct child of `Steps`. Automatically derives its visual state
64
+ * (complete, active, upcoming) from the parent `currentStep` prop.
65
+ *
66
+ * @example
67
+ * ```tsx
68
+ * <Step title="Account" description="Set up your account" />
69
+ *
70
+ * // With a custom icon
71
+ * <Step title="Upload" icon={<Upload className="size-4" />} />
72
+ * ```
73
+ */
74
+ declare const Step: react.ForwardRefExoticComponent<StepProps & react.RefAttributes<HTMLLIElement>>;
75
+
76
+ export { Step, type StepProps, type StepStatus, Steps, type StepsOrientation, type StepsProps, type StepsVariant };