@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,296 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { cn, composeRefs } from "../utils/cn.mjs";
4
+ import {
5
+ focusRingClasses,
6
+ focusRingInsetClasses
7
+ } from "../utils/focus-ring.mjs";
8
+ import { cva } from "class-variance-authority";
9
+ import { forwardRef, useCallback, useRef } from "react";
10
+ const inputVariants = cva(
11
+ // Base styles — shared across all variants and sizes
12
+ [
13
+ // Layout
14
+ "flex w-full",
15
+ // Typography
16
+ "text-sm leading-5",
17
+ // Shape
18
+ "rounded-md",
19
+ // Border
20
+ "border",
21
+ // Colors
22
+ "bg-background text-input-foreground",
23
+ "placeholder:text-input-placeholder",
24
+ // Transition
25
+ "transition-[color,background-color,border-color,box-shadow,opacity]",
26
+ "duration-fast ease-standard",
27
+ // Focus ring — WCAG AA compliant, visible on keyboard navigation only
28
+ focusRingClasses,
29
+ // Disabled
30
+ "disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-disabled disabled:text-disabled-foreground",
31
+ // Read-only
32
+ "read-only:bg-muted read-only:cursor-default",
33
+ // File input styling
34
+ "file:border-0 file:bg-transparent file:text-sm file:font-medium"
35
+ ],
36
+ {
37
+ variants: {
38
+ // -----------------------------------------------------------------
39
+ // Visual Variants
40
+ // -----------------------------------------------------------------
41
+ variant: {
42
+ /**
43
+ * Default — standard input with muted border.
44
+ */
45
+ default: [
46
+ "border-input",
47
+ "hover:border-border-strong",
48
+ "focus-visible:border-border-strong"
49
+ ],
50
+ /**
51
+ * Error — validation failed. Uses danger color.
52
+ */
53
+ error: [
54
+ "border-danger",
55
+ "text-foreground",
56
+ "focus-visible:border-danger",
57
+ "placeholder:text-input-placeholder"
58
+ ],
59
+ /**
60
+ * Success — validation passed. Uses success color.
61
+ */
62
+ success: [
63
+ "border-success",
64
+ "text-foreground",
65
+ "focus-visible:border-success",
66
+ "placeholder:text-input-placeholder"
67
+ ]
68
+ },
69
+ // -----------------------------------------------------------------
70
+ // Size Variants
71
+ // -----------------------------------------------------------------
72
+ size: {
73
+ /**
74
+ * Small — compact for dense UIs, tables, toolbars.
75
+ * Height: 32px (h-8)
76
+ */
77
+ sm: "h-8 px-2.5 text-xs",
78
+ /**
79
+ * Medium — default size for most inputs.
80
+ * Height: var(--ds-control-height)
81
+ */
82
+ md: "h-(--ds-control-height) px-3 text-sm",
83
+ /**
84
+ * Large — prominent inputs for hero sections, forms.
85
+ * Height: 40px (h-10)
86
+ */
87
+ lg: "h-10 px-3.5 text-sm"
88
+ }
89
+ },
90
+ defaultVariants: {
91
+ variant: "default",
92
+ size: "md"
93
+ }
94
+ }
95
+ );
96
+ const inputWrapperVariants = cva(["relative flex items-center w-full"], {
97
+ variants: {
98
+ size: {
99
+ sm: "",
100
+ md: "",
101
+ lg: ""
102
+ }
103
+ },
104
+ defaultVariants: {
105
+ size: "md"
106
+ }
107
+ });
108
+ const iconSizeMap = {
109
+ sm: "[&>svg]:size-3.5",
110
+ md: "[&>svg]:size-4",
111
+ lg: "[&>svg]:size-4"
112
+ };
113
+ const iconPaddingLeftMap = {
114
+ sm: "pl-7",
115
+ md: "pl-9",
116
+ lg: "pl-10"
117
+ };
118
+ const iconPaddingRightMap = {
119
+ sm: "pr-7",
120
+ md: "pr-9",
121
+ lg: "pr-10"
122
+ };
123
+ const iconLeftPositionMap = {
124
+ sm: "left-2",
125
+ md: "left-3",
126
+ lg: "left-3.5"
127
+ };
128
+ const iconRightPositionMap = {
129
+ sm: "right-2",
130
+ md: "right-3",
131
+ lg: "right-3.5"
132
+ };
133
+ function ClearButton({
134
+ size,
135
+ onClick
136
+ }) {
137
+ return /* @__PURE__ */ jsx(
138
+ "button",
139
+ {
140
+ type: "button",
141
+ onClick,
142
+ className: cn(
143
+ "absolute flex items-center justify-center",
144
+ "text-muted-foreground hover:text-foreground",
145
+ "transition-colors duration-fast",
146
+ focusRingInsetClasses,
147
+ "rounded-sm",
148
+ iconRightPositionMap[size],
149
+ iconSizeMap[size]
150
+ ),
151
+ "aria-label": "Clear input",
152
+ tabIndex: -1,
153
+ children: /* @__PURE__ */ jsxs(
154
+ "svg",
155
+ {
156
+ xmlns: "http://www.w3.org/2000/svg",
157
+ viewBox: "0 0 24 24",
158
+ fill: "none",
159
+ stroke: "currentColor",
160
+ strokeWidth: "2",
161
+ strokeLinecap: "round",
162
+ strokeLinejoin: "round",
163
+ className: size === "sm" ? "size-3.5" : "size-4",
164
+ "aria-hidden": "true",
165
+ children: [
166
+ /* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
167
+ /* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })
168
+ ]
169
+ }
170
+ )
171
+ }
172
+ );
173
+ }
174
+ const Input = forwardRef(function Input2({
175
+ variant = "default",
176
+ size = "md",
177
+ iconLeft,
178
+ iconRight,
179
+ clearable = false,
180
+ onClear,
181
+ wrapperClassName,
182
+ className,
183
+ disabled,
184
+ readOnly,
185
+ value,
186
+ defaultValue,
187
+ "aria-invalid": ariaInvalid,
188
+ ...rest
189
+ }, ref) {
190
+ const internalRef = useRef(null);
191
+ const hasIcons = !!iconLeft || !!iconRight || clearable;
192
+ const showClear = clearable && !disabled && !readOnly && (value !== void 0 ? String(value).length > 0 : false);
193
+ const handleClear = useCallback(() => {
194
+ if (onClear) {
195
+ onClear();
196
+ } else if (internalRef.current) {
197
+ const nativeInputValueSetter = Object.getOwnPropertyDescriptor(
198
+ window.HTMLInputElement.prototype,
199
+ "value"
200
+ )?.set;
201
+ if (nativeInputValueSetter) {
202
+ nativeInputValueSetter.call(internalRef.current, "");
203
+ internalRef.current.dispatchEvent(
204
+ new Event("input", { bubbles: true })
205
+ );
206
+ }
207
+ }
208
+ internalRef.current?.focus();
209
+ }, [onClear]);
210
+ const resolvedAriaInvalid = ariaInvalid !== void 0 ? ariaInvalid : variant === "error" ? true : void 0;
211
+ const inputClasses = cn(
212
+ inputVariants({ variant, size }),
213
+ iconLeft && iconPaddingLeftMap[size],
214
+ (iconRight || showClear) && iconPaddingRightMap[size],
215
+ className
216
+ );
217
+ if (!hasIcons) {
218
+ return /* @__PURE__ */ jsx(
219
+ "input",
220
+ {
221
+ ref: composeRefs(internalRef, ref),
222
+ disabled,
223
+ readOnly,
224
+ value,
225
+ defaultValue,
226
+ "aria-invalid": resolvedAriaInvalid,
227
+ "aria-disabled": disabled || void 0,
228
+ className: inputClasses,
229
+ "data-ds": "",
230
+ "data-ds-component": "input",
231
+ "data-ds-variant": variant,
232
+ "data-ds-size": size,
233
+ ...rest
234
+ }
235
+ );
236
+ }
237
+ return /* @__PURE__ */ jsxs(
238
+ "div",
239
+ {
240
+ className: cn(inputWrapperVariants({ size }), wrapperClassName),
241
+ "data-ds": "",
242
+ "data-ds-component": "input-wrapper",
243
+ children: [
244
+ iconLeft && /* @__PURE__ */ jsx(
245
+ "span",
246
+ {
247
+ className: cn(
248
+ "pointer-events-none absolute flex items-center justify-center",
249
+ "text-muted-foreground",
250
+ iconLeftPositionMap[size],
251
+ iconSizeMap[size]
252
+ ),
253
+ "aria-hidden": "true",
254
+ children: iconLeft
255
+ }
256
+ ),
257
+ /* @__PURE__ */ jsx(
258
+ "input",
259
+ {
260
+ ref: composeRefs(internalRef, ref),
261
+ disabled,
262
+ readOnly,
263
+ value,
264
+ defaultValue,
265
+ "aria-invalid": resolvedAriaInvalid,
266
+ "aria-disabled": disabled || void 0,
267
+ className: inputClasses,
268
+ "data-ds": "",
269
+ "data-ds-component": "input",
270
+ "data-ds-variant": variant,
271
+ "data-ds-size": size,
272
+ ...rest
273
+ }
274
+ ),
275
+ showClear ? /* @__PURE__ */ jsx(ClearButton, { size, onClick: handleClear }) : iconRight && /* @__PURE__ */ jsx(
276
+ "span",
277
+ {
278
+ className: cn(
279
+ "pointer-events-none absolute flex items-center justify-center",
280
+ "text-muted-foreground",
281
+ iconRightPositionMap[size],
282
+ iconSizeMap[size]
283
+ ),
284
+ "aria-hidden": "true",
285
+ children: iconRight
286
+ }
287
+ )
288
+ ]
289
+ }
290
+ );
291
+ });
292
+ Input.displayName = "Input";
293
+ export {
294
+ Input,
295
+ inputVariants
296
+ };
@@ -0,0 +1,69 @@
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 kbd_exports = {};
21
+ __export(kbd_exports, {
22
+ Kbd: () => Kbd,
23
+ kbdVariants: () => kbdVariants
24
+ });
25
+ module.exports = __toCommonJS(kbd_exports);
26
+ var import_jsx_runtime = require("react/jsx-runtime");
27
+ var import_cn = require("../utils/cn.cjs");
28
+ var import_class_variance_authority = require("class-variance-authority");
29
+ var import_react = require("react");
30
+ const kbdVariants = (0, import_class_variance_authority.cva)(
31
+ [
32
+ "inline-flex items-center gap-0.5",
33
+ "font-mono font-medium leading-none",
34
+ "rounded border border-border",
35
+ "bg-muted text-muted-foreground",
36
+ "shadow-[0_1px_0_1px_hsl(var(--border))]",
37
+ "select-none whitespace-nowrap"
38
+ ],
39
+ {
40
+ variants: {
41
+ size: {
42
+ sm: "px-1.5 py-0.5 text-[10px]",
43
+ md: "px-2 py-1 text-xs",
44
+ lg: "px-2.5 py-1 text-sm"
45
+ }
46
+ },
47
+ defaultVariants: { size: "md" }
48
+ }
49
+ );
50
+ const Kbd = (0, import_react.forwardRef)(function Kbd2({ size = "md", className, children, ...rest }, ref) {
51
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
52
+ "kbd",
53
+ {
54
+ ref,
55
+ className: (0, import_cn.cn)(kbdVariants({ size }), className),
56
+ "data-ds": "",
57
+ "data-ds-component": "kbd",
58
+ "data-ds-size": size,
59
+ ...rest,
60
+ children
61
+ }
62
+ );
63
+ });
64
+ Kbd.displayName = "Kbd";
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ Kbd,
68
+ kbdVariants
69
+ });
@@ -0,0 +1,25 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const kbdVariants: (props?: ({
7
+ size?: "sm" | "md" | "lg" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ type KbdSize = "sm" | "md" | "lg";
10
+ interface KbdProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof kbdVariants> {
11
+ size?: KbdSize;
12
+ className?: string;
13
+ children?: ReactNode;
14
+ }
15
+ /**
16
+ * Kbd — keyboard shortcut display.
17
+ *
18
+ * @example
19
+ * <Kbd>⌘K</Kbd>
20
+ * <Kbd>Ctrl</Kbd><span>+</span><Kbd>S</Kbd>
21
+ * <Kbd size="sm">Enter</Kbd>
22
+ */
23
+ declare const Kbd: react.ForwardRefExoticComponent<KbdProps & react.RefAttributes<HTMLElement>>;
24
+
25
+ export { Kbd, type KbdProps, type KbdSize, kbdVariants };
@@ -0,0 +1,25 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const kbdVariants: (props?: ({
7
+ size?: "sm" | "md" | "lg" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ type KbdSize = "sm" | "md" | "lg";
10
+ interface KbdProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof kbdVariants> {
11
+ size?: KbdSize;
12
+ className?: string;
13
+ children?: ReactNode;
14
+ }
15
+ /**
16
+ * Kbd — keyboard shortcut display.
17
+ *
18
+ * @example
19
+ * <Kbd>⌘K</Kbd>
20
+ * <Kbd>Ctrl</Kbd><span>+</span><Kbd>S</Kbd>
21
+ * <Kbd size="sm">Enter</Kbd>
22
+ */
23
+ declare const Kbd: react.ForwardRefExoticComponent<KbdProps & react.RefAttributes<HTMLElement>>;
24
+
25
+ export { Kbd, type KbdProps, type KbdSize, kbdVariants };
@@ -0,0 +1,44 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { cn } from "../utils/cn.mjs";
4
+ import { cva } from "class-variance-authority";
5
+ import { forwardRef } from "react";
6
+ const kbdVariants = cva(
7
+ [
8
+ "inline-flex items-center gap-0.5",
9
+ "font-mono font-medium leading-none",
10
+ "rounded border border-border",
11
+ "bg-muted text-muted-foreground",
12
+ "shadow-[0_1px_0_1px_hsl(var(--border))]",
13
+ "select-none whitespace-nowrap"
14
+ ],
15
+ {
16
+ variants: {
17
+ size: {
18
+ sm: "px-1.5 py-0.5 text-[10px]",
19
+ md: "px-2 py-1 text-xs",
20
+ lg: "px-2.5 py-1 text-sm"
21
+ }
22
+ },
23
+ defaultVariants: { size: "md" }
24
+ }
25
+ );
26
+ const Kbd = forwardRef(function Kbd2({ size = "md", className, children, ...rest }, ref) {
27
+ return /* @__PURE__ */ jsx(
28
+ "kbd",
29
+ {
30
+ ref,
31
+ className: cn(kbdVariants({ size }), className),
32
+ "data-ds": "",
33
+ "data-ds-component": "kbd",
34
+ "data-ds-size": size,
35
+ ...rest,
36
+ children
37
+ }
38
+ );
39
+ });
40
+ Kbd.displayName = "Kbd";
41
+ export {
42
+ Kbd,
43
+ kbdVariants
44
+ };
@@ -0,0 +1,138 @@
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 label_exports = {};
21
+ __export(label_exports, {
22
+ Label: () => Label,
23
+ labelVariants: () => labelVariants
24
+ });
25
+ module.exports = __toCommonJS(label_exports);
26
+ var import_jsx_runtime = require("react/jsx-runtime");
27
+ var import_cn = require("../utils/cn.cjs");
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 labelVariants = (0, import_class_variance_authority.cva)(
32
+ // Base styles — shared across all sizes
33
+ [
34
+ // Typography
35
+ "font-medium leading-none text-foreground",
36
+ // Prevent text selection on double-click
37
+ "select-none",
38
+ // Peer-disabled styling (when used with peer inputs)
39
+ "peer-disabled:opacity-50 peer-disabled:cursor-not-allowed"
40
+ ],
41
+ {
42
+ variants: {
43
+ // -----------------------------------------------------------------
44
+ // Size Variants
45
+ // -----------------------------------------------------------------
46
+ size: {
47
+ /**
48
+ * Small — for compact forms and dense UIs.
49
+ * Font: 12px
50
+ */
51
+ sm: "text-xs leading-4",
52
+ /**
53
+ * Medium — default size for most labels.
54
+ * Font: 14px
55
+ */
56
+ md: "text-sm leading-5",
57
+ /**
58
+ * Large — for prominent form fields.
59
+ * Font: 14px with slightly more weight
60
+ */
61
+ lg: "text-sm leading-5 font-semibold"
62
+ }
63
+ },
64
+ defaultVariants: {
65
+ size: "md"
66
+ }
67
+ }
68
+ );
69
+ function RequiredIndicator({ className }) {
70
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: (0, import_cn.cn)("text-danger ml-0.5", className), "aria-hidden": "true", children: "*" });
71
+ }
72
+ const Label = (0, import_react.forwardRef)(function Label2({
73
+ size = "md",
74
+ required = false,
75
+ disabled = false,
76
+ description,
77
+ descriptionClassName,
78
+ wrapperClassName,
79
+ className,
80
+ children,
81
+ ...rest
82
+ }, ref) {
83
+ const descriptionSizeClass = size === "sm" ? "text-[11px] leading-4" : "text-xs leading-4";
84
+ const labelElement = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
85
+ import_radix_ui.Label.Root,
86
+ {
87
+ ref,
88
+ className: (0, import_cn.cn)(
89
+ labelVariants({ size }),
90
+ disabled && "opacity-50 cursor-not-allowed",
91
+ !disabled && "cursor-pointer",
92
+ className
93
+ ),
94
+ "data-ds": "",
95
+ "data-ds-component": "label",
96
+ "data-ds-size": size,
97
+ ...disabled ? { "data-ds-disabled": "" } : {},
98
+ ...required ? { "data-ds-required": "" } : {},
99
+ ...rest,
100
+ children: [
101
+ children,
102
+ required && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RequiredIndicator, {})
103
+ ]
104
+ }
105
+ );
106
+ if (!description) {
107
+ return labelElement;
108
+ }
109
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
110
+ "div",
111
+ {
112
+ className: (0, import_cn.cn)("flex flex-col gap-1", wrapperClassName),
113
+ "data-ds": "",
114
+ "data-ds-component": "label-group",
115
+ children: [
116
+ labelElement,
117
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
118
+ "span",
119
+ {
120
+ className: (0, import_cn.cn)(
121
+ descriptionSizeClass,
122
+ "text-muted-foreground",
123
+ disabled && "opacity-50",
124
+ descriptionClassName
125
+ ),
126
+ children: description
127
+ }
128
+ )
129
+ ]
130
+ }
131
+ );
132
+ });
133
+ Label.displayName = "Label";
134
+ // Annotate the CommonJS export names for ESM import in node:
135
+ 0 && (module.exports = {
136
+ Label,
137
+ labelVariants
138
+ });
@@ -0,0 +1,91 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import { Label as Label$1 } from 'radix-ui';
6
+
7
+ declare const labelVariants: (props?: ({
8
+ size?: "sm" | "md" | "lg" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ type LabelSize = "sm" | "md" | "lg";
11
+ interface LabelProps extends Omit<React.ComponentPropsWithoutRef<typeof Label$1.Root>, "asChild">, VariantProps<typeof labelVariants> {
12
+ /**
13
+ * Size of the label text.
14
+ * @default "md"
15
+ */
16
+ size?: LabelSize;
17
+ /**
18
+ * Whether the associated field is required.
19
+ * When true, a red asterisk (*) is displayed after the label text.
20
+ * @default false
21
+ */
22
+ required?: boolean;
23
+ /**
24
+ * Whether the associated field is disabled.
25
+ * Applies reduced opacity and not-allowed cursor.
26
+ * @default false
27
+ */
28
+ disabled?: boolean;
29
+ /**
30
+ * Optional description or helper text displayed below the label.
31
+ * Useful for providing additional context about the field.
32
+ */
33
+ description?: ReactNode;
34
+ /**
35
+ * Additional CSS classes for the description text.
36
+ */
37
+ descriptionClassName?: string;
38
+ /**
39
+ * Additional CSS classes for the outer wrapper element.
40
+ * Only applied when `description` is provided (wrapper is needed
41
+ * to stack label + description).
42
+ */
43
+ wrapperClassName?: string;
44
+ /** Content to render inside the label. */
45
+ children?: ReactNode;
46
+ /** Additional CSS classes to merge on the label element. */
47
+ className?: string;
48
+ }
49
+ /**
50
+ * Label — an accessible label for form controls.
51
+ *
52
+ * Built on Radix UI's Label primitive for proper accessibility semantics
53
+ * and the design system's token layer for consistent styling. When used
54
+ * with Radix form controls, clicking the label will focus the associated
55
+ * input automatically.
56
+ *
57
+ * Accessibility:
58
+ * - Renders as a native `<label>` element for proper semantics
59
+ * - Use `htmlFor` to associate with the corresponding input's `id`
60
+ * - Required indicator is decorative (`aria-hidden`) — use `aria-required`
61
+ * on the input itself for screen reader support
62
+ * - Disabled state is visual only — disable the input for functional disabling
63
+ *
64
+ * @example
65
+ * ```tsx
66
+ * // Basic usage
67
+ * <Label htmlFor="email">Email address</Label>
68
+ * <Input id="email" type="email" />
69
+ *
70
+ * // Required field
71
+ * <Label htmlFor="name" required>Full name</Label>
72
+ * <Input id="name" aria-required="true" />
73
+ *
74
+ * // With description
75
+ * <Label htmlFor="bio" description="Keep it under 200 characters.">
76
+ * Bio
77
+ * </Label>
78
+ * <Textarea id="bio" />
79
+ *
80
+ * // Small size for dense UIs
81
+ * <Label htmlFor="code" size="sm">Verification code</Label>
82
+ * <Input id="code" size="sm" />
83
+ *
84
+ * // Disabled
85
+ * <Label htmlFor="locked" disabled>Locked field</Label>
86
+ * <Input id="locked" disabled />
87
+ * ```
88
+ */
89
+ declare const Label: react.ForwardRefExoticComponent<LabelProps & react.RefAttributes<HTMLLabelElement>>;
90
+
91
+ export { Label, type LabelProps, type LabelSize, labelVariants };