@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,204 @@
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 toggle_group_exports = {};
21
+ __export(toggle_group_exports, {
22
+ ToggleGroup: () => ToggleGroup,
23
+ ToggleGroupItem: () => ToggleGroupItem,
24
+ toggleGroupItemVariants: () => toggleGroupItemVariants,
25
+ toggleGroupVariants: () => toggleGroupVariants,
26
+ useToggleGroupContext: () => useToggleGroupContext
27
+ });
28
+ module.exports = __toCommonJS(toggle_group_exports);
29
+ var import_jsx_runtime = require("react/jsx-runtime");
30
+ var import_cn = require("../utils/cn.cjs");
31
+ var import_focus_ring = require("../utils/focus-ring.cjs");
32
+ var import_class_variance_authority = require("class-variance-authority");
33
+ var import_radix_ui = require("radix-ui");
34
+ var import_react = require("react");
35
+ const ToggleGroupContext = (0, import_react.createContext)({
36
+ variant: "default",
37
+ size: "md"
38
+ });
39
+ function useToggleGroupContext() {
40
+ return (0, import_react.useContext)(ToggleGroupContext);
41
+ }
42
+ const toggleGroupVariants = (0, import_class_variance_authority.cva)(
43
+ // Base styles — shared across all orientations
44
+ [
45
+ // Layout
46
+ "inline-flex items-center",
47
+ // Gap between items
48
+ "gap-1"
49
+ ],
50
+ {
51
+ variants: {
52
+ // -----------------------------------------------------------------
53
+ // Orientation Variants
54
+ // -----------------------------------------------------------------
55
+ orientation: {
56
+ horizontal: "flex-row",
57
+ vertical: "flex-col"
58
+ }
59
+ },
60
+ defaultVariants: {
61
+ orientation: "horizontal"
62
+ }
63
+ }
64
+ );
65
+ const toggleGroupItemVariants = (0, import_class_variance_authority.cva)(
66
+ // Base styles — shared across all variants and sizes
67
+ [
68
+ // Layout
69
+ "inline-flex items-center justify-center gap-2",
70
+ // Typography
71
+ "text-sm font-medium leading-5",
72
+ // Shape
73
+ "rounded-md",
74
+ // Transition (uses design system motion tokens)
75
+ "transition-[color,background-color,border-color,box-shadow,opacity]",
76
+ "duration-fast ease-standard",
77
+ // Focus ring — WCAG AA compliant, visible on keyboard navigation only
78
+ import_focus_ring.focusRingClasses,
79
+ // Disabled — consistent across all variants
80
+ "disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed",
81
+ // Cursor
82
+ "cursor-pointer",
83
+ // Prevent text selection on rapid clicks
84
+ "select-none",
85
+ // Shrink protection
86
+ "shrink-0"
87
+ ],
88
+ {
89
+ variants: {
90
+ // -----------------------------------------------------------------
91
+ // Visual Variants
92
+ // -----------------------------------------------------------------
93
+ variant: {
94
+ /**
95
+ * Default — transparent background, fills on press.
96
+ */
97
+ default: [
98
+ "bg-transparent text-muted-foreground",
99
+ "hover:bg-muted hover:text-foreground",
100
+ "data-[state=on]:bg-secondary data-[state=on]:text-foreground"
101
+ ],
102
+ /**
103
+ * Outline — bordered item with visible boundary.
104
+ */
105
+ outline: [
106
+ "border border-border",
107
+ "bg-transparent text-muted-foreground",
108
+ "hover:bg-muted hover:text-foreground",
109
+ "data-[state=on]:bg-secondary data-[state=on]:text-foreground",
110
+ "data-[state=on]:border-border-strong"
111
+ ],
112
+ /**
113
+ * Ghost — minimal visual weight.
114
+ */
115
+ ghost: [
116
+ "bg-transparent text-muted-foreground",
117
+ "hover:bg-muted hover:text-foreground",
118
+ "data-[state=on]:bg-transparent data-[state=on]:text-foreground"
119
+ ]
120
+ },
121
+ // -----------------------------------------------------------------
122
+ // Size Variants
123
+ // -----------------------------------------------------------------
124
+ size: {
125
+ /**
126
+ * Small — compact for dense UIs, toolbars.
127
+ * Height: 32px (h-8)
128
+ */
129
+ sm: "h-8 px-2 text-xs gap-1.5",
130
+ /**
131
+ * Medium — default size for most toggle groups.
132
+ * Height: 36px (h-9)
133
+ */
134
+ md: "h-9 px-3 text-sm gap-2",
135
+ /**
136
+ * Large — prominent for larger touch targets.
137
+ * Height: 40px (h-10)
138
+ */
139
+ lg: "h-10 px-4 text-sm gap-2"
140
+ }
141
+ },
142
+ defaultVariants: {
143
+ variant: "default",
144
+ size: "md"
145
+ }
146
+ }
147
+ );
148
+ const ToggleGroup = (0, import_react.forwardRef)(function ToggleGroup2({
149
+ variant = "default",
150
+ size = "md",
151
+ orientation = "horizontal",
152
+ className,
153
+ children,
154
+ ...rest
155
+ }, ref) {
156
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
157
+ import_radix_ui.ToggleGroup.Root,
158
+ {
159
+ ref,
160
+ orientation,
161
+ className: (0, import_cn.cn)(toggleGroupVariants({ orientation }), className),
162
+ "data-ds": "",
163
+ "data-ds-component": "toggle-group",
164
+ "data-ds-variant": variant,
165
+ "data-ds-size": size,
166
+ "data-ds-orientation": orientation,
167
+ ...rest,
168
+ children
169
+ }
170
+ ) });
171
+ });
172
+ ToggleGroup.displayName = "ToggleGroup";
173
+ const ToggleGroupItem = (0, import_react.forwardRef)(function ToggleGroupItem2({ variant: variantProp, size: sizeProp, className, children, ...rest }, ref) {
174
+ const context = useToggleGroupContext();
175
+ const variant = variantProp ?? context.variant;
176
+ const size = sizeProp ?? context.size;
177
+ const iconSizeClass = size === "sm" ? "[&>svg]:size-3.5" : "[&>svg]:size-4";
178
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
179
+ import_radix_ui.ToggleGroup.Item,
180
+ {
181
+ ref,
182
+ className: (0, import_cn.cn)(
183
+ toggleGroupItemVariants({ variant, size }),
184
+ iconSizeClass,
185
+ className
186
+ ),
187
+ "data-ds": "",
188
+ "data-ds-component": "toggle-group-item",
189
+ "data-ds-variant": variant,
190
+ "data-ds-size": size,
191
+ ...rest,
192
+ children
193
+ }
194
+ );
195
+ });
196
+ ToggleGroupItem.displayName = "ToggleGroupItem";
197
+ // Annotate the CommonJS export names for ESM import in node:
198
+ 0 && (module.exports = {
199
+ ToggleGroup,
200
+ ToggleGroupItem,
201
+ toggleGroupItemVariants,
202
+ toggleGroupVariants,
203
+ useToggleGroupContext
204
+ });
@@ -0,0 +1,215 @@
1
+ import * as react from 'react';
2
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { ToggleGroup as ToggleGroup$1 } from 'radix-ui';
5
+
6
+ interface ToggleGroupContextValue {
7
+ variant: ToggleGroupVariant;
8
+ size: ToggleGroupSize;
9
+ }
10
+ declare function useToggleGroupContext(): ToggleGroupContextValue;
11
+ declare const toggleGroupVariants: (props?: ({
12
+ orientation?: "horizontal" | "vertical" | null | undefined;
13
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
14
+ declare const toggleGroupItemVariants: (props?: ({
15
+ variant?: "outline" | "default" | "ghost" | null | undefined;
16
+ size?: "sm" | "md" | "lg" | null | undefined;
17
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
18
+ type ToggleGroupVariant = "default" | "outline" | "ghost";
19
+ type ToggleGroupSize = "sm" | "md" | "lg";
20
+ type ToggleGroupOrientation = "horizontal" | "vertical";
21
+ interface ToggleGroupSingleProps extends Omit<ComponentPropsWithoutRef<typeof ToggleGroup$1.Root>, "type" | "asChild" | "rovingFocus" | "orientation"> {
22
+ /**
23
+ * Selection mode: only one item can be active at a time.
24
+ */
25
+ type: "single";
26
+ /**
27
+ * The controlled value of the active item.
28
+ */
29
+ value?: string;
30
+ /**
31
+ * The default value for uncontrolled usage.
32
+ */
33
+ defaultValue?: string;
34
+ /**
35
+ * Callback fired when the active item changes.
36
+ */
37
+ onValueChange?: (value: string) => void;
38
+ /**
39
+ * Visual variant applied to all items in the group.
40
+ * @default "default"
41
+ */
42
+ variant?: ToggleGroupVariant;
43
+ /**
44
+ * Size applied to all items in the group.
45
+ * @default "md"
46
+ */
47
+ size?: ToggleGroupSize;
48
+ /**
49
+ * Orientation of the toggle group.
50
+ * @default "horizontal"
51
+ */
52
+ orientation?: ToggleGroupOrientation;
53
+ /**
54
+ * Whether the group is disabled.
55
+ * @default false
56
+ */
57
+ disabled?: boolean;
58
+ /** Content to render inside the group (ToggleGroupItem children). */
59
+ children: ReactNode;
60
+ /** Additional CSS classes to merge. */
61
+ className?: string;
62
+ }
63
+ interface ToggleGroupMultipleProps extends Omit<ComponentPropsWithoutRef<typeof ToggleGroup$1.Root>, "type" | "asChild" | "rovingFocus" | "orientation"> {
64
+ /**
65
+ * Selection mode: multiple items can be active simultaneously.
66
+ */
67
+ type: "multiple";
68
+ /**
69
+ * The controlled value of the active items.
70
+ */
71
+ value?: string[];
72
+ /**
73
+ * The default value for uncontrolled usage.
74
+ */
75
+ defaultValue?: string[];
76
+ /**
77
+ * Callback fired when the active items change.
78
+ */
79
+ onValueChange?: (value: string[]) => void;
80
+ /**
81
+ * Visual variant applied to all items in the group.
82
+ * @default "default"
83
+ */
84
+ variant?: ToggleGroupVariant;
85
+ /**
86
+ * Size applied to all items in the group.
87
+ * @default "md"
88
+ */
89
+ size?: ToggleGroupSize;
90
+ /**
91
+ * Orientation of the toggle group.
92
+ * @default "horizontal"
93
+ */
94
+ orientation?: ToggleGroupOrientation;
95
+ /**
96
+ * Whether the group is disabled.
97
+ * @default false
98
+ */
99
+ disabled?: boolean;
100
+ /** Content to render inside the group (ToggleGroupItem children). */
101
+ children: ReactNode;
102
+ /** Additional CSS classes to merge. */
103
+ className?: string;
104
+ }
105
+ type ToggleGroupProps = ToggleGroupSingleProps | ToggleGroupMultipleProps;
106
+ interface ToggleGroupItemProps extends Omit<ComponentPropsWithoutRef<typeof ToggleGroup$1.Item>, "asChild"> {
107
+ /**
108
+ * The unique value for this item.
109
+ */
110
+ value: string;
111
+ /**
112
+ * Override the group-level variant for this specific item.
113
+ */
114
+ variant?: ToggleGroupVariant;
115
+ /**
116
+ * Override the group-level size for this specific item.
117
+ */
118
+ size?: ToggleGroupSize;
119
+ /** Content to render inside the toggle item. */
120
+ children?: ReactNode;
121
+ /** Additional CSS classes to merge. */
122
+ className?: string;
123
+ }
124
+ /**
125
+ * ToggleGroup — a group of toggle buttons with single or multi-select behavior.
126
+ *
127
+ * Built on Radix UI's ToggleGroup primitive for accessibility and the
128
+ * design system's token layer for styling. Supports both single-select
129
+ * (radio-like) and multi-select (checkbox-like) modes.
130
+ *
131
+ * The group shares variant and size context with its items, so you only
132
+ * need to set these once on the group level. Individual items can override
133
+ * these if needed.
134
+ *
135
+ * Accessibility:
136
+ * - Radix handles `role="group"` on the root
137
+ * - Radix handles `aria-pressed` on each item
138
+ * - Roving tabindex for keyboard navigation (arrow keys move between items)
139
+ * - Space/Enter toggles the focused item
140
+ * - Disabled state on group propagates to all items
141
+ * - Each icon-only item should have an `aria-label`
142
+ *
143
+ * @example
144
+ * ```tsx
145
+ * // Single-select: text alignment
146
+ * <ToggleGroup type="single" value={align} onValueChange={setAlign}>
147
+ * <ToggleGroupItem value="left" aria-label="Align left">
148
+ * <AlignLeftIcon className="size-4" />
149
+ * </ToggleGroupItem>
150
+ * <ToggleGroupItem value="center" aria-label="Align center">
151
+ * <AlignCenterIcon className="size-4" />
152
+ * </ToggleGroupItem>
153
+ * <ToggleGroupItem value="right" aria-label="Align right">
154
+ * <AlignRightIcon className="size-4" />
155
+ * </ToggleGroupItem>
156
+ * </ToggleGroup>
157
+ *
158
+ * // Multi-select: text formatting
159
+ * <ToggleGroup type="multiple" variant="outline" size="sm">
160
+ * <ToggleGroupItem value="bold" aria-label="Bold">
161
+ * <BoldIcon className="size-3.5" />
162
+ * </ToggleGroupItem>
163
+ * <ToggleGroupItem value="italic" aria-label="Italic">
164
+ * <ItalicIcon className="size-3.5" />
165
+ * </ToggleGroupItem>
166
+ * <ToggleGroupItem value="underline" aria-label="Underline">
167
+ * <UnderlineIcon className="size-3.5" />
168
+ * </ToggleGroupItem>
169
+ * </ToggleGroup>
170
+ *
171
+ * // Vertical orientation
172
+ * <ToggleGroup type="single" orientation="vertical">
173
+ * <ToggleGroupItem value="list">List view</ToggleGroupItem>
174
+ * <ToggleGroupItem value="grid">Grid view</ToggleGroupItem>
175
+ * <ToggleGroupItem value="board">Board view</ToggleGroupItem>
176
+ * </ToggleGroup>
177
+ *
178
+ * // Disabled
179
+ * <ToggleGroup type="single" disabled>
180
+ * <ToggleGroupItem value="a">A</ToggleGroupItem>
181
+ * <ToggleGroupItem value="b">B</ToggleGroupItem>
182
+ * </ToggleGroup>
183
+ * ```
184
+ */
185
+ declare const ToggleGroup: react.ForwardRefExoticComponent<ToggleGroupProps & react.RefAttributes<HTMLDivElement>>;
186
+ /**
187
+ * ToggleGroupItem — an individual toggle button within a ToggleGroup.
188
+ *
189
+ * Inherits variant and size from the parent ToggleGroup context, but
190
+ * can override them per-item if needed.
191
+ *
192
+ * When used as an icon-only item, always provide an `aria-label` for
193
+ * accessibility.
194
+ *
195
+ * @example
196
+ * ```tsx
197
+ * <ToggleGroupItem value="bold" aria-label="Bold">
198
+ * <BoldIcon className="size-4" />
199
+ * </ToggleGroupItem>
200
+ *
201
+ * // With text label
202
+ * <ToggleGroupItem value="grid">
203
+ * <GridIcon className="size-4" />
204
+ * Grid view
205
+ * </ToggleGroupItem>
206
+ *
207
+ * // Override group variant/size
208
+ * <ToggleGroupItem value="special" variant="outline" size="lg">
209
+ * Special
210
+ * </ToggleGroupItem>
211
+ * ```
212
+ */
213
+ declare const ToggleGroupItem: react.ForwardRefExoticComponent<ToggleGroupItemProps & react.RefAttributes<HTMLButtonElement>>;
214
+
215
+ export { ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupMultipleProps, type ToggleGroupOrientation, type ToggleGroupProps, type ToggleGroupSingleProps, type ToggleGroupSize, type ToggleGroupVariant, toggleGroupItemVariants, toggleGroupVariants, useToggleGroupContext };
@@ -0,0 +1,215 @@
1
+ import * as react from 'react';
2
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { ToggleGroup as ToggleGroup$1 } from 'radix-ui';
5
+
6
+ interface ToggleGroupContextValue {
7
+ variant: ToggleGroupVariant;
8
+ size: ToggleGroupSize;
9
+ }
10
+ declare function useToggleGroupContext(): ToggleGroupContextValue;
11
+ declare const toggleGroupVariants: (props?: ({
12
+ orientation?: "horizontal" | "vertical" | null | undefined;
13
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
14
+ declare const toggleGroupItemVariants: (props?: ({
15
+ variant?: "outline" | "default" | "ghost" | null | undefined;
16
+ size?: "sm" | "md" | "lg" | null | undefined;
17
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
18
+ type ToggleGroupVariant = "default" | "outline" | "ghost";
19
+ type ToggleGroupSize = "sm" | "md" | "lg";
20
+ type ToggleGroupOrientation = "horizontal" | "vertical";
21
+ interface ToggleGroupSingleProps extends Omit<ComponentPropsWithoutRef<typeof ToggleGroup$1.Root>, "type" | "asChild" | "rovingFocus" | "orientation"> {
22
+ /**
23
+ * Selection mode: only one item can be active at a time.
24
+ */
25
+ type: "single";
26
+ /**
27
+ * The controlled value of the active item.
28
+ */
29
+ value?: string;
30
+ /**
31
+ * The default value for uncontrolled usage.
32
+ */
33
+ defaultValue?: string;
34
+ /**
35
+ * Callback fired when the active item changes.
36
+ */
37
+ onValueChange?: (value: string) => void;
38
+ /**
39
+ * Visual variant applied to all items in the group.
40
+ * @default "default"
41
+ */
42
+ variant?: ToggleGroupVariant;
43
+ /**
44
+ * Size applied to all items in the group.
45
+ * @default "md"
46
+ */
47
+ size?: ToggleGroupSize;
48
+ /**
49
+ * Orientation of the toggle group.
50
+ * @default "horizontal"
51
+ */
52
+ orientation?: ToggleGroupOrientation;
53
+ /**
54
+ * Whether the group is disabled.
55
+ * @default false
56
+ */
57
+ disabled?: boolean;
58
+ /** Content to render inside the group (ToggleGroupItem children). */
59
+ children: ReactNode;
60
+ /** Additional CSS classes to merge. */
61
+ className?: string;
62
+ }
63
+ interface ToggleGroupMultipleProps extends Omit<ComponentPropsWithoutRef<typeof ToggleGroup$1.Root>, "type" | "asChild" | "rovingFocus" | "orientation"> {
64
+ /**
65
+ * Selection mode: multiple items can be active simultaneously.
66
+ */
67
+ type: "multiple";
68
+ /**
69
+ * The controlled value of the active items.
70
+ */
71
+ value?: string[];
72
+ /**
73
+ * The default value for uncontrolled usage.
74
+ */
75
+ defaultValue?: string[];
76
+ /**
77
+ * Callback fired when the active items change.
78
+ */
79
+ onValueChange?: (value: string[]) => void;
80
+ /**
81
+ * Visual variant applied to all items in the group.
82
+ * @default "default"
83
+ */
84
+ variant?: ToggleGroupVariant;
85
+ /**
86
+ * Size applied to all items in the group.
87
+ * @default "md"
88
+ */
89
+ size?: ToggleGroupSize;
90
+ /**
91
+ * Orientation of the toggle group.
92
+ * @default "horizontal"
93
+ */
94
+ orientation?: ToggleGroupOrientation;
95
+ /**
96
+ * Whether the group is disabled.
97
+ * @default false
98
+ */
99
+ disabled?: boolean;
100
+ /** Content to render inside the group (ToggleGroupItem children). */
101
+ children: ReactNode;
102
+ /** Additional CSS classes to merge. */
103
+ className?: string;
104
+ }
105
+ type ToggleGroupProps = ToggleGroupSingleProps | ToggleGroupMultipleProps;
106
+ interface ToggleGroupItemProps extends Omit<ComponentPropsWithoutRef<typeof ToggleGroup$1.Item>, "asChild"> {
107
+ /**
108
+ * The unique value for this item.
109
+ */
110
+ value: string;
111
+ /**
112
+ * Override the group-level variant for this specific item.
113
+ */
114
+ variant?: ToggleGroupVariant;
115
+ /**
116
+ * Override the group-level size for this specific item.
117
+ */
118
+ size?: ToggleGroupSize;
119
+ /** Content to render inside the toggle item. */
120
+ children?: ReactNode;
121
+ /** Additional CSS classes to merge. */
122
+ className?: string;
123
+ }
124
+ /**
125
+ * ToggleGroup — a group of toggle buttons with single or multi-select behavior.
126
+ *
127
+ * Built on Radix UI's ToggleGroup primitive for accessibility and the
128
+ * design system's token layer for styling. Supports both single-select
129
+ * (radio-like) and multi-select (checkbox-like) modes.
130
+ *
131
+ * The group shares variant and size context with its items, so you only
132
+ * need to set these once on the group level. Individual items can override
133
+ * these if needed.
134
+ *
135
+ * Accessibility:
136
+ * - Radix handles `role="group"` on the root
137
+ * - Radix handles `aria-pressed` on each item
138
+ * - Roving tabindex for keyboard navigation (arrow keys move between items)
139
+ * - Space/Enter toggles the focused item
140
+ * - Disabled state on group propagates to all items
141
+ * - Each icon-only item should have an `aria-label`
142
+ *
143
+ * @example
144
+ * ```tsx
145
+ * // Single-select: text alignment
146
+ * <ToggleGroup type="single" value={align} onValueChange={setAlign}>
147
+ * <ToggleGroupItem value="left" aria-label="Align left">
148
+ * <AlignLeftIcon className="size-4" />
149
+ * </ToggleGroupItem>
150
+ * <ToggleGroupItem value="center" aria-label="Align center">
151
+ * <AlignCenterIcon className="size-4" />
152
+ * </ToggleGroupItem>
153
+ * <ToggleGroupItem value="right" aria-label="Align right">
154
+ * <AlignRightIcon className="size-4" />
155
+ * </ToggleGroupItem>
156
+ * </ToggleGroup>
157
+ *
158
+ * // Multi-select: text formatting
159
+ * <ToggleGroup type="multiple" variant="outline" size="sm">
160
+ * <ToggleGroupItem value="bold" aria-label="Bold">
161
+ * <BoldIcon className="size-3.5" />
162
+ * </ToggleGroupItem>
163
+ * <ToggleGroupItem value="italic" aria-label="Italic">
164
+ * <ItalicIcon className="size-3.5" />
165
+ * </ToggleGroupItem>
166
+ * <ToggleGroupItem value="underline" aria-label="Underline">
167
+ * <UnderlineIcon className="size-3.5" />
168
+ * </ToggleGroupItem>
169
+ * </ToggleGroup>
170
+ *
171
+ * // Vertical orientation
172
+ * <ToggleGroup type="single" orientation="vertical">
173
+ * <ToggleGroupItem value="list">List view</ToggleGroupItem>
174
+ * <ToggleGroupItem value="grid">Grid view</ToggleGroupItem>
175
+ * <ToggleGroupItem value="board">Board view</ToggleGroupItem>
176
+ * </ToggleGroup>
177
+ *
178
+ * // Disabled
179
+ * <ToggleGroup type="single" disabled>
180
+ * <ToggleGroupItem value="a">A</ToggleGroupItem>
181
+ * <ToggleGroupItem value="b">B</ToggleGroupItem>
182
+ * </ToggleGroup>
183
+ * ```
184
+ */
185
+ declare const ToggleGroup: react.ForwardRefExoticComponent<ToggleGroupProps & react.RefAttributes<HTMLDivElement>>;
186
+ /**
187
+ * ToggleGroupItem — an individual toggle button within a ToggleGroup.
188
+ *
189
+ * Inherits variant and size from the parent ToggleGroup context, but
190
+ * can override them per-item if needed.
191
+ *
192
+ * When used as an icon-only item, always provide an `aria-label` for
193
+ * accessibility.
194
+ *
195
+ * @example
196
+ * ```tsx
197
+ * <ToggleGroupItem value="bold" aria-label="Bold">
198
+ * <BoldIcon className="size-4" />
199
+ * </ToggleGroupItem>
200
+ *
201
+ * // With text label
202
+ * <ToggleGroupItem value="grid">
203
+ * <GridIcon className="size-4" />
204
+ * Grid view
205
+ * </ToggleGroupItem>
206
+ *
207
+ * // Override group variant/size
208
+ * <ToggleGroupItem value="special" variant="outline" size="lg">
209
+ * Special
210
+ * </ToggleGroupItem>
211
+ * ```
212
+ */
213
+ declare const ToggleGroupItem: react.ForwardRefExoticComponent<ToggleGroupItemProps & react.RefAttributes<HTMLButtonElement>>;
214
+
215
+ export { ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupMultipleProps, type ToggleGroupOrientation, type ToggleGroupProps, type ToggleGroupSingleProps, type ToggleGroupSize, type ToggleGroupVariant, toggleGroupItemVariants, toggleGroupVariants, useToggleGroupContext };