@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,318 @@
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 checkbox_exports = {};
21
+ __export(checkbox_exports, {
22
+ Checkbox: () => Checkbox,
23
+ CheckboxGroup: () => CheckboxGroup,
24
+ checkboxVariants: () => checkboxVariants,
25
+ useCheckboxGroupContext: () => useCheckboxGroupContext
26
+ });
27
+ module.exports = __toCommonJS(checkbox_exports);
28
+ var import_jsx_runtime = require("react/jsx-runtime");
29
+ var import_cn = require("../utils/cn.cjs");
30
+ var import_focus_ring = require("../utils/focus-ring.cjs");
31
+ var import_class_variance_authority = require("class-variance-authority");
32
+ var import_radix_ui = require("radix-ui");
33
+ var import_react = require("react");
34
+ const checkboxVariants = (0, import_class_variance_authority.cva)(
35
+ // Base styles — shared across all variants and sizes
36
+ [
37
+ // Layout
38
+ "inline-flex shrink-0 items-center justify-center",
39
+ // Shape
40
+ "rounded-sm",
41
+ // Border
42
+ "border",
43
+ // Colors — unchecked state
44
+ "border-input bg-background",
45
+ // Transition
46
+ "transition-[color,background-color,border-color,box-shadow,opacity]",
47
+ "duration-fast ease-standard",
48
+ // Focus ring — WCAG AA compliant
49
+ import_focus_ring.focusRingClasses,
50
+ // Hover
51
+ "hover:border-border-strong",
52
+ // Checked state
53
+ "data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-primary-foreground",
54
+ "data-[state=checked]:hover:bg-primary-hover data-[state=checked]:hover:border-primary-hover",
55
+ // Indeterminate state
56
+ "data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-primary-foreground",
57
+ "data-[state=indeterminate]:hover:bg-primary-hover data-[state=indeterminate]:hover:border-primary-hover",
58
+ // Disabled
59
+ "disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed",
60
+ // Cursor
61
+ "cursor-pointer disabled:cursor-not-allowed",
62
+ // Peer for label styling
63
+ "peer"
64
+ ],
65
+ {
66
+ variants: {
67
+ // -----------------------------------------------------------------
68
+ // Size Variants
69
+ // -----------------------------------------------------------------
70
+ size: {
71
+ /**
72
+ * Small — compact for dense UIs, tables, settings panels.
73
+ * Box: 16px (size-4)
74
+ */
75
+ sm: "size-4",
76
+ /**
77
+ * Medium — default size for most forms.
78
+ * Box: 18px (size-[18px])
79
+ */
80
+ md: "size-[18px]"
81
+ },
82
+ // -----------------------------------------------------------------
83
+ // Error Variant
84
+ // -----------------------------------------------------------------
85
+ error: {
86
+ true: [
87
+ "border-danger",
88
+ "data-[state=unchecked]:border-danger",
89
+ "focus-visible:border-danger"
90
+ ],
91
+ false: ""
92
+ }
93
+ },
94
+ defaultVariants: {
95
+ size: "md",
96
+ error: false
97
+ }
98
+ }
99
+ );
100
+ const iconSizeMap = {
101
+ sm: "size-3",
102
+ md: "size-3.5"
103
+ };
104
+ function CheckIcon({ className }) {
105
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
106
+ "svg",
107
+ {
108
+ xmlns: "http://www.w3.org/2000/svg",
109
+ viewBox: "0 0 24 24",
110
+ fill: "none",
111
+ stroke: "currentColor",
112
+ strokeWidth: "3",
113
+ strokeLinecap: "round",
114
+ strokeLinejoin: "round",
115
+ className,
116
+ "aria-hidden": "true",
117
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M20 6 9 17l-5-5" })
118
+ }
119
+ );
120
+ }
121
+ function IndeterminateIcon({ className }) {
122
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
123
+ "svg",
124
+ {
125
+ xmlns: "http://www.w3.org/2000/svg",
126
+ viewBox: "0 0 24 24",
127
+ fill: "none",
128
+ stroke: "currentColor",
129
+ strokeWidth: "3",
130
+ strokeLinecap: "round",
131
+ strokeLinejoin: "round",
132
+ className,
133
+ "aria-hidden": "true",
134
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M5 12h14" })
135
+ }
136
+ );
137
+ }
138
+ const Checkbox = (0, import_react.forwardRef)(function Checkbox2({
139
+ size = "md",
140
+ error = false,
141
+ label,
142
+ description,
143
+ wrapperClassName,
144
+ labelClassName,
145
+ className,
146
+ id: idProp,
147
+ disabled,
148
+ checked,
149
+ "aria-invalid": ariaInvalid,
150
+ ...rest
151
+ }, ref) {
152
+ const generatedId = (0, import_react.useId)();
153
+ const id = idProp ?? generatedId;
154
+ const descriptionId = description ? `${id}-description` : void 0;
155
+ const resolvedAriaInvalid = ariaInvalid !== void 0 ? ariaInvalid : error ? true : void 0;
156
+ const labelTextClass = size === "sm" ? "text-xs" : "text-sm";
157
+ const descriptionTextClass = "text-xs";
158
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
159
+ "div",
160
+ {
161
+ className: (0, import_cn.cn)(
162
+ "flex items-start gap-2",
163
+ disabled && "cursor-not-allowed opacity-50",
164
+ wrapperClassName
165
+ ),
166
+ "data-ds": "",
167
+ "data-ds-component": "checkbox",
168
+ "data-ds-size": size,
169
+ children: [
170
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
171
+ import_radix_ui.Checkbox.Root,
172
+ {
173
+ ref,
174
+ id,
175
+ checked,
176
+ disabled,
177
+ "aria-invalid": resolvedAriaInvalid,
178
+ "aria-describedby": descriptionId,
179
+ className: (0, import_cn.cn)(
180
+ checkboxVariants({ size, error }),
181
+ // Slight top offset to align with label text baseline
182
+ label && "mt-0.5",
183
+ className
184
+ ),
185
+ ...rest,
186
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
187
+ import_radix_ui.Checkbox.Indicator,
188
+ {
189
+ className: (0, import_cn.cn)(
190
+ "flex items-center justify-center",
191
+ // Animate the indicator
192
+ "data-[state=checked]:animate-in data-[state=checked]:zoom-in-75",
193
+ "data-[state=unchecked]:animate-out data-[state=unchecked]:zoom-out-75"
194
+ ),
195
+ children: checked === "indeterminate" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IndeterminateIcon, { className: iconSizeMap[size] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CheckIcon, { className: iconSizeMap[size] })
196
+ }
197
+ )
198
+ }
199
+ ),
200
+ (label || description) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col gap-0.5 flex-1 min-w-0", children: [
201
+ label && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
202
+ "label",
203
+ {
204
+ htmlFor: id,
205
+ className: (0, import_cn.cn)(
206
+ labelTextClass,
207
+ "leading-5 font-medium",
208
+ "text-foreground",
209
+ "cursor-pointer select-none",
210
+ "peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
211
+ error && "text-danger",
212
+ labelClassName
213
+ ),
214
+ children: label
215
+ }
216
+ ),
217
+ description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
218
+ "span",
219
+ {
220
+ id: descriptionId,
221
+ className: (0, import_cn.cn)(
222
+ descriptionTextClass,
223
+ "leading-4 text-muted-foreground"
224
+ ),
225
+ children: description
226
+ }
227
+ )
228
+ ] })
229
+ ]
230
+ }
231
+ );
232
+ });
233
+ Checkbox.displayName = "Checkbox";
234
+ const CheckboxGroupContext = (0, import_react.createContext)({});
235
+ function useCheckboxGroupContext() {
236
+ return (0, import_react.useContext)(CheckboxGroupContext);
237
+ }
238
+ function CheckboxGroup({
239
+ label,
240
+ description,
241
+ orientation = "vertical",
242
+ size,
243
+ disabled = false,
244
+ error = false,
245
+ errorMessage,
246
+ children,
247
+ className
248
+ }) {
249
+ const groupId = (0, import_react.useId)();
250
+ const labelId = label ? `${groupId}-label` : void 0;
251
+ const descriptionId = description ? `${groupId}-description` : void 0;
252
+ const errorId = errorMessage ? `${groupId}-error` : void 0;
253
+ const contextValue = {
254
+ size,
255
+ disabled,
256
+ error
257
+ };
258
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CheckboxGroupContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
259
+ "fieldset",
260
+ {
261
+ "aria-labelledby": labelId,
262
+ "aria-describedby": (0, import_cn.cn)(descriptionId ?? "", errorId ?? "").trim() || void 0,
263
+ "aria-invalid": error || void 0,
264
+ disabled,
265
+ className: (0, import_cn.cn)("flex flex-col gap-2", className),
266
+ "data-ds": "",
267
+ "data-ds-component": "checkbox-group",
268
+ children: [
269
+ label && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
270
+ "legend",
271
+ {
272
+ id: labelId,
273
+ className: (0, import_cn.cn)(
274
+ "text-sm font-medium leading-5 text-foreground",
275
+ error && "text-danger"
276
+ ),
277
+ children: label
278
+ }
279
+ ),
280
+ description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
281
+ "span",
282
+ {
283
+ id: descriptionId,
284
+ className: "text-xs leading-4 text-muted-foreground",
285
+ children: description
286
+ }
287
+ ),
288
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
289
+ "div",
290
+ {
291
+ className: (0, import_cn.cn)(
292
+ "flex",
293
+ orientation === "vertical" ? "flex-col gap-2" : "flex-row gap-4"
294
+ ),
295
+ children
296
+ }
297
+ ),
298
+ error && errorMessage && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
299
+ "span",
300
+ {
301
+ id: errorId,
302
+ className: "text-xs leading-4 text-danger",
303
+ role: "alert",
304
+ children: errorMessage
305
+ }
306
+ )
307
+ ]
308
+ }
309
+ ) });
310
+ }
311
+ CheckboxGroup.displayName = "CheckboxGroup";
312
+ // Annotate the CommonJS export names for ESM import in node:
313
+ 0 && (module.exports = {
314
+ Checkbox,
315
+ CheckboxGroup,
316
+ checkboxVariants,
317
+ useCheckboxGroupContext
318
+ });
@@ -0,0 +1,182 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+ import { VariantProps } from 'class-variance-authority';
6
+ import { Checkbox as Checkbox$1 } from 'radix-ui';
7
+
8
+ declare const checkboxVariants: (props?: ({
9
+ size?: "sm" | "md" | null | undefined;
10
+ error?: boolean | null | undefined;
11
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
12
+ type CheckboxSize = "sm" | "md";
13
+ interface CheckboxProps extends Omit<Checkbox$1.CheckboxProps, "children" | "asChild" | "defaultChecked">, VariantProps<typeof checkboxVariants> {
14
+ /**
15
+ * Size of the checkbox.
16
+ * @default "md"
17
+ */
18
+ size?: CheckboxSize;
19
+ /**
20
+ * Whether the checkbox is in an error state.
21
+ * @default false
22
+ */
23
+ error?: boolean;
24
+ /**
25
+ * Label text displayed next to the checkbox.
26
+ * Clicking the label toggles the checkbox.
27
+ */
28
+ label?: ReactNode;
29
+ /**
30
+ * Optional description text displayed below the label.
31
+ * Useful for providing additional context about the option.
32
+ */
33
+ description?: ReactNode;
34
+ /**
35
+ * Additional CSS classes for the root wrapper element.
36
+ */
37
+ wrapperClassName?: string;
38
+ /**
39
+ * Additional CSS classes for the label element.
40
+ */
41
+ labelClassName?: string;
42
+ /**
43
+ * Additional CSS classes for the checkbox element.
44
+ */
45
+ className?: string;
46
+ /**
47
+ * The value of the checkbox when used within a CheckboxGroup.
48
+ */
49
+ value?: string;
50
+ }
51
+ /**
52
+ * Checkbox — a toggle control for binary or indeterminate selections.
53
+ *
54
+ * Built on Radix UI's checkbox primitive for full accessibility support,
55
+ * including keyboard navigation (Space to toggle), focus management,
56
+ * and proper ARIA attributes.
57
+ *
58
+ * Accessibility:
59
+ * - Focus ring visible on keyboard navigation (focus-visible)
60
+ * - Disabled state uses both native disabled and visual cues
61
+ * - Error state applies `aria-invalid="true"`
62
+ * - Label is properly associated via `htmlFor`/`id`
63
+ * - Supports indeterminate state with proper ARIA
64
+ * - Space key toggles the checkbox
65
+ *
66
+ * @example
67
+ * ```tsx
68
+ * // Basic usage
69
+ * <Checkbox label="Accept terms and conditions" />
70
+ *
71
+ * // Controlled
72
+ * <Checkbox
73
+ * checked={isChecked}
74
+ * onCheckedChange={setIsChecked}
75
+ * label="Enable notifications"
76
+ * />
77
+ *
78
+ * // Indeterminate
79
+ * <Checkbox checked="indeterminate" label="Select all" />
80
+ *
81
+ * // With description
82
+ * <Checkbox
83
+ * label="Marketing emails"
84
+ * description="Receive emails about new products and features."
85
+ * />
86
+ *
87
+ * // Sizes
88
+ * <Checkbox size="sm" label="Small checkbox" />
89
+ * <Checkbox size="md" label="Medium checkbox" />
90
+ *
91
+ * // Error state
92
+ * <Checkbox error label="You must accept the terms" />
93
+ *
94
+ * // Disabled
95
+ * <Checkbox disabled label="Cannot change this" />
96
+ * <Checkbox disabled checked label="Locked selection" />
97
+ * ```
98
+ */
99
+ declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLButtonElement>>;
100
+ interface CheckboxGroupContextValue {
101
+ /** Size to apply to all child checkboxes. */
102
+ size?: CheckboxSize;
103
+ /** Whether all children are disabled. */
104
+ disabled?: boolean;
105
+ /** Whether all children are in error state. */
106
+ error?: boolean;
107
+ }
108
+ /** Hook to access CheckboxGroup context from child Checkbox components. */
109
+ declare function useCheckboxGroupContext(): CheckboxGroupContextValue;
110
+ type CheckboxGroupOrientation = "horizontal" | "vertical";
111
+ interface CheckboxGroupProps {
112
+ /**
113
+ * Group label displayed above the checkboxes.
114
+ * Required for accessibility.
115
+ */
116
+ label?: ReactNode;
117
+ /**
118
+ * Optional description below the group label.
119
+ */
120
+ description?: ReactNode;
121
+ /**
122
+ * Layout orientation of the checkboxes.
123
+ * @default "vertical"
124
+ */
125
+ orientation?: CheckboxGroupOrientation;
126
+ /**
127
+ * Size to apply to all child checkboxes.
128
+ * Individual checkbox size props will override this.
129
+ */
130
+ size?: CheckboxSize;
131
+ /**
132
+ * Whether all checkboxes in the group are disabled.
133
+ * @default false
134
+ */
135
+ disabled?: boolean;
136
+ /**
137
+ * Whether the group is in an error state.
138
+ * @default false
139
+ */
140
+ error?: boolean;
141
+ /**
142
+ * Error message displayed below the group.
143
+ */
144
+ errorMessage?: ReactNode;
145
+ /** Checkbox children. */
146
+ children: ReactNode;
147
+ /** Additional CSS classes for the group container. */
148
+ className?: string;
149
+ }
150
+ /**
151
+ * CheckboxGroup — groups related checkboxes with accessible semantics.
152
+ *
153
+ * Uses `role="group"` with `aria-labelledby` for proper screen reader
154
+ * announcement. Provides consistent spacing and optional orientation.
155
+ *
156
+ * @example
157
+ * ```tsx
158
+ * <CheckboxGroup label="Notification preferences" orientation="vertical">
159
+ * <Checkbox value="email" label="Email notifications" />
160
+ * <Checkbox value="sms" label="SMS notifications" />
161
+ * <Checkbox value="push" label="Push notifications" />
162
+ * </CheckboxGroup>
163
+ *
164
+ * // Horizontal layout
165
+ * <CheckboxGroup label="Options" orientation="horizontal">
166
+ * <Checkbox value="a" label="Option A" />
167
+ * <Checkbox value="b" label="Option B" />
168
+ * </CheckboxGroup>
169
+ *
170
+ * // With error
171
+ * <CheckboxGroup label="Required" error errorMessage="Please select at least one.">
172
+ * <Checkbox value="a" label="Option A" />
173
+ * <Checkbox value="b" label="Option B" />
174
+ * </CheckboxGroup>
175
+ * ```
176
+ */
177
+ declare function CheckboxGroup({ label, description, orientation, size, disabled, error, errorMessage, children, className, }: CheckboxGroupProps): react_jsx_runtime.JSX.Element;
178
+ declare namespace CheckboxGroup {
179
+ var displayName: string;
180
+ }
181
+
182
+ export { Checkbox, CheckboxGroup, type CheckboxGroupOrientation, type CheckboxGroupProps, type CheckboxProps, type CheckboxSize, checkboxVariants, useCheckboxGroupContext };
@@ -0,0 +1,182 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+ import { VariantProps } from 'class-variance-authority';
6
+ import { Checkbox as Checkbox$1 } from 'radix-ui';
7
+
8
+ declare const checkboxVariants: (props?: ({
9
+ size?: "sm" | "md" | null | undefined;
10
+ error?: boolean | null | undefined;
11
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
12
+ type CheckboxSize = "sm" | "md";
13
+ interface CheckboxProps extends Omit<Checkbox$1.CheckboxProps, "children" | "asChild" | "defaultChecked">, VariantProps<typeof checkboxVariants> {
14
+ /**
15
+ * Size of the checkbox.
16
+ * @default "md"
17
+ */
18
+ size?: CheckboxSize;
19
+ /**
20
+ * Whether the checkbox is in an error state.
21
+ * @default false
22
+ */
23
+ error?: boolean;
24
+ /**
25
+ * Label text displayed next to the checkbox.
26
+ * Clicking the label toggles the checkbox.
27
+ */
28
+ label?: ReactNode;
29
+ /**
30
+ * Optional description text displayed below the label.
31
+ * Useful for providing additional context about the option.
32
+ */
33
+ description?: ReactNode;
34
+ /**
35
+ * Additional CSS classes for the root wrapper element.
36
+ */
37
+ wrapperClassName?: string;
38
+ /**
39
+ * Additional CSS classes for the label element.
40
+ */
41
+ labelClassName?: string;
42
+ /**
43
+ * Additional CSS classes for the checkbox element.
44
+ */
45
+ className?: string;
46
+ /**
47
+ * The value of the checkbox when used within a CheckboxGroup.
48
+ */
49
+ value?: string;
50
+ }
51
+ /**
52
+ * Checkbox — a toggle control for binary or indeterminate selections.
53
+ *
54
+ * Built on Radix UI's checkbox primitive for full accessibility support,
55
+ * including keyboard navigation (Space to toggle), focus management,
56
+ * and proper ARIA attributes.
57
+ *
58
+ * Accessibility:
59
+ * - Focus ring visible on keyboard navigation (focus-visible)
60
+ * - Disabled state uses both native disabled and visual cues
61
+ * - Error state applies `aria-invalid="true"`
62
+ * - Label is properly associated via `htmlFor`/`id`
63
+ * - Supports indeterminate state with proper ARIA
64
+ * - Space key toggles the checkbox
65
+ *
66
+ * @example
67
+ * ```tsx
68
+ * // Basic usage
69
+ * <Checkbox label="Accept terms and conditions" />
70
+ *
71
+ * // Controlled
72
+ * <Checkbox
73
+ * checked={isChecked}
74
+ * onCheckedChange={setIsChecked}
75
+ * label="Enable notifications"
76
+ * />
77
+ *
78
+ * // Indeterminate
79
+ * <Checkbox checked="indeterminate" label="Select all" />
80
+ *
81
+ * // With description
82
+ * <Checkbox
83
+ * label="Marketing emails"
84
+ * description="Receive emails about new products and features."
85
+ * />
86
+ *
87
+ * // Sizes
88
+ * <Checkbox size="sm" label="Small checkbox" />
89
+ * <Checkbox size="md" label="Medium checkbox" />
90
+ *
91
+ * // Error state
92
+ * <Checkbox error label="You must accept the terms" />
93
+ *
94
+ * // Disabled
95
+ * <Checkbox disabled label="Cannot change this" />
96
+ * <Checkbox disabled checked label="Locked selection" />
97
+ * ```
98
+ */
99
+ declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLButtonElement>>;
100
+ interface CheckboxGroupContextValue {
101
+ /** Size to apply to all child checkboxes. */
102
+ size?: CheckboxSize;
103
+ /** Whether all children are disabled. */
104
+ disabled?: boolean;
105
+ /** Whether all children are in error state. */
106
+ error?: boolean;
107
+ }
108
+ /** Hook to access CheckboxGroup context from child Checkbox components. */
109
+ declare function useCheckboxGroupContext(): CheckboxGroupContextValue;
110
+ type CheckboxGroupOrientation = "horizontal" | "vertical";
111
+ interface CheckboxGroupProps {
112
+ /**
113
+ * Group label displayed above the checkboxes.
114
+ * Required for accessibility.
115
+ */
116
+ label?: ReactNode;
117
+ /**
118
+ * Optional description below the group label.
119
+ */
120
+ description?: ReactNode;
121
+ /**
122
+ * Layout orientation of the checkboxes.
123
+ * @default "vertical"
124
+ */
125
+ orientation?: CheckboxGroupOrientation;
126
+ /**
127
+ * Size to apply to all child checkboxes.
128
+ * Individual checkbox size props will override this.
129
+ */
130
+ size?: CheckboxSize;
131
+ /**
132
+ * Whether all checkboxes in the group are disabled.
133
+ * @default false
134
+ */
135
+ disabled?: boolean;
136
+ /**
137
+ * Whether the group is in an error state.
138
+ * @default false
139
+ */
140
+ error?: boolean;
141
+ /**
142
+ * Error message displayed below the group.
143
+ */
144
+ errorMessage?: ReactNode;
145
+ /** Checkbox children. */
146
+ children: ReactNode;
147
+ /** Additional CSS classes for the group container. */
148
+ className?: string;
149
+ }
150
+ /**
151
+ * CheckboxGroup — groups related checkboxes with accessible semantics.
152
+ *
153
+ * Uses `role="group"` with `aria-labelledby` for proper screen reader
154
+ * announcement. Provides consistent spacing and optional orientation.
155
+ *
156
+ * @example
157
+ * ```tsx
158
+ * <CheckboxGroup label="Notification preferences" orientation="vertical">
159
+ * <Checkbox value="email" label="Email notifications" />
160
+ * <Checkbox value="sms" label="SMS notifications" />
161
+ * <Checkbox value="push" label="Push notifications" />
162
+ * </CheckboxGroup>
163
+ *
164
+ * // Horizontal layout
165
+ * <CheckboxGroup label="Options" orientation="horizontal">
166
+ * <Checkbox value="a" label="Option A" />
167
+ * <Checkbox value="b" label="Option B" />
168
+ * </CheckboxGroup>
169
+ *
170
+ * // With error
171
+ * <CheckboxGroup label="Required" error errorMessage="Please select at least one.">
172
+ * <Checkbox value="a" label="Option A" />
173
+ * <Checkbox value="b" label="Option B" />
174
+ * </CheckboxGroup>
175
+ * ```
176
+ */
177
+ declare function CheckboxGroup({ label, description, orientation, size, disabled, error, errorMessage, children, className, }: CheckboxGroupProps): react_jsx_runtime.JSX.Element;
178
+ declare namespace CheckboxGroup {
179
+ var displayName: string;
180
+ }
181
+
182
+ export { Checkbox, CheckboxGroup, type CheckboxGroupOrientation, type CheckboxGroupProps, type CheckboxProps, type CheckboxSize, checkboxVariants, useCheckboxGroupContext };